朱應莉
(西安交通工程學院 交通運輸學院,西安710000)
圖像目標識別屬于一種圖像處理技術,通過實現對圖像中目標的分類和辨識,從而可進行對目標的選定和定位。隨著深度學習算法在目標檢測識別中的應用,人臉面部識別、自動駕駛、工業機器人等領域得到快速發展。傳統目標圖像識別技術多采用“人工設計特征+分類器”的運行模式,通過對目標局部特征的提取,同時利用向量機分類實現對目標的分類識別[1-2]。人為設計的目標特征易受到外界光照、角度等因素的影響,從而降低了識別的準確性和魯棒性。而深度學習技術可對目標特征進行訓練和自動提取,從而有利于提高檢測識別模型的魯棒性和自適應性。深度卷積神經網絡(deep convolutional neural network,DCNN)主要是利用有監督的大規模數據訓練對檢測識別性能進行提升,通過對深度卷積神經網絡進行大批量的數據標注,通過大量的訓練使得神經網絡參數收斂至最優值。物流倉庫中的貨柜識別是實現物流貨物無人自動分流和裝配需要解決的關鍵性技術之一[3-6]。本文針對貨柜識別問題,將DenseNet 卷積神經網絡與單次多箱檢測(single shot multiBox detector,SSD)網絡相結合,將SSD 網絡中的基礎網絡替換為DenseNet 中的Block 模塊,從而利用深度卷積神經網絡的自學習特性,提升貨柜識別的準確率和識別速率。
卷積神經網絡屬于一種人工神經網絡,其將卷積運算應用于網絡架構中能夠很好地適應圖像視覺運算。卷積神經網絡的基本框架主要包括4 個部分:卷積運算、激活函數、池化和退化操作[7]。
本文中的卷積運算針對的對象主要是二維圖像,將圖像的數據矩陣作為輸入矩陣,將其與二維卷積核進行卷積運算,卷積運算矩陣可表示為

式中:S(i,j)表示卷積運算結果;I表示圖像矩陣;K表示卷積核矩陣;i和j分別表示圖像數據的橫縱坐標;m和n分別表示卷積核的橫縱坐標。
圖像進行卷積運算后輸出的卷積結果,其特征圖尺寸運算公式為

式中:W表示特征圖像的寬度和高度尺寸值;F表示卷積核的維度值;P表示原始圖像的四周需要補零的行數目;S表示卷積核進行卷積運算時移動的單次步幅。
二維卷積運算的流程示意圖如圖1所示,首先在圖像的左上角取與卷積核相同大小的子域,然后將子域逐步滑動至圖像右下角,在滑動過程中將子域中的數值與卷積核相對應的元素進行乘積運算,并將運算結果疊加至輸出結果相對應的元素[8]。

圖1 二維卷積運算流程示意圖Fig.1 Schematic diagram of two-dimensional convolution operation flow
激活函數以卷積結果s作為輸入量,主要是利用其非線性特性,提高卷積網絡的非線性表征特性,常用的激活函數包括Sigmoid 函數、Tanh 函數、Relu函數等。其中,Sigmoid 函數將輸入映射到[0,1]之間,并保持輸出結果的導數不大于0.25,但對于多層神經網絡,隨著網絡層的增加其梯度值會變小,甚至接近零,使得神經網絡無法進行反向傳播,抑制網絡無法收斂至最優參數。Tanh 函數為雙曲正切函數,其輸出的平均值為零,與Sigmoid 函數相比具有一定的優勢,但當輸入函數的絕對值偏大時,其同樣會出現梯度值偏小的問題,不利于網絡的反向傳播。Relu 函數具有結構簡單、收斂速度快的特點,近年得到廣泛關注和應用,本文選用Relu 函數作為激活函數。
池化操作的主要目的是減小下一層網絡的輸入量尺寸,從而降低運算量和參數數目,從而提升網絡的適應性和魯棒性。常用的池化操作包括平均值池化和最大值池化,近年研究表明,相比于平均值池化操作,最大值池化操作可有利于提升網絡魯棒性。本文選用最大值池化操作,最大值池化操作示意圖如圖2所示。

圖2 最大值池化操作示意圖Fig.2 Schematic diagram of maximum pooling operation
退化操作主要是指在進行卷積神經網絡訓練過程中,按照一定的概率對隱含層中的部分節點進行隨機剔除,退化操作過程如圖3所示。由于在神經網絡訓練過程中部分神經元不參與計算,按照一定的概率將其淘汰,本文中的隱含層節點被淘汰的概率設定為0.2,退化操作的隨機淘汰可以使得每次進行訓練的卷積神經網絡模型互不相同,經過大批量的樣本訓練,可將最終訓練出的模型看作是卷積神經網絡的平均模型。通過退化操作,可以防止卷積神經網絡發生過擬合,使得神經網絡具備更高的泛化能力,尤其適應于深層卷積神經網絡。

圖3 退化操作過程Fig.3 Degraded operation process
DenseNet 網絡屬于常用卷積神經網絡之一[9],其以Block 模塊為核心,相比于其它卷積神經網絡,具有更強的梯度信息傳播能力。Block 模塊的特點是網絡層之間采用跳躍式的關聯方式,每層網絡的卷積結果不僅僅輸入值下一層,同時會與下面的每層均建立輸入關系。利用這種信息傳播結構可很好地提高網絡的梯度信息傳播強度,可使得神經網絡具有更快的收斂速度和更多的網絡層數,同時有利于信息的傳遞,降低信息的丟失率,Block 模塊信息傳播連接圖如圖4所示。圖中實線方塊代表Block模塊的輸入,虛線方塊表示上一層卷積運算獲得的特征圖。由此可知,第l層獲得的特征圖為前面所有特征圖關聯之后的卷積結果,第l層特征圖表達式為

圖4 Block 模塊信息傳播連接圖Fig.4 Block module information dissemination connection diagram

式中:⊕代表特征圖之間的關聯運算符號。
目標檢測方法可主要分為兩大類,一類為基于分類框架的目標檢測方法,另一種為基于回歸框架的目標檢測方法。其中,SSD 屬于一種回歸框架的目標檢測方法,其將VGG16 卷積神經網絡作為主體結構,并將其中的兩個全連接層改為了卷積層,同時增加了8 個卷積層。本文將原SSD 網絡中的Conv10_2層及其池化層的特征圖去除,并將DenseNet 網絡融入SSD 網絡中,將VGG16 之后的全連接層去除,改為DenseNet 網絡中的Block1、Block2、Block3 和Block4模塊,基于DenseNet 與SSD 網絡的改進目標檢測算法如圖5所示[10-11]。

圖5 基于DenseNet 與SSD 網絡的改進目標檢測算法Fig.5 Improved target detection algorithm based on densenet and SSD network
添加的4 個Block 模塊參數如表1所示。相比于Overfeat、YOLO 等算法采用單一尺度的特征圖,4個Block 模塊可以獲得4 種不同尺度的特征圖,從而對目標物體的邊界位置和置信度進行評價。利用多種尺度的特征圖進行目標檢測可提升檢測過程中的尺度不變性,從而不再需要要求輸入圖片具備不同的尺度大小。

表1 4 個Block 模塊參數Tab.1 Parameters of four block modules
在進行目標函數訓練時,選用的訓練目標損失函數為

式中:N表示邊界框的數目;Lconf表示Smooth 位置損失函數;Lloc表示Softmax 置信度損失函數;α 表示加權系數;x表示前向特征圖;c表示輸入的通道數目;l表示卷積的層數。
為驗證本文改進目標識別算法的有效性,選取5000 張物流倉庫的貨柜圖片作為測試對象。利用labelImg 標注軟件對圖片中的檢測目標進行標記,并將標注的目標貨柜轉換為可擴展標記語言XML文件。完成所有圖片標注后,將圖片集隨機平均分為2 組,一組為訓練集合,另一組為測試集合。
在進行網絡模型訓練和測試前,對圖像進行數據預處理操作,主要包括數據集合的隨機化和均值化處理。由于神經網絡采用隨機梯度下降法對網絡參數進行更新,對圖像進行隨機化處理有利于梯度進行隨機性下降,以加快網絡收斂速度,降低訓練消耗的時間。均值化處理主要是指統計訓練集圖像數據的平均值,然后將訓練集的圖像減去均值后再輸入至神經網絡,同樣有利于提升訓練速度。
在進行神經網絡參數訓練的過程中,學習率對模型訓練影響非常關鍵。若學習率設定過大,訓練的速度會加快,但容易發生超調振蕩,不利于訓練結果收斂至最優值。若學習率設定過小,導致訓練時間過長,同樣不利于訓練結果收斂至最優值。本文對學習率采用動態調整的控制策略,在訓練初期采用較大的學習率,從而加快網絡的初始訓練速度,在訓練中期逐步降低學習率,直至網絡參數接近最優值,同時也將學習率降至最小值。具體可將學習率設置為3 個階段:①初始段(即迭代次數在1萬次內),取學習率值為0.01;②中間段(即迭代次數在1 萬~3 萬次之間),取學習率值為0.001;③結束段(即迭代次數在3 萬~5 萬次之間),取學習率值為0.0001。
本文提出的改進型深度卷積神經網絡的訓練過程如圖6所示,橫坐標表示迭代次數,左側的縱坐標表示訓練過程中發生的對數損失值,右側縱坐標表示訓練過程中檢測的平均準確率(mean average precision,MAP)。由訓練過程圖可以看出,本文訓練模型的平均準確率最終收斂至71.5%左右。為了對比不同算法的目標識別準確率,以相同條件測試YOLO 和SSD 算法,平均識別率統計結果如表2所示。

圖6 改進型深度卷積神經網絡的訓練過程Fig.6 Training process of improved deep convolution neural network

表2 三種算法平均識別率統計結果Tab.2 Statistical results of average recognition rate ofthree algorithms
由三種算法的對比數據可知,通過DenseNet 網絡與SSD 網絡的結合,相比于其它兩種算法,本文改進型算法的目標識別準確率具有明顯的提升,且能夠具備更快的測試幀頻,驗證了該改進算法具有更快的運算效率和準確性。
本文將深度卷積神經網絡與目標檢測算法相結合,提出了一種基于深度學習的改進型目標檢測方法,將其應用于物流貨柜的自動檢測識別。利用采集的貨柜圖像對模型進行訓練,與YOLO 和SSD算法進行檢測準確率和速率對比,實驗結果表明,相比起另外兩種算法,本文改進算法的平均檢測準確率和檢測速率均得到明顯提升,驗證了該改進算法的有效性。