140 likes | 267 Views
January 2008. Fast Multi Class Distance Transforms for Video Surveillance. Theo Schouten Egon van den Broek. Distance Transformation. distance map D(p) = min { dist(p,q), q O }. Multi Class DT. class map C(p) = C(q), q O, dist(p,q) == D(p).
E N D
January 2008 Fast Multi Class Distance Transforms for Video Surveillance Theo Schouten Egon van den Broek
Distance Transformation • distance map D(p) = min { dist(p,q), q O }
Multi Class DT • class map C(p) = C(q), q O, dist(p,q) == D(p)
Used original distance transformation • CH11: city-block DT of Rosenfeld and Pfaltz • CH34: chamfer 3,4 of Borgefors • EDT4: 4-scan semi-exact EDT of Shih and Liu • EDT2: 2-scan semi-exact EDT of Shih and Wu • EDLT: EDT method of Maurer, Qi and Raghavan • based on dimension reduction • proces first rows then columns • partial Voronoi diagram for each row, column • FEED: or own EDT
Fast Exact Euclidean Distance (FEED) border pixels bisection lines precalculate ED • each q O feeds its ED to all p:D(p) = min ( D(p), ED(q,p)) • Faster than EDLT, EDT4, EDT2 • More implementation effort • more lines of code • parameters and strategies
Multi class extension • scan methods (CH11, CH34, EDT4, EDT2): • compare d(p) with d’s of neighbours • add compare c(p) with c’s of neighbours • EDLT: • add extra vector to contain class of Voronoi points • used to set class of filled-in points on row, column • FEED: • change update step D(p) = min ( D(p), ED(q,p)) • if( ED(q,p) < D(p) ) D(p) = ED(q,p), C(p)=C(q)
Video frames D fixed+mov (p) = if( D fixed (p) < D mov (p) ) then Dfixed+mov(p) = Dfixed(p) , Cfixed+mov(p) = Cfixed(p) else Dfixed+mov(p) = Dmov(p) , Cfixed+mov(p) = Cmov(p)
Fast moving part calculation • fast location moving object • sequence of refining scans over the image • using RLE encoding of fixed objects • use dmax = max ( Dfixed(p) ) to calculate D (C ) mov • only over part of the frame • bounding box of moving object extended by dmax • combining fixed and moving D (C ) only for part • same memory locations for D fixed and D fixed+mov
Extra speed-up for FEED • merge the application of FEED on the moving object • with combining fixed and moving D (C ): • replace initialization D(p)= if( p O ) 0 else • by D(p) = D fixed (p) • not possible for other methods • only partial evaluations of D during scans • further the RLE encoding is used to speed-up FEED
Conclusion • extended several DT’s to • handle images with multi class objects • and to faster processing of video frames • with fixed and one moving multi class objects • extension methods applicable to all scans based DT’s • our Fast Exact Euclidean Distance transformation • is faster (6-10) than other MC (semi-)exact EDT’s • on video frames even faster than city-block • more implementation effort • tune to cache-systems, image characteristics