姚宇捷,彭育輝,陳澤輝,何維堃,吳 慶,黃 煒,陳文強
(1.福州大學(xué)機(jī)械工程及自動化學(xué)院,福州 350116;2.福建漢特云智能科技有限公司,福州 350028)
基于計算機(jī)視覺的目標(biāo)檢測是通過對輸入的圖像信息進(jìn)行解碼分析,獲得圖像中目標(biāo)對象的正確類別和準(zhǔn)確位置,在商用領(lǐng)域和軍用領(lǐng)域均有巨大應(yīng)用價值。
傳統(tǒng)目標(biāo)檢測算法存在運算量大、實時性差等問題[1-2],基于深度學(xué)習(xí)的目標(biāo)檢測算法正逐步成為計算機(jī)視覺領(lǐng)域的主流技術(shù)路線。深度學(xué)習(xí)目標(biāo)檢測算法根據(jù)是否提前生成候選框可分為Two-stage和One-stage。前者以R-CNN[3]為代表,由于算法本身會產(chǎn)生過多的候選框,導(dǎo)致運算量過大,無法滿足實時性要求;后者則實現(xiàn)了端到端的網(wǎng)絡(luò)訓(xùn)練,大幅減少了運算量,提高了網(wǎng)絡(luò)的實時性,如YOLO 系列[4-6]、SSD[7]、MobileNet[8-10]算法等。
RGB 圖像作為目標(biāo)檢測的輸入數(shù)據(jù),其自身的特性之一就是易受到光照的影響,為此Ren 等[11]提出了一種新的單級端到端可訓(xùn)練的目標(biāo)檢測網(wǎng)絡(luò),通過在多尺度特征圖上引入遞歸滾動卷積(RRC)架構(gòu)來構(gòu)建“深入上下文”的對象分類器和包圍盒回歸器來降低光照影響;Zhao 等[12]提出特征金字塔增強策略(FPES)來增加網(wǎng)絡(luò)感受野,并為對象檢測模塊(ODM)階段提出了自適應(yīng)閾值獲取方法以提高模型精度;Zhu 等[13]采用殘差特征增強的方法來增強頸部卷積層的特征提取,增強的PANet[14]用于改進(jìn)特征融合,加強了特征圖的表示能力。上述算法均無法回避RGB 圖像自身的固有缺陷,即對光照敏感度過高問題。
由于HSV 圖像具有較好的抗光照能力,以及YOLO 算法在目標(biāo)檢測中的優(yōu)越性,本文中提出一種適用于YOLO 系列(YOLOV3、V4、V5等)的改進(jìn)算法。鑒于YOLOV4[15]網(wǎng)絡(luò)相較于其他YOLO 網(wǎng)絡(luò)在復(fù)雜環(huán)境下檢測性能突出,因此以YOLOV4 網(wǎng)絡(luò)為基礎(chǔ),從HSV 圖像分離出抗光照能力最強的S通道,并與RGB 圖像進(jìn)行融合,使輸入網(wǎng)絡(luò)中的圖像數(shù)據(jù)既保留重要的色彩信息又同時具備抗光照能力;同時對YOLOV4 的主干網(wǎng)絡(luò)和損失函數(shù)進(jìn)行優(yōu)化,以達(dá)到提高檢測精度并滿足實時性的預(yù)期目標(biāo)。
RGB 圖像將R(red)、G(green)、B(blue)3個通道的變化和亮度相疊加混合,構(gòu)成人類視覺所能感知的顏色信息。RGB 3 個通道的分量與亮度緊密相聯(lián),當(dāng)亮度發(fā)生變化后,3 個通道的分量也會隨之發(fā)生改變,從而導(dǎo)致整體的顏色信息發(fā)生改變。這一特性導(dǎo)致RGB 圖像很易受到光照影響,即對亮度的敏感度過高。
為解決光照帶來的影響,方式之一是采用HSV顏色空間。構(gòu)成HSV 模型的主要參數(shù)有:色調(diào)(Hue)、飽和度(Saturation)、明度(Value)。色調(diào)H是將所有的顏色顯示轉(zhuǎn)化為0°~360°之間,不同于RGB需要三通道的分量相互配合,H通道只須選擇相應(yīng)的角度即可;飽和度S表示的是顏色接近光譜色的程度,光譜色占比越高,則表示顏色的飽和度越高;明度V表示的是顏色明亮程度,明亮值就是指受到外界光照影響的大小。HSV 可由RGB 轉(zhuǎn)換而成,轉(zhuǎn)換公式為
式中:R、G、B分別代表RGB圖像的3個通道分量;H、S、V代表的是HSV 圖像的3 個通道分量。由上述公式可知,V通道選取的是RGB 圖像的最大分量,因此光照對HSV 圖像的V通道影響最大,而相較之下,H通道和S通道都是取RGB圖像中的最小分量并相互作差和運算而來的,所以光照對與HSV 圖像的H通道和S通道影響較小。驗證這一結(jié)論的光照實驗結(jié)果如圖1所示。
由圖1 可知,在相同光照條件下,RGB 圖像易受光照影響,3 個通道分量都出現(xiàn)了亮暗界限分明的情況。HSV 圖像由于其V通道的存在,導(dǎo)致HSV圖像也出現(xiàn)亮暗界限分明的情況。將HSV 圖像進(jìn)行通道分割,分離出H通道、S通道和V通道進(jìn)行觀察,發(fā)現(xiàn)V通道的亮暗界限分明,S通道的亮暗界限消失,H通道的亮暗界限模糊,說明HSV 圖像的H通道和S通道都具有抗光照能力,而S通道的抗光照能力更強。
HSV 關(guān)注的是圖像顏色的劃分,而非圖像顏色的語義信息。如果只是簡單地將HSV去除V通道輸入網(wǎng)絡(luò),就會缺失圖像顏色中攜帶的語義信息,導(dǎo)致網(wǎng)絡(luò)無法進(jìn)行與顏色相關(guān)的特征提取。為此,本文將HSV 中抗光照能力強的S通道分離出,與RGB 通道合并后輸入網(wǎng)絡(luò),使輸入網(wǎng)絡(luò)的數(shù)據(jù)兼?zhèn)淇构庹漳芰?。具體流程見圖2。
圖2 抗光照算法流程圖
圖2 所示的實現(xiàn)流程是建立在原YOLOV4 網(wǎng)絡(luò)基礎(chǔ)上的,由于YOLOV4網(wǎng)絡(luò)本身不具備學(xué)習(xí)RGBS四通道圖像信息的能力,為此,須對YOLOV4的原網(wǎng)絡(luò)維度進(jìn)行重構(gòu),補足四通道信息輸入所需維度,保證網(wǎng)絡(luò)正常輸出。
YOLOV4 的主干網(wǎng)絡(luò)CSPDarknet53 采用了大量的3×3 卷積核來進(jìn)行特征提取,過程中產(chǎn)生的相似特征圖通常被當(dāng)作冗余信息。冗余特征圖雖然能使網(wǎng)絡(luò)更具泛化性,但同時也帶來了更大的數(shù)據(jù)量,降低算法效率。Ghostnet 網(wǎng)絡(luò)[16]基于一組內(nèi)在特征映射,應(yīng)用一系列成本低廉的線性變換來生成許多冗余特征映射,可以用更低的計算量充分提取內(nèi)在特征背后的信息。因此,為降低網(wǎng)絡(luò)參數(shù)量,提高檢測實時性,將主干網(wǎng)絡(luò)由CSPDarknet53 替換為Ghostnet網(wǎng)絡(luò),對YOLOV4進(jìn)行改進(jìn)。
Ghostnet 模塊主要由兩部分操作構(gòu)成:先是通過少量的普通卷積來獲取網(wǎng)絡(luò)學(xué)習(xí)所需要的部分特征圖;再對這些特征圖進(jìn)行低成本的線性操作生成新的特征圖;最后再將兩部分的特征圖Concat 拼接在一起補足輸出維度需求。Ghostnet 模塊相較于普通卷積的理論加速比為
式中:k為Kernel 的尺寸;d為內(nèi)核尺寸;w、h為輸入數(shù)據(jù)的寬和高;c為輸入數(shù)據(jù)的通道數(shù);n為輸出數(shù)據(jù)的通道數(shù);s為壓縮比。
在一個Ghostnet模塊線性運算中,當(dāng)內(nèi)核尺寸d與卷積核尺寸k一致,且s<<c時,模型的效率最大。則參數(shù)壓縮率計算如下:
文獻(xiàn)[17]中對比分析了VGG 與ResNet 系列在CIFAR-10 數(shù)據(jù)集上的測試結(jié)果,得出當(dāng)壓縮比s=2時Ghostnet 模型效果最佳,即在卷積過程中,一半用普通卷積生成,另外一半由簡單線性操作生成。研究發(fā)現(xiàn),部分網(wǎng)絡(luò)的冗余特征圖并沒有占到原特征圖總數(shù)的一半。對于這部分網(wǎng)絡(luò),如果只用一半的常規(guī)卷積進(jìn)行特征提取,將無法完成對圖像信息的全面理解,導(dǎo)致網(wǎng)絡(luò)的識別精度下降。因此壓縮比s=2的Ghostnet模型無法運用到所有的網(wǎng)絡(luò)模型中。
為獲得Ghostnet 模塊在YOLOV4 網(wǎng)絡(luò)中最佳壓縮比s,采用Hash 算法對YOLOV4 網(wǎng)絡(luò)生成的32 張?zhí)卣髯訄D進(jìn)行分析,通過將所有子圖的數(shù)據(jù)轉(zhuǎn)化為hash值,并進(jìn)行兩兩比對其hash值的漢明距離,借此來判定二者是否相似。兩張圖片的漢明距離越小,圖片越相似。最后通過數(shù)據(jù)變換將距離大小轉(zhuǎn)化為相似度進(jìn)行輸出,所得結(jié)果如圖3所示。
圖3 YOLOV4特征圖冗余現(xiàn)象
由圖3 可知,YOLOV4 在經(jīng)過卷積生成的特征圖中冗余特征圖與普通特征圖的占比為1∶3,即壓縮比s為4/3。據(jù)此,對GhostNnet 模塊進(jìn)行修改,將原來普通卷積與廉價卷積的比例由原來的1∶1 重新調(diào)整為3∶1,修改前后如圖4所示。
圖4 Ghostnet模塊修改對比圖
改進(jìn)后的Ghostnet 模型相較于原模型在參數(shù)量上有所提升,但其保證了對輸入圖像特征的全面提取,提高了網(wǎng)絡(luò)的檢測精度。改進(jìn)的YOLOV4 檢測模型結(jié)構(gòu)如圖5所示。
圖5 YOLOV4+抗光照算法+改進(jìn)Ghostnet模塊的網(wǎng)絡(luò)結(jié)構(gòu)圖(YOLO-RLG)
YOLOV4 采用CIoU 損失作為Boundingbox(目標(biāo)識別框)的損失函數(shù),其在IoU 損失的基礎(chǔ)上加入了考慮預(yù)測框與真實框高寬比的影響因子,即
式中:b、bgt表示預(yù)測框和真實框的中心點;ρ表示兩中心點之間的距離;c為包含兩個框的最小封閉框的對角線長度;v用來衡量高寬比的相似性;α為與交并比相關(guān)的權(quán)重系數(shù)。
盡管CIoU_Loss 在進(jìn)行候選框與真實框損失計算時考慮了框的面積大小、中心點距離以及框的高寬比等因素。但是,當(dāng)候選框的高、寬與真實框的高、寬呈倍數(shù)關(guān)系且大小不相等時,CIoU_Loss 中高寬比影響因子(αν)就會失效。另外,對式(6)求導(dǎo)發(fā)現(xiàn),高、寬的梯度方向相反,即當(dāng)高度增加時,寬度必然減小,反之也成立。因為高、寬無法實現(xiàn)同增或同減,導(dǎo)致CIoU_Loss可能會以不合理的方式優(yōu)化相似性。為進(jìn)一步提高模型的檢測精度和魯棒性,本文中利用EIoU來改進(jìn)YOLOV4算法的損失函數(shù)。
將CIoU 替換為EIoU[17]來優(yōu)化高寬比影響因子失效的情況,從而實現(xiàn)對YOLOV4 損失函數(shù)的改進(jìn),即
EIoU 將CIoU 的高寬比損失項拆分成預(yù)測框的高寬分別與最小外接框高寬的差值,優(yōu)化了邊界框回歸任務(wù)中樣本不平衡問題,即減少與目標(biāo)框重疊較少的大量錨框?qū)oundingbox(目標(biāo)識別框)回歸的優(yōu)化共享,使回歸過程專注于高質(zhì)量錨框,加速了模型的收斂速度和回歸精度。
實驗采用的KITTI 數(shù)據(jù)集是由德國卡爾斯魯厄理工學(xué)院和豐田美國技術(shù)研究院聯(lián)合采集制作的,其中包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實圖像數(shù)據(jù)。每張圖像中最多達(dá)15 輛車,還有各種程度的遮擋與截斷,每個車輛特征復(fù)雜,場景多變,可以很好地防止訓(xùn)練過程中由于標(biāo)記物特征簡單而導(dǎo)致的過擬合風(fēng)險。KITTI數(shù)據(jù)集總共分為7 481張訓(xùn)練集和7 518 張測試集,總共包含80 256 個標(biāo)記對象,龐大的數(shù)據(jù)量能夠支持各種不同算法的驗證,為國內(nèi)外廣大研究人員廣泛使用。
計算環(huán)境為Ubuntu16.04 操作系統(tǒng),服務(wù)器硬件配置為Intel Xeon Silver 4108 處理器、GPU 型號為NVIDIA GTX1080Ti 顯卡、32 GB 運行內(nèi)存。在Anaconda 下使用tensorflow 深度學(xué)習(xí)框架和Python3.8 編程語言實現(xiàn)車輛的檢測網(wǎng)絡(luò),并使用GPU進(jìn)行加速。
在目標(biāo)檢測方面的評價標(biāo)準(zhǔn)主要有精確率P(Precision)、召回率R(Recall)、AP(Average Precision)、網(wǎng)絡(luò)推理時間(FPS)和模型大小MS(Model Size)。其中,AP是由類別的精確率和召回率所構(gòu)成的曲線下方面積,是充分體現(xiàn)模型泛化能力的重要指標(biāo),AP計算公式為
式中:P表示精確率;R表示召回率;TP表示正確預(yù)測為正樣本的數(shù)量;FP表示錯誤預(yù)測為正樣本的數(shù)量;NF表示錯誤預(yù)測為負(fù)樣本的數(shù)量;AP表示各類別PR曲線構(gòu)成的下方面積。
在模型訓(xùn)練的過程中使用SGD 優(yōu)化方法,模型訓(xùn)練的超參數(shù)設(shè)置:初始學(xué)習(xí)率設(shè)置為0.005,動量設(shè)置為0.9,權(quán)重衰減系數(shù)設(shè)置為0.000 5。在實驗的訓(xùn)練和測試中所設(shè)置的圖片大小設(shè)置為416×416,batch-size 大小設(shè)置為16,epoch 大小設(shè)置為1 000。
為進(jìn)一步驗證YOLOV4改進(jìn)抗光照模型中所用到的各模塊對YOLOV4的優(yōu)化作用,采取消融實驗。首先對YOLOV4 網(wǎng)絡(luò)進(jìn)行抗光照增強,之后將模型的主干網(wǎng)絡(luò)替換成Ghostnet,最后對Ghostnet 網(wǎng)絡(luò)和損失函數(shù)進(jìn)行改進(jìn)。消融實驗各模型的AP 和性能比對結(jié)果如圖6和圖7所示。
圖6 各模型AP曲線圖
圖7 性能比對圖
表1 為YOLOV4 改進(jìn)抗光照模型進(jìn)行的消融實驗結(jié)果,對各種組合下的算法平均精確度、模型大小和檢測幀率進(jìn)行對比。
表1 消融實驗
(1)定量分析
從表1 可以看出,YOLOV4 模型生成的權(quán)重文件大小為256.8 M,AP為92.53%,F(xiàn)PS為34.04 f/s。改進(jìn)模型1 進(jìn)行了抗光照增強,輸入數(shù)據(jù)由原來的RGB 三通道圖像變換RGBS 四通道圖像,并對網(wǎng)絡(luò)模型進(jìn)行維度統(tǒng)一,導(dǎo)致模型權(quán)重大小輕微增加了6.9 M,F(xiàn)PS輕微變化了0.18 f/s,但AP提升了1.55%,其原因在于KITTI數(shù)據(jù)集本身就有較多的陰影交替的場景,而改進(jìn)模型1 中剛好具有抗光照能力,所以AP有所提升。改進(jìn)模型2 在改進(jìn)模型1 的基礎(chǔ)上將原來的CSPDarknet53 替換成Ghostnet,由于Ghostnet本身是輕量化網(wǎng)絡(luò),所以改進(jìn)模型2相較于改進(jìn)模型1,其模型權(quán)重大小下降了218.3 M,F(xiàn)PS提高了18.41 f/s,由于上文中提到了原Ghostnet網(wǎng)絡(luò)特征提取不充分的原因,導(dǎo)致了改進(jìn)模型2 的AP下降了5.33%,改進(jìn)模型2 雖然AP下降,但FPS得到了大幅上升,提高了網(wǎng)絡(luò)檢測的實時性。改進(jìn)模型3 在改進(jìn)模型2 的基礎(chǔ)上運用本文提到的方法對Ghostnet 網(wǎng)絡(luò)進(jìn)行了優(yōu)化,使模型相較于改進(jìn)模型2的AP提升了3.87%,模型權(quán)重大小增加了1.1 M,F(xiàn)PS上漲了3.28 f/s。本文模型YOLO-RLG 在改進(jìn)模型3 的基礎(chǔ)上將損失函數(shù)由CIoU 替換為EIoU,使AP提升了0.74%,模型大小沒有變化,F(xiàn)PS輕微提升0.67 f/s。與原YOLOV4 網(wǎng)絡(luò)模型相比,模型的大小下降了210.3 M,檢測精度提升了0.83%,F(xiàn)PS提高了22.54 f/s。
(2)定性分析
對比YOLOV4 與YOLO-RLG 在測試集上的部分檢測結(jié)果如圖8所示。圖8(a)和圖8(b)分別是兩個算法對同一張圖像進(jìn)行檢測的結(jié)果??梢钥吹?,YOLOV4 雖然在近處的檢測結(jié)果很好,但在遠(yuǎn)處光影交錯的車輛就無法識別到;而YOLO-RLG 能很好識別近處和遠(yuǎn)處光影交錯的車輛。為驗證YOLOV4-RLG 能識別到遠(yuǎn)處的這類車輛不是因為算法本身AP(平均精確度)高導(dǎo)致的,本文采用了訓(xùn)練還未完成的AP(平均精確度)較低的YOLO-RLG 權(quán)重文件進(jìn)行同一圖像檢測如圖8(c)所示。結(jié)果顯示,由于AP(平均精確度)較低的原因,近處的識別效果沒有YOLOV4 好,但仍然能夠識別到遠(yuǎn)處光影交錯的車輛,充分說明了本文算法所具備的抗光照能力。
圖8 KITTI數(shù)據(jù)集測試結(jié)果
為驗證改進(jìn)后的YOLO-RLG 算法的性能優(yōu)勢,將本文提出的算法與前沿的目標(biāo)檢測算法SSD、Faster-RCNN、EfficientDet、Swin Transformer等網(wǎng)絡(luò)模型在KITTI二維數(shù)據(jù)集上進(jìn)行比對,結(jié)果如表2所示。
表2 YOLO-RLG與其他算法比對
由表2 可知,YOLO-RLG 相較于Faster-RCNN,由于使用了Ghostnet 改進(jìn)模塊,使其計算的參數(shù)量遠(yuǎn)小于Faster-RCNN,且實時檢測速度也比其快;與SSD系列相比,在實時檢測速度上與SSD300和SSDMoblienetV3 相當(dāng),但在檢測精度方面,YOLO-RLG有絕對優(yōu)勢;與YOLOV5和EfficientDet相比,不管在檢測精度還是實時檢測速度方面都優(yōu)于二者;最后與Swin Transformer 比較,在檢測精度上略低于SwinTransformer,但在計算參數(shù)量上遠(yuǎn)小于Swin Transformer,且實時檢測速度比Swin Transformer快。
為進(jìn)一步驗證YOLO-RLG 算法對不同類型的檢測目標(biāo)也具備較好的檢測效果,利用PASCAL VOC 數(shù)據(jù)集對原YOLOV4 算法和改進(jìn)后的YOLORLG 算法進(jìn)行驗證,結(jié)果如圖9 和圖10 所示。其中PASCAL VOC 數(shù)據(jù)集包含20 個目標(biāo)類別,總計有16 551 張訓(xùn)練圖像和15 943 張測試圖。PASCAL VOC 數(shù)據(jù)集是計算機(jī)視覺中常用的數(shù)據(jù)集,龐大的數(shù)據(jù)量和多種類別可支持各種不同算法的驗證。
圖9 YOLOV4模型多類別檢測AP柱狀圖
圖10 YOLO-RLG模型多類別檢測AP柱狀圖
YOLO-RLG 與YOLOV4 在PASCAL VOC 數(shù)據(jù)集上性能對比數(shù)據(jù)如表3所示。
表3 PASCAL VOC數(shù)據(jù)集驗證比對
由表3 可知,改進(jìn)后的YOLO-RLG 模型檢測多類別的平均精度(mAP)為92.64%,原YOLOV4 模型檢測多類別的平均精度(mAP)為91.33%,改進(jìn)后的YOLO-RLG 模型mAP提升了1.31%,且改進(jìn)后的YOLO-RLG 模型在檢測速度、模型大小、抗光照能力方面均優(yōu)于原YOLOV4 算法。綜上所述,本文的YOLO-RLG 模型相較于其他網(wǎng)絡(luò)模型不僅有較好的檢測精度,且有較快的檢測速度,能滿足算法實時性要求,且還具備抗光照能力。
為更好解決強光和陰影等干擾因素對目標(biāo)檢測的影響,提出了一種基于YOLOV4 的抗光照目標(biāo)檢測模型YOLO-RLG。首先,從HSV 圖像分離出抗光照能力強的S通道與RGB圖像通道進(jìn)行合并作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,使輸入模型的數(shù)據(jù)既保留了重要的色彩信息又具備抗光照與陰影的能力;其次,為提高模型目標(biāo)檢測的實時性和檢測精度,對主干網(wǎng)絡(luò)和損失函數(shù)進(jìn)行改進(jìn),將CSPDarknet53 替換成輕量化模型Ghostnet,并對Ghostnet 模型進(jìn)行優(yōu)化,使用EIoU 來消除候選框與真實框高寬比相同、大小不同所造成的高寬比影響因子失效的影響,加快模型收斂速度和回歸精度,提升模型的魯棒性?;贙ITTI 數(shù)據(jù)集和PASCAL VOC 數(shù)據(jù)集對模型的性能進(jìn)行實驗,結(jié)果表明:提出的方法能滿足目標(biāo)檢測的實時性和檢測精度要求,并有效提升網(wǎng)絡(luò)的抗光照能力,相比于原YOLOV4網(wǎng)絡(luò)模型,模型的規(guī)模下降了210.3 M,在KITTI 數(shù)據(jù)集上檢測精度提升了0.83%,F(xiàn)PS 提高了22.54 f/s;在PASCAL VOC 數(shù)據(jù)集上檢測精度提升了1.31%,F(xiàn)PS提高了17.84 f/s。
改進(jìn)后的YOLO-RLG 算法,雖然在抗光照方面有所提升,但相應(yīng)地增加了網(wǎng)絡(luò)特征提取的復(fù)雜度,如何讓網(wǎng)絡(luò)更加注重目標(biāo)特征,將會是YOLO-RLG算法未來提升的方向。