關(guān)鍵詞: 疼痛評估; 多模態(tài)特征; 對比學習; 自適應權(quán)重更新
1 引 言
疼痛是一種包含感官、情感、認知和社會因素的、與實際或潛在的組織損傷相關(guān)的痛苦體驗[1].同時,疼痛也是最常見的臨床癥狀之一,在當前的醫(yī)療保健、康復醫(yī)學中具有巨大的應用潛力和醫(yī)療意義. 目前臨床上疼痛檢測主要依靠患者的主觀報告,即在指定的時間內(nèi)報告當前疼痛的等級(如0~10). 然而,自我報告可能受到病人主觀性和心理因素的影響,缺乏統(tǒng)一的評判標準. 對于一些如嬰幼兒或意識障礙患者等無法清晰表達自身疼痛等級的群體,這種方法也失去了作用. 因此,自動疼痛識別技術(shù)就成為研究者探索的熱點領(lǐng)域.
在過去幾十年中,科研工作者從各個方面對疼痛識別進行了研究. 一部分研究者通過生理信號提取相關(guān)的疼痛特征,如心電(ECG)、腦電(EEG)和肌電(EMG)等,取得了顯著的進展. 但這些生理反應的獲取往往需要復雜的設(shè)備,不利于大規(guī)模應用,并且有可能加重患者的不適體驗.因此,為提供更便捷、舒適的疼痛評估方法,基于人臉的無感疼痛分析具有其合理性和可行性.
傳統(tǒng)的人臉疼痛識別方法主要對人臉的紋理、幾何特征建模,從而挖掘蘊含的疼痛信息. 主流的方法包括主成分分析(Principal ComponentAnalysis, PCA)和局部二元模式(Local BinaryPatterns, LBP). 另外,還可以通過主動外觀模型[2](Active Apperance Model, AAM)或主動形狀模型[3](Active Shape Model, ASM)來捕捉像素點的數(shù)學變化. 然而,傳統(tǒng)的手工特征無法得到深層次的空間信息以及時序信息. 因此,如今人們更傾向于采用具有強大表征能力的深度學習方法來進行面部疼痛識別. El Morabit 等[4]和Ye 等[5]通過卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和局部注意力聚焦更細致的靜態(tài)表征;Zhou等[6]和Rodriguez 等[7]將多幀圖像的靜態(tài)特征送入循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)進行時序建模. de Melo 等[8]和Huang[9]等進而使用3D CNN 直接提取視頻序列中的時序信息,捕捉更多的和疼痛表情相關(guān)的動態(tài)特征. 然而,這些研究均未對動態(tài)和靜態(tài)疼痛特征進行融合. 為了解決這個問題,一些工作[10,11]同時考慮了動態(tài)和靜態(tài)特征,并納入了面部關(guān)鍵點,以獲取更全面的特征描述. 盡管如此,這些研究僅從特征提取角度出發(fā),并未考慮不同程度疼痛之間的差異. 不同等級的疼痛(如1 級和10 級)通常對應不同的面部特征,這種差異特征則是區(qū)分不同疼痛等級的關(guān)鍵.因此,在疼痛評估的過程中將這種面部差異納入考慮具有充足的可行性.
受到上述工作的啟發(fā),本文提出了一種基于對比學習的面部疼痛評估方法. 首先,提取同一樣本不同模態(tài)的信息,包括時序特征、面部外觀特征和面部關(guān)鍵點的幾何特征,得到全面的疼痛信息表征;其次,通過引入對比學習的思想學習不同疼痛程度間特征的差異性,更有效地對疼痛等級進行區(qū)分;最后,設(shè)計了一種損失函數(shù)學習方法,自動學習對比學習損失和傳統(tǒng)均方誤差損失的比重. 本文在UNBC-McMaster 數(shù)據(jù)集上進行實驗,和現(xiàn)有方法相比具有最好的性能,證明了本文方法的有效性.
2 相關(guān)工作
2. 1 面部疼痛識別
面部表情可以最直觀地反應人類所承受的疼痛狀況,因而成為研究疼痛的重要手段. 早期研究者將其視為1 個二分類問題,即只判斷有無疼痛.Ashraf 等[12]使用支持向量機(SVM)對通過AAM獲得的相似歸一化形狀、相似歸一化外觀和規(guī)范外觀進行分類,證明了自動識別疼痛的可行性.Lucey 等[13,14]使用相同的方法在他們提出的UNBC-McMaster 數(shù)據(jù)集上進行了實驗,通過識別面部動作單元(Action Units, AUs)計算PSPI[15]評分(Prkachin and Solomon Pain Intensity, PSPI)作為度量指標. PSPI 將疼痛分為16 個等級,其中0 表示無痛,15 表示最強的疼痛等級,其計算公式如下所示:
其中不同數(shù)字和特定的面部動作單元一一對應,如AU4 描述眉毛向下移動的程度. Khan 等[16]通過分層梯度方向直方圖(Pyramid Histogram of OrientedGradients, PHOG)和分層局部二值模式(Pyramid Local Binary Pattern, PLBP)提取有區(qū)分性的面部形狀與外觀特征. Zafar 等[17]使用KNN對建立的面部幾何特征集進行分類.
然而,只判斷有無疼痛是非常粗糙的,無法滿足實際的應用. 因此,越來越多的研究人員開始對疼痛的強度進行估計. 最初研究者使用傳統(tǒng)手工特征如離散余弦變化(Discrete Cosine Transform,DCT)和LBP[18]、形狀直方圖[19](Histograms ofTopographical, HoT)、尺度不變特征變化[20](Scale Invariant Feature Transform, SIFT)等來挖掘疼痛特征. 近年來,基于深度學習的方法已經(jīng)成為主流. Thiam 等[21]設(shè)計了一個雙流網(wǎng)絡(luò),通過注意力機制關(guān)注光流和歷史運動圖像中的特征. 一些方法通過分析視頻序列中的時序信息,學習疼痛產(chǎn)生時面部表情的變化[6,8,9,22,23]. 文獻[24,25]提取了面部關(guān)鍵點的位置和幾何信息,進而對疼痛特征進行表征. 另外,靜態(tài)的面部圖像也蘊含豐富的疼痛信息,研究者們以全局和局部的角度作為切入點,通過注意力機制深入挖掘疼痛信息,展開了相關(guān)的工作[5,26,27]. Huang 等[10]和Wang 等[11]將上述的時序、關(guān)鍵點和面部圖像信息整合起來以得到更全面的特征. 然而,以上工作都忽略了不同強度疼痛對應面部特征的差異,因此本文借助對比學習的思想來解決這個問題.
2. 2 計算機視覺中的對比學習
對比學習作為一個新興的領(lǐng)域,近年來也被引入到計算機視覺的相關(guān)任務中. Wu 等[28]把數(shù)據(jù)集中的每一個樣本都看作一個類別,通過這種個體判別任務將對比學習引入到計算機視覺中. He等[29]在此基礎(chǔ)上進行改進,通過隊列和動量編碼器來提升對比學習的性能. 由于將每一個樣本都當成一種類別需要占用額外的計算資源,Ye 等[30]和Chen 等[31]在一批數(shù)據(jù)中定義正負樣本,通過最大化正樣本特征的一致性進行訓練. Tian 等[32]將同一個場景的不同視角作為正樣本來增大不同視圖下的互信息,從而學習一種具有視角不變性的本質(zhì)特征.
傳統(tǒng)的對比學習都是基于無監(jiān)督的范式,無法有效利用標簽中的信息. Khosla 等[33]首先對無監(jiān)督的方法進行擴展,提出一個有監(jiān)督且易于實現(xiàn)的損失函數(shù)來利用標簽信息. Ma 等[34]提出了一種有監(jiān)督的對比學習框架,利用多頭自注意力區(qū)分不同視圖不同模態(tài)的相對重要性. Yuan 等[35]使用數(shù)據(jù)增強的方式學習模態(tài)類內(nèi)的本質(zhì)特征,同時通過模態(tài)類間的對比提取跨模態(tài)的語義特征.Mai 等[36]通過探索音頻、視覺和文本信息的類間關(guān)系,獲得了更充分的聯(lián)合嵌入特征,以進行更深入的情感分析. Mustafa 等[37]利用圖像和文本對稀疏混合專家模型進行訓練,并提出了一個基于熵的正則化方案用來穩(wěn)定訓練. 然而,這些方法沒有關(guān)注與任務相關(guān)的損失函數(shù),因此,本文設(shè)計了一種聯(lián)合優(yōu)化對比學習和與任務相關(guān)的損失函數(shù)的方法.
3 算法設(shè)計
3. 1 整體結(jié)構(gòu)
針對目前工作沒有對比不同疼痛等級的特征差異,無法有效區(qū)分疼痛等級的問題,本文提出了基于對比學習的面部疼痛評估方法,總體框架如圖1 所示. 首先,為了得到更加全面的疼痛特征,本文對視頻序列中的多模態(tài)信息進行提取. 對于視頻序列中任意一幀靜態(tài)圖像i,為了提取靜態(tài)的面部外觀特征fa,i,本文利用帶有預訓練權(quán)重的ResNet-50[38]網(wǎng)絡(luò)作為特征提取器,它通過殘差連接可以保證梯度正?;貍鞯那闆r下加深網(wǎng)絡(luò)的深度,提升網(wǎng)絡(luò)的性能;然后通過堆疊標簽相同的視頻幀形成時序通道輸入,利用S3D-G[39]網(wǎng)絡(luò)提取其中的時序信息,捕捉更多的面部動態(tài)特征ft,i;隨后,本文使用一維卷積來提取經(jīng)過處理后的人臉關(guān)鍵點數(shù)據(jù)(AAM),得到面部的幾何特征fg,i ,最終形成樣本i 的特征集Fi,其表示方法如式(2)所示. 對于一個批次的數(shù)據(jù)來說,對其中的每一個樣本做相同的處理,得到這個批次中所有樣本特征的集合F,其表示見式(3),其中N 表示這個批次中樣本的數(shù)量. 之后通過對比學習區(qū)分F 中不同疼痛等級樣本的嵌入特征,學習更豐富的疼痛信息,提高視覺表征的質(zhì)量. 最后,通過自適應權(quán)重更新的方法聯(lián)合優(yōu)化對比學習損失和均方誤差損失,增強網(wǎng)絡(luò)的性能.
3. 2 多模態(tài)特征提取
為了更充分地利用已有信息,本文分別利用三維(3D)、二維(2D)和一維(1D)卷積網(wǎng)絡(luò)提取樣本中的疼痛信息. 由于面部表情的動態(tài)變化是人類表達疼痛的重要區(qū)別特征[40],所以本文使用S3D-G 網(wǎng)絡(luò)來提取圖像序列中的時序特征ft,S3DG網(wǎng)絡(luò)通過用低成本的2D 卷積代替了一部分3D卷積,在計算復雜度和準確率上達到了平衡. Zhou等[41]的研究表明,在3D 特征中引入2D 特征可以得到更深、信息量更大的特征圖. 因此,本文利用2D 的ResNet 網(wǎng)絡(luò)提取靜態(tài)圖像中的面部外觀特征fa,得到局部疼痛特征. 另外,通過面部關(guān)鍵點的識別,可計算出客觀的PSPI 評分,證實了它與疼痛表達的關(guān)聯(lián)性. 因此本文首先參照文獻[10]中的方法對關(guān)鍵點數(shù)據(jù)進行歸一化(Norm),方法如式(4)所示.
其中,Vi 為歸一化后得到的向量;L (i,n) 表示第i個點到參考點(鼻尖)的距離;L (e,n) 表示鼻尖到眉毛中心的距離. 然后利用圖2 所示的輸出維度為256、1024、2048、4096、2048 的5 層1D 卷積提取面部關(guān)鍵點中的幾何特征fg,與上述的3D、2D 特征構(gòu)成完備的特征集合. 最后,將得到的ft、f a 和fg拼接后通過全連接層得到疼痛評估分數(shù),并使用均方誤差損失(mse loss)對模型進行優(yōu)化.
3. 3 疼痛對比損失函數(shù)
不同程度的疼痛通常對應著不同的面部表情,因此,對面部表情加以區(qū)分對于疼痛識別至關(guān)重要. 然而,現(xiàn)有的工作多關(guān)注于疼痛特征的提取,無法有效區(qū)分疼痛等級. 為此,本文提出了一種疼痛對比損失函數(shù)(con loss),通過對比具有不同PSPI 評分的樣本來學習不同疼痛程度對應面部特征的差異,提升了網(wǎng)絡(luò)的泛化性和魯棒性.
對比損失函數(shù)的描述為:對于一個樣本數(shù)量為N 的批次,I 為數(shù)據(jù)增強后的樣本集,常用的數(shù)據(jù)增強方式有裁剪、加噪等. i 為I 中任意樣本的索引,通用的無監(jiān)督對比學習的損失函數(shù)如式(5)所示.
其中,j (i) 為和樣本i 同源的另一個增強樣本的索引,也稱為正樣本. zi 和zj (i)為通過網(wǎng)絡(luò)提取的特征;τ 為一個超參數(shù),用來控制損失函數(shù)對負樣本的敏感程度. A(i)≡ I {i}為I中除去當前樣本的剩余樣本. 式(5)表明當正樣本越相似時損失函數(shù)的值越小.
有監(jiān)督對比學習和無監(jiān)督對比學習不同的是,有監(jiān)督對比學習將具有相同標簽的數(shù)據(jù)視為正樣本,因此可以學到更高階的語義信息. 具體而言,P (i) 為該批次中與樣本i 標簽相同的樣本集合,且不包含i. | P (i) |為其中樣本的個數(shù). 本文將數(shù)據(jù)集中的靜態(tài)圖像視為樣本i,將由其得到的時序信息和面部關(guān)鍵點數(shù)據(jù)作為數(shù)據(jù)增強方式,以此得到對比學習所需的正樣本. 分別提取特征后得到時序特征ft,i、面部外觀特征fa,i 和幾何特征fg,i,在對比不同疼痛等級所對應的面部特征時融合多模態(tài)的疼痛數(shù)據(jù).
3. 4 自適應損失函數(shù)權(quán)重更新
在一次前向傳播中,模型只能得到當前批次的數(shù)據(jù),無法得到整個數(shù)據(jù)集全面的特征,因而計算出的損失函數(shù)具有局限性. 為了在模型迭代過程中更嚴謹?shù)丶s束模型的更新,本文設(shè)計了一種權(quán)重更新方法(Weight Update, WU)融合con loss和mse loss,流程如圖3 所示. 權(quán)重的計算方法如式(7)所示.
隨著模型不斷更新迭代,得到的損失函數(shù)更能準確體現(xiàn)預測值與真實標簽的差異,從而更好地利用這種信息.
4 實驗結(jié)果與分析
4. 1 實驗數(shù)據(jù)集
本文在UNBC-McMaster 數(shù)據(jù)集[42]上對提出的方法進行驗證. UNBC-McMaste 是一個肩痛表情數(shù)據(jù)集,同時也是疼痛識別領(lǐng)域最常用的數(shù)據(jù)集. 其中包含了200 個視頻序列,記錄了25 個成年肩痛患者的面部表情. 該數(shù)據(jù)集一共有48 398 幀,每一幀都提供了66 點的面部關(guān)鍵點坐標,并且用0~15 的PSPI 評分作為真實標簽.
對于不同通道數(shù)據(jù)的獲取,本文遵循文獻[10]中的方法. 即首先抽取視頻序列中的一幀得到靜態(tài)圖像,為了去除背景的干擾和人臉轉(zhuǎn)動帶來的影響,通過數(shù)據(jù)集中提供的面部關(guān)鍵點坐標和仿射變換進行人臉裁剪及對齊,以此作為外觀支路的輸入. 由于連續(xù)兩幀的變化并不大,所以隨機選取和當前幀疼痛等級相同的15 幀和當前幀拼接成16 幀作為時序支路的輸入. 另外,為了獲得穩(wěn)定的面部關(guān)鍵點特征,使用距離歸一化方法處理關(guān)鍵點信息,消除人臉位置改變帶來的影響,從而得到一維的特征向量,并將其作為關(guān)鍵點支路的輸入,進而對所有的視頻幀進行評估.
4. 2 實驗設(shè)置及指標計算
在數(shù)據(jù)預處理時,本文將裁剪后的人臉圖像縮放至112×112,并進行隨機水平翻轉(zhuǎn). 為了在對比不同疼痛程度時得到更全面的特征,將3 個通道的輸出維度都調(diào)整為2048 維. 網(wǎng)絡(luò)使用SGD 算法進行優(yōu)化,初始學習率為0. 0001,使用余弦退火調(diào)整學習率,總訓練迭代數(shù)為40. 實驗環(huán)境為Ubuntu 20. 04,NVIDIA GeForce RTX 4×3090.參照之前的工作[8,10,11],本文使用留一驗證法(Leave One Subject Out)進行實驗,即選取數(shù)據(jù)集中的每一位受試者作為測試集,其余的受試者作為訓練集進行訓練,如此重復25 次,最終以25 次實驗結(jié)果的平均值作為指標結(jié)果. 本文采用平均絕對誤差(Mean Absolute Error, MAE)、均方誤差(Mean Square Error, MSE)和皮爾遜相關(guān)系數(shù)(Pearson Correlation Coefficient, PCC). MAE 和MSE 表示預測值和真實標簽的距離,越小越好.PCC 可以反映變量間的相關(guān)度,越大越好. MAE、MSE、PCC 的計算方法分別如式(9)~ 式(11)所示.
為測試集預測結(jié)果的平均值.
4. 3 實驗結(jié)果及分析
本文和目前最先進的方法進行了比較,結(jié)果如表1 所示,其中加粗數(shù)值表示所有方法中取得的最優(yōu)指標. 從中可以看出,本文方法MAE 和PCC上達到了最好的效果,在MSE 上基本與最先進的方法持平. 其中,文獻[18-20]使用傳統(tǒng)手工特征進行疼痛識別,如HOT、DCT、PCA. 這些方法存在特征單一、泛化性差以及準確率較低的問題. 因此,具有強大的表征能力、可以端到端學習的深度學習方法逐漸成為主流. 通過捕獲持續(xù)和瞬時面部變化來探索多尺度時間信息[8]. 再使用卷積網(wǎng)絡(luò)提取面部的靜態(tài)特征[6,7,43,44],然后將得到的特征送入循環(huán)神經(jīng)網(wǎng)絡(luò)中表征時序信息,從而構(gòu)建時空模型. 其中文獻[44]在MSE 指標上取得了最好的結(jié)果,原因是為了得到更加均衡的數(shù)據(jù),該方法通過原始數(shù)據(jù)集劃分了無痛序列和疼痛刺激序列,并對數(shù)據(jù)進行了一些刪減. 這樣處理可以過濾掉一些波動較大的序列,因此減少了異常值,進而提升了MSE 指標. 而本文在未重新劃分數(shù)據(jù)集的情況下達到了和文獻[44]相近的MSE,且獲得了更好的MAE 和PCC,證明了本文方法的優(yōu)異性能.文獻[10,11,45]使用更強大的3D 卷積網(wǎng)絡(luò)直接提取視頻序列中的時序特征,其中文獻[10,11]同時將靜態(tài)圖像特征和關(guān)鍵點特征也納入考慮,取得了更好的效果. 本文與性能較好的文獻[10,11]中的方法均提取了面部圖像的時序信息、外觀信息和關(guān)鍵點信息. 與這些方法相比,本文在3 個指標上均有較大的提升,說明通過對比學習的方法,能夠充分學習到不同疼痛等級對應面部特征的差異,從而在疼痛評估時更好地區(qū)分疼痛等級. 另外,之前的方法僅使用單一的損失函數(shù),無法有效指導網(wǎng)絡(luò)訓練. 本文提出的損失函數(shù)權(quán)重更新方法可以動態(tài)地結(jié)合對比損失和均方誤差損失,充分利用數(shù)據(jù)集中的信息.
為了更直觀地展示文本方法在數(shù)據(jù)集上的效果,我們進行了可視化實驗對比疼痛標簽的真實值和預測值,如圖4 所示. 其中圖4a 是利用時序信息、面部外觀特征和關(guān)鍵點特征進行疼痛預測的結(jié)果,可以觀察到預測結(jié)果的波動幅度較大,且在無疼痛時出現(xiàn)較多的誤判. 圖4b 是加入對比學習的損失函數(shù)以及自適應權(quán)重更新后的結(jié)果,可見預測結(jié)果更加接近真實值,且對于無疼痛的預測非常準確,證明了本文方法的有效性.
4. 4 消融實驗
本文還開展了一系列消融實驗來驗證網(wǎng)絡(luò)中各個模塊的有效性,結(jié)果如表2 所示.
本文以單支路的關(guān)鍵點幾何特征(AAM)作為比較基準. 在加入用Res50 提取的外觀特征后,所有指標均得到改善,說明結(jié)合幾何特征和面部外觀特征可以更精確地評估疼痛等級. 相同的結(jié)果也適用于加入用S3D-G 提取的時序特征時,說明捕捉時序信息可以獲得和疼痛相關(guān)的面部動態(tài)特征,有助于疼痛識別. 此外,在加入基于對比學習的損失函數(shù)(CL)后,MAE 指標有較大提升,MSE和PCC 基本保持不變,說明對比不同疼痛等級下的特征可以減小預測誤差,使結(jié)果更為擬合. 最后,在引入損失函數(shù)權(quán)重更新方法(WU)后,所有指標均有提升,說明在更全面地利用數(shù)據(jù)集中的信息后可以提升疼痛識別效果. 本文采取留一驗證法進行實驗,所以學習到的權(quán)重r 隨著不同子集而變化. 除去一個標簽全部為無痛的子集,r 的值都在0. 3~0. 7 的范圍內(nèi),驗證了聯(lián)合優(yōu)化基于對比學習的損失和均方誤差損失的有效性.
5 結(jié)論
疼痛等級具有類間差異大的特點,考慮到現(xiàn)有方法不能有效區(qū)分不同疼痛等級下的面部差異,本文提出了一種基于對比學習的面部疼痛評估方法. 首先分別提了取面部的多模態(tài)特征,隨后將其作為正樣本對進行疼痛等級的對比學習,最后設(shè)計了權(quán)重更新方法自動學習對比學習損失和均方誤差的比例,更有效地利用預測值和真實值的誤差信息. 在UNBC-McMaster 數(shù)據(jù)集上的實驗表明,將不同程度疼痛間的差異納入考慮可以提升評估性能,證明了本文方法的有效性. 另外,本文研究還有一些可擴展的方面. 首先,不同模態(tài)特征雖具有差異,但其代表的本質(zhì)是一致的,如何在學習本質(zhì)特征的同時消除模態(tài)差異是一項關(guān)鍵任務. 此外,疼痛等級之間的差異應有所區(qū)別,相近疼痛等級的差異應相對較小,如何考慮這種差異也是今后的研究方向.