皮思遠,唐 洪,肖南峰
(華南理工大學 計算機科學與工程學院, 廣州 510006)
隨著工業(yè)4.0的發(fā)展,越來越多的工業(yè)機器人(包含末端執(zhí)行器)正在替代工人進行各類生產(chǎn)作業(yè),并且有效降低了生產(chǎn)成本[1]。目前的工業(yè)機器人大多是通過示教編程來完成一些特定的生產(chǎn)任務,但在實際應用中,通常需要工業(yè)機器人完成抓、握、捏、夾、推、拉、插、按、剪、切、敲、打、撕、貼、牽、拽、磨、削、刨、搓等20種生產(chǎn)操作。對于這些生產(chǎn)操作,現(xiàn)在通用的示教編程方法是令工業(yè)機器人在固定的軌跡空間中作業(yè),通過工業(yè)機器人及其作業(yè)目標對象之間在時間上操作配合來完成上述生產(chǎn)操作。故現(xiàn)行的示教編程方法只適用于那些環(huán)境不確定性較低的作業(yè)任務。
工業(yè)機器人在上述20種實際應用中,核心問題是識別作業(yè)目標對象。比如,工業(yè)機器人抓取操作過程包括抓取檢測、軌跡規(guī)劃、抓取執(zhí)行3個部分[2]。抓取檢測是識別作業(yè)場景中的物品或物品上的某些可抓取區(qū)域,而傳統(tǒng)的應用通過確保物品出現(xiàn)在預設位置或通過簡單的基于預設特征的視覺系統(tǒng)解決該問題。軌跡規(guī)劃即給出工業(yè)機器人從當前位置運動到目標位置的無障礙軌跡點。抓取執(zhí)行是通過開環(huán)或閉環(huán)控制工業(yè)機器人執(zhí)行軌跡規(guī)劃結(jié)果運動到目標位置。抓取檢測的本質(zhì)是要對目標物品進行識別和定位,目前的主流方法是通過圖像傳感器或深度傳感器采集場景信息,利用特征算子如HOG、SIFT或粒子濾波[3-6],結(jié)合提取的不同特征與不同分類器算法等進行目標物品識別或目標分類,例如支持向量機[2]、條件隨機場和人工神經(jīng)網(wǎng)絡等分類器算法[7]。這些算法通過提取過分割區(qū)域獲得特征向量并綜合區(qū)域內(nèi)部的局部聯(lián)系給出分類結(jié)果。但同一分割區(qū)域存在不同類像素的干擾影響,且未完全考慮全局結(jié)構(gòu)信息,因此很有必要利用全局信息來綜合考慮改善傳統(tǒng)方法。
目前,深度學習方法是機器學習中最重要的分支,表示為深度結(jié)構(gòu)及復雜的多層次學習算法。研究和實踐表明:深度學習算法憑借多層結(jié)構(gòu)能夠分布式學習樣本數(shù)據(jù)中的特征,在隱含層節(jié)點之間通過連接提取特征[8]。在某些關(guān)鍵任務如圖像識別、自然語言處理中獲得倍數(shù)關(guān)系于傳統(tǒng)機器學習算法的表現(xiàn)[9]。2012年Alex教授在ImageNet大規(guī)模視覺識別比賽(ILSVRC)中提出的AlexNet卷積深度學習模型在Top-5(最高5類概率)錯誤率表現(xiàn)為15.3%,將圖像分類水平提升到了一個新高度[10]。而其后的VGG、Inception、ResNet深度學習模型取得了90%以上的準確率,甚至超出人類專家的分類水平[11-13]。其中,基于VGG泛化出許多其他的結(jié)構(gòu),如R-CNN、Faster-RCNN等用于目標檢測[14-15]。Yolo[16]深度學習模型通過其網(wǎng)絡結(jié)構(gòu)直接檢測物品,去掉了中間處理過程,大大加快了目標檢測速度。深度學習方法中的卷積深度學習模型對分類問題可以取得優(yōu)秀的效果,但并不適合像素級的識別分割任務,因為最后全連接層的輸出維度固定會導致前端卷積層輸入緯度固定,輸入維度也被固定導致其不適合輸入圖片尺度變化。
在光學圖像語義分割問題中,有關(guān)學者提出了以全卷積深度學習(fully convolutional network,F(xiàn)CN)為代表的一類像素級識別分類學習模型,Long等[17]將其應用于圖像語義分割任務。全卷積神經(jīng)網(wǎng)絡模型不同于以往的深度學習模型,它將后端全連接層去除,利用卷積神經(jīng)網(wǎng)絡獲取的特征進行反卷積與反池化操作,以恢復出物品在像素級別的檢測結(jié)果。因為卷積操作并不限定輸入圖像的尺寸大小,從而消除了網(wǎng)絡輸出大小的限制,使得網(wǎng)絡夠適應各種大小尺寸的圖像,不需要對圖像進行尺寸規(guī)范處理,并避免了使用像素塊需要重復存儲和計算卷積的問題。由于全卷積神經(jīng)網(wǎng)絡輸出尺寸可與輸入尺寸相同,因此適合于像素級的機器學習任務,如語義分割、圖像降噪等。
在上述基礎上,本文提出了一種改進型的基于全卷積深度學習模型的可抓取物品識別的機器學習算法,可在像素級層面上識別可抓取物品,分割可抓取物品與背景元素。相對于全卷積神經(jīng)網(wǎng)絡,改進的方法提升了算法的識別準確性??勺ト∥锲纷R別與語義分割任務的區(qū)別在于語義分割需區(qū)別場景中各種物品,對其進行分類與確定位置,而可抓取物品識別只聚焦在工業(yè)機器人需要操作的目標對象在機器人視野中的位置,以配合工業(yè)機器人進行的后續(xù)操作。改進的算法不僅可用于可抓取物體識別,也可用于其他相關(guān)前景分割、物體定位問題。
卷積深度學習模型是深度學習模型中效果突出的一類學習模型,卷積神經(jīng)網(wǎng)絡學習模型通過將網(wǎng)絡層之間的全連接替換為卷積進行操作。例如,二維圖像卷積運算可表示為
(1)
式中:g表示二維卷積運算某一點的結(jié)果;f表示卷積核函數(shù);m表示二維矩陣中以(x,y)左上角頂點的長S、寬T的區(qū)域。假設卷積神經(jīng)網(wǎng)絡中某一層以k通道的圖像zi作為輸入,輸出為zi+1,該層共c個卷積核,用?表示二維矩陣與卷積核的運算,則卷積層運算可表示為
(2)
式(1)和式(2)表明實際卷積層通過卷積運算實現(xiàn)了權(quán)值共用,從而減少了大量中間權(quán)值參數(shù)的數(shù)量。并且卷積神經(jīng)網(wǎng)絡通過在卷積運算后進行接池化操作(pooling)進一步地實現(xiàn)特征提取,即把二維卷積運算后提取的特征劃分到大小為m×n的不相交區(qū)域,然后對這些區(qū)域某一統(tǒng)計特征采樣,如平均值、最大值來獲取池化后的卷積特征。池化操作可以進一步降低網(wǎng)絡參數(shù)量,避免陷入過擬合狀況。卷積網(wǎng)絡結(jié)構(gòu)如圖1所示,一般經(jīng)過多層卷積層提取特征后,后端通過全連接層將卷積結(jié)果輸出為預測向量。
圖1 卷積深度神經(jīng)網(wǎng)絡結(jié)構(gòu)
卷積操作可看作提取輸入不同的特征圖[18],而Zeiler等研究中提出的反卷積概念則與卷積層操作目的相反,其通過卷積運算從卷積提取的特征圖中重構(gòu)原始圖像,如式(3)所示。
?fk,c
(3)
式(3)表明:反卷積可從將提取的k個特征圖z恢復原始圖像,通過學習過程調(diào)整卷積核參數(shù)。 Long等在研究中提出的全卷積深度學習模型去除VGG-16卷積神經(jīng)網(wǎng)絡模型中最后的全連接層,將其通過反卷積操作(deconvtion)將VGG-16網(wǎng)絡的中間卷積層輸出的特征圖像恢復為二維語義分割圖像[17]。Long的研究實驗中還利用了VGG-16的中間卷積層結(jié)果分別給出了3種模型FCN-8x、FCN-16x、FCN- 32x,在pascal voc上超出了傳統(tǒng)的方法。全卷積模型結(jié)構(gòu)如圖2所示。
本文針對全卷積深度學習模型的識別準確率進行改進,基于VGG16構(gòu)建了13層全卷積深度學習模型,這13層網(wǎng)絡結(jié)構(gòu)的各層如表1所示,其中每層包含若干次卷積操作,具體網(wǎng)絡結(jié)構(gòu)模型如圖3所示。經(jīng)過5層卷積層,每層卷積層后接池化層,再接2層卷積層,繼而經(jīng)過5層反卷積層與反池化層輸出物品識別結(jié)果圖像。由表1可知:前6層卷積層與后6層反卷積層操作一一對應,第7層為中間過渡層,銜接卷積層與反卷積層,其中:convk-y,k表示卷積核大小為k×k;y表示使用的卷積核個數(shù)。
圖2 一般全卷積深度神經(jīng)網(wǎng)絡結(jié)構(gòu)
圖3 13層全卷積深度神經(jīng)網(wǎng)絡結(jié)構(gòu)
表1 全卷積深度學習模型結(jié)構(gòu)配置
由于深度學習模型隨著層數(shù)加深使得模型變得難以訓練,所以Hinton教授等[7,19]于1988年提出反向傳播算法訓練神經(jīng)網(wǎng)絡。但由于實際問題多是非凸性優(yōu)化問題,隨著網(wǎng)絡層數(shù)加深容易陷入局部最優(yōu)情況或出現(xiàn)過擬合情況,但基于動量的訓練算法能夠緩解這一情況[20]。為此,本研究中應用的反池化操作將對應最大池化采樣結(jié)果復原到原矩陣對應位置,并對余下位置進行線性插值填充。傳統(tǒng)的多層神經(jīng)網(wǎng)絡由于采用Sigmoid函數(shù)而導致反向傳播時梯度發(fā)生彌散。Sigmoid激活函數(shù)及其導數(shù)表示為式(4)和式(5),式(6)為深度學習模型中權(quán)值更新方式。
(4)
f′(x)=f(x)(1-f(x))
(5)
wt=wt-ηL(Zn,wt)
(6)
式(6)中:L′(Z,wt)表示誤差函數(shù)對wt求導;wt表示第t層深度學習模型的權(quán)值;Z為深度學習模型每一層輸出;Zn為深度學習模型最終輸出。根據(jù)反向傳播方程鏈式法則,結(jié)合式(3),誤差函數(shù)L對中間層權(quán)值求導表示為式(7)和式(8)。
L′(Z,wt)=L′(zn,zn-1)f′(zn-1,wt)
(7)
f′(zn-1,wt)=f′(zn-2)(1-f′(zn-2)wn-1…f′(zt-1,wt)
(8)
當Sigmoid激活函數(shù)在趨近0或1時,梯度趨向于0,導致多層神經(jīng)網(wǎng)絡前段神經(jīng)單元得不到反饋激勵,即導致梯度彌散現(xiàn)象。限制性線性單元(rectified linear units,Relu)[21]是一種新的激活函數(shù),表示為
(9)
Relu激活函數(shù)的梯度恒定(0或1),當x=0,定義其梯度為0,這一特性使其避免深度學習模型反向多層傳播導致梯度發(fā)生彌散現(xiàn)象,能使深度學習模型更快收斂,且Relu函數(shù)的一端為0,可以得到單側(cè)抑制,這與生物學神經(jīng)元研究符合,并能使傳遞數(shù)據(jù)變得稀疏。
本研究提出的全卷積深度學習模型使用Relu函數(shù)作為網(wǎng)絡層中的激活函數(shù)。另在本文第3節(jié)的實驗中使用滑動平均權(quán)值更新方式,權(quán)值更新方式為
wt=awt+(1-α)(wt-ηL′(zn,wt))
(10)
與普通的權(quán)值更新方式相比,通過增加超參數(shù)α能夠控制權(quán)值變化速度,提高模型健壯性。并且通過對網(wǎng)絡輸出結(jié)果進行聚類分析,以最多分類像素點代表的物體表示前景物體,可得到最終識別結(jié)果。
本文實驗所使用的測試數(shù)據(jù)為康奈爾抓取數(shù)據(jù)集(cornell grasping dataset,CGD),該數(shù)據(jù)集包含了281種生活中常見的物品,例如杯子、剃須刀、剪刀等,如圖4所示。數(shù)據(jù)集總共為1 034張圖像,每張圖像大小為640像素×480像素。由于原始圖像不包含物品標注信息。故需要對數(shù)據(jù)進行預處理,數(shù)據(jù)集中提供背景圖像信息。直接去除背景會導致存有陰影,因此需要手動對圖像進行精細處理,將圖片變換為以某一顏色指代物品與黑色指代背景的分割圖像,數(shù)據(jù)集處理流程如圖5所示,其中圖像與背景相減結(jié)果對應圖6(a);去除孤立像素,并手動去除陰影區(qū)域的結(jié)果對應圖6(b);分配圖像中物品特定顏色結(jié)果對應圖6(c)。數(shù)據(jù)預處理后,利用數(shù)據(jù)增強方法,以圖像為中心順時針旋轉(zhuǎn)5°,15°與-5°,-15°增加4倍數(shù)據(jù),并通過以圖片中心截取邊界20像素與40像素,最后將樣本增大至8 272份樣例。
圖4 康奈爾抓取數(shù)據(jù)集中的樣例
本文研究的實驗基于Tensorflow框架,采用Linux系統(tǒng)作為運行平臺,在配置為intel I7 CPU,Nvidia Gtx1080 GPU,32 G內(nèi)存的硬件平臺上進行試驗。預先使用Imagenet數(shù)據(jù)集對以前7層卷積層與3層全連接層組成的卷積神經(jīng)網(wǎng)絡進行預訓練,學習大量物品的真實特征。之后將網(wǎng)絡后端的全連接層改為本模型中的5層反卷積層,以及本實驗提出的改進型全卷積深度學習模型,在康奈爾抓取數(shù)據(jù)集進行參數(shù)調(diào)整(fine-tuning)。
圖5 數(shù)據(jù)集處理流程
圖6 物品分割處理結(jié)果
首先進行FCN-8x、FCN-16x、FCN-32x在預處理后的數(shù)據(jù)集上實驗。針對3種全卷積深度學習模型分別訓練選擇最佳的結(jié)果,與本文提出的全卷積物品識別深度學習模型算法進行對比實驗,結(jié)果如表2所示。本文研究利用的評判標準為像素分類的準確率,表示為
(11)
式中:ti表示為i類像素總數(shù)量;ni表示為分類為i類的i類像素數(shù)量。最終各模型的預測像素類別準確率如表3所示。由于每個測試用例包含單一的物體,因此前景準確率、背景準確率的計算方法都為式(11),而總準確率表示為
(12)
式中:f表示前景物物品像素;b表示背景像素。實驗結(jié)果表明:相對于FCN-8X只利用一次反卷積層,增加反池化層與反卷積層能夠使物品識別的準確率進一步提升,由于背景像素占圖片比例較大,可以看出背景區(qū)域的錯誤率較低,而由于物品形狀各異,識別屬于物品的像素比較困難。由表3所示的實驗結(jié)果可知:本文提出的模型相對FCN-8x的整體效果由71.2%上升到77.4%,提升了6.2%,且實驗結(jié)果也表明局部區(qū)域更加貼合數(shù)據(jù)樣本。
表2 模型預測結(jié)果
表3 模型準確率表現(xiàn)
本文引入和改進了全卷積深度學習模型用于解決可抓取物品的識別問題,對于已有的FCN-8x、FCN-16x、FCN32x進行試驗,并考慮其不足,提出了改進的全卷積深度學習模型用于可抓取物品識別,應用插值方式進行反池化操作,可以有效地改進像素級的物品識別準確率,將分類結(jié)果提升了3.8%,圖像細節(jié)信息得到改善。此方法不僅適用于可抓取物品識別領(lǐng)域,而且還可應用于其他像素級物品檢測問題。本文的后續(xù)工作將在不斷提高識別準確率的基礎上進一步提高時間效率。
[1] 王田苗,陶永.我國工業(yè)機器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J].機械工程學報,2014,50(9):1-13.
[2] SAXENA A,DRIEMEYER J,KEARNSs J,et al.Learning to grasp novel objects using vision[M]//Experimental Robotics.[S.l.]:Springer Berlin Heidelberg,2008:33-42.
[3] 戰(zhàn)強,吳佳.未知環(huán)境下移動機器人單目視覺導航算法[J].北京航空航天大學學報,2008,34(6):613-617.
[4] 張雪華,劉華平,孫富春,等.采用 Kinect 的移動機器人目標跟蹤[J].智能系統(tǒng)學報,2014,(1):34-39.
[5] 王修巖,程婷婷.基于單目視覺的工業(yè)機器人目標識別技術(shù)研究[J].機械設計與制造,2011,(4):155-157.
[6] 胡仕玲,顧爽,陳啟軍.基于HOG的物品分類方法[C]//中國智能機器人學術(shù)研討會論文集.深圳:北京大學深圳研究生院,2011.
[7] ROSENBLATT F.The perceptron,a perceiving and recognizing automaton project para[M].New York:Cornell Aeronautical Laboratory,1957.
[8] BENGIO Y.Learning deep architectures for ai.foundations and trends R in machine learning [J].Cited on,2009,2(1):1-127.
[9] LECUN Y,BENGIO Y,HINTON G.Deep learning[J].Nature,2015,521(7553):436-444.
[10] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems.USA:[s.n.],2012:1097-1105.
[11] SIMONYAN K,ZISSERMAN A.Very Deep Convolutional Networks for Large-Scale Image Recognition[J].Computer Science,2014(4):1409-1556.
[12] SZEGEDY C,LIU W,JIA Y,et al.Going deeper with convolutions[C]//Computer Vision and Pattern Recognition.[S.l.]:IEEE,2015:1-9.
[13] He K,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.[S.l.]:IEEE,2016:770-778.
[14] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.USA:IEEE,2014:580-587.
[15] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(6):1137-1149.
[16] REDMON J,F(xiàn)ARHADI A.YOLO9000:better,faster,stronger[Z].2016.
[17] LONG J,SHELHAMER E,DARRELL T.Fully convolutional networks for semantic segmentation [J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(4):640-651.
[18] LECUN Y,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[19] RUMELHART D E,HINTON G E,WILLIAMS R J.Learning internal representations by error propagation[J].Readings in Cognitive Science,1988,1:399-421.
[20] SUTSKEVER I,MARTENS J,DAHL G,et al.On the importance of initialization and momentum in deep learning[C]//International Conference on International Conference on Machine Learning.2013:1139-1147.
[21] GLOROT X,BORDES A,BENGIO Y.Deep sparse rectifier neural networks[C]//Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics.USA:[s.n.],2011:315-323.