鄭奕捷,李翠玉,鄭祖芳
(湖北工業大學工業設計學院,湖北 武漢 430070)
隨著信息技術以及各種人機交互技術的快速發展,服務機器人由此誕生。通過不斷實踐積累以及突破,大量服務機器人逐漸融入人類的生活和工作中。人機交互是服務機器人的關鍵技術,而手勢辨識是機器人實現友好且人性化交互的重要前提。手勢辨識可以解讀手、臂姿態或者其運動所包含的交互意義,進而實現人和機器人之間的交流。手勢辨識涉及到了多個學科,且手勢復雜多變,給手勢識別帶來了一定的難度[1]。在實際中,人類可以快速理解不同的手勢,但是讓機器人設備理解手勢卻是十分困難的[2]。同時,由于手勢受到時序數據以及狀態變化等多方面因素的影響,導致服務機器人交互手勢辨識難度增加。國內相關專家對服務機器人交互手勢辨識展開了大量研究,例如文獻[3]優先對采集到的手勢圖像預處理,將機器學習中自組織神經網絡作為分類器完成人機交互手勢識別。文獻[4]利用Kinect采集圖像,提取人體輪廓特征,采用深度閾值對手部區域展開二維圖像重建,同時確定掌心圓,根據圓的邊界和手指相交次數完成手勢識別。文獻[5]對YOLOV4網絡模型進行改進,利用改進后的模型提取完整的手勢特征,采用K-means完成手勢識別。在上述幾種服務機器人交互手勢辨識方法的基礎上,結合RNN循環神經網絡,提出一種基于RNN循環神經網絡的服務機器人交互手勢辨識方法。
通過Kinect可以將每一幀深度圖像數據中全部記錄下來,設定圖像像素默認設置為640×640。在上述情況下,設備每秒形成的數據可以達到幾十兆,而在實際中,對大規模數據處理是十分困難的。為了完成更加高效的服務機器人交互手勢辨識,通過對Kinect捕獲的服務機器人深度圖像展開分析計算,確定重要關節點的位置,進而形成人體骨架。
通過骨骼追蹤系統可以實時掌握操作者和服務機器人的關節信息和運動軌跡;由于不同操作者的身高和體型完全不同,進而導致獲取的特征提取結果存在比較明顯的差異。
為了有效消除這種差異所帶來的負面影響,以各個關節之間的角度作為依據完成特征提取。優先通過手部節點和肘部節點的連線和對應坐標軸的夾角,將兩者節點連接形成的向量Uhandelb表示為式(1)的形式:
式中:handx、handy、handz—手部節點的三維坐標取值;elbowx、elbowy、elbowz—肘部節點在三維坐標系對下的三維坐標值。
手部和肘部節點向量對應的長度Rhandelb計算公式為:
通過兩點在z軸上的分量和兩點形成的向量計算夾角τhand,則其計算式如下:
(2)通過式(4)計算手部節點和肩膀節點形成的向量Uelbshou,利用式(5)計算向量的長度Relbshou;根據肘部和肩部節點在z軸的向量計算夾角τelbshou,具體式(6)所示:
式中:shoulderx、shouldery和shoulderz—肩膀節點的三維坐標值。
結合上述得到重要關節點后,以關節點作為依據,提取服務機器人交互手勢特征[6-7],詳細的服務機器人交互手勢特征提取流程圖,如圖1所示。

圖1 服務機器人交互手勢特征提取流程圖Fig.1 Flow Chart of Interactive Gesture Feature Extraction of Service Robot
RNN循環神經網絡是一種傳統的前饋神經網絡,是一種環形網絡結構,同時其內部的各個神經元之間也可以完成消息傳遞,并且能夠將全部網絡輸入存儲到對應的服務器內,同時也方便后續操作提供參考依據。RNN不僅可以獲取精準的交互手勢辨識結果,同時還可以完成全部數據的映射操作,將其存儲到對應的輸出神經元內,RNN循環神經網絡結構圖,如圖2所示。

圖2 RNN循環神經網絡結構圖Fig.2 Structure of RNN Recurrent Neural Network
RNN循環神經網絡對應的數學模型H(t)為:
式中:ψ(a,b)—網絡輸入層的輸入向量;Um,n—RNN 循環神經網絡的正確辨識概率期望;h(t)—網絡節點概率值。
經過上述分析,通過最小歸一法對RNN循環神經網絡映射的樣本展開預處理[8-9],對應的表達式如下:
式中:x—原始服務機器人交互手勢數據;r—經過歸一化處理后的服務機器人交互手勢數據;rmax、rmin—歸一化處理后數據的最大值和最小值。
全部數據的訓練是通過最小歸一法處理以后,有效保留最大值、最小值以及平均值,將其應用于后后續的交互手勢辨識辨識過程中去。通過式(9)給出RNN循環神經網絡隱藏層的輸入和輸出數據:
以上述提取的服務機器人交互手勢特征為基礎,構建手勢模板Pout(s),對應的表達式如下:
通過RNN循環神經網絡對手勢模板展開學習操作,詳細的操作步驟如下所示:
(1)搭建多層RNN循環神經網絡,在設定時間范圍內計算網絡輸出層的殘差值Ct(s),同時將其作為下一時間段接收殘差值的重要依據,對應的計算式如下:
(2)對RNN循環神經網絡內全部參數初始化處理。參數主要包含網絡內節點總數、最大迭代次數以及最小目標差等。其中,網絡節點集合G(s)可以表示為式(13)的形式:
(3)通過搭建好的手勢模板,提取不同類型服務機器人交互手勢運動軌跡的特征向量,對應的向量集合H(e),如式(14)所示。
將提取到的全部服務機器人交互手勢運動軌跡的特征向量[10]直接輸入到RNN循環神經網絡中,將其作為網絡的輸入層。
(4)對網絡展開訓練操作,確保誤差下降至最低,同時達到設定的迭代次數,則停止迭代。
(5)停止手勢模板展開學習,同時對網絡展開測試,最終直接輸出手勢模板學習結果。
在完成手勢模板的學習處理后,以學習結果為依據,建立服務機器人交互手勢辨識模型B(n),對應的表達式如下:
將提取到的全部服務機器人交互手勢特征輸入到構建的服務機器人交互手勢辨識模型中,輸出最終的手勢辨識結果。
為了驗證所提基于RNN循環神經網絡的服務機器人交互手勢辨識方法的有效性,在正常光照條件下采集人體手勢圖像,通過服務機器人對全部手勢展開辨識,設定圖像分辨率為(640×640)。
設計辨識4 種不同手勢的方案,每個手勢各采集圖片100張,共計400幅圖像,部分樣本圖像,如圖3所示。

圖3 部分樣本圖像Fig.3 Partial Sample Image
通過服務機器人對樣本圖像展開交互手勢辨識處理,不同方法的交互手勢采集結果對比分析,如圖4所示。

圖4 不同方法的交互手勢采集結果對比分析Fig.4 Comparison and Analysis of Interactive Gesture Acquisition Results by Different Methods
分析圖4 中的實驗數據可知,在手勢者做出相應的手勢以后,采用所提方法可以獲取更加完整的交互手勢圖像,說明該方法的數據采集精度高;而另外兩種方法只可以采集到部分手勢圖像,由此可見,所提方法具有良好的實用性和可靠性。
服務機器人交互手勢辨識結果,如表1所示。

表1 服務機器人交互手勢辨識結果Tab.1 Interactive Gesture Recognition Results of Service Robot
分析表1中的數據可知,與其他方法相比,所提方法能夠正確辨識服務機器人交互手勢,證明該方法的辨識精度更高。
為了驗證服務機器人交互手勢辨識效率,分別采取不同方法在不同測試環境下展開測試分析,分別列舉不同手勢下各個方法的辨識時間變化情況,不同方法的服務機器人交互手勢辨識平均時間測試結果對比,如表2所示。

表2 不同方法的服務機器人交互手勢辨識平均時間測試結果對比Tab.2 Comparison of Average Time Test Results of Interactive Gesture Recognition of Service Robots Using Different Methods
分析表2中的實驗數據可知,在不同手勢動作下,不同方法的服務機器人交互手勢辨識平均時間存在比較明顯的差異。相比另外兩種方法而言,采用所提方法可以以更快的速度完成手勢辨識任務,效率更高。
為了準確辨識不同類型的機器人交互手勢,結合RNN循環神經網絡,提出一種新的服務機器人交互手勢辨識方法。經實驗測試結果表明,采用所提方法可以精準辨識服務機器人交互手勢,同時可以有效提升縮短辨識時間。但是所提方法也存在不足,即采集到的圖像可能會出現重疊問題。在后續的工作過程中,可以考慮利用圖像深度信息或者其他圖像分割的方式解決圖像重疊問題,進而確保辨識率得到進一步提升。