許運程+王榮榮+劉勛
摘 要:本研究提出了一種基于Kinect的坐姿檢測方法。該方法使用Kinect體感傳感器,實時監(jiān)測使用者的身體動作,將捕捉到的關(guān)節(jié)位置信息輸入計算機,計算機對關(guān)節(jié)位置信息進行處理,應(yīng)用坐姿識別算法,判斷使用者坐姿,并對不正確的坐姿進行警告。
關(guān)鍵詞:體感交互;坐姿檢測;方法
1 背景
現(xiàn)代社會中,隨著計算機技術(shù)的迅速發(fā)展,越來越多的人群在工作生活中長時間處于坐姿?,F(xiàn)代人33%以上的時間都坐著生活、學(xué)習(xí)和工作。長時間的不正確坐姿會導(dǎo)致許多疾病,比如近視、頸椎病、頸椎畸形、腰疼等。如在保持坐姿中脊椎彎曲,會對腰部造成較大負(fù)荷[1]。對于兒童,坐姿不正確會導(dǎo)致左右眼屈光度數(shù)不一致,并且左右眼度數(shù)增長情況也不一致[2]。對于青少年,不良坐姿加重頸部肌肉和韌帶的負(fù)擔(dān),長期下去是引發(fā)頸椎病的重要原因,而采用標(biāo)準(zhǔn)坐姿能夠減少頸椎部的負(fù)荷[3]。據(jù)調(diào)查統(tǒng)計[4],某城市6.89%中小學(xué)生患有頸椎病,中學(xué)生比例已經(jīng)達到9.07%,其重要原因之一就是坐姿不當(dāng)。由此可見,保持正確的坐姿對于維持健康的身體狀態(tài)有著重要的作用。
對人體行為進行識別是判定坐姿的關(guān)鍵。目前,國內(nèi)外行為識別的方式主要有兩種:基于傳感器的行為識別和基于機器視覺的行為識別,還有兩者混合的方法存在[5]。在坐姿檢測方面,Alejandro James等人2005年提出通過頭部中心軸、左右肩和水平的角度來判斷人體坐姿[6]。LanMu等人2010年提出根據(jù)人臉大小和位置進行判斷的方法[7]。武松林、崔榮一等人在2010年通過PCA算法對常見坐姿進行識別[8]??梢钥闯?,目前對于坐姿檢測的研究尚處于初期階段,還需深入研究。
2 原理與方法
Kinect傳感器是由微軟公司開發(fā)的、用于Xbox主機的設(shè)備。它讓玩家不需要手持或踩踏控制器,而使用語音指令和手勢來操作Xbox系統(tǒng)界面。它也能捕捉使用者全身的動作,讓使用者用身體動作與系統(tǒng)進行交互。
Kinect傳感器有三個攝像頭,分別是是RGB彩色攝影機、紅外線發(fā)射器、CMOS攝影機。紅外攝影機投射紅外光譜,紅外攝像頭分析紅外光譜,創(chuàng)建可視范圍內(nèi)的人體、物體深度圖像,彩色攝像頭用于拍攝視角范圍內(nèi)的彩色視頻圖像。紅外線發(fā)射器和CMOS攝影機構(gòu)成了3D結(jié)構(gòu)光深度感應(yīng)器。Kinect還搭配了追焦技術(shù),底部馬達會隨著對焦物體的移動而轉(zhuǎn)動。Kinect也內(nèi)建陣列式麥克風(fēng),由多組麥克風(fēng)同時收音,比對后消除雜音。
Kinect使用紅外攝影機和紅外攝像頭,通過發(fā)射近紅外光,使用Light Coding技術(shù)給需要測量的空間編碼,來獲取深度圖。獲取深度圖像后,分析深度圖像,逐點掃描像素,區(qū)別出人體各個部位,通過特征值將人體部位分類,將人體從背景環(huán)境中分離出來。根據(jù)骨骼追蹤的20個關(guān)節(jié)點,生成一幅骨架系統(tǒng),評估出人體所處的位置。
本研究在使用Kinect檢測使用者坐姿時,將Kinect置于使用者的正前方,由KinectSDK提供的API函數(shù)獲取使用者全身20個關(guān)節(jié)點的空間位置信息。在計算角度時,由于傳感器正對使用者,可以將空間位置化簡為與使用者和傳感器連線相垂直的平面位置,設(shè)計算法使用橫縱坐標(biāo)檢測使用者的姿勢。其中,在平面中,設(shè)由Kinect傳感器得到的兩個關(guān)節(jié)點坐標(biāo)分別為(X1,Y1)和(X2,Y2),則兩個關(guān)節(jié)點之間的夾角為
(1)
本研究設(shè)計了四個算法,分別用于檢測頭部傾斜、肩部傾斜、身體前傾、脊椎前曲四種不正確的坐姿。在判斷使用者是否頭部傾斜時,通過API函數(shù)獲取使用者頭部關(guān)節(jié)點位置和肩膀左部關(guān)節(jié)點位置。通過公式(1)計算出兩點之間夾角?茲1。設(shè)定閾值?茲0角度為65°,如果|?茲1|<?茲0,說明使用者的頭部傾斜,頭部偏向右側(cè),此時判定使用者處于不正確的坐姿,系統(tǒng)會向使用者進行警報。此算法同樣適用于肩膀右部關(guān)節(jié)點,用以檢測使用者頭部傾斜,頭部偏向左部的情況。肩部傾斜的檢測算法同樣通過檢測頭部關(guān)節(jié)點位置和肩部關(guān)節(jié)點位置確定,判定方法與檢測頭部傾斜的方法相同。
3 結(jié)果
根據(jù)上述坐姿檢測原理與方法,設(shè)計開發(fā)了坐姿檢測系統(tǒng).首先, 測試者正對Kinect傳感器,并處于正確的坐姿。圖中上方為骨骼模型顯示窗口,實時顯示測試者的骨骼模型和身體的姿態(tài)。下方為輸出窗口,實時輸出測試者的狀態(tài)信息。當(dāng)使用者存在坐姿不正確的情況,即頭部前傾、肩部傾斜、身體前傾、脊椎前曲時,輸出窗口會顯示坐姿不正確的信息,同時通過播放聲音警告使用者。
經(jīng)過測試可知本研究設(shè)計的基于Kinect的坐姿檢測方法識別率良好,可以大體判斷出使用者不正確的坐姿。但本方法目前只適用于使用者正對傳感器的一種情況,對使用者的位置有要求,具有一定局限性。下一步研究將針對使用者處于不同位置時的坐姿檢測。
本研究的檢測方法成本較低,只需一臺Kinect傳感器和一臺計算機即可完成對使用者坐姿的檢測,并能夠較好的檢測出不正確的坐姿,具有良好的應(yīng)用前景。
參考文獻
[1]王琨.不同坐姿下腰部負(fù)荷及豎脊肌活動的生物力學(xué)研究[Z].
[2]兒童握筆姿勢及坐姿不正確引起近視及屈光參差3 例[Z].
[3]不良坐姿對可能引起頸椎病的生物力學(xué)分析及運動預(yù)防矯正[Z].
[4]羅智鴻.論正確坐姿——即效“坐力”養(yǎng)生法[Z].
[5]鄭澤銘.人的坐姿檢測方法及行為勸導(dǎo)研究[Z].
[6]Sit straight (and tell me what I did today): a human posture alarm and activity summarization system[Z].
[7]A Sitting Posture Surveillance System Based on Image Processing Technology[Z].
[8]基于 PCA的坐姿行為識別[Z].
[9]Kinect技術(shù)與工作原理的研究[Z].
[10]Kinect體感交互技術(shù)及其在醫(yī)療康復(fù)領(lǐng)域的應(yīng)用[Z].
[11]基于Kinect體感交互技術(shù)的上肢關(guān)節(jié)活動度測量方法[Z].
[12]王春陽.基于圖像技術(shù)的人體坐姿監(jiān)測研究[Z].