Preface |
|
xiii | |
|
|
xix | |
Symbols |
|
xxi | |
Typographical conventions |
|
xxv | |
Acknowledgements |
|
xxvii | |
|
|
1 | (8) |
|
The intelligent motion measuring sensor |
|
|
2 | (7) |
|
|
2 | (1) |
|
Real-time motion estimation |
|
|
3 | (2) |
|
The motion estimation algorithm |
|
|
5 | (2) |
|
|
7 | (2) |
|
|
9 | (92) |
|
Mathematical preliminaries |
|
|
11 | (52) |
|
Basic concepts in probability |
|
|
11 | (12) |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
12 | (1) |
|
Computation of probability |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
Probability Density Function (PDF) |
|
|
17 | (1) |
|
Cumulative Distribution Function (CDF) |
|
|
17 | (1) |
|
Joint distribution functions |
|
|
18 | (1) |
|
Marginal distribution function |
|
|
19 | (1) |
|
Independent, identically distributed (iid) |
|
|
19 | (1) |
|
Gaussian distribution and the central limit theorem |
|
|
19 | (1) |
|
Random or stochastic processes |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (1) |
|
Simple estimation problems |
|
|
23 | (20) |
|
|
23 | (3) |
|
Solving linear regression problems |
|
|
26 | (1) |
|
|
27 | (1) |
|
Solving Hough transform problems |
|
|
28 | (1) |
|
Multiple linear regression and regularisation |
|
|
29 | (4) |
|
Solving the membrane model |
|
|
33 | (6) |
|
|
39 | (1) |
|
Solving location estimation problems |
|
|
40 | (2) |
|
Properties of simple estimators |
|
|
42 | (1) |
|
|
43 | (20) |
|
Outliers and leverage points |
|
|
43 | (4) |
|
Properties of robust estimators |
|
|
47 | (3) |
|
|
50 | (13) |
|
|
63 | (38) |
|
The motion estimation problem |
|
|
64 | (1) |
|
|
65 | (30) |
|
|
66 | (3) |
|
Background subtraction and surveillance |
|
|
69 | (1) |
|
Gradient based motion estimation |
|
|
69 | (7) |
|
Displaced frame difference |
|
|
76 | (3) |
|
|
79 | (2) |
|
Token based motion estimation |
|
|
81 | (4) |
|
Frequency domain motion estimation |
|
|
85 | (2) |
|
|
87 | (8) |
|
|
95 | (1) |
|
Alternate motion estimation techniques |
|
|
96 | (2) |
|
Motion estimation hardware |
|
|
98 | (2) |
|
|
100 | (1) |
|
PART 2 -- ALGORITHM DEVELOPMENT |
|
|
101 | (70) |
|
Real-time motion processing |
|
|
103 | (14) |
|
Frequency domain analysis of image motion |
|
|
103 | (3) |
|
Rigid body motion and the pinhole camera model |
|
|
106 | (3) |
|
Linking temporal aliasing to the safety margin |
|
|
109 | (2) |
|
|
111 | (2) |
|
|
113 | (1) |
|
Issues surrounding a dynamic scale space |
|
|
114 | (3) |
|
Motion estimation for autonomous navigation |
|
|
117 | (54) |
|
Assumptions, requirements and principles |
|
|
117 | (7) |
|
|
118 | (1) |
|
|
118 | (3) |
|
|
121 | (2) |
|
|
123 | (1) |
|
The motion estimation algorithm |
|
|
124 | (40) |
|
|
124 | (1) |
|
|
125 | (1) |
|
Derivative estimation -- practicalities |
|
|
126 | (5) |
|
Effect of illumination change |
|
|
131 | (1) |
|
|
132 | (5) |
|
Comparing our robust average to other techniques |
|
|
137 | (9) |
|
Monte Carlo study of the LTSV estimator |
|
|
146 | (7) |
|
|
153 | (1) |
|
Dynamic scale space implementation |
|
|
153 | (1) |
|
Temporal integration implementation |
|
|
154 | (2) |
|
The motion estimation algorithm |
|
|
156 | (1) |
|
|
156 | (8) |
|
Navigation using the motion estimate |
|
|
164 | (7) |
|
|
171 | (112) |
|
|
173 | (58) |
|
|
174 | (1) |
|
How do I specify what my FPGA does? |
|
|
174 | (1) |
|
The FPGA design process in a nutshell |
|
|
175 | (2) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (23) |
|
VHDL entities and architectures |
|
|
179 | (3) |
|
|
182 | (8) |
|
Concurrent and sequential statements |
|
|
190 | (9) |
|
|
199 | (2) |
|
|
201 | (3) |
|
|
204 | (7) |
|
Synchronisation and metastability |
|
|
204 | (2) |
|
Limit nesting of if statements |
|
|
206 | (1) |
|
Tristate buffers for large multiplexers |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
207 | (1) |
|
Register outputs for all blocks |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
208 | (2) |
|
|
210 | (1) |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
211 | (1) |
|
|
211 | (19) |
|
|
212 | (9) |
|
|
221 | (9) |
|
Applying our design method |
|
|
230 | (1) |
|
|
231 | (52) |
|
|
232 | (5) |
|
|
232 | (2) |
|
|
234 | (2) |
|
|
236 | (1) |
|
|
236 | (1) |
|
|
237 | (33) |
|
|
238 | (1) |
|
|
239 | (1) |
|
|
240 | (4) |
|
|
244 | (6) |
|
|
250 | (3) |
|
|
253 | (17) |
|
|
270 | (7) |
|
|
270 | (1) |
|
Aligning the camera and range sensors |
|
|
270 | (3) |
|
|
273 | (1) |
|
Moving camera -- effect of barrel distortion |
|
|
273 | (3) |
|
Moving camera -- elimination of barrel distortion |
|
|
276 | (1) |
|
Moving camera -- image noise |
|
|
276 | (1) |
|
Moving camera -- noise motion and high velocities |
|
|
277 | (1) |
|
Implementation statistics |
|
|
277 | (1) |
|
|
278 | (5) |
|
|
278 | (2) |
|
Extending the LTSV estimator |
|
|
280 | (1) |
|
|
280 | (1) |
|
Trimming versus Winsorising |
|
|
281 | (1) |
|
|
281 | (1) |
|
|
281 | (2) |
|
|
283 | (112) |
|
|
285 | (12) |
|
A.1 Timing for a 512 x 32 pixel image |
|
|
286 | (1) |
|
A.2 Control flow for a 512 x 32 pixel image |
|
|
287 | (1) |
|
A.3 Timing for a 32 x 32 pixel image |
|
|
288 | (1) |
|
A.4 Control flow for a 32 x 32 pixel image |
|
|
289 | (1) |
|
A.5 Legend for timing diagrams |
|
|
290 | (4) |
|
A.5.1 Note 1: image data clobbering |
|
|
294 | (1) |
|
A.5.2 Note 2: the use of n in the timing diagram |
|
|
295 | (1) |
|
A.5.3 Note 3: scale space change over process |
|
|
295 | (1) |
|
A.5.4 Note 4: the first frame |
|
|
295 | (2) |
|
|
297 | (4) |
|
|
297 | (1) |
|
|
298 | (1) |
|
|
298 | (3) |
|
|
301 | (76) |
|
C.1 Summary of design components |
|
|
301 | (5) |
|
|
306 | (1) |
|
|
307 | (11) |
|
|
318 | (15) |
|
|
333 | (7) |
|
C.5 Laser and PC data paths |
|
|
340 | (4) |
|
|
344 | (16) |
|
C.7 Miscellaneous components |
|
|
360 | (8) |
|
C.8 User constraints file |
|
|
368 | (9) |
|
D Simulation of range data |
|
|
377 | (18) |
Bibliography |
|
395 | (22) |
Index |
|
417 | |