450 likes | 481 Views
Adaptive Segmentation Based on a Learned Quality Metric. I. Frosio 1 , E. Ratner 2 1 NVIDIA, USA, 2 Lyrical Labs, USA. Motivation: good / bad segmentation. SLIC ( Achanta , 2012). Motivation: good / bad segmentation. GRAPH-CUT ( Felzenszwalb , 2004).
E N D
Adaptive Segmentation Based on a Learned Quality Metric I. Frosio1, E. Ratner2 1 NVIDIA, USA, 2 Lyrical Labs, USA
Motivation: good / bad segmentation SLIC (Achanta, 2012)
Motivation: good / bad segmentation GRAPH-CUT (Felzenszwalb, 2004)
Motivation: good / bad segmentation ADAPTIVE GRAPH-CUT (our)
Motivation: good / bad segmentation > > ? ? ? SLIC (Achanta, 2012) GRAPH-CUT (Felzenszwalb, 2004) ADAPTIVE GRAPH-CUT (our)
Motivation: good / bad segmentation • Achanta, 2012 (SLIC); Kaufhold, 2004: segmentation algorithms aggregate sets of perceptually similar pixels in an image. • Felzenszwalb, 2004 (graph-cut): a segmentation algorithm should capture perceptually important groupings or regions, which often reflect global aspects of the image.
Motivation: segmentation & video compression Segment motion estimation Frame segmentation True block and sub-block motion vectors Encoding
Aim #1: use the human factor(aka segmentation quality metric)
Road map 3) … And put them together (autotuning). 2) … Learn a quality metric including the human factor (application needs) … 1) Pick a segmentation algorithm…
Graph-cut Graph: Nodes: Edges: Weights: w(vi, vj)>>0 w(vi, vj)>0 vj vi w(vi, vj)=0
Graph-cut Internal difference: Cm
Graph-cut Difference between components: Cm Cn
Graph-cut Boundary predicate: Ck 12 10 15 Cn
Graph-cut Boundary predicate: C1 11 15 8 C2
Graph-cut Boundary predicate: Observation scale ~ k C1 C2
Graph-cut K = 3 K = 10,000 K = 100
Road map 3) … And put them together (autotuning). 2) … Learn a quality metric including the human factor… 1) Pick a segmentation algorithm…
(Weighted) symmetric uncertainty 4 bits ------------------ = 33% 7 bits + 5 bits Entropy based average
k vs. Uw vs. quality 160 x 120 image block
k vs. Uw vs. quality Training 160 x 120 blocks 320x240 rgb images K = [1, …, 10,000] visual inspection & classification
k vs. Uw vs. quality Training 160 x 120 blocks 640x480 rgb images K = [1, …, 10,000] visual inspection & classification
Learning the metric Uw = m log(k) + b
Road map 3) … And put them together (autotuning). 2) … Learn a quality metric including the human factor… 1) Pick a segmentation algorithm…
… and adaptivity k = k(x,y)
Results - Quality Adaptive graph-cut (ours) Graph-cut (Felzensswalb, 2004) * SLIC (Achanta, 2012) * * Same number of segments forced for each algorithm
Results SLIC Graph-cut Adaptive graph-cut
Results Graph-cut Adaptive graph-cut SLIC
Results: inter-class contrast(the higher the better) Sum of the contrasts among segments weighted by their areas (Chabrier, 2004)
Results: intra-class uniformity(the lower the better) Sum of the normalized standard deviation for each region (Chabrier, 2004)
Discussion • LEARNED segmentation quality metric including the HUMAN FACTOR • Iterative method to AUTOMATICALLY and ADAPTIVELY compute the optimal scale parameter
A more general approach(edge thresholding segmentation in YUV)
A more general approach(edge thresholding segmentation in YUV) Openboradcast encoding (x264) Lyricallabs encoding (adaptive segmentation) Show
A more general approach(edge thresholding segmentation in YUV) Openboradcast encoding (x264) Lyricallabs encoding (adaptive segmentation) Show
Open issues & improvements Resolution dependency (160x120 blocks) Learning: the Berkeley Segmentation Dataset Avoid iterations (see I. Frosio, SPIE EI 2015)
Questions ? ? ?