劉文玉, 彭晉民, 吳炳龍, 游通飛
(福建工程學院 機械與汽車工程學院,福建 福州 350118)
隨著人類對機器視覺功能需求的不斷增長,在生活場景圖像中獲取可用信息有著極其重要的研究價值。超市貨物經過分揀后放入指定的貨架,或家庭中選取所需用品可以通過機器人借助相關先進技術代替人工來完成,而分揀物品的首要任務是先檢測識別物品,生活物品的檢測在家庭和超市服務等方面都有著重要的作用。
目前物品檢測主要存在種類繁多、大小不一和檢測難度大等挑戰。面對這些挑戰,人們花費大量精力運用卷積神經網絡[1,2]處理圖像并取得了一些顯著進展。王昌龍等人[3]提出了一種雙通道卷積神經網絡實現對南瓜葉片病害的識別。鄭志強等人[4]用Densenet[5]改進YOLOv3[6]在遙感飛機圖像識別方面能夠達到96 %的檢測精度。顯而易見,深度學習在目標識別領域應用范圍之廣。
在生活物品檢測方面,物品大小、種類和顏色方面在生活中存在很大的差異。面對此種情形,本文基于YOLOv3檢測算法提出一種檢測生活物品的方法,將YOLOv3原算法中的殘差塊替換成殘差密集塊,采用5個尺度檢測,并引入空洞卷積。改進后的YOLOv3算法在COCO數據集和自制數據集上進行預訓練,達到初步識別出生活物品的同時提高網絡的泛化性能。
YOLOv3網絡運用回歸的方法來提取特征,實現端到端的物體檢測,無需像R-CNN 系列目標檢測算法一樣生成大量的候選窗口,YOLOv3對輸入圖像進行目標檢測是通過采用單個神經網絡實現的。該算法不僅可以保證比較高的準確率,還可以快速完成圖像中物體的檢測,更加適合用于現場應用環境。YOLOv3網絡檢測過程中會呈現多個預測框及每個預測框的置信度,剔除置信度低的預測框并通過非極大值抑制算法最終定位物體位置。
若要完成輸入圖像的目標檢測,每個網格需要預測出邊界框和條件類別概率,輸出邊界框中是否包含目標及邊界框準確度的置信度信息。 每個邊界框對應的類別置信度Confidence計算如式(1)所示
(1)


(2)
在多尺度預測方面,YOLOv3利用殘差網絡來提取圖像中物體的特征,雖然檢測精度與速度目前取得了平衡,但對于一些中等或較小尺寸的物體,YOLOv3還達不到理想的檢測效果,會出現誤檢、漏檢的問題。
改進后總體網絡架構如圖 1 所示,該算法是一個直接預測生活物品位置和類別的多目標檢測算法,主網絡結構是深度殘差密集網絡。針對 YOLOv3 特征圖尺度偏大、準確度低的問題,改進后的算法在主網絡之后又增加了2個卷積層和5個卷積層共同構建成含有5個不同尺度卷積層的特征金字塔,與主網絡進行融合,形成深度融合的生活物品檢測模型。改進后的算法可以防止物品的錯檢和漏檢,顯著提高物品的檢測精度。

圖1 提出的生活物品檢測方法結構
深度學習網絡中密集塊[7,8]不僅可以使網絡訓練過程中梯度消失問題得以減輕,還能夠更有效地利用特征圖,隨著網絡層數的增加,殘差塊具有不易退化的特點,借鑒密集塊和殘差塊的的優勢,采用密集塊和殘差塊相結合,如圖2所示,兩者信息相互融合來可以達到更好地檢測效果,該網絡通過連續記憶機制從前面的網絡中獲取圖像信息,經過處理后把處理結果傳入下一個殘差密集塊中,局部密集連接起到充分利用所有層的效果,經過局部特征的融合,自適應地保留積累的特征信息。

圖2 殘差密集塊網絡結構
改進的網絡利用殘差密集塊替換YOLOv3網絡中的殘差塊的設計思想,利用殘差密集卷積網絡提取生活物品的特征,將殘差密集卷積塊中提取的特征圖與相應尺度卷積層提取的特征圖進行信息融合,最終的物品分類由SoftMax分類器完成。
為了更好地避免目標檢測網絡在訓練過程中出現漏檢和錯誤檢測的現象,提出在特征提取時引入空調卷積。空洞卷積可以擴大特征圖的視野范圍,將空洞注入到卷積核中,在圖3中可以觀察到,空洞卷積可以達到擴大感受野的效果;同時,在卷積的過程中獲得了各個尺度的全局信息。在網絡中增添空洞卷積的擴張率,分別在各個尺度對應的特征圖中加入對應的rate,即在第1~5個特征提取圖上分別加入1,2,4,4,4倍的rate,讓小物體的特征更加明顯。

圖3 傳統卷積運算與空洞卷積運算
YOLOv3利用高層特征的深層次語義信息,并通過引入特征圖金字塔網絡(FPN)[9],上采樣融合不同層的特征,通過三種不同尺度的特征層來檢測物體。針對生活中的物品大小不一的情況,對YOLOv3中的尺度檢測模塊進行改進,采用5個尺度檢測,為目標物體配置更為準確的錨點框。采集到的生活物品圖像數據中所有目標標注通過K-means聚類[10~12]確定錨點框的大小,K-means聚類函數為
D(A,B)=1-RIOU(A,B)
(3)
式中A為物體邊界框的大小,B為物體邊界框的中心,RIOU(A,B)為交并比。
通過K-means聚類確定的先驗框參數,并利用殘差密集相連5個已經過上采樣相應倍數尺度檢測的特征層,尺度檢測層融合了不同層獲得的物體特征,各個尺度特征層的信息流動性提高。多尺度檢測模塊如圖4所示,其中2×,4×,8×和16×依次代表步長為2,4,8,16的上采樣。

圖4 多尺度檢測模塊
實驗采用Kinect v2傳感器作為生活物品圖像數據的采集設備,圖像分辨率為1 920像素×1 080像素。采集時從正視、俯視2個角度對生活中的物品進行圖像采集。圖像數據中包含單個和多個物品的圖像,共采集圖像3 306張。其中,僅含單個物品的圖像623張、包含多種物品的圖像有2 683張,利用圖像標注軟件LabelImg對圖像進行目標位置及類別的標注,采集的各類生活物品圖像按照6︰2︰2的比例分配訓練集、測試集和驗證集。
為使最終的訓練結果有較好的泛化性能,對訓練集進行水平翻轉、垂直翻轉、旋轉180°、隨機縮放寬高比例、隨機裁剪、亮度變化和飽和度變化的數據增強處理。
為評價所提出的方法對生活物品識別的性能優劣,使用平均精度(average precision,AP)作為生活物品檢測的評價指標。在得到物品的精度(precision,Pr)和召回(recall,Re)率后即可計算AP,計算公式如下
(4)
(5)
(6)
式中TP為將某類物品正確預測為某類物品的個數,FP為將非某類物品預測為某類物品的個數,FN為將某類物品錯誤預測為不是某類物品的個數,AP為某類物品的平均精度。
Faster R-CNN,SSD,YOLOv3和改進的算法在數據集上進行50 萬次的訓練,每個權重都會得到圖像的檢測框文件,四種算法的AP對比結果如圖5所示。

圖5 四種算法AP對比結果
折線圖中橫坐標為訓練次數,每個算法每5萬次標記一個點??梢悦黠@觀察到,改進后的算法在測試中整體好于其他三種算法。
YOLOv3算法分別在COCO,COCO+自制數據集兩種數據集上進行訓練和測試,隨機抽取300張圖像的實驗結果如表1所示。

表1 數據集對應訓練結果 %
從表1觀察到,在COCO+自制數據集上訓練得到的精度明顯優于COCO數據集,自制數據集更貼近生活物品原有的特征,可以提高YOLOv3算法在生活物品方面的識別能力。
改進后的YOLOv3算法與原YOLOv3算法、Faster R-CNN[13]和SSD[14]算法在COCO數據集和自制的測試集上進行實驗,從測試集中隨機篩選出300張來統計結果,結果如表2所示。

表2 四種算法性能對比 %
由表2可知:改進后的YOLOv3算法在精度指標AP上均超過其他算法,達到了91.96 %,具有優異的檢測性能。在50萬次訓練中得到的AP比原算法提高了5 %左右;精確度略低是由于其檢測到更多的物品同時產生了更多的誤檢目標;但在召回率這一項就明顯高于其他方法,是所有算法里漏檢最少的。最后的AP很好地反映了算法的優劣,足以說明改進后的方法效果好,并且在檢測時間上每張圖片花費大約0.043 s,優于 YOLOv3的檢測速度。
取50萬次中AP最高的權重文件對應測試圖像進行對比得到部分對比結果如圖6所示。圖中可以看到,Faster R-CNN算法的檢測效果較差,存在明顯漏檢現象。SSD算法雖然檢測速度上有一定優勢,但存在檢測框偏大的問題。YOLOv3的檢測效果雖不錯,但仍然出現了少數的漏檢情況。改進后的算法在的較大目標物品的檢測準確率幾乎為100 %,對小目標物品的檢測精度也明顯好于其他方法,沒有受到任何干擾,這是其他幾種方法都沒有做到的。這說明改進后的算法獲取到了更多且更深層次的特征信息,在檢測目標的大小上有著良好的適應性。

圖6 四種算法對應檢測結果
在YOLOv3算法模型基礎上,從網絡模型、多尺度檢測方面對原算法進行改進和優化以用于生活物品的檢測。采用自制的生活物品數據集訓練網絡模型,改進后的算法與Faster R-CNN,SSD以及YOLOv3等算法進行對比實驗。實驗結果表明:改進后的算法檢測精度能夠達到91.96 %,較原算法提高5 %,并優于其他算法,具有優異的檢測效果,能夠滿足生活物品識別分類的要求,在家庭和超市中的物品分揀等方面有廣闊的應用前景。