ECV 2021 冠軍方案解讀:船只數(shù)量檢測(cè)方案

極市導(dǎo)讀
?本文為獲得船只數(shù)量檢測(cè)冠軍的蔡劼團(tuán)隊(duì)方案解讀,該團(tuán)隊(duì)使用anchor-free方法以及隨機(jī)水平翻轉(zhuǎn),多尺度訓(xùn)練,mixup,autoaugment以及gridmask的數(shù)據(jù)增強(qiáng)方法。>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
數(shù)據(jù)分析
本次比賽一共包含了9902張訓(xùn)練集,測(cè)試集由4242張,數(shù)據(jù)采集的場(chǎng)景大概有10個(gè)左右,格式都比較規(guī)范,都是1080P的圖像大小。類別數(shù)也只包含了boat一類。
賽題最終需要在OpenVINO平臺(tái)上部署推理,同時(shí)算法精度需要大于0.6,算法的FPS需要大于5才能達(dá)到評(píng)獎(jiǎng)的下限要求,其中評(píng)估算法精度的方法為F1 Score(IoU>0.5)。部分樣例圖像如下所示。

最初需要對(duì)本賽題提供的訓(xùn)練數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,分析結(jié)果如下,船只由于自身形狀特點(diǎn)以及成像場(chǎng)景(遠(yuǎn)近不一)的差異導(dǎo)致標(biāo)定框?qū)捀弑确秶兓?,同時(shí)遠(yuǎn)景下的船只還暴露了本次比賽需要注意小目標(biāo)的問題。
兩個(gè)方面的因素決定了anchor-based的方法需要花費(fèi)大量精力去設(shè)計(jì)anchor。從GT個(gè)數(shù)分析來看,本次任務(wù)也存在部分樣本包含了大量的真值標(biāo)定框,對(duì)于這種密集場(chǎng)景下的目標(biāo)檢出和檢準(zhǔn)也需要多注意。

技術(shù)展示(訓(xùn)練)
接下來是本次比賽的技術(shù)展示,分為兩個(gè)部分,分別對(duì)應(yīng)訓(xùn)練和測(cè)試部署。
經(jīng)過上述分析之后,我們認(rèn)為目前比較適合本次比賽的方法應(yīng)該是anchor-free的算法,如下圖所示,anchor-based算法需要預(yù)定義一系列尺度不一,大小不一的anchor,在訓(xùn)練過程中基于這些anchor對(duì)目標(biāo)bbox進(jìn)行回歸預(yù)測(cè),而anchor-free算法則是直接從特征圖上回歸出特定的bbox和類別置信度,流程上更加簡(jiǎn)練,也避免了很多類似于anchor生成,anchor回歸計(jì)算的操作,更重要的是后處理階段會(huì)更簡(jiǎn)單,比如centernet中的后處理操作便可以通過maxpooling層結(jié)合一些篩選得到,避免了nms算法影響推理效率的問題。

在模型訓(xùn)練過程中,我們主要采用了以下數(shù)據(jù)增強(qiáng)方法:隨機(jī)水平翻轉(zhuǎn),多尺度訓(xùn)練,mixup,autoaugment以及gridmask。前面兩個(gè)不需要過多介紹,都是檢測(cè)任務(wù)里面的常規(guī)操作,mixup通過疊加融合兩張圖片提升輸入模型的多樣性。

autoaugment則采用了谷歌之前在COCO數(shù)據(jù)集上搜索得到的policy直接遷移到本次任務(wù)的數(shù)據(jù)集上進(jìn)行數(shù)據(jù)增強(qiáng),其本質(zhì)上就是找到一組合理的數(shù)據(jù)增強(qiáng)policy組合,同時(shí)提升輸入樣本的多樣性,進(jìn)一步提升模型的泛化能力。

gridmask通過動(dòng)態(tài)網(wǎng)格狀擦除原圖局部區(qū)域的方式增加模型訓(xùn)練過程中的難度,具有較高的正則作用,基于擦除的方法本質(zhì)上都是增加輸入樣本的難度,通過擦除也一定程度上迫使模型在學(xué)習(xí)過程中關(guān)注到樣本中更豐富的代表性特征,gridmask相較于之前的random erasing和cutout等操作,避免了一大塊擦除區(qū)域?qū)⒅攸c(diǎn)區(qū)域整體擦除,同時(shí)動(dòng)態(tài)的網(wǎng)格擦除方法也增加了擦除類型的多樣性,有利于提升模型的魯棒性。

在模型結(jié)構(gòu)設(shè)計(jì)方面,考慮到需要在CPU平臺(tái)上結(jié)合OpenVINO優(yōu)化工具進(jìn)行模型的優(yōu)化以及部署,除了需要考慮到OpenVINO工具包的算子支持情況之外,模型首先理論計(jì)算量肯定不能太少,也不能包含太多花里胡哨的操作。好在CPU平臺(tái)上grouped convolution的優(yōu)化力度還算強(qiáng)大,其實(shí)際推理效率還是高于常規(guī)的卷積操作的,同時(shí)考慮到最新的結(jié)構(gòu)性能表現(xiàn)較為優(yōu)異,所以我們選擇了RegNet作為模型backbone,其代表的是一個(gè)種群的模型。
如下圖所示,該類型的RegNet遵循了一套計(jì)算公式,所以使得我們可以根據(jù)目標(biāo)計(jì)算量生成對(duì)應(yīng)的模型結(jié)構(gòu),最終為了平衡效率和性能,我們選擇了RegNetX-400MF作為最終的backbone進(jìn)行訓(xùn)練。

檢測(cè)器模型的整體結(jié)構(gòu)如下,根據(jù)現(xiàn)在主流的檢測(cè)器描述思路,我們將其分為backbone,neck以及head三個(gè)區(qū)域進(jìn)行描述,backbone上文已經(jīng)介紹了。
neck我們選擇了標(biāo)準(zhǔn)的PAFPN結(jié)構(gòu),對(duì)其中的通道數(shù)做了輕量化的改進(jìn),具體來說就是將其中的卷積變成了通道數(shù)為64的depthwise convolution層。
在head的設(shè)計(jì)上,我們主要引入了兩個(gè)模塊,一個(gè)是MultiScale Fuse,另一個(gè)是SSH Head。
MultiScale Fuse模塊其實(shí)就是目前ASFF那篇文章對(duì)于多尺度特征圖融合模塊的一個(gè)輕量化改進(jìn),在anchor-free算法中,一般習(xí)慣采用4x降采樣的特征圖作為最終的分辨率去完成剩下的bbox回歸以及分類工作。在設(shè)計(jì)這個(gè)MultiScale Fuse模塊時(shí)為了保證推理效率,我們將softmax歸一化拿掉了,這個(gè)操作其中的exp計(jì)算會(huì)比較耗時(shí),我們采用了BiFPN中最后采用的累加后歸一化的思路。
同時(shí)在多尺度特征融合上早期也考慮了concat的操作,最終沒采用的原因也是因?yàn)橛?jì)算量的考慮,concat先不說顯著增加了通道數(shù),同時(shí)這部分特征都是upsample到4x降采樣分辨率下的特征圖,其后任何一個(gè)對(duì)這個(gè)大分辨率特征圖做處理的操作都會(huì)使得計(jì)算量快速上升,如果只是32x降采樣后的分辨率的話,通道數(shù)升了也就升了,計(jì)算量上的影響不會(huì)特別大。

另一個(gè)head部分的改進(jìn)是SSH Head,這部分的結(jié)構(gòu)如下所示,結(jié)構(gòu)與人臉檢測(cè)領(lǐng)域的SSH一致,區(qū)別在于做了對(duì)應(yīng)的輕量化改進(jìn),這個(gè)模塊可以在輸入特征圖上提供多尺度感受野的效果,特別是針對(duì)本次賽題船只目標(biāo)尺度差異大的問題能有較好的兼容性。

其余的訓(xùn)練技巧還包含了warmup,sgdgc優(yōu)化器以及SWA訓(xùn)練等常規(guī)優(yōu)化操作,特別的,針對(duì)本次采用的anchor-free模型以及F1-Score評(píng)價(jià)指標(biāo),我們對(duì)方案中的高斯圖生成過程進(jìn)行了微調(diào),收縮了生成的高斯響應(yīng)圖,一定程度上弱化模型的召回能力,過多的bbox召回在mAP評(píng)價(jià)指標(biāo)中影響較小,但是對(duì)于F1-Score指標(biāo)來說影響是比較大的。如下圖所示,在兩種較為極端的高斯圖中間,需要微調(diào)得到平衡點(diǎn)。

技術(shù)展示(測(cè)試部署)
在模型測(cè)試部署方面,首先我們分析了這一次比賽要求的部署平臺(tái)為單核CPU的虛擬化環(huán)境,CPU架構(gòu)為Cascade Lake。因?yàn)槿萜骰臅r(shí)候只分配了一個(gè)核心,同時(shí)模型的量級(jí)也比較小并不屬于計(jì)算密集型的時(shí)候,編寫代碼反而不需要引入多核或者多進(jìn)程的操作,這樣反而會(huì)降低推理效率。
同時(shí)相比于全精度fp32對(duì)部署的檢測(cè)器進(jìn)行推理,我們可以采用低精度進(jìn)行替換,在模型并不復(fù)雜,數(shù)據(jù)場(chǎng)景也不復(fù)雜的時(shí)候,犧牲可接受范圍內(nèi)的精度損失換取效率上的提升也是比較合適的。
在模型部署過程中,我們對(duì)模型的前后處理進(jìn)行了對(duì)應(yīng)的優(yōu)化,同時(shí)借助OpenVINO提供的Model Optimizer工具在模型轉(zhuǎn)換階段也對(duì)檢測(cè)器進(jìn)行了對(duì)應(yīng)的優(yōu)化。這部分操作分別如下:
CenterNet中后處理采用simple nms替換傳統(tǒng)算法中的nms操作,相較于輸出bbox按置信度排序以后抑制處理,simple nms直接使用了maxpooling操作處理最后的特征圖,然后保留那些經(jīng)過maxpooling以后跟原特征圖對(duì)應(yīng)位置一致的值,作為最終需要回歸bbox和輸出分類結(jié)果的區(qū)域。這些操作是可以轉(zhuǎn)為onnx并且再次轉(zhuǎn)換為OpenVINO的IR形式,借助OpenVINO內(nèi)部實(shí)現(xiàn)的算子高效完成這部分操作。 目前很多推理框架在模型推理engine初始化時(shí)都會(huì)存在冷啟動(dòng)問題,即剛開始的推理效率是不準(zhǔn)確的,在本次任務(wù)中,我們可以在測(cè)試sdk的init函數(shù)中設(shè)計(jì)推理engine的warmup邏輯,即構(gòu)造偽數(shù)據(jù)輸入到推理engine中循環(huán)推理N次,讓推理engine度過冷啟動(dòng)階段,為之后的正常運(yùn)行提供保障。 OpenVINO提供了Model Optimizer工具(之后簡(jiǎn)稱為mo工具)除了可以將常用的深度學(xué)習(xí)訓(xùn)練框架格式轉(zhuǎn)為自有的IR格式之外,還提供了一系列的預(yù)處理優(yōu)化功能,比如說在轉(zhuǎn)換階段將mean值,std值和對(duì)應(yīng)的歸一化操作融合到自有的IR中進(jìn)行處理,同時(shí)也提供了輸入數(shù)據(jù)的通道轉(zhuǎn)換操作(比如RGB->BGR)。這些優(yōu)化策略能夠?qū)⒉渴疬^程中的繁瑣預(yù)處理交給mo工具進(jìn)行優(yōu)化,一方面降低了開發(fā)效率,另一方面mo優(yōu)化后的預(yù)處理大部分時(shí)候肯定比自己實(shí)現(xiàn)的預(yù)處理更高效。
總結(jié)
經(jīng)過上述所述操作后,我們團(tuán)隊(duì)在本次比賽的A榜和B榜(最終未公開)上都取得了第一的成績(jī)。同時(shí)對(duì)本次比賽進(jìn)行展望,我們認(rèn)為:
我們認(rèn)為本次競(jìng)賽我們方案的優(yōu)勢(shì)在于anchor-free方法部署方便,后處理容易高效實(shí)現(xiàn);模型收斂速度快,在有限的資源限制下還能夠提供足夠的調(diào)優(yōu)空間; 我們的方案缺點(diǎn)在anchor-free方法實(shí)際評(píng)估下來在相對(duì)復(fù)雜的場(chǎng)景下表現(xiàn)還是不如anchor-based的方法,同時(shí)只采用一個(gè)尺度的特征圖完成分類和回歸多少有些力不從心。 對(duì)于該方法下一步的嘗試,我們認(rèn)為可以嘗試下學(xué)術(shù)界的最新成果,比如YOLOX系列的模型,在最新成果的基礎(chǔ)上進(jìn)行改進(jìn),調(diào)優(yōu),最新的成果一定是有他自己獨(dú)特的優(yōu)勢(shì)的。同時(shí)對(duì)于模型推理效率的提升,可以考慮模型裁剪,對(duì)backbone進(jìn)行能接受掉點(diǎn)范圍內(nèi)的剪枝,在性能和效率之間獲取平衡。
如果覺得有用,就請(qǐng)分享到朋友圈吧!
公眾號(hào)后臺(tái)回復(fù)“88”獲取嚴(yán)彬:STARK-
基于時(shí)空Transformer的視覺目標(biāo)跟蹤PPT下載

#?CV技術(shù)社群邀請(qǐng)函?#

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳)
即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動(dòng)交流~

