汪燕超, 胡旭曉
(浙江理工大學(xué)機(jī)械工程學(xué)院, 杭州 310018)
電動(dòng)單車(chē)是生活中常見(jiàn)的交通工具,據(jù)相關(guān)資料顯示,中國(guó)居民電動(dòng)單車(chē)擁有數(shù)已超過(guò)3 億,而大量電動(dòng)單車(chē)隨意停放的現(xiàn)象對(duì)公眾的人身和財(cái)產(chǎn)安全造成了巨大威脅[1]。
以往對(duì)于電動(dòng)單車(chē)違法停放的監(jiān)測(cè)主要依靠在場(chǎng)所附近安裝監(jiān)控并拍攝照片,而后交給監(jiān)控中心的工作人員進(jìn)行監(jiān)控和預(yù)警。 這種方法消耗了大量的人力和物力,對(duì)于電動(dòng)單車(chē)違法停放的識(shí)別準(zhǔn)確率也不高。 近年來(lái)人工智能技術(shù)快速發(fā)展,有學(xué)者提出了基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型,深度學(xué)習(xí)模型主要分為兩大類(lèi):一類(lèi)是基于候選區(qū)域的二階段目標(biāo)檢測(cè)模型,另一類(lèi)是基于回歸的一階段目標(biāo)檢測(cè)模型,兩者分別依據(jù)候選框卷積和模型回歸對(duì)目標(biāo)進(jìn)行檢測(cè),代表算法有Faster -RCNN(Faster Region with CNN feature)、SSD(Single Shot MultiBox Detector)和YOLO 系列等,但這些算法常常存在對(duì)小目標(biāo)漏檢和誤檢等問(wèn)題。
針對(duì)傳統(tǒng)檢測(cè)方法的不足,本文提出了改進(jìn)的YOLOv6 模型,在YOLOv6 模型檢測(cè)部分嵌入CBAM(Convolutional Block Attention Module)卷積注意力模塊,并引入Ghost 幻影卷積模塊,以提高模型的精確度和檢測(cè)速度。 改變外接攝像頭所拍攝電動(dòng)單車(chē)停放圖片的亮度、遮擋范圍和目標(biāo)個(gè)數(shù)等屬性制作相應(yīng)數(shù)據(jù)集,據(jù)此評(píng)估改進(jìn)后的模型的魯棒性、識(shí)別速度和精度,進(jìn)一步提升改進(jìn)后模型的性能。
YOLO 系列模型采用直接回歸的方法,與傳統(tǒng)的目標(biāo)檢測(cè)模型相比,YOLO 系列模型計(jì)算效率高,能夠方便地進(jìn)行端到端的訓(xùn)練,因此能快速地檢測(cè)出目標(biāo),在許多實(shí)際的應(yīng)用場(chǎng)景都取得了較好的效果。
YOLOv6 模型的網(wǎng)絡(luò)結(jié)構(gòu)主要由輸入端(input)、骨干網(wǎng)絡(luò)(backbone)、頸部(neck)以及輸出端(output)構(gòu)成。 YOLOv6 在輸入端采用了HSV(Hue,Saturation,Value)數(shù)據(jù)增強(qiáng)方式,將輸入端所輸入的RGB 圖片拆分成3 個(gè)通道即色度,飽和度和明度,在此基礎(chǔ)上設(shè)置Hgain 色度增值、Sgain 飽和度增值和Vgain 明度增值系數(shù),將3 個(gè)通道各自的增值系數(shù)與輸入端產(chǎn)生的范圍在-1 ~1 的3 個(gè)隨機(jī)系數(shù)相乘,加一可求得隨機(jī)的增益系數(shù),借此可重新獲得映射增強(qiáng)后的RGB 圖片,不僅可以減少原始圖像中的噪聲干擾,還避免了在圖像增強(qiáng)的過(guò)程中造成失真。
在頸部部分,YOLOv6 模型引入了重參數(shù)化的視覺(jué)幾何組結(jié)構(gòu),提出了效率更高的高效重參數(shù)化方法EffcientRep,將頸部中步長(zhǎng)為2 的卷積層替換為了步長(zhǎng)為2 的重參數(shù)化卷積層,降低了模型對(duì)內(nèi)存的占用率,并且將信號(hào)處理塊改為重參數(shù)化塊結(jié)構(gòu),加快了模型的推理速度[2]。
YOLOv6 模型在頸部部分的特征融合上同樣引入了重參數(shù)化的結(jié)構(gòu),將像素聚合網(wǎng)絡(luò)與重參數(shù)化塊兩者結(jié)合,降低了模型在硬件上的延時(shí)。 而在輸出端部分對(duì)檢測(cè)頭進(jìn)行了解耦, 基于Hybrid Channels 的策略重新設(shè)計(jì)出了一個(gè)更高效的解耦頭結(jié)構(gòu),避免了YOLOvx 在解耦頭中新增兩個(gè)額外的3×3 的卷積,降低了網(wǎng)絡(luò)運(yùn)算的復(fù)雜度,此外YOLOv6 模型還分開(kāi)了邊框回歸與類(lèi)別分類(lèi)的過(guò)程,提高了模型的性能,且由于重新定義了算法的距離損失,導(dǎo)致YOLOv6 模型加快了收斂的速度并降低了檢測(cè)頭的復(fù)雜度[3]。
YOLOv6 模型網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 YOLOv6 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 YOLOv6 network structure
(1) 在neck 結(jié)構(gòu)中將普通卷積替換為輕量級(jí)的Ghost 幻影卷積模塊,如圖2 和圖3 所示;
圖2 普通卷積Fig. 2 Ordinary convolution
傳統(tǒng)的卷積運(yùn)算為了得到較為全面信息,采用了較大的卷積核和通道數(shù)會(huì)產(chǎn)生較多相似的特征圖,假設(shè)輸入特征圖的大小為w*h*c,經(jīng)過(guò)n個(gè)卷積核,每個(gè)卷積核大小為k*k*1,根據(jù)卷積運(yùn)算規(guī)則可知總體計(jì)算量為w*h*c*k*k*n,其中h和w是輸入特征圖的長(zhǎng)度和寬度,c是輸入特征圖通道數(shù),k是采用卷積核的長(zhǎng)度和寬度,n指卷積的次數(shù)。
普通卷積過(guò)程所產(chǎn)生相似的特征圖,可以直接通過(guò)線(xiàn)性變換得到,而不需要進(jìn)行復(fù)雜的非線(xiàn)性變換得到。 于是引入了Ghost 模塊,Ghost 模塊將傳統(tǒng)的卷積模塊分成了兩個(gè)部分,第一步仍然進(jìn)行普通卷積,但減少特征圖的輸出數(shù)量,第二步在此基礎(chǔ)上進(jìn)行線(xiàn)性變換生成相似特征圖,最終所得特征圖數(shù)量與傳統(tǒng)卷積運(yùn)算一致, 其總體計(jì)算量為n/s*h*w*k*k*c+(s-1)*n/s*h*w*d*d,其中s和d分別是線(xiàn)性變換的次數(shù)以及線(xiàn)性變換過(guò)程中卷積核的大小。
由上述結(jié)論可得出傳統(tǒng)卷積運(yùn)算核與Ghost 卷積運(yùn)算所耗時(shí)間比值,式(1):
由于s是個(gè)常量,上述公式比值約為s即線(xiàn)性變換的次數(shù),故可知Ghost 卷積運(yùn)算相比與傳統(tǒng)卷積運(yùn)算減少了網(wǎng)絡(luò)模型計(jì)算量,降低了所耗時(shí)間成本。
(2)卷積注意力模塊CBAM
CBAM 模塊是一種結(jié)合了空間和通道的注意力機(jī)制模塊,常在深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)中被用于提升網(wǎng)絡(luò)特征提取的性能,與通道注意力模塊相比增加了空間的注意力模塊,因此能夠取得更好的目標(biāo)識(shí)別效果,因此能夠取得更好的目標(biāo)識(shí)別效果。 CBAM模塊具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。
圖4 CBAM 模塊網(wǎng)絡(luò)結(jié)構(gòu)Fig. 4 Network structure of CBAM module
由圖4 可知,CBAM 模塊主要由通道注意力模塊和空間注意力模塊所組成,CBAM 模塊中的通道注意力模塊與傳統(tǒng)通道注意力模塊相比采取了全局平均池化和全局最大池化,兩種不同的池化意味著提取的高層次特征更加豐富,并且平均池化和最大池化共同與多層共享感知機(jī)連接以減少學(xué)習(xí)參數(shù)。通道注意力模塊網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示。
圖5 通道注意力模塊網(wǎng)絡(luò)結(jié)構(gòu)Fig. 5 Channel attention module network structure
在通道注意力模塊中的多層共享感知機(jī)是一種3 層結(jié)構(gòu)的人工神經(jīng)網(wǎng)絡(luò),包括輸入層,輸出層和隱含層3 個(gè)部分,其中隱含層可以由多個(gè)隱層所構(gòu)成,并且多層共享感知機(jī)中層與層是全連接的,w1,w2,w3則是權(quán)重,&為偏置,X為輸入?yún)?shù),可知隱藏層輸出為w1X+&,其結(jié)構(gòu)如圖6 所示。
圖6 多層共享感知機(jī)結(jié)構(gòu)圖Fig. 6 Structure of multi-layer shared perceptron
空間注意力模塊同樣采用了最大池化和平均池化,不同的是在通道這個(gè)維度上進(jìn)行的操作,即把所有的輸入通道池化成2 個(gè)實(shí)數(shù),接著通過(guò)一個(gè)7*7的卷積核得到空間注意力矩陣,在此矩陣基礎(chǔ)上與輸入特征圖相計(jì)算可得最終的輸出特征圖,其結(jié)構(gòu)如圖7 所示。
本文采用的CBAM 注意力模塊盡可能提取所識(shí)別目標(biāo)的特征信息,忽略目標(biāo)背景等非必要信息,從而提升改進(jìn)后的網(wǎng)絡(luò)模型檢測(cè)精度。
本文對(duì)于電動(dòng)單車(chē)違法停放的現(xiàn)象標(biāo)注了在電梯和消防通道兩個(gè)場(chǎng)景下的數(shù)據(jù),并結(jié)合開(kāi)源的coco 數(shù)據(jù)制作了數(shù)據(jù)集,但由于數(shù)據(jù)格式不匹配或圖像文件損壞等問(wèn)題需要篩掉不符合要求的圖像文件,采用HSV 數(shù)據(jù)增強(qiáng)方法對(duì)所得數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,增強(qiáng)電動(dòng)單車(chē)圖像的色彩深度和對(duì)比度,經(jīng)處理后得到符合條件的圖像數(shù)據(jù)共計(jì)1 030 幅,并將所得圖像數(shù)據(jù)使用LabelImg 工具標(biāo)注。
將標(biāo)注好的數(shù)據(jù)集按8:2 的比例劃分為訓(xùn)練集和測(cè)試集,得到訓(xùn)練集圖片共計(jì)824 幅,測(cè)試集圖片206 幅。
本次實(shí)驗(yàn)在Ubuntu 22.04 操作系統(tǒng)上完成,硬件配置采用NVIDIA GFore GTX1660Ti 顯卡和Intel i5-7300H 處理器。 網(wǎng)絡(luò)模型采用pytorch1.10.2 搭建,在訓(xùn)練過(guò)程中,設(shè)置初始學(xué)習(xí)率為0.01,訓(xùn)練周期上限設(shè)置為500,批次大小設(shè)置為32,即每次參與訓(xùn)練的樣本數(shù)量。
查準(zhǔn)率(Precision) 指正確預(yù)測(cè)為正的占全部預(yù)測(cè)為正的比例,式(2):
其中,TP指的是將正例判定為正例,即將圖中消防通道和電梯等場(chǎng)所背景中的電動(dòng)單車(chē)檢測(cè)為電動(dòng)單車(chē)的樣本,而FP指的是將反例判定為正例,即將圖中消防通道和電梯等場(chǎng)所背景檢測(cè)為電動(dòng)單車(chē)的樣本。
查全率(Recall) 指即正確預(yù)測(cè)為正的占全部實(shí)際為正的比例,式(3):
其中,F(xiàn)N指的是將正例判定為反例,即將圖中消防通道和電梯等場(chǎng)所背景中的電動(dòng)單車(chē)檢測(cè)為背景。
綜合查準(zhǔn)率和查全率可得到P-R曲線(xiàn),P-R曲線(xiàn)代表了網(wǎng)絡(luò)模型的預(yù)測(cè)效果,P-R曲線(xiàn)所圍成的面積大小被稱(chēng)為AP平均精度,而針對(duì)檢測(cè)的每個(gè)目標(biāo)都有單個(gè)的平均精度AP值,由此可引入全類(lèi)平均準(zhǔn)確率mAP,即對(duì)所有的目標(biāo)類(lèi)別的AP值再次求和取平均,式(4) :
此外,工程的實(shí)時(shí)性也十分重要,因此FPS(Frames Per Second)幀率也是衡量目標(biāo)檢測(cè)算法性能的重要指標(biāo),代表了網(wǎng)絡(luò)模型每秒中圖像的檢測(cè)速度。
本文將改進(jìn)后的網(wǎng)絡(luò)模型與原YOLOv6 模型在平均準(zhǔn)確率、精確率和幀率這3 個(gè)方面進(jìn)行比較,實(shí)驗(yàn)結(jié)果如圖8,圖9 和表1 所示,改進(jìn)后的網(wǎng)絡(luò)模型準(zhǔn)確率提升了1.5 個(gè)百分點(diǎn)。
表1 實(shí)驗(yàn)結(jié)果Tab. 1 Experimental results
圖9 改進(jìn)后的YOLOv6 模型檢測(cè)結(jié)果Fig. 9 Improved YOLOv6 model detection results
本文提出了一種改進(jìn)的YOLOv6 模型用于電動(dòng)單車(chē)違法停放檢測(cè),在YOLOv6 模型的neck 部分加入Ghost 卷積模塊,并在輸入端部分嵌入CBAM 卷積注意力模塊。 相比與傳統(tǒng)的YOLOv6 模型,目標(biāo)的檢測(cè)精度和推理速度得到一定的提升,具有一定的實(shí)際應(yīng)用價(jià)值。