王新立, 江福才, 寧方鑫, 馬全黨, 張 帆, 鄒紅兵
(1. 武漢理工大學(xué) 航運(yùn)學(xué)院,武漢 430063;2. 內(nèi)河航運(yùn)技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430063;3.集美大學(xué) 航海學(xué)院,福建 廈門 361021;4. 中國科學(xué)院自動(dòng)化研究所,北京 100190)
隨著經(jīng)濟(jì)的不斷發(fā)展和貿(mào)易全球化的不斷推進(jìn),航運(yùn)業(yè)的發(fā)展日益加快,對無人船進(jìn)行研究逐漸成為熱點(diǎn)。目前船舶已配有船載自動(dòng)識別系統(tǒng)(Automatic Identification System, AIS)和自動(dòng)雷達(dá)標(biāo)繪儀 (Automatic Radar Plotting Aid, ARPA)等船舶駕駛輔助設(shè)備,但這些設(shè)備在目標(biāo)檢測中存在一定的局限性。例如:AIS只能顯示已安裝并開啟AIS設(shè)備的船舶的信息;雷達(dá)設(shè)備容易受到雨雪、海浪及其他電磁的干擾。船舶在實(shí)際航行過程中,仍然需人員對物標(biāo)進(jìn)行辨識,因此在對無人船進(jìn)行研究時(shí),首先要解決海上目標(biāo)的自動(dòng)識別問題。
在船舶目標(biāo)檢測問題研究中,基于雷達(dá)圖像的目標(biāo)檢測方法只適用于較大的目標(biāo),對弱小目標(biāo)進(jìn)行檢測的效果并不理想;在紅外圖像的目標(biāo)檢測上,紅外成像系統(tǒng)本身受到較強(qiáng)的噪聲干擾,目標(biāo)檢測存在較大的困難;在可見光圖像目標(biāo)檢測上,霧、雨等低能見度天氣和夜間環(huán)境下的目標(biāo)檢測比較困難。相對于該目標(biāo)檢測方法,通過深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行船舶目標(biāo)檢測的方法更優(yōu)。
對此,提出基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的船舶目標(biāo)檢測方法,通過設(shè)計(jì)采用多策略的卷積神經(jīng)網(wǎng)絡(luò)模型,并引入目標(biāo)檢測方法中2個(gè)常用的網(wǎng)絡(luò)模型,與其進(jìn)行試驗(yàn)結(jié)果對比,驗(yàn)證改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)模型的效果。
卷積神經(jīng)網(wǎng)絡(luò)是前饋神經(jīng)網(wǎng)絡(luò)的一種,是HUBEL等[1]在關(guān)于貓視覺皮層的研究中提出的。KRIZHEVSKY等[2]在其提出的AlexNet模型中首次將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖像分類任務(wù)中。GIRSHICK等[3]首次將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到目標(biāo)檢測任務(wù)中,提出R-CNN(Region-Based Convolutional Neural Networks)模型。隨后,GIRSHICK[4]又提出基于SPP-Net(Spatial Pyramid Pooling Networks)的思想改進(jìn)模型Fast R-CNN,并基于R-CNN模型的區(qū)域提名方法提出端到端無需區(qū)域提名的YOLO(You Only Look Once)模型[5],簡化整個(gè)目標(biāo)檢測流程,極大地縮減目標(biāo)檢測的運(yùn)行時(shí)間。針對YOLO模型的缺陷,又發(fā)展出SSD(Single Shot MultiBox Detector)[6]模型,在保持YOLO模型高速運(yùn)行檢測的同時(shí),使檢測準(zhǔn)確率得到極大的提高。
卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括特征提取層和特征映射層。在保證提取特征位置關(guān)系不變的條件下,為降低卷積神經(jīng)網(wǎng)絡(luò)中特征的分辨率,會(huì)在部分卷積層后面采用局部特征提取的二次特征提取結(jié)構(gòu)。當(dāng)卷積神經(jīng)網(wǎng)絡(luò)的輸入是圖像時(shí),網(wǎng)絡(luò)可直接對圖像進(jìn)行計(jì)算處理,無需進(jìn)行其他復(fù)雜的圖像處理計(jì)算,相比傳統(tǒng)方法中的特征提取等過程,可極大地提高算法的性能。
圖1為深度卷積神經(jīng)網(wǎng)絡(luò)AlexNet模型結(jié)構(gòu)示意,該網(wǎng)絡(luò)有多達(dá)6 000萬個(gè)參數(shù)和65萬個(gè)隱層神經(jīng)元,網(wǎng)絡(luò)由5個(gè)卷積層及在conv1卷積層、conv2卷積層和conv5卷積層后面連接的最大值池化(max-pooling)層、最后面順序連接的3個(gè)全連接層構(gòu)成,最后一層全連接層是分類層。
卷積層是卷積神經(jīng)網(wǎng)絡(luò)的特征提取層之一,卷積層中的操作是對前一層的1個(gè)或若干個(gè)特征圖和該層中的1個(gè)或若干個(gè)卷積核進(jìn)行卷積操作,產(chǎn)生1個(gè)或若干個(gè)輸出,映射到該層特征圖上。卷積層的前向計(jì)算式為
(1)
式(1)中:l為當(dāng)前層;Mj為輸入特征圖的集合;k為卷積核;b為偏置參數(shù)。
激活函數(shù)是作用于卷積層和全連接層之后的非線性計(jì)算操作,目前常用的激活函數(shù)模型及計(jì)算式見表1。
表1 常見的激活函數(shù)模型及計(jì)算式
池化層對卷積層輸出特征圖中不同位置的特征進(jìn)行聚合統(tǒng)計(jì)操作,以最大值池化為例,其操作就是在輸入特征圖的每個(gè)池化窗口中提取所有特征中最大的特征值作為池化后的卷積特征。圖2為最大值池化示意。
卷積神經(jīng)網(wǎng)絡(luò)通過前向傳播計(jì)算目標(biāo)函數(shù)的誤差值,通過反向傳播誤差值對隱層神經(jīng)元的參數(shù)進(jìn)行迭代更新,通過多次迭代使目標(biāo)函數(shù)的值達(dá)到最小。監(jiān)督學(xué)習(xí)的目標(biāo)函數(shù)可表示為
(2)
式(2)中:θ*為目標(biāo)函數(shù)最小時(shí)的θ值;L()為損失函數(shù);Φ(θ)為正則化項(xiàng),防止出現(xiàn)過擬合問題。
1) dropout策略是以一定的概率將隱層神經(jīng)元的輸入和輸出設(shè)置為零。選中“dropped out”的隱層神經(jīng)元在網(wǎng)絡(luò)中既不參與前向傳播,也不參與誤差的反向傳播,但其權(quán)重會(huì)保留下來。
2) 批規(guī)范化策略是在卷積計(jì)算和激活函數(shù)中間進(jìn)行規(guī)范化計(jì)算,逐層尺度歸一。
3) 邊框回歸策略可使網(wǎng)絡(luò)生成的邊框和標(biāo)準(zhǔn)目標(biāo)邊框的交并比值更高。
4) 非極大值抑制算法[7]用于在n個(gè)目標(biāo)邊框中搜索極大值,抑制非極大值邊框,消除交叉重復(fù)的邊框。
深度卷積網(wǎng)絡(luò)可有效整合不同層次的特征信息,確保更深層、更全面的表達(dá)特征可用加深網(wǎng)絡(luò)層數(shù)的方法實(shí)現(xiàn)。因此,采用50層深度殘差網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),引用深度殘差學(xué)習(xí)框架克服深度網(wǎng)絡(luò)精確度飽和/退化的問題。
考慮到模型計(jì)算的成本,對殘差塊進(jìn)行優(yōu)化計(jì)算,將2個(gè)3×3順序連接的卷積層用1×1、3×3和1×1順序連接的卷積層替換(見圖3)。該模型采用的激活函數(shù)是Re LU。
在對每層的輸入進(jìn)行卷積計(jì)算之后,需在Re LU激活函數(shù)之前對卷積計(jì)算的輸出進(jìn)行批規(guī)范化處理,以保證下一層的更新更快、更準(zhǔn)確。
深度殘差網(wǎng)絡(luò)的參數(shù)見表2, 其中:res1為7×7尺寸的卷積核,有64個(gè),步幅為2;后面接3×3池化窗口的最大值池化操作,步幅為2;res2_x~res5_x為多個(gè)卷積層的組合。
表2 殘差網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
網(wǎng)絡(luò)采用3×3尺寸的卷積核在特征提取網(wǎng)絡(luò)卷積得到的特征圖上進(jìn)行滑動(dòng)掃描,每個(gè)滑動(dòng)窗口有9種不同的錨,因此每個(gè)滑動(dòng)窗口滑過的位置有9個(gè)候選區(qū)域,窗口的中心點(diǎn)對應(yīng)原圖上的位置點(diǎn),網(wǎng)絡(luò)學(xué)習(xí)到的平均候選區(qū)域大小見表3。
表3 候選區(qū)域邊框的設(shè)計(jì)
卷積層輸出512維數(shù)據(jù):一個(gè)分支連接候選區(qū)域提名網(wǎng)絡(luò)的分類評分層,該層采用1×1×512×18尺寸的卷積核,將前面的512維數(shù)據(jù)轉(zhuǎn)換為18(2×9個(gè)錨)個(gè)輸出,判斷該點(diǎn)的候選區(qū)域是前景還是背景;另一個(gè)分支連接候選區(qū)域提名網(wǎng)絡(luò)的邊框預(yù)測層,該層采用1×1×512×36尺寸的卷積核,將前面的512維數(shù)據(jù)轉(zhuǎn)換成36(4×9個(gè)錨)個(gè)輸出,對應(yīng)該候選區(qū)域邊框的中心點(diǎn)坐標(biāo)(x,y)和邊框?qū)挕⒏?w,h)值。通過光滑L1(smoothL1)函數(shù)計(jì)算得出,其計(jì)算式為
(3)
候選區(qū)域提名網(wǎng)絡(luò)分配給2類錨為正標(biāo)簽,即:與標(biāo)準(zhǔn)目標(biāo)區(qū)域邊框有最高的交并比值的錨(可能<0.7);與任意標(biāo)準(zhǔn)目標(biāo)區(qū)域邊框有交并比值>0.7的錨。所有與標(biāo)準(zhǔn)目標(biāo)區(qū)域邊框交并比值<0.3的錨分配為負(fù)標(biāo)簽。由于會(huì)產(chǎn)生很多候選區(qū)域,這些候選區(qū)域會(huì)有很多重疊區(qū)域,因此模型采用非極大值抑制算法將候選區(qū)域邊框之間交并比值>0.7的區(qū)域全部合并。在測試候選區(qū)域提名網(wǎng)絡(luò)時(shí),沒有原始數(shù)據(jù)的相關(guān)連接和損失函數(shù)的計(jì)算部分。
模型多任務(wù)損失網(wǎng)絡(luò)中有2個(gè)同級輸出,分別為分類評分層和邊框預(yù)測層,且都是全連接層。多任務(wù)數(shù)據(jù)結(jié)構(gòu)示意見圖4,分類評分層用于分類,輸出k+1維數(shù)組p,表示候選區(qū)域分別屬于k個(gè)類別和背景的概率。對每個(gè)感興趣的區(qū)域輸出離散型概率分布:p=(p0,p1,…,pk),通常全連接層利用softmax函數(shù)計(jì)算得出p的值。邊框預(yù)測層用于調(diào)整候選區(qū)域邊框的位置,對候選區(qū)域邊框進(jìn)行回歸計(jì)算,輸出4×(k+1)維數(shù)組t,表示分別屬于k個(gè)類別和背景時(shí),應(yīng)平移、縮放的參數(shù)tk=(txk,tyk,twk,thk),其中:k表示類別的索引;txk和tyk指相對于目標(biāo)邊框尺度不變的平移;twk和thk指對數(shù)空間中相對于目標(biāo)邊框的高和寬。
遵循Fast R-CNN中多任務(wù)損失的定義,將一個(gè)圖像的最小化目標(biāo)函數(shù)定義為
(4)
模型用Fast R-CNN相對應(yīng)層連接在pool5層之后,構(gòu)造一系列輸出節(jié)點(diǎn)為“4 096-4 096-(4+16)”的全連接層,然后連接相應(yīng)的損失函數(shù),在全連接層的內(nèi)積操作和激活函數(shù)(Re LU)層中間添加批規(guī)范化(bn)層、縮放(scale)層和dropout策略。參考HyperNet[8]目標(biāo)檢測方法中dropout的參數(shù),設(shè)置dropout_ratio參數(shù)為0.25,在候選區(qū)域提名網(wǎng)絡(luò)和多任務(wù)損失網(wǎng)絡(luò)中間無需損失函數(shù)層。
召回率(recall)和準(zhǔn)確率(precision)是衡量卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測的度量值,其計(jì)算式為
(5)
式(5)中:Ntp為檢測到的相關(guān)類別與實(shí)際類別一致的樣本數(shù)量;Ngt為該相關(guān)類別的樣本總量;Np為檢測到的樣本總量。
在目標(biāo)檢測任務(wù)中,召回率和準(zhǔn)確率是一對相互矛盾的指標(biāo),因此采用單類平均準(zhǔn)確率[9]和多類平均準(zhǔn)確率指標(biāo)。
該試驗(yàn)所用的電腦采用linux內(nèi)核ubuntu14.04操作系統(tǒng),在深度學(xué)習(xí)的Caffe框架下配置試驗(yàn)?zāi)P停捎肅UDA7.5版本的加速工具箱。人工挑選船舶圖像5 006張,包括小型船1 378張、帆船2 366張和運(yùn)輸船1 262張。
模型的卷積層卷積核參數(shù)和全連接層參數(shù)初始化類型選擇Xavier[10],全連接層fc6和fc7的偏置參數(shù)為常量0.1。fc7層后面連接的分類評分層中參數(shù)初始化采用均值為0、標(biāo)準(zhǔn)差為0.01的高斯分布,連接的邊框預(yù)測層中參數(shù)初始化采用均值為0、標(biāo)準(zhǔn)差為0.001的高斯分布。網(wǎng)絡(luò)參數(shù)設(shè)置minibatch_size為128,迭代次數(shù)為100 000次,分2個(gè)階段進(jìn)行,其中:第一階段學(xué)習(xí)率設(shè)為0.001,迭代80 000次;第二階段學(xué)習(xí)率設(shè)為0.000 1,迭代20 000次。動(dòng)量參數(shù)為0.9,權(quán)重衰減為0.000 5,設(shè)置小的權(quán)重衰減對于卷積核參數(shù)和全連接層參數(shù)w的學(xué)習(xí)而言很重要,可減小模型訓(xùn)練錯(cuò)誤概率,w的更新規(guī)則為
(6)
式(6)中:i為迭代次數(shù);w為動(dòng)量變量;ε為學(xué)習(xí)率。
將船舶數(shù)據(jù)集輸入模型中進(jìn)行訓(xùn)練和測試,卷積神經(jīng)網(wǎng)絡(luò)的多類平均準(zhǔn)確率結(jié)果見圖5。模型目標(biāo)檢驗(yàn)準(zhǔn)確率結(jié)果見表4。
類別小型船舶帆船運(yùn)輸船多類平均平均準(zhǔn)確率0.563 20.773 90.748 80.695 3
取交并比值≥0.7的預(yù)測邊框參與測評,選取每類比較有代表性的圖像進(jìn)行測評,結(jié)果見圖6。
為驗(yàn)證該模型的目標(biāo)檢測效果,分別采用基于區(qū)域提名的Faster R-CNN(VGG16特征提取網(wǎng)絡(luò))模型和基于回歸方法的SSD(VGG16特征提取網(wǎng)絡(luò))模型在船舶數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試。各模型在測試集上的召回率-準(zhǔn)確率曲線見圖7。
不同模型在不同船舶類別上的測試結(jié)果準(zhǔn)確率見圖8。
試驗(yàn)結(jié)果表明:基于本文模型的船舶數(shù)據(jù)集目標(biāo)檢測方法在準(zhǔn)確率上優(yōu)于采用Faster R-CNN模型和SSD模型所得結(jié)果。
總體來說,模型通過采用多種組合策略對船舶數(shù)據(jù)集的檢測性能進(jìn)行一定的提升,可證明采用該策略的有效性和在船舶數(shù)據(jù)集檢測方面的卓越性。
本文基于計(jì)算機(jī)視覺中目標(biāo)檢測技術(shù)的理論基礎(chǔ),對水上交通中的船舶進(jìn)行目標(biāo)檢測研究,通過引入卷積神經(jīng)網(wǎng)絡(luò)技術(shù),對水上多類船舶目標(biāo)進(jìn)行定位和分類,為未來基于計(jì)算機(jī)視覺的船舶輔助駕駛技術(shù)提供新的支撐,為船舶基于計(jì)算機(jī)視覺的自動(dòng)導(dǎo)航、自動(dòng)控制和自動(dòng)避碰等研究奠定基礎(chǔ)。
1) 運(yùn)用dropout、批規(guī)范化、邊框回歸和非極大值抑制等策略和優(yōu)化的錨機(jī)制提高檢測的準(zhǔn)確率,同時(shí)采用殘差塊策略抑制網(wǎng)絡(luò)的退化問題,在船舶數(shù)據(jù)集的檢測上取得明顯的提升,在準(zhǔn)確率上遠(yuǎn)遠(yuǎn)高于Faster R-CNN模型和SSD模型。
2) 本文的水上目標(biāo)數(shù)據(jù)集只包含船舶數(shù)據(jù)集,而水上交通中還有橋梁、島嶼和燈塔等常見的目標(biāo)圖像沒有搜集,需進(jìn)行完善和補(bǔ)充,保證水上目標(biāo)數(shù)據(jù)的全面和充足。
[1] HUBEL D H, WIESEL T N. Receptive Fields, Binocular Interaction and Functional Architecture in the Cat's Visual Cortex[J]. Journal of Physiology, 1962, 160(1):106-154.
[2] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet Classification with Deep Convolutional Neural Networks[C]//International Conference on Neural Information Processing Systems,2012,25(2):1097-1105.
[3] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR). USA:IEEE,2014:580-587.
[4] GIRSHICK R. Fast R-CNN[C]// IEEE International Conference on Computer Vision. USA: IEEE, 2015:1440-1448.
[5] REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]//Computer Vision & Pattern Recognition, 2016:779-788.
[6] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot Multibox Detector[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 21-37.
[7] NEUBECK A, GOOL L V. Efficient Non-Maximum Suppression[C]// International Conference on Pattern Recognition. IEEE, 2006:850-855.
[8] KONG T, YAO A, CHEN Y, et al. HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 845-853.
[9] HOSANG J, BENENSON R, DOLLAR P, et al. What Makes for Effective Detection Proposals[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016,38(4):814.
[10] GLOROT X, BENGIO Y. Understanding the Difficulty of Training Deep Feedforward Neural Networks[J]. Journal of Machine Learning Research, 2010, 9:249-256.
[11] 李君寶,楊文慧,許劍清,等.基于深度卷積網(wǎng)絡(luò)的SAR圖像目標(biāo)檢測識別[J] .導(dǎo)航定位與授時(shí), 2017,4(1): 60-66.
[12] 姚相坤,萬里紅,霍宏,等.基于多結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)的高分遙感影像飛機(jī)目標(biāo)檢測[J].計(jì)算機(jī)工程,2017,43(1): 259-267.
[13] 鄧柳,汪子杰.基于深度卷積神經(jīng)網(wǎng)絡(luò)的車型識別研究[J].計(jì)算機(jī)應(yīng)用研究,2016,33(3): 930-932.