A Torch implementation of the object detection network from "A MultiPath Network for Object Detection" (https://arxiv.org/abs/1604.02135)
The recent COCO object detection dataset presents several new challenges for object detection. In particular, it contains objects at a broad range of scales, less prototypical images, and requires more precise localization. To address these challenges, we test three modifications to the standard Fast R-CNN object detector: (1) skip connections that give the detector access to features at multiple network layers, (2) a foveal structure to exploit object context at multiple object resolutions, and (3) an integral loss function and corresponding network adjustment that improve localization. The result of these modifications is that information can flow along multiple paths in our network, including through features from multiple network layers and from multiple object views. We refer to our modified classifier as a "MultiPath" network. We couple our MultiPath network with DeepMask object proposals, which are well suited for localization and small objects, and adapt our pipeline to predict segmentation masks in addition to bounding boxes. The combined system improves results over the baseline Fast R-CNN detector with Selective Search by 66 overall and by 4x on small objects. It placed second in both the COCO 2015 detection and segmentation challenges.READ FULL TEXT VIEW PDF
Object detection plays an important role in various visual applications....
The Imagenet Large Scale Visual Recognition Challenge (ILSVRC) is the on...
It is hard to detect on-road objects under various lighting conditions. ...
We present an object representation, called Dense RepPoints, for
We address the problem of open-vocabulary object retrieval and localizat...
In this work, we describe our approach to pneumonia classification and
Channel pruning is one of the important methods for deep model compressi...
A Torch implementation of the object detection network from "A MultiPath Network for Object Detection" (https://arxiv.org/abs/1604.02135)
Awesome List of my own!
A Torch implementation of the object detection network from "A MultiPath Network for Object Detection" (https://arxiv.org/abs/1604.02135)
Object classification [Krizhevsky et al.(2012)Krizhevsky, Sutskever, and Hinton, Simonyan and Zisserman(2015), Szegedy et al.(2015)Szegedy, Liu, Jia, Sermanet, Reed, Anguelov, Erhan, Vanhoucke, and Rabinovich] and object detection [Sermanet et al.(2014)Sermanet, Eigen, Zhang, Mathieu, Fergus, and LeCun, Szegedy et al.(2014)Szegedy, Reed, Erhan, and Anguelov, Girshick(2015)]
have rapidly progressed with advancements in convolutional neural networks (CNNs)[LeCun et al.(1998)LeCun, Bottou, Bengio, and Haffner] and the advent of large visual recognition datasets [Everingham et al.(2010)Everingham, Gool, Williams, Winn, and Zisserman, Deng et al.(2009)Deng, Dong, Socher, Li, Li, and Fei-Fei, Lin et al.(2015)Lin, Maire, Belongie, Bourdev, Girshick, Hays, Perona, Ramanan, Zitnick, and Dollár]. Modern object detectors predominantly follow the paradigm established by Girshick et al. in their seminal work on Region CNNs [Girshick et al.(2014)Girshick, Donahue, Darrell, and Malik]: first an object proposal algorithm [Hosang et al.(2015)Hosang, Benenson, Dollár, and Schiele] generates candidate regions that may contain objects, second, a CNN classifies each proposal region. Most recent detectors follow this paradigm [Gidaris and Komodakis(2015), Girshick(2015), Ren et al.(2015)Ren, He, Girshick, and Sun] and they have achieved rapid and impressive improvements in detection performance.
Except for concurrent work (e.g. [Bell et al.(2016)Bell, Zitnick, Bala, and Girshick, He et al.(2016)He, Zhang, Ren, and Sun, Dai et al.(2016)Dai, He, and Sun]), most previous object detection work has focused on the PASCAL [Everingham et al.(2010)Everingham, Gool, Williams, Winn, and Zisserman]
and ImageNet[Deng et al.(2009)Deng, Dong, Socher, Li, Li, and Fei-Fei] detection datasets. Recently, the COCO dataset [Lin et al.(2015)Lin, Maire, Belongie, Bourdev, Girshick, Hays, Perona, Ramanan, Zitnick, and Dollár]
was introduced to push object detection to more challenging settings. The dataset contains 300,000 images of fully segmented object instance in 80 categories, with an average of 7 object instances per image. COCO introduces a number of new challenges compared to previous object detection datasets: (1) it contains objects at a broad range of scales, including a high percentage of small objects, (2) objects are less iconic, often in non-standard configurations and amid clutter or heavy occlusion, and (3) the evaluation metric encourages more accurate object localization.
In this paper, we revisit recent improvements in object detection by performing extensive experiments on the COCO dataset. In particular, we begin with the Fast R-CNN object detector [Girshick(2015)], and test a number of intuitive modifications to explicitly address the unique challenges of this dataset, including small object detection, detection of objects in context, and improved localization. Our goal is to adapt the highly successful Fast R-CNN object detector to perform better in these settings, and we use COCO to drive our experiments.
Inspired by recent advances in object detection, we implement three network modifications: (1) a multi-stage feature aggregator that implements skip connections in intermediate network layers to more accurately detect objects at multiple scales, (2) a foveal structure in the classifier network that helps improve localization by looking at multiple image contexts, and (3) a novel loss function and corresponding network adjustment that optimize an integral of localization overlaps and encourage higher-precision localization. These three modifications allow information to flow along multiple paths in our network, including through features from multiple network layers and from multiple object views, see Figure 1. We therefore refer to our approach as a ‘MultiPath’ network.
We train our MultiPath detector using the recently proposed DeepMask object proposals [Pinheiro et al.(2015)Pinheiro, Collobert, and Dollár, Pinheiro et al.(2016)Pinheiro, Lin, Collobert, and Dollár], which, like our model, are well adapted to the COCO dataset. Our combined system, using DeepMask proposals and our MultiPath classifier, achieves a detection score of 33.5 average precision (AP) for detection with an ensemble of 6 models. Compared to the baseline Fast R-CNN detector [Girshick(2015)] with Selective Search proposals [Uijlings et al.(2013)Uijlings, van de Sande, Gevers, and Smeulders], which achieves an AP of 19.3, this represents a 66% improvement in performance. Moreover, for small objects we improve AP by nearly 4. We also adopt our system to generate segmentation masks, and achieve an AP of 25.1 on the segmentation task.
Our system placed second in the 2015 COCO Detection Challenge in both the bounding box and segmentation tracks. Only the deeper ResNet classifier [He et al.(2016)He, Zhang, Ren, and Sun] outperformed our approach. Potentially, ResNet could be used as the feature extractor in our MultiPath network.
Object detection is a fundamental and heavily-researched task in computer vision. Until recently, the sliding window paradigm was dominant[Viola and Jones(2004), Dollár et al.(2014)Dollár, Appel, Belongie, and Perona], especially for face and pedestrian detection. Deformable part models [Felzenszwalb et al.(2010)Felzenszwalb, Girshick, McAllester, and Ramanan] followed this framework but allowed for more object variability and thus found success across general object categories; likewise, Sermanet et al. [Sermanet et al.(2014)Sermanet, Eigen, Zhang, Mathieu, Fergus, and LeCun, Sermanet et al.(2013)Sermanet, Kavukcuoglu, Chintala, and LeCun] showcased the use of CNNs for general object detection in a sliding window fashion. More recent detectors follow the region-proposal paradigm established by Girshick et al. [Girshick et al.(2014)Girshick, Donahue, Darrell, and Malik] in which a CNN is used to classify regions generated by an object proposal algorithm [Hosang et al.(2015)Hosang, Benenson, Dollár, and Schiele]. Many recent detectors follow this setup [Gidaris and Komodakis(2015), Szegedy et al.(2014)Szegedy, Reed, Erhan, and Anguelov, He et al.(2014)He, Zhang, Ren, and Sun, Girshick et al.(2014)Girshick, Donahue, Darrell, and Malik, Girshick(2015), Ren et al.(2015)Ren, He, Girshick, and Sun], including our own work, which uses the Fast R-CNN detector as its staring point [Girshick(2015)]. We next discuss in more detail specific innovations in this paradigm and how they relate to our approach.
Context: Context is known to play an important role in visual recognition [Torralba(2003)]. Numerous ideas for exploiting context in CNNs have been proposed. Sermanet et al. [Sermanet et al.(2013)Sermanet, Kavukcuoglu, Chintala, and LeCun] used two contextual regions centered on each object for pedestrian detection. In [Szegedy et al.(2014)Szegedy, Reed, Erhan, and Anguelov], in addition to region specific features, features from the entire image are used to improve region classification. He et al. [He et al.(2014)He, Zhang, Ren, and Sun] implement context in a more implicit way by aggregating CNN features prior to classification using different sized pooling regions. More recently, [Gidaris and Komodakis(2015)] proposed to use ten contextual regions around each object with different crops. Our approach is most related to [Gidaris and Komodakis(2015)], however, we use just four contextual regions organized in a foveal structure and importantly our classifier is trained jointly end-to-end.
Skip connections: Sermanet et al. [Sermanet et al.(2013)Sermanet, Kavukcuoglu, Chintala, and LeCun] proposed to use a ‘multi-stage’ classifier that used features at many convolutional layers for pedestrian detection, showing improved results. Such ‘skip’ architectures have recently become popular for semantic segmentation [Long et al.(2015)Long, Shelhamer, and Darrell, Hariharan et al.(2015)Hariharan, Arbeláez, Girshick, and Malik]. Concurrently with our work, Bell et al. [Bell et al.(2016)Bell, Zitnick, Bala, and Girshick] proposed to revisit skip connections for general object detection. Our own implementation of skip connections closely resembles [Bell et al.(2016)Bell, Zitnick, Bala, and Girshick].
Object Proposals: When originally introduced, object proposals were based on low-level grouping cues, edges, and superpixels [Alexe et al.(2012)Alexe, Deselaers, and Ferrari, Uijlings et al.(2013)Uijlings, van de Sande, Gevers, and Smeulders, Zitnick and Dollár(2014), Arbeláez et al.(2014)Arbeláez, Pont-Tuset, Barron, Marques, and Malik, Hosang et al.(2015)Hosang, Benenson, Dollár, and Schiele]. More recently, large gains in proposal quality have been achieved through use of CNNs [Szegedy et al.(2014)Szegedy, Reed, Erhan, and Anguelov, Ren et al.(2015)Ren, He, Girshick, and Sun, Pinheiro et al.(2015)Pinheiro, Collobert, and Dollár, Pinheiro et al.(2016)Pinheiro, Lin, Collobert, and Dollár]. In this work we use DeepMask segmentation proposals [Pinheiro et al.(2015)Pinheiro, Collobert, and Dollár]. Specifically, we used an early version of the improved variant of DeepMask described in [Pinheiro et al.(2016)Pinheiro, Lin, Collobert, and Dollár] that includes top-down refinement but is based on the VGG-A architecture [Simonyan and Zisserman(2015)], not the later ResNet architecture presented in [He et al.(2016)He, Zhang, Ren, and Sun]. Overall, we obtain substantial improvements in detection accuracy on COCO by using DeepMask in place of the Selective Search [Uijlings et al.(2013)Uijlings, van de Sande, Gevers, and Smeulders] proposals used in the original work on Fast R-CNN [Girshick(2015)].
Classifier: The CNN used for classification forms an integral part of the detection pipeline and is key in determining final detector accuracy. The field has witnessed rapid progress in CNNs in recent years. The introduction of AlexNet [Krizhevsky et al.(2012)Krizhevsky, Sutskever, and Hinton]
reinvigorated the use of deep learning for visual recognition. The much deeper VGG[Simonyan and Zisserman(2015)] and GoogleNet [Szegedy et al.(2015)Szegedy, Liu, Jia, Sermanet, Reed, Anguelov, Erhan, Vanhoucke, and Rabinovich] models further pushed accuracy. In our work we use variants of the VGG network [Simonyan and Zisserman(2015)], specifically VGG-A for DeepMask and VGG-D for our MultiPath network. In concurrent work, He at al. [He et al.(2016)He, Zhang, Ren, and Sun] introduced the even deeper Residual Networks (ResNet) that have greatly improved the state of the art and have also proven effective for object detection. We expect that integration of ResNet into our system could further boost accuracy.
A high-level overview of our detection model is shown in Figure 1. Our system is based on the Fast R-CNN framework [Girshick(2015)]. As in Fast R-CNN, the VGG-D network [Simonyan and Zisserman(2015)] (pretrained on ImageNet [Deng et al.(2009)Deng, Dong, Socher, Li, Li, and Fei-Fei]) is applied to each input image and RoI-pooling is used to extract features for each object proposal. Using these features, the final classifier outputs a score for each class (plus the background) and predicts a more precise object localization via bounding box regression. We refer readers to [Girshick(2015)] for details.
We propose the following modifications to this basic setup. First, instead of a single classifier head, our model has four heads that observe different-sized context regions around the bounding box in a ‘foveal’ structure. Second, each of these heads combines features from the conv3, conv4, and conv5 layers. Finally, the outputs of the four classifiers are concatenated and used to compute a score based on our proposed integral loss. Similar to Fast R-CNN, the network also performs bounding box regression using these same features.
As information can flow through several parallel pathways of our network we name it a MultiPath CNN. We describe details of each modification next.
Fast R-CNN performs RoI-pooling on the object proposal bounding box without explicitly utilizing surrounding information. However, as discussed, context is known to play an important role in object recognition [Torralba(2003)]. We also observed that given only cropped object proposals, identification of small objects is difficult even for humans without context.
To integrate context into our model, we looked at the promising results from the ‘multiregion’ model [Gidaris and Komodakis(2015)] for inspiration. The multiregion model achieves improved localization results by focusing on 10 separate crops of an object with varying context. We hypothesized that this mainly improves localization from observing the object at multiple scales with increasing context, rather than by focusing on different parts of the object.
Therefore, to incorporate context, we add four region crops to our model with ‘foveal’ fields of view of 1, 1.5, 2 and 4
of the original proposal box all centered on the object proposal. In each case we use RoI-pooling to generate features maps of the same spatial dimensions given each differently-sized foveal region. The downstream processing shares an identical structure for each region (but with separate parameters), and the output features from the four foveal classifiers are concatenated into a single long vector. This feature vector is used for both classification and bounding box regression. See Figure1 for details.
Our foveal model can be interpreted as a simplified version of the multiregion model that only uses four regions instead of the ten in [Gidaris and Komodakis(2015)]. With the reduced number of heads, we can train the network end-to-end rather than each head separately as in [Gidaris and Komodakis(2015)].
Fast R-CNN performs RoI-pooling after the VGG-D conv5 layer. At this layer, features have been downsampled by a factor of 16. However, 40% of COCO objects have area less than pixels and 20% less than pixels, so these objects will have been downsampled to or at this stage, respectively. RoI-pooling will upsample them to , but most spatial information will have been lost due to the downsampling of the features.
Effective localization of small objects requires higher-resolution features from earlier layers [Sermanet et al.(2013)Sermanet, Kavukcuoglu, Chintala, and LeCun, Long et al.(2015)Long, Shelhamer, and Darrell, Hariharan et al.(2015)Hariharan, Arbeláez, Girshick, and Malik, Bell et al.(2016)Bell, Zitnick, Bala, and Girshick, Pinheiro et al.(2016)Pinheiro, Lin, Collobert, and Dollár]. Therefore, we concatenate the RoI-pooled normalized features from conv3, conv4, and conv5 layers in the same manner as described in [Bell et al.(2016)Bell, Zitnick, Bala, and Girshick] and provide this as input to each foveal classifier, as illustrated in Figure 1. A convolution is used to reduce the dimension of the concatenated features to the classifier input dimension. The largest foveal features will not need as fine-grained features, so as an optimization, we sparsify these connections slightly. Specifically, we only connect conv3 to the classifier head and conv4 to the , , and heads. Overall, these skip connections give the classifier access to information from features at multiple resolutions.
In PASCAL [Everingham et al.(2010)Everingham, Gool, Williams, Winn, and Zisserman] and ImageNet [Deng et al.(2009)Deng, Dong, Socher, Li, Li, and Fei-Fei], the scoring metric only considers whether the detection bounding box has intersection over union (IoU) overlap greater than 50 with the ground truth. On the other hand, the COCO evaluation metric [Lin et al.(2015)Lin, Maire, Belongie, Bourdev, Girshick, Hays, Perona, Ramanan, Zitnick, and Dollár] averages AP across IoU thresholds between 50 and 95, awarding a higher AP for higher-overlap bounding boxes111Going forward, we use the notation introduced by the COCO dataset [Lin et al.(2015)Lin, Maire, Belongie, Bourdev, Girshick, Hays, Perona, Ramanan, Zitnick, and Dollár]. Specifically, we use AP to denote AP averaged across IoU values from 50 to 95, and AP to denote AP at IoU threshold (e.g., the PASCAL metric is denoted by AP). Note also that we use the convention that IoU ranges from 0 to 100.. This incentivizes better object localization. Optimizing AP has resulted in models that perform basic object localization well but often fail to return tight bounding boxes around objects.
For training, Fast R-CNN uses an IoU threshold of 50. We observed that changing this foreground/background threshold during training improves AP during testing, but can decrease AP at other IoU thresholds. To target the integral AP, we propose a loss function that encourages a classifier to perform well at multiple IoU thresholds.
The original loss used in Fast R-CNN [Girshick(2015)] is given by:
for predicted class probabilities, true class , predicted bounding box , and true bounding box . The first term is the classification log loss for true class . The second term, , encourages the class-specific bounding box prediction to be as accurate as possible. The combined loss is computed for every object proposal. If the proposal overlaps a ground truth box with IoU greater than 50, the true class is given by the class of the ground truth box, otherwise and the second term of the loss is ignored.
Observe that in the original R-CNN loss, the classification loss does not prefer object proposals with high IoU: all proposals with IoU greater than 50 are treated equally. Ideally, proposals with higher overlap to the ground truth should be scored more highly. We thus propose to modify to explicitly measure integral loss over all IoU thresholds :
where is the true class at overlap threshold . We approximate this integral as a sum with and modify our network to output multiple corresponding predictions . Specifically, our modified loss can be written as:
We use thresholds . Note that in this formulation each object proposal actually has ground truth labels , one label per threshold . In our model, each term is predicted by a separate head, see Figure 1. Specifically, for each , we train a separate linear classifier (using shared features) to predict the true class of a proposal (where the ground truth label is defined using threshold ). At inference time, the output softmax probabilities of each of the classifiers are averaged to compute the final class probabilities . The modified loss function and updated network encourages object proposals with higher overlap to the ground truth to be scored more highly.
During training, each head has progressively fewer total positive training samples as there are fewer proposals overlapping the ground truth as is increased. To keep the ratio of sampled positive and negative examples constant for each head, each minibatch is constructed to train a single head in turn. We restrict the heads to the range , otherwise the proposals contain too few total positive samples for training. Finally, note that for bounding box regression, our network is unchanged and predicts only a single bounding box output .
In this section we perform a detailed experimental analysis of our MultiPath network. For all following experiments, Fast R-CNN [Girshick(2015)] serves as our baseline detector (with VGG-D [Simonyan and Zisserman(2015)] features pre-trained on ImageNet [Deng et al.(2009)Deng, Dong, Socher, Li, Li, and Fei-Fei]). We use DeepMask object proposals [Pinheiro et al.(2015)Pinheiro, Collobert, and Dollár, Pinheiro et al.(2016)Pinheiro, Lin, Collobert, and Dollár] and focus exclusively on the recent COCO dataset [Lin et al.(2015)Lin, Maire, Belongie, Bourdev, Girshick, Hays, Perona, Ramanan, Zitnick, and Dollár] which presents novel challenges for detection.
We begin by describing the training and testing setup in §4.1. Next, in §4.2 we study the impact of each of our three core network modifications, including skip connections, foveal regions, and the integral loss. We analyze the gain from DeepMask proposals in §4.3 and compare with the state of the art in §5. Finally, in the appendix we analyze a number of key parameters and also additional modifications that by and large did not improve accuracy.
Our system is written using the Torch-7 framework. All source code for reproducing the methods in this paper will be released.
For all experiments in this section we report both the overall AP (averaged over multiple IoU thresholds) and AP. All our models are trained on the 80K images in COCO 2014 train set and tested on the first 5K images from the val set. We find that testing on these 5K images correlates well with the full 40K val set and 20K test-dev set, making these 5K images a good proxy for model validation without the need to test over the full val or test-dev sets.
Training is performed for 200K iterations with 4 images per batch and 64 object proposals per image. We use an initial learning rate of and reduce it to after 160K iterations. Training the full model takes 3 days on 4 NVIDIA Titan X GPUs. Unless noted, in testing we use a non maximal suppression threshold of 30, 1000 proposals per image, an image scale of 800 pixels, and no weight decay (we analyze all settings in the appendix).
Both data and model parallelism are used in training [Krizhevsky(2014)]. First, 4 images are propagated through the VGG-D network trunk, in parallel with 1 image per GPU. The features are then concatenated into one minibatch and subsequently used by each of the 4 foveal regions. Each foveal region resides in a separate GPU. Note that the prevalence of 4 GPU machines helped motivate our choice of using 4 foveal regions due to ease of parallelization.
Our network requires 150ms to compute the features and 350ms to evaluate the foveal regions, for a total of about 500ms per COCO image. We time with a scale of 800px and 400 proposals (see appendix and Figure 3). Fast R-CNN with these settings is about faster.
Our implementation of Fast R-CNN [Girshick(2015)] with DeepMask object proposals [Pinheiro et al.(2015)Pinheiro, Collobert, and Dollár] achieves an overall AP of 25.2 and an AP of 43.4. This is already a large improvement over the original Fast R-CNN results that used Selective Search proposals [Uijlings et al.(2013)Uijlings, van de Sande, Gevers, and Smeulders], we will return to this shortly.
A breakdown of how each of our three core network modifications affects AP and AP over our strong baseline is shown in Table 1, left. Results are shown for each combination of modifications enabled including skip connections, foveal regions, and the integral loss (except skip connections were implemented only for foveal regions). Altogether, AP increases 2.7 points to 27.9, with each modification contributing 1 point to final performance. AP improves 1.4 points to 44.8; however, not surprisingly, the best AP of 46.4 is achieved without the integral loss. We carefully analyze the foveal structure and integral loss next.
Foveal structure: A breakdown of the gains from using foveal regions is shown in Table 1, right, both with and without the integral loss but without skip connections. Gains from foveal regions are amplified when using the integral loss, resulting in an AP improvement of 1.3 points. We also compare our foveal approach to the multiregion network [Gidaris and Komodakis(2015)] which used 10 regions (for a fair comparison, we re-implement it in our setup). Surprisingly, it performs slightly worse than our foveal setup despite having more regions. This may be due to the higher number of parameters or it’s possible that this requires more iterations to converge.
Integral Loss: Figure 2, left, shows AP at various IoU thresholds for models trained with different IoU cutoffs as well as our integral loss. Each standard model tends to perform best at the IoU for which it was trained. Integral loss improves overall AP by 1 over the model, and does so while maintaining a slightly higher AP than simply increasing (e.g. our AP is 0.6 points higher than the model). Figure 2, right, shows AP and AP for varying number of heads. Using 6 heads achieves the highest AP. For the experiments in Figure 2 we trained for 280K iterations as we found the integral loss requires somewhat longer to converge (we used 200K iterations for all other ablations studies).
Object proposals play a central role in determining detector accuracy. The original implementation of Fast R-CNN with Selective Search proposals [Uijlings et al.(2013)Uijlings, van de Sande, Gevers, and Smeulders] has an AP of 19.3. Our MultiPath network improves this to 22.8 AP using these same proposals. Switching to DeepMask proposals [Pinheiro et al.(2015)Pinheiro, Collobert, and Dollár, Pinheiro et al.(2016)Pinheiro, Lin, Collobert, and Dollár] increases accuracy by a further very substantial 5.1 points to 27.9 AP.
Figure 3 shows AP and AP for varying number and type of proposals. Not only is accuracy substantially higher using DeepMask, fewer proposals are necessary to achieve top performance. Our results saturate with around 400 DeepMask proposals per image and using just 50 DeepMask proposals matches accuracy with 2000 Selective Search proposals.
Interestingly, our setup substantially reduces the benefits provided by bounding box regression. With the original Fast R-CNN and Selective Search proposals, box regression increases AP by 3.5 points, but with our MultiPath model and DeepMask proposals, box regression only increases AP by 1.1 points. See Table 2, left, for details.
|SS + Fast R-CNN||38.2||39.8||+1.6||18.1||21.6||+3.5|
|SS + MultiPath||38.0||38.5||+0.5||20.9||22.8||+1.9|
|DM + Fast R-CNN||42.5||43.4||+0.9||23.5||25.2||+1.7|
|DM + MultiPath||44.5||44.8||+0.3||26.8||27.9||+1.1|
Final enhancements to our model. Use of additional training data, horizontal flip at inference, fractional max pooling (FMP), and ensembling gave a major cumulative boost. These are common approaches for maximizing accuracy, see appendix for details.
|ResNet [He et al.(2016)He, Zhang, Ren, and Sun]||27.9||51.2||27.6||8.6||30.2||45.3||25.4||37.1||38.0||16.6||43.3||57.8|
|ResNet [He et al.(2016)He, Zhang, Ren, and Sun]||37.1||58.8||39.8||17.3||41.5||52.5||31.9||47.5||48.9||26.7||55.2||67.9|
|ION [Bell et al.(2016)Bell, Zitnick, Bala, and Girshick]||30.7||52.9||31.7||11.8||32.8||44.8||27.7||42.8||45.4||23.0||50.1||63.0|
|Fast R-CNN* [Girshick(2015)]||19.3||39.3||19.9||3.5||18.8||34.6||21.4||29.5||29.8||7.7||32.2||50.2|
|Faster R-CNN* [Ren et al.(2015)Ren, He, Girshick, and Sun]||21.9||42.7||—||—||—||—||—||—||—||—||—||—|
To maximize accuracy prior to submitting to the COCO leaderboard, we added validation data to training, employed horizontal flip and fractional max pooling [Graham(2014)] at inference, and ensembled 6 models. Together, these four enhancements boosted AP from 27.9 to 33.2 on the held-out validation images, see Table 2, right. More details are given in the appendix. Finally, to obtain segmentation results, we simply fed the bounding box regression outputs back to the DeepMask segmentation system. Note that as discussed in §4.3, box regression only improved accuracy slightly. In principle, we could have used the original DeepMask segmentation proposals without box regression; however, we did not test this variant.
We submitted our results the COCO 2015 Object Detection Challenge. Our system placed second in both the bounding box and segmentation tracks. Table 3 compares our results to the top COCO 2015 challenge systems and additional baselines. Only the deeper ResNet classifier [He et al.(2016)He, Zhang, Ren, and Sun] outperformed our approach (and potentially ResNet could be integrated as the feature extractor in our MultiPath network, leading to further gains). Compared to the baseline Fast R-CNN, our system showed the largest gains on small objects and localization, improving AP on small objects by and AP by 82%.
Figure 4 and Figure 5 show selected detection results from our system. Figure 6 shows a breakdown of errors of our system. Most of the overall error comes from false positives and negatives, with little inter-class classification error. Despite our improvements on small objects, small object detection remains quite challenging.
In this paper, we proposed three modifications to Fast R-CNN: (1) skip connections to give the network access to multi-scale features, (2) foveal regions to provide context, and (3) the integral loss to improve localization. We coupled our resulting MultiPath classifier with DeepMask proposals and achieved a 66% improvement over the baseline Fast R-CNN with Selective Search. All source code for our approach will be released. Our hope is that our model can serve as a baseline system on COCO and prove useful to the detection community.
Acknowledgements: We would like to thank Ross Girshick, Rob Fergus, Bharath Hariharan, Spyros Gidaris, Nikos Komodakis, and Francisco Massa for helpful discussion and suggestions.
In the appendix we describe our additional enhancements reported in Table 2 and analyze a number of key parameters. We also report additional modifications that did not improve accuracy; we hope that sharing our negative results will prove beneficial to the community.
train+val: Adding validation data to training (minus the 5K held-out images from the validation set we use for testing) improved accuracy by 2.3 points AP, see Table 2. We trained for 280K iterations in this case. We note that the DeepMask proposals were only trained using the train set, so retraining these on train+val could further improve results.
hflip: Fast R-CNN is not invariant to horizontal image flip (hflip) even though it is trained with hflip data augmentation. Thus, we average the softmax scores from the original and flipped images and also average the box regression outputs (directly, not in log space). AP improves by 0.6 points, see Table 2.
FMP: Inspired by Fractional Max Pooling [Graham(2014)], we perform multiple RoI-pooling operations with perturbed pooling parameters and average the softmax outputs (note that the network trunk is computed only once). Specifically, we perform two ROI-poolings: the first follows [He et al.(2014)He, Zhang, Ren, and Sun] and uses the floor and ceil operations for determining the RoI region, the second uses the round operation. As shown in Table 2, FMP improves AP 0.7 points.
Ensembling: Finally, we trained an ensemble of 6 similar models. Each model was initialized with the same ImageNet pre-trained model, only the order of COCO training images changed. This ensemble boosted AP 1.7 points to 33.2, see Table 2.
Scale: Figure 7, left, shows accuracy as a function of image scale (minimum image dimension in pixels with maximum fixed to 1000px). Increasing scale improves accuracy up to 800px, but at increasing computation time. We set the scale to 800px which improves AP by 0.5 points over the 600px scale used by [Girshick(2015)] for PASCAL.
NMS threshold: Figure 7, right, shows accuracy as a function of the NMS threshold. Fast R-CNN [Girshick(2015)] used a threshold of 30. For our model, an NMS threshold of 50 performs best, improving AP by 0.4 points, possibly due to the higher object density in COCO.
Dropout & Weight Decay: Dropout helped regularize training and we keep the same dropout value of 0.5 that was used for training VGG-D. On the other hand, setting weight decay to 0 for fine-tuning improved results by 1.1 AP and 0.5 AP. Note that [Bell et al.(2016)Bell, Zitnick, Bala, and Girshick] used weight decay but not dropout, so perhaps it is sufficient to have just one form of regularization.
Iterative Localization: Bounding box voting with iterative localization as proposed in [Gidaris and Komodakis(2015)] did not substantially improve the AP of our model, again probably due to the higher quality of DeepMask proposals and the improved localization ability of our MultiPath network.
ImageNet Data Augmentation: As there are some under-represented classes in COCO with few annotations, we tried to augment the training set with ImageNet 2012 detection training data. Surprisingly, this only improved performance on the most underrepresented class: hair dryer; for all other classes, accuracy remained unchanged or suffered.
Robust real-time face detection.IJCV, 2004.