陳慶林,谷 雨,宋忠浩,聶圣東
杭州電子科技大學(xué) 自動(dòng)化學(xué)院,杭州310018
近年來(lái),深度學(xué)習(xí)技術(shù)發(fā)展迅速,由于深度學(xué)習(xí)技術(shù)需要大數(shù)據(jù)的支撐,獲取大量具有樣本多樣性的帶標(biāo)簽訓(xùn)練數(shù)據(jù)集是深度學(xué)習(xí)技術(shù)取得優(yōu)異性能的關(guān)鍵。
圖像訓(xùn)練數(shù)據(jù)集主要通過(guò)圖像標(biāo)注等方法獲得,標(biāo)注任務(wù)就是在圖片中標(biāo)出感興趣目標(biāo)的位置區(qū)域和所屬的類別,分為手動(dòng)標(biāo)注和自動(dòng)標(biāo)注兩類[1]。傳統(tǒng)的手動(dòng)標(biāo)注每次只能對(duì)單張圖像中的目標(biāo)位置和標(biāo)簽進(jìn)行標(biāo)注,效率較低[2]。若采用類似ImageNet[3]數(shù)據(jù)集眾包的方式,成本較大,標(biāo)注的質(zhì)量還可能參差不齊,最終影響訓(xùn)練模型的性能。
隨著我國(guó)艦船裝備的快速發(fā)展,海上艦船檢測(cè)與跟蹤具有重要的軍事戰(zhàn)略意義,多種基于深度學(xué)習(xí)的海上艦船目標(biāo)檢測(cè)算法[4-6]被相繼提出。由于深度學(xué)習(xí)技術(shù)需要大數(shù)據(jù)的支撐,因此從大量的艦船視頻中獲取訓(xùn)練數(shù)據(jù)對(duì)提升艦船檢測(cè)算法的性能具有重要意義。與飛機(jī)和艦船的單張遙感圖像或SAR 圖像不同,視頻中有大量連續(xù)的圖像幀,目標(biāo)信息具有冗余性,采用人工標(biāo)注的方式耗時(shí)耗力,可以利用視頻中的目標(biāo)具有時(shí)空連續(xù)性的特點(diǎn),設(shè)計(jì)自動(dòng)標(biāo)注的方法。
在視頻目標(biāo)自動(dòng)標(biāo)注技術(shù)中,需要解決的問(wèn)題有:(1)快速準(zhǔn)確地連續(xù)定位待標(biāo)注目標(biāo)的位置區(qū)域。(2)為了減少人工參與,提高標(biāo)注效率,還需要自動(dòng)判斷待標(biāo)注目標(biāo)從視野中消失從而停止標(biāo)注。(3)自動(dòng)地從大量冗余的視頻幀中提取出少量合適的關(guān)鍵幀,并保證生成數(shù)據(jù)集的樣本多樣性。
文獻(xiàn)[7]提出一種視頻標(biāo)注方法,先對(duì)不相鄰的兩個(gè)視頻幀中的運(yùn)動(dòng)目標(biāo)進(jìn)行標(biāo)注,利用運(yùn)動(dòng)目標(biāo)在視頻中的連續(xù)性特點(diǎn),通過(guò)插值法計(jì)算得到目標(biāo)的標(biāo)注信息。文獻(xiàn)[8]提出一種基于目標(biāo)跟蹤的半自動(dòng)圖像標(biāo)注樣本生成方法,通過(guò)目標(biāo)跟蹤算法生成一系列標(biāo)注樣本,最后通過(guò)人工標(biāo)注來(lái)輔助確認(rèn),生成標(biāo)注樣本,但該方法在自動(dòng)標(biāo)注的過(guò)程中會(huì)發(fā)生跟蹤漂移的現(xiàn)象。文獻(xiàn)[9]提出一種基于運(yùn)動(dòng)匹配的視頻自動(dòng)標(biāo)注方法及自動(dòng)標(biāo)注系統(tǒng),該系統(tǒng)根據(jù)目標(biāo)運(yùn)動(dòng)特征和傳感器運(yùn)動(dòng)特征的匹配結(jié)果進(jìn)行視頻目標(biāo)標(biāo)注,但該方法標(biāo)注不夠精確,且會(huì)標(biāo)注出非目標(biāo)的運(yùn)動(dòng)物體。
當(dāng)前,目標(biāo)檢測(cè)算法和目標(biāo)跟蹤算法層出不窮,但是融合兩種算法用于視頻目標(biāo)標(biāo)注的工作較少,實(shí)時(shí)的目標(biāo)檢測(cè)算法可以快速準(zhǔn)確地確定待標(biāo)注目標(biāo)的位置區(qū)域并修正跟蹤算法的跟蹤漂移;跟蹤算法具有時(shí)空連續(xù)性的特點(diǎn),可以解決檢測(cè)漏檢的問(wèn)題并保持標(biāo)注目標(biāo)身份一致。
深度學(xué)習(xí)發(fā)展極大地提升了目標(biāo)檢測(cè)的精度。RCNN(Region Convolutional Neural Networks)[10]目標(biāo)檢測(cè)算法結(jié)合選擇性搜索算法、卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等方法,較當(dāng)時(shí)最好檢測(cè)結(jié)果有30%的提升。Fast-RCNN[11]對(duì)原結(jié)構(gòu)進(jìn)行改進(jìn),將特征提取和分類合并到同一個(gè)神經(jīng)網(wǎng)絡(luò)。Faster-RCNN[12]提出區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)產(chǎn)生建議窗口,卷積網(wǎng)絡(luò)和Fast-RCNN部分共享,實(shí)現(xiàn)了端到端的訓(xùn)練和檢測(cè)。SSD(Single Shot MultiBox Detector)[13]和YOLO(You Only Look Once)[14]系列等單階段檢測(cè)算法將檢測(cè)問(wèn)題看做回歸問(wèn)題,實(shí)時(shí)性有了較大提升,但SSD 檢測(cè)算法不適用于檢測(cè)小目標(biāo),YOLO v3[15]檢測(cè)算法借鑒殘差網(wǎng)絡(luò)思想并采用多尺度特征,是速度和精度較好的目標(biāo)檢測(cè)算法。
目標(biāo)跟蹤算法利用時(shí)空連續(xù)性對(duì)目標(biāo)狀態(tài)進(jìn)行估計(jì)。KCF(Kernelized Correlation Filters)[16]跟蹤算法在MOSSE(Minimum Output Sum of Squared Error)[17]跟蹤算法的基礎(chǔ)上使用HOG(Histogram of Gradient)[18]擴(kuò)展了多通道特征,并把特征映射到高維空間,提高了跟蹤算法精度,但算法不能適應(yīng)目標(biāo)尺度變化。HCF(Hierarchical Convolutional Features)[19]跟蹤算法使用深度特征代替?zhèn)鹘y(tǒng)的手工特征,提升了跟蹤魯棒性,但跟蹤速度較慢。SiamFC(Siamese Fully-Convolutional)[20]使用孿生神經(jīng)網(wǎng)絡(luò)提取目標(biāo)區(qū)域和搜索區(qū)域的深度特征,通過(guò)計(jì)算相似度的方法跟蹤目標(biāo)。SiamRPN(Siamese Region Proposal Network)[21]提出了孿生網(wǎng)絡(luò)與RPN網(wǎng)絡(luò)相結(jié)合的方法,實(shí)現(xiàn)多長(zhǎng)寬比尺度的目標(biāo)跟蹤。SiamMask(Siamese Mask)[22]在網(wǎng)絡(luò)上增加Mask損失分支,在目標(biāo)跟蹤的同時(shí)實(shí)現(xiàn)目標(biāo)的分割?;趯\生網(wǎng)絡(luò)的跟蹤算法對(duì)于外觀相似的物體缺少判別性,在應(yīng)用于海上艦船等視頻中目標(biāo)外觀相似的場(chǎng)景時(shí),跟蹤算法極易跟蹤到錯(cuò)誤的目標(biāo)上。
關(guān)鍵幀是視頻中具有代表性的圖像幀,能夠起到信息壓縮的作用。文獻(xiàn)[23]提出了基于相關(guān)系數(shù)的關(guān)鍵幀提取算法,但算法中閾值不能自動(dòng)選取。文獻(xiàn)[24]提出了一種在鏡頭邊界檢測(cè)之后再進(jìn)行視頻幀聚類的方法來(lái)提取關(guān)鍵幀。文獻(xiàn)[25]提出了一種多特征融合,在目標(biāo)顯著值最大值處提取關(guān)鍵幀的方法?;诰垲惖年P(guān)鍵幀提取方法僅考慮視頻幀的整體變化信息,沒(méi)有考慮視頻中目標(biāo)豐富的變化信息,因此基于目標(biāo)顯著性的關(guān)鍵幀提取方法更適用于建立目標(biāo)檢測(cè)數(shù)據(jù)集。
針對(duì)視頻圖像連續(xù)幀間的目標(biāo)具有冗余性,采用手動(dòng)標(biāo)注方式耗時(shí)耗力的問(wèn)題,本文的主要工作包括以下三個(gè)方面:(1)提出一種融合檢測(cè)和跟蹤算法的半自動(dòng)標(biāo)注框架,僅需第一幀手動(dòng)標(biāo)注出目標(biāo)位置區(qū)域和類別,后續(xù)幀融合檢測(cè)和跟蹤算法實(shí)現(xiàn)自動(dòng)標(biāo)注并在目標(biāo)消失后自動(dòng)停止標(biāo)注。(2)應(yīng)用于海上艦船等視頻中的小目標(biāo)或尺度變化較大的目標(biāo)時(shí),對(duì)采用的YOLOv3檢測(cè)算法和KCF 跟蹤算法進(jìn)行了改進(jìn),提升了目標(biāo)檢測(cè)算法對(duì)小目標(biāo)的檢測(cè)能力和跟蹤算法的尺度自適應(yīng)能力。(3)提出一種基于目標(biāo)顯著性的關(guān)鍵幀提取算法,選擇能反映目標(biāo)尺度、角度、光照等變化的關(guān)鍵幀,保證生成數(shù)據(jù)集的樣本多樣性。實(shí)驗(yàn)結(jié)果表明,本文提出的方法可以顯著提高標(biāo)注效率,能夠快速生成標(biāo)注數(shù)據(jù),適用于海面艦船等場(chǎng)景的視頻目標(biāo)標(biāo)注任務(wù)。
融合檢測(cè)和跟蹤算法的半自動(dòng)視頻目標(biāo)標(biāo)注框架,其原理圖如圖1所示。
圖1 半自動(dòng)視頻目標(biāo)標(biāo)注框圖
首先在視頻圖像中選定某一幀為初始幀,手動(dòng)標(biāo)記目標(biāo)的位置區(qū)域并確定目標(biāo)的類別標(biāo)簽。在后續(xù)幀中,融合基于圖像的目標(biāo)檢測(cè)算法和基于圖像序列的視頻目標(biāo)跟蹤算法確定目標(biāo)在下一幀中的位置,并根據(jù)目標(biāo)跟蹤算法的響應(yīng)圖判斷目標(biāo)標(biāo)注是否結(jié)束。若不結(jié)束,繼續(xù)估計(jì)目標(biāo)在視頻圖像中的位置,若結(jié)束,根據(jù)每一幀目標(biāo)的顯著值大小,提取一定數(shù)量的視頻關(guān)鍵幀,得到該目標(biāo)標(biāo)注結(jié)果并準(zhǔn)備開始下一個(gè)目標(biāo)的標(biāo)注。其中融合檢測(cè)和跟蹤確定下一幀目標(biāo)位置的原理如圖2所示。
圖2 融合檢測(cè)和跟蹤方法框圖
在線標(biāo)注前需使用手動(dòng)標(biāo)注的訓(xùn)練樣本對(duì)檢測(cè)模型進(jìn)行離線訓(xùn)練。融合檢測(cè)和跟蹤結(jié)果時(shí),首先判斷圖像幀中是否含有檢測(cè)框,若沒(méi)有則輸出的目標(biāo)框?yàn)楦櫩?。若有一個(gè)或多個(gè)檢測(cè)框,則需要計(jì)算跟蹤框和每一個(gè)檢測(cè)框的IOU(Intersection-Over-Union)值,進(jìn)而篩選出最大IOU值。若該最大IOU值大于閾值,則目標(biāo)框?yàn)閷?duì)應(yīng)最大IOU值的檢測(cè)框,并用該檢測(cè)框修正跟蹤框,否則為跟蹤框。
IOU值是用來(lái)評(píng)價(jià)當(dāng)前幀跟蹤框與檢測(cè)框的重合度,其公式如下:
其中,SI表示同一幀下跟蹤框與某一檢測(cè)框的重疊部分面積,SU表示同一幀下跟蹤框與該檢測(cè)框的總面積減去重疊面積。
1.2.1 YOLO v3目標(biāo)檢測(cè)算法
為了滿足視頻標(biāo)注技術(shù)中實(shí)時(shí)性和準(zhǔn)確性的需求,本文采用YOLO v3檢測(cè)算法。該算法包括特征提取網(wǎng)絡(luò)Darknet-53 和多尺度預(yù)測(cè)網(wǎng)絡(luò),Darknet-53 網(wǎng)絡(luò)采用了ResNe(tResidual Network)[26]旁路連接,避免了梯度消失問(wèn)題。在預(yù)測(cè)階段,借鑒特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[27]的思想,較大尺度特征具有較強(qiáng)的語(yǔ)義信息,較小尺度特征具有更多的細(xì)粒度信息,小尺度特征通過(guò)上采樣的方式與大尺度特征進(jìn)行融合,實(shí)現(xiàn)了較好的檢測(cè)性能。另外,該算法借鑒了兩階段目標(biāo)檢測(cè)算法的anchor思想,通過(guò)自適應(yīng)聚類得到合適的先驗(yàn)框,進(jìn)一步提高了檢測(cè)的準(zhǔn)確率。
1.2.2 小尺度目標(biāo)檢測(cè)改進(jìn)方法
艦船視頻多為直升機(jī)或無(wú)人機(jī)在遼闊海域航拍,因此視頻中有較多的小尺度艦船目標(biāo)。YOLO v3在檢測(cè)視頻圖像中出現(xiàn)的小目標(biāo)時(shí),效果不佳。為了提高對(duì)小尺度目標(biāo)的檢測(cè)能力,本文在原模型的基礎(chǔ)上進(jìn)行了如下改進(jìn)和優(yōu)化:
首先采用darknet53.conv.74預(yù)訓(xùn)練模型初始化訓(xùn)練參數(shù),然后將原模型的YOLO 層增加到4 層,經(jīng)過(guò)多尺度特征融合得到13×13、26×26、52×52、104×104 四種不同尺度的不同感受野特征圖,然后使用(116×90)、(156×198)、(373×326)三種先驗(yàn)框?qū)?3×13 的特征圖進(jìn)行預(yù)測(cè),檢測(cè)較大的對(duì)象。使用(30×61)、(62×45)、(59×119)三種先驗(yàn)框?qū)?6×26的特征圖進(jìn)行預(yù)測(cè),檢測(cè)尺度中等的對(duì)象。使用(10×13)、(16×30)、(33×23)三種先驗(yàn)框?qū)?2×52的特征圖進(jìn)行預(yù)測(cè),檢測(cè)較小的對(duì)象。使用新增加的(5×6)、(8×15)、(16×10)三種先驗(yàn)框,對(duì)104×104特征圖進(jìn)行預(yù)測(cè),檢測(cè)更小的目標(biāo)。與原來(lái)的模型相比,經(jīng)過(guò)改進(jìn)的檢測(cè)網(wǎng)絡(luò)融合了更加淺層的特征,從而提高了小目標(biāo)的檢測(cè)率。
1.3.1 KCF跟蹤算法
基于相關(guān)濾波的KCF目標(biāo)跟蹤算法具有時(shí)空連續(xù)性和實(shí)時(shí)性好的優(yōu)點(diǎn),并可以根據(jù)響應(yīng)圖的變化判斷目標(biāo)消失。算法首先根據(jù)第t幀的目標(biāo)區(qū)域提取HOG特征,再通過(guò)傅里葉變換轉(zhuǎn)到頻域,把得到的頻域特征通過(guò)高斯核函數(shù)映射到高維,并根據(jù)式(2)得到濾波模版α:
其中,x表示樣本的HOG 特征,表示傅里葉變換,g是中心為峰值的二維高斯函數(shù),λ是正則化參數(shù),用來(lái)控制訓(xùn)練的過(guò)擬合。kxx表示x在高維空間里的核自相關(guān)矩陣,其計(jì)算方式由式(3)給出:
其中,σ是高斯核函數(shù)的寬度參數(shù),*表示復(fù)共軛,⊙表示點(diǎn)乘,F(xiàn)-1表示傅里葉逆變換,‖ ‖表示矩陣范數(shù),c是HOG特征x的通道數(shù)。
為了能適應(yīng)目標(biāo)外觀變化,濾波器需要進(jìn)行在線更新。在第t幀圖像上進(jìn)行目標(biāo)跟蹤時(shí),相關(guān)濾波模版α的更新由下式給出:
其中,η為更新參數(shù)。
1.3.2 尺度自適應(yīng)改進(jìn)方法
尺度變化是跟蹤中常見的問(wèn)題,艦船視頻鏡頭的拉進(jìn)或放遠(yuǎn),目標(biāo)尺寸會(huì)變大或縮小都將導(dǎo)致跟蹤失敗。為了能適應(yīng)目標(biāo)的尺度變化,對(duì)KCF 跟蹤算法改進(jìn)方法如下:
對(duì)當(dāng)前幀的濾波器αt進(jìn)行尺度縮放,縮放的比例分別為[1.1,1.05,1.0,0.95,0.9]。
在第t+1 幀圖像上的第t幀目標(biāo)位置處,提取候選樣本HOG 特征z,再結(jié)合上述每個(gè)尺寸縮放后的濾波器,分別得到對(duì)應(yīng)的相關(guān)濾波輸出響應(yīng)圖f,計(jì)算公式如下:
其中核互相關(guān)矩陣kxz由下式所示:
其中,x表示第t幀目標(biāo)的HOG特征,m=(1,2,3,4,5)分別對(duì)應(yīng)縮放的比例[1.1,1.05,1.0,0.95,0.9]。
從上述5 個(gè)響應(yīng)圖f的峰值maxf中篩選出最大值fmax,fmax對(duì)應(yīng)的位置即為目標(biāo)中心的位置,fmax對(duì)應(yīng)的縮放比例即為目標(biāo)尺寸變化比例,由此得到第t+1幀的跟蹤框。
1.3.3 自動(dòng)判斷目標(biāo)消失
為了減少人工參與,提高標(biāo)注效率,需要判斷目標(biāo)消失從而自動(dòng)停止標(biāo)注。目標(biāo)標(biāo)注過(guò)程中,可以根據(jù)KCF跟蹤器響應(yīng)圖f的變化判斷目標(biāo)消失,如果maxf小于設(shè)定的閾值θ,峰值旁瓣比(Peak Side-lobe Ratio,PSR)小于設(shè)定的閾值θPSR,即:
則判斷該目標(biāo)標(biāo)注結(jié)束,如果不滿足條件則繼續(xù)估計(jì)目標(biāo)在下一幀圖像中的位置。其中PSR的計(jì)算公式如下:
其中,Φ=0.5,μΦ(f)和σΦ(f)分別是以f峰值為中心的50%響應(yīng)區(qū)域的均值和標(biāo)準(zhǔn)差。
海上艦船等視頻存在大量連續(xù)的圖像幀,目標(biāo)信息具有冗余性,需要結(jié)合目標(biāo)尺度、角度、光照等變化選擇適量的關(guān)鍵幀,保證生成數(shù)據(jù)的樣本多樣性。在自動(dòng)判斷目標(biāo)消失并且停止當(dāng)前目標(biāo)標(biāo)注后,使用多種目標(biāo)信息計(jì)算目標(biāo)每一幀的顯著值,計(jì)算方法如圖3所示。
圖3 目標(biāo)顯著值計(jì)算流程圖
1.4.1 LBP特征圖
局部二值模式(Local Binary Pattern,LBP)[28]提取圖像的紋理特征,其具體計(jì)算公式如式(9)所示:
其中,P=8,R=1 分別為中心像素鄰域像素點(diǎn)的個(gè)數(shù)和鄰域半徑,j0為中心像素的灰度值,ji為從中心像素的左上角開始,沿順時(shí)針?lè)较虻牡趇個(gè)鄰域像素的灰度值。s(x)為符號(hào)函數(shù):
1.4.2 顏色顯著性特征圖
顏色顯著性特征圖的計(jì)算公式如下:
其中,patch為目標(biāo)框區(qū)域原圖,patchgaussian為patch經(jīng)過(guò)高斯核為5×5,標(biāo)準(zhǔn)差為0 的高斯濾波處理之后的圖像,| |表示取絕對(duì)值,i表示通道數(shù),(x,y)為像素坐標(biāo)。
1.4.3 邊緣顯著性特征圖
對(duì)目標(biāo)框區(qū)域的像素值求導(dǎo),其一階導(dǎo)數(shù)在目標(biāo)邊緣位置為極值。如果對(duì)像素值求二階導(dǎo)數(shù),邊緣處的導(dǎo)數(shù)值為0。邊緣顯著性特征圖的計(jì)算公式如下:
其中,I表示目標(biāo)框區(qū)域圖像,(x,y)表示目標(biāo)框區(qū)域像素坐標(biāo)。
1.4.4 基于顏色直方圖的顯著值度量變化
顏色直方圖顯著值變化Distt通過(guò)計(jì)算初始幀目標(biāo)區(qū)域和第t幀目標(biāo)區(qū)域顏色直方圖的巴氏距離(Bhattacharyya distance)[29]得到,計(jì)算公式如下:
其中,H0為初始幀手動(dòng)標(biāo)注目標(biāo)區(qū)域的顏色直方圖,Ht為第t幀自動(dòng)標(biāo)注目標(biāo)區(qū)域的顏色直方圖,n表示顏色直方圖bin的總數(shù),的計(jì)算公式由下式給出:
其中k=0 或t。
1.4.5 尺度變化
尺度變化值通過(guò)計(jì)算初始幀目標(biāo)框和第t幀目標(biāo)框的寬高變化得到的,計(jì)算公式如下:
1.4.6 計(jì)算目標(biāo)顯著值
將LBP 紋理特征、顏色顯著性特征、邊緣顯著性特征等特征進(jìn)行平均加權(quán)融合,得到第t幀融合值meant,融合計(jì)算公式如下:
根據(jù)圖像目標(biāo)框區(qū)域的融合值mean、顏色直方圖變化值Dist、尺度變化值bboxchange,第t幀的目標(biāo)顯著值St的計(jì)算公式如下:
其中,T表示當(dāng)前標(biāo)注目標(biāo)的總幀數(shù)。
1.4.7 提取關(guān)鍵幀
根據(jù)鏡頭中每一幀目標(biāo)的顯著值St構(gòu)建顯著值折線圖,求得所有極大值及其所對(duì)應(yīng)的幀。
假設(shè)該鏡頭有T幀,設(shè)定提取關(guān)鍵幀的數(shù)量為n個(gè),上述顯著值曲線極大值的個(gè)數(shù)為k個(gè)。若n 本文實(shí)驗(yàn)硬件配置環(huán)境為Intel Core i7-6850K CPU,32 GB 內(nèi)存,GTX1080 Ti 顯卡,12 GB 顯存的PC機(jī),Windows 10 操作系統(tǒng),開發(fā)平臺(tái)為Python 3.6。融合檢測(cè)和跟蹤的IOU閾值設(shè)置為0.5。跟蹤器響應(yīng)圖峰值閾值θ和峰值旁瓣比閾值θPSR分別設(shè)為3 和3.5。設(shè)定每個(gè)鏡頭提取10幀作為關(guān)鍵幀。 目前業(yè)界并沒(méi)有針對(duì)艦船目標(biāo)制作的標(biāo)準(zhǔn)數(shù)據(jù)集,因此引用文獻(xiàn)[30]的自建艦船數(shù)據(jù)集,該數(shù)據(jù)集共12 817張艦船圖像,通過(guò)手動(dòng)方式標(biāo)注目標(biāo)所在區(qū)域并設(shè)置標(biāo)簽。本文在該數(shù)據(jù)集的基礎(chǔ)上,通過(guò)手動(dòng)方式對(duì)部分未標(biāo)注的小艦船目標(biāo)進(jìn)行了重新標(biāo)注。最后根據(jù)相應(yīng)比例將樣本隨機(jī)分配給訓(xùn)練集、測(cè)試集和驗(yàn)證集,完成數(shù)據(jù)集的構(gòu)建,如表1所示。 表1 艦船目標(biāo)檢測(cè)數(shù)據(jù)集 張 為驗(yàn)證算法的檢測(cè)效果以及改進(jìn)策略的有效性,實(shí)驗(yàn)選取原始YOLOv3 與改進(jìn)的YOLOv3 檢測(cè)算法進(jìn)行對(duì)比。 考慮到檢測(cè)算法用于視頻目標(biāo)標(biāo)注的準(zhǔn)確性和實(shí)時(shí)性,選取的評(píng)價(jià)指標(biāo)為:平均精度均值(mean Average Precision,mAP)和每秒檢測(cè)幀數(shù)(Frames Per Second,F(xiàn)PS),模型在測(cè)試集上的檢測(cè)性能見表2。由表2可知:改進(jìn)后的YOLOv3 速度比原始算法稍慢,但也達(dá)到了23 frame/s,滿足視頻目標(biāo)標(biāo)注的實(shí)時(shí)性要求;而在精度指標(biāo)mAP 上超過(guò)原始算法,達(dá)到了93.8%,具有優(yōu)異的檢測(cè)性能。使用同一張分辨率為1 280×720多艦船目標(biāo)的圖像進(jìn)行測(cè)試,YOLO v3 改進(jìn)前后的檢測(cè)結(jié)果對(duì)比如圖4 和圖5 所示,在圖5 中,改進(jìn)YOLO v3 檢測(cè)出了部分被原始算法漏檢的小艦船目標(biāo),并使用相應(yīng)尺度的邊界框準(zhǔn)確地標(biāo)記出來(lái),檢測(cè)效果較好,可見改進(jìn)策略提高了YOLOv3算法對(duì)于小目標(biāo)的檢測(cè)能力。 表2 算法對(duì)比結(jié)果 圖4 原始YOLO v3的檢測(cè)結(jié)果 圖5 改進(jìn)YOLO v3的檢測(cè)結(jié)果 為驗(yàn)證跟蹤算法尺度自適應(yīng)改進(jìn)策略的有效性,實(shí)驗(yàn)選取一段拍攝鏡頭快速拉進(jìn),目標(biāo)尺度變化較大的艦船目標(biāo)視頻,分辨率為640×360,時(shí)間長(zhǎng)度為10 s,共197幀。使用原始KCF算法和改進(jìn)后的KCF跟蹤算法進(jìn)行對(duì)比,以驗(yàn)證跟蹤效果。 首先在視頻第一幀手動(dòng)確定艦船目標(biāo)區(qū)域,如圖6所示,然后分別使用原始算法和改進(jìn)的KCF 算法進(jìn)行跟蹤測(cè)試,跟蹤結(jié)果選取第2、12、22、32、42、52幀,分別如圖7(a)~(f)所示,其中藍(lán)色矩形框表示原始KCF跟蹤結(jié)果,綠色矩形框表示改進(jìn)KCF 跟蹤結(jié)果。從對(duì)比結(jié)果中可以看出,由于原始KCF 跟蹤算法沒(méi)有尺度自適應(yīng)能力,當(dāng)艦船尺度變大時(shí),該算法只能跟蹤到艦船的部分區(qū)域,最終導(dǎo)致跟蹤失?。欢倪M(jìn)后的KCF跟蹤算法添加了尺度判斷,提升了算法的尺度自適應(yīng)能力,目標(biāo)框可以跟隨目標(biāo)尺度改變,驗(yàn)證了改進(jìn)策略的有效性。 圖6 第一幀手動(dòng)選取目標(biāo)區(qū)域 圖7 KCF算法改進(jìn)前后跟蹤結(jié)果對(duì)比 為驗(yàn)證本文提出半自動(dòng)視頻目標(biāo)標(biāo)注框架的有效性,采用一段多鏡頭多類艦船的視頻進(jìn)行實(shí)驗(yàn)。該視頻分辨率為1 280×720,時(shí)間長(zhǎng)度為1 min 39 s,共3 286幀,有9 個(gè)多艦船目標(biāo)的分鏡頭,艦船類型包括航空母艦、驅(qū)逐艦、護(hù)衛(wèi)艦等。每個(gè)場(chǎng)景鏡頭的幀數(shù)如表3 所示,為加速計(jì)算,本實(shí)驗(yàn)每5幀標(biāo)注一次。 表3 視頻分鏡頭及幀數(shù) 艦船視頻多為直升機(jī)或無(wú)人機(jī)在遼闊海域航拍,視頻中有較多小尺度艦船目標(biāo),還存在鏡頭拉近或放遠(yuǎn),目標(biāo)尺度變化較大的情況,因此需要使用改進(jìn)YOLO v3目標(biāo)檢測(cè)算法在上述建立的艦船數(shù)據(jù)集進(jìn)行訓(xùn)練,將該目標(biāo)檢測(cè)模型作為半自動(dòng)標(biāo)注框架在線標(biāo)注的檢測(cè)器,提高檢測(cè)算法對(duì)于小目標(biāo)的檢測(cè)能力;將改進(jìn)KCF跟蹤算法作為在線標(biāo)注的跟蹤器,提升跟蹤算法的尺度自適應(yīng)能力。 在線標(biāo)注時(shí),選定某一幀為初始幀,手動(dòng)標(biāo)注出艦船位置區(qū)域并確定類別標(biāo)簽,在后續(xù)幀融合檢測(cè)結(jié)果和跟蹤結(jié)果時(shí),設(shè)定IOU閾值為0.5。例如,在視頻第1個(gè)鏡頭的第1幀手動(dòng)標(biāo)注目標(biāo)區(qū)域,確定類別標(biāo)簽為航空母艦后,第2 幀的檢測(cè)結(jié)果和跟蹤結(jié)果如圖8 和圖9 所示。從圖中可以看出,檢測(cè)器的檢測(cè)結(jié)果中有多個(gè)目標(biāo),跟蹤器的跟蹤結(jié)果只有一個(gè)目標(biāo)。通過(guò)計(jì)算跟蹤框和每一個(gè)檢測(cè)框的IOU值,只有一個(gè)檢測(cè)框和跟蹤框的IOU值大于閾值0.5,因此融合輸出目標(biāo)框?yàn)闄z測(cè)框,結(jié)果如圖10所示。 圖8 第2幀的檢測(cè)結(jié)果 圖9 第2幀的跟蹤結(jié)果 圖10 第2幀的融合結(jié)果 判斷目標(biāo)標(biāo)注是否結(jié)束時(shí),經(jīng)測(cè)試,設(shè)定KCF跟蹤器響應(yīng)圖峰值閾值θ為0.3,峰值旁瓣比閾值θPSR為3.5較為準(zhǔn)確,當(dāng)峰值和峰值旁瓣比都小于閾值,則標(biāo)注結(jié)束。例如,在視頻第2 個(gè)鏡頭的自動(dòng)標(biāo)注過(guò)程中,KCF跟蹤算法響應(yīng)圖的峰值和峰值旁瓣比的折線圖如圖11和圖12所示,當(dāng)目標(biāo)消失時(shí),數(shù)值會(huì)減小。該鏡頭下的0~47 幀里,KCF 跟蹤算法響應(yīng)圖的峰值和峰值旁瓣比數(shù)值較大,在第48幀峰值和峰值旁瓣比急劇減小,說(shuō)明該幀目標(biāo)消失。由于實(shí)驗(yàn)每5幀標(biāo)注一次,實(shí)際上對(duì)應(yīng)了該鏡頭最后一幀第243 幀的下一幀發(fā)生鏡頭切換。該鏡頭的最后一幀圖像和下一個(gè)鏡頭的第1 幀圖像如圖13和圖14所示。圖中可以看出視頻是由鏡頭2切換成鏡頭3導(dǎo)致目標(biāo)的消失,說(shuō)明該方法判斷標(biāo)注結(jié)束準(zhǔn)確無(wú)誤。 圖11 KCF跟蹤算法響應(yīng)圖的峰值變化圖 圖12 峰值旁瓣比變化圖 圖13 鏡頭2的第243幀圖像 圖14 鏡頭3的第1幀圖像 在判斷當(dāng)前目標(biāo)標(biāo)注結(jié)束后,根據(jù)每一幀的目標(biāo)顯著值St得到該目標(biāo)的顯著值曲線,在曲線的極大值處提取關(guān)鍵幀,本實(shí)驗(yàn)設(shè)定每個(gè)鏡頭抽出10 幀作為關(guān)鍵幀。例如第6 個(gè)鏡頭的目標(biāo)顯著值曲線如圖15 所示。首先將曲線的極大值按從大到小排列,然后取前10 個(gè)極大值對(duì)應(yīng)的幀作為關(guān)鍵幀,提取的關(guān)鍵幀如圖16(a)~(j)所示。從圖中可以看出,根據(jù)提取的關(guān)鍵幀具有較強(qiáng)的代表性,反映準(zhǔn)確出目標(biāo)尺寸、角度、光照等變化信息。 圖15 目標(biāo)顯著值曲線 圖16 鏡頭6的關(guān)鍵幀 最終該視頻耗時(shí)大約4 min 20 s標(biāo)注完畢,提取的關(guān)鍵幀和對(duì)應(yīng)類別如表4所示:從表中可以看出提取的關(guān)鍵幀都在對(duì)應(yīng)的鏡頭內(nèi),進(jìn)一步證明該方法能夠自動(dòng)結(jié)束目標(biāo)標(biāo)注。另外該實(shí)驗(yàn)的檢測(cè)模型是使用一般艦船數(shù)據(jù)集訓(xùn)練的,而通過(guò)本文的半自動(dòng)標(biāo)注方法,可以實(shí)現(xiàn)更細(xì)粒度的分類標(biāo)注。根據(jù)實(shí)驗(yàn)的結(jié)果來(lái)看,基于融合檢測(cè)和跟蹤的半自動(dòng)視頻目標(biāo)標(biāo)注方法,可以顯著提高標(biāo)注效率,快速準(zhǔn)確生成具有樣本多樣性的標(biāo)注數(shù)據(jù)。 表4 每個(gè)分鏡頭的關(guān)鍵幀及目標(biāo)類型 本文針對(duì)視頻圖像連續(xù)幀間的目標(biāo)具有冗余性,采用手動(dòng)標(biāo)注方式耗時(shí)耗力的問(wèn)題,提出一種融合檢測(cè)和跟蹤算法的半自動(dòng)標(biāo)注框架,能夠快速準(zhǔn)確地標(biāo)注目標(biāo)。應(yīng)用于海上艦船視頻等存在小目標(biāo)或者目標(biāo)尺度變化較大的場(chǎng)景時(shí),對(duì)采用的YOLO v3 目標(biāo)檢測(cè)算法和KCF 目標(biāo)跟蹤算法進(jìn)行了改進(jìn),提升了目標(biāo)檢測(cè)算法對(duì)小目標(biāo)的檢測(cè)能力和跟蹤算法的尺度自適應(yīng)能力。實(shí)驗(yàn)驗(yàn)證了提出的半自動(dòng)標(biāo)注方法的有效性。該方法目前只能標(biāo)注圖像中的一個(gè)目標(biāo),后續(xù)將利用多目標(biāo)跟蹤框架,實(shí)現(xiàn)在視頻中同時(shí)標(biāo)注多個(gè)目標(biāo)。2 實(shí)驗(yàn)
2.1 構(gòu)建艦船檢測(cè)數(shù)據(jù)集
2.2 YOLO v3檢測(cè)算法改進(jìn)前后對(duì)比
2.3 KCF跟蹤算法改進(jìn)前后對(duì)比
2.4 半自動(dòng)視頻目標(biāo)標(biāo)注實(shí)驗(yàn)
3 結(jié)束語(yǔ)