張 哲,邵允學,呂 剛
1(南京工業大學 計算機科學與技術學院,南京 211816)
2(上海策立工程技術有限公司,上海 201900)
鋼鐵作為國內的支柱產業,對于我國的經濟發展具有推動作用,在建筑、航空航天、交通、橋梁等多個領域都要有著重要的角色地位.然而,國內大部分的鋼鐵生產流程中還存在人工勞動強度大、成本高,生產效率低,自動化和智能化程度不足等問題.以臺架上鋼坯被推到軌道這個過程為例,當前生產流程需要依靠人眼觀察鋼坯在臺架上的位置分布,然后手動控制推鋼機到達指定位置,然后手動控制將對應鋼坯推向軌道.這個流程人工工作強度大、易疲勞,生產工作效率較低.
計算機視覺作為人工智能領域的重要組成部分,主要作為模仿人類視覺功能的工具,通過對目標圖像進行特征提取并加以分析理解,最終實現對目標的分類識別.目前計算機視覺是一個廣泛而復雜的研究領域,其技術已經應用于眾多領域的研究以及生活生產環境中.計算機視覺主要的任務有圖像分類[1]、目標分割[2]、圖像定位[3,4]、目標檢測[5,6]、語義分割[7]等.目標分割作為本文的研究課題,傳統的方法包括閾值法[8,9]、邊界檢測法[10]、區域法[11]等.近些年隨著深度學習算法的發展[12],目標分割等機器視覺任務都有了長足的進步.
本文的主要創新點在于對ResNet 網絡中的殘差塊進行改進; 并采用U-Net 網絡的設計思路,把整個網絡分成特征提取部分與上采樣兩個部分.本文搭建的網絡模型充分利用了兩者的優點,相關內容將在以下章節進行詳細介紹.
深度學習的發展為計算機視覺這一領域提供了諸多解決方案,帶來魯棒性、精確度更高的模型算法.作為深度學習的主要模型,卷積神經網絡(CNN)由于其出色的特征提取能力,近些年流行用于計算機視覺領域.卷積神經網絡相較于常規的神經網絡模型.卷積神經網絡可以在計算機視覺領域中取得成功有兩個重要的原因: 首先它利用了2D 圖像結構和在鄰域內的像素具有高度相關性的性質,此外它的體系結構依賴于特征共享,因此每個通道(或輸出特征映射)都是通過卷積在所有位置使用相同大小的濾波器生成的; 其次是它引入了池化層的操作,提供了一定程度的平移不變性,減少了因位置變化給模型帶來的影響,池化操作還可以擴大網絡的感受野,使得網絡可以看到更大部分的輸入.
AlexNet[13]由Krizhevsky 等人設計,作為2012年ILSVRC 競賽的冠軍網絡,取得top-5 錯誤率為15.3%的成績.AlexNet 的成功使得計算機視覺領域的研究人員開始廣泛采用卷積神經網絡模型并不斷對其結構進行改進,取得了巨大的突破.AlexNet 的成功在于該網絡首次利用GPU 進行網絡加速訓練; 使用了ReLU 激活函數,代替了傳統的Sigmoid 激活函數以及tanh 激活函數; 使用了LRN 局部響應歸一化; 在全連接層的前兩層中使用了Dropout 隨機失活神經元操作,以減少過擬合.AlexNet 該模型一共分為8 層,5 個卷積層,以及3 個全連接層,在每一個卷積層中包含了ReLU激活函數以及局部響應歸一化(LRN)處理,然后再經過降采樣(池化處理)降低輸出特征圖的大小.
VGGNet[14]在2014年由牛津大學著名研究組VGG (visual geometry group)提出,在ILSVRC 競賽上取得top-5 錯誤率為6.8%的成績.VGGNet 網絡最大的特點設計通過組合和堆疊3×3 卷積核濾波器,對輸入進行高效的特征提取.相較卷積核大小為5×5 和7×7 的卷積,VGG 通過組合多個3×3 卷積核實現了相同的感受野,并且連續小卷積核的卷積比單個大的卷積核的卷積具有更好的非線性.常見的VGG 網絡有VGG-13、VGG-16、VGG-19,網絡層數分別為13 層、16 層、19 層.
ResNet[15]在2015年由微軟研究院的He 等人提出,斬獲當年ILSVRC 競賽分類任務第一名和目標檢測第一名.ResNet 首次在卷積神經網絡中引入了殘差連接,解決了隨著網絡加深而網絡性能卻越來越差的問題,構造了一個超過100 層的卷積神經網絡模型.提出的殘差塊結構成功地解決了因網絡層數的簡單堆疊導致的梯度消失、梯度爆炸 、退化問題等一系列問題.
殘差塊結構如圖1 所示.其中x表示殘差塊的輸入,F(x)表示殘差塊中隱層輸出,ReLU表示激活函數,F(x)+x表示殘差單元輸出.殘差單元內部連接Batch Norm 層對數據進行規范處理,此層實現了權重參數的歸一化.

圖1 殘差塊結構
U-Net[16]提出的初衷是為了解決醫學圖像分割的問題,解決細胞層面的分割的任務,在2015年的ISBI cell tracking 比賽中獲得了多項第一.U-Net 是基于FCN[17]改進而得的一種全卷積網絡,結構類似于U 型,因此得名為U-Net.相較于FCN,U-Net 在采用上采樣方法的基礎上,使用對稱結構去搭建網絡框架.
如圖2 所示[16],U-Net 網絡由左側的特征提取部分與右側的上采樣部分組成,這種結構稱做編碼器-解碼器結構.其中,每個藍色矩形代表一個多通道的特征圖;藍色矩形頂部的數字代表的是通道數,左側數字是指特征圖的長度和寬度; 白色矩形代表從特征提取部分復制過來的特征圖; 不同顏色的箭頭代表不同的操作.特征提取部分是一個下采樣的過程,使用最大池化層來操作; 上采樣部分則是一個上采樣的過程,采用2×2 的上卷積(Up-Conv),每次上卷積的輸出通道都是原先的一半,再與特征提取部分中對應的特征圖拼接在一起使得通道數與原先大小相同.U-Net 由于其出色的性能和適中的模型規模,其逐漸成為最廣泛使用的分割網絡并不斷進行著改進.

圖2 U-Net 網絡模型
鋼坯在臺架上的移動定位需要去確認鋼坯的當前位置以及鋼坯數量.現場采集畫面如圖3 所示,鋼坯呈等寬的長條狀,且相較垂直于移動方向的角度偏移較小,故可簡化成用在圖像的移動方向的中線上去表示分割結果.

圖3 現場采集畫面
實現思路如圖4 所示.本方法將原始圖像輸入設計的目標分割網絡進行運算,輸出預測向量.預測向量表示中線各像素為鋼坯的預測值,高于閾值即為鋼坯.線端中黑色線條表示向量中為鋼坯的區間,灰色線條表示為其他物體的區間.之后將向量轉換成目標坐標,其中,xil和xir表示中線處鋼坯分割結果的端點值,i表示鋼坯數量,l和r分別代表鋼坯的左端點和右端點.

圖4 實現思路示意圖
本文采用U-Net 中編碼器-解碼器的思想,以ResNet為基礎使用殘差連接構造了基礎模塊,構建了本文的Res-UNet.其中編碼器的基礎塊設計沿用了ResNet 中的設計: 使用了卷積核大小為3 的卷積層,每個卷積層后進行BatchNorm 和ReLU,塊與塊之間使用殘差連接.解碼器的基礎塊中使用雙線性插值的方法對輸入特征圖進行上采樣的操作,這一操作使得特征圖的空間維度擴大一倍,其余部分由卷積核大小為3 的卷積層組成并使用BatchNorm 和ReLU.整個網絡結構類似于U-Net 的設計,分為特征提取部分和上采樣部分,考慮到本文的輸入圖片尺寸較大,本文在特征提取部分中使用了更多的基礎模塊來實現下采樣.本文的改進殘差塊如圖5 所示.

圖5 改進殘差塊
本文模型的網絡結構如圖6 所示,由前端的特征提取部分以及后端的上采樣部分組成.特征提取部分由7 組本文的改進殘差塊并聯組成,每次的輸出矩陣的尺寸寬度和高度為輸入的一半,通道數增加一倍.上采樣部分由5 組復制拼接操作和改進殘差塊交替銜接組成,最后連接的輸出塊輸出最終的分割向量.上采樣部分的復制拼接操作是對前一個殘差塊的輸出矩陣以及特征提取部分同層的輸出矩陣進行復制拼接操作,此操作輸出矩陣作為下次上采樣部分殘差塊的輸入矩陣.上采樣部分的殘差塊使用和特征提取部分相同的殘差塊.

圖6 本文模型網絡結構
此模型最后的網絡模塊為輸出塊,網絡結構如圖7 所示.本文設計的輸出塊使用全局平均池化層以及之前的若干層卷積層共同替代了全連接層,有效地減少了參數量,最終輸出矩陣尺寸為1600×1×1.矩陣第一維的參數表示對應圖像中線像素位置的預測鋼坯的預測值.之后,此預測向量按照閾值量化成用1 和0 表示的向量,若為1 認定此處像素為鋼坯,為0 為其他物體.

圖7 輸出塊網絡結構
本文所采用的數據集是從某鋼廠真實生產環境中收集的.在搭建好相機和光源后,本文通過樣本采集程序1 s 采集1 張現場的照片,總共采集1 周時間,然后對保存的照片進行篩選,最后總共得到48 125 張有效圖像樣本,將其中的45 050 張用來作為訓練樣本,3 075張用來作為測試樣本.
在樣本標定過程中,本文采用自己開發的標定軟件對所有樣本進行標定.標定軟件如圖8 所示,其中設計亮暗調節按鈕調節標定樣本的亮度,方便標注人員對亮度不均勻的樣本進行標定.圖中線條為圖像垂直方向中線,即本任務方法的基準線.線段中的深色部分表示此位置有鋼坯,白色部分表示沒有鋼坯,當有多段鋼坯時以不同灰度線段交替排列,方便標注人員觀察.標定結果為每小段鋼坯會保存為與圖像同名的TXT文本文件,標定輸出為每小段鋼坯的中線位置歸一化后的坐標值.

圖8 數據樣本及標注軟件
計算平臺搭載Intel Xeon Gold 5118 處理器,64 GB內存,NVIDIA GeForce RTX 2080 Ti 11 GB 顯卡(CUDA版本為11.3); 深度學習框架采用PyTorch 1.6.0.設計的訓練策略使用均方損失函數(MSELoss)作為損失函數,使用AdaGrad 優化算法作為優化器,設置初始的學習率為0.001,訓練迭代次數epoch 設為100.根據計算平臺硬件環境,訓練策略設置batch size 為32.主要參數如表1 所示.

表1 實驗環境及訓練主要參數
本文采用像素準確率(pixel accuracy,PA)作為評價指標,衡量本文的目標分割模型性能.
像素準確率指在某一類別中,像素點中正確分割的像素數量和圖像像素總量的比例,如式(1)所示:

其中,pij表示將第i類分成第j類的像素數量(所有像素數量).像素準確率用于衡量模型在某一類別上的目標分割效果,數值越大,模型在此類別上的分割能力越強.
Res-UNet 模型訓練耗時約25 h,總參數為300 836個,最終的識別定位準確率達99.7%.
訓練如圖9 所示,在訓練幾個周期后,損失函數的值收斂速度很快,從0.010 直接降為0.002 左右.通過繼續學習,損失函數的值繼續下降,并穩定在0.001 左右,并最終收斂.測試集訓練損失函數最后降到0.002 5左右且不斷震蕩,通過實驗發現在大約30 個周期達到收斂,最終的準確率約為99.75%.

圖9 Res-UNet 模型在訓練集和測試集上的訓練結果
為了測試所用網絡模型的性能,將本文Res-UNet模型與經典U-Net 模型進行對比實驗.采用相同的訓練策下,經典U-Net 模型訓練準確率如圖10 所示,最終在測試集的識別定位準確率達99.725%.本文所用網絡模型和經典U-Net 模型在網絡參數量、訓練耗時以及評價指標的對比如表2 所示.

圖10 經典U-Net 模型在訓練集和測試集上的訓練結果

表2 兩種網絡的分割結果對比
從表2 可以得出本文的網絡相比于傳統的U-Net網絡在性能取得提升的前提下,大大降低了網絡的參數量,其參數量僅約為U-Net 的70%,這大大提高了本文網絡的訓練速度,使得本文網絡的訓練時間僅約為U-Net 網絡訓練時間的30%.同時在PA評價指標比較下,本文Res-UNet 性能提高了約60%.綜上對比結果可知,本文所采用的網絡模型相較于傳統的分割網絡取得顯著的性能提升.
在訓練測試集時,本文用預測結果對原圖像進行處理,中間黑色線段處為鋼坯預測位置,結果如圖11所示,精確定位了鋼坯在導軌上的位置.再將模型部署到生產環境中,模型準確率滿足鋼坯在軌道上移動的定位需求.

圖11 分割結果
針對工廠生產環境中對鋼坯的傳輸定位,本文提出了基于ResNet 殘差塊和U-Net 的改進Res-UNet 網絡模型,該模型在軌道鋼坯定位場景中進行訓練與應用的準確率達99%以上.本文網絡相較于傳統分割網絡在性能取得提升的前提下大大減少了網絡模型的訓練參數量并加快了網絡的訓練時間,有效降低了訓練模型的難度.實驗結果表明,本文網絡模型識別準確率高、速度快,能夠滿足復雜的生產環境中鋼坯定位的需要.