劉今越, 周志文, 賈曉輝, 郭士杰
(1.河北工業(yè)大學(xué) 機械工程學(xué)院,天津 300130;2.河北省機器人感知與人機融合重點實驗室,天津 300132)
睡姿已經(jīng)被證明是評估睡眠質(zhì)量與預(yù)防褥瘡的關(guān)鍵。通過睡姿調(diào)整可以有效地預(yù)防褥瘡,但目前大多數(shù)患者得不到有效護理,因此,患者與護理人員都迫切需要一個可以自主監(jiān)測與識別睡姿的系統(tǒng)。
傳統(tǒng)的睡姿識別系統(tǒng)主要使用相機采集信息,如葉蔭球等人[1]使用攝像機獲取人體的靜態(tài)睡姿與動態(tài)視頻,采用水平集方法與神經(jīng)網(wǎng)絡(luò)識別睡姿。但這種基于視覺的方式容易受到光線的影響且存在嚴重的隱私隱患。許歡等人[2]提出一種基于生物電阻抗技術(shù)的睡姿識別方法,對4種睡姿進行了識別,準確率可達94 %,但傳感器必須固定在人體上,帶來極大的束縛感。近幾年,無束縛的睡姿識別成為了主要的研究方向。Jones M H等人[3]發(fā)明了一種帶有24只壓力傳感器的床墊系統(tǒng),制造工藝復(fù)雜,成本較高。張藝超等人[4]提出了一種基于心沖擊信號的睡姿識別方法,受外界影響較大,識別精度也不高。
在睡姿識別領(lǐng)域中,以無束縛的方式實現(xiàn)高精度識別是目前面臨的主要挑戰(zhàn),為了解決這個問題,本文基于自主研發(fā)的陣列式柔性壓力傳感器設(shè)計了睡姿采集系統(tǒng),采集了6種睡姿的靜態(tài)壓力圖像(仰臥型、俯臥型、左側(cè)樹干型、左側(cè)胎兒型、右側(cè)樹干型、右側(cè)胎兒型),提出了一種基于支持向量機(support vector machine,SVM)并使用遺傳算法(genetic algorithm,GA)進行參數(shù)優(yōu)化的睡姿識別方法,并結(jié)合實驗驗證了該方法的識別準確率。
本文使用柔性電容式壓力傳感器采集人體睡姿,其結(jié)構(gòu)原理如圖1所示,該傳感器采用陣列式結(jié)構(gòu),中間為聚氨酯海綿材質(zhì)的介電層,電極層上分別均勻分布32條平行電極,兩個電極層分別位于介電層上下兩側(cè)并且在空間中相互垂直分布,形成“三明治”結(jié)構(gòu)。兩層電極層上平行電極相互交叉,每一個電極交叉單元形成一個電容傳感單元,每只傳感器上分布32×32共1 024個有效傳感單元。當有壓力施加于傳感器表面時,介電層發(fā)生壓縮變形,傳感單元電容值的改變表征對應(yīng)區(qū)域的壓力變化。
圖1 陣列式傳感器結(jié)構(gòu)
通過測試,本文所用傳感器的電容傳感單元能夠感知0~70 kPa的壓強,電容靈敏度約為1.07(nF/m2)/kPa,兩者關(guān)系如圖2所示。
圖2 電容單元所受壓強和電容變化關(guān)系
基于柔性壓力傳感器本文設(shè)計了可實時顯示并識別監(jiān)測睡姿的采集系統(tǒng)。如圖3所示,該系統(tǒng)由壓力傳感器、數(shù)據(jù)采集卡以及上位機組成,由于單只傳感器傳感區(qū)域大小為800 mm×800 mm,無法獲取完整的人體睡姿,因此,采用兩片拼接方式的雙傳感器對睡姿實現(xiàn)同步采集,實驗時將壓力傳感器放置在床單下方,測試人員躺在床單上,即可實現(xiàn)無束縛、無干擾的睡姿圖像采集。
圖3 睡姿系統(tǒng)結(jié)構(gòu)原理
系統(tǒng)工作過程如下:壓力傳感器感知人體壓力,并將其轉(zhuǎn)換為對應(yīng)的電容單元容值;數(shù)據(jù)采集卡主要由電容—電壓信號轉(zhuǎn)換模塊、信號放大濾波模塊、數(shù)模轉(zhuǎn)換模塊以及通信模塊組成,通過信號轉(zhuǎn)換模塊將傳感器的電容信號轉(zhuǎn)換為易于處理的電壓信號;通過放大濾波模塊對弱電壓信號進行比例放大、低通濾波、二級放大以及帶通濾波;最后經(jīng)過數(shù)模轉(zhuǎn)換后得到壓力數(shù)據(jù),并經(jīng)過通信模塊將壓力數(shù)據(jù)傳輸至上位機進行后續(xù)處理。
上位機主要負責(zé)數(shù)據(jù)處理與睡姿圖像的實時顯示。雙傳感器同步采集人體壓力數(shù)據(jù),上位機同步接收來自兩個采集卡的2組數(shù)據(jù),每組數(shù)據(jù)均包含1 024個壓力數(shù)據(jù)。為了使壓力值的坐標與傳感器陣列中的電容單元位置一一對應(yīng),還原人體臥床的方向與位置,通過圖像顯示程序處理,每組數(shù)據(jù)轉(zhuǎn)換為32×32的矩陣形式,兩個矩陣拼接后,得到完整的睡姿圖像。圖4為人體仰臥于壓力傳感器上時,壓力數(shù)據(jù)經(jīng)上位機插值處理后顯示的仰臥睡姿圖像,能將人體各部分的幾何特征顯示出來。
圖4 睡姿系統(tǒng)采集實例
彩色圖像比灰度圖包含更豐富的信息,但直接識別比較復(fù)雜且效率低下,因此,將睡姿信息轉(zhuǎn)變?yōu)榛叶葓D進行處理與識別。在采集壓力數(shù)據(jù)的過程中,由于設(shè)備及環(huán)境的影響,睡姿圖像中常包含噪聲,因此采用閾值法,通過設(shè)定原始壓力圖像的閾值從中分割睡姿區(qū)域。考慮到兩只傳感器在一致性上存在微小差異,分別使用不同的閾值對兩只傳感器采集的部分睡姿圖像進行分割,以保證在去除一部分噪聲的同時保留盡量多的有效信息。轉(zhuǎn)換公式為
(1)
(2)
式中A為原始壓力圖像,B為睡姿灰度圖,T為閾值,N為非零壓力值的數(shù)量。
在圖像識別中,圖像的質(zhì)量決定了識別的準確率。利用靜態(tài)壓力圖像進行睡眠姿勢分類時,圖像中噪聲引起的孤立點、肢體與軀干連接處的不確定性都是識別睡姿特征的技術(shù)難點。因此,需要對睡姿灰度圖進行預(yù)處理以提高識別準確率。本文主要采用了包括閉運算和開運算的圖像形態(tài)學(xué)技術(shù)對圖像中的噪聲進行濾波處理。閉運算可以填補睡姿圖像中的小孔和彌合裂縫,使人體的肢體連接更加緊密,而開運算可以去除圖像中孤立的點,擴大不相關(guān)輪廓的間隔,使人體四肢更加分明[5]。此外,為了提高訓(xùn)練速度,減小實驗樣本體重和身高差異帶來的影響,所有圖像進行歸一化處理,統(tǒng)一為大小為64×32,像素值在0~1之間的目標圖像。過程如圖5所示,原始睡姿圖像在經(jīng)過形態(tài)學(xué)處理后噪點基本去除,且保持了清晰的人體特征。通過歸一化處理,圖像轉(zhuǎn)換為可用于訓(xùn)練的目標圖像。在實際處理中,圖像均為灰度圖,彩色化只是便于可視化的操作。
圖5 睡姿圖像預(yù)處理
SVM是目前解決非線性及高維模式識別問題表現(xiàn)最好的方法之一,通過訓(xùn)練可以得到樣本點之間最優(yōu)超平面,實現(xiàn)兩種或多種類別樣本的分類[6]。超平面表達式為
〈ω,x〉+b=0
(3)
式中ω為超平面參數(shù)向量,x為訓(xùn)練樣本,b為超平面的截距。
訓(xùn)練分類模型的過程就是尋找最優(yōu)超平面,使得不同類型樣本點到最優(yōu)超平面的幾何距離最大,SVM將這個求解過程轉(zhuǎn)化成了凸優(yōu)化問題[7],其表達式為
yi(〈ω,xi〉+b)≥1-ξi,i=1,…,n
(4)
為了處理少數(shù)偏離超平面過大的樣本點,本文引入了懲罰因子C和松弛變量ξ以提高模型的擬合能力。此外,選用高斯徑向基函數(shù)作為核函數(shù),其表達式為
K(xi,xj)=exp(-gamma·‖xi-xj‖2)
(5)
其中,gamma=1/2σ2(以下簡稱為g)。
通過核函數(shù)的映射,睡姿圖像被映射到高維空間,實現(xiàn)了不同睡姿樣本之間的線性可分。
定義六種睡姿(仰臥型、右側(cè)樹干型、右側(cè)胎兒型、左側(cè)樹干型、左側(cè)胎兒型、俯臥型)的類型標簽分別為yi={0,1,2,3,4,5},定義睡姿圖像的樣本集為X={x1,x2,…,xn},其中,n為樣本的總數(shù)量;則訓(xùn)練樣本集可定義為T={(x1,y1),(x2,y2),…,(xm,yi)},其中,m為訓(xùn)練樣本的數(shù)量。此外,本文采用基于有向無環(huán)圖的SVM分類模型,與傳統(tǒng)的SVM分類方法相比,有向無環(huán)圖SVM可以將六種睡姿的分類簡化為二分類問題,訓(xùn)練時間短通用性好。本文需要分類六種睡姿,訓(xùn)練后可生成(6×(6-1))/2共15個子SVM分類器,在識別過程中根據(jù)分類模型可快速輸出對應(yīng)睡姿的類型標簽。
在SVM中,核函數(shù)參數(shù)g與懲罰因子C是影響算法性能的重要因素。為了使算法的性能得到進一步提升,使用遺傳算法對參數(shù)C與參數(shù)g進行優(yōu)化[8],優(yōu)化過程中,參數(shù)C和g的取值范圍為[0,100],以Libsvm工具箱[9]中的Svmtrain函數(shù)作為目標函數(shù),使用訓(xùn)練樣本集通過K折交叉驗證的方式得出交叉驗證精度,并將最大精度作為適應(yīng)度函數(shù),獲取更加精確的C和g。首先C和g以二進制編碼的方式產(chǎn)生規(guī)模大小為20的初始種群,然后,計算出初始種群的適應(yīng)度函數(shù),若不滿足終止條件則不斷對種群進行選擇、交叉以及變異等操作產(chǎn)生新的種群,直到新種群的適應(yīng)度函數(shù)達到終止條件,則優(yōu)化結(jié)束,輸出對應(yīng)的參數(shù)C和g。此外,最大進化代數(shù)被設(shè)置為100,K為10,優(yōu)化過程中平均適應(yīng)度和最佳適應(yīng)度的變化曲線如圖6所示,根據(jù)優(yōu)化得到最佳的SVM參數(shù)為:C=0.960 25,g=1.839 4。
圖6 最優(yōu)個體及平均適應(yīng)度值的變化
采集10位測試者睡姿圖像,其中,男生9名、女生1名,測試者身高為163~183 cm,體重為45~83 kg。實驗時,測試者模擬日常家庭睡眠環(huán)境下的6種睡姿,每種睡姿在保持5 s后開始采集,圖7為采集的部分睡姿圖像樣本,其中圖(a)~(f)為同一名測試者的6種睡姿,圖(h)~(m)為6名測試者仰臥的睡姿圖像。
圖7 部分睡姿圖像樣本
實驗共采集了360個測試樣本,隨機抽取5位測試者的睡姿圖像作為訓(xùn)練樣本集,其余5位實驗人員的睡姿圖像作為測試樣本集,識別準確率如表1所示。由表1可知:仰臥、左側(cè)樹干型和左側(cè)胎兒型的分類準確率高達100 %,其他三種睡姿的分類準確率略低,但仍然超過了83 %。由于俯臥與仰臥的睡姿圖的四肢與軀體特征差別不大,右側(cè)樹干型和右側(cè)胎兒型主要差別在于腿部彎曲程度,容易發(fā)生混淆,因此錯誤率最高為10 %。使用該算法對睡姿進行識別,平均識別準確率為93.33 %。
表1 睡姿識別混合矩陣
將本文實驗結(jié)果與其他算法進行比較,如表2所示,文獻[10]、文獻[11]、文獻[12]的睡姿分類準確率均超過了90 %,但只對三種或四種睡姿進行了識別,睡姿類型較少。其中文獻[11]準確率最高達到了99.7 %,但需要將加速度傳感器綁在受試者的胸骨和右大腿上,給人帶來極強的束縛。文獻[12]的識別準確率也達到了97.1 %,但深度神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練復(fù)雜,運算時間長。文獻[13]的稀疏分類算法采用32個特征對六種睡姿進行分類,識別準確率僅為83.2 %。
表2 5種睡姿識別算法比較
為了通過監(jiān)測與識別患者的睡姿,達到預(yù)防褥瘡等臨床綜合征的目的,設(shè)計了一類基于大面積柔性壓力傳感器的睡姿采集系統(tǒng)實現(xiàn)無束縛人體睡姿的采集及識別。針對六種常見睡姿壓力圖像,提出一種基于SVM并通過遺傳算法對SVM關(guān)鍵參數(shù)進行優(yōu)化的睡姿識別方法。實驗結(jié)果表明:該方法平均準確率達到93.33 %。但是,由于大面積陣列式壓力傳感器的結(jié)構(gòu)特性以及采集卡的電路特性,睡姿圖像受噪聲影響明顯,因此,傳感器及采集電路的性能有待進一步提高。