葉 強(qiáng),夏 懿,姚志明
(1.南京體育學(xué)院運(yùn)動(dòng)健康科學(xué)系,南京 210014;2.安徽大學(xué)電氣工程與自動(dòng)化學(xué)院,合肥 230601;3.中國(guó)科學(xué)院合肥智能機(jī)械研究所,合肥 230031)
步態(tài)是人類在行走過(guò)程中的行為特征,涉及行為習(xí)慣、職業(yè)、教育、年齡及性別等因素,也受到多種疾病的影響[1]。步態(tài)分析主要包括步態(tài)時(shí)空參數(shù)的計(jì)算,足底壓力分布的提取,以及相關(guān)肌肉肌電的活動(dòng)模式分析。步態(tài)分析在臨床診斷[2],康復(fù)評(píng)估[3]以及體育訓(xùn)練[4]等活動(dòng)中具有十分重要的應(yīng)用價(jià)值。作為步態(tài)分析的一個(gè)基本步驟,跟蹤足部運(yùn)動(dòng)并建立每一個(gè)腳印的幀序列是一個(gè)非常重要的必要步驟。只有正確的捕捉到每一個(gè)腳印的時(shí)空位置信息,才能夠保證步態(tài)參數(shù)的正確計(jì)算。
大多數(shù)步態(tài)研究中,受壓力感應(yīng)區(qū)域面積的限制,步態(tài)實(shí)驗(yàn)過(guò)程中受試者的運(yùn)動(dòng)方式通常都是直線運(yùn)動(dòng)[5],因此兩腳之間的距離跨度很大,而且腳的動(dòng)作都是非常簡(jiǎn)單的常規(guī)足底動(dòng)作[6],因此足印提取問(wèn)題的解決相對(duì)比較容易。隨著模塊化柔性陣列傳感器制造水平和數(shù)據(jù)通信技術(shù)的提高,壓力感應(yīng)場(chǎng)地(以下稱之為數(shù)字場(chǎng)地)的面積越來(lái)越大。
大面積的數(shù)字場(chǎng)地為測(cè)試者采用任意方向的足部運(yùn)動(dòng)以及更加復(fù)雜的非常規(guī)足部動(dòng)作提供了硬件條件,一些相關(guān)的步態(tài)應(yīng)用,如足底壓力分析[7],足部姿態(tài)識(shí)別[8]等,其研究開(kāi)發(fā)都將成為可能。然而一旦不限制足部運(yùn)動(dòng)的方向以及姿態(tài),足印提取任務(wù)將不再是一個(gè)簡(jiǎn)單的問(wèn)題[6,9]。其困難主要來(lái)自兩個(gè)方面:首先,因?yàn)樽悴窟\(yùn)動(dòng)不再是簡(jiǎn)單的直線跨步,因而兩腳之間的距離在某些情況下非常小,導(dǎo)致距離測(cè)度不足以將屬于兩個(gè)不同腳印的各個(gè)數(shù)據(jù)點(diǎn)聚集塊區(qū)分開(kāi)來(lái)。其次,如果單腳在某個(gè)位置的著地過(guò)程中可能會(huì)存在多個(gè)非常規(guī)動(dòng)作(如旋轉(zhuǎn)、半抬,側(cè)歪等),造成該區(qū)域的腳印是由多個(gè)單腳印疊加而成,如何正確的從中分割出單個(gè)腳印也不是一個(gè)容易的問(wèn)題。例如圖1(a)與圖1(b)分別顯示了一個(gè)太極拳表演者在運(yùn)動(dòng)過(guò)程中留下的雜亂足印軌跡,以及一個(gè)帕金森病人在拐彎處短促與慌亂的步伐軌跡。
為解決上述步態(tài)分析問(wèn)題,本文提出一個(gè)三階段的解決方案。第1階段:沿時(shí)間軸對(duì)每一幀壓力圖像進(jìn)行基于密度聚類的圖像分割,其結(jié)果是得到不同的數(shù)據(jù)點(diǎn)聚集塊;第2階段:利用腳印的幾何特征如腳印的大小、形狀以及前后腳時(shí)間序列信息等,將第1階段產(chǎn)生的不同數(shù)據(jù)塊歸屬到相應(yīng)的左、右不同腳印;第3階段:通過(guò)尋找腳印面積—時(shí)間曲線上的波峰與波谷點(diǎn),來(lái)完成復(fù)雜步態(tài)的單腳印分割。
圖1 足跡軌跡
本文實(shí)驗(yàn)中鋪設(shè)的大面積數(shù)字場(chǎng)地是由24個(gè)壓力感應(yīng)模塊拼裝組成,形成一個(gè)3×8的行列結(jié)構(gòu)。每個(gè)模塊的面積為100 cm×100 cm,上面共有80×80個(gè)壓力傳感點(diǎn),每個(gè)傳感點(diǎn)的半徑為0.5cm,相互之間的距離為1.25 cm。所有壓力感應(yīng)模塊在數(shù)據(jù)層通過(guò)局域以太網(wǎng)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸。系統(tǒng)的采樣頻率是50 Hz,每個(gè)壓力單元所受的壓力分為4個(gè)等級(jí)。灰度壓力圖像寬為640(8×80)像素,高為240(3×80)像素。圖2顯示了一個(gè)太極拳表演者在數(shù)字場(chǎng)地上運(yùn)動(dòng)的場(chǎng)景。實(shí)驗(yàn)中,分別召募了5名太極拳運(yùn)動(dòng)表演者以及5名帕金森病人來(lái)采集相應(yīng)的足底壓力序列。試驗(yàn)者的相關(guān)信息見(jiàn)表1。太極拳運(yùn)動(dòng)者根據(jù)自己的喜好在場(chǎng)地上表演一套時(shí)間長(zhǎng)度不一的太極拳,而帕金森病人則需要根據(jù)我們規(guī)劃的路線(2段直線、3個(gè)拐彎)來(lái)進(jìn)行測(cè)試。實(shí)驗(yàn)中,一共采集了10段(每位測(cè)試者一段)不同時(shí)長(zhǎng)的足底壓力圖像視頻進(jìn)行算法的分析評(píng)估。為了驗(yàn)證本文提出的分階段足印分割算法的有效性,實(shí)驗(yàn)過(guò)程中架設(shè)了一臺(tái)攝像機(jī)以同步記錄測(cè)試者的足底動(dòng)作,然后通過(guò)回放錄像來(lái)驗(yàn)證足印提取的準(zhǔn)確性。
圖2 足底壓力感應(yīng)場(chǎng)地
表1 測(cè)試者基本信息
HAY:Hoehn and Yahr score
在測(cè)試者移動(dòng)的過(guò)程中,足底不同部位所受的壓力一直處在變化之中,在某個(gè)時(shí)刻有些部位所受的壓力可很能小,或者沒(méi)有接觸到地面,再加上數(shù)字場(chǎng)地傳感點(diǎn)之間還存在一定的距離,因此采集到的足底壓力圖像在物體形態(tài)上與攝像頭得到的感光圖像不一樣,足跡不是整體連通的,而是由幾個(gè)分離的大區(qū)域塊加上周邊一些小的區(qū)域塊所共同構(gòu)成。文中采用數(shù)據(jù)點(diǎn)聚類的方法來(lái)尋找壓力圖像中的不同區(qū)域塊。足底壓力圖像中的足印受足底壓力大小分布的影響,區(qū)域塊的形狀變化無(wú)常,因此本文選擇一種對(duì)形狀不太敏感的基于密度的聚類算法,DBSCAN[10],來(lái)完成足印區(qū)域塊的尋找工作。
如上所述,壓力點(diǎn)聚集塊劃分主要目的是將不同聚集塊歸屬到不同的腳印(在本文中被限定為同一個(gè)人的左或者右腳)。
假設(shè)給定如下條件:①當(dāng)前時(shí)刻t時(shí)的壓力圖像幀:Ot={Ci},Ci是組成某一個(gè)聚集塊的點(diǎn)集合,i=1,…,K,K為聚集塊總數(shù)。②上一時(shí)刻t-1時(shí)所有聚集塊均被正確歸屬到不同的左右腳,即Ot-1={Fi},Fi為組成一只腳印的點(diǎn)集合,i∈{left,right}。③假設(shè)Ti是左、右腳印的某種形狀特征空間,EDi表示壓力點(diǎn)集合Di對(duì)應(yīng)的形狀特征向量,如果數(shù)據(jù)點(diǎn)集合構(gòu)成真實(shí)腳印的一部分,則EDi∈Ti,否則EDi?Ti。
于是聚集塊劃分問(wèn)題的解決需要滿足如下約束:
Di∩Dj=?,i≠j;i,j∈{left,right}
(1)
EDi∈Ti,i∈{left,right}
(2)
Di∩Fj=?,i≠j;i,j∈{left,right}
(3)
EDi∪Fi∈Ti,i∈{left,right}
(4)
Di?Ot,i∈{left,right},為構(gòu)成左腳或右腳的數(shù)據(jù)塊集合。條件(1)表明每一幀中不同腳印之間在空間位置上應(yīng)該沒(méi)有重疊;條件(2)表明構(gòu)成一個(gè)腳印的數(shù)據(jù)點(diǎn)集合在空間上的分布應(yīng)該在一個(gè)腳印的形狀范圍內(nèi);條件(3)和(4)則描述了不同腳印的數(shù)據(jù)點(diǎn)集合在兩個(gè)相鄰幀之間的空間關(guān)系。由于幀t-1與幀t之間的采樣間隔時(shí)間非常短(20 ms),因此兩個(gè)不同腳印之間不會(huì)發(fā)生重疊,這就給出了條件(3)。類似,在上述短暫的間隔內(nèi),對(duì)單個(gè)腳印而言,相鄰兩幀數(shù)據(jù)點(diǎn)集合的并集在空間分布上應(yīng)該仍然在一只腳印的范圍內(nèi),于是條件(4)成立。
上述問(wèn)題的解決步驟如下:
①判斷當(dāng)前幀中腳印的個(gè)數(shù)
如果當(dāng)前幀中壓力點(diǎn)聚集塊的總面積超過(guò)了一只腳印的大小,那么可以很容易的得知當(dāng)前幀中有多只腳印(本文實(shí)驗(yàn)中最多為兩只,因?yàn)橹挥幸粋€(gè)人)。然而,如果總面積在一只腳印范圍內(nèi),腳印的數(shù)目既可能為一個(gè),也有可能為兩個(gè),具體情形需要通過(guò)上述約束4個(gè)條件來(lái)具體判定。
②尋找每個(gè)腳印的主壓力區(qū)域塊
一旦發(fā)現(xiàn)當(dāng)前數(shù)據(jù)幀中有不止一個(gè)的腳印時(shí),我們根據(jù)每一腳印在任一時(shí)刻都有一個(gè)壓力重心的原則,首先來(lái)尋找每一個(gè)腳印的主壓力區(qū)域塊Mi,其具體規(guī)則是:
(5)
式中,pressure( )是一個(gè)算子,用來(lái)獲取數(shù)據(jù)點(diǎn)集合的總壓力大小,條件Ck∩Fi≠? 約束當(dāng)前左或右腳印的主壓力區(qū)域塊必須和上一幀此腳印在空間上有交集。
③將其他區(qū)域塊歸屬到不同的腳印
完成腳印主區(qū)域塊的定位之后,接下來(lái)就是將剩余的區(qū)域塊進(jìn)行左右腳歸屬劃分。這一過(guò)程的原則為:
Bi={Cm|Cm=Ck∪Mi;Cm∈Ti;Cm∩Fj=?},
Ck∈Ot;Ck≠M(fèi)i;i∈{left,right};i≠j
(6)
其具體過(guò)程為:給定不同腳印的主區(qū)域塊Mi,上一幀腳印的區(qū)域塊Fi,不同腳印的特征空間Ti,當(dāng)前幀的區(qū)域塊集合Ot,這里i∈{left,right};下面先選定一個(gè)主區(qū)域塊Mi,然后檢查待劃分的區(qū)域塊Ck,如果Ck和Mi的并集Cm符合一個(gè)腳印的特征,并且和上一幀其他腳印Fj沒(méi)有交集,那么Ck和Mi在當(dāng)前幀中同屬一個(gè)腳印。這一個(gè)過(guò)程順序執(zhí)行,直到所有區(qū)域塊劃分完畢。
在上述過(guò)程中,如果雙腳距離相對(duì)較遠(yuǎn)(圖3(b)所示),根據(jù)可能的足印大小,那么區(qū)域的劃分容易完成。但是如果雙腳距離比較近,如圖3(a)所示,那么其他小區(qū)域塊的歸屬判定則不是那么直接。
圖3 數(shù)據(jù)聚類得到的不同區(qū)域塊
為此,我們采用一個(gè)層次化的決策方法來(lái)完成這一任務(wù),其基本步驟為:
①利用區(qū)域塊的包絡(luò)框進(jìn)行初步判斷
首先根據(jù)條件(6)將不同的小區(qū)域塊與主壓力區(qū)域塊相組合得到一個(gè)新的區(qū)域塊集合Bi,計(jì)算其最小包絡(luò)框,然后根據(jù)其長(zhǎng)軸以及短軸的長(zhǎng)短來(lái)進(jìn)行一個(gè)初步的判斷。
②利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行二次判斷
第1步在雙腳比較靠近的情況下往往不能有效判斷合并后的區(qū)域塊是否是一個(gè)有效腳印。如圖4所示,是不同組合所形成的包絡(luò)框,可以看出兩種組合很難通過(guò)包絡(luò)框的大小來(lái)進(jìn)行選擇。
圖4 區(qū)域塊的不同組合(對(duì)應(yīng)圖3(a))
為此,我們利用近年來(lái)在多個(gè)領(lǐng)域取得廣泛成功的深度卷積神經(jīng)網(wǎng)絡(luò)[11]來(lái)進(jìn)行左、右以及非腳印的判斷。深度卷積神經(jīng)網(wǎng)絡(luò)通過(guò)卷積子、感受野、下采樣、非線性化以及正則化等一系列操作來(lái)提取不同尺度下的圖像特征[12],并通過(guò)誤差反向傳播[13]來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的模型參數(shù),從而實(shí)現(xiàn)特征的自動(dòng)提取。而傳統(tǒng)方法往往需要事先設(shè)計(jì)特定的算子來(lái)進(jìn)行特征提取,其過(guò)程相對(duì)復(fù)雜且效果有限。卷積神經(jīng)網(wǎng)絡(luò)還可以通過(guò)將分類器集成到網(wǎng)絡(luò)結(jié)構(gòu)中,實(shí)現(xiàn)端(輸入的腳印)到端(輸出的分類結(jié)果)的流水線作業(yè)方式,從而省去了傳統(tǒng)模式分類任務(wù)過(guò)程中不同模塊的參數(shù)調(diào)優(yōu)過(guò)程。模型完成訓(xùn)練后,通過(guò)前向網(wǎng)絡(luò)傳播,利用已訓(xùn)練的模型參數(shù)來(lái)得到正確的分類結(jié)果。
表2面積—時(shí)間曲線上有效波峰波谷提取算法
測(cè)試者運(yùn)動(dòng)過(guò)程中,除了直線跨步外,還有其他一些比較復(fù)雜的足部運(yùn)動(dòng),例如單腳旋轉(zhuǎn),單腳輕拖,雙腳并攏等等。這些動(dòng)作所對(duì)應(yīng)的腳印通常是多個(gè)單一腳印疊加而成,如圖5所示。
圖5 采集的復(fù)雜腳印
圖6 足底觸地面積沿時(shí)間軸變化曲線
為了分割這些復(fù)雜腳印,尋找單個(gè)腳印在時(shí)間軸上的起始與結(jié)束點(diǎn)是關(guān)鍵。而一個(gè)簡(jiǎn)單腳印的起始與結(jié)束點(diǎn)通常是觸地面積沿時(shí)間軸最小的兩個(gè)位置。圖6所示是圖5所對(duì)應(yīng)的觸底面積沿時(shí)間軸的變化曲線。
我們通過(guò)統(tǒng)計(jì)復(fù)雜腳印每一幀的足底壓力面積,進(jìn)而尋找面積—時(shí)間曲線上的谷底位置,并以此位置作為單個(gè)腳印的劃分點(diǎn)來(lái)分割復(fù)雜腳印。由圖6可以發(fā)現(xiàn),面積—時(shí)間曲線上有不少并不是真正腳印劃分點(diǎn)的波谷位置,這些小的波動(dòng)主要是由腳著地過(guò)程中足底壓力的波動(dòng)[14]所造成。為了消除小波動(dòng)所引起的干擾,本文首先利用高斯函數(shù)對(duì)曲線進(jìn)行平滑處理,然后對(duì)平滑后的曲線通過(guò)表2中的算法1來(lái)進(jìn)行有效波峰波谷的檢測(cè)。
實(shí)驗(yàn)從兩個(gè)方面來(lái)評(píng)價(jià)算法的有效性:①檢查每一幀足底壓力圖像中的所有區(qū)域塊是否被正確的劃分到左右腳,實(shí)驗(yàn)中通過(guò)回放足底壓力圖像的方式來(lái)進(jìn)行此項(xiàng)檢查。在回放過(guò)程中,分屬不同腳的區(qū)域塊所顯示的顏色不同,其中左腳的顏色為藍(lán)色,右腳的顏色為紅色。在雙腳比較靠攏的情況,通過(guò)放慢回放速度的方法來(lái)人工判斷是否有區(qū)域塊劃分錯(cuò)誤。②檢查復(fù)雜足部動(dòng)作引起的復(fù)雜腳印的分割是否正確,此項(xiàng)檢查首先觀察足部運(yùn)動(dòng)錄像來(lái)判斷復(fù)雜腳印的構(gòu)成,然后檢查本文提出的分割算法是否準(zhǔn)確的找到了這些單腳印在時(shí)間順序上的起止點(diǎn)。
正如2.2節(jié)所述,在這一實(shí)驗(yàn)中我們需要構(gòu)建一個(gè)基于深度卷積神經(jīng)網(wǎng)絡(luò)的腳印分類器。該分類器實(shí)現(xiàn)左、右以及非腳印形狀的分類。為此我們分別采集左、右腳印樣本800個(gè),而非腳印樣本600個(gè)。其中左、右腳印的采集比較容易,而非腳印是通過(guò)人工組合雙腳靠近情況下不同區(qū)域塊的方式產(chǎn)生的,這種方式產(chǎn)生的非腳印更適合本研究需要。為了提高訓(xùn)練效果,我們使用平移、旋轉(zhuǎn)等數(shù)據(jù)擴(kuò)展方式,使得最終的樣本總數(shù)為6 000,三類樣本各2 000個(gè)。每個(gè)樣本通過(guò)預(yù)處理被統(tǒng)一為高48像素寬為48像素大小。實(shí)驗(yàn)中隨機(jī)選取60%樣本用于訓(xùn)練,40%樣本用于測(cè)試。圖7展示了所采集的不同類別樣本。
上排左腳印,中排右腳印,下排非腳印圖7 訓(xùn)練樣本圖片
這里“Conv”,“Bn”,“ReLU”,“FC”,‘DO’,and“MP”分別是“Convolutional layer”,“Batch normalization”,“Rectified Linear Unit”,“Fully connected layer”,“Drop Out”,and“Max pooling layer”的簡(jiǎn)寫(xiě)?!癅”符號(hào)之前的數(shù)字代表相應(yīng)操作的核參數(shù),而之后的數(shù)字代表卷積層的特征圖數(shù)量或者全連接層的輸出維度圖8 用于對(duì)三類腳印進(jìn)行分類的卷積神經(jīng)網(wǎng)絡(luò)
本文所采用的深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
實(shí)驗(yàn)中,我們采用的學(xué)習(xí)參數(shù)見(jiàn)表3,各參數(shù)的具體含義見(jiàn)文獻(xiàn)[15]。針對(duì)測(cè)試數(shù)據(jù),我們得到的top-1準(zhǔn)確率為98.1%。針對(duì)所采集的10段足底壓力圖像視頻,壓力點(diǎn)左右腳劃分的結(jié)果如表4所示。
表3 實(shí)驗(yàn)中卷積神經(jīng)網(wǎng)絡(luò)所使用的學(xué)習(xí)參數(shù)
表4 壓力點(diǎn)左右腳劃分結(jié)果
NL為劃分左右腳發(fā)生錯(cuò)誤的幀數(shù)
圖9給出了圖5所示復(fù)雜腳印的分割結(jié)果。圖中上排對(duì)應(yīng)圖6面積—時(shí)間曲線谷底點(diǎn)之前的動(dòng)作,而下排對(duì)應(yīng)谷底點(diǎn)之后的動(dòng)作。其中圖9(a)、9(b)是圖5(a)的分解,圖9(c)、9(d)是圖5(b)的分解,而圖9(e)、9(f)是圖5(c)的分解。
圖9 復(fù)雜腳印的分割結(jié)果(與圖5、圖6對(duì)應(yīng))
表5列出了10段動(dòng)作中復(fù)雜腳印分割的準(zhǔn)確率。
表5 算法的分割結(jié)果
NS為復(fù)雜腳印分割發(fā)生錯(cuò)誤的個(gè)數(shù)
從實(shí)驗(yàn)結(jié)果來(lái)看,大多數(shù)情況下算法能夠準(zhǔn)確分割左右腳的足印,然而算法在分割的各個(gè)階段都存在分析錯(cuò)誤的情況。在區(qū)域塊劃分階段,當(dāng)雙腳區(qū)域特別靠近時(shí),受形狀識(shí)別能力的限制,一些不屬于該腳印的區(qū)域塊被劃分為該腳;而在復(fù)雜腳印分割階段,曲線關(guān)鍵點(diǎn)尋找過(guò)程中所使用的閾值技術(shù)有其局限性,因此難免會(huì)存在一些真正的分割點(diǎn)沒(méi)有定位到,而一些不是分割點(diǎn)的關(guān)鍵點(diǎn)被誤認(rèn)為是分割點(diǎn)。
針對(duì)大面積數(shù)字場(chǎng)地上的單人復(fù)雜步態(tài)運(yùn)動(dòng)的足印分割問(wèn)題,本文提出一種分階段的解決方案。首先從每一幀足底壓力圖像中分割出左右腳,形成左右腳的運(yùn)動(dòng)軌跡,然后針對(duì)某些復(fù)雜步態(tài)所形成的復(fù)雜腳印,通過(guò)尋找觸地面積—時(shí)間曲線上的轉(zhuǎn)折點(diǎn)來(lái)進(jìn)行復(fù)雜腳印的多階段動(dòng)作分解。實(shí)驗(yàn)表明本文所提方法對(duì)于單人復(fù)雜腳印的分割提取具有很高的準(zhǔn)確性。