趙彥,孫俊,時凱欣
(1.江蘇信息職業(yè)技術(shù)學(xué)院物聯(lián)網(wǎng)工程學(xué)院,江蘇無錫214153;2.江南大學(xué)人工智能與模式識別國際聯(lián)合實驗室,江蘇無錫214122;3.北京郵電大學(xué)國際學(xué)院,北京100876)
伴隨著老齡化趨勢的加劇,中國將成為超老年型國家,養(yǎng)老院、療養(yǎng)院、護理院一床難求,人工智能養(yǎng)老機器人有助于解決當前社會的居家養(yǎng)老問題[1]。但是目前市場上的養(yǎng)老機器人存在如下缺點:僅能控制自家品牌的智能家居設(shè)備,在不知道各品牌控制協(xié)議的情況下,難以解決多品牌智能家居設(shè)備互不兼容的問題;欠缺老人語音語義識別、人形設(shè)計、心理溝通和情感交流;無法及時針對老人及其居家環(huán)境情況做出有效的智能控制;欠缺協(xié)助老人完成康復(fù)訓(xùn)練的功能。
為了彌補市場不足,解決居家養(yǎng)老問題,立足社會實際需要,在原生態(tài)機器人的基礎(chǔ)上研發(fā)了一款N-pod多品牌智能家居語音控制設(shè)備,通過深度卷積神經(jīng)網(wǎng)絡(luò)(deep convolution neural network,DCNN)完成老人語音識別,通過粒子群優(yōu)化(particle swarm optimization,PSO)智能算法對采集的老人及其居家環(huán)境信息實施分簇處理,形成語音控制多品牌智能家居設(shè)備的解決方案,實現(xiàn)千人千面的養(yǎng)老定制需求。其包括面向老人、智能家居、心理診斷、康復(fù)訓(xùn)練的管理部分和面向消費者、線下服務(wù)、老人家屬的Internet部分。使用Python的Tornado框架,實現(xiàn)信息交互,用Home Assistant框架進行多品牌智能家居設(shè)備的整合,組成N-pod本地服務(wù)器。經(jīng)過邊緣化計算,發(fā)送Http請求實現(xiàn)多品牌設(shè)備互聯(lián),通過采集環(huán)境信息控制所有主流品牌智能家居設(shè)備。本設(shè)計方案以獨到的全無線傳輸技術(shù),使用Home Assistant框架實現(xiàn)多品牌物聯(lián)網(wǎng)設(shè)備的自由添加組合[2-3],巧用深度卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)高性能的老人語音識別,利用粒子群優(yōu)化算法實現(xiàn)智能推理決策,形成N-pod多品牌智能家居語音控制設(shè)備。最終將該設(shè)備與原生機器人相結(jié)合,使其具有親人的機器人外觀和成熟的交互能力[4],能根據(jù)語音[5]和環(huán)境信息指標自動控制多品牌主流智能家居設(shè)備,具有廣闊的市場前景。
人工智能養(yǎng)老機器人是一個涉及面極廣的系統(tǒng)工程,該設(shè)備在原生態(tài)人形機器人設(shè)計架構(gòu)的基礎(chǔ)之上借助機器人原有的智能化和人性化特點,設(shè)計并研發(fā)了N-pod主機,實現(xiàn)對老人的看護、陪伴和康復(fù)治療。其整體框架結(jié)構(gòu)如圖1所示,包含N-pod智能家居控制系統(tǒng)、智能聊天系統(tǒng)、心理學(xué)咨詢問卷系統(tǒng)、室內(nèi)定位導(dǎo)航系統(tǒng)、老人康復(fù)訓(xùn)練系統(tǒng)5個部分。
圖1 人工智能養(yǎng)老機器人整體結(jié)構(gòu)框架圖Fig.1 Framework of the overall structure of artificial intelligence pension robot
N-pod智能家居控制系統(tǒng)為該設(shè)備的核心,在N-pod主機和機器人上架設(shè)Web服務(wù)器,實現(xiàn)數(shù)據(jù)的交互。通過Http請求獲取所有品牌智能家居設(shè)備的信息,N-pod主機對智能家居設(shè)備進行統(tǒng)一控制。該設(shè)備將根據(jù)老人日常行為要求、語言特征、生活習(xí)慣,在云端構(gòu)建養(yǎng)老機器人資源知識庫,針對特殊老人進行模塊相似匹配搜索和模塊組合約束檢測,從而配置出滿足特有老人需求的定制設(shè)備。設(shè)備運行實施框架如圖2所示。
圖2 設(shè)備運行實施框架Fig.2 Implementation framework of equipment operation
N-pod主機的設(shè)計由上位機、人形機器人、中間路由器、終端傳感器及控制器構(gòu)成,分為交互應(yīng)用層、網(wǎng)絡(luò)層、感知控制層3部分[6]。交互應(yīng)用層[7]主要由人形機器人來展示,用戶語音發(fā)出指令,機器人識別用戶語音指令完成對智能設(shè)備的控制。網(wǎng)絡(luò)層[8]的功能由WiFi路由器來實現(xiàn),所有設(shè)備均可以通過WiFi的方式傳輸數(shù)據(jù)。物聯(lián)網(wǎng)感知控制層[9]的功能由終端節(jié)點實現(xiàn),用于采集信息和控制設(shè)備,采集的信息主要包括門磁、環(huán)境溫濕度、圖像等。控制器主要包括紅外發(fā)射器、智能插座以及其他WiFi可控制的智能設(shè)備,通過紅外控制器控制電視機、空調(diào)等可以紅外控制的設(shè)備,智能插座控制飲水機的加熱開關(guān)等。人形機器人自身攜帶Pad面板,實現(xiàn)圖像、文字的智能交互,并結(jié)合優(yōu)美的動作達到親人效果。
圖3為N-pod系統(tǒng)的拓撲圖,圖4為系統(tǒng)硬件拓撲圖。
圖3 N-pod智能家居控制系統(tǒng)的拓撲架構(gòu)組成圖Fig.3 Topology architecture diagram of N-pod smart home control system
圖4 N-pod語音控制多品牌家居設(shè)備養(yǎng)老機器人硬件拓撲架構(gòu)Fig.4 Hardware topology architecture of N-pod voice control multi-brand home equipment pension robot
本設(shè)備選用的原生機器人尺寸為1 210 mm(高)×425 mm(深)×485 mm(寬),重28 kg,電池是鋰電池,容量30.0 A·h/795 W·h。該機器人擁有4個麥克風(fēng),可以用于定位和接收聲音來源。在機器人的額頭和嘴部配有兩臺2D相機,右眼的3D紅外激光相機通過探測激光來測算距離,左眼為檢測紅外反射的接收器。頭部、手部及手背為觸摸敏感區(qū),腳輪含有3個減震器,3個水平激光器可探測高度超過3 cm的物體,2個垂直激光器和1個水平鏟式激光器可探測不平整地面及低于3 cm的障礙物。
N-pod智能家居控制系統(tǒng)有別于其他智能家居控制網(wǎng)關(guān),除了能夠打通各品牌智能家居設(shè)備的壁壘,實現(xiàn)設(shè)備兼容之外,還在于N-pod利用人工智能技術(shù)實現(xiàn)了數(shù)據(jù)閉環(huán)式管理算法,如圖5所示。
圖5 N-pod智能家居控制系統(tǒng)的數(shù)據(jù)閉環(huán)式管理算法Fig.5 Data closed-loop management algorithm of N-pod smart home control system
算法執(zhí)行步驟如下:
步驟1:智能信息采集。通過智能物聯(lián)網(wǎng)終端設(shè)備和智能穿戴設(shè)備,完成對老人身體素質(zhì)指標、心理素質(zhì)指標的采集。
步驟2:智能語音識別。采集老人語音信息,通過深度卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)老人語音語義識別。該步驟的具體實現(xiàn)方法將在2.3節(jié)詳細講述。
步驟3:智能推理決策。將老人語音識別結(jié)果以及采集的環(huán)境信息作為大數(shù)據(jù)分析的備用數(shù)據(jù),使用粒子群優(yōu)化算法對備用數(shù)據(jù)實施智能分簇處理,完成智能推理,形成最終結(jié)論和控制策略。該步驟的具體實現(xiàn)方法將在2.4節(jié)詳細講述。
步驟4:實施智能控制。根據(jù)步驟3形成的控制策略完成對具體智能終端設(shè)備的控制,滿足千人千面的老人定制需求。在該步驟中,需使用Home Assistant框架配置多品牌智能家居設(shè)備,使用Python的Tornado框架,實現(xiàn)控制指令的信息交互。智能控制方案將再次累積到?jīng)Q策信息表中,為后期能夠提供快速決策做強有力的支撐。
在數(shù)據(jù)閉環(huán)式管理的解決方案中,數(shù)據(jù)的輸入和輸出均為老人,即人工智能養(yǎng)老機器人的服務(wù)對象。N-pod智能家居控制系統(tǒng)不斷地實施數(shù)據(jù)采集、語音識別、推理決策、智能控制,可對服務(wù)的老人進行不間斷的閉環(huán)式學(xué)習(xí),從而能構(gòu)建出符合具體老人特點的養(yǎng)老機器人的服務(wù)內(nèi)容和陪護方式。通過深度卷積神經(jīng)網(wǎng)絡(luò)和粒子群優(yōu)化智能算法,讓整款人工智能養(yǎng)老機器人設(shè)備更熟悉、更了解消費者,并針對該消費者的具體情況完成智能控制,制定相應(yīng)的陪護方式、訓(xùn)練方案、心理治療方案、營養(yǎng)食譜等,從而實現(xiàn)千人千面的用戶需求。
深度卷積神經(jīng)網(wǎng)絡(luò)為多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包含輸入層、卷積層、激活函數(shù)、池化層、全連接層和輸出層,憑借其數(shù)據(jù)平移不變性、適用于復(fù)雜網(wǎng)絡(luò)、便于訓(xùn)練等特點,被用于圖像處理、語音識別[10]領(lǐng)域。將深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于N-pod智能語音識別環(huán)節(jié),搭建6層深度卷積神經(jīng)網(wǎng)絡(luò)作為語音識別系統(tǒng)的聲學(xué)模型,有效提高了語音識別正確率和速度,如圖6所示。
深度卷積網(wǎng)絡(luò)的輸入層以語音作為輸入,為了獲得最佳效果,首先對語音進行預(yù)處理,通過訓(xùn)練提取語音特征。當樣本不足時,需要對樣本進行增強處理。
在卷積層,通過卷積運算對輸入進行另一種表示,整個卷積網(wǎng)絡(luò)訓(xùn)練為中間參數(shù)。其線性變換函數(shù)如下式所示:
式中:k為向量a的維數(shù);wi,b為網(wǎng)絡(luò)訓(xùn)練所需得到的參數(shù)。
通過激活函數(shù)進行非線性變化,如式(2),從而得到輸入的另一種表示。
在卷積層中需要添加激活函數(shù)對運算進行非線性化。激活函數(shù)為Sigmoid函數(shù),如下式所示:
池化層將對數(shù)據(jù)進行特殊處理,通過池化降低卷積層輸出的特征向量維數(shù),縮小語音特征尺寸,能夠有效解決由上層的結(jié)果作為輸入帶來的計算量大的問題。經(jīng)過池化,語音特征尺寸大小將減小50%。
全連接層是網(wǎng)絡(luò)消耗參數(shù)最多的一層,該全連接層采用下式作為激活函數(shù):
粒子群優(yōu)化(PSO)算法為群智能方法[11]。該算法以鳥群尋找最佳食物來源為啟發(fā),鳥的移動方向受其當前運動、有史以來最佳食物來源以及禽群中任何鳥類的最佳食物來源等多方面的影響。自PSO算法提出以來,研究人員提出了很多改進的粒子群優(yōu)化算法,并且算法被廣泛運用到工程、醫(yī)療、經(jīng)濟管理等領(lǐng)域中。在N-pod智能推理決策環(huán)節(jié)引入PSO,此時對最佳粒子問題的求解就是最佳推理決策方案的求解,該解決方案隨最佳粒子在搜索空間中的移動而變化,對采集的環(huán)境數(shù)據(jù)信息、老人個人情況信息實施分簇,從而形成最佳決策,達到滿足千人千面的用戶需求。粒子的運動受慣性、個人最佳位置和全局最佳位置的影響。群由多個粒子組成,每個粒子都有一個適應(yīng)度值,該適應(yīng)度值由目標函數(shù)分配,并根據(jù)其位置進行優(yōu)化。此外,粒子除了適應(yīng)度值和位置外還包含其他信息,例如粒子運動的速度。另外,PSO保持了最佳個人姿勢和粒子最佳狀態(tài)值。同時,PSO擁有任何粒子所經(jīng)歷過的最佳全局值和最佳適應(yīng)度值。
粒子群優(yōu)化算法使用下式在問題搜索空間內(nèi)移動粒子:
使用下式更新粒子速度:
式中:wt為慣性權(quán)重;r1,r2為隨機生成的數(shù)字;cons1,cons2為常數(shù)系數(shù)為粒子i的當前最佳位置為整個群的當前最佳全局位置。分別從初始化開始到時刻t代表粒子i所找到的最優(yōu)位置,r1和r2是[0,1]區(qū)間內(nèi)產(chǎn)生的隨機數(shù),cons1和cons2是加速因子用來調(diào)整粒子得到收斂速度,一般設(shè)置為2。在t+1時刻,粒子位置根據(jù)式(6)進行更新。每個粒子都會同時被個體最好位置和全局最好位置影響。參數(shù)wt有調(diào)整粒子群的全局搜索能力和局部搜索能力的作用,如下式所示:
式中:wi,we為參數(shù)w的初始值,一般分別設(shè)置為0.9和0.4;T為粒子群的最大迭代次數(shù)。
當粒子群龐大時,會加大粒子群更新的負擔,此時使用歐幾里德距離的平方和作為適應(yīng)度函數(shù),更新粒子位置。適應(yīng)度函數(shù)如下式所示:
式中:K為簇數(shù);d(Xi,Cl)測量的是數(shù)據(jù)對象Xi和簇Cl質(zhì)心之間的多樣性。
使用歐幾里德距離計算數(shù)據(jù)對象之間差異,對于給定的數(shù)據(jù)對象Xi和Xj,歐氏距離d(Xi,Xj)的計算如下式所示:
粒子群優(yōu)化算法在N-pod智能推理決策環(huán)節(jié)應(yīng)用的偽代碼如下所示:
對于數(shù)據(jù)對象N、迭代次數(shù)T、群體規(guī)模M而言,使用粒子群優(yōu)化算法解決數(shù)據(jù)分簇問題的時間復(fù)雜度為O( )N×T×M。通過對粒子群優(yōu)化算法的研究,并將該算法與N-pod智能推理決策相結(jié)合,有效解決了大規(guī)模數(shù)據(jù)信息的分簇問題,能夠?qū)崿F(xiàn)提高推理決策的執(zhí)行效率、準確度和精確度。
整個設(shè)備使用基于Python的Tornado框架解決信息傳遞的準確性以及提高執(zhí)行效率的問題。Tornado是一款輕量級框架,具有足夠的健壯性。在處理終端設(shè)備實時上傳的設(shè)備更新、狀態(tài)變化以及用戶通知時,客戶端需要長期保持在一個開放狀態(tài),這些長連接或推送請求會使Apache的最大線程池迅速飽和,一旦線程池的資源耗盡,服務(wù)器將不能再響應(yīng)新的請求。實驗證明采用Tornado框架構(gòu)建異步服務(wù)器,可有效減輕基于線程的服務(wù)器的限制。當負載增加時,Tornado使用協(xié)作的、多任務(wù)的方式進行擴展優(yōu)化。一旦當前請求正在等待來自其他資源的數(shù)據(jù)(比如數(shù)據(jù)庫查詢或Http請求)時,異步服務(wù)器可以明確地控制并掛起請求,當合適的數(shù)據(jù)準備好時又可動態(tài)調(diào)用回調(diào)函數(shù)。該作品使用Tornado框架存放static文件,建立template文件存放html數(shù)據(jù),將兩種文件地址添加在框架中以便html渲染并返回,在主體框架內(nèi)寫入端口號、路由映射,框架會根據(jù)不同的url請求調(diào)用不同的方法。
當下智能家居的核心缺陷是由于大部分智能家居設(shè)備獨立發(fā)展,沒有建立統(tǒng)一的通訊協(xié)議,一般的情況下只能控制自家品牌的產(chǎn)品,或者開放了協(xié)議的產(chǎn)品,因此難以解決多品牌智能家居設(shè)備的自由組合接入和控制。N-pod的特色之一就是使用Home Assistant框架解決了語音控制多品牌主流家居設(shè)備的問題。N-pod使用Home Assistant開源框架,通過其自有的配置方式連接各種外部設(shè)備(智能設(shè)備、攝像頭、郵件、短消息、云服務(wù)等近千種可連接組件),達到取代傳統(tǒng)物聯(lián)網(wǎng)家居控制網(wǎng)關(guān)的目的。本設(shè)備已經(jīng)打通小米系列、Philips智能燈系列、亞馬遜音響、蘋果的Siri,Google Assistant、博聯(lián)設(shè)備以及特斯拉汽車等,同時可以提供互聯(lián)網(wǎng)上的各種實時信息,包括股票、匯率、交通、天氣。
N-pod軟件設(shè)計分為三大部分:
1)基于Python2.7的Tornado網(wǎng)絡(luò)框架主要為機器人提供外部接口、外部服務(wù)等功能。
2)基于Python3.7的Home assistant框架主要為N-pod配置物聯(lián)網(wǎng)云服務(wù),通過云服務(wù)來控制物聯(lián)網(wǎng)設(shè)備。
3)基于機器人自身攜帶的ChoreGraphe框架,配置機器人本地Linux系統(tǒng)服務(wù),通過遠程連接控制,完成對機器人基本的功能操作。
三大部分通過Http請求來獲得相關(guān)的數(shù)據(jù)連接,完成機器人所需要的各個功能。各部分之間的數(shù)據(jù)通訊模式及軟件框架結(jié)構(gòu)如圖7所示。
圖7 N-pod系統(tǒng)軟件框架Fig.7 Software framework of N-pod system
3.4.1 智能語音識別功能的設(shè)計
智能語音識別功能是通過基于語音識別程序完成流暢的對話,使用機器人內(nèi)部接口與深度卷積神經(jīng)網(wǎng)絡(luò)語音識別模型相結(jié)合的方式實現(xiàn),如圖8所示。
圖8 語音對話邏輯流程圖Fig.8 Voice dialogue logic flow chart
當機器人麥克風(fēng)獲取音頻信息時,調(diào)用深度卷積神經(jīng)網(wǎng)絡(luò)語音識別模型完成語音識別,將識別好的語音信息傳遞給機器人內(nèi)部應(yīng)用程序接口,要調(diào)用dialog模塊觸發(fā)編輯好的對話以及該對話對應(yīng)的回答和功能,在dialog對應(yīng)的配置文件中完成代碼書寫,機器人實時聽取說話者的語音,與自身內(nèi)部語音庫匹配,找到最佳的對應(yīng)文字,在配置文件中找到對應(yīng)文字并觸發(fā)后續(xù)的功能,再將獲取的信息通過機器人語音接口得到語音內(nèi)容,實現(xiàn)語音會話。
3.4.2 語音控制多品牌智能家居設(shè)備功能的設(shè)計
通過語音控制多品牌智能設(shè)備,其主要方式是通過深度卷積神經(jīng)網(wǎng)絡(luò)語音識別出會話的含義,并通過粒子群優(yōu)化算法對當前居家環(huán)境、老人狀況實施分簇處理,形成智能推理決策,與配置好的控制語音進行匹配,通過Tornado框架發(fā)送Http請求給Home Assistant框架,通過執(zhí)行相應(yīng)指令,實現(xiàn)對多品牌智能家居設(shè)備的控制,其具體流程邏輯如圖9所示。
圖9 語音控制智能設(shè)備邏輯流程圖Fig.9 Voice control smart device logic flowchart
3.4.3 其他控制功能的設(shè)計
情緒檢測同樣是通過Tornado框架調(diào)用應(yīng)用程序接口(application programming interface,API),將圖片信息發(fā)出,再將得到的數(shù)據(jù)返回。識別圖片信息功能,采用顏色識別算法,在圖片中多點位置取出像素點,對多個像素點采樣、分析、去除紅綠藍白(red green blue white,RGBW)近似值,按照像素點近似值的概率分析出圖片需要識別物體的顏色等信息。
為了驗證N-pod多品牌智能家居語音控制設(shè)備的準確性和靈敏度,測試選取1 000位用戶,按照年齡進行分組,分為50~59年齡段(臨退休老人)、60~69年齡段(退休老人)和70以上年齡段(敬老院老人),在一個月內(nèi),選取全天時間段進行人機交流會話,完成數(shù)據(jù)采集和智能家居控制,持續(xù)進行30 d,每位對象累計不少于400次語音控制測試。根據(jù)用戶的語音請求,完成語音語義分析,對各主流品牌的智能家居設(shè)備進行控制,并進行數(shù)據(jù)采集。
用戶在不同狀態(tài)下使用N-pod多品牌智能家居語音控制設(shè)備,用不同語音語境進行會話交流。對比改進前和改進后的語音語義分析結(jié)果和控制結(jié)果,該設(shè)備的語音語義識別正確率高達98.99%,控制執(zhí)行的正確率在97.08%,控制指令的靈敏度響應(yīng)度為99.24%,遠高于改進前的使用數(shù)據(jù),達到商用效果。系統(tǒng)測試結(jié)果分析如圖10所示,圖10a是從1 000個用戶的測試數(shù)據(jù)中隨機抽樣100個用戶作為樣本數(shù)據(jù)進行繪制,圖10b是對改進前和改進后的整體使用效果的對比分析。
圖10 N-pod設(shè)備測試結(jié)果分析Fig.10 N-pod equipment test result analysis
該設(shè)備已在無錫市濱湖區(qū)金夕延年樂頤養(yǎng)老院、無錫朗高梅園護理院、無錫長江康復(fù)中心使用。
相關(guān)實際應(yīng)用效果如圖11所示。圖11a中展示了機器人在養(yǎng)老院現(xiàn)場為老人做信息采集的場景,機器人獲取老人實際信息后,就能通過老人的實際身體指標和各環(huán)境指數(shù)調(diào)節(jié)室內(nèi)溫濕度。目前本款機器人已經(jīng)采集了1 000多位老人的信息,獲取其生理指標,所有數(shù)據(jù)存儲在云端,N-pod后臺運行框架圖如圖11b所示。該款人工智能養(yǎng)老機器人在使用單位得到老人們的喜愛。
圖11 實際運行效果圖Fig.11 Actual operation effect diagram
N-pod多品牌智能家居語音控制設(shè)備,依賴于深度卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)語音識別,使用粒子群優(yōu)化算法針對現(xiàn)有老人居家環(huán)境和老人自身條件形成智能推理決策,使用Python的Tornado框架解決信息傳遞的準確性并提升執(zhí)行效率,引入Home Assistant框架打破多品牌智能家居設(shè)備互不兼容的僵局,實現(xiàn)語音控制多品牌成熟智能家居設(shè)備的目標。整套設(shè)備能夠?qū)崿F(xiàn)數(shù)據(jù)信息、音視頻信息的實時采集和處理,并結(jié)合采集的信息形成智能化的解決方案,實現(xiàn)千人千面的養(yǎng)老定制需求。該設(shè)計可為人工智能養(yǎng)老機器人提供完備的物聯(lián)網(wǎng)控制技術(shù)支持。
該設(shè)備已經(jīng)申請了2項實用新型專利、1項發(fā)明專利,整個設(shè)備外觀親人、新穎,具有簡單易用的特點,能夠成為老人的助手和陪伴,得到多位人工智能領(lǐng)域?qū)<业囊恢峦扑]。該作品已榮獲2019年第十六屆江蘇省大學(xué)生課外學(xué)術(shù)科技作品競賽“挑戰(zhàn)杯”全國競賽江蘇省選拔賽決賽二等獎,已在養(yǎng)老院、敬老院、高檔社區(qū)推廣使用,必將帶來較大的經(jīng)濟和社會效益。