Automatic Photo Popup Derek Hoiem Alexei A Efros

  • Slides: 41
Download presentation
Automatic Photo Pop-up Derek Hoiem Alexei A. Efros Martial Hebert Carnegie Mellon University

Automatic Photo Pop-up Derek Hoiem Alexei A. Efros Martial Hebert Carnegie Mellon University

Abstract o o o This paper presents a fully automatic method for creating a

Abstract o o o This paper presents a fully automatic method for creating a 3 D model from a single photograph. Our algorithm labels regions of the input image into coarse categories: ”ground”, ”sky”, and”vertical”. Because of the inherent ambiguity of the problem and the statistical nature of the approach, the algorithm is not expected to work on every image.

Overview o o Image to Superpixels (Superpixel: nearly uniform regions) Superpixels to Multiple Constellations

Overview o o Image to Superpixels (Superpixel: nearly uniform regions) Superpixels to Multiple Constellations to Superpixel Labels to 3 D Model!!

Features for Geometric Classes

Features for Geometric Classes

Features for Geometric Classes o o Color: it is valuable in identifying the material

Features for Geometric Classes o o Color: it is valuable in identifying the material of a surface. Texture: provides additional information about the material of a surface. Location: provide strong cues for distinguishing between ground, vertical structures, and sky. 3 D Geometry: help determine the 3 D orientation of surface.

Features for Geometric Classes Num: the number of variables in each set Used: how

Features for Geometric Classes Num: the number of variables in each set Used: how many variables from each set are actually used in the classifier

Features for Geometric Classes

Features for Geometric Classes

Horizon Position o o We estimate the horizon position from the intersections of nearly

Horizon Position o o We estimate the horizon position from the intersections of nearly parallel lines by finding the position that minimizes the L 1 or. L 2 distance from all of the intersection points in the image. This often provides a resonable estimate, since these scenes contain many parallel to the ground plane.

Labeling the Image

Labeling the Image

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o Obtaining Superpixels correspond to small, nearly-uniform regions in the image.

Labeling the Image o Obtaining Superpixels correspond to small, nearly-uniform regions in the image. Our implementation uses the over-segmentation technique of [Felzenszwalb and Huttenlocher 2004]. The use of superpixels improves the computational efficiency of our algorithm.

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o Forming Constellations We group superpixels that are likely to share

Labeling the Image o Forming Constellations We group superpixels that are likely to share a common geometric label into “Constellation”. To form constellations, we initialize by assigning one randomly selected superpixel to each of Nc constellations. We then iteratively assign each remaining superpixel to the constellation most likely to share its label, maximizing the average pairwise log-likelihoods with other superpixels in the constellation:

Labeling the Image o Forming Constellations Nc: the number of the constellation nk: the

Labeling the Image o Forming Constellations Nc: the number of the constellation nk: the number of superpixels in constellstion Ck Y: label of superpixel Z: feature

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o o o Obtaining Superpixels Forming Constellation Geometric Classification

Labeling the Image o 1. 2. Geometric Classification For each constellation, we estimate :

Labeling the Image o 1. 2. Geometric Classification For each constellation, we estimate : Label likelihood: the confidence in each geometric label. Homogeneity likelihood: whether all superpixels in the constellation have the same label.

Labeling the Image o Geometric Classification Next, we estimate the likelihood of a superpixel

Labeling the Image o Geometric Classification Next, we estimate the likelihood of a superpixel label by marginalizing over the constellation likelihood: Si: the i th superpixel Yi: the label of Si

Training

Training

Training o Training Data The likelihood function used to group superpixels and label constellations

Training o Training Data The likelihood function used to group superpixels and label constellations are learned from training images. Each training image is oversegmented into superpixels, and each superpixel is given a ground truth label according to its geometric class.

Training

Training

Training o Superpixel Same-Label Likelihoods To learn the likelihood that two superpixels have the

Training o Superpixel Same-Label Likelihoods To learn the likelihood that two superpixels have the same label, we sample 2500 samelabel and different-label pairs of superpixels from our training data. We estimate the pairwise likelihood function are estimated using the logistic regression version of Adaboost[Collins 2002] with weak learners based on eight-node decision trees[Friedman 2000].

Training Z 1, Z 2: the features from a pair of superpixels Y 1,

Training Z 1, Z 2: the features from a pair of superpixels Y 1, y 2: the labels of the superpixels nf: the number of features : This likelihood function is obtained using kernel density estimation [Duda 2000] over the m th weighted distribution.

Training o Constellation Label and Homogeneity Likelihoods To learn the label likelihood and Homogeneity

Training o Constellation Label and Homogeneity Likelihoods To learn the label likelihood and Homogeneity likelihood , we form multiple sets of constellations for the superpixels in our training images using the learned pairwise function. Each constellation is then labeled as “ground”, ”vertical”, ”sky”, or”mixed”, according to the ground truth. Each decision tree weak learner selects the best features to use and estimates the confidence in each label based on those features.

Training o Constellation Label and Homogeneity Likelihoods The boosted decision tree estimator outputs a

Training o Constellation Label and Homogeneity Likelihoods The boosted decision tree estimator outputs a confidence for each of “ground” , ”vertical” , ”sky”, and” mixed”, which are normalized to sum to 1. The product of the label and homogeneity likelihoods for a particular geometric label is then given by the normalized confidence in “ground” ”, ”vertical” , ”sky” , and ”mixed”.

Creating the 3 D Model

Creating the 3 D Model

Creating the 3 D Model o Cutting and Folding Our model=ground plane+planar object We

Creating the 3 D Model o Cutting and Folding Our model=ground plane+planar object We need to partition the vertical regions into a set of objects and determine where each object meets the ground. Preprocess: Set any superpixels that are labeled as ground or sky and completely surrounded by nonground or non-sky pixels to the most common label of the neighboring superpixels.

Creating the 3 D Model o 1. 2. 3. Cutting and Folding We divide

Creating the 3 D Model o 1. 2. 3. Cutting and Folding We divide the vertically labeled pixels into disconnected or loosely connected regions using the connected components algorithm. For each region, we fit a set of line segments to the region’s boundary with the labeled ground using the Hough transform[Duda 1972] Next, within each region, we form the disjoint line segments into a set polylines.

Creating the 3 D Model o Cutting and Folding We treat each polyline as

Creating the 3 D Model o Cutting and Folding We treat each polyline as a separate object, modeled with a set of connected planes that are perpendicular to the ground plane.

Creating the 3 D Model o Camera Parameters To obtain true 3 D world

Creating the 3 D Model o Camera Parameters To obtain true 3 D world coordinates, we would need to know the two camera parameters: 1. 2. intrinsic extrinsic 引用自www. csie. ntu. edu. tw/~cyy/courses/ vfx/05 spring/lectures/scribe/07 scribe. pdf

Failure Works

Failure Works

Failure

Failure

Failure

Failure

Failure o 1. 2. 3. 4. 5. Four example of failures Labeling error Polyline

Failure o 1. 2. 3. 4. 5. Four example of failures Labeling error Polyline fitting error Modeling assumptions Occlusion in the image Poor estimation of the horizon position

Result

Result

Result

Result

Result

Result

Result

Result

Conclusion

Conclusion

Conclusion o 1. 2. 3. Future work Use segmentation technique[Li 2004/Lazzy snapping] Estimate the

Conclusion o 1. 2. 3. Future work Use segmentation technique[Li 2004/Lazzy snapping] Estimate the orientation of vertical region from the image data, allowing a more robust polyline fit. An extension of the system to the indoor scene.

Thanks for your listening!!

Thanks for your listening!!