王一婷,張 柯,李 捷,郝宗波*,段 昶,朱 策
(1.電子科技大學(xué)信息與軟件工程學(xué)院,成都 610054;2.四川九洲電器集團(tuán)有限責(zé)任公司,四川綿陽(yáng),621000;3.西南石油大學(xué)電氣信息工程學(xué)院,成都 610500;4.電子科技大學(xué)信息與通信工程學(xué)院,成都 611731)
(?通信作者電子郵箱zbhao@uestc.edu.cn)
圖像和視頻檢測(cè)一直是計(jì)算機(jī)視覺(jué)領(lǐng)域比較熱門的難題,深度學(xué)習(xí)的發(fā)展為目標(biāo)檢測(cè)實(shí)現(xiàn)提供了一個(gè)可靠的解決途徑。YOLO(You Only Look Once)[1]正是一個(gè)基于深度學(xué)習(xí)的實(shí)時(shí)物體檢測(cè)系統(tǒng),從面世至今YOLO 一共有三個(gè)版本。YOLOv1[1]受到關(guān)注的原因是因?yàn)樗哂蟹浅?斓臋z測(cè)速度。然而由于追求快速檢測(cè),YOLOv1 不可避免地在其他方面做出了一些犧牲,比如YOLOv1 對(duì)于相互靠得很近的物體、很小的群體檢測(cè)效果不好,泛化能力也比較弱[2]。YOLOv2[3]與YOLOv1 相比較,具有了“Faster,Better,Stronger”的特點(diǎn),但同時(shí)也具有一些缺點(diǎn),比如仍然無(wú)法很好地識(shí)別小物體、使用softmax 分類器之后僅僅只支持單標(biāo)簽對(duì)象等[3]。YOLOv3[4]與YOLOv2版本相比,使用logistic 分類器以支持多標(biāo)簽對(duì)象,借鑒殘差網(wǎng)絡(luò)(Residual Network,ResNet)[5]得到了更好的基礎(chǔ)分類網(wǎng)絡(luò)Darknet-53,所以檢測(cè)速度和識(shí)別準(zhǔn)確率都有所提高。
因此考慮到如果要對(duì)同一場(chǎng)景中同時(shí)出現(xiàn)的多尺度目標(biāo)物體(如圖1 所示,飛機(jī)的尺度比遠(yuǎn)處行人大數(shù)百倍)進(jìn)行實(shí)時(shí)檢測(cè),出于實(shí)時(shí)檢測(cè)的要求,選用YOLOv3 進(jìn)行檢測(cè)無(wú)疑是非常合適的[6]。
圖1 包含超大超小目標(biāo)的常規(guī)檢測(cè)圖Fig.1 Regular detection image with super-large and super-small objects
但是由于YOLOv3 在每個(gè)網(wǎng)格(grid)中僅預(yù)測(cè)兩個(gè)邊界框(Bounding Box),這種約束減少了對(duì)同一個(gè)目標(biāo)的多次檢測(cè),即使是對(duì)正常尺度范圍內(nèi)的物體進(jìn)行檢測(cè),YOLOv3 也具有識(shí)別物體位置精準(zhǔn)性差、召回率低的缺點(diǎn),所以想對(duì)同一場(chǎng)景中出現(xiàn)的超大超小物體進(jìn)行很好的實(shí)時(shí)檢測(cè),僅僅使用YOLOv3是無(wú)法滿足要求的[7]。
為了解決YOLOv3 不能對(duì)超大超小物體進(jìn)行很好的檢測(cè)問(wèn)題,本文對(duì)YOLOv3 進(jìn)行了以下兩個(gè)方面的改進(jìn):1)針對(duì)同一場(chǎng)景出現(xiàn)的超大、超小目標(biāo),改進(jìn)和設(shè)計(jì)了基于YOLOv3 框架的目標(biāo)物體檢測(cè)方法,結(jié)合金字塔技術(shù),對(duì)不同尺度的目標(biāo)物體在不同層提取特征,不同尺度的物體檢測(cè)在不同的特征層輸出;2)在訓(xùn)練過(guò)程中,針對(duì)不同物體,采用動(dòng)態(tài)交并比IoU(Intersection over Union,IoU)和獨(dú)立通道,較好地進(jìn)行了超大超小目標(biāo)物體的檢測(cè)。
物體檢測(cè)一直是計(jì)算機(jī)視覺(jué)領(lǐng)域中熱門經(jīng)典的研究方向,隨著深度學(xué)習(xí)的不斷發(fā)展,物體檢測(cè)也逐漸由傳統(tǒng)的方法轉(zhuǎn)向使用深度學(xué)習(xí)進(jìn)行檢測(cè)的方法?;谏疃葘W(xué)習(xí)的物體檢測(cè)算法有效地提高了物體檢測(cè)的準(zhǔn)確率與速度,主要可以分為兩大類:two-stage的算法和one-stage的算法。two-stage的算法主要是先由算法生成一系列作為樣本的候選框,再通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)進(jìn)行分類,這一類的算法主要包括:R-CNN(Regions with Convolution Neural Network features)[8]、Fast R-CNN(Fast R-CNN)[9]、Faster R-CNN(Faster Regions with Convolution Neural Network features)[10]等。而one-stage 的算法則不用產(chǎn)生候選框,直接將目標(biāo)定位的問(wèn)題轉(zhuǎn)化為回歸問(wèn)題處理,這類算法主要包括:YOLO、SSD(Single Shot MultiBox Detector)[11]、CenterNet[12]等。兩類方法基礎(chǔ)原理的不同,導(dǎo)致了兩類算法性能的不同:twostage 的算法可以分步訓(xùn)練共享檢測(cè)結(jié)果,所以在檢測(cè)準(zhǔn)確率和定位精度上占有優(yōu)勢(shì);而one-stage 的算法則由于能實(shí)現(xiàn)完整單次訓(xùn)練共享特征,所以可以在保證一定正確率的前提下在算法速度上占有優(yōu)勢(shì),做到真正意義上的實(shí)時(shí)效果[13]。
而在圖像分類這個(gè)問(wèn)題上,深度學(xué)習(xí)的發(fā)展飛速,在ImageNet 的分類問(wèn)題上top-5 的誤差從15%降到2%,這是一個(gè)在1 000 類圖像分類問(wèn)題上超越人類分類能力的結(jié)果。但是在目標(biāo)檢測(cè)問(wèn)題上,最好的檢測(cè)器在COCO(Common Objects in COntext)數(shù)據(jù)集上,即使有50%的重合率,檢測(cè)準(zhǔn)確率也只有62%。
待檢測(cè)目標(biāo)在圖像中的大尺度變化范圍,尤其是小目標(biāo)檢測(cè)是目標(biāo)檢測(cè)諸多難點(diǎn)中最顯著的一個(gè)。在數(shù)據(jù)集ImageNet(物體分類)和COCO(物體檢測(cè))中,中等尺度目標(biāo)在圖像中的占比分別是0.554 和0.106,所以在COCO 中大部分目標(biāo)在圖像中占據(jù)小于1%的面積,并且COCO 最小最大10%的目標(biāo)在圖像中的占面積比分別是0.024和0.472(導(dǎo)致尺度相差近20 倍)。這種大尺度范圍的變化導(dǎo)致目標(biāo)檢測(cè)極具挑戰(zhàn)性,需要深度卷積網(wǎng)絡(luò)具備非常好的尺度不變性和特征表征能力,然而檢測(cè)器一般都是在圖像分類數(shù)據(jù)庫(kù)上預(yù)訓(xùn)練,再進(jìn)行微調(diào)得到的,由于檢測(cè)和分類中的目標(biāo)尺度差異很大,這又導(dǎo)致了一個(gè)大的領(lǐng)域遷移,因此超大超小物體檢測(cè)比物體分類要難很多。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像處理方面表現(xiàn)出極其優(yōu)異的性能,而深度卷積神經(jīng)網(wǎng)絡(luò)隨著層數(shù)的加深,性能會(huì)得到進(jìn)一步的提升,但各層提取的特征和作用是不一樣的,低層提取的是比較精細(xì)的特征,如角點(diǎn)、邊緣、紋理等,高層提取的是抽象的特征,包含更多語(yǔ)義方面的信息。低層網(wǎng)絡(luò)提取的特征更加豐富,適合于提取細(xì)節(jié)信息,對(duì)小物體有較好的作用,同時(shí)對(duì)精確定位更有幫助,而高層網(wǎng)絡(luò)對(duì)大尺度物體具有更好的抽象效果。本文考慮如何在同一幀圖像中檢測(cè)小尺度物體與大尺度物體,比如在一個(gè)機(jī)場(chǎng)跑道環(huán)境下,近處的飛機(jī)和遠(yuǎn)處的行人、汽車等,尺度會(huì)相差非常大,由于攝像頭分辨率有限,小尺度物體一旦與大尺度物體在同一幀中出現(xiàn)就會(huì)自動(dòng)演化成超小尺度物體,同理,原本的大尺度物體也會(huì)成為超大尺度物體,如圖2所示。
此時(shí)如果識(shí)別超小尺度物體,如遠(yuǎn)處的行人、汽車等,就從較低層網(wǎng)絡(luò)開始輸出,這樣做雖然看似特征不夠抽象,但是是有意義的。因?yàn)槌〕叨任矬w在本幀圖像中本來(lái)像素占比就少,如果再經(jīng)過(guò)多層抽象(卷積、下采樣等),剩余的信息就更少,反而會(huì)把周圍背景的信息引入進(jìn)來(lái),從而難以得到滿意的效果。因此對(duì)于超小尺度物體,如遠(yuǎn)處的行人目標(biāo),本文考慮將從更淺的低層網(wǎng)絡(luò)直接進(jìn)行檢測(cè);對(duì)尺度中等的物體,如遠(yuǎn)處的汽車、卡車目標(biāo),從低層和中層網(wǎng)絡(luò)聯(lián)合檢測(cè);對(duì)超大尺度的物體,如近處的飛機(jī)目標(biāo),從高層網(wǎng)絡(luò)特征進(jìn)行檢測(cè)。
YOLOv3 網(wǎng)絡(luò)一共有106 層:其中第0 層到第74 層(前74層包含53 個(gè)卷積層)主要用于提取檢測(cè)目標(biāo)特征;第75 層到第105 層為YOLO 網(wǎng)絡(luò)的特征交互層。其中,第75 層到第81層是小尺度YOLO層;將第79層的特征圖卷積進(jìn)行上采樣后,再與第61層的中尺度特征圖進(jìn)行合并卷積形成中尺度YOLO層;將第91 層的特征圖卷積進(jìn)行上采樣后,再與第36 層的中尺度特征圖進(jìn)行合并卷積形成大尺度YOLO 層。在訓(xùn)練時(shí),不同類別的樣本進(jìn)入不同的通道,如超小尺度樣本的誤差在較淺層時(shí),輸出分類和定位的誤差并反向更新前55 層的權(quán)重系數(shù);當(dāng)遇到中等尺度的訓(xùn)練樣本時(shí),前83 層和95 層得到更新;遇到超大尺度樣本時(shí),所有層的權(quán)重都得到更新。此外在網(wǎng)絡(luò)中,前55 層應(yīng)用所有Anchor 類型,即1∶3、3∶1 和1∶1(分別對(duì)應(yīng)飛機(jī)、行人和汽車類目標(biāo))都用到,三種類型的目標(biāo)物體都被檢測(cè);在55~95 層只用到對(duì)應(yīng)中等尺度樣本和超大尺度樣本Proposal 的Anchor 模板,最小尺度的目標(biāo)不在55 層之后檢測(cè);95層之后只應(yīng)用1∶3的超大尺度目標(biāo)物體的Anchor,對(duì)應(yīng)于超大尺度目標(biāo)。該改進(jìn)可以使得超大尺度目標(biāo)物體在更加抽象的粗粒度特征上進(jìn)行分類,有利于對(duì)物體的識(shí)別,同時(shí)高層特征不會(huì)受超小尺度樣本的影響,更有利于超大尺度樣本的定位。
本文對(duì)于YOLO 網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)一方面保留了超小尺度物體更多的細(xì)節(jié)信息,另外一方面可以獲取更精準(zhǔn)的定位精度,同時(shí)超小尺度樣本類別的提前輸出,使得訓(xùn)練能夠更快地收斂。
因?yàn)楸疚目紤]到超小檢測(cè)目標(biāo)和超大檢測(cè)目標(biāo)可能出現(xiàn)在同一場(chǎng)景中,且超大、超小目標(biāo)在監(jiān)控區(qū)域內(nèi)尺度會(huì)隨著運(yùn)動(dòng)不斷變化,因此為了同時(shí)檢測(cè)大目標(biāo)物體和小目標(biāo)物體,在網(wǎng)絡(luò)的檢測(cè)器之前增加了空間金字塔層[14],該層可以針對(duì)同一物體的不同尺度提取特征并進(jìn)行很好的學(xué)習(xí)。所以本文在YOLO 中增加了空間金字塔層[15],網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Improved network structure
改進(jìn)后的網(wǎng)絡(luò)架構(gòu)如圖4 所示,分別在三個(gè)檢測(cè)器之前增加空間金字塔,實(shí)現(xiàn)對(duì)每種目標(biāo)的多尺度特征提取,對(duì)于尺度差異較大的物體有較強(qiáng)的魯棒性。
圖4 增加空間金字塔的YOLO結(jié)構(gòu)Fig.4 YOLO structure with spatial pyramid
在目標(biāo)檢測(cè)的研究中,小尺度目標(biāo)因?yàn)橄率鲈颍瑱z測(cè)非常困難:1)小物體因?yàn)楸旧砗苄?,小物體類別內(nèi)部尺度差異就非常大(小物體本身占據(jù)像素很少,導(dǎo)致計(jì)算尺度差異時(shí)分母很小,因此差異的比例非常大),要求檢測(cè)器的尺度不變性很強(qiáng)才能較好地檢測(cè),而卷積神經(jīng)網(wǎng)絡(luò)本身不具備尺度不變性;2)小物體本身所占像素就少,經(jīng)過(guò)卷積和下采樣,到網(wǎng)絡(luò)的較深層時(shí),有可能小物體的特征已經(jīng)被“淹沒(méi)”,也就無(wú)法檢測(cè)到該物體。
常見的檢測(cè)小目標(biāo)物體和超大目標(biāo)物體的方法主要有:1)使用CNN 中不同層的特征分別進(jìn)行預(yù)測(cè),淺層負(fù)責(zé)檢測(cè)小目標(biāo),深層負(fù)責(zé)檢測(cè)大目標(biāo);2)對(duì)低分辨率圖像進(jìn)行上采樣,從而把分辨率低的圖像進(jìn)行放大,隨之小尺度目標(biāo)也被放大;3)使用膨脹卷積(Dilated/Deformable Convolution)來(lái)增加感受野,這可以使檢測(cè)器對(duì)尺度跨度大的問(wèn)題適應(yīng)性更強(qiáng);4)深淺層特征結(jié)合進(jìn)行預(yù)測(cè),使淺層特征結(jié)合深層的語(yǔ)義特征,如FPN(Feature Pyramid Networks for object detection)。
上述方法有時(shí)候也并不理想,如對(duì)圖像進(jìn)行上采樣,雖然小尺度目標(biāo)被放大了,中尺度、大尺度目標(biāo)也同樣被增大,多尺度目標(biāo)的特征比例并沒(méi)有變化,甚至可能增大到無(wú)法識(shí)別的地步,對(duì)訓(xùn)練和識(shí)別都非常不利。
因此在訓(xùn)練過(guò)程中,本文考慮結(jié)合圖像金字塔尺度歸一化的方法,對(duì)特大/特小目標(biāo)物體進(jìn)行縮放訓(xùn)練。由于YOLO在訓(xùn)練過(guò)程中,正負(fù)樣本是根據(jù)預(yù)測(cè)值和標(biāo)注框的IoU 來(lái)區(qū)分的,特大和特小的目標(biāo)物體IoU 都容易很?。ㄈ缧∧繕?biāo)物體整個(gè)物體都落入預(yù)測(cè)框中,但I(xiàn)oU 仍然可能很小,超大物體也可能存在類似情況),所以采用多尺度訓(xùn)練的方法,即對(duì)圖像進(jìn)行不同程度的采樣,從而保證目標(biāo)物體都縮放到中等尺度大小,中等尺度物體在用ImageNet 預(yù)訓(xùn)練過(guò)的模型上進(jìn)行微調(diào)效果最好。
針對(duì)尺度相差非常大的場(chǎng)景目標(biāo),本文考慮采用三種尺度的樣本進(jìn)行訓(xùn)練,即原始尺寸、上采樣和下采樣三種尺度,上采樣主要負(fù)責(zé)小物體目標(biāo)的檢測(cè)(如遠(yuǎn)處跑道的汽車、小飛機(jī)和行人),下采樣樣本負(fù)責(zé)大尺度目標(biāo)物體的檢測(cè)(如近處的大飛機(jī))。在訓(xùn)練時(shí),上采樣對(duì)圖片進(jìn)行放大,主要用于檢測(cè)小物體,圖片放大到1 040×1 040,ROI(Regions Of Interest)的寬度大于700 的樣本(大飛機(jī))在權(quán)重更新時(shí)不進(jìn)行反向傳播;下采樣主要負(fù)責(zé)超大物體的檢測(cè),圖像分辨率縮小為160×160,ROI 小于10×10 的目標(biāo)不參與反向更新(小目標(biāo)物體);416×416 的圖像所有物體都參與訓(xùn)練。網(wǎng)絡(luò)訓(xùn)練架構(gòu)如圖5所示。
圖5 網(wǎng)絡(luò)訓(xùn)練架構(gòu)Fig.5 Network training architecture
YOLOv3 在檢測(cè)小目標(biāo)物體方面也做了改進(jìn),引入了FPN[12]的概念,F(xiàn)PN 是一種旨在提高準(zhǔn)確率和速度的特征提取器,它取代了檢測(cè)器(如Faster R-CNN 中的特征提取器),并生成更高質(zhì)量的特征圖金字塔。
圖6 FPN網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 FPN network structure
FPN 由自下而上和自上而下路徑組成,其中自下而上的路徑是用于特征提取的常用卷積網(wǎng)絡(luò),空間分辨率自下而上地下降,當(dāng)檢測(cè)到更高層的結(jié)構(gòu)時(shí),每層的語(yǔ)義值增加。同時(shí)FPN 提供了一條自上而下的路徑,從語(yǔ)義豐富的層構(gòu)建高分辨率層的圖,雖然該重建層的語(yǔ)義較強(qiáng),但是經(jīng)過(guò)所有的上采樣和下采樣之后,目標(biāo)的位置不精確,而在重建層和相應(yīng)的特征圖之間添加橫向連接可以使得位置偵測(cè)更準(zhǔn)確[12]。
正因?yàn)閅OLOv3 應(yīng)用了FPN 的設(shè)計(jì),使得整個(gè)網(wǎng)絡(luò)的識(shí)別能力取得了較大提升,但是通過(guò)對(duì)FPN進(jìn)行分析后,發(fā)現(xiàn)對(duì)目標(biāo)物體的檢測(cè)效果仍然擁有提升空間,主要的問(wèn)題在于:YOLO 中一個(gè)柵格只能預(yù)測(cè)兩個(gè)物體,由于損失函數(shù)的存在,導(dǎo)致目標(biāo)物體的檢測(cè)效果與理想中的效果仍然有一定的差距。
本文考慮到將對(duì)處于同一場(chǎng)景的超大超小目標(biāo)同時(shí)進(jìn)行檢測(cè),且在檢測(cè)過(guò)程中檢測(cè)目標(biāo)的尺度將處于動(dòng)態(tài)變化中,以及給定的數(shù)據(jù)集中可能會(huì)出現(xiàn)有的類別數(shù)據(jù)多、有的類別數(shù)據(jù)少帶來(lái)的樣本不均衡問(wèn)題。如果將IoU 設(shè)定為一個(gè)固定的值,那么可能出現(xiàn)部分訓(xùn)練樣本的正負(fù)樣本差值過(guò)大,導(dǎo)致最后該分類所包含的特征過(guò)少、很難提取到足夠特征的情況,即便最后能得到分類模型,也容易產(chǎn)生過(guò)度依賴與過(guò)擬合問(wèn)題,模型的泛化能力可能會(huì)無(wú)法保證。所以基于對(duì)以上情形的考慮,本文提出采用動(dòng)態(tài)IoU的方案來(lái)解決問(wèn)題。
動(dòng)態(tài)的IoU,即當(dāng)前的IoU 閾值會(huì)隨著當(dāng)前訓(xùn)練樣本的正負(fù)樣本的比例來(lái)動(dòng)態(tài)地調(diào)整,如果當(dāng)前批度中樣本的正樣本與負(fù)樣本的差異過(guò)大,則會(huì)動(dòng)態(tài)地減小正樣本的IoU 閾值,這樣就會(huì)使得之前鄰近正樣本閾值附近的樣本直接變?yōu)檎龢颖?。這樣動(dòng)態(tài)地調(diào)整以后,正負(fù)樣本會(huì)逐漸地趨于平衡。
動(dòng)態(tài)IoU 是在當(dāng)前的樣本量中正樣本或負(fù)樣本的比例失調(diào)下使用,IoU的計(jì)算示意圖如圖7所示。
圖7 IoU計(jì)算示意圖Fig.7 Schematic diagram of IoU calculation
原始的IoU 計(jì)算是直接用交集除以并集,其中Area1、Area2和Area的面積計(jì)算式如式(1)所示:
在原始狀態(tài)下IoU 大于某個(gè)固定值才為正樣本,為了解決樣本不均衡的問(wèn)題,設(shè)定了一個(gè)跟正負(fù)樣本比值相關(guān)的動(dòng)態(tài)閾值,當(dāng)IoU 大于這個(gè)值則對(duì)應(yīng)的樣本為正樣本,其計(jì)算式如式(3):
其中:Ki是第i個(gè)錨點(diǎn)所對(duì)應(yīng)的正樣本和負(fù)樣本的比值,;n是mini-batch中批度的大小;δ需要在網(wǎng)絡(luò)中動(dòng)態(tài)地學(xué)習(xí),使得模型中整個(gè)正負(fù)樣本的比例趨于1∶1,從而達(dá)到訓(xùn)練樣本的均衡。
為驗(yàn)證本文方法的有效性,將本文方法應(yīng)用于對(duì)機(jī)場(chǎng)環(huán)境下大飛機(jī)、小飛機(jī)、行人和汽車的檢測(cè)。本文實(shí)驗(yàn)在綿陽(yáng)南郊機(jī)場(chǎng)(Mianyang Nanjiao Airport,MNA)采集,攝像機(jī)位于機(jī)場(chǎng)跑道外側(cè)120 m 處,識(shí)別目標(biāo)包括近處起降跑道上的大飛機(jī)、遠(yuǎn)處滑翔跑道上的小飛機(jī),以及更遠(yuǎn)處的行人和汽車,如圖2所示,數(shù)據(jù)集如表1所示。
表1 超大超小物體識(shí)別使用數(shù)據(jù)集Tab.1 Datasets used for super-large and super-small object recognition
表1給出了在本文實(shí)驗(yàn)中所用到的數(shù)據(jù)集,4個(gè)數(shù)據(jù)集均為視頻數(shù)據(jù)集,表1 類型一列指出了數(shù)據(jù)類型。所有的數(shù)據(jù)集(MNA01、MNA02、MNA03及MNA04),其視頻來(lái)源于2個(gè)攝像頭,主要拍攝了機(jī)場(chǎng)內(nèi)兩條跑道(一個(gè)起降跑道,一個(gè)滑翔跑道)上大飛機(jī)、小飛機(jī)、行人及汽車的移動(dòng)狀況。由于是一個(gè)攝像頭需要同時(shí)拍攝4 種不同的檢測(cè)目標(biāo),并且隨著拍攝的進(jìn)行,4 種不同的檢測(cè)目標(biāo)均處在動(dòng)態(tài)變化之中,包括4 種不同類別檢測(cè)目標(biāo)的出現(xiàn)與消失,4 種不同類別的檢測(cè)目標(biāo)與攝像頭的距離遠(yuǎn)近造成的尺度變化。比如:隨著原本是大尺度檢測(cè)目標(biāo)的大飛機(jī)隨著與攝像頭距離的拉遠(yuǎn)從而變成小尺度檢測(cè)目標(biāo),原本是小尺度檢測(cè)目標(biāo)的小飛機(jī)隨著與攝像頭距離的拉近從而變成大尺度檢測(cè)目標(biāo),4 種不同類別的檢測(cè)目標(biāo)在移動(dòng)中可能會(huì)出現(xiàn)重疊、相互遮擋等問(wèn)題。這些復(fù)雜的數(shù)據(jù)集為超大超小目標(biāo)檢測(cè)模型的訓(xùn)練、測(cè)試帶來(lái)了巨大的挑戰(zhàn),對(duì)模型的泛化能力有著較高的要求。
本文實(shí)驗(yàn)擬用YOLOv3 中的特征提取網(wǎng)絡(luò)Darknet-53 進(jìn)行訓(xùn)練,并且根據(jù)實(shí)際需求將會(huì)修改Darknet中的一些參數(shù)以便更好地訓(xùn)練模型。Darknet-53 由一系列1×1 和3×3 的卷積層組成,一共有53 個(gè)卷積層。在本次實(shí)驗(yàn)中,設(shè)置學(xué)習(xí)率為0.001,合適的學(xué)習(xí)率可以在保證收斂的前提下盡快收斂;設(shè)置滑動(dòng)平均模型為0.9,在訓(xùn)練的過(guò)程中不斷地對(duì)參數(shù)求滑動(dòng)平均,可以更有效地保持穩(wěn)定性;設(shè)置權(quán)重衰減為0.000 5以防止過(guò)擬合;為了減輕內(nèi)存的壓力,將batch 和subdivision設(shè)置為8。經(jīng)測(cè)試發(fā)現(xiàn),對(duì)數(shù)據(jù)集進(jìn)行5 000 次迭代后即獲得了最優(yōu)模型。
本文實(shí)驗(yàn)輸入采用416×416,因此不同特征對(duì)應(yīng)的尺度是13×13、26×26、52×52,即每個(gè)網(wǎng)格會(huì)輸出3 個(gè)預(yù)測(cè)框,預(yù)測(cè)種類數(shù)為4,則輸出的維度為27。這樣可以在不影響檢測(cè)結(jié)果的前期下,有效減少網(wǎng)絡(luò)的運(yùn)算量,同時(shí)提高檢測(cè)精度和檢測(cè)的速度。
本文實(shí)驗(yàn)采集數(shù)據(jù)中遠(yuǎn)處的小飛機(jī)長(zhǎng)時(shí)間存在,近處跑道起降的大飛機(jī)速度較快,視頻中只有短暫的出現(xiàn),因此分析時(shí)分開討論。
首先是小飛機(jī)的檢測(cè)效果,從圖8 中可以看出,遠(yuǎn)處的小飛機(jī)雖然距離遠(yuǎn),并且和背景非常相似,但本文方法可以很好地檢測(cè)出來(lái)。
小飛機(jī)用了10 598 幀圖像進(jìn)行測(cè)試,能夠準(zhǔn)確檢測(cè)到10 098 幀,識(shí)別率達(dá)到95.28%,經(jīng)過(guò)計(jì)算可以發(fā)現(xiàn)召回率(recall)能到達(dá)95.82%。
采用控制變量法,使用未經(jīng)修改的YOLOv3 對(duì)同樣的小飛機(jī)數(shù)據(jù)集進(jìn)行測(cè)試,測(cè)試結(jié)果如圖9 所示,可以發(fā)現(xiàn)未經(jīng)修改的YOLOv3檢測(cè)不到遠(yuǎn)處與背景十分相似的小飛機(jī)。
圖8 小飛機(jī)檢測(cè)效果Fig.8 Detection effects of small aircrafts
圖9 使用YOLOv3的小飛機(jī)檢測(cè)結(jié)果Fig.9 Small aircraft detection result using YOLOv3
由于大飛機(jī)在畫面中體積較大,所占的像素點(diǎn)很多,且離攝像頭距離非常近,可以更容易地被檢測(cè)出來(lái)。大飛機(jī)用了3 250幀圖像進(jìn)行測(cè)試,能夠準(zhǔn)確檢測(cè)到3 202幀,識(shí)別率達(dá)到98.52%,經(jīng)過(guò)計(jì)算可以發(fā)現(xiàn)recall能到達(dá)98.83%。
對(duì)于超大目標(biāo)和超小目標(biāo)來(lái)說(shuō),如果同一場(chǎng)景中同時(shí)具備超大和超小物體時(shí),比如出現(xiàn)在起降跑道的大飛機(jī)和遠(yuǎn)處跑道的行人及汽車,對(duì)檢測(cè)模型的挑戰(zhàn)更大,機(jī)場(chǎng)跑道的檢測(cè)情況如圖10所示。
圖10 多種尺度目標(biāo)檢測(cè)效果Fig.10 Detection effects of multi-scale objects
從圖10 可以看到,在機(jī)場(chǎng)環(huán)境下出現(xiàn)了大飛機(jī)、小飛機(jī)、汽車和行人這4 種目標(biāo),遠(yuǎn)處的小飛機(jī)和汽車可以被檢測(cè)到,但行人有漏檢情況,左側(cè)框旁邊站立有2 人,但只有1 個(gè)人被檢測(cè)出來(lái),右側(cè)倉(cāng)庫(kù)前面2 人未能檢測(cè)出來(lái);大飛機(jī)只出現(xiàn)一部分時(shí)也可以被檢測(cè)到。如表2 所示,在本實(shí)驗(yàn)中測(cè)試圖片7 315 張,出現(xiàn)大飛機(jī)1 716 張,可以識(shí)別出1 584 張,識(shí)別率為92.31%,經(jīng)過(guò)計(jì)算可以發(fā)現(xiàn)recall 約為92.47%。小飛機(jī)因?yàn)榇箫w機(jī)的遮擋,出現(xiàn)5 598 次,正確檢測(cè)出5 256 次,識(shí)別率93.89%,經(jīng)過(guò)計(jì)算可以發(fā)現(xiàn)recall 能到達(dá)98.72%。共有4 個(gè)行人出現(xiàn)在場(chǎng)景中,但有3 人一直未能檢測(cè)出來(lái),可以被識(shí)別出的人在2 502 幀(其中40 幀該人被大飛機(jī)遮擋)圖像中被檢測(cè)出來(lái)913 幀,識(shí)別率36.49%,經(jīng)過(guò)計(jì)算可以發(fā)現(xiàn)recall 能到達(dá)78.71%(只評(píng)估該人,如果將另外自始至終未識(shí)別出來(lái)的人考慮進(jìn)去,識(shí)別率只有9.1%)。由于汽車在畫面中一直被大飛機(jī)或者小飛機(jī)遮擋,只露出了非常小的一部分,導(dǎo)致一直不能被很好地檢測(cè)出來(lái)。
表2 超大超小物體檢測(cè)結(jié)果Tab.2 Detection results of super-large and super-small objects
本文也使用了原始的YOLOv3 網(wǎng)絡(luò)對(duì)同一個(gè)數(shù)據(jù)集進(jìn)行訓(xùn)練和檢測(cè),用以進(jìn)行對(duì)比實(shí)驗(yàn),其檢測(cè)結(jié)果如圖11所示。
從圖11中可以發(fā)現(xiàn),在整個(gè)檢測(cè)過(guò)程中,YOLOv3只檢測(cè)到了大飛機(jī),檢測(cè)不到遠(yuǎn)處的小飛機(jī),說(shuō)明YOLOv3 并不能很好地同時(shí)檢測(cè)超大尺度物體與超小尺度物體。在本實(shí)驗(yàn)中測(cè)試圖片7 315 張,出現(xiàn)大飛機(jī)1 716 張,可以識(shí)別出1 452 次,誤檢198 次,漏檢66 次,識(shí)別率84.62%,經(jīng)過(guò)計(jì)算可以發(fā)現(xiàn)recall為88%。
圖11 使用常規(guī)的YOLOv3進(jìn)行檢測(cè)的目標(biāo)識(shí)別效果Fig.11 Object recognition effect using conventional YOLOv3
通過(guò)以上的實(shí)驗(yàn)結(jié)果中可以看出,經(jīng)過(guò)在三個(gè)檢測(cè)器之前增加空間金字塔和使用動(dòng)態(tài)IoU 改造的網(wǎng)絡(luò)結(jié)構(gòu)后,能夠?qū)崿F(xiàn)對(duì)每種目標(biāo)的多尺度特征進(jìn)行更好的提取以及解決樣本不平衡的問(wèn)題。使用改進(jìn)后的YOLOv3 網(wǎng)絡(luò)與原始的YOLOv3 網(wǎng)絡(luò)進(jìn)行比較,可以發(fā)現(xiàn)改進(jìn)后的網(wǎng)絡(luò)對(duì)于同時(shí)檢測(cè)尺度差異較大的不同類物體有更高的準(zhǔn)確率。
本文首先利用圖像金字塔技術(shù)改進(jìn)傳統(tǒng)的YOLOv3 框架,通過(guò)這一改進(jìn),在原始的YOLOv3 的結(jié)構(gòu)之上,再經(jīng)過(guò)三個(gè)檢測(cè)器之前增加三個(gè)針對(duì)不同尺度檢測(cè)目標(biāo)的空間金字塔,使得改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)能夠更好地提取尺度差異較大的不同檢測(cè)目標(biāo)的特征;其次,本文引入動(dòng)態(tài)IoU 的概念,通過(guò)使用當(dāng)前訓(xùn)練樣本的正負(fù)樣本的比例來(lái)動(dòng)態(tài)地調(diào)整IoU 閾值,解決了樣本不均衡的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,本文方法在不增加時(shí)間開銷的情況下,能夠有效地提高對(duì)于不同尺度目標(biāo)檢測(cè)的精確性。