李建良, 杜承烈, 趙曄,3, 禹科
1.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710129; 2.西北農(nóng)林科技大學(xué) 信息工程學(xué)院, 陜西 楊陵 712100 3.陜西省人民醫(yī)院, 陜西 西安 710068; 4.中航工業(yè)自控所 飛行器控制一體化技術(shù)重點(diǎn)實(shí)驗(yàn)室, 陜西 西安 710065
一種視覺機(jī)器人演示學(xué)習(xí)的軌跡生成方法
李建良1,2, 杜承烈1, 趙曄1,3, 禹科4
1.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710129; 2.西北農(nóng)林科技大學(xué) 信息工程學(xué)院, 陜西 楊陵 712100 3.陜西省人民醫(yī)院, 陜西 西安 710068; 4.中航工業(yè)自控所 飛行器控制一體化技術(shù)重點(diǎn)實(shí)驗(yàn)室, 陜西 西安 710065
目前,機(jī)器人演示學(xué)習(xí)已成為機(jī)器人學(xué)中最為活躍的研究課題之一,而作為演示學(xué)習(xí)三要點(diǎn)之一的軌跡生成便成為研究熱點(diǎn)。軌跡生成是決定演示學(xué)習(xí)是否成功的重要因素,傳統(tǒng)上使用SIFT算法生成軌跡,但是這種方法存在很多局限,例如特征點(diǎn)較多、選擇軌跡困難、軌跡存在一定噪聲等。為此,提出了一種將SIFT、PCA和UKF等算法相結(jié)合的新的軌跡生成方法,通過實(shí)驗(yàn)仿真和機(jī)器人實(shí)體運(yùn)行,結(jié)果表明了算法的有效性。
演示學(xué)習(xí);SIFT算法;主成分分析;無跡卡爾曼濾波
工業(yè)機(jī)器人技術(shù)是近年來研究的熱點(diǎn)之一,其發(fā)展?fàn)顩r是衡量一個(gè)國(guó)家制造業(yè)水平是否先進(jìn)的主要標(biāo)志[1]。大力發(fā)展工業(yè)機(jī)器人是國(guó)家發(fā)展制造業(yè)的必由之路,也是新時(shí)期順利實(shí)現(xiàn)工業(yè)轉(zhuǎn)型升級(jí)的必然要求[2]。隨著“再工業(yè)化”的不斷興起,高端智能制造日益成為世界各國(guó)的競(jìng)爭(zhēng)方向[3],而高端智能的發(fā)展對(duì)機(jī)器人演示學(xué)習(xí)提出了新的挑戰(zhàn)。
近年來,機(jī)器人演示學(xué)習(xí)(learning by demonstration,LBD)已成為機(jī)器人學(xué)中最為活躍的研究課題之一[4-5]。它封裝了機(jī)器人的感知能力、學(xué)習(xí)模仿能力、新技能生成能力和適應(yīng)能力;可以根據(jù)環(huán)境的變化,對(duì)于給定的任務(wù),通過自主地結(jié)合外部參數(shù)[6-7]產(chǎn)生運(yùn)動(dòng)軌跡,如學(xué)習(xí)焊接。與機(jī)器人編程的傳統(tǒng)方法相比,LBD提供了機(jī)器人友好的教學(xué)框架[8],催生了新的研究方向,使機(jī)器人可以在社會(huì)環(huán)境中與人互動(dòng)[9]。已經(jīng)有許多研究者試圖構(gòu)建如下的模型來建立工業(yè)機(jī)器人LBD學(xué)習(xí)環(huán)境[10]:一個(gè)自然的學(xué)習(xí)環(huán)境,它可能是一個(gè)復(fù)雜的場(chǎng)景,有多人和多個(gè)移動(dòng)目標(biāo),在不同的時(shí)間和地點(diǎn)發(fā)生動(dòng)作。在這樣的環(huán)境下,最為關(guān)鍵的是3個(gè)基本問題——軌跡生成、動(dòng)作分解和動(dòng)作重組[11,13]。軌跡生成是指機(jī)器人在LBD過程中,通過觀察人或者移動(dòng)目標(biāo),利用數(shù)字圖像處理或外部傳感器得到目標(biāo)的移動(dòng)軌跡,并加入相應(yīng)的限制條件生成新的軌跡點(diǎn),最后通過B樣條插值算法生成機(jī)器人代碼的過程。本文將SIFT、PCA和UKF算法相結(jié)合,構(gòu)建新的軌跡生成方法,并通過實(shí)驗(yàn)仿真和機(jī)器人實(shí)體運(yùn)行,驗(yàn)證算法的有效性。
LBD軌跡生成的主要難點(diǎn),是根據(jù)演示視頻得到精確的運(yùn)動(dòng)軌跡。文獻(xiàn)[8,12-13]都提到使用SIFT算法來實(shí)現(xiàn)演示學(xué)習(xí)軌跡的生成方法,但SIFT特征點(diǎn)較多,會(huì)生成大量的軌跡。因此,找出最合理的軌跡就成為研究的重點(diǎn)。本文提出了一種新的演示學(xué)習(xí)軌跡生成方法:首先,使用SIFT算法對(duì)演示視頻進(jìn)行特征提取,根據(jù)所得到的特征對(duì)相鄰2幀視頻進(jìn)行匹配,將匹配到的特征點(diǎn)連線生成匹配圖,并根據(jù)其坐標(biāo)連線生成演示軌跡;其次,為解決生成軌跡較多、選擇軌跡困難的問題,使用主成分分析法PCA(principal component analysis,PCA)對(duì)生成軌跡進(jìn)行主成分提取,同時(shí)對(duì)軌跡進(jìn)行降維,這不僅可去除噪聲,而且可以發(fā)現(xiàn)其中的數(shù)據(jù)模式;最后,引入無痕卡爾曼算法,對(duì)所提取到的二維軌跡進(jìn)行濾波和平滑處理,進(jìn)一步消除噪聲、匹配誤差。其總體框架如圖1所示。
圖1 整體處理流程圖
SIFT是從不變量技術(shù)發(fā)展而來的一種特征檢測(cè)方法。
2.1 尺度空間理論
尺度理論主要用來對(duì)圖像數(shù)據(jù)的多尺度特征進(jìn)行模擬。
二維高斯函數(shù)通??蓪憺?/p>
(1)
式中,σ是正態(tài)分布方差。
圖像與高斯核卷積可以得到不同尺度下的尺度空間模型
L(x,y,σ)=G(x,y,σ)*I(x,y)
(2)
式中,圖像的像素位置為(x,y),σ作為尺度空間因子,L稱之為圖像的尺度空間。
2.2 SIFT特征提取方法
1幅圖像的SIFT特征向量生成算法包括如下4步操作:
1) 尺度空間極值檢測(cè),初步確定關(guān)鍵點(diǎn)位置和所在尺度。通過構(gòu)造尺度空間的高斯金字塔,在圖像二維平面空間和高斯差分(difference of Gaussian,DoG)尺度空間中,同時(shí)檢測(cè)局部極值,作為關(guān)鍵特征點(diǎn),以使特征點(diǎn)具備良好的穩(wěn)定性。高斯差分圖像定義為2個(gè)不同尺度的高斯核差分,它具有計(jì)算簡(jiǎn)單的特點(diǎn),是歸一化算子的近似,其計(jì)算公式為
(3)
式中,k為比例系數(shù)。
2) 確定穩(wěn)定特征點(diǎn)。通過尺度空間極值檢測(cè)得到備用關(guān)鍵特征點(diǎn)后,還需要將低對(duì)比度點(diǎn)和邊緣特征點(diǎn)過濾掉,以提高關(guān)鍵點(diǎn)的定位精度和抗噪聲干擾能力,且增加匹配時(shí)的穩(wěn)定性。
3) 確定關(guān)鍵點(diǎn)的方向。在關(guān)鍵點(diǎn)所在的尺度上,利用該點(diǎn)鄰域像素的梯度方向分布特性,為每個(gè)關(guān)鍵特征點(diǎn)指定方向參數(shù),使算子具備旋轉(zhuǎn)不變性。
4) 建立SIFT特征向量描述子。通過以上步驟,可以得到每個(gè)關(guān)鍵點(diǎn)的位置、尺度和方向信息。接下來為每個(gè)關(guān)鍵點(diǎn)建立一個(gè)特征描述子,使其對(duì)尺度、旋轉(zhuǎn)、線性光照、仿射變形等寬基線變化具有一定的不變性。此外,特征描述子還能描述每個(gè)關(guān)鍵點(diǎn)的獨(dú)特性,使不同特征點(diǎn)的特征向量之間有顯著的差異。
經(jīng)上述處理后,SIFT特征向量己經(jīng)去除了尺度變化、旋轉(zhuǎn)等因素的影響。再繼續(xù)將特征向量的長(zhǎng)度歸一化,則可以進(jìn)一步去除線性光照變化的影響。
2.3 SIFT描述子的特性
SIFT特征向量具有如下特性:1)多量性,即使少量的圖像信息,也可以產(chǎn)生大量的SIFT特征;2)獨(dú)特性好,具有豐富的信息,可以用于海量數(shù)據(jù)的挖掘;3)SIFT特征是圖像的局部特征,具有很好的穩(wěn)定性。
3.1 軌跡主成分提取
主成分分析是一種基于K-L分解的多元統(tǒng)計(jì)方法,旨在通過研究少量主成分來顯示變量之間的內(nèi)部關(guān)系,因此通常將其用來提取多個(gè)變量之間的主要關(guān)系。由于基于SIFT特征生成的軌跡量較多且難以確定最優(yōu)軌跡,因此本文引用PCA算法對(duì)軌跡進(jìn)行提取、優(yōu)化。
PCA算法對(duì)軌跡處理的步驟如下:
對(duì)于一個(gè)給定的軌跡訓(xùn)練集,假設(shè)訓(xùn)練樣本數(shù)為N,先將每條路徑構(gòu)成一個(gè)列向量ki,i=1,2,…,N
1) 計(jì)算所有軌跡訓(xùn)練集的總平均路徑:
(4)
2) 將每條路徑減去平均路徑,得到中心化軌跡
(5)
3) 將中心化后的軌跡依次作為列向量,構(gòu)成矩陣
(6)
4) 計(jì)算協(xié)方差矩陣S=AAT的特征值λ和特征向量v,即
利用奇異值分解定理和K-L變換原理,通過求解ATA的特征值和特征向量,來求解AAT的特征值和特征向量。
5) AAT的正交歸一化特征向量為
(7)
式中,λi為矩陣AAT的第i個(gè)非零特征值,vi為對(duì)應(yīng)于λi的ATA的特征向量。
6) 將計(jì)算出來的特征值按降序排列:λ1≥λ2≥…≥λl,然后選擇使得
(8)
(9)
7) 最后,便可以通過(10)式將軌跡投影到PCA子空間
(10)
PCA方法對(duì)噪聲具有一定的魯棒性,且具有完善的理論基礎(chǔ)和較好的可操作性,按該方法選擇出來的特征具有最優(yōu)的表現(xiàn)力,因此利用該算法能夠很好地解決軌跡選擇問題。
3.2 軌跡濾波去噪
無跡卡爾曼濾波(unscented Kalman filter,UKF)是一種遞歸貝葉斯估計(jì)方法,是基于Unscented變換的一種新的卡爾曼濾波算法。其基本思想是,首先將均值和方差參數(shù)化,然后利用變換后的狀態(tài)方程直接求解。該算法的實(shí)現(xiàn)不需要對(duì)雅可比矩陣進(jìn)行顯式計(jì)算,也不需要對(duì)狀態(tài)方程和觀測(cè)方程進(jìn)行線性化。Unscented變換實(shí)際上是選擇一批可表達(dá)系統(tǒng)狀態(tài)均值和方差的采樣點(diǎn)(稱為Sigma點(diǎn)),經(jīng)過非線性變換使這些采樣點(diǎn)的分布以二階精度逼近真實(shí)均值和方差。在強(qiáng)非線性情況下,UKF更能顯示優(yōu)勢(shì)。
用PCA方法提取的軌跡,由于在進(jìn)行SFIT特征點(diǎn)匹配時(shí)會(huì)產(chǎn)生誤差,選擇SFIT特征點(diǎn)時(shí)也會(huì)產(chǎn)生誤差,故可將這些誤差視為噪聲,利用UKF濾波方法便能很好地解決此問題。
將離散非線性系統(tǒng)描述為
xt=f(xt-1,vt-1)
(11)
yt=h(xt,nt)
(12)
1)初始化K=1,將系統(tǒng)狀態(tài)、狀態(tài)噪聲和觀測(cè)噪聲組成增廣狀態(tài)向量xa,設(shè)其維數(shù)為L(zhǎng),方差為Pa:
(13)
(14)
(15)
2) 計(jì)算采樣點(diǎn)的狀態(tài)向量
(16)
3) 時(shí)間更新
(17)
(18)
(19)
(20)
(21)
4) 觀測(cè)更新
(22)
(23)
(24)
(25)
(26)
UKF適用于任何能用EKF解決的非線性問題。UKF不需要計(jì)算雅可比矩陣,與EKF計(jì)算量相當(dāng);UKF在計(jì)算的過程中,沒有像EKF一樣忽略高階量,因此具有比EKF更高的精度。
實(shí)驗(yàn)分2個(gè)階段:軌跡生成階段和機(jī)器人實(shí)體驗(yàn)證階段。軌跡生成實(shí)驗(yàn)使用的電腦CPU為Intel Core(TM) i5-4200U(4 CPUs),CPU的處理頻率為1.60 GHz;實(shí)驗(yàn)軟件為Matlab 2015a;實(shí)驗(yàn)機(jī)器人為新時(shí)達(dá)SD500型機(jī)器人;實(shí)驗(yàn)數(shù)據(jù)為在實(shí)驗(yàn)室條件下使用攝像機(jī)(本文仿真分析使用的是雙目攝像頭中右側(cè)攝像頭所拍攝視頻)所拍攝的一段長(zhǎng)度為約為5 s、幀頻為29幀/s的視頻(為突出SIFT特征點(diǎn),在拍攝時(shí)演示者手帶白色手套,并在白色手套上涂上黑色標(biāo)記),視頻幀數(shù)為154,視頻分辨率為640*480(部分視頻圖像如圖2所示,圖2中的a)~d)分別和圖3、圖4中的圖像一一對(duì)應(yīng))。
圖2 演示視頻部分圖像
圖3 演示視頻SIFT特征提取結(jié)果
圖4 演示視頻SIFT特征匹配結(jié)果
按照第一節(jié)所描述流程,首先進(jìn)行SIFT特征提取,提取特征如圖3所示,SIFT特征匹配結(jié)果如圖4所示。從SIFT特征提取和SIFT特征匹配結(jié)果可以看出,存在一些錯(cuò)誤的軌跡點(diǎn)(如瓶身上的反光點(diǎn))。為獲得合理的軌跡并消除這些點(diǎn)對(duì)軌跡造成的誤差,引入PCA算法對(duì)生成的二維軌跡進(jìn)行主成分提取,提取結(jié)果如圖5所示。
圖5 生成軌跡以及優(yōu)化結(jié)果
從圖5可以看出,PCA提取到了軌跡的主成分,且消除了一部分誤差,但提取到的主成分“鋸齒”比較嚴(yán)重,這些誤差不利于機(jī)器人的運(yùn)行,因此引入U(xiǎn)KF對(duì)二維軌跡進(jìn)行平滑處理,平滑處理結(jié)果如圖5所示。
完成軌跡優(yōu)化之后,利用雙目標(biāo)定原理和方法完成2D圖像軌跡到3D空間軌跡的轉(zhuǎn)換。在實(shí)驗(yàn)中,為了消除算法對(duì)軌跡生成的精度的影響,將3D軌跡最低點(diǎn)與實(shí)驗(yàn)對(duì)象重心重合,對(duì)3D進(jìn)行處理。處理完成的軌跡在工業(yè)機(jī)器人實(shí)體上進(jìn)行運(yùn)行,運(yùn)行結(jié)果表明:機(jī)器人能夠按照預(yù)設(shè)軌跡完成對(duì)物體的抓取、移動(dòng)和松綁,可以滿足演示學(xué)習(xí)研究的需要,實(shí)體運(yùn)行結(jié)果如圖6所示。
圖6 機(jī)器人實(shí)體驗(yàn)證
軌跡生成是決定演示學(xué)習(xí)是否成功的重要因素,傳統(tǒng)上使用SIFT跟蹤直接生成軌跡。但是,這種方法存在很多缺點(diǎn),例如特征點(diǎn)較多、選擇軌跡困難、軌跡存在一定噪聲等等。因此,本文提出了一種將SIFT、PCA和UKF等算法相結(jié)合的軌跡生成方法。首先,通過SIFT特征點(diǎn),對(duì)視頻圖像進(jìn)行匹配,生成初始軌跡;然后利用PCA算法和UKF算法,對(duì)軌跡進(jìn)行優(yōu)化處理,生成最優(yōu)軌跡。本文通過將由此所得的最優(yōu)軌跡在機(jī)器人上進(jìn)行實(shí)體運(yùn)行,結(jié)果表明本文所提出的軌跡生成方法相當(dāng)有效。
[1] 王田苗,陶永. 我國(guó)工業(yè)機(jī)器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J]. 機(jī)械工程學(xué)報(bào),2014(9):1-13 Wang Tianmiao, Tao Yong. Research Status and Industrialization Development Strategy of Chinese Industrial Robot[J]. Journal of Mechanical Engineering, 2014(9): 1-13 (in Chinese)
[2] 李睿,曲興華. 工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)標(biāo)定誤差不確定度研究[J]. 儀器儀表學(xué)報(bào),2014(10):2192-2199 Li Rui, Qu Xinghua. Study on Calibration Uncertaintyof Insudtrial Robot Kinematic Parameters[J]. Chinese Journal of Scientific Instrument, 2014(10): 2192-2199 (in Chinese)
[3] 管貽生,鄧休,李懷珠,等. 工業(yè)機(jī)器人的結(jié)構(gòu)分析與優(yōu)化[J]. 華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(9):126-131 Guan Yisheng, Deng Xiu, Li Huaizhu, et al. Structural Analysis and Optimization of Industrial Robot[J]. Journal of South China University of Technology(Natural Science Edition), 2013(9):126-131 (in Chinese)
[4] Billard A, Calinon S, Dillmann R, et al. Robot Programming by Demonstration, Springer Handbook of Robotics[M]. Springer Berlin Heidelberg, 2008: 1371-1394
[5] Rozo Leonel, Jimenez Pablo, Torras Carme. A Robot Learning from Demonstration Framework to Perform Force-Based Manipulation Tasks[J]. Intelligent Service Robotics, 2013,6(1): 33-51
[6] Demiris Y, Aziz-Zadeh L, Bonaiuto J. Information Processing in the Mirrorneuron System in Primates and Machines[J]. Neuroinformatics, 2014(12): 63-91
[7] Suleman, Khawaja M U, Awais Mian M. Learning from Demonstration in Robots Using the Shared Circuits Model[J]. IEEE Trans on Autonomous Mental Development, 2014,6(4): 244-258
[8] Pagliuca Paolo, Nolfi Stefano. Integrating Learning by Experience and Demonstration in Autonomous Robots[J]. Adaptive Behavior, 2015,23(5):300-314
[9] Peters J, Vijayakumar S, Schaal S. Reinforcement Learning for Humanoid Robotics[C]∥Proceedings of the 3rd IEEE-RAS International Conference on Humanoid Robots(Humanoids), Karlsruhe, Germany, 2003:1-20
[10] Yoshikawa Y, Shinozawa K, Ishiguro H, et al. Miyamoto. Responsive Robot Gaze to Interaction Partner[C]∥Proceedings of the 2006 Robotics Science and Systems Conference, 2006: 287-293
[11] Wu Yan, Su Yanyu, Demiris Yiannis. A Morphable Template Framework for Robot Learning by Demonstration: Integrating One-Shot and Incremental Learning Approaches[J]. Robotics and Autonomous Systems, 2014,62(10):1517-1530
[12] Mitic Marko; Miljkovic Zoran. Neural Network Learning from Demonstration and Epipolar Geometry for Visual Control of A Nonholonomic Mobile Robot[J]. Soft Computing, 2014,18(5): 1011-1025
[13] Vukovic Najdan, Mitic Marko, Miljkovic Zoran. Trajectory Learning and Reproduction for Differential Drive Mobile Robots Based on Gmm/Hmm and Dynamic Time Warping Using Learning from Demonstration Framework[J]. Engineering Applications of Artificial Intelligence, 2015,45:388-404
One Path Generation Method of Visual Robot Based on BLD
Li Jianliang1,2, Du Chenglie1, Zhao Ye1,3
1.School of computer science, Northwestern Polytechnical University, Xi′an 710129, China 2.College of Information Engineering, Northwest A&F University, Xi′an 712100, China 3.Shaanxi Provincial People′s Hospital, Xi′an 710069, China 4.Science and Technology on Aircraft Control Laboratory, FACRI, Xi′an 710065, China
Robot learning by demonstration has become one of the most active research topics in robotics, and trajectory generation as one of the three points of demonstration study has become a hot research topic. Trajectory generation is decided to demonstrate learning an important factor in the success, the traditional method using sift tracking direct trajectory generation, but this method exists many shortcomings, such as more feature points selected tracks difficulties, trajectory there are certain noise, and so on. In this paper, a combination of SIFT, PCA and UKF algorithm algorithm based on trajectory generation method, the simulations and experiments with a real robot operation proves the validity of the algorithm.
learning by demonstration; scale invariant feature transform; principal component analysis; unscented kalman filter
2016-04-21
航空科學(xué)基金(20150753011)資助
李建良(1971—),西北工業(yè)大學(xué)博士研究生,西北農(nóng)林科技大學(xué)副教授,主要從事CPS系統(tǒng)軟件工程研究。
TP391
A
1000-2758(2016)06-1082-06