作者 | 阿里安全人工智慧治理與可持續發展實驗室(AAIG)
編輯 | 楊怡
1 比賽背景
對資料集進行標註會消耗大量的人力和資源,此外,只有少數幾家科技巨頭擁有數十億的資料點和數以千計的昂貴的深度學習硬體GPU可供使用。
最近有很多研究透過非監督學習、重用現有資料集或合成人工訓練資料的方法,研究如何利用有限的資料來訓練深度神經網路。因此本次的workshop重點在如何利用少量的資料,對模型進行有效的訓練。
ICCV2021本次挑戰比賽一共分為五個賽道,這些任務都不需要龐大的GPU叢集,長時間的訓練也不會對模型結果產生很大的改善。比賽頁面如下:比賽頁面,本次比賽五個賽道共有阿里、螞蟻、海康、松下、平安、位元組、網易、美團等企業和西電、北郵、清華、復旦、南洋理工、中佛羅里達和羅馬大學等海內外高校參加,我們設計了一套基於對比學習預訓練模型的檢測模型網路,以mAP 30.4%的成績獲得目標檢測賽道的冠軍。
影象中目標的自動定位和檢測是計算機視覺的重要應用之一。由於上下文資訊,目標檢測器可能在影象中預期的位置發現那些丟失的目標物體。如圖1所示,紅色框代表缺失的部件,檢測不存在的物體尤其不利於自動視覺零件驗證或視覺驗證的應用, 即需要確定物體存在或不存在的應用。因此,本次比賽提出了DelftBike[6]資料集,並以此作為本次目標檢測賽道的資料集。
DelftBikes資料集包含10,000輛腳踏車的影象,每輛腳踏車有22個密集標註的部件。此外,資料集將所有部件位置和狀態明確標註為完整(intact)、損壞(damaged)、遮擋(occluded)或缺失(absent),其中缺失狀態表示該目標已丟失,但是該資料集仍然將其用包圍框標註出來。如圖2所示,其中intact,damaged,occluded和absent分別佔60%,6%,14%和20%。模型訓練和測試只使用可見部分進行評估,即intact、damaged和occluded。如圖3所示,是DelftBikes的一些圖片樣本,每張圖片有22個腳踏車零部件的包圍框標籤,每個部件都詳細標註出了明確的狀態資訊。同樣的形態、方向和位置很容易導致對上下文敏感的目標檢測器檢測出缺失部件。如圖2所示,是22個零部件的在圖片中平均位置和大小,說明先驗的目標絕對位置資訊和上下文是有聯絡的。
1 解決方案
論文連結:https://arxiv.org/pdf/2106.02523.pdf
注意點:本次目標檢測任務不允許使用任何額外資料,包括在ImageNet上或其他資料集上預訓練的模型、遷移模型等。
1. 資料增強
DelfBike資料集的資料量比較少,模型很容易過擬合到少量的資料樣本上,我們的檢測模型訓練到24輪之後,在驗證集合上的mAp是逐漸下降的。為了獲取更多的資料,我們對現有的訓練資料進行資料增強,增強方法包括隨機新增高斯噪聲、模糊變化、霧化、加雨加雪等。同時我們也對一些數量比較少的類別進行針對性的資料增強,利用的方法是泊松融合[1]。
2. 自監督模型預訓練
在目標檢測任務中,從零開始進行模型訓練很難收斂,尤其是在資料量不足的情況下。在目標檢測比賽中禁止使用除提供的訓練資料以外的其他資料,即沒有預訓練,也沒有遷移學習。但是,我們可以利用競賽提供的資料,透過自監督或無監督的方法對預先訓練好的模型進行訓練,使模型收斂得更快、更好。根據trainval集合的bounding box標籤資訊,我們對原圖片進行裁剪並生成133,245張腳踏車零部件的圖片,將這些截圖用於預訓練模型的訓練。
我們採用的模型預訓練方法是Momentum Contrast(MoCo)[5],MoCo是針對無監督視覺表徵學習而提出的,它是一種利用對比學習[10]來構建動態字典的方法,這可以被認為是為字典查詢任務訓練編碼器,如圖5所示,MoCo可以驅動各種下游任務的學習,比如影象分類、目標檢測等。一個已編碼的查詢q和一組已編碼的樣
,與q相似的正編碼樣本定義為k+,其他的被定義為負樣本k-。如圖5所示,對比學習方法是為了學習一個編碼器F,從而拉近在特徵空間中q和它的正樣本k+之間的距離,推遠q和負樣本k-之間的距離。使用的對比損失函式計算如下:
其中是一個溫度超引數,反向傳播可以透過使用查詢序列將所有樣本的梯度傳遞回來,但是這會字典變得很大,使得更新編碼器F變得困難。因此,MoCo提出了一個動量更新來解決這個問題,引數更新公式如公式2所示。MoCo設定來自同一個張的圖片的query和key是正樣本對,否則為負樣本對。在實驗中,為了增強模型的魯棒性,對同一幅影象隨機選擇不同的影象增強方法,來生成正樣本對。
查詢編碼器和字典編碼器分別表示為
和
,編碼器可以是任意卷積神經網路,如ResNet,Res2Net。透過對比學習的方法,訓練編碼器模型,之後將訓練好的編碼器模型用於下游檢測任務模型的初始化。本方案採用的是ResNet-50模型作為我們的backbone,因為我們在實驗中發現更深或者更復雜的backbone並不能在檢測效果上帶來增益。同時,我們的實驗也證明了透過自監督訓練的預訓練模型比使用ImageNet的預訓練模型效果要更好。
3. Baseline模型訓練
我們在本次比賽中採用的baseline模型是基於Cascade-RCNN+DCN[8]+GN[9]的目標檢測模型。在目標檢測中,IOU閾值被用來定義正樣本(positive)與負樣本(negative),Cascade-RCNN[7]由多個檢測器構成,這些檢測器透過遞增的IOU閾值進行分級訓練。一個檢測器輸出一個更好的分佈資料來作為下一個檢測器的輸入,這樣能解決一部分假陽性FP問題。Deformable Convolutional networks(DCN)可變形卷積主要解決的問題是在影象的任務中目標的尺寸,形狀變化不一,插入可變形卷積能增強網路的特徵提取能力,offset的作用是使網路在提取特徵時更多的把注意力聚焦到和訓練目標有關的位置上,可以更好的覆蓋不同尺寸和形狀的目標。BN的問題是十分依賴於batch size,大batch size比較小的時候,BN效果不會太好。GN透過對channel分組的形式來解決Normalization依賴batch size的問題。
4. 多閾值soft-nms
非最大抑制是anchor-base的目標檢測模型的一個重要後處理部分。NMS按得分進行排序,與得分高的框重疊大於一定閾值的得分較低的框會受到抑制。NMS會直接刪除得分較低的框,從而降低了目標物件檢測的召回率。因為比賽提供的資料集的訓練標籤和測試標籤都是帶有噪聲的,所以得分高的框往往不是最貼合目標物件的檢測框,因此,我們使用soft-NMS代替NMS。此外,我們發現每個類別的邊界框的座標偏差範圍是不同的,從而導致每個類別對soft-nms是設定的IOU閾值比較敏感。每個類別的iou閾值最優取值是不同的,因此,我們為每個類別設定了不同的IOU閾值,以便更好地提高目標檢測的召回率。
5. Stochastic Weights Averaging(SWA) + Cyclic Learning rate[12]
SWA[2]簡單來說就是對訓練過程中生成的多個階段的模型checkpoints進行平均,來提升模型的泛化效能。記訓練過程第i個epoch的checkpoint為
,SWA一般在最後採用週期式學習速率(餘弦退火學習速率)額外訓練k輪模型,不同的是SWA會取多個checkpoints的平均值
作為最終模型。如下圖所示,是餘弦退火學習速率,初始學習率一般設定為較大的學習率,之後在一輪的訓練時間內迅速降低到相對較小的學習率,這樣重複k輪。
3 實驗分析
1. 實驗結果分析
我們透過Tide[11]目標檢測錯誤分析工具對模型評測結果進行分析,如圖9所示,其中Cls表示分類錯誤,Loc表示由於定位導致的錯誤,Cls+Loc表示定位和分類都是有問題的,Duplicate表示預測框重疊問題,Bkgd表示將背景類預測為目標物體,Missed表示漏檢問題。如圖10所示,是我們模型的錯誤分析結果,其中70%以上是因為定位問題導致的假陽(FP)問題。具體原因可以總結為:
(1)訓練集合存在噪聲標籤,gt框包括大量背景以及其他類別目標,訓練標籤本身帶有錯誤的先驗資訊導致預測框定位上不是很準確。
(2)訓練集Ground Truth和測試集Ground Truth 目標的位置偏差和方差不同,測試集合同樣也存在噪聲標籤,gt框沒有完全貼合目標物體,位置上有一定的偏差,偏差的大小和方向與訓練集不一致。
2. 預訓練模型的Ablation Study
從Table 2可以看出,我們實驗了無預訓練模型直接隨機初始化、ImageNet預訓練以及三種自監督的模型預訓練方法(DenseCL[3],InstanceLoc[4]和Moco[5]),使用自監督的模型預訓練方法相比於使用ImageNet預訓練模型初始化都有提升。其中MoCo預訓練方法效果最好,使用MoCo自監督預訓練模型比使用ImageNet預訓練模型在mAP提升了0.65%,比沒有使用預訓練模型提升了1.15%。
從表5可以看出,soft-NMS[13]能在NMS基礎上提升1.57%,soft-NMS能提升這麼多是因為測試標籤中含有大量的噪聲標籤,模型預測準確的預測框不一定是最貼合Ground True的。因此透過soft-NMS可以保留下得分低但是更貼合gt的預測框,從而大大的增強模型的召回率,使用soft-nms之後模型的召回率提升了4%。
後處理方法是模型最後漲點的最重要的方法,通過後處理方法大大的拉昇了我們的比賽成績,我們使用的後處理方法有如下幾個:
(1)Test Time Augmentation(TTA),在測試時我們採用多尺度圖片進行測試。
(2)Boxes Emsemble:透過訓練多個檢測模型(不同的模型結構、初始化方法和訓練方法等等),然後將各個模型對測試圖片的測試結果進行emsemble。
(3)Boxes先驗驗證:統計各個類別ground trurh在圖片的的位置資訊和長寬等資訊,利用先驗對測試結果進行分析,過濾掉不合理的目標框。
(4)類間NMS:透過不同類別之間預測框的NMS約束,這樣也可以提升mAP。
4. 完整的Ablation Study
Table4 給出了我們實驗所有的方法和trick,模型的自監督預訓練、DCN/GN、TTA、soft-nms、emsemble等,最終我們將baseline模型mAp從28.40提升到30.92。需要注意的是由於測試集噪聲標籤的影響,模型在訓練集上的mAp也只有33.17。
[1] Pérez, P., Gangnet, M. and Blake, A., 2003. Poisson image editing. In ACM SIGGRAPH 2003 Papers (pp. 313-318).
[2] Zhang, H., Wang, Y., Dayoub, F. and Sünderhauf, N., 2020. Swa object detection. arXiv preprint arXiv:2012.12645.
[3] Wang, X., Zhang, R., Shen, C., Kong, T. and Li, L., 2021. Dense contrastive learning for self-supervised visual pre-training. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 3024-3033).
[4] Yang, C., Wu, Z., Zhou, B. and Lin, S., 2021. Instance localization for self-supervised detection pretraining. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 3987-3996).
[5] Chen, X., Fan, H., Girshick, R. and He, K., 2020. Improved baselines with momentum contrastive learning. arXiv 2020.
[6] Kayhan, O.S., Vredebregt, B. and van Gemert, J.C., 2021. Hallucination In Object Detection--A Study In Visual Part Verification. arXiv preprint arXiv:2106.02523.
[7] Cai, Z. and Vasconcelos, N., 2018. Cascade r-cnn: Delving into high quality object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 6154-6162).
[8] Dai, J., Qi, H., Xiong, Y., Li, Y., Zhang, G., Hu, H. and Wei, Y., 2017. Deformable convolutional networks. In Proceedings of the IEEE international conference on computer vision (pp. 764-773).
[9] Wu, Y. and He, K., 2018. Group normalization. In Proceedings of the European conference on computer vision (ECCV) (pp. 3-19).
[10] Hadsell, R., Chopra, S. and LeCun, Y., 2006, June. Dimensionality reduction by learning an invariant mapping. In 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06) (Vol. 2, pp. 1735-1742). IEEE.
[11] Bolya, D., Foley, S., Hays, J. and Hoffman, J., 2020. Tide: A general toolbox for identifying object detection errors. In Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23-28, 2020, Proceedings, Part III 16 (pp. 558-573). Springer International Publishing.
[12] Smith, L.N., 2017, March. Cyclical learning rates for training neural networks. In 2017 IEEE winter conference on applications of computer vision (WACV) (pp. 464-472). IEEE.
[13] Bodla, N., Singh, B., Chellappa, R. and Davis, L.S., 2017. Soft-NMS--improving object detection with one line of code. In Proceedings of the IEEE international conference on computer vision (pp. 5561-5569).