999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

結合深度學習的機器人示教系統設計

2020-12-08 03:15:36段中興
計算機測量與控制 2020年11期
關鍵詞:模型

段中興,白 楊

(西安建筑科技大學 信息與控制工程學院,西安 710055)

0 引言

機器人示教編程(robot programming demonstration,RPD)是降低機器人編程復雜性的重要途徑,用戶可以通過示教器引導機器人完成學習并進行任務再現[1]。在使用RPD系統對機器人進行編程的過程中,通過將消息指令傳達給機器人來進行人機交互,其中手勢由于其直觀性和確定性,是工業場景中信息交流的重要方式,因此如何在RPD中利用手勢高效完成人機交互已經成為當前研究的重要方向。

基于視覺的動態手勢識別研究分為兩類:一類是包括手勢分割、手勢跟蹤、特征提取和手勢分類四個階段的傳統方法;另一類是利用卷積神經網絡(Convolutional Neural Networks, CNN)進行相關研究。前者基于包括尺度不變特征變換(Scale-Invariant Feature Transform, SIFT)[2]、LBP特征(Local Binary Pattern)[3]、方向梯度直方圖特征(Histogram of Oriented Gradient, HOG)[4]和Haar-like特征等提取目標完成圖像特征提取[5],再采用分類算法進行分類來完成手勢識別,如支持向量機(Support Vector Machine, SVM)[6]、K近鄰法(K-NearestNeighbor, KNN)等完成手勢分類[7],進而對不同識別結果進行運動定義來引導機器人工作,也可以采用如凸包算法等幾何算法進一步對手勢信息進行提取[8],但傳統方法對每個階段的算法要求都較為嚴格,并且需要手工選取特征,導致其存在一定復雜度的局限性;而基于CNN在一定程度上避免了以上問題帶來的影響,該方法只需要將圖像序列送入設計好的網絡結構就可以直接得到分類結果,整個識別過程簡單且高效,逐漸成為手勢識別的重要研究方向。

其中Mohanty等人將原始圖像直接輸入簡單的2層CNN進行特征提取并完成手勢識別[9],但由于沒有進行手勢分割,因此結果受背景干擾影響程度較大;Oyedotun等通過將預處理的二值圖像進行閾值劃分獲取手勢區域并使用CNN完成識別[10],但其對光照干擾魯棒性較差;此外還存在將CNN與SVM[11]或者HOG[12]相結合的方法完成分類任務;也可以使用HSV膚色模型[13]或YCbCr膚色空間[14]完成手勢分割,解決了對光線魯棒的問題,但其穩定性較差。

針對以上問題,本文采用將RGB顏色空間與YCbCr顏色空間結合的方法完成手勢分割,并結合改進LeNet-5網絡架構進行特征提取完成手勢識別,基于ROS設計機器人示教框架并定義相應功能,進而完成人機交互[15]。

1 系統結構

首先需要對包含手勢區域的圖像進行預處理,利用RGB與YCbCr結合的顏色空間膚色模型提取手掌區域,通過高斯濾波進行平滑處理并進行灰度處理,尺寸歸一化處理成32×32作為深度學習網絡的輸入;其次對LeNet-5進行改進,原始簡單網絡LeNet對于手寫體字符的識別非常高效,但其由于網絡設計原因,對于5分類測試集上存在過擬合現象,因此需要進行改進;最后將該方法應用于示教系統中,用于指示任務演示的開始和結束,達到人機交互的目的,并進行實驗與評估,統計結果進行算法驗證,系統流程如圖1所示。

圖1 系統流程圖

2 圖像預處理

目前無論是開源的手勢樣本庫,還是通過相機自采樣手勢圖像建立數據集,得到的原始圖像中均包含了手勢區域和背景,并不適合用于神經網絡的輸入圖像,需要經過預處理去除冗余信息。本文中的預處理包括:手勢分割、濾波去噪和歸一化處理。

2.1 手勢分割

本文為了提高膚色檢測模型的穩定性,將多個顏色空間結合,采用RGB顏色空間和YCbCr顏色空間的混合膚色檢測器。傳統采用HSV或YCbCr單一膚色模型對光照魯棒性較強,但會將圖像分割得較為破碎。針對以上問題,通過將RGB顏色空間的3通道和YCbCr顏色空間3通道的值結合建立混合膚色檢測器來完成膚色分割,具體算法如式(1)所示。

R>B∧R>B

(G≥B∧5R-12G+7B≥0)∨

(G

Cr∈(135,180)∧Cb∈(85,135)∧Y>80

(1)

經過混合膚色模型手勢分割結果如圖2所示。

圖2 YCbCr與RGB+YCbCr顏色空間結果對比

2.2 濾波去噪

高斯濾波、均值濾波和中值濾波是圖像處理中使用的較為頻繁的濾波算法,其中高斯濾波和均值濾波采用的是線性濾波,能夠有效地抑制噪聲、平滑圖像,其窗口模板的系數和均值不同。均值濾波的模板系數都是1,是一種非線性濾波方法,但其效率較高的同時會導致丟失部分特征信息,不利于目標手勢的識別,并且對于噪聲干擾效果不佳;

中值濾波是非線性濾波方法,對于椒鹽噪聲效果較好,但其時間復雜度較高;而高斯模板系數隨著模板中心的增大而系數減小,則其對圖像的模糊程度較小,更大程度地保留圖像特征信息,因此本文采用大小為15×15的高斯核進行濾波去噪。

考慮到手勢圖像中手勢占主導地位,因此采用輪廓提取方法提取出手勢區域,并將小于最大輪廓的連通域填黑,僅顯示最大連通區域,結果如圖3所示。

圖3 濾波去噪結果

2.3 歸一化處理

采用插值算法對手勢圖像作歸一化處理用于輸入卷積神經網絡。常用插值算法有最近鄰插值法、雙線性插值法、基于局部像素重采樣、三次樣條插值和Lanczos插值算法等。最近鄰插值法由于會用距離待求像素點最近的四鄰像素值直接進行替代,因此可能會導致結果產生明顯不連續情況;基于局部像素采樣更適用于圖像抽取的應用場景;三次樣條插值與Lanczos插值算法由于計算量較大,速度較慢。

其中雙線性插值算法,可以保證插值結果較為光滑,具有一定的亮度采樣精度,但會損失細節部分的清晰度,但手勢圖像對于如紋理等細節部分并不關注,因此采用該方法進行圖像歸一化處理,處理結果如圖4所示。

圖4 歸一化處理結果

3 神經網絡模型

3.1 卷積神經網絡

為了避免人工選取圖像特征的局限性,本文采用卷積神經網絡完成圖像特征提取。卷積神經網絡是權值共享、非全連接的神經網絡,其包括卷積層(CONV)、池化層(POOL)和全連接層(FC)等。卷積層通過二維卷積完成圖像局部特征的提取,其公式如式(2)所示。

(2)

池化層位于連續的卷積層中間,用于壓縮數據和參數的量,減小過擬合。對于圖像類型輸入可以在保持主要特征同時進行特征降維,減少冗余參數,提高模型泛化能力,其公式如式(3)所示。

(3)

全連接層在整個卷積神經網絡起到分類器的作用,可以將卷積輸出的二維特征圖轉化成一維向量。實際使用中,全連接層可以卷積操作實現,其公式如(4)所示。

(4)

3.2 改進LeNet5網絡模型

LeNet5是最經典的神經網絡之一,但其由于算力與數據集等因素的限制,效果相較于傳統特征提取結合分類器的目標識別方法較差,直到2012年ImageNet比賽上取得冠軍,使得卷積神經網絡再一次成為研究熱點。

針對LeNet5手勢識別收斂速度慢、訓練時間長等問題,提出一種改進的LeNet卷積神經網絡模型,該模型結構如圖5所示。

圖5 改進LeNet5網絡結構圖

首先對原有的網絡數量進行調整。在4層網絡基礎上加入新的卷積層與池化層,考慮到目的是進行手勢識別,需要盡可能保留紋理特征,減小卷積層參數誤差造成估計均值的偏移,池化方式選擇最大池化;為了保證輸出圖片尺寸與輸入一致,填充方式采用全零填充。

卷積核數目進行調整。卷積核數目的大小會對特征圖個數產生影響,因此為了應對工業場景中的大部分場景,設置了8種手勢,為了提高網絡手勢識別性能,將卷積核數目設置為64,64,128,128,256,256。全連接層輸出節點分別設置為256和8,用于手勢分類。

卷積核大小調整。原始LeNet5使用的是5×5的卷積核,而多個小的卷積核疊加使用效果好優于大卷積核單獨使用,并且為了降低參數個數與計算復雜度,本文調整卷積核大小為3×3。

激活函數的更改。原網絡使用的sigmoid函數在應對較深網絡結構時會導致梯度消失,且計算量較大,導致訓練時間增加。本文采用ReLU函數作為激活函數,其應對較深網絡時具有計算速度快、收斂速度快等優勢,一定程度上保證了模型泛化能力。

加入Droupout層。為了緩解模型過擬合現象的發生,在池化層后加入大小為0.5的Droupout層,可以進一步提升模型泛化能力。

4 手勢識別機器人示教框架

4.1 RPD系統

為了簡化工業機器人的編程過程,使公眾更容易地使用工業機器人,機器人研究人員開發了基于捕獲和分析人類演示動作的演示編程方法,該方法為工業機器人提供了自我編程的能力,其一般步驟包括以下。

1)觀察:機器人使用其傳感器感知人體運動;

2)編碼:RPD系統生成任務的表現形式及用于任務執行的相應程序;

3)執行:機器人重現動作。

如圖6所示,該圖描述了所提出的RPD框架,其包括3個主要組件,傳感器、編碼系統與機器人控制器。在任務演示過程中,傳感器信息被發送到編碼系統,同時編碼結果通過屏幕作為演示反饋給用戶。而手勢識別(Hand Gesture Rcongnition, HGR)可以用作在任務演示期間向編碼系統傳遞消息或命令,與示教器相比更為直觀且效率也更高。

本文設計了HGR用作RPD系統的開關,以指示任務演示的開始和結束,將產生的機器人程序發送到機器人控制器后,進一步通過手勢命令批準機器人運動,整個過程中可以隨時利用手勢進行暫停以保障運行安全。

4.2 系統架構

設計的編碼模塊通過ROS節點和消息實現。ROS是由節點作為基本的單元的開源的元操作系統,其通過為節點提供發布與訂閱的標準來完成節點單元之間消息傳遞的管理,進而保證節點通信的可靠性,各個節點用于實現不同的功能,具有高度的靈活性。

該系統由4個ROS節點組成,包括用于識別手勢的“/simple_hgr”節點,可以通過相機將手勢識別結果進行轉化,其次可以實現讀取機器人當前關節角度的“/robot_joint_state_reader”節點,用于反饋機器人當前狀態,“/hri_bridge_RPD”節點用于處理接收到的手勢消息,并結合機器人關節信息在任務演示和執行階段之間進行切換,最后是“ /move_ur5_by_joints”節點,用于向機器人控制器發送關節角度以移動機器人, RPD框架如圖6所示。

圖6 RPD框架

4.3 手勢控制模塊

基于手勢識別算法,將識別的手勢結果分別轉化成數字信號用于輸出,例如識別到“start”的控制信號時輸出數字1,并設置在默認狀態下輸出0,表示未檢測到手勢信號,其公式如式(5)所示。

(5)

其中:Nd表示手勢輸出信號,采用“cv_bridge”包實現ROS中“std_msgs/image”格式與opencv格式之間的圖像轉換,識別結果以ROS消息的形式通過主題“/simple_hgr/number”以30Hz的速率發送。

4.4 數據處理模塊

節點“/hri_bridge_RPD”用于分析接收到的數字以及RPD系統當前工作階段。顯然,“/hri_bridge_RPD”節點扮演著中央處理器(Center Processing Unit,CPU)的角色,功能類似于CPU中的算術邏輯單元(Arithmetic Logic Unit,ALU),通過對采樣信息執行算術運算及邏輯運算以提取用戶最可能執行的手勢。該節點以0.1秒的時間間隔對接收到的數據進行采樣,并對形成的數組中存在的每個數字的頻率進行計數,超過設置閾值0.8時即確定手勢信號,節點部分在圖7中給出。

圖7 節點內部結構示意圖

節點基于采樣結果確定手勢信號后將用于引導系統進入不同模式,功能類似控制單元(Control Unit,CU),其工作流程如圖8所示。

圖8 手勢引導工作流程

5 實驗結果與分析

5.1 實驗數據與環境

本文實驗環境為Ubuntu16.04,ROS版本為kinetic,OpenCV版本為3.3.1,模型所使用深度框架是tensorflow,實驗所使用GPU型號為TitanV,顯存12G。環境配置為CUDA9.0+anaconda3+python3+tensorflow1.8.0。采用在包括復雜背景的Marcel數據集上進行手勢識別驗證實驗。Marcel數據集含有帶有背景的6種手勢圖像共5 494張,圖9展示了該數據集的樣本圖像。神經網絡模型所有層均使用xavier初始化,優化器采用Adadelta,總共迭代2 000次。

圖9 Marcel數據集樣本

5.2 數據增強

深度學習模型效果基于充足的樣本數量,但目前數據庫數據量不足以充為訓練網絡模型,容易導致訓練模型過程中出現過擬合問題,為了增強CNN模型泛化能力、避免過擬合問題,本文應用數據增強方法提高樣本質量。通過采用對圖像水平和垂直方向的隨機平移(離線增強),或者在模型訓練過程中對訓練圖片隨機平移和翻轉(在線增強),將訓練數據擴充20倍,可以使模型達到充分的訓練并增強其對尺度變化的魯棒性,數據增強結果如圖10所示。

圖10 數據增強結果

5.3 圖像實驗

為了驗證本文方法的有效性,本文分別利用單一膚色模型與混合膚色模型進行了手勢識別對于實驗,其中單一膚色模型采用YCbCr顏色空間下的膚色模型進行實驗,該實驗結果如圖11所示。

圖11 單一膚色模型

混合膚色模型損失值與準確率曲線分別如圖12和圖13所示。

圖12 準確率曲線

圖13 損失值曲線

從圖11、圖12和圖13所示,混合膚色模型與單一膚色模型相比穩定性更強,損失值下降得更快,準確率也明顯提升;并且混合模型隨著迭代次數的增加,損失值與準確率趨于平穩,且損失值迅速下降,表明本文網絡結構設計較為合理。

為了進一步驗證本文方法準確率,分別在Marcel數據集上與其它算法進行性能比較,結果如表1所示。

其中文獻[16]并沒有進行手勢檢測,直接將原始圖像輸入2層CNN模型進行識別,原始圖像中存在的背景干擾信息導致其性能較差;文文獻[17]采用Haar-Adaboost組合。

表1 與其它算法性能比較

特征進行手勢檢信息提取,并利用SVM完成手勢分類,但其特征描述無法適應數據集手勢多樣性與背景帶來的干擾;文獻[18]采用的單一顏色空間YCbCr下的的高膚色模型完成手勢信息的提取,因此準確率和穩定性較本文較差。

5.4 系統實驗

為了驗證本文系統可行性,通過手勢識別過程預定義“start”、“end”和“stop”等控制模式手勢,以UR5機器人為研究對象并對其編程令其到達5個指定位置,進而通過手勢直接引導機器人末端分別到達以上5個位置,表明其進入示教編程的5種不同階段,以證明本設計框架的合理性。首先在Kinect傳感器作用范圍內執行手勢“start”以進入示教模式,在此模式下按下UR5配套的CB3機器手控制器頂部鎖定按鈕,并拖拽機器人到某一指定位置后,執行另一手勢作為該位置的標志,表明此位置將用該標志手勢進行引導,完成對該位置的編碼,再回到起點“start”重復以上動作完成所有位置的編碼;其次執行手勢“execute”進入執行模式,通過執行編碼手勢完成機器人末端到達相應位置;并且在所有情況下通過執行“stop”手勢來緊急停止機器人,模擬在示教過程中的一些突發情況;整個過程結束時通過“end”手勢關閉整個系統,表明任務求教過程的安全結束。

實驗結果表明,手勢識別率可達96.49%,響應時間均不高于1s,表明該RPD可以易于使用且并不需要專業的編程知識,一定程度降低了機器人使用門檻。

6 結束語

本文通過改進膚色模型完成手勢信息的提取,并結合改進后的LeNet5網絡完成手勢識別,極大地提高了基于膚色分割的手勢提取性能;并將該算法應用于機器人示教系統,降低了示教編程的技術門檻同時提高了RPD系統的易用性,基于ROS完成設計保證該系統具有良好的可移植性。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产女人18水真多毛片18精品 | 成AV人片一区二区三区久久| 亚洲AV无码乱码在线观看代蜜桃| 综合网久久| 国产精品成人一区二区| 亚洲一区网站| 日韩福利视频导航| 无码视频国产精品一区二区| 亚洲天堂网在线播放| 午夜无码一区二区三区| 亚洲天堂伊人| 欧美成人午夜视频免看| 亚洲男人天堂2018| 麻豆国产在线不卡一区二区| 国产日韩欧美一区二区三区在线| 国产高清在线丝袜精品一区| 国产拍揄自揄精品视频网站| 亚洲天堂久久久| 久久久久夜色精品波多野结衣| 99一级毛片| 亚洲综合第一区| 一级一毛片a级毛片| 亚洲妓女综合网995久久| 婷婷色狠狠干| 免费精品一区二区h| 日韩欧美国产另类| 精品久久久久久中文字幕女| 亚洲国产日韩欧美在线| 中文字幕 91| 成人看片欧美一区二区| 在线视频精品一区| 午夜啪啪网| 欧美成人综合视频| 就去吻亚洲精品国产欧美| 99久久成人国产精品免费| 91年精品国产福利线观看久久| 极品尤物av美乳在线观看| 69av在线| 国产一区三区二区中文在线| 亚洲视频一区在线| 91亚洲国产视频| 久久精品只有这里有| 国产免费久久精品44| 久久综合色播五月男人的天堂| 亚洲狼网站狼狼鲁亚洲下载| 免费国产高清视频| 国产精品尤物在线| 日韩欧美国产精品| 国产国产人成免费视频77777 | 日韩乱码免费一区二区三区| 香蕉视频在线观看www| 欧美午夜在线播放| 亚洲黄色视频在线观看一区| 久久久国产精品无码专区| 午夜丁香婷婷| 亚洲国产天堂久久综合226114| 成人第一页| 日本影院一区| 99无码中文字幕视频| 99r在线精品视频在线播放| 久久99国产综合精品1| 欧美激情第一区| 亚洲欧美成人在线视频| 69视频国产| 久久久久青草大香线综合精品 | 看国产一级毛片| 国产亚洲欧美日韩在线观看一区二区 | 亚洲日韩久久综合中文字幕| 中日无码在线观看| 亚洲天堂精品视频| 欧美一区二区三区香蕉视| 亚洲三级成人| 久久人妻xunleige无码| 日本久久久久久免费网络| 久久成人18免费| 99精品一区二区免费视频| 人妻精品久久无码区| 国产精品天干天干在线观看| 午夜丁香婷婷| 亚洲欧美日韩中文字幕在线一区| 亚洲无码A视频在线| 99人妻碰碰碰久久久久禁片|