?

基于視覺傳感器采集光流特征的精神疾病識別方法*

2024-03-06 02:55陳銳霆徐瑞吉應靈康金潤輝毛科技趙永標
傳感技術學報 2024年1期
關鍵詞:光流置信度精神疾病

陳銳霆,徐瑞吉,應靈康,金潤輝,毛科技,趙永標

(1.浙江工業大學計算機科學與技術學院,浙江 杭州 310014;2.杭州惠嘉信息科技有限公司,浙江 杭州 311121;3.浙江工業大學之江學院,浙江 紹興 312030)

隨著現代生活節奏加快,人們感受到來自方方面面的壓力。壓力的積累導致各種各樣的心理健康問題,最后發展到精神疾病。這些精神疾病危害著人們的身心,嚴重時甚至導致患者做出威脅個人或他人生命安全的行為[1]。世界衛生組織最新報告顯示2021 年底全球約13%的人群擁有不同程度的精神疾病問題,每年用于治療和預防的花費就高達萬億美元,給個人、家庭和社會都造成了巨大的負擔和影響[2]。

精神疾病的檢測識別一直是一個復雜且耗時的任務。要判定一個人是否正在遭受精神疾病的困擾,不僅需要具備專業的知識、基本掌握個人信息,還需要將目標人群放在一個時間跨度之下觀察才能臨床確診。很多擁有輕度精神疾病的人往往無法意識到自己精神狀態的異常,也不會主動透露自身情況或尋求治療,這導致精神疾病的篩查面臨巨大的現實困難[3]。

視覺傳感器可以準確地獲得人的面部表情、手勢、姿態、以及頭部運動等信息。研究表明,人的面部表情占情感信息量的55%,而聲音特征和語義特征分別占情感信息量的38%和7%[4]。因此利用視覺傳感器采集面部變化進行精神疾病評估是非常有效的方法。

除了數據采集之外,基于視覺傳感器的精神疾病識別方法能為精神疾病的輔助篩查提供了一種成本低廉、便捷、非侵入性的方式。相比傳統的臨床訪談和問卷評估,采用視覺傳感器可以直接采集患者在日常生活中的行為、表情等數據,無需人工干預,因此能夠更加客觀地反映患者的真實狀態。

基于上述分析,本文提出了一個基于視覺傳感器采集光流特征的精神疾病識別框架。該算法根據視覺傳感器的特點設計了一種光流特征提取方法,能夠捕捉患者面部表情變化豐富的局部特征,也能組合局部特征以維持面部拓撲結構的變化,不丟失全局特征信息。算法中使用適用于光流變化特征的網絡TSMOSNet 進行訓練,從而構建了一個高準確率和魯棒性的精神疾病識別算法模型。該模型參數體積小,推理速度快,可以與視覺傳感器進行整合,開發出一系列精神疾病預警系統,及時監測患者的行為變化,發現異常情況,并及時采取相應的干預措施。這為精神疾病的預防和治療提供了新的思路和方法。

1 基于視覺傳感器的精神疾病識別

1.1 視覺傳感器采集

由于通過視覺傳感器采集而來的患者視頻時間跨度大,且包括房屋背景等無用信息,需要對原始視頻做預處理,構建出面部序列單元。本算法中通過HOG 特征描述算子從采集視頻中按每幀提取出患者的面部圖片。提取到的患者面部圖片通過仿射變化進行矯正對齊,并統一圖片大小到128×128,以標準化面部圖片的分辨率。

其中,仿射變換是一種線性變換,能夠保持平行線的平行性和長度的比例不變。它由旋轉、縮放、錯切和平移四種基本變換組成,可以表示為矩陣乘法的形式,如式(1)所示:

式中:(x,y)是像素點變換前的坐標,(x′,y′)是像素點變換后的坐標,a11和a21分別表示圖像在x方向和y方向的縮放因子,a12和a22表示圖像在x方向和y方向的錯切因子,t1和t2表示圖像在x方向和y方向的平移量。

由于精神疾病患者并不會一直正對視覺傳感器。偏轉角度小的患者面部可以通過仿射變化進行矯正,但是存在偏轉角度大,且有物體遮擋等干擾的患者面部圖片。對于這些低質量的圖片,通過OpenFace[5]中的人臉檢測算法,定義置信度來進行清洗。

當置信度設置得比較高時,視覺傳感器能采集到的符合要求的面部圖片數量會變少,丟失掉一些可用的特征。反之當置信度取到較低值,會存在大量受到污染的面部圖片,影響整體方法的效果。對于置信度的設置,通過對比試驗,最后設置的置信度閾值為0.95。

因為患者的面部圖片是一個時序變化的圖片序列,通過對采集到的數據進行分析,發現低置信度的面部圖片都是連續的。為了保持時序性,使用低置信度面部圖片前出現的最后一張正常面部圖片作為填充,而不是直接刪除低置信度的面部圖片。

最后可以得到有效且高質量的患者面部圖片序列,即本文算法中定義的面部序列單元。本節方法流程如圖1 中的視覺傳感器視頻采集模塊所示。

圖1 本文的整體算法框架

1.2 面部應激單元提取

精神疾病患者的面部表情變化會被一些特定的內容所激發。其有效特征往往分散在采集而來的視頻片段之中。此外,因為采集而來的視頻時間不定,直接輸入模型訓練,存在時序跨度大、干擾信息多、有效特征難以定位等問題。所以,在本文的算法框架中,需要對1.1 節中提取到的面部序列單元進一步處理,提取出受到激發的患者面部圖片序列,即面部應激單元。

受到相關研究的啟發,光流特征在表情變化分析中能夠提取出有效的時空運動信息[6-7]。本算法在患者的面部序列單元中選定一張患者自然狀態下的面部圖片作為中性幀。然后,計算患者每幀的面部圖片和中性幀的光流特征。光流特征的水平分量u和垂直分量v采用TV-L1 光流方法來計算[8]。此外,光流應變采用了無窮小應變理論,可以反映出患者的細微面部形變。光流應變的定義如式(2)所示:

式中:δx為坐標(x,y)的像素點在x軸上的微分,δy為像素點在y軸上的微分,εxx和εyy為正切應變分量,εxy和εyx為剪切應變分量。則光流應變的幅值可以按式(3)進行計算。

在本文的算法中,以光流應變幅值作為量化患者面部運動的程度。而光流特征圖為水平分量u、垂直分量v和光流應變ε三個矩陣疊加而成,可視為一張通道數為3 的特征圖。

從已有的研究中可知,患者面部的表情變化通常集中在特定區域[9]。在本文算法中,定義了三塊ROI 區域,分別為左眼左眉、右眼右眉和嘴部區域。通過面部標志點來區分這些區域,如圖2 所示。

圖2 通過面部標志點定義的ROI 區域

在各個ROI 區域之中,以面部標志點的最高點、最低點、最左側的點和最右側的點作為基準進行截取。為了保證ROI 區域被完整地截取,不丟失邊界的信息,分別在每個方向都擴展12 個像素。算法中將左眼左眉區域定義為ROI 1,右眼右眉的區域定義為ROI 2,嘴部區域定義為ROI 3。

將ROI 1 和ROI 2 的大小都調整為27×27 像素,ROI 3 的大小調整為27×52 像素。最后,將三塊ROI 區域拼接在一起,得到54×54 大小的ROI 區域圖片。三塊ROI 區域的位置關系如圖3 所示。

圖3 面部ROI 區域位置關系

隨后,按照光流應變幅值中提到的方法計算面部序列單元的每一幀面部圖片和中性幀的光流特征圖。在計算光流特征圖時,雖然已經在采集視頻的預處理中對患者面部圖片進行了矯正對齊。本算法中還選取了鼻子區域的標志點位置,來進一步消除患者頭部全局運動對光流產生的影響[10]。

得到光流特征圖后,以原始圖片上識別出的面部標志點,按上述ROI 區域定義方式,從光流特征圖中裁剪拼接得到面部ROI 區域光流特征圖。該步驟算法流程如圖4 所示。

圖4 面部ROI 區域光流特征圖構建流程

通過面部ROI 區域光流特征圖構建流程中的算法,得到了患者面部序列單元中每幀面部圖片的面部ROI 區域光流特征圖。然后通過光流應變幅值計算方法,計算出患者每幀面部ROI 區域光流特征圖的光流應變幅值??梢缘玫綍r序幀和光流應變幅值的峰值關系圖,如圖5(a)所示。

在原始的峰值關系圖中存在著許多噪聲元素,這些噪聲元素的產生和圖片的質量、患者面部本身的過度偏轉和視覺傳感器的采集環境等因素相關。這導致了在峰值圖中存在大量微小的波峰和偽峰,影響后續算法的效果。所以需要對原始峰值圖進行去噪以及離群值檢測。

在去噪算法的選擇中,對比了傅里葉變化,滾動平均值和Savitzky-Golay 濾波。根據消融實驗數據,選擇Savitzky-Golay 濾波作為本文算法框架中的去噪算法。同樣,對于離群值檢測算法的選擇,對比了基于滾動統計的方法、孤立森林算法和K-Means 算法。在這些方法中,孤立森林算法取得了最好的效果。

經過去噪和離群值檢測后,得到處理后的峰值圖,如圖5(b)所示。處理后的峰值圖中減少了大量的微小波峰,也處理了偏離正常趨勢的離群點。然后,通過峰值檢測器尋找成峰時序段所在的起始幀位置、結束幀位置、峰值幀位置和持續幀長度。

每一個成峰時序段都是一個應激單元。為了后續輸入模型的數據長度統一,需要統計所有應激單元的持續幀長度,進行K-Mean 聚類,獲得一個最為合適的持續幀長度。

在本文使用的數據集中,聚類得到的時序幀長度為128。

按照本節算法流程可以將視覺傳感器采集而來的長時間的患者視頻,轉化為短時間的應激單元,應激單元中既包含了有效的患者面部表情變化特征,又保持了時序關聯性,易于后續模型進行訓練。能夠有效解決時序跨度大、干擾信息多、有效特征難以定位等問題。

本節整體的算法流程如圖1 中面部應激單元提取部分所示。

1.3 光流特征單元構建

以每個成峰時序段所在的峰值幀位置作為基準,對兩側起始幀位置和結束幀位置盡量等額進行擴充或是刪除(對于無法擴充前置幀或者后序幀的情況,通過復制幀來解決)。最后,得到標準化后的應激單元,為128 幀的分段面部序列單元。對于每一個標準化后的應激單元,同樣利用1.2 小節中介紹的方法,計算每一幀和中性幀的光流特征圖,保留指定ROI 區域部分,可以得到128 幀所對應的128張光流特征圖。

為了去除人臉個體性的差異,保持光流特征圖的時序聯系性以及采集環境對圖片帶來的色澤影響。對光流特征圖矩陣基于HSV 色彩空間做歸一化[11]。然后以16 frame/s 的規格將128 幀歸一化后的光流特征圖拼接成8 s 的視頻,即本算法中的光流特征單元。

光流特征單元為本算法框架后續模型的數據輸入。對于每一個光流特征單元,需要生成一個匹配的標簽。針對本文中所使用的數據,設計了一個偽標簽函數(線性函數)來對每一個光流特征單元生成標簽。偽標簽函數的表達形式g(·)如式(4)所示:

式中:label 為輸入視頻數據對應的標簽。

1.4 TSMOSNet 和權重分類

本算法以TSM 網絡為基礎,結合光流特征單元的特性,設計了新的網絡結構TSMOSNet。TSMOSNet的網絡結構如圖6 所示。

在TSMOSNet 模型的開始,輸入的光流特征單元被分割成N個大小相等的片段。在本文的算法中,因為光流特征單元的總幀數已經被控制在128 幀,所以在采樣環節使用了更為密集的采樣方法。模型中將N值設置為成16,也就是每個片段的大小為8 幀,從輸入的光流特征單元中采樣出16 幀光流特征圖輸入后續的網絡結構之中,來提高模型的精度。

光流特征圖的性質和一般圖片不同,為了提高光流特征單元的解碼速度,在模型中采用了PyAV作為解碼器。

模型的下一部分是光流處理頭。光流處理頭是針對光流特征圖提出的預提取網絡,替換了原TSM網絡之中的卷積模塊。光流處理頭的結構如圖7 所示。光流處理頭將輸入的特征圖拆分成三個通道分別進行卷積。以維持光流水平分量、垂直分量和光流應變矩陣的獨立性。每個卷積層的卷積核通道數分別是3、5、8,來獲取不同的感受野,隨后是一個最大池化層來減少特征圖的大小。然后,將每個流的特征圖按照通道堆疊重新組合特征,經過一個平均池化層后輸出。

圖7 光流提取頭的結構

光流提取頭能夠有效地提取光流特征圖的空間信息,送入后續的時序注意力模塊。

原TSM 網絡通過把特征在時間通道上位移,來獲取時序信息。但這種位移方式僅讓局部的特征進行交互,缺少對全局時序信息的建模能力。所以,本算法設計的TSMOSNet 在TSM 模塊之前,添加了輕量級的LTA 時序注意力模塊,可以讓后續的網絡在全局信息的指導下進行時序位移,進一步提高模型的精度。LTA 時序注意力模塊的結構如圖8 所示。

圖8 LTA 時序注意力模塊

本文提出算法的最后一步便是通過權重分類,讓光流變化單元的分類結果回歸到視覺傳感器采集視頻的分類結果之中。設面部序列單元M有l個光流特征單元,第i(0<i≤l)個光流特征單元的模型輸出標簽記為Li,可表示為M={L1,L2,L3,…,Ll}。其中任意標簽Li屬于n類偽標簽類別集合{P1,P2,…,Pn},表示為Li∈{P1,P2,…,Pn}。則權重分類函數的表達形式如式(5)所示:

式中:LM為權重分類函數計算出的面部序列單元M對應的標簽。函數MaxP 取輸入參數的最大值所對應的偽標簽。函數Count 為計數函數,統計輸入參數在M={L1,L2,L3,…,Ll}出現的次數。

通過權重分類函數,可以聚合光流特征單元的輸出標簽到面部序列單元所對應的標簽上,最后得到采集視頻的分類結果。

2 實驗與分析

為了評估本文提出的精神疾病識別算法框架的有效性,在H7-BDSN 數據集上進行了實驗。在本節中,將介紹數據集、實驗內容并討論分析實驗結果。

2.1 數據集

H7-BDSN 數據集是本文研究團隊和某人民精神醫院合作所采集構建的數據集。數據集在真實診室和問診流程下使用視覺傳感器進行患者問診流程視頻和音頻的采集,同時包括了精神疾病專家對患者的評估量表[12-13]。其中包括了抑郁癥、雙相情感障礙和精神分裂癥三種精神疾病以及正常人的樣本。

采集到的抑郁癥患者病例有130 例,雙相情感障礙患者62 例,精神分裂癥患者79 例。對于采集到的數據,進行了嚴格的篩選,去除了其中視頻質量低、視頻時間短、拍攝角度傾斜大、患者戴有口罩、非初診病例等情況的視頻。

最后保留的有效視頻,時間持續在10 min 左右,患者面部清晰可見,表情激發豐富,且有精神疾病專家的詳細診斷資料和評估量表。在H7-BDSN數據集中,除了通過視覺傳感器采集到的原始視頻數據之外,通過OpenFace 提取了面部標志點的2D坐標數據、面部標志點的3D 坐標數據、頭部姿態、面部動作單元、眼部注視數據。本文的對比算法也是在該數據上進行。

最后,H7-BDSN 數據集的分布如表1 所示。

表1 H7-BDSN 數據集樣本分布表

2.2 實驗結果與分析比較

在實驗中,本文選用了ResNet-50[14]作為TSMOSNet 的骨干網絡。使用在ImageNet 上訓練好的ResNet-50 權重作為骨干網絡的初始化參數。為了進一步提高模型的精度,引入了DML 蒸餾方法[15]。使用DML 蒸餾方法,無需額外的教師模型,兩個結構相同的模型可以互相進行學習,計算彼此輸出的KL 散度,完成訓練結果。在實驗中,便以TSMOSNet 自身為教師模型進行蒸餾,提高了模型的性能。

針對輸入的數據,本文在實驗中通過VideoMix[16]的方法來進行數據增強。對每個輸入的光流特征單元,抽取固定數量的幀,并賦予每一幀相同的權重,然后與另一個光流特征單元疊加作為新的輸入。

實驗使用的評價指標包括精確率(Precision)、召回率(Recall)和F1 分值。另外,在分析中會對樣本假陽和假陰的情況進行分析。評估指標的計算公式如式(6),式(7)和式(8)所示:

式中:TruePositive 表示算法識別結果為精神疾病患者,實際也是精神疾病患者的樣本數量,FalsePositive 代表的是算法識別結果為精神疾病患者,實際為非精神疾病患者的樣本數量。

在實驗中,對置信度閾值的選擇進行了消融實驗。圖9 展示了置信度閾值的消融實驗結果。消融實驗中置信度從0.8 開始,每隔0.02 進行一次實驗,最大值為0.98,以分類準確率為指標。從圖9 的數據趨勢中進行分析可知,當置信度閾值設置的比較低時,提取出來的面部特征受到一定的污染,導致特征信息少,算法效果差。當置信度設置的過高時,可供使用的面部圖片變少,導致模型的準確率也會下降。所以在本文算法的參數設置中,取置信度閾值為0.95。

圖9 置信度閾值的消融實驗結果

圖10 和圖11 分別展示了面部應激單元提取環節中去噪算法和離群值檢測算法的消融實驗結果,比較指標也是識別準確率。從消融實驗的結果可知,去噪算法中Savitzky-Golay 濾波取得了最好的效果,比傅里葉變換和滾動平均值分別高出了3.79%和12.07%。相比之下,Savitzky-Golay 濾波在平滑數據的同時保留數據的整體趨勢和形狀,對于處理面部噪聲更為合適。

圖10 去噪算法的消融實驗結果

圖11 離群值檢測的消融實驗結果

在離群值檢測算法的消融實驗中,孤立森林算法取得了最好的效果,這得益于孤立森林算法不受數據分布的影響,普適性較高,適合于處理視頻數據中波動較大的離群值。

表2 給出了本文算法和其他算法在H7-BDSN數據集上的實驗結果。算法框架中所使用的數據維度都為視頻維度。從表2 中可知,本文算法在精確率、召回率和F1 分值上都取得了最好的結果,分別為0.89、0.80 和0.84。表2 的實驗結果證明了本文方法擁有更好的識別效果。

表2 本文算法和其他算法的效果對比

此外,對識別結果的混淆矩陣進行統計分析后發現,本文算法對于樣本的誤判主要表現為假陽,假陰性樣本少。這意味著本文的算法能夠更好地檢測出患有精神疾病的樣本。這對于精神疾病患者的篩查任務而言,有著積極的意義。

表3 給出了本文算法中提出的模型TSMOSNet和常用模型的比較。除了比較各類模型的準確率,還比較了模型的預處理時間和模型的推理時間,以衡量模型的開銷。此處時間的單位為ms。

表3 TSMOSNet 和其他模型效果對比

從表3 中可知,TSMOSNet 的準確率指標最高。和基礎模型TSM 相比,TSMOSNet 因為加入了光流處理頭,LTA 時序注意力等模塊,模型預處理時間和推理時間開銷都更大,但是準確率分別提升了5%和8%。此外,TSMOSNet 和其他模型相比,在各個指標中都具有很大的優勢。其中,雖然VideoSwin在準確率上和TSMOSNet 接近,但是VideoSwin 的預處理時間和推理時間都遠高于TSMOSNet??芍?,TSMOSNet 相比于其他模型,最適用于本文的算法。

3 總結

在本文的工作中,提出了一種新的基于視覺傳感器采集光流特征的精神疾病識別算法。在H7-BDSN 數據集上,本文提出的算法在精神疾病識別任務上取得了最優的結果。其中,算法的準確率為85%,F1 分值為0.84,優于其他方法。此外,TSMOSNet 的規模規模小,推理速度是VideoSwin 的10 倍、SlowFast 的3 倍和TSN 的16 倍,能夠和視覺傳感器進行整合,利用視覺傳感器成本低、非侵入性、客觀性高等優勢,開發出精神疾病預警系統。

在未來的工作中,會嘗試引入更多的傳感器,例如使用毫米波雷達來監測體征數據,音頻傳感器提取聲波情緒特征,進行共同建模分析。

猜你喜歡
光流置信度精神疾病
利用掩膜和單應矩陣提高LK光流追蹤效果
輕型精神疾病的診斷與治療
硼鋁復合材料硼含量置信度臨界安全分析研究
“無形”的病痛——關懷精神疾病人群
基于物理學的改善粒子圖像測速穩健光流方法研究
3 當我們失去健康:精神疾病
正負關聯規則兩級置信度閾值設置方法
置信度條件下軸承壽命的可靠度分析
試論人類精神疾病觀的發展與演變
融合光流速度場與背景差分的自適應背景更新方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合