CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and...

58
CITS 4402 Computer Vision Prof Ajmal Mian Lecture 12 – 3D Shape Analysis & Matching

Transcript of CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and...

Page 1: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

CITS 4402 Computer Vision

Prof Ajmal Mian

Lecture 12 – 3D Shape Analysis & Matching

Page 2: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 2

Overview of this lecture

Revision of 3D shape acquisition techniques

Representation of 3D data

Applying 2D image techniques on 3D data

ICP Algorithm

Keypoint detection in 3D data

3D feature extraction and matching

22/05/2018

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 3: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 3 22/05/2018

Laser stripe scanner

A laser stripe is moved over the object

The stripe is orthogonal to the epipolar

lines and helps resolve correspondence

Can use one camera and

one laser stripe projector

www.laserdesign.com

Real object 3D model

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 4: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 4 22/05/2018

Minolta Vivid 3D scanner uses laser stripe

Available in CSSE

Fine scan resolution is 640x480 with 1mm resolution

Fast scan is 320x240 but scans in less than a second

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 5: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 5 22/05/2018

Structured light

Multiple stripes or other 2D patterns are simultaneously projected

Stripes are coded through

• Time coding

• Colour coding

Other spatial patters

• Random pattern

Kinect 1 projects spatial infra-red

random pattern

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 6: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 6 22/05/2018

Sample 3D data from Kinect 1

Comparing with other scanners

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 7: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 7 22/05/2018

Full 3D reconstruction with Kinect 1

Rotate object

Get 30 fps

Integrate

Kinect SDK

is available

OpenCV + Matlab

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 8: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 8 22/05/2018

Laser time of flight scanner

Fire laser and measure its time delay (phase shift) after

reflection from an object

Measure distance in that directions

Kinect 2 is an example

Has better spatial resolution

(number of points)

Has better depth resolution than

Kinect 1

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 9: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 9 22/05/2018

Representing 3D data

Raw 3D data is basically a collection of points called pointcloud

Pointcloud is an 3x𝑁 matrix of the 𝑋, 𝑌, 𝑍 ⊤ coordinates of the 𝑁 scene

points that were scanned

A pointcloud can be visualized using rendering softwares based on OpenGL

Pointclouds are converted to mesh by connecting nearest points to form

triangles (or polygons)

Polygons are filled and shaded to render surfaces

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 10: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 10 22/05/2018

Pointcloud of UWA Winthrop Hall

Scanned with laser time of flight scanner

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 11: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 11 22/05/2018

Basic representation of 3D data

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 12: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 12 22/05/2018

Pointcloud example

Matlab: plot3.m

mesh = readPLYfile(‘c:\chef.ply’);

X = mesh.vertices(:,1);

Y = mesh.vertices(:,2);

Z = mesh.vertices(:,3);

plot3(X,Y,Z,’.’);

axis equal;

rotate3d;

www.csse.uwa.edu.au/~ajmal/code.html

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 13: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 13 22/05/2018

Mesh example

mesh = readPLYfile(‘c:\chef.ply’);

X = mesh.vertices(:,1);

Y = mesh.vertices(:,2);

Z = mesh.vertices(:,3);

trimesh(mesh.triangles,X,Y,Z);

axis equal;

rotate3d;

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 14: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 14 22/05/2018

Surface

mesh = readPLYfile(‘c:\chef.ply’);

X = mesh.vertices(:,1);

Y = mesh.vertices(:,2);

Z = mesh.vertices(:,3);

trisurf(mesh.triangles,X,Y,Z);

axis equal;

rotate3d;

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 15: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 15 22/05/2018

Rendering as a shaded surface

M = calcMeshNormals(mesh);

N = M.vertexNormals;

[~,p,~]=cart2sph(N(:,1),N(:,2),N(:,3));

trisurf(mesh.triangles,X,Y,Z,p);

axis equal;

shading interp;

colormap gray;

rotate3d;

www.csse.uwa.edu.au/~ajmal/code.html

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 16: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 16 22/05/2018

How to make full 3D models?

Problem: A scanner can only see part of the object’s surface

• A single view scan is also referred to as 2.5D

• Strictly speaking, a single Kinect frame is 2.5D

Solution: Scan the object multiple times from different angles and integrate

Before we can integrate scans, we need to register/align them

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 17: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 17 22/05/2018

Iterative Closest Point (ICP) algorithm

Given two pointclouds 𝑃1 and 𝑃2 , we want to rotate and translate 𝑃2 so that

it aligns with 𝑃1

For each point in 𝑃2 , find its nearest point in 𝑃1 (Correspondences)

Remove incompatible points based on

• Distance, colour, normals, curvatures, boundary points

Let 𝑌 ⊂ 𝑃2 and 𝑋 ⊂ 𝑃1 be the remaining set of corresponding points

Minimize 𝑅𝑌 + 𝑡 − 𝑋2 where 𝑅 is the rotation matrix and 𝑡 is the

translation vector

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 18: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 18 22/05/2018

ICP algorithm

Find correspondences 𝑋 and 𝑌

Subtract mean: 𝑌 = 𝑌 − 𝑚 , and 𝑋 = 𝑋 − 𝑛

Perform SVD: 𝑈𝑆𝑉𝑇 = 𝑌 𝑋 𝑇

𝑅 = 𝑉𝑈𝑇 (Ensure that det 𝑅 = 1)

𝑡 = 𝑛 − 𝑅𝑚

Repeat until 𝑅𝑌 + 𝑡 − 𝑋2< 𝜖

Need minimum of 3 points to solve for 𝑅

www.csse.uwa.edu.au/~ajmal/code.html

Computationally demanding

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 19: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 19 22/05/2018

ICP algorithm limitations

The two pointclouds should be close, otherwise ICP will fail

If they are not close, the first set of correspondences must be provided

• Manually

• Or by automatic feature matching

Can still fail when

• The surface is rotationally symmetric

• The surface has repetitive structure

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 20: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 20 22/05/2018

ICP registration example

Three corresponding points marked to find

initial coarse registration After ICP registration

Corresponding points

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 21: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 21 22/05/2018

Full 3D model construction

Register multiple scans

Integrate them to form a single smooth surface (outside the scope of this

lecture)

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 22: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 22 22/05/2018

ICP applications

1. Surface alignment/registration

2. Surface matching

The final value of error ϵ

is used to decide how well

the two surfaces match

Advantages

• Partial surface matching

• Inbuilt correction of alignment

Drawbacks

• Computationally expensive

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 23: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 23 22/05/2018

Mesh representation

Many scanners output pointclouds as 4 matrices of the same size

• 𝑋 matrix containing the x-coordinates at each ‘pixel’ location

• 𝑌 matrix containing the y-coordinates at each ‘pixel’ location

• 𝑍 matrix containing the z-coordinates at each ‘pixel’ location

• 𝑀 matrix of binary values with 1 at valid and 0 at invalid pixel

Kinect 2 gives XYZ RGB pointcloud

Since the pointcloud is arranged on a planar grid, a simple 2D delaunay triangulation of the XY coordinates will give you the mesh

Delaunay triangulation connects nearest three points • validPixels = find(M(:));

• triangles = delaunay(X(validPixels), Y(validPixels));

• Vertices = [X(validPixels) Y(validPixels) Z(validPixels)];

Remember to remove elongated triangles

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 24: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 24 22/05/2018

Example: Pointcloud to mesh conversion

The triangles variable will contain sets of 3 points (their index numbers)

that make a triangle

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 25: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 25 22/05/2018

2D-grid based representations of pointclouds

Depth image:

• Depth of every point from a plane

• The 𝑍 matrix can be regarded as the depth image

• For actual depth image, need to resample on a uniform XY grid

• We can display/visualize it using image visualization (imshow, imagesc)

• Need to scale Z values so that they are 0-255

Range image:

• Range of every point from the camera center

The difference is small and they are used interchangeably in the literature

Kinect 2 can also give depth images

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 26: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 26 22/05/2018

Example depth images

Bright pixels mean close points

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 27: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 27 22/05/2018

Principal curvatures

Surface normal at a point

Maximum curvature 𝜅1

Minimum curvature 𝜅2

Principal directions

Gaussian curvature 𝜅1𝜅2

Average curvature 𝜅1 + 𝜅2 /2

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 28: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 28 22/05/2018

More 2D-grid based representations of pointclouds

We can derive many other 2D-grid based representations from the X, Y, 𝑍 matrices

The normal vector 𝑛𝑥, 𝑛𝑦, 𝑛𝑧𝑇 gives 3 images. The normal vector 𝜃, 𝜙, 𝑟 𝑇 gives another 2

images. Minimum and maximum curvatures give another 2 images

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 29: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 29 22/05/2018

Applying 2D Gaussian on the Z-image

7x7 window and 𝜎 = 4 Elongated triangles after

Delaunay triangulation

Elongated triangles after

Delaunay triangulation

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 30: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 30 22/05/2018

Need to remove spikes and fill holes before smoothing

Smoothing with a median filter

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 31: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 31 22/05/2018

Gradient images from Z-image

Range image X gradient Y gradient

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 32: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 32 22/05/2018

Detecting features in 3D data

Train Haar classifier on gradient images

Detect features in real-time

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 33: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 33 22/05/2018

Spherical feature

Sum the number of points inside spheres

of increasing radii

Easily implemented by histogramming only

the radii values in spherical coordinates

1-D feature

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 34: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 34 22/05/2018

Spin images (Johnson & Hebert, PAMI’99)

Two steps

1. Use a point and its normal

to define an image plane

2. Spin the image plane and

sum the points passing

through each bin/pixel

Easily implemented by histogramming

in cylindrical coordinates. Download code from

Easily implemented by histogramming

in cylindrical coordinates. Download code from

www.csse.uwa.edu.au/~ajmal/code.html

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 35: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 35 22/05/2018

Tensor feature

Define a 3D grid over the mesh

Need three non-coplanar points

OR two points and their normals

Find the area of intersection with

each cubelet

3D feature

Mian et al, “3D object recognition and segmentation in cluttered scenes, PAMI 2005

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 36: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 36 22/05/2018

Feature comparison

Spherical feature does not need any reference vector or coordinate basis

• Most robust

• Less descriptive

Spin image needs a reference normal vector

• Medium robust

• Medium descriptive

Tensor feature needs a complete 3D reference frame

• Least robust

• Most descriptive

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 37: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 37 22/05/2018

Shape index

𝑆𝐼 =2

𝜋arctan

𝜅2 + 𝜅1

𝜅2 + 𝜅1

J. Koenderink and A. van Doorn, ``The internal representation of solid shape with respect to vision,'' Biological Cybernetics, 1979.

cup trough rut saddle rut saddle ridge dome cap

-1 +1 SI

cup rut saddle ridge cap

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 38: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 38 22/05/2018

Shape Index image

Can organize SI values into an image

And use standard image matching

P Szeptycki et al., "A coarse-to-fine curvature analysis-based rotation invariant 3D face landmarking" BTAS 2009.

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 39: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 39 22/05/2018

Keypoint detection in 3D images

Similar to corner detection and LoG/DoG blob detection

Need to detect interesting points

To avoid feature extraction at every point

• Save computation

• All locations are not discriminative

Does this give you an idea to find keypoints? Does this give you an idea to find keypoints?

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 40: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 40 22/05/2018

Keypoint detection in 3D images

Can apply image based techniques on Z-image

Problems

• Does not fully exploit the potential of 3D data

• 3D surfaces are smooth (corners and edges are subtle)

• Corners and edges are at boundary or at noisy locations (e.g. spikes)

With rotation, the pixel values

• change in depth images

• move in conventional 2D images

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 41: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 41 22/05/2018

Keypoint Quality (KPQ) : Feature detection in 3D pointclouds

Given a point 𝑝, crop out a spherical region with radius 𝑟 around it

Let 𝑃 be the 3xN matrix of N points inside the sphere

Find its covariance matrix 𝐶 = 𝑃 − 𝑚 𝑃 − 𝑚 𝑇

Perform PCA: 𝐶𝑉 = 𝐷𝑉

Align the points on their principal axes: 𝑃′ = 𝑉(𝑃 − 𝑚)

Use the X, Y coordinates of the aligned points to find the ratio 𝛿 = max 𝑋 −min 𝑋

max 𝑌 −min 𝑌

If 𝛿 > threshold, accept the point as a keypoint

OR 𝜆1

𝜆2> threshold

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 42: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 42 22/05/2018

KPQ Intuition

KPQ selects keypoints where the surface curvature is different in the two

directions

Unlike edge detection or Lucas Kanade where 𝜆1 ≈ 𝜆2 is preferred, in KPQ

such points are not preferred as they lie on spherical or flat surfaces

A unique coordinate basis cannot be defined at a point where 𝜆1 ≈ 𝜆2

because the principal directions are not unique or sensitive to noise

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 43: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 43 22/05/2018

KPQ: Number of keypoints vs threshold

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 44: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 44 22/05/2018

KPQ feature extraction

A smooth surface is fitted to the points in 𝑃′

Depth values w.r.t. the center are

vectorized and used as a feature

We can align the corresponding

texture to extract invariant

features

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 45: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 45 22/05/2018

KPQ: Automatic scale selection

What should be the radius 𝑟 i.e. the scale for keypoint detection and feature

extraction?

Perform scale space search

Use different values and select the

scale/radius 𝑟 at which 𝜆1/𝜆2 is max

Discard point where a max cannot be found

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 46: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 46 22/05/2018

KPQ face recognition

Similar faces will have more and spatially coherent matches

Different faces will have fewer and spatially incoherent matches

Correct match Incorrect match

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 47: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 47 22/05/2018

KPQ scale invariant object recognition

Match KPQ features to find objects in cluttered scenes at unknown scales

Prune geometrically inconsistent matches

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 48: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 48 22/05/2018

Scene completion and match verification

Align the database model with the scene

Verify the match

• ICP error

• Free space violation

• Occupied space violation

ICP error should be small

The aligned model should not

block visible surfaces

The aligned models should not

cross over into other objects

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 49: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 49 22/05/2018

Summarizing the 3D shape matching pipeline

1. Detect keypoints and their scale

2. Extract features at the keypoints

(KPQ feature, spherical, spin image, tensor, SI, curvatures …………..)

3. Match features (ℓ2 norm, dot product, ….)

4. Prune matches (remove geometrically impossible matches)

5. Verify matches (ICP, free/occupied space violation, …..)

6. Output best match

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 50: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 50 22/05/2018

Generating novels views from 3D models

Can generate novel views by rotating the object and re-rendering it

Can also generate novel illuminations by relighting

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 51: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 51 22/05/2018

3D face recognition using a CNN

CNN can be trained to classify depth images

Pre-trained CNN can be fine tuned if the training data is less

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 52: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 52 22/05/2018

Can we recognize actions?

We know how to match objects in images

We know how to match objects in 3D data

What about video?

Can we recognize an action rather than the object/person performing that

action?

Space-time matching or spatiotemporal matching

Space-time SIFT has been proposed but we will focus on 3D data

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 53: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 53 22/05/2018

3D spatiotemporal matching

Sometimes referred to as 4D in the literature

Motivations

3D data is preferred for action recognition because it can capture all 6

degrees of freedom (3 rotations and 3 translations)

3D avoids texture which can cause errors in action recognition

Kinect 1 and Kinect 2 are available at a very low cost

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 54: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 54 22/05/2018

Human action recognition from Kinect skeleton data

Kinect gives depth image and skeleton data at 30 frames/second

Can be used for action recognition

Microsoft research dataset

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 55: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 55 22/05/2018

Histogram of Depth Gradients

Recall Histogram of Oriented Gradients (HOG)

HOG features can be extracted from gradient of depth images

HOG 𝑍𝑥 𝑍𝑦 𝑍𝑡

Skeleton displacement

feature

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 56: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia

CNN has also been used for action recognition

By processing RGB frames or Depth image frames

What if the data is not an image?

• E.g. human skeleton/joints

We can make a pseudo-image from it

• X,Y,Z locations of the joints -> RGB values

• Multiple joints make the u-dimension

• and multiple frames make the v-dimension

See our Skepxels paper on arXiv

https://arxiv.org/abs/1711.05941

22/05/2018

Computer Vision - Lecture 12 – 3D shape analysis & recognition 56

Page 57: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia 57 22/05/2018

Demos

Demo of Kinect 2

• Shape capture

• Face tracking and recognition

• Body skeleton tracking

• Infra-red capture

3D rendering software (Scanalyze)

Computer Vision - Lecture 12 – 3D shape analysis & recognition

Page 58: CITS 4402 Computer Vision - Unit information...Need three non-coplanar points OR two points and their normals Find the area of intersection with each cubelet 3D feature Mian et al,

The University of Western Australia

Summary

58 22/05/2018

Revision of 3D shape acquisition techniques

Representation of 3D data

Applying 2D image techniques on 3D data

ICP Algorithm

Keypoint detection in 3D data

3D feature extraction and matching

Computer Vision - Lecture 12 – 3D shape analysis & recognition