崔海朋,姜英昌
(青島杰瑞工控技術(shù)有限公司,山東青島 266000)
海上小目標(biāo)重識(shí)別是指在跨攝像頭跨場(chǎng)景下小型漁船等目標(biāo)的識(shí)別與檢索,即給定一個(gè)要查詢的目標(biāo),確定這個(gè)目標(biāo)是否在不同的時(shí)間出現(xiàn)在另一個(gè)地方,由不同的攝像頭捕捉到。在貨港非作業(yè)船只監(jiān)控、漁港越界捕撈等領(lǐng)域有著廣闊的應(yīng)用前景。
傳統(tǒng)的目標(biāo)重識(shí)別方法利用手工設(shè)計(jì)的圖像特征,如KISSME[1]、XQDA[2]、ACF[3]等,然而基于手工設(shè)計(jì)的特征表示有限,難以滿足復(fù)雜場(chǎng)景下的目標(biāo)重識(shí)別要求,難以獲取令人滿意的結(jié)果。近年來(lái),隨著卷積神經(jīng)網(wǎng)絡(luò)的蓬勃發(fā)展,基于深度學(xué)習(xí)的目標(biāo)重識(shí)別方法增進(jìn)了表征信息的提取,促進(jìn)了度量學(xué)習(xí)方法的革新,提升了在各個(gè)數(shù)據(jù)集上的檢索性能。自Yi等[4]首次應(yīng)用深度神經(jīng)網(wǎng)絡(luò)解決ReID任務(wù)以來(lái),接著已有無(wú)數(shù)方法(2017年Zhang等[5];2020年Lawen等[6];2018年Sun等[7];2017年Zhu等[8];2018年Fu等[9])及其他方法相繼出現(xiàn),然而,由于在現(xiàn)實(shí)場(chǎng)景中,常常存在光照、攝像機(jī)視角、復(fù)雜背景以及目標(biāo)部分遮擋等多種因素的存在,往往會(huì)導(dǎo)致目標(biāo)的檢索性能大幅度下降,無(wú)法準(zhǔn)確地識(shí)別目標(biāo)。現(xiàn)有的一些重識(shí)別方法通過(guò)各種形式的卷積神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)區(qū)分嵌入和相似性度量[10-11]。但是這些模型只提取全局特征,未能很好地解決較大的類內(nèi)差異,常導(dǎo)致檢索性能大幅下降,比那些采用細(xì)節(jié)和局部特征的模型效率要低[12]。人們已經(jīng)開發(fā)了一部分嵌入局部信息的深度學(xué)習(xí)模型[13-15],通過(guò)提取和比較行人的局部特征,試圖解決由各種內(nèi)在因素和外在影響引起的問(wèn)題。但是這些方法利用附加的骨骼關(guān)鍵點(diǎn)或姿態(tài)估計(jì)模型來(lái)防止任意失準(zhǔn)和背景雜波,這意味著需要大量的標(biāo)記訓(xùn)練數(shù)據(jù)。
針對(duì)海上小目標(biāo)識(shí)別,本文提出了一種基于通道和空間注意力網(wǎng)絡(luò)來(lái)進(jìn)行海上小目標(biāo)重識(shí)別,它能自動(dòng)選擇有效的特征并抑制不太有用的特征。同時(shí)對(duì)輸入圖像進(jìn)行平均分塊,分別從局部和全局進(jìn)行特征提取,使得該算法更有利于海上小目標(biāo)的重識(shí)別。
通常,目標(biāo)重識(shí)別一般可以分為基于身份的方法和基于驗(yàn)證的方法。識(shí)別模型搜索數(shù)據(jù)集中的目標(biāo),并分析哪個(gè)目標(biāo)與查詢中的目標(biāo)是一致的,而驗(yàn)證模型則確定給定的一對(duì)目標(biāo)是否是同一個(gè)目標(biāo)。因此,這些模型具有不同的輸入、特征提取和訓(xùn)練損失函數(shù)。為了學(xué)習(xí)更多的判別特征和擴(kuò)大模型的泛化能力,許多最新的方法將這兩個(gè)模型結(jié)合起來(lái)[11],并通過(guò)實(shí)驗(yàn)證明了它們的性能。然而,融合方法并沒(méi)有充分考慮類內(nèi)和類間的距離。針對(duì)這一問(wèn)題,提出了一種多損失函數(shù)作為驗(yàn)證任務(wù)的損失函數(shù),以約束分類誤差和類距離。多損失函數(shù)度量特征與其對(duì)應(yīng)的類中心在特征空間中的距離,以考慮類內(nèi)聚集和類間分離。
鑒于基于卷積基線網(wǎng)絡(luò)的分塊(PCB)取得的優(yōu)異效果[7],引入簡(jiǎn)單的平均分塊的策略,有助于關(guān)注特征的細(xì)粒度信息,同時(shí)不要額外的先驗(yàn)知識(shí)匹配圖像。具體來(lái)說(shuō),與PCB分塊不同的是,分塊策略是在不同的規(guī)模上進(jìn)行的,而且是本著由粗到細(xì)的一個(gè)過(guò)程,將骨干網(wǎng)輸出的三維特征向量進(jìn)行分割,為了方便,直接等分成上、下兩部分以及上、中、下三部分,同時(shí)為了調(diào)控全局間的關(guān)系,保留了全局的特征信息。通過(guò)該均等分塊的方式,可以驅(qū)動(dòng)模型從不同的細(xì)粒度更好地關(guān)注練樣本中本身存在的自然相似性特征。
同時(shí),將骨干網(wǎng)中引入空間和通道注意力[16]來(lái)強(qiáng)化關(guān)鍵的特征信息而不需要額外的輔助信息,注意模塊自動(dòng)學(xué)習(xí)和建模卷積特征通道之間以及空間下的相互依賴關(guān)系,能夠有效地增強(qiáng)重要特征、抑制無(wú)關(guān)特征,同時(shí)該模塊能夠改善攝像機(jī)視角、目標(biāo)部分遮擋以及檢測(cè)器誤差等問(wèn)題帶來(lái)的干擾。因此借助嵌入注意力機(jī)制,目標(biāo)重識(shí)別的整個(gè)網(wǎng)絡(luò)集中于有效的信道信息和空間信息,通過(guò)對(duì)卷積特征通道間的關(guān)系以及空間關(guān)系進(jìn)行特征重標(biāo)定和學(xué)習(xí),可以有選擇地突出貢獻(xiàn)特征,抑制無(wú)用特征,提升了模型的判別能力。
在本節(jié)中詳細(xì)介紹本文提出的基于卷積注意力機(jī)(CBAM)的目標(biāo)重識(shí)別方法。具體來(lái)說(shuō),該模型將基于通道和空間注意力機(jī)制集成在重識(shí)別的骨干網(wǎng)中即ResNet50,對(duì)輸入的特征圖進(jìn)行自適應(yīng)特征細(xì)化。然后對(duì)最終的特征向量進(jìn)行均等分塊,從全局和局部分別進(jìn)行優(yōu)化,并采用端到端的方式進(jìn)行訓(xùn)練,整個(gè)模型的架構(gòu)如圖1所示。其中,經(jīng)骨干網(wǎng)獲得的特征向量,為了獲取更詳細(xì)的全面的特征信息,從多粒度特征向量出發(fā),進(jìn)行全局和局部的劃分優(yōu)化。采用以ResNet50為基礎(chǔ),融入基于通道和空間注意力機(jī)制CBAM對(duì)目標(biāo)特征關(guān)鍵信息進(jìn)行強(qiáng)化,接著對(duì)最終輸出的特征向量進(jìn)行均等硬劃分,得到多粒度的特征向量,進(jìn)而從全局和局部對(duì)模型優(yōu)化。最后采取多損失函數(shù)度量及進(jìn)行模型優(yōu)化,同時(shí)將梯度中心化算法融入Adam優(yōu)化器中,加快模型的訓(xùn)練速度。
圖1 基于注意力機(jī)制的海上小目標(biāo)重識(shí)別模塊
假設(shè)存在有標(biāo)簽的數(shù)據(jù)集{Xs,Ys},包括NS張目標(biāo)圖像,每個(gè)目標(biāo)xi的身份是y i,該數(shù)據(jù)集總共有M類目標(biāo)樣本。本文的目的是給出查詢目標(biāo)樣本xi,在指定的圖像庫(kù)中檢索到該指定目標(biāo)的過(guò)程。
注意力機(jī)制借助少量的參數(shù),可以減少無(wú)關(guān)信息的干擾,從而提取更加有效的特征,進(jìn)而提高重識(shí)別模型的判別性。本文將CBAM機(jī)制引入特征向量中,從通道和空間兩個(gè)維度上,在沒(méi)有顯著增加計(jì)算量和參數(shù)量的前提下提升網(wǎng)絡(luò)模型的特征提取能力。
如圖1所示,針對(duì)ResNet50作為骨干網(wǎng),輸出前,在每個(gè)ResBlock的后面加上該模塊,進(jìn)行順序排列通道注意力模塊和空間注意力模塊,并分別表示為。
(1)通道注意力模塊
為了有效地計(jì)算通道維度下的特征,得到有意義的輸入圖像。同時(shí)對(duì)當(dāng)前多個(gè)特征圖沿空間分別使用平均池化和最大池化來(lái)收集獨(dú)特的物體特征,從而得到更細(xì)的通道注意力,計(jì)算過(guò)程如下:
式中:σ為激活函數(shù);M L P為多層感知器;F i為上述的三維特征圖,總共有p+1部分,F(xiàn) i為在經(jīng)過(guò)ResNet50中每個(gè)ResBlock后輸出的特征張量;分別為將特征向量沿空間軸進(jìn)行平局池化和最大池化后所得的特征向量。
(2)空間注意力模塊
作為對(duì)通道注意力的補(bǔ)充,該注意力模塊主要為了找到最具信息量的部分。為了計(jì)算空間注意力,有效地突出信息區(qū)域,沿著通道方向應(yīng)用平均池化和最大池化操作,并將它們連接起來(lái)生成一個(gè)有效的特征描述符。
式中:f7×7為濾波器大小為7×7的卷積運(yùn)算;分別為將特征向量沿通道軸進(jìn)行平局池化和最大池化后所得的特征描述符,通過(guò)使用兩個(gè)池化操作聚合成一個(gè)特征圖。
如圖2所示,為了從全局和局部分別獲取更加詳細(xì)的特征信息,引入了均等劃分的策略,通過(guò)該方式,獲取不同粒度下的特征向量,多粒度的特征向量包含全局和局部信息,使用幾個(gè)部分級(jí)別的特征用于綜合詳細(xì)地描述重識(shí)別任務(wù)中的目標(biāo)匹配。
圖2 均等硬劃分下的多粒度輸出
具體來(lái)說(shuō),當(dāng)輸入一張目標(biāo)圖像x i后,經(jīng)過(guò)融合CBAM注意力機(jī)制的骨干網(wǎng)得到一個(gè)激活后的三維張量特征,首先將完整的特征向量作為一個(gè)輸出,保證模型對(duì)全局的一個(gè)掌控;接著,采用二等分和三等分硬劃分策略,將特征輸出分別垂直劃分為兩個(gè)垂直塊和3個(gè)垂直塊,從而得到5個(gè)垂直張量塊,將其特征輸出分別記為和。
最終為了挖掘到局部關(guān)鍵信息同時(shí)掌握全局的信息變化,將整個(gè)特征向量和5個(gè)被分割的局部三維特征圖輸入,即此時(shí)共有6部分輸入。
經(jīng)過(guò)均等劃分后,從局部和全局兩個(gè)方面引入多損失函數(shù),進(jìn)行優(yōu)化目標(biāo)模型。同時(shí)為了有效地優(yōu)化模型,從兩方面考慮重識(shí)別任務(wù),一方面,將它作為一項(xiàng)識(shí)別任務(wù),即識(shí)別輸入目標(biāo)的身份(數(shù)據(jù)集的標(biāo)簽);另一方面,將其作為驗(yàn)證任務(wù),即確定兩個(gè)輸入的目標(biāo)是否為同一個(gè)身份。
對(duì)于前一個(gè)任務(wù),從表征學(xué)習(xí)的角度出發(fā),即將目標(biāo)重識(shí)別任務(wù)直接當(dāng)作一個(gè)識(shí)別分類問(wèn)題來(lái)看待。在給定數(shù)據(jù)標(biāo)簽的情況下,針對(duì)目標(biāo)重識(shí)別網(wǎng)絡(luò)模型的每部分輸出,使用軟交叉熵函數(shù)來(lái)優(yōu)化目標(biāo)重識(shí)別。如下所示:
式中:n為數(shù)據(jù)集中目標(biāo)的身份數(shù);為預(yù)測(cè)的ID;yi為真正的目標(biāo)身份標(biāo)簽。
后者是驗(yàn)證任務(wù),關(guān)于該任務(wù),一般都將其作為二分類問(wèn)題。盡管交叉熵在目標(biāo)重識(shí)別中表現(xiàn)良好[17],但是它沒(méi)有明確規(guī)定對(duì)于目標(biāo)中正對(duì)和負(fù)對(duì)應(yīng)該以怎樣的方式存在,這可能會(huì)導(dǎo)致屬于同一個(gè)目標(biāo)的實(shí)例形成一個(gè)非常大的集群,同一個(gè)身份的目標(biāo)的類內(nèi)距離很大,而不同的類之間的距離在學(xué)習(xí)的特征空間中不夠遠(yuǎn)。針對(duì)此,引入一個(gè)新的損失函數(shù),通過(guò)樣本間的約束(三元組損失[18])和樣本與樣本所屬類的類型之間的約束(距離損失),該函數(shù)進(jìn)一步限制圖像對(duì)的距離。
式中:λ1和λ1為距離損失和三元組損失的權(quán)重系數(shù);N為訓(xùn)練批次的大小;ck為樣本xi所屬的特征類型。
為自適應(yīng)變量,其更新公式如下:
該公式進(jìn)行使用批次中的樣本進(jìn)行隨時(shí)更新樣本所屬的類心。所以針對(duì)目標(biāo)重識(shí)別模型來(lái)說(shuō),總的損失為:
式中:λ1和λ1為距離損失和三元組損失的權(quán)重系數(shù)。
與特征圖標(biāo)準(zhǔn)化BN[12]和權(quán)值標(biāo)準(zhǔn)化WS[13]這些對(duì)權(quán)值梯度簡(jiǎn)介操作的方法不同,梯度中心化GC(Gradient Centralization)方法直接作用于權(quán)值梯度,梯度中心化GC對(duì)權(quán)值梯度進(jìn)行零均值化,通過(guò)計(jì)算梯度向量的均值來(lái)約束模型的損失函數(shù),能夠使得網(wǎng)絡(luò)的訓(xùn)練更加穩(wěn)定,并且能提高網(wǎng)絡(luò)的泛化能力,如圖3所示。本文將梯度中心算法引入Adam優(yōu)化器,對(duì)權(quán)重和輸出的特征進(jìn)行正則化,從而使得重識(shí)別模型的訓(xùn)練更加有效穩(wěn)定。
圖3 梯度中心化
在此,以全連接層為例,在已有網(wǎng)絡(luò)模型反向傳播梯度的基礎(chǔ)上,對(duì)每個(gè)列向量中移除各自對(duì)應(yīng)的平均值,從而實(shí)現(xiàn)每個(gè)列向量的中心化,計(jì)算公式如下:
式中:?w i L為梯度;?w i為權(quán)重向量;i為梯度矩陣中的第i列向量,j表示第i列向量中的第j個(gè)元素。
本文在結(jié)合注意力機(jī)制的基礎(chǔ)上,充分考慮到了數(shù)據(jù)本身的復(fù)雜性和優(yōu)化的有閑心,提出了一種有效的基于注意力機(jī)制的目標(biāo)重識(shí)別方法。在特征學(xué)習(xí)過(guò)程中,將CBAM融合到ResNet50的每個(gè)模塊中提取到具有關(guān)鍵信息的特征向量;并在基礎(chǔ)上對(duì)最終的特征輸出進(jìn)行均等硬劃分策略,從全局和局部多粒度下,更加全面地關(guān)注描述重識(shí)別中的匹配任務(wù)。在接下來(lái)的工作中,將采用基于真實(shí)場(chǎng)景下的數(shù)據(jù)來(lái)對(duì)上述模型進(jìn)行訓(xùn)練和優(yōu)化,并采用真實(shí)數(shù)據(jù)集測(cè)試模型的性能。