李思雨,周平,肖文錦,周光泉
東南大學(xué) 生物科學(xué)與醫(yī)學(xué)工程學(xué)院,南京市,210096
隨著社會工作方式的改變,眾多的工作需要工作者保持長時間的頭頸部固定姿勢。此外,隨著娛樂交流等方式的改變,人們操作智能手機(jī)、平板電腦時也會長時間保持頭頸部固定姿勢。因此,雖然頸椎病不是現(xiàn)代工作、生活方式的產(chǎn)物,但不可否認(rèn),現(xiàn)代工作、生活方式的改變是目前頸椎病發(fā)病率逐年上升的重要原因[1],甚至有中小學(xué)生罹患頸椎病的報(bào)道見諸媒體[2]。
實(shí)現(xiàn)預(yù)防頸椎病的目標(biāo),需從頭頸部運(yùn)動監(jiān)測與頭頸部有效運(yùn)動識別兩個方面同時開展工作。就頭頸部運(yùn)動監(jiān)測而言,傳統(tǒng)的監(jiān)測方法主要通過立體視覺、壓力/重力傳感器或加速度傳感器等方式加以實(shí)現(xiàn)。如美國耶魯大學(xué)的DIRACO等[3]設(shè)計(jì)了一種用于人體姿態(tài)識別的動態(tài)視覺系統(tǒng),該系統(tǒng)通過攝像機(jī)拍攝視頻和圖像獲取使用者的數(shù)據(jù)信息。天津大學(xué)的鄭偉龍[4]通過四臺環(huán)形布置的攝像機(jī)利用立體視覺原理和三維數(shù)字圖像相關(guān)方法跟蹤記錄貼在每個頸椎椎骨的棘突和橫突對應(yīng)位置上的標(biāo)志點(diǎn)的空間位置,建立頸椎椎骨坐標(biāo)系,測量復(fù)雜的頸椎運(yùn)動。武漢大學(xué)的朱衛(wèi)平等[5]將薄膜壓力傳感器放置于坐墊中對人體體壓進(jìn)行采集,結(jié)合攝像頭采集人類臉部數(shù)據(jù)實(shí)現(xiàn)準(zhǔn)確的坐姿識別,評估頸椎病危險程度。東北石油大學(xué)的高鵬[6]根據(jù)重力加速度在重力加速度傳感器三個感應(yīng)軸上的重力分量來計(jì)算物體的傾角。西南科技大學(xué)的謝叢霜等[7]選用6軸運(yùn)動處理傳感器獲得與當(dāng)前姿態(tài)相關(guān)的四元數(shù)數(shù)據(jù),轉(zhuǎn)換為歐拉角得到姿態(tài)的航向角、俯仰角和翻滾角,實(shí)現(xiàn)對人體頸部姿態(tài)的讀取??傮w而言,基于立體視覺的監(jiān)測方法的優(yōu)點(diǎn)在于監(jiān)測方式較為直觀,缺點(diǎn)在于系統(tǒng)復(fù)雜度與成本相對較高,且存在侵犯使用者隱私的潛在風(fēng)險。就實(shí)現(xiàn)頭頸部運(yùn)動監(jiān)測而言,基于加速度傳感器的監(jiān)測方法在系統(tǒng)復(fù)雜度、成本與使用者隱私保護(hù)等方面均具有明顯優(yōu)勢[8]。
針對以上問題,筆者研發(fā)了一套穿戴式頸椎病預(yù)防系統(tǒng)。系統(tǒng)的頭頸部運(yùn)動采集模塊通過加速度傳感器加以實(shí)現(xiàn),具體采用了放置于頭部常見飾品、附件,如眼鏡之上的非接觸式方案,方便快捷且不影響日常生活。該系統(tǒng)的頭頸部有效運(yùn)動識別模塊采用了基于人工智能的信號處理方案,一方面可以對頭頸部的長時間固定狀態(tài)進(jìn)行識別、報(bào)警,另一方面可以引導(dǎo)使用者完成有效的頭頸部運(yùn)動,通過運(yùn)動療法實(shí)現(xiàn)對頸椎病的預(yù)防。
頭頸部運(yùn)動采集模塊的系統(tǒng)框圖如圖1所示。
圖1 頭頸部運(yùn)動采集模塊框圖Fig.1 Head and neck movement collection module
加速度傳感器是頭頸部運(yùn)動采集模塊的核心部分,其記錄了因頭頸部運(yùn)動而產(chǎn)生的加速度信號。設(shè)計(jì)時選用MMA7361三軸加速度傳感器,因該傳感器自帶睡眠模式,可降低功耗以提高系統(tǒng)續(xù)航能力,適用于穿戴式頸椎病預(yù)防系統(tǒng)??紤]到頭頸部運(yùn)動特征,將MMA7361的工作模式設(shè)置為1.5 g模式,采樣率設(shè)置為200 Hz。對于系統(tǒng)的信號控制與處理功能,考慮到頭頸部運(yùn)動采集模塊的續(xù)航能力以及頭頸部運(yùn)動識別的算法復(fù)雜度,我們采用了將頭頸部運(yùn)動采集與識別功能分別在下位機(jī)與上位機(jī)加以實(shí)現(xiàn)的方案。頭頸部運(yùn)動采集模塊作為系統(tǒng)的下位機(jī),一方面負(fù)責(zé)頭頸部運(yùn)動采集模塊的控制功能,另一方面將加速度傳感器采集到的信號按協(xié)議編碼直接轉(zhuǎn)發(fā)給上位機(jī),而不做其余數(shù)字信號處理。綜合考慮頭頸部運(yùn)動采集模塊的信號控制處理與無線通訊功能,本文選擇TI公司的CC2540實(shí)現(xiàn)這兩項(xiàng)功能。CC2540集成了51內(nèi)核的MCU與2.4 GHz的低功耗藍(lán)牙通訊模塊,可勝任上述兩項(xiàng)功能。頭頸部運(yùn)動采集模塊的電源部分采用鋰電池管理芯片TP4056供電,采用穩(wěn)壓芯片TPS76933對電池輸出電源進(jìn)行穩(wěn)壓,為MMA7361與CC2540等芯片提供3.3 V穩(wěn)恒電壓,使整體采集模塊具備便攜性且可以持續(xù)供電。
筆者研發(fā)的頭頸部運(yùn)動采集模塊如圖1左邊第一幅圖所示。受限于實(shí)驗(yàn)室環(huán)境,該采集模塊的尺寸為51 mm×35 mm×12 mm,重量為7 g,可滿足實(shí)驗(yàn)室環(huán)境下的頸椎病預(yù)防功能。綜合考慮市場上現(xiàn)有的帶有加速度采集功能的設(shè)備,如小米手環(huán),商業(yè)化的頭頸部運(yùn)動采集模塊的尺寸有望達(dá)到36 mm×14 mm×9 mm,重量有望低于10 g,故筆者提出的研究方案具有市場可實(shí)現(xiàn)性。
針對頸椎病預(yù)防的應(yīng)用場景,我們選擇以智能手機(jī)為上位機(jī),即頭頸部運(yùn)動識別模塊的實(shí)現(xiàn)載體。考慮到智能手機(jī)的數(shù)據(jù)處理能力與算法功耗,模塊內(nèi)各功能的實(shí)現(xiàn)算法均進(jìn)行了針對性設(shè)計(jì)??紤]到頭頸部運(yùn)動特征,設(shè)置寬為2 s的時間窗對信號進(jìn)行滑窗截取,并設(shè)置50%的窗重疊[9]。頭頸部運(yùn)動識別模塊對每一個2 s片段的數(shù)據(jù)進(jìn)行處理,主要實(shí)現(xiàn)數(shù)據(jù)預(yù)處理、頭頸部特定姿態(tài)識別與頭頸部有效運(yùn)動識別等三個功能。
數(shù)據(jù)預(yù)處理主要去除信號中的重力加速度,采集連續(xù)靜止?fàn)顟B(tài)下的加速度信號,以此作為系統(tǒng)重力加速度的參考值,在后續(xù)的信號中將其去除[10]。重力加速度的參考值采用自適應(yīng)方式在系統(tǒng)工作中實(shí)時修正。由于頸椎病預(yù)防系統(tǒng)的使用場景多為使用者頭頸部長期保持固定姿勢,故運(yùn)動采集模塊獲得數(shù)據(jù)的信噪比比較高。因此,本研究的數(shù)據(jù)預(yù)處理不包含對信號的濾波處理。類似地,綜合考慮性能與算法復(fù)雜度,頭頸部固定姿態(tài)識別功能采用閾值法加以實(shí)現(xiàn)。本研究以2 s靜止?fàn)顟B(tài)下加速度信號的總能量作為閾值基本值,閾值基本值實(shí)時修正。經(jīng)實(shí)驗(yàn)驗(yàn)證,本研究以2倍閾值基本值作為頭頸部固定姿態(tài)判定的閾值(記為TH_S),以5倍閾值基本值作為頭頸部有效運(yùn)動判定的閾值(記為TH_M)。若某一個2 s數(shù)據(jù)片段內(nèi)加速度信號的能量值小于閾值TH_S,則判定該數(shù)據(jù)片段為靜止?fàn)顟B(tài),并修正閾值基本值;若大于閾值TH_M,則判定該數(shù)據(jù)片段為運(yùn)動狀態(tài),不修改閾值基本值,并對其進(jìn)行頭頸部有效運(yùn)動識別。
基于頸部肌肉的生理基礎(chǔ)與頸椎病預(yù)防運(yùn)動療法研究成果[11-14],頭頸部有效運(yùn)動識別功能將有效運(yùn)動分為8類:低頭、仰頭、左轉(zhuǎn)、右轉(zhuǎn)、左側(cè)屈、右側(cè)屈、左回環(huán)和右回環(huán),此外為無效運(yùn)動。
最后,將有效運(yùn)動與無效動作片段輸入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類識別,選擇全連接前饋神經(jīng)網(wǎng)絡(luò)[15]作為基礎(chǔ)結(jié)構(gòu),整個網(wǎng)絡(luò)分為三層:輸入層、隱藏層和輸出層,分別包含512、64和9個神經(jīng)元。同時為簡化各層神經(jīng)元間的連接結(jié)構(gòu)、提升神經(jīng)網(wǎng)絡(luò)訓(xùn)練效率,在前兩層網(wǎng)絡(luò)的訓(xùn)練中使用Dropout層來抑制網(wǎng)絡(luò)的過擬合傾向[16],網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Structure of neural networks
在神經(jīng)網(wǎng)絡(luò)各層激活函數(shù)選擇方面,前兩層選用了線性整流激活函數(shù)(Rectified Linear Unit,ReLU),輸出層為了輸出特定格式的預(yù)測向量而選用了softmax分類器[17]。softmax函數(shù)的表達(dá)式如下:
其中zj表示該網(wǎng)絡(luò)第j個輸出,σ(z)j表示softmax第j個輸出值。從式(1)可以看到,softmax函數(shù)能夠很容易地勝任多分類問題,它的輸出可以認(rèn)為是每一類可能出現(xiàn)的概率大小,所有的類別的概率和為1。
經(jīng)過實(shí)驗(yàn)調(diào)試,我們最終選擇了交叉熵?fù)p失函數(shù)[18]和Adagrad梯度下降優(yōu)化器[19]的組合以達(dá)到神經(jīng)網(wǎng)絡(luò)最佳的擬合效果。
交叉熵的定義為:
其中p(x)用來描述真實(shí)分布,q(x)用來描述模型預(yù)測的分布。它是真實(shí)分布和訓(xùn)練集分布之間差異性的一個度量,通過取對數(shù)的操作使得梯度值相對變大,對參數(shù)的修正能力變得更強(qiáng)。
Adagrad梯度下降公式如下:
其中g(shù)t表示當(dāng)前參數(shù)的梯度值,η表示全局學(xué)習(xí)率。Adagrad將第t步之前累加的梯度平方和作為學(xué)習(xí)率的分母,在學(xué)習(xí)的過程中實(shí)現(xiàn)自動調(diào)整學(xué)習(xí)率:對于出現(xiàn)頻率低的參數(shù)使用較大的學(xué)習(xí)率,出現(xiàn)頻率高的參數(shù)使用較小的學(xué)習(xí)率,在數(shù)據(jù)分布稀疏的場景能更好利用稀疏梯度的信息,能更有效地收斂。
為驗(yàn)證本研究團(tuán)隊(duì)研發(fā)的頸椎病預(yù)防系統(tǒng)的性能,將頭頸部運(yùn)動采集模塊固定于使用者佩戴的眼鏡上,如圖3所示。
為訓(xùn)練本系統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),頭頸部運(yùn)動采集模塊將數(shù)據(jù)上傳到PC機(jī)保存,在日常使用時則與智能手機(jī)進(jìn)行藍(lán)牙通訊,在智能手機(jī)端集成訓(xùn)練完成了頭頸部運(yùn)動識別模塊。本研究采集了10名志愿者(男4女6)共9 000條頭頸部運(yùn)動的加速度數(shù)據(jù),數(shù)據(jù)詳情如表1所示。
圖3 穿戴式頸椎病預(yù)防系統(tǒng)使用圖Fig.3 The usage diagram of wearable system for cervical spondylosis prevention
表1 頭頸部運(yùn)動加速度數(shù)據(jù)Tab.1 Head and neck motion acceleration data
經(jīng)多次實(shí)驗(yàn)發(fā)現(xiàn),合加速度不利于準(zhǔn)確識別頭頸部有效運(yùn)動類別,因此本研究將2 s片段內(nèi)的加速度數(shù)據(jù)按照XYZ軸的順序進(jìn)行拼接,得到長度為1 200的一維向量作為卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)。網(wǎng)絡(luò)的訓(xùn)練將數(shù)據(jù)集隨機(jī)打亂,抽取其中1 000條數(shù)據(jù)組成測試集,其余8 000條數(shù)據(jù)作為訓(xùn)練集進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練。為了達(dá)到更優(yōu)的訓(xùn)練效果,同時提高訓(xùn)練效率,使用迭代法進(jìn)行訓(xùn)練,設(shè)置batch size為200,epoch為20。此外,將學(xué)習(xí)率設(shè)置為自適應(yīng)調(diào)整模式,即當(dāng)損失趨于穩(wěn)定,無法繼續(xù)減小時,神經(jīng)網(wǎng)絡(luò)通過降低學(xué)習(xí)率的方法進(jìn)一步逼近最優(yōu)結(jié)果。經(jīng)過訓(xùn)練,卷積神經(jīng)網(wǎng)絡(luò)最終訓(xùn)練集分類綜合準(zhǔn)確率為98.85%、測試集分類綜合準(zhǔn)確率為97.51%。
在日常使用時,智能手機(jī)與頭頸部運(yùn)動采集模塊建立藍(lán)牙通訊,實(shí)時對其采集到的加速度信號進(jìn)行頭頸部固定姿態(tài)識別。當(dāng)連續(xù)監(jiān)測到頭頸部保持固定姿態(tài)超過30 min時,系統(tǒng)通過智能手機(jī)震動功能向使用者報(bào)警,并在智能手機(jī)上進(jìn)行顯示,指導(dǎo)使用者按照提示完成一系列頭頸部有效運(yùn)動,如圖4所示。此時,頭頸部運(yùn)動識別模塊實(shí)時處理使用者頭頸部的運(yùn)動信號,當(dāng)使用者完成頭頸部有效運(yùn)動超過5 min后,結(jié)束此次運(yùn)動指導(dǎo),返回至頭頸部固定姿態(tài)識別功能。
圖4 頭頸部有效運(yùn)動指導(dǎo)Fig.4 Head and neck effective exercise guidance
本研究分別從硬件和軟件角度介紹了一種創(chuàng)新的便攜式頭頸部運(yùn)動檢測系統(tǒng)。本系統(tǒng)硬件部分小型便捷,能夠便攜地放置于使用者的頭部,捕捉使用者各種可能的頸部活動姿態(tài)中的不同特征;系統(tǒng)軟件部分基于深度學(xué)習(xí)進(jìn)行動作分類識別,綜合識別準(zhǔn)確率為97.51%,所以本系統(tǒng)的檢測精度滿足實(shí)際應(yīng)用要求??傮w而言,本系統(tǒng)硬件結(jié)構(gòu)簡單,軟件算法效率和精度較高,可實(shí)時、連續(xù)、準(zhǔn)確地進(jìn)行頸部運(yùn)動監(jiān)測,有望用于頸椎病早期預(yù)防的日常自我檢測,防止長時間辦公導(dǎo)致頸椎酸痛以致頸椎病的發(fā)生,利于向家庭和社區(qū)推廣。