1 Introduction
The problem of 3D object detection is of particular importance in robotic applications that require decision making or interactions with objects in the real world. 3D object detection recovers both the 6 DoF pose and the dimensions of an object from an image. While recently developed 2D detection algorithms are capable of handling large variations in viewpoint and clutter, accurate 3D object detection largely remains an open problem despite some promising recent work. The existing efforts to integrate pose estimation with stateoftheart object detectors focus mostly on viewpoint estimation. They exploit the observation that the appearance of objects changes as a function of viewpoint and that discretization of viewpoints (parametrized by azimuth and elevation) gives rise to subcategories which can be trained discriminatively [23]. In more restrictive driving scenarios alternatives to full 3D pose estimation explore exhaustive sampling and scoring of all hypotheses [4] using a variety of contextual and semantic cues.
In this work, we propose a method that estimates the pose and the dimensions of an object’s 3D bounding box from a 2D bounding box and the surrounding image pixels. Our simple and efficient method is suitable for many real world applications including selfdriving vehicles. The main contribution of our approach is in the choice of the regression parameters and the associated objective functions for the problem. We first regress the orientation and object dimensions before combining these estimates with geometric constraints to produce a final 3D pose. This is in contrast to previous techniques that attempt to directly regress to pose.
A state of the art 2D object detector [3] is extended by training a deep convolutional neural network (CNN) to regress the orientation of the object’s 3D bounding box and its dimensions. Given estimated orientation and dimensions and the constraint that the projection of the 3D bounding box fits tightly into the 2D detection window, we recover the translation and the object’s 3D bounding box. Although conceptually simple, our method is based on several important insights. We show that a novel MultiBin discretecontinuous formulation of the orientation regression significantly outperforms a more traditional L2 loss. Further constraining the 3D box by regressing to vehicle dimensions proves especially effective, since they are relatively lowvariance and result in stable final 3D box estimates.
We evaluate our method on the KITTI [2] and Pascal 3D+[26] datasets. On the KITTI dataset, we perform an indepth comparison of our estimated 3D boxes to the results of other stateoftheart 3D object detection algorithms [24, 4]. The official KITTI benchmark for 3D bounding box estimation only evaluates the 3D box orientation estimate. We introduce three additional performance metrics measuring the 3D box accuracy: distance to center of box, distance to the center of the closest bounding box face, and the overall bounding box overlap with the ground truth box, measured using 3D Intersection over Union (3D IoU) score. We demonstrate that given sufficient training data, our method is superior to the state of the art on all the above 3D metrics. Since the Pascal 3D+ dataset does not have the physical dimensions annotated and the intrinsic camera parameters are approximate, we only evaluate viewpoint estimation accuracy showing that our MultiBin module achieves stateoftheart results there as well.
In summary, the main contributions of our paper include: 1) A method to estimate an object’s full 3D pose and dimensions from a 2D bounding box using the constraints provided by projective geometry and estimates of the object’s orientation and size regressed using a deep CNN. In contrast to other methods, our approach does not require any preprocessing stages or 3D object models. 2) A novel discretecontinuous CNN architecture called MultiBin regression for estimation of the object’s orientation. 3) Three new metrics for evaluating 3D boxes beyond their orientation accuracy for the KITTI dataset. 4) An experimental evaluation demonstrating the effectiveness of our approach for KITTI cars, which also illustrates the importance of the specific choice of regression parameters within our 3D pose estimation framework. 5) Viewpoint evaluation on the Pascal 3D+ dataset.
2 Related Work
The classical problem of 6 DoF pose estimation of an object instance from a single 2D image has been considered previously as a purely geometric problem known as the perspective npoint problem (PnP). Several closed form and iterative solutions assuming correspondences between 2D keypoints in the image and a 3D model of the object can be found in [10] and references therein. Other methods focus on constructing 3D models of the object instances and then finding the 3D pose in the image that best matches the model [19, 6].
With the introduction of new challenging datasets [2, 26, 25, 12], 3D pose estimation has been extended to object categories, which requires handling both the appearance variations due to pose changes and the appearance variations within the category [9, 15]. In [16, 26] the object detection framework of discriminative part based models (DPMs) is used to tackle the problem of pose estimation formulated jointly as a structured prediction problem, where each mixture component represents a different azimuth section. However, such approaches predict only an Euler angle subset with respect to the canonical object frame, while object dimensions and position are not estimated.
An alternative direction is to exploit the availability of 3D shape models and use those for 3D hypothesis sampling and refinement. For example, Mottaghi et al. [13] sample the object viewpoint, position and size and then measure the similarity between rendered 3D CAD models of the object and the detection window using HOG features. A similar method for estimating the pose using the projection of CAD model object instances has been explored by [29] in a robotics tabletop setting where the detection problem is less challenging. Given the coarse pose estimate obtained from a DPMbased detector, the continuous 6 DoF pose is refined by estimating the correspondences between the projected 3D model and the image contours. The evaluation was carried out on PASCAL3D+ or simple table top settings with limited clutter or scale variations. An extension of these methods to more challenging scenarios with significant occlusion has been explored in [22], which uses dictionaries of 3D voxel patterns learned from 3D CAD models that characterize both the object’s shape and commonly encountered occlusion patterns.
Recently, deep convolutional neural networks (CNN) have dramatically improved the performance of 2D object detection and several extensions have been proposed to include 3D pose estimation. In [21] RCNN [7] is used to detect objects and the resulting detected regions are passed as input to a pose estimation network. The pose network is initialized with VGG [20] and finetuned for pose estimation using ground truth annotations from Pascal 3D+. This approach is similar to [8], with the distinction of using separate pose weights for each category and a large number of synthetic images with pose annotation ground truth for training. In [17], Poirson et al. discretize the object viewpoint and train a deep convolutional network to jointly perform viewpoint estimation and 2D detection. The network shares the pose parameter weights across all classes. In [21], Tulsiani et al. explore the relationship between coarse viewpoint estimation, followed by keypoint detection, localization and pose estimation. Pavlakos et al [14], used CNN to localize the keypoints and they used the keypoints and their 3D coordinates from meshes to recover the pose. However, their approach required training data with annotated keypoints.
Several recent methods have explored 3D bounding box detection for driving scenarios and are most closely related to our method. Xiang et al. [23, 24] cluster the set of possible object poses into viewpointdependent subcategories. These subcategories are obtained by clustering 3D voxel patterns introduced previously [22]
; 3D CAD models are required to learn the pattern dictionaries. The subcategories capture both shape, viewpoint and occlusion patterns and are subsequently classified discriminatively
[24] using deep CNNs. Another related approach by Chen et al. [4] addresses the problem by sampling 3D boxes in the physical world assuming the flat ground plane constraint. The boxes are scored using high level contextual, shape and category specific features. All of the above approaches require complicated preprocessing including high level features such as segmentation or 3D shape repositories and may not be suitable for robots with limited computational resources.3 3D Bounding Box Estimation
In order to leverage the success of existing work on 2D object detection for 3D bounding box estimation, we use the fact that the perspective projection of a 3D bounding box should fit tightly within its 2D detection window. We assume that the 2D object detector has been trained to produce boxes that correspond to the bounding box of the projected 3D box. The 3D bounding box is described by its center , dimensions , and orientation , here paramaterized by the azimuth, elevation and roll angles. Given the pose of the object in the camera coordinate frame and the camera intrinsics matrix , the projection of a 3D point in the object’s coordinate frame into the image is:
(1) 
Assuming that the origin of the object coordinate frame is at the center of the 3D bounding box and the object dimensions are known, the coordinates of the 3D bounding box vertices can be described simply by , , , . The constraint that the 3D bounding box fits tightly into 2D detection window requires that each side of the 2D bounding box to be touched by the projection of at least one of the 3D box corners. For example, consider the projection of one 3D corner that touches the left side of the 2D bounding box with coordinate . This pointtoside correspondence constraint results in the equation:
(2) 
where refers to the coordinate from the perspective projection. Similar equations can be derived for the remaining 2D box side parameters
. In total the sides of the 2D bounding box provide four constraints on the 3D bounding box. This is not enough to constrain the nine degrees of freedom (DoF) (three for translation, three for rotation, and three for box dimensions). There are several different geometric properties we could estimate from the visual appearance of the box to further constrain the 3D box. The main criteria is that they should be tied strongly to the visual appearance and further constrain the final 3D box.
3.1 Choice of Regression Parameters
The first set of parameters that have a strong effect on the 3D bounding box is the orientation around each axis . Apart from them, we choose to regress the box dimensions rather than translation because the variance of the dimension estimate is typically smaller (e.g. cars tend to be roughly the same size) and does not vary as the object orientation changes: a desirable property if we are also regressing orientation parameters. Furthermore, the dimension estimate is strongly tied to the appearance of a particular object subcategory and is likely to be accurately recovered if we can classify that subcategory. In Sec. 5.4
we carried out experiments on regressing alternative parameters related to translation and found that choice of parameters matters: we obtained less accurate 3D box reconstructions using that parametrization. The CNN architecture and the associated loss functions for this regression problem are discussed in Sec.
4.3.2 Correspondence Constraints
Using the regressed dimensions and orientations of the 3D box by CNN and 2D detection box we can solve for the translation that minimizes the reprojection error with respect to the initial 2D detection box constraints in Equation 2. Details of how to solve for translation are included in the supplementary material [1]. Each side of the 2D detection box can correspond to any of the eight corners of the 3D box which results in configurations. Each different configuration involves solving an overconstrained system of linear equations which is computationally fast and can be done in parallel. In many scenarios the objects can be assumed to be always upright. In this case, the 2D box top and bottom correspond only to the projection of vertices from the top and bottom of the 3D box, respectively, which reduces the number of correspondences to 1024. Furthermore, when the relative object roll is close to zero, the vertical 2D box side coordinates and can only correspond to projections of points from vertical 3D box sides. Similarly, and can only correspond to point projections from the horizontal 3D box sides. Consequently, each vertical side of the 2D detection box can correspond to and each horizontal side of the 2D bounding corresponds to , yielding possible configurations. In the KITTI dataset, object pitch and roll angles are both zero, which further reduces of the number of configurations to 64. Fig. 2 visualizes some of the possible correspondences between 2D box sides and 3D box points that can occur.
4 CNN Regression of 3D Box Parameters
In this section, we describe our approach for regressing the 3D bounding box orientation and dimensions.
4.1 MultiBin Orientation Estimation
Estimating the global object orientation in the camera reference frame from only the contents of the detection window crop is not possible, as the location of the crop within the image plane is also required. Consider the rotation parametrized only by azimuth (yaw). Fig. 4 shows an example of a car moving in a straight line. Although the global orientation of the car (its 3D bounding box) does not change, its local orientation with respect to the ray through the crop center does, and generates changes in the appearance of the cropped image.
We thus regress to this local orientation . Fig. 4 shows an example, where the local orientation angle and the ray angle change in such a way that their combined effect is a constant global orientation of the car. Given intrinsic camera parameters, the ray direction at a particular pixel is trivial to compute. At inference time we combine this ray direction at the crop center with the estimated local orientation in order to compute the global orientation of the object.
It is known that using the L2 loss is not a good fit for many complex multimodal regression problems. The L2 loss encourages the network to minimize to average loss across all modes, which results in an estimate that may be poor for any single mode. This has been observed in the context of the image colorization problem, where the L2 norm produces unrealistic average colors for items like clothing
[27]. Similarly, object detectors such as Faster RCNN [18] and SSD [11] do not regress the bounding boxes directly: instead they divide the space of the bounding boxes into several discrete modes called anchor boxes and then estimate the continuous offsets that need to be applied to each anchor box.We use a similar idea in our proposed MultiBin architecture for orientation estimation. We first discretize the orientation angle and divide it into
overlapping bins. For each bin, the CNN network estimates both a confidence probability
that the output angle lies inside the bin and the residual rotation correction that needs to be applied to the orientation of the center ray of that bin in order to obtain the output angle. The residual rotation is represented by two numbers, for the sine and the cosine of the angle. This results in 3 outputs for each bin : . Valid cosine and sine values are obtained by applying an L2 normalization layer on top of a 2dimensional input. The total loss for the MultiBin orientation is thus:(3) 
The confidence loss is equal to the softmax loss of the confidences of each bin. is the loss that tries to minimize the difference between the estimated angle and the ground truth angle in each of the bins that covers the ground truth angle, with adjacent bins having overlapping coverage. In the localization loss , all the bins that cover the ground truth angle are forced to estimate the correct angle. The localization loss tries to minimize the difference between the ground truth and all the bins that cover that value which is equivalent of maximizing cosine distance as it is shown in supplementary material [1]. Localization loss is computed as following:
(4) 
where is the number of bins that cover ground truth angle , is the angle of the center of bin and is the change that needs to be applied to the center of bin .
During inference, the bin with maximum confidence is selected and the final output is computed by applying the estimated of that bin to the center of that bin. The MultiBin module has 2 branches. One for computing the confidences and the other for computing the cosine and sine of . As a result, parameters need to be estimated for bins.
In the KITTI dataset cars, vans, trucks, and buses are all different categories and the distribution of the object dimensions for category instances is lowvariance and unimodal. For example, the dimension variance for cars and cyclists is on the order of several centimeters. Therefore, rather than using a discretecontinuous loss like the MultiBin loss above, we use directly the L2 loss. As is standard, for each dimension we estimate the residual relative to the mean parameter value computed over the training dataset. The loss for dimension estimation is computed as follows:
(5) 
where are the ground truth dimensions of the box, are the mean dimensions for objects of a certain category and is the estimated residual with respect to the mean that the network predicts.
The CNN architecture of our parameter estimation module is shown in Figure 5. There are three branches: two branches for orientation estimation and one branch for dimension estimation. All of the branches are derived from the same shared convolutional features and the total loss is the weighted combination of
5 Experiments and Discussions
5.1 Implementation Details
KITTI dataset: The KITTI dataset has a total of 7481 training images. We train the MSCNN [3] object detector to produce 2D boxes and then estimate 3D boxes from 2D detection boxes whose scores exceed a threshold. For regressing 3D parameters, we use a pretrained VGG network [20] without its FC layers and add our 3D box module, which is shown in Fig. 5. In the module, the first FC layers in each of the orientation branches have 256 dimensions, while the first FC layer for dimension regression has a dimension of 512. During training, each ground truth crop is resized to 224x224. In order to make the network more robust to viewpoint changes and occlusions, the ground truth boxes are jittered and the ground truth is changed to account for the movement of the center ray of the crop. In addition, we added color distortions and also applied mirroring to images at random. The network is trained with SGD using a fixed learning rate of . The training is run for 20K iterations with a batch size of 8 and the best model is chosen by cross validation. Fig. 6 shows the qualitative visualization of estimated 3D boxes for cars and cyclists on our KITTI validation set. We used two different training/test splits for our experiments. The first split was used to report results on the official KITTI test set and uses the majority of the available training images. The second split is identical to the one used by SubCNN [24], in order to enable fair comparisons. They use half of the available data for validation.
Pascal3D+ dataset:
The dataset consists of images from Pascal VOC and Imagenet for 12 different categories that are annotated with 6 DoF pose. Images from the Pascal training set and Imagenet are used for training and the evaluation is done on the Pascal validation set. Unlike KITTI, the intrinsic parameters are approximate and therefore it is not possible to recover the true physical object dimensions. Therefore we only evaluate on 3 DoF viewpoint estimation to show the effectiveness of our
MultiBin loss. We used MultiBin modules to predict 3 angles for each of the classes. For a fair comparison with [21], we kept the and layers of VGG and eliminated the separate convolution branches of our MultiBin modules. All the necessary inputs are generated using a single fully connected layer that takesas input. We also reused the hyperparameters chosen in
[21] for training our model.5.2 3D Bounding Box Evaluation
Method  Easy  Moderate  Hard  

AOS  AP  OS  AOS  AP  OS  AOS  AP  OS  
3DOP[5]  91.44%  93.04%  0.9828  86.10%  88.64%  0.9713  76.52%  79.10%  0.9673 
Mono3D[4]  91.01%  92.33%  0.9857  0.8662%  88.66%  0.9769  76.84%  78.96%  0.9731 
SubCNN[24]  90.67%  90.81%  0.9984  88.62%  89.04%  0.9952  78.68%  79.27%  0.9925 
Our Method  92.90%  92.98%  0.9991  88.75%  89.04%  0.9967  76.76%  77.17%  0.9946 
Method  Easy  Moderate  Hard  

AOS  AP  OS  AOS  AP  OS  AOS  AP  OS  
3DOP[5]  70.13%  78.39%  0.8946  58.68%  68.94%  0.8511  52.32%  61.37%  0.8523 
Mono3D[4]  65.56%  76.04%  0.8621  54.97%  66.36%  0.8283  48.77%  58.87%  0.8284 
SubCNN[24]  72.00%  79.48%  0.9058  63.65%  71.06%  0.8957  56.32%  62.68%  0.8985 
Our Method  69.16%  83.94%  0.8239  59.87%  74.16%  0.8037  52.50%  64.84%  0.8096 
KITTI orientation accuracy. The official 3D metric of the KITTI dataset is Average Orientation Similarity (AOS), which is defined in [2] and multiplies the average precision (AP) of the 2D detector with the average cosine distance similarity for azimuth orientation. Hence, AP is by definition the upper bound of AOS. At the time of publication, we are first among all methods in terms of AOS for easy car examples and first among all nonanonymous methods for moderate car examples on the KITTI leaderboard. Our results are summarized in Table 1, which shows that we outperform all the recently published methods on orientation estimation for cars. For moderate cars we outperform SubCNN [24] despite having similar AP, while for hard examples we outperform 3DOP [5] despite much lower AP. The ratio of AOS over AP for each method is representative of how each method performs only on orientation estimation, while factoring out the 2D detector performance. We refer to this score as Orientation Score (OS), which represents the error averaged across all examples. OS can be converted back to angle error by the formula, resulting in error for easy, for moderate, and on hard cars for our MultiBin model on the official KITTI test set. Our method is the only one that does not rely on computing additional features such as stereo, semantic segmentation, instance segmentation and does not need preprocessing as in [24] and [23].
Pascal3D+ viewpoint accuracy. Two metrics are used for viewpoint accuracy: Median Error and the percentage of the estimations that are within of the groundtruth viewpoint . The distance between rotations is computed as . The evaluation is done using the groundtruth bounding boxes. Table 3 shows that MultiBin modules are more effective than discretized classification [21] and also keypoint based method of [14] which is based on localizing keypoints and solving a sophisticated optimization to recover the pose.
MultiBin loss analysis. Table 4 shows the effect of choosing a different number of bins for the Multibox loss on both KITTI and Pascal3D+. In both datasets, using more than one bin consistently outperforms the singlebin variant, which is equivalent to the L2 loss. On KITTI, the best performance is achieved with 2 bins while 8 bins works the best for Pascal3D+. This is due to the fact that the viewpoint distribution in the Pascal3D+ dataset is more diverse. As Table 4 shows, overbinning eventually decreases the effectiveness of the method, as it decreases the training data amount for each bin. We also experimented with different widths of the fully connected layers (see Table 5) and found that increasing the width of the FC layers further yielded some limited gains even beyond width 256.
3D bounding box metrics and comparison. The orientation estimation loss evaluates only a subset of 3D bounding box parameters. To evaluate the accuracy of the rest, we introduce 3 metrics, on which we compare our method against SubCNN [24] for KITTI cars. The first metric is the average error in estimating the 3D coordinate of the center of the objects. The second metric is the average error in estimating the closest point of the 3D box to the camera. This metric is important for driving scenarios where the system needs to avoid hitting obstacles. The last metric is the 3D intersection over union (3D IoU) which is the ultimate metric utilizing all parameters of the estimated 3D bounding boxes. In order to factor away the 2D detector performance for a sidebyside comparison, we kept only the detections from both methods where the detected 2D boxes have . As Fig. 8 shows, our method outperforms the SubCNN method [24], the current state of the art, across the board in all 3 metrics. Despite this, the 3D IoU numbers are significantly smaller than those that 2D detectors typically obtain on the corresponding 2D metric. This is due to the fact that 3D estimation is a more challenging task, especially as the distance to the object increases. For example, if the car is 50m away from the camera, a translation error of 2m corresponds to about half the car length. Our method handles increasing distance well, as its error for the box center and closest point metrics in Fig. 8 increases approximately linearly with distance, compared to SubCNN’s superlinear degradation. To evaluate the importance of estimating the car dimensions, we evaluated a variant of our method that uses average sizes instead of estimating them. The evaluation shows that regressing the dimensions makes a difference in all the 3D metrics. To facilitate comparisons with future work on this problem, we have made the estimated 3D boxes on the split of [22] available at http://bit.ly/2oaiBgi.
Training data requirements. One downside of our method is that it needs to learn the parameters for the fully connected layers; it requires more training data than methods that use additional information. To verify this hypothesis, we repeated the experiments for cars but limited the number of training instances to 1100. The same method that achieves in Table 4 with instances can only achieve on the same test set. Moreover, our results on the official KITTI set is significantly better than the split of [22] (see Table 1) because yet more training data is used for training. A similar phenomenon is happening for the KITTI cyclist task. The number of cyclist instances are much less than the number of car instances (1144 labeled cyclists vs 18470 labeled cars). As a result, there is not enough training data for learning the parameters of the fully connected layer well. Although our purely datadriven method achieves competitive results on the cyclists (see Table 2) , it cannot outperform other methods that use additional features and assumptions.
aero  bike  boat  bottle  bus  car  chair  table  mbike  sofa  train  tv  mean  
([21])  13.8  17.7  21.3  12.9  5.8  9.1  14.8  15.2  14.7  13.7  8.7  15.4  13.6 
([14])  8.0  13.4  40.7  11.7  2.0  5.5  10.4  N/A  N/A  9.6  8.3  32.9  N/A 
(Ours)  13.6  12.5  22.8  8.3  3.1  5.8  11.9  12.5  12.3  12.8  6.3  11.9  11.1 
([21])  0.81  0.77  0.59  0.93  0.98  0.89  0.80  0.62  0.88  0.82  0.80  0.80  0.8075 
(Ours)  0.78  0.83  0.57  0.93  0.94  0.90  0.80  0.68  0.86  0.82  0.82  0.85  0.8103 
dataset  # of Bins  1  2  4  8  16 

KITTI  OS  0.89  0.98  0.97  0.97  0.96 
Pascal3D+  0.65  0.72  0.78  0.81  0.77 
FC  64  128  256  512  1024 

OS  0.9583  0.9607  0.9808  0.9854  0.9861 
5.3 Implicit Emergent Attention
In this section, we visualize the parts of cars and bicycles that the network uses in order to estimate the object orientation accurately. Similar to [28], a small gray patch is slid around the image and for each location we record the difference between the estimated and the ground truth orientation. If occluding a specific part of the image by the patch causes a significantly different output, it means that the network attends to that part. Fig. 9 shows such heatmaps of the output differences due to grayed out locations for several car detections. It appears that the network attends to distinct object parts such as tires, lights and side mirror for cars. Our method seems to learn local features similar to keypoints used by other methods, without ever having seen explicitly labeled keypoint ground truth. Another advantage is that our network learns taskspecific local features, while humanlabeled keypoints are not necessarily the best ones for the task.
5.4 Alternative Representation
In this section we demonstrate the importance of choosing suitable regression parameters within our estimation framework. Here instead of object dimensions, we regress the location of the 3D box center projection in the image. This allows us to recover the camera ray towards the 3D box center. Any point on that ray can be described by a single parameter which is the distance from the camera center. Given the projection of the center of the 3D box and the box orientation, our goal is to estimate and the object dimensions: four unknowns for which we have four constraints between 2D box sides and 3D box corners. While the number of parameters to be regressed in this representation is less than those of the proposed method, this representation is more sensitive to regression errors. When there is no constraint on the physical dimension of the box, the optimization tries to satisfy the 2D detection box constraints even if the final dimensions are not plausible for the category of the object.
In order to evaluate the robustness of this representation, we take the ground truth 3D boxes and add realistic noise either to the orientation or to the location of the center of the 3D bounding box while keeping the enclosing 2D bounding box intact. The reason that we added noise was to simulate the parameter estimation errors. 3D boxes reconstructed using this formation satisfy the 2D3D correspondences but have large box dimension errors as result of small errors in the orientation and box center estimates, as shown in Fig. 10. This investigation supports our choice of 3D regression parameters.
6 Conclusions and Future Directions
In this work, we show how to recover the 3D bounding boxes for known object categories from a single view. Using a novel MultiBin loss for orientation prediction and an effective choice of box dimensions as regression parameters, our method estimates stable and accurate posed 3D bounding boxes without additional 3D shape models, or sampling strategies with complex preprocessing pipelines. One future direction is to explore the benefits of augmenting the RGB image input in our method with a separate depth channel computed using stereo. Another is to explore 3D box estimation in video, which requires using the temporal information effectively and can enable the prediction of future object position and velocity.
References
 [1] Supplementary materials. http://bit.ly/2oYMpuw.
 [2] P. L. A. Geiger and R. Urtasun. Are we ready for autonomous driving? the KITTI vision benchmark suite. In CVPR, 2012.
 [3] Z. Cai, Q. Fan, R. Feris, and N. Vasconcelos. A unified multiscale deep convolutional neural network for fast object detection. In ECCV, 2016.
 [4] X. Chen, K. Kundu, Z. Zhang, H. Ma, S. Fidler, and R. Urtasun. Monocular 3d object detection for autonomous driving. In IEEE CVPR, 2016.
 [5] X. Chen, K. Kundu, Y. Zhu, A. Berneshawi, H. Ma, S. Fidler, and R. Urtasun. 3d object proposals for accurate object class detection. In NIPS, 2015.

[6]
V. Ferrari, T. Tuytelaars, and L. Gool.
Simultaneous object recognition and segmentation from single or
multiple model views.
International Journal of Computer Vision (IJCV)
, 62(2):159–188, 2006.  [7] R. Girshick, J. D. T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2015.
 [8] S. Hao, Q. Charles, L. Yangyan, and G. Leonidas. Render for cnn: Viewpoint estimation in images using cnns trained with rendered 3d model views. In The IEEE International Conference on Computer Vision (ICCV), December 2015.
 [9] A. Kar, S. Tulsiani, J. Carreira, and J. Malik. Categoryspecific object reconstruction from a single image. In CVPR, 2015.
 [10] V. Lepetit, F. MorenoNoguer, and P. Fua. EPnP: An Accurate O(n) Solution to the PnP Problem. International Journal of Computer Vision (IJCV), 2009.
 [11] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.Y. Fu, and A. C. Berg. Ssd: Single shot multibox detector. In ECCV, 2016.
 [12] K. Matzen and N. Snavely. Nyc3dcars: A dataset of 3d vehicles in geographic context. In ICCV, 2013.

[13]
R. Mottaghi, Y. Xiang, and S. Savarese.
A coarsetofine model for 3d pose estimation and subcategory
recognition.
In
Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition
, 2015.  [14] G. Pavlakos, X. Zhou, A. Chan, K. G. Derpanis, and K. Daniilidis. 6dof object pose from semantic keypoints. In ICRA, 2017.
 [15] B. Pepik, M. Stark, P. Gehler, T. Ritschel, and B. Schiele. 3d object class detection in the wild. In CVPR, 2015.
 [16] B. Pepik, M. Stark, P. Gehler, and B. Schiele. Teaching 3d geometry to deformable part models. In CVPR, 2012.
 [17] P. Poirson, P. Ammirato, A. Berg, and J. Kosecka. Fast single shot detection and pose estimation. In 3DV, 2016.
 [18] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi. You only look once: Unified, realtime object detection. In CVPR, 2016.
 [19] F. Rothganger, S. Lazebnik, C. Schmid, and J. Ponce. 3d object modeling and recognition using local affineinvariant image descriptors and multiview spatial constraints. IJCV, 66(3):231259, 2006.
 [20] K. Simonyan and A. Zisserman. Very deep convolutional networks for largescale image recognition. CoRR, abs/1409.1556, 2014.
 [21] S. Tulsiani and J. Malik. Viewpoints and keypoints. In CVPR, 2015.
 [22] Y. Xiang, W. Choi, Y. Lin, and S. Savarese. Datadriven 3d voxed patterns for object categorry recognition. In Proceedings of the International Conference on Learning Representation, 2015.
 [23] Y. Xiang, W. Choi, Y. Lin, and S. Savarese. Datadriven 3d voxel patterns for object category recognition. In Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition, 2015.
 [24] Y. Xiang, W. Choi, Y. Lin, and S. Savarese. Subcategoryaware convolutional neural networks for object proposals and detection. In arXiv:1604.04693. 2016.
 [25] Y. Xiang, W. Kim, W. Chen, J. Ji, C. Choy, H. Su, R. Mottaghi, L. Guibas, and S. Savarese. Objectnet3d: A large scale database for 3d object recognition. In ECCV, 2016.
 [26] Y. Xiang, R. Mottaghi, and S. Savarase. Beyond pascal: A benchmark for 3d object detection in the wild. In WACV, 2014.
 [27] R. Zhang, P. Isola, and A. Efros. Colorful image colorization. In ECCV, 2016.
 [28] B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba. Object detectors emerge in deep scene cnns. In Proceedings of the International Conference on Learning Representation, 2015.
 [29] M. Zhu, K. G. Derpanis, Y. Yang, S. Brahmbhatt, M. Zhang, C. Phillips, M. Lecce, and K. Daniilidis. Single image 3d object detection and pose estimation for grasping. In IEEE ICRA, 2013.