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

圖1 服務(wù)機(jī)器人交互手勢特征提取流程圖Fig.1 Flow Chart of Interactive Gesture Feature Extraction of Service Robot
RNN循環(huán)神經(jīng)網(wǎng)絡(luò)是一種傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò),是一種環(huán)形網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)其內(nèi)部的各個(gè)神經(jīng)元之間也可以完成消息傳遞,并且能夠?qū)⑷烤W(wǎng)絡(luò)輸入存儲(chǔ)到對應(yīng)的服務(wù)器內(nèi),同時(shí)也方便后續(xù)操作提供參考依據(jù)。RNN不僅可以獲取精準(zhǔn)的交互手勢辨識(shí)結(jié)果,同時(shí)還可以完成全部數(shù)據(jù)的映射操作,將其存儲(chǔ)到對應(yīng)的輸出神經(jīng)元內(nèi),RNN循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖2所示。

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

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

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

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

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