王冬梅,王 良,孫文然,祁 超,沈建龍
(1.上海船舶工藝研究所,上海 200032;2.廣州文沖船舶修造有限公司,廣東 廣州 511462;3.招商局重工(江蘇)有限公司,江蘇 南通 226116)
在船舶制造企業中,船舶設備堆放涉及物資集配、物流傳輸、信息標記、堆場庫位規劃、入庫和出庫使用等一系列操作,有些船舶設備屬于進口產品,相關信息資料為英文描述,現場領料和安裝人員較難在第一時間準確辨識其詳細信息、項目使用和安裝調試等。行業內的骨干企業引進智能化船舶設備立體倉庫,實現船舶設備倉儲管理無人化。收貨入庫階段的船舶設備信息識別尤為重要,只有具備快速辨識能力,才能提升管理效率。
船舶設備具有種類繁多、數量龐大的特點,在倉庫捕獲的船舶設備圖像中,背景場景均十分復雜。目前,在半人工的條件下,識別船舶設備并獲取其相關信息較為費時費力,且不夠精確??紤]將深度學習應用于船舶設備信息識別,提出一種基于深度學習的船舶設備信息智能化識別模型,建模過程如下:(1)進行船舶設備圖像預處理和圖像樣本標記[1],為生成訓練/測試數據集提供基礎;(2)建立卷積神經網絡[2],構造模型函數,結合船舶設備信息識別特定場景,設計和設置模型基礎參數,將生成的數據集輸入模型進行訓練和評估,并根據評估結果對模型進行網絡框架修改、參數調整和結果測試;(3)對模型投入工業生產后的算法進行優化設計,滿足工業生產對船舶設備信息智能化識別的需要。
船舶設備圖像預處理過程如下:(1)通過倉庫攝像頭捕捉大量船舶設備圖像,在捕捉時應注意圖像清晰程度,篩除模糊圖像;(2)將圖像統一裁剪為相同大小并存儲,圖像裁剪需要進行批量處理,將其裁剪為合適尺寸的小圖;(3)進行與視覺相關的圖像處理,包括圖像降噪、圖像增強和圖像陰影校正等,三者分別屬于圖像算術運算中的加法運算、減法計算和陣列乘除法運算。
為創建訓練/測試數據集,應對樣本圖像中的船舶設備種類及其特征信息進行標記。需要特別注意的是:船舶設備種類繁多且部分船舶設備相似度較高。可使用標注工具Labelimg進行樣本標記,如圖1所示。

圖1 Labelimg應用示例
在標記后生成與圖像對應的txt文件,其規范如下:(1)每行均為一個目標;(2)類別序號由零索引(0)開始;(3)每行坐標格式為class x_center y_center width height;(4)框坐標須采用歸一化的xywh格式(由0至1),若框以像素為單位,則將x_center和width除以圖像寬度,將y_center和height除以圖像高度。
在標記后生成與圖像對應的可擴展標記語言(Extensible Markup Language, XML)文件,其規范如圖2所示。

圖2 與圖像對應的XML文件示例
txt文件和XML文件均為樣本標記文件,有利于進行有監督學習,但兩者分別適用于YOLOv5網絡結構和Keras網絡結構。
進行數據集創建,將樣本圖像全部轉化為張量,得到可輸入模型的數據樣本。為有利于加速模型收斂,進行數據標準化。將數據樣本按8∶1的比例分為訓練集和測試集。
卷積神經網絡構建分為輸入/輸出層構建、卷積層構建、池化層[3]構建、全連接層[4]構建和激活函數與優化函數的輔助應用等。
卷積層一般包括多個卷積核[5],其中每個元素均對應1個權重因數和1個偏差量。為構建卷積層,先進行卷積運算提取特征圖,將特征圖通過激活函數的處理再輸出。特征圖和卷積核均以矩陣形式存在,可進行卷積計算。在卷積過程后會輸出1幅新特征圖,這需要卷積核和特征圖進行多次卷積計算。卷積運算和卷積核滑動如圖3所示。

圖3 卷積運算和卷積核滑動示例
池化層實際是一種降采樣過程,卷積層和池化層的作用與濾波器相似。池化作用是壓縮特征圖,有利于防止過擬合。池化函數分多種,常用的為最大池化和平均池化。最大池化過程如圖4所示。

圖4 最大池化過程示例
全連接層一般由線性部分和非線性部分組成。全連接層如圖5所示。由圖5可知:從input layer到hidden layer1實際已是一個完整的全連接層轉換過程。

圖5 全連接層轉換示例
在構建卷積神經網絡后,設計和設置模型的基礎參數,并將生成的數據集輸入模型進行訓練和評估。采用成熟的YOLOv5網絡作為基礎模型,將創建的大量船舶設備樣本數據集輸入其中進行訓練和評估,分別輸出訓練模式下的損失函數(loss)與準確率(accuracy)和評估模式下的損失函數(val_loss)與準確率(val_accuracy),如圖6所示。由圖6可知:在訓練后的結果中,模型識別準確率可達80%~90%。這說明該方法可適用,但準確率仍有待提升。

圖6 訓練/評估模式下的損失函數和準確率
在訓練后生成可用于船舶設備信息識別的卷積神經網絡模型,根據評估模式下的損失函數和準確率,對模型進行結構和參數調整。調整方法:增加卷積層和卷積核的深度寬度,有利于提高模型準確率;將學習速度(learningrate)調整至最佳點,一般在初始訓練時學習速度設置較大,需要一步一步地進行測試。通過不斷調整網絡結構和訓練參數,使模型準確率達到期望值,最終生成基于深度學習的船舶設備信息智能化識別模型。將船舶設備圖像測試數據輸入模型,檢驗其識別結果是否符合真實,評定是否識別成功。基于深度學習的船舶設備信息智能化識別建模應用流程如圖7所示。

圖7 基于深度學習的船舶設備信息智能化識別建模應用流程
深度學習方法應用于工業生產的優勢如下:(1)在模型成熟后可完全將生產人工智能(Artificial Intelligence,AI)化,無須手動即可準確識別;(2)單幅圖像預測的識別時間在1 s內,大幅加快識別速度,提升船舶設備倉儲管理效率;(3)模型通過數據集的增加進行更新和優化,變得更加準確,通過不斷優化更加適用于當前場景。
在工業生產中的優化方法如下:
(1)將模型應用于船舶設備信息識別過程,收集倉庫日常捕獲的數據集,存儲于云端。
(2)每隔一段特定時間,將這些在實際生產中捕獲的船舶設備圖像大數據再次投入模型訓練,在樣本量顯著增加后,通過在訓練和評估中調整模型結構和參數,生成新的模型。
(3)循環往復,進行模型的更新與優化,最終提高識別準確率。