2020年8月23-28日,原定於在英國格拉斯哥舉行的ECCV 2020受疫情影響,改為虛擬形式在線上進行,但這並未影響參加者的熱情,依然輸出了相當多計算機視覺領域優質內容。百度作為計算機視覺領域的「佼佼者」,在ECCV 2020上也有不菲的成績,先有10篇論文中選被收錄,如今又「連中兩元」拿下兩個Workshop冠軍,分別是Tiny Object Detection和目標檢測領域最權威的比賽COCO。
在目標檢測領域,百度可謂是獲獎「常客」。去年,在目前規模最大的目標檢測公開數據集Open Images Dataset V5(OIDV5)中,百度憑藉領先的AI技術,摘得桂冠;在CVPR 2019 Workshop中,百度獲得"Objects365物體檢測"國際競賽 Full Track冠軍。
ECCV是世界計算機視覺頂級會議之一,每兩年舉辦一場,與CVPR和ICCV並稱計算機視覺領域三大會議。在本屆的Workshop中,COCO Object Detection備受關注,它是目前學術界最權威的檢測和實例分割比賽。首屆Tiny Object Detection是為了幫助更多新興領域提出新的基準和微小目標檢測方式,解決行業痛點、滿足應用需求。
一、 COCO Object Detection
COCO數據集中囊括11萬訓練數據、80個類別,百度團隊基於PaddleDetection,在此次目標檢測和實例分割任務中通過3種方法進行優化:強大的目標檢測效果;加強版FPN模塊和加強版header;Twopipeline策略。
1、強大的檢測分支
在比賽中,百度用效果優良的cascade mask rcnn和htc網絡作為基礎網絡,在這些基礎網絡上,加入更多改進策略來提升檢測部分的效果。
首先,百度通過飛槳框架下的ImageNet蒸餾模型作為預訓練模型對Objects365數據集的檢測模型進行訓練,訓練好的Objects365檢測模型可以作為預訓練模型,並用來訓練相同網絡結構的COCO模型,這樣可以在檢測任務上獲得顯著提升的效果。對於具體的網絡結構而言,百度訓練的Res2net200模型、CBResnet200、SE154模型作為檢測模型的backbone,其中Res2net200的檢測模型在單尺度下mAP可以達到56.2%。
其次,百度採用加強版的FPN模塊提升網絡效果:使用Acfpn網絡增強檢測能力,該模型可以解決高解析度輸入上特徵圖解析度與感受域之間的矛盾,Acfpn包括兩個模塊,加入Acfpn後,box mAP增加了0.8%;除了Acfpn,還使用DetectoRS中的RFP網絡,RFP網絡將反饋連接添加到自底向上的主幹層中,它在htc-r50上使box mAP提升4.2%。
除了加強版的FPN模塊,百度還用了non-local算子和數據增強策略。non-local算子用於描述距離像素之間的關聯,輸出特徵圖的每個元素都會受到所有輸入特徵圖的影響;同時,百度還根據COCO數據集的特性,使用隨機擦除的數據增強策略——在圖像中隨機選取一個矩形區域,並在訓練中對其像素進行隨機擦除,降低過擬合風險,並提高模型對於遮擋目標的檢測魯棒性。
2、分割模塊
為了提高模型最終的mask準確率,百度使用增強版的header模塊,在此模塊中,使用htc的header作為基礎header。在此基礎上,百度用增強的雙網絡box header代替原有的box header,除此之外,mask header分支整合了rescoring信息,實際坐標信息和邊緣信息,組合成增強版的header。
原始的htc的box header只有兩個全卷積層用於目標框的回歸和分類,而增強版的雙分支boxheader使用兩個分支,分別預測框的坐標和類別,為了提高效率,百度沒有用過重的head結構,只使用一個bottleblock模塊代替第一個卷積層,其他的卷積層不變;而對於分割rescoring分支,為了避免計算量過大,百度只在最後一個階段加入分割rescoring分支,並用rescoring分支的結果取代原有的box分值賦給mask;而邊緣分割分支,是在mask header裡融入了邊緣信息,以提升mask mAP。
3、 two pipeline
最後,為了可以效利用多個檢測網絡的結果,百度將檢測網絡結果當作候選框輸入到分割網絡的head前,得到實例分割網絡的最終mask結果,通過這種two pipeline策略,mask mAP可以增長3.1%。基於上述優化方法,百度團隊在COCOobject detection track中一舉奪魁。
此次競賽中,百度團隊使用了最新發布的「PP-YOLO」,它是YOLOv3的「華麗變身」。PP-YOLO的高精度和高推理速度,即使對檢測視頻中非常快速運動的目標也可以達到很好的效果。經過一系列優化方法,飛槳研發人員已將訓練迭代次數和學習率衰減迭代次數調整至和原始YOLOv3模型的迭代次數一致,也就是訓練迭代次數從25萬次增加到50萬次,對應學習率衰減的迭代次數調整至40萬和45萬,使PP-YOLO模型在COCO minival數據集精度達到45.3%,單卡V100上batch size=1時的預測速度為72.9 FPS。如果使用COCO test_dev2017數據集測試,精度將達到45.9%。
如下表所示,在不同輸入尺度下PP-YOLO模型與YOLOv4模型在COCO數據集精度和V100推理速度的交手結果。
而PP-YOLO所應用的這套優化策略,也可以被嘗試應用到該系列的其它模型上,產業開發者或者科研人員可借鑑這套優化算法展開進一步的探索。
目標檢測是計算機視覺領域中的核心任務,也是百度的拿手強項。去年,在目前規模最大的目標檢測公開數據集Open Images Dataset V5(OIDV5)中,百度基於飛槳PaddleDetection目標模型庫研發了大規模圖像目標檢測模型MSF-DET (Multi-Strategy Fused Detection framework),它也成為了OIDV5 2019目標檢測比賽中的最好單模型,並且在計算機視覺領域的頂級學術會議ICCV 2019上進行技術分享。此外,在CVPR 2019 Workshop中,百度獲得"Objects365物體檢測"國際競賽 Full Track冠軍,而 Full Track主要用於探索目標檢測系統的性能上限,備受矚目。
二、小目標檢測,tiny object detection
TinyPerson數據集包括794張訓練圖片,每張圖片中包括上百個小目標人物需要檢出。任務的目標是評估測試圖片中的tiny大小(20*20~40*40像素)的人體目標的AP(Average Precision)。
百度研究了常見的兩級檢測器:Faster R-CNN、FPN、Deformable R-CNN、Cascade R-CNN等,從而探查其對不懂IoU閾值的檢測標準的適合性。該方法主要分為四個部分:數據增強、訓練策略改進、模型改進和模型融合。
1.數據增強
針對一般無人機採集的人群數據集,如Semantic Drone Dataset、Stanford Drone Dataset,由於數據集數量較小難以達到快速收斂和較好的檢測效果。百度採用額外的同類數據來進行同尺度預訓練,從而提高模型對同等先驗知識的理解,提高模型的檢測能力。通過加入數據增強策略,AP50(tiny)提升2%至3%。
2.訓練策略改進
對於無人機航拍收集的數據,不同圖像的原始尺寸和目標的相對尺寸會有所不同,這樣會造成檢測器對有些圖像的理解困難。在訓練過程中,百度隨機將輸入圖像的大小調整為原始大小的0.5、1.5倍、1.5倍,以幫助解決尺度差異問題。在改進訓練策略以後,AP50(tiny)由57.9%提升至65.38%。
3.模型改進
對於傳統的二階段檢測器,如R-CNN和FPN系列,通常使用ResNet系列網絡作為骨架網絡。為了改進這種系列檢測器,對於FPN檢測器,P3層為微小物體的檢測提供了相對應尺度的特徵。然而,P3層的不足在於它具有語義描述。因此百度用PAFPN代替FPN,提高網絡的語義識別能力。相較普通的FPN,PAFPN增加了一條自下而上的路徑,從而提高了基於提議的實例分割框架中的信息流。此外,在下採樣模塊中,百度通過「carafe」採樣方法來代替原來的卷積模塊下採樣方法,然後使用可變形卷積模塊。在上採樣模塊中,百度基於可變形卷積模塊代替原來的卷積模塊對特徵進行上採樣。改進後的PAFPN,AP50(tiny)提升了1.5%。
4.模型融合
對於難度較大的無人機航拍目標的小目標檢測任務,單模型單尺度顯然無法滿足圖像的複雜以及低信噪比特性,因此,百度考慮使用多尺度多模型實現高精度檢測。對於模型融合方法,百度採用具有不同骨架網絡(Res2Net, ResNet200,ResNeXt101,SENet154等)的Cascade R-CNN檢測器進行融合。對於每個模型,百度預測了NMS後的邊界框。給每個模型一個從0到1的標量權重,所有權重總和為1,每個模型的盒子的可信度分數乘以其權重,最後合併來自所有模型的框並運行原始的NMS,除了百度添加來自不同模型的分數而不是只保留最高的一個。依次順序使用NMS的修改合併了不同IoU閾值的預測框。最終,模型的AP50(tiny)達到了72.23%。
通過以上優化,百度團隊在Tiny Object Detection比賽中獲得冠軍,領先第二名0.8%。與此同時,百度通過這樣的優化方式,能對更多不同領域的微小目標檢測需求提供更有力的幫助,為各行各業賦能。
百度持續在物體檢測技術上深耕,近兩年在國際檢測大賽中,斬獲5項國際比賽冠軍;取得了業內最重磅的coco object detection檢測比賽冠軍,代表了百度在目標檢測領域的領先性;取得tiny object detection比賽的冠軍,更表明了百度在小目標檢測領域技術的突破。取得這些成績的同時,百度產研並重,深度布局不同領域。2017年至今,百度AI工業已落地電子、汽車、鋼鐵、能源、橡膠、紡織等 10多個行業,超過 50個細分垂類。
其實,百度在工業質檢領域布局早,依託百度工業視覺智能平臺打造解決方案,用戶提及率高,其主要優勢在於突出的AI能力、開放的產品能力和豐富的落地經驗。通過整合百度工業視覺智能平臺、崑崙晶片、飛槳框架和自研算法,百度實現了核心AI能力完全自主可控,並開發出靈活多變的深度適配模型,降低AI使用門檻,與合作夥伴共建軟硬一體方案,用多種合作模式賦能終端用戶。
百度在國際視覺領域賽事中拿下「雙料冠軍」,是AI技術的長期積累、全面發力,也是百度AI技術實力領跑全球的最好證明。目前,百度 AI技術的集大成者,百度大腦正在不斷開放前沿頂尖的 AI技術,已對外開放視覺、語音、自然語言處理等 260多項領先的 AI能力,服務超過210萬名開發者,為廣大開發者提供 AI技術研發支持,賦能各行業。