甘浪雄 吳金茹 徐海祥 馮 輝 張 磊 束亞清 張東方
(武漢理工大學(xué)航運學(xué)院1) 武漢 430063) (內(nèi)河航運技術(shù)湖北省重點實驗室2) 武漢 430063) (武漢理工大學(xué)船海與能源動力工程學(xué)院3) 武漢 430063) (蘇州市港航事業(yè)發(fā)展中心4) 蘇州 215000)
水路運輸污染小、運量大而且耗能低,日益增長的行船數(shù)量也給管理部門造成了監(jiān)管負(fù)擔(dān),為維系水路運輸業(yè)的效率與安全,構(gòu)建智能化航運系統(tǒng)迫在眉睫.隨著計算機視覺技術(shù)、深度學(xué)習(xí)的發(fā)展,陸路交通通過將車牌識別技術(shù)應(yīng)用到綜合道路監(jiān)控系統(tǒng)中,建立起較為成熟的智能交通管理系統(tǒng).船舶名稱作為船舶能夠合法航行的重要身份標(biāo)識,具有唯一性和必需性,從采集的船舶圖像中檢測并識別出船名信息,對于打造智能化內(nèi)河航運系統(tǒng)具有重要意義,而快速、準(zhǔn)確地定位船名是實現(xiàn)船名識別的首要任務(wù).
基于深度學(xué)習(xí)的文本檢測分為兩類:第一類是通過對邊界框執(zhí)行回歸操作,采用常用目標(biāo)檢測的處理流程,派生出基于回歸的文本檢測方法[1].在Faster R-CNN[2](faster region with convolutional neural network feature)、SDD(single shot multibox detector)和YOLOv3(you only look once v3)等經(jīng)典目標(biāo)檢測的網(wǎng)絡(luò)框架上,針對文本特有的特點提出改進(jìn).Liao等[3]針對文本具有較大橫縱比的特點,在SSD算法的基礎(chǔ)上修改了錨框比例并采用不規(guī)則卷積核,提出了TextBoxes算法來檢測不同長寬比大小的文本,針對文本多方向性的特點,又提出TextBoxes++算法采用定向矩形或四邊形邊界框替換矩形邊界框來達(dá)到多方向文本檢測的目的.Zhong等[4]在Faster R-CNN的基礎(chǔ)上,提出了一種用于文本檢測的統(tǒng)一框架,由具有文本特征先驗邊界框的Inception-RPN(inception region proposal network)組成,擴(kuò)大了文本與一般目標(biāo)之間的差距.這些方法在檢測水平文本方面較為有效,但難以處理密集文本和任意形狀的文本.第二類是基于文本區(qū)域分割的方法,主要受全卷積神經(jīng)網(wǎng)絡(luò)的啟發(fā),對每個像素進(jìn)行預(yù)測得到文本區(qū)域分割圖,采用后處理得到文本邊界框.Shelhamer等[5]提出了級聯(lián)卷積文本網(wǎng)絡(luò)(cascaded convolutional text network,CCTN),實現(xiàn)從粗到細(xì)的文本定位.該方法利用低分辨率高層特征粗略區(qū)分圖像中的文本和背景,再將檢測的文本區(qū)域通過精細(xì)檢測網(wǎng)絡(luò)預(yù)測文本區(qū)域和文本中心線區(qū)域,最終得到文本框,對不同尺度的文本檢測有較好的魯棒性.Wang等[6]提出了一種漸進(jìn)式擴(kuò)展算法,用于解決密集文本之間難以準(zhǔn)確分割的問題.Liao等[7]提出DBNet算法,將可微分二值化操作應(yīng)用于分割網(wǎng)絡(luò)中,采用自適應(yīng)的閾值,簡化了后處理并提高了文本檢測的效果,且具有較強的魯棒性.這類方法對多方向性文本有較好的檢測效果,但存在后處理復(fù)雜度高、耗時長以及模型普遍缺少特征級的精細(xì)化導(dǎo)致模型不能被充分利用的問題[8].
針對水面船舶船名存在位置多變、分辨率小以及傾斜等問題,文中在DBNet算法的基礎(chǔ)上,提出基于注意力機制與特征增強的船名檢測方法.通過在骨干網(wǎng)絡(luò)引入注意力機制,實現(xiàn)跨通道之間的信息交互并加強船名特征信息,采用多尺度特征增強與融合模塊進(jìn)一步提升特征的多樣性及魯棒性,同時使用新的損失函數(shù),在構(gòu)建的船名數(shù)據(jù)集上進(jìn)行多組對比分析實驗進(jìn)行驗證.
針對水面船舶圖像中的船名檢測,以基于分割的文本檢測網(wǎng)絡(luò)DBNet為基準(zhǔn),設(shè)計了一種基于注意力機制與特征增強的船名檢測方法,其網(wǎng)絡(luò)結(jié)構(gòu)見圖1.
圖1 基于注意力機制與特征增強的船名檢測網(wǎng)絡(luò)結(jié)構(gòu)
在基于深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測任務(wù)中,采取引入注意力機制的方法來提升網(wǎng)絡(luò)對目標(biāo)的聚焦,防止有用特征丟失從而提升網(wǎng)絡(luò)的效果.從本質(zhì)上來看,注意力機制與人類對外界事物的觀察機制相似,可以幫助模型對輸入的每個部分賦予不同的權(quán)重,抽取出更加關(guān)鍵的信息,使模型做出更準(zhǔn)確的判斷.
ECANet[9]中提出了一種高效通道注意力模塊,相較于典型的SENet[10]中提出的通道注意力(squeeze-and-excitation,SE),ECA模塊具有良好的跨通道信息獲取的能力,能夠?qū)崿F(xiàn)不降維的局部跨信道交互,在降低模型復(fù)雜度的同時還能保持性能,其結(jié)構(gòu)見圖2.具體計算步驟如下:①將輸入特征圖進(jìn)行全局平均池化操作,對整個特征圖求平均值,得到1×1×C大小的特征圖;②采用自適應(yīng)卷積核進(jìn)行一維卷積操作,并經(jīng)過sigmoid激活函數(shù)得到各個通道的權(quán)重w;③將權(quán)重與原始輸入的特征圖對應(yīng)元素相乘,得到最終輸出特征圖.
圖2 高效通道注意力(ECA)模塊網(wǎng)絡(luò)結(jié)構(gòu)
將高效通道注意力模塊引入到船名檢測的特征提取模塊中.將輕量級的ResNet18作為模型的骨干網(wǎng)絡(luò),該網(wǎng)絡(luò)是目前應(yīng)用最廣泛的深度卷積特征提取網(wǎng)絡(luò)之一,通過引入殘差學(xué)習(xí)來解決普通網(wǎng)絡(luò)中梯度消失和梯度爆炸的問題,提取更深層次的特征[11-12].將ECA模塊添加到骨干網(wǎng)絡(luò)提取的有效特征層上,用于增強圖像中的文本特征.輸入圖像通過骨干網(wǎng)絡(luò)分別提取到1/4、1/8、1/16、1/32大小的特征圖,每個特征圖再經(jīng)過高效通道注意力模塊得到c2、c3、c4和c5四個新的特征圖.
FPEM與特征金字塔(feature pyramid network,FPN)結(jié)構(gòu)類似,通過融合低級和高級信息來增強不同尺度的特征,是一個可以級聯(lián)的結(jié)構(gòu),能夠有效地增強特征.此外,相較于FPN,FPEM還具有以下兩個優(yōu)點:FPEM是一個可級聯(lián)的模塊,隨著級聯(lián)數(shù)的增加,不同尺度的特征圖能夠融合得更充分,并且能夠增大感受野;FPEM是由可分離的卷積構(gòu)建,計算成本低.該模塊主要由up-scale增強和down-scale增強兩個階段組成,將骨干網(wǎng)絡(luò)輸出的特征金字塔通過up-scale從上到下融合,再通過down-scale從下往上融合,不斷增強各個尺度的特征信息.
在up-scale增強階段,以c4、c5為例,對c5進(jìn)行兩倍的線性上采樣,再與c4進(jìn)行逐元素相加,最后通過可分離卷積操作得到新的特征圖c4;在dow-scale增強階段,以c2,c3為例,對c3進(jìn)行兩倍的線性上采樣,再與c2進(jìn)行逐元素相加,同樣通過可分離卷積操作,但此時的滑動步長為2,從而得到與c3大小相同的新特征圖p3.逐層進(jìn)行以上操作,最終得到增強后的特征圖p2、p3、p4、p5.
FFM是用于融合不同深度的FPEM的特征,其結(jié)構(gòu)見圖3.該模塊對同一尺度的特征圖逐個相加,得到最終的多尺度特征后,對不同尺度的特征圖進(jìn)行上采樣操作使得特征圖具有相同的大小,級聯(lián)得到模型的最終輸出特征圖F.相較于直接將不同尺度的特征圖上采樣再全部級聯(lián)的方法,FFM能夠有效地減少特征通道數(shù),從而加快預(yù)測速度.
圖3 特征融合模塊
對特征圖F進(jìn)行一次卷積和兩次批量標(biāo)準(zhǔn)化與轉(zhuǎn)置卷積操作,擴(kuò)大到和原圖一樣大,再經(jīng)過sigmoid層得到0-1輸出概率圖P.同樣對特征圖F先進(jìn)行卷積、批量標(biāo)準(zhǔn)化操作并經(jīng)過ReLU激活函數(shù),再進(jìn)行兩次上采樣操作,期間進(jìn)行一次批量標(biāo)準(zhǔn)化與ReLU,經(jīng)過sigmoid層后輸出閾值圖T.通過建立概率圖和閾值圖之間的關(guān)系,生成近似二值圖,其表達(dá)式為
(1)
式中:Bi,j為近似二值圖上(i,j)處的值;Pi,j為概率圖上(i,j)處的值;Ti,j為自適應(yīng)閾值圖在(i,j)處的值;k為放大系數(shù).
該近似二值化函數(shù)與標(biāo)準(zhǔn)二值化函數(shù)相似,但具有可微性,所以可以在訓(xùn)練階段隨分割網(wǎng)絡(luò)進(jìn)行優(yōu)化,使得分割網(wǎng)絡(luò)產(chǎn)生一個邊界效果較好的概率圖和近似二值圖,不僅能簡化后處理過程,還提高了文本檢測的效果.
在后處理過程中,采用概率圖來生成文本框.使用固定閾值t對概率圖進(jìn)行二值化操作得到二值化圖,通過二值化圖可以得到收縮的文字區(qū)域.將收縮文字區(qū)域按照裁剪算法的偏移系數(shù)d′通過膨脹擴(kuò)展來生成文本框,計算公式為
(2)
式中:d′為擴(kuò)展補償;S′為收縮文字區(qū)域的面積;C′為收縮多邊形的周長;r′為擴(kuò)展比例.
在訓(xùn)練過程中,分別采用不同的標(biāo)簽對概率圖、閾值圖和近似二值圖進(jìn)行監(jiān)督.采用Vatti裁剪算法來生成文本標(biāo)簽,標(biāo)注的數(shù)據(jù)集給定的標(biāo)簽G一般是完整文本框,為了實現(xiàn)相鄰文本實例之間的有效分離,對標(biāo)簽進(jìn)行縮放處理.將人工標(biāo)注的文本標(biāo)簽G向內(nèi)縮小距離d得到Gs,將Gs作為概率圖和近似二值圖的標(biāo)簽.縮小距離d的計算公式為
(3)
式中:S為多邊形的面積;r為縮小比例;C為多邊形的周長.
同時向外擴(kuò)張同樣的距離d得到GL,GS和GL中間區(qū)域GSL視為文本區(qū)域的邊界,計算GSL區(qū)域內(nèi)每個像素點到原始圖像邊界G的歸一化距離(最近段的距離)即為閾值圖的標(biāo)簽.
本文主要計算的損失包括概率圖的損失、閾值圖的損失和二值圖的損失.其中,概率圖和二值圖的損失屬于分類損失,用來優(yōu)化網(wǎng)絡(luò)對“文本”和“非文本”預(yù)測正確的結(jié)果;閾值圖的損失屬于回歸損失,用來優(yōu)化網(wǎng)絡(luò)生成定位準(zhǔn)確的回歸框.損失函數(shù)L的計算公式為
L=Ls+α·Lb+β·Lt
(4)
式中:Ls為概率圖的損失;Lt為閾值圖的損失;Lb為二值圖的損失;α和β用于平衡各損失函數(shù)在訓(xùn)練過程中的比重.
對Ls采用平衡交叉熵?fù)p失函數(shù),在損失函數(shù)中添加權(quán)重因子來平衡正負(fù)樣本的權(quán)重,即:
Ls=∑w·lgpi+(1-w)lg(1-pi)
(5)
式中:pi為樣本的分類概率;w為權(quán)重因子,權(quán)重大小根據(jù)正負(fù)樣本的分布進(jìn)行設(shè)置.
而對于Lb損失的計算采用了Dice損失函數(shù).Dice損失一般應(yīng)用于語義分割中,對正負(fù)樣本不平衡的場景有著不錯的性能,訓(xùn)練過程中更側(cè)重對前景區(qū)域的挖掘,是一種類似于IOU度量的損失函數(shù).Lb損失的計算公式為
(6)
式中:yi為近似二值圖的標(biāo)簽值;xi為預(yù)測值;ε為一個極小的數(shù),一般稱為平滑系數(shù),起到平滑損失和梯度的作用.
Lt損失計算的是GL區(qū)域內(nèi)預(yù)測與標(biāo)簽之間損失,本文使用Smooth L1 損失函數(shù)來計算Lt.
(7)
(8)
式中:RL為GL內(nèi)的像素索引;為閾值圖的標(biāo)簽;為訓(xùn)練過程中閾值圖的預(yù)測值.
由于目前沒有公開的船名圖片數(shù)據(jù)集,本實驗數(shù)據(jù)集選自船訊網(wǎng)上帶有船名字符的水面可見光圖片,其中10 169張作為訓(xùn)練集,1 260張作為測試集,這些圖片中包括遠(yuǎn)洋救助拖輪、海巡船、漁船等各種船型的船名.采用PaddleLabel半自動標(biāo)注工具對圖片進(jìn)行標(biāo)注,標(biāo)注的文本框為四邊形框.為了有效表示船舶圖像中的船名字符區(qū)域,將屬于同一標(biāo)簽內(nèi)容的區(qū)域作為單獨的文本區(qū)域.原始圖像和人工標(biāo)注圖像示例見圖4.
圖4 原始圖像和標(biāo)注圖像示例
在訓(xùn)練階段,對訓(xùn)練數(shù)據(jù)進(jìn)行數(shù)據(jù)增強操作,主要包括:①將輸入圖像按照0.5的比例進(jìn)行水平翻轉(zhuǎn);②將圖像隨機旋轉(zhuǎn)(-10°,10°)區(qū)間內(nèi)的角度;③圖像按照(0.5,0.3)的比例進(jìn)行縮放.并將輸入圖像大小設(shè)置為640×640.
參數(shù)設(shè)置:根據(jù)GPU內(nèi)存大小將每次迭代輸入圖像數(shù)量設(shè)置為2;數(shù)據(jù)集訓(xùn)練輪次為100;采用Adam優(yōu)化器進(jìn)行端到端的訓(xùn)練;學(xué)習(xí)率初始設(shè)置為0.005;可微分二值化操作中放大系數(shù)k根據(jù)經(jīng)驗設(shè)為50;后處理過程中的二值化閾值t設(shè)為0.3;擴(kuò)展比例r′設(shè)為1.5;縮小比例r設(shè)為0.4;根據(jù)損失的數(shù)值,α和β分別設(shè)為1和10;交叉熵?fù)p失函數(shù)中w設(shè)為0.25.
文本檢測中常用的評價指標(biāo)包括召回率Rrecall、精確率Pprecision和F1分?jǐn)?shù).由于本文數(shù)據(jù)來源于攝像機拍攝,船舶處于航行狀態(tài)導(dǎo)致拍攝圖片效果不理想,圖片中存在船名字符角度多變、清晰度不高、大小不一等復(fù)雜情況,所以采用計算標(biāo)定框和檢測框的交并比來判定算法的召回率、精確率.計算公式為
(9)
(10)
(11)
(12)
式中:area()為求多邊形的面積;inter()為求兩個多邊形的交集;umion()為求兩個多邊形的并集;gti為第i個標(biāo)定框;detj為第j個檢測框;為iouMati,j大于0.5的個數(shù);Numgt為標(biāo)定框的個數(shù);Numdt為檢測框的個數(shù).
2.4.1不同特征提取模塊的對比
以DBNet為基準(zhǔn),DBNet+ECA表示在DBNet算法的特征提取網(wǎng)絡(luò)中引入高效通道注意力模塊,其他部分與DBNet算法一致,分別進(jìn)行實驗,得到的召回率、精確率以及F值見表1.
表1 不同注意力模塊結(jié)果對比 單位:%
由表1可知:在特征提取模塊中引入高效通道注意力模塊ECA,召回率相對基礎(chǔ)算法提升了4.9%,精確率相對下降了0.5%,F值也有不錯的提升,從83.6%提升到85.8%,說明該方法較為有效.結(jié)果表明,引入ECA模塊較大幅度地提升了召回率,有效地減少船名漏檢的情況.
2.4.2多尺度特征融合模塊對比
為了驗證特征金字塔增強模塊與特征融合模塊對特征信息的有效利用,以DBNet為基準(zhǔn),DBNet+FPEM_FFM表示在DBNet算法中采用多尺度特征增強與融合模塊來代替FPN的算法,實驗結(jié)果見表2.
表2 多尺度特征融合模塊對比實驗結(jié)果 單位:%
由表2可知:采用多尺度特征增強與融合模塊代替DBNet算法中的FPN,使得召回率和精確率都有所提升.結(jié)果表明,特征金字塔增強模塊能夠更好地利用骨干網(wǎng)絡(luò)提取的特征信息,較好地融合淺層和深層特征圖,有效地提高算法的多尺度檢測能力.
2.4.3不同損失函數(shù)的對比
為了驗證本文采用的回歸損失函數(shù)對模型訓(xùn)練效果的影響,以DBNet為基準(zhǔn),DBNet*表示在DBNet算法中回歸損失部分使用新的損失函數(shù),分別進(jìn)行實驗,結(jié)果見表3.
表3 損失函數(shù)對比實驗結(jié)果 單位:%
由表3可知:使用新?lián)p失函數(shù)的算法在精確率上較基準(zhǔn)有一定的提升,提升了3.2%,F值也提升了1.1%.結(jié)果表明,本文采用的smooth L1損失函數(shù)能夠有效地提高文本框的回歸效果,提升了算法的檢測精度.
2.4.4整體改進(jìn)實驗
為驗證本文算法相對DBNet在整體性能上的提升,用DBNet**表示本文提出的在DBNet基礎(chǔ)上采用高效通道注意力模塊、多尺度特征增強與融合和改進(jìn)的損失函數(shù)算法,實驗結(jié)果見表4.
表4 整體改進(jìn)實驗結(jié)果 單位:%
由表4可知:本文算法對于DBNet算法精確率效果提升明顯,從84.7%提升至88.1%.
圖5a)為采用DBNet算法檢測效果圖,圖5b)為采用本文算法的檢測效果圖,深色框圖是檢測算法輸出的文本邊界框.由圖5可知:本文提出的算法在檢測效果上優(yōu)于DBNet算法.
圖5 部分檢測效果圖
針對水面船舶圖像中船名檢測問題,提出了一種基于注意力機制與特征增強的船名檢測算法,該算法引入高效通道注意力模塊,增強了網(wǎng)絡(luò)對文本特征的提取能力,有效地減少了船名漏檢的情況.采用多尺度特征增強與融合模塊提高網(wǎng)絡(luò)的分割性能,提升了檢測精確率.改進(jìn)了回歸任務(wù)的損失函數(shù),提升了檢測效果.在自建船名圖像數(shù)據(jù)集上進(jìn)行對比實驗,結(jié)果表明本文算法的有效性.