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