Render for CNN: Viewpoint Estimation in Images Using CNNs Trained with Rendered 3D Model Views
ICCV 15 Oral Presentation

Hao Su*     Charles R. Qi*     Yangyan Li     Leonidas J. Guibas    

Stanford University

[PDF] [Supplementary Material] [Code] [Bibtex]

Figure 1. System overview. We synthesize training images by overlaying images rendered from large 3D model collections on top of real images. CNN is trained to map images to the ground truth object viewpoints. The training data is a combination of real images and synthesized images. The learned CNN is applied to estimate the viewpoints of objects in real images.


Object viewpoint estimation from 2D images is an essential task in computer vision. However, two issues hinder its progress: scarcity of training data with viewpoint annotations, and a lack of powerful features. Inspired by the growing availability of 3D models, we propose a framework to address both issues by combining render-based image synthesis and CNNs (Convolutional Neural Networks). We believe that 3D models have the potential in generating a large number of images of high variation, which can be well exploited by deep CNN with a high learning capacity. Towards this goal, we propose a scalable and overfit- resistant image synthesis pipeline, together with a novel CNN specifically tailored for the viewpoint estimation task. Experimentally, we show that the viewpoint estimation from our pipeline can significantly outperform state-of-the-art methods on PASCAL 3D+ benchmark.

Render for CNN Image Synthesis Pipeline

Figure 2. Pipeline overview.

Figure 3. Synthetic image examples. Three example images are shown for each of the 12 classes from PASCAL 3D+.

Viewpoint Estimation Results

Figure 4. Viewpoint estimation example results. The bar under each image indicates the 360-class confidences (black means high confidence) corresponding to 0" ⇠ 360" (with object facing towards us as 0" and rotating clockwise). The red vertical bar indicates the ground truth. The first two rows are positive cases, the third row is negative case (with red box surrounding the image).