Accessing the GPU & the GPUImage Library
Instructor - Simon Lucey
16-623 - Advanced Computer Vision Apps
Accessing the GPU & the GPUImage Library Instructor - Simon - - PowerPoint PPT Presentation
Accessing the GPU & the GPUImage Library Instructor - Simon Lucey 16-623 - Advanced Computer Vision Apps Today Motivation GPU OpenGL GPUImage Library Algorithm Software Architecture SOC Hardware Correlation Filters
Instructor - Simon Lucey
16-623 - Advanced Computer Vision Apps
Correlation Filters with Limited Boundaries
Hamed Kiani Galoogahi Istituto Italiano di Tecnologia Genova, Italy
hamed.kiani@iit.itTerence Sim National University of Singapore Singapore
tsim@comp.nus.edu.sgSimon Lucey Carnegie Mellon University Pittsburgh, USA
slucey@cs.cmu.eduAbstract
Correlation filters take advantage of specific proper- ties in the Fourier domain allowing them to be estimated efficiently: O(ND log D) in the frequency domain, ver- sus O(D3 + ND2) spatially where D is signal length, and N is the number of signals. Recent extensions to cor- relation filters, such as MOSSE, have reignited interest of their use in the vision community due to their robustness and attractive computational properties. In this paper we demonstrate, however, that this computational efficiency comes at a cost. Specifically, we demonstrate that only 1 D proportion of shifted examples are unaffected by boundary effects which has a dramatic effect on detection/trackingNames: MMX, SSE, SSE2, …
x
4-way
SIMD (Single Instruction, Multiple Data)
(https://developer.qualcomm.com/software/fastcv-sdk)
(https://www.khronos.org/openvx/) (http://opencv.org/itseez-announces-release-of-accelerated-cv-library.html)
(https://github.com/BradLarson/GPUImage)
2010 2014
(Taken from YouTube Tango Talk 2015)
purpose GPU computing language, and is an open standard.
ARM platforms.
Fortran.
13
15
16
17
18
19
space.
calculates the projected position of the vertex in screen space.
projected vertices.
visible parts into pixel-sized fragments.
and lighting.
fragments from objects that are behind the ones already drawn.
rendering job.
20
Taken from: http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html#gl1-pipeline
some stage of a graphics processor.
rendering pipeline.
non-graphics applications - such as computer vision operations.
requires a lot of code to set up and maintain :(.
cumbersome to build up a full application to test out ideas in vision using OpenGL ES.
21
independent.
motivated by this inherent parallelism.
Proceedings of the IEEE 2008.
22
you apply GPU-accelerated filters and other effects to images, live camera video and movies.
filters in OpenGL-ES.
Brad Larson.
exists.
25
Your App OpenGL API
glTexImage2D() glDrawElements …
GPU Image
faster through the GPU -
full description of the capabilities.
26
27
that can do some of the things GPUImage can do.
GPUImageRawData . (more on this in later lectures)
necessary.
28
29
30
https://github.com/slucey-cs-cmu-edu/Intro_GPUImage
command line. $ git clone https://github.com/slucey-cs-cmu-edu/Intro_GPUImage.git
https://github.com/slucey-cs-cmu-edu/Movie_GPUImage
command line. $ git clone https://github.com/slucey-cs-cmu-edu/Movie_GPUImage
37
For more information on MetalGL check out - https://metalgl.com/
For more information on MetalGL check out - https://metalgl.com/
For more information on MetalGL check out - https://metalgl.com/