本發(fā)明屬于智能控制與看護(hù)的人體姿態(tài)識(shí)別技術(shù)領(lǐng)域。
背景技術(shù):
人體狀態(tài)識(shí)別是模式識(shí)別領(lǐng)域的研究熱點(diǎn)。近年來(lái),隨著人機(jī)交互、傳感器技術(shù)、機(jī)器學(xué)習(xí)等關(guān)鍵技術(shù)的飛速發(fā)展,人體狀態(tài)識(shí)別被廣泛應(yīng)用于智能控制、醫(yī)療康復(fù)、健康監(jiān)護(hù)、體感游戲以及cg(computergraphics,電腦動(dòng)畫(huà))等領(lǐng)域。
其中真人cg領(lǐng)域,運(yùn)動(dòng)捕捉技術(shù)已經(jīng)有長(zhǎng)足發(fā)展,其中關(guān)鍵的人體姿態(tài)識(shí)別技術(shù)已經(jīng)相當(dāng)成熟,甚至可以將人體表情進(jìn)行近乎完美的展現(xiàn)。體感游戲方面成果也較多,有很多商業(yè)化范例,尤其是在vr(virtualreality,即虛擬現(xiàn)實(shí))火熱的當(dāng)下,基于傳感器的人體姿態(tài)識(shí)別在vr控制方面有很大的想象空間。但是其技術(shù)層面屬于人體姿態(tài)的模擬復(fù)現(xiàn),并且其相應(yīng)的傳感器復(fù)雜,不適應(yīng)于日常生活應(yīng)用。醫(yī)療康復(fù)中人體姿態(tài)識(shí)別主要應(yīng)用到姿態(tài)矯正和人機(jī)交互兩個(gè)方面,目前已有很多輔助類的成果出現(xiàn),對(duì)輔助醫(yī)療具有很大意義。
在智能控制與看護(hù)領(lǐng)域,人體運(yùn)動(dòng)姿態(tài)識(shí)別主要用于老人看護(hù),并集中于摔倒檢測(cè)報(bào)警裝置。主要采用的方法有兩類,一類是圖像視頻識(shí)別,另一類是利用可穿戴式傳感器進(jìn)行識(shí)別。在圖像視頻識(shí)別中,需要有效區(qū)分人體和背景,這需要人體與背景特征有一定差異,在一些差異不明顯的情況很難進(jìn)行準(zhǔn)確識(shí)別。此外該類識(shí)別是面向區(qū)域進(jìn)行的識(shí)別,無(wú)法有效實(shí)時(shí)跟蹤感興趣的目標(biāo)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是為了解決在圖像視頻識(shí)別人體運(yùn)動(dòng)姿態(tài)時(shí),人體與背景特征差異不明顯,難以識(shí)別,同時(shí)面向區(qū)域的識(shí)別無(wú)法有效實(shí)時(shí)跟蹤目標(biāo)的問(wèn)題,現(xiàn)提供人體姿態(tài)識(shí)別系統(tǒng)及方法。
人體姿態(tài)識(shí)別系統(tǒng)包括:數(shù)據(jù)采集模塊、數(shù)據(jù)預(yù)處理與特征提取模塊、靜止姿態(tài)分類模塊和運(yùn)動(dòng)姿態(tài)分類模塊;
數(shù)據(jù)采集模塊包括用于采集人體腕部和大腿的三軸加速度和三軸角速度的單元,人體手臂方向定義為上肢y軸,人體大腿方向定義為下肢y軸;
數(shù)據(jù)預(yù)處理與特征提取模塊包括:
用于濾除三軸加速度和三軸角速度的無(wú)用噪聲的單元,
用于對(duì)濾除噪聲后的三軸加速度進(jìn)行定標(biāo),獲得真實(shí)三軸加速度的單元,
用于濾除真實(shí)三軸加速度中重力加速度的干擾的單元,
用于分別計(jì)算濾除干擾后的三軸加速度和濾除噪聲后的三軸角速度的二階范數(shù),獲得合加速度序列和合角速度序列的單元,
用于分別計(jì)算濾除干擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列和合角速度序列的差值序列,獲得32維的數(shù)據(jù)流的單元,32維的數(shù)據(jù)流包括濾除干擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列、合角速度序列及上述參數(shù)的差值序列,
用于利用時(shí)間窗對(duì)數(shù)據(jù)流進(jìn)行截取,將每一幀的數(shù)據(jù)作為一個(gè)樣本,獲得k個(gè)樣本的單元,時(shí)間窗的長(zhǎng)度至少包括一個(gè)完整的運(yùn)動(dòng)周期,k為正整數(shù),且50≤k≤150;
用于運(yùn)算每個(gè)樣本的統(tǒng)計(jì)特征的單元,統(tǒng)計(jì)特征包括:三軸信號(hào)均值、三軸信號(hào)標(biāo)準(zhǔn)差、三軸信號(hào)中位絕對(duì)偏差、四分位距、最大值、最小值、平方和均值、伯格階數(shù)為4的ar模型系數(shù)、各軸序列相關(guān)性和信息熵,三軸信號(hào)包括:上肢x軸信號(hào)、上肢y軸信號(hào)、上肢z軸信號(hào)、下肢x軸信號(hào)、下肢y軸信號(hào)和下肢z軸信號(hào);
靜止姿態(tài)分類模塊包括:
用于判斷下肢y軸信號(hào)均值是否小于-0.63633g,是則當(dāng)前人體姿態(tài)為站立狀態(tài)的單元,其中g(shù)為重力加速度單位,
用于判斷上肢y軸信號(hào)均值與下肢y軸信號(hào)均值的差值是否大于0.371654g,是則當(dāng)前人體姿態(tài)為倚坐狀態(tài),否則當(dāng)前人體姿態(tài)為躺臥狀態(tài)的單元;
運(yùn)動(dòng)姿態(tài)分類模塊包括:
用于利用k個(gè)樣本的統(tǒng)計(jì)特征訓(xùn)練運(yùn)動(dòng)狀態(tài)分類模型的單元,運(yùn)動(dòng)狀態(tài)分類模型包括跑步狀態(tài)模型、行走狀態(tài)模型、劇烈運(yùn)動(dòng)狀態(tài)模型和摔倒?fàn)顟B(tài)模型;
用于將當(dāng)前幀樣本的統(tǒng)計(jì)特征分別代入四種狀態(tài)模型中,獲得四個(gè)狀態(tài)函數(shù),對(duì)四個(gè)狀態(tài)函數(shù)進(jìn)行比較,其中狀態(tài)函數(shù)最大值所對(duì)應(yīng)的狀態(tài)為當(dāng)前人體姿態(tài)。
人體姿態(tài)識(shí)別方法包括以下步驟:
數(shù)據(jù)采集步驟用于采集人體腕部和大腿的三軸加速度和三軸角速度,人體手臂方向定義為上肢y軸,人體大腿方向定義為下肢y軸;
數(shù)據(jù)預(yù)處理與特征提取步驟:
用于濾除三軸加速度和三軸角速度的無(wú)用噪聲,
用于對(duì)濾除噪聲后的三軸加速度進(jìn)行定標(biāo),獲得真實(shí)三軸加速度,
用于濾除真實(shí)三軸加速度中重力加速度的干擾,
用于分別計(jì)算濾除干擾后的三軸加速度和濾除噪聲后的三軸角速度的二階范數(shù),獲得合加速度序列和合角速度序列,
用于分別計(jì)算去濾除擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列和合角速度序列的差值序列,獲得32維的數(shù)據(jù)流,32維的數(shù)據(jù)流包括濾除干擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列、合角速度序列和上述參數(shù)的差值序,
用于利用時(shí)間窗對(duì)數(shù)據(jù)流進(jìn)行截取,將每一幀的數(shù)據(jù)作為一個(gè)樣本,獲得k個(gè)樣本,時(shí)間窗的長(zhǎng)度至少包括一個(gè)完整的運(yùn)動(dòng)周期,k為正整數(shù),且50≤k≤150;
用于運(yùn)算每幀樣本的統(tǒng)計(jì)特征,統(tǒng)計(jì)特征包括:三軸信號(hào)均值、三軸信號(hào)標(biāo)準(zhǔn)差、三軸信號(hào)中位絕對(duì)偏差、四分位距、最大值、最小值、平方和均值、伯格階數(shù)為4的ar模型系數(shù)、各軸序列相關(guān)性和信息熵,三軸信號(hào)包括:上肢x軸信號(hào)、上肢y軸信號(hào)、上肢z軸信號(hào)、下肢x軸信號(hào)、下肢y軸信號(hào)和下肢z軸信號(hào);
靜止姿態(tài)分類步驟:
用于判斷下肢y軸信號(hào)均值是否小于-0.63633g,是則當(dāng)前人體姿態(tài)為站立狀態(tài)的單元,其中g(shù)為重力加速度單位,
用于判斷上肢y軸信號(hào)均值與下肢y軸信號(hào)均值的差值是否大于0.371654g,是則當(dāng)前人體姿態(tài)為倚坐狀態(tài),否則當(dāng)前人體姿態(tài)為躺臥狀態(tài)的單元;
運(yùn)動(dòng)姿態(tài)分類步驟:
用于利用k個(gè)樣本的統(tǒng)計(jì)特征訓(xùn)練運(yùn)動(dòng)狀態(tài)分類模型,運(yùn)動(dòng)狀態(tài)分類模型包括跑步狀態(tài)模型、行走狀態(tài)模型、劇烈運(yùn)動(dòng)狀態(tài)模型和摔倒?fàn)顟B(tài)模型;
用于將當(dāng)前幀樣本的統(tǒng)計(jì)特征分別代入四種狀態(tài)模型中,獲得四個(gè)狀態(tài)函數(shù),對(duì)四個(gè)狀態(tài)函數(shù)進(jìn)行比較,其中狀態(tài)函數(shù)最大值所對(duì)應(yīng)的狀態(tài)為當(dāng)前人體姿態(tài)。
本發(fā)明所述的人體姿態(tài)識(shí)別系統(tǒng)及方法,對(duì)采集的信息進(jìn)行預(yù)處理,生成較為純凈可用的數(shù)據(jù)流。對(duì)純凈有用的數(shù)據(jù)流進(jìn)行逐幀特征提取,作為后續(xù)訓(xùn)練的輸入樣本。利用提取的特征訓(xùn)練分類器。用相同采集模塊采集信息,并輸入訓(xùn)練好的分類器進(jìn)行分類識(shí)別。識(shí)別準(zhǔn)確率達(dá)到了98%,適用于一切采用腕部和腿部收集人體運(yùn)動(dòng)信息的設(shè)備。
附圖說(shuō)明
圖1為具體實(shí)施方式一所述的人體姿態(tài)識(shí)別系統(tǒng)的結(jié)構(gòu)框圖;
圖2為數(shù)據(jù)預(yù)處理與特征提取模塊的結(jié)構(gòu)框圖。
具體實(shí)施方式
具體實(shí)施方式一:參照?qǐng)D1和圖2具體說(shuō)明本實(shí)施方式,本實(shí)施方式所述的人體姿態(tài)識(shí)別系統(tǒng),包括:數(shù)據(jù)采集模塊、數(shù)據(jù)預(yù)處理與特征提取模塊、靜止姿態(tài)分類模塊和運(yùn)動(dòng)姿態(tài)分類模塊;
數(shù)據(jù)采集模塊包括用于采集人體腕部和大腿的三軸加速度和三軸角速度的單元,人體手臂方向定義為上肢y軸,人體大腿方向定義為下肢y軸;
數(shù)據(jù)預(yù)處理與特征提取模塊包括:
用于濾除三軸加速度和三軸角速度的無(wú)用噪聲的單元,
用于對(duì)濾除噪聲后的三軸加速度進(jìn)行定標(biāo),獲得真實(shí)三軸加速度的單元,
用于濾除真實(shí)三軸加速度中重力加速度的干擾的單元,
用于分別計(jì)算濾除干擾后的三軸加速度和濾除噪聲后的三軸角速度的二階范數(shù),獲得合加速度序列和合角速度序列的單元,
用于分別計(jì)算濾除干擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列和合角速度序列的差值序列,獲得32維的數(shù)據(jù)流的單元,32維的數(shù)據(jù)流包括濾除干擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列、合角速度序列及上述參數(shù)的差值序列,
用于利用時(shí)間窗對(duì)數(shù)據(jù)流進(jìn)行截取,將每一幀的數(shù)據(jù)作為一個(gè)樣本,獲得k個(gè)樣本的單元,時(shí)間窗的長(zhǎng)度至少包括一個(gè)完整的運(yùn)動(dòng)周期,k為正整數(shù),且50≤k≤150;
用于運(yùn)算每個(gè)樣本的統(tǒng)計(jì)特征的單元,統(tǒng)計(jì)特征包括:三軸信號(hào)均值、三軸信號(hào)標(biāo)準(zhǔn)差、三軸信號(hào)中位絕對(duì)偏差、四分位距、最大值、最小值、平方和均值、伯格階數(shù)為4的ar模型系數(shù)、各軸序列相關(guān)性和信息熵,三軸信號(hào)包括:上肢x軸信號(hào)、上肢y軸信號(hào)、上肢z軸信號(hào)、下肢x軸信號(hào)、下肢y軸信號(hào)和下肢z軸信號(hào);
靜止姿態(tài)分類模塊包括:
用于判斷下肢y軸信號(hào)均值是否小于-0.63633g,是則當(dāng)前人體姿態(tài)為站立狀態(tài)的單元,其中g(shù)為重力加速度單位,
用于判斷上肢y軸信號(hào)均值與下肢y軸信號(hào)均值的差值是否大于0.371654g,是則當(dāng)前人體姿態(tài)為倚坐狀態(tài),否則當(dāng)前人體姿態(tài)為躺臥狀態(tài)的單元;
運(yùn)動(dòng)姿態(tài)分類模塊包括:
用于利用k個(gè)樣本的統(tǒng)計(jì)特征訓(xùn)練運(yùn)動(dòng)狀態(tài)分類模型的單元,所述運(yùn)動(dòng)狀態(tài)為跑步、行走、劇烈運(yùn)動(dòng)和摔倒,采用支持向量機(jī)構(gòu)建運(yùn)動(dòng)狀態(tài)分類模型,運(yùn)動(dòng)狀態(tài)分類模型包括跑步狀態(tài)模型、行走狀態(tài)模型、劇烈運(yùn)動(dòng)狀態(tài)模型和摔倒?fàn)顟B(tài)模型,這四種狀態(tài)模型的形式相同,參數(shù)不同,所述四種狀態(tài)模型的形式均如下:
其中,f(x)為待求解的測(cè)試樣本輸入分類函數(shù),f(x)∈[-1,1];αi為拉格朗日乘子;yi為支持向量對(duì)應(yīng)樣本的分類標(biāo)簽,取值為±1;
用于將當(dāng)前幀樣本的統(tǒng)計(jì)特征分別代入四種狀態(tài)模型中,獲得四個(gè)狀態(tài)函數(shù),對(duì)四個(gè)狀態(tài)函數(shù)進(jìn)行比較,其中狀態(tài)函數(shù)最大值所對(duì)應(yīng)的狀態(tài)為當(dāng)前人體姿態(tài)。
采集人體三軸信息時(shí),將傳感器按照如下方式固定:
上肢信息的采集點(diǎn)為左臂手腕背部,沿著手臂方向?yàn)閥軸方向,從手背指出的方向?yàn)閦軸方向,由此可得x軸方向。下肢信息的采集點(diǎn)為右腿腿根褲縫位置,沿著為大腿向下為y軸方向,從大腿皮膚向外為z軸方向,由此可得x軸方向。
數(shù)據(jù)預(yù)處理與特征提取模塊是針對(duì)人體腿部和腕部運(yùn)動(dòng)信息進(jìn)行的數(shù)據(jù)預(yù)處理與特征提取,根據(jù)人體運(yùn)動(dòng)規(guī)律進(jìn)行分析,提取采集數(shù)據(jù)的信息以及特征,針對(duì)每一幀做成一個(gè)特征向量樣本,供后續(xù)識(shí)別算法作為判決依據(jù)。
為了得到有效采樣樣本,本實(shí)施方式設(shè)計(jì)時(shí)間窗對(duì)數(shù)據(jù)流進(jìn)行截取,獲得每一幀的數(shù)據(jù)作為樣本。時(shí)間窗長(zhǎng)度要至少包含一個(gè)運(yùn)動(dòng)的完整周期。應(yīng)用時(shí)可以以2s為一個(gè)時(shí)間窗長(zhǎng)度,重復(fù)度為50%為一幀。
本實(shí)施方式中,統(tǒng)計(jì)特征如表1所示。
表1
下面以x軸為例,具體給出統(tǒng)計(jì)特征如下:
均值為mean_accel_a_x=∑naccel_a_xn,表征信號(hào)總體大??;
標(biāo)準(zhǔn)差為
中位絕對(duì)偏差為mad_accel_a_x=mediann(|accel_a_xn-medianm(accel_a_xm)|),用來(lái)刻畫(huà)一元數(shù)據(jù)樣本變化的一個(gè)魯棒度量,其對(duì)野點(diǎn)的魯棒性更好;
類似的四分位差為第三四分位數(shù)和第一四分位數(shù)的差距,也是刻畫(huà)一元數(shù)據(jù)樣本變化的一個(gè)魯棒度量;
ar模型是根據(jù)時(shí)間序列進(jìn)行前后向預(yù)測(cè)的模型,有很多種算法可以實(shí)現(xiàn)系數(shù)計(jì)算,其中burg算法最為典型,其為一種迭代算法,從1階迭代到n階從而計(jì)算模型的各項(xiàng)系數(shù)。而考慮到運(yùn)算效率和特征值代表性的權(quán)衡,本次實(shí)驗(yàn)迭代到4階,利用4階系數(shù)作為特征進(jìn)行提取,避免過(guò)學(xué)習(xí);
最大值與最小值分別代表了每一維數(shù)據(jù)的上限和下限;
平方和均值表征了數(shù)據(jù)能量,公式為energy_accel_a_x=∑n(accel_a_xn)2/n;
相關(guān)性是各維度之間的特征,表征各個(gè)維度數(shù)據(jù)之間的相關(guān)性大小,計(jì)算公式如式:
信息熵在信息學(xué)上表示信號(hào)的信息量,這里表示數(shù)據(jù)每維數(shù)據(jù)的混亂程度,其計(jì)算公式如下:
entropy_accel_a_x=-∑n(accel_a_xn×log2accel_a_xn)。
對(duì)于較為穩(wěn)定的靜止?fàn)顟B(tài)來(lái)說(shuō),靜止?fàn)顟B(tài)包括站立、躺臥、倚坐三種狀態(tài),采樣樣本的y軸采用平行于肢體向下方向。因此其特征分布是線性,可以利用二叉決策樹(shù)方式對(duì)狀態(tài)進(jìn)行識(shí)別。在二叉決策樹(shù)訓(xùn)練過(guò)程中,采用上、下肢y軸的均值特征作為訓(xùn)練輸入。站立狀態(tài)的下肢y軸值明顯區(qū)別于其他兩種狀態(tài),因此以下肢y軸均值作為第一個(gè)節(jié)點(diǎn)。觀察數(shù)據(jù)躺臥和倚坐下肢y軸數(shù)據(jù)都接近0點(diǎn)。
設(shè)y軸與重力的夾角為θ,那么tanθ=accel_y/g,在比較的過(guò)程中,只關(guān)心θ的相對(duì)大小,也就是關(guān)心accel_y的相對(duì)大小,即△=accel_y_a-accel_y_b,
其中accel_y_a為上肢y軸加速度數(shù)據(jù),accel_y_b為下肢y軸加速度數(shù)據(jù)。當(dāng)上、下肢的差別較大時(shí)為倚坐狀態(tài),差別較小時(shí)為躺臥狀態(tài)。因此第二個(gè)節(jié)點(diǎn)為上下肢y軸數(shù)據(jù)均值的差值。第二個(gè)節(jié)點(diǎn)判決閾值為躺臥、倚坐兩個(gè)姿態(tài)的大腿與手腕y軸均值的差值的均值。
具體實(shí)施方式二:本實(shí)施方式所述的人體姿態(tài)識(shí)別方法,包括以下步驟:
數(shù)據(jù)采集步驟用于采集人體腕部和大腿的三軸加速度和三軸角速度,人體手臂方向定義為上肢y軸,人體大腿方向定義為下肢y軸;
數(shù)據(jù)預(yù)處理與特征提取步驟:
用于濾除三軸加速度和三軸角速度的無(wú)用噪聲,
用于對(duì)濾除噪聲后的三軸加速度進(jìn)行定標(biāo),獲得真實(shí)三軸加速度,
用于濾除真實(shí)三軸加速度中重力加速度的干擾,
用于分別計(jì)算濾除干擾后的三軸加速度和濾除噪聲后的三軸角速度的二階范數(shù),獲得合加速度序列和合角速度序列,
用于分別計(jì)算去濾除擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列和合角速度序列的差值序列,獲得32維的數(shù)據(jù)流,32維的數(shù)據(jù)流包括濾除干擾后的三軸加速度、濾除噪聲后的三軸角速度、合加速度序列、合角速度序列和上述參數(shù)的差值序,
用于利用時(shí)間窗對(duì)數(shù)據(jù)流進(jìn)行截取,將每一幀的數(shù)據(jù)作為一個(gè)樣本,獲得k個(gè)樣本,時(shí)間窗的長(zhǎng)度至少包括一個(gè)完整的運(yùn)動(dòng)周期,k為正整數(shù),且50≤k≤150;
用于運(yùn)算每幀樣本的統(tǒng)計(jì)特征,統(tǒng)計(jì)特征包括:三軸信號(hào)均值、三軸信號(hào)標(biāo)準(zhǔn)差、三軸信號(hào)中位絕對(duì)偏差、四分位距、最大值、最小值、平方和均值、伯格階數(shù)為4的ar模型系數(shù)、各軸序列相關(guān)性和信息熵,三軸信號(hào)包括:上肢x軸信號(hào)、上肢y軸信號(hào)、上肢z軸信號(hào)、下肢x軸信號(hào)、下肢y軸信號(hào)和下肢z軸信號(hào);
靜止姿態(tài)分類步驟:
用于判斷下肢y軸信號(hào)均值是否小于-0.63633g,是則當(dāng)前人體姿態(tài)為站立狀態(tài)的單元,其中g(shù)為重力加速度單位,
用于判斷上肢y軸信號(hào)均值與下肢y軸信號(hào)均值的差值是否大于0.371654g,是則當(dāng)前人體姿態(tài)為倚坐狀態(tài),否則當(dāng)前人體姿態(tài)為躺臥狀態(tài)的單元;
運(yùn)動(dòng)姿態(tài)分類步驟:
用于利用k個(gè)樣本的統(tǒng)計(jì)特征訓(xùn)練運(yùn)動(dòng)狀態(tài)分類模型,所述運(yùn)動(dòng)狀態(tài)為跑步、行走、劇烈運(yùn)動(dòng)和摔倒,采用支持向量機(jī)構(gòu)建運(yùn)動(dòng)狀態(tài)分類模型,運(yùn)動(dòng)狀態(tài)分類模型包括跑步狀態(tài)模型、行走狀態(tài)模型、劇烈運(yùn)動(dòng)狀態(tài)模型和摔倒?fàn)顟B(tài)模型,這四種狀態(tài)模型的形式相同,參數(shù)不同,所述四種狀態(tài)模型的形式均如下:
其中,f(x)為待求解的測(cè)試樣本輸入分類函數(shù),f(x)∈[-1,1];αi為拉格朗日乘子;yi為支持向量對(duì)應(yīng)樣本的分類標(biāo)簽,取值為±1;
用于將當(dāng)前幀樣本的統(tǒng)計(jì)特征分別代入四種狀態(tài)模型中,獲得四個(gè)狀態(tài)函數(shù),對(duì)四個(gè)狀態(tài)函數(shù)進(jìn)行比較,其中狀態(tài)函數(shù)最大值所對(duì)應(yīng)的狀態(tài)為當(dāng)前人體姿態(tài)。
具體實(shí)施方式三:本實(shí)施方式是對(duì)具體實(shí)施方式二所述的人體姿態(tài)識(shí)別方法作進(jìn)一步說(shuō)明,本實(shí)施方式中,利用巴特沃斯濾波器濾除無(wú)用噪聲和干擾。
由于熱噪聲和采樣過(guò)程異常抖動(dòng)的影響,樣本中難免會(huì)有噪聲。人體一般跑步、走路、上下樓時(shí),除去直流的重力加速度頻點(diǎn)峰值,頻譜能量主要集中在0~10hz,且0~5hz的頻譜變化更為明顯,而噪聲的頻帶寬度肯定大于這個(gè)帶寬。因此可以采用低通濾波器,濾除無(wú)用的噪聲,提取有用的信息。
待識(shí)別的正常人體姿態(tài)有行走、跑步、原地劇烈運(yùn)動(dòng)、站立、倚坐、躺臥。其中“行走”、“跑步”和“劇烈運(yùn)動(dòng)”與“站立”、“倚坐”和“躺臥”這兩組有本質(zhì)區(qū)別,前者為有劇烈抖動(dòng)的運(yùn)動(dòng)狀態(tài),后者為相對(duì)靜止的靜止?fàn)顟B(tài)。
在人體姿態(tài)數(shù)據(jù)中總會(huì)包含重力加速度,對(duì)于靜止?fàn)顟B(tài)而言,其重力加速度始終向下,會(huì)使傳感器x軸、y軸、z軸產(chǎn)生穩(wěn)定的分量,而其分量可以表征此時(shí)傳感器相對(duì)于地面的方向,對(duì)于判斷人體姿態(tài)有很重要的參考價(jià)值。
但對(duì)于運(yùn)動(dòng)狀態(tài)而言,重力加速度產(chǎn)生的分量會(huì)嚴(yán)重干擾到運(yùn)動(dòng)信號(hào)的表征,對(duì)運(yùn)動(dòng)信號(hào)造成干擾。同時(shí)由于運(yùn)動(dòng)瞬時(shí)產(chǎn)生的加速度會(huì)附加到x軸、y軸、z軸上,想利用x軸、y軸、z軸瞬時(shí)的大小來(lái)判斷當(dāng)前的運(yùn)動(dòng)方向也會(huì)變?yōu)椴豢尚?。運(yùn)動(dòng)信號(hào)會(huì)和重力加速度相互干擾,因此需要將重力加速度信號(hào)分離出來(lái)。
在本實(shí)施方式中,數(shù)據(jù)采集的終端是人體的腕部和腿部。其重力加速度恒定不變,屬于低頻信號(hào),因此通過(guò)低通濾波器便可以提取重力加速度信號(hào)。將真實(shí)加速度減去提取的重力加速度信號(hào),便獲取較為純凈的運(yùn)動(dòng)信號(hào)。
本實(shí)施方式中采用巴特沃斯濾波器進(jìn)行低通濾波,濾除無(wú)用噪聲和干擾的截止頻率不同。巴特沃斯濾波器的特點(diǎn)是通頻帶內(nèi)的頻率響應(yīng)曲線最大限度的平坦,沒(méi)有起伏。而濾除噪聲濾波器要保證原始數(shù)據(jù)不能失真,而對(duì)阻帶衰減速度要求不高,所以巴特沃斯濾波器的特性可以很好的吻合實(shí)驗(yàn)對(duì)濾波器的要求。采用巴特沃斯濾波器,保證了運(yùn)動(dòng)信號(hào)的純正性,低通濾波,截止頻率為0.1hz。
具體實(shí)施方式四:本實(shí)施方式是對(duì)具體實(shí)施方式二所述的人體姿態(tài)識(shí)別方法作進(jìn)一步說(shuō)明,本實(shí)施方式中,對(duì)濾除噪聲后的三軸加速度進(jìn)行定標(biāo)的方法為:
將傳感器的三軸分別平行于重力方向放置,每個(gè)軸對(duì)應(yīng)兩個(gè)輸出值(一個(gè)正方向?qū)?yīng)值和一個(gè)反方向?qū)?yīng)值),
將每個(gè)軸對(duì)應(yīng)的兩個(gè)輸出值代入以下公式:
g=k×adc+offset(1)
解得每個(gè)坐標(biāo)軸所對(duì)應(yīng)的標(biāo)度因數(shù)k和加速度為0g時(shí)傳感器的輸出值offset,其中,g為真實(shí)的加速度值,adc為傳感器的輸出值,
將每個(gè)坐標(biāo)軸所對(duì)應(yīng)的標(biāo)度因數(shù)k和輸出值offset代入公式(1),獲得每個(gè)坐標(biāo)軸真實(shí)的加速度值,即真實(shí)三軸加速度。
當(dāng)輸入信號(hào)為零的時(shí)候,傳感器的示數(shù)為零偏誤差,因此需要通過(guò)實(shí)驗(yàn)計(jì)算零偏誤差,并在將實(shí)測(cè)信號(hào)予以零偏誤差補(bǔ)償。理論上,將傳感器水平靜置,其x軸,y軸讀數(shù)將為零,而z軸為1g或者-1g。但是真實(shí)情況不是這樣,每個(gè)芯片由于制造工藝的問(wèn)題,實(shí)際輸出的數(shù)值肯定與理論值有偏差,因此需要進(jìn)行定標(biāo)。本實(shí)施方式中只針對(duì)三軸加速度進(jìn)行定標(biāo)。
通過(guò)以下實(shí)施例具體說(shuō)明如何獲得真實(shí)z軸加速度:
將mpu6050傳感器水平放置,使其z軸與重力同向,采集30s的靜止數(shù)據(jù)。由于采集的開(kāi)始和結(jié)束由于人為波動(dòng)開(kāi)關(guān)的影響,會(huì)產(chǎn)生較大的機(jī)械振動(dòng),所以數(shù)據(jù)舍棄掉開(kāi)始的5s和最后的5s,采用中間穩(wěn)定的數(shù)據(jù)進(jìn)行定標(biāo)樣本選取。采樣率設(shè)置為50hz,取決于時(shí)間控制的精準(zhǔn)度,有效采樣點(diǎn)個(gè)數(shù)為1000點(diǎn)左右。
然后同樣的方式將終端翻轉(zhuǎn)放置,使z軸與重力反向,采集1000個(gè)左右有效樣本。這些采樣點(diǎn)的均值作為定標(biāo)依據(jù),就可以獲得k和offset。將k與offset帶入公式(1)即可獲得真實(shí)z軸加速度。
具體實(shí)施方式五:本實(shí)施方式是對(duì)具體實(shí)施方式二所述的人體姿態(tài)識(shí)別方法作進(jìn)一步說(shuō)明,本實(shí)施方式中,二階范數(shù)的運(yùn)算公式如下:
其中,accel為合加速度序列,accelx為x軸的加速度,accely為y軸的加速度,accelz為z軸的加速度,gyro為合角速度序列,gyroxx軸的加速度,gyroyx軸的加速度,gyrozx軸的加速度。
具體實(shí)施方式六:本實(shí)施方式是對(duì)具體實(shí)施方式二所述的人體姿態(tài)識(shí)別方法作進(jìn)一步說(shuō)明,本實(shí)施方式中,32維的數(shù)據(jù)流如下表所示:
從傳感器提取的運(yùn)動(dòng)信息,表征的都是人體運(yùn)動(dòng)的初始信息。進(jìn)行特征提取之前,需要對(duì)初始信息進(jìn)行整合運(yùn)算從而獲取進(jìn)一步的時(shí)間序列。人體合加速度與合角速度很大程度上體現(xiàn)了人體運(yùn)動(dòng)的劇烈程度,人體運(yùn)動(dòng)的另一個(gè)表征就是各個(gè)軸數(shù)據(jù)的變化速率,可以用差值序列表征序列變化的劇烈程度。因此可以生成各個(gè)軸差值序列,由此得到了一個(gè)32維的數(shù)據(jù)。
現(xiàn)提供如下實(shí)施例來(lái)對(duì)本發(fā)明進(jìn)行具體說(shuō)明:
本實(shí)施例用來(lái)區(qū)分行走、跑步、原地劇烈運(yùn)動(dòng)、站立、躺臥、倚坐、摔倒與正常過(guò)渡狀態(tài)。
首先,對(duì)典型的運(yùn)動(dòng)狀態(tài)進(jìn)行采樣,采樣分為兩部分,第一部分為針對(duì)前6種狀態(tài)的采樣,第二部分為針對(duì)后兩種狀態(tài)的采樣。
在第一部分中,將采集終端安放在腕部和大腿處,y軸方向分別與小臂和大腿方向平行向下,設(shè)定采樣率為50hz,分10次采樣,每次采集一分鐘。針對(duì)這一分鐘數(shù)據(jù)采用第500點(diǎn)到第2500點(diǎn)的數(shù)據(jù),采集的動(dòng)作為跑步、行走、原地劇烈運(yùn)動(dòng)、站立、躺臥、倚坐,每個(gè)動(dòng)作采集20000個(gè)點(diǎn)作為數(shù)據(jù)樣本,作為數(shù)據(jù)處理的輸入共采集120000個(gè)點(diǎn)。同時(shí)采集終端靜置狀態(tài)下的數(shù)據(jù)作為定標(biāo)依據(jù)。將應(yīng)用這些數(shù)據(jù)進(jìn)行數(shù)據(jù)處理與分類器訓(xùn)練。具體步驟如下:
抑制噪聲:對(duì)數(shù)據(jù)進(jìn)行數(shù)字濾波,采用低通的巴特沃斯濾波器,其參數(shù)如下所示:
通帶截止頻率為19.5hz,阻帶截止頻率為20.5hz,通帶最大衰減為1db,阻帶最小衰減為5db,階數(shù)為5,3db截止頻率為20hz。
對(duì)數(shù)據(jù)進(jìn)行定標(biāo):將濾波后的定標(biāo)數(shù)據(jù)用數(shù)據(jù)計(jì)算均值和方差,利用均值為計(jì)算參考值,利用式2-1計(jì)算各個(gè)方向的k與offset。將訓(xùn)練用數(shù)據(jù)點(diǎn)帶入公式,求得定標(biāo)后的數(shù)據(jù)。
對(duì)運(yùn)動(dòng)樣本數(shù)據(jù)進(jìn)行重力干擾抑制:采用低通的巴特沃斯濾波器進(jìn)行低通濾波,濾波器的參數(shù)如下:采樣率50hz,阻帶截止頻率0.375hz,通帶截止頻率0.25hz。
特征提取:處理后的每個(gè)樣本為上肢下肢,每肢三軸加速度三軸角速度共12維數(shù)據(jù)。首先利用每肢的三軸加速度和三軸角速度計(jì)算二階范數(shù)生成每肢的合加速度與合角速度,再將現(xiàn)在的16維數(shù)據(jù)進(jìn)行差值運(yùn)算形成差值序列共32維數(shù)據(jù)。
將每一維的數(shù)據(jù)進(jìn)行時(shí)間窗切片,時(shí)間窗長(zhǎng)度為2s即100點(diǎn),重復(fù)度為50%。利用該時(shí)間窗截取樣本數(shù)據(jù),形成幀,每一幀則為訓(xùn)練的一個(gè)樣本。
針對(duì)每一個(gè)樣本進(jìn)行特征提取,提取的特征如表2-5所示,共提取出100個(gè)特征。最后每個(gè)樣本形成100維的特征向量
判別靜止?fàn)顟B(tài)與運(yùn)動(dòng)狀態(tài):根據(jù)數(shù)據(jù)特征進(jìn)行判別,主要采取腿部合加速度的方差特征作為判決依據(jù),閾值為6種運(yùn)動(dòng)狀態(tài)下腿部和加速度方差的均值。
靜止?fàn)顟B(tài)訓(xùn)練:靜止?fàn)顟B(tài)的識(shí)別采用二叉樹(shù)的方法,因此其分類器主要就是訓(xùn)練其節(jié)點(diǎn)大小。而經(jīng)分析,可采用大腿部y軸的均值作為第一個(gè)節(jié)點(diǎn)判斷是否為站立,以大腿部y軸均值與手腕部y軸均值的差值而第二個(gè)節(jié)點(diǎn)判斷依據(jù)。第一個(gè)節(jié)點(diǎn)閾值采用三個(gè)姿態(tài)y軸均值的均值作為閾值,第二個(gè)采用躺臥、倚坐兩個(gè)姿態(tài)的大腿與手腕y軸均值的差值的均值作為閾值。
運(yùn)動(dòng)狀態(tài)訓(xùn)練:運(yùn)動(dòng)狀態(tài)的訓(xùn)練采用一對(duì)多的支持向量機(jī),首先對(duì)樣本數(shù)據(jù)貼以標(biāo)簽。然后利用徑向核函數(shù)作為支持向量機(jī)的核函數(shù)進(jìn)行訓(xùn)練,利用多對(duì)一的方式共訓(xùn)練出4個(gè)分類器,用于運(yùn)動(dòng)狀態(tài)的識(shí)別。
利用最后新生成的一對(duì)多支持向量機(jī)與二叉樹(shù)構(gòu)建聯(lián)合的分類器,將該分類器用于最后的姿態(tài)識(shí)別中。