顧 俊,徐 勝,邢 強(qiáng),,楊預(yù)立,王周義,徐海黎
(1.南通大學(xué)機(jī)械工程學(xué)院,江蘇南通226019;2.南京航天航空大學(xué)江蘇省仿生功能材料重點(diǎn)實(shí)驗(yàn)室,江蘇南京210016)
運(yùn)動(dòng)是動(dòng)物進(jìn)行捕食、遷徙等行為的基礎(chǔ)。人們從仿生的角度出發(fā),研究動(dòng)物的運(yùn)動(dòng)行為特征,并以動(dòng)物為原型設(shè)計(jì)出具有較好運(yùn)動(dòng)性能的移動(dòng)機(jī)器人[1]。而在人的步態(tài)識(shí)別、運(yùn)動(dòng)訓(xùn)練和康復(fù)治療中[2],其運(yùn)動(dòng)行為特征具有較高的研究?jī)r(jià)值。
人的運(yùn)動(dòng)行為特征可分為步態(tài)姿態(tài)特征和步態(tài)觸覺(jué)特征兩方面[3‐4]。步態(tài)姿態(tài)特征主要是指通過(guò)視覺(jué)圖像設(shè)備如 stage運(yùn)動(dòng)捕獲系統(tǒng)[5]、Kinect相機(jī)[6]和穿戴式傳感器[7]獲得的人肢體的空間位置信息。步態(tài)觸覺(jué)特征主要是指通過(guò)壓力傳感器如鞋墊式 F‐Scan[8]、R‐Scan[9]系統(tǒng)和 MEMS(micro‐electro‐mechanical system,微機(jī)電系統(tǒng))壓力傳感器[10]獲得的人腳底與接觸面的三維接觸力信息。將運(yùn)動(dòng)姿態(tài)與腳底接觸力融合的三維分析設(shè)備能夠分析在不同運(yùn)動(dòng)模式下腳底壓力的變化,但其昂貴的成本和復(fù)雜的操作界面使得其在實(shí)際使用中受到限制[11‐14]。
為此,筆者搭建了一個(gè)“行為‐力”同步可視化展示系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)人體運(yùn)動(dòng)姿態(tài)和腳底接觸力的同步采集,并且采用三維圖形化的方式來(lái)展示人體運(yùn)動(dòng)姿態(tài)與腳底接觸力的關(guān)系,以期為人體運(yùn)動(dòng)行為特征的研究提供可靠的裝置。
“行為‐力”同步可視化展示系統(tǒng)分為數(shù)據(jù)采集與處理模塊和三維虛擬展示模塊。數(shù)據(jù)采集與處理模塊由多通道三維力采集模塊、深度圖像采集模塊和數(shù)據(jù)同步處理模塊組成。其中:多通道三維力采集模塊由20個(gè)三維壓力傳感器組成,用于采集人體在行走過(guò)程中腳底與地面之間的三維接觸力;深度圖像采集模塊選用微軟公司生產(chǎn)的Kinect相機(jī),用于采集人體在運(yùn)動(dòng)過(guò)程中的運(yùn)動(dòng)姿態(tài);數(shù)據(jù)同步處理模塊采用基于插值的同步處理方法,用于解決運(yùn)動(dòng)姿態(tài)與腳底接觸力的同步采集問(wèn)題。三維虛擬展示模塊由三維繪圖模塊和同步展示模塊組成。其中:三維繪圖模塊用于設(shè)計(jì)繪圖模型,并根據(jù)人體運(yùn)動(dòng)姿態(tài)和腳底接觸力信息實(shí)現(xiàn)人體骨架模型和三維接觸力圖形的繪制;同步展示模塊用于創(chuàng)建三維虛擬空間,并基于同步展示方法,實(shí)現(xiàn)運(yùn)動(dòng)姿態(tài)與腳底接觸力的圖形化融合展示。
“行為‐力”同步可視化展示系統(tǒng)的組成如圖1所示。
圖1 “行為-力”同步可視化展示系統(tǒng)的組成Fig.1 Composition of "behavior‐force" synchronous visual display system
多通道三維力采集模塊的程序框架是基于多線(xiàn)程的生產(chǎn)/消費(fèi)模式搭建的。選用UDP(user data‐gram protocol,用戶(hù)數(shù)據(jù)報(bào)協(xié)議)作為數(shù)據(jù)傳輸?shù)姆绞?,通過(guò)約定PC(personal computer,個(gè)人計(jì)算機(jī))端和下位機(jī)間的應(yīng)答機(jī)制來(lái)劃分程序的各個(gè)功能。為保證壓力傳感器信號(hào)輸出的一致性[15],須對(duì)空載情況下傳感器的初值進(jìn)行標(biāo)定。將標(biāo)定后的初值作為校準(zhǔn)值,校準(zhǔn)后期采集的數(shù)據(jù)。圖2所示為三維力采集流程。
圖2 三維力采集流程Fig.2 Flow of 3D force acquisition
Kinect相機(jī)能夠采集人體25個(gè)關(guān)節(jié)點(diǎn)信息并進(jìn)行追蹤[16]。每個(gè)關(guān)節(jié)點(diǎn)信息由位置、節(jié)點(diǎn)類(lèi)型和追蹤屬性組成。其中:位置是指關(guān)節(jié)點(diǎn)在Kinect相機(jī)中的三維空間坐標(biāo);節(jié)點(diǎn)類(lèi)型是指關(guān)節(jié)點(diǎn)的種類(lèi);追蹤屬性是指關(guān)節(jié)點(diǎn)的追蹤狀態(tài),分為已追蹤、推測(cè)和未追蹤三種。
人體關(guān)節(jié)點(diǎn)信息采用圖像處理結(jié)合機(jī)器學(xué)習(xí)的方法來(lái)獲取。其具體的處理流程[17‐18]為:首先,采用分割策略,將人體從圖像中分割出來(lái);其次,利用含有深度特征的分類(lèi)器識(shí)別身體的各個(gè)部分;然后,利用決策樹(shù)分類(lèi)器去評(píng)估每一像素所對(duì)應(yīng)身體各部分區(qū)域的可能性;最后,將分類(lèi)器所建議的像素點(diǎn)作為關(guān)節(jié)點(diǎn),并計(jì)算該關(guān)節(jié)點(diǎn)的空間坐標(biāo)。由于關(guān)節(jié)點(diǎn)的高度坐標(biāo)值是以Kinect相機(jī)的安裝高度為基準(zhǔn)的,須對(duì)其進(jìn)行轉(zhuǎn)換。以Kinect相機(jī)的安裝高度作為轉(zhuǎn)換值,將所采集的關(guān)節(jié)點(diǎn)的高度坐標(biāo)值加上轉(zhuǎn)換值來(lái)完成空間坐標(biāo)的轉(zhuǎn)換。
由于壓力傳感器和圖像傳感器的采樣頻率分別為120 Hz和30幀/s,須對(duì)傳感器采集的數(shù)據(jù)進(jìn)行同步處理。因此,本文提出了一種基于插值的數(shù)據(jù)同步處理方法來(lái)解決傳感器采樣的同步問(wèn)題。
首先,在圖像采集模塊中設(shè)置布爾狀態(tài)量作為關(guān)節(jié)點(diǎn)信息采集完成的標(biāo)志,待采集完成后,對(duì)該布爾狀態(tài)量進(jìn)行取反操作,同時(shí)將關(guān)節(jié)點(diǎn)數(shù)據(jù)存入隊(duì)列1;其次,在三維力采集模塊中將采集到的三維力數(shù)據(jù)存入緩存區(qū)A,當(dāng)檢測(cè)到布爾狀態(tài)量的狀態(tài)發(fā)生變化時(shí),將緩存區(qū)A中的數(shù)據(jù)存入隊(duì)列2;然后,在數(shù)據(jù)同步處理模塊中,設(shè)置一個(gè)數(shù)據(jù)緩存區(qū)B,將緩存區(qū)B的大小設(shè)置為n,用于緩存關(guān)節(jié)點(diǎn)的數(shù)據(jù),作為插值算法的數(shù)據(jù)源;最后,由該緩存區(qū)中的末兩位組成插值區(qū)間,三維力采樣次數(shù)作為插值點(diǎn)數(shù),采用三次樣條插值的方法來(lái)輸出推測(cè)的關(guān)節(jié)點(diǎn)坐標(biāo)。數(shù)據(jù)同步處理流程如圖3所示。
圖3 數(shù)據(jù)同步處理流程Fig.3 Flow of data synchronous processing
在LabVIEW編程環(huán)境中,利用三維曲面函數(shù)來(lái)繪制三維圖形。三維曲面函數(shù)的輸入?yún)?shù)為X、Y、Z三個(gè)方向的二維矩陣,輸出為三維顯示區(qū)域。其中,以Kinect相機(jī)的紅外攝像頭為原點(diǎn),以Kinect相機(jī)的視軸方向?yàn)閄方向,以Kinect相機(jī)安裝位置的豎直方向?yàn)閆方向,Y方向則根據(jù)右手笛卡爾坐標(biāo)系來(lái)確定。選用Kinect相機(jī)采集的17個(gè)關(guān)節(jié)點(diǎn)信息作為人體骨架模型的數(shù)據(jù)源。人體骨架模型的17個(gè)關(guān)節(jié)點(diǎn)如圖4所示。其中:Pn=(xn,yn,zn),n=1,2,…,17;α為膝關(guān)節(jié)的角度,即大腿與小腿的夾角;β為髖關(guān)節(jié)的角度,即大腿與豎直方向的夾角。
圖4 人體骨架模型的17個(gè)關(guān)節(jié)點(diǎn)Fig.4 17 joint points of human skeleton model
根據(jù)三維曲面的作圖模式,17個(gè)關(guān)節(jié)點(diǎn)的基本繪圖模型可表示為:
根據(jù)圖4,選取P12和P16點(diǎn)為左、右腳點(diǎn),記為Pc,Pc=(xc,yc,zc),作為三維力圖形繪制的基準(zhǔn)點(diǎn)。將腳底與地面的接觸力分解為Fx、Fy和Fz三個(gè)分力,以這3個(gè)分力作為數(shù)據(jù)源,繪制接觸力的三維圖形。接觸力的基本繪圖模型可表示為:
式中:Fxt、Fyt、Fzt分別為在t時(shí)刻采集的X、Y、Z方向的腳底接觸力。
人的步態(tài)周期包括1個(gè)支撐相和1個(gè)擺動(dòng)相。支撐相可描述為一側(cè)腳的后腳跟著地到前腳掌離地的過(guò)程,在該過(guò)程中腳底法向接觸力的變化最為明顯。在支撐相初期和末期,腳底法向接觸力表示為快速增大和減小。擺動(dòng)相則描述為該側(cè)腳的前腳掌離地到后腳跟著地的過(guò)程,在該過(guò)程中腳底接觸力為零。根據(jù)腳底法向接觸力在支撐相的變化特征,提出了運(yùn)動(dòng)姿態(tài)與腳底接觸力同步展示的方法。
首先,用Kinect相機(jī)對(duì)站立在特定位置的人體進(jìn)行位置標(biāo)定,并創(chuàng)建三維虛擬環(huán)境;其次,選取人體重量的百分之五作為閾值,將壓力傳感器陣列采集到的腳底法向接觸力存入數(shù)組中,通過(guò)遍歷數(shù)組初步篩選出大于閾值的腳底法向接觸力所對(duì)應(yīng)的壓力傳感器的編號(hào);然后,用Kinect相機(jī)獲取人體左右腳點(diǎn)的位置,通過(guò)判斷腳點(diǎn)位置是否落在壓力傳感器的檢測(cè)范圍內(nèi)來(lái)進(jìn)行二次篩選;最后,將滿(mǎn)足條件的三維接觸力求和,并且鎖定腳點(diǎn)來(lái)繪制三維接觸力圖形。“行為‐力”同步展示流程如圖5所示。
圖5 “行為-力”同步展示流程Fig.5 Flow of "behavior‐force" synchronous display
本實(shí)驗(yàn)采用的電腦配置為:因特爾i5處理器,8G運(yùn)行內(nèi)存,GTX1050Ti顯卡和刷新率為240 Hz的三星液晶顯示屏。選擇一名身高為1.70 m的成年男性作為測(cè)試人員。實(shí)驗(yàn)開(kāi)始前,測(cè)試人員站立在指定位置進(jìn)行標(biāo)定,且取測(cè)試人員體重的百分之五作為閾值。在三維虛擬環(huán)境中出現(xiàn)人體骨架模型后,測(cè)試人員以固定的步行速率在測(cè)力區(qū)域內(nèi)隨意走動(dòng)?!靶袨椹\力”同步展示實(shí)驗(yàn)場(chǎng)景如圖6所示。
圖6 “行為-力”同步展示實(shí)驗(yàn)場(chǎng)景Fig.6 Experiment scene of "behavior‐force" synchronous dis‐play
數(shù)據(jù)同步處理方法的應(yīng)用效果如圖7所示,其中選取了人體處于擺動(dòng)相階段左腳點(diǎn)Z向的部分?jǐn)?shù)據(jù)。圖7表明插值數(shù)據(jù)的變化趨勢(shì)與原始數(shù)據(jù)相符。
圖7 數(shù)據(jù)同步處理方法的應(yīng)用效果Fig.7 Application effect of data synchronous processing
“行為‐力”同步展示的實(shí)驗(yàn)結(jié)果如圖8所示。結(jié)果表明同步展示方法有效,能夠表達(dá)人體運(yùn)動(dòng)姿態(tài)與腳底接觸力的關(guān)系。
圖8 “行為-力”同步展示的實(shí)驗(yàn)結(jié)果Fig.8 Experimental result of "behavior‐force" synchronous display
在人行走過(guò)程中,關(guān)節(jié)角度和腳底接觸力的變變化曲線(xiàn)如圖9所示。以1個(gè)步態(tài)周期為例,結(jié)合人體運(yùn)動(dòng)姿態(tài)來(lái)分析腳底接觸力的變化。在擺動(dòng)相,由于左腳處于騰空狀態(tài),左腳底三維接觸力為零;在支撐相初期,左腳的后腳跟先接觸地面,下落時(shí)帶來(lái)的沖擊力使得腳底法向接觸力瞬間增大,且左腳相對(duì)于地面有向后運(yùn)動(dòng)的趨勢(shì),使得地面給左腳向前的力,由于力的相互作用,左腳會(huì)給地面向后的軸向力;在支撐相中期,左腳全腳掌接觸地面,腳底法向接觸力逐漸穩(wěn)定為人體的重量,軸向接觸力減小到零;在支撐相末期,當(dāng)左腳離地時(shí),前腳掌會(huì)對(duì)地面施加壓力后離地,從而使得法向接觸力再次增加到峰值,且左腳相對(duì)于地面有向前運(yùn)動(dòng)的趨勢(shì),則地面會(huì)給左腳向后的力,左腳會(huì)給地面向前的軸向力。
圖9 人體關(guān)節(jié)角度和腳底接觸力的變化曲線(xiàn)Fig.9 Changing curve of human joint angle and plantar contact force
本文設(shè)計(jì)的“行為‐力”同步可視化展示系統(tǒng)能夠采集人在任意行走狀態(tài)下的運(yùn)動(dòng)姿態(tài)及腳底與地面之間的三維接觸力,并且以圖形化的方式直觀(guān)展示人體運(yùn)動(dòng)姿態(tài)與腳底接觸力的關(guān)系。
由于在測(cè)力區(qū)域采用了多個(gè)傳感器,可能會(huì)出現(xiàn)傳感器受力重合的情況,并且由于人的行走軌跡是任意的,可能會(huì)產(chǎn)生左右腳點(diǎn)被遮擋的情況。后期可以采用小型化的傳感器和多目深度相機(jī)來(lái)解決。