聶艷明 林吳航 董佩杰 梁會(huì) 張志剛 鐘夢浩
摘要:NAO機(jī)器人是一款可編程人形機(jī)器人,集成攝像頭、麥克風(fēng)、觸碰、超聲波、紅外等多種傳感器,具備對外部環(huán)境進(jìn)行綜合感知和交互的能力。文章基于NAOqi API實(shí)現(xiàn)人臉圖像識(shí)別與簡單的觸覺感知,借助訊飛語音云和圖靈機(jī)器人進(jìn)行語音識(shí)別與理解,結(jié)合NAO機(jī)器人視覺、聽覺、觸覺等開發(fā)多種通道人機(jī)交互案例,為基于NAO機(jī)器人的多通道交互應(yīng)用研究奠定基礎(chǔ)。
關(guān)鍵詞:人機(jī)交互;NAO機(jī)器人;NAOqi API;多通道
中圖分類號(hào):R749.94;TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)04-0078-03
1 引言
人機(jī)交互是實(shí)現(xiàn)人與計(jì)算機(jī)對話的技術(shù)[1]。當(dāng)前多通道的人機(jī)交互已成為一種新興的人機(jī)交互方式。人機(jī)交互通道指的是人機(jī)交互的途徑。所謂多通道人機(jī)交互就是在單一通道交互方式的基礎(chǔ)上,發(fā)展融合視覺、觸覺、聽覺、語音和肢體行為的多種通道交互,使人機(jī)雙方都能得到及時(shí)的反饋[2]。
作為一種可編程人形機(jī)器人,NAO機(jī)器人(如圖1所示)集成攝像頭、麥克風(fēng)、觸碰、超聲波、紅外等多種傳感器,具備對外部環(huán)境進(jìn)行綜合感知和交互的能力。在自閉癥醫(yī)治、全身運(yùn)動(dòng)、多智能系統(tǒng)、自動(dòng)化、信號(hào)處理等領(lǐng)域具有廣泛的應(yīng)用[1][2]。
2 NAO機(jī)器人的人機(jī)交互通道
2.1 視覺
在NAO機(jī)器人頭部有兩個(gè)攝像頭,其分辨率都為640×480,圖像的有效像素為920萬,系統(tǒng)可提供30幀/秒的圖像幀率[6]。在NAO機(jī)器人的人機(jī)交互過程中,通過攝像頭采集視頻信息流,完成相應(yīng)處理[7]。
2.2 聽覺
NAO機(jī)器人內(nèi)安裝有四個(gè)麥克風(fēng),通過利用NAOqi中ALAudioRecorder模塊,實(shí)現(xiàn)NAO聽覺功能。NAO機(jī)器人自主生活時(shí),自身也可以進(jìn)行聲源的定位。
2.3 觸覺
NAO共提供了13個(gè)觸覺傳感器,其中頭頂三個(gè),左右手各三個(gè),左右腳各兩個(gè)。在與機(jī)器人交互過程中,通過傳感器捕捉觸覺刺激并進(jìn)行反饋,實(shí)現(xiàn)人機(jī)交互[9]。
3 基于NAO機(jī)器人的多種通道人機(jī)交互
3.1 視覺通道原理
NAO機(jī)器人提供了基礎(chǔ)的可供開發(fā)的視覺系統(tǒng),開發(fā)者可利用NAOqi或者OpenCV實(shí)現(xiàn)視覺通道的開發(fā)[3]。ALFaceDetection[8]是NAOqi中的一個(gè)視覺API模塊。利用該模塊,機(jī)器人可檢測并選擇識(shí)別面前的人臉。
在進(jìn)行人機(jī)交互時(shí),NAO將對捕捉到的人臉分情況處理:
(1)如果8秒時(shí)間內(nèi)多次檢測,發(fā)現(xiàn)不認(rèn)識(shí)該人臉,則發(fā)出newface事件來告知其他模塊有新面孔。接著打招呼并詢問人名。如果交互者回復(fù)姓名,將調(diào)用ALFaceDetection API記憶該人臉;(2)如果發(fā)現(xiàn)認(rèn)識(shí)該人臉,則發(fā)出hasface事件,并實(shí)時(shí)獲取當(dāng)前面孔;(3)如果發(fā)現(xiàn)認(rèn)識(shí)該人臉,且該交互者12小時(shí)內(nèi)首次出現(xiàn),則發(fā)出firstface事件來告知其他模塊。
每當(dāng)捕捉到人臉時(shí),都會(huì)配合其他通道工作,協(xié)助實(shí)現(xiàn)多通道實(shí)時(shí)交互。
3.2 聽覺通道原理
基于NAO機(jī)器人的語音交互通道主要基于訊飛語音云、圖靈機(jī)器人和NAO機(jī)器人共三個(gè)模塊協(xié)同實(shí)現(xiàn)。
訊飛語音云[4]是科大訊飛提供的一個(gè)智能語音交互平臺(tái)。利用訊飛云的語音聽寫模塊,可以將人說話的聲音信息轉(zhuǎn)換成相應(yīng)的字符串信息。訊飛云的語音識(shí)別的準(zhǔn)確率超過95%,這也使得NAO機(jī)器人的語音交互的準(zhǔn)確率得到了保證。
圖靈機(jī)器人是北京光年無限科技旗下的智能聊天機(jī)器人開放平臺(tái)。利用其功能接口,用戶可構(gòu)建自己的聊天機(jī)器人。將交互者語義字符串通過http請求傳給圖靈機(jī)器人,進(jìn)行語義處理,實(shí)現(xiàn)智能問答。圖靈機(jī)器人具有強(qiáng)大的語義與認(rèn)知計(jì)算技術(shù)能力,保證了交互者與NAO交互過程的準(zhǔn)確性、流暢性。
其中,F(xiàn)3、訊飛云將語音信息聽寫成文字信息,傳回NAO機(jī)器進(jìn)行初步處理;F4、NAO對文字信息進(jìn)行處理,過濾掉Python程序中定義的簡單關(guān)鍵字,并進(jìn)行相應(yīng)的簡單交互;其余部分傳給圖靈機(jī)器人;F5、圖靈機(jī)器人對文字進(jìn)行理解,產(chǎn)生智能反饋信息;F6、NAO語音播放語音反饋信息并配和其他通道進(jìn)行交互。
3.3 觸覺通道原理
NAO機(jī)器人擁有眾多觸覺傳感器,當(dāng)NAO檢測到觸摸時(shí),將在ALMemory[8]中讀取該值,產(chǎn)生相應(yīng)事件。通過利用NAOqi的ALTouch模塊,實(shí)時(shí)訂閱TouchChanged事件,實(shí)現(xiàn)對觸覺的捕捉。
3.3.1 案例設(shè)計(jì)
基于NAO機(jī)器人的多種通道人機(jī)交互案例采用Python開發(fā),運(yùn)行在NAO機(jī)器人內(nèi)部Linux系統(tǒng)上,具體交互流程如圖3所示。
NAO機(jī)器人的多通道交互體現(xiàn)在視覺、聽覺、觸覺、肢體運(yùn)動(dòng)、語音5個(gè)方面。
在視覺方面,當(dāng)發(fā)現(xiàn)一個(gè)新的面孔需要識(shí)別時(shí),如果此時(shí)處于空閑狀態(tài)則和人打招呼并詢問姓名;否則等到交互空閑時(shí)再進(jìn)行詢問;當(dāng)NAO發(fā)現(xiàn)此面孔已認(rèn)識(shí)且近期未與之交互,如果此時(shí)處于交互空閑狀態(tài)則進(jìn)行問候。
在聽覺方面,NAO本身的語音識(shí)別存在一定的缺陷,因此使用第三方訊飛云進(jìn)行語音識(shí)別。人類說話的時(shí)間是不定的,這就要求采集數(shù)據(jù)的時(shí)間也是可變的。通過檢測人語音活動(dòng)的開始與結(jié)束狀態(tài)來實(shí)現(xiàn)動(dòng)態(tài)地采集語音數(shù)據(jù)并臨時(shí)保存在內(nèi)存中。在使用訊飛云時(shí),需要預(yù)先加載訊飛云的庫文件。當(dāng)語音中有程序中內(nèi)設(shè)的動(dòng)作命令時(shí),則過濾并根據(jù)命令執(zhí)行動(dòng)作;當(dāng)語音中有自我介紹時(shí),如我是某某等,視覺系統(tǒng)會(huì)配合將此人的面孔記錄下來;當(dāng)過濾后,仍有未處理的語音信息,將此信息通過HTTP請求發(fā)送至圖靈機(jī)器人生成語音反饋信息。在這些交互的過程中,NAO會(huì)配和做出相應(yīng)肢體動(dòng)作。
在觸覺方面,通過對觸覺信息的采集和處理,做出相應(yīng)的反饋完成觸覺交互。
3.3.2 案例演示
為了更好地操縱NAO機(jī)器人,事先將Python程序移植到NAO內(nèi)部Linux操作系統(tǒng)中,并采用SSH命令遠(yuǎn)程控制NAO內(nèi)部Linux系統(tǒng)。
建立控制連接:機(jī)器人需要實(shí)時(shí)和互聯(lián)網(wǎng)進(jìn)行連接通信。一種最簡單的網(wǎng)絡(luò)連接方式是將NAO機(jī)器人和個(gè)人PC端同時(shí)連接到同一手機(jī)熱點(diǎn)上。
登錄Nao機(jī)器人的Linux操作系統(tǒng):使用軟件PieTTY(默認(rèn)端口是22,登錄名NAO,密碼NAO)。輸入shell命令python NAO.py運(yùn)行程序。
與NAO進(jìn)行交互:將NAO機(jī)器人放在地上,交互者半蹲在機(jī)器人面前,并距離機(jī)器人30厘米。交互者臉應(yīng)正對NAO機(jī)器人的攝像頭,使得NAO機(jī)器人能捕捉到交互者的人臉。
當(dāng)交互者和NAO進(jìn)行交互時(shí),NAO能捕捉交互者面孔。識(shí)別出交互者的面孔后,NAO會(huì)向交互者問好,并輔助做出表示友好的動(dòng)作。
交互者可以和NAO機(jī)器人隨機(jī)進(jìn)行一系列對話。如,交互者問NAO你餓嗎?NAO機(jī)器人識(shí)別出語音后,反饋回答道:我不餓,我不吃飯,只要給我充電就好了呢。
當(dāng)交互者用腳踢到了NAO機(jī)器人的腳部時(shí)候,NAO接收到刺激,進(jìn)行語音反饋。
當(dāng)嘗試讓NAO講個(gè)故事解悶時(shí),NAO會(huì)馬上給交互者念一段故事。NAO邊講故事,邊手勢輔助表達(dá)。
交互者也可以告訴NAO機(jī)器人自己的內(nèi)心感受。如交互者說:我生氣了。NAO會(huì)邊安慰交互者,邊做手勢輔助反饋。
交互者也可以控制NAO機(jī)器人的行為動(dòng)作。當(dāng)發(fā)出動(dòng)作指令后,并且NAO機(jī)器人識(shí)別語音成功后,便根據(jù)交互者指令完成相應(yīng)動(dòng)作。
4 結(jié)論語句
本文利用Python語言,進(jìn)行了基于NAO機(jī)器人多種通道的人機(jī)交互案例的研究與開發(fā),采用NAOqi API實(shí)現(xiàn)人臉圖像識(shí)別和簡單的觸覺感知,借助訊飛語音云模塊和圖靈機(jī)器人模塊進(jìn)行語音識(shí)別與語義理解,為課程《人機(jī)交互與可視化技術(shù)》提供案例,進(jìn)而為基于NAO機(jī)器人的多通道交互應(yīng)用研究奠定基礎(chǔ)。
實(shí)現(xiàn)基于NAO機(jī)器人的單個(gè)通道以及多種通道的交互相對簡單,而多通道交互中多個(gè)通道之間協(xié)作與數(shù)據(jù)融合、實(shí)時(shí)響應(yīng)、異常處理等卻非常具有挑戰(zhàn)性。另外,本文開發(fā)的基于NAO機(jī)器人的多種通道人機(jī)交互案例還存在語音識(shí)別不準(zhǔn)確、人臉識(shí)別不準(zhǔn)確等諸多不足。以上都將是基于NAO機(jī)器人的人機(jī)交互研究的重點(diǎn)。
參考文獻(xiàn)
[1]張婷.NAO機(jī)器人在自閉癥干預(yù)中的應(yīng)用[J].系統(tǒng)仿真技術(shù),2013,9(04):327-331+338.
[2]肖義涵.以NAO機(jī)器人為平臺(tái)的人機(jī)互動(dòng)技術(shù)研究[D].上海交通大學(xué),2014.
[3]SoftBank Robotics NAOqi API(http://doc.aldebaran.com/)
[4]科大訊飛語音云打造語音聲紋識(shí)別[J].中國信息安全, 2010(11):82.
[5]劉寶亮.圖靈機(jī)器人召開創(chuàng)新大會(huì)宣布平臺(tái)開發(fā)者突破23萬[N].中國經(jīng)濟(jì)導(dǎo)報(bào),2016-08-03.
[6]張生.NAO機(jī)器人的目標(biāo)識(shí)別與定位研究[D].安徽大學(xué),2013.
[7]類紅樂,魏忠恒,彭延軍.人臉識(shí)別機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2011,7(31):7756-7758.
[8]吳志霞,陳平.圖靈智能機(jī)器人在基于Android招生咨詢平臺(tái)的研究與應(yīng)用[J].通化師范學(xué)院學(xué)報(bào),2016,37(02):1-3.
[9]謝將劍,宋振宇,崔瑋辰,劉卿君,宋佳. 基于圖靈網(wǎng)的智能語音交流機(jī)器人設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2017,13(09):182-184.