蘇 浩,丁 勝,3,章超華
(1.武漢科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065;2.智能信息處理與實時工業(yè)系統(tǒng)湖北省重點實驗室(武漢科技大學(xué)),湖北 武漢 430065;3.福建省大數(shù)據(jù)管理新技術(shù)與知識工程重點實驗室(泉州師范大學(xué)),福建 泉州 362000)
遙感圖像具有宏觀、綜合、實時、動態(tài)、快速等特點,為地球資源調(diào)查與開發(fā)、國土整治、環(huán)境監(jiān)測以及全球性研究,提供了新的手段[1]。船只目標自動檢測技術(shù)是遙感圖像智能解譯領(lǐng)域的重要研究方向之一。船只作為一類重要的軍事和民用地物目標,其檢測識別技術(shù)在國防安全、海洋經(jīng)濟、水上交通安全和應(yīng)急救援等方面具有重要的應(yīng)用。
近年來,深度學(xué)習(xí)在圖像識別領(lǐng)域發(fā)展迅速[2],其通過多層網(wǎng)絡(luò)直接對圖像卷積和池化操作來提取圖像本質(zhì)特征,在目標檢測領(lǐng)域有突出的優(yōu)勢。特別是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)的出現(xiàn),為圖像特征提取帶來全新的解決方法。卷積神經(jīng)網(wǎng)絡(luò)不需要人為設(shè)計參數(shù),會根據(jù)海量數(shù)據(jù)和標注對數(shù)據(jù)集自行進行有效特征提取和學(xué)習(xí)[3-4]。在訓(xùn)練數(shù)據(jù)充足的條件下,模型具有良好的泛化能力,能夠在復(fù)雜多變的背景下依然保持良好的魯棒性[5]。因此,卷積神經(jīng)網(wǎng)絡(luò)模型已被廣泛應(yīng)用于圖像目標檢測與識別領(lǐng)域,并且將其用于遙感圖像的檢測任務(wù)也是目前研究的熱點。
目標檢測任務(wù)按照框架不同可以分為2類:兩階段檢測算法與單階段檢測算法。兩階段檢測算法首先通過區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network, RPN)生成區(qū)域推薦框,再對其進行進一步分類與回歸操作[6]。比較典型的算法有Fast-RCNN[7]、Faster-RCNN[8],以及在其基礎(chǔ)上改進的Mask-RCNN[9]等。單階段檢測算法一般通過卷積神經(jīng)生成特征圖,然后直接通過特征圖計算出物體的位置信息與類別信息,具有代表性的算法有YOLO[10]和SSD[11]等。
通常認為,兩階段檢測算法相當(dāng)于對物體做了2次位置預(yù)測,具有更高的精度但是耗時過長,而單階段檢測器速度較快但精度稍顯遜色。
絕大多數(shù)檢測器的檢測方法都是以多個不同大小比例的錨框(Anchor)作為物體定位的參考點,檢測效果一定程度上取決于預(yù)選Anchor的好壞程度,同時也增加了網(wǎng)絡(luò)的計算消耗。
2018年,Law等人[12]提出了CornerNet算法,它將目標檢測問題當(dāng)做關(guān)鍵點檢測問題來解決,通過檢測目標框的左上角和右下角2個關(guān)鍵點得到預(yù)測框,因此CornerNet算法中沒有錨框(Anchor)的概念,這種做法在目標檢測領(lǐng)域是比較創(chuàng)新的,且能夠取得不錯效果是很難的。
從CornerNet開始,基于錨框的Anchor-Free類的檢測算法層出不窮[13-16],隨后達到了井噴的狀態(tài),意味著目標檢測邁入了Anchor-Free時代。它憑借著簡單直觀的構(gòu)造和優(yōu)秀的檢測性能受到了工業(yè)界的青睞,也是目標檢測近年來重要的研究方向之一[17]。
2019年,Zhou等人[18]提出了CenterNet算法,其借鑒CornerNet的思想,將檢測任務(wù)建模為對物體的中心點檢測,檢測精度與速度較主流兩階段和單階段檢測算法有不少提升。因其結(jié)構(gòu)簡單、功能強大,亦可用于人體姿態(tài)估計[19]和3D目標檢測,迅速在目標檢測領(lǐng)域引起了廣泛討論。
與通常從水平視角拍攝的自然圖像不同,遙感影像通常采用鳥瞰視角拍攝,這意味著圖像中的物體始終是具有任意方向的。特別是當(dāng)在遙感影像中檢測密集的物體時,用于普通目標檢測的水平邊界框的方法經(jīng)常與橫縱比較大的車輛、船只等物體不匹配,這將導(dǎo)致最終目標分類置信度和定位精度之間存在偏差[20]。而輸出具有方向性的旋轉(zhuǎn)邊界框的目標檢測方法能較好地改進這個問題。因此,研究使用輸出旋轉(zhuǎn)邊界框的目標檢測框架用于遙感目標檢測具有十分重要的意義。
2017年,Ma等人[21]在Faster-RCNN的基礎(chǔ)上提出了旋轉(zhuǎn)區(qū)域候選網(wǎng)絡(luò)(Rotation Region Proposal Networks, RRPN),可以生成具有方向角信息的傾斜候選框,用于檢測自然場景中任意方向的文本信息。該算法在RPN網(wǎng)絡(luò)采用旋轉(zhuǎn)anchor生成具有方向參數(shù)的建議區(qū)域(Rotation Region-Of-Interest, RROI),并提出了RROI池化層,能將具有方向角度的建議區(qū)域映射到特征圖上,實現(xiàn)能輸出旋轉(zhuǎn)候選框的目標檢測框架。隨后,Jiang等人[22]提出了旋轉(zhuǎn)區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Rotational Region CNN, R2CNN),在RRPN的基礎(chǔ)上修改了角度參數(shù)的表示方法,舍去了旋轉(zhuǎn)anchor以精簡網(wǎng)絡(luò)參數(shù),并且在池化層根據(jù)待檢測目標橫縱比較大的特性,額外添加了3×11和11×3這2種池化尺寸,最后在全連接層中保留水平邊界框的預(yù)測支路,進一步提升了網(wǎng)絡(luò)的性能。
旋轉(zhuǎn)框目標檢測框算法在一些遙感數(shù)據(jù)集[23]中取得了較好的結(jié)果,但適用于該框架的數(shù)據(jù)集標注相比普通的輸出水平邊界框算法增加了用于表示方向的參數(shù)。目前仍然有遙感數(shù)據(jù)集僅有水平邊界框標注,無法直接適用于旋轉(zhuǎn)框目標檢測框架。若重新手動為其標注適用于旋轉(zhuǎn)框檢測的標簽,則存在工作量較大、成本較高等問題。
針對上述問題,本文在CenterNet的基礎(chǔ)上加入旋轉(zhuǎn)角度預(yù)測分支,使其成為旋轉(zhuǎn)框目標檢測器,本文將其命名為CenterNet-R,用于遙感圖像中的船只目標檢測,并提出一種主動遷移學(xué)習(xí)方法,在僅有水平框標注的遙感圖像數(shù)據(jù)集上,完成能檢測海上任意方向船只目標的學(xué)習(xí)任務(wù)。
CenterNet是Zhou等人[18]在2019年提出的單階段Anchor-Free目標檢測器,其在CornerNet角點檢測器的基礎(chǔ)上發(fā)展而來。其思路是將待檢測目標建模為一個點對象,通過提取網(wǎng)絡(luò)最后的熱力圖上的峰值點來得到目標的中心點,并且同時回歸出物體的邊框大小等信息。它的特點是結(jié)構(gòu)簡單且性能優(yōu)異。
一般的水平框目標檢測算法采用x,y,w,h這4個值表示水平候選框,即矩形邊框的中心點的坐標、框?qū)挾扰c高度,通過這4個參數(shù)很容易計算水平框各個頂點的坐標。
在本文中,使用x,y,w,h,θ這5個值代表旋轉(zhuǎn)框,其分別為旋轉(zhuǎn)框中心點的橫縱坐標、框的寬度、高度和旋轉(zhuǎn)角度。旋轉(zhuǎn)角度θ定義為將水平軸沿逆時針方向旋轉(zhuǎn),相對于矩形遇到的第一條邊所旋轉(zhuǎn)的角度,同時將此邊定義為寬w,另一條邊定義為高h,如圖1所示。為了符合一般性的表述,本文作如下處理:如果w的值小于h的值,那么交換w與h的值,并將θ的值在原描述上加上90°,即:
圖1 旋轉(zhuǎn)框角度定義
(1)
對于旋轉(zhuǎn)框在水平位置處的采樣點坐標(xh,yh),可由如下公式將其轉(zhuǎn)換為旋轉(zhuǎn)框中的坐標(x,y):
(2)
其中,cx與cy分別為中心點的橫縱坐標。
CenterNet-R可分為特征提取網(wǎng)絡(luò)和檢測頭2個部分。特征提取網(wǎng)絡(luò)可使用殘差網(wǎng)絡(luò)(Residual)、深層聚合網(wǎng)絡(luò)(Deep Layer Aggregation, DLA)或者沙漏網(wǎng)絡(luò)(Hourglass,HG)[24]等不同結(jié)構(gòu),其中沙漏網(wǎng)絡(luò)精度最高但速度較慢。特征提取網(wǎng)絡(luò)將輸出的特征圖送入檢測頭部,網(wǎng)絡(luò)會在每個位置輸出85個值,所有輸出共享一個全卷積的Backbone。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,將一張圖片輸入到特征提取網(wǎng)絡(luò)后,得到一張?zhí)卣鲌D。然后在特征圖上作4個分支預(yù)測,分別是關(guān)鍵點預(yù)測、中心點偏移預(yù)測、目標尺寸預(yù)測和旋轉(zhuǎn)角度預(yù)測,最后通過解碼得到目標的分類與位置信息。網(wǎng)絡(luò)最后的熱力圖對原圖做了4倍下采樣,大小為128×128,一共有85維。其中80維(與參考文獻[18]設(shè)置相同)用于分類預(yù)測和中心點預(yù)測,每一維代表一個分類,每一張熱力圖上的峰值點即代表該類物體預(yù)測的中心點。剩下的5維即代表中心點的偏移、尺寸大小和旋轉(zhuǎn)角度。
圖2 CenterNet-R網(wǎng)絡(luò)結(jié)構(gòu)
在深度學(xué)習(xí)中,決定網(wǎng)絡(luò)性能好壞的主要因素就是特征的好壞。對于目標檢測一般而言,較淺的網(wǎng)絡(luò)具有豐富的位置信息;網(wǎng)絡(luò)越深,提取的特征就越抽象,語義信息也就越豐富。在本文的旋轉(zhuǎn)框檢測器中,為了追求精度,使用的特征提取網(wǎng)絡(luò)是沙漏網(wǎng)絡(luò)Hourglass-104。沙漏網(wǎng)絡(luò)結(jié)構(gòu)最初用于人體姿態(tài)估計任務(wù),隨著技術(shù)的發(fā)展,研究者們證實該網(wǎng)絡(luò)模型在目標檢測任務(wù)中也具有較高的精度[12,18],但仍具有速度較慢的缺點。該網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò),重復(fù)使用自底向上和自頂向下的多尺度特征信息,并聯(lián)合多個中間結(jié)果的監(jiān)督機制,來提高特征的精細程度。沙漏塊是其主要組成部分,可以進行堆疊串聯(lián),其結(jié)構(gòu)如圖3所示。每一個沙漏塊包含數(shù)個連接通路,負責(zé)把兩端的特征融合。融合方式是在沙漏兩端取出大小與通道完全相同的特征圖進行融合,融合方式為“⊕”,即通道拼接(concatenate)操作。
圖3 沙漏塊結(jié)構(gòu)
(3)
其中,px和py分別是中心點p的橫縱坐標,δp是標準差,與目標的長寬相關(guān)。每個類別C單獨使用一個通道,如果同類別高斯分布產(chǎn)生重疊,取最大值。
網(wǎng)絡(luò)的損失函數(shù)包含4個部分,分別是熱力圖中心點損失Lk、物體長寬預(yù)測損失Lsize、中心點偏移損失Loff和旋轉(zhuǎn)角度損失Lang,即:
Ldet=Lk+λsizeLsize+λoffLoff+λangLang
(4)
中心點損失是對Focal Loss[25]的改寫,用來均衡難易樣本和正負樣本,其公式為:
(5)
物體長寬損失采用的L1 loss公式為:
(6)
(7)
旋轉(zhuǎn)角度損失同樣采用L1 loss,公式為:
(8)
λsize、λoff與λang為常數(shù)因子,在本文中均設(shè)為0.1。
遷移學(xué)習(xí)是機器學(xué)習(xí)領(lǐng)域用于解決標記數(shù)據(jù)難獲取的這一基礎(chǔ)問題的重要手段,其目的在于將已有的知識恰當(dāng)?shù)匾氲叫骂I(lǐng)域中。遷移學(xué)習(xí)的形式化定義為:給定一個源域DS和源域上的學(xué)習(xí)任務(wù)TS,目標域DT和目標域上的學(xué)習(xí)任務(wù)TT,利用DS和TS學(xué)習(xí)在目標域上的預(yù)測函數(shù)f(?),限制條件為DS≠DT或TS≠TT。
在基于深度學(xué)習(xí)的目標檢測領(lǐng)域中,機器學(xué)習(xí)一直面臨著可用樣本不足等問題。大多數(shù)情況下,標簽數(shù)據(jù)的獲取成本很高,而未標記的數(shù)據(jù)則很容易獲取且數(shù)量眾多[26]。在真實的數(shù)據(jù)分析場景中,數(shù)據(jù)標注的代價通常較大。因此為了盡可能減少標注成本,在機器學(xué)習(xí)領(lǐng)域中,本文提出主動學(xué)習(xí)(active learning)方法。主動學(xué)習(xí)的過程可表示為:給定已標注的數(shù)據(jù)集L(初始可能為空)、未標注的數(shù)據(jù)集U和一組或一個分類器C,通過查詢函數(shù)Q從未標注的樣本池U中查詢信息,并存在督導(dǎo)者S可為U中樣本標注正確的標簽。學(xué)習(xí)者通過少量初始標記樣本L開始學(xué)習(xí),通過一定的查詢函數(shù)Q選擇一個或一批最有用的樣本,并向督導(dǎo)者S詢問標簽,然后利用獲得的新知識來訓(xùn)練分類器和進行下一輪查詢。主動學(xué)習(xí)是一個循環(huán)的過程,直至達到某一停止準則為止。
本文需要遷移的數(shù)據(jù)是2017年CCF大數(shù)據(jù)與計算智能大賽(BDCI)主辦方方一信息科技公司提供的海上船只圖像,圖像共有貨船、游艇、游輪等3類船只目標,其包含水平框標注的訓(xùn)練樣本共有13668張。中間數(shù)據(jù)集采用由旋轉(zhuǎn)框標注的大型公開數(shù)據(jù)DOTA[23]數(shù)據(jù)集。該數(shù)據(jù)集包含不同傳感器和設(shè)備采集的2806張圖像,選取其中一半的圖像作為訓(xùn)練集,1/6的圖像為驗證集,1/3的圖像作為測試集,其中測試集標注不公開,含有各種尺度、方向和形狀的遙感目標。標注目標有飛機、棒球場、橋梁、田徑場、小型車輛、大型車輛、船舶、網(wǎng)球場、籃球場、儲油罐、足球場、環(huán)形車道、港口、游泳池和直升機15個目標。
在本文中,源域DS為包含船只目標及其水平框標簽的遙感圖像數(shù)據(jù)集,目標域DT為同一遙感圖像數(shù)據(jù)集,其標簽信息為旋轉(zhuǎn)框標簽;目標域上的學(xué)習(xí)任務(wù)TT為在該數(shù)據(jù)集上習(xí)得能輸出旋轉(zhuǎn)框的包含細類分類的船只目標檢測方法。
本文采用主動學(xué)習(xí)的方法,初始狀態(tài)將DOTA作為已標注的數(shù)據(jù)集L,而目標數(shù)據(jù)集BDCI為未標注的數(shù)據(jù)集U,分類器C為CenterNet-R神經(jīng)網(wǎng)絡(luò),下文所提出的約束篩選算法為監(jiān)督者S。
本文方法總體結(jié)構(gòu)如圖4所示。該方法首先采用CenterNet-R旋轉(zhuǎn)框目標檢測算法在中間數(shù)據(jù)集上訓(xùn)練出檢測模型,使其能識別船只,充當(dāng)查詢函數(shù)Q。然后使用該模型直接對原始數(shù)據(jù)集BDCI進行檢測,只保留船只類目標的預(yù)測結(jié)果。
圖4 方法框架
由于數(shù)據(jù)集不同,因此該模型直接檢測精度較低,但是仍有少量圖片具有較好的檢測效果。接下來結(jié)合原始數(shù)據(jù)集的水平框真實標簽使用水平框-旋轉(zhuǎn)框約束篩選算法,篩選出檢測效果較好的圖片及其對應(yīng)的旋轉(zhuǎn)框標簽,將其加入L集合中,繼續(xù)訓(xùn)練網(wǎng)絡(luò)。再次訓(xùn)練后的模型,精度會有所提升,也能輸出更多符合要求的圖片及其對應(yīng)的旋轉(zhuǎn)框標簽。然后重復(fù)圖4的過程②~過程⑤,直至篩選出原始數(shù)據(jù)集中絕大多數(shù)符合要求的圖片及其旋轉(zhuǎn)框標簽。即使待檢測的圖片數(shù)據(jù)包含部分訓(xùn)練集樣本,模型也難以達到百分之百的準確率。對于還剩下的少量圖片,可由人工手動標注。最后,對處理完成的圖片,結(jié)合原始數(shù)據(jù)集的真實標簽,使用類別匹配算法,將“船只”這一粗類目標替換為“貨船”“游艇”“游輪”等細類分類目標,完成對數(shù)據(jù)集的旋轉(zhuǎn)框標簽標注任務(wù)。
遷移學(xué)習(xí)的核心在于選擇合適的源任務(wù)添加進訓(xùn)練集中[27]。本文提出的篩選算法在主動學(xué)習(xí)過程中扮演督導(dǎo)者的角色,旨在篩選出檢測效果最接近地面真值(Ground Truth)的圖片加入訓(xùn)練集。在迭代過程中,對于每個目標,檢測網(wǎng)絡(luò)輸出的預(yù)測框和真實框的可能偏移情況如圖5所示,橢圓代表船只目標,實線矩形為水平框地面真值,虛線矩形為旋轉(zhuǎn)預(yù)測框。由于無法獲取旋轉(zhuǎn)框地面真值,因此只能根據(jù)水平框地面真值坐標對預(yù)測框進行約束。
圖5 旋轉(zhuǎn)框預(yù)測偏移
圖5(b)為預(yù)測框位置信息偏移過大的情況,首先可通過預(yù)測框中點坐標與水平真值框中點坐標的歐氏距離△d1進行判別。圖5(c)為預(yù)測框中心點位置信息正確,但旋轉(zhuǎn)角度與待檢測目標偏移過大。理想情況下旋轉(zhuǎn)框的旋轉(zhuǎn)角度值應(yīng)與水平真值框的對角線的旋轉(zhuǎn)角度值接近,因此可通過旋轉(zhuǎn)框相對水平坐標的傾斜角度θp與水平真值框的對角線傾斜角度θg的差值Δθ進行判別。在中心點偏移和角度偏移符合要求的情況下,預(yù)測框還可能出現(xiàn)過長、過短、過寬或者過窄等情況。從圖5(a)可以看出,理想情況下旋轉(zhuǎn)框的短邊應(yīng)與水平框的對應(yīng)頂點較為接近。由于對稱特性,在中心點匹配的情況下可以通過計算短邊中點坐標Mp與其對應(yīng)水平真值框頂點Vg的最小歐氏距離△d2進行判斷,當(dāng)一個中點接近真實水平框頂點時,另一邊也不會產(chǎn)生偏移過大的情況。由于船只目標具有橫縱比較大的特性,對于預(yù)測框?qū)挾绕频那闆r,在其長度確定的情況下可通過其寬wp與長hp的比值r來進行約束,使其不會產(chǎn)生過大的偏差。圖6展示了篩選結(jié)果,其中水平邊界框為Ground-Truth,旋轉(zhuǎn)邊界框為預(yù)測框。
圖6 篩選效果
具體算法如算法1所示。
算法1 水平框-旋轉(zhuǎn)框約束篩選過程
輸入:圖像與其對應(yīng)水平真值框坐標集合S,旋轉(zhuǎn)預(yù)測框坐標集合P
輸出:圖像與其對應(yīng)的精確的旋轉(zhuǎn)框坐標集合D
1.FOR數(shù)據(jù)集每張圖片DO
2.計算圖片的真實船只目標數(shù)量ng,檢測船只目標數(shù)量np
3.IFnp>=ngDO
4.將水平真實框坐標與旋轉(zhuǎn)預(yù)測框坐標按照中心點歐氏距離最近原則一一對應(yīng),舍去多余的未與水平真實框坐標對應(yīng)的預(yù)測框坐標。
5.i=0
6.FOR圖片中的每個目標DO
7.IF △d1 8.IF |θp-θg|<αDO 9.IF△d2 11.i+=1 12.IFi==ngDO 13.將該圖片與旋轉(zhuǎn)框坐標加入集合D。 14.returnD 對于算法中各個參數(shù)的選取,本文從原始數(shù)據(jù)集中每個類別隨機選取100個目標手動測量其寬的值和高與寬的比值作為參考,結(jié)果如圖7和圖8所示。 圖7 船只目標寬度 圖8 船只目標高與寬的比值 從圖7和圖8可以看出數(shù)據(jù)集中的小目標特別是游艇類小目標長度較短,但寬與長的比值較貨船和游輪類目標大。本文以預(yù)測寬度為125 px作為大目標與小目標的分界點,對大小目標的篩選要求不同,具體參數(shù)如表1所示。 表1 篩選算法參數(shù)選取 訓(xùn)練所使用的中間數(shù)據(jù)集只有“船只”這一粗類目標,但原始數(shù)據(jù)集中船包含“貨船”“游艇”“游輪”等細類船只目標,在獲取完數(shù)據(jù)集目標的精確坐標信息后,需要將目標的坐標信息與其對應(yīng)的細類類別進行匹配,才能完成最終的數(shù)據(jù)集標簽遷移任務(wù)。由于在篩選過程中已經(jīng)完成預(yù)測框與真實框的中心點的配對,只需將地面真值的細類別分類分配給中心點對應(yīng)的預(yù)測框,即可完成對圖片的自動化標注,過程如圖9所示。 圖9 類別匹配示意圖 本文實驗所使用的設(shè)備是64位Ubuntu 16.04.6 LTS操作系統(tǒng)的服務(wù)器,CPU型號為Intel Xeon E5-2683 v3,GPU型號為NVIDIA GeForce GTX2080Ti,顯存為12 GB。軟件配置為Cuda 10.0和Cudnn 7.5.0。使用深度學(xué)習(xí)框架為Pytorch 1.2.0版本,編程語言為Python 3.6.6。 BDCI數(shù)據(jù)集分為清晰和非清晰2種場景,非清晰場景主要干擾為云、雨、霧等,圖像分辨率為1024×1024。該數(shù)據(jù)集所有圖片均使用文獻[28]的方法進行清晰篩選與去霧處理。對于DOTA數(shù)據(jù)集,圖像分辨率范圍是800×800到4000×4000,為降低resize對高分辨率圖像中小目標的影響,在訓(xùn)練時采用類似滑動窗口的方法,統(tǒng)一將所有圖像裁剪為512×512的子圖像,重疊為256 px。 本文實驗訓(xùn)練采用512×512分辨率作為圖像輸入。訓(xùn)練采用Adam優(yōu)化器,BatchSize設(shè)置為16,初始學(xué)習(xí)率設(shè)置為0.000125??傆?xùn)練輪數(shù)為50個epochs,每訓(xùn)練10個epochs將學(xué)習(xí)率降低至原來的0.1倍。 本文的迭代實驗結(jié)果如表2所示。 表2 迭代結(jié)果 從表2可以看出,在第0次迭代,也就是訓(xùn)練集僅包含中間數(shù)據(jù)集DOTA時,直接對BDCI數(shù)據(jù)集檢測的精度非常低,僅有8.61%的背景簡單、目標單一的圖片符合要求。在將少量源任務(wù)的圖片加入訓(xùn)練集后(第1次迭代),檢測精度獲得明顯的提升,符合篩選條件的圖片達到3196張。在訓(xùn)練集獲取足夠的樣本,即第2次迭代后,檢測精度再一次提升,符合條件的圖片達8891張。由于原始水平框標簽本身標注不夠精準,且篩選算法存在誤差和檢測器性能等原因,僅能對簡單場景下的圖像完成篩選,對于一些復(fù)雜場景的圖像識別精度和篩選效率還不夠高,所以在迭代3次后就逐漸達到了瓶頸值。但得益于卷積神經(jīng)網(wǎng)絡(luò)強大的特征提取能力,即使在部分旋轉(zhuǎn)框標注存在誤差的條件下,依然能準確預(yù)測半數(shù)以上的數(shù)據(jù)集圖像。本文最終迭代5次,對源數(shù)據(jù)集13668張圖片中的8965張進行了旋轉(zhuǎn)框自動化標注工作。 為了驗證文本自動化標注的旋轉(zhuǎn)框的有效性,本文將標注完成的8950張圖片作為訓(xùn)練集,使用預(yù)訓(xùn)練模型重新進行訓(xùn)練。在剩余的未標注的4718張圖片中隨機選取1000張作為驗證集,1000張作為測試集,人工手動為其標注旋轉(zhuǎn)框標簽,以驗證模型的精度。訓(xùn)練的損失曲線如圖10所示。 從圖10可以看出loss在不斷震蕩后,最終約在訓(xùn)練42個epochs后收斂。圖11為該模型的檢測效果展示。 圖10 訓(xùn)練損失函數(shù) 圖11 CenterNet-R檢測效果展示 本文使用mAP(mean Average Precision)對模型識別精度進行定量評價,mAP值越大說明網(wǎng)絡(luò)的性能越好。在計算mAP時,會計算預(yù)測坐標與真實坐標的IOU值,大于某一閾值時則認為檢測結(jié)果正確,反之為錯誤結(jié)果。IOU代表預(yù)測框和真實框的交并比,即: 本文選擇的IOU閾值為0.5,也是旋轉(zhuǎn)框目標檢測器的常用設(shè)置。mAP的計算公式為: (9) 其中,n是目標類別數(shù),AP是每個類別的平均精度,即召回率-準確率曲線下所包圍的面積。召回率計算公式為: (10) 其中,M為預(yù)測正確目標個數(shù),K為數(shù)據(jù)集該類目標的總個數(shù)。 準確率計算公式為: (11) 其中,M為預(yù)測正確目標個數(shù),N為模型檢測出該類目標的總個數(shù)。 除CenterNet-R實驗外,本文還將該部分數(shù)據(jù)集與其他常用深度學(xué)習(xí)檢測算法對比,結(jié)果如表3所示。其中HBB(Horizontal Bounding Box)表示水平框檢測器,OBB(Oriented Bounding Box)表示旋轉(zhuǎn)框檢測器。 表3 檢測精度對比 從檢測結(jié)果可以看出本文的旋轉(zhuǎn)框檢測器CenterNet-R模型在測試集上的精度明顯優(yōu)于其他旋轉(zhuǎn)框檢測器,AP50達到了90.41%。圖12展示了CenterNet-R與R2CNN的檢測效果對比,可以看出,相比于R2CNN檢測器,CenterNet-R得益于沙漏網(wǎng)絡(luò)的多尺度特征提取能力,對游艇類小目標的檢測更具有優(yōu)勢。同時CenterNet的水平框檢測精度也比其他檢測器較優(yōu),且旋轉(zhuǎn)框檢測器僅比水平框檢測器低了1.24個百分點。這些檢測結(jié)果說明文本的方法可以有效地應(yīng)用于海上船只目標檢測任務(wù)中,大大節(jié)省了人工重新標注旋轉(zhuǎn)框標簽的成本,并可進一步用于探究對船只目標航行方向的預(yù)測。 圖12 檢測結(jié)果對比 本文在常規(guī)的Anchor-Free單階段目標檢測器CenterNet上額外添加了預(yù)測旋轉(zhuǎn)角度的分支,使其成為旋轉(zhuǎn)框目標檢測器,且在遙感圖像的檢測任務(wù)中精度優(yōu)于其他旋轉(zhuǎn)框目標檢測算法。同時提出了一種主動遷移學(xué)習(xí)的自動化標注方法,在僅有水平框標注的遙感船只數(shù)據(jù)集上,完成了對海上任意方向船只目標的旋轉(zhuǎn)框檢測任務(wù),節(jié)省了人工重新標注標簽信息的成本,具有一定的工業(yè)應(yīng)用前景。但本文方法仍然存在檢測器速度較慢和篩選方法不夠完善等問題。下一步會在提升網(wǎng)絡(luò)速度和將遷移方法應(yīng)用到其他目標檢測領(lǐng)域這2個方面進行更深入的研究。2.3 類別匹配
3 實驗結(jié)果分析
3.1 實驗設(shè)置及數(shù)據(jù)預(yù)處理
3.2 標簽生成
3.3 檢測結(jié)果對比
4 結(jié)束語