Subcategory-aware Convolutional Neural Networks for Object Proposals and Detection

Subcategory-aware Convolutional Neural Networks for
Object Proposals and Detection

Yu Xiang, Wongun Choi, Yuanqing Lin, and Silvio Savarese
University of Washington, NEC Laboratories America, Inc., Baidu, Inc., Stanford University,,,

In Convolutional Neural Network (CNN)-based object detection methods, region proposal becomes a bottleneck when objects exhibit significant scale variation, occlusion or truncation. In addition, these methods mainly focus on 2D object detection and cannot estimate detailed properties of objects. In this paper, we propose subcategory-aware CNNs for object detection. We introduce a novel region proposal network that uses subcategory information to guide the proposal generating process, and a new detection network for joint detection and subcategory classification. By using subcategories related to object pose, we achieve state-of-the-art performance on both detection and pose estimation on commonly used benchmarks.

1 Introduction

Convolutional Neural Networks (CNNs) have become dominating in solving different recognition problems recently. CNNs are powerful due to their capability in both representation and learning. With millions of weights in the contemporary CNNs, they are able to learn much richer representations from data. In object detection, we have witnessed the performance boost when CNNs [19, 28] are applied to commonly used benchmarks such as PASCAL VOC [9] and ImageNet [26].

However, there are two main limitations of the state-of-the-art CNN-based object detection methods [16, 15, 25]. First, they rely on region proposal methods [33, 40, 1] to generate object candidates, which are often based on low-level image features such as superpixels or edges. Although these methods work very well on PASCAL VOC [9] and ImageNet [26], however, when it comes to the KITTI dataset for autonomous driving [14] where objects have large scale variation, occlusion and truncation, these region proposal methods perform very poor as observed in our experiments. Recently, the Region Proposal Network (RPN) in [25] is able to improve over the traditional region proposal methods. However, it still cannot efficiently handle the scale change of object, occlusion and truncation. Second, the existing CNN-based object detection methods mainly focus on 2D object detection with bounding boxes. As a result, they are not able to estimate detailed information about objects such as 2D segmentation boundary, 3D pose or occlusion relationship between objects, while these information is critical for various applications such as autonomous driving, robotics and augmented reality.

Figure 1: Overview of our object detection framework. By exploiting subcategory information, we propose a new CNN architecture for region proposal and a new object detection network for joint detection and subcategory classification.

In this work, we explore subcategory information, which is widely used in traditional object detection [11, 22, 36], to tackle the aforementioned two limitations in CNN-based object detection. For region proposal generation, we introduce a new CNN architecture that uses subcategory detections as object candidates. For detection, we modify the network in Fast R-CNN [15] for joint detection and subcategory classification. Fig. 1 illustrates our object detection framework. The concept of subcategory is general here. A subcategory can be objects with similar properties or attributes such as 2D appearance, 3D pose or 3D shape. By associating object attributes to subcategories, we are able to estimate these attributes (e.g., 2D segmentation boundary or 3D pose) by conducting subcategory classification.

Specifically, motivated by the traditional detection methods that train a template or a detector for each subcategory, we introduce a subcategory convolutional (conv) layer in our Region Proposal Network (RPN), where each filter in the conv layer is trained discriminatively for subcategory detection. The subcategory conv layer outputs heat maps about the presence of certain subcategories at a specific location and scale. Using these heat maps, our RPN is able to output confident subcategory detections as proposals. For classifying region proposals and refining their locations, we introduce a new object detection network by injecting subcategory information into the network proposed in Fast R-CNN [15]. Our detection network is able to perform object detection and subcategory classification jointly. By using 3D Voxel Patterns (3DVPs) [36] as subcategories, our method is able to jointly detect the object, estimate its 3D pose, segment its boundary and estimate its occluded or truncated regions. In addition, in both our RPN and our detection CNN, we use image pyramids as input, and we introduce a new feature extrapolating layer to efficiently compute conv features in multiple scales. In this way, our method is able to detect objects with large scale variations.

We conduct experiments on the KITTI dataset [14], the PASCAL3D+ dataset [37] and the PASCAL VOC 2007 dataset [10]. Comparisons with the state-of-the-art methods on these benchmarks demonstrate the advantages of our subcategory-aware CNNs for object recognition.

2 Related Work

Subcategory in Object Detection. Subcategory has been widely utilized to facilitate object detection, and different methods of discovering object subcategories have been proposed. In DPM [11], subcategories are discovered by clustering objects according to the aspect ratio of their bounding boxes. [17] performs clustering according to the viewpoint of the object to discover subcategories. Visual subcategories are constructed by clustering in the appearance space of object [6, 22, 5, 7]. 3DVP [36] performs clustering in the 3D voxel space according to the visibility of the voxels. Unlike previous works, we utilize subcategory to improve CNN-based detection, and our framework is general to employ different types of object subcategories.

CNN-based Object Detection. We can categorize the state-of-the-art CNN-based object detection methods into two classes: one-stage detection and two-stage detection. In one-stage detection, such as the Overfeat [27] framework, a CNN directly processes an input image, and outputs object detections. In two-stage detection, such as R-CNNs [16, 15, 25], region proposals are first generated from an input image, where different region proposal methods can be employed [33, 40, 1]. Then these region proposals are fed into a CNN for classification and location refinement. It is debatable which detection paradigm is better. We adopt the two-stage detection framework in this work, and consider the region proposal process to be the coarse detection step in coarse-to-fine detection [34]. We propose a novel RPN motivated by [25] and demonstrate its advantages.

3 Subcategory-aware RPN

Ideally, we want to have a region proposal approach that can cover objects in an input image with as few proposals as possible. Since objects in images appear at different locations and scales, region proposal itself is a challenging problem. Recently, [25] proposed to tackle the region proposal problem with CNNs, demonstrating the advantages of using CNNs over traditional approaches for region proposal. In this section, we describe our subcategory-aware Region Proposal Network (RPN).

3.1 Network Architecture

We introduce a novel network architecture for generating object proposals from images. The architecture is inspired by the traditional sliding-window-based object detectors, such as the Aggregated Channel Feature (ACF) detector [8] and the Deformable Part Model (DPM) [11]. Fig. 2 illustrates the architecture of our region proposal network. i) To handle different scales of objects, we input into our RPN an image pyramid. This pyramid is processed by several convolutional (conv) and max pooling layers to extract the conv feature maps, with one conv feature map for each scale. ii) In order to speed up the computation of conv features on image pyramids, we introduce the feature extrapolating layer, which generates feature maps for scales that are not covered by the image pyramid via extrapolation. iii) After computing the extrapolated conv feature maps, we specifically design a conv layer for object subcategory detection, where each filter in the conv layer corresponds to an object subcategory. We train these filters to make sure they fire on correct locations and scales of objects in the corresponding subcategories during the network training. The subcategory conv layer outputs a heat map for each scale, where each value in the heat map indicates the confidence of an object in the corresponding location, scale and subcategory. v) Using the subcategory heat maps, we design a RoI generating layer that generates object candidates (RoIs) by thresholding the heat maps. vi) The RoIs are used in a RoI pooling layer [15] to pool conv features from the extrapolated conv feature maps. vii) Finally, our RPN terminates at two sibling layers: one that outputs softmax probability estimates over object subcategories, and the other layer that refines the RoI location with a bounding box regressor.

Figure 2: Architecture of our region proposal network. Red arrows indicate the route of derivatives in back-propagation training.

3.2 Feature Extrapolating Layer

In our RPN, we use fixed-size conv filters in the subcategory conv layer to localize objects (e.g., conv filters). In order to handle different scales of objects, we resort to image pyramids. An image pyramid consists of images with different resolutions obtained by rescaling the original image according to different sampled scales. After constructing the image pyramid for an input image, multi-resolution conv feature maps can be computed by applying several conv layers and max pooling layers to each image in the pyramid (Fig. 2). If we perform convolution on every scale explicitly, it is computationally expensive, especially when a finely-sampled image pyramid is needed as in the region proposal process. In [8], Dollár et al. demonstrate that multi-resolution image features can be approximated by extrapolation from nearby scales rather than being computed explicitly. Inspired by their work, we introduce a feature extrapolating layer to accelerate the computation of conv features on an image pyramid.

Specifically, a feature extrapolating layer takes as input feature maps that are supplied by the last conv layer for feature extraction, where equals to the number of scales in the input image pyramid. Each feature map is a multi-dimensional array of size , with rows, columns, and channels. The width and height of the feature map corresponds to the largest scale in the image pyramid, where images in smaller scales are padded with zeros in order to generate feature maps with the same size. The feature extrapolating layer constructs feature maps at intermediate scales by extrapolating features from the nearest scales among the scales using bilinear interpolation. Suppose we add intermediate scales between every th scale and th scale, . The output of the feature extrapolating layer is feature maps, each with size . Since extrapolating a multi-dimensional array is much faster than computing a conv feature map explicitly, the feature extrapolating layer speeds up the feature computation with less memory.

3.3 Subcategory Conv Layer

After computing the conv feature maps, we design a subcategory conv layer for subcategory detection. Motivated by the traditional object detection methods that train a classifier or a template for each subcategory [11, 21, 36], we train a conv filter in the subcategory conv layer to detect a specific subcategory. Suppose there are subcategories to be considered. Then, the subcategory conv layer consists of conv filters with one additional conv filter for a special “background” category. For multi-class detection (e.g., car, pedestrian, cyclist, etc.), the subcategories are the aggregation of all the subcategories from all the classes. These conv filters operate on the extrapolated conv feature maps and output heat maps that indicate the confidences of the presence of objects in the input image. We use fixed-size conv filters in this layer (e.g., conv filters), which are trained to fire on specific scales in the feature pyramid. Sec. 3.5 explains how we back-propagate errors from the loss layer to train these subcategory conv filters.

Figure 3: Architecture of our object detection network. Red arrows indicate the route of derivatives in back-propagation training.

3.4 RoI Generating Layer

The RoI generating layer takes as input heat maps and outputs a set of region proposals (RoIs), where is the number of scales in the feature pyramid after extrapolation. Each heat map is a multi-dimensional array of size for subcategories (i.e., for RoI generating, we ignore the “background” channel in the heat map). The RoI generating layer first converts each heat map into a 2D array by performing max operation over the channels for subcategory. Then, it thresholds the 2D heat map to generate RoIs. In this way, we measure the objectness of a region by aggregating information from subcategories. Different generating strategies are used in testing and training.

In testing, each location in a heat map with a score larger than a predefined threshold is used to generate RoIs. First, a canonical bounding box is centered on . The width and height of the box are the same as those of the conv filters (e.g., ) in the subcategory conv layer, which have an aspect ratio one. Second, a number of boxes centered on with the same areas as the canonical box (e.g., ) but with different aspect ratios are generated. Finally, the RoI generating layer rescales the generated boxes according to the scale of the heat map, so as to cover objects in different scales and aspect ratios.

In training, the RoI generating layer outputs hard positive RoIs and hard negative RoIs for training the subcategory conv filters, given a budget on batch size in stochastic gradient descent. First, we use the same procedure as described in testing to generate a number of bounding boxes for each location in each heat map. Second, according to the ground truth bounding boxes of objects in a training image, we compute the intersection over union (IoU) overlap between the generated boxes and the ground truth boxes. Bounding boxes with IoU overlap larger/smaller than some threshold (e.g., 0.5) are considered to be positive/negative. Finally, given the number of RoIs to be generated for each training image (i.e., batch size divided by the number of images in a batch), the RoI generating layer outputs hard positives (i.e., positive bounding boxes with lowest scores in the heat maps) and hard negatives (i.e., negative bounding boxes with highest scores in the heat maps), where is the percentage of positive examples.

3.5 Network Training

After generating RoIs, we apply the RoI pooling layer proposed in [15] to pool conv features for each RoI. Then the pooled conv features are used for two tasks: subcategory classification and bounding box regression. As illustrated in Fig. 2, our RPN has two sibling output layers. The first layer outputs a discrete probability distribution , over subcategories, which is computed by applying a softmax function over the outputs of the subcategory conv layer. The second layer outputs bounding box regression offsets for object classes (). We parameterize as in [16], which specifies a scale-invariant translation and log-space width/height shift relative to a RoI.

We employ a multi-task loss as in [15] to train our RPN for subcategory classification and bounding box regression:


where and are the truth subcategory label and the true class label respectively, is the standard cross-entropy loss, is the true bounding box regression targets for class , and is the prediction for class . We use the smoothed loss defined in [15] for the bounding box regression loss . The indicator function indicates that bounding box regression is ignored if the RoI is background (i.e., ). is a predefined weight to balance the two losses.

In training, derivatives from the loss function are back-propagated (see red arrows in Fig. 2). The two subcategory conv layers in our RPN share their weights. These weights/conv filters are updated according to the derivatives from the softmax loss function for subcategory classification, so we are able to train these filters for subcategory detection. There is no derivative flow in computing heat maps using the subcategory conv layer and in the RoI generating layer. Finally, our RPN generates confident subcategory detections as region proposals.

4 Subcategory-aware Detection Network

After the region proposal process, CNNs are utilized to classify these proposals and refine their locations [16, 15, 25]. Since region proposal significantly reduces the search space, more powerful CNNs can be used in the detection step, which usually contain several fully connected layers with high dimensions. In this section, we introduce our subcategory-aware object detection network for joint detection and subcategory classification.

4.1 Network Architecture

Fig. 3 illustrates the architecture of our detection network. The network is constructed based on the Fast R-CNN detection network [15] with a number of improvements. i) We use image pyramids to handle the scale variation of objects. After the last conv layer for feature extraction, we add the feature extrapolating layer to increase the number of scales in the conv feature pyramid. ii) Given the region proposals generated from our RPN, we employ a RoI pooling layer to pool conv features for each RoI. Each RoI is mapped to a scale in the conv feature pyramid such that smaller RoIs pool features from larger scales. iii) The pooled conv features are fed into three fully connected (FC) layers, where the last FC layer is designed for subcategory classification. For subcategories, the “subcategory FC” layer outputs a dimensional vector with one additional dimension for the background class. We consider the output, named RoI feature vector, to be an embedding in the subcategory space. iv) Finally, the network terminates at three output layers. The first output layer applies a softmax function directly on the output of the “subcategory FC” layer for subcategory classification. The other two output layers operate on the RoI feature vector and apply FC layers for object class classification and bounding box regression.

4.2 Network Training

We train our object detection network with a multi-task loss for joint object class classification, subcategory classification and bounding box regression:


where is a probability distribution over subcategories, is a probability distribution over object classes, and are the truth subcategory label and the true class label respectively, and are the predicted vector and the true vector for bounding box regression respectively, and and are predefined weights to balance the losses of different tasks. and are the standard cross-entropy loss, and is the smoothed loss as in our RPN. In back-propagation training, derivatives for the multi-task loss are back-propagated to the previous layers. Red arrows in Fig. 3 indicate the route of the derivative flow.

5 Experiments

5.1 Experimental Settings

Datasets. We evaluate our object detection framework on the KITTI detection benchmark [14], the PASCAL3D+ dataset [37] and the PASCAL VOC 2007 dataset [10]. i) The KITTI dataset consists of video frames from autonomous driving scenes, with 7,481 images for training and 7,518 images for testing. Car, pedestrian and cyclist are evaluated for object detection. Since the ground truth annotations of the KITTI test set are not released, we split the KITTI training images into a train set and a validation set for analyses as in [36]. ii) The PASCAL3D+ dataset augments 12 rigid categories in the PASCAL VOC 2012 [9] with 3D annotations. Each object in the 12 categories is registered with a 3D CAD model. The train set of PASCAL VOC 2012 is used for training (5,717 images), while the val set is used for testing (5,823 images). iii) The PASCAL VOC 2007 dataset [10] contains 5,011 training images and 4,952 testing images on 20 categories.

Evaluation Metrics. On KITTI, we evaluate our detection framework at three levels of difficulty as suggested by [13], i.e., easy, moderate and hard, where the difficulty is measured by the minimal scale of object to be considered and the occlusion and truncation of the object. Average Precision (AP) [9] is used to measure the detection performance, where 70%, 50%, and 50% overlap thresholds are adopted by the KITTI benchmark for car, pedestrian and cyclist respectively. To evaluate joint detection and orientation estimation on KITTI, [14] introduces Average Orientation Similarity (AOS), which evaluates the orientation similarity between detections and ground truths at different detection recalls. [36] introduces Average Segmentation Accuracy (ASA) for joint detection and segmentation, and Average Location Precision (ALP) for joint detection and 3D location similar to AOS. We also use these metrics here. On PASCAL3D+ and PASCAL VOC 2007, the standard AP with 50% overlap ratio is adopted to evaluate object detection. For joint detection and pose estimation, we use the Average Viewpoint Precision (AVP) suggested by [37], where a detection is considered to be a true positive if its location and viewpoint are both correct.

Subcategories. We experiment with both 2D subcategories and 3D subcategories. For 2D subcategories, we cluster objects using 2D image features (i.e., aggregated channel features from [8]). Only bounding box annotations are needed for 2D subcategories. When additional annotations are available, we can obtain 3D subcategories. We adopt the 3D Voxel Pattern (3DVP) representation [36] for rigid objects (i.e., car in KITTI and the 12 categories in PASCAL3D+), which jointly models object pose, occlusion and truncation in the clustering process. Each 3DVP is considered to be a subcategory. For pedestrian and cyclist in KITTI, we perform clustering according to the object orientation, and each cluster is considered to be a subcategory. In this way, by subcategory classification, we can transfer the meta data carried by 3DVPs (3D pose, segmentation boundary and occluded regions) to the detected object.

For validation on KITTI (3,682 images for training, 3,799 images for testing), we use 173 subcategories (125 3DVPs for car, 24 poses for pedestrian and cyclist each), while for testing on KITTI (7,481 images for training, 7,518 images for testing), we use 275 subcategories (227 3DVPs for car, 24 poses for pedestrian and cyclist each). 3DVPs are discovered with affinity propagation clustering [12], which automatically discovers the number of clusters from the data. For PASCAL3D+, 337 3DVPs are discovered among the 12 categories. For PASCAL VOC 2007, we use 240 2D subcategories, with 12 for each class. Correspondingly, the output number of the subcategory conv layer in our RPN and that of the subcategory FC layer in our detection network equal to the number of subcategory plus one.

Region Proposal Network Hyper-parameters. In our RPN, we use 5 scales for KITTI in the input image pyramid and 4 scales for PASCAL (both PASCAL3D+ and PASCAL VOC 2007), where each number indicates the rescaling factor with respect to the original image size. Objects in PASCAL have smaller scale variation compared to objects in KITTI. Adding larger scales for PASCAL only results in marginal improvement but significantly increases the computation. The feature extrapolating layer extrapolates 4 scales with equal intervals between every two input scales, so the final conv feature pyramid has 21 scales for KITTI and 16 scales for PASCAL. In the RoI generating layer, each location in a heat map generates 7 boxes with 7 different aspect ratios for KITTI and 5 aspect ratios for PASCAL, where each number indicates the ratio between the height and the width of the bounding box. In training the RPN, each SGD mini-batch is constructed from a single image, chosen uniformly at random. A mini-batch has size 128, with 64 positive RoIs and 64 negative RoIs, where the IoU threshold is 70% for both KITTI and PASCAL.

Detection Network Hyper-parameters. In our detection network, we use 4 scales in the input image pyramid for KITTI and 2 scales for PASCAL, both with 4 scales extrapolated between every two scales. Each SGD mini-batch is constructed from 2 images. A mini-batch has size 128, with 64 RoIs from each image. 25% of the RoIs are positive, where the IoU threshold is 70% for car in KITTI, and 50% for the other categories. The same SGD hyper-parameters are used as in [15] for region proposal and detection.

Fine-tuning Pre-trained Networks. Our framework is implemented in Caffe [18]. We initialize the conv layers for feature extraction in both networks and the two FC layers before subcategory FC layer in the detection network with pre-trained networks on ImageNet [26]. On KITTI, we experiment with the AlexNet [19], the VGG16 network [28] and the GoogleNet [30]. On PASCAL, we fine-tune the VGG16 network [28].

5.2 Analysis on KITTI Validation Set

Methods Easy Moderate Hard
Selective Search [33] 58.17 42.12 37.62
Edge Boxes [40] 81.40 61.84 55.68
RPN [25] 98.84 97.37 95.31
Ours 99.27 96.28 93.14
Selective Search [33] 68.95 57.65 52.57
Edge Boxes [40] 86.15 71.88 65.39
RPN [25] 98.88 91.69 88.64
Ours 99.44 93.46 91.02
Selective Search [33] 57.05 49.59 49.44
Edge Boxes [40] 56.11 46.52 45.72
RPN [25] 96.55 91.80 89.41
Ours 99.67 93.03 91.64
Table 1: Region proposal performance in terms of recall on the KITTI validation set.

Region Proposal Evalutaion on Recall. We evaluate the detection recall of our RPN and compare it with the state-of-the-art methods in Table 1 on the KITTI validation set. For each image, we use 2k proposals for all the methods. First, two popular methods that work well on PASCAL VOC [9], Selective Search [33] and Edge Boxes [40], do not perform well on KITTI, mainly because objects in KITTI exhibit more significant scale variation, occlusion and truncation. It is challenging for a bottom-up proposal method to achieve high recall under a small budget (i.e, 2k boxes per image). Second, the RPN in Faster R-CNN [25] performs much better than Selective Search and Edge Boxes, which demonstrates the ability of discriminatively trained CNNs for region proposal. But we have to increase its parameter setting from 3 scales and 3 aspect ratios in [25] to 10 scales and 7 aspect ratios in order to make it work on KITTI. Finally, our RPN performs on par with Faster R-CNN on car, and outperforms it on pedestrian and cyclist using the same number of proposals per image. Our new architecture can better handle scale variation using image pyramid. It also benefits from data mining hard training examples in our RoI generating layer.

Object Detection (AP) Orientation (AOS)
  Methods Easy Moderate Hard Easy Moderate Hard
  RPN [25]+Our det. net (unshared) 89.29 82.58 70.12 87.70 80.47 67.83
  RPN [25]+Our det. net (shared) 87.67 82.21 70.10 86.58 80.27 67.90
  Ours (unshared) 95.77 86.64 74.07 94.55 85.03 72.21
  RPN [25]+Our det. net (unshared) 83.07 69.32 63.46 71.43 58.67 53.58
  RPN [25]+Our det. net (shared) 82.73 68.28 62.30 70.31 56.94 51.87
  Ours (unshared) 86.43 69.95 64.03 73.91 58.91 53.79
  RPN [25]+Our det. net (unshared) 69.23 54.83 51.41 61.25 46.44 43.07
  RPN [25]+Our det. net (shared) 71.24 56.69 52.91 63.21 48.68 45.16
  Ours (unshared) 74.92 59.13 55.03 65.79 50.46 46.57
Table 2: AP/AOS comparison using different region proposals but the same detection network on the KITTI validation set.

Region Proposal Evalutaion on Detection and Oritentaion Estimation. Detection recall measures the coverage of region proposals, which cannot demonstrate the quality of the region proposals for detection. In this experiment, we directly measure the detection and orientation estimation performance using different region proposals. Table 2 presents the detection and orientation estimation results using RPN in Faster R-CNN [25] and the RPN we propose, while keeping the detection network the same as described in Sec. 4. We compare our RPN with two variations of the RPN in Faster R-CNN. For the first model, the RPN and the detection network are trained independently to each other (“unshared”). For the second model, the RPN and the detection network share their conv layers for feature extraction in order to save computation on convolution (“shared”). The sharing is achieved by the four-step alternating optimization training algorithm described in [25]. By comparing the two models in Table 2, we find that sharing conv layers hurts the performance on car and pedestrian, but improves the performance on cyclist. Car and pedestrian have much more training examples available than cyclist. With enough training data, the RPN and the detection network trained independently can develop conv features suitable for its own task. In this case, shared conv features degrade the performance. However, when the training data is insufficient, sharing conv features can help.

Object Detection (AP) Orientation (AOS)
  Methods Easy Moderate Hard Easy Moderate Hard
  RPN [25] + [15] 82.91 77.83 66.25 N/A N/A N/A
  Our RPN + [15] 95.14 85.20 72.12 N/A N/A N/A
  Ours w/o Pose 94.66 84.94 72.43 N/A N/A N/A
  Ours w/o Extra 95.51 86.29 73.68 94.26 84.69 71.80
  Ours Full 95.77 86.64 74.07 94.55 85.03 72.21
  RPN [25] + [15] 83.31 68.39 62.56 N/A N/A N/A
  Our RPN + [15] 85.96 68.55 62.55 N/A N/A N/A
  Ours w/o Pose 83.22 67.61 62.03 N/A N/A N/A
  Ours w/o Extra 84.86 68.87 63.09 74.05 59.06 54.05
  Ours Full 86.43 69.95 64.03 73.91 58.91 53.79
  RPN [25] + [15] 56.36 46.36 42.77 N/A N/A N/A
  Our RPN + [15] 71.00 55.88 51.72 N/A N/A N/A
  Ours w/o Pose 71.12 57.52 53.77 N/A N/A N/A
  Ours w/o Extra 71.23 55.56 51.61 61.89 47.30 43.69
  Ours Full 74.92 59.13 55.03 65.79 50.46 46.57
Table 3: Comparison of detection networks on KITTI val set.
Methods Easy Moderate Hard Easy Moderate Hard Easy Moderate Hard
Detection & Segmentation (ASA) Detection & 3D Loc.2m (ALP) Detection & 3D Loc.1m (ALP)
DPM [11] 38.09 29.42 22.65 40.21 29.02 22.36 24.44 18.04 14.13
3DVP [36] 65.73 54.60 45.62 66.56 51.52 42.39 45.61 34.28 27.72
Ours 73.64 66.22 56.34 70.52 56.20 47.03 39.28 31.04 25.96
Table 4: 2D segmentation and 3D location of car on KITTI val set.
Figure 4: Examples of detections from our method. Detections with score larger than 0.5 on KITTI and 0.7 on PASCAL3D+ are shown.
Object Detection (AP) Orientation (AOS)
   Methods Easy Moderate Hard Easy Moderate Hard
   ACF [8] 55.89 54.74 42.98 N/A N/A N/A
   DPM [11] 68.02 56.48 44.18 67.27 55.77 43.59
   DPM-VOC+VP [24] 74.95 64.71 48.76 72.28 61.84 46.54
   OC-DPM [23] 74.94 65.95 53.86 73.50 64.42 52.40
   SubCat [22] 84.14 75.46 59.71 83.41 74.42 58.83
   Regionlets [35] 84.75 76.45 59.70 N/A N/A N/A
   AOG [20] 84.80 75.94 60.70 33.79 30.77 24.75
   Faster R-CNN [25] 86.71 81.84 71.12 N/A N/A N/A
   3DVP [36] 87.46 75.77 65.38 86.92 74.59 64.11
   3DOP [4] 93.04 88.64 79.10 91.44 86.10 76.52
   Mono3D [3] 92.33 88.66 78.96 91.01 86.62 76.84
   SDP+RPN [38] 90.14 88.85 78.38 N/A N/A N/A
   MS-CNN [2] 90.03 89.02 76.11 N/A N/A N/A
   SubCNN-VGG16 (Ours) 90.74 88.55 77.95 90.49 87.88 77.10
   SubCNN-GoogleNet (Ours) 90.81 89.04 79.27 90.67 88.62 78.68
   ACF [8] 44.49 39.81 37.21 N/A N/A N/A
   DPM [11] 47.74 39.36 35.95 43.58 35.49 32.42
   DPM-VOC+VP [24] 59.48 44.86 40.37 53.55 39.83 35.73
   FilteredICF [39] 67.65 56.75 51.12 N/A N/A N/A
   DeepParts [31] 70.49 58.67 52.78 N/A N/A N/A
   Regionlets [35] 73.14 61.15 55.21 N/A N/A N/A
   Faster R-CNN [25] 78.86 65.90 61.18 N/A N/A N/A
   Mono3D [3] 80.35 66.68 63.44 71.15 58.15 54.94
   3DOP [4] 81.78 67.47 64.70 72.94 59.80 57.03
   SDP+RPN [38] 80.09 70.16 64.82 N/A N/A N/A
   MS-CNN [2] 83.92 73.70 68.31 N/A N/A N/A
   SubCNN-VGG16 (Ours) 79.13 66.13 61.27 72.61 59.40 54.78
   SubCNN-GoogleNet (Ours) 83.28 71.33 66.36 78.45 66.28 61.36
   DPM [11] 35.04 27.50 26.21 27.54 22.07 21.45
   DPM-VOC+VP [24] 42.43 31.08 28.23 30.52 23.17 21.58
   Regionlets [35] 70.41 58.72 51.83 N/A N/A N/A
   Faster R-CNN [25] 72.26 63.35 55.90 N/A N/A N/A
   Mono3D [3] 76.04 66.36 58.87 65.56 54.97 48.77
   3DOP [4] 78.39 68.94 61.37 70.13 58.68 52.35
   SDP+RPN [38] 81.37 73.74 65.31 N/A N/A N/A
   MS-CNN [2] 84.06 75.46 66.07 N/A N/A N/A
   SubCNN-VGG16 (Ours) 74.40 61.98 54.75 63.74 52.06 45.93
   SubCNN-GoogleNet (Ours) 79.48 71.06 62.68 72.00 63.65 56.32
Table 5: Comparison between different methods on KITTI test set.

In Table 2, by using region proposals from our RPN, we achieve better performance on detection and orientation estimation across all the three categories. The experimental results demonstrate the advantages of our RPN. We also tried to share the conv layers in our RPN and our detection network. However, since the architecture of our RPN after the conv layers for feature extraction is quite different from that of the detection network, we found that the training cannot converge, which verifies our observation that the RPN and the detection network have developed their own conv features that are suitable for its own task.

Detection Network Evalutaion. In Table 3, we first show that our RPN achieves significantly better performance than the RPN in [25] when the two RPNs are used with Fast R-CNN [15] on the KITTI validation set respectively. Then, we use region proposals from our RPN and compare different variations of the network architecture for detection. i) “Ours w/o Pose” indicates using 2D subcategories from clustering on 2D appearances of objects without using additional pose information. As we can see, our method still outperforms Fatser R-CNN [25] in this case. ii) By using pose information to obtain subcategories, our detection network is also able to estimate the orientation of the object. “Ours w/o Extra” refers to a network without feature extrapolating. By augmenting the network with the feature extrapolating layer, our full model (“Ours Full” in Table 3) further boosts the performance, except for a minor drop on orientation estimation of pedestrian.

Methods aeroplane bicycle boat bottle bus car chair diningtable motorbike sofa train tvmonitor Average
Object Detection (AP)
DPM [11] 42.2 49.6 6.0 20.0 54.1 38.3 15.0 9.0 33.1 18.9 36.4 33.2 29.6
R-CNN [16] 72.4 68.7 34.0 73.0 62.3 33.0 35.2 70.7 49.6 70.1 57.2 56.9
Ours w/o Extra 76.3 73.4 43.4 44.7 74.5 63.3 35.4 32.4 74.9 51.9 74.1 60.9 58.8
Ours Full 76.5 74.0 42.4 47.0 74.5 64.7 38.5 38.6 76.7 55.1 74.8 65.3 60.7
Joint Object Detection and Pose Estimation (4 Views AVP)
VDPM [37] 34.6 41.7 1.5 26.1 20.2 6.8 3.1 30.4 5.1 10.7 34.7 19.5
DPM-VOC+VP [24] 39.4 43.9 0.3 49.1 37.6 6.1 3.0 32.2 11.8 12.5 33.2 24.5
Ours w/o Extra 62.3 56.6 18.0 62.0 40.9 19.3 14.9 62.3 44.1 58.1 58.5 45.2
Ours Full 61.4 60.4 21.1 63.0 48.7 23.8 17.4 60.7 47.8 55.9 62.3 47.5
Joint Object Detection and Pose Estimation (8 Views AVP)
VDPM [37] 23.4 36.5 1.0 35.5 23.5 5.8 3.6 25.1 12.5 10.9 27.4 18.7
DPM-VOC+VP [24] 29.7 42.6 0.4 39.5 36.8 9.4 2.6 32.9 11.0 10.3 28.6 22.2
Ours w/o Extra 45.9 25.5 11.1 37.7 34.6 15.2 7.4 37.1 33.0 42.5 24.3 28.6
Ours Full 48.8 36.3 16.4 39.8 37.2 19.1 13.2 37.0 32.1 44.4 26.9 31.9
Joint Object Detection and Pose Estimation (16 Views AVP)
VDPM [37] 15.4 18.4 0.5 46.9 18.1 6.0 2.2 16.1 10.0 22.1 16.3 15.6
DPM-VOC+VP [24] 17.0 24.7 1.0 49.0 30.1 6.6 3.0 17.2 7.7 20.4 20.2 17.9
Ours w/o Extra 23.3 19.2 8.4 52.6 27.0 9.9 5.1 23.6 20.9 27.4 27.9 22.3
Ours Full 28.0 23.7 10.7 50.8 31.4 14.3 9.4 23.4 19.5 30.7 27.8 24.5
Joint Object Detection and Pose Estimation (24 Views AVP)
VDPM [37] 8.0 14.3 0.3 39.2 13.7 4.4 3.6 10.1 8.2 20.0 11.2 12.1
DPM-VOC+VP [24] 10.6 16.7 2.2 43.5 25.4 4.4 2.3 11.3 4.9 22.4 14.4 14.4
Ours w/o Extra 18.9 10.5 6.7 34.3 23.3 8.3 6.5 20.6 17.5 33.8 17.0 17.9
Ours Full 20.7 16.4 7.9 34.6 24.6 9.4 7.6 19.9 20.0 32.7 18.2 19.3
Table 6: AP/AVP Comparison between different methods on the PASCAL3D+ dataset.
mAP aero bike bird boat bottle bus car cat chair cow table dog horse mbike person plant sheep sofa train tv
[15] 66.9 74.5 78.3 69.2 53.2 36.6 77.3 78.2 82.0 40.7 72.7 67.9 79.6 79.2 73.0 69.0 30.1 65.4 70.2 75.8 65.8
[25] 69.9 70.0 80.6 70.1 57.3 49.9 78.2 80.4 82.0 52.2 75.3 67.2 80.3 79.8 75.0 76.3 39.1 68.3 67.3 81.1 67.6
Ours 68.5 70.2 80.5 69.5 60.3 47.0 79.0 78.7 84.2 48.5 73.9 63.0 82.7 80.6 76.0 70.2 38.2 62.4 67.7 77.7 60.5
Table 7: AP comparison between Fast R-CNN [15], Faster R-CNN [25] and our method on PASCAL VOC 2007 dataset.

Evaluation on 2D Segmentation and 3D Localization. 3DVPs enable us to transfer the meta data to the detect objects, so our method is able to segment the boundary of object. In addition, after detecting the objects and estimating their 3D poses, we can back-project them into 3D using the camera parameters provided in KITTI, so as to evaluate the 3D localization performance. In table 4, we compare our method on 2D segmentation and 3D localization of car with DPM [11] and 3DVP [36] on the KITTI validation set. We have significantly improve the segmentation accuracy and 3D location accuracy when the 2-meter threshold is used (i.e., a detection within 2 meters from the ground truth location is considered to be correct). Surprisingly, [36] obtains better 3D localization accuracy with the 1-meter threshold, which indicates that more detections from [36] are within the 1-meter distance from the ground truth.

5.3 KITTI Test Set Evaluation

To compare with the state-of-the-art methods on the KITTI detection benchmark, we train our RPN and detection network with all the KITTI training data, and then test our method on the KITTI test set by submitting our results to [13]. Table 5 presents the detection and orientation estimation results on the three categories, where we compare our method (SubCNN) with different methods evaluated on KITTI. We have experimented fine-tuning both the VGG16 network and the GoogleNet for the detection network. Our method ranks on top among all the published methods. The experimental results demonstrate the ability of our CNNs in using subcategory information for detection and orientation estimation. Fig. 4 presents some examples of our detection and 3D localization results on KITTI.

5.4 Evaluation on PASCAL3D+ and PASCAL VOC

We also evaluate our detection framework on the 12 categories in PASCAL3D+. Table 6 presents the detection results in AP and the joint detection and pose estimation results in AVP. After generating region proposals from our RPN, we experiment with our detection networks with and without feature extrapolation. First, in terms of detection, our method improves over R-CNN [16] on all 12 categories. Second, in terms of join detection and pose estimation, our method significantly outperforms two state-of-the-art methods: VDPM [37] and DPM-VOC+VP [24]. Third, feature extrapolation helps both detection and pose estimation on PASCAL3D+. It is worth mentioning that PASCAL3D+ has much fewer training examples in each subcategory compared to KITTI. Our pose estimation performance is limited by the number of training examples available in PASCAL3D+. We also note that the two recent methods [32, 29] achieve very appealing pose estimation results on PASCAL3D+. However, both of them utilize additional training images (ImageNet images in [32] and synthetic images in [29]) and conduct detection and pose estimation with separate CNNs, where a CNN is specifically designed for pose estimation. Our method is capable of simultaneous object detection and viewpoint estimation even in the presence of limited training examples per viewpoint. Fig. 4 shows some detection results from our method. We again transfer segmentation masks of 3DVPs to the detected objects according to the subcategory classification results. Please see supplementary material for more examples.

To demonstrate that our method also works on datasets with bounding box annotations only, we have conducted experiments on the PASCAL VOC 2007 dataset, where subcategories are obtained by clustering on image features. In table 7, we compare with Fast R-CNN [15] and Faster R-CNN [25]. We have achieved comparable performance to the state-of-the-arts. Region proposal on PASCAL VOC is relatively easy compared to KITTI. So we do not see much improvement with our RPN on PASCAL VOC 2007.

6 Conclusion

In this work, we explore how subcategory information can be exploited in CNN-based object detection. We have proposed a novel region proposal network, and a novel object detection network, where we explicitly employ subcategory information to improve region proposal generation, object detection and object pose estimation. Our subcategory-aware CNNs can also handle the scale variation of objects using image pyramids in an efficient way. We have conducted extensive experiments on the KITTI detection benchmark, the PASCAL3D+ dataset and PASCAL VOC 2007 dataset. Our method achieves the state-of-the-art results on these benchmarks.

Acknowledgments. We acknowledge the support of Nissan grant 1188371-1-UDARQ and MURI grant 1186514-1-TBCJE.


  • [1] P. Arbelaez, J. Pont-Tuset, J. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping. In CVPR, pages 328–335, 2014.
  • [2] Z. Cai, Q. Fan, R. Feris, and N. Vasconcelos. A unified multi-scale deep convolutional neural network for fast object detection. In ECCV, 2016.
  • [3] X. Chen, K. Kundu, Z. Zhang, H. Ma, S. Fidler, and R. Urtasun. Monocular 3d object detection for autonomous driving. In CVPR, 2016.
  • [4] X. Chen, K. Kundu, Y. Zhu, A. G. Berneshawi, H. Ma, S. Fidler, and R. Urtasun. 3d object proposals for accurate object class detection. In NIPS, pages 424–432, 2015.
  • [5] X. Chen, A. Shrivastava, and A. Gupta. Enriching visual knowledge bases via object discovery and segmentation. In CVPR, pages 2035–2042, 2014.
  • [6] S. K. Divvala, A. A. Efros, and M. Hebert. How important are “deformable parts” in the deformable parts model? In ECCVW, pages 31–40, 2012.
  • [7] S. K. Divvala, A. Farhadi, and C. Guestrin. Learning everything about anything: Webly-supervised visual concept learning. In CVPR, pages 3270–3277, 2014.
  • [8] P. Dollár, R. Appel, S. Belongie, and P. Perona. Fast feature pyramids for object detection. TPAMI, 36(8):1532–1545, 2014.
  • [9] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2012 (VOC2012) Results.
  • [10] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The pascal visual object classes (voc) challenge. International Journal of Computer Vision, 88(2):303–338, June 2010.
  • [11] P. F. Felzenszwalb, R. B. Girshick, D. McAllester, and D. Ramanan. Object detection with discriminatively trained part-based models. TPAMI, 32(9):1627–1645, 2010.
  • [12] B. J. Frey and D. Dueck. Clustering by passing messages between data points. science, 315(5814):972–976, 2007.
  • [13] A. Geiger, P. Lenz, C. Stiller, and R. Urtasun. Kitti object detection benchmark. Accessed: 2016-03-13.
  • [14] A. Geiger, P. Lenz, and R. Urtasun. Are we ready for autonomous driving? the kitti vision benchmark suite. In CVPR, pages 3354–3361, 2012.
  • [15] R. Girshick. Fast r-cnn. In ICCV, pages 1440–1448, 2015.
  • [16] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, pages 580–587, 2014.
  • [17] C. Gu and X. Ren. Discriminative mixture-of-templates for viewpoint classification. In ECCV, pages 408–421. 2010.
  • [18] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint arXiv:1408.5093, 2014.
  • [19] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, pages 1097–1105, 2012.
  • [20] B. Li, T. Wu, and S.-C. Zhu. Integrating context and occlusion for car detection by hierarchical and-or model. In ECCV, pages 652–667. 2014.
  • [21] T. Malisiewicz, A. Gupta, and A. A. Efros. Ensemble of exemplar-svms for object detection and beyond. In ICCV, pages 89–96, 2011.
  • [22] E. Ohn-Bar and M. M. Trivedi. Learning to detect vehicles by clustering appearance patterns. IEEE Transactions on Intelligent Transportation Systems, 16(5):2511–2521, 2015.
  • [23] B. Pepik, M. Stark, P. Gehler, and B. Schiele. Occlusion patterns for object class detection. In CVPR, pages 3286–3293, 2013.
  • [24] B. Pepik, M. Stark, P. Gehler, and B. Schiele. Multi-view and 3d deformable part models. TPAMI, 37(11):2232–2245, 2015.
  • [25] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In NIPS, pages 91–99, 2015.
  • [26] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. IJCV, pages 1–42, 2015.
  • [27] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. arXiv preprint arXiv:1312.6229, 2013.
  • [28] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
  • [29] 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, pages 2686–2694, 2015.
  • [30] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In CVPR, 2015.
  • [31] Y. Tian, P. Luo, X. Wang, and X. Tang. Deep learning strong parts for pedestrian detection. In ICCV, pages 1904–1912, 2015.
  • [32] S. Tulsiani and J. Malik. Viewpoints and keypoints. In CVPR, pages 1510–1519, 2015.
  • [33] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 104(2):154–171, 2013.
  • [34] P. Viola and M. J. Jones. Robust real-time face detection. IJCV, 57(2):137–154, 2004.
  • [35] X. Wang, M. Yang, S. Zhu, and Y. Lin. Regionlets for generic object detection. In ICCV, pages 17–24, 2013.
  • [36] Y. Xiang, W. Choi, Y. Lin, and S. Savarese. Data-driven 3d voxel patterns for object category recognition. In CVPR, pages 1903–1911, 2015.
  • [37] Y. Xiang, R. Mottaghi, and S. Savarese. Beyond pascal: A benchmark for 3d object detection in the wild. In WACV, pages 75–82, 2014.
  • [38] F. Yang, W. Choi, and Y. Lin. Exploit all the layers: Fast and accurate cnn object detector with scale dependent pooling and cascaded rejection classifiers. In CVPR, 2016.
  • [39] S. Zhang, R. Benenson, and B. Schiele. Filtered channel features for pedestrian detection. In CVPR, pages 1751–1760, 2015.
  • [40] C. L. Zitnick and P. Dollár. Edge boxes: Locating object proposals from edges. In ECCV, pages 391–405. 2014.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description