ee565:mobile robotics lecture 7

57
EE565:Mobile Robotics Lecture 7 Welcome Dr. Ahmad Kamal Nasir

Upload: others

Post on 23-Jan-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EE565:Mobile Robotics Lecture 7

EE565:Mobile Robotics Lecture 7

Welcome

Dr. Ahmad Kamal Nasir

Page 2: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Today’s Objectives

• Visual Odometry

– Camera model

– Calibration

• Feature detection

– Harris corners

– SIFT/SURF etc.

• Optical Flow

– Kanade-Lucas-Tomasi Tracker

09.03.2015 Dr. Ahmad Kamal Nasir 2

Page 3: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Vision

Use both eyes…at arm’s length, center target within finger OK sign Lock hand in position…see which eye is still aligned by closing the other. The eye with good alignment is your dominant eye!

09.03.2015 Dr. Ahmad Kamal Nasir 3

Page 4: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Human Vision

• Larger portion of our brain is used for vision

• Retina:1000𝑚𝑚2 120mills Rods, 7mills Cones

• Human Eye Resolution≈ 500 Megapixel

• Data rate≈ 3 GB/sec

09.03.2015 Dr. Ahmad Kamal Nasir 4

Page 5: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Computer Vision (Perception) is hard!

• Perception is hard because

– A lot of data

– Uncertainty

– Model estimation

– Contextual information

– Cognitive reasoning

09.03.2015 Dr. Ahmad Kamal Nasir 5

Computer Perception Human Perception

Page 6: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Image Processing Vs. Computer Vision

• Image processing we deals with the images and the outputs are also images

– It deals with giving effects various effects to the image

• Computer vision also deals with images but the outputs are data.

– It deals with extraction of meaningful information from images

09.03.2015 Dr. Ahmad Kamal Nasir 6

Page 7: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Computer Vision

Automatic extraction of meaningful information from images and videos

09.03.2015 Dr. Ahmad Kamal Nasir 7

Semantic Information Geometric Information

Page 8: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Challenges In Computer Vision

• Viewpoint changes

• Illumination changes

• Object intra-class variations

• Inherent ambiguities

09.03.2015 Dr. Ahmad Kamal Nasir 8

Viewpoint changes

Illumination changes Object intra-class variations Inherent ambiguities

Page 9: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Applications

• Robot navigation and automotive

• Medical imaging

• 3D reconstruction and modeling

• Video games and tele-operations

• Augmented reality

• Motion capture

• Recognition

09.03.2015 Dr. Ahmad Kamal Nasir 9

Page 10: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Visual Odometry

• Camera Model

• Calibration

• Feature Extraction

• Feature Tracking

• Camera Pose Estimation

• Triangulation

09.03.2015 Dr. Ahmad Kamal Nasir 10

• Raw Data(Vision/Ranges)

• Clustering(Corners/Lines)

• Objects (Doors/Rooms)

• Semantics(Contextual Information, Place recogniation)

Page 11: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Image Formation

• If we place a piece of film in front of an object, do we get a reasonable image?

09.03.2015 Dr. Ahmad Kamal Nasir 11

Page 12: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Why Use a Lens?

• Ideal pinhole: less amount of light, diffraction Bigger pinhole: blurry image

• Lens focuses light onto the film Rays passing through optical center are inert

• All rays parallel to the optical axis converge at the focal point

09.03.2015 Dr. Ahmad Kamal Nasir 12

Page 13: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Pinhole camera model

09.03.2015 Dr. Ahmad Kamal Nasir 13

Page 14: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Perspective camera

• For convenience, the image plane is usually represented in front of C such that the image preserves the same orientation (i.e. not flipped)

• A camera does not measure distances but angles!

09.03.2015 Dr. Ahmad Kamal Nasir 14

Page 15: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Perspective Projection

• The Camera point 𝑃𝑐 = 𝑋𝑐, 0, 𝑍𝑐 projects to 𝑝 = 𝑥, 𝑦 onto the image plane

• From similar triangles

• Similarly, in the general case:

09.03.2015 Dr. Ahmad Kamal Nasir 15

Page 16: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Scene Points into Pixels

• To convert 𝐩, from the local image plane coordinates (𝑥, 𝑦) to the pixel coordinates (𝑢, 𝑣), we need to account for optical center 𝑂 = (𝑢0, 𝑣0) and scale factor 𝑘 for the pixel-size

• Use Homogeneous Coordinates for linear mapping from 3D to 2D, by introducing an extra element (scale):

09.03.2015 Dr. Ahmad Kamal Nasir 16

Page 17: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Camera Model in Homogenous Form

09.03.2015 Dr. Ahmad Kamal Nasir 17

Expressed in matrix form and homogeneous coordinates

Page 18: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Perspective Effects

• What is lost?

• What is preserved?

09.03.2015 Dr. Ahmad Kamal Nasir 18

Page 19: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Lens Distortion

09.03.2015 Dr. Ahmad Kamal Nasir 19

• The standard model of radial distortion is a transformation from the ideal coordinates (𝑢, 𝑣) (i.e., undistorted) to the real observable coordinates (distorted) (𝑢𝑑 , 𝑣𝑑 )

• The amount of distortion

of the coordinates of the observed image is a nonlinear function of their radial distance.

Page 20: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Camera Calibration

• Goal: to determine the intrinsic parameters of the camera model • The standard method consists of measuring the 3D positions of 𝑛 control

points on a calibration object and the 2D coordinates of their image projections – n ≥ 6 non-coplanar control points on a three-dimensional calibration target – n ≥ 4 non-collinear control points on a planar pattern

09.03.2015 Dr. Ahmad Kamal Nasir 20

Page 21: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Image Filtering

• Averaging Filter

• Gaussian Filter

• Basic Filtering Operations – Convolution

– Correlation

09.03.2015 Dr. Ahmad Kamal Nasir 21

Page 22: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Edge Detection • Edge contours

in the image correspond to important scene contours.

• Ultimate goal of edge detection: an idealized line drawing.

• Edges correspond to sharp changes of intensity • Change is measured by 1st order derivative in 1D • Or 2nd order derivative is zero.

09.03.2015 Dr. Ahmad Kamal Nasir 22

Page 23: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

1D Edge Detection • Image intensity shows an obvious change • Where is an edge?

09.03.2015 Dr. Ahmad Kamal Nasir 23

Page 24: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Solution: Smoothing

09.03.2015 Dr. Ahmad Kamal Nasir 24

Drawback: Increased computation. Can we do something better?

Page 25: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Derivative Theorem of Convolution

09.03.2015 Dr. Ahmad Kamal Nasir 25

How to find edge rather than a maxima or minima?

Page 26: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Zero Crossing

• Locations of Maxima/minima in 𝑠 𝑥 are equivalent to 𝑠 𝑥

09.03.2015 Dr. Ahmad Kamal Nasir 26

Page 27: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

2D Edge Detection • Find gradient of smoothed

image in both directions

• Discard pixels with 𝛻𝑆 (i.e. edge strength), below a certain below • Non-maximal suppression: identify local maxima of 𝛻𝑆 detected

edges

09.03.2015 Dr. Ahmad Kamal Nasir 27

Page 28: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Point Features: Combining Images

• Detect corresponding points across images in order to align them – Detect the same points independently in different images (Repeatable

detector) – Identify the correct correspondence of each point (Reliable and

Unique descriptor)

• Point features used in robot navigation, object/place recognition, 3D reconstruction

09.03.2015 Dr. Ahmad Kamal Nasir 28

Page 29: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Harris corner detection [Harris and Stephens, Alvey Vision Conference 1988]

• How do we identify corners?

• Key: around a corner, the image gradient has two or more dominant directions

• Shifting a window in any direction should give a large change in intensity in at least 2 directions

09.03.2015 Dr. Ahmad Kamal Nasir 29

Page 30: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Implementation

• Two image patches of size P one centered at 𝑥, 𝑦 and one centered at 𝑥 + Δ𝑥, 𝑦 + Δ𝑦 the

similarity measures between them is defined by sum squared error

Let 𝐼𝑥 =𝜕𝐼 𝑥,𝑦

𝜕𝑥 and 𝐼𝑦 =

𝜕𝐼 𝑥,𝑦

𝜕𝑦. Approximating 𝐼 𝑥 + Δ𝑥, 𝑦 + Δ𝑦

which results into

09.03.2015 Dr. Ahmad Kamal Nasir 30

Page 31: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Implementation (Cont.)

• M is the “second moment matrix”

• Since M is symmetric with Eigen values 𝜆1 𝑎𝑛𝑑 𝜆2

• The Harris detector analyses 𝜆1 𝑎𝑛𝑑 𝜆2 to decide if we are in presence of a corner or not

• Visualize M as an ellipse with axis-lengths determined by 𝜆1 𝑎𝑛𝑑 𝜆2 and orientation determined by R

09.03.2015 Dr. Ahmad Kamal Nasir 31

Page 32: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Corner Response Function

• Does the patch describe a corner or not? – No structure: 𝜆1= 𝜆2= 0

– 1D structure: 𝜆1≫ 𝜆2

– 2D structure: Large 𝜆1, 𝜆2

• Last step of Harris corner detector: extract local minima of the cornerness function (Computation of 𝜆1, 𝜆2 𝑖𝑠 𝑒𝑥𝑝𝑒𝑛𝑠𝑖𝑣𝑒) where 𝜅 = [0.04 − 0.15]

09.03.2015 Dr. Ahmad Kamal Nasir 32

Page 33: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Harris Corner Detector: Workflow

09.03.2015 Dr. Ahmad Kamal Nasir 33

Page 34: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Workflow: Compute Corner Response R

09.03.2015 Dr. Ahmad Kamal Nasir 34

Page 35: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Workflow:Find points with large corner response: R> threshold

09.03.2015 Dr. Ahmad Kamal Nasir 35

Page 36: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Workflow: Take only the points of local maxima of R

09.03.2015 Dr. Ahmad Kamal Nasir 36

Page 37: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Detected Points

09.03.2015 Dr. Ahmad Kamal Nasir 37

Page 38: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Properties of Harris Corner Detector

• Harris detector: probably the most widely used & known corner detector

• The detection is invariant to

– Rotation

– Linear intensity changes

• The detection is NOT invariant to

– Scale changes

09.03.2015 Dr. Ahmad Kamal Nasir 38

Page 39: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Scale Invariant Detection

• Consider regions (e.g. circles) of different sizes around a point

• Regions of corresponding sizes will look the same in both images

09.03.2015 Dr. Ahmad Kamal Nasir 39

Page 40: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Scale Invariant Detection

• The problem: how do we choose corresponding circles independentlyin each image?

• Intensity average of region

09.03.2015 Dr. Ahmad Kamal Nasir 40

Page 41: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Scale Invariant Detection • Design a function on the region (circle), which is

“scale invariant” (the same for corresponding regions, even if they are at different scales)

09.03.2015 Dr. Ahmad Kamal Nasir 41

Page 42: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

SIFT Features [Lowe, IJCV 2004]

• SIFT: Scale Invariant Feature Transform • SIFT features are reasonably invariant to changes

in: rotation, scaling, small changes in viewpoint, illumination

• Very powerful in capturing + describing distinctive structure, but also computationally demanding

• Main SIFT stages: – Extract keypoints + scale – Assign keypoint orientation – Generate keypoint descriptor

09.03.2015 Dr. Ahmad Kamal Nasir 42

Page 43: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

SIFT

• Response of LoG for corresponding regions

09.03.2015 Dr. Ahmad Kamal Nasir 43

Page 44: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Extract keypoints + scale

• Keypoint detection

– Scale-space pyramid: subsample and blur original image

– Difference of Gaussians (DoG) pyramid: subtract successive smoothed images

– Keypoints: local extrema in the DoG pyramid

09.03.2015 Dr. Ahmad Kamal Nasir 44

Page 45: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

SIFT orientation and descriptor

• Keypoint orientation (to achieve rotation invariance)

– Sample intensities around the keypoint

– Compute a histogram of orientations of intensity gradients

– Keypoint orientation = histogram peak

• Keypoint descriptor

– SIFT descriptor: 128-long vector

– Describe all gradient orientations relative to the Keypoint Orientation

– Divide keypoint neighborhood in 4×4 regions & compute orientation histograms along 8 directions

– SIFT descriptor: concatenation of all 4×4×8 (=128) values

09.03.2015 Dr. Ahmad Kamal Nasir 45

Page 46: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Optical Flow

• Optical flow is an approximation of the apparent motion of objects within an image.

• Algorithms used to calculate optical flow attempt to find correlations between near frames in a video, generating a vector field showing where each pixel or region in the original image moved to in the second image.

• Typically the motion is represented as vectors originating or terminating at pixels in a digital image sequence.

• Estimating the optical flow is useful in pattern recognition, computer vision, and other image processing applications

• It computes the motion vectors of all pixels in the image (or a subset of them to be faster)

09.03.2015 Dr. Ahmad Kamal Nasir 46

Page 47: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Apparent Motion

• Apparent motion of objects on the image plane

• Caution required!! – Consider a perfectly uniform sphere that is

rotating but no change in the light direction • Optic flow is zero

– Perfectly uniform sphere that is stationary but the light is changing • Optic flow exists

• Aperture problem

09.03.2015 Dr. Ahmad Kamal Nasir 47

Page 48: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Optic Flow Computation

• Two strategies for computing motion – Differential Methods

• Spatio temporal derivatives for estimation of flow at every position

• Multi-scale analysis required if motion not constrained within a small range – Dense flow measurements

– Matching Methods • Feature extraction(Image edges, corners)

• Feature/Block Matching and error minimization – Sparse flow measurements

09.03.2015 Dr. Ahmad Kamal Nasir 48

Page 49: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Optic Flow Computation (Cont.)

09.03.2015 Dr. Ahmad Kamal Nasir 49

• Image Brightness Constancy assumption

• Let I be the image intensity as captured by the camera

• Using Taylor series to expand I

• Apparent brightness of moving objects remains constant

tt

Iy

y

Ix

x

ItyxIttyyxxI

,,,,

0

dt

dI

t

I

dt

dy

y

I

dt

dx

x

I

t

I

t

y

y

I

t

x

x

ILt

t

tyxIttyyxxILt

tt

00

,,,,

Page 50: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Optic Flow Computation (Cont.)

09.03.2015 Dr. Ahmad Kamal Nasir 50

• Image Brightness Constancy assumption

• Apparent brightness of moving objects remains constant

• The are the image gradient while the are the components of the motion field

0

t

I

dt

dy

y

I

dt

dx

x

I

0 t

TII v

IyIxI ,

vdtdydtdx ,

Page 51: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Optic Flow Constraint

09.03.2015 Dr. Ahmad Kamal Nasir 52

• How to get more equations for a pixel?

• Basic idea: impose additional constraints

• Most common is to assume that the flow field is smooth locally

• One method: pretend the pixel’s neighbors have the same (u,v)

• If we use a 5x5 window, that gives us 25 equations per pixel!

0. iti IvuI pp

12512225

25

2

1

2525

22

11

bdA

I

I

I

v

u

II

II

II

t

t

t

yx

yx

yx

p

p

p

pp

pp

pp

Page 52: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Lucas-Kanade Optic Flow

09.03.2015 Dr. Ahmad Kamal Nasir 53

• We now have more equations than unknowns

• Solve the least squares problem • Minimum least squares solution (in d) is given by

• First proposed by Lucas-Kanade in 1981 • Summation performed over all the pixels in the

window

bAdbdA min12512225

ty

tx

yyxy

yxxx

TT

II

II

v

u

IIII

IIII

bAdAA 1252521222

Page 53: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Lucas-Kanade Optic Flow

09.03.2015 Dr. Ahmad Kamal Nasir 54

• Lucas-Kanade Optic flow

• When is the Lucas-Kanade equations solvable

• ATA should be invertible

• ATA should not be too small (effects of noise)

• Eigenvalues of ATA, 1 and 2 should not be small

• ATA should be well conditioned

• 1/2 should not be large (1 = larger eigenvalue)

ty

tx

yyxy

yxxx

II

II

v

u

IIII

IIII

Page 54: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Improving the Lucas-Kanade method

• When our assumptions are violated – Brightness constancy is not satisfied

– The motion is not small

– A point does not move like its neighbors

• Iterative Lucas-Kanade Algorithm – Estimate velocity at each pixel by solving Lucas-

Kanade equations

– Warp H towards I using the estimated flow field • use image warping techniques

– Repeat until convergence

09.03.2015 Dr. Ahmad Kamal Nasir 55

Page 55: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Iterative Lucas-Kanade method

09.03.2015 Dr. Ahmad Kamal Nasir 56

image I image J

Gaussian pyramid of image H Gaussian pyramid of image I

image I image H

run iterative L-K

run iterative L-K

warp & upsample

.

.

.

Page 56: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Summary

• Visual Odometry

– Camera model

– Calibration

• Feature detection

– Harris corners

– SIFT/SURF etc.

• Optical Flow

– Kanade-Lucas-Tomasi Tracker

09.03.2015 Dr. Ahmad Kamal Nasir 57

Page 57: EE565:Mobile Robotics Lecture 7

EE565: Mobile Robotics Module 3: Inertial and Visual Odometry

Questions

09.03.2015 Dr. Ahmad Kamal Nasir 58