Real-Time and High Resolution Feature Tracking and Object - - PowerPoint PPT Presentation

real time and high resolution feature tracking and object
SMART_READER_LITE
LIVE PREVIEW

Real-Time and High Resolution Feature Tracking and Object - - PowerPoint PPT Presentation

Real-Time and High Resolution Feature Tracking and Object Recognition Peter Andreas Entschev - peter@arrayfire.com HPC Engineer Definition: Feature Tracking The act of finding highly distinctive image properties (features) in a given scene


slide-1
SLIDE 1

Real-Time and High Resolution Feature Tracking and Object Recognition

Peter Andreas Entschev - peter@arrayfire.com HPC Engineer

slide-2
SLIDE 2

Definition: Feature Tracking

The act of finding highly distinctive image properties (features) in a given scene

slide-3
SLIDE 3

Definition: Object Recognition

The act of identifying an object based on its geometry

Image Source: Visual Geometry Group (2004). University of Oxford, http://www.robots.ox.ac.uk/~vgg/data/data-aff.html

slide-4
SLIDE 4

Feature Tracking Phases

  • 1. Feature detection:

➔ Finding highly distinctive properties of objects (e.g., corners)

  • 2. Descriptor extraction:

➔ Encoding of a texture patch around each feature

  • 3. Descriptor matching:

➔ Finding similar texture patches in distinct images

slide-5
SLIDE 5

Feature Tracking History - 17 Year Review

  • SIFT - Scale Invariant Feature Transform (1999, 2004)
  • SURF - Speeded Up Robust Features (2006)
  • FAST - High-speed Corner Detection (2006, 2010)
  • BRIEF - Binary Robust Independent Elementary

Features (2010)

  • ORB - Oriented FAST and Rotated BRIEF (2011)
  • KAZE/Accelerated KAZE Features (2012, 2013)
slide-6
SLIDE 6

Computer Vision Applications

  • 3D scene reconstruction
  • Image registration
  • Object recognition
  • Content retrieval
slide-7
SLIDE 7

Computational Challenges

  • Computationally expensive
  • Real-time requirement
  • Memory access patterns
slide-8
SLIDE 8

FAST - High-speed Corner Detection

This is “FAST” because the number of comparisons is pruned (explained in the next slides)

Image source: Rosten, Edward, and Tom Drummond. "Machine learning for high- speed corner detection." Computer Vision–ECCV 2006. Springer Berlin Heidelberg,

  • 2006. 430-443.
slide-9
SLIDE 9

FAST - High-speed Corner Detection

p > Ip- t p < Ip+ t - Arc pixels must match one condition

Image source: Rosten, Edward, and Tom Drummond. "Machine learning for high- speed corner detection." Computer Vision–ECCV 2006. Springer Berlin Heidelberg,

  • 2006. 430-443.
slide-10
SLIDE 10

FAST - High-Speed Test 1

p > Ip- t p < Ip+ t - Discard if pixels don’t match condition

slide-11
SLIDE 11

FAST - High-Speed Test 2

p > Ip- t p < Ip+ t - Discard if pixels don’t match condition

slide-12
SLIDE 12

FAST - High-Speed Test 3

p > Ip- t p < Ip+ t - Discard if pixels don’t match condition

slide-13
SLIDE 13

Parallel FAST

  • Each block contains TxU threads

T - Number of "horizontal" threads

U - Number of "vertical" threads

  • Block will read from shared memory, (T+r+r)x(U+r+r)

pixels, where r is the radius (3 for 16 pixel ring)

slide-14
SLIDE 14

Parallel FAST (Cont.)

  • General case GPU execution flow: avoid using “if”

statements

Branch divergence

slide-15
SLIDE 15

Parallel FAST (Cont.)

  • General case GPU execution flow: avoid using “if”

statements

Branch divergence

  • Parallel FAST: use “if” statements

Entire block work is discarded after high-speed test

Good “if” condition usage!

slide-16
SLIDE 16
  • Two binary strings

16 pixel ring = 16 bits

Condition 1: p > Ip- t

Condition 2: p < Ip+ t

  • Look-Up Table

Contains maximum length of a segment (216 = 65,536 conditions)

  • Check the LUT

Matching segment length

Parallel FAST (Cont.)

slide-17
SLIDE 17

BRIEF - Binary Robust Independent Elementary Features

  • Pair-wise intensity comparisons
  • Pairs sampled from Gaussian isotropic distribution
  • Descriptor is a binary vector
  • Fast comparison (Hamming distance)
slide-18
SLIDE 18

BRIEF - Binary Robust Independent Elementary Features

slide-19
SLIDE 19

FAST + BRIEF - Issues

  • Rotation
  • Scale
slide-20
SLIDE 20

ORB - Oriented FAST and Rotated BRIEF

  • Detects FAST features in multiple scales
  • Calculates feature orientation using intensity centroid
  • Extract oriented BRIEF descriptor
slide-21
SLIDE 21

Rotation Robustness

Image source: Rube, Ethan, et al. “ORB: an efficient alternative to SIFT and SURF.” In Computer Vision (ICCV), 2011 IEEE International Conference on, pp. 2564-2571. IEEE. 2011

slide-22
SLIDE 22

Noise Robustness

Image source: Rube, Ethan, et al. “ORB: an efficient alternative to SIFT and SURF.” In Computer Vision (ICCV), 2011 IEEE International Conference on, pp. 2564-2571. IEEE. 2011

slide-23
SLIDE 23

Performance Analysis

Software:

  • Ubuntu Linux 14.10
  • ArrayFire Development Version
  • OpenCV 2.4.10

Hardware:

  • Intel Xeon E5-2600
  • 32 GB RAM
  • NVIDIA K20 GPU
slide-24
SLIDE 24

FAST Performance: ArrayFire vs. OpenCV

slide-25
SLIDE 25

ORB Performance: ArrayFire vs. OpenCV

slide-26
SLIDE 26

SIFT Performance: OpenCV

slide-27
SLIDE 27

SURF Performance: OpenCV

slide-28
SLIDE 28

Questions?

www.arrayfire.com github.com/arrayfire

slide-29
SLIDE 29

ORB Timings

Image Size (pixels) Compute Time (ms) Frames per second 512x512 8 125 800x600 9 111.1 1920x1080 11 90.9 2560x1600 14 71 4096x2304 27 37 7020x9930 163 6.1 10400x10400 300 3.3 14384x11682 624 1.6