Window-Object Relationship Guided Representation Learning
for Generic Object Detections
In existing works that learn representation for object detection, the relationship between a candidate window and the ground truth bounding box of an object is simplified by thresholding their overlap. This paper shows information loss in this simplification and picks up the relative location/size information discarded by thresholding. We propose a representation learning pipeline to use the relationship as supervision for improving the learned representation in object detection. Such relationship is not limited to object of the target category, but also includes surrounding objects of other categories. We show that image regions with multiple contexts and multiple rotations are effective in capturing such relationship during the representation learning process and in handling the semantic and visual variation caused by different window-object configurations. Experimental results show that the representation learned by our approach can improve the object detection accuracy by in mean average precision (mAP) on ILSVRC2014 . On the challenging ILSVRC2014 test dataset , 48.6% mAP is achieved by our single model and it is the best among published results. On PASCAL VOC, it outperforms the state-of-the-art result of Fast RCNN  by 3.3% in absolute mAP.
Object detection is the task of finding the bounding boxes of objects from images. It is challenging due to variations in illumination, texture, color, size, aspect ratio, deformation, background clutter, and occlusion. In order to handle these variations, good features for robustly representing the discriminative information of objects are critical. Initially, researchers employed manually designed features [12, 2, 13]. Recent works [9, 10, 17, 11, 1] have demonstrated the power of learning features with deep neural networks from large-scale data. It advances the state-of-the-art of object detection substantially [7, 16, 24, 8, 20, 14].
Representation learning for object detection was considered as a multi-class problem [7, 3], in which a candidate window is classified as containing an object of category or background, decided by thresholding the overlap between the candidate window and the ground truth bounding box.
In this paper, we show that representation learning for object detection is beyond a multi-class problem. The relationship between the candidate window and the ground truth bounding box of the object, which is called the window-object relationship in this paper, provides rich information to guide representation learning for object detection. However, such information is lost in existing representation learning frameworks which largely simplify the window-object relationship by threhsolding the overlap. Some examples of person detection are shown in Figure 1. The candidate windows in Figure 1(b)-(g) may contain the upper body (a) or the legs (e) of a person, the left (c) or right (f) body of the person, and may have a smaller (c) or larger (d) size than the ground truth. They are all labeled as the same class “person” in existing representation learning frameworks for object detection, because their overlaps with the ground truth bounding box are all above . However their visual content and semantic meanings have significant difference. If the deep neural network is required to classify all these candidate windows into the same class, it is easy for the model to get confused and it becomes difficult to learn representation capturing semantically meaningful visual patterns, since the supervision is weak. Such ambiguity can be can resolved by using the window-object relationship as supervision during training, which well reflect all types of variations mentioned above. Being aware of these variations in supervision, it is easier for the model to disentangle these variation factors in the learned representations.
The contributions of this work are summarized below. First, we propose a representation learning pipeline by using the window-object relationship as supervision so that the learned features are more sensitive to locations and sizes of objects. By distinguishing and predicting window-object relationship, the learned representation captures more semantically meaningful visual patterns of candidate windows on objects. Experimental results show that the representation learned by our approach can improve mAP of object detection by on ILSVRC2014.
Second, two objective functions are designed to encode the window-object relationship. Since the window-object relationship is complex, our experiments show that direction prediction on the relative translation and scale variation in a similar way as bounding box regression does not improve representation learning. Instead, under each object category, we cluster candidate windows into subclasses according to the window-object relationship. Both visual cues and window-object relationship of candidate windows in the same subclass have less variations. Given the cropped image region of a candidate window as input, the deep neural network predicts the subclass as well as the relative translation and scale variation under the subclass during representation learning. Different subclasses employ different regressors to estimate the relative translation and scale variation.
Third, the idea is also extended to model the relationship between a candidate window and objects of other classes in its neighborhood, given the cropped image region of the candidate window. An illustration is shown in Figure 2. The learned feature representation can make such prediction because it captures the pose information indicating existence of neighbor objects from the cropped image region (e.g. the pose of the person in Figure 2 indicates that he rides on a motorbike) and the image region may include parts of neighbor objects. All these disturbing factors explained in Figure 1 and 2 are nonlinearly coupled in the image region and deteriorate the detection accuracy. With window-object relationship as supervision, they are disentangled in the learned feature representation and can be better removed in the later fine-turning stage or by a SVM classifier.
Fourth, we show that the window-object relationship can be better modeled by taking image regions with multiple contexts and multiple rotations as input, which includes multiple types of contextual information. This is different from commonly used multi-scale deep models, which take the same image region of different resolutions as input. Compared with the baseline, the multi-context and multi-rotation input improves the mAP by on ILSVRC2014. By adding the supervision of window-object relationship on multi-context and multi-rotation, the mAP was further improved by on ILSVRC2014.
2 Relative Work
RCNN  is a widely used object detection pipeline based on CNN [17, 20, 14]. It first pre-trains the representation by classifying million images from ImageNet into categories and then fine-tunes it by classifying object detection bounding boxes on the target detection dataset. People improved RCNN by proposing better structures of CNN [20, 17]. Ouyang et al.  improved pre-training by classifying the bounding boxes of the images from ImageNet instead of the whole images. All these works posed representation learning as a multi-class problem without effort on exploring window-object relationship.
A group of works tried to solve detection with regression [21, 19, 23]. Given the whole image as input, Szegedy et al.  used DNN to regress the binary masks of an object bounding box and its subboxes. Szegedy et al.  used CNN to directly predict the coordinates of object bounding boxes. AttentionNet  initially treated the whole image as a bounding box, and iteratively refined it. They quantified the way of adjusting the bounding box into several directions, and made decision at each step. Since the locations and sizes of objects in images have large variations, direct prediction is challenging. Although some promising results were obtained on PASCAL VOC, these works have not reported state-of-the-art result on ImageNet yet, which includes a much larger number of object categories and test images. AttentionNet required training separate networks for different categories and is not scalable. It only reported the result of one category (i.e. “human”) on PASCAL VOC and its average precision is lower than ours by , while our learned representation is shared by a large number of categories. Different from these approaches, we explore window-object relationship to improve representation learning, while our test pipeline is similar as RCNN. Moreover, we observe that directly predicting the locations and sizes of candidate windows does not improve representation learning, since the window-object relationship is complex. Supervision needs to be carefully designed.
In RCNN, bounding box regression was used as the last step to refine the locations of candidate windows. However, it was not used to learn feature representation. The recently proposed Fast RCNN  jointly predicted object categories and locations of candidate windows as multi-task learning. meanAP improvement is observed on PASCAL 07 dataset. However, this multi-task learning only improves meanAP by point in the ILSVRC2014.
In this paper, multi-context and multi-rotation input is used. The related work  cropped multiple subregions as the input of CNN. Besides enriching the representation, our motivation of employing multi-context and multi-rotation input is to make CNN less confused about the relationship between candidate windows and objects. Details will be given in Section 3.3.2.
In order to provide readers with a clear picture of the whole framework, we first explain the object detection pipeline at the test stage. The major contributions comes from representation learning, whose details are provided in Section 3.2 - Section 3.5.
3.1 Object detection at the testing stage
As in Fig. 3, the object detection pipeline is as follows:
Selective search in  is adopted to obtain candidate windows.
A candidate window is used to extract features as below:
For a candidate window with size and center , crop images with sizes and center . The cropped images and the candidate window have the same center location . is the scale of a contextual region. The choice of the scale set is detailed in Section 3.3.2.
Rotate the cropped image by degrees and pad it with surrounding context to obtain , .
The cropped images with different sizes and rotations are warped into the same size and treated as the input of CNN for extracting their features, i.e. where denotes the CNN for extracting features from , denotes the vector of features extracted for rotation and scale . For the candidate window , there are six cropped images with being , and in our experiment. In the experiments, the structure of CNN is chosen as GoogleNet  for different settings of . And there are six branches of GoogleNets for the six settings of . The learned parameters for the six branches of GoogleNets are different.
The extracted features are then concatenated into , where is the operation for concatenating features into a vector.
Extracted features are used by binary-class SVM to classify each candidate window. The score of each SVM measures the confidence on the candidate window containing a specific object class.
3.2 Representation learning pipeline
Our proposed pipeline is as follows and shown in Fig. 5.
Pretrain CNN using the ImageNet 1000-class classification and localization data.
Use the CNN trained in the previous step for initialization. Train the CNN by estimating the window-object relationship. Details are given in Section 3.3.
Use the CNN trained in the previous step for initialization. Train the CNN by estimating the window-multi-objects relationship. Details are given in Section 3.4.
Use the CNN trained in the previous step for initialization. Train the CNN for +1-classification problem. is the number of object classes, plus 1 for background. for PASCAL VOC and for ILSVRC2014. Details are given in Section 3.5.
Since the pipeline above is used for learning feature representation, except for the difference in the output layer, the network structures are the same for all the training steps above. And the responses of the last CNN layer before the output layer are treated as feature representation.
3.2.1 Window-object relationship label preparation
3.3 Learning the window-object relationship
The idea is to have CNN distinguish candidate windows containing different parts of the same object or having different sizes. For example, a candidate window containing the upper body of a person and another one containing the legs were classified as the same category (i.e. “person”) in existing works, but are considered as different configurations of window-object relationship in our approach.
To distinguish candidate windows of the same object class, we cluster training samples in each class into subsets with similar relative locations. Denote by the -th candidate window at the training stage with center and size . Its ground-truth bounding box is denoted by . Candidate windows at the training stage are from selective search  and ground truth bounding boxes. The relative location and size between the candidate window and the ground-truth bounding box (normalized by the size of candidate window) are:
The relative location and size above are used for describing the window-object relationship. With features , affinity propagation(AP)  is used to group candidate windows with similar window-object relationship into clusters. Denote the cluster label for the th candidate window by . Fig. 4 shows some clustering results where each cluster corresponds to a specific visual pattern and relative location setting. In window-object relationship prediction, the labels for a given candidate window are the relative location and size , and the cluster label .
3.3.1 Loss function of window-object relationship
With the CNN parameters obtained from Step 1 in Section 3.3 as initialization, we continue to train the CNN by predicting window-object relationship. The CNN’s 1000-way classification layer in Step 1 is replaced by two fully connected (fc) layers. The layer that predicts the location and size for cluster , denoted by , is called the location prediction layer. The other layer that predicts the cluster label for the th candidate window is called the cluster prediction layer. Both layers use the last feature extraction layer of the CNN as input. The output dimension of the location prediction layer is and the output dimension of the layer that outputs is . Softmax is used for the cluster prediction layer. The following loss on window-object relationship is used:
is the loss on predicting the window-object relationship cluster, is the loss on predicting the relative location and size. With the loss in (3), CNN is required to distinguish different window-object relationship clusters and to recognize where the actual relative location is. For the th candidate window, the CNN outputs location prediction vectors, i.e. for so that the CNN learn the location prediction for different clusters separately. For the th candidate window, only the cluster is used for supervising the location prediction. Therefore, different window-object relationship clusters have their own parameters learned separately by CNN to prediction location. For example, the location bias for the cluster with window-above-object relationship can be different from the bias for the cluster with window-below-object relationship. Since the relative locations in the same cluster have less variation, this divide-and-conquer strategy makes prediction easier. With the loss function defined, CNN parameters are learned by BP and stochastic gradient descent.
3.3.2 Multi-context and multi-rotation
When the location and size of a candidate window is different from that of the ground truth bounding box, the candidate window only have partial visual content of the object. The limited view results in difficulty for CNN to figure out the visual difference between object classes. For example, it is hard to tell whether it is an ipod or a monitor if one can only see the screen, but it becomes much easier if the whole object and its contextual region is provided, as shown in Fig. 6 (top row). When occlusion happens, the ground truth bounding boxes may contain different amount of object parts and thus have different sizes. Without a region larger than the ground truth as input, it is confusing for CNN to decide the bounding box size. In Fig. 6 (bottom row), the ground truth box for a standing unoccluded person should cover more parts of human body than the one with legs occluded. When the image region cropped from a candidate window only covers the upper body of this person, it is difficult to predict whether the person’s legs are occluded or not. When predicting the relative location between the candidate window and the ground truth, CNN should output a smaller box if occluded, but a larger box otherwise. CNN can handle this difficulty when the input contains a larger region than the ground truth. On the other hand, if the region is much larger than the object, the resolution of the object may not be high enough after normalizing the cropped image region to a standard size as the input of CNN.
To handle the problems above, we use multiple scales of contextual regions as the input for CNN. The feature learning procedure still focuses on predicting the window-object relationship. We use 4 scales for cropping images, 0.8, 1.2, 1.8, 2.7, which are linear in log scale. 1.2 is the only scale chosen in  and is set as default value in many existing works. In the supplementary material, we prove that the cropped image with scale 2.7 is sufficient to cover most of the ground-truth region when the overlap between the window and the object is greater than 0.5. Even if the overlap between the candidate window and ground truth bounding box is 0.37, the cropped image with scale 2.7 can cover more than 50% of the ground truth region. 1.8 is obtained by linear interpolation between 1.2 and 2.7 in log scale. 0.8 is chosen because some candidate windows can be larger than the ground truth bounding box, as shown by the first image in Fig. 4. A cropped image with a smaller scale can help these windows to fit the actual scale of the object.
Object rotation results in drastic appearance variation. Rotation is adopted together with multiple scales for the cropped images to make the network more robust to appearance variations.
Regarding the relative locations labels are used in this training step, we choose to not merge training samples with different scales and rotations together and adopt multiple networks with each network is trained with one kind of training samples. All those networks share the same network structure but different parameters.
3.4 Window-multi-object relationship prediction
The previous training step does not consider the coexistence of multiple object instances in the same image, which happens frequently and forms layout configurations. For the example in Fig. 5, the person have a helmet on his head and a rugby ball in his arms. To further enrich the feature representation, we extend the training procedure by predicting the window-multi-objects relationship.
The window-multi-objects relationship can be formulated in answering three basic questions, whether other instances exist in neighborhood, where they are and what they are. We start with the relative location and size defined in (2) to describe the pairwise relationship between a candidate window and multiple objects. The for all ground truth bounding boxes are used as features to obtain clusters, which are used for describing the window-multi-objects layout. Given a candidate window, its surrounding ground truth objects are assigned to their closest clusters and labels are obtained with each label standing for what kind of object in the corresponding cluster. CNN has classification layers and each layer is a multi-class classifier for its corresponding configuration of window-object relationship. Therefore, CNN is required to predict the probability of what object exists in each location cluster.
We keep the loss function discussed in 3.3.1 and add cross entropy loss terms. The weights of all losses are set to be 1. In this step, three kinds of labels are applied to each training sample, 1) the window-object cluster label, 2) the relative location between the window and the object, 3) and labels to represent window-multi-object relationship.
3.5 Finetuning for +1-classification
Since the ultimate goal is to detect classes of objects, we use CNN obtained in the previous step as initialization and continue to train it for the classification problem. Cross entropy loss function is used. As discussed in section 3.3.2, several scales and rotation degrees are adopted, the networks for different rotations or scales are jointly learned. The features extracted from CNN for all scales and rotations are concatenated into a vector of features for the -class classification problem. Once features are learned, we fix the CNN parameters and learn 200 class-specific linear SVMs for object detection as in . Be reminded that although multiple concepts, such as window-object relationship, clusters of locations and sizes, other object instances and window-multi-object-relationship, are proposed in the training stage, their goal is to improve the learning of feature representation in Fig. 3 and none of them appears in test.
4 Experimental results
4.1 Experimental setting
The implementation of our framework adopts GoogleNet  as CNN structure. 1000-class pretraining is based on the ILSVRC2014 classification and localization dataset. The learned representation is evaluated on the two datasets below. Most evaluation on component analysis of our training pipeline is conducted on ILSVRC2014 since it is much larger in scale and contains more object categories. The overall results and comparison with the state-of-the-art are finally reported on both datasets.
The ILSVRC2014 object detection dataset contains 200 object categories and is split into three subsets, i.e. train, validation and test data. The validation subset is split into val1 and val2 in . We follow the same setting. In the training step 4, we use both train and val1 subsets, but in the training step 2 and 3, we use only val1 subset. Because many positive samples are not labeled in the train subset and it may bring in label noise for window-object relationship and window-multi-object relationship.
The PASCAL VOC2007 dataset contains 20 object categories. Following the most commonly used approach in , we finetune the network with the trainval set and evaluate the performance on the test set.
4.2 Component analysis on the training pipeline
4.2.1 Comparison with baselines
In order to evaluate the effectiveness of our major innovations, several baselines are compared on ILSVRC2014 and the results are summarized in Table 1. (1) RCNN choosing GoogLeNet as the CNN structure. It is equivalent to removing step b) and c) in our training pipeline and only taking the single context of scale without rotation as input in test. (2) Since our method concatenates features from seven GoogLeNets, one may question the improvement comes from model averaging. This baseline randomly initializes seven GoogLeNets, concatenate their features to train SVM and follow the RCNN pipeline. (3) Take multi-context and multi-rotation input (i.e. using the test pipeline in Fig. 3) without supervision of window-object relationship (i.e. removing step b) and c) from our training pipeline). (4) Our pipeline with single context of scale 1.2 and without rotation. (5) Our pipeline excluding window-multi-objects relationship (i.e. step c)) in training. (6) Our complete pipeline.
The result shows that increasing model complexity by model averaging bring marginal improvement. Multi-context and multi-rotation input improves the RCNN baseline by and adding supervision of window-object relationship to it further obtains the gain of in mAP, which is significant. Window-multi-objects relationship contributes gain in mAP. The gain of adding supervision of window-object relationship to multi-context and multi-rotation input is larger than that added to a single-context input. It indicates that multi-context and multi-rotation input helps CNN better predict window-object relationship.
|mean AP (%)||39.9||41.7||42.1||42.9||45.8||46.3|
|median AP (%)||39.7||41.0||42.5||42.0||45.7||45.9|
|Approach||Step 1+4||Step 1+2+4||Step 1+2+4|
|w.o. cluster||w. cluster|
|Mean AP (%)||39.9||40.1||41.1|
|Median AP (%)||39.7||39.9||41.9|
|Mean AP (%)||41.1||42.1||43.6||44.2||44.7||45.5||42.1|
|Median AP (%)||41.9||40.9||43.1||44.1||44.8||45.9||42.5|
|val2 meanAP (%)||41.1||43.1||45.5||45.8|
|val2 median AP (%)||41.9||42.2||45.9||45.7|
|approach||Flair ||RCNN||Berkeley Vision||UvA-Euvision||DeepInsight||DeepID-Net||GoogleNet||ours|
4.2.2 Clustering window-object relationship
Window-object relationship is clustered in our approach as introduced in Section 3.3. Its effectiveness is evaluated in this section. Steps 1, 2, and 4 are used. The cropped image has only one setting of rotation and scale, i.e. , which is the standard setting used in [7, 6]. If only steps 1 and 4 are used, this corresponds to the RCNN baseline. If window-object relationship clustering is not used, the relative location and object class labels are used for learning features, which is the scheme in Fast RCNN , the mAP improvement is . With clustering, the mAP improvement is . Step 2 is less effective without clustering and only brings improvement alone. Without clustering, a single regressor is learned for each class, relative locations and sizes cannot be accurately predicted and the learned features are less effective. Under each cluster, the configurations of locations and sizes are much simplified.
4.2.3 Investigation on using multiple scales
Based on the training pipeline using steps 1+2+4 with window-object relationship clustering, Table 3 shows the influence of using multiple scales. The network with four scales has mAP , obtaining improvement compared with single scale. Based on the scale 1.2, the mAP improvements brought by an extra scale in descending order are 2.7, 1.8, and 0.8. This fits commonsense: a larger contextual region is more helpful in eliminating visual similarity between candidate boxes of different categories. More scales provide better performance, which shows that feature representations learned with different scales are complementary to each other.
To figure out the effectiveness of employing multiple contextual scales for feature learning, we also run the configuration in which network parameters for all the four scales are shared and fixed to be that trained in scale 1.2. When using one shared network learned from scale 1.2, the employment of multiple contextual scales simply adds more visual cues, while training different networks for different scales, multiple contextual scales help feature learning through predicting window-object relationship which is our motivation. Compared with the network with shared network parameters, the networks with distinct parameters for different scales obtain mAP improvement. This shows that the use of multiple contextual scales is helpful to learn better features.
4.2.4 Investigation on rotation
4.3 Overall results
Ouyang et al.  showed that pre-training CNN with bounding boxes of objects instead of whole images in step 1 could improve the detection accuracy significantly. It is also well known that using the bounding box regression  to refine the locations of candidate windows in the last step of the detection pipeline is effective. In order to compete with the state-of-the-art, we incorporate the two existing technologies into our framework to boost the performance in the final evaluation.
Table 5 summarizes the top ranked results on val2 and test datasets from ILSVRC2014 object challenge and demonstrates the effectiveness of our training pipeline. Flair  was the winner of ILSCRC2013. GoogleNet, DeepID-Net, DeepInsight, UvA-Euvision and Berkeley Vision were the top-ranked participants of ILSVRC2014 and GoogleNet was the winner.
Table 6 reports the results on PASCAL VOC. Since the state-of-art approach Fast RCNN (FRCN)  reported their performance of models trained on both VOC07 trainval and VOC12 trainval, we also evaluate our approach with the same training strategy. It has significant improvement on sate-of-the-art. It also outperforms the approaches of directly predicting bounding box locations from images.
This paper proposes a training pipeline that uses the window-object relationship for improving the representation learning. In order to help the CNN to estimate these relationships, multiple scales of contextual informations and rotations are utilized. Extensive component-wise experimental evaluation on ILSVRC14 object detection dataset validate the improvement from the proposed training pipeline. Our approach outperforms the sate-of-the-art on both ILSVRC14 and PASCAL VOC07 datasets.
-  K. Chatfield, K. Simonyan, A. Vedaldi, and A. Zisserman. Return of the devil in the details: Delving deep into convolutional nets. In BMVC, 2014.
-  N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
-  J. Donahue, Y. Jia, O. Vinyals, J. Hoffman, N. Zhang, E. Tzeng, and T. Darrell. Decaf: A deep convolutional activation feature for generic visual recognition. In ICML, pages 647–655, 2014.
-  B. J. Frey and D. Dueck. Clustering by passing messages between data points. science, 315(5814):972–976, 2007.
-  S. Gidaris and N. Komodakis. Object detection via a multi-region & semantic segmentation-aware cnn model. arXiv preprint arXiv:1505.01749, 2015.
-  R. Girshick. Fast r-cnn. arXiv preprint arXiv:1504.08083, 2015.
-  R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.
-  K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. In ECCV. 2014.
-  A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.
-  Q. V. Le, M. Ranzato, R. Monga, M. Devin, K. Chen, G. S. Corrado, J. Dean, and A. Y. Ng. Building high-level features using large scale unsupervised learning. In ICML, 2012.
-  M. Lin, Q. Chen, and S. Yan. Network in network. ICLR, 2014.
-  D. Lowe. Distinctive image features from scale-invarian keypoints. IJCV, 60(2):91–110, 2004.
-  T. Ojala, M. Pietikainen, and T. Maenpaa. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. IEEE Trans. PAMI, 24(7):971–987, 2002.
-  W. Ouyang, P. Luo, X. Zeng, S. Qiu, Y. Tian, H. Li, S. Yang, Z. Wang, Y. Xiong, C. Qian, et al. Deepid-net: multi-stage and deformable deep convolutional neural networks for object detection. arXiv preprint arXiv:1409.3505, 2014.
-  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, 2015.
-  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.
-  K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
-  A. Smeulders, T. Gevers, N. Sebe, and C. Snoek. Segmentation as selective search for object recognition. In ICCV, 2011.
-  C. Szegedy, D. Erhan, and A. T. Toshev. Object detection using deep neural networks, 2015. US Patent 20,150,170,002.
-  C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. arXiv preprint arXiv:1409.4842, 2014.
-  C. Szegedy, A. Toshev, and D. Erhan. Deep neural networks for object detection. In NIPS, 2013.
-  K. E. A. van de Sande, C. G. M. Snoek, and A. W. M. Smeulders. Fisher and vlad with flair. In CVPR, 2014.
-  D. Yoo, S. Park, J.-Y. Lee, A. Paek, and I. S. Kweon. Attentionnet: Aggregating weak directions for accurate object detection. arXiv preprint arXiv:1506.07704, 2015.
-  W. Y. Zou, X. Wang, M. Sun, and Y. Lin. Generic object detection with dense neural patterns and regionlets. BMVC, 2014.