張曉鵬,許志遠(yuǎn),曲勝,邱文軒,翟澤宇
(大連海洋大學(xué) 航海與船舶工程學(xué)院,遼寧 大連 116023)
準(zhǔn)確有效的海上船舶識(shí)別技術(shù)對(duì)于提高船舶航行安全是非常重要的,同時(shí)也是船舶智能化發(fā)展的關(guān)鍵技術(shù)。傳統(tǒng)的船舶識(shí)別主要依靠船舶自動(dòng)識(shí)別系統(tǒng)(Automatic identification system,AIS)和雷達(dá)等通信導(dǎo)航設(shè)備完成。船舶雷達(dá)主要用于航行避讓、船舶定位和狹水道引航等,是船舶航行必要的導(dǎo)航設(shè)備,但其也存在目標(biāo)誤識(shí)別、目標(biāo)丟失和易受環(huán)境噪聲影響等缺點(diǎn)。船舶自動(dòng)識(shí)別系統(tǒng)能夠準(zhǔn)確獲得船舶基本信息,可輔助識(shí)別船只、協(xié)助追蹤目標(biāo)、簡化信息交流和提供其他輔助信息,以避免碰撞發(fā)生,但對(duì)于未裝配該系統(tǒng)或終端關(guān)機(jī)的船舶則無法獲取相關(guān)信息。上述基于通信導(dǎo)航設(shè)備的船舶識(shí)別方法有其優(yōu)點(diǎn),但因無法獲取船舶直觀圖像,在港口等交通密集水域有較大的局限性。
目前,基于深度學(xué)習(xí)的船舶識(shí)別方法的研究已取得了一定進(jìn)展,通過自動(dòng)提取船舶圖像特征及不斷學(xué)習(xí)與訓(xùn)練,實(shí)現(xiàn)對(duì)海上交通視頻和圖像中船舶的識(shí)別,其代表模型有CNN、R-CNN、Faster R-CNN、SSD和YOLO等。其中,針對(duì)卷積神經(jīng)網(wǎng)絡(luò)的船舶識(shí)別結(jié)果易受到圖像背景干擾的問題,楊亞東等[1]提出了“中心-擴(kuò)散池化”和“前景-擴(kuò)散池化”兩種改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)方法,徐志京等[2]將循環(huán)注意卷積神經(jīng)網(wǎng)絡(luò)與多特征區(qū)域進(jìn)行融合。上述兩個(gè)模型雖取得了較好成效,但由于CNN需要對(duì)多個(gè)區(qū)域進(jìn)行精準(zhǔn)預(yù)測(cè),消耗了大量的計(jì)算時(shí)間。為縮短CNN模型的運(yùn)行時(shí)間,崔巍等[3]、趙振強(qiáng)等[4]在CNN的基礎(chǔ)上采用Faster RCNN模型進(jìn)行船舶檢測(cè),用Region proposal network替換選擇性搜索,趙江洪等[5]利用深度殘差網(wǎng)絡(luò)ResNet替代現(xiàn)有VGG-16網(wǎng)絡(luò),并對(duì)Faster R-CNN進(jìn)行改進(jìn),均取得了不錯(cuò)的效果。為進(jìn)一步提升模型效率,王言鵬[6]在SSD單次多框檢測(cè)器基礎(chǔ)上應(yīng)用遷移學(xué)習(xí)技術(shù),劉碩等[7]在傳統(tǒng)SSD網(wǎng)絡(luò)的第七層增加L2正則化對(duì)其進(jìn)行改進(jìn),馬健等[8]在SSD基礎(chǔ)上提出了基于特征融合的輕量級(jí)目標(biāo)識(shí)別模型,均取得了較好的檢測(cè)效果,但SSD模型網(wǎng)絡(luò)中先驗(yàn)框的基礎(chǔ)大小和形狀不能直接通過學(xué)習(xí)獲得,而是需要手工設(shè)置,導(dǎo)致調(diào)試過程過度依賴經(jīng)驗(yàn)。為解決這一問題,于洋等[9]通過將目標(biāo)框維度聚類和尺度變換等方法融入YOLOv2模型中,提高了船舶的識(shí)別能力。YOLOv3在YOLOv2的基礎(chǔ)上添加殘差網(wǎng)絡(luò),對(duì)于訓(xùn)練較深層的網(wǎng)絡(luò),可以解決梯度消失等問題。張煜等[10]提出的YOLOv3-MIoU模型、劉博等[11]提出的Darknet YOLOv3模型和張佳欣等[12]提出的改進(jìn)YOLOv3模型的SAR圖像艦船目標(biāo)檢測(cè)方法,都進(jìn)一步優(yōu)化了船舶識(shí)別模型的檢測(cè)性能。為提高YOLOv3模型的精度,孔劉玲等[13]在YOLOv4基礎(chǔ)上采用改進(jìn)的 K-means+聚類方法重新設(shè)計(jì)先驗(yàn)錨框以提高船舶檢測(cè)準(zhǔn)確性。YOLOv5模型的目標(biāo)檢測(cè)模型可以通過自身學(xué)習(xí)提取有效信息,相較于YOLOv4,部署容易且速度快。譚顯東等[14]通過改進(jìn)YOLOv5檢測(cè)框損失函數(shù)和特征提取方式,提高了對(duì)SAR圖像中艦船目標(biāo)的檢測(cè)效果,但是算法試驗(yàn)數(shù)據(jù)量相對(duì)較少,不同方位的艦船目標(biāo)對(duì)IoU取值存在影響。為解決上述問題,需要探究多目標(biāo)檢測(cè)方法,以進(jìn)一步加強(qiáng)模型對(duì)船舶特征的提取能力,提高復(fù)雜環(huán)境下的船舶檢測(cè)準(zhǔn)確率。
本研究中,針對(duì)不同環(huán)境下海上船舶檢測(cè)準(zhǔn)確率低的問題,提出了一種基于改進(jìn)YOLOv5深度學(xué)習(xí)的海上船舶識(shí)別模型(SE-NMS-YOLOv5),該模型通過改進(jìn)NMS模型增強(qiáng)網(wǎng)絡(luò)的識(shí)別能力,增加注意力機(jī)制模塊以提取更多船舶特征,并采用暗通道原理提高霧天海上船舶識(shí)別的準(zhǔn)確率,在不同環(huán)境下對(duì)船舶圖像進(jìn)行測(cè)試,以期解決多目標(biāo)和霧天條件下海上船舶檢測(cè)準(zhǔn)確率低的問題。
YOLOv5模型中引入激活函數(shù)以解決線性不可分問題。在神經(jīng)網(wǎng)絡(luò)的輸入層和輸出層間加入激活函數(shù),增強(qiáng)神經(jīng)網(wǎng)絡(luò)的表達(dá)能力和學(xué)習(xí)能力。Mish激活函數(shù)的計(jì)算公式為
Mish=x×tanh[ln(1+ex)]。
(1)
目標(biāo)檢測(cè)模型采用CIoU,該模型考慮了重疊面積、中心點(diǎn)距離和長寬比等幾何函數(shù),解決了后續(xù)訓(xùn)練中的發(fā)散問題。CIoU計(jì)算公式為
CIoU=IoU-d/l2-av,
(2)
a=v/(1-IoU+v),
(3)
(4)
其中:d為預(yù)測(cè)框與真實(shí)框中心點(diǎn)的歐式距離;l為覆蓋預(yù)測(cè)框與真實(shí)框的最小閉合框的對(duì)角線長度;a為權(quán)重函數(shù);v為長寬比的相似性;gt為真實(shí)框;h為框的高度。
為使網(wǎng)絡(luò)能夠更好地?cái)M合通道間的相關(guān)性,增加更重要通道特征的權(quán)重,引入了SE(squeeze-and-excitation)模塊,注意機(jī)制[15]是一種神經(jīng)網(wǎng)絡(luò)資源分配方案,用于將計(jì)算資源分配給更重要的任務(wù),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 SE注意力模塊結(jié)構(gòu)Fig.1 SE attention mechanism module
壓縮Squeeze(壓縮操作)是通過全局平均池化來完成,將每個(gè)通道的H×W個(gè)像素值壓縮為一個(gè)實(shí)數(shù)Fsq(uc),獲得并輸出每個(gè)特征通道的權(quán)重。計(jì)算公式為
(5)
其中:W、H為特征圖的寬、高;u為特征層;c為通道數(shù)。
Scale模塊是通過通道權(quán)重相乘得到的結(jié)果,即原有特征向量為W×H×C,用SE模塊計(jì)算出的各通道權(quán)重值分別與原特征圖對(duì)應(yīng)通道的二維矩陣相乘。
相機(jī)距離成像物體有遠(yuǎn)有近,當(dāng)霧霾濃度分布均勻時(shí),近處的物體成像受到霧霾影響較小,色彩還原較高,而遠(yuǎn)處的物體成像色彩還原度就較低,因此,遠(yuǎn)處物體呈現(xiàn)白色亮度較高,而近處物體則相反,亮度較低。故參考近處物體亮度對(duì)大氣光強(qiáng)及透射率進(jìn)行建模,實(shí)現(xiàn)去霧功能。像素成像建模公式為
I(x)=J(x)t(x)+A[1-t(x)]。
(6)
其中:I(x)為霧天圖像;J(x)為要恢復(fù)的無霧圖像;A為全球大氣光成分;t(x)為透射率。通過已知條件I(x),求目標(biāo)值J(x),為減少復(fù)原后圖像噪聲,設(shè)t0為0.1。最終的恢復(fù)公式為
(7)
YOLOv5模型使用Pytorch框架,框架友好,訓(xùn)練數(shù)據(jù)效率高。但網(wǎng)絡(luò)中存在大量參數(shù),如果直接訓(xùn)練可能會(huì)出現(xiàn)精度提升慢及梯度下降等問題。為防止這種情況發(fā)生,本研究中提出了一種多階段訓(xùn)練方法,采用SE模塊結(jié)合改進(jìn)的NMS對(duì)YOLOv5模型進(jìn)行改進(jìn)。
根據(jù)我國發(fā)電廠污染物排放的相關(guān)法規(guī)限定,發(fā)電廠燃機(jī)的NOX排放量需要限制為低于50mg/m3,任何火電廠的NOX排放量都必須嚴(yán)格遵守這一標(biāo)準(zhǔn)。然而在實(shí)際生產(chǎn)過程當(dāng)中,以西門子9F燃機(jī)為例,雖然該燃機(jī)機(jī)型裝配有低濃度NOX混合燃燒裝置,在9F燃機(jī)工作過程當(dāng)中,會(huì)在內(nèi)燃機(jī)工作載荷超過一半時(shí)自動(dòng)開啟進(jìn)氣導(dǎo)葉片,使得內(nèi)燃機(jī)的工作方式變?yōu)榫囝A(yù)混,進(jìn)而將NOX排放量嚴(yán)格控制在規(guī)定范圍內(nèi)。在實(shí)際生產(chǎn)過程當(dāng)中,NOX的排放量并不是一個(gè)常態(tài),可能會(huì)出現(xiàn)較大幅度的波動(dòng),對(duì)工業(yè)生產(chǎn)造成很大的負(fù)面影響。
在船舶識(shí)別過程中,經(jīng)典NMS(非極大值抑制)模型容易受到遮擋問題的困擾,尤其是船與船之間距離較近時(shí),網(wǎng)絡(luò)會(huì)過濾掉與最大值接近的邊框,導(dǎo)致誤刪。為解決這一問題,本研究中對(duì)NMS模型進(jìn)行改進(jìn),步驟如下:
1)根據(jù)置信度得分進(jìn)行排序;
2)選擇置信度最高的邊界框添加到最終輸出列表中,將其從邊界框列表中刪除;
3)計(jì)算置信度得分最高的邊界框與其他邊框的IoU;
4)超過設(shè)定閾值時(shí)降低這個(gè)框的置信度,最后輸出時(shí)如果置信度低于閾值就會(huì)被過濾掉;
5)重復(fù)上述過程,直至邊界框列表為空。
圖2為遮擋船舶對(duì)比檢測(cè)結(jié)果,可見改進(jìn)的NMS模型不僅解決了遮擋情況下的漏檢問題,同時(shí)也提高了目標(biāo)的召回能力。
圖2 遮擋船舶檢測(cè)Fig.2 Occlusion ship detection
在數(shù)據(jù)輸入端,對(duì)船舶圖像的尺寸進(jìn)行自適應(yīng)縮放,模型會(huì)通過自身不斷學(xué)習(xí)去調(diào)整錨定框,從而更精確地預(yù)測(cè)船舶目標(biāo)的位置。模型Backbone由Focus和CSP模塊組成。Focus結(jié)構(gòu)對(duì)輸入目標(biāo)的維度進(jìn)行切片,不僅減少了目標(biāo)原始特征信息的丟失,還能提高模型的計(jì)算速度,然后通過一系列卷積運(yùn)算,得到不同大小的特征圖像。Neck特征融合結(jié)構(gòu)對(duì)不同大小的特征圖像進(jìn)行采樣,將特征圖像處理成相同大小,然后進(jìn)行特征融合和卷積,預(yù)測(cè)結(jié)構(gòu)通過損失函數(shù)計(jì)算目標(biāo)類別概率和位置坐標(biāo),以獲得目標(biāo)預(yù)測(cè)結(jié)果。改進(jìn)的YOLOv5模型即SE-NMS-YOLOv5模型結(jié)構(gòu),如圖3所示。
圖3 SE-NMS-YOLOv5模型結(jié)構(gòu)Fig.3 SE-NMS-YOLOv5 model structure
基于SE-NMS-YOLOv5深度學(xué)習(xí)的海上船舶識(shí)別算法主要包括建立船舶數(shù)據(jù)集、船舶圖像標(biāo)注、網(wǎng)絡(luò)訓(xùn)練和圖像去霧處理等環(huán)節(jié),具體流程如圖4所示。
網(wǎng)絡(luò)訓(xùn)練時(shí)主要包含3個(gè)方面的損失:矩形框損失(lossbox)、置信度損失(lossobj)和分類損失(lossclc)??傮w損失Loss為3個(gè)損失的加權(quán)和,即
Loss=a×lossobj+b×lossbox+c×lossclc。
(8)
其中,a、b、c為權(quán)重系數(shù)。通常置信度損失取最大權(quán)重,矩形框損失和分類損失的權(quán)重次之。由于本研究中未對(duì)船舶進(jìn)行分類,故只考慮置信度和矩形框損失。為了避免過擬合對(duì)數(shù)據(jù)集進(jìn)行多階段訓(xùn)練,圖5為訓(xùn)練過程中的損失變化情況,在Loss曲線圖中,橫坐標(biāo)為訓(xùn)練的迭代次數(shù),縱坐標(biāo)為Loss值,圖5(a)、(b)是訓(xùn)練集損失,圖5(c)、(d)是測(cè)試集損失,可以看出,Loss曲線呈收斂趨勢(shì)。
圖4 算法流程圖Fig.4 Algorithm flow chart
圖5 損失函數(shù)圖Fig.5 Loss function diagram
本次試驗(yàn)運(yùn)行系統(tǒng)為Windows 10,CPU為AMD Ryzen7 1700,內(nèi)存32 G,硬盤1 T,顯卡為NVIDIA TIT-AN V,深度學(xué)習(xí)框架為Pytorch。訓(xùn)練測(cè)試通過爬蟲技術(shù)從網(wǎng)上收集了3 500張包含船舶信息的圖片,其中包括不同海域、不同角度下的船舶數(shù)據(jù)集。同時(shí)通過對(duì)船舶數(shù)據(jù)集進(jìn)行旋轉(zhuǎn)、尺度變化和改變飽和度等操作對(duì)樣本數(shù)據(jù)集進(jìn)行了擴(kuò)充。訓(xùn)練集與測(cè)試集的比例為9∶1,即訓(xùn)練集為3 150張,測(cè)試集為350張。
試驗(yàn)?zāi)P筒捎肞、R、F1作為網(wǎng)絡(luò)訓(xùn)練結(jié)果評(píng)價(jià)參數(shù)。其中,P為模型預(yù)測(cè)所有目標(biāo)中預(yù)測(cè)正確的比例,R為所有真實(shí)目標(biāo)中模型預(yù)測(cè)正確的目標(biāo)比例,F(xiàn)1為分類問題的一個(gè)衡量指標(biāo),它是準(zhǔn)確率和召回率的調(diào)和平均數(shù)。P、R、F1計(jì)算公式分別為
P=NTP/(NTP+NFP)×100%,
(9)
R=NTP/(NTP+NFN)×100%,
(10)
F1=2P×R/(P+R)×100%。
(11)
其中:NTP為預(yù)測(cè)結(jié)果中正確預(yù)測(cè)船舶目標(biāo)的個(gè)數(shù);NFP為預(yù)測(cè)結(jié)果中錯(cuò)誤預(yù)測(cè)船舶目標(biāo)個(gè)數(shù);NFN為未被預(yù)測(cè)出的船舶目標(biāo)個(gè)數(shù)。
通過對(duì)各參數(shù)進(jìn)行預(yù)試驗(yàn),P、R、F1隨著迭代次數(shù)(iterations)增長逐漸增加,經(jīng)過100多次迭代后各項(xiàng)指標(biāo)趨于穩(wěn)定。當(dāng)學(xué)習(xí)率為10-5時(shí),模型的F1值仍有提升,但學(xué)習(xí)率過小會(huì)導(dǎo)致訓(xùn)練時(shí)間過長且收斂速度慢,故選取10-5作為模型的學(xué)習(xí)率。
正常氣候條件下,采用YOLOv4、YOLOv5及SE-NMS-YOLOv5模型進(jìn)行船舶識(shí)別對(duì)比試驗(yàn),部分試驗(yàn)識(shí)別結(jié)果如圖6所示。從圖6可見:YOLOv4模型測(cè)試中有漏檢的情況且識(shí)別率較低;YOLOv5模型總體識(shí)別準(zhǔn)確率較YOLOv4模型有提升,但對(duì)大型船舶仍不敏感;SE-NMS-YOLOv5模型單張圖像的平均檢測(cè)時(shí)間和識(shí)別準(zhǔn)確率,較前兩種方法均有提高,既提高了大目標(biāo)船舶的檢測(cè)效果,且對(duì)不同角度的船舶檢測(cè)效果更好,平均識(shí)別準(zhǔn)確率較YOLOv4、YOLOv5模型分別提高19.1%和6.3%,其識(shí)別效果對(duì)比數(shù)據(jù)如表1所示。
表1 識(shí)別效果對(duì)比Tab.1 Comparison of recognition effect
霧天條件下海上交通能見度較低,船舶航行安全風(fēng)險(xiǎn)增大。特別在沿海和港口等船舶交通密集水域,碰撞風(fēng)險(xiǎn)更大。同時(shí),由于船與船間或船與其他物體間的距離較近,雷達(dá)、AIS等導(dǎo)航設(shè)備較難達(dá)到良好的輔助作用,但依靠視覺識(shí)別則能解決這一問題。本研究中,采用暗通道原理對(duì)霧天海上船舶圖像進(jìn)行清晰化處理并進(jìn)行船舶識(shí)別。選取霧天某海域船舶圖片為試驗(yàn)對(duì)象,采用SE-NMS-YOLOv5模型結(jié)合暗通道去霧模型(Dark-channel)對(duì)圖片中的多個(gè)船舶目標(biāo)進(jìn)行識(shí)別,結(jié)果如圖7所示。從圖7可見,經(jīng)去霧處理后船舶圖像清晰度(特別是遠(yuǎn)處)明顯改善,同時(shí)船舶識(shí)別準(zhǔn)確率也相應(yīng)提高,改進(jìn)后的模型提高了霧天條件下的船舶識(shí)別效果,其平均識(shí)別準(zhǔn)確率如表2所示。
圖6 不同模型對(duì)海上船舶的識(shí)別效果Fig.6 Recognition effect of different models on marine ships
表2 霧天識(shí)別結(jié)果對(duì)比Tab.2 Comparison of recognition effect in fog %
在基于深度學(xué)習(xí)的船舶檢測(cè)發(fā)展進(jìn)程中,先后誕生了一些深度學(xué)習(xí)框架和神經(jīng)網(wǎng)絡(luò)模型。本研究中提出的SE-NMS-YOLOv5海上船舶識(shí)別模型,聚焦于當(dāng)前任務(wù)更為關(guān)鍵的信息,并能夠解決船舶距離較近導(dǎo)致的遮擋問題。與徐志京[2]提出的基于RA-CNN模型在光電船舶數(shù)據(jù)集上的識(shí)別準(zhǔn)確率相比,本研究中模型的識(shí)別準(zhǔn)確率由90.2%提升至90.5%;與張佳欣[12]等提出的改進(jìn)YOLOv3模型在SAR船舶數(shù)據(jù)集上的識(shí)別準(zhǔn)確率相比,本研究中模型的識(shí)別準(zhǔn)確率、召回率和F1值分別提高了11.5%、6.2%、9.1%;與YOLOv5模型相比,本研究中模型的識(shí)別準(zhǔn)確率、召回率和F1值分別提高6.3%、4.8%、5.8%,識(shí)別效果有明顯提升。因此,本研究中提出的模型不僅提升了船舶檢測(cè)的精確度,且較好地解決了船舶的遮擋問題,同時(shí)模型的單圖平均檢測(cè)時(shí)間也有降低,更加滿足了船舶目標(biāo)檢測(cè)的要求。
海上天氣復(fù)雜多變,容易形成云霧遮擋,對(duì)目標(biāo)識(shí)別造成影響,導(dǎo)致模型精度下降,故如何快速、精確地識(shí)別霧天海上船舶是目前需要解決的難題。本研究中,在模型檢測(cè)前對(duì)霧天船舶圖像進(jìn)行暗通道去霧處理,為后續(xù)YOLOv5模型特征提取提供了更多有效信息。試驗(yàn)選取霧天某海域船舶圖片為試驗(yàn)對(duì)象,采用SE-NMS-YOLOv5-Dark channel模型的準(zhǔn)確率、召回率和F1值分別為88.1%、87.2%、87.6%,識(shí)別效果明顯提升。與SE-NMS-YOLOv5模型相比,本模型的準(zhǔn)確率、召回率和F1值分別提升了13.8%、13.3%、13.5%,該模型通過圖像去霧處理,提高了霧天船舶的檢測(cè)效果。
圖7 SE-NMS-YOLOv5-Dark-channel模型對(duì)霧天海上船舶的識(shí)別效果Fig.7 Recognition effect of SE-NMS-YOLOv5-Dark-channel model on marine ships in fog
綜上所述,SE-NMS-YOLOv5-Dark channel方法是一種有效的霧天海上船舶識(shí)別方法,為提高霧天條件下船舶識(shí)別準(zhǔn)確率提供了一種新方法,也為其他領(lǐng)域圖像識(shí)別提供了一種新思路。
1)以YOLOv5模型為基礎(chǔ),通過添加SE注意力機(jī)制模塊及改進(jìn)NMS模型建立的SE-NMS-YOLOv5模型,對(duì)海上船舶的平均識(shí)別精度和檢測(cè)速度均較好。
2)通過暗通道方法對(duì)霧天條件下的船舶圖像進(jìn)行清晰化處理,再結(jié)合SE-NMS-YOLOv5模型進(jìn)行識(shí)別,建立的模型有效地提高了霧天條件下的海上船舶識(shí)別準(zhǔn)確率,對(duì)于提高船舶航行安全具有一定的輔助作用。
3)船舶數(shù)據(jù)集主要依靠網(wǎng)絡(luò)爬蟲技術(shù)獲取,雖然有一定的數(shù)量,但是船舶數(shù)據(jù)集背景以海面為主,相對(duì)簡單。今后的研究將進(jìn)一步豐富船舶數(shù)據(jù)集中海上交通要素,以確保在較為復(fù)雜的海上交通環(huán)境中也能準(zhǔn)確識(shí)別船舶。