許曉陽,高重陽
西安科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,西安 710054
道路交通安全是不可忽視的公共交通安全問題,據(jù)統(tǒng)計,道路交通事故導(dǎo)致全世界每年約130萬人死亡和5 000 萬人受傷,其中受極端天氣影響及夜間駕駛行車導(dǎo)致的車禍近70%,給個人及社會造成了極大的損失。因此,如何解決道路交通安全、動態(tài)識別目標(biāo)在計算機視覺方向已經(jīng)逐步成為一個關(guān)注的焦點。
目標(biāo)檢測是計算機視覺領(lǐng)域目前的研究熱點。該技術(shù)主要通過結(jié)合目標(biāo)定位和識別檢測兩項技術(shù),在給定圖像中精準(zhǔn)定位目標(biāo)邊框并檢測出目標(biāo)所屬的具體類別。目標(biāo)檢測技術(shù)在許多領(lǐng)域被廣泛應(yīng)用,如人臉識別、機器人視覺、智能視頻監(jiān)控、無人駕駛(如道路檢測、交通燈檢測)、醫(yī)學(xué)圖像檢測、光學(xué)遙感圖像檢測[1]等領(lǐng)域。目標(biāo)檢測算法分為傳統(tǒng)目標(biāo)檢測算法和基于深度學(xué)習(xí)的目標(biāo)檢測算法兩類。傳統(tǒng)目標(biāo)檢測算法有基于手工特征設(shè)計的HOG[2](histogram of oriented gradient)檢測器,但HOG 實時性較差,且由于梯度的原因,對于噪點相當(dāng)敏感,導(dǎo)致檢測精度較差;也有基于傳統(tǒng)滑動窗口檢測方式DPM[3](deformable parts model),通過構(gòu)建尺度金字塔進(jìn)行搜索,該方法運算速度快,但性能一般,且無法進(jìn)行大幅度旋轉(zhuǎn),穩(wěn)定性較差。
近年來,隨著深度學(xué)習(xí)的發(fā)展,使用人工神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測的算法越來越多。基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分為兩類,雙階段目標(biāo)檢測和單階段目標(biāo)檢測。雙階段目標(biāo)檢測先進(jìn)行區(qū)域生成(region proposal,RP),再通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行樣本分類,隨后進(jìn)行分類和回歸來實現(xiàn)目標(biāo)檢測,例如SPPNet[4]、Faster R-CNN[5]等。雙階段目標(biāo)檢測算法精度較高但檢測速度較慢,并不適合進(jìn)行實時檢測。另一類算法為不使用RP 的單階段目標(biāo)檢測算法,直接預(yù)測物體的類別和位置。通過錨框?qū)ξ矬w進(jìn)行檢測,并采用非極大值抑制(non-maximum suppression,NMS)得出最終預(yù)測結(jié)果,例如:SSD[6]、YOLO[7-9]等。該類算法雖然精度一般,但檢測速度快,較為適合完成實時檢測任務(wù)。
目前研究者們主要研究可見光下的目標(biāo)檢測,但紅外場景下的目標(biāo)檢測較少。可見光圖像可以提供豐富的目標(biāo)細(xì)節(jié)信息,但容易受到環(huán)境因素的影響,在缺乏光源、陰雨天和霧天的情況下,幾乎無法識別到目標(biāo)物體。紅外圖像與可見光圖像成像的原理不同,可見光圖像屬于反射成像,在白天視野較為良好的情況下圖像包含豐富的圖像邊緣、紋理和顏色等細(xì)節(jié),但在光亮度較差時圖像的識別度較差。紅外熱成像識別技術(shù)具有探測能力強、作用距離遠(yuǎn)的優(yōu)點,且具有穿透煙霧、云層、霧霾等能力,即使在面對暴雨、暴雪等惡劣環(huán)境和夜間行車光線不佳的復(fù)雜背景環(huán)境下,仍能準(zhǔn)確識別待檢測目標(biāo)。
吳杰等人[10]基于YOLOv4算法設(shè)計輕量級多尺度監(jiān)督網(wǎng)絡(luò),降低了模型的體積。李北明等人[11]基于YOLOv5算法,通過使用GhostNet 模塊與模型剪枝進(jìn)行網(wǎng)絡(luò)改進(jìn),降低了模型的計算量和體積。胡皓等人[12]基于YOLOX-S 算法,通過引入結(jié)構(gòu)重參數(shù)化模塊提高檢測精度。賈天豪等人[13]基于SSD算法,引入增強特征映射塊提高小目標(biāo)檢測效果。上述學(xué)者在輕量化與小目標(biāo)檢測精度方面取得了一定的成果。
趙明等人[14]提出了跨域融合網(wǎng)絡(luò),結(jié)合多模態(tài)進(jìn)行紅外目標(biāo)檢測,并在紅外數(shù)據(jù)集FLIR上取得了87.7%的準(zhǔn)確度;黃磊等人[15]引入MobileNetV3模塊,并使用DIoUNMS[16]后處理方法改善對遮擋物體的檢測能力,降低了參數(shù)量與計算量,精度下降了0.37%。以上方法雖然對紅外目標(biāo)檢測取得了較高的準(zhǔn)確度,但由于整體目標(biāo)檢測算法存在檢測模型體積龐大、參數(shù)量較大、計算量較高且難以部署在資源有限的邊緣設(shè)備中。目前也有學(xué)者研究輕量級紅外目標(biāo)檢測算法,雖在模型輕量化方面取得了一定的進(jìn)展,但對比原有模型與其他輕量級模型,精度方面仍有一定程度上的損失,并不能達(dá)到輕量化與精度相平衡。本文基于YOLOv7-tiny[17]算法的基礎(chǔ)上,提出了一種改進(jìn)的輕量級紅外車輛目標(biāo)檢測算法KD-YOLO-DW。首先,通過融合深度可分離卷積提出了ELAN-DW模塊,并將其作為模型的特征提取主干網(wǎng)絡(luò),在保證原有精度的同時實現(xiàn)特征提取主干網(wǎng)絡(luò)的輕量化。其次,在特征融合層采用GhostNet V2[18]模塊,在參數(shù)量與計算量更少的前提下,融合更多層次的特征信息。使用動態(tài)非單調(diào)FM(focusing mechanism)的WIoU[19]損失函數(shù),解決了由于數(shù)據(jù)集本身帶來的難易樣本不平衡的問題,進(jìn)一步降低小目標(biāo)的檢測難度,提高對小目標(biāo)的檢測精度。然后,提出跨尺度融合策略以提高輕量化模型精度并降低紅外小目標(biāo)的漏檢率。最后,通過知識蒸餾[20]對YOLO-DW 算法進(jìn)行優(yōu)化得到KD-YOLODW算法,進(jìn)一步提高了YOLO-DW算法對紅外車輛目標(biāo)檢測的準(zhǔn)確性。該方法為解決道路安全問題提供了新的方法思路。
本文對紅外車輛目標(biāo)檢測問題進(jìn)行研究,選取YOLOv7-tiny為基準(zhǔn)算法進(jìn)行改進(jìn)。在提高算法檢測精度的條件下,同時解決紅外車輛小目標(biāo)檢測難度大的問題。
YOLOv7-tiny 是一種輕量級目標(biāo)檢測算法。該算法由四部分組成:輸入層(Input)、特征提取主干網(wǎng)絡(luò)(Backbone)、特征融合層與檢測頭(Head)。將固定尺寸的圖片輸入,將其送入由普通卷積層、Mpconv與Elan卷積層構(gòu)成的特征提取主干網(wǎng)絡(luò)中。將主干網(wǎng)絡(luò)提取的特征圖送入通過SPPF[21]改進(jìn)后的SPPCSPC 模塊,進(jìn)行處理后再送入Head網(wǎng)絡(luò)。隨后采用聚合特征金字塔結(jié)構(gòu),最后采用卷積對不同尺度的特征進(jìn)行通道調(diào)整,借助CIoU損失函數(shù)計算目標(biāo)框的置信度。
YOLOv7-tiny算法具有較少的參數(shù)和計算量,能保持較高的檢測精度,但該算法仍然有一些不足之處。首先,由于在特征提取主干網(wǎng)絡(luò)中使用了大量的ELAN模塊,導(dǎo)致網(wǎng)絡(luò)參數(shù)量過多、計算量過大,檢測速度仍有優(yōu)化的空間。其次,由于在特征融合層也過多地使用了ELAN 模塊,使特征融合容易出現(xiàn)特征冗余的情況,導(dǎo)致識別精度降低。最后,該算法受輕量化設(shè)計和網(wǎng)絡(luò)結(jié)構(gòu)的限制,檢測精度較差,無法準(zhǔn)確地檢測紅外車輛場景下的目標(biāo),尤其是該場景下的小目標(biāo)。
檢測模型的準(zhǔn)確性、輕量化程度是紅外車輛目標(biāo)檢測算法的重要評價指標(biāo),由于汽車駕駛平臺資源有限,模型需要在一定程度上做到輕量化。本文改進(jìn)YOLOv7-tiny 提出了KD-YOLO-DW 算法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。首先,使用本文設(shè)計的高效輕量級層聚合網(wǎng)絡(luò)ELAN-DW 模塊,充分利用梯度路徑設(shè)計策略,減少運行時間、提高網(wǎng)絡(luò)運行效率、提高網(wǎng)絡(luò)模型特征提取能力。其次,使用輕量級GhostNet V2模塊替換特征融合層的ELAN 模塊,降低模型計算復(fù)雜度、獲取更為豐富的語義信息并增強圖像特征的融合能力。同時使用動態(tài)非單調(diào)FM 的WIoU 損失函數(shù),解決難易樣本不平衡的問題,提升模型非線性表達(dá)能力、提高對小目標(biāo)的檢測精度。隨后,根據(jù)殘差網(wǎng)絡(luò)結(jié)構(gòu)思想提出了跨尺度融合策略,設(shè)計了新的跨尺度、多尺度連接網(wǎng)絡(luò),如圖1中紅線所示。通過利用淺層特征提取階段的目標(biāo)特征,融合深層網(wǎng)絡(luò)的語義信息,實現(xiàn)從深層到淺層的多特征提取,能夠獲得更全面、更準(zhǔn)確的特征表示,提高模型對目標(biāo)的理解和識別能力,也可以更好地識別小目標(biāo)、模糊目標(biāo)和遮擋目標(biāo)等較難檢測的目標(biāo),從而提高輕量級目標(biāo)檢測模型的準(zhǔn)確率。
輕量級GhostNet[22]模塊將輸入特征圖分為兩部分,一部分通過卷積生成特征圖,另一部分則直接進(jìn)行線性操作獲得,最終將其拼接。這樣可以大幅度地減少計算代價,但這個過程中,一些細(xì)微重要的特征信息可能會丟失,導(dǎo)致特征失真的風(fēng)險增加。GhonstNet V2 提出了解耦全連接注意力機制(DFC attention),它具有動態(tài)校準(zhǔn)與捕捉長距離空間信息的能力,更易在硬件上部署。直接將DFC attention與Ghost module并行連接會引入額外的計算成本,但將特征的寬度和高度縮放為原始的一半,就可減少DFC attention 75%的計算量。再把得到的特征圖通過上采樣操作還原到原始大小,以匹配Ghost分支特征的分辨率大小。GhostNet V2采用反向瓶頸設(shè)計,使用兩個Ghost module將特征維度先升高后降低,這種設(shè)計策略自然解耦了模型的表現(xiàn)能力與容納能力。而將DFC attention與第一個Ghost module并行,可以增強擴(kuò)展的特征。增強后的特征被輸入到后面的Ghost module中產(chǎn)生輸出特征,同時捕捉到不同空間位置的像素之間的長距離依賴性,在大量降低計算復(fù)雜度的同時極大程度地增強了特征的融合能力與模型的表達(dá)能力。GhostNet V2 通過將通道分組使得網(wǎng)絡(luò)計算并行化,能夠適應(yīng)不同大小的輸入數(shù)據(jù),擁有更少的計算開銷。此外,使用低秩分解技術(shù)在減少冗余參數(shù)數(shù)量的同時,保證模型精度。考慮到紅外輕量級模型需要適配資源受限的設(shè)備中,而GhostNet V2模塊能在減少計算復(fù)雜度的同時更好地學(xué)習(xí)特征,因此更適合本文模型。圖2為GhostNet 與GhostNet V2的結(jié)構(gòu)圖。
高效層聚合網(wǎng)絡(luò)(efficient layer aggregation network,ELAN)在網(wǎng)絡(luò)層面上屬于梯度路徑設(shè)計網(wǎng)絡(luò)[23]的范疇,主要解決在執(zhí)行模型縮放時深度模型的收斂性會逐漸惡化的問題。ELAN 模塊中設(shè)計了“計算塊中的堆棧”策略,來避免使用過多過渡層的問題,并使整個網(wǎng)絡(luò)的最短路徑梯度快速變長。對于梯度路徑設(shè)計策略,有以下優(yōu)點:
(1)有效地使用網(wǎng)絡(luò)參數(shù)。梯度路徑設(shè)計策略通過調(diào)整梯度傳播路徑,幫助不同計算單元學(xué)習(xí)不同信息,促進(jìn)網(wǎng)絡(luò)多樣性與表達(dá)能力。
(2)穩(wěn)定的模型學(xué)習(xí)能力。梯度路徑設(shè)計策略直接確定并傳播信息以更新權(quán)重到每個計算單元,所設(shè)計的架構(gòu)可以避免訓(xùn)練期間的退化。
(3)快速的推理速度。梯度路徑設(shè)計策略使得參數(shù)利用非常有效,因此網(wǎng)絡(luò)可以在不增加額外復(fù)雜架構(gòu)的情況下,提高模型的精度和效率。
如圖3 所示,(a)為YOLOv7 中的ELAN 模塊,由6個卷積塊組成。(b)為YOLOv7-tiny中的ELAN模塊,較(a)保持一定精度的同時,降低部分參數(shù)量與計算量。(c)為本文設(shè)計的ELAN-DW模塊。通過對ELAN模塊進(jìn)行分析并聯(lián)合梯度路徑設(shè)計策略,將深度可分離卷積(depthwise separable conv,DWconv)[24]融入模塊中。其中利用步長為2、卷積核大小為3的卷積進(jìn)行下采樣,步長為1的3×3的DWconv進(jìn)行特征提取。通過增大卷積核使得在不同尺度情況下獲取更大感受野,提高不同特征的判別性,增加網(wǎng)絡(luò)的非線性表達(dá)能力,最終提高模型的特征學(xué)習(xí)與表達(dá)能力。此外,淺層能夠提取較多豐富的特征信息,并在第四層采用較小尺寸的深度可分離卷積進(jìn)一步降低參數(shù)量與計算量。使得特征圖的每個通道之間具有一定的信息交流,并將下層的特征信息與前幾層更為豐富的特征信息互相補充。通過ELANDW模塊構(gòu)建主干網(wǎng)絡(luò),能夠在不同層級上構(gòu)建多個路徑,捕捉到更為豐富的信息,并且將不同路徑上的特征進(jìn)行融合,從而較典型特征提取主干網(wǎng)絡(luò)有更多不同層次的細(xì)節(jié)特征與語義信息。
在參數(shù)量方面,深度可分離卷積使用的參數(shù)量遠(yuǎn)遠(yuǎn)小于普通卷積,能夠在損失較少精度的同時大大減少參數(shù)量。深度可分離卷積分為兩部分,由逐通道卷積和逐點卷積組成。普通卷積計算量為:
其中,DF×DF×M為輸入特征維度,M為通道數(shù),N為卷積核數(shù)量,Dk×Dk為卷積核大小。深度可分離卷積先通過逐通道卷積,其計算量為:
隨后將特征維度為M×DF×DF的特征圖進(jìn)行逐點卷積最后輸出特征圖,其中逐通道卷積核逐點卷積計算量為:
將上述計算量相加,深度可分離卷積的計算量可表示為:
在忽略整體模型龐大的卷積核數(shù)量時,根據(jù)公式可推知普通卷積計算量為深度可分離卷積的倍。
2.3.1 損失函數(shù)改進(jìn)
原YOLOv7-tiny 模型中使用CIoU 邊界框損失函數(shù),CIoU考慮邊界框回歸的重疊面積、中心點距離與縱橫比,使得回歸定位更加精準(zhǔn)。但仍存在以下問題:在預(yù)測框回歸過程中,一旦預(yù)測框和真實框(ground truth box)的高和寬縱橫比呈線性比例時,CIoU損失函數(shù)中相對比例的懲罰便退化為0不起作用。
本文使用具有動態(tài)非單調(diào)FM 的WIoU v3。當(dāng)一個性能良好的模型為低質(zhì)量樣本生成高質(zhì)量錨框,單調(diào)FM 為這些錨框分配較大的梯度收益時,模型的學(xué)習(xí)效果會被大幅度降低。Zhang等人[25]提出了非單調(diào)調(diào)頻的Focal-EIoU和單調(diào)調(diào)頻的Focal-EIoU,F(xiàn)ocal-EIoU的FM是靜態(tài)的,它規(guī)定了錨框的邊界值,使得IoU 損失函數(shù)等于邊界值時具有最高的梯度增益,但沒有考慮到錨框的質(zhì)量評價體現(xiàn)在相互比較之中,因此沒有充分利用非單調(diào)調(diào)頻的優(yōu)勢。此外,由于數(shù)據(jù)集本身難易樣本不均衡,訓(xùn)練數(shù)據(jù)會不可避免地出現(xiàn)一些低質(zhì)量的樣本。傳統(tǒng)的IoU 損失函數(shù)通過距離、長寬比等會加重低質(zhì)量樣本的懲罰,降低模型的泛化性,而兩層注意力機制的WIoU v1則不會出現(xiàn)這些問題,在WIoU v1基礎(chǔ)上設(shè)計的WIoU v3 使用動態(tài)非單調(diào)FM 可以屏蔽訓(xùn)練過程中諸多負(fù)面影響,通過權(quán)衡低質(zhì)量樣本與高質(zhì)量樣本的比例,解決小目標(biāo)模糊不清、重疊遮擋目標(biāo)難以檢測的問題,從而進(jìn)一步提高模型精度及模型檢測的整體性能。具體計算公式如下:
下文中WIoU 統(tǒng)一指WIoU v3 損失函數(shù)。為進(jìn)一步驗證WIoU損失函數(shù)的泛化性與有效性,使用YOLOv7-tiny 作為實驗?zāi)P?,將WIoU 損失函數(shù)與CIoU、Focal-EIoU、α_iou[26](α=3)目前使用的主流損失函數(shù)在本文數(shù)據(jù)集上進(jìn)行對比實驗,如圖4所示。
圖4 損失函數(shù)對比Fig.4 Comparison of loss functions
從圖4中可以看出WIoU損失函數(shù)在不增加參數(shù)量與計算量的情況下,在mAP@0.5 方面具有一定程度上的優(yōu)勢。這是由于WIoU損失函數(shù)中的動態(tài)非單調(diào)FM根據(jù)紅外目標(biāo)檢測任務(wù)權(quán)衡紅外數(shù)據(jù)集中弱小目標(biāo)與模糊目標(biāo)的比例,充分發(fā)揮動態(tài)非單調(diào)FM 的優(yōu)勢,促進(jìn)模型更準(zhǔn)確地預(yù)測目標(biāo)的邊界框,從而提升模型在紅外目標(biāo)檢測任務(wù)的泛化能力。結(jié)果表明WIoU 是優(yōu)于目前使用的主流損失函數(shù),效果更為優(yōu)秀。
2.3.2 跨尺度融合策略
當(dāng)神經(jīng)網(wǎng)絡(luò)層數(shù)達(dá)到一定深度時,繼續(xù)增加網(wǎng)絡(luò)層數(shù)并不會提高精度,甚至可能會產(chǎn)生導(dǎo)致梯度消失或梯度爆炸問題。為提高紅外車輛目標(biāo)檢測網(wǎng)絡(luò)特征提取能力,聯(lián)合殘差結(jié)構(gòu)思想,構(gòu)建了特征融合層與Backbone層的跨尺度特征融合,如圖1中紅色箭頭所示。圖像深層特征包含更高級的語義信息,如物體的形狀紋理等。淺層特征具有更細(xì)致的局部特征信息,如邊緣信息等。利用淺層特征提取階段得到的目標(biāo)特征,將其與深層網(wǎng)絡(luò)的語義信息進(jìn)行融合,實現(xiàn)了從深層到淺層的多特征提取。本文提出的跨尺度融合策略增加了低層級與高層級之間的跨層連接,能夠在底層信息與上層信息融合過程中學(xué)習(xí)到更多細(xì)節(jié)特征,從而提高模型對目標(biāo)的理解與識別能力。此外,還能更好地應(yīng)對一些挑戰(zhàn),例如小目標(biāo)、模糊目標(biāo)和遮擋重疊目標(biāo)等難以檢測的目標(biāo)。
跨尺度融合從以下三個方面提高模型檢測準(zhǔn)確率。(1)信息融合方面??梢詫⒉煌叨鹊奶卣鲌D進(jìn)行融合,增加了多尺度信息的交互性,提高了模型的準(zhǔn)確率。(2)感受野方面??绯叨冗B接可以擴(kuò)大模型感受野,將低分辨率特征圖的信息通過卷積操作融入高分辨率的特征圖中,有效增強高分辨率特征圖的有效感受野。(3)減少漏檢誤檢情況。在某些紅外場景下,當(dāng)物體大小非常接近時,容易錯誤地檢測為一個物體或者同類物體。根據(jù)輕量級模型的紅外車輛檢測任務(wù),提出的跨尺度特征融合策略可以將來自不同尺度的信息融合在一起,從而增加模型對待識別目標(biāo)的理解,提高小目標(biāo)檢測的準(zhǔn)確性、大幅度降低漏檢、誤檢的概率。
為評估本文提出的跨尺度特征融合策略的有效性,分別對YOLOv7-tiny和YOLOv7模型使用該設(shè)計,評估本文提出的跨尺度網(wǎng)絡(luò)特征融合策略的優(yōu)劣性,實驗結(jié)果見表1。
表1 跨尺度網(wǎng)絡(luò)對比Table 1 Cross-scale network comparison 單位:%
表1 中++代表使用了本文設(shè)計的跨尺度特征融合策略。由表1實驗結(jié)果可以看出,通過增加特征融合層與Backbone 層不同尺度特征的跨尺度信息融合,改進(jìn)后的YOLOv7-tiny 與YOLOv7 模型分別較原始模型在mAP@0.5、mAP@0.5:0.95方面均有較高的提升。這是由于本文提出的跨尺度特征融合策略將主干網(wǎng)絡(luò)輸出的多層級特征再次融合,將不同類型、不同層級、不同尺度的特征拼接,增加了低層級與高層級之間的信息跨層交流,對特征互相補充學(xué)習(xí),獲取更為豐富的語義信息與特征信息,驗證了本文根據(jù)網(wǎng)絡(luò)模型設(shè)計的跨尺度特征融合策略的有效性。
較小的模型復(fù)雜度與計算成本低,但不能達(dá)到紅外車輛目標(biāo)檢測所需的精度要求。因此本文采用知識蒸餾模型技術(shù)來提高算法識別精度。知識蒸餾(knowledge distillation)是通過較大的教師模型將知識壓縮到學(xué)生模型中,在保持高精度的同時減少學(xué)生模型的復(fù)雜性與計算成本。其原理如圖5所示。
圖5 知識蒸餾示意圖Fig.5 Schematic diagram of knowledge distillation
知識蒸餾將教師模型中生成預(yù)測的軟目標(biāo)作為監(jiān)督信號,學(xué)生模型通過最小化其輸出與教師模型輸出之間的距離來學(xué)習(xí)教師模型的知識。其在Softmax中增加溫度參數(shù)T來實現(xiàn)軟目標(biāo)的分布。通過增加蒸餾溫度可以使生成的概率分布更加平滑,從而使得簡單的學(xué)生模型更容易學(xué)習(xí)到較為復(fù)雜的知識,其公式為:
其中,qi表示類別i的概率,取值范圍為[0,1];Zi表示輸入到Softmax函數(shù)的線性輸出;T為所設(shè)置的溫度參數(shù),其取值越大,輸出的目標(biāo)類別的概率分布越平滑,軟標(biāo)簽的軟化程度越高,概率分布越平滑。選取較高的溫度值會有更平滑的概率分布,導(dǎo)致學(xué)生模型在訓(xùn)練時過于關(guān)注教師模型的概率分布,使得學(xué)生模型過度擬合教師模型的錯誤預(yù)測,進(jìn)而降低學(xué)生模型的泛化能力。較低的溫度值則會導(dǎo)致更加尖銳的概率分布,使得學(xué)生模型對于預(yù)測概率較高的類別產(chǎn)生更集中的預(yù)測,最終導(dǎo)致在測試集的精度下降。
3.1.1 數(shù)據(jù)集
數(shù)據(jù)集選用FLIR公司公開數(shù)據(jù)集。該數(shù)據(jù)集由安裝在車輛上的紅外攝像頭獲取,共有14 452 張紅外圖像,包含四類目標(biāo),分別為汽車、行人、自行車與犬類。由于犬類圖像過少,將無效圖像與犬類的圖像剔除后,選取8 000張圖片,將其按照8∶1∶1劃分成訓(xùn)練集、驗證集、測試集。
3.1.2 實驗環(huán)境與實驗設(shè)置
本文實驗使用Ubuntu18.04系統(tǒng),處理器采用Intel?Xeon?W-2150B CPU@3.00 GHz,GPU 型號為Nvidia GeForce RTX3090Ti,顯存24 GB,實驗環(huán)境為Python 3.8、Pytorch 1.11、Cuda 11.3。
實驗訓(xùn)練參數(shù)設(shè)置為:初始學(xué)習(xí)率為0.01,Batch_size設(shè)置為12,選擇Adam優(yōu)化器進(jìn)行優(yōu)化,權(quán)重衰減系數(shù)為0.000 5,采取epoch 為300、學(xué)習(xí)率動量參數(shù)為0.937的Warmup方法訓(xùn)練,并采取一維線性插值更新學(xué)習(xí)率,在Warmup之后采取余弦退火算法對學(xué)習(xí)率進(jìn)行更新。實驗過程模型訓(xùn)練均設(shè)置為300個epoch。
為驗證本文對原網(wǎng)絡(luò)模型改進(jìn)的有效性。以mAP@0.5與mAP@0.5:0.95作為消融實驗評估指標(biāo),以原模型YOLOv7-tiny 算法為基準(zhǔn)設(shè)計消融實驗進(jìn)行模塊評估分析,實驗結(jié)果見表2。其中“√”表示實驗中采用該模塊,否則為不使用該模塊。
表2 消融實驗結(jié)果對比Table 2 Comparison of ablation results
根據(jù)表2的結(jié)果可以看出:通過在Head特征融合層嵌入GhostNet V2模塊,僅在精度均值下降了0.91個百分點的情況下,參數(shù)量減少了9.8%。表明GhostNet V2模塊在保持輕量級的同時,通過并行計算與注意力機制等可以更好地捕捉圖像特征,提升模型的表達(dá)能力,更適合應(yīng)用于邊緣設(shè)備中。由于特征提取主干網(wǎng)絡(luò)與Head部分采用本文設(shè)計的輕量級ELAN-DW模塊后,精度均值僅下降了2.03個百分點,但模型的參數(shù)量大幅減少了37.7%。這表明,通過本文設(shè)計的ELAN-DW 模塊構(gòu)建的主干網(wǎng)絡(luò)通過不同層級的多個路徑得到不同尺度的語義信息與細(xì)節(jié)特征,將這些低層級的細(xì)節(jié)特征與高層級的語義特征融合,能夠更好地捕捉目標(biāo)的上下文信息,提高檢測的準(zhǔn)確性。主干網(wǎng)絡(luò)中的ELAN-DW模塊通過路徑梯度策略將不同大小、不同參數(shù)量的卷積集成,擁有更小的參數(shù)量。而傳統(tǒng)主干網(wǎng)絡(luò)通常由固定感受野設(shè)計,參數(shù)量多且具有較弱的特征表達(dá)能力。因此本文所設(shè)計的模塊在參數(shù)量與準(zhǔn)確性之間取得了平衡,在降低模型參數(shù)量的同時能有效保證檢測精度,驗證了本文設(shè)計模塊的有效性。E組實驗可看出,本文主要通過ELAN-DW 模塊與GhostNet V2 模塊中的多層級連接,能夠盡可能多地減少普通卷積層,從而大量降低參數(shù)規(guī)模。值得注意的是,在多組損失函數(shù)對比實驗中,本文采用了WIoU 損失函數(shù),相較于原始網(wǎng)絡(luò)使用的CIoU 損失函數(shù),模型的實驗精度有所提高,這是由于WIoU損失函數(shù)中的動態(tài)非單調(diào)FM根據(jù)紅外檢測任務(wù)的需求及時調(diào)整,對小目標(biāo)的重疊程度更加敏感,且能夠更準(zhǔn)確地預(yù)測目標(biāo)的邊界框,從而提高模型的檢測精度與泛化能力。此外,D組實驗表明本文提出的跨尺度融合策略在不增加計算量的前提下?lián)碛懈玫男Ч?。區(qū)別于傳統(tǒng)特征融合金字塔,本文提出的跨尺度融合策略能夠?qū)LAN-DW 模塊不同層級融合后的語義信息與特征再次跨尺度拼接,增加特征的豐富性和多樣性,使得模型能夠同時利用多種信息,因此能夠較高程度地提高輕量級模型檢測的準(zhǔn)確性。最后,在E組實驗基礎(chǔ)上添加WIoU損失函數(shù)與跨尺度融合策略,增加了極少的參數(shù)量與計算量。模型整體在使用較少卷積層與池化層的情況下提高了模型精度。這主要得益于不同層級特征圖互相融合互相學(xué)習(xí),信息跨層交流從而減少了冗余,增加了模型所學(xué)習(xí)特征的豐富性和多樣性。與基準(zhǔn)網(wǎng)絡(luò)YOLOv7-tiny進(jìn)行對比,結(jié)果表明在參數(shù)量下降24.5%的基礎(chǔ)上,精度方面提升1.29 個百分點。實現(xiàn)了模型在具有較高輕量化程度的同時在精度方面未有損失,仍有所提升,滿足部署在資源有限的嵌入式設(shè)備中的需求。
為驗證溫度對知識蒸餾效果的影響,本文使用YOLOv7作為教師網(wǎng)絡(luò),本文所提出的YOLO-DW作為學(xué)生網(wǎng)絡(luò),對比原始基準(zhǔn)模型YOLOv7-tiny 網(wǎng)絡(luò),對不同的蒸餾溫度進(jìn)行實驗測評,實驗結(jié)果如表3所示。
表3 不同蒸餾溫度對比結(jié)果Table 3 Comparison results of different distillation temperatures
其中KD 表示對模型使用知識蒸餾(knowledge distillation)處理。由表中數(shù)據(jù)可以看出,隨著蒸餾溫度的升高,訓(xùn)練精度逐步增加,但測試精度可能在某一溫度點后逐步下降,整體呈現(xiàn)出先升后降的趨勢。因此選取一個合適的蒸餾溫度極為重要。對本文設(shè)計的KD-YOLO-DW 算法采用不同的蒸餾溫度,精度方面都有不同程度的提高,當(dāng)蒸餾溫度為25 時可獲得最佳的模型精度。
為了驗證本文所提出模型的輕量化程度與準(zhǔn)確性,本節(jié)對所提出的KD-YOLO-DW模型與其他目標(biāo)檢測模型進(jìn)行對比。所有算法均使用相同的硬件設(shè)備,以本文數(shù)據(jù)集進(jìn)行訓(xùn)練,以確保實驗結(jié)果的可靠性與公平性。將參數(shù)量(Params)、計算量(FLOPs)、mAP@0.5、mAP@0.5:0.95、模型體積大小與FPS作為評估指標(biāo),具體實驗結(jié)果如表4所示。
表4 不同模型的對比實驗Table 4 Comparative experiments of different models
表4 實驗結(jié)果可以看出,與輕量級YOLOv3-tiny、YOLOv4-tiny算法相比,本文算法的參數(shù)規(guī)模分別下降了47.1%和22.0%,計算量分別下降了15.3%和32.01%,精度方面分別提升了22.89 個百分點和20.69 個百分點。且FPS有較高程度的優(yōu)越性。
同時,將本文模型與現(xiàn)有主流的輕量級網(wǎng)絡(luò)YOLOv5s、YOLOv6s、YOLOX-s 算法進(jìn)行了對比,在參數(shù)量方面,本文模型分別下降了34.2%和42.5%,計算量下降了30.8%和49.0%,mAP@0.5 提升了7.84 和1.98 個百分點,F(xiàn)PS 方面提高了82.8%和18.5%。與YOLOv6s算法對比,雖然FPS方面下降了4%,但在參數(shù)量與計算量下降75.1%與75.7%的情況下mAP@0.5 提高了3.07個百分點,這表明參數(shù)量與計算量的龐大并不能夠保證模型的高精度與高實時性。與原始網(wǎng)絡(luò)YOLOv7-tiny對比,本文模型不僅在參數(shù)量與計算量方面下降了24.6%和16.7%,保證了改進(jìn)網(wǎng)絡(luò)模型的高輕量化程度。FPS方面雖有一定程度的損失,但仍能完成實時檢測任務(wù)。同時mAP@0.5 與mAP@0.5:0.95 上升了3.27 和3.15 個百分點,改進(jìn)的KD-YOLO-DW網(wǎng)絡(luò)模型不僅實現(xiàn)了高輕量化,同時也大大提高了精度。
綜上所述,KD-YOLO-DW 模型在六類指標(biāo)的結(jié)果中均優(yōu)于其他模型,這表明本文所提出的輕量化模型在更少參數(shù)量、更低計算量、更小模型體積的條件下,精度并未損失且有一定程度上的提高,證明了本文算法的有效性與先進(jìn)性。
mAP@0.5 代表當(dāng)檢測的目標(biāo)框與真實目標(biāo)框的IoU大于等于0.5時,將其視為正確的檢測結(jié)果。mAP@0.5:0.95表示在IoU閾值從0.5到0.95范圍內(nèi),以0.05為步長計算不同閾值下的AP,并取平均值作為mAP 的結(jié)果。圖6、圖7 為YOLOv7-tiny、YOLO-DW 與KDYOLO-DW 的模型曲線圖,其中橫坐標(biāo)epoch 為訓(xùn)練輪數(shù)、縱坐標(biāo)為mAP 取不同閾值的準(zhǔn)確率,符合表3 與表4中的性能指標(biāo)。
圖6 不同算法mAP@0.5對比圖Fig.6 Different algorithms mAP@0.5 comparison graph
圖7 不同算法mAP@0.5:0.95對比圖Fig.7 Different algorithms mAP@0.5:0.95 comparison graph
通過圖8 展示的6 組檢測結(jié)果可以發(fā)現(xiàn),第一組與第六組對比圖顯示,原模型在遠(yuǎn)距離情況下未檢測出行人,存在小目標(biāo)漏檢情況。然而,本文的KD-YOLODW模型正確檢測到模糊小目標(biāo)。如圖中紅框所示,本文模型通過使用動態(tài)非單調(diào)FM的WIoU損失函數(shù)解決了小目標(biāo)模糊不清、難以檢測的問題,可以明顯看出模糊小目標(biāo)檢測的效果得到了顯著的改善。第三組對比圖顯示,原模型在遮擋和待檢測目標(biāo)不完整的情況下只檢測到自行車上的人。第五組則未能正確檢測對向車道行駛的車輛。相比之下,采用本文提出的ELAN-DW模塊和跨尺度融合策略通過融合不同層次的特征信息,將其互相補充提高模型的學(xué)習(xí)能力與表達(dá)能力??梢哉_檢測自行車與人,同時還能檢測到樹下停放的車輛與對向車道行駛的車輛,檢測到模糊小目標(biāo),滿足車輛駕駛過程中的檢測任務(wù),從而驗證了本文改進(jìn)的通用性與有效性。在第二組與第四組對比圖中,原模型存在檢測車輛不完整和遮擋人物未正確檢測的問題。本文提出的算法提高了對小目標(biāo)、模糊目標(biāo)、遮擋重疊目標(biāo)檢測的辨識度,在更輕量化的同時具有更好的檢測效果與更強的魯棒性,從而滿足車輛駕駛過程中對紅外場景下輕量化、高精度檢測的需求。
圖8 檢測結(jié)果圖像對比Fig.8 Image comparison of detection results
為了進(jìn)一步降低紅外目標(biāo)檢測算法的參數(shù)量和計算量,提高待檢測目標(biāo)與小目標(biāo)的精度,本文提出了一種輕量級紅外目標(biāo)檢測算法:KD-YOLO-DW。首先,結(jié)合深度可分離卷積設(shè)計了輕量級ELAN-DW模塊,將其作為YOLOv7-tiny的主干網(wǎng)絡(luò)模塊,極大地降低參數(shù)量與計算量。其次,在Head 層引入GhostNet V2 模塊,進(jìn)一步降低模型的參數(shù)量和計算量。針對原始網(wǎng)絡(luò)引入動態(tài)非單調(diào)FM 的WIoU 損失函數(shù),解決數(shù)據(jù)集帶來的難易樣本不平衡問題,以進(jìn)一步提高模型的檢測性能。然后,根據(jù)輕量級網(wǎng)絡(luò)模型結(jié)構(gòu)提出跨尺度融合策略,聯(lián)合殘差結(jié)構(gòu)思想設(shè)計全新跨尺度網(wǎng)絡(luò),在不增加參數(shù)量的前提下大幅度提高模型的學(xué)習(xí)能力和泛化能力,從而得到輕量級YOLO-DW算法。最后,使用知識蒸餾技術(shù)對YOLO-DW算法進(jìn)一步濃縮優(yōu)化,獲得高精度的輕量級紅外目標(biāo)檢測算法KD-YOLO-DW。與YOLOv7-tiny算法相比,本文提出的KD-YOLO-DW算法在檢測精度方面提升了3.27個百分點,參數(shù)量和計算量分別下降了24.6%和16.7%,可以更好地滿足邊緣設(shè)備部署的需求。