Novel Views of Objects from a Single Image
Taking an image of an object is at its core a lossy process. The rich information about the three-dimensional structure of the world is flattened to an image plane and decisions such as viewpoint and camera parameters are final and not easily revertible. As a consequence, possibilities of changing viewpoint are limited. Given a single image depicting an object, novel-view synthesis is the task of generating new images that render the object from a different viewpoint than the one given. The main difficulty is to synthesize the parts that are disoccluded; disocclusion occurs when parts of an object are hidden by the object itself under a specific viewpoint. In this work, we show how to improve novel-view synthesis by making use of the correlations observed in 3D models and applying them to new image instances. We propose a technique to use the structural information extracted from a 3D model that matches the image object in terms of viewpoint and shape. For the latter part, we propose an efficient 2D-to-3D alignment method that associates precisely the image appearance with the 3D model geometry with minimal user interaction. Our technique is able to simulate plausible viewpoint changes for a variety of object classes within seconds. Additionally, we show that our synthesized images can be used as additional training data that improves the performance of standard object detectors.
Given a single image of an object, humans can clearly “imagine” what this object would look like from different viewpoints. Even when the particular object was never seen before, its visible parts are enough to facilitate the imaginary synthesis that happens in our mind. For example when we see the side view of a car, we can hallucinate the front part, including details such as lights, hood, wind shield etc. What enables us to do so? The answer lies in our knowledge of the structural information for a particular visual class. The object instances of that class have specific 3D shapes, symmetries, materials, colors, etc. Several of these attributes are shared among the class instances and thus they can be used as cues for the synthesis process. Probably the most important cues for synthesis are those related with the 3D structure of the objects. The reason is that this task shares the same principles with image formation: an image is not just pixels in a grid but it is the 2D interpretation of a 3D world.
The synthesized view needs to be a plausible simulation of how the object would appear in the new view. There are two parameters in such a setting: a) the underlying geometry and b) the associated appearance. The novel view needs to have the geometric characteristics of the object’s class and the appearance of the depicted object instance. If only one of the two is inconsistent then the result is perceived as fake or unrealistic. For example, simple replacement of a car with a rendered car 3D model keeps the geometric structure of the class, but the appearance will come from the 3D model and may not blend in well. On the other hand, if we discard the unseen geometry then in a new view the object will have empty areas, similar to a facade in a Potemkin village.
The ability to synthesize novel views opens new possibilities in several image manipulation tasks. A direct application is the 3D manipulation of objects in images. In addition, the novel views can be used as additional training data for conventional object detectors/classifiers. The emergence of 3D or light field or stereo displays provide another domain that benefits from the generation of additional views of objects. Uncovering the relationship between appearance and geometry, a necessary step for the view synthesis, can help in tasks such as shape manipulation, appearance transfer, etc. Having information about the 3D structure of an object is essential also for image understanding. After all, an object is not just a two-dimensional box but rather a real world entity with certain geometry, materials and interaction with the environment.
The work presented in this paper focuses on the synthesis of new views of objects from single images and the necessary prerequisites to achieve this. We approach the synthesis problem by considering the 3D models of a class as proxies to transfer the appearance to the novel views. We start by assuming manual alignment between the 2D appearance and the 3D shape of the object, and we synthesize directly the pixels in the novel view as a combination of pixels in the original view. Next, we extend our approach to a user-centered setting, where interaction and speed are essential, and viewpoint-dependency of appearance is taken into account. We present a method for aligning the geometry and the appearance with minimal user interaction. Then, we revisit the view synthesis and we extend it to include viewpoint dependency for the reconstruction in an efficient way. Our key contributions can be summarized as:
A method to synthesize realistic novel 3D views of an object from a single 2D image
A procedure to align a 3D shapes to a single image
Amplification of training data in detection and classification tasks by novel-view synthesis.
This article is organised as follows: the previous work is described in Sec. 2. In Sec. 3 we introduce our core method for novel view synthesis. Sec. 4 focuses on the matching between the geometry and the appearance of the object. In Sec. 5 we revisit the novel view synthesis from a viewer-centered perspective. Experimental results are reported in Section Sec. 6 and further discussed in Section Sec. 7. Section Sec. 8 concludes the paper.
2 Previous work
Generating novel views from 2D images is an image-based rendering problem, with several applications in computer vision  and computer graphics [2, 3]. Image-based rendering techniques  can convincingly synthesize novel viewpoints with complex material and illumination effects from a set of images. It has been shown that quality can greatly benefit if a notion of 3D geometry is provided to the system . Kholgade et al.  showed that given a manual 3D shape alignment convincing and detail-preserving novel views can be generated even from a single image. View interpolation including complex shading is possible by using surface light fields  or lumigraphs . When deforming and blending images, detecting holes and filling them is the biggest challenge , usually solved either by stretching foreground over background or by inpainting [9, 10], but no approach we are aware of uses the structure of a 3D template to guide this inpainting. Appearance that depends on a shape template was proposed for the diffuse case and manual intervention to capture the appearance of art in the “Lit Sphere” metaphor . Our approach can be seen as the automatic and continuous generalization from one to many, context-dependent Lit Spheres. Image Analogies  learns the transformation from a pair of images, to apply to a novel image. Similarly, we learn the relation between two rendered 3D views of an image to generate appearance in new views from a single image for general appearance and account for the relation of 3D geometry and materials . Simpler, joint bilateral upsampling  has been used to reconstruct a high-resolution image from a low-resolution image using a high-resolution guidance signal. Our approach uses multiple synthesized high-resolution images to guide view synthesis, including upsampling. For 3D reconstruction of occluded areas in scanned objects, approaches based on templates are routinely used  to fill holes in surfaces, but these operate on 3D surfaces and do not account for appearance such as we do. Another approach to reconstruct occluded regions is , but the method requires visibility of the region or its symmetric part in the video sequence. Commonly, acquiring view-dependent appearance in terms of a BRDF requires to also capture light probe, even when the geometry is known . We circumvent this requirement by not factoring out reflectance and lighting, while still allowing for plausible view-dependent appearance (such a decomposition can be achieved using ). More recently, the work of  estimates the appearance of an object using Reflectance Maps  but requires single material objects.
If the object belongs to a parametric family of shapes, alignment can be automated . For cars and bicycles, Zia et al.  have shown accurate alignments with a wireframe model based on a deformable 3D shape model and robust part detectors, starting from CAD models with manual part annotations. The situation is more difficult if no parametric model is available. The recent work of  performs 3D reconstruction of objects in image collections, but their method is not interactive as it requires the images to be processed jointly. When a shape deformation model is available, the 3D shape can be deformed to fitting the 2D silhouette also leading to a 2D-to-3D alignment . We combine silhouette and luminance pattern-based approaches in one discriminative learning framework.
A recent suggestion is to use 3D shapes and extract discriminative patches  to find the alignment, e.g. to paintings  or single objects [27, 28]. Such an approach has been shown able to reliably find instances from a class for which a large set of 3D shapes is available. They obtain good precision, in real images with clutter, but at high computational cost . Lim et al.  propose a RANSAC-based sampling approach in order to speed up the search - but this only works for exact 3D shapes and cannot cope with within-class variability. Using templates, it can require up to 2 minutes to align a single chair in a cluster of 80 cores, which is far from being usable in an interactive application . The results in this article are computed an order of magnitude faster while achieving higher quality. Our approach is also related to the recent work of  in terms of extending the fine view alignment step to 3D shape parts to allow for shape deformations.
Training from synthetic data
There is an increasing interest to train computer vision models from synthesized data in order to achieve more scalable learning schemes. Work on fully synthetic data has shown mostly successful in depth data [31, 32, 33], shape-based representations [34, 35], textures [36, 37] and scenes . In contrast, we take an image-based approach in order to leverage real-world image statistics as well as the intra-class variation available to us in image data. Previous image-based work synthesizes training images by recombining poses and appearance of objects in order to create new instances [39, 40, 41, 42, 43]. More recently, Su et al.  and Peng et al.  rendered 3D models to generate additional data for object detection and pose estimation respectively using Convolutional Neural Networks. In contrast, our work focuses on synthesis across viewpoints with the appearance given from an image and deals with disocclusions that are not addressed in previous work.
3 3D Model-guided Novel-view synthesis
We pose novel view synthesis as a problem of reconstructing appearance as a function of scene attributes from observed samples. Input to our algorithm is an image and an aligned 3D model and output is an image from a novel view. Firstly, the original and the novel view of the 3D model can be rendered easily. This allows to put pixel locations from the original to the novel view into correspondence (flow) and to detect disocclusions, i.e., pixels in the novel view that were not present in the original view. Simply copying pixels along their flow will result in the classic projective texturing used in image-based rendering . The challenge is to fill the disocclusions by inpainting. The most simple solution would be to replace disoccluded pixels with pixels from the rendered 3D model. This, however, cannot produce a consistent appearance as precise materials, lighting and geometry are unknown.
The key observation is that the 3D model provides several 3D properties, such as position, normal, reflectance, for all disoccluded pixels (Fig. 2). We can use this information to guide the inpainting of appearance for such pixels. To this end, we copy appearance from the original view, that is similar in terms of position, normal and reflectance. Briefly, each pixel in the novel view can be modeled as a weighted sum of the pixels in the original view. These weights are essentially a compatibility score between the position, normal and reflectance values of pixels in the two views.
3.1 Sampling appearance
Input to our system is appearance in the form of a 2D RGB image and a 3D model with Phong reflectance defined on it (diffuse color, specular color and glossiness). We want to compute the image that shows the object from a view different by the matrix .
The 3D model typically contains the object in question, as well as its context, e.g., a car standing on a planar ground, which is very common for cars. The particular type (triangular, (NURBS) patches, procedural, etc.) and technical properties of the 3D model (face count, orientability, UV coordinates) are not relevant for our approach, as we only require that the model can be rendered into an image from a view.
First, let be the position image, which is the projection of in the original view after hidden-surface removal. We produce such images using deferred shading  with -buffering, i.e., generating positions instead of shaded colors in rendering. Using deferred shading, we also compute , the normal image computed from the derivative of ; , the reflectance image; and , the radiance (Fig. 2). Position, normal and reflectance images and from the novel view are produced in the same way. Finally, we compute sampling quality and occlusion in a -buffer-like test, formalized by a function
where is the normalized viewing direction and returns the depth component of a vector.
Further we define a metric on all attributes as follows (Fig. 3): As a distance on positions we use Euclidean distance; for normals, we use the dot product as the distance ; for reflectance, we apply a perceptually linear Phong BRDF distance similar to ; radiance and locality of two pixels and is again measured using Euclidean distance.
Using all the above, we can now write the probability of assigning the appearance from pixel position to the novel appearance at location as
3.2 Reconstructing appearance
Reconstructing a novel view is now a weighted sum over the input image. The result image is reconstructed at location , as
where is a sharpness parameter. If is low, the reconstructed appearance is combined from many sources. It is more reliable, but also more smooth. If gets larger, fewer, but higher-quality observations dominate the solution. For discrete images the integral above turns into a sum in practice. Instead of aligning the 3D model to the original image in 3D, we, for now, deform the original 2D image  to align it to the images and of the 3D model . Sec. 5 will discuss how to automatize this step.
We do not need to iterate over the entire image but only over a local neighborhood. If is the novel image pixel position, we run over a fixed-size neighborhood around location , where is the flow between the novel view and the original view, i.e., where every pixel in the novel view is coming from in the original view. This is because more correlated pixels are found in the neighborhood of the pixel position, that a world space position had in the original view. It is produced as follows: We again rasterize from the view but store at the pixel with location , where is the (perspective) projection from world to image space. Flow is undefined for positions that were occluded in the original view.
We use a GPU to produce all guide images, parallel over output pixels, using deferred shading and to evaluate Eq. 1 on a 512512 image using a 128128 neighborhood in less than a second, allowing to interactively explore novel views by moving a virtual camera.
For reconstruction, the weights are tuned by visual inspection of the result, which is easy thanks to the interactive feedback (Fig. 4). The novel view can be synthesized as 2D image directly using Eq. 1, but the reconstruction can also be expressed in terms of Reflectance Maps  (or Lit Spheres ). A Reflectance Map captures the orientation-dependent appearance of an object/object part. In other words, it is an association between surface normals and their color values. Here, a Reflectance Map can be computed by synthesizing the appearance on a sphere using Eq. 1.
We now discuss the individual terms that contribute to the reconstruction: First (Fig. 4,+), if all weights except normal are zero, our approach is equivalent to the Lit Sphere model . All details are missing here, except a global dependency on surface orientation. Second (Fig. 4,+), adding a reflectance term is equivalent to a Reflectance Map for each material. This is equivalent to a “continuous” Reflectance Map depending on material parameters. Third (Fig. 4,+), the radiance term prefers appearance that is similar if multiple appearances are equivalent. This is the case for the ground plane, that is either shadows or unshadowed in and , which is transferred from . Finally (Fig. 4,+), adding a dependency on position prefers local appearance if everything else is similar. In our example, the cobblestone pattern that is not visible in any feature, but correlates with position is reproduced. Note, that when adding one component, no other component is degraded.
The 3D model is fit into the unit cube to normalize positions and make them comparable for different scenes. The settings in Fig. 4 are , , , , . The sharpness is set to . We keep those constant for all results reported throughout the section. A visualization of the sampling in the directional domain is seen in Fig. 5.
Regarding illumination, the reference images are illuminated using one “representative“ lighting (skylight with ambient occlusion), that can be assumed to also be present in the 2D image for cars. For background, we use a large white background sphere for all 3D models such that the function p, n, r, L, are always defined. When evaluating Eq. 1 on background, distance to foreground is so large that it does not contribute, so similarity is based on 3D position and normal alone. Effectively the background is projected onto a sphere, including proper occlusion.
4 2D-to-3D Alignment
The novel view synthesis method from the previous section assumes that the 3D model and the 2D object are well aligned. In this section we present an approach to 2D-image-to-3D-model-alignment that requires minimal user interaction.
The alignment component comprises an off-line and an on-line phase. In the off-line phase (Sec. 4.1), a database of 3D shapes is analyzed to learn a set of discriminative shape-view detectors. There is one discrete detector for each 3D shape in each view. To this end all shapes are rendered from all views using different illuminations. Learning these detectors can take several hours, but is only conducted once. Besides luminance, our detectors also use coarse segmentations. Also in the offline phase, 3D shapes are segmented into parts.
The on-line phase (Sec. 4.2) proceeds in a coarse-to-fine and discrete-to-continuous scheme. First, the discrete 3D shape and view for the query 2D image are found using the previously learned detectors. Detectors account both for luminance and a segmentation produced from user input. Having found the best discrete view however, will not result in a precise alignment. To this end, the view is refined continuously in the next step. Alternative views of the best 3D shape are rendered on-the-fly to find the view resulting in the best match to the query 2D image. Finally, as the closest 3D shape in the database is often not identical to the one in the query 2D image due to within class variability in the considered object categories, a per-part alignment is found that continuously refines the 3D shape.
Producing a physically or functionally meaningful 3D shape from such part-based alignment would require an optimization that reliably accounts for physical and functional part relations for all objects in an entire 3D shape database. Instead of addressing this daunting task, we advocate to use this part-based alignment only for improved localization when capturing view-dependent appearance for the novel view-synthesis (Sec. 5). For each material of the 3D shape, directional-dependent appearance is sampled using the normal on all image areas with parts of that material. This allows to re-render the shape from novel views with fine spatial details and faithful view-dependent appearance in real-time, as we show in Sec. 5.
4.1 Off-line phase
Input to the off-line phase is a database of 3D shapes. First, we render 2D images from these shapes by randomly sampling view parameters. We call these samples “shape-view samples” (Fig. 7). For each sample we train an exemplar-based discriminative shape-view detector. In order to facilitate the part alignment in the last stage, we also segment the mesh into parts that allow for a fine-granular alignment accounting for the variations observed in the instances at runtime.
Our method is based on a database of 3D shapes. We do not require any specific (e.g., meshing) fidelity as long as the models can be rendered from many views. Therefore our approach is able to tap into rich on-line resources, which provide a vast amount of 3D shapes, capturing many shape classes with their respective intra-class variation. For our experiments, we use 3D models from 3D Warehouse, as they are indexed in. Our current database consists of 10 object classes (airliner, fighter jet, bicycle, double bus, folding chair, office chair, station wagon, sedan, sport motorbike, sofa) that are on average represented by 50-250 instances for each class.
We sample from the seven-dimensional space of all possible views, that is, all view positions (3D), view orientations (2D) camera roll angle (1D) and field of views (FOV, 1D) as shown in Fig. 7(b). In order to reasonably bound the choice of views at training time, the positions are selected from a shell between the bounding sphere and a sphere twice as large. The orientation is selected by picking a random point inside the bounding sphere. Roll is picked randomly uniform. The FOV is randomly chosen corresponding to the range of focal length between 20 and 200 mm. Finally, the distance along the view direction is set so that the complete shape fits the viewport.
To produce a 2D image for each shape-view sample, we use image-based lighting , from an environment map (“Uffizi” by Debevec et al. ) at the default orientation in proximity of the camera in combination with ambient occlusion . In total, we produce on average images per class, each in a resolution of 512512 with 22 supersampling. Transparent materials are rendered as such, but without reflections or refractions. After rendering, every image is converted into a Histogram-of-Oriented-Gradients (HOG)111Our approach can also be used with different features (e.g. from pretrained CNNs). We choose HOG because of their proven ability to match different modalities [26, 50, 27, 51].  image representation based on the contained object’s bounding box. The spatial sampling of the HOG cells is chosen to result in approximately 150 cells – corresponding to a 1350-dimensional feature vector. Additional to rendering luminance, a binary foreground mask of the object is rendered and stored in a HOG representation in the same way.
Discriminative shape-view detectors
The construction of shape-view detectors is based on the global mask and luminance templates. For each template, a classifier is computed based on Linear Discriminant Analysis (LDA) . The classification score between a template’s HOG representation and a test HOG representation is defined as with and being the covariance and mean of the negative data respectively. These were computed using a set of 100,000 random patches extracted from natural images. For the mask negative statistics we use the segmentation masks from the Pascal VOC 2012  images. Since the HOG dimension of the templates varies, it is intractable to calculate and for all possible HOG sizes. Therefore is estimated using the auto-covariance matrix as done by Hariharan et al. . To make the responses of the different exemplar classifiers comparable, the affine calibration approach of Aubry et al.  is used based on negative data, producing a calibrated classifier .
To improve novel view-synthesis quality, we propose per-part alignment (Sec. 4.2.3). To this end, all input 3D shapes need to be segmented into parts. Segmenting a mesh into meaningful parts is a difficult problem that we try to avoid. Instead, we advocate for a simple mesh segmentation approach. Initially, the mesh is segmented into connected components based on triangle connectivity and material index. We then iteratively merge the part with the smallest area into one of its neighbor parts until a class-specific number of parts (typically eight) remains.
4.2 On-line phase
Input to the on-line phase is a 2D query image and output is a 3D shape, a view matrix and a per-part model transformation matrix. The on-line phase has three steps: a) coarse and discrete shape-view alignment by detection, b) fine-grained alignment to continuously refine the view by producing examples on-the-fly and c) part-based alignment that independently and continuously moves individual 3D shape parts. The effect of each step with respect to the 2D-to-3D alignment is shown in Fig. 8
We assume the input image to be segmented into foreground and background, either using an automated approach (e.g. semantic image segmentation ) or a sufficient amount of user interaction . User interaction is required to indicate where the object to be lifted is located in the query image anyway, for example when multiple objects are present in the query image. A typical way of selection would be to draw a rough 2D bounding box. Our results always show the bounding box or scribbles that were applied by the user on the images for lifting to 3D. In all results, the user input is minimal and on the order of a few seconds.
4.2.1 Coarse alignment
We approach coarse alignment of a 3D models to an 2D input image with a mask by retrieving the best matching discrete shape and view using the previously trained shape-view-detectors. Our proposed speed-ups are key to incorporating this challenging sub-task in an interactive system.
First, the input image and its mask are converted to a HOG representation and respectively. Next, the alignment score is the combination with equal weights of the scores and of all samples and . The sample with the best score is further considered in the processing. Using a single global HOG representation is faster than e.g. the discriminative part based approach advocated by .
Pruning is used to accelerate detection. The number of shape-view samples becomes large when a finer alignment is desired, different FOVs are used and the number of shapes is increased. We found the segmentation mask created from the user click, stroke or bounding box to be an excellent means of culling many samples with very little effort. To this end, samples with bounding boxes that are different in size by more than one HOG cell from the query bounding box are excluded. Boxes of a certain range of sizes can be found in time complexity sub-linear to the number of samples, typically eliminating a large part of the samples early-on.
For instance, in our simplest setting where only 128 views per 3D model are considered, on average only 633 out of 6400 samples per class need to be tested. The pruning alone is 1 order of magnitude faster than actually computing a detection response. We conclude that our pruning is an effective means to reduce computational effort for 2D-to-3D alignment.
4.2.2 Fine alignment
The fine alignment starts from the coarse alignment and refines the view. Furthermore, as our database shapes do not always match the ones in the input image, we add more variations to our 3D model by allowing non-uniform scale along the , and axes. To this end, we parameterize the continuous 10-dimensional space, that is, rotations (3D), translations (3D), FOV (1D) and model scale (3D). The best state that minimizes a cost function is found using simulated annealing. Luminance and mask HOG distance to the 2D query image are used as a cost function with equal weights, without any training being performed. In each iteration, the current state is changed to an alternative state by modifying 3 random components (out of 10) of the current state. An alternative view of the 3D shape is then rendered into a 2D image and the cost function is computed. An alternative state that decreases the current cost function is always kept while state resulting in an increase is kept according to a probability based on the Boltzmann factor . With progressing iterations, the alternative state differs less from the current state. Results of this step are a refined view and project matrices, and a scaled 3D model. 300 iterations are used for all the results shown in the paper.
4.2.3 Per-part alignment
In this final step, the view is held fixed and the individual parts of the 3D shape are transformed independently. The refinement uses multiple passes of simulated annealing. In each pass, a random part is chosen and simulated annealing (in the spirit of fine alignment step) is used. For each part, we allow rotation (3D), translation (3D) and model scale (3D). We further clamp these parameters to a threshold so that only small perturbations from fine alignment are allowed. Again, the mask and luminance HOG distance is used to either keep or discard the part transformation. We use 20 passes, each pass with 20 iterations for all results shown in the paper.
The outcome is not a consistent 3D shape, as part deformation neglects physical or functional part relationships. However, our novel view-synthesis (Sec. 5) only requires individual parts to be well-placed absolutely to capture appearance while their relative placement is not relevant.
5 Novel-view Synthesis Revisited
In Sec. 3 we presented a method to synthesize novel views of an object with the guidance of a 3D model. While the obtained results have high level of realism, the synthesis is view-independent. This means that when we change viewpoint in 3D, specific visual elements that are view dependent such as specularity remains unaffected. However, in a scenario that involves user interaction and manipulation of the object in 3D, a view dependent synthesis is required. For this reason we extend the synthesis method of Sec. 3 to capture view specific information.
The 2D-to-3D alignment from the previous section identified for an image the shape (a polygonal mesh), a finely-aligned view (a camera transformation) and a model matrix for each part . We now would like to synthesize a 2D image from a novel view in real-time, with detailed appearance also in the parts that were unobserved in the query image. In particular, we would like the appearance to be view-dependent, i.e., a highlight on a car body should not appear as if it was painted, but move in a faithful way to convey the material and visual essence of a car.
To this end, we define the RGB appearance of the -th material from direction in view space as
where is the RGB image appearance at 2D position and is a weighting kernel
where is a compatibility function that is 0 if the image at position does not belong to the mask, otherwise 1 if material index at is and finally, 0.0001 if material at is not . The last weight is used to enforce colors for materials that are not observed at any in . is the world space-normal, is the upper-left sub-matrix of the inverse transpose of the matrix and is a sharpness parameter, typically set to . The novel image from is defined as
for material and the rotational part of .
In the discrete case, the function becomes a look-up table of directions (we use directions). This table is essentially a Reflectance Map .
Each table entry is computed as a weighted sum over all input image pixels and based on the normal and material id of rendered from using a per-part model matrix . Fig. 9 illustrates the concept. By the aligned 3D geometry we gather data off the 2D image in order to estimate Reflectance Map models that are used to render novel views. The available material information together allows for a much crisper rendition and truthful interaction of light with the material in contrast to projective texturing. As is a convex combination of input pixels, we noticed a loss in contrast. As a solution, we perform CIE LAB histogram matching between the smoothed histogram of and the histogram of the input image .
At render time, a single material-dependent Reflectance Map is required (Fig. 10), allowing to produce a novel view with several hundred frames per second in high resolutions, in our images combined with ambient occlusion .
Regarding the Reflectance Maps, there are two main differences compared to Sec. 3. First, in this section the goal is to estimate directly the entries of the Reflectance Map, while previously we were estimating the appearance for every disoccluded pixel in the image. In addition, here we consider viewer-centered normals. Therefore, a change of viewpoint affects the location of specularities or artifacts. In Sec. 3 such visual elements were considered as ”painted” on the object.
In this section we present qualitative and quantitative results for the novel view synthesis and 2D-to-3D alignment methods presented in this paper.
6.1 Synthetic Viewpoint Dataset
We apply our novel view synthesis approach from Sec. 3 in order to generate new views for a set of 26 sideview images of cars from PASCAL VOC 2007 . Here, we manually aligned the images with the 3D models (about 2 h effort) and we generate for each image 9 synthetic views by sampling the viewing sphere. Examples of the synthesized data are shown in Fig. 11. Note how effects of global illumination on the vehicle as well as shadow below the car are preserved in many images. The disocclusion areas are filled in in a plausible and natural way. The transition between the visible and “hallucinated” part is seamless.
6.2 Training data augmentation
Object detection and classification approaches have seen substantial improvements over the last decade. One driving factor is the availability of training data that is representative for the test scenarios of interest. However, the construction of such data sets is tedious and yet does not capture all aspects of variability in the classes that it contains. In particular the sampling of untypical examples or viewpoints is often lacking . More specifically, the popular PASCAL VOC benchmark  provides a good sampling of intra-class variations but without exhaustive view-point sampling. Other data sets like EPFL Cars  provide dense view sampling (without azimuth) but do not capture intra-class variation well.
Next we use the aforementioned Synthetic Viewpoint Dataset to “augment” the PASCAL VOC training data in order to represent the intra-class variation together with a better viewpoint sampling that includes atypical views. Our study focuses on the “car” class.
Given this augmented dataset we run a series of experiment to underline the validity of our approach. In all experiments, we use the state-of-the-art Deformable Part Model (DPM version 5) .
|Data||Avg. precision (%)||#Views|
Pilot study – Re-synthesis
As an initial test, we investigate how much the synthesized views affect the performance, compared with the real images and direct renderings of the 3D models. We perform this study on the 26 sideviews which are resynthesized using the method from Sec. 3.2 by treating the visible part of the car as a disocclusion. Using this data we train a DPM detector and we test on the whole VOC test set. Table I shows the performance numbers in average precision (PASCAL VOC standard criterion) for different number of components (columns) in the DPM. The first line represents training on the real 26 sideviews. Then we repeat the training but in this case we have removed the car using the “Context Aware”-tool from Adobe Photoshop and we replaced it with a rendering of the 3D model that corresponds to that type of car (Sedan, SUV or Compact) (Fig. 12). We observe that the performance is much lower, due to the lack of variation in the car appearance. The last row corresponds to training on the 26 resynthesized cars using our approach. The performance is very close to the training on the real cars which provides first evidence that our method is indeed able to generate the kind of realism that is needed to successfully train an object detection algorithm without a strong loss in performance that is often observed in such settings.
|Test||Train||Avg. precision (%)||#Views|
PASCAL VOC data set
We continue by using our whole synthetic viewpoint dataset and mixing it with different portions of real data. Quantitative results varying the number of components in the DPM are shown in Tbl. II and performance plots in Fig. 14. We first focus on the upper half of Table II where we test on the standard PASCAL VOC test set. We start by training only on the 26 sideviews (Side) that we consider for augmentation and compare the performance to a model on the same 26 views amplified by 728 views synthesized by our approach (Side+synth). We observe improvements between to by adding our synthesized views. We now compare the model trained on the full VOC training set (Full) to a version to which we add our synthetic views. In this setting we do not observe an improvement in average precision, but rather comparable performance. However, if we inspect the associated precision recall curve in Fig. 14 (left) more closely, we observe that our model improves in the high precision regime. It produces no single false positive until of the positives are detected (recall).
In order to generate further insights into our model, we perform a study similar to the one proposed in . Here we focus on rare viewpoints of the cars by selecting a subset of the PASCAL VOC testset where the top of the car becomes visible. Our reasoning is that those cases are difficult for the standard model as this part of the viewpoint distribution is poorly sampled.
Fig. 13 confirms out intuition about the view distribution in the VOC dataset. The statistic shows that all views involving the visibility of the top are under-represented. The lower part of Tbl. II performs an analysis for detection of such rare viewpoints. We see strong improvements on those rare viewpoints of up to for training from sideviews and up to for the full training set.
UCLA data set
In order to get a more realistic estimate of the performance across viewpoints we turn to the UCLA cars data set  which has been designed with a more uniform viewpoint sampling in mind. The test set consists of 200 images that cover better the viewing sphere.
|Test||Train||Avg. precision (%)||#Views|
In Tab. III and Fig. 15 we show the performance plots of the DPM detectors trained on the same dataset as in the previous section. For the full UCLA test set (upper half of Table III) we observe drastic improvements by adding our synthesized data. For the sideviews the improvement is between and and for the full set between and . Remarkably, our detector trained on the amplified 26 sidesviews (Side+synth) outperforms the model trained on the full PASCAL dataset (Full) which had access to 48 times more real training examples (26 sideviews vs. 1250 real examples). The improvements can be seen more clearly in Fig. 15. We also provide the rare viewpoint analysis for this dataset. Here the improvements are even more pronounced. From the precision recall curve we see that the model trained on the amplified sideviews (Side+synth) is outperforming the model trained on the full set. In this case 26 real training examples in combination with our augmentation method is enough to get close to the best performance on this data (Full+ours).
6.3 2D-to-3D alignment
This section evaluates our approach in terms of quantitative performance according to different metrics and computational speed, a user study and visual quality of the renderings.
6.3.1 Quantitative results
We compare our 2D-to-3D alignment approach to previous methods in terms of different metrics. As previous methods we consider eight alternatives: the method of Aubry et al. , a method using light field descriptors , a method using nearest neighbor and five simplified variants of our approach. As metrics we use intersection-over-union (IoU) of segmentation masks, normal-aware IoU on the same, and a novel metric using image differences of novel-view rendering.
The method by Aubry et al.  uses discriminative patches on luminance. We consider it our reference and would like to achieve similar or better performance, but in less time. To quantify the effect of discriminative learning, we include nearest-neighbor matching in HOG space of luminance (NN). Light field descriptors  (LFD) are a popular approach in computer graphics  thanks to their simplicity (they are based only on the silhouette of the object). We would like to know if adding silhouette information to the luminance, as well as discriminative learning, improves the alignment performance. Additionally we consider several increments in sampling variation for our approach: a template LDA classifier trained on the same rendered images as Aubry (Exemplar), adding viewpoint samples (View), additional samples with environment map rotation (Envmap), additional samples with camera roll (Roll) and finally the two steps of our full approach (Coarse and Fine) that include mask information. In each of these steps we increase the number of training images by including a certain type of variation in the rendering process (e.g. denser viewpoint sampling, different lightning directions, etc.). These types of variation are expected to appear in the real images during testing.
Intersection-over-union is a classic measure of alignment quality but remains agnostic to what is aligned. Therefore, we also consider a normal-aware Intersection-over-union metric extension to this metric where agreeing pixels are not counted as 1, but as the dot product of the underlying screen space normals. Doing so, only surfaces with a similar orientation are counted as a success, which is essential to the targeted synthesis approach. The main objective of our approach is to produce an image of the object in the input from a novel view. Therefore, we suggest to also use image differences between synthesized novel view-images as a third metric. For two 2D-to-3D alignments A (ground truth) and B (the other), it is defined as the image distance (e.g. the normalized difference in rgb values) between a novel view-synthesis result image when using A and when using B, divided by the union of the pixels that the novel views cover. To produce the novel views, we apply projective texturing to both A and B and then rotate them in the axis. This metric directly measure the effect of alignment errors on the synthesized images.
2D-to-3D alignment was performed on 80 random images222All test images and results are available in the project website. from 5 subclasses of Pascal3D  (Imagenet subset), namely station wagon, sport motorbike, folding chair, double bus, mountain bicycle, using the nine methods just described and the result was evaluated according to each of the three metric introduced. As ground truth we use the annotation from Pascal3D, even if it is noisy in many cases. Performance is stated as the ratio to the outcome of the reference method (Aubry et al. ), e.g. performance identical to the reference would be 100 %. Using the ratio, all measures we propose become comparable (encoded as colors in Fig. 16 and Fig. 17). Performance is stated as the mean over classes, as well as for the five individual classes. While we have also conducted experiments using light field descriptors , we leave them out of the plots as they have shown very poor performance of approximately on average consistently across all metrics.
In Fig. 16 we present the effect of including complementary types of variation in the training data for 5 different classes. We show that by adding the aforementioned sampling schemes we improve the performance w.r.t. to the reference consistently for all metrics. Note that Exemplar performs better than NN for the same training data, similar to what is reported in [51, 50], thus we show the comparison for the initial setting only.
Moreover, the results in Fig. 17 show that our accelerated alignment procedure reaches speed-ups up to a factor of 600 with only moderate loss in performance (e.g. “exemplar”). This allows us to consecutively add the more elaborate sampling schemes without sacrificing the user-friendliness in terms of time. Our most complex sampling scheme – constituting our final coarse alignment procedure (“coarse”) – achieves an improvement of 2-3% while still maintaining an 40 fold speedup. Our fine-alignment stage with on-the-fly rendering gives us on average a 5% improvement, while still being roughly 5 times faster. The results are consistent across the 3 metrics that we have investigated.
Regarding the absolute computation time of our framework, most of it is spend in fine alignment. On average, 0.45 s are spend for coarse, 2.4 s for fine, and 2.1 s for per part alignment.
We asked human subjects to compare our fine alignment result to the exemplar result in order to assess the alignment quality. The experiment comprised of 50 trials, where in each, participants were shown the result of both alignments for one out of 10 random instances from 5 classes of Imagenet (station wagon, sport motorbike, folding chair, double bus, mountain bicycle). Alignment was shown as two images in a random horizontal layout where in each the 3D shape is rendered using the normal shading and composed on top of the query image, as seen in the first column of every set in Fig. 18. When subjects were asked in a 2AFC to indicate “which image shows a more correct alignment of the shape to the image” they referred to ours in 59 % of the cases (significant , binomial test), indicating that our approach is preferred and that computational metrics and human assessment are correlated.
Results of the alignment procedure are detailed in Fig. 18 and additional final renderings are shown in Fig. 19. All results are obtained with minimal user input only from 2D images that we have obtained from the public Imagenet  database, for the classes indexed in Pascal3D  dataset. We additionally provide results for the IKEA dataset  using the images and their 3D models. Our approach produces the alignment shown in less than 5 s, whereas other work  required many minutes on large clusters. For synthesizing the new views we use the view-dependent approach of Sec. 5.
We detail the qualitative improvements achieved by each alignment step in Fig. 18. For three input images of different classes (bike, station wagon, airliner), we show for each alignment step (coarse, fine, part) the overlaid 3D model in terms of surface normals, as well as novel view-renderings using projective texturing (left) as well as our Reflectance Map model (right).
The first row shows in addition to the input image a couple of close-ups highlighting the obtained improvements in alignment and/or rendering quality. We would like to draw the reader’s attention to a couple of improvements: For the bike example, we observe that starting from an overall greenish appearance of the bike, the fine alignment manages to recover an accurate representation, e.g. in terms of a yellow frame and black saddle. The initial artifacts are due to bad alignment which corrupt the estimation of material appearances by green background pixels. The result shows the capability of our method to handle thin structure for which alignment is particularly difficult.
For the car example, please note how the gradual alignment gets rid of background artifacts around the contour as well as dealing with transparent materials such as the glass windows. Finally, the airplane example, highlights the deformation component included in the fine alignment. While initially, the wings are not well covered due to object class variations in wing size and angle, the uniform scaling already achieves a closer match. In addition, we observe across all three examples, that the part-based alignment greatly improves on the fine alignment by accounting for non-linear variations. Note how the part-based stage handles variation in frame geometry and saddle height for the bike, variations in the wheel base for the car, position, size and angle of wings for airplanes.
Fig. 19 shows further results of the final rendering quality that highlight the truthful reproduction of complex appearances including specularities and transparency. In detail, we would like to point the reader’s attention to the rendition of complex materials such as paint on cars and motorbikes that capture specular effects. Details that were not observed in the original view are rendered in the novel viewpoints matching the overall style of the object in a consistent manner. The rendering is consistent and seamless across all view points with no discernible change between the observed part and disocclusion areas from the input image.
Note that simple projective texturing cannot hallucinate the appearance in the disoccluded parts, especially for large viewpoint changes. Even if we use image inpainting (OpenCV) this method cannot capture the high-level structure of the object (Fig. 20).
Our project website show novel-views for 390 random images from this database for 10 different classes from Imagenet and 3 furniture classes from the IKEA dataset. Please see the additional videos, for real-time screen-captures from a large selection of query images.
When performing 2D-to-3D alignment without the fine and part-based steps to follow, either a very large number of detectors was required, or the alignment remained coarse. Our alignment is both faster and higher quality than previous alignment methods for several reasons: First, we need to evaluate a much lower number of templates, as the fine and part-based alignment can refine the solution. Second, the evaluation of a single template is more efficient than evaluating multiple discriminative patches as it has been done in prior work . Yet, if the query object is too different from any object in the database, our approach produces a geometrically wrong object. Still our appearance transfer is robust to mismatches between query and database object which cannot be avoided in practice.
Currently, we lift images with a single, unoccluded object to 3D. Combining multiple objects is non-trivial and requires more than just detecting a lot of objects. Combination with 3D inference that is not based on object-templates [67, 68] would complement our approach.
The user intervention we require is minimal, but still it is required to indicate the object that should become 3D by drawing a 2D bounding box or scribbles. We envision a future integrated system, where a background process finds objects in user content such as documents and webpages. Afterwards, interaction opportunities are advertised to the user where instant lifting to 3D of objects is possible. The main prerequisite of our work is the requirement to indicate the location and class of the shape in the image using minimal interaction. In future work, we want to combine our approach with fast and accurate object class recognition and localization (e.g., ) as well as segmentation (e.g., [55, 70]) and iterative pose refinement . When a query image shows an object not in the database, a similar object is proposed, which may or might not be appropriate, depending on the application. In future work, a combination with automatic or manual shape adjustments  and more flexible shape representations  will further improve our coverage.
Our first method to generate novel views was presented in Sec. 3 and its extension in Sec. 5. The main difference between the two is where the appearance reconstruction is taking place. In the initial approach, every pixel in the novel image is synthesized directly as a weighted combination of the pixels in the original view, based on the information from the aligned 3D model. In the second approach, the appearance reconstruction is performed through Reflectance Maps. From the alignment, we reconstruct the Reflectance Maps by considering viewer-centered normals. Therefore, instead of reconstructing directly the appearance of pixels in the novel view, we reconstruct the appearance of normals in the initial view and we use this mapping to generate the novel views.
Both of the methods have advantages and disadvantages with respect to each other. The first approach allows the 3D position to participate in the reconstruction, enabling the effect of projective texturing in the visible area by giving a large value to the corresponding weight in Eq. 1. In this way we preserve the high frequencies for the visible parts, but in the disoccluded areas the reconstruction is blurred. This co-appearance of the two modalities in the same image is perceptually unpleasant.
Another important aspect is the task that we focus. In a user-manipulation scenario, we need the appearance to be view-dependent. This means that when we change viewpoint, the specularities and artifacts that appear in the object should change position. The second method considers view-dependent normals for the 3D model, thus after estimating the Reflectance Maps for each material, the new views will include this effect. Moreover, the complexity for the novel views is much lower, since the Reflectance Maps are essentially a look-up table of appearance for the surface normals of the 3D model. Otherwise, the first approach loops over all the pixels in the original view for every pixel in the new view.
Our system is not yet able to factor out reflectance, occlusion and lighting. Furthermore, we do not support stochastic or structured reflectance changes such as textures or painted logos in the 2D query image. Conversely, 3D shapes from on-line model repositories can contain details such as logos that are not part of the query image. Telling apart such “decoration” from the essential 3D shape or 2D image deformation is an exciting direction of future research.
We have proposed a system to hallucinate high-quality novel views from a single image containing an object of a known class at interactive rates. Starting from the idea that output images can be written as a linear combination of input pixels where weights depend on the guidance of a manually aligned 3D model, we have devised an approach to generate novel views. Next, we have shown how to align the 3D model automatically, resulting in a second approach of novel-view synthesis that can produce results with minimal user intervention. Applications include amplification of training data and almost every problem that requires novel views: stereography, synthetic motion blur and depth-of-field. We have demonstrated that the appearance quality is good enough to improve performance in a classic detection and classification task. Finally, the ability to mark an object in a 2D image and to lift it to 3D within just a few seconds i.e. being able to inspect it from novel views, is an application in its own respect. For future work, we would like to extend the synthesis and alignment to/from videos as well as to experiment with more or unknown object classes.
-  T. Beier and S. Neely, “Feature-based image metamorphosis,” in ACM SIGGRAPH Computer Graphics, vol. 26, no. 2, 1992, pp. 35–42.
-  S. E. Chen and L. Williams, “View interpolation for image synthesis,” in Proc. SIGGRAPH, 1993, pp. 279–288.
-  Y. Horry, K.-I. Anjyo, and K. Arai, “Tour into the picture: using a spidery mesh interface to make animation from a single image,” in Proc. SIGGRAPH, 1997, pp. 225–232.
-  S. J. Gortler, R. Grzeszczuk, R. Szeliski, and M. F. Cohen, “The lumigraph,” in Proc. SIGGRAPH, 1996, pp. 43–54.
-  P. E. Debevec, C. J. Taylor, and J. Malik, “Modeling and rendering architecture from photographs: A hybrid geometry-and image-based approach,” in Proc. SIGGRAPH, 1996, pp. 11–20.
-  N. Kholgade, T. Simon, A. Efros, and Y. Sheikh, “3D object manipulation in a single photograph using stock 3D models,” ACM Trans. Graph. (Proc. SIGGRAPH), vol. 33, no. 4, 2014.
-  D. N. Wood, D. I. Azuma, K. Aldinger, B. Curless, T. Duchamp, D. H. Salesin, and W. Stuetzle, “Surface light fields for 3D photography,” in Proc. SIGRAPH, 2000, pp. 287–296.
-  P. Debevec, “Rendering synthetic objects into real scenes: Bridging traditional and image-based graphics with global illumination and high dynamic range photography,” SIGGRAPH, 1998.
-  A. Criminisi, P. Perez, and K. Toyama, “Object removal by exemplar-based inpainting,” in CVPR, vol. 2. IEEE, 2003, pp. II–721.
-  C. Barnes, E. Shechtman, A. Finkelstein, and D. B. Goldman, “PatchMatch: A randomized correspondence algorithm for structural image editing,” SIGGRAPH, 2009.
-  P.-P. J. Sloan, W. Martin, A. Gooch, and B. Gooch, “The lit sphere: A model for capturing NPR shading from art,” in Graphics interface, 2001.
-  A. Hertzmann, C. E. Jacobs, N. Oliver, B. Curless, and D. H. Salesin, “Image analogies,” in Proc. SIGGRAPH, ser. Proc. SIGGRAPH. ACM, 2001, pp. 327–340.
-  A. Jain, T. Thormählen, T. Ritschel, and H.-P. Seidel, “Material Memex: Automatic material suggestions for 3D objects,” ACM Trans. Graph. (Proc. SIGGRAPH Asia), vol. 31, no. 6, pp. 143:1–143:8, 2012.
-  J. Kopf, M. F. Cohen, D. Lischinski, and M. Uyttendaele, “Joint bilateral upsampling,” ACM Trans. Graph. (Proc. SIGGRAPH), 2007.
-  M. Pauly, N. J. Mitra, J. Giesen, M. H. Gross, and L. J. Guibas, “Example-based 3D scan completion.” in Symp. on Geometry Processing, 2005.
-  A. van den Hengel, A. Dick, T. Thormählen, B. Ward, and P. H. S. Torr, “Videotrace: Rapid interactive scene modelling from video,” in Proc. SIGGRAPH, 2007.
-  H. Wu and K. Zhou, “Appfusion: Interactive appearance acquisition using a kinect sensor,” Comp. Graph. Forum, 2015.
-  S. Georgoulis, K. Rematas, T. Ritschel, M. Fritz, L. V. Gool, and T. Tuytelaars, “Delight-net: Decomposing reflectance maps into specular materials and natural illumination,” arXiv:1602.00328, 2016.
-  K. Rematas, T. Ritschel, M. Fritz, E. Gavves, and T. Tuytelaars, “Deep reflectance maps,” in CVPR, 2016.
-  B. K. Horn and R. W. Sjoberg, “Calculating the reflectance map,” App. Opt., vol. 18, no. 11, 1979.
-  V. Blanz and T. Vetter, “A morphable model for the synthesis of 3D faces,” in Proc. SIGGRAPH, 1999, pp. 187–194.
-  M. Zia, M. Stark, B. Schiele, and K. Schindler, “Detailed 3D representations for object modeling and recognition,” IEEE PAMI, 2013.
-  Q. Huang, H. Wang, and V. Koltun, “Single-view reconstruction via joint analysis of image and shape collections,” ACM Trans. Graph., 2015.
-  K. Xu, H. Zheng, H. Zhang, D. Cohen-Or, L. Liu, and Y. Xiong, “Photo-inspired model-driven 3D object modeling,” ACM Trans. Graph. (Proc. SIGGRAPH), vol. 30, no. 4, p. 80, 2011.
-  C. Doersch, S. Singh, A. Gupta, J. Sivic, and A. A. Efros, “What makes paris look like paris?” ACM Trans. Graph. (Proc. SIGGRAPH), 2012.
-  M. Aubry, B. Russell, and J. Sivic, “Painting-to-3D model alignment via discriminative visual elements,” ACM Trans. Graph., vol. 33, no. 2, 2013.
-  M. Aubry, D. Maturana, A. A. Efros, B. Russell, and J. Sivic, “Seeing 3D chairs: exemplar part-based 2D-3D alignment using a large dataset of cad models,” in Proc. CVPR, 2014.
-  H. Su, Q. Huang, N. J. Mitra, Y. Li, and L. Guibas, “Estimating image depth using shape collections,” ACM Trans. Graph. (Proc. SIGGRAPH), 2014.
-  J. J. Lim, H. Pirsiavash, and A. Torralba., “Parsing IKEA objects: Fine pose estimation,” in Proc. ICCV, 2013.
-  C. B. Choy, M. Stark, S. Corbett-Davies, and S. Savarese, “Enriching object detection with 2D-3D registration and continuous viewpoint estimation,” in Proc. CVPR, 2015.
-  J. Shotton, A. Fitzgibbon, M. Cook, T. Sharp, M. Finocchio, R. Moore, A. Kipmanand, and A. Blake, “Real-time human pose recognition in parts from a single depth image,” in CVPR, 2011.
-  K. Lai and D. Fox, “3D laser scan classification using web data and domain adaptation,” in Proceedings of Robotics: Science and Systems, 2009.
-  W. Wohlkinger and M. Vincze, “3D object classification for mobile robots in home-environments using web-data,” in Int. Conf. on Cognitive Systems, 2010.
-  M. Stark, M. Goesele, and B. Schiele, “Back to the future: Learning shape models from 3D CAD data,” in BMVC, 2010.
-  J. Liebelt and C. Schmid, “Multi-view object class detection with a 3d geometric model,” in CVPR, 2010.
-  A. T. Targhi, J. M. Geusebroek, and A. Zisserman, “Texture classification with minimal training images,” in ICPR, 2008.
-  W. Li and M. Fritz, “Recognizing materials from virtual examples,” in ECCV, 2012.
-  B. Kaneva, A. Torralba, and W. Freeman, “Evaluation of image features using a photorealistic virtual world,” in ICCV, 2011.
-  M. Enzweiler and D. M. Gavrila, “A mixed generative-discriminative framework for pedestrian classification,” in CVPR, 2008.
-  L. Pishchulin, A. Jain, C. Wojek, M. Andriluka, T. Thormaehlen, and B. Schiele, “Learning people detection models from few training samples,” in CVPR, 2011.
-  L. Pishchulin, A. Jain, C. Wojek, T. Thormaehlen, and B. Schiele, “In good shape: Robust people detection based on appearance and shape,” in British Machine Vision Conference (BMVC), September 2011.
-  B. Pepik, M. Stark, P. Gehler, and B. Schiele, “Teaching 3D Geometry to Deformable Part Models,” in CVPR, 2012.
-  M. Zobel, M. Fritz, and I. Scholz, “Object tracking and pose estimation using light-field object models,” in Vision, Modeling, and Visualization Conference (VMV), 2002.
-  H. Su, C. R. Qi, Y. Li, and L. J. Guibas, “Render for cnn: Viewpoint estimation in images using cnns trained with rendered 3d model views,” in ICCV, 2015.
-  X. Peng, B. Sun, K. Ali, and K. Saenko, “Learning deep object detectors from 3d models,” in ICCV, 2015.
-  M. Deering, S. Winner, B. Schediwy, C. Duffy, and N. Hunt, “The triangle processor and normal vector shader: a VLSI system for high performance graphics,” SIGGRAPH Comput. Graph., vol. 22, no. 4, pp. 21–30, 1988.
-  F. Pellacini, J. A. Ferwerda, and D. P. Greenberg, “Toward a psychophysically-based light reflection model for image synthesis,” in Proc. SIGGRAPH, 2000, pp. 55–64.
-  A. X. Chang, T. A. Funkhouser, L. J. Guibas, P. Hanrahan, Q. Huang, Z. Li, S. Savarese, M. Savva, S. Song, H. Su, J. Xiao, L. Yi, and F. Yu, “Shapenet: An information-rich 3d model repository,” arXiv, 2015.
-  S. Zhukov, A. Iones, and G. Kronin, “An ambient light illumination model,” in Proc. Rendering Techniques, 1998, pp. 45–55.
-  T. Malisiewicz, A. Gupta, and A. A. Efros, “Ensemble of exemplar-svms for object detection and beyond,” in ICCV, 2011.
-  A. Shrivastava, T. Malisiewicz, A. Gupta, and A. A. Efros, “Data-driven visual similarity for cross-domain image matching,” ACM Transaction of Graphics (TOG) (Proceedings of ACM SIGGRAPH ASIA), 2011.
-  N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” in Proc. CVPR, 2005.
-  B. Hariharan, J. Malik, and D. Ramanan, “Discriminative decorrelation for clustering and classification,” in Proc. ECCV, 2012.
-  M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman, “The PASCAL Visual Object Classes Challenge 2012 Results.”
-  J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proc. CVPR, 2015.
-  C. Rother, V. Kolmogorov, and A. Blake, “Grabcut: Interactive foreground extraction using iterated graph cuts,” ACM Trans. Graph., 2004.
-  S. Kirkpatrick, C. D. G. JR, and M. P. Vecchi, “Optimization by simmulated annealing,” Science, vol. 220, no. 4598, pp. 671–80, 1983.
-  M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman, “The PASCAL Visual Object Classes Challenge 2007 Results.”
-  D. Hoiem, Y. Chodpathumwan, and Q. Dai, “Diagnosing error in object detectors,” in ECCV, 2012.
-  M. Ozuysal, V. Lepetit, and P.Fua, “Pose estimation for category specific multiview object localization,” in CVPR, 2009.
-  P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan, “Object detection with discriminatively trained part based models,” TPAMI, 2010.
-  W. Hu, “Learning 3D object templates by hierarchical quantization of geometry and appearance spaces,” in CVPR, 2012, pp. 2336–43.
-  D.-Y. Chen, X.-P. Tian, Y.-T. Shen, and M. Ouhyoung, “On visual similarity based 3D model retrieval,” in Comp. Graph. Forum, 2003.
-  Y. Xiang, R. Mottaghi, and S. Savarese, “Beyond PASCAL: A benchmark for 3d object detection in the wild,” in Proc. WACV, 2014.
-  D. Zhang and G. Lu, “An integrated approach to shape based image retrieval,” in Proc. ACCV, 2002.
-  J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei, “ImageNet: A Large-Scale Hierarchical Image Database,” in CVPR09, 2009.
-  D. Hoiem, A. A. Efros, and M. Hebert, “Automatic photo pop-up,” ACM Trans. Graph. (Proc. SIGGRAPH), vol. 24, no. 3, pp. 577–584, 2005.
-  A. Saxena, M. Sun, and A. Y. Ng, “Make3D: Learning 3D scene structure from a single still image,” PAMI, vol. 31, no. 5, pp. 824–40, 2009.
-  R. Girshick, “Fast R-CNN,” in ICCV, 2015.
-  Y. He, W.-C. Chiu, M. Keuper, and M. Fritz, “Rgbd semantic segmentation using spatio-temporal data-driven pooling,” arXiv:1604.02388, 2016.
-  W.-C. Chiu and M. Fritz, “See the difference: Direct pre-image reconstruction and pose estimation by differentiating hog,” in IEEE International Conference on Computer Vision (ICCV), 2015.
-  A. Sharma, O. Grau, and M. Fritz, “Vconv-dae: Deep volumetric shape learning without object labels,” arXiv:1604.03755 [cs.CV], 2016.