Abstract:
A method to reconstruct 3D model of an object includes receiving with a processor a set of training data including images of the object from various viewpoints; learning a prior comprised of a mean shape describing a commonality of shapes across a category and a set of weighted anchor points encoding similarities between instances in appearance and spatial consistency; matching anchor points across instances to enable learning a mean shape for the category; and modeling the shape of an object instance as a warped version of a category mean, along with instance-specific details.

Description:
[0001]    This application is a utility conversion and claims priority to Provisional Application Ser. 61/726,041 filed Nov. 14, 2012, the content of which is incorporated by reference. 
     
    
     BACKGROUND 
       [0002]    This invention relates to augmenting traditional multiview stereo (MVS) reconstruction methods with semantic information such as semantic priors. 
         [0003]    Recent years have seen rapid strides in dense 3D shape recovery, with multiview stereo (MVS) systems capable of reconstructing entire monuments. Despite this progress, MVS has remained largely applicable only in favorable imaging conditions. Lack of texture leads to extended troughs in photoconsistency-based cost functions, while specularities violate inherent Lambertian assumptions. Diffuse photoconsistency is not a reliable metric with wide baselines in scenarios with few images, leading to sparse, noisy MVS outputs. Under these circumstances, MVS reconstructions often display holes or artifacts. 
         [0004]    On the other hand, there have been developments in two seemingly disjoint areas of computer vision. With the advent of cheap commerical scanners and depth sensors, it is now possible to easily acquire 3D shapes. Concurrently, the performance of modern object detection algorithms has rapidly improved to allow inference of reliable bounding boxes in the presence of clutter, especially when information is shared across multiple views. 
       SUMMARY 
       [0005]    In one aspect, a method to reconstruct 3D model of an object includes receiving with a processor a set of training data including images of the object from various viewpoints; learning a prior comprised of a mean shape describing a commonality of shapes across a category and a set of weighted anchor points encoding similarities between instances in appearance and spatial consistency; matching anchor points across instances to enable learning a mean shape for the category; and modeling the shape of an object instance as a warped version of a category mean, along with instance-specific details. 
         [0006]    In another aspect, given training data comprised of 3D scans and images of objects from various viewpoints, we learn a prior comprised of a mean shape and a set of weighted anchor points. The former captures the commonality of shapes across the category, while the latter encodes similarities between instances in the form of appearance and spatial consistency. We propose robust algorithms to match anchor points across instances that enable learning a mean shape for the category, even with large shape variations across instances. We model the shape of an object instance as a warped version of the category mean, along with instance-specific details. Given multiple images of an unseen instance, we collate information from 2D object detectors to align the structure from motion point cloud with the mean shape, which is subsequently warped and refined to approach the actual shape 
         [0007]    Advantages of the preferred embodiments may include one or more of the following. The system can perform a dense reconstruction without the drawbacks of traditional multiview stereo by incorporating semantic information in the form of learned category-level shape priors and object detection. The system can perform dense reconstruction for textured surface without requiring many views. Dense reconstruction can be done with lower imaging cost (only few views required). Reconstruction can be done even for traditionally difficult surfaces, such as those without texture. 
         [0008]    Extensive experiments demonstrate that our model is general enough to learn semantic priors for different object categories, yet powerful enough to reconstruct individual shapes with large variations. Qualitative and quantitative evaluations show that our framework can produce more accurate reconstructions than alternative state-of-the-art multiview stereo systems. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  shows an exemplary system to perform Dense Object Reconstruction with Semantic Priors. 
           [0010]      FIG. 2  shows an exemplary process for determining semantic similarity between objects (anchor points). 
           [0011]      FIG. 3  shows an exemplary process to learn anchor points across instances with large shape variations. 
           [0012]      FIG. 4  shows an exemplary process to combine different shapes into a single mean shape using anchor points. 
           [0013]      FIG. 5  shows an exemplary process to use object detection to secure aligned ment between learned shape and test reconstruction point cloud. 
           [0014]      FIG. 6  shows an exemplary process to robustly match anchor points between shape prior and test reconstruction. 
           [0015]      FIG. 7  shows an exemplary process to warp aligned prior shape to reconstruct SFM point cloud. 
           [0016]      FIG. 8  shows an exemplary computer that performs the processes of  FIGS. 1-7 . 
       
    
    
     DESCRIPTION 
       [0017]      FIG. 1  shows an exemplary system to perform Dense Object Reconstruction with Semantic Priors. The system provides a framework for dense 3D reconstruction that overcomes the drawbacks of traditional MVS by leveraging semantic information in the form of object detection and shape priors learned from a database of training images and 3D shapes. Our priors are general—they are category-level and learned from training data. While object instances within a category might have very different shapes and appearances, they share certain similarities at a semantic level. For example, both sedans and sports cars have bonnets and wheels. We model semantic similarity as a shape prior, which consists of a set of automatically learned anchor points across several instances, along with a learned mean shape that captures the shared commonality of the entire category. Our experiments demonstrate that this novel representation can successfully achieve the balance between capturing semantic similarities and shape variation across instances. 
         [0000]      Our Model: Shape=Prior+Unique Details  S   i   =T ( S*,θ   i )+Δ i  
 
         [0000]      Transformation T is a weighted thin plate spline ( k+αλW   −1 )β+α= x′Φ   T β=0,
 
         [0018]    Unique details d obtained by minimizing 
         [0000]    
       
         
           
             
                 
             
              
             
               
                 
                   ? 
                 
                  
                 
                   ? 
                 
                  
                 
                   
                     ( 
                     
                       
                         d 
                         k 
                         i 
                       
                       - 
                       
                         ( 
                         
                           
                             p 
                             k 
                             i 
                           
                           - 
                           
                             p 
                             k 
                             i 
                           
                         
                         ) 
                       
                     
                     ) 
                   
                   2 
                 
               
               + 
               
                 μ 
                  
                 
                   ? 
                 
                  
                 
                   ? 
                 
                  
                 
                   
                     ( 
                     
                       
                         d 
                         k 
                         i 
                       
                       - 
                       
                         ? 
                       
                     
                     ) 
                   
                   2 
                 
               
             
           
         
       
       
         
           
             
               ? 
             
              
             
               indicates text missing or illegible when filed 
             
           
         
       
     
         [0019]    The process of  FIG. 1  has a learning phase  200  and a reconstruction phase  300 . In the learning phase, the anchor points encode attributes such as frequency, appearance and location similarity of features across instances. The associated weights aid in discarding spurious texture matches, while determining a weighted regularization for both mean shape learning and reconstruction. Based on matched anchor points, the shape prior for a category is determined by a series of weighted thin-plate spline (TPS) warps over the scans of training objects. 
         [0020]    Our reconstruction phase starts with a point cloud obtained by applying a structure-from-motion (SFM) or MVS system to images of an unseen instance (with a shape different from training objects). Bounding boxes from object detection in individual images are collated using the SFM camera poses and used to localize and orient the object in the point cloud. This guides the process of matching anchor points shown by green stars in right panel between the learned prior and the test object&#39;s SFM point cloud, followed by a warping of the prior shape in order to closely resemble the true shape. Finer details not captured by the shape prior may be recovered by a refinement step, using guidance from SFM or MVS output. The refinement combines confidence scores from anchor points and photoconsistency in order to produce a regularized, high quality output shape. Not only are our reconstructions visually pleasant, they are also quantitatively closer to the ground truth than other baselines. 
         [0021]      FIGS. 2-6  show in more details the implementation of  FIG. 1 .  FIG. 2  shows an exemplary process for determining semantic similarity between objects (anchor points).  FIG. 3  shows an exemplary process to learn anchor points across instances with large shape variations.  FIG. 4  shows an exemplary process to combine different shapes into a single mean shape using anchor points.  FIG. 5  shows an exemplary process to use object detection to secure aligned ment between learned shape and test reconstruction point cloud.  FIG. 6  shows an exemplary process to robustly match anchor points between shape prior and test reconstruction. 
         [0022]    We assume that for each object category, there exists a prior that consists of a 3D mean shape S* that captures the commonality of shapes across all instances and a set of anchor points A that captures similarities between subsets of instances. The shape of any particular object S i  is a transformation of S*, plus specific details Δ i  not shared by other instances: 
         [0000]        S   i   =T ({ S*,A}, θ   i )+Δ i ,   (1)
 
         [0000]    where T is a warping (transformation) function and θ i  is the warping parameter that is unique to each object instance. In the following, we briefly explain the various aspects of our model. 
         [0023]    One key to reconstructing an object instance is to estimate the warping parameters θ i . We leverage on certain reliable features associated with the shape prior, which we call anchor points. Anchor points form the backbone of our framework, since they are representative of object shape and the relative importance of different object structures. Anchor points with high weights, ω, are considered stable in terms of location and appearance, and thus, more representative of object shape across instances. They guide the learning of the mean shape for a category, as well as the deformation processes during actual 3D reconstruction. In Section 4.1, we detail the mechanism of learning anchor points from training data. 
         [0024]    Warping function is discussed next. We assume that the functional form of T is known. In particular, prior work on shape matching has demonstrated inspiring results using regularized thin-plate spline (TPS) transformations to capture deformations. Let {x i } and {x′ i }, i=1, . . . , n, be two sets of anchor points for object instances O and O′. The TPS mapping T is given by 
         [0000]    
       
         
           
             
               
                 
                   
                     T 
                      
                     
                       ( 
                       
                         x 
                         , 
                         
                           { 
                           
                             α 
                             , 
                             β 
                           
                           } 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           j 
                           = 
                           0 
                         
                         3 
                       
                        
                       
                         
                           α 
                           j 
                         
                          
                         
                           
                             φ 
                             j 
                           
                            
                           
                             ( 
                             x 
                             ) 
                           
                         
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         
                           β 
                           i 
                         
                          
                         
                           U 
                            
                           
                             ( 
                             
                               x 
                               , 
                               
                                 x 
                                 i 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where φ 0 (x)=1, φ j (x)=x j  and U(x, x i )=∥x−x i ∥. Note that our TPS representation is in 3D, instead of the more common 2D representation in traditional shape matching. The solution for the parameters θ={α, β} in a regularized framework is given by the system of equations: 
         [0000]      ( K+nλI )β+Φα= x′, Φ   T β=0   (3)
 
         [0000]    where K ij =U(x i , x j ), Φ ij =φ j (x i ) and λ, is a regularization parameter. Regularized TPS yields a solution that interpolates between two point sets and is sufficiently smooth. However, greater control is required for 3D reconstruction applications, since the extent of deformations must be determined by the local level of detail. Semantic information of this nature is determined automatically in our framework by the anchor point learning mechanism. To incorporate semantic information from anchor points, in the form of a weight matrix W=diag(ω 1 , . . . , ω n ), we use an extension of TPS: 
         [0000]      ( K+nλW   −1 )β+Φα=x′, Φ T β=0,   (4)
 
         [0000]    which is again solvable analytically like regularized TPS. 
         [0025]    Details specific to each object that are not captured in the shape prior are recovered by a refinement step. This refinement is used in both mean shape learning and during reconstruction of a particular test object. 
         [0026]    To refine a shape S i  (a mesh) towards shape S j , we compute displacements for vertices in S i . For a vertex p k   i  in S i , we estimate the surface normal n k   i  by a local tangent space computation. The vertex p k   i  is matched to p k   j  in S j  if Pp k   j −p k   i P&lt;τ 1  and |(p k   j −p k   i ) T n k   i |&lt;1−τ 2 , where τ 1 , τ 2  are predefined thresholds. Let P i  be the set of vertices in S i  that can be matched as above to the set P j  in S i  and N k   i  be the set of 1-nearest neighbors of p k   i  in P i . Then, the set of displacements, Δ i ={d k   i }, for 1≦k≦|P i |, are computed by minimizing: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ∑ 
                       
                         
                           p 
                           k 
                           i 
                         
                         ∈ 
                         
                           P 
                           i 
                         
                       
                     
                      
                     
                       
                         
                           ɛ 
                           k 
                           i 
                         
                          
                         
                           ( 
                           
                             
                               d 
                               k 
                               i 
                             
                             - 
                             
                               ( 
                               
                                 
                                   p 
                                   k 
                                   j 
                                 
                                 - 
                                 
                                   p 
                                   k 
                                   i 
                                 
                               
                               ) 
                             
                           
                           ) 
                         
                       
                       2 
                     
                   
                   + 
                   
                     μ 
                      
                     
                       
                         ∑ 
                         
                           
                             p 
                             k 
                             i 
                           
                           ∈ 
                           
                             S 
                             i 
                           
                         
                       
                        
                       
                         
                           ∑ 
                           
                             
                               p 
                               l 
                               i 
                             
                             ∈ 
                             
                               N 
                               k 
                               i 
                             
                           
                         
                          
                         
                           
                             ( 
                             
                               
                                 d 
                                 k 
                                 i 
                               
                               - 
                               
                                 d 
                                 l 
                                 i 
                               
                             
                             ) 
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where ε k   i  is a weight factor. The above cost function encourages the refined shape to lie closer to S j , while minimizing the local distortion induced by such displacement. The parameter μ is empirically determined for the training set. Note that (5) represents an extremely sparse linear system that can be solved efficiently. The vertices of the refined shape are obtained as p k   i +d k   i  and it inherits the connectivity of S i . 
         [0027]    Learning Reconstruction Priors is discussed next. For each object category, we use a set of object instances {O n } to learn a mean shape S* and a set of anchor points A. For each object instance O i  in this training set, we capture a set of images I i  and use a 3D scanner to obtain a detailed 3D shape S scan   i . Given I i , we use a standard SFM pipeline to reconstruct a point cloud S sfm   i ={p i   j }, where p i   j  is a 3D point. We manually label a small number of SFM points, M i ={p 1   i ,p 2   i , . . . , p m   i }. The labelled points M are used to align the scanned shapes {S scan   i } and their reconstructed point clouds {S sfm   i } in our training dataset. They also serve as the initialization for the anchor point learning, as described in the following. 
         [0028]    An anchor point, A={Γ, χ, ω}, consists of a feature vector Γ that describes appearance, the 3D location χ with respect to the mean shape and a scalar weight ω. Γ is the aggregation of HOG features in all images where A is visible and of every object where A exists. For an anchor point A, if V are the indices of objects across which the corresponding SFM points are matched and Ω i  are the indices of images of O i  where A is visible, the corresponding feature vector is: 
         [0000]      Γ={{ f   k     i     i } k     i     εΩ     i   } iεV .   (6)
 
         [0000]    where f k     i     i  is the HOG feature of the image point associated with A in image I k     i     i . Let p j   i  be the locations of the corresponding 3D points, normalized with respect to object centroid and scale. Then, the location for the anchor point is 
         [0000]    
       
         
           
             
               
                 
                   
                     χ 
                     j 
                   
                   = 
                   
                     
                       1 
                       
                          
                         V 
                          
                       
                     
                      
                     
                       
                         ∑ 
                         
                           i 
                           ∈ 
                           V 
                         
                       
                        
                       
                         
                           p 
                           j 
                           i 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    The weight ω reflects “importance” of an anchor point. We consider an anchor point important if it appears across many instances, with low position and appearance variance. That is, 
         [0000]      ω= w   x   w   α   w   f    (8)
 
         [0000]    where 
         [0000]    
       
         
           
             
               
                 w 
                 x 
               
               = 
               
                 exp 
                 ( 
                 
                   - 
                   
                     
                       
                         
                           ∑ 
                           
                             i 
                             ≠ 
                             k 
                           
                         
                          
                         
                           P 
                           
                             p 
                             i 
                           
                         
                       
                       - 
                       
                         
                           p 
                           k 
                         
                          
                         P 
                       
                     
                     
                       
                         σ 
                         x 
                       
                        
                       
                         N 
                         2 
                       
                     
                   
                 
                 ) 
               
             
             , 
             
               
 
             
              
             
               
                 w 
                 a 
               
               = 
               
                 exp 
                  
                 
                   ( 
                   
                     
                       σ 
                       a 
                     
                      
                     
                       N 
                       2 
                     
                   
                   ) 
                 
               
             
           
         
       
     
         [0000]    and w f =log|V| encode location stability, appearance similarity and instance frequency, respectively. N 2  is the number of combinations. The coefficients σ α  and σ x  determined empirically from training data for each category. In the above, 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         d 
                         
                           i 
                           , 
                           k 
                         
                       
                       = 
                       
                         
                           min 
                           
                             
                               
                                 l 
                                 i 
                               
                               ∈ 
                               
                                 Ω 
                                 i 
                               
                             
                             , 
                             
                               
                                 l 
                                 k 
                               
                               ∈ 
                               
                                 Ω 
                                 k 
                               
                             
                           
                         
                          
                         
                           ( 
                           
                              
                             
                               
                                 f 
                                 
                                   l 
                                   i 
                                 
                                 i 
                               
                               - 
                               
                                 f 
                                 
                                   l 
                                   k 
                                 
                                 k 
                               
                             
                              
                           
                           ) 
                         
                       
                     
                     , 
                     
                       
 
                     
                      
                     for 
                   
                    
                   
                     
 
                   
                    
                   
                     
                       i 
                       ≠ 
                       k 
                     
                     , 
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where Ω i  is the set of images of O i  where the point is visible. 
         [0029]    In contrast to applications like shape matching, the quality of dense reconstruction is greatly affected by the order and extent of deformations. Thus, the learned anchor point weights ω are crucial to the success of dense reconstruction. Note that while ASM frameworks also associate a weight with landmark points, they are computed solely based on location uncertainty. By encoding appearance similarity and instance frequency, we impart greater semantic knowledge to our reconstruction stage. 
         [0030]    The key precursor to learning anchor points is matching 3D points across instances, which is far from trivial. Besides within-class variation, another challenge is the fact that most SFM points correspond to texture. Such points usually dominate an SFM point cloud, but do not generalize across instances since they do not correspond to the object shape, thus, may not be anchor point candidates. Moreover, the density of anchor points cannot be too low, since they guide the deformation process that computes the mean shape and fits it to the 3D point cloud. To ensure the robustness of anchor point matching and good density, an iterative process is shown below: 
         [0000]    
       
         
               
             
               
               
             
           
               
                   
               
               
                 Algorithm 1 Learning anchor points 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 Set Parameters δ f , δ p . 
               
               
                   
                 For objects O i , i ε [1, N], label m points to get M i . 
               
               
                   
                 Use M i  to align S sfm   i  with S scan   i . 
               
               
                   
                 ∀p j   i  ⊂ M i , find A j  = {Γ j ,χ j ,ω j } using (??), (9), (10). 
               
               
                   
                 Initialize A = {A j }, j = 1, ... , m. 
               
               
                   
                 while anchor point set A is updated do 
               
               
                   
                  for i = 1 : N do 
               
               
                   
                   Solve θ = arg min Σ k  ||T(p k   i ,θ) − χ k ||. 
               
               
                   
                   Warp SFM point cloud S Sfm   i  ← T(S sfm   i ,θ). 
               
               
                   
                  end for 
               
               
                   
                  for all p k   i  ε S sfm   i  do 
               
               
                   
                   for all p l   j  ε S sfm   j  , where j ≠ i do 
               
               
                   
                    if d(f k   i , f l   j ) &lt; δ f  and ||p k   i  − p l   j || &lt; δ p  then 
               
               
                   
                     Match p k   i  to p l   j . 
               
               
                   
                    end if 
               
               
                   
                   end for 
               
               
                   
                  end for 
               
               
                   
                  Filter conflicting matches. 
               
               
                   
                  Identify sets of matched SFM points B h , h ε [1, H]. 
               
               
                   
                  for h = 1 : H do 
               
               
                   
                   Find A h  = {Γ h ,χ h ,ω h } using (??), (9), (10). 
               
               
                   
                  end for 
               
               
                   
                  Update A = A ∪ {A h }, for h = 1,... ,H. 
               
               
                   
                 end while 
               
               
                   
                 Output: denser anchor point set A. 
               
               
                   
                   
               
             
          
         
       
     
         [0031]    Mean Shape Construction is discussed next. The learned anchor points are used to compute a mean shape for an object category. Recall that we have a mapping from the set of anchor points to each instance in the training set. Thus, we can warp successive shapes closer to a mean shape using the anchor points. The mean shape is constructed by combining these aligned and warped shapes of different instances. Since there are multiple shape instances, the order of combining them is a critical design issue, because improperly combining dissimilar shapes may introduce severe artifacts. To determine the order for combining shapes, we first measure the pairwise similarity between all pairs of training instances. In our experiments, we use the weighted number of commonly matched anchor points as the similarity cue. Given the pairwise similarities, we use hierarchical clustering to group the shapes. The similarity relationships can be represented as a binary tree where each leaf node is an object. We combine the warped shapes T(S scan   i ) following the order of merging successive branches, to eventually obtain a single shape S*, which represents the commonality of all training instances. We use S* as the mean shape. The mean shape learning procedure is shown for a subset of the car dataset in  FIG. 6 . Note that S* is computed by using the warped training examples, where the warping maps the 3D locations of learned anchor points. Thus, the prior shape is always aligned with the anchor points. 
         [0032]    In the above, the warp T(S scan   i )→S scan   j , with i&lt;j according to the above defined ordering, is computed as the weighted thin plate spline transformation given by (4). Two shapes aligned by anchor points are eventually combined into a single one using displacement vectors computed by minimizing (5). 
         [0033]    The mean shape computation proceeds by systematic combination of training instances, based on a binary tree traversal. The leaf nodes of the tree are the individual training instances, with assignments based on a pairwise shape similarity computation followed by hierarchical clustering. Note that unique details are lost, while features representative of the entire class are preserved. 
         [0034]    Semantic Reconstruction with Shape Priors is discussed next. Given a number of images of an object O, we can reconstruct its 3D shape by warping the learned prior shape S* based on the estimated θ and by recovering Δ in (1) subsequently. The reconstruction consists of three steps: matching anchor points, warping by anchor points, and refinement. Accurately recovering warp parameters θ requires accurate matches between anchor points in S* and SFM points in S sfm . This is facilitated by an initial coarse alignment between S* and S sfm . 
         [0035]    Multiple images are used to significantly improve detection accuracy in both image and 3D space. In image I j , the detector returns the confidence value p i (u,s,π) of a detection hypothesis which appears in image location u, with scale (height and width) s and pose π. Given the estimated camera poses, a hypothesized 3D object O can be projected to each image I j  at location u j , scale s j  and pose π j . Thereby, the object O in 3D space may be estimated as 
         [0000]    
       
         
           
             
               
                 
                   O 
                   = 
                   
                     arg 
                      
                     
                       
                         max 
                         O 
                       
                        
                       
                         ∑ 
                         
                           
                             
                               p 
                               j 
                             
                              
                             
                               ( 
                               
                                 
                                   u 
                                   j 
                                 
                                 , 
                                 
                                   s 
                                   j 
                                 
                                 , 
                                 
                                   π 
                                   j 
                                 
                               
                               ) 
                             
                           
                           . 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
         [0000]    This allows approximate estimation of the centroid, 3D pose and scale of an object. Since we also know those for the shape prior, we can use a rigid transformation to coarsely align the prior shape and its anchor points to fit the SFM point cloud of the object. 
         [0036]    Reconstruction is discussed next. Given a set of images I of an object with unknown shape S, we use standard SFM to recover the 3D point cloud S sfm . Our goal is to use the mean shape S* to produce a dense reconstruction that closely resembles S. 
         [0037]    Next is the Matching Anchor Points. Since the initial alignment uses the object&#39;s location, pose and scale, anchor points are likely to be aligned to 3D locations in the vicinity of their true matches. Thus, the burden of identifying the point in S sfm  that corresponds to an anchor point in S* is reduced to a local search. We use HOG features to match anchor points to SFM points. 
         [0000]                                      Algorithm 2 Matching anchor points                                    Set parameters δ 1  δ 2  η.           for k = 1 : K (total number of iterations) do            Initialize match set B k  = { }.            for all A i  = {Γ i ,χ i ,ω i } ε {A} do             Define P = {p k  ε S sfm  : ||p k  − χ j || &lt; δ 1 }.             Find p j  ε S sfm  s.t. p j  = arg minp d i,j  (Eq. 14)             If d(f j , f i ) &lt; δ 2 , match (A i , p j ), B k  = B k  ∪ {p j }.             Record 3D distance r i  = ||χ i  − p j ||.            end for            Solve θ i   k  = arg min||T(A,θ) − B k ||.            for all A i  ε A do             if ||T(χi,θ i   k ) − b i || &gt; r i  then              Discard match (A i ,b i ), B k  = B k \{b i }.             end if            end for            Solve θ k  = arg min||T(A,θ) − B k ||.            ∀A i  ε A, χ i  ← T(χi).            δ 1  ← ηδ 1 .           end for           Output: the set of matches B K .                        
Warping Based on Anchor Points is detailed next. Assume S* is the shape prior after the initial alignment of Section 5.1. We use the above matches between anchor points in S* and SFM points in S sfm  to estimate parameters θ for the weighted TPS warping (4) and obtain S′=T(S*,θ) that further approaches the actual shape. Notice that, this warping not only reduces the alignment error from the initial detection-based alignment, it also deforms the prior to fit the actual shape of the object.
 
         [0038]    The final step in the reconstruction process is to recover the unique details of the object. These unique details cannot be learned a priori, so they may not be captured by the warped shape S′. We use the output of an MVS algorithm, S mvs , to supply these details. While MVS may have several missing regions and outliers for the object we consider, it may reconstruct accurate oriented patches in textured or Lambertian regions where diffuse photoconsistency is a reliable metric. Using the refinement process governed by (5), we move the vertices of S′ closer to S mvs . The weights ε k  now incorporate the confidence in the corresponding matched MVS point, which is encoded by the normalized cross-correlation photoconsistency. 
         [0039]    The inventors contemplate that fine-grained recognition and detection of object parts may also benefit our semantic reconstruction framework. The system can work in an MRF-based MVS framework like, since it provides the flexibility to combine our shape prior with silhouette information from object detectors. 
         [0040]    The invention may be implemented in hardware, firmware or software, or a combination of the three. Preferably the invention is implemented in a computer program executed on a programmable computer having a processor, a data storage system, volatile and non-volatile memory and/or storage elements, at least one input device and at least one output device. 
         [0041]    By way of example, a block diagram of a computer to support the system is discussed next. The computer preferably includes a processor, random access memory (RAM), a program memory (preferably a writable read-only memory (ROM) such as a flash ROM) and an input/output (I/O) controller coupled by a CPU bus. The computer may optionally include a hard drive controller which is coupled to a hard disk and CPU bus. Hard disk may be used for storing application programs, such as the present invention, and data. Alternatively, application programs may be stored in RAM or ROM. I/O controller is coupled by means of an I/O bus to an I/O interface. I/O interface receives and transmits data in analog or digital form over communication links such as a serial link, local area network, wireless link, and parallel link. Optionally, a display, a keyboard and a pointing device (mouse) may also be connected to I/O bus. Alternatively, separate connections (separate buses) may be used for I/O interface, display, keyboard and pointing device. Programmable processing system may be preprogrammed or it may be programmed (and reprogrammed) by downloading a program from another source (e.g., a floppy disk, CD-ROM, or another computer). 
         [0042]    Each computer program is tangibly stored in a machine-readable storage media or device (e.g., program memory or magnetic disk) readable by a general or special purpose programmable computer, for configuring and controlling operation of a computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be embodied in a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein. 
         [0043]    The invention has been described herein in considerable detail in order to comply with the patent Statutes and to provide those skilled in the art with the information needed to apply the novel principles and to construct and use such specialized components as are required. However, it is to be understood that the invention can be carried out by specifically different equipment and devices, and that various modifications, both as to the equipment details and operating procedures, can be accomplished without departing from the scope of the invention itself.