李昊霖,徐凌樺,張 航
(貴州大學(xué) 電氣工程學(xué)院,貴州 貴陽 550025)
近年來,目標(biāo)檢測技術(shù)與各類監(jiān)控攝像頭結(jié)合實(shí)現(xiàn)自動監(jiān)測的應(yīng)用研究越來越廣泛[1,2];譚暑秋等[3]基于改進(jìn)YOLOv3算法對教室監(jiān)控下學(xué)生的異常行為進(jìn)行檢測,提升精度的同時,滿足實(shí)時檢測要求;Lu[4]將深度學(xué)習(xí)技術(shù)應(yīng)用于交通道路監(jiān)控視頻中的車輛識別,識別效果提升顯著;李明等[5]提出一類改進(jìn)YOLO-tiny算法對礦井閘板閥開度進(jìn)行檢測,避免了傳統(tǒng)傳感器監(jiān)測布線困難、成本高昂等問題;忻超[6]設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對監(jiān)控下機(jī)房設(shè)備狀態(tài)進(jìn)行實(shí)時監(jiān)測,提高了工作效率,但網(wǎng)絡(luò)層數(shù)較低,難以應(yīng)對復(fù)雜場景下對象的檢測。Rashmi等[7]從實(shí)驗(yàn)室的監(jiān)控視頻中提取靜態(tài)圖像,利用改進(jìn)算法對學(xué)生在實(shí)驗(yàn)課程中的行為進(jìn)行識別和定位,達(dá)到監(jiān)督學(xué)習(xí)、改善教學(xué)環(huán)境的目的,但沒有針對實(shí)驗(yàn)設(shè)備展開研究。
實(shí)驗(yàn)室設(shè)備是高校培養(yǎng)人才的重要教育資源,需要有效的維護(hù)監(jiān)管,結(jié)合上述研究發(fā)展,考慮將目標(biāo)檢測算法與監(jiān)控攝像頭結(jié)合,實(shí)現(xiàn)實(shí)驗(yàn)室設(shè)備的自動實(shí)時監(jiān)測,提高管理效率,保障設(shè)備財產(chǎn)安全。本文主要研究實(shí)驗(yàn)室監(jiān)控下設(shè)備的檢測問題,與常規(guī)應(yīng)用中檢測對象尺度分布較為均勻的情況不同,實(shí)驗(yàn)室設(shè)備位置及大小均基本固定,尺度分布并不均勻。因此本文以深度學(xué)習(xí)模型YOLOv4[8]為框架,通過改進(jìn)先驗(yàn)框的聚類算法來解決尺度分布不均勻帶來的問題,并在主干網(wǎng)絡(luò)中引入了ECA(efficient channel attention)通道注意力模塊[9]和改進(jìn)FPG(feature pyramid grids)特征融合網(wǎng)格結(jié)構(gòu)[10],提高檢測精度,實(shí)現(xiàn)對實(shí)驗(yàn)室設(shè)備的有效檢測。
相較于上一個版本YOLOv3[11],YOLOv4最顯著的改進(jìn)在于引入殘差結(jié)構(gòu)的CSPDarknet53主干網(wǎng)絡(luò)和改進(jìn)PANet[12]的頸部特征金字塔結(jié)構(gòu),該結(jié)構(gòu)先自頂向下傳遞強(qiáng)語義特征,再由自底向上的特征金字塔傳遞強(qiáng)定位特征,進(jìn)一步提高了網(wǎng)絡(luò)的特征提取與融合能力。CSP結(jié)構(gòu)是將原來殘差塊的堆疊拆分成左右兩個部分:第一部分只經(jīng)過少量處理;第二部分繼續(xù)原來的殘差塊堆疊后,再與第一部分的輸出相加,圖1為其結(jié)構(gòu)示意圖。YOLOv4是目標(biāo)檢測中最高效的模型之一,融合了系列改進(jìn)及訓(xùn)練技巧,在COCO數(shù)據(jù)集上的mAP相較于YOLOv3有非常顯著的提升,同時保持了優(yōu)異的速度性能。
圖1 CSP殘差結(jié)構(gòu)
對于YOLO這一類Anchors based、多輸出層算法,先驗(yàn)框的選取至關(guān)重要,目前各種算法的性能評價一般在COCO數(shù)據(jù)集上測試,該數(shù)據(jù)集圖像接近真實(shí)生活場景,物體大小整體分布較為均勻,而在實(shí)際應(yīng)用中,部分場景下檢測對象的尺度大小分布并不均勻,使得目前常用的基于K-means聚類算法獲取先驗(yàn)框的方法有一定局限性,部分網(wǎng)絡(luò)分支得不到很好的訓(xùn)練,浪費(fèi)網(wǎng)絡(luò),Hurtik等[13]設(shè)計的高速路攝像頭檢測車牌的實(shí)驗(yàn)中也驗(yàn)證了這種情況的存在。
K-means聚類算法原理簡單、聚類效果較好,易于實(shí)現(xiàn),因此被應(yīng)用于YOLO系列算法數(shù)據(jù)集先驗(yàn)框的聚類,但該算法存在以下兩點(diǎn)問題:
一是聚類結(jié)果受到初始聚類中心的影響較大[14],且初始聚類中心是隨機(jī)產(chǎn)生的,因此本文擬使用K-means++算法進(jìn)行先驗(yàn)框的聚類。K-means++的特點(diǎn)在其初始聚類中心點(diǎn)的選取上,優(yōu)先選取距離已有中心點(diǎn)最遠(yuǎn)的點(diǎn)作為下一個初始類簇的中心點(diǎn),確定初始中心點(diǎn)后再進(jìn)行標(biāo)準(zhǔn)K-means算法聚類。
二是在檢測對象尺度分布不均勻時,K-means聚類的先驗(yàn)框會使得大小相近的物體被強(qiáng)制分配到不同檢測頭,從而影響檢測精度[13]。在本文實(shí)驗(yàn)室場景下,各類設(shè)備的標(biāo)注框大小只有幾類特定尺度,而K-means算法在聚類樣本滿足以下分布時才有較好的聚類效果
A~u(0,r)
(1)
式中: A={a1,a2,…,an}, 表示一組先驗(yàn)框,在YOLOv4中,n=9;r為輸入圖像的分辨率;u(0,r) 表示物體大小為0~r之間均勻分布。
YOLOv4的9個先驗(yàn)框在檢測頭中分為了3組,分別用于檢測小、中、大物體,而在計算機(jī)實(shí)驗(yàn)室場景下,設(shè)備先驗(yàn)框大小并不滿足式(1)的分布,因此在使用時會造成尺度大小非常接近的物體被強(qiáng)制分配到不同層進(jìn)行檢測,即大物體可能被分配到中等物體檢測頭、小物體也被分配到中等物體檢測頭,使得其余兩個檢測頭得不到有效訓(xùn)練。
(2)
式中:j=1,2,…,m,m為數(shù)據(jù)集中所有類標(biāo)注框的總和;Diag(j) 為所有標(biāo)注框?qū)?yīng)的對角線長度,表示框的大小。
設(shè)定3個聚類中心,利用K-means++算法對Diag(j) 聚類,分別得到小、中、大框的聚類中心C0={C1,C2,C3}, 再計算得到閾值Th
(3)
圖2為IK-means++算法流程圖,通過IK-means++聚類算法對實(shí)驗(yàn)室設(shè)備圖像數(shù)據(jù)集的標(biāo)注框進(jìn)行聚類,得到先驗(yàn)框,效果較K-means和K-means++算法均有所提升,對比結(jié)果在后續(xù)章節(jié)給出。
圖2 IK-means++算法聚類流程
為了進(jìn)一步提高設(shè)備檢測模型的精度,在主干網(wǎng)絡(luò)中引入通道注意力機(jī)制;注意力機(jī)制借鑒了人類觀察事物時,會傾向于有選擇性地專注于其中一部分關(guān)鍵信息中的機(jī)制[15]。注意力機(jī)制可以有效提高深度學(xué)習(xí)模型的感知信息的效率和準(zhǔn)確性。
ECA是目前注意力機(jī)制方向較新的研究成果,是在SE-Net[16]分組卷積的基礎(chǔ)上,針對其降維操作會給通道注意力預(yù)測帶來副作用的問題,提出的一種不需要進(jìn)行降維、捕獲了跨通道交互且輕量級的高效通道注意力模塊,其結(jié)構(gòu)如圖3所示;ECA模塊用W{k} 來表示學(xué)習(xí)到的通道注意力
圖3 ECA模塊結(jié)構(gòu)
(4)
W{k} 共涉及k*C個參數(shù),k為卷積核大小,C為輸入特征圖的通道數(shù),對于yi的權(quán)重,只考慮yi和它k個鄰居之間的信息交互,且所有通道共享權(quán)重信息,即
(5)
YOLOv4的主干網(wǎng)絡(luò)由多個不同深度的CSP殘差結(jié)構(gòu)組成,在其中引入ECA通道注意力模塊,可以有效提高主干網(wǎng)絡(luò)的特征提取及信息感知能力,圖4為改進(jìn)的ICSP-Darknet53的殘差塊堆疊部分結(jié)構(gòu)圖。
圖4 引入ECA模塊的ICSP殘差堆疊部分結(jié)構(gòu)
不同尺度特征的融合是目標(biāo)檢測中提高模型性能的一個重要手段。不同尺度的特征圖對原始圖像特征的表達(dá)能力不同,淺層特征經(jīng)過的卷積較少,噪聲較多,語義信息低,但特征分辨率高,包含的位置、細(xì)節(jié)信息更多;而深層特征有更強(qiáng)的語義信息,但是特征分辨率低,對細(xì)節(jié)信息的表征能力較差,因此如何將兩者有機(jī)融合,取長補(bǔ)短,是改善模型性能的關(guān)鍵。特征融合結(jié)構(gòu)的發(fā)展從FPN特征金字塔[17]的提出到PANet創(chuàng)建自下而上的路徑增強(qiáng),再到ASFF[18]提出的自適應(yīng)特征融合策略和Bi-FPN[19]在可學(xué)習(xí)參數(shù)的自適應(yīng)加權(quán)融合基礎(chǔ)上,增加跨層連接,使多個特征融合模塊重復(fù)堆疊,進(jìn)一步增強(qiáng)信息的融合,都逐步突出了深度特征金字塔的優(yōu)異性能。
FPG是2020年4月提出的一種深層多路徑特征金字塔,它將特征尺度空間表示為平行的多向橫向連接的網(wǎng)格,實(shí)驗(yàn)結(jié)果表明了這種平行網(wǎng)格有效性,在提升速度和精度的基礎(chǔ)上,也降低了模型的復(fù)雜度,其網(wǎng)格結(jié)構(gòu)如圖5所示;但過于深層的結(jié)構(gòu)對模型性能的提升并不明顯,因此本文在FPG的基礎(chǔ)上,對網(wǎng)格結(jié)構(gòu)進(jìn)行簡化,并結(jié)合YOLOv4的主干網(wǎng)絡(luò)和檢測頭,提出了一種階梯狀特征融合網(wǎng)格結(jié)構(gòu)L-FPG (Ladder-FPG, L-FPG),以加強(qiáng)檢測模型對實(shí)驗(yàn)室設(shè)備特征的融合能力。
圖5 原FPG網(wǎng)絡(luò)結(jié)構(gòu)
原網(wǎng)格結(jié)構(gòu)中有9層,5個特征輸出,較為復(fù)雜,不利于與YOLOv4檢測頭結(jié)合及后續(xù)模型的輕量化研究;因此改進(jìn)簡化后的L-FPG網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示,保留了原結(jié)構(gòu)中的橫向、向上、向下和不同層間的跳躍連接,中間層特征都由臨近的4個特征相加得到,使得不同尺度的特征得到了有效融合,最終3個特征輸出直接連接到Y(jié)OLO檢測頭,整體呈階梯狀。
圖6 改進(jìn)的L-FPG網(wǎng)絡(luò)結(jié)構(gòu)
圖6中各向連接具體操作如下:
表1 訓(xùn)練集中各類別數(shù)量統(tǒng)計結(jié)果
在訓(xùn)練網(wǎng)絡(luò)模型前,需對數(shù)據(jù)集按圖2流程聚類得到9個先驗(yàn)框,根據(jù)式(2)對數(shù)據(jù)集標(biāo)注框大小的定義,計算得到式(3)的閾值,將數(shù)據(jù)集按標(biāo)注框大小劃分為小、中、大框3個區(qū)間,如圖7所示,圖(a)為數(shù)據(jù)集標(biāo)注框整體的分布散點(diǎn)圖,可以看到整體分布并不均勻,且呈現(xiàn)非球狀分布,這也是K-means算法聚類效果不佳的主要原因;圖(b)~圖(d)分別為數(shù)據(jù)集標(biāo)注框按大小劃分區(qū)間的尺寸分布散點(diǎn)圖。
圖7 數(shù)據(jù)集標(biāo)注框按大小劃分區(qū)間結(jié)果
根據(jù)區(qū)間劃分結(jié)果,再分別進(jìn)行K-mean++聚類,各得到3個聚類中心,以小框區(qū)間的聚類過程為例進(jìn)行說明,迭代過程可視化如圖8所示。
圖8 先驗(yàn)框聚類過程可視化
首先,根據(jù)初始聚類中心之間距離越遠(yuǎn)被選擇概率越高的思想,選擇3個初始聚類中心,如圖8(a)所示;然后計算所有點(diǎn)與聚類中心的距離,每個點(diǎn)將歸屬到距離最近的中心類簇,再計算每個類簇下的中位數(shù),以更新聚類中心,并循環(huán)迭代直至中心點(diǎn)與上一次中心點(diǎn)一致,圖8(b)、圖8(c)為部分迭代過程;最后,當(dāng)聚類中心不再發(fā)生變化時,得到最終聚類結(jié)果,如圖8(d)所示。
中框和大框的聚類過程與此類似,由此可得到最終9組先驗(yàn)框聚類結(jié)果為:[13,29]、[20,44]、[33,29];[103,37]、[40,101]、[82,79];[55,161]、[91,146]、[141,105],兩道閾值分別為90.3、224.2。
以Avg IOU[20]為評價指標(biāo)評估IK-means++算法,假設(shè)先驗(yàn)框a=(aw,ah),box=(bw,bh), 則有
(6)
按式(6)計算每個先驗(yàn)框與對應(yīng)區(qū)間內(nèi)所有標(biāo)注框的IOU,再得到Avg IOU的同時與K-means和K-means++算法聚類結(jié)果對比,結(jié)果見表2。
表2 先驗(yàn)框聚類算法結(jié)果對比
其中IK-means++算法在劃分的小、中、大框區(qū)間內(nèi)的聚類結(jié)果見表3。結(jié)果表明,改進(jìn)的IK-means++算法在檢測目標(biāo)尺度分布不均勻的數(shù)據(jù)集中,相較于常用的K-means以及K-means++的聚類結(jié)果均有明顯的提升。
表3 IK-means++各區(qū)間聚類結(jié)果
本文在主干網(wǎng)絡(luò)的CSP殘差結(jié)構(gòu)中引入了ECA通道注意力模塊,提出改進(jìn)的L-FPG特征融合網(wǎng)格,替換原PANet,同時去掉了原網(wǎng)絡(luò)中的SPP結(jié)構(gòu),輸入圖像分辨率為416×416;圖9為完整網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖9 改進(jìn)YOLOv4的整體網(wǎng)絡(luò)結(jié)構(gòu)
本文實(shí)驗(yàn)平臺為并行超算云平臺的GPU服務(wù)器,主機(jī)配置為Gold 61系列v5@2.5 GHz,GPU為32 GB的NVIDIA?Tesla?V100,操作系統(tǒng)為CentOS7;采用Python平臺的PyTorch深度學(xué)習(xí)庫構(gòu)建網(wǎng)絡(luò)模型,訓(xùn)練時超參數(shù)設(shè)置如下:訓(xùn)練的epochs設(shè)置為100;batch size設(shè)置為64,初始學(xué)習(xí)率為0.001。
在訓(xùn)練集上訓(xùn)練圖9網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練的損失函數(shù)值如圖10所示,模型從20 epoch開始逐漸收斂。結(jié)果表明:在同樣預(yù)訓(xùn)練模型基礎(chǔ)上,本文改進(jìn)的YOLOv4收斂速度更快,最終的損失值更低,穩(wěn)定在2.1左右。
圖10 損失函數(shù)值隨迭代次數(shù)的變化曲線
模型訓(xùn)練完成后,在測試集上與原YOLOv4算法進(jìn)行對比,采用目標(biāo)檢測領(lǐng)域常用的mAP作為評價指標(biāo),計算公式如式(7)所示
(7)
式中:N表示N類檢測目標(biāo),本文中共3類,即N=3;APi為3類檢測目標(biāo)對應(yīng)的AP值。
模型的mAP對比結(jié)果見表4,結(jié)果表明,本文改進(jìn)的網(wǎng)絡(luò)模型與原YOLOv4相比mAP提高了3.65個百分點(diǎn),同時由于改進(jìn)YOLOv4算法的L-FPG網(wǎng)格中大量使用的是1*1卷積核,使得浮點(diǎn)運(yùn)算數(shù)減少了25.1%,參數(shù)量下降了43.1%,F(xiàn)PS也提升了6.8幀。
表4 實(shí)驗(yàn)對比數(shù)據(jù)
由于實(shí)驗(yàn)室內(nèi)不同時段光線不同,拍攝的圖片亮度也不同,為了比較網(wǎng)絡(luò)模型在不同光線環(huán)境下的檢測性能,設(shè)計光線環(huán)境對比實(shí)驗(yàn),分別取白天和傍晚拍攝的圖片作實(shí)際檢測對比,如圖11所示,用不同顏色的矩形框表示不同設(shè)備類別;圖11(a)為明亮場景原YOLOv4算法的檢測結(jié)果,圖11(b)為明亮場景改進(jìn)YOLOv4算法的檢測結(jié)果;圖11(c)和圖11(d)分為傍晚昏暗場景對應(yīng)的檢測結(jié)果;通過統(tǒng)計各個類別的準(zhǔn)確率和誤檢率,可以更直觀地比較網(wǎng)絡(luò)模型性能,統(tǒng)計結(jié)果見表5、表6。
圖11 不同光線環(huán)境下檢測效果對比
表5 原YOLOv4不同光照場景下檢測結(jié)果對比
表6 改進(jìn)YOLOv4不同光照場景下檢測結(jié)果對比
由表5、表6對比結(jié)果可以發(fā)現(xiàn),整體而言,共33個設(shè)備中,本文改進(jìn)的YOLOv4算法在明亮和昏暗場景下的準(zhǔn)確率都要更高,誤檢率更低,在昏暗環(huán)境下,整體檢測結(jié)果與明亮環(huán)境相差不大,但置信度有所降低;而原YOLOv4算法在昏暗環(huán)境下檢測效果下降明顯,主要體現(xiàn)在對keyboard的識別率降低,并且將左上方的筆記本電腦檢測為displayer,存在誤檢。對比結(jié)果表明本文改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)面對不同光照環(huán)境條件的表現(xiàn)更穩(wěn)定。
消融實(shí)驗(yàn)是深度學(xué)習(xí)領(lǐng)域常用的實(shí)驗(yàn)方法,用來分析不同的網(wǎng)絡(luò)分支對整個模型的影響[21]。為了進(jìn)一步分析本文提出的IK-means++先驗(yàn)框聚類算法和ECA通道注意力模塊以及改進(jìn)的L-FPG特征融合網(wǎng)格對網(wǎng)絡(luò)模型檢測性能的影響,設(shè)計了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果對比見表7。
表7 消融實(shí)驗(yàn)中mAP結(jié)果對比
第1組為原YOLOv4算法檢測結(jié)果,第2、第3、第4組分別為單獨(dú)使用其中一種改進(jìn)方法,相較于第一組,mAP分別提升了1.62、0.79、1.15個百分點(diǎn),提升最大的是IK-means++先驗(yàn)框聚類算法,這是由于K-means算法適用于聚類對象分布均勻的情況,而本文計算機(jī)實(shí)驗(yàn)室場景下,電腦設(shè)備尺度分布并不均勻;IK-means++算法在K-means++優(yōu)化了初始聚類中心選擇的基礎(chǔ)上,強(qiáng)制劃分區(qū)間再進(jìn)行聚類,減小了初始聚類中心選擇的隨機(jī)性和大小接近的物體被強(qiáng)制分配到不同檢測頭的情況,因此先驗(yàn)框聚類的結(jié)果表現(xiàn)更好,對模型檢測精度的貢獻(xiàn)也最大,這也說明先驗(yàn)框的選擇對于模型的影響較為顯著。
第5組~第7組分別為3種改進(jìn)點(diǎn)的兩兩組合,均在一定程度上提升了檢測精度,第8組為本文3種改進(jìn)思路的結(jié)合,也是檢測效果最好的一組,相較于第1組原算法,mAP提升了3.65個百分點(diǎn)。
針對實(shí)驗(yàn)室場景的設(shè)備檢測,本文提出一種改進(jìn)的YOLOv4算法,并以本校計算機(jī)實(shí)驗(yàn)室為研究對象,首先,提出了一種將數(shù)據(jù)集標(biāo)注框按大小分布強(qiáng)制劃分區(qū)間,再分別進(jìn)行先驗(yàn)框聚類的IK-means++算法;其次,在主干網(wǎng)絡(luò)的CSP殘差結(jié)構(gòu)中引入了ECA通道注意力模塊,并提出了一種改進(jìn)的階梯狀特征融合網(wǎng)格L-FPG。實(shí)驗(yàn)結(jié)果表明,本文提出的IK-means++算法對先驗(yàn)框的聚類效果要優(yōu)于K-means和K-means++;同時ECA模塊與L-FPG特征融合網(wǎng)格的引入,在降低了模型復(fù)雜度的基礎(chǔ)上,F(xiàn)PS和mAP均得到提升,顯著提高了YOLOv4算法在計算機(jī)實(shí)驗(yàn)室設(shè)備檢測上的綜合性能。在后續(xù)工作中,將主要研究如何進(jìn)一步提高檢測精度,且在不損失精度的同時對模型進(jìn)行枝剪、輕量化,將模型實(shí)際部署到移動設(shè)備或嵌入式設(shè)備,同時分別以其它各類實(shí)驗(yàn)室為研究對象,增強(qiáng)適用性研究。