Efficient Superpixel Creation in High-resolution Images by Applying a PLANT Master’s Thesis Jan Draegert Freie Universit¨ at Berlin Fachbereich Mathematik und Informatik Institut f¨ ur Informatik August 4, 2017
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT Outline Superpixels PLANT Experiments Application to Vision of Soccer Robots
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT Superpixels Image Segmentation
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT Superpixels Superpixels
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT Partition-Locating, Axis-aligned, and Node-queing Tree Generating a PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow()
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split location ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split location ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Split Location ◮ pivot ← x min + width / 2 ◮ step width ← width / 4 ◮ while step width ≥ 1 do: � � � � ◮ if � � � � � > � � � � � � � ◮ x max ← pivot ◮ pivot ← pivot − step width ◮ else ◮ x min ← pivot ◮ pivot ← pivot + step width ◮ step width ← step width / 2 ◮ return pivot
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Integral Image I Precalculation II Accessing an area
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Integral Image I Precalculation ◮ simple: i ≤ x j ≤ y � � I Σ ( x , y ) = I ( i , j ) i =0 j =0
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Integral Image I Precalculation ◮ simple: I Σ ( x , y ) = � i ≤ x � j ≤ y j =0 I ( i , j ) i =0 ◮ fast: S ( x , y ) = S ( x − 1 , y ) + I ( x , y ) I Σ ( x , y ) = I Σ ( x , y − 1) + S ( x , y )
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Integral Image I Precalculation II Accessing an area � I ( x , y ) = I Σ ( D ) + I Σ ( A ) − I Σ ( B ) − I Σ ( C ) where: x 0 ≤ x ≤ x 1 y 0 ≤ y ≤ y 1 A = ( x 0 , y 0 ) B = ( x 1 , y 0 ) C = ( x 0 , y 1 ) D = ( x 1 , y 1 )
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Split Location ◮ pivot ← x min + width / 2 ◮ step width ← width / 4 ◮ while step width ≥ 1 do: � � � � ◮ if � � � � � > � � � � � � � ◮ x max ← pivot ◮ pivot ← pivot − step width ◮ else ◮ x min ← pivot ◮ pivot ← pivot + step width ◮ step width ← step width / 2 ◮ return pivot
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Split Direction ◮ if (∆ h ≥ ∆ v ) ◮ split horizontally ◮ else ◮ split vertically ∆ h and ∆ v are computed while split location is searched
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Split Direction ◮ pivot ← x min + width / 2, step width ← width / 4 ◮ ∆ h ← 0 ◮ while step width ≥ 1 do: � � � � ◮ if � � � � � > � � � � � � � ◮ x max ← pivot ◮ pivot ← pivot − step width � � ◮ ∆ h ← ∆ h + step width · � � � � � � ◮ else ◮ x min ← pivot ◮ pivot ← pivot + step width � � ◮ ∆ h ← ∆ h + step width · � � � � � � ◮ step width ← step width / 2 ◮
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Priority ◮ if (∆ h ≥ ∆ v ) ◮ split horizontally ◮ set priority to ∆ h ◮ else ◮ split vertically ◮ set priority to ∆ v
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated: ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated : ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm Termination Criterion ◮ Stop if ◮ max number of leaves reached ◮ or priority < θ
Efficient Superpixel Creation in High-resolution Images by Applying a PLANT PLANT Algorithm PLANT ◮ Initially: PLANT and priority queue are empty ◮ Root node contains whole image ◮ Insert() root node ◮ While not terminated : ◮ Grow() Insert() Grow() ◮ Find split locations ◮ Pop node with highest priority from queue ◮ Determine split direction ◮ Split node ◮ Calculate priority ◮ For both resulting nodes: ◮ Add to priority queue ◮ Insert() and PLANT
Recommend
More recommend