Documente Academic
Documente Profesional
Documente Cultură
NVIDIA Confidential
Agenda
Why GPUs for Computer Vision? Examples Demos Discussion, future research topics
NVIDIA Confidential
NVIDIA Confidential
Data-Parallel architecture
Same math to many pixels leverage redundancy
NVIDIA Confidential
Nearly 100 GB/s of on-card memory bandwidth Dedicated Memory not shared with other tasks
NVIDIA Confidential
Latency Hiding
Even with massive bandwidth, memory is very slow relative to compute Caches are not big enough for many vision applications (especially with video) GPUs hide memory latency through fast thread context switch
NVIDIA Confidential
Shared Memory
Acts like a local cache, allowing pixels to access their neighbors with extremely high speed Intermediate results can also be shared between pixels
NVIDIA Confidential
NVIDIA Confidential
Panaroma Algorithm
Left Image Right Image
Keypoint Matching
NVIDIA Confidential
Projective Transform
Multi-Band Blend
Panaroma Performance
Comparison of GPU vs. Photoshop CS3 Photomerge Tool
Time to Stitch 3 Images (11 Megapixels / image)
NVIDIA Confidential
Stereo Vision
Object
B = baseline distance
FIGURE 1
NVIDIA Confidential
Computationally Insane
Need to find correspondence between left and right image for every pixel For 640 x 480 pixels, 11x11 block match, this is 2 Billion computations for 50-pixel search (with no optimization)
NVIDIA Confidential
GPU Strategy
T H R E A D 0 T H R E A D 1 T H R E A D 2 T H R E A D 3 T H R E A D 4 T H R E A D 5 T H R E A D 6 T H R E A D 7 T H R E A D 8 T H R E A D 9 T H R E A D 10 T H R E A D 11 T H R E A D 12 T H R E A D 13 T H R E A D 14 T H R E A D 15 T H R E A D 0 T H R E A D 1 T H R E A D 2 T H R E A D 3
0 1 2 ...
2
L R
THREAD 0
THREAD 2
col(0..4)
THREAD 1
col(2..6) col(1..5)
NVIDIA Confidential
Heavily leverages SMEM for intermediate computations to share work between threads
NVIDIA Confidential
NVIDIA Confidential