張拯寧,張林,王鉞,李云飛,楊云超
1.清華大學(xué) 電子工程系,北京 100084 2.清華大學(xué) 深圳國際研究生院,深圳 518055 3.航天恒星科技有限公司,北京 100086
基于光學(xué)遙感圖像的艦船目標(biāo)識(shí)別技術(shù)廣泛應(yīng)用于軍事和民用領(lǐng)域,例如海上態(tài)勢評估、重要港口和目標(biāo)監(jiān)視、海事救援、非法捕魚管理等。近年來,遙感衛(wèi)星的空間分辨率、光譜分辨率和輻射分類率、重訪周期等主要技術(shù)指標(biāo)都大幅度提升,能夠提供關(guān)于艦船目標(biāo)結(jié)構(gòu)和紋理的精細(xì)信息,這些信息為實(shí)現(xiàn)細(xì)粒度艦船目標(biāo)識(shí)別創(chuàng)造了條件。
當(dāng)前基于圖像的通用目標(biāo)識(shí)別方法已經(jīng)取得很大進(jìn)展,識(shí)別精度已經(jīng)得到很大提升。通用目標(biāo)識(shí)別方法主要解決類間差異性顯著的圖像分類問題,例如區(qū)分貓和狗、飛機(jī)和汽車等。細(xì)粒度目標(biāo)識(shí)別的任務(wù)是進(jìn)一步確定目標(biāo)所屬的子類信息[1],例如識(shí)別不同型號(hào)的汽車、不同種類的船等。實(shí)現(xiàn)細(xì)粒度識(shí)別的難點(diǎn)在于模型必須能夠從總體上高度相似的目標(biāo)特征之中提取到足以區(qū)分各子類的精細(xì)局部特征。
更進(jìn)一步,如果細(xì)粒度識(shí)別是由粗到精、層次化的,則有助于快速、準(zhǔn)確地獲取關(guān)于目標(biāo)更豐富的屬性信息。面向各類軍民用需求,對艦船目標(biāo)細(xì)粒度識(shí)別的進(jìn)一步要求是希望得到逐步細(xì)化、具體化的分類結(jié)果,也即一種由粗到精、層次化而非扁平化的分類結(jié)果。
層次化分類的隱含要求是分類器在各分類層級(jí)上輸出的分類結(jié)果是相互一致的,不應(yīng)出現(xiàn)矛盾和沖突。如果某一船舶目標(biāo)在較粗的分類層級(jí)被分類為民用船舶,但卻在更精細(xì)的分類層級(jí)被進(jìn)一步細(xì)分為驅(qū)逐艦,則該層次化分類結(jié)果就不是相互一致的。實(shí)現(xiàn)一致性分類不僅在科學(xué)上具有重要意義,在工程上也有重大的實(shí)際應(yīng)用價(jià)值。當(dāng)遙感衛(wèi)星圖像的空間分辨率不足以完成滿足一定識(shí)別精度要求的細(xì)粒度分類時(shí),一個(gè)合理而且自然的選擇是給出其在更粗分類層級(jí)的最大似然估計(jì),這比只給出在當(dāng)前分類層級(jí)一個(gè)置信度很低的分類結(jié)果具有更大的實(shí)用價(jià)值。例如,如果能夠?qū)⒁粡垐D片中的艦船目標(biāo)按某種層次化的分類體系識(shí)別為“軍艦大類中的驅(qū)逐艦子類,型號(hào)是阿利伯克級(jí)”,就比只把該目標(biāo)簡單識(shí)別為“一艘船”更有價(jià)值。
現(xiàn)有細(xì)粒度目標(biāo)識(shí)別方法主要包括三種類別:
1)局部特征法:利用部件標(biāo)注信息或使用注意力機(jī)制等手段提取局部關(guān)鍵特征,實(shí)現(xiàn)細(xì)粒度識(shí)別[2-5]。
2)端到端特征編碼法[1]:采用高階特征交互,設(shè)計(jì)新的損失函數(shù)等方法提升模型對細(xì)粒度特征的表示能力[6-8]。
3)外部信息輔助法[1]:利用圖像之外的額外信息,例如拍攝地點(diǎn)、文本描述等,協(xié)助實(shí)現(xiàn)細(xì)粒度識(shí)別[5,9]。
局部特征法一般需要數(shù)據(jù)集對目標(biāo)部件有精細(xì)標(biāo)注或引入注意力機(jī)制,在無需額外標(biāo)注的前提下實(shí)現(xiàn)局部特征的定位和提取。外部信息輔助法所需的外部輔助信息常常難以獲取。這些方法都是針對有效定位和提取局部關(guān)鍵特征的角度提出的,并沒有利用艦船目標(biāo)分類體系中本身所蘊(yùn)含的類別隸屬信息提高細(xì)粒度識(shí)別精度。人類在執(zhí)行圖片分類任務(wù)時(shí),如果目標(biāo)類別標(biāo)簽是有意義的文字,則對比無意義的符號(hào),錯(cuò)誤率會(huì)降低。這說明目標(biāo)標(biāo)簽的語義信息及其背后所蘊(yùn)含的先驗(yàn)知識(shí)對于提高分類精度有很大價(jià)值。上述觀察啟發(fā)我們,如果艦船目標(biāo)數(shù)據(jù)集的分類體系是層次化的,且分類標(biāo)簽之間具有一致性,就可以利用該先驗(yàn)知識(shí)引導(dǎo)分類器訓(xùn)練,使得其向一致性的層次化分類優(yōu)化,理應(yīng)可以提高艦船目標(biāo)的識(shí)別精度。
基于上述動(dòng)機(jī),本文提出一種層間分類一致性的度量函數(shù)并基于該函數(shù)構(gòu)建了多層級(jí)兼容艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)。該一致性度量函數(shù)能夠定量描述層次化分類結(jié)果之間的一致性程度,同時(shí)它是可導(dǎo)的,可以作為損失函數(shù)用于優(yōu)化目標(biāo)識(shí)別網(wǎng)絡(luò),從而提高細(xì)粒度識(shí)別精度。該方法本質(zhì)上屬于端到端特征編碼法類別。
機(jī)器學(xué)習(xí)中分類任務(wù)的目的是建立一個(gè)分類模型,將目標(biāo)與一組不相交類中的一個(gè)類建立關(guān)聯(lián)。多數(shù)研究工作中,一個(gè)目標(biāo)只被賦予一個(gè)類別標(biāo)簽,并假設(shè)類別標(biāo)簽之間是無關(guān)的,因此分類算法無需考慮類別之間可能存在的聯(lián)系,這就是單標(biāo)簽分類問題(single-label classification,SC)。現(xiàn)實(shí)世界中的分類任務(wù)要更復(fù)雜,一個(gè)目標(biāo)可能同時(shí)屬于多個(gè)類別,也即它將被同時(shí)賦予多個(gè)標(biāo)簽,這就是多標(biāo)簽分類問題(multi-label classification,MC)。單標(biāo)簽分類問題中的分類體系是扁平化的,或者說非層次化(non-hierarchical)的。但是在多標(biāo)簽問題中,分類體系中的各類別可能存在明確的顯性隸屬關(guān)系,也即分類體系是層次化的,每一個(gè)目標(biāo)可以被分配層次化分類體系中的多個(gè)路徑,稱為層次化多標(biāo)簽分類任務(wù)(hierarchical multi-label classification,HMC)。各類別之間也可能只存在隱性的隸屬關(guān)系[10],此時(shí)分類體系依然是非層次化的。在更普遍意義上,單標(biāo)簽分類問題是層次化分類退化為只有一級(jí)分類時(shí)的一種特殊情況,而隱性的多標(biāo)簽分類也可以視為層次化分類擴(kuò)展為類間具有某種概率聯(lián)系的特殊情況。
層次化分類問題按照類別間隸屬關(guān)系可以分為分類樹(tree)和有向無環(huán)圖(directed acyclic graph,DAG)兩種類型。如果分類體系中,任一類別只有唯一的父類,這就是一個(gè)分類樹問題,如圖1所示;否則,如果一個(gè)類別可以有多個(gè)父類,那么該層次化分類問題就是有向無環(huán)圖問題,如圖2所示。

圖1 分類樹

圖2 有向無環(huán)圖

圖3 層間弱一致性分類準(zhǔn)則的不足
關(guān)于層次化分類問題,研究較多的應(yīng)用主要是針對文本分類[11-13]和蛋白質(zhì)功能預(yù)測[14-15]等,但在圖像分類和目標(biāo)識(shí)別領(lǐng)域,該問題研究的還不夠深入。
層次化分類問題的嚴(yán)格數(shù)學(xué)定義建立在偏序集的基礎(chǔ)上。所謂偏序是指在集合C上的一個(gè)二元關(guān)系≤滿足自反性、反對稱性和傳遞性要求,也即:
由C和≤組成的二元組H=〈C,≤〉滿足:
1)自反性:對于任意元素p∈C有p≤p。
2)傳遞性:對于任意元素p,q,r∈C,如果p≤r,r≤q,則p≤r≤q。
3)反對稱性:對于任意元素p,q∈C,如果p≤q,q≤p,則p=q[16]。
給定偏序關(guān)系≤,如果p≤q且p≠q,則稱p 在定義偏序關(guān)系≤、偏序集H后,Kosmopoulos A等對層次化分類任務(wù)給出以下定義[12]: 定義1(層次化分類任務(wù)):給定一個(gè)預(yù)先定義的類別集C以及定義在其上的偏序集H=〈C,≤〉,當(dāng)所有目標(biāo)實(shí)例組成的集合為O時(shí),將下述任務(wù)稱為層次化分類任務(wù),將布爾值賦予由?oi∈O和?cj∈C組成的所有二元組〈oi,cj〉。 給定層次化分類任務(wù)后,可以進(jìn)一步定義層次化分類的一致性。需要指出的是,如果該層次化分類任務(wù)是一個(gè)在有向無環(huán)圖上的層次化分類任務(wù),則一個(gè)類別可以有多個(gè)父類,因此將定義在DAG上的層間一致性稱為層間弱一致性分類準(zhǔn)則。Kosmopoulos A等給出的層次化分類一致性定義就是一種層間弱一致性分類準(zhǔn)則[12]。 定義2(層間弱一致性分類準(zhǔn)則):當(dāng)分配給一個(gè)目標(biāo)實(shí)例oi∈O的分類結(jié)果Ci∈C滿足下述條件時(shí),稱該分類結(jié)果與給定的層次化分類體系具有弱一致性對于?ck∈Ci,Ci都包括了其完整的祖先集A(ck)[12]。 由于任何類別都必然屬于一個(gè)分類體系的根節(jié)點(diǎn),因此上述定義中的C不包括根節(jié)點(diǎn)。 如果從損失函數(shù)設(shè)計(jì)的角度看待層次化一致性分類問題,那么也可以認(rèn)為所謂層次化一致性分類就是賦予不同分類層級(jí)不同權(quán)重。因此,基于層次化分類一致性損失函數(shù)的細(xì)粒度識(shí)別方法也可以視為一種類別重加權(quán)方法。加權(quán)方法中應(yīng)用最廣泛的是 Tsung-Yi Lin 等提出的 Focal Loss[17],該方法的核心思路是:因?yàn)轭悇e不平衡分布導(dǎo)致尾部類別的預(yù)測難度提高,那么就可以通過反向利用尾部類別的預(yù)測概率給損失函數(shù)加權(quán),從而抵消長尾效應(yīng)。在 Focal loss 的啟發(fā)下,后續(xù)又發(fā)展出了 equalization loss[18],balanced softmax loss[19]等方法。GHM(gradient harmonizing mechanism)loss[20]是在 Focal loss 基礎(chǔ)上的改進(jìn)型重加權(quán)損失函數(shù),它的核心思路是:對于特別難以分類的樣本也不應(yīng)賦予過大權(quán)重,應(yīng)予以適當(dāng)抑制。Jiangmiao Pang等提出了 balanced L1 loss 函數(shù)用于平衡分類損失和目標(biāo)位置回歸損失[21]。此外,為解決尾部類別正負(fù)樣本的梯度比例不均衡問題,Jiaqi Wang等提出了 seesaw loss[22],用于動(dòng)態(tài)抑制尾部類別的負(fù)樣本梯度,同時(shí)還增加了對錯(cuò)誤分類樣本的懲罰。上述各類損失函數(shù),通過重新調(diào)整不同類別或不同類型樣本的權(quán)重,以較小的資源消耗在不同程度上提升了目標(biāo)識(shí)別精度。Junran Peng等針對多標(biāo)簽圖像分類方法提出了 concurrent softmax 損失函數(shù)[10],用于處理多標(biāo)簽問題可能導(dǎo)致的預(yù)測值競爭問題,也可以認(rèn)為是一種特殊類別重加權(quán)方法,它顯著提升了多標(biāo)簽圖像分類任務(wù)的平均分類精度。 定義 2給出的“層間弱一致性分類準(zhǔn)則”要求分類結(jié)果中只要出現(xiàn)某一類別,則應(yīng)同時(shí)包括該類別的所有父類和子類,從而與原分類體系保持一致。該定義并不限制分類器給出一致性分類路徑的數(shù)量,因此該定義相當(dāng)寬松。即使出現(xiàn)多組實(shí)質(zhì)上相斥的分類結(jié)果,也符合層間弱一致性分類準(zhǔn)則,但這顯然不合理。因此,可以進(jìn)一步加強(qiáng)限制,如果分類器在層次化分類體系的某一層出現(xiàn)多個(gè)分類結(jié)果,那么它們之間必須能夠不經(jīng)過根節(jié)點(diǎn)而連通。 圖 3中所示的層次化分類體系,如果分類器同時(shí)給出 0-2-3.1 和 0-3-3.1 兩種結(jié)果,按照層間弱一致性分類準(zhǔn)則,分類結(jié)果是一致的。但這并不恰當(dāng),因?yàn)樵诜诸愺w系的第 2 層,類別 1 和類別 2、類別 3 并不連通(不考慮根節(jié)點(diǎn)時(shí)),也即該結(jié)果存在矛盾。 基于上述分析,進(jìn)一步定義給出層間強(qiáng)一致性分類準(zhǔn)則如下。 定義3(層間強(qiáng)一致性分類準(zhǔn)則)。當(dāng)分配給一個(gè)目標(biāo)實(shí)例oi∈O的分類結(jié)果Ci∈C滿足下述條件時(shí),稱該分類結(jié)果與給定的層次化分類體系具有強(qiáng)一致性:對于?ck∈Ci,Ci都包括了其完整的祖先集A(ck),且對于Ci的任何一層,如果該層的節(jié)點(diǎn)數(shù)量n>1,則該層的所有節(jié)點(diǎn)在C中應(yīng)可以不經(jīng)過根節(jié)點(diǎn)而連通。 對于分類樹任務(wù),由于不存在多個(gè)父類的情況,因此上述定義與下述定義等價(jià)。 定義4(分類樹任務(wù)的層間強(qiáng)一致性分類準(zhǔn)則)。當(dāng)分配給一個(gè)目標(biāo)實(shí)例oi∈O的分類結(jié)果Ci∈C滿足下述條件時(shí),稱該分類結(jié)果與給定的層次化分類體系具有強(qiáng)一致性:對于?ck∈Ci,Ci都包括了其完整的祖先集A(ck),且Ci的度為1。 換言之,對于分類樹上的層次化分類任務(wù),層間強(qiáng)一致性分類準(zhǔn)則要求分類器在分類樹的每一層,都給出且僅給出一個(gè)分類結(jié)果;同時(shí),不同層分類結(jié)果組成的路徑,上一層節(jié)點(diǎn)必須是下一層節(jié)點(diǎn)的父類。 基于上述層間強(qiáng)一致性分類準(zhǔn)則的定義,可定義層間一致性分類任務(wù)。 定義5(層間一致性分類任務(wù))。分類器對給定層次化分類任務(wù)產(chǎn)生的任何一組標(biāo)簽分配結(jié)果都應(yīng)與該任務(wù)對應(yīng)的層次化分類結(jié)構(gòu)滿足層間強(qiáng)一致性分類準(zhǔn)則的要求。 (1)分類器設(shè)計(jì) 層次化分類算法主要包括局部性和全局性兩類算法。局部性算法自上而下實(shí)現(xiàn)層次化分類,能夠保證分類結(jié)果滿足層間一致性分類準(zhǔn)則,但復(fù)雜度高,而且容易出現(xiàn)誤差傳播,并不適合多層級(jí)的艦船目標(biāo)細(xì)粒度識(shí)別任務(wù)。全局性方法在分類器的復(fù)雜度方面比局部性方法更低,也不存在誤差傳播問題。對于基于光學(xué)遙感圖像的艦船目標(biāo)細(xì)粒度識(shí)別任務(wù),需要同時(shí)完成目標(biāo)分類以及定位。當(dāng)艦船目標(biāo)類別較多時(shí),如采用全局分類器,就需要同時(shí)對全部層級(jí)的所有類別分類,在分類精度較低時(shí),可能對目標(biāo)定位回歸任務(wù)產(chǎn)生不良影響,同時(shí)識(shí)別網(wǎng)絡(luò)的設(shè)計(jì)也將變得更加復(fù)雜。基于上述分析,采用混合性方法是較好的策略,理由如下: 1)在分類樹的每一層分別實(shí)現(xiàn)一個(gè)多分類器,模型復(fù)雜度低; 2)在分類樹上,由最深一級(jí)的任一個(gè)類別標(biāo)簽,可以唯一映射得到在其它級(jí)別的所屬父類; 3)各層使用獨(dú)立的分類器,可以將分類器與目標(biāo)識(shí)別網(wǎng)絡(luò)的其它部分相互隔離,特別是對艦船目標(biāo)識(shí)別網(wǎng)絡(luò)中的定位框回歸部分不會(huì)產(chǎn)生影響; 4)各層使用獨(dú)立的分類器,可以靈活輸出所需層級(jí)的分類結(jié)果,方便使用; 5)各層使用獨(dú)立的分類器,整個(gè)識(shí)別網(wǎng)絡(luò)便于實(shí)現(xiàn),同時(shí)容易推廣應(yīng)用于各類一階段和多階段目標(biāo)識(shí)別方法。 (2)層間一致性度量函數(shù)設(shè)計(jì)要求 一個(gè)適用于目標(biāo)識(shí)別網(wǎng)絡(luò)優(yōu)化過程的層間一致性度量函數(shù),應(yīng)滿足以下4項(xiàng)基本要求: 1)適用性:適合目前常用的目標(biāo)識(shí)別模型和優(yōu)化算法,便于集成。 2)準(zhǔn)確性:能夠定量描述各層級(jí)分類結(jié)果之間的一致性。 3)魯棒性:應(yīng)能夠?qū)τ?xùn)練初始過程可能出現(xiàn)的分類不一致情況保持一定容忍度,避免溢出或?qū)е滦枰捎酶鼜?fù)雜的訓(xùn)練策略。 4)高效性:當(dāng)分類層級(jí)增加時(shí),一致性度量的算法復(fù)雜度應(yīng)線性增加。 (3)單標(biāo)簽層間一致性度量函數(shù) 不妨設(shè)分類器得到在分類樹上各分類層級(jí)的分類結(jié)果為ck,k=0,…l-1,其中l(wèi)為分類樹的最大深度。對應(yīng)該層分類器的交叉熵?fù)p失函數(shù)為Lk。 在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,Li表征了第i層分類器輸出的預(yù)測值ci與真實(shí)標(biāo)簽yi之間的相符程度。定義單標(biāo)簽層間一致性度量函數(shù)如式(1)所示。 (1) 式中:pt-k為當(dāng)前所關(guān)注的分類層級(jí)(即t層,不加說明時(shí),均指分類樹上的最深一層)與第k層的轉(zhuǎn)移概率。單標(biāo)簽層間一致性度量計(jì)算過程如算法1所示。 算法1:單標(biāo)簽層間一致性度量算法 輸入:當(dāng)前分類層級(jí)分類結(jié)果ct與真實(shí)標(biāo)簽yt,保持層間分類一致的其它分類層級(jí)分類結(jié)果ck,k∈[0:l-1] 輸出:單標(biāo)簽層間一致性度量指標(biāo)Lc(t) 1)根據(jù)yt映射得到其它分類層級(jí)的真實(shí)標(biāo)簽yk 2)根據(jù)ct和yt計(jì)算當(dāng)前分類層級(jí)的交叉熵?fù)p失Lt 3)for每一個(gè)k∈[0,l-1]do 4)根據(jù)ck和yk計(jì)算當(dāng)前分類層級(jí)的交叉熵?fù)p失Lk 5)End for 由于訓(xùn)練集樣本在各分類層級(jí)的標(biāo)簽都是層間一致的,因此,所有各層分類器的交叉熵?fù)p失函數(shù)之和Lc(t)就表征了在整個(gè)分類樹上,神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果與整個(gè)真實(shí)分類路徑的相符程度。如果在某一層的預(yù)測值與真實(shí)標(biāo)簽不符,則交叉熵比相符時(shí)必然增大,換言之,Lc(t)定量描述了層間一致性程度。 算例:不妨設(shè)兩個(gè)分類層級(jí)Level 3和Level 2的類別標(biāo)簽及神經(jīng)網(wǎng)絡(luò)全連接層輸出的預(yù)測值如圖4所示。 圖4 單標(biāo)簽層間一致性度量函數(shù)算例 當(dāng)Level 3及Level 2層的實(shí)際預(yù)測值保持層間一致時(shí),也即神經(jīng)網(wǎng)絡(luò)輸出的類別預(yù)測結(jié)果與類別標(biāo)簽均保持一致時(shí): 不妨設(shè)p3-2=1,則: Lc(3)=L3+p3-2L2 當(dāng)層間一致性被破壞時(shí),L2=1.1003,Lc(3)=2.5445,損失函數(shù)Lc(3)增大,因此,神經(jīng)網(wǎng)絡(luò)將向?qū)娱g一致方向優(yōu)化。 (4)多標(biāo)簽層間一致性度量函數(shù) 單標(biāo)簽層間一致性度量函數(shù)雖然可以定量描述不同分類層之間的分類一致性,但由于計(jì)算 Softmax 函數(shù)時(shí)并未考慮任意兩標(biāo)簽之間的關(guān)聯(lián),結(jié)果不夠準(zhǔn)確。為進(jìn)一步提升層間一致性度量函數(shù)的準(zhǔn)確性,需要將其擴(kuò)展到多標(biāo)簽。由于可以方便地由一個(gè)分類樹的最深一級(jí)類別標(biāo)簽映射得到其他分類層級(jí)的類別標(biāo)簽,同時(shí)也可以將不同分類層對應(yīng)全卷積層輸出的預(yù)測值拼接為一個(gè)向量,因此可將多個(gè)單標(biāo)簽分類任務(wù)轉(zhuǎn)化為一個(gè)多標(biāo)簽分類任務(wù),如圖5所示。 圖5 單標(biāo)簽分類問題轉(zhuǎn)化為多標(biāo)簽分類問題 當(dāng)單標(biāo)簽分類任務(wù)轉(zhuǎn)化為多標(biāo)簽分類任務(wù)后,每個(gè)目標(biāo)實(shí)例對應(yīng)的類別標(biāo)簽就不再是獨(dú)熱(one-hot)類型了,而是會(huì)出現(xiàn)組有效標(biāo)簽,如圖6所示。 圖6 多標(biāo)簽分類問題標(biāo)簽級(jí)聯(lián) Junran Peng等已證明,對于多標(biāo)簽分類問題,如果采用標(biāo)準(zhǔn)Softmax激活函數(shù)計(jì)算交叉熵?fù)p失函數(shù),則可能出現(xiàn)預(yù)測值競爭問題,導(dǎo)致網(wǎng)絡(luò)向錯(cuò)誤方向優(yōu)化[10]。 定義集合K={k∣k∈C,yk=1},則當(dāng)樣本標(biāo)簽i∈K時(shí),yi=1。 根據(jù)上式可知,如果樣本i∈K,且mσi>1時(shí),則這些樣本產(chǎn)生的梯度反而小于i?K樣本產(chǎn)生的梯度,這就產(chǎn)生了前述的預(yù)測值競爭問題。 為避免預(yù)測值競爭,在激活函數(shù)中引入懲罰項(xiàng),當(dāng)各有效標(biāo)簽具有父子關(guān)系時(shí),將該項(xiàng)預(yù)測值置零,只計(jì)算沒有類別隸屬關(guān)系的標(biāo)簽預(yù)測值。定義一種新的多標(biāo)簽層間一致性度量函數(shù)如式(2)所示。 (2) 式中:Lmlc為多標(biāo)簽層間一致性度量函數(shù),σ′為帶有懲罰項(xiàng)的激活函數(shù)。 多標(biāo)簽層間一致性度量計(jì)算方法如算法2所示。 算法2:多標(biāo)簽層間一致性度量算法 輸入:當(dāng)前分類層級(jí)分類器的預(yù)測值zt與真實(shí)標(biāo)簽yt,保持層間分類一致的其他分類層級(jí)分類器預(yù)測值zk,k∈[0:l-1] 輸出:多標(biāo)簽層間一致性度量指標(biāo)Lmlc 1)根據(jù)yt映射得到其他分類層級(jí)的真實(shí)標(biāo)簽yk 2)將zt與zk,k∈[0:l-1]拼接為zi,i∈[0:C′] 3)for每一個(gè)i∈[0,C′]do 5)end for 6)for每一個(gè)i∈[0,C′]do 8)end for 求導(dǎo)可得: Lmlc相比Lc度量層間一致性程度更準(zhǔn)確,但它存在一個(gè)潛在的魯棒性問題。由于Lmlc考察了所有分類層之間的一致性,在網(wǎng)絡(luò)訓(xùn)練初期,分類一致性很差,這就導(dǎo)致全連接層輸出的預(yù)測值zi較大。無論是Softmax函數(shù)σ還是加入懲罰項(xiàng)的Softmax函數(shù)σ′,都需要進(jìn)行大量指數(shù)運(yùn)算,因此很容易溢出,而這將造成網(wǎng)絡(luò)的訓(xùn)練過程不穩(wěn)定。 Lmlc存在的另一個(gè)問題是計(jì)算復(fù)雜度較高。不妨設(shè)分類樹共有l(wèi)層,每層的類別數(shù)量均為C個(gè),Lmlc的計(jì)算復(fù)雜度為O(l2C2)。當(dāng)分類層級(jí)增加時(shí),Lmlc的計(jì)算量將迅速增加。 (5)多標(biāo)簽層間一致性度量函數(shù) 為提高Lmlc的計(jì)算效率和魯棒性,可以不把所有分類層合并為一個(gè)統(tǒng)一的多標(biāo)簽問題,而只兩兩合并,從而降低計(jì)算復(fù)雜度。因此,對于一個(gè)l層的分類樹,在考察最深一層的層間分類一致性時(shí),只需要計(jì)算l-1個(gè)多標(biāo)簽層間一致性函數(shù)。定義改進(jìn)的多標(biāo)簽層間一致性度量函數(shù)如式(3)所示。 (3) 式中:M為與當(dāng)前層兼容的其他層級(jí)總數(shù);Lmlc(m)為當(dāng)前層與第m分類層級(jí)的多標(biāo)簽層間一致性度量函數(shù);γ(m)為當(dāng)前所關(guān)注的分類層級(jí)的一致性權(quán)重。 為驗(yàn)證層間一致性度量函數(shù)作為損失函數(shù)可以提升艦船目標(biāo)細(xì)粒度識(shí)別精度,基于兩階段目標(biāo)識(shí)別網(wǎng)絡(luò)Faster-RCNN[23]實(shí)現(xiàn)多層次分類,并將層間一致性度量函數(shù)作為分類損失函數(shù)納入總的損失函數(shù)中,用于優(yōu)化網(wǎng)絡(luò)。由于該艦船目標(biāo)識(shí)別網(wǎng)絡(luò)可以實(shí)現(xiàn)多層級(jí)兼容的細(xì)粒度識(shí)別,將其命名為“多層級(jí)兼容的艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)(multi-level consistent ship detection network,MLCDet)”。MLCDet的網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。 圖7 多層級(jí)兼容艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)結(jié)構(gòu) MLCDet的總體結(jié)構(gòu)與Faster-RCNN網(wǎng)絡(luò)完全相同,由骨架網(wǎng)絡(luò)(backbone)、特征金字塔(FPN)、候選區(qū)推薦網(wǎng)絡(luò)(RPN)和分類及回歸頭(RoI head)組成。骨架網(wǎng)絡(luò)采用殘差網(wǎng)絡(luò)(residual network,ResNet)[24]。特征金字塔的作用是融合多尺度特征,同樣為驗(yàn)證層間一致性損失函數(shù)的作用,沿用通用方案,不做特別改動(dòng)。 在上述網(wǎng)絡(luò)結(jié)構(gòu)中,骨架網(wǎng)絡(luò)、特征金字塔模塊與是否為層次化分類并沒有直接關(guān)系。是否包含候選區(qū)推薦網(wǎng)絡(luò)是區(qū)分一階段和多階段網(wǎng)絡(luò)的關(guān)鍵,在該模塊中也會(huì)計(jì)算針對正負(fù)樣本的分類和損失函數(shù),通常使用交叉熵函數(shù)作為分類損失函數(shù),使用SmoothL1函數(shù)作為回歸損失函數(shù)。這兩個(gè)損失會(huì)被傳遞到分類和回歸頭模塊,計(jì)入總的損失函數(shù)進(jìn)行訓(xùn)練,從而不斷優(yōu)化網(wǎng)絡(luò)。需要指出的是RPN網(wǎng)絡(luò)中的分類任務(wù)僅僅為了區(qū)分是否為目標(biāo),因此無需考慮多層次分類的一致性問題。 根據(jù)上述分析,為實(shí)現(xiàn)多層兼容的一致性分類,只需要在分類和回歸頭模塊按照3.2節(jié)給出的分類器設(shè)計(jì)思路實(shí)現(xiàn)多個(gè)層級(jí)的分類器即可。RoI head模塊接收到RPN網(wǎng)絡(luò)輸出的2000個(gè)RoIs,由于其數(shù)量太多,先通過非極大值抑制算法(non-maximum suppression,NMS)將數(shù)量減少為128個(gè),再通過RoI pooling操作將其池化為相同尺寸,便于后面輸入全連接進(jìn)行分類和位置回歸。 L=αLRPN+βLreg+γLconsisitent 對于細(xì)粒度艦船目標(biāo)識(shí)別任務(wù),主要有3個(gè)代表性數(shù)據(jù)集,分別是 HRSC2016[25],FGSD[26]和ShipRSImageNet[27]。其中ShipRSImageNet是迄今為止最大規(guī)模的艦船目標(biāo)細(xì)粒度識(shí)別光學(xué)遙感圖像數(shù)據(jù)集,共有3435 張圖像和17573個(gè)目標(biāo)實(shí)例,提供了精確的水平矩形框和旋轉(zhuǎn)矩形框標(biāo)注。由于該數(shù)據(jù)集包括 4個(gè)層級(jí)(Level 0~Level 3),總共50類別目標(biāo)。其中Level 0表示是否為艦船目標(biāo);Level 1級(jí)進(jìn)一步區(qū)別目標(biāo)大類,是軍艦還是民用船舶;Level 2級(jí)為子類,例如軍艦大類包括潛水艇、航母、驅(qū)逐艦等子類;Level 3級(jí)為型號(hào),例如航母子類包括尼米茲號(hào)、企業(yè)號(hào)等。本文所開展的艦船目標(biāo)細(xì)粒度識(shí)別指Level 3級(jí)的識(shí)別。 ShipRSImageNet數(shù)據(jù)集的不同層級(jí)之間的標(biāo)注信息符合層間強(qiáng)一致性分類準(zhǔn)則,因此適用于驗(yàn)證本文提出的方法和網(wǎng)絡(luò)模型。 (1)試驗(yàn)設(shè)計(jì) 為充分驗(yàn)證方法的有效性,分析在不同層級(jí)之間的類別依存關(guān)系下,使用層間分類一致性準(zhǔn)則對艦船目標(biāo)細(xì)粒度識(shí)別精度的影響,共設(shè)計(jì)了4組試驗(yàn)。 1)試驗(yàn)1:分別針對ShipRSImageNet數(shù)據(jù)集的Level 3與Level 0、Level 3與Level 1、Level 3與Level 2以及Level 3同時(shí)與Level 0~Level 2保持一致,共4種情況;使用單標(biāo)簽一致性度量函數(shù)作為損失函數(shù)Lc,所有損失函數(shù)權(quán)重均取2.5開展試驗(yàn)。 3)試驗(yàn)3:針對Focal loss等類別重加權(quán)損失函數(shù)開展細(xì)粒度識(shí)別的對比試驗(yàn)。 4)試驗(yàn)4:損失函數(shù)權(quán)重的消融試驗(yàn),針對試驗(yàn)1和試驗(yàn)2,損失函數(shù)權(quán)重γ取1或0.5開展對比試驗(yàn)。 (2)超參數(shù)設(shè)置 所有的試驗(yàn)均使用PyTorch框架[28]和MMdetection toolkit[29]實(shí)現(xiàn)為加速模型訓(xùn)練,MLCDet的骨架網(wǎng)絡(luò)加載在ImageNet上的預(yù)訓(xùn)練權(quán)重文件作為初始值。所有試驗(yàn)均基于Faster R-CNN模型框架,骨架網(wǎng)絡(luò)均使用ResNet50,骨架網(wǎng)絡(luò)之后均使用特征金字塔(FPN)。模型訓(xùn)練時(shí)均采用SGD優(yōu)化算法,初始學(xué)習(xí)率為0.001,在初始時(shí)的500次迭代中學(xué)習(xí)率(learning rate)按步(step)線性增加。最大迭代次數(shù)均為100個(gè)循環(huán)(epochs),在第80~90個(gè)循環(huán)時(shí),降低學(xué)習(xí)率。動(dòng)量因子(momentum)取0.9,權(quán)重衰減因子(weight decay)取0.0001。未說明的其他訓(xùn)練參數(shù)均使用MMdetection提供的默認(rèn)參數(shù)。 (3)性能評價(jià)準(zhǔn)則 為評價(jià)艦船目標(biāo)細(xì)粒度識(shí)別精度,同時(shí)便于和同類方法比較,采用MS-COCO數(shù)據(jù)集所提出的平均精確率均值(mAP)作為主要考察指標(biāo),綜合考察模型對所有類別目標(biāo)實(shí)現(xiàn)的識(shí)別精度。 在ShipRSImageNet數(shù)據(jù)集中隨機(jī)取樣開展定性試驗(yàn),結(jié)果如圖8所示。試驗(yàn)使用多標(biāo)簽一致性度量函數(shù),與Level 0分類級(jí)別保持一致時(shí)訓(xùn)練得到的模型。圖8上左為近岸民用船舶,圖8上右為密集排列多尺度船舶,圖8下左為海面小目標(biāo),圖8下右為海面軍艦4種典型場景和目標(biāo)的試驗(yàn)結(jié)果。在上述場景中,本文提出的方法均可以有效識(shí)別各類艦船目標(biāo)。 圖8 ShipRSImageNet典型場景和目標(biāo)定性識(shí)別結(jié)果 按照5.2節(jié)給出方案進(jìn)行試驗(yàn),試驗(yàn)1和試驗(yàn)2結(jié)果分別見表1和表2,加粗字體表示性能最優(yōu)值。 表1 單標(biāo)簽一致性度量函數(shù)(試驗(yàn)1)結(jié)果 表2 多標(biāo)簽一致性度量函數(shù)(試驗(yàn)2)結(jié)果 多層兼容艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)與其他類別重加權(quán)損失函數(shù)的對比試驗(yàn)結(jié)果如表3所示。 表3 MLCDet與其他方法的性能比較 對比基準(zhǔn)方法,多層兼容艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)的總參數(shù)量僅增加0.02%,推斷速度不變,詳見表4。 表4 MLCDet的總參數(shù)量與推斷速度 使用不同損失函數(shù)權(quán)重時(shí)的消融試驗(yàn)結(jié)果見表5。 表5 消融試驗(yàn)(試驗(yàn)4)結(jié)果 根據(jù)上述試驗(yàn)結(jié)果,可以得到以下主要結(jié)論。 1)改進(jìn)多標(biāo)簽一致性度量函數(shù)作為損失函數(shù)時(shí),模型識(shí)別精度顯著優(yōu)于單標(biāo)簽一致性度量函數(shù); 2)改進(jìn)多標(biāo)簽一致性度量函數(shù)和單標(biāo)簽一致性度量函數(shù)都可以提升模型識(shí)別精度,但單標(biāo)簽一致性度量函數(shù)帶來的性能增益并不顯著,而改進(jìn)多標(biāo)簽一致性度量函數(shù)可以顯著提升mAP; 3)使用改進(jìn)多標(biāo)簽一致性度量函數(shù)時(shí),選取Level 0作為分類一致層級(jí),取得最佳結(jié)果,mAP提高了1.3%; 4)同時(shí)與多個(gè)層級(jí)保持分類一致性,將會(huì)引入更多約束,同等訓(xùn)練時(shí)間情況下,帶來的mAP增益低于只與一個(gè)層級(jí)保持分類一致性的結(jié)果; 5)損失函數(shù)權(quán)重γ的取值對模型性能有較大影響; 6)改進(jìn)多標(biāo)簽一致性度量函數(shù)性能優(yōu)于類別重加權(quán)損失函數(shù)Focal loss,seesaw loss,balanced l1 loss,比GHM loss性能略低。 選用不同一致性度量函數(shù)或損失函數(shù)權(quán)重對模型復(fù)雜度和推斷速度無影響。根據(jù)試驗(yàn),模型總參數(shù)量對比faster R-CNN基準(zhǔn)網(wǎng)絡(luò),增加0.02%,推斷速度不變。 本文針對艦船目標(biāo)的層次化分類問題,建立了數(shù)學(xué)模型,提出了層間分類強(qiáng)一致性分類準(zhǔn)則,設(shè)計(jì)了單標(biāo)簽一致性度量函數(shù)和多標(biāo)簽一致性度量函數(shù)。以兩階段目標(biāo)識(shí)別網(wǎng)絡(luò)Faster R-CNN為基礎(chǔ)框架,構(gòu)建了多層級(jí)兼容艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)(MLCDet)。在ShipRSImageNet數(shù)據(jù)集上開展了充分試驗(yàn),證明了應(yīng)用層間強(qiáng)一致性分類準(zhǔn)則,可以將層次化分類體系中蘊(yùn)含的各類別隸屬關(guān)系信息作為先驗(yàn)知識(shí)用于提高艦船目標(biāo)細(xì)粒度識(shí)別精度。本文所提出的算法在無需部件級(jí)標(biāo)注信息的前提下,將mAP提高了1.3%,與此同時(shí),模型總參數(shù)量僅增加0.02%,推斷速度不變。綜上所述,利用層間分類強(qiáng)一致性分類準(zhǔn)則,通過將層間一致性度量函數(shù)納入損失函數(shù),可以將關(guān)于目標(biāo)層次化分類的先驗(yàn)知識(shí)引入神經(jīng)網(wǎng)絡(luò)的訓(xùn)練優(yōu)化過程,有助于提升目標(biāo)識(shí)別精度。其他類似的細(xì)粒度目標(biāo)識(shí)別任務(wù)也可根據(jù)已知多層級(jí)分類信息建立分類樹,應(yīng)用層間分類強(qiáng)一致性分類準(zhǔn)則和本文提出的方法以很小的資源代價(jià),有效提高識(shí)別精度。2.3 類別重加權(quán)損失函數(shù)
3 層間分類一致性準(zhǔn)則及其度量方法設(shè)計(jì)
3.1 層間一致性分類準(zhǔn)則
3.2 層間一致性分類度量函數(shù)設(shè)計(jì)









4 多層級(jí)兼容艦船目標(biāo)細(xì)粒度識(shí)別網(wǎng)絡(luò)設(shè)計(jì)


5 試驗(yàn)結(jié)果
5.1 數(shù)據(jù)集設(shè)置
5.2 試驗(yàn)設(shè)置

5.3 在ShipRSImageNet數(shù)據(jù)集的定性試驗(yàn)結(jié)果

5.4 在ShipRSImageNet數(shù)據(jù)集的定量試驗(yàn)結(jié)果





6 結(jié)論