gtc template poster-submission …...0.00001 0.0001 0.001 0.01 0.1 1 10 0 10 20 30 40 50 60 esidual...

1
0.00001 0.0001 0.001 0.01 0.1 1 10 0 10 20 30 40 50 60 Squared norm of the residual Itera3ons Choice of linear solver Red‐black Gauss Seidel CG ‐ block Jacobi precondi>oner CG‐No Precondi>oner Algorithmic Exploration 0 20 40 60 80 100 120 140 160 CPU (Intel Q9550) GPU (GTX 480) seconds Run3me 78x speedup 0 1 2 3 4 KLT LDOF Tracking error With occlusion Without occlusion 1.E+00 1.E+01 1.E+02 1.E+03 1.E+04 1.E+05 1.E+06 KLT LDOF Points tracked KLT tracker cannot track the foot LDOF tracker tracks large displacements 2 2.5 3 3.5 4 CPU version GPU version Average Angular Error (Middlebury dataset) Application Accuracy With the amount of video material, e.g. on YouTube, increasing rapidly, there is growing interest in video analysis tools. Motion analysis is a pre-requisite for video applications such as semantic video analysis, intelligent video editing, video summarization etc. All these applications require the ability to track long range motion. Such analysis requires tracking points densely over many frames accurately. Optical flow provides the means to achieve this. Optical Flow involves computing the motion vectors (“flow field”) between the consecutive frames of a video. Optical flow computation solves a non-linear optimization (energy minimization) problem. We use the Large Displacement Optical Flow (LDOF) algorithm, which is crucial for point tracking in real world videos. Our CUDA-implementation of the LDOF algorithm provides a 78x runtime improvement over an auto-vectorized single-threaded implementation, enabling its use in a highly accurate point tracker. Video Point tracking For more detailed information, please refer to the following paper: Narayanan Sundaram, Thomas Brox, Kurt Keutzer, “Dense Point Trajectories by GPU-accelerated Large Displacement Optical Flow”, European Conference on Computer Vision, Greece, September 2010. Point tracker based on LDOF outperforms other trackers - 46% better than Kanade-Lucas-Tomasi (KLT) tracker and tracks up to 3 orders of magnitude more points - 66% more accurate than the Particle Video tracker while handling large displacements and tracking an order of magnitude more points Runtime for computing LDOF on a pair of 640x480 frames is only 1.8 seconds (comparable to other GPU-based optical flow algorithms) 400X points tracked 46% more accurate AS PA LDOF Application Architecture Input Frames Compute du,dv Update u,v Compute Data, Smoothness, HOG Match factors Assemble matrix A Solve A.x = b Warp frame Interpolate u,v Update du, dv Down sample frames Sparse Matrix‐Vector Mul>ply Apply Precondi>oner Preconditioned Conjugate gradient solver Fixed point iterations Coarse to fine refinement Output Flow field BLAS 1 BLAS 1 Histogram of Gradients (Dense matching) Results Conclusion Comparison to Kanade‐Lucas‐Tomasi tracker Comparison to Par3cle Video tracker 1 10 100 1000 Gauss-Seidel Red-black Precond. Conj. Gradient milliseconds Time for convergence (Residual < 10 -2 ) PCG is 47x faster than GS for similar accuracy Time breakdown HOG Creation HOG Match Linear solver Matrix creation Interpolation & Warping Downsampling Filter Other HOG Creation HOG Match Linear solver Matrix creation Interpolation & Warping Downsampling Filter Other Memcopy CPU-GPU Serial Parallel 0 0.5 1 1.5 2 2.5 3 Particle Video LDOF Tracking Error 66% more accurate 1.E+00 1.E+01 1.E+02 1.E+03 1.E+04 1.E+05 1.E+06 Particle Video LDOF Points tracked The linear solver is a significant component of the overall application. Detailed algorithmic exploration is necessary to pick the right solvers for serial and parallel platforms.

Upload: others

Post on 04-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GTC TEMPLATE POSTER-SUBMISSION …...0.00001 0.0001 0.001 0.01 0.1 1 10 0 10 20 30 40 50 60 esidual Iteraons Choice of linear solver Red‐black Gauss Seidel CG ‐ block Jacobi precondioner

0.00001

0.0001

0.001

0.01

0.1

1

10

0 10 20 30 40 50 60

Squa

redno

rmofthe

residu

al

Itera3ons

ChoiceoflinearsolverRed‐blackGaussSeidelCG‐blockJacobiprecondi>onerCG‐NoPrecondi>oner

Algorithmic Exploration

0

20

40

60

80

100

120

140

160

CPU(IntelQ9550) GPU(GTX480)

second

s

Run3me

78x speedup

0

1

2

3

4

KLT LDOF

Trackingerror

With occlusion Without occlusion

1.E+00

1.E+01

1.E+02

1.E+03

1.E+04

1.E+05

1.E+06

KLT LDOF

Pointstracked

KLT tracker cannot track the foot

LDOF tracker tracks large displacements 2 2.5 3 3.5 4

CPU version

GPU version

Average Angular Error (Middlebury dataset)

Application Accuracy

  With the amount of video material, e.g. on YouTube, increasing rapidly, there is growing interest in video analysis tools.   Motion analysis is a pre-requisite for video applications such as semantic video analysis, intelligent video editing, video summarization etc.   All these applications require the ability to track long range motion.   Such analysis requires tracking points densely over many frames accurately. Optical flow provides the means to achieve this.

  Optical Flow involves computing the motion vectors (“flow field”) between the consecutive frames of a video.   Optical flow computation solves a non-linear optimization (energy minimization) problem.   We use the Large Displacement Optical Flow (LDOF) algorithm, which is crucial for point tracking in real world videos.   Our CUDA-implementation of the LDOF algorithm provides a 78x runtime improvement over an auto-vectorized single-threaded implementation, enabling its use in a highly accurate point tracker.

Video Point tracking

•  For more detailed information, please refer to the following paper: Narayanan Sundaram, Thomas Brox, Kurt Keutzer, “Dense Point Trajectories by GPU-accelerated Large Displacement Optical Flow”, European Conference on Computer Vision, Greece, September 2010.

•  Point tracker based on LDOF outperforms other trackers -  46% better than Kanade-Lucas-Tomasi (KLT) tracker and tracks up to 3 orders of magnitude more points -  66% more accurate than the Particle Video tracker while handling large displacements and tracking an order of magnitude more points

•  Runtime for computing LDOF on a pair of 640x480 frames is only 1.8 seconds (comparable to other GPU-based optical flow algorithms)

400X points tracked

46% more accurate

ASPALDOF Application Architecture

InputFrames

Computedu,dv

Updateu,v

ComputeData,Smoothness,

HOGMatchfactors

AssemblematrixA

SolveA.x=b

Warpframe

Interpolateu,v

Updatedu,dv

Downsampleframes

SparseMatrix‐VectorMul>ply

BLAS1

ApplyPrecondi>oner

Preconditioned Conjugate gradient solver

Fixed point iterations

Coarse to fine refinement

OutputFlowfield

BLAS1BLAS1

BLAS1BLAS1BLAS1

HistogramofGradients(Densematching)

Results

Conclusion ComparisontoKanade‐Lucas‐Tomasitracker

ComparisontoPar3cleVideotracker1

10

100

1000

Gauss-Seidel Red-black Precond. Conj. Gradient

mill

isec

onds

Time for convergence (Residual < 10-2)

PCG is 47x faster than GS for similar accuracy

Timebreakdown

HOG Creation

HOG Match

Linear solver

Matrix creation

Interpolation &

Warping Downsampling

Filter

Other

HOG Creation!

HOG Match!

Linear solver!

Matrix creation!

Interpolation &

Warping!

Downsampling!

Filter!

Other!

Memcopy CPU-GPU!

Serial Parallel

0

0.5

1

1.5

2

2.5

3

Particle Video LDOF

Tracking Error

66% more accurate

1.E+00

1.E+01

1.E+02

1.E+03

1.E+04

1.E+05

1.E+06

Particle Video

LDOF

Pointstracked

•  The linear solver is a significant component of the overall application.

•  Detailed algorithmic exploration is necessary to pick the right solvers for serial and parallel platforms.