王程民 萬薇 何時劍



摘? 要:文章從工程實際出發,對Delta機器人在線分揀的圖像識別環節進行了分析,提出了將基于深度學習的RetinaNet算法作為目標檢測算法,既保證了檢測識別的精度又提高了檢測速度與效率,符合實際的生產要求。
關鍵詞:Delta機器人;深度學習;RetinaNet
中圖分類號:TP242? ? ? ? ?文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)33-0092-03
Abstract: Based on the engineering practice, this paper analyzes the image recognition link of Delta robot's online sorting, and proposes RetinaNet algorithm based on deep learning as the target detection algorithm, which not only ensures the accuracy of detection and identification, but also improves the detection speed and efficiency, thus meeting the production requirements.
Keywords: Delta robot; deep learning; RetinaNet
Delta機器人作為一種工業并聯機器人,具有很好的靈敏性與準確度。由于因為執行器安裝在機器人的底部,機器臂不需承載執行器本身的重量,因此機器臂可以用輕的復合材料制成。所以Delta機器人的慣性很小,可以以高速進行,也可以有很大的加速度。在工業上特別適合用作小型零部件產品的分揀與包裝。由于最初的Delta機器人主要是由末端執行器的軌跡規劃來完成分揀、搬運任務,對機器人的加工、裝配都有很高的精度要求,在工作前需要對其運動學進行建模進而進行軌跡規劃,必要時還需要對其末端運動誤差進行分析[1],非常繁瑣。所以通常采用機器視覺的方式來配合Delta機器人完成對目標的識別與抓取工作[2]。使得Delta機器人成為一個閉環系統,提高了工作效率與可靠性。
通常使用工業相機來抓取生產線上的產品圖像,然后對提取的圖像進行算法識別,獲得目標的位置,進而控制機械臂完成分揀抓取動作[3]。其過程通常為圖像采集,信號處理,特征識別,位置獲取,動作執行;如圖1所示。
特征識別是這里最關鍵的步驟,需要借助現有的圖像處理算法來完成。常用的匹配算法就是基于圖像特征的識別:第一步對圖像進行預處理,主要是去噪及邊緣檢測為后面的操作提取其更為豐富的特征,第二步建立需匹配的圖像間特征對應, 特征基元有:點特征、邊緣特征和區域特征[4]。由于現場的拍攝環境復雜,尚沒有完善的通用圖像匹配算法。通常做法是采用多種圖像匹配算法進行使用。常用的有SIFT,尺度不變特征變換(Scale-invariant feature transform,SIFT)以及HOG,方向梯度直方圖(Histogram of Oriented Gradient, HOG)。
從圖2可以看出SIFT、HOG等算子只能反映圖像的底層特征,難以提出抓取目標物相似且位姿不同的情況下的一些深層次的特征。整個檢測精度和效率都較低[5]。特別是分揀生產線具有的高速度帶來目標辨識要求,很難通過傳統的算法進行快速檢測。
回歸到人類識別的功能認知上來看,人類是基于對物品的認知進而開始識別的過程。以上提到的算法都是一種從圖像的細節進行特征提取及識別,而人類往往是從圖像的整體方面進行認知與掌握的。深度學習(DL, Deep Learning)是機器學習(ML, Machine Learning)領域中一個新的研究方向,基于人工智能的技術以及計算能力的提高,深度學習可以通過自動學習提取到有用的特征,然后進行分類識別[6]。它嘗試從樣本中尋找其規律性與層次表現,通過學習算法分析復雜的信息類似文字、圖像、聲音甚至視頻等。這種類似人類一樣學習能力使得它可以在以往很難獲得突破的分類識別方面取得了極大的進展。
基于深度學習的目標檢測算法根據有無候選框生成階段分為雙階段目標檢測算法和單階段目標檢測算法兩類[5]。雙階段目標檢測算法先對圖像提取候選框,然后基于候選區域做二次修正得到檢測結果,這樣做的優點是檢測精度較高,缺點是檢測速度較慢;單階段目標檢測算法直接對圖像進行計算生成檢測結果,優點是檢測速度快,缺點是檢測精度低。由于Delta機器人抓取物體大部分小且重量輕,外形相對比較簡單,因此這里選擇采用:基于單階段目標檢測算法。單階段檢測算法也被稱為基于回歸分析的目標檢測算法,其內容是將目標檢測問題當作對目標位置和類別信息的回歸分析問題,通過一個神經網絡模型可以直接輸出得到檢測結果[7]。
單階段目標檢測算法的算法結構是基于深度神經網絡的一個端到端的訓練結構。算法模型如圖3所示由特征提取與目標檢測兩個模塊組成。其中特征提取含有特征提取網絡和輔助網絡。特征提取網絡是對圖像分類數據集上預訓練的權重進行遷移學習的實現,提取特征目標。目標檢測則是由若干全連接層或卷積層構成,這些層構成了檢測器,可以輸出檢測結果。每個檢測器可以對應的輸出一個檢測結果。
RetinaNet是由Facebook AI團隊于2018提出的一個高效的單階段目標檢測算法。算法采用 Resnet-FPN作為骨干網絡,并針對單階段目標檢測器存在的樣本類別失衡問題,提出Focal Loss以調節難易樣本的loss貢獻度,有效緩解了樣本失衡對檢測性能的影響,達到了接近兩階段目標檢測算法的檢測精度[8]。是繼SSD和YOLO V2公布后,YOLO V3誕生前的一款目標檢測算法,針對現有單階段法(one-stage)目標檢測模型中前景(positive)和背景(negatives)類別的不平衡問題,提出了一種叫做Focal Loss的損失函數。RetinaNet本質上是由Resnet網絡、特征金字塔網絡(Feature Pyramid Network,FPN)和兩個全卷積網絡(Fully Convolutional Network,FCN)的子網絡組成。圖4是它的網絡框架。該網絡最大的創新就是使用Focal Loss代替了傳統的交叉熵(Cross Entropy,CE)。
Focal Loss的定義為[9]
F(pt)=-at(1-pt)γlog(pt)
pt=p,y=11-p,y≠1
其中:y為標簽值;p為模型預測值;at為線性調節因子,γ為指數調節因子。
根據任務要求以及控制器的計算能力選擇ResNet-50作為特征提取網絡。這是一個50層深度學習網絡。含有4個區塊,每個區塊依次具有3,4,6,3個Bottleneck。配合特征金字塔FPN結構以及兩個FCN子網絡組成RetinaNet檢測模型。
對搭建好的RetinaNet檢測模型進行訓練,設置參數,將之前采集到的工件圖片通過模型轉化為模型權重文件,之后就可以對現場實施采集的圖片進行目標識別了。
RetinaNet作為一種網絡單階段目標檢測算法,確保了算法在實施現場的應用實時性要求;通過特征金字塔網絡(FPN)構建了用于目標檢測的多尺度特征,并提出了新型損失函數(Focal Loss),顯著提高了目標檢測算法的準確性。
Delta分揀機器人適用于小型電子類零部件的流水線應用,其工作速度快,對目標識別要求高。這里設計的基于RetinaNet的智能識別算法可以滿足高精度快速識別的雙重要求,在工業應用中提供了一種有效的解決方案。特別是算法所具有的自主學習功能以及對樣本失衡的控制功能,可以更有效的提升識別精度、效率。在算力允許的情況下,接下來可以朝著更多層分類網絡發展,以得到更好地精度。
參考文獻:
[1]張續沖,張瑞秋,陳亮,等.Delta機器人產品分揀軌跡規劃仿真[J].計算機仿真,2019,36(11):295-299+364.
[2]梅江平,王浩,張舵,等.基于單目視覺的高速并聯機器人動態目標跟蹤算法[J].天津大學學報(自然科學與工程技術版),2020,53(02):138-146.
[3]陳躍春.基于Delta機器人的目標圖像識別與動態抓取系統設計[J].電子世界,2019(19):124-128.
[4]王軍.圖像匹配算法的研究進展[J].大氣與環境光學學報,2007(01):11-15.
[5]趙永強,饒元,董世鵬,等.深度學習目標檢測方法綜述[J].中國圖象圖形學報,2020,25(04):629-654.
[6]李燕飛.基于深度神經網絡的視覺識別分類研究[D].內蒙古工業大學,2018.
[7]劉俊明,孟衛華.基于深度學習的單階段目標檢測算法研究綜述[J].航空兵器,2020,27(03):44-53.
[8]謝學立,李傳祥,楊小岡,等.基于動態感受野的航拍圖像目標檢測算法[J].光學學報,2020,40(04):107-119.
[9]Lin, T.-Y., Goyal, P., Girshick, R., He, K. & Dollar, P. Focal Loss for Dense Object Detection[J]. IEEE transactions on pattern analysis and machine intelligence,2020,42(2).