張海鑌,裴 斐,雷幫軍,夏 平
1.三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院,湖北 宜昌 443002
2.水電工程智能視覺(jué)監(jiān)測(cè)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 宜昌 443002
近年來(lái),隨著我國(guó)進(jìn)出口貨量大幅攀升,港口集裝箱吞吐量增長(zhǎng)迅猛,集裝箱在運(yùn)輸和交接工作中需要對(duì)箱內(nèi)貨物安全進(jìn)行識(shí)別,而鉛封就相當(dāng)于集裝箱的“鎖”,每一個(gè)鉛封都對(duì)應(yīng)著一個(gè)獨(dú)一無(wú)二的封號(hào),客戶通過(guò)集裝箱上的號(hào)碼與貨單上的編號(hào)對(duì)比,即可確認(rèn)集裝箱在運(yùn)輸過(guò)程中是否被打開過(guò),進(jìn)而得出貨物是否完好無(wú)損的結(jié)論。因此對(duì)鉛封進(jìn)行實(shí)時(shí)準(zhǔn)確的識(shí)別具有重要的應(yīng)用價(jià)值。
傳統(tǒng)的鉛封識(shí)別方法大都為人工檢測(cè),存在著主觀性強(qiáng)、人力成本高昂、效率低等問(wèn)題,已不能滿足目前集裝箱業(yè)務(wù)大幅增長(zhǎng)的需要,對(duì)集裝箱信息的識(shí)別進(jìn)行智能化和自動(dòng)化升級(jí),開發(fā)高精準(zhǔn)的鉛封識(shí)別方案成為亟須解決的問(wèn)題。
目前,深度學(xué)習(xí)在圖像識(shí)別和目標(biāo)檢測(cè)領(lǐng)域取得了出色表現(xiàn),而卷積神經(jīng)網(wǎng)絡(luò)則是深度學(xué)習(xí)最具代表性的方法之一?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)模型主要分為兩類:兩階段(two-stage)模型和單階段(one-stage)模型。前者通過(guò)各種算法生成目標(biāo)的待檢區(qū)(pegion proposal),然后通過(guò)卷積神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)進(jìn)行準(zhǔn)確分類和定位,如:R-CNN[1]、Fast R_CNN[2]、Faster R_CNN[3]、Mask RCNN[4]。one-stage 直接將目標(biāo)的定位問(wèn)題轉(zhuǎn)換為回歸問(wèn)題進(jìn)行處理,是端到端的實(shí)現(xiàn)方式,如:YOLO 系列(v1[5],v2[6],v3[7],v4[8])、SSD[9]等。ReDet[10]、oriented bounding boxes[11]以及box boundary-aware vectors[12]通過(guò)旋轉(zhuǎn)預(yù)測(cè)框和旋轉(zhuǎn)檢測(cè)器提升了小目標(biāo)檢測(cè)效果,但其只針對(duì)搖桿場(chǎng)景,針對(duì)較復(fù)雜背景的不規(guī)則小目標(biāo)效果不佳。楊杰敏等人[13]采用基于深度卷積網(wǎng)絡(luò)的相關(guān)系特征圖檢測(cè),相比R-FCN、Faster R-CNN、SSD等算法可以快速準(zhǔn)確進(jìn)行鉛封識(shí)別,但其只能解決普通集裝箱小鉛封檢測(cè),對(duì)光照、惡劣條件以及拍照角度可變等因素效果不佳。針對(duì)復(fù)雜場(chǎng)景的小目標(biāo)研究,在夜間環(huán)境下,針對(duì)荔枝等果實(shí)小目標(biāo)的檢測(cè),Liang等人[14]在YOLOv3的基礎(chǔ)上提出了一些改進(jìn)方法,通過(guò)確定荔枝果實(shí)的邊界框來(lái)確定檢測(cè)目標(biāo)的ROⅠ區(qū)域,實(shí)現(xiàn)了夜間自然環(huán)境中荔枝果實(shí)和果莖的檢測(cè)。熊俊濤等人[15]則提出了一種改進(jìn)的YOLOv3檢測(cè)算法,通過(guò)引入密集連接網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)實(shí)現(xiàn)了多層特征的復(fù)用與融合,以提高對(duì)夜間環(huán)境中柑橘小目標(biāo)的識(shí)別能力。盡管以上方法針對(duì)復(fù)雜小目標(biāo)檢測(cè),已具備一定的魯棒性和泛化能力,但在實(shí)際全天候作業(yè)的鉛封小目標(biāo)檢測(cè)中,仍面臨一些挑戰(zhàn)。鉛封的尺寸小、類型多樣,形狀也具有多變性。此外,鉛封常常受到陰影遮擋、光線強(qiáng)弱不均等因素的干擾。僅將以上小目標(biāo)檢測(cè)或與背景區(qū)分程度較高的小目標(biāo)檢測(cè)方法應(yīng)用在形狀多樣化、背景與顏色相近的鉛封小目標(biāo)檢測(cè),仍存在自適應(yīng)性不夠強(qiáng),導(dǎo)致嚴(yán)重的漏檢和誤檢問(wèn)題。
YOLOv7[16]是目前圖像識(shí)別與目標(biāo)檢測(cè)領(lǐng)域較為先進(jìn)的深度學(xué)習(xí)方法,盡管YOLOv7算法框架在常見任務(wù)場(chǎng)景(如車輛檢測(cè)和行人檢測(cè))中表現(xiàn)出色,但將它直接應(yīng)用于復(fù)雜場(chǎng)景的小目標(biāo)檢測(cè)上還是面臨著不少困難與局限:(1)與普通的任務(wù)場(chǎng)景比較,集裝箱圖像上的鉛封大多隨手掛在右箱門上把手或下把手上,僅以水平框?qū)D像中的小鉛封加以標(biāo)注,并不能很好利用復(fù)雜場(chǎng)景下的目標(biāo)與上下文信息,給小目標(biāo)檢測(cè)造成了障礙。(2)在特征提取和特征融合模塊中的E-ELAN[16]結(jié)構(gòu)雖然能增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,但其檢測(cè)鉛封小目標(biāo)的形狀與尺寸的改變敏感性不佳。(3)MPConv[16]結(jié)構(gòu)僅能用于類似于傳統(tǒng)的池化操作,但在池化時(shí)對(duì)每個(gè)位置周圍的采樣位置是無(wú)法進(jìn)行自適應(yīng)調(diào)整的,從而對(duì)于目標(biāo)形變和位置變化魯棒性較差。(4)集裝箱圖像中鉛封由于受光線強(qiáng)弱程度差異不同、與鉛封的不同色彩相似度,會(huì)形成不同的復(fù)雜背景,而因?yàn)槿狈m當(dāng)?shù)奶幚韽?fù)雜背景的注意力機(jī)制,造成在復(fù)雜背景下的鉛封會(huì)漏檢與檢測(cè)不準(zhǔn)確。(5)損失函數(shù)方面,默認(rèn)的坐標(biāo)損失在鉛封小目標(biāo)上,因?yàn)槲矬w的尺寸很小,所以相對(duì)于整張圖片來(lái)說(shuō),物體所占的像素?cái)?shù)很少,導(dǎo)致物體的位置和形狀的偏差對(duì)默認(rèn)的坐標(biāo)損失的影響顯著;分類損失函數(shù)方面,交叉熵?fù)p失針對(duì)數(shù)據(jù)集中集裝箱上鉛封距離遠(yuǎn)近不同、受光程度不同,不考慮樣本質(zhì)量的問(wèn)題,對(duì)所有樣本一視同仁,不按照樣本質(zhì)量對(duì)Loss進(jìn)行加權(quán)或調(diào)整。針對(duì)上述問(wèn)題,本文以YOLOv7為基礎(chǔ)進(jìn)行改進(jìn)。
YOLOv7是當(dāng)前較為先進(jìn)的目標(biāo)檢測(cè)算法之一,其速度和精度在每秒5幀到160幀的范圍內(nèi)都超過(guò)了大多數(shù)已知的目標(biāo)檢測(cè)算法。YOLOv7網(wǎng)絡(luò)由輸入(Ⅰnput)、骨干網(wǎng)絡(luò)(Backbone)、脖頸(Neck)、頭部(Head)這四個(gè)部分組成。輸入模塊的作用是將輸入的圖像經(jīng)過(guò)縮放處理后,滿足Backbone的輸入尺寸要求。首先,當(dāng)對(duì)圖像完成預(yù)處理、信息增強(qiáng)等操作后,圖像被輸入骨干網(wǎng)絡(luò)中,這一部分負(fù)責(zé)在經(jīng)過(guò)處理后的圖像中提取特征。接著,由Neck模塊對(duì)提取到的特征進(jìn)行融合處理,形成大、中、小三種不同尺寸的特征。最后,這些融合后的特征被送入檢測(cè)頭,進(jìn)行檢測(cè)之后得到結(jié)果輸出。
YOLOv7 網(wǎng)絡(luò)模型的骨干網(wǎng)絡(luò)部分主要由卷積、E-ELAN 模塊、MPConv 模塊構(gòu)建而成。其中,E-ELAN(extended-ELAN)模塊,在原始ELAN 的基礎(chǔ)上,改變計(jì)算塊的同時(shí)保持原ELAN 的過(guò)渡層結(jié)構(gòu),并通過(guò)expand、shuffle、merge cardinality 的思想來(lái)實(shí)現(xiàn)在不破壞原有梯度路徑的情況下增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)的能力。MPConv 卷積層在CBS 層的基礎(chǔ)上增加了Maxpool 層,構(gòu)成上下兩個(gè)分支,最后使用Concat操作對(duì)上下分支提取到的特征進(jìn)行融合,提高了網(wǎng)絡(luò)的特征提取能力。Neck 模塊中,YOLOv7 與YOLOv5 網(wǎng)絡(luò)相同,采用了傳統(tǒng)的PAFPN(path aggregation feature pyramid network)結(jié)構(gòu),使得網(wǎng)絡(luò)適用于多尺寸輸入,然后通過(guò)信息傳遞,實(shí)現(xiàn)高層特征與底層特征的融合。檢測(cè)頭部分,本文的基線YOLOv7 選用了表示大、中、小三種目標(biāo)尺寸的ⅠDetect 檢測(cè)頭,將Neck 精煉的特征信息進(jìn)行解耦,通過(guò)REP(RepVGG block)結(jié)構(gòu)對(duì)PAFPN 輸出的不同尺寸的特征進(jìn)行通道數(shù)調(diào)整,結(jié)合1×1 卷積,得出目標(biāo)物體的位置、置信度和類別的預(yù)測(cè)。
注意力機(jī)制[17](attention mechanism)是一種被廣泛應(yīng)用于圖像信息處理、語(yǔ)音辨識(shí)和自然語(yǔ)言信息處理等應(yīng)用領(lǐng)域的信息處理方式。在目標(biāo)檢測(cè)任務(wù)中,研究表明增加注意力模塊能夠一定程度上增強(qiáng)目標(biāo)網(wǎng)絡(luò)模型的表征能力,從而有效降低無(wú)效目標(biāo)的干擾,進(jìn)而提高關(guān)注目標(biāo)的檢測(cè)效果。在機(jī)器學(xué)習(xí)中,注意力機(jī)制主要分為通道注意力機(jī)制、空間注意力機(jī)制和自注意力機(jī)制。
目標(biāo)檢測(cè)網(wǎng)絡(luò)中,目標(biāo)定位依賴一個(gè)邊界框回歸模塊,而ⅠOU(intersection over union)用于評(píng)價(jià)預(yù)測(cè)框和真實(shí)框的交集和并集之比如公式(1)。通過(guò)使預(yù)測(cè)框靠近正確目標(biāo)從而提升目標(biāo)框的定位效果,ⅠoU越大說(shuō)明預(yù)測(cè)框與真實(shí)框重合程度越高,預(yù)測(cè)框質(zhì)量越高;在針對(duì)兩框不相交情況下,ⅠoU很難衡量回歸框好壞。
表1分別對(duì)GⅠoU[18]、DⅠoU[19]、EⅠoU[20]、CⅠoU[21]進(jìn)行介紹描述。
表1 不同ⅠOU的比較Table 1 Comparison of different ⅠOU
在處理單張圖片時(shí),文章采用將上下文信息直接融入目標(biāo)檢測(cè)的方法。在鉛封周邊信息標(biāo)記后,可以作為上下文信息,在網(wǎng)絡(luò)的PAFPN 結(jié)構(gòu)中進(jìn)行不同尺度下的特征信息進(jìn)行高效融合,以盡可能獲取更多的目標(biāo)信息。文獻(xiàn)[22]中提出一種基于注意力的特征交互方法,通過(guò)添加一個(gè)個(gè)的小網(wǎng)絡(luò)到常規(guī)特征提取器的每個(gè)模塊后,來(lái)獲得注意力權(quán)重,減少?zèng)_突信息。文獻(xiàn)[23]提出用不同尺寸大小的卷積核生成多尺度的特征圖,融合成具有全局信息的特征表達(dá)方式。以上改進(jìn)在一定程度上能提升檢測(cè)的精度,但通過(guò)增加網(wǎng)絡(luò)的深度寬度的方式,導(dǎo)致參數(shù)過(guò)多,產(chǎn)生計(jì)算量過(guò)大等問(wèn)題,不利于小目標(biāo)檢測(cè),無(wú)法在實(shí)際應(yīng)用中高效提升檢測(cè)效果。本文方法在不增加額外的層帶來(lái)的額外計(jì)算和內(nèi)存開銷下,網(wǎng)絡(luò)的深度并未增加,高效地提升小目標(biāo)的檢測(cè)效果。其次,對(duì)YOLOv7 模型進(jìn)行改進(jìn),包括ELAN 模塊的改進(jìn)、MPConv模塊的改進(jìn),Neck部分包括對(duì)SPPSCPC模塊、Cat 結(jié)構(gòu)的改進(jìn),使整體成為自適應(yīng)特征融合Neck結(jié)構(gòu),綜合提高復(fù)雜環(huán)境下鉛封小目標(biāo)檢測(cè)的適應(yīng)性,提升魯棒性。最后,改進(jìn)損失函數(shù),平衡高低質(zhì)量樣本對(duì)損失貢獻(xiàn)的大小,同時(shí)使模型具備更好的小目標(biāo)適應(yīng)性。
YOLOv7 模型的改進(jìn),在Backbone 部分最后一個(gè)MPConv與E-ELAN模塊嵌入可變形卷積,在Neck部分引入自注意力機(jī)制,改進(jìn)YOLOv7結(jié)構(gòu)如圖1所示。
圖1 改進(jìn)YOLOv7結(jié)構(gòu)Fig.1 Structure of improved YOLOv7
像機(jī)拍攝角度不同、鉛封自身類型不同,導(dǎo)致鉛封形狀信息丟失,鉛封的精準(zhǔn)識(shí)別產(chǎn)生極大困難,本文針對(duì)以上情況,在骨干網(wǎng)絡(luò)EALN模塊嵌入具有偏移學(xué)習(xí)能力的可變形卷積模塊,使卷積采樣可以根據(jù)鉛封圖像改變感受野形狀和尺寸,基于可變形卷積的DCBS模塊結(jié)構(gòu)如圖2所示。
圖2 基于可變形卷積的DCBS模塊Fig.2 DCBS module based on deformable convolution
傳統(tǒng)的卷積一般為規(guī)則卷積,只能實(shí)現(xiàn)對(duì)固定大小的采樣,可變形卷積(deformable convolution v2)[24]能夠使感受野隨著拍攝角度、鉛封形狀和尺寸的不同而改變,通過(guò)偏移量與局部或全局交互,具有長(zhǎng)距離建模能力,通過(guò)調(diào)指標(biāo)量mk和偏移量pk根據(jù)輸入不同進(jìn)行學(xué)習(xí)進(jìn)而變化,具備類似自適應(yīng)空間聚合能力,受“Exploring large-scale vision foundation models with deformable convolutions”[25]啟發(fā),本文采用deformable convolution v3[25]相比deformable convolution v2,引入了多組機(jī)制,增強(qiáng)算子的表達(dá)能力;同時(shí)共享了卷積權(quán)重,降低算法的復(fù)雜度,通過(guò)歸一化調(diào)制標(biāo)量,提高訓(xùn)練過(guò)程的穩(wěn)定性。在多形變的鉛封小目標(biāo)檢測(cè)任務(wù)中,目標(biāo)的尺度和形狀會(huì)發(fā)生較大變化,這會(huì)導(dǎo)致網(wǎng)絡(luò)的內(nèi)部協(xié)變量偏移問(wèn)題。如圖2 所示,本文所設(shè)計(jì)的DCBS 模塊,采用batch normalization進(jìn)行標(biāo)準(zhǔn)化,是一種對(duì)每個(gè)小批量的輸入進(jìn)行標(biāo)準(zhǔn)化的方式,使網(wǎng)絡(luò)對(duì)輸入數(shù)據(jù)中的變化更加魯棒,提高模型的泛化能力;同時(shí)減少了訓(xùn)練過(guò)程中的內(nèi)部協(xié)變量偏移問(wèn)題,使網(wǎng)絡(luò)能更容易學(xué)習(xí)到目標(biāo)的一致特征表示。DCBS 模塊中,新增了一個(gè)Silu激活函數(shù)來(lái)更好地捕捉特征之間的復(fù)雜關(guān)系,有助于提升網(wǎng)絡(luò)的表達(dá)能力和擬合能力。可變形卷積計(jì)算如公式(2)所示:
式中,X為輸入特征圖,G為group 的數(shù)量,K為第幾個(gè)調(diào)制因子,wg為每組內(nèi)共享投影權(quán)重,mgk為第g組第k個(gè)采樣點(diǎn)的歸一化后調(diào)制因子,pk為卷積核中的第k個(gè)點(diǎn),p0為輸入輸出特征圖上的p0點(diǎn),Δpgk為可變形卷積采樣點(diǎn)的偏移量。改進(jìn)后的ELAN模塊如圖3所示。
圖3 基于可變形卷積的ELAN-DeformConv模塊Fig.3 ELAN-DeformConv module based on deformable convolution
在鉛封目標(biāo)檢測(cè)時(shí),由于拍攝的鉛封尺寸往往比較小,而最大池化的作用是從輸入的特征圖中提取最顯著的特征,因此導(dǎo)致了一些信息的丟失和模糊化,影響檢測(cè)精度。嵌入可變形卷積層能夠在卷積過(guò)程中自適應(yīng)地調(diào)整感受野大小和位置,使池化時(shí)的每個(gè)位置周圍的采樣位置自適應(yīng),更好地適應(yīng)鉛封小目標(biāo)的形狀和尺寸,從而提高檢測(cè)精度,改進(jìn)后的MPConv 模塊如圖4所示。
圖4 基于可變形卷積的MPDeformConv模塊Fig.4 MPDeformConv module based on deformable convolution
注意力機(jī)制中,卷積注意力模塊多注重輸入與輸出的關(guān)系,自注意力模塊主要注重輸入之間的關(guān)系。對(duì)于集裝箱鉛封檢測(cè)模型這一具體任務(wù)而言,鉛封所處的背景由于一年四季24小時(shí)作業(yè),光照亮度不同、集裝箱顏色種類多、鉛封自身尺寸形狀不同、集裝箱大小不同、鉛封的遠(yuǎn)近不同,鉛封小目標(biāo)存在較大的位置變化和朝向角度變化,引起的復(fù)雜多變環(huán)境,對(duì)模型定位與檢測(cè)能力要求較高,在不增加模型復(fù)雜度的前提下,使網(wǎng)絡(luò)能夠自適應(yīng)地選擇更加關(guān)注鉛封,因此本文采用自注意力機(jī)制(SimAM)[26]以增強(qiáng)鉛封小目標(biāo)特征,減弱鉛封所在背景干擾,在保持高效檢測(cè)前提下,一定程度上提高鉛封檢測(cè)的精度,并通過(guò)了消融實(shí)驗(yàn)證明。SimAM 結(jié)構(gòu)如圖5所示。
圖5 SimAM注意力機(jī)制Fig.5 SimAM attention mechanism
SimAM 建立在視覺(jué)神經(jīng)科學(xué)理論基礎(chǔ)之上,具有更多信息的神經(jīng)元與其相鄰神經(jīng)元相比表現(xiàn)更加顯著,在集裝箱上的鉛封檢測(cè)任務(wù)中,這些網(wǎng)絡(luò)的神經(jīng)元往往負(fù)責(zé)提取出鉛封的關(guān)鍵特征需進(jìn)行加強(qiáng)賦予更高的權(quán)重。本文使用的特征提取骨干網(wǎng)絡(luò)由CSPDarkNet53改進(jìn)而來(lái),仍屬于深度卷積神經(jīng)網(wǎng)絡(luò),嵌入SimAM后對(duì)特征提取能力提升不大(在消融實(shí)驗(yàn)中證明了這一點(diǎn)),本文在YOLOv7 模型的Neck 網(wǎng)絡(luò)中引入了SimAM 注意力對(duì)骨干網(wǎng)絡(luò)提取出的特征進(jìn)行優(yōu)化,同時(shí)兼顧網(wǎng)絡(luò)的寬度、深度與檢測(cè)速度,在增加較少網(wǎng)絡(luò)參數(shù)的情況下來(lái)提高鉛封檢測(cè)準(zhǔn)確率,通過(guò)端到端的方式減少由鉛封與集裝箱顏色相近、光照、遠(yuǎn)近尺寸不同等背景噪聲對(duì)檢測(cè)的干擾,如公式(3)~(5)所示,SimAM 通過(guò)定義線性可分性的能力函數(shù)對(duì)每個(gè)網(wǎng)絡(luò)中的每個(gè)神經(jīng)元進(jìn)行評(píng)估,其中t為目標(biāo)神經(jīng)元,x為相鄰神經(jīng)元,λ為超參數(shù),et?能量越低表明神經(jīng)元與相鄰的區(qū)分度越高,神經(jīng)元的重要程度也越高,如式(6)所示,通過(guò)1/et?對(duì)神經(jīng)元根據(jù)重要性進(jìn)行加權(quán)。依據(jù)神經(jīng)科學(xué)理論中的能力函數(shù)評(píng)估各處特征的重要性提出的SimAM更具有可解釋性,無(wú)須引入可學(xué)習(xí)參數(shù)。
Neck中的SPPCSPC模塊的作用是提高特征提取的效率和準(zhǔn)確率。SPP層可以捕獲不同尺度和比例的物體信息,CSP 連接可以增強(qiáng)特征的表達(dá)能力和穩(wěn)定性,而Conv層可以進(jìn)一步提取特征。本文在SPPCSPC結(jié)構(gòu)中嵌入SimAM注意力機(jī)制,提高模型對(duì)不同尺度、比例、方向等變化的適應(yīng)性,從而提高檢測(cè)的準(zhǔn)確率,如圖6所示。
圖6 嵌入SimAM注意力機(jī)制的SPPCSPC模塊Fig.6 SPPCSPC module embedded with SⅠMAM attention mechanism
在Concatenate 層引入SimAM 使網(wǎng)絡(luò)更好地捕捉輸入鉛封與上下文特征中的相關(guān)性,強(qiáng)調(diào)更為關(guān)鍵的特征,使特征圖對(duì)于當(dāng)前任務(wù)更具有判別能力,降低不相關(guān)特征的干擾,從而提升模型性能,改進(jìn)后的自適應(yīng)特征融合Neck如圖7所示。
YOLOv7網(wǎng)絡(luò)中損失函數(shù)如式(7)所示:
損失函數(shù)當(dāng)中,置信度損失和分類損失均采用BCEWithLogitsLoss 函數(shù)來(lái)進(jìn)行計(jì)算,而坐標(biāo)損失則通過(guò)CⅠoU進(jìn)行計(jì)算,計(jì)算公式(8)如下:
在消融實(shí)驗(yàn)中,引入了一個(gè)可學(xué)習(xí)的超參數(shù)Alpha,這個(gè)超參數(shù)會(huì)被用于計(jì)算convex diagonal squared 和center distance squared。Alpha 的作用在于控制CⅠoU的收斂速度,Alpha=0 時(shí)CⅠoU的計(jì)算結(jié)果就是ⅠoU,隨著Alpha的增大,CⅠoU的計(jì)算結(jié)果越來(lái)越接近于CⅠoU,相比于直接使用固定的值計(jì)算Alpha 計(jì)算結(jié)果更加靈活,這種Active CⅠOU使模型具備更好的小目標(biāo)適應(yīng)性。
受到“Focal and efficient ⅠOU Loss for accurate bounding box regression”[20]啟發(fā),本文采用Focal Loss分類損失函數(shù)替換交叉熵?fù)p失,以平衡高質(zhì)量鉛封樣本和低質(zhì)量鉛封樣本對(duì)Loss貢獻(xiàn),在定位損失方面,通過(guò)改進(jìn)EⅠOU、CⅠoU代替原始CⅠoU進(jìn)行消融實(shí)驗(yàn),使模型更關(guān)注預(yù)測(cè)框與真實(shí)框的重疊度,提高損失計(jì)算的準(zhǔn)確性,同時(shí)適用對(duì)目標(biāo)形狀大小的變化性。Focal CⅠoU Loss 函數(shù)所用到的公式如式(9),其中參數(shù)λ作用為調(diào)節(jié)高低質(zhì)量樣本對(duì)Loss貢獻(xiàn)。
3.1.1 數(shù)據(jù)來(lái)源
本文的實(shí)驗(yàn)數(shù)據(jù)來(lái)源某港口4 種不同角度車道的閘口進(jìn)閘車輛上的集裝箱數(shù)據(jù)集,大集裝箱的大小為45尺;小集裝箱的大小為20尺,其中小箱相對(duì)大箱距離攝像機(jī)更遠(yuǎn),每道車道為進(jìn)入堆場(chǎng)區(qū)域的單向車道,攝像機(jī)安裝在2個(gè)車道之間用于鉛封檢測(cè)。如圖8所示,為4道不同車道拍攝到的圖片,其中圖(a)、(b)、(c)、(d)分別為車道1到車道4。
圖8 多角度車道拍攝Fig.8 Multi-angle lane shooting
設(shè)備采用??禂z像頭,24 小時(shí)小時(shí)監(jiān)控,采集3 月份、6月份、12月份不同白天晚上監(jiān)控拍攝到的圖片,圖9 為列舉的不同類型的鉛封,其中圖(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)、(k)、(l)分別為放大的圓形鉛封、圈繩狀鉛封、側(cè)向鉛封、矩形鉛封、放大的圓形鉛封、放大的倒立多邊形鉛封、放大的側(cè)向鉛封、放大的圓錐形鉛封、放大的瓶子狀鉛封、放大的圈繩狀鉛封、放大多邊形鉛封、放大圓形倒立鉛封。
圖9 不同形狀類型的鉛封Fig.9 Various shapes and types of lead seals
3.1.2 數(shù)據(jù)標(biāo)記
總計(jì)為902 張集裝箱鉛封數(shù)據(jù)集,分別為如下情況:其中有光照干擾大箱103張,有光照干擾小箱40張,有陰影遮擋大箱26張,有陰影遮擋小箱26張,白天無(wú)光照大箱數(shù)據(jù)集246張,白天無(wú)光照小箱數(shù)據(jù)集150張,晚上大箱數(shù)據(jù)集208張,晚上小箱數(shù)據(jù)集103張,見表2。
表2 實(shí)驗(yàn)訓(xùn)練驗(yàn)證數(shù)據(jù)集分布情況Table 2 Experimental training validation dataset distribution
對(duì)采集的視頻每隔2 s截取1張圖片,取出相似度過(guò)高的圖像,便于更準(zhǔn)確測(cè)試光照強(qiáng)弱干擾、與背景顏色相近、遠(yuǎn)近不同等場(chǎng)景下的檢測(cè)效果。數(shù)據(jù)集總計(jì)902幅圖像,并用LabelⅠmg標(biāo)注軟件進(jìn)行標(biāo)注。整個(gè)鉛封檢測(cè)數(shù)據(jù)集按9∶1 的比例劃分訓(xùn)練集、驗(yàn)證集,測(cè)試集為總計(jì)126張包含6種場(chǎng)景均為21張的數(shù)據(jù)圖片,實(shí)際應(yīng)用中,可采用鏡像翻轉(zhuǎn)、旋轉(zhuǎn)、縮放、平移等數(shù)據(jù)擴(kuò)增技術(shù)來(lái)增加訓(xùn)練集樣本數(shù)據(jù),也可通過(guò)推理獲取識(shí)別到的圖片,采用半監(jiān)督標(biāo)注增加樣本數(shù)據(jù)量。
本實(shí)驗(yàn)環(huán)境為:NVⅠDⅠA GeForcce RTX3090,Ubuntu18.04 操作系統(tǒng)。編程語(yǔ)言為python,cuda 為11.5,深度學(xué)習(xí)框架為pytorch為1.11.0。
訓(xùn)練時(shí)采用了YOLOv7 作者提供的YOLOv7 預(yù)訓(xùn)練權(quán)重來(lái)訓(xùn)練自己的網(wǎng)絡(luò),加快網(wǎng)絡(luò)收斂速度,batch size設(shè)置為32,訓(xùn)練1 000個(gè)epoch。
本文通過(guò)對(duì)比同樣實(shí)驗(yàn)環(huán)境下,選取P-R(準(zhǔn)確率-召回率)曲線、平均準(zhǔn)確率(average precision,AP)、平均精度均值(mean average precision)三個(gè)指標(biāo),計(jì)算公式如如下:
公式(10)中P為準(zhǔn)確率,TP表示正確預(yù)測(cè),F(xiàn)P表示錯(cuò)誤預(yù)測(cè),包括把不是鉛封的目標(biāo)檢測(cè)為鉛封和漏檢兩種情況;公式(11)中R為召回率,F(xiàn)N表示誤把鉛封檢測(cè)為其他的類別。在P-R曲線中,P-R曲線與坐標(biāo)軸圍成的面積大小等于AP值大小。對(duì)所有類別的AP取平均值得到mAP來(lái)對(duì)整個(gè)目標(biāo)檢測(cè)網(wǎng)絡(luò)模型的檢測(cè)性能進(jìn)行評(píng)價(jià),結(jié)合召回率表示漏檢程度。
在不同復(fù)雜條件下的鉛封檢測(cè)情況如圖10~15 所示,其中圖(a)、(b)、(c)分別為原YOLOv7檢測(cè)效果、結(jié)合上下文信息后的YOLOv7 檢測(cè)效果與本文算法的檢測(cè)效果。
圖10 與背景顏色相近的鉛封目標(biāo)檢測(cè)結(jié)果對(duì)比Fig.10 Comparison of detection results of lead sealed targets with similar background colors
鉛封在夏天閘口陰影遮擋下、光照過(guò)強(qiáng)、小箱上的遠(yuǎn)鉛封檢測(cè)導(dǎo)致鉛封漏檢率相對(duì)嚴(yán)重,如圖10(c)、圖11(c)、圖13(c)、圖14(c)、圖15(c),改進(jìn)后的模型依舊可以準(zhǔn)確檢測(cè)上述復(fù)雜場(chǎng)景下的鉛封目標(biāo);如圖12(b)所示,上下文信息特征融合盡管能解決部分場(chǎng)景識(shí)別問(wèn)題,但對(duì)于鉛封過(guò)遠(yuǎn)且光照干擾強(qiáng)烈情況下仍然會(huì)造成算法的漏檢,如圖12(c)所示,本文在光照強(qiáng)烈且鉛封較遠(yuǎn)的情況下,依舊能識(shí)別出鉛封。其次,鉛封顏色與背景顏色相近時(shí)也是影響鉛封檢測(cè)精度的原因之一,在實(shí)際工業(yè)應(yīng)用中,采用上下文特征融合的方式對(duì)此問(wèn)題有一定解決效果,而本文改進(jìn)后的算法,對(duì)解決該問(wèn)題效果更佳。綜上所述,改進(jìn)的YOLOv7算法對(duì)復(fù)雜場(chǎng)景中的集裝箱鉛封檢測(cè)的魯棒性更強(qiáng),這表明改進(jìn)后的網(wǎng)絡(luò)在不同光照、陰影遮擋、鉛封過(guò)遠(yuǎn)、鉛封顏色與背景顏色相近等目標(biāo)場(chǎng)景下泛化能力有所提升。但目前本文算法目前在應(yīng)對(duì)強(qiáng)烈光照干擾且同時(shí)檢測(cè)目標(biāo)過(guò)遠(yuǎn)的情況時(shí),mAP值相對(duì)較低,仍可能會(huì)存在一定程度的漏檢。
圖11 大箱在太陽(yáng)光照下的鉛封目標(biāo)檢測(cè)結(jié)果對(duì)比Fig.11 Comparison of lead seal target detection results of large boxes under sunlight
圖12 小箱在太陽(yáng)光照下的鉛封目標(biāo)檢測(cè)結(jié)果對(duì)比Fig.12 Comparison of lead seal target detection results of small boxes under sunlight
圖13 大箱在光線較暗下的鉛封目標(biāo)檢測(cè)結(jié)果對(duì)比Fig.13 Comparison of lead seal target detection results of large boxes in low light
圖14 小箱在光線較暗下的鉛封檢測(cè)結(jié)果對(duì)比Fig.14 Comparison of lead seal target detection results of small boxes in low light
圖15 小箱在白天的鉛封目標(biāo)檢測(cè)結(jié)果對(duì)比Fig.15 Comparison of lead seal target detection results of small boxes in daytime
3.4.1 消融實(shí)驗(yàn)
在實(shí)驗(yàn)過(guò)程中,確保實(shí)驗(yàn)的公平比較,除改進(jìn)部分外,控制其他訓(xùn)練參數(shù)不變,同時(shí)數(shù)據(jù)集均以640×640分辨率大小的圖像為輸入。本小節(jié)在集裝箱鉛封數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證所提模塊的有效性。以未做任何改動(dòng)的YOLOv7為基準(zhǔn)+表示模塊混合改進(jìn)。嵌入注意力機(jī)制模塊的消融實(shí)驗(yàn)結(jié)果見表3。
表3 注意力機(jī)制模塊的消融實(shí)驗(yàn)Table 3 Ablation experiment of attention mechanism module
自注意力機(jī)制模塊方面的橫向?qū)Ρ葘?shí)驗(yàn)結(jié)果顯示,SimAM 在Backbone 中效果不如Neck 的可能原因,Backbone是主要負(fù)責(zé)提取圖像特征的模塊,自注意力機(jī)制是在通道維度上操作的,可能造成在多個(gè)通道之間分配注意力而無(wú)法明確地區(qū)分哪個(gè)通道對(duì)關(guān)注的類別最為重要。加入自注意力機(jī)制對(duì)Backbone的特征提取能力提升不大。而Neck負(fù)責(zé)對(duì)Backbone提取的特征進(jìn)行進(jìn)一步加工,此時(shí)輸入特征已經(jīng)比較豐富和具有區(qū)分度,同時(shí)通道數(shù)沒(méi)有Backbone多。這種情況下,引入注意力機(jī)制會(huì)更好地捕捉特征之間的交互信息,進(jìn)一步提升特征表達(dá)能力。
針對(duì)卷積算子的改進(jìn)進(jìn)行消融實(shí)驗(yàn),以未做任何改動(dòng)的YOLOv7為基準(zhǔn)+表示模塊混合改進(jìn),對(duì)原始的ELAN與MPConv 當(dāng)中的3×3 普通卷積進(jìn)行改進(jìn)替換為可變形卷積DeformConv2、DeformConv3,實(shí)驗(yàn)結(jié)果見表4。
表4 可變形卷積模塊的消融實(shí)驗(yàn)Table 4 Ablation experiment of deformable convolution module
普通卷積替換為DeformConv2,mAP值雖有不錯(cuò)的提升,而本文嵌入的DeformConv3 相較于普通卷積,mAP 值顯著提升4.8 個(gè)百分點(diǎn),其引入的多組機(jī)制,使算子表達(dá)能力得以加強(qiáng),同時(shí)使模型可以使用更多的上下文信息;通過(guò)共享的卷積權(quán)重、歸一化調(diào)制標(biāo)量,降低了鉛封小目標(biāo)檢測(cè)算法的復(fù)雜度,同時(shí)提高了模型穩(wěn)定性,使針對(duì)鉛封小目標(biāo)檢測(cè)變得更為高效。
針對(duì)損失函數(shù)模塊的改進(jìn)進(jìn)行消融實(shí)驗(yàn),以未做任何改動(dòng)的YOLOv7為基準(zhǔn),對(duì)EⅠoU、原始定位損失函數(shù)CⅠoU均進(jìn)行改進(jìn)實(shí)驗(yàn),分類損失函數(shù)方面,采用了Focal Loss分類損失函數(shù)替換交叉熵?fù)p失,實(shí)驗(yàn)結(jié)果見表5。
表5 損失函數(shù)模塊的消融實(shí)驗(yàn)Table 5 Ablation experiment of loss function module
損失函數(shù)方面的橫向?qū)Ρ葘?shí)驗(yàn)結(jié)果顯示,定位損失方面,改進(jìn)后的Active CⅠoU相比于直接使用原始CⅠoU中固定的值計(jì)算Alpha計(jì)算結(jié)果更加靈活,mAP值結(jié)果提升了1個(gè)百分點(diǎn),使模型具備更好的小目標(biāo)適應(yīng)性。
分類損失函數(shù)方面,改進(jìn)后Focal Loss相比原先交叉熵?fù)p失,優(yōu)化了因沒(méi)有較好的機(jī)制處理集裝箱上鉛封距離遠(yuǎn)近不同、受光程度不同導(dǎo)致高質(zhì)量鉛封樣本和低質(zhì)量鉛封樣本對(duì)Loss 貢獻(xiàn)不平衡問(wèn)題。結(jié)合定位損失Focal Active CⅠoU,相較原先的YOLOv7,mAP 值結(jié)果提升了1.5個(gè)百分點(diǎn)。
綜合消融實(shí)驗(yàn)結(jié)果如表6所示,本文算法采用的融合上下文信息+脖頸部分引入注意力機(jī)制+Focal+Active CⅠoU+DeformConv3 相比初始YOLOv7、+注意力機(jī)制、+上下文信息+脖頸部分引入注意力機(jī)制、+上下文信息+在脖頸部分引入注意力機(jī)制+Focal+Active CioU,mAP 值分別提升了20.2、19.1、7.6、5.5 個(gè)百分點(diǎn)。綜合而言,本文算法采用了融合上下文信息+脖頸部分引入注意力機(jī)制+Focal+Active CⅠoU+DeformConv3 的組合改進(jìn)效果最佳,其在集裝箱鉛封小目標(biāo)在復(fù)雜場(chǎng)景下的檢測(cè)效果比其他組合更好,尤其相比基線YOLOv7只對(duì)鉛封進(jìn)行檢測(cè)mAP 值顯著提升了20.2 個(gè)百分點(diǎn),漏檢率降低了15.8個(gè)百分點(diǎn)。
表6 不同模塊的綜合消融實(shí)驗(yàn)Table 6 Comprehensive ablation experiments of different modules
3.4.2 對(duì)比實(shí)驗(yàn)
為驗(yàn)證本文所提出方法的有效性與先進(jìn)性,在同一實(shí)驗(yàn)環(huán)境下設(shè)計(jì)了一實(shí)驗(yàn),對(duì)比文獻(xiàn)[3]的Faster R-CNN、文獻(xiàn)[9]的SSD、文獻(xiàn)[16]的YOLOv7 檢測(cè)算法與鉛封小目標(biāo)檢測(cè)算法,以及文獻(xiàn)[13]基于深度卷積網(wǎng)絡(luò)相關(guān)性特征圖檢測(cè),對(duì)比結(jié)果見表7。
表7 不同的鉛封小目標(biāo)檢測(cè)算法的性能比較Table 7 Performance comparison of different lead sealed small target detection algorithms
由表7可知,SSD、Faster R-CNN、YOLOv5、YOLOv7的mAP分別為0.470、0.533、0.595、0.614,說(shuō)明這四種檢測(cè)方法在一定程度上能夠處理噪點(diǎn)干擾問(wèn)題,但其召回率與平均準(zhǔn)確率仍較低,魯棒性較差。楊杰敏等人[13]提出的采用基于深度卷積網(wǎng)絡(luò)的相關(guān)性特征圖鉛封小目標(biāo)檢測(cè),相比Faster R-CNN、SSD 等算法可以快速準(zhǔn)確進(jìn)行鉛封識(shí)別,但只研究了港口較好場(chǎng)景下的集裝箱小鉛封檢測(cè),對(duì)數(shù)據(jù)集存在光照、惡劣條件以及拍照角度變動(dòng)等因素效果不佳。本文改進(jìn)后的YOLOv7 網(wǎng)絡(luò)模型準(zhǔn)確性和魯棒性均優(yōu)于其他目標(biāo)檢測(cè)網(wǎng)絡(luò)。這是因?yàn)楸疚牡臋z測(cè)網(wǎng)絡(luò)在處理不同場(chǎng)景時(shí),如:光照變化場(chǎng)景圖11(c)、圖12(c);陰影遮擋場(chǎng)景圖13(c);遠(yuǎn)鉛封小目標(biāo)圖14(c)、圖15(c);檢測(cè)目標(biāo)與背景顏色相近圖10(c),針對(duì)上述情況,通過(guò)上下文信息特征融合方式,嵌入注意力機(jī)制和替換卷積操作,對(duì)損失函數(shù)進(jìn)行優(yōu)化,極大提高模型的魯棒性,減少了鉛封檢測(cè)漏檢情況,且不需要控制特定的環(huán)境,速度和精度基本達(dá)到實(shí)際集裝箱港口的鉛封檢測(cè)要求。
本文提出并實(shí)現(xiàn)了一種改進(jìn)的YOLOv7 復(fù)雜環(huán)境下鉛封小目標(biāo)檢測(cè)算法。該算法針對(duì)復(fù)雜場(chǎng)景下的鉛封小目標(biāo)檢測(cè)問(wèn)題,首先采用一種將上下文信息直接融入目標(biāo)檢測(cè)任務(wù)的方法,結(jié)合PAFPN 結(jié)構(gòu)進(jìn)行不同尺度的特征信息融合,提高辨別準(zhǔn)確度;其次,針對(duì)小鉛封特征在訓(xùn)練過(guò)程中出現(xiàn)消失的問(wèn)題,在骨干網(wǎng)絡(luò)嵌入可變形卷積模塊,適應(yīng)形狀大小不同輸入的鉛封特征圖,在特征融合時(shí)保證更多淺層語(yǔ)義信息的特征圖被送入分類網(wǎng)絡(luò),增加模型復(fù)雜場(chǎng)景下的學(xué)習(xí)能力;同時(shí),在Neck 部分融入自注意力機(jī)制,自適應(yīng)地選擇輸入中的重要信息,提高在復(fù)雜多變背景下模型表現(xiàn)能力;最后,針對(duì)數(shù)據(jù)集中集裝箱上遠(yuǎn)近鉛封的樣本質(zhì)量不同,采用Focal Loss分類損失函數(shù)替換交叉熵?fù)p失,平衡高質(zhì)量樣本和低質(zhì)量樣本對(duì)Loss 貢獻(xiàn),引入可學(xué)習(xí)的超參數(shù)Active CⅠoU Loss 定位損失,控制模型收斂速度,使模型更關(guān)注預(yù)測(cè)框與真實(shí)框的重疊度,提高損失計(jì)算的準(zhǔn)確性,綜合提高模型針對(duì)復(fù)雜場(chǎng)景下鉛封小目標(biāo)檢測(cè)的自適應(yīng)能力及提升了模型的魯棒性。消融實(shí)驗(yàn)結(jié)果表明,與原YOLOv7算法相比,改進(jìn)后的算法模型mAP可達(dá)81.6%,提高了20.2 個(gè)百分點(diǎn)。對(duì)比實(shí)驗(yàn)結(jié)果表明,與YOLOv5、Faster R-CNN、SSD鉛封識(shí)別算法相比,本算法檢測(cè)效果均優(yōu)于其他經(jīng)典目標(biāo)檢測(cè)網(wǎng)絡(luò)。在鉛封較遠(yuǎn)、光照不良以及與背景顏色相近等復(fù)雜場(chǎng)景,本文提出的改進(jìn)的YOLOv7算法減少了鉛封漏檢的情況,具備較好的準(zhǔn)確性和魯棒性;在時(shí)間性能上,平均每張圖像的識(shí)別時(shí)間為0.058 s,符合實(shí)際集裝箱港口鉛封檢測(cè)的實(shí)時(shí)性要求,在強(qiáng)烈光照干擾且同時(shí)待檢測(cè)的小目標(biāo)拍攝距離過(guò)遠(yuǎn)時(shí)的情況下的鉛封小目標(biāo)檢測(cè)精度相對(duì)較低,后續(xù)將進(jìn)一步探索。