高 云,彭 煒,周建慧
(山西大同大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)工程學(xué)院,山西大同 037009)
目前科技不斷發(fā)展,促使人們對于智能生活的要求也隨之提高,對于機(jī)器人的使用需求逐漸增加[1]。機(jī)器人在使用過程中,需完成抓取目標(biāo)識別后,才可進(jìn)行抓取。因此,抓取目標(biāo)的位置識別是機(jī)器人使用過程中至關(guān)重要的步驟[2]。機(jī)器人智能抓取未知目標(biāo)位置識別可看作其執(zhí)行位置目標(biāo)的視覺控制,該操作表示機(jī)器人可在不知道抓取目標(biāo)的任何信息的情況下,僅根據(jù)當(dāng)前圖像信息即可完成機(jī)器人對未知目標(biāo)的智能感知與位置識別[3]。在目標(biāo)位置識別過程中,圖像特征對整個(gè)機(jī)器人視覺識別和定位方法動(dòng)態(tài)性能存在一定影響,其可決定識別和定位方法的穩(wěn)定性以及在復(fù)雜環(huán)境中依舊可準(zhǔn)確完成識別的條件。
為了保證機(jī)器人在正常情況下抓取未知目標(biāo)位置識別性能,文獻(xiàn)[4]提出基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)識別方法,采用深層卷積網(wǎng)絡(luò)提取自然環(huán)境下的目標(biāo)視覺特征,獲取目標(biāo)特征圖的深層池化結(jié)構(gòu)后,基于非極大值抑制方法完成目標(biāo)位置的識別,該方法僅可完成自然環(huán)境中的目標(biāo)識別,復(fù)雜環(huán)境下定位誤差較大。文獻(xiàn)[5]提出輪廓匹配的復(fù)雜背景中目標(biāo)檢測方法,通過實(shí)行圖像預(yù)處理后,利用形狀描述子完成輪廓匹配,采用深度優(yōu)先的搜索策略完成目標(biāo)識別;該方法雖然可以完成復(fù)雜背景中的目標(biāo)檢測,但是當(dāng)物體存在重疊情況下,其識別率較低。
針對上述問題,并考慮未知目標(biāo)在遮擋、光照變化等復(fù)雜情況,提出具備目標(biāo)位置深度識別能力的基于深度殘差網(wǎng)絡(luò)的未知目標(biāo)位置識別方法,實(shí)現(xiàn)機(jī)器人可在多種識別環(huán)境中,完成對未知物體的自主視覺定位。
基于位置的視覺識別和基于圖像的視覺識別是機(jī)器人智能抓取未知目標(biāo)位置識別的兩種方式[6]。通常情況下,基于圖像的視覺位置識別應(yīng)用較為普遍。因此,采用基于圖像的視覺識別完成機(jī)器人智能抓取未知目標(biāo)位置的深度識別。該方法需在機(jī)器人末端的執(zhí)行器上設(shè)置攝像機(jī),使其在機(jī)器人手臂實(shí)行抓取行為時(shí)隨之運(yùn)動(dòng),可實(shí)時(shí)獲取目標(biāo)位置的圖像信息,獲取圖像特征。將深度殘差網(wǎng)絡(luò)用于機(jī)器人智能抓取未知目標(biāo)位置識別中,該算法識別流程如圖1所示。
圖1 機(jī)器人智能抓取未知目標(biāo)位置識別流程
識別過程中,通過深度殘差網(wǎng)絡(luò)的識別和檢測完成目標(biāo)的識別和檢測,得出未知目標(biāo)的類別屬性信息后,根據(jù)該信息計(jì)算當(dāng)前圖像特征,并預(yù)測目標(biāo)的坐標(biāo)信息,保證目標(biāo)定位的精準(zhǔn)度。該網(wǎng)絡(luò)是基于端到端的實(shí)時(shí)目標(biāo)檢測系統(tǒng),更適用于復(fù)雜環(huán)境中應(yīng)用[7]。因此,將該網(wǎng)絡(luò)應(yīng)用于機(jī)器人視覺控制中,保證未知目標(biāo)種類不清楚并且沒有實(shí)行過訓(xùn)練的情況下,完成隨機(jī)指定目標(biāo)的快速、準(zhǔn)確識別。
2.2.1 深度殘差網(wǎng)絡(luò)
采用40層的深度殘差網(wǎng)絡(luò)識別未知目標(biāo)位置,該網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 深度殘差網(wǎng)絡(luò)結(jié)構(gòu)
基于深度殘差網(wǎng)絡(luò)算法主要用于機(jī)器人視覺控制過程中所有未知物體的類別信息和位置信息的獲取,可使用戶根據(jù)該結(jié)果隨機(jī)選擇定位目標(biāo)。并且可在定位初始幀任意選取的機(jī)器人待定位目標(biāo),并計(jì)算其圖像特征,為機(jī)器人定位到該目標(biāo)提供依據(jù)。為避免深度網(wǎng)絡(luò)模型在提取深層次圖像特征時(shí)產(chǎn)生退化,向深度殘差網(wǎng)絡(luò)融入恒等映射,組成殘差模塊結(jié)構(gòu)[8]。多個(gè)卷積層級聯(lián)的輸出和輸入元素之間的相加組成殘差模塊的輸出,并通過線性整流函數(shù)將其激活后得出。
2.2.2 未知目標(biāo)位置的識別模型
獲取端至端的學(xué)習(xí)深度圖像和最佳抓取位置的映射關(guān)聯(lián)性,保證可以學(xué)習(xí)到更深的圖像特征,是基于深度殘差網(wǎng)絡(luò)的機(jī)器人智能抓取未知目標(biāo)位置識別的前提?;谏疃葰埐罹W(wǎng)絡(luò)模型設(shè)計(jì)機(jī)器人智能抓取未知目標(biāo)位置模型,其識別流程如圖3所示。
圖3 基于深度殘差網(wǎng)絡(luò)的未知目標(biāo)位置識別流程
該模型根據(jù)輸入通道數(shù)據(jù)的差異,將通道分為兩種,分別為RGB和RGD通道。向基于深度殘差網(wǎng)絡(luò)的未知目標(biāo)位置識別模型中輸入RGB或者RGD數(shù)據(jù),實(shí)行裁剪、歸一化等圖像預(yù)處理后,將其輸入深度殘差網(wǎng)絡(luò)中,并且采用兩層全連接層替代模型最后一層分類器,同時(shí)引入防過擬合手段,識別結(jié)果為輸出的五維參數(shù)集g={x,y,θ,h,w}。
2.2.3 模型訓(xùn)練
采用遷移學(xué)習(xí)方法對基于深度殘差網(wǎng)絡(luò)的未知目標(biāo)位置識別模型展開訓(xùn)練,其步驟如下所述:
1)為保證模型的輸入為五維參數(shù)集,將40層的深度殘差網(wǎng)絡(luò)傳入端到端開源機(jī)器學(xué)習(xí)平臺(tái)TensorFlow中,并采用兩層全連接層替代模型最后一層分類器。
2)傳入預(yù)訓(xùn)練模型參數(shù),并且該參數(shù)為40層深度殘差網(wǎng)絡(luò)位于Imagenet數(shù)據(jù)集中[9],由端到端開源機(jī)器學(xué)習(xí)平臺(tái)TensorFlow提供。
3)完成康奈爾數(shù)據(jù)集的劃分后,并將其轉(zhuǎn)化為TensorFlow數(shù)據(jù)格式TFRecord,其中,劃分采用五折交叉驗(yàn)證的方式完成。
4)模型的訓(xùn)練通過康奈爾數(shù)據(jù)集完成,訓(xùn)練過程中,將40層深度殘差網(wǎng)絡(luò)中的卷積層參數(shù)固定,采用微調(diào)對模型進(jìn)行處理。
由于模型輸出的是五維變量參數(shù)集,在訓(xùn)練時(shí)結(jié)合抓取未知目標(biāo)位置的坐標(biāo)點(diǎn)和抓取寬度的影響存在差異,并且旋轉(zhuǎn)角參數(shù)量綱也存在差異[10],因此,采用平方誤差損失函數(shù)和均方差損失函數(shù)表示損失函數(shù),其公式為
Q(G,GT)=(x-xT)2+(y-yT)2λ(θ-θT)2+
(1)
式中:x、y分別表示位置坐標(biāo)點(diǎn);w、h分別表示抓取寬度;康奈爾數(shù)據(jù)所標(biāo)注的正例抓取框用GT表示;抓取位置識別算法輸出的最優(yōu)抓取框用G表示;θ表示旋轉(zhuǎn)角。
He初始化方式是權(quán)重參數(shù)初始化方式,且權(quán)重參數(shù)屬于模型最后兩層全連接層,同時(shí),采用零初始化對偏置參數(shù)實(shí)行處理[11]。模型訓(xùn)練完成后,直接輸入測試RGB和RGD圖像,以此檢測出未知定位目標(biāo)并計(jì)算出當(dāng)前圖像特征。
根據(jù)滑膜控制器的設(shè)計(jì)邏輯,設(shè)計(jì)機(jī)器人視覺定位控制器,其由滑模切面函數(shù)和滑模動(dòng)態(tài)控制兩部分設(shè)計(jì)完成。保證確定的滑動(dòng)模態(tài)穩(wěn)定以及動(dòng)態(tài)質(zhì)量較高是滑模切面函數(shù)的作用;使圖像特征誤差可快速到達(dá)滑模面后順著該面逐漸穩(wěn)定,直至達(dá)到期望圖像的特征,也可將其理解為保證設(shè)置的某個(gè)閾值,大于當(dāng)前圖像和期望圖像兩者特征的重合,是滑模動(dòng)態(tài)控制的作用[12]。
滑模切面函數(shù)用s表示,則其公式為
s=ld-l
(2)
式中:ld和l分別表示期望圖像特征和當(dāng)前圖像特征。
機(jī)器人視覺控制中,其抓取時(shí)在運(yùn)動(dòng)空間的運(yùn)動(dòng)速度和未知目標(biāo)圖像特征空間中的運(yùn)動(dòng)的關(guān)聯(lián)性可采用圖像雅可比矩陣Jim表示,其公式為
(3)
結(jié)合上述內(nèi)容設(shè)計(jì)機(jī)器人視覺滑模定位控制律,其公式為
(4)
(5)
(6)
=-sTZp|a|sat(Φ-1s)
(7)
獲取機(jī)器人任意第i個(gè)運(yùn)動(dòng)方向的控制率ui的對應(yīng)李亞普諾夫函數(shù)的導(dǎo)數(shù)
(8)
當(dāng)|si/φi|≤1,即表示|si|≤φi,此時(shí)
=-sZpi|ai|(s/φi)
=-Zpi|ai|(s2/φi)<0
(9)
當(dāng)|si/φi|>1,即表示|si|>φi,此時(shí)
=-sZpi|ai|sgn(s/φi)
=-Zpi|ai|s×sgn(s/φi)
=-Zpi|ai|(|s|/φi)<0
(10)
為了驗(yàn)證機(jī)器人智能抓取未知目標(biāo)位置深度識別方法的有效性,采用MATLAB仿真軟件完成機(jī)器人仿真,測試所提方法的識別效果。仿真兩類目標(biāo)物體進(jìn)行未知目標(biāo)位置識別,分別為剛體和非剛體。其中,剛體包含5號鋰電池、空調(diào)遙控器、水杯;非剛體包含面包和小玩偶。該物體在位置識別前沒有采取預(yù)訓(xùn)練等相關(guān)處理。
深層殘差網(wǎng)絡(luò)的訓(xùn)練次數(shù)對未知目標(biāo)位置識別結(jié)果存在一定影響。因此統(tǒng)計(jì)訓(xùn)練次數(shù)對目標(biāo)識別準(zhǔn)確率的影響,結(jié)果如圖4所示。
圖4 訓(xùn)練次數(shù)對目標(biāo)識別準(zhǔn)確率的影響
根據(jù)圖4測試結(jié)果可知,機(jī)器人智能抓取未知目標(biāo)位置識別的準(zhǔn)確率隨著迭代次數(shù)的增加而提升,當(dāng)?shù)螖?shù)達(dá)到80次以上,識別準(zhǔn)確率達(dá)到95%以上并保持平穩(wěn)。該結(jié)果表示,要保證識別的準(zhǔn)確率,深度殘差網(wǎng)絡(luò)識別模型的訓(xùn)練迭代次數(shù)需要在80次以上。因此為保證后續(xù)實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,模型的迭代次數(shù)為80次以上。
損失函數(shù)值的大小與迭代次數(shù)存在較大關(guān)聯(lián)性,為確定最佳損失函數(shù)值,統(tǒng)計(jì)在不同迭代次數(shù)下的損失函數(shù)值,結(jié)果如圖5所示。
圖5 損失函數(shù)與迭代次數(shù)的關(guān)聯(lián)性
根據(jù)圖5的測試結(jié)果可知,迭代次數(shù)的增加會(huì)降低損失函數(shù)值,當(dāng)?shù)螖?shù)為80次以上時(shí),損失函數(shù)值均為0.5以下,且處于平穩(wěn)狀態(tài),說明迭代次數(shù)為80次以上時(shí),損失函數(shù)值為最佳值,因此將后續(xù)實(shí)驗(yàn)中的迭代次數(shù)為80次,損失函數(shù)為0.44。
為測試所提方法的識別結(jié)果,模擬機(jī)器人對水杯進(jìn)行目標(biāo)視覺定位,獲取目標(biāo)視覺定位過程中圖像平面u和v方向的定位軌跡以及對應(yīng)的誤差結(jié)果,根據(jù)輸出的像素值和定位誤差像素值,分析所提方法的定位效果,結(jié)果如表1所示。
表1 圖像平面u和v方向的定位軌跡及其誤差結(jié)果
根據(jù)表1的測試結(jié)果可知,隨著時(shí)間的增加,圖像平面u和v方向的輸出像素值程逐漸降低趨勢,u方向達(dá)到19s時(shí),輸出像素值趨于穩(wěn)定;v方向達(dá)到15s時(shí),輸出像素值趨于穩(wěn)定。同時(shí)隨著時(shí)間的增加,圖像平面u和v方向的輸出像素值對應(yīng)的誤差也呈現(xiàn)降低趨勢,u和v方向分別為23s和15s時(shí)誤差值為0。實(shí)驗(yàn)結(jié)果表明,所提方法可識別到未知目標(biāo)位置。
為進(jìn)一步分析所提方法的識別效果,設(shè)置迭代次數(shù)為80次,分別采用文獻(xiàn)[4]方法、文獻(xiàn)[5]方法和所提方法對于剛體和非剛體五種物體進(jìn)行10次處于機(jī)器人工作平面不同位置的視覺定位,獲取其不同方法的定位誤差結(jié)果如圖6所示。
圖6 不同方法的定位誤差對比結(jié)果
根據(jù)圖6的測試結(jié)果可知,隨著迭代次數(shù)的增加,不同方法的定位誤差隨之增大,當(dāng)?shù)螖?shù)為80次時(shí),文獻(xiàn)[4]方法的定位誤差為0.043mm,文獻(xiàn)[5]方法的定位誤差為0.031mm,而所提方法的定位誤差為0.02mm,由此可知,所提方法的定位誤差較小,定位準(zhǔn)確性較好。
測試在不同環(huán)境下,機(jī)器人對未知?jiǎng)傮w和非剛體目標(biāo)位置識別的有效性,對五種目標(biāo)物體進(jìn)行識別。采用文獻(xiàn)[4]方法和文獻(xiàn)[5]方法作為所提方法的對比方法,統(tǒng)計(jì)三種方法的位置識別結(jié)果如表2所示。
表2 不同方法的識別率對比結(jié)果
分析表2的測試結(jié)果可知,在不同識別環(huán)境下,三種方法的識別率出現(xiàn)不同的變化。在物體重疊的環(huán)境中,不同方法的識別率最低,而在明亮光線環(huán)境下,不同方法的識別率最高。但是,所提方法在三種環(huán)境下的識別率均明顯高于文獻(xiàn)[4]方法和文獻(xiàn)[5]方法,識別率均為92%以上。由此可知,所提方法對未知?jiǎng)傮w和非剛體目標(biāo)視覺識別率較高。
提出的基于深度殘差網(wǎng)絡(luò)的未知目標(biāo)位置識別仿真,用于機(jī)器人對未知物體位置的識別。該方法的位置識別可在無需提前獲取目標(biāo)及其所在場景的任何信息條件下完成識別,并且在位置識別過程中,當(dāng)空間里存在多個(gè)物體時(shí),可以控制機(jī)器人運(yùn)動(dòng),使其定位到指定的不同類別、不同規(guī)則形狀的剛體或非剛體目標(biāo),完成目標(biāo)位置定位。并且該方法具備良好的識別效果和定位結(jié)果,是一種有效的、準(zhǔn)確的機(jī)器人智能抓取未知目標(biāo)位置深度識別方法。