一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法
【專利摘要】本發(fā)明公開了一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法,通過體感設(shè)備Kinect采集當(dāng)前環(huán)境中人體骨架關(guān)節(jié)點(diǎn)信息和語音信息,計(jì)算出骨架信息完整度和語音信息清晰度;如果骨架信息完整度大于等于骨架信息完整度閾值,則采用手勢(shì)識(shí)別來進(jìn)行機(jī)器人人工導(dǎo)航;如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度大于等于語音信息清晰度閾值,則采用語音識(shí)別來進(jìn)行機(jī)器人人工導(dǎo)航;如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度也小于語音信息清晰度閾值,則不輸出導(dǎo)航指令。本發(fā)明將手勢(shì)和語音結(jié)合起來應(yīng)用于機(jī)器人控制系統(tǒng)中,因此具有實(shí)用性強(qiáng)、準(zhǔn)確性高、實(shí)時(shí)性好的優(yōu)點(diǎn)。
【專利說明】一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種屬于機(jī)器人領(lǐng)域,具體是一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,人機(jī)交互逐漸從以計(jì)算機(jī)為中心轉(zhuǎn)移到以人為中心。手勢(shì)和語音作為人的日常交流方式,自然,直觀,清晰。因此手勢(shì)和語音成為了人機(jī)交互的主流,廣泛應(yīng)用于遠(yuǎn)程控制、虛擬現(xiàn)實(shí)、醫(yī)療診斷等領(lǐng)域。
[0003]近年來,各種各樣手勢(shì)識(shí)別和語音識(shí)別算法層出不窮,比較流行的用于手勢(shì)識(shí)別算法是DTW和HMM。但是DTW算法識(shí)別率較低,而HMM算法魯棒性較差。語音識(shí)別的算法需要用訓(xùn)練軟件來提高識(shí)別精度。單獨(dú)用手勢(shì)識(shí)別算法時(shí),算法識(shí)別率會(huì)受到光照、復(fù)雜背景和骨架信息完整度的影響;單獨(dú)使用語音識(shí)別時(shí),會(huì)受到語音清晰度的影響。
[0004]分析目前的識(shí)別方法中,單純使用手勢(shì)識(shí)別的方法性能容易受到光照、復(fù)雜背景和骨架信息完整度的影響;單純使用語音識(shí)別的方法是容易受到語音清晰度的影響,因此需要提供一種新的方法來解決上述問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種實(shí)用性強(qiáng)、準(zhǔn)確性高、實(shí)時(shí)性好的基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法。本發(fā)明所述的機(jī)器人人工導(dǎo)航是指控制機(jī)器人的人員不需攜帶任何和機(jī)器人進(jìn)行通訊的設(shè)備,直接依靠手勢(shì)或語音指揮機(jī)器人的行進(jìn)方向。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法,該方法的具體步驟為:
(1)通過體感設(shè)備Kinect采集當(dāng)前環(huán)境中人體骨架關(guān)節(jié)點(diǎn)信息和語音信息,計(jì)算出骨架信息完整度和語音信息清晰度;
(1.0如果骨架信息完整度大于等于骨架信息完整度閾值,則轉(zhuǎn)到步驟(2);
(1.2)如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度大于等于語音信息清晰度閾值,則轉(zhuǎn)到步驟(3);
(1.3)如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度也小于語音信息清晰度閾值,則判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟
(I);
(2)手勢(shì)識(shí)別:
(2.1)定義九種不同的手勢(shì)指令,九種手勢(shì)指令分別為向右、向后、向左、向前、右前、右后、左后、左前和停止,且每種手勢(shì)指令對(duì)應(yīng)著一種向量,得到九個(gè)不同的向量叫,i=[l,9];如圖4和圖5所示,其中:向右對(duì)應(yīng)向量Ii1,向后對(duì)應(yīng)向量n2,向左對(duì)應(yīng)向量n3,向前對(duì)應(yīng)向量n4,右前對(duì)應(yīng)向量n5,右后對(duì)應(yīng)向量n6,左后對(duì)應(yīng)向量n7,左前對(duì)應(yīng)向量n8,停止對(duì)應(yīng)向量n9 ;(2.2)選取右臂的右肘Pct和右腕P?作為手勢(shì)識(shí)別的兩個(gè)關(guān)節(jié)點(diǎn);將以右肘Pot為起點(diǎn),且以右腕Pm為終點(diǎn)的向量I作為特征向量來識(shí)別各種手勢(shì)指令;
(2.3)計(jì)算向量11?與步驟(2.1)中向量Iii的夾角Θ,并找出最小夾角0min;
(2.4)比較Qmin與手勢(shì)置信度閾值Te的值,當(dāng)QminSTe時(shí),手勢(shì)識(shí)別失敗,進(jìn)入步驟
(3);否則識(shí)別成功,輸出Qmin對(duì)應(yīng)的手勢(shì)向量所對(duì)應(yīng)的手勢(shì)指令,接下來判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(1);
(3)語音識(shí)別:
(3.1)建立語音識(shí)別引擎對(duì)象,將控制機(jī)器人運(yùn)動(dòng)的九個(gè)指令加到該對(duì)象的語法中,Grammar= { “forward”,“back”,“l(fā)eft”,“right”,“northeast”,“southeast,,,“southwest”, “southnorth”, “stop”}; (3.2)從體感設(shè)備Kinect的傳感器獲取原始音頻數(shù)據(jù)流,通過降噪、自動(dòng)增益控制和回聲消除提高音頻質(zhì)量;
(3.3)語音識(shí)別引擎對(duì)象接受步驟(3.2)處理過的音頻數(shù)據(jù)流,并與其語音庫進(jìn)行匹配,解析出文本結(jié)果;
(3.4)計(jì)算解析出的文本結(jié)果與語法中每個(gè)詞的語音置信度的值C,并取出最大語音置信度的值Cmax ;
(3.5)令語音置信度閾值為Ts,當(dāng)Cmax≤Ts時(shí),識(shí)別成功,算法輸出Cmax對(duì)應(yīng)的語音指令;否則識(shí)別失敗,不輸出行走指令;
(3.6)判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(1)。
[0007]作為本發(fā)明進(jìn)一步的方案:步驟(1)當(dāng)前環(huán)境中只有一個(gè)目標(biāo)人發(fā)出手勢(shì)或者語首指令。
[0008]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明由于是用體感設(shè)備Kinect設(shè)備獲取骨架信息和語音信息,骨架信息是通過深度圖像獲得的,所以可以克服光照變化、復(fù)雜背景的影響;而語音信息只受外部環(huán)境噪雜度的影響。本發(fā)明集合了這兩部分識(shí)別算法的優(yōu)點(diǎn),也克服了單獨(dú)使用這兩種算法的不足。比如說,當(dāng)人不在體感設(shè)備Kinect視域內(nèi)時(shí),可以用語音控制機(jī)器人的運(yùn)動(dòng)。當(dāng)現(xiàn)場(chǎng)環(huán)境很吵時(shí),體感設(shè)備Kinect的麥克風(fēng)陣列可能接收不到有用的音頻信號(hào),語音控制將大打折扣,此時(shí)采用手勢(shì)來控制機(jī)器人運(yùn)動(dòng),這樣就很好的避免了單一算法的局限性,很好的解決了骨架信息不完整或語音信息不完整的問題。因此,本發(fā)明具有實(shí)用性強(qiáng)、準(zhǔn)確性高、實(shí)時(shí)性好的優(yōu)點(diǎn)。
【專利附圖】
【附圖說明】
[0009]圖1是人體骨骼中的20個(gè)關(guān)節(jié)點(diǎn)圖;
圖2是體感設(shè)備Kinect的骨架空間坐標(biāo)系;
圖3是本發(fā)明算法的整個(gè)識(shí)別系統(tǒng)框圖;
圖4是Kinect坐標(biāo)系的XOZ平面中手勢(shì)指令與向量的對(duì)應(yīng)關(guān)系;
圖5是Kinect坐標(biāo)系的XOY平面中手勢(shì)指令與向量的對(duì)應(yīng)關(guān)系;
圖6是手勢(shì)置信度閾值Te與識(shí)別成功次數(shù)的關(guān)系圖;
圖7是語音置信度閾值Ts與識(shí)別成功次數(shù)的關(guān)系圖;
圖8是骨架彳目息例?!揪唧w實(shí)施方式】
[0010]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0011]請(qǐng)參閱圖3,一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法,該方法的具體步驟為:
(1)當(dāng)前環(huán)境中只有一個(gè)目標(biāo)人發(fā)出手勢(shì)或者語音指令時(shí),通過體感設(shè)備Kinect采集當(dāng)前環(huán)境中人體骨架關(guān)節(jié)點(diǎn)信息(如圖8所示)和語音信息,計(jì)算出骨架信息完整度和語音信息清晰度;
(1.0如果骨架信息完整度大于等于骨架信息完整度閾值,則轉(zhuǎn)到步驟(2);
(1.2)如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度大于等于語音信息清晰度閾值,則轉(zhuǎn)到步驟(3);
(1.3)如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度也小于語音信息清晰度閾值,則判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟
(I);
(2)手勢(shì)識(shí)別:
(2.1)定義九種不同的手勢(shì)指令,九種手勢(shì)指令分別為向右、向后、向左、向前、右前、右后、左后、左前和停止,且每種手勢(shì)指令對(duì)應(yīng)著一種向量,得到九個(gè)不同的向量叫,i=[l,9];如圖4和圖5所示,其中:向右對(duì)應(yīng)向量Ii1,向后對(duì)應(yīng)向量n2,向左對(duì)應(yīng)向量n3,向前對(duì)應(yīng)向量n4,右前對(duì)應(yīng)向量n5,右后對(duì)應(yīng)向量n6,左后對(duì)應(yīng)向量n7,左前對(duì)應(yīng)向量n8,停止對(duì)應(yīng)向量n9 ;
(2.2)選取右臂的右肘Pct和右腕Pm作為手勢(shì)識(shí)別的兩個(gè)關(guān)節(jié)點(diǎn)(如圖1所示);將以右肘Pct為起點(diǎn),且以右腕P?為終點(diǎn)的向量nev作為特征向量來識(shí)別各種手勢(shì)指令(如圖2所示);
(2.3)計(jì)算向量new與步驟(2.1)中九個(gè)向量Iii的夾角Θ,并找出最小夾角Θ min ;最小夾角^min對(duì)應(yīng)的向量Ii1 ;
(2.4)比較Qmin與手勢(shì)置信度閾值Te的值,當(dāng)QminSTe時(shí),手勢(shì)識(shí)別失敗,進(jìn)入步驟
(3);否則識(shí)別成功,輸出Qmin對(duì)應(yīng)的手勢(shì)向量所對(duì)應(yīng)的手勢(shì)指令,接下來判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(1);所述手勢(shì)置信度閾值Te根據(jù)敏感度實(shí)驗(yàn)確定,實(shí)驗(yàn)在普通人工手勢(shì)的數(shù)據(jù)集合上進(jìn)行;Te從2取到22,每一個(gè)Te測(cè)試100個(gè)識(shí)別樣本,最后得到Te與識(shí)別成功率關(guān)系圖,如圖6所示,橫軸代表Te值,縱軸代表識(shí)別成功次數(shù);由圖6可知,置信度閾值Te為 18時(shí)識(shí)別率最高,達(dá)到100% ;所以設(shè)定Te=18 ;
(3)語音識(shí)別:
(3.1)建立語音識(shí)別引擎對(duì)象,將控制機(jī)器人運(yùn)動(dòng)的九個(gè)指令加到該對(duì)象的語法中,Grammar= { “forward”,“back”,“l(fā)eft”,“right”,“northeast”,“southeast,,,“southwest”, “southnorth”, “stop”};
(3.2)從體感設(shè)備Kinect的傳感器獲取原始音頻數(shù)據(jù)流,通過降噪、自動(dòng)增益控制和回聲消除提高音頻質(zhì)量;
(3.3)語音識(shí)別引擎對(duì)象接受步驟(3.2)處理過的音頻數(shù)據(jù)流,并與其語音庫進(jìn)行匹配,解析出文本結(jié)果;
(3.4)計(jì)算解析出的文本結(jié)果與語法中每個(gè)詞的語音置信度的值C,并取出最大語音置信度的值Cmax ;
(3.5)令語音置信度閾值為Ts,當(dāng)Cmax≥Ts時(shí),識(shí)別成功,算法輸出Cmax對(duì)應(yīng)的語音指令;否則識(shí)別失敗,不輸出行走指令;所述語音置信度閾值為Ts,根據(jù)敏感度實(shí)驗(yàn)確定,實(shí)驗(yàn)在語音質(zhì)量良好的數(shù)據(jù)集合上進(jìn)行;TS從0.1取到0.9,每一個(gè)Ts測(cè)試100個(gè)識(shí)別樣本,最后得到Ts與識(shí)別成功率關(guān)系圖,如圖7所示,橫軸代表Ts值,縱軸代表識(shí)別成功次數(shù);由圖7可知,置信度閾值Ts為0.8時(shí)識(shí)別率最高,達(dá)到98% ;所以設(shè)定Ts=0.8。
[0012](3.6)判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(1)。
[0013]本發(fā)明將手勢(shì)和語音結(jié)合起來應(yīng)用于機(jī)器人控制系統(tǒng)中,手勢(shì)部分應(yīng)用深度圖像獲取骨架信息,可以克服光照和復(fù)雜背景的干擾。同時(shí)算法計(jì)算的是向量之間的夾角,所以與向量的長短無關(guān),即與人的骨骼長短無關(guān)??梢赃m合不同體格的人控制機(jī)器人運(yùn)動(dòng)。語音識(shí)別部分不同于一般的識(shí)別算法,它不需要訓(xùn)練集來提高他的識(shí)別精度,只需要設(shè)定語法環(huán)境和相關(guān)的置信度就可以了,不同的人不同的聲音都可以進(jìn)行識(shí)別。本發(fā)明集合了這兩部分識(shí)別算法的優(yōu)點(diǎn),也克服了單獨(dú)使用這兩種算法的不足。相比于其他單一算法降低了計(jì)算復(fù)雜度,提高了算法的魯棒性,使機(jī)器人人工導(dǎo)航中人機(jī)交互更簡單,清晰,自然。在機(jī)器人領(lǐng)域具有重大意義。因此,本發(fā)明具有實(shí)用性強(qiáng)、準(zhǔn)確性高、實(shí)時(shí)性好的優(yōu)點(diǎn)。
[0014]對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。
[0015]此外,應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。
【權(quán)利要求】
1.一種基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法,其特征在于,該方法的具體步驟為: (1)通過體感設(shè)備Kinect采集當(dāng)前環(huán)境中人體骨架關(guān)節(jié)點(diǎn)信息和語音信息,計(jì)算出骨架信息完整度和語音信息清晰度; (1.0如果骨架信息完整度大于等于骨架信息完整度閾值,則轉(zhuǎn)到步驟(2); (1.2)如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度大于等于語音信息清晰度閾值,則轉(zhuǎn)到步驟(3); (1.3)如果骨架信息完整度小于骨架信息完整度閾值,且語音信息清晰度也小于語音信息清晰度閾值,則判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(I); (2)手勢(shì)識(shí)別: (2.1)定義九種不同的手勢(shì)指令,九種手勢(shì)指令分別為向右、向后、向左、向前、右前、右后、左后、左前和停止,且每種手勢(shì)指令對(duì)應(yīng)著一種向量,得到九個(gè)不同的向量叫,i=[l,9];如圖4和圖5所示,其中:向右對(duì)應(yīng)向量Ii1,向后對(duì)應(yīng)向量n2,向左對(duì)應(yīng)向量n3,向前對(duì)應(yīng)向量n4,右前對(duì)應(yīng)向量n5,右后對(duì)應(yīng)向量n6,左后對(duì)應(yīng)向量n7,左前對(duì)應(yīng)向量n8,停止對(duì)應(yīng)向量n9 ; (2.2)選取右臂的右肘Pct和右腕P?作為手勢(shì)識(shí)別的兩個(gè)關(guān)節(jié)點(diǎn);將以右肘Pot為起點(diǎn),且以右腕Pm為終點(diǎn)的向量I作為特征向量來識(shí)別各種手勢(shì)指令; (2.3)計(jì)算向量11?與步驟(2.1)中向量Iii的夾角Θ,并找出最小夾角0min; (2.4)比較Qmin與手勢(shì)置信度閾值Te的值,當(dāng)QminSTe時(shí),手勢(shì)識(shí)別失敗,進(jìn)入步驟(3);否則識(shí)別成功,輸出Qmin對(duì)應(yīng)的手勢(shì)向量所對(duì)應(yīng)的手勢(shì)指令,接下來判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(1); (3)語音識(shí)別: (3.1)建立語音識(shí)別引擎對(duì)象,將控制機(jī)器人運(yùn)動(dòng)的九個(gè)指令加到該對(duì)象的語法中,Grammar= { “forward”,“back”,“l(fā)eft”,“right”,“northeast”,“southeast,,,“southwest”, “southnorth”, “stop”}; (3.2)從體感設(shè)備Kinect的傳感器獲取原始音頻數(shù)據(jù)流,通過降噪、自動(dòng)增益控制和回聲消除提高音頻質(zhì)量; (3.3)語音識(shí)別引擎對(duì)象接受步驟(3.2)處理過的音頻數(shù)據(jù)流,并與其語音庫進(jìn)行匹配,解析出文本結(jié)果; (3.4)計(jì)算解析出的文本結(jié)果與語法中每個(gè)詞的語音置信度的值C,并取出最大語音置信度的值Cmax ; (3.5)令語音置信度閾值為Ts,當(dāng)Cmax≥Ts時(shí),識(shí)別成功,算法輸出Cmax對(duì)應(yīng)的語音指令;否則識(shí)別失敗,不輸出行走指令; (3.6)判斷程序是否結(jié)束,如果是,則程序結(jié)束,如果否,則程序回到步驟(1)。
2.根據(jù)權(quán)利要求1所述的基于單人手勢(shì)和語音信息的機(jī)器人人工導(dǎo)航方法,其特征在于,步驟(1)當(dāng)前環(huán)境中只有一個(gè)目標(biāo)人發(fā)出手勢(shì)或者語音指令。
【文檔編號(hào)】G10L15/26GK103885585SQ201410057451
【公開日】2014年6月25日 申請(qǐng)日期:2014年2月20日 優(yōu)先權(quán)日:2014年2月20日
【發(fā)明者】黃桂德, 蔣旻, 雷澤, 杜沛力 申請(qǐng)人:深圳市貝特爾機(jī)電有限公司, 武漢科技大學(xué)