杜惠斌 趙憶文 韓建達(dá) 趙新剛 王爭 宋國立
基于集員濾波的雙Kinect人體關(guān)節(jié)點數(shù)據(jù)融合
杜惠斌1,2趙憶文1韓建達(dá)1趙新剛1王爭1宋國立1
以Kinect為代表的深度圖像傳感器在肢體康復(fù)系統(tǒng)中得到廣泛應(yīng)用.單一深度圖像傳感器采集人體關(guān)節(jié)點數(shù)據(jù)時由于肢體遮擋、傳感器數(shù)據(jù)錯誤和丟失等原因降低系統(tǒng)可靠性.本文研究了利用兩臺Kinect深度圖像傳感器進(jìn)行數(shù)據(jù)融合從而達(dá)到消除遮擋、數(shù)據(jù)錯誤和丟失的目的,提高康復(fù)系統(tǒng)中數(shù)據(jù)的穩(wěn)定性和可靠性.首先,利用兩臺Kinect采集患者健康側(cè)手臂運動數(shù)據(jù);其次,對兩組數(shù)據(jù)做時間對準(zhǔn)、Bursa線性模型下的坐標(biāo)變換和基于集員濾波的數(shù)據(jù)融合;再次,將融合后的健康側(cè)手臂運動數(shù)據(jù)經(jīng)過“鏡像運動”作為患側(cè)手臂運動指令;最后,將患側(cè)運動指令下發(fā)給可穿戴式鏡像康復(fù)外骨骼帶動患者患側(cè)手臂完成三維動畫提示的康復(fù)動作,達(dá)到患者主動可控康復(fù)的目的.本文通過Kinect與VICON系統(tǒng)聯(lián)合實驗以及7自由度機(jī)械臂控制實驗驗證了數(shù)據(jù)融合方法的有效性,以及兩臺Kinect可有效解決上述問題.
鏡像康復(fù),Kinect深度圖像傳感器,Bursa線性模型,集員濾波
DOI10.16383/j.aas.2016.c160109
根據(jù)世界衛(wèi)生組織2015年發(fā)布的全球人口殘疾與健康情況說明書,全球殘疾人口超過十億,約占總?cè)丝诘?5%;約一億一千萬至一億九千萬的成年人患有嚴(yán)重的功能性肢體疾病[1].功能性肢體疾病給患者的日常生活帶來極大不便,及時有效的康復(fù)訓(xùn)練可以部分甚至完全恢復(fù)患者肢體運動機(jī)能.一組有效的康復(fù)訓(xùn)練包含三大要素:重復(fù)性、積極性和肢體反饋[2].然而單調(diào)的重復(fù)性康復(fù)動作又使得患者缺乏持續(xù)的積極性,影響其肢體反饋,降低康復(fù)療效.研究表明,只有31%的患者能夠堅持完成康復(fù)訓(xùn)練[3].一個解決辦法就是由康復(fù)醫(yī)療師輔助監(jiān)督患者完成康復(fù)訓(xùn)練.但患者人口基數(shù)大、康復(fù)醫(yī)療師匱乏以及其他高昂的康復(fù)醫(yī)療成本,使得越來越多的患者因為無法得到及時的康復(fù)治療而變成終生殘疾.另外,傳統(tǒng)醫(yī)療師輔助康復(fù)治療是患者在醫(yī)療師的幫助下完成各種康復(fù)性的動作以便恢復(fù)肢體機(jī)能.這種治療下患者只是被動地配合醫(yī)療師的動作,仍然缺乏主動參與的積極性,缺乏動作反饋,有效動作少,康復(fù)時間長[1].而相對于傳統(tǒng)康復(fù)療法,與虛擬現(xiàn)實等三維動畫、游戲相結(jié)合的交互式的主動康復(fù)治療對肢體機(jī)能恢復(fù)更加有效[1?3].
本文基于上述研究設(shè)計了一款針對上肢偏癱患者的基于人體動作捕捉的鏡像運動康復(fù)系統(tǒng).該系統(tǒng)可以使上肢偏癱患者在三維動畫的提示下以游戲任務(wù)的形式交互式、主動性地完成各個康復(fù)動作,提高患者積極性,使患者更顯著地感受到肢體反饋,加快肢體康復(fù)進(jìn)程.
鏡像運動康復(fù)系統(tǒng)由座椅、可穿戴式機(jī)械臂、人體動作捕捉設(shè)備(兩臺Kinect深度圖像傳感器)和一臺普通計算機(jī)組成,如圖1所示.
偏癱患者正對電腦顯示器坐在座椅上,其患側(cè)手臂與一臺可穿戴式機(jī)械臂連接.該系統(tǒng)利用兩臺Kinect深度圖像傳感器采集得到人體關(guān)節(jié)點數(shù)據(jù),通過時間對準(zhǔn)、空間對準(zhǔn)、數(shù)據(jù)融合等得到患者健康側(cè)手臂運動數(shù)據(jù);以過患者脊柱且正交于左右肩部關(guān)節(jié)點連線的平面作運動鏡像,以此鏡像后的運動數(shù)據(jù)控制可穿戴式機(jī)械臂帶動患者患側(cè)手臂運動,交互式、主動性地完成計算機(jī)顯示器中三維動畫提示的各種康復(fù)動作.患者以健康側(cè)手臂在可穿戴式機(jī)械臂的輔助下間接地控制患側(cè)手臂運動,提高患者主動性.并且各種交互式的三維動畫游戲使得重復(fù)性的單調(diào)康復(fù)動作更具娛樂性,提高患者參與積極性,加快肢體康復(fù)進(jìn)程.該系統(tǒng)的優(yōu)點是利用Kinect采集人體運動數(shù)據(jù)無需標(biāo)識點、左右肢體運動鏡像、三維游戲交互、患者可獨立自主訓(xùn)練等.
患者健康側(cè)手臂運動數(shù)據(jù)采集子系統(tǒng)是該鏡像運動康復(fù)系統(tǒng)的關(guān)鍵組成部分.一般地,人體運動數(shù)據(jù)采集方式有光學(xué)式、電磁式、機(jī)械式和慣性測量等[4?5].光學(xué)式,如VICON,價格昂貴、操作復(fù)雜,而且需要在患者身體上粘貼標(biāo)志點等.慣性測量單元存在累積誤差,而且同樣操作不便.電磁式易受電磁干擾,捕捉環(huán)境受限.機(jī)械式較笨重,可移植性差,降低患者舒適性.以上人體運動數(shù)據(jù)采集方式均不能滿足偏癱患者在家人幫助甚至獨自的情況下在家中完成康復(fù)治療的要求,不適用于家用小型康復(fù)系統(tǒng).我們需要一款可以實時追蹤患者肢體運動數(shù)據(jù)的、對使用環(huán)境無特殊要求的、不用患者粘貼標(biāo)志點、不影響患者健康側(cè)肢體運動的傳感器,而且最好能夠簡單易用、經(jīng)濟(jì)實惠、不需要做任何標(biāo)定動作.該鏡像運動康復(fù)系統(tǒng)選擇了Kinect深度圖像傳感器采集患者健康側(cè)關(guān)節(jié)點數(shù)據(jù).
Kinect是一款微軟推出的專門為自然人機(jī)交互而設(shè)計的體感攝像頭,可獲取RGB圖像和深度信息.自從Kinect發(fā)布上市以來,針對Kinect的應(yīng)用開發(fā)層出不窮,如游戲、導(dǎo)航、三維重建、手勢識別以及康復(fù)醫(yī)療等.目前對Kinect的研究大致有三種:硬件原理研究、深度數(shù)據(jù)處理和應(yīng)用開發(fā).對硬件原理的研究主要是散斑結(jié)構(gòu)光和TOF(Time of fy)的對比、Kinect空間精度分布等[6?9].對深度數(shù)據(jù)處理的研究多集中在圖像的修補(bǔ)、分割、三維重建等[10?11].應(yīng)用開發(fā)主要是康復(fù)醫(yī)療[1?3]、機(jī)器人導(dǎo)航[12]、行人檢測[13]、跌落檢測[14]、動作識別[15]等.
已有一些研究將Kinect應(yīng)用到康復(fù)醫(yī)療上.如文獻(xiàn)[1]針對Kinect設(shè)計了一款基于康復(fù)運動和虛擬現(xiàn)實互動游戲的康復(fù)系統(tǒng).該系統(tǒng)以Kinect為傳感器采集用戶肢體運動數(shù)據(jù),以模式識別的方式識別用戶的特定動作,配合虛擬現(xiàn)實游戲的實時反饋,使患者重復(fù)性地完成各種康復(fù)動作,提高患者主動參與的積極性,加速患者肢體康復(fù).文獻(xiàn)[2?3]也分別設(shè)計了針對脊柱損傷患者和殘疾學(xué)生的基于Kinect的康復(fù)系統(tǒng).文獻(xiàn)[15]對比了Kinect和Phase Space Inc.的動作捕捉系統(tǒng),分析了Kinect追蹤人體關(guān)節(jié)點和估計姿態(tài)的精度,但沒有給出關(guān)節(jié)點精度及其協(xié)方差等.文獻(xiàn)[16]設(shè)計的基于電信號刺激的上肢康復(fù)系統(tǒng)也是采用Kinect為傳感器采集用戶肢體運動數(shù)據(jù).另外,文獻(xiàn)[17?19]等分別設(shè)計了以Kinect采集人體運動數(shù)據(jù)作為控制輸入的機(jī)械臂.上述研究只有單臺Kinect采集人體關(guān)節(jié)點數(shù)據(jù),并沒有考慮到在實際應(yīng)用中經(jīng)常發(fā)生的人體肢體遮擋、Kinect數(shù)據(jù)錯誤與丟失等問題.而且,上述研究也沒有詳細(xì)分析Kinect從深度圖像里獲得的人體關(guān)節(jié)點數(shù)據(jù)的精度問題.如文獻(xiàn)[19]僅僅分析了人站在不同位置下的骨骼追蹤關(guān)節(jié)點的精度分布.文獻(xiàn)[20]利用兩臺Kinect以及卡爾曼濾波算法追蹤同一用戶關(guān)節(jié)點并應(yīng)用到康復(fù)醫(yī)療領(lǐng)域.但文中并沒有分析Kinect追蹤人體關(guān)節(jié)點時的噪聲特性,直接利用卡爾曼算法處理人體關(guān)節(jié)點數(shù)據(jù)缺乏理論依據(jù).另外,文獻(xiàn)[20]的主要目的是擴(kuò)大視野,不是處理遮擋、數(shù)據(jù)丟失和出錯的問題.
綜上,現(xiàn)有研究只是對單個Kinect采集用戶數(shù)據(jù)的簡單應(yīng)用,沒有涉及患者手臂的遮擋、傳感器數(shù)據(jù)的出錯或丟失等問題.而在實際操作中,經(jīng)常會遇到患者身體遮擋自己的手臂、醫(yī)療師或附近人的干擾、特殊姿態(tài)下Kinect數(shù)據(jù)的出錯或丟失,比如坐姿下椅子扶手的影響等.
本文提出利用兩臺Kinect深度圖像傳感器來消除他人干擾、患者特殊姿態(tài)下的手臂遮擋以及傳感器數(shù)據(jù)出錯或丟失問題.研究內(nèi)容是對兩臺Kinect采集人體關(guān)節(jié)點數(shù)據(jù)進(jìn)行融合,以達(dá)到消除遮擋和數(shù)據(jù)出錯或丟失的影響,提高數(shù)據(jù)穩(wěn)定性和可靠性.
文章安排如下:引言介紹了研究背景以及相關(guān)工作;第1節(jié)介紹了上肢鏡像運動康復(fù)系統(tǒng)的組成、方法流程、用到的坐標(biāo)系系統(tǒng)以及所需滿足的假設(shè)等;第2節(jié)主要介紹兩臺Kinect數(shù)據(jù)的時間對準(zhǔn)、坐標(biāo)變換、Kinect追蹤人體關(guān)節(jié)點數(shù)據(jù)的誤差特性以及數(shù)據(jù)融合算法;第3節(jié)介紹了幾組驗證實驗,包括坐標(biāo)變換驗證、數(shù)據(jù)融合算法驗證等;最后給出研究結(jié)論和展望.
如前所述鏡像運動康復(fù)系統(tǒng)由座椅、可穿戴式機(jī)械臂、人體動作捕捉設(shè)備和一臺普通計算機(jī)組成.偏癱患者坐在顯示器正前方,在患者正前方和健康手臂(此處是左側(cè)手臂)一側(cè)各放置一臺Kinect深度圖像傳感器以采集患者健康側(cè)手臂運動數(shù)據(jù).患者正前方Kinect為主Kinect#1,健康手臂一側(cè)即左側(cè)為副Kinect#2.圖2顯示了鏡像運動康復(fù)系統(tǒng)的Kinect傳感器布置示意圖及各個坐標(biāo)系.
1.1 方法流程
偏癱患者的患側(cè)手臂(此處為患者右側(cè)手臂)與可穿戴式機(jī)械臂連接.利用兩臺Kinect采集得到的人體關(guān)節(jié)點數(shù)據(jù)通過時間對準(zhǔn)、空間對準(zhǔn)、數(shù)據(jù)融合等得到患者健康側(cè)手臂的運動數(shù)據(jù),并以過患者脊柱且正交于左右肩部關(guān)節(jié)點連線的平面作鏡像,以此鏡像后的運動數(shù)據(jù)控制可穿戴式機(jī)械臂帶動患者患側(cè)手臂運動,交互式、主動性地完成計算機(jī)顯示器中三維動畫提示的各種康復(fù)動作.如此,患者以健康側(cè)手臂在可穿戴式機(jī)械臂的輔助下間接地控制患側(cè)手臂運動,提高患者主動性.并且各種交互式的三維動畫游戲使得重復(fù)性的單調(diào)康復(fù)動作更具娛樂性,提高患者參與積極性,加快肢體康復(fù)進(jìn)程.
圖3展示了鏡像運動康復(fù)系統(tǒng)的方法流程.首先,主副Kinect根據(jù)用戶指令識別偏癱患者,在對用戶特征進(jìn)行分析確認(rèn)后進(jìn)入人體關(guān)節(jié)點追蹤;其次,對主副Kinect采集的人體關(guān)節(jié)點數(shù)據(jù)進(jìn)行時間對準(zhǔn)、空間對準(zhǔn)和數(shù)據(jù)融合;最后利用融合得出的健康側(cè)手臂運動數(shù)據(jù)經(jīng)過運動鏡像后控制患側(cè)手臂的機(jī)械臂運動.為了滿足在線工作,本文采用了遞推形式的數(shù)據(jù)時間對準(zhǔn)、空間對準(zhǔn)和融合算法,將在第2節(jié)中詳細(xì)介紹.
1.2 坐標(biāo)系定義
對于該鏡像運動康復(fù)系統(tǒng),首先需要定義各個坐標(biāo)系以及它們之間的變換關(guān)系,明確所有運動數(shù)據(jù)所在坐標(biāo)系及其物理意義.
此處共定義了5個坐標(biāo)系:主Kinect#1坐標(biāo)系K1、副Kinect#2坐標(biāo)系K2、患者健康側(cè)肩部坐標(biāo)系A(chǔ)、患者患側(cè)肩部坐標(biāo)系B以及可穿戴式機(jī)械臂基座坐標(biāo)系O,其位置關(guān)系如圖2所示.
如圖2及圖4所示,主副Kinect的坐標(biāo)系K1/K2定義如下:
1)原點在紅外接受點(Infrared receiver)處;
2)Z軸水平,以鏡頭射線方向為正向;
3)X軸水平,面對Kinect從左向右為正向;
4)Y軸豎直向上,滿足右手坐標(biāo)系.
圖4 主Kinect#1和副Kinect#2的坐標(biāo)系Fig.4 Coordinates of Kinect#1 and Kinect#2
Kinect深度圖像傳感器追蹤采集患者健康側(cè)手臂(此處為左側(cè)手臂)的三個關(guān)節(jié)點:肩部、肘部和手掌,如圖6.Kinect獲得的關(guān)節(jié)點數(shù)據(jù)為自身坐標(biāo)系K1/K2下的關(guān)節(jié)點的空間位置軌跡,需要首先轉(zhuǎn)換到患者健康側(cè)肩部坐標(biāo)系A(chǔ)下,得到健康側(cè)手臂的肘部和手掌在健康側(cè)肩部坐標(biāo)系A(chǔ)下的運動數(shù)據(jù).如圖2所示,定義健康側(cè)肩部坐標(biāo)系A(chǔ)如下:
1)原點在左肩處;
2)Z軸水平,從前胸指向后背;
3)X軸水平,從左肩指向右肩;
4)Y軸豎直向上,滿足右手坐標(biāo)系.
同樣,需要定義患側(cè)肩部坐標(biāo)系B,其原點在右肩處,坐標(biāo)軸與健康側(cè)肩部坐標(biāo)系A(chǔ)的坐標(biāo)軸平行,X軸與A坐標(biāo)系X軸反向,Y、Z軸與A坐標(biāo)系Y、Z軸同向.即A、B坐標(biāo)系關(guān)于過患者脊柱且正交于左右肩部關(guān)節(jié)點連線的平面對稱.
另外,定義可穿戴式機(jī)械臂基座坐標(biāo)系O,并使其滿足與患者患側(cè)肩部坐標(biāo)系B的對應(yīng)坐標(biāo)軸之間平行同向.
另外,為了后續(xù)處理需要強(qiáng)調(diào)以下兩個假設(shè):
1)可穿戴式機(jī)械臂基座坐標(biāo)系O與患者患側(cè)肩部坐標(biāo)系的對應(yīng)坐標(biāo)軸之間平行且同向,如此患者患側(cè)手臂關(guān)節(jié)角(如肘關(guān)節(jié)角)與可穿戴式機(jī)械臂對應(yīng)關(guān)節(jié)角完全相等;
2)Kinect#2坐標(biāo)系與Kinect#1繞其Y軸旋轉(zhuǎn)90°之后的坐標(biāo)系之間滿足小角度旋轉(zhuǎn),如圖5所示.
下面討論一下這兩個假設(shè)的意義和可行性.可穿戴式機(jī)械臂是固定在患者患側(cè)手臂上的,所以假設(shè)1)是合理可行的.如此即可將通過鏡像得到患側(cè)手臂運動參數(shù)直接用于控制可穿戴式機(jī)械臂帶動患側(cè)手臂運動.正確擺放兩個Kinect的位置,一個在患者正前方、另一個在左側(cè)方,二者夾角接近垂直(本文的實驗中,手動擺放Kinect都能滿足要求),這在實際操作中不難辦到.所以假設(shè)2)也是可以做到的,可以簡化空間對準(zhǔn)和數(shù)據(jù)融合.這兩個假設(shè)是本系統(tǒng)中用到的主要的近似處理方法.
圖5 副Kinet#2的坐標(biāo)系與主Kinect#1沿其Y軸旋轉(zhuǎn)90°之后的坐標(biāo)系之間滿足小角度旋轉(zhuǎn)假設(shè)Fig.5 The coordinate of Kinect#2 should meet the small angle rotation condition with the coordinate of Kinect#1 after it rotates 90°according to itsYaxis
1.3 運動鏡像
Kinect傳感器追蹤采集患者健康側(cè)手臂運動數(shù)據(jù)是在其自身坐標(biāo)系K1/K2下的手臂關(guān)節(jié)點空間位置軌跡,需要先轉(zhuǎn)換到患者健康側(cè)肩部坐標(biāo)系A(chǔ)下,得到健康側(cè)手臂關(guān)節(jié)點在坐標(biāo)系A(chǔ)下運動數(shù)據(jù).其次,要利用該數(shù)據(jù)控制可穿戴式機(jī)械臂帶動患者患側(cè)手臂運動需要將其作鏡像映射到患者患側(cè)肩部坐標(biāo)系B下.另外,可穿戴式機(jī)械臂的控制指令只能是關(guān)節(jié)角;所以在鏡像映射之前需要從關(guān)節(jié)點的運動數(shù)據(jù)中計算出患者健康側(cè)手臂的關(guān)節(jié)角.人體單個手臂擁有7個自由度[21],本文設(shè)計的鏡像運動康復(fù)系統(tǒng)只用到了其中的3個自由度.并且與患者患側(cè)手臂連接的可穿戴式機(jī)械臂也只用到其中3個自由度,對應(yīng)其手臂的3個關(guān)節(jié)角,如圖6所示.
圖6 Kinect傳感器追蹤的三個手臂關(guān)節(jié)點及其三個關(guān)節(jié)角Fig.6 3 joints and the 3 joint angles tracked by Kinect sensors
1)上臂與Y軸正向夾角為α;
2)上臂在XOY平面的投影與X軸正向夾角為β;
3)上臂與前臂之間的夾角為γ.
所以,鏡像運動康復(fù)系統(tǒng)中“鏡像運動”的完整意義為:首先,將Kinect傳感器坐標(biāo)系下的患者健康側(cè)手臂3個關(guān)節(jié)點的軌跡數(shù)據(jù)轉(zhuǎn)換到患者健康側(cè)肩部坐標(biāo)系A(chǔ)下,獲得健康側(cè)手臂關(guān)節(jié)點在坐標(biāo)系A(chǔ)下的運動數(shù)據(jù);其次,計算坐標(biāo)系A(chǔ)下的患者健康側(cè)手臂的3個關(guān)節(jié)角;將坐標(biāo)系A(chǔ)下的患者健康側(cè)手臂的3個關(guān)節(jié)角數(shù)據(jù)以過患者脊柱且垂直于左右兩肩連線的平面做鏡像映射,變換到坐標(biāo)系B下的關(guān)節(jié)角數(shù)據(jù);最后,利用鏡像映射獲得的坐標(biāo)系B下的健康側(cè)手臂的關(guān)節(jié)角數(shù)據(jù)控制可穿戴式機(jī)械臂帶動患者患側(cè)手臂運動,達(dá)到主動完成康復(fù)運動的目的.
第1節(jié)介紹了上肢鏡像運動康復(fù)系統(tǒng)的組成、方法流程、用到的坐標(biāo)系系統(tǒng)以及“鏡像運動”的含義等.本節(jié)將介紹圖3系統(tǒng)流程圖中用到的模型及算法,包括兩臺Kinect數(shù)據(jù)的時間對準(zhǔn)、坐標(biāo)變換模型及算法、Kinect追蹤人體關(guān)節(jié)點數(shù)據(jù)的誤差特性以及數(shù)據(jù)融合算法.
2.1 時間對準(zhǔn)
鏡像運動康復(fù)系統(tǒng)中的兩臺Kinect屬于同類型傳感器,各種參數(shù)完全相同,如采樣頻率都是30幀每秒、數(shù)據(jù)格式等完全相同.然而兩臺Kinect之間沒有同步機(jī)制,使得到目標(biāo)點位置的時間有細(xì)微差異,需要對數(shù)據(jù)做時間對準(zhǔn).但因為這種差異在一個采樣點周期即33ms以內(nèi),且考慮到“人體關(guān)節(jié)點”本身就不是確切的點,也可以忽略兩個Kinect數(shù)據(jù)不同步的影響.下圖分別顯示了兩個Kinect采樣點之間的時間差和時間對準(zhǔn)之后的效果.本文中采取以主Kinect的數(shù)據(jù)為參考,對副Kinect的數(shù)據(jù)在時間軸做線性插值的方法進(jìn)行時間對準(zhǔn).
圖7 兩臺Kinect采樣數(shù)據(jù)的時間對準(zhǔn)Fig.7 Time alignment between Kinect#1 and Kinect#2
2.2 空間對準(zhǔn)
空間對準(zhǔn),即坐標(biāo)變換,是將各個傳感器獲得的局部坐標(biāo)系下目標(biāo)位置信息實時轉(zhuǎn)換到融合中心公共坐標(biāo)系中.本文設(shè)計的鏡像運動康復(fù)系統(tǒng)各個坐標(biāo)系之間的關(guān)系如圖2.圖2中可以看出空間對準(zhǔn)的關(guān)鍵是求解主Kinect#1和副Kinect#2之間的坐標(biāo)系變換關(guān)系;再將副Kinect#2采集的人體關(guān)節(jié)點數(shù)據(jù)變換到主Kinect#1坐標(biāo)系下.即通過理論推導(dǎo)或者實驗分析求得坐標(biāo)系之間的變換矩陣或者矩陣中未知參數(shù)的估計值.由于兩個Kinect的擺放位置不完全確定,無法直接推導(dǎo)出變換矩陣,只能實驗求解,這就涉及到變換模型的問題.
不同坐標(biāo)系之間的三維坐標(biāo)變換通常有Bursa七參數(shù)坐標(biāo)轉(zhuǎn)換模型、三維多項式轉(zhuǎn)換模型等[22].其中,Bursa七參數(shù)模型具有線性形式、求解過程簡單、可利用遞推最小二乘法求解等,在地理信息系統(tǒng)的坐標(biāo)變換中應(yīng)用較廣[23].Bursa七參數(shù)為三維空間直角坐標(biāo)轉(zhuǎn)換模型,不存在模型誤差和投影變形誤差,可適用于任何區(qū)域的高精度坐標(biāo)轉(zhuǎn)換.但是該模型只在滿足坐標(biāo)系間為小角度旋轉(zhuǎn)假設(shè)的情況下可用[22]:
即,如果ωx,ωy,ωz都是小角度,則sin(ω)≈ω, cos(ω)≈1,旋轉(zhuǎn)矩陣可表示為:
坐標(biāo)變換公式可表示為:
其中,T=[TxTyTz]T為3個平移參數(shù);R=[RxRyRz]T為三個旋轉(zhuǎn)參數(shù);m為尺度參數(shù).H為線性化的轉(zhuǎn)移矩陣,
式(2)中,XA,YA,ZA為目標(biāo)坐標(biāo)系空間直角坐標(biāo),此處為主Kinect#1坐標(biāo)系下關(guān)節(jié)點坐標(biāo).XB,YB,ZB為原坐標(biāo)系空間直角坐標(biāo),此處為副Kinect#2坐標(biāo)系下關(guān)節(jié)點坐標(biāo).
因為主Kinect#1和副Kinect#2是同類傳感器,各項參數(shù)如數(shù)據(jù)量綱完全相同,所以此處的尺度參數(shù)m=1.所以,對于式(2)只需要估計計算3個平移參數(shù)和3個旋轉(zhuǎn)參數(shù)即可.因此,模型中含有6個未知參數(shù),必須具有4個以上的公共點.當(dāng)公共點個數(shù)多于4時,則按最小二乘法求解坐標(biāo)變換模型中未知參數(shù)的最佳估值.
通過第 1節(jié)可知,坐標(biāo)系 Kinect#2與Kinect#1繞其Y軸旋轉(zhuǎn)之后的坐標(biāo)系之間滿足小角度旋轉(zhuǎn)假設(shè);即二者之間可以采用Bursa線性模型作坐標(biāo)變換.此處,選擇健康側(cè)手臂關(guān)節(jié)點為公共點,采用遞推最小二乘法估計主Kinect#1旋轉(zhuǎn)之后的坐標(biāo)系和副Kinect#2坐標(biāo)系之間的變換矩陣的未知參數(shù).并利用該轉(zhuǎn)換矩陣處理副Kinect#2采集的關(guān)節(jié)點坐標(biāo),之后再逆轉(zhuǎn)回到Kinect#1坐標(biāo)系下,即可將副Kinect#2的觀測值變換到主Kinect#1坐標(biāo)系下,完成坐標(biāo)變換.算法1為其算法描述.
算法1.空間對準(zhǔn)遞推算法
輸入:P1、P2//均為3×1向量
輸出:P2'//坐標(biāo)變換后的P2向量
P1'=[0 0 1;0 1 0;?1 0 0]×P1;
將P2代入式(2),結(jié)果為Pt;
圖8為空間對準(zhǔn)算法以及緊隨其后的數(shù)據(jù)融合流程圖.圖9為空間對準(zhǔn)算法的實際實驗數(shù)據(jù).圖9中,圓圈線和星號線分別是主Kinect#1和副Kinect#2采集的各自坐標(biāo)系下的人體關(guān)節(jié)點數(shù)據(jù);圖中菱形線是將副Kinect#2的關(guān)節(jié)點數(shù)據(jù)與Kinect#1坐標(biāo)系做空間對準(zhǔn)之后的數(shù)據(jù).由實驗數(shù)據(jù)可以看出,選擇Bursa模型做坐標(biāo)變換是可行的.
圖8 空間對準(zhǔn)算法流程圖Fig.8 Process fow of registration
圖9 Kinect數(shù)據(jù)空間對準(zhǔn)實驗Fig.9 Experiment result of registration of the two Kinect sensors
另外,圖10顯示了實驗現(xiàn)場對兩臺Kinect做實時空間對準(zhǔn)的場景.圖10中左右分別是主副Kinect采集獲得深度圖像和RGB圖像,中間稍淺色曲線是Kinect#1采集的人體關(guān)機(jī)點數(shù)據(jù),較深色曲線是Kinect#2采集的人體關(guān)節(jié)點數(shù)據(jù).兩條曲線的走勢基本重合.從這張圖中也可以看出Kinect人體關(guān)節(jié)點數(shù)據(jù)存在丟失的情況:RGB圖像中的3個標(biāo)志為圓圈、方框、菱形的點分別對應(yīng)著人體右側(cè)手臂的肩部、肘部和手部3個關(guān)節(jié)點,很明顯地可以看出左側(cè)Kinect#2的關(guān)節(jié)點數(shù)據(jù)正常而右側(cè)Kinect#1的數(shù)據(jù)已經(jīng)丟失或出錯了(右側(cè)RGB圖像上3個標(biāo)志為圓圈、方框、菱形的點明顯不在對應(yīng)的關(guān)節(jié)點處).
圖10 實驗現(xiàn)場對兩臺Kinect做空間對準(zhǔn)的場景Fig.10 Experiment scene of registration of the two Kinect sensors
2.3 誤差分析
坐標(biāo)變換關(guān)系確定以后,要進(jìn)行誤差分析,建立數(shù)據(jù)對準(zhǔn)模型,最后利用融合算法做數(shù)據(jù)融合.
本文中鏡像運動康復(fù)系統(tǒng)是用Kinect深度攝像頭在微軟Kinect for Windows SDK開發(fā)包下追蹤用戶人體骨骼數(shù)據(jù)采集人體關(guān)節(jié)點位置信息.得到的數(shù)據(jù)不是深度點云,而是人體關(guān)節(jié)點空間位置軌跡.而Kinect傳感器本身的精度分布是指其深度點云的誤差信息,不能直接用在對“人體關(guān)節(jié)點數(shù)據(jù)融合”的模型中.其中,“人體關(guān)節(jié)點”對應(yīng)的實際人體位置不明確、Kinect深度數(shù)據(jù)精度存在誤差、Kinect for Windows SDK對深度數(shù)據(jù)的處理只具有統(tǒng)計上的意義、坐標(biāo)系變換涉及到正弦和余弦函數(shù)的非線性變換、Bursa模型等的近似計算、坐標(biāo)系之間關(guān)系的假設(shè)處理等都會引入誤差.下面分析實際環(huán)境中人體關(guān)節(jié)點運動數(shù)據(jù)的誤差來源:
1)“人體關(guān)節(jié)點”對應(yīng)的實際人體位置不明確,即觀測目標(biāo)不明確,如“肘關(guān)節(jié)點”無法確定究竟是指肘關(guān)節(jié)的哪一個位置;
2)Kinect深度數(shù)據(jù)誤差,Kinect采用結(jié)構(gòu)光的方式獲取空間點的深度信息,其精度隨著距離的增加而降低;
3)Kinect for Windows SDK對深度數(shù)據(jù)處理得到統(tǒng)計意義上的“人體關(guān)節(jié)點”位置信息,誤差來源同1);
4)坐標(biāo)系變換涉及到正弦和余弦函數(shù)的非線性變換,導(dǎo)致在空間配準(zhǔn)時把原來的誤差放大或縮小,沒有規(guī)律可循;同時計算正弦和余弦函數(shù)都是近似計算(如Bursa模型中的近似計算),也會帶來誤差;
5)坐標(biāo)變換的精度誤差,如認(rèn)為主Kinect#1和副Kinect#2采集的關(guān)節(jié)點是同一點等;
6)Kinect傳感器的位置誤差,即坐標(biāo)系之間關(guān)系的假設(shè)處理,在第1.2節(jié)中坐標(biāo)系定義及2個假設(shè)也可以看出并不知道各個傳感器、人體肩部、可穿戴式機(jī)械臂之間的位置信息確切關(guān)系.
通過上述誤差來源分析可知:空間配準(zhǔn)后數(shù)據(jù)誤差由兩部分組成,一種是隨機(jī)誤差,如第1)~3)條;一種是系統(tǒng)運行時的系統(tǒng)誤差如第4)~6)條.對于系統(tǒng)誤差,以誤差均值作為補(bǔ)償降低影響.對于隨機(jī)測量誤差,不對其誤差來源和特性等一一單獨分析,而是將其統(tǒng)一到Kinect對人體關(guān)節(jié)點的觀測誤差,只分析所有來源的綜合誤差特性.最后利用數(shù)據(jù)融合算法對兩臺Kinect的觀測數(shù)據(jù)進(jìn)行融合并對比融合前后的誤差特性變化.
2.3.1 誤差分析實驗
本文對Kinect人體關(guān)節(jié)點數(shù)據(jù)的誤差分析實驗以VICON系統(tǒng)獲得的數(shù)據(jù)為真值、以Kinect for Windows SDK數(shù)據(jù)為測量值,二者求差作為Kinect人體關(guān)節(jié)點數(shù)據(jù)的誤差.VICON是英國Oxford Metrics Limited公司推出的光學(xué)運動捕捉系統(tǒng),其優(yōu)點是捕捉精度高(高出Kinect系統(tǒng)2個數(shù)量級)、數(shù)據(jù)穩(wěn)定、捕捉范圍大等.不方便的地方在于需要粘貼標(biāo)志點.本文將VICON系統(tǒng)對粘貼在人體關(guān)節(jié)處的多個標(biāo)志點的運動捕捉數(shù)據(jù)作為相應(yīng)人體關(guān)節(jié)的位置真實值,將Kinect for Windows SDK獲得的人體關(guān)節(jié)點數(shù)據(jù)當(dāng)作測量值,以此來分析其誤差特性.實驗過程中在每一個關(guān)節(jié)處粘貼多個標(biāo)志點(如圖11所示):一是避免VICON對某一標(biāo)志點的數(shù)據(jù)丟失,二是由于“人體關(guān)節(jié)點”的物理意義不確切,故以多個點的位置平均值作為其真值.另外,為了保證VICON數(shù)據(jù)和Kinect數(shù)據(jù)時間軸的同步,被觀測人體需要做一個“標(biāo)定動作”,例如保持某個姿態(tài)持續(xù)一段時間.VICON系統(tǒng)和Kinect對人體關(guān)節(jié)點位置信息的捕捉數(shù)據(jù)分別是各自局部坐標(biāo)系下的數(shù)據(jù),這就需要獲得二者之間的坐標(biāo)變換關(guān)系.為此,我們在Kinect上粘貼了數(shù)個標(biāo)志點,如圖12所示.這些標(biāo)志點的位置經(jīng)過測量和計算以保證它們所建立的局部坐標(biāo)系與Kinect自身坐標(biāo)的位置關(guān)系.并通過這些標(biāo)志點在VICON下的位置信息計算Kinect自身坐標(biāo)系與VICON坐標(biāo)的轉(zhuǎn)換關(guān)系.
圖11 VICON和Kinect同時追蹤肢體動作Fig.11 VICON and Kinect sensors tracking the limb joints synchronously
圖12 Kinect上粘貼的標(biāo)志點Fig.12 The mark points pasted on the Kinect sensors
VICON系統(tǒng)和Kinect深度圖像傳感器采集到的同一關(guān)節(jié)點的部分運動數(shù)據(jù)如圖13所示.圖中實線為VICON系統(tǒng)獲得的人體關(guān)節(jié)點運動數(shù)據(jù),虛線為Kinect獲得的同一關(guān)節(jié)點運動數(shù)據(jù).圖中VICON系統(tǒng)的數(shù)據(jù)已根據(jù)VICON系統(tǒng)和Kinect之間的坐標(biāo)系變換關(guān)系轉(zhuǎn)換到Kinect坐標(biāo)系下.通過定量分析Kinect數(shù)據(jù)與VICON數(shù)據(jù)之差,可以得出Kinect for Windows SDK的關(guān)節(jié)點數(shù)據(jù)的誤差特性,而不是Kinect深度點云的誤差特性.
圖13 VICON和Kinect采集的手掌點運動數(shù)據(jù)對比Fig.13 The movement data of hand from VICON system and Kinect sensor
為了對比數(shù)據(jù)融合前單臺Kinect的誤差特性與兩臺Kinect數(shù)據(jù)融合后的誤差特性,此處首先計算單臺Kinect數(shù)據(jù)與VICON數(shù)據(jù)作差之后數(shù)據(jù)(因為將VICON數(shù)據(jù)看作真值,此處作差之后數(shù)據(jù)即為Kinect數(shù)據(jù)的誤差)的均值和方差.表1給出了單臺Kinect數(shù)據(jù)的誤差均值和方差.
從Kinect for Windows SDK中獲取的人體關(guān)節(jié)點數(shù)據(jù)是在Kinect傳感器自身直角坐標(biāo)系下.而Kinect的觀測誤差在球面坐標(biāo)系下物理意義更明確:Kinect的工作原理是由點光源發(fā)射紅外結(jié)構(gòu)光獲得深度信息,是球面坐標(biāo)系的范疇.即Kinect作為點光源傳感器用球面坐標(biāo)系描述更合理.于是將其數(shù)據(jù)轉(zhuǎn)換到球面坐標(biāo)系下并分析其誤差特性.其過程如下:
表1同樣給出了球面坐標(biāo)系下Kinect數(shù)據(jù)誤差的均值和方差.另外,Kinect直角坐標(biāo)系下數(shù)據(jù)誤差和球面坐標(biāo)系下數(shù)據(jù)誤差都滿足“未知但有界”,即誤差在各自的包絡(luò)區(qū)間之內(nèi).誤差的包絡(luò)區(qū)間是指其最大最小值的范圍.因為實驗數(shù)據(jù)有限,其最大最小值并不一定能反應(yīng)真實的包絡(luò)區(qū)間,所以此處在排除了明顯的錯誤數(shù)據(jù)外放大范圍取了整數(shù)區(qū)間作為Kinect數(shù)據(jù)誤差的包絡(luò)區(qū)間.包絡(luò)區(qū)間將在后續(xù)數(shù)據(jù)融合中以包絡(luò)矩陣的形式再次出現(xiàn).而且,在數(shù)據(jù)融合中將把Kinect原始數(shù)據(jù)轉(zhuǎn)換到球面坐標(biāo)系下作為Kinect對人體關(guān)節(jié)點的觀測值.
表1 Kinect人體關(guān)節(jié)點數(shù)據(jù)誤差Table 1 The error of Kinect sensor for joints tracking
2.3.2 系統(tǒng)誤差補(bǔ)償
Kinect對人體關(guān)節(jié)點的觀測數(shù)據(jù)誤差均值并不等于零,這表明Kinect觀測值存在一定程度上偏移,稱之為系統(tǒng)誤差,這從圖13中也能看出來.由前面敘述可知,對于系統(tǒng)誤差,以誤差均值作為補(bǔ)償降低影響,減去其誤差均值以去偏.對于隨機(jī)測量誤差,只分析所有來源的綜合誤差特性,即方差和包絡(luò)區(qū)間.最后利用數(shù)據(jù)融合算法對兩臺Kinect的觀測數(shù)據(jù)進(jìn)行融合,以達(dá)到降低隨機(jī)誤差的目的.系統(tǒng)誤差補(bǔ)償后的結(jié)果如圖14所示.
圖14 系統(tǒng)誤差補(bǔ)償后的Kinect數(shù)據(jù)與VICON數(shù)據(jù)Fig.14 The data from Kinect sensor and data from VICON system using system error compensation
2.4 數(shù)據(jù)融合
數(shù)據(jù)融合的本質(zhì)就是根據(jù)多個傳感器的觀測值來估計目標(biāo)的運動狀態(tài),即通過兩臺Kinect對人體關(guān)節(jié)點位置的觀測值采用適當(dāng)?shù)娜诤夏P秃退惴ü烙嬯P(guān)節(jié)點的準(zhǔn)確值.本文將直角坐標(biāo)系下的一階牛頓運動方程作為人體關(guān)節(jié)點位置的狀態(tài)方程,將兩個獨立Kinect的球面坐標(biāo)系下的觀測作為觀測方程,采用擴(kuò)展集員濾波(Extended set membership flter,ESMF)的方法估計人體關(guān)節(jié)點的位置以達(dá)到數(shù)據(jù)融合的目的.通過前面的誤差分析可知,Kinect傳感器存在系統(tǒng)誤差且僅僅利用其誤差均值做了一定補(bǔ)償,則其殘存誤差分布特性沒做進(jìn)一步的分析,不一定能滿足卡爾曼等算法對噪聲的要求.而采用擴(kuò)展集員濾波算法則僅僅需要噪聲滿足“未知但有界”(Unknown but bound,UBB)[24],只需要誤差包絡(luò)區(qū)間或包絡(luò)矩陣,不需要誤差分布特性,可以簡化處理該問題.
2.4.1 數(shù)據(jù)融合模型
數(shù)據(jù)融合的運動目標(biāo)是患者健康側(cè)肢體關(guān)節(jié)點運動,目標(biāo)運動狀態(tài)完全未知,可以用一階牛頓運動方程來描述:
其中,xk表示直角坐標(biāo)系下目標(biāo)關(guān)節(jié)點的位置[x,y,z]T.vk表示其運動速度,ωk表示運動速度變化量,用高斯白噪聲表示,即過程噪聲,其包絡(luò)矩陣是Q,由肢體運動加速度范圍決定.
將兩個獨立Kinect的球面坐標(biāo)系下的觀測作為觀測方程:
其中,yi表示第i個 Kinect獲得的觀測值,yi=[ri,φ,i,θi].yi的觀測噪聲包絡(luò)矩陣為R,由VICON和Kinect的對比誤差分析實驗獲得,為對角陣.
2.4.2 數(shù)據(jù)融合算法
與基于概率的估計方法不同,集員濾波方法(Set membership flter,SMF)對噪聲的分布特性無需任何先驗知識,僅僅要求噪聲有界,即所謂的未知但有界噪聲.它是一種基于集員理論的方法,所有對狀態(tài)的估計不再是單獨的一個值,而是一個可行狀態(tài)的集合.這個可行集(Feasible set)描述了估計值可能出現(xiàn)的所有取值范圍,保證了真實值一定包含在該集合中[24].而擴(kuò)展集員濾波方法是集員濾波方法對非線性系統(tǒng)的擴(kuò)展應(yīng)用.
1)初始狀態(tài)
對于如下非線性系統(tǒng)模型:
系統(tǒng)初始狀態(tài)滿足x0∈E(?x0,P0).其中,?x0表示初始橢球集的中心,P0表示初始橢球集的包絡(luò)矩陣.
從上述模型建立過程可以看出,這種方法對系統(tǒng)誤差分布沒有任何要求,只是要求誤差有界,及包絡(luò)矩陣已知.在這種框架下,在已知k時刻的系統(tǒng)狀態(tài)的情況下,集員估計方法可以遞歸地估計出k+1時刻系統(tǒng)狀態(tài)所在的橢球范圍和這個橢球中心,其計算過程參見文獻(xiàn)[25].
2)觀測方程線性化
對非線性系統(tǒng)模型(5)的觀測方程進(jìn)行線性化處理,獲得線性化的測量方程及誤差橢球包絡(luò)矩陣.
3)一步預(yù)測
利用系統(tǒng)狀態(tài)方程,根據(jù)目標(biāo)當(dāng)前時刻的位置和速度,預(yù)測下一時刻的狀態(tài)空間:
4)狀態(tài)更新
通過系統(tǒng)的測量值進(jìn)一步修正預(yù)測結(jié)果,
上述過程的圖形化表示如圖15,E和S分別表示系統(tǒng)狀態(tài)量和觀測量的包絡(luò)橢球集合.
圖15 ESMF算法原理Fig.15 The scheme of ESMF algorithm
5)數(shù)據(jù)融合
當(dāng)具有多個傳感器時,將具有多個觀測方程,只需要將各自的觀測值以及觀測方程依次與更新后的目標(biāo)運動狀態(tài)量再次進(jìn)行狀態(tài)更新即可完成多個傳感器觀測值對系統(tǒng)狀態(tài)估計值的更新,即完成了多個傳感器的數(shù)據(jù)融合.
從圖15算法原理中即可知,關(guān)節(jié)點真實值一定存在于預(yù)測集和觀測集的交集中.當(dāng)預(yù)測集和觀測集的交集為空時,則證明觀測集是錯的,即數(shù)據(jù)出現(xiàn)了錯誤.其物理原因只能是傳感器遮擋、傳感器失去追蹤的關(guān)節(jié)點、傳感器關(guān)節(jié)點數(shù)據(jù)在傳輸?shù)倪^程中出錯等.判斷出觀測集出錯之后,只要將該觀測集舍棄即可,只處理另外一個傳感器的觀測集.由此可以看出,基于集員濾波算法的數(shù)據(jù)融合理論上可有效消除單一傳感器數(shù)據(jù)出錯和丟失的問題.
相對于卡爾曼濾波方法保證濾波器的平均估計性能最優(yōu),集員濾波保證了濾波器在最壞情況下的濾波性能,它以犧牲濾波器的平均估計精度為代價,來保證濾波器對外界干擾的魯棒性能.
本文的實驗主要有5項內(nèi)容:實驗1驗證利用Bursa七參數(shù)模型做坐標(biāo)變換的有效性(詳見第2.2節(jié));實驗2以VICON系統(tǒng)采集人體關(guān)節(jié)點數(shù)據(jù)對Kinect傳感器追蹤人體關(guān)節(jié)點數(shù)據(jù)做誤差分析(詳見第2.3節(jié));實驗3驗證集員濾波的數(shù)據(jù)融合效果,分析融合前后Kinect關(guān)節(jié)點數(shù)據(jù)精度變化;實驗4驗證兩臺Kinect做數(shù)據(jù)融合可以有效解決人體遮擋和Kinect數(shù)據(jù)丟失或出錯的問題;實驗5綜合實驗,以兩臺Kinect傳感器采集人體關(guān)節(jié)點數(shù)據(jù),計算關(guān)節(jié)角,并控制一臺七自由度機(jī)械臂跟隨運動.
實驗3驗證集員濾波方法應(yīng)用于數(shù)據(jù)融合的效果.實驗步驟與方法同實驗2一致,對比數(shù)據(jù)融合前后Kinect數(shù)據(jù)相對于VICON數(shù)據(jù)的誤差變化,以此驗證集員濾波方法的數(shù)據(jù)融合效果.融合前Kinect數(shù)據(jù)誤差特性如表1所示,融合后Kinect數(shù)據(jù)誤差特性如表2所示.從表中可以看出,兩臺Kinect數(shù)據(jù)融合后不論是直角坐標(biāo)系還是球面坐標(biāo)系下的數(shù)據(jù)誤差方差降低、精度提高,即集員濾波算法應(yīng)用于雙Kinect人體關(guān)節(jié)點數(shù)據(jù)是可行的.
表2 數(shù)據(jù)融合后Kinect人體關(guān)節(jié)點數(shù)據(jù)誤差Table 2 The error of Kinect sensor after data fusion
實驗4驗證兩臺Kinect做數(shù)據(jù)融合可以有效解決人體遮擋和Kinect數(shù)據(jù)丟失或出錯的問題.實驗方法與實驗2、3一致,但是需要在實驗過程中人為依次遮擋住兩臺Kinect的鏡頭,最后對比分析Kinect原始數(shù)據(jù)、融合后的數(shù)據(jù)以及VICON數(shù)據(jù).其結(jié)果如圖16所示,星號線為主Kinect#1追蹤人體關(guān)節(jié)點手掌數(shù)據(jù),加號線為副Kinect#2追蹤人體關(guān)節(jié)點手掌數(shù)據(jù),圓圈線為擴(kuò)展集員濾波算法對兩組Kinect數(shù)據(jù)融合后的結(jié)果,菱形線為VICON數(shù)據(jù).從圖中可以看出,主Kinect#1和副Kinect#2的數(shù)據(jù)都有一部分顯著偏離原手掌運動軌跡,這是由人為遮擋產(chǎn)生的.而擴(kuò)展集員濾波算法融合結(jié)果始終與手掌運動軌跡即VICON數(shù)據(jù)保持一致,由此可見兩臺Kinect的數(shù)據(jù)融合可有效處理遮擋和數(shù)據(jù)出錯或丟失問題.另外,從圖中還可看成副Kinect#2的數(shù)據(jù)與VICON數(shù)據(jù)更接近,這是因為采集的關(guān)節(jié)點為左側(cè)手臂關(guān)節(jié)點,距離副Kinect#2更接近其工作范圍內(nèi),即正向1.45m到1.75m[19].而且,融合后的數(shù)據(jù)更接近副Kinect#2的數(shù)據(jù),只有當(dāng)副Kinect#2被遮擋之后融合的數(shù)據(jù)才偏向于主Kinect#1.但當(dāng)副Kinect#2數(shù)據(jù)恢復(fù)正常,融合數(shù)據(jù)立即偏向于副Kinect#2.這說明精度更高的傳感器在擴(kuò)展集員濾波算法的數(shù)據(jù)融合中所占權(quán)重更大,這是由噪聲包絡(luò)矩陣決定的.
圖16 ESMF算法對兩臺Kinect數(shù)據(jù)融合Fig.16 Data fusion of two Kinect sensors using ESMF
實驗5為鏡像運動康復(fù)系統(tǒng)綜合實驗.實驗場景如圖1所示.在用戶正前方和左側(cè)方各放置一臺Kinect深度圖像傳感器,將兩臺Kinect傳感器追蹤得到的人體上肢關(guān)節(jié)點數(shù)據(jù)通過時間對準(zhǔn)、空間對準(zhǔn)和數(shù)據(jù)融合,之后計算獲得各個關(guān)節(jié)角并以此控制七自由度機(jī)械臂運動.
實驗視頻截圖如圖17所示,用戶手臂遙控七自由度機(jī)械臂運動過程中,人為遮擋任意一臺Kinect深度圖像傳感器都不影響七自由度機(jī)械臂與用戶手臂的同步運動,驗證了兩臺Kinect深度圖像傳感器可有效消除遮擋、數(shù)據(jù)出錯或丟失的問題.
圖17(a)為在可穿戴式機(jī)械臂上電之前的狀態(tài);即兩臺Kinect采集患者健康側(cè)手臂運動數(shù)據(jù)并完成了數(shù)據(jù)融合的處理,但是并沒有做“鏡像運動”,也沒有控制可穿戴式機(jī)械臂運動.圖17(b)為可穿戴式機(jī)械臂上電之后的狀態(tài);可以看出融合之后的數(shù)據(jù)經(jīng)過“鏡像運動”處理發(fā)給可穿戴式機(jī)械臂控制其跟隨健康側(cè)手臂運動.圖中機(jī)械臂與健康側(cè)手臂運動并不同步,這因為機(jī)械臂的控制指令經(jīng)過了一個中值濾波器產(chǎn)生了相位差.在右下角的程序圖形界面的中間部分的實時運動曲線中可以看出,上面肩關(guān)節(jié)角α和下面肘關(guān)節(jié)角γ均有一個不正常的“凸起”,該凸起表示其中一臺Kinect傳感器的數(shù)據(jù)丟失或者出錯了,但是融合結(jié)果和可穿戴式機(jī)械臂仍然能夠跟隨正確的健康側(cè)手臂運動數(shù)據(jù).論文中涉及的實驗的錄制視頻保存在http://pan.baidu.com/s/1mhKFPFy.圖17(c)為人為遮擋正面主Kinect#1的場景.右下角的程序圖形界面中也可以看出其中一臺Kinect的數(shù)據(jù)突然全部為零,運動曲線變成直線.但融合結(jié)果和可穿戴式機(jī)械臂仍然能夠正確跟隨健康側(cè)手臂運動數(shù)據(jù).圖17(d)為人為遮擋側(cè)面副Kinect#2的場景,與圖17(c)類似,融合結(jié)果和可穿戴式機(jī)械臂仍然能夠正確跟隨健康側(cè)手臂運動數(shù)據(jù).綜上,兩臺Kinect深度圖像傳感器在ESMF算法下的數(shù)據(jù)融合可以有效解決單一Kinect發(fā)生遮擋、數(shù)據(jù)丟失或出錯的問題.但在實際實驗過程中,當(dāng)人為遮擋其中一臺Kinect之后再撤除遮擋物,被遮擋的Kinect并不能及時重新追蹤到患者,該問題有待以后解決.
圖17 鏡像運動康復(fù)系統(tǒng)綜合實驗Fig.17 Experiment of the mirror movements rehabilitation system
本文研究了利用兩臺Kinect深度圖像傳感器消除鏡像運動康復(fù)系統(tǒng)中常見的患側(cè)肢體遮擋、Kinect數(shù)據(jù)丟失或出錯的問題.主要內(nèi)容包括利用簡化的Bursa線性模型和遞推最小二乘法對兩臺Kinect數(shù)據(jù)做在線坐標(biāo)變換,算法簡單有效,無需外部標(biāo)定板;利用VICON光學(xué)運動捕捉系統(tǒng)和Kinect數(shù)據(jù)的對比分析了Kinect追蹤人體關(guān)節(jié)點數(shù)據(jù)的誤差分布,分析了在球面坐標(biāo)系下處理Kinect追蹤人體關(guān)節(jié)點數(shù)據(jù)的合理性;利用集員濾波算法對兩臺Kinect追蹤的人體關(guān)節(jié)點數(shù)據(jù)做數(shù)據(jù)融合,該方法對傳感器噪聲要求僅僅需要“未知但有界”,無需滿足特定的噪聲分布如高斯白噪聲;最后,設(shè)計了5組實驗驗證了以上模型與方法的有效性.
本文并未研究兩臺Kinect識別用戶同步問題,即保證兩臺Kinect識別的用戶為同一用戶,該問題將在以后的研究中進(jìn)行.肢體康復(fù)醫(yī)療中另一個重要問題是康復(fù)運動過程中的力控制對肢體功能恢復(fù)至關(guān)重要,該問題將在以后與肌電信號、肢體剛度估計以及阻抗控制的結(jié)合中繼續(xù)研究.
1 Roy A K,Soni Y,Dubey S.Enhancing efectiveness of motor rehabilitation using Kinect motion sensing technology. In:Proceedings of the 2013 IEEE Global Humanitarian Technology Conference.Trivandrum,India:IEEE,2013. 298?304
2 Chang C Y,Lange B,Zhang M,Koenig S,Requejo P,Somboon N,Sawchuk A A,Rizzo A A.Towards pervasive physical rehabilitation using Microsoft Kinect.In:Proceedings of the 6th International Conference on Pervasive Computing Technologies for Healthcare(PervasiveHealth)and Workshops.San Diego,USA:IEEE,2012.159?162
3 Chang Y J,Chen S F,Huang J D.A Kinect-based system for physical rehabilitation:a pilot study for young adults with motor disabilities.Research in Developmental Disabilities,2011,32(6):2566?2570
4 Nguyen K D,Chen I M,Luo Z,Yeo S H,Duh H B L.A wearable sensing system for tracking and monitoring of functional arm movement.IEEE/ASME Transactions on Mechatronics,2011,16(2):213?220
5 Kong K,Tomizuka M.Control of exoskeletons inspired by fctitious gain in human model.IEEE/ASME Transactions on Mechatronics,2009,14(6):689?698
6 Han J G,Shao L,Xu D,Shotton J.Enhanced computer vision with Microsoft Kinect sensor:a review.IEEE Transactions on Cybernetics,2013,43(5):1318?1334
7 Khoshelham K,Elberink S O.Accuracy and resolution of Kinect depth data for indoor mapping applications.Sensors, 2012,12(2):1437?1454
8 Choi S M,Jeong J C,Chang J.Dense 3D depth map with DOE pattern.In:Proceedings of the 9th International Conference on Ubiquitous Robots and Ambient Intelligence. Daejeon,Korea:IEEE,2012.34?37
9 Dutta T.Evaluation of the KinectTMsensor for 3-D kinematic measurement in the workplace.Applied Ergonomics, 2012,43(4):645?649
10 Stommel M,Beetz M,Xu W L.Inpainting of missing values in the Kinect sensor's depth maps based on background estimates.IEEE Sensors Journal,2014,14(4):1107?1116
11 Newcombe R A,Izadi S,Hilliges O,Molyneaux D,Kim D, Davison A J,Kohi P,Shotton J,Hodges S,Fitzgibbon A. KinectFusion:real-time dense surface mapping and tracking.In:Proceedings of the 10th IEEE International Symposium on Mixed and Augmented Reality.Basel,Switzerland: IEEE,2011.127?136
12 Yang Dong-Fang,Wang Shi-Cheng,Liu Hua-Ping,Liu Zhi-Guo,Sun Fu-Chun.Scene modeling and autonomous navigation for robots based on Kinect system.Robot,2012,34(5):581?589 (楊東方,王仕成,劉華平,劉志國,孫富春.基于Kinect系統(tǒng)的場景建模與機(jī)器人自主導(dǎo)航.機(jī)器人,2012,34(5):581?589)
13 Xia L,Chen C C,Aggarwal J K.Human detection using depth information by Kinect.In:Proceedings of the 2011 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops(CVPRW).Colorado, USA:IEEE,2011.15?22
14 Zhang Z,Liu W H,Metsis V,Athitsos V.A viewpointindependent statistical method for fall detection.In:Proceedings of the 21st International Conference on Pattern Recognition.Tsukuba,Japan:IEEE,2012.3626?3630
18 Megalingam R K,Saboo N,Ajithkumar N,Unny S,Menon D.Kinect based gesture controlled robotic arm:a research work at HuT Labs,In:Proceedings of the 2013 IEEE International Conference in MOOC Innovation and Technology in Education.Jaipur,India:IEEE,2013.294?299
19 Tao G,Archambault P S,Levin M F.Evaluation of Kinect skeletal tracking in a virtual reality rehabilitation system for upper limb hemiparesis.In:Proceedings of the 2013 International Conference on Virtual Rehabilitation.Philadelphia,USA:2013.164?165
20 Li S Y,Pathirana P N,Caelli T.Multi-Kinect skeleton fusion for physical rehabilitation monitoring.In:Proceedings of the 36th Annual International Conference of the IEEE Engineering in Medicine and Biology Society.Chicago,USA: IEEE,2014.5060?5063
21 Zhu Te-Hao,Zhao Qun-Fei,Xia Ze-Yang.A visual perception algorithm for human motion by a Kinect.Robot,2014,36(6):647?653 (朱特浩,趙群飛,夏澤洋.利用Kinect的人體動作視覺感知算法.機(jī)器人,2014,36(6):647?653)
22 Wang Wen-Li,Cheng Chuan-Lu,Chen Jun-Ying.Coordinate transformation models and their practicability.Journal of Geomatics,2010,35(5):37?39 (王文利,程傳錄,陳俊英.常用坐標(biāo)轉(zhuǎn)換模型及其實用性研究.測繪信息與工程,2010,35(5):37?39)
23 LiWei-Xiao,Shen Yun-Zhong,LiBo-Feng.Threedimensional coordinate transformation with consideration of coordinate errors in two coordinate systems.Journal of Tongji University(Natural Science),2011,39(8): 1243?1246 (李微曉,沈云中,李博峰.顧及2套坐標(biāo)誤差的三維坐標(biāo)變換方法.同濟(jì)大學(xué)學(xué)報(自然科學(xué)版),2011,39(8):1243?1246)
24 Zhou Bo,Qian Kun,Ma Xu-Dong,Dai Xian-Zhong.A new nonlinear set membership flter based on guaranteed bounding ellipsoid algorithm.Acta Automatica Sinica,2013,39(2):150?158 (周波,錢堃,馬旭東,戴先中.一種新的基于保證定界橢球算法的非線性集員濾波器.自動化學(xué)報,2013,39(2):150?158)
25 Gu F,He Y Q,Han J D.Active persistent localization of a three-dimensional moving target under set-membership uncertainty description through cooperation of multiple mobile robots.IEEE Transactions on Industrial Electronics,2015,62(8):4958?4971
杜惠斌中國科學(xué)院沈陽自動化研究所博士研究生.2012年獲得重慶大學(xué)機(jī)械設(shè)計及其自動化學(xué)士學(xué)位.主要研究方向為協(xié)作型機(jī)械臂運動規(guī)劃與控制.
E-mail:duhuibin@sia.cn
(DU Hui-BinPh.D.candidate at the Shenyang Institute of Automation, Chinese Academy of Sciences.He received his bachelor degree from Chongqing University in 2012.His research interest covers motion plan and control of the collaborative robot.)
趙憶文中國科學(xué)院自動化研究所研究員.1995、1997年分別獲得哈爾濱工業(yè)大學(xué)學(xué)士學(xué)位、碩士學(xué)位;2000年獲得中國科學(xué)院沈陽自動化研究所博士學(xué)位.主要研究方向為特種機(jī)器人,醫(yī)療機(jī)器人,智能機(jī)器人控制.
E-mail:zhaoyw@sia.cn
(ZHAO Yi-WenProfessor at the Shenyang Institute of Automation,Chinese Academy of Sciences.He received his bachelor and master degrees from Harbin Institute of Technology in 1995 and 1997,and the Ph.D.degree from Shenyang Institute of Automation,Chinese Academy of Sciences in 2000,respectively.His research interest covers specialized robot,medical robot and robotics control.)
韓建達(dá)中國科學(xué)院沈陽自動化所研究員,博士生導(dǎo)師.1990年獲得西安交通大學(xué)學(xué)士學(xué)位,1994年中國科學(xué)院沈陽自動化研究所碩士學(xué)位,1998年哈爾濱工業(yè)大學(xué)博士學(xué)位.主要研究方向為機(jī)器人自主行為共性技術(shù),移動、醫(yī)療、康復(fù)機(jī)器人系統(tǒng)研發(fā)與應(yīng)用.本文通信作者.
E-mail:jdhan@sia.cn
(HAN Jian-DaProfessor at the Shenyang Institute of Automation,Chinese Academy of Sciences.He received his bachelor degree from Xi'an Jiaotong University in 1990, master degree from Shenyang Institute of Automation,Chinese Academy of Sciences in 1994,Ph.D.degree from Harbin Institute of Technology in 1998.His research interest covers common technology of autonomy ability of robots,system research and development of moving robot, medical robot and rehabilitant robot.Corresponding author of this paper.)
趙新剛中國科學(xué)院沈陽自動化所研究員.2000年,2004年分別獲得吉林大學(xué)學(xué)士學(xué)位和碩士學(xué)位;2008年獲得中國科學(xué)院沈陽自動化研究所博士學(xué)位.主要研究方向為特種機(jī)器人,醫(yī)療機(jī)器人,智能機(jī)器人控制.
E-mail:zhaoxingang@sia.cn
(ZHAO Xin-GangProfessor at the Shenyang Institute of Automation,Chinese Academy of Sciences.He received his bachelor and master degrees from Jilin University in 2000 and 2004;and Ph.D.degree from Shenyang Institute of Automation,Chinese Academy of Sciences in 2008,respectively.His research interest covers specialized robot,medical robot and robotics control.)
王 爭中國科學(xué)院沈陽自動化所博士,副研究員.主要研究方向為特種機(jī)器人,醫(yī)療機(jī)器人,智能機(jī)器人控制.
E-mail:wzheng@sia.cn
(WANG ZhengPh.D.,associate professor at the Shenyang Institute of Automation,Chinese Academy of Sciences.His research interest covers specialized robot,medical robot,and robotics control.)
宋國立中國科學(xué)院沈陽自動化所博士,助理研究員.主要研究方向為特種機(jī)器人,醫(yī)療機(jī)器人,智能機(jī)器人控制.
E-mail:songgl@sia.cn
(SONG Guo-LiPh.D.,assistant researcher at the Shenyang Institute of Automation,Chinese Academy of Sciences.His research interest covers specialized robot,medical robot and robotics control.)
Data Fusion of Human Skeleton Joint Tracking Using Two Kinect Sensors and Extended Set Membership Filter
DU Hui-Bin1,2ZHAO Yi-Wen1HAN Jian-Da1ZHAO Xin-Gang1WANG Zheng1SONG Guo-Li1
Kinect-like depth sensors are widely used in rehabilitation systems.However,using a single depth sensor is less reliable due to limb blocking,data-loss or error.This paper uses two Kinect sensors and a data fusion algorithm to solve these problems.Firstly,two Kinect sensors are used to capture the motion data of the healthy side arm of the hemiplegic patient.Secondly,the data is processed with time alignment,then coordinates are transformed with Bursa transform and data fusion is done using extended set membership flter(ESMF)successively.Then,the motion data is mirrored by the middle plane,namely“mirror motion”.In the end,the mirrored motion data controls the wearable robotic arm to drive the patient's paralytic side arm so as to interactively and initiatively complete a variety of recovery actions prompted by computer with 3D animation games.The efectiveness of the proposed approach is validated by both experiments on Kinect sensors&VICON and a 7 DOF manipulator.Also,two Kinect sensors can solve those problems efectively.
Mirror rehabilitation,Kinect sensor,Bursa linear model,extended set membership flter(ESMF)
杜惠斌,趙憶文,韓建達(dá),趙新剛,王爭,宋國立.基于集員濾波的雙Kinect人體關(guān)節(jié)點數(shù)據(jù)融合.自動化學(xué)報, 2016,42(12):1886?1898
Du Hui-Bin,Zhao Yi-Wen,Han Jian-Da,Zhao Xin-Gang,Wang Zheng,Song Guo-Li.Data fusion of human skeleton joint tracking using two Kinect sensors and extended set membership flter.Acta Automatica Sinica,2016,42(12):1886?1898
2016-02-29 錄用日期2016-10-14
Manuscript received February 29,2016;accepted October 14, 2016
國家自然科學(xué)基金(U1508208),中科院機(jī)器人與智能制造自主部署課題(C2016001)資助
Supported by National Natural Science Foundation of China (U1508208)and Chinese Academy of Sciences Robotics and Manufacture Project(C2016001)
本文責(zé)任編委程龍
Recommended by Associate Editor CHENG Long
1.中國科學(xué)院沈陽自動化研究所機(jī)器人學(xué)國家重點實驗室 沈陽110016 2.中國科學(xué)院大學(xué)北京100190
1.State Key Laboratory of Robotics,Shenyang Institute of Automation(SIA),Chinese Academy of Sciences,Shenyang 110016 2.University of Chinese Academy of Sciences,Beijing 100190