瞿 暢 沈 芳 于陳陳 孫 杰
(南通大學(xué)機械工程學(xué)院,江蘇 南通 226019)
基于Kinect深度圖像的腕部及手指活動度測量方法
瞿 暢*沈 芳 于陳陳 孫 杰
(南通大學(xué)機械工程學(xué)院,江蘇 南通 226019)
為簡化人體腕部及手指關(guān)節(jié)活動度測量過程,提高測量效率和精度,提出一種基于Kinect深度圖像的人體腕部及手指活動度測量方法。通過OpenNI獲取Kinect捕捉的腕部及手部深度圖像,對深度圖像進行預(yù)處理,以剔除人體前景、背景的干擾。利用OpenNI的手勢偵測及手心追蹤器定位手心位置,從深度圖像中進一步分割出手部區(qū)域,并對該區(qū)域進行形態(tài)學(xué)處理,確定指尖、指根對應(yīng)的凸包及缺陷點。根據(jù)凸包、缺陷點信息以及不同活動度測量科目,完成腕部尺偏/橈偏、四指掌指關(guān)節(jié)外展及拇指橈側(cè)外展的自動測量。對腕部及手指活動度的不同科目各進行20次測量實驗,并將測量值與從彩色圖像上測得的參考值進行對比,根據(jù)t檢驗法,得到腕部尺偏/橈偏、食指掌指關(guān)節(jié)外展及拇指橈側(cè)外展科目的|t|值分別為0.864、1.195、1.901和1.752,均小于2.093。這些測量結(jié)果與參考值無顯著差異,表明該方法的測量結(jié)果可以達到臨床測量的精度要求。
活動度;測量方法;Kinect;手指;腕部
關(guān)節(jié)活動度測量是評價人體運動系統(tǒng)功能的基本手段,在采用通用量角器、方盤量角器及電子量角器等儀器進行活動度測量時,因肢體軟組織的柔軟性,量角器活動臂、固定臂及旋轉(zhuǎn)中心不易放置準(zhǔn)確,不同測量人員放置量角器的方法也有差異,這些對測量結(jié)果都會造成影響。傳統(tǒng)測量方法在應(yīng)用中受到限制,于是人們開始積極研究用于關(guān)節(jié)活動度測量的新型設(shè)備與方法。三維攝像測量系統(tǒng)[1]、電磁跟蹤系統(tǒng)[2]、激光CCD 系統(tǒng)[3]等新型人體測量設(shè)備可以實現(xiàn)關(guān)節(jié)活動度的自動測量,具有較高的測量效率和精度。但此類系統(tǒng)在軟硬件上投入較大,所以難以推廣使用。胡海滔等提出了一種新的關(guān)節(jié)活動度測量方法,直接在數(shù)碼相機拍攝的圖片上進行關(guān)節(jié)活動角度的測量[4]。這種方法由于數(shù)碼相機的存儲卡容量有限,在拍攝一定數(shù)量的照片后需取出存儲卡,將數(shù)據(jù)傳輸?shù)接嬎銠C,因此不能實時獲得測量結(jié)果。
近幾年,一種新型的Kinect體感設(shè)備逐步應(yīng)用于肢體功能和關(guān)節(jié)活動的相關(guān)研究中[5-6]。Antonio等將加速度傳感器、陀螺測試儀以及磁力儀等便攜式傳感器與Kinect 結(jié)合,進行人體關(guān)節(jié)活動度的測量,并對不同傳感器用于人體測量時的差異進行探討分析,初步驗證了Kinect 用于人體關(guān)節(jié)角度測量的可行性[7]。Junya Kusaka等提出了一種采用Kinect傳感器獲取關(guān)節(jié)角度的方法,分別對康復(fù)訓(xùn)練前后偏癱患者的手臂運動進行測量和評估,評價康復(fù)訓(xùn)練效果[8]。筆者在前期的研究工作中,利用Kinect SDK提出了一種上肢關(guān)節(jié)活動度自動測量方法[9]。但是,用該方法只能進行上肢粗大關(guān)節(jié)(不包括手指)活動度測量,且用于測量腕部活動度時數(shù)據(jù)易抖動。因此,筆者在上述研究工作的基礎(chǔ)上,基于Kinect深度圖像,實現(xiàn)了腕部及手指活動度的自動測量。
由于Kinect SDK的骨架追蹤不包括手指關(guān)節(jié),本研究是基于Kinect的深度圖像,識別手指指尖、指根位置,進行手指關(guān)節(jié)活動度的測量。首先,利用OpenNI獲取深度圖像,并剔除人體前景、背景的干擾;其次,結(jié)合OpenNI中的NITE部分的手勢檢測及OpenNI SDK中的手心追蹤器定位手心位置[10],從深度圖像中分割出手部區(qū)域;最后,對手部區(qū)域做形態(tài)學(xué)處理,找出手部輪廓,并根據(jù)輪廓的擬合多邊形,尋找與指尖、指根對應(yīng)的凸包及缺陷點,提取凸包、缺陷點的坐標(biāo)信息,從而根據(jù)特定活動度指標(biāo)進行手指關(guān)節(jié)活動度的計算。具體流程如圖1所示。
圖1 手部關(guān)節(jié)活動度自動測量流程Fig.1 The flow diagram for detecting the ROM of hand
1.1 手部圖像分割
為實現(xiàn)手部關(guān)節(jié)活動度的測量,必須首先從深度圖像中實現(xiàn)手部圖像的分割。圖2為Kinect獲取的原始深度圖像,從該圖像中分割手部區(qū)域包括手勢識別、手心追蹤和圖像分割3個主要步驟。第1步,采用OpenNI中NITE的手勢生成器添加需要識別檢測的特定手勢,OpenNI手勢識別的回調(diào)函數(shù)在手勢識別成功后會返回一個代表用戶手心位置的XnPoint3D的點;第2步,采用OpenNI SDK中的手心生成器進行手部追蹤,將手勢識別時獲取的手心位置點作為手心生成器的初始化數(shù)據(jù),通過坐標(biāo)變換將手心坐標(biāo)轉(zhuǎn)化為像素值,便于后續(xù)的圖像處理;第3步,利用追蹤到的手心位置分割手部圖像,剔除身體其他部位的干擾,以手部中心為矩形區(qū)域中心,分割提取出手部區(qū)域的深度圖像。
圖2 原始深度圖像Fig.2 Initial image
1.2 手部圖像特征提取
手部圖像分割完成后,仍需對手部圖像做進一步處理,方可實現(xiàn)手部特征(如手指數(shù)、手指的指尖點、指根點等)的分類識別,為手部關(guān)節(jié)活動度的測量提供初始數(shù)據(jù)。為此,利用OpenCV對分割出的手部圖像分別進行噪聲處理及輪廓檢測分析處理[11]。
1.2.1 手部圖像的去噪處理
根據(jù)手心深度值及手掌厚度設(shè)定閾值,并調(diào)用OpenCV中的相關(guān)函數(shù)進行手部圖像的閾值化處理。閾值化處理后的手部二值圖像會有噪聲及失真,邊緣存在大量毛刺,不利于手指關(guān)節(jié)點的提取,因此采用OpenCV提供的高斯濾波方法來實現(xiàn)圖像平滑處理。針對手部深度圖像中存在的缺失空洞現(xiàn)象,采用先膨脹再腐蝕的閉運算進行圖像形態(tài)學(xué)處理,在不明顯改變輪廓面積的情況下填充手部圖像中的細小空洞,提高深度圖像質(zhì)量。經(jīng)過去噪處理后,手部圖像如圖3(a)所示。
1.2.2 手部輪廓的確定
輪廓檢測分析是手部關(guān)節(jié)點識別的關(guān)鍵步驟。首先,利用OpenCV中的輪廓處理函數(shù),根據(jù)手部二值圖像檢測并繪制其外部輪廓;其次,利用OpenCV中的道格拉斯-普克算法,求出輪廓的封閉多邊形;最后,利用封閉多邊形的頂點集找到其凸包集合,通過OpenCV中的convexHull()函數(shù)識別定位指尖點。根據(jù)手部圖像及凸包集合檢測輪廓的凸型缺陷,進而通過findConvexityDefects()函數(shù)分析獲取手部圖像的缺陷點,初步識別指根。
經(jīng)上述處理,實現(xiàn)了手指指尖、指根的識別定位,并可根據(jù)獲取的指尖、指根點的坐標(biāo)信息,進行手部關(guān)節(jié)活動度的計算,也可在圖像中繪制手部輪廓以及手指指尖、指根對應(yīng)的凸點和凹點(見圖3(b))。
圖3 手部特征提取過程。(a)去噪后的手部圖像;(b)手部特征點獲取Fig.3 Process of extracting the feature of hand. (a)Denoised image;(b)Extraction of feature points
1.3 腕部及手指活動度測量
1.3.1 腕部尺偏及橈偏的測量
腕部關(guān)節(jié)活動度的測量主要包括尺偏、橈偏、掌屈、背伸等科目[12],此處以腕關(guān)節(jié)活動度尺偏及橈偏科目的測量為例進行說明。依據(jù)康復(fù)評定學(xué),手掌靠近橈骨方向運動為橈偏,靠近尺骨方向運動為尺偏。腕部活動度尺偏和橈偏測量的軸心為腕關(guān)節(jié)背側(cè)第三掌骨的根部,固定臂與橈骨長軸平行,移動臂為第三掌骨背側(cè)縱軸線。
本研究采用經(jīng)深度圖像處理后的輪廓點(見圖4中的A、B、C點)作為計算依據(jù),對腕部尺偏、橈偏的關(guān)節(jié)活動度作近似計算。如圖4(a)所示,腕部橈偏科目的測量以腕部點A為軸心,AC為固定臂,AB為移動臂,計算∠CAB的大小,其補角即為腕部的橈偏角度。同理,腕部尺偏角度可通過計算圖4(b)中∠CAB的補角獲得。
圖4 腕部活動度計算關(guān)鍵點。(a)橈偏; (b) 尺偏Fig.4 Key points for calculating the ROM of wrist. (a) Wrist radial; (b) Ulnar deviation
1.3.2 手指關(guān)節(jié)活動度測量
手指關(guān)節(jié)活動度測量科目主要有掌指關(guān)節(jié)外展、掌指關(guān)節(jié)內(nèi)收、掌指關(guān)節(jié)屈曲、近端指骨間關(guān)節(jié)屈曲、拇指橈側(cè)外展等[12],此處以掌指關(guān)節(jié)外展及拇指橈側(cè)外展為例進行說明。
1.3.2.1 掌指關(guān)節(jié)外展
手部掌指關(guān)節(jié)外展是手部活動度的重要科目,依據(jù)康復(fù)評定學(xué),該指標(biāo)的測量以中指指骨縱軸為固定臂,所測量手指指骨縱軸為移動臂。通過對手部圖像的處理,可獲取手指指尖點A、B、C、D、H及指根點E、F、G(見圖5)的位置信息;根據(jù)各點坐標(biāo),可計算相鄰手指指尖點與其中間指根點的夾角(∠AEB、∠BFC、∠CGD)。以相鄰指根點的距離作為一邊、以手指長度為另一邊,建立手指的外接矩形,指尖點視作矩形短邊中點。根據(jù)臨床測量方法的測量要求,將各相鄰矩形長邊的夾角α1、α2及α3近似作為相應(yīng)手指掌指關(guān)節(jié)的外展角度(見圖5)。
圖5 四指掌指關(guān)節(jié)外展角度計算原理Fig.5 Schematic for calculating the abduction of metacarpophalangeal joints
以食指關(guān)節(jié)外展角度α3為例,根據(jù)其幾何關(guān)系,可得食指掌指關(guān)節(jié)外展角度為
(1)
其中
d為食指外接矩形的寬,人體結(jié)構(gòu)學(xué)中暫無對人體手部結(jié)構(gòu)尺寸的參考標(biāo)準(zhǔn),此處將四指掌指外接矩形的短邊長度統(tǒng)一設(shè)定為中指兩側(cè)指根點F、G之間的距離進行近似計算,即d=FG。
根據(jù)上述計算原理,同樣可得到無名指與中指夾角α2以及小拇指與無名指的夾角α1。
1.3.2.2 拇指橈側(cè)外展
康復(fù)評定學(xué)中規(guī)定,拇指橈側(cè)外展角度θ的測量以拇指掌骨根部O為軸心(見圖6),固定臂與橈骨平行,移動臂與拇指掌骨平行。采用深度圖像處理后,可獲取輪廓點A、C、D的位置坐標(biāo)。通過建立拇指外接矩形,用∠BCD作為外展角θ的近似值,有
θ≈∠BCD=∠ACD-∠ACB
(2)
其中,∠ACB、∠ACD可以根據(jù)A、C、D的位置坐標(biāo)通過三角函數(shù)關(guān)系求得。
圖6 拇指橈側(cè)外展角度計算原理Fig.6 Schematic for calculating the radial deviation of thumb
1.4 實驗及統(tǒng)計分析方法
為驗證本研究提出的腕部及手指活動度自動測量方法的準(zhǔn)確性,選擇1名健康男性志愿者進行測量精度的實驗。受測者以坐姿正對Kinect 1.5~2 m處,手部做關(guān)節(jié)活動度測量姿勢,根據(jù)傳統(tǒng)測量體位,在被測關(guān)節(jié)的軸心、固定臂和移動臂上粘貼圓形標(biāo)記物(如圖7中的A、B、C),Kinect傳感器同時獲取手部彩色及深度圖像。根據(jù)彩色圖像中標(biāo)記物間的位置關(guān)系,計算固定臂與移動臂的夾角,并將其作為活動度測量的參考值;將該參考值與通過本測量方法獲取的測量值進行比較,以驗證測量結(jié)果的準(zhǔn)確性。
圖7為腕部尺偏測量的彩色圖像,測試前分別在腕部尺偏測量的軸心、移動臂及固定臂中粘貼A、B、C三個圓形標(biāo)記物,測量彩色圖像中圓形標(biāo)記物的夾角∠BAC,并將其作為腕部尺偏角度的參考值。利用本測量方法測得的測量值與∠BAC進行比較,對測量方法用于腕部尺偏測量的精度進行評估。同理,也可進行腕部橈偏的測量精度評估。拇指橈側(cè)外展、四指掌指關(guān)節(jié)外展活動度的測量精度評估,采用類似的方法進行。
圖7 腕部尺偏測量Fig.7 Measurement of wrist ulnar deviation
每一測量科目各做20次測量實驗,利用t檢驗法檢驗系統(tǒng)誤差。若各科目t統(tǒng)計量的絕對值均小于臨界值,表明參考值與測量值間無顯著差異,可以達到臨床應(yīng)用要求。
根據(jù)上述測量原理和方法,每一測量科目的20次測量實驗結(jié)果如表1所示。利用t檢驗法檢驗系統(tǒng)誤差,則實驗值n=20,自由度df=20-1=19,查表[13]得臨界值tα/2(df)=t0.025(19)=2.093。計算得到各科目的t值分別為:腕部尺偏0.861,腕部橈偏1.195,拇指橈側(cè)外展1.752,四指掌指關(guān)節(jié)外展1.901,均小于2.093,表明參考值與測量值間無顯著差異,即基于OpenNI的腕部及手指活動度測量方法具有較高的測量精確度,可以達到臨床應(yīng)用要求。
在康復(fù)醫(yī)學(xué)中,為了確定有無關(guān)節(jié)活動障礙及障礙程度,給制訂治療方案提供參考,需要進行關(guān)節(jié)活動度評定,測量特定體位下關(guān)節(jié)的最大活動范圍。本研究提出了一種腕部及手指關(guān)節(jié)活動度的非接觸測量方法,測量時只需正對Kinect做測量姿勢,即可實現(xiàn)關(guān)節(jié)活動度的自動測量。與傳統(tǒng)關(guān)節(jié)活動度測量方法相比,該方法不需患者采用量角器等儀器或貼畫標(biāo)記,Kinect能實時采集用戶的手部圖像,針對不同測量科目的手部特征提取用于活動度計算的目標(biāo)點,完成關(guān)節(jié)活動度的自動計算,本方法在測量速度和準(zhǔn)確性上均有優(yōu)勢。
表1 腕部及手指關(guān)節(jié)活動度各科目測量結(jié)果
在正常情況下,Kinect可以捕捉人體20個骨骼關(guān)節(jié)點,其二代產(chǎn)品雖可以捕捉人體25個骨骼關(guān)節(jié)點,捕捉精度和數(shù)據(jù)穩(wěn)定性也有所提高,但Kinect SDK目前仍不能捕捉手指關(guān)節(jié)點,腕部關(guān)節(jié)點數(shù)據(jù)易抖動甚至產(chǎn)生跳變。本研究采用Kinect深度圖像技術(shù),在OpenNI 平臺上開發(fā),獲取的腕部關(guān)節(jié)點數(shù)據(jù)更加穩(wěn)定。通過對手部深度圖像的處理,識別手指的指尖點、指根點,實現(xiàn)了手指關(guān)節(jié)活動度的自動測量。
Kinect是通過捕捉人體骨骼關(guān)節(jié)識別人體,為獲取手部深度圖像,需采用特定的體姿。受硬件的限制,在本研究的測量方法中,腕部及手指不同科目的測量體姿與傳統(tǒng)方法的測量體姿不完全相同,計算也采用近似方法。但通過實驗驗證,測量結(jié)果可以滿足臨床測量精度要求。本研究的不足主要是尚未實現(xiàn)手指所有關(guān)節(jié)點的識別與預(yù)測,這將是下一步研究的工作重點。
本研究提出了一種基于Kinect深度圖像的人體腕部及手指活動度的測量方法,實現(xiàn)了腕部尺偏橈偏、四指掌指關(guān)節(jié)外展及拇指橈側(cè)外展等科目的測量。該方法避免了傳統(tǒng)量角器測量時的人為誤差,由于是通過處理手部深度圖像獲取測量值,還避免了采用Kinect 骨架數(shù)據(jù)測量腕部活動度時的數(shù)據(jù)跳變,且測量精度完全滿足臨床要求。
[1] 劉龍,張建國.三維攝像測量系統(tǒng)在人體上肢運動分析中的應(yīng)用[J].天津輕工業(yè)學(xué)院學(xué)報,2003,18(1): 51-53.
[2] 張建國,汪莉.基于電磁跟蹤系統(tǒng)的人體上肢ROM測量新方法[J].現(xiàn)代制造工程,2006(3): 81-84.
[3] 王鑫.基于激光CCD的人工關(guān)節(jié)測量系統(tǒng)的研究[D].重慶: 重慶大學(xué), 2008.
[4] 胡海滔,李志忠,嚴(yán)京濱,等.關(guān)節(jié)活動度的照相測量方法[J].人類工效學(xué),2006,12(2):13-15.
[5] Guneysu A, Siyli RD, Salah AA. Auto-evaluation of motion imitation in a child-robot imitation game for upper arm rehabilitation [C] //The 23rd IEEE International Symposium on Robot and Human Interactive Communication.Edinburgh:IEEE,2014:199-204.
[6] Geetha M, Manjusha C, Unnikrishnan P, et al. A vision based dynamic gesture recognition of Indian sign language on Kinect based depth images [C] //2013 International Conference on Emerging Trends in Communication, Control,Signal Processing & Computing Applications.Bangalore:IEEE,2013: 1-7.
[7] Antonio PLB, Mitsuhiro H, Philippe P. Joint angle estimation in rehabilitation with inertial sensors and its integration with Kinect [C] // Proceedings of 33rd Annual International Conference of the IEEE Engineering in Medicine and-Biology Society ( EMBS). Boston: IEEE, 2011: 3479-3483.
[8] Kusaka J, Obo T, Botzheim J, et al. Joint angle estimation system for rehabilitation evaluation support [C] //International Conference on Fuzzy Systems. Beijing: IEEE, 2014: 1456-1462.
[9] 瞿暢,丁晨,王君澤,等.基于Kinect體感交互技術(shù)的上肢關(guān)節(jié)活動度測量方法[J].中國生物醫(yī)學(xué)工程學(xué)報, 2014, 33(1): 16-21.
[10] 任侃.OpenNI體感應(yīng)用開發(fā)實戰(zhàn)[M].北京:機械工業(yè)出版社,2014.
[11] Bradski G, Kaehler A. 學(xué)習(xí)OpenCV中文版[M]. 北京: 清華大學(xué)出版社, 2009.
[12] 陳立典. 康復(fù)評定學(xué)[M]. 北京: 科學(xué)出版社, 2010.
[13] 李云雁, 胡傳榮.試驗設(shè)計與數(shù)據(jù)處理[M]. 北京:化學(xué)工業(yè)出版社, 2008.
Measurement for Detecting the Range of Motion of Fingers and Wrist Based on Depth Image from Kinect
Qu Chang Shen Fang Yu Chenchen Sun Jie
(SchoolofMechanicalEngineering,NantongUniversity,Nantong226019,China)
range of motion;measurement;Kinect; finger; wrist
10.3969/j.issn.0258-8021. 2016. 05.017
2015-07-10, 錄用日期:2016-07-01
南通市前沿與關(guān)鍵技術(shù)創(chuàng)新計劃(MS22015007);南通大學(xué)研究生科技創(chuàng)新項目(YKC14007)
R496;TP399
D
0258-8021(2016) 05-0626-05
*通信作者(Corresponding author), E-mail: xu.ch@ntu.edu.cn