53
Fast stixel computation for fast pedestrian detection R. Benenson, M. Mathias, R. Timofte and L. Van Gool

Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Fast stixel computation for fast pedestrian detection

R. Benenson, M. Mathias, R. Timofte and L. Van Gool

Page 2: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

We want very fast pedestrian detections

Page 3: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

In this paper,we reach high quality

pedestrian detection at 165 Hz

Page 4: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

● Detection is one module amongst many

● Less computational power

● Latency matters

Why 165 Hz ?

Page 5: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

INRIA dataset

[Dollar et al. 2011]

Bet

ter

Better

Page 6: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

INRIA dataset

VeryFast 50 Hz

Bet

ter

Better [Benenson et al. 2012]

Page 7: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

INRIA dataset

[Viola & Jones 2004]

fastHOG~10 Hz on GPU

[Prisacariu 2009]

Parts Model[Felzenszwalb 2008]

ChnFtrs/FPDW~5 Hz on CPU

[Dollar 2009+2010]

VeryFast 50 Hz on GPU

Page 8: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Detecting objects without image resizing

1 model, 50 image scales

50 models, 1 image scale

[Benenson et al. 2012]

Page 9: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

We want to use scene geometry to guide the detections

Monocular Stereo

Page 10: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Geometry

>50 Hz on GPU

Page 11: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Depth maps are slow to compute

<50 Hz on CPU

Page 12: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

What to do when depth map computation

is much slower than detection?

Page 13: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Depth maps compute more information that we need

>>

Page 14: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world

[Badino et al. 2009]

Page 15: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

[Benenson et al. 2011]

90 Hz on CPU

Page 16: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

[Benenson et al. 2011 & 2012]

90 Hz on CPU135 Hz

Page 17: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

300 Hz on CPU

Page 18: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

CVVT@ICCV 2011

“we can extract scene geometry from stereo at 90 Hz”

CVPR 2012

“we can detect pedestrian at 50 Hz,

135 Hz when using scene geometry”

CVVT@ECCV 2012

“we can extract scene geometry from stereo at ~300 Hz,

and thus detect pedestrian at 165 Hz”

Page 19: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Is (direct) stixel world a good idea?

Page 20: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

It opens new possibilities

Monocular Pixel-wisedepth map

Stixel world

Page 21: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stereo and object detectionis a chicken and egg problem!

[Ladicky et al. 2010], [Bleyer et al. 2011]

Page 22: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

Left Right

Page 23: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

Left Right

v

disparity

1) Ground plane estimation

Page 24: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

Left Right

v

disparity

1) Ground plane estimation

Page 25: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

Left Right

2) Stixel distance estimation

u

disparity

Page 26: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

Left Right

u

disparity

2) Stixel distance estimation

Page 27: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel world without depth map

Left Right

u

disparity

2) Stixel distance estimation @ 135 Hz CPU

Page 28: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

100 Hz is too slow!

Page 29: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Our initial proposal has (at least) two issues

Page 30: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Too focused in u-disparity, instead of the image space

Left

u

disparity

Page 31: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Too focused in u-disparity, instead of the image space

Left

We will quantize both rows and columns

u

v

Page 32: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Too focused in u-disparity, instead of the u-v space

Left

We will quantize both rows and columns

u

v

Page 33: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Only half of the image information is used

Left Right

u

disparity

Page 34: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Only half of the image information is used

Left Right

u

disparity

Only gradients along rows are used

Page 35: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Only half of the image information is used

Left Right

u

disparity

Gradients along columns are ignored

Page 36: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Now we fully exploit the left image

Left

Page 37: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Now we fully exploit the left image

Left

Page 38: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Now we fully exploit the left image

Left Left

Page 39: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

What happens when …. ?● Stixels vertical sampling changes?

● Stixels horizontal sampling changes?

● Stixel support width changes?

Page 40: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

What happens when …. ?● Stixels vertical sampling changes?→ each 3 columns is good enough

● Stixels horizontal sampling changes?→ 25 row bands is good enough

● Stixel support width changes?→ width 1 column is best

~100 Hz ⇨ ~300 Hz on CPU(on 640x480 pixels images)

Page 41: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian
Page 42: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

More speed, same quality

Page 43: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

More speed, same quality

165 Hzon CPU+GPU

Page 44: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel estimation in u-disparity space is good

Left Right

u

disparity

Stixel distance estimation @ 135 Hz CPU

Page 45: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixel estimation in u-v space is better

Left Right

u

v

2) Stixel distance estimation @ 300 Hz CPU

Page 46: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian
Page 47: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Stixels are useful and

they can be computed very fast(300 Hz on CPU, less than 4 ms)

Take-away message:

Page 48: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Source code available athttp://rodrigob.github.com

Rodrigo Benenson

?

Page 49: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Direct stixels motion estimation

Now Before

u

motion

Page 50: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

Direct stixels motion estimation

Page 51: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian
Page 52: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

t0

t1

CPU

Stereorectification

Inputimages

Resultdetections

GPU

Stixelscomputation

Pedestriandetection

Non-maximasuppression

Stereorectification

Inputimages

Stixelscomputation

Pedestriandetection

4 cores of Intel Core i7 870

Nvidia GeForce GTX 470

Page 53: Fast stixel computation for fast pedestrian detectionrodrigob.github.io/documents/2012_eccv_cvvt... · rectification Input images Result detections GPU Stixels computation Pedestrian

t0

t1

CPU

Stereorectification

Inputimages

Resultdetections

GPU

Stixelscomputation

Pedestriandetection

Non-maximasuppression

Stereorectification

Inputimages

Stixelscomputation

Pedestriandetection

4 cores of Intel Core i7 870

Nvidia GeForce GTX 470

Resultdetections

Inputimages

6.06 ms(1000 frames

average)