王冬梅,王 良,孫文然,祁 超,沈建龍
(1.上海船舶工藝研究所,上海 200032;2.廣州文沖船舶修造有限公司,廣東 廣州 511462;3.招商局重工(江蘇)有限公司,江蘇 南通 226116)
在船舶制造企業(yè)中,船舶設(shè)備堆放涉及物資集配、物流傳輸、信息標(biāo)記、堆場(chǎng)庫(kù)位規(guī)劃、入庫(kù)和出庫(kù)使用等一系列操作,有些船舶設(shè)備屬于進(jìn)口產(chǎn)品,相關(guān)信息資料為英文描述,現(xiàn)場(chǎng)領(lǐng)料和安裝人員較難在第一時(shí)間準(zhǔn)確辨識(shí)其詳細(xì)信息、項(xiàng)目使用和安裝調(diào)試等。行業(yè)內(nèi)的骨干企業(yè)引進(jìn)智能化船舶設(shè)備立體倉(cāng)庫(kù),實(shí)現(xiàn)船舶設(shè)備倉(cāng)儲(chǔ)管理無(wú)人化。收貨入庫(kù)階段的船舶設(shè)備信息識(shí)別尤為重要,只有具備快速辨識(shí)能力,才能提升管理效率。
船舶設(shè)備具有種類(lèi)繁多、數(shù)量龐大的特點(diǎn),在倉(cāng)庫(kù)捕獲的船舶設(shè)備圖像中,背景場(chǎng)景均十分復(fù)雜。目前,在半人工的條件下,識(shí)別船舶設(shè)備并獲取其相關(guān)信息較為費(fèi)時(shí)費(fèi)力,且不夠精確??紤]將深度學(xué)習(xí)應(yīng)用于船舶設(shè)備信息識(shí)別,提出一種基于深度學(xué)習(xí)的船舶設(shè)備信息智能化識(shí)別模型,建模過(guò)程如下:(1)進(jìn)行船舶設(shè)備圖像預(yù)處理和圖像樣本標(biāo)記[1],為生成訓(xùn)練/測(cè)試數(shù)據(jù)集提供基礎(chǔ);(2)建立卷積神經(jīng)網(wǎng)絡(luò)[2],構(gòu)造模型函數(shù),結(jié)合船舶設(shè)備信息識(shí)別特定場(chǎng)景,設(shè)計(jì)和設(shè)置模型基礎(chǔ)參數(shù),將生成的數(shù)據(jù)集輸入模型進(jìn)行訓(xùn)練和評(píng)估,并根據(jù)評(píng)估結(jié)果對(duì)模型進(jìn)行網(wǎng)絡(luò)框架修改、參數(shù)調(diào)整和結(jié)果測(cè)試;(3)對(duì)模型投入工業(yè)生產(chǎn)后的算法進(jìn)行優(yōu)化設(shè)計(jì),滿(mǎn)足工業(yè)生產(chǎn)對(duì)船舶設(shè)備信息智能化識(shí)別的需要。
船舶設(shè)備圖像預(yù)處理過(guò)程如下:(1)通過(guò)倉(cāng)庫(kù)攝像頭捕捉大量船舶設(shè)備圖像,在捕捉時(shí)應(yīng)注意圖像清晰程度,篩除模糊圖像;(2)將圖像統(tǒng)一裁剪為相同大小并存儲(chǔ),圖像裁剪需要進(jìn)行批量處理,將其裁剪為合適尺寸的小圖;(3)進(jìn)行與視覺(jué)相關(guān)的圖像處理,包括圖像降噪、圖像增強(qiáng)和圖像陰影校正等,三者分別屬于圖像算術(shù)運(yùn)算中的加法運(yùn)算、減法計(jì)算和陣列乘除法運(yùn)算。
為創(chuàng)建訓(xùn)練/測(cè)試數(shù)據(jù)集,應(yīng)對(duì)樣本圖像中的船舶設(shè)備種類(lèi)及其特征信息進(jìn)行標(biāo)記。需要特別注意的是:船舶設(shè)備種類(lèi)繁多且部分船舶設(shè)備相似度較高??墒褂脴?biāo)注工具Labelimg進(jìn)行樣本標(biāo)記,如圖1所示。
圖1 Labelimg應(yīng)用示例
在標(biāo)記后生成與圖像對(duì)應(yīng)的txt文件,其規(guī)范如下:(1)每行均為一個(gè)目標(biāo);(2)類(lèi)別序號(hào)由零索引(0)開(kāi)始;(3)每行坐標(biāo)格式為class x_center y_center width height;(4)框坐標(biāo)須采用歸一化的xywh格式(由0至1),若框以像素為單位,則將x_center和width除以圖像寬度,將y_center和height除以圖像高度。
在標(biāo)記后生成與圖像對(duì)應(yīng)的可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language, XML)文件,其規(guī)范如圖2所示。
圖2 與圖像對(duì)應(yīng)的XML文件示例
txt文件和XML文件均為樣本標(biāo)記文件,有利于進(jìn)行有監(jiān)督學(xué)習(xí),但兩者分別適用于YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)和Keras網(wǎng)絡(luò)結(jié)構(gòu)。
進(jìn)行數(shù)據(jù)集創(chuàng)建,將樣本圖像全部轉(zhuǎn)化為張量,得到可輸入模型的數(shù)據(jù)樣本。為有利于加速模型收斂,進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化。將數(shù)據(jù)樣本按8∶1的比例分為訓(xùn)練集和測(cè)試集。
卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建分為輸入/輸出層構(gòu)建、卷積層構(gòu)建、池化層[3]構(gòu)建、全連接層[4]構(gòu)建和激活函數(shù)與優(yōu)化函數(shù)的輔助應(yīng)用等。
卷積層一般包括多個(gè)卷積核[5],其中每個(gè)元素均對(duì)應(yīng)1個(gè)權(quán)重因數(shù)和1個(gè)偏差量。為構(gòu)建卷積層,先進(jìn)行卷積運(yùn)算提取特征圖,將特征圖通過(guò)激活函數(shù)的處理再輸出。特征圖和卷積核均以矩陣形式存在,可進(jìn)行卷積計(jì)算。在卷積過(guò)程后會(huì)輸出1幅新特征圖,這需要卷積核和特征圖進(jìn)行多次卷積計(jì)算。卷積運(yùn)算和卷積核滑動(dòng)如圖3所示。
圖3 卷積運(yùn)算和卷積核滑動(dòng)示例
池化層實(shí)際是一種降采樣過(guò)程,卷積層和池化層的作用與濾波器相似。池化作用是壓縮特征圖,有利于防止過(guò)擬合。池化函數(shù)分多種,常用的為最大池化和平均池化。最大池化過(guò)程如圖4所示。
圖4 最大池化過(guò)程示例
全連接層一般由線(xiàn)性部分和非線(xiàn)性部分組成。全連接層如圖5所示。由圖5可知:從input layer到hidden layer1實(shí)際已是一個(gè)完整的全連接層轉(zhuǎn)換過(guò)程。
圖5 全連接層轉(zhuǎn)換示例
在構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)后,設(shè)計(jì)和設(shè)置模型的基礎(chǔ)參數(shù),并將生成的數(shù)據(jù)集輸入模型進(jìn)行訓(xùn)練和評(píng)估。采用成熟的YOLOv5網(wǎng)絡(luò)作為基礎(chǔ)模型,將創(chuàng)建的大量船舶設(shè)備樣本數(shù)據(jù)集輸入其中進(jìn)行訓(xùn)練和評(píng)估,分別輸出訓(xùn)練模式下的損失函數(shù)(loss)與準(zhǔn)確率(accuracy)和評(píng)估模式下的損失函數(shù)(val_loss)與準(zhǔn)確率(val_accuracy),如圖6所示。由圖6可知:在訓(xùn)練后的結(jié)果中,模型識(shí)別準(zhǔn)確率可達(dá)80%~90%。這說(shuō)明該方法可適用,但準(zhǔn)確率仍有待提升。
圖6 訓(xùn)練/評(píng)估模式下的損失函數(shù)和準(zhǔn)確率
在訓(xùn)練后生成可用于船舶設(shè)備信息識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)模型,根據(jù)評(píng)估模式下的損失函數(shù)和準(zhǔn)確率,對(duì)模型進(jìn)行結(jié)構(gòu)和參數(shù)調(diào)整。調(diào)整方法:增加卷積層和卷積核的深度寬度,有利于提高模型準(zhǔn)確率;將學(xué)習(xí)速度(learningrate)調(diào)整至最佳點(diǎn),一般在初始訓(xùn)練時(shí)學(xué)習(xí)速度設(shè)置較大,需要一步一步地進(jìn)行測(cè)試。通過(guò)不斷調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練參數(shù),使模型準(zhǔn)確率達(dá)到期望值,最終生成基于深度學(xué)習(xí)的船舶設(shè)備信息智能化識(shí)別模型。將船舶設(shè)備圖像測(cè)試數(shù)據(jù)輸入模型,檢驗(yàn)其識(shí)別結(jié)果是否符合真實(shí),評(píng)定是否識(shí)別成功?;谏疃葘W(xué)習(xí)的船舶設(shè)備信息智能化識(shí)別建模應(yīng)用流程如圖7所示。
圖7 基于深度學(xué)習(xí)的船舶設(shè)備信息智能化識(shí)別建模應(yīng)用流程
深度學(xué)習(xí)方法應(yīng)用于工業(yè)生產(chǎn)的優(yōu)勢(shì)如下:(1)在模型成熟后可完全將生產(chǎn)人工智能(Artificial Intelligence,AI)化,無(wú)須手動(dòng)即可準(zhǔn)確識(shí)別;(2)單幅圖像預(yù)測(cè)的識(shí)別時(shí)間在1 s內(nèi),大幅加快識(shí)別速度,提升船舶設(shè)備倉(cāng)儲(chǔ)管理效率;(3)模型通過(guò)數(shù)據(jù)集的增加進(jìn)行更新和優(yōu)化,變得更加準(zhǔn)確,通過(guò)不斷優(yōu)化更加適用于當(dāng)前場(chǎng)景。
在工業(yè)生產(chǎn)中的優(yōu)化方法如下:
(1)將模型應(yīng)用于船舶設(shè)備信息識(shí)別過(guò)程,收集倉(cāng)庫(kù)日常捕獲的數(shù)據(jù)集,存儲(chǔ)于云端。
(2)每隔一段特定時(shí)間,將這些在實(shí)際生產(chǎn)中捕獲的船舶設(shè)備圖像大數(shù)據(jù)再次投入模型訓(xùn)練,在樣本量顯著增加后,通過(guò)在訓(xùn)練和評(píng)估中調(diào)整模型結(jié)構(gòu)和參數(shù),生成新的模型。
(3)循環(huán)往復(fù),進(jìn)行模型的更新與優(yōu)化,最終提高識(shí)別準(zhǔn)確率。