Hit-Detector: Hierarchical Trinity Architecture Search for Object Detection
Jianyuan Guo Kai Han Yunhe Wang Chao Zhang Zhaohui Yang Han Wu Xinghao Chen Chang Xu
cs.CV








Hit-Detector: Hierarchical Trinity Architecture Search for Object Detection
    
	Jianyuan Guo^1,2, 
	Kai Han^2, Yunhe Wang^2, 
	Chao Zhang^1Corresponding author., 
	Zhaohui Yang^1

	Han Wu^1, Xinghao Chen^2, Chang Xu^3
	

	^1 Key Lab of Machine Perception (MOE), Dept. of Machine Intelligence, Peking University.

	^2 Noah's Ark Lab, Huawei Technologies. 
	^3 School of Computer Science, Faculty of Engineering, University of Sydney.

	

	 
 

    December 30, 2023
================================================================================================================================================================================================================================================================================================================================================================================

empty



Neural Architecture Search (NAS) has achieved great success in image classification task. Some recent works have managed to explore the automatic design of efficient backbone or feature fusion layer for object detection. However, these methods focus on searching only one certain component of object detector while leaving others manually designed. We identify the inconsistency between searched component and manually designed ones would withhold the detector of stronger performance. To this end, we propose a hierarchical trinity search framework to simultaneously discover efficient architectures for all components (backbone, neck, and head) of object detector in an end-to-end manner. 
In addition, we empirically reveal that different parts of the detector prefer different operators. Motivated by this, we employ a novel scheme to automatically screen different sub search spaces for different components so as to perform the end-to-end search for each component on the corresponding sub search space efficiently. Without bells and whistles, our searched architecture, namely Hit-Detector, achieves 41.4% mAP on COCO minival set with 27M parameters. Our implementation is available at https://github.com/ggjy/HitDet.pytorchhttps://github.com/ggjy/HitDet.pytorch.





§ INTRODUCTION

Object detection is a fundamental task in computer vision and has been widely applied in the real world, such as autonomous vehicles and surveillance video. The advancement of deep learning results in a number of convolutional neural network based solutions of object detection task. Typically, deep learning based detectors can be divided into two categories: (i) one-stage methods including YOLO <cit.> and SSD <cit.> which directly utilize CNNs to predict the bounding boxes of interest; and (ii) two-stage approaches such as Faster R-CNN <cit.> that generates the bounding boxes after extracting region proposals upon a region proposal network (RPN). The advantage of single-stage methods lies in the high detection speed whereas two-stage methods dominate in detection accuracy.

A series of either one-stage <cit.> or two-stage approaches <cit.> have been developed to continuously boost the detection speed and accuracy. However, the manually designed architectures heavily rely on the expert knowledge <cit.> while still might be suboptimal. Thus neural architecture search (NAS) that automates the design of network architectures and minimizes human labor has drawn much attention and made impressive progress, especially in image classification tasks <cit.>. Compared with classification tasks that simply determine what the image is, detection tasks need to further figure out where the objects are. 
NAS for object detection therefore requires more careful design and is much more challenging. 



Modern object detection systems usually consist of four components: (a) backbone for extracting semantic features, ResNet-50 <cit.> and ResNeXt-101 <cit.>; (b) neck for fusing multi-level features, feature pyramid networks (FPN) <cit.>; (c) RPN for generating proposals (usually in two-stage detector); and (d) head for object classification and bounding box regression. 
Recently, there are works that explore NAS in object detection tasks to search for a good architecture of the backbone <cit.> or FPN <cit.>. With the searched backbone or FPN architectures, these works have achieved higher accuracy than the manually designed baselines with similar numbers of parameters and FLOPs.

Nevertheless, exploiting only one part of the detector at a time cannot fulfill the the potential of each component, and the separately searched backbone and neck may not be optimal or compatible with each other. As shown in Table <ref>, NAS-FPN <cit.> for neck searching achieves a 38.9% mAP which is higher than that of vanilla FPN, and DetNAS <cit.> for backbone searching outperforms vanilla ResNet-50 backbone with 40.2% mAP. However, a straightforward 
combination of NAS-FPN and DetNAS leads to a worse mAP, , 39.4%, let alone outperforms two models. This insightful observation motivates us to take the detector as a whole in NAS.

In this paper, we propose to simultaneously search all components of the detector in an end-to-end manner. Due to the differences among optimum space for each component and the difficulty in optimizing within large search space, we introduce a hierarchical way to mine the proper sub search space from the large volume of operation candidates. In particular, our proposed Hit-Detector framework consists of two key procedures as shown in Fig. <ref>. First, given a large search space containing all the operation candidates, we screen out the customized sub search space suitable for each part of detector with the help of group sparsity regularization. Secondly, we search the architectures for each part within the corresponding sub search space by adopting the differentiable manner. 
Extensive experiments demonstrate that our Hit-Detector achieves state-of-the-art results on the benchmark dataset, which validates the effectiveness of the proposed method.

Our main contributions can be summarized as follows:

	

	
  * This is the first time that architectures of backbone, neck and head are searched altogether in an end-to-end manner for object detection.
	

	
  * We show that different parts prefer different operations, and propose a hierarchical way to specify appropriate sub search space for different components in detection system to improve the sampling efficiency.
	

	
  * Our Hit-Detector outperforms either hand-crafted or automatically searched networks by a large margin with much less computational complexity.




§ RELATED WORK




Object detection aims at determining what and where the object is when given an image. Riding the wave of convolutional neural networks, noticeable improvements in accuracy have been made in both one-stage <cit.> and two-stage <cit.> detectors. Generally, object detector consists of four parts: a backbone that extracts features from input images, a neck attached to backbone that fuses multi-level features, a region proposal network which generates prediction candidates on extracted features[There are only three parts (backbone, neck, and head) for one-stage detector. We take two-stage detector as an example here.], and a head for classification and localization.

In the past few years, various methods in the literature have been proposed to tackle with detection task and attain significant progress. With NAS prospering automating design of model architecture, it has also boosted the probe into automatically searching for the best architecture for object detection, other than manually design. Here we briefly review some of the recent detectors in two dimensions:



 §.§ Manual design

The manual design of detectors in mainstream evolution of object detection solutions is promoted by several works. R-CNN <cit.> is the first to show that a CNN could lead to dramatic performance improvement in object detection. Selective Search <cit.> is used to generate proposals and SVM is applied to classify each region. Following R-CNN, Fast R-CNN <cit.> is proposed to improve the speed by sharing computation of convolutional layers between proposals. Faster R-CNN <cit.> replaces Selective Search with a novel RPN (region proposal network), further promoting the accuracy and makes it possible to train model in an end-to-end manner. In addition, Mask R-CNN <cit.> extends Faster R-CNN mainly in instance segmentation task. Meanwhile, a series of proposal free detectors, one-stage detectors, has been proposed to speed up the detection. YOLO <cit.> and YOLOv2 <cit.> extract features from input images straightly for predicting bound boxes and associated class probabilities through a unified architecture. SSD <cit.> further improves the mAP by predicting a set of bounding boxes from several feature maps with different scales. 

In the mean time, some arts concentrate on improving specific parts such as backbone, neck, and head to improve the efficiency in object detectors. DetNet <cit.> specifically designs a novel backbone network for object detection. FPN <cit.> develops a top-down architecture to effectively encode features from different scales. PANet <cit.> further modifies neck module to obtain a better fusion. Focal loss <cit.> is proposed to solve the problem of class imbalance. MetaAnchor <cit.> proposes a flexible mechanism which generates anchor from arbitrary prior boxes. Light-Head R-CNN <cit.> designs a light head for two-stage detector to decrease the computation cost accordingly.



 §.§ Neural architecture search



  
NAS for image classification
NAS (neutral architecture search) has attracted great attention recently. Several reinforcement learning based methods <cit.> train a RNN controller to generate cell structure and form the network accordingly. Evolutionary algorithm based methods <cit.> are also proposed to update architectures by mutating current ones. To speed up searching process, gradient based methods <cit.> are proposed for continuous relaxation of search space, which allow the differentiable optimization in architecture search.



  
NAS for object detection
In addition to NAS works on classification, some recent works attempt to develop NAS for object detector. NATS <cit.> claims that the effective receptive field of backbone is critical and uses NAS to search different dilation rates for each convolution layer in backbone. Similarly, DetNAS <cit.> aims to search a better backbone for detection task. NAS-FPN <cit.> targets at a better architecture of feature pyramid network for object detection, adopting NAS to discover a new feature pyramid architecture covering all cross-scale connections. Auto-FPN <cit.> sequentially searches a better fusion of the multi-level features for neck and a better structure for head. However, there are two shortcomings in above methods: (i) the search space is defined by human prior and might be too naive for searching (four choices based on ShuffleNetV2 <cit.> in DetNAS <cit.>); (ii) in each work, only one certain part is searched (backbone in <cit.>, neck in <cit.>) can lead to suboptimal result in detection task. To tackle these two challenges, we propose Hit-Detector that filters proper search space for each parts hierarchically and searches every parts for a better detector in an end-to-end manner.





§ HIT-DETECTOR

In this section, we introduce the proposed Hierarchical Trinity architecture search algorithm for object detection and the resulted detector, Hit-Detector. We first identify and analyze the problems in current NAS algorithms for object detection to clarify our motivation that we need to search all components together. Then we detail how to hierarchically filter the sub search space for each parts, and last, the end-to-end search process for Hit-Detector is depicted. The following statement of search algorithm is based on two-stage detection methods and can be easily applied to one-stage methods.



 §.§ Preliminaries and Motivation

Two-stage detection system can be decoupled as four components: (i) Backbone. Commonly used backbones in detection system such as ResNet <cit.> and ResNeXt <cit.> are mostly manually designed for classification tasks. Usually, the largest proportion of parameters in a detector comes from backbone. For example, ResNet-101, the backbone of FPN <cit.>, takes up 71% parameters of all, leaving a large potential for searching; (ii) Neck. Employing in-network feature pyramids to approximate different receptive fields can help detector localize objects better. Previous architectures of feature fusion neck are manually designed while NAS can exploit better operations for merging features from different scales; (iii) RPN. The typical RPN is lightweight and efficient: a convolution layer followed by two fully connected layers for region proposal classification and bounding box regression. We follow this design for its efficiency and do not search for this part; and (iv) Head. Detectors usually have a heavy head attached to former network. For example, Faster R-CNN <cit.> employs the 5-th stage in ResNet <cit.> and FPN <cit.> uses two large fully connected layers (34% parameters of whole detector) to execute classification and regression, which are inefficient for detection. We call the backbone, the neck, and the head which are valuable to be searched as detector trinity in this paper.

Recently, several methods have been proposed to search either backbone <cit.> or feature pyramid architecture <cit.> for object detection. Denoting the search space 𝒜 as a directed acyclic graph (DAG) where the nodes indicate the features while directed edges are associated with multifarious operations such as convolution layer and pooling layer. We can view each path from start point to end point in the graph as an architecture α∈𝒜. Previous NAS works for object detection can be formulated as the optimization problem:

    α^*
       =min_α∈𝒜f(α)=
    min_α∈𝒜ℒ^det_val(α,w^*(α))
       =min_α∈𝒜ℒ^det_val(α,min_wℒ^det_train(α,w)).

The purpose of NAS process is to find a specific architecture α∈𝒜 that minimizes the validation loss ℒ^det_val(α,w^*_α) with the trained weights w^*_α. The above formulation can represent searching on backbone (𝒜 denotes the backbone search space) or feature pyramid network (𝒜 denotes the FPN search space).

However, the backbone, the neck (feature fusion network), and the head in object detection system should be highly consistent to each other. Only redesigning the backbone or neck is not enough, which can lead to suboptimal results. As shown in Table <ref>, combining the separately searched backbone in DetNAS and neck in NAS-FPN leads to a worse result. We claim that separately search backbone α, neck β, and head γ in detector is inferior to search all these components end-to-end:

    ℒ^det_val(α',β',γ') ≥ℒ^det_val(α^*,β^*,γ^*),
    s.t.    α',β',γ'=min_αf(α),min_βf(β),min_γf(γ),
       α^*,β^*,γ^*=min_α,β,γℒ^det_val(α,β,γ,w^*(α,β,γ)),
       α∈𝒜_b, β∈𝒜_n, γ∈𝒜_h.

where α',β',γ' are obtained by solving corresponding optimization problem as in Eq. <ref> separately, while α^*,β^*,γ^* are optimized through the end-to-end searching algorithm, and 𝒜_b,𝒜_n,𝒜_h are search spaces for backbone, neck, and head, respectively.

In this paper, we propose to search the trinity in detectors, backbone, neck, and head in an end-to-end manner:

    α^*,β^*,γ^*
    =min_α,β,γℒ^det_val(α,β,γ,w^*(α,β,γ))=
       min_α,β,γℒ^det_val(α,β,γ,min_wℒ^det_train(α,β,γ,w)).

As shown in Figure <ref>, we propose the hierarchical trinity architecture search framework to solve problems in Eq. <ref>, which includes two procedures: screening sub search space for each component and searching the trinity end-to-end.



 §.§ Screening Sub Search Space

Search space is one of the key factors in neural architecture search. The search spaces in <cit.> are manually designed with a limited number of operation candidates. Furthermore, there is usually the case that manually designed search space is not suitable for the architecture that needs to be optimized. In order to prevent insufficient search space, we start from the FBNet <cit.> and traverse as many candidates as possible to form a large set of operation candidates, which are illustrated in Figure <ref>. Inverted residual block <cit.> contains a 1×1 convolution, a k× k depthwise convolution, another 1×1 convolution and an expansion factor e. Separable block contains a k× k depthwise convolution and a 1×1 convolution. If the output dimension is the same as input's, we use a skip connection to add them together.



As shown in Figure <ref>(a), the whole search space consists of N different operation candidates, , N=32 in our experimental setting. If we directly apply this large search space for NAS, the memory and computational overhead is so heavy that ordinary hardware cannot support the search process efficiently. Moreover, in Sec <ref>, we empirically show that the same operation can have different impacts on final result at different parts in detection system. In order to find the most suitable search space for each component and reduce the computational burden, we propose a screening scheme to hierarchically filter operation candidates for each component. As shown in Figure <ref>(b), every candidate is associated with a score. The candidates with higher scores are retained, and others with lower scores are deleted.

Take the search space of backbone as an example, we conduct layer-wise search where each layer can choose any operation from the candidates. Assuming that the backbone has L layers, the score of the i-th operation in the l-th layer is denoted as α_l,i. All scores form the architecture parameter matrix α∈ℝ^L× N, where the i-th column represents the scores of the i-th operation in corresponding layers. With a relatively large amount of candidates, the scores tend to be similar and are hard to distinguish. In order to screen the most suitable operation subset, the matrix α is imposed with the column-sparse regularization:


    min_α f(α)+μmin_i(√(∑_l=1^Lα_l,i^2)),

μ is a trade-off hyper-parameter. In screening stage, the architecture parameter α is learned and the scores of candidates are ranked accordingly, the last several candidates will be removed from search space gradually until a search space with size N_b is obtained. The sub search spaces for backbone, neck, and head are hierarchically selected from the whole search space, namely, 𝒪_b, 𝒪_n, and 𝒪_h.




 §.§ End-to-end Search in Hit-Detector

After obtaining the suitable sub search space for each component, we start the end-to-end search for object detector. We adopt the differentiable manner proposed in <cit.> to solve Eq. <ref>, and represent the sub search space by a stochastic supernet. During searching, each intermediate node is computed as a weighted sum based on all candidates. For backbone, the l-th node is formulated as

    x_l=∑_o∈𝒪_bexp(α_l^o)/∑_o'∈𝒪_bexp(α_l^o') o(x_l-1),

where x_l is the output of the l-th layer, α_l^o is the parameter for operation o(·), and 𝒪_b indicates the sub search space for backbone. The nodes in neck and head are similar to Eq. <ref>. This continuous relaxation makes the entire framework differentiable to both operation weights and architecture parameters, so that we can perform architecture search in an end-to-end manner. In testing phase, we can easily decode architectures from α,β,γ by choosing operation with the highest score in each layer and construct detector using the selected operation. 

The details of our detector supernet are described as follows. The basic structure of backbone consists of a 3×3 convolution head with stride of 2 followed by four stages that contain 4+4+8+4=20 blocks to be searched. Conventionally, we define the layers that producing feature map with the same spatial size belong to the same network stage. In each stage, the first block has a stride of 2 for downsampling, and the last feature map generated by the backbone has a downsample rate of 32 compared to the input image. The channel of each stage is set to {48,96,256,352} respectively. We use {C_1,C_2,C_3,C_4} to represent feature maps of stride {4,8,16,32} generated by backbone. Then we send the feature pyramid into the neck. Generally, high level features have better semantic information while low level features have more accurate location information. To propagate semantic signals and accurate information about localization to features from lower and higher level, we use both top-down and bottom-up path augmentation to enhance features from different levels inspired by <cit.>. We use {P_1,P_2,P_3,P_4} and {N_1,N_2,N_3,N_4} to denote feature maps after top-down and bottom-up path, respectively. The whole neck contains 4+4=8 lateral connections to be searched, thus each feature level can search for different operations to assign proper receptive fields. Given the aligned feature maps generated by region proposal network, head is applied to predict final classification and refine the bounding box of the object. We design 4 blocks to be searched followed by a fully connected layer to form the detection head. The number of the output channels for each level in neck and head is 256 and the output of the fully connected layer is a 512 dimensional vector. In our experiments, we set N_b=N_n=N_h=8. Even if we extract the sub search spaces carefully, the final search space contains 8^(20+8+4)≈ 7.9×10^28 possible architectures.




 §.§ Optimization


In order to control the computational cost of the searched detector at the same time, we add the FLOPs constraint as a regularization term in the loss function and rewrite the Eq. <ref> as:

    min_α,β,γℒ^det_val(α,β,γ,w^*(α,β,γ)) +λ( C(α)+ C(β)+ C(γ)))

where λ is the coefficient to balance accuracy and cost of the detector, C(α) indicates FLOPs of the backbone part and can be decomposed as linear sum of each operations:

    C(α) 
    =∑_l∑_o∈𝒪_bα_l^oFLOPs(o,l),

C(β) and C(γ) can be calculated similarly.

It is clear that continuous relaxation from Eq. <ref> is differentiable with respect to architecture parameters and operation weights, thus {α, β, γ, w} can be optimized jointly using stochastic gradient descent. We adopt first-order approximation following <cit.> and update architecture parameters and operation weights alternately. We first fix {α, β, γ} and compute ∂ℒ/∂ w to train the network weights on 50% training data, then we fix the network weights and calculate ∂ℒ/∂α, ∂ℒ/∂β, and ∂ℒ/∂γ to update the architecture parameters on the remaining 50% training data, where the loss function ℒ is the localization and classification losses calculated on the detection mini-batch. The optimization alternates until the supernet converges.




§ EXPERIMENTS


In this section, we investigate the effectiveness of proposed Hit-Detector by conducting elaborate experiments on COCO benchmark.





 §.§ Dataset and Metrics

We conduct experiments on MS COCO 2014 dataset <cit.>, which contains 80 object classes. Following <cit.>, our training set is the union of 80k training images and 35k subset of validation images (trainval35k), and validation set is the remaining 5k validation images (minival). We consider Average Precision with different IoU thresholds from 0.5 to 0.95 with an interval of 0.05 as evaluation metric, , mAP, AP_50, AP_75, AP_S, AP_M and AP_L. The last three measure performance objects with different scales.



 §.§ Implementation Details

Our implementation is based on mmdetection <cit.> with Pytorch framework <cit.>. We firstly filter three sub search spaces for backbone, neck, and head, respectively. Then we search for our Hit-Detector following the algorithm in sec <ref>. Finally we train our searched model on the training set mentioned above. We use only horizontal flipping as data augmentation for training, and there is no data augmentation for testing. The experiments are conducted on 8 V100 GPUs.





  
Screening sub search space.
We sequentially screen sub search spaces for different parts of the detector due to the GPU memory constraint. The number of operations in the whole search space 𝒪 is 32 as shown in Fig. <ref>, and the number of operations to be screened for all three sub search spaces 𝒪_b, 𝒪_n, and 𝒪_h is set as 8. We halved the depth of backbone supernet to 2+2+4+2=10 for simplifying this process. We first pretrain the backbone supernet on ImageNet for 10 epochs with fixed architecture parameters, then fine-tune the entire detector supernet on COCO. SGD optimizer with momentum 0.9 and cosine schedule with initial learning rate 0.04 is used for learning model weights, while Adam optimizer with learning rate 0.0004 is adopted for updating architecture parameters. The μ in Eq. <ref> is empirically set to 0.1. We begin to optimize architecture parameters at the 6-th epochs and finish searching at 12 epochs, and we don't use resource constraint in this stage.





  
Trinity Architecture searching.
After screening sub search spaces, we start to search the backbone, neck and head in an end-to-end manner. We pretrain the new backbone supernet on ImageNet based on the corresponding sub search space, and then search the detector on COCO dataset. The optimizers to learn the architecture parameters and weights are the same as we do when screening sub search spaces. The λ in Eq. <ref> is empirically set to 0.01 to trade off the accuracy and the FLOPs constraint.





  
Training details.
We first pretrain the searched backbone on ImageNet for 300 epochs, then we fine-tune the whole detector on COCO training set. The input image is resized such that its shorter side has 800 pixels. We use SGD optimizer with a batch size of 4 images per GPU, and our model is trained for 12 epochs, known as 1× schedule. The initial learning rate is 0.04 and is divided by 10 at the 8-th and 11-th epoch. We set momentum as 0.9 and weight decay as 0.0001.





 §.§ Main Results



  
Comparisons with hand-crafted methods.
FPN <cit.> with ResNet-50 as backbone is the baseline model here. We replace the backbone in FPN with other excellent backbones, MobileNetV2 <cit.> and ResNeXt-101 <cit.>, and form two competitor models accordingly. As shown in Table <ref>, Hit-Detector surpasses baseline by a large margin with much less parameters. In addition, Our method is 1.1% higher on mAP compared to the ResNeXt based detector with less than one half of the parameters. And we outperform MobileNetV2 by 11.3% on mAP with only a bit more parameters. This demonstrates that our method can find a better architecture than hand-crafted baselines.





  
Comparisons with NAS based methods.
As shown in Table <ref>, we compare our method with both detector searched on COCO benchmark and detector that adopts NAS based model as backbone. FBNet <cit.> is searched on ImageNet dataset and we directly apply it as the backbone of a detector, however, its performance on detection task is disappointing. DetNAS <cit.> aims to search a better backbone directly on detection benchmark while leaves the rest parts unchanged. Our method outperforms DetNAS by 1.2% with less parameters and pretty much FLOPs. It can be seen that Hit-Detector surpasses all previous NAS based methods, which indicates that it is important to search the trinity in an object detector.





  
Comparison with State-of-the-arts on test-dev set.
We also compare the results of our Hit-Detector with other state-of-the-art methods on the COCO test-dev, and we summarize the comparisons in Table <ref>. Hit-Detector only applies horizontal flipping as data augmentation and 2x training scheme, achieves 44.5% mAP without bells and whistles. Our model has less parameters and performs even better compared to other detectors such as TridentNet and NAS-FPN. This demonstrates that our method can find a better architecture than hand-crafted or partly searched methods. 





 §.§ Ablation Studies




  
Influence of different operations. We use a toy example to demonstrate that different parts of the detector are sensitive to different operations, so that different parts need different sub search spaces. Here we simply choose 12 operations from the whole search space as shown in Figure <ref>. For example, “conv_k3_d1" denotes the convolution block with kernel size 3 and dilation rate 1, and “ir_k3_d1" denotes the inverted residual block with kernel size 3 and dilation rate 1, respectively. Take the left figure as an example, for each operation candidate, we randomly select a layer from backbone and replace original operation with the operation candidate to explore the influence of the selected operation candidate. For each part (backbone, neck, and head), we repeat the random process 6 times to ensure that operation candidate can be inserted in layers of different depths. We can find that (i) different parts prefer different operations. For example, operation “conv_k5_d3" achieves the highest mAP in backbone while “conv_k5_d1" performs the best in head; (ii) one operation has different performances in different parts, “conv_k3_d1" attains 30.4%-30.6% mAP in backbone but gets 30.7%-30.9% mAP in neck; and (iii) the performance of one operation within the same part is stable enough so that it's reasonable for us to screen sub search spaces by different parts.





  
Column-sparse regularization.
To further evaluate the influence of the column-sparse regularization, we set the μ in Eq. <ref> to {0,0.01,0.1} and randomly choose 4 operation candidates to draw the Figure <ref>. We can find that if there is no column-sparse regularization (μ=0), probabilities of different operations are rather similar, which makes the screening process unstable. As μ increases, differences between operations become more significant, which helps to screen proper sub search space easier. We set μ=0.1 in the rest of our experiments.





  
Importance of screening sub search space.
We study the influence of screening different sub search spaces through the ablation study shown in Table <ref>. When three parts have the same sub search space, the mAP decreases from 41.4% to 40.1%, which indicates that different parts need to have their proper sub search space to achieve better performance.









  
Importance of trinity architecture searching.
We explore the impact of each searched part in Hit-Detector here. Taking ResNet-50 based FPN <cit.> as baseline model, we replace one part of baseline model with our searched component each time and verify the new model on COCO minival. As shown in Table <ref>, our searched backbone architecture achieves 39.2% mAP, and the searched head also attains 38.5% mAP. With the searched trinity, the mAP of Hit-Detector increases to 41.4%, which is much higher than baseline model and the single part competitor. Another noteworthy finding is that the backbone and head can boost performance better than neck. We think the main reasons are that (i) object detection emphasizes more on perception to the location of each object in an image, thus the backbone designed for detection can perform better compared to the one designed for classification; and (ii) head aims to identify and refine the location of bounding boxes, thus searching more suitable convolution layers in head can bring more benefits to detection task.

Our searched Hit-Detector is depicted in Figure <ref>. We observed that the backbone prefers operations that have large kernel size. However, convolution layer with dilation 3 which achieves the best mAP in Figure <ref> is not chosen. One main reason is that the ResNet-50 backbone in toy example only includes 3×3 convolution, thus operation with dilation 3 can boost the performance prominently. Except that, backbone and head prefer operations with bigger expansion rate such as inverted residual block which has more intermediate channels to increase the expression of feature, while the neck prefers bigger dilation rate for larger receptive fields.


 


  
Extension to one-stage detector.
To evaluate the generalization of our method, we apply it to RetinaNet <cit.> for searching one-stage detector. The search algorithm is the same as mentioned in sec <ref>. As shown in Table <ref>, our model outperforms RetinaNet by 1.3% in terms of mAP and the model size is smaller than both VGG based SSD and ResNet-50 based RetinaNet.






§ CONCLUSION

In this work, we propose a hierarchical trinity architecture search scheme to address the problem that incomplete searching of detector would cause the inconsistency between different components and lead to the suboptimal performance. We reveal that different components prefer different operations and thus screen three sub search spaces to improve the searching efficiency. Then we search for all components of object detectors based on the sub search spaces in an end-to-end manner. The searched architecture, namely Hit-Detector, achieves state-of-the-art performance on COCO benchmark without bells and whistles.

Acknowledgement This work of J. Guo and C. Zhang is supported by the National Nature Science Foundation of China under Grant 61671027 and the National Key R&D Program of China under Grant 2017YFB1002400, and C. Xu is supported by the Australian Research Council under Project DE180101438.


§ APPENDIX


In this supplementary material, we list the search space and corresponding sub search spaces for detector trinity in details, and we show the qualitative results of our Hit-Detector compared with other state-of-the-art methods. 



 §.§ Search Space

The whole search space consists of N=32 different operation candidates in our experimental setting. We list the candidates bellow:




    
  * ir_k3_d1_e1 ir_k3_d1_e3 ir_k3_d1_e6


    
  * ir_k3_d2_e1 ir_k3_d2_e3 ir_k3_d2_e6


    
  * ir_k3_d3_e1 ir_k3_d3_e3 ir_k3_d3_e6


    
  * ir_k5_d1_e1 ir_k5_d1_e3 ir_k5_d1_e6


    
  * ir_k5_d2_e1 ir_k5_d2_e3 ir_k5_d2_e6


    
  * ir_k5_d3_e1 ir_k5_d3_e3 ir_k5_d3_e6


    
  * ir_k7_d1_e1 ir_k7_d1_e6


    
  * sep_k3_d1     sep_k3_d2        sep_k3_d3


    
  * sep_k5_d1     sep_k5_d2        sep_k5_d3


    
  * conv_k3_d1 conv_k3_d2 conv_k3_d3


    
  * conv_k5_d1 conv_k5_d2 conv_k5_d3


where “ir", “sep" and “conv" indicates the  inverted residual block, separable block and convolution block, respectively, “k" indicates the kernel size, “d" indicates the dilation rate, “e" indicates the expansion rate of inverted residual block.  



 §.§ Sub search space


In our experiments, we set N_b=N_n=N_h=8, and we list the top-8 candidate operations for backbone:



    
  * ir_k3_d1_e3 ir_k3_d1_e6 ir_k3_d2_e3


    
  * ir_k5_d1_e3 ir_k5_d1_e3 ir_k5_d2_e6


    
  * ir_k5_d3_e6 ir_k7_d1_e6


The top-8 candidate operations for neck:



    
  * conv_k3_d3 conv_k5_d1 ir_k3_d2_e1


    
  * ir_k5_d1_e3 sep_k3_d1    sep_k3_d3


    
  * sep_k5_d2     sep_k5_d3


The top-8 candidate operations for head:



    
  * ir_k3_d1_e3 ir_k3_d1_e6 ir_k3_d2_e6


    
  * ir_k5_d1_e3 ir_k5_d1_e6 ir_k7_d1_e6


    
  * conv_k3_d1 conv_k5_d1




 §.§ Qualitative results

We show the qualitative results of our Hit-Detector. We randomly sample some images from the COCO minival and show detection results with confidence bigger than 0.5. First column is the results of FPN <cit.>, second column is the results of NAS-FPN <cit.> implemented by ourselves, third column is the results of DetNAS <cit.>, and the fourth column is the results of our Hit-Detector. Different box colors indicate different object categories.





ieee_fullname
	



