Video-Rate Stereo Vision on a Reconfigurable Hardware Ahmad - - PowerPoint PPT Presentation

video rate stereo vision on a reconfigurable hardware
SMART_READER_LITE
LIVE PREVIEW

Video-Rate Stereo Vision on a Reconfigurable Hardware Ahmad - - PowerPoint PPT Presentation

Video-Rate Stereo Vision on a Reconfigurable Hardware Ahmad Darabiha Department of Electrical and Computer Engineering University of Toronto Introduction What is Stereo Vision? The ability of finding the depth information encoded


slide-1
SLIDE 1

Video-Rate Stereo Vision on a Reconfigurable Hardware

Ahmad Darabiha Department of Electrical and Computer Engineering University of Toronto

slide-2
SLIDE 2

2

Introduction

  • What is “Stereo Vision”?

“The ability of finding the depth information encoded within multiple images”

  • Applications?
  • Robotics, Navigation
  • Security, Monitoring
slide-3
SLIDE 3

3

Motivation

  • Problem
  • Real-time vision applications 30 frames/sec
  • Fastest software systems 5-10 seconds for each frame
  • Solution
  • Hardware implementation can accelerate the performance

to video rate

slide-4
SLIDE 4

4

Stereo Basics

  • f : focal length
  • T : distance

between cameras

  • Disparity

d = u – u’

  • Distance

Z = f T/d Top view

slide-5
SLIDE 5

5

Example

Left stereo system Right Depth map brighter closer How to find the corresponding points?

slide-6
SLIDE 6

6

Correspondence Problem

How to match corresponding points between the two images? Three methods:

  • Intensity-based
  • Match the pixels based on their intensity values

Sensitive to brightness variations

  • Feature-based
  • Edges, corners, straight lines

Can not produce dense disparity maps

  • Phase-based
  • Phase of filter outputs

Brightness invariant Extracts more local texture

slide-7
SLIDE 7

7

Local-Weighted Phase Correlation Algorithm

  • Adopted in our system
  • Phase-based
  • G2/H2 filters to extract the phase
  • Multi-resolution
  • Will reduce false matches
  • Three scales: 1,2 and 4
  • Multi-orientation
  • Extracts more texture
  • Directions –45, 0, 45 degrees
slide-8
SLIDE 8

8

Local-Weighted Phase Correlation Algorithm

left image right image

  • Four major steps:

1. Scaling 2. Orientation Decomposition 3. Phase Correlation 4. Interpolation/ Peak- Detection

Scaling Scaling

G2/H2 G2/H2

Phase Correlation

Interpolation/ Peak detection

Disparity map

slide-9
SLIDE 9

Hardware Design

slide-10
SLIDE 10

10

Hardware: ASIC or FPGA?

ASIC (Application Specific Integrated Circuit)

  • Expensive and long design cycle
  • Preferred in mass production

FPGA (Field-Programmable Gate Array)

  • Less stringent design cycle
  • Less expensive
  • Can change the circuit “on the fly”
slide-11
SLIDE 11

11

Transmogrifier-3A System

  • Four interconnected Xilinx

Virtex 2000E FPGAs

  • Four external SRAM

memory banks

  • NTSC/VGA Video ports
  • Four general I/O ports

TM-3A system designed in UofT FPGA group

slide-12
SLIDE 12

12

Design Overview

Scale/Orientation Decomposition Unit Video Interface Unit Phase Correlation Unit Interpolation/ Peak detection Unit

slide-13
SLIDE 13

13

Design Methodology

Golden version Algorithm Golden version algorithm

1

  • Two design steps:
  • 1. Emulate hardware

functional behaviour in software

  • 2. Build the hardware

based on the emulation version

Golden version Algorithm Hardware emulation

2 Matlab

Golden version Algorithm Algorithm

  • n

Hardware

VHDL

slide-14
SLIDE 14

14

Video Interface Unit

  • Input from two

cameras in alternating frames

  • Output the original

image to the display

  • Output the depth map

results to the display

slide-15
SLIDE 15

15

Scale/Orientation Decompositon Unit

Response Phase (+45 degree) Response Phase (-45 degree)

Scale 1 Scale 2 Scale 4

slide-16
SLIDE 16

16

Filtering

G2/H2 Filters are:

  • X_Y separable

– O(n²) operations become O(2n)

  • Symmetrical

– Reduces # of constant multipliers to half

slide-17
SLIDE 17

17

Phase-Correlation Unit

  • Left and right images merged
slide-18
SLIDE 18

18

Phase-Correlation Unit

  • Normalization

block shared for all voting blocks

  • Voting block only

2 Multipliers, one adder and one Gaussian window

slide-19
SLIDE 19

19

Interpolation/Peak detection Unit

  • Combine the voting results over all

scales

  • Detect the index for the peak value in

the overall voting result

  • Sub-pixel accuracy
  • fitting the the maximum value and its

neighbours to a quadratic curve

  • Accuracy improved from 5 bits to 8 bits
slide-20
SLIDE 20

20

Floating-point to fixed-point conversion

1 2 3 4 5 6 7 8 4 6 8 10 12 Input width of the interpolation Unit Mean Square Error lamp books tree Selected Width

  • Fixed-point operations

required for efficient implementation

  • Analysis is done for

every stage

  • Efficient enough for
  • ur system
slide-21
SLIDE 21

21

Results

4 Xilinx V2000E

LWPC 55 33 20

256 x 360

This Work

custom hardware

Sum of abs. difference 36 33 30

200 x 200

CMU

16 Xilinx 4025

Census 77 23.8 24

240 x 320

PARTS

23 Xilinx XC3090

Intensity correlation 7.5 280 32

256 x 256

INRIA

platform Algorithm PDS (million) T (msec) D (pix.) m x n (pix.) system

m x n : Image Size (pixels) D : Maximum disparity (pixels) T : Total time for each frame

PDS = m.n.D / T

slide-22
SLIDE 22

22

Results: Random Stereograms

left right Ground Truth (3D) Original Software Hardware Ground Truth Depth amp

slide-23
SLIDE 23

23

Results: Natural Images

3 4 5

1.9% 402 410 5 2.7% 355 365 4 13.7% 276 320 3 1.6% 320 315 2 3% 309 300 1 % Error hardware results (cm) Ground Truth distance (cm)

Point #

2

Left input

1

Depth map from hardware

slide-24
SLIDE 24

24

More Results

depth map from hardware input

slide-25
SLIDE 25

25

Conclusion

  • Video rate performance (30 frames/sec)
  • High accuracy phase-based stereo

matching algorithm

  • Reprogrammability allows design

expansions with minimum cost

slide-26
SLIDE 26

26

Future Work

  • extensions to this system:
  • Post-processing blocks to validate the results
  • Using depth information from previous frame
  • Pre-processing blocks to rectify the images
  • Increase the search window size
  • Processing larger images
  • Other vision algorithms
  • Design automation tools