余 樂, 李陽光, 陳 巖, 吳 超, 李洋洋, 王 瑤
(北京工商大學(xué) 計算機(jī)與信息工程學(xué)院 食品安全大數(shù)據(jù)技術(shù)北京市重點實驗室,北京 100048)
基于卷積神經(jīng)網(wǎng)絡(luò)的軟硬觸覺感知方法研究*
余 樂, 李陽光, 陳 巖, 吳 超, 李洋洋, 王 瑤
(北京工商大學(xué) 計算機(jī)與信息工程學(xué)院 食品安全大數(shù)據(jù)技術(shù)北京市重點實驗室,北京 100048)
智能機(jī)器手的應(yīng)用已經(jīng)遍布醫(yī)療、軍工、農(nóng)業(yè)及裝配行業(yè)等領(lǐng)域。軟硬作為物體的重要物理屬性之一,對機(jī)器手的抓取控制物體有重大影響。在深度學(xué)習(xí)框架下,基于卷積神經(jīng)網(wǎng)絡(luò)提出了用于觸覺感知的軟硬物體的識別方法。使用薄膜壓力傳感器采集手指按壓軟硬物體的數(shù)據(jù),建立訓(xùn)練和測試數(shù)據(jù)集,在Caffe中訓(xùn)練網(wǎng)絡(luò),以模擬觸覺識別軟硬物體。實驗結(jié)果顯示:對軟硬物體的識別準(zhǔn)確率達(dá)94.52 %,表明,卷積神經(jīng)網(wǎng)絡(luò)對于識別軟硬物體有比較好的分類效果。
卷積神經(jīng)網(wǎng)絡(luò); 薄膜壓力傳感器; 軟硬; 觸覺
智能機(jī)器手的應(yīng)用已經(jīng)遍布醫(yī)療、軍工、農(nóng)業(yè)及裝配行業(yè)等各個領(lǐng)域,軟硬作為物體的重要物理屬性之一,對機(jī)器手的抓取控制物體有重大影響[1]。
加拿大的Cretu團(tuán)隊利用視頻序列并結(jié)合力的測量,設(shè)計并實現(xiàn)了一個可以通過圖像分析檢測柔軟物體的形變的系統(tǒng)[2]。日本GiFu大學(xué)Huang Lingtao等人為工業(yè)機(jī)器人開發(fā)了一種結(jié)合視覺反饋的主從操作系統(tǒng)用于識別對象物體的硬度[3]。Ricardo Andrecioli和Irin Bandyopadhyaya等人通過機(jī)器學(xué)習(xí)和數(shù)據(jù)融合算法來評估被抓物體的硬度[4,5]。國內(nèi),浙江大學(xué)的張韶岷提出了基于K最鄰近(KNN)聚類算法的物體軟硬屬性識別方法[6]。還有一些其他學(xué)者提出了基于神經(jīng)網(wǎng)絡(luò)的軟硬識別方法[7,9]。
本文在Caffe框架下,提出了基于卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的用于軟硬觸覺的識別方法。具體實現(xiàn)方式為使用薄膜壓力傳感器采集手指按壓成像數(shù)據(jù),借助于Matlab對采集到的圖像預(yù)處理,制作訓(xùn)練和測試數(shù)據(jù)集,最后,利用Caffe設(shè)計卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)網(wǎng)絡(luò),通過訓(xùn)練集識別軟硬物體。
1.1 數(shù)據(jù)采集
整個采集系統(tǒng)分成采集、處理與顯示3部分,即使用薄膜壓力傳感器,采集壓力數(shù)據(jù),通過手柄上的USB接口與電腦的連接,獲得的數(shù)據(jù)在軟件上呈現(xiàn),得到壓力分布圖。數(shù)據(jù)采集系統(tǒng)如圖1所示。
圖1 數(shù)據(jù)采集系統(tǒng)
本文使用美國Tekscan公司生產(chǎn)的T-Scan壓電式薄膜傳感器采集手指按壓的數(shù)據(jù)。該傳感器中含有1 370個感測點,含有62個/cm2感測點。
待測樣品為木頭和橡膠,本文將其分為軟物和硬物,其邵氏硬度值如表1。
表1 軟硬劃分與邵氏硬度
1.2 預(yù)處理
由于建立數(shù)據(jù)集需要灰度圖像,無法從軟件得到的圖像中直接獲得,需要重構(gòu)已獲得的壓力數(shù)據(jù)的灰度圖像。通過軟件將采集到的數(shù)據(jù)導(dǎo)出為.TXT文件格式,文件中的數(shù)據(jù)包含了圖像中的像素坐標(biāo)(X軸,Y軸)以及相對應(yīng)坐標(biāo)點的灰度值。
使用Matlab對導(dǎo)出的文件進(jìn)行處理。首先,刪除文件中的文字,僅保留有效的數(shù)字信息,便于在Matlab中處理。將從TXT文件中讀入的數(shù)據(jù)放入二維矩陣中,根據(jù)文件中數(shù)據(jù)分布,將二維矩陣進(jìn)行轉(zhuǎn)置,就可以從矩陣中提取出3個一維向量。這3個一維向量中分別存放X,Y及像素灰度值數(shù)據(jù)。根據(jù)3個一維向量中的數(shù)據(jù)重新構(gòu)建一個灰度圖像的二維矩陣。
圖2為通過Matlab重繪灰度圖。
圖2 通過Matlab重繪灰度圖
Caffe架構(gòu)中卷積神經(jīng)網(wǎng)絡(luò)的輸入需要標(biāo)準(zhǔn)大小28×28的圖像。故對構(gòu)建的二維矩陣進(jìn)行區(qū)域切割,獲得有效的數(shù)據(jù)部分,并且得到28×28大小的標(biāo)準(zhǔn)圖像(圖2(a))。硬物上采集的圖像(圖2(b)),軟物圖像(圖2(c))。
1.3 建立數(shù)據(jù)集
通過薄膜壓力傳感器采集手指按壓在軟物及硬物上的壓力分布,建立數(shù)據(jù)集。文中數(shù)據(jù)集共2 700張圖片,其中訓(xùn)練集中有1 900張圖片,測試集中有800張圖片。
建立兩個文件夾,存放訓(xùn)練和測試圖片。對圖片進(jìn)行標(biāo)記,進(jìn)行二分類,分別標(biāo)記為soft與hard,借助于Windows的批處理功能完成。將標(biāo)記信息分別存放在2個TXT文件中。同時,每個文件需要同數(shù)據(jù)圖片存放在一個文件夾中,便于生成對應(yīng)的數(shù)據(jù)集。
Caffe結(jié)構(gòu)中的網(wǎng)絡(luò)輸入是無法直接處理原始數(shù)據(jù)的,需要將數(shù)據(jù)轉(zhuǎn)換成閃存映射數(shù)據(jù)庫(lightning memory-mapped database,LMDB)或?qū)哟螖?shù)據(jù)庫(level database,LEVELDB)格式的文件才能處理。這樣做既可以簡化數(shù)據(jù)讀取層的實現(xiàn),又可以提高磁盤輸入和輸出(input and output,I/O)利用率。因此,需要借助于Caffe中自帶的格式轉(zhuǎn)換工具,文中將數(shù)據(jù)全部轉(zhuǎn)換成LEVELDB格式的文件進(jìn)行處理。
將轉(zhuǎn)換完成的數(shù)據(jù)集拷貝到Caffe的mnist文件夾中,替換掉Caffe自帶的數(shù)據(jù)集。數(shù)據(jù)集中圖像格式如表2所示,標(biāo)簽格式如表3所示。
表2 圖像文件的數(shù)據(jù)格式
注:像素值在0~255之間。
表3 標(biāo)簽文件的數(shù)據(jù)格式
注:標(biāo)簽值soft/hard。
建立數(shù)據(jù)集以后,即可利用Caffe設(shè)計并訓(xùn)練CNN,過程包括以下4步驟:1)將輸入轉(zhuǎn)換成Caffe可接受的數(shù)據(jù)格式LEVELDB/LMDB;2)定義網(wǎng)絡(luò)(net),定義所有的layers以及與layer相連的blobs;3)定義求解器(solver),使用隨機(jī)梯度下降(SGD)+動量(momentum)的優(yōu)化方法,非定優(yōu)化過程中的各種參數(shù);4)訓(xùn)練在Caffe中設(shè)計的CNN。
2.1 網(wǎng)絡(luò)結(jié)構(gòu)
利用訓(xùn)練網(wǎng)絡(luò)可以表示成圖3所示的結(jié)構(gòu)。該CNN結(jié)構(gòu)包括:輸入層、卷積層、池化層和全連接輸出層。
其中,layers組成的有向無環(huán)圖(direct acyclic graph,DAG),data(特征和梯度)以blobs的形式從網(wǎng)絡(luò)(net)中流過。其中,在前向(forward)階段,特征blobs從左流向右,直到計算出損失;在反向(backward)階段,梯度blobs從右流向左,可以得到目標(biāo)函數(shù)對每個參數(shù)的梯度值。Caffe保留了計算中的所有中間值以確保前向和反向迭代的準(zhǔn)確性。
圖3 基于Caffe的CNN網(wǎng)絡(luò)
2.2 層
Caffe的結(jié)構(gòu)中層(layers)包含4部分:1)名稱:卷積層使用卷積conv1,conv2,池化層使用池化(pool)1,池化(pool)2,內(nèi)積使用ip1,ip2;2)類型:分為卷積,池化,內(nèi)積等;3)連接結(jié)構(gòu):就第一層而言,輸入數(shù)據(jù)為data,輸出數(shù)據(jù)為卷積conv1;4)參數(shù):包括輸出特征的數(shù)量,卷積核的大小及特征類型。
其中,每一個層定義了3個核心計算:1)初始化:層的初始化方式和上下連接層的類型;2)前向:根據(jù)底層的輸入通過中間層的函數(shù)計算結(jié)果,然后輸出到頂層;3)反向:根據(jù)頂層輸出的梯度計算輸入的梯度,輸出到底層,同時對于有參數(shù)的層,會計算相對參數(shù)的梯度,并存儲在內(nèi)部進(jìn)行模型優(yōu)化。
2.3 二進(jìn)制大對象
Caffe中三種數(shù)據(jù)使用二進(jìn)制大對象結(jié)構(gòu)(blobs),包括特征(data),梯度(diff)及參數(shù)(parameter,權(quán)重項和偏置項)。
blobs通常為4維數(shù)組,用以保存和傳輸信息,特征和參數(shù)如圖4所示。
圖4 特征與參數(shù)示意圖
2.4 求解器
求解器(solver)是Caffe中模型的優(yōu)化部分。使用隨機(jī)梯度下降(stochastic gradient descent,SGD)+動量(momentum)降低訓(xùn)練時的過擬合問題,使用最小化損失函數(shù)得到優(yōu)化的網(wǎng)絡(luò)參數(shù)。
隨機(jī)梯度下降(stochastic gradient descent,SGD)通過每個樣本迭代更新一次,訓(xùn)練速度快,參數(shù)數(shù)目相比于梯度下降少了許多,降低了存儲要求。
3.1 參數(shù)訓(xùn)練
在Caffe架構(gòu)下實現(xiàn)LeNet-5網(wǎng)絡(luò)對手指按壓物體的軟硬進(jìn)行識別,設(shè)置初始學(xué)習(xí)率為0.01,最大迭代次數(shù)1 000。使用自己構(gòu)建的數(shù)據(jù)集對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
3.2 測試結(jié)果
由于本文中數(shù)據(jù)集的數(shù)據(jù)量比較小,在迭代次數(shù)超過500次之后,會出現(xiàn)過擬合問題。因此,需要控制訓(xùn)練的迭代次數(shù)以減小過擬合的問題。通過訓(xùn)練網(wǎng)絡(luò),識別軟硬物的精度變化幅度在6 %以內(nèi)。在迭代465次的情況下,識別率最高達(dá)到了94.52 %。在繼續(xù)增加樣本量的情況下,識別率還會有小幅提高。圖5給出了最終的測試效果圖。
圖5 測試效果圖
文中使用薄膜壓力傳感器采集數(shù)據(jù),在Caffe架構(gòu)下進(jìn)行訓(xùn)練,以識別軟硬物體。訓(xùn)練結(jié)果表明:該觸覺感知CNN的識別精度可以達(dá)到94.52 %。與單純使用傳感器識別物體軟硬度相比,借助于卷積神經(jīng)網(wǎng)絡(luò),大幅度提高了識別精度高,降低了對傳感器的要求,操作過程相對簡單。
[1] 王晚楠.機(jī)器人技術(shù)發(fā)展中的矛盾問題研究[D].大連:大連理工大學(xué),2011.
[2] Cretu A M,Payeur P,Petriu E M.Soft object deformation monitoring and learning for model-based robotic hand manipulation[J].IEEE Transactions on System Man & Cybernetics Part B:Cybernetics A Publication of the IEEE Systems Man & Cybernetics Society,2012,42(3):740-753.
[3] Huang Lintao,Kawamura Takuya,Yamada Hironao.Construction robot operation system with object’s hardness recognition using force feedback and virtual reality[J].Journal of Robotics and Mechatronics,2012,6(24):958-966.
[4] Andrecioli R,Engeberg E D.Grasped object stiffness detection for adaptive PID sliding mode positon control of a prosthetic hand[C]∥2012 4th IEEE RAS & EMBS International Conference on Biomedical Robotics and Biomechatronics(BioRob),IEEE,2012:526-531.
[5] Bandyopadhyaya I,Babu D,Kumar A,et al.Tactile sensing based softness classification using machine learning[C]∥2014 IEEE International Advance Computing Conference(IACC),IEEE,2014:1231-1236.
[6] 汪禮超.基于機(jī)械手觸覺信息的物體軟硬屬性識別[D].杭州:浙江大學(xué),2016.
[7] Gao Yang,Hendricks Lisa Anne,Kuchenbecker Katherine J,et al.Deep learning for tactile understanding from visual and haptic data[C]∥International Conference on Robotics and Automation(ICRA),Stockholm:IEEE Robotics and Automation Society,2016:536-543.
[8] 王 欣.基于卷積神經(jīng)網(wǎng)絡(luò)與足底壓力信息的步態(tài)識別[D].合肥:安徽大學(xué),2015.
[9] 周 嶸,吳皓瑩.基于神經(jīng)網(wǎng)絡(luò)的觸覺感知方向識別研究[J].武漢理工大學(xué)學(xué)報,2016, 38(1):132-134.
余 樂(1983-) 男,博士,講師,碩士生導(dǎo)師,從事類腦計算與人工智能工作,E—mail:ladd_u@163.com。
陳 巖(1963-),女,博士,教授,博士生導(dǎo)師,從事無線傳感器網(wǎng)絡(luò)技術(shù)應(yīng)用、數(shù)字通信抗干擾技術(shù)方向研究工作。
Research on soft and hard tactile sensing method based on convolutional neural network*
YU Le, LI Yang-guang, CHEN Yan, WU Chao, LI Yang-yang, WANG Yao
(Beijing Key Laboratory of Big Data Technology for Food Safety,School of Computer and Information Engineering,Beijing Technology and Business University,Beijing 100048,China)
The application of intelligent manipulator has been widely used in medical,military,agricultural,assembly industries and other fields.As one of the important physical properties of objects,softness and hardness have a great influence on grasping control object by intelligent manipulator.Within depth learning framework,a soft and hard objects recognition method for tactile perception based on convolutional neural network(CNN) is proposed.Thin-film pressure sensor is used to acquire data of finger pressing soft and bard objects,training and test data set are set up.Train network in caffer,so as to simulate tactile to identify soft and hard object.The experimental results show that the accuracy of recognition on soft and hard objects is 94.52 %,which indicates that the CNN has a good classification effect for recognition of soft and hard objects.
convolutional neural network(CNN); thin-film pressure sensor; softness and hardness; tactile
2017—01—21
北京市自然科學(xué)基金資助項目(4174086);國家自然科學(xué)基金資助項目(61473009)
10.13873/J.1000—9787(2017)06—0035—03
TP 391
A
1000—9787(2017)06—0035—03