陳夢竹 岑翼剛 許家佗 崔龍濤 王文強 屠立平 黃景斌 荊聰聰 張建峰



摘要:目的 結合圖像處理與中醫理論實現面色自動識別。方法 根據中醫望診面色相關理論,采用基于YCbCr顏色空間的橢圓膚色模型和主動外觀模型算法對面部皮膚進行感興趣區域分割,采用RGB空間、HSV空間、Lab空間中的顏色直方圖、顏色空間的統計特征以及局部二值模式(LBP)特征對各區域進行顏色與紋理特征提取,使用支持向量機、極限學習機、BP神經網絡對提取到的面色特征進行識別比較。結果 將面色識別區域分成8塊。結合顏色特征、紋理特征和LBP特征時,面色識別率達89.08%。青、赤、黃、白、黑5種面色中,白色采用BP神經網絡的分類準確率最高,達89.5%。結論 本研究結合膚色檢測、圖像處理與中醫望診理論,可實現面部膚色自動識別。
關鍵詞:中醫;望診;面色;圖像處理;膚色檢測;識別
DOI:10.3969/j.issn.1005-5304.2018.12.023
中圖分類號:R2-05;R241.2 文獻標識碼:A 文章編號:1005-5304(2018)12-0097-05
Abstract: Objective To realize automatic complexion recognition through combining image processing with TCM theory. Methods According to theories of TCM observation diagnosis complexion, elliptical skin color model based on YCbCr color space and active appearance model algorithm were used to segment the facial skin. Color and texture features were extracted for each region by using RGB space, HSV space, color histogram in Lab space, statistical features of color space and local binarization (LBP) features. Support vector machine, extreme learning machine and BP neural network were used to identify and compare the extracted facial features. Results The face recognition areas were divided into 8 blocks. Combined with color features, texture features and LBP features, the face recognition rate reached 89.08%. Among the five colors of cyan, red, yellow, white and black, the BP neural network on white complexion had the highest classification accuracy rate of 89.5%. Conclusion This study combines skin color detection, image processing and TCM complexion recognition theory to achieve automatic facial complexion recognition.
Keywords: TCM; observation diagnosis; complexion; image processing; complexion detection; recognition
隨著人工智能的快速發展,中醫四診客觀化逐漸成為研究熱點,其中舌診和脈診相關研究開展較早,部分成果已應用到臨床,而望面色是望診必不可少的部分。中醫學認為,臟腑、心理、氣血和經絡變化均可呈現在人臉的相關區域;望診時,面部由于皮膚暴露較多,易于觀察,一般作為人體皮膚顏色的主要辨別部分。面色大致分為5種(青、赤、黃、白、黑),分別反映不同類型的機體狀態:青、黑色可提示疼痛,赤、黃色可提示熱證,白色可提示寒證。傳統的望面色方法為肉眼觀察患者面色并進行診斷,其結果與醫生臨床經驗關系密切,并受到外部光線等條件影響,具有較大主觀性。目前臨床面色診斷尚缺乏評價標準,采用計算機技術進行定量分析有利于臨床診斷的客觀化。
目前,面診客觀化研究已取得了一些進展。傅言[1]在不同顏色空間下對識別肝病類別進行圖像分析,構建了可進行皮膚識別區域分割的平臺。劉明佳[2]以顏色形成原理和生物醫學為切入點設計了人臉圖像采集設備,使用膚色模型結合灰度投影算法對樣本進行五官圖像區域分割。毛紅朝[3]探索中醫面診信息提取的各種圖像處理算法,采用高斯膚色統計模型和Adaboost結合的方法精確定位人臉區域。吳暾華[4]根據中醫面色臟腑分屬圖,采用復雜背景下的多姿人臉檢測方法,建立了望面色的眼動跟蹤模型。部分研究對人臉圖像進行臉頰和嘴唇的識別區域分割,將臉頰的皮膚區域在Lab顏色空間作為面部的顏色特征,結合支持向量機(SVM)評估白、紅、黃及健康的面色,但尚缺乏青類面色數據[5-7]。
目前研究多采用RGB、HSV、Lab空間進行特征提取。本研究圖像背景相對單一,無需復雜度高的算法即可有效實現膚色分割,而紋理中局部二值模式(LBP)特征可簡單有效地表示人臉圖像[8],因此,本研究基于青、紅、黃、白、黑5種面色,對相應圖像進行分析并分別提取其顏色和紋理特征,最后使用機器學習的方法對提取到的特征進行面色分類。
1 研究方法
本研究實驗框架及算法流程見圖1。主要分為三部分:分割皮膚感興趣區域(ROI)、顏色及紋理特征的提取、人臉面色識別。首先基于YCbCr顏色空間的橢圓膚色模型和主動外觀模型(AAM),在中醫面診理論的指導下對人臉圖像進行ROI分割;然后采用RGB空間、HSV空間、Lab空間中的顏色直方圖,提取不同顏色空間下的信息作為顏色特征,同時,將顏色分量的統計特征及LBP特征作為融合特征;最后使用SVM、極限學習機(ELM)、BP神經網絡分別對提取到的特征面色進行評估比較及分類。
圖1 基于圖像處理的面色識別算法流程圖
1.1 基于YCbCr空間的感興趣區域分割
五臟的生理病理變化可由面色顯現出來,面色的主要部分是人臉的膚色。本研究人臉圖像由望診標準光源箱得到,NIKON D40數碼單反相機在固定模式下拍攝面部圖像。研究對象來源于上海中醫藥大學附屬曙光醫院體檢中心,年齡20~60歲。采用望診標準光源箱,拍攝前與受試者溝通,洗去面部化妝品,保持自然面色,并保持情緒穩定。拍攝時受試者取端坐位,面對人工光源,確保面部光線明亮,充分暴露額部。首先選取粉刺、胡須等數據噪聲較少者進行,樣本包括青、紅、黃、白、黑5種膚色。由于膚色在YCbCr空間具有聚類特性,為避免錯分非膚色區域,首先將原始大小為1424×2144像素的圖像從RGB空間轉換到YCbCr空間;然后根據橢圓膚色模型比較像素對應的Y值,如在膚色模型亮度范圍內,且對應的紅、藍分量分別在133≤Cr≤173、77≤Cb≤127范圍內,則滿足條件的像素賦值1,否則為0,從而形成二值圖像;采用形態學的開、閉運算對二值圖像去除某些噪聲點,減小噪聲對膚色分割的影響,使孤立的像素點形成連通域,最后定位出人臉,得到分割后的ROI。將得到的圖像統一設置成285×429像素大小。采用橢圓模型公式[9]計算:
1.2 基于主動外觀模型算法的特征點定位
AAM算法是經典的人臉特征點檢測方法[10]。該算法提取人臉的形狀信息及紋理信息,采用主成分分析得到可變形的人臉統計模型,并將待測圖像的形狀變化模型結合紋理變化模型形成人臉模板。AAM算法為避免復雜的求導和迭代,由訓練集假設殘差向量分別和形狀參數與紋理參數之間存在的線性關系,用線性回歸的方法來訓練形狀參數與紋理參數的更新矩陣,并通過調整殘差向量更新參數。AAM算法分為模型建立與擬合計算2個部分:首先對訓練樣本進行手工特征點標記,通過普魯克分析把所有樣本標注的特征點對齊,得到1個統計形狀模型,再將所有訓練樣本變形以匹配形狀模型;然后使用特征分析建立一個對應的紋理模型;最后將形狀和紋理模型通過學習的方法結合起來,得到最終模型。
根據中醫理論,將人臉手動分割成8個ROI,分別是:額頭、雙側上眼臉、雙側臉頰、鼻頭、口唇、下頜[11]。額頭部分膚色塊提取:首先由AAM算法得到人臉關鍵點的位置,見圖2(a);根據人臉的幾何位置關系[12],人臉是呈豎直對稱的,見圖2(b);左眉毛的第2個點和第3個點做一條中垂線L1,右眉毛的第2個和第3個點同樣做一條中垂線L2,這樣矩形框的長度確定出來,L即兩條中垂線的最短距離;接著,取矩形框長度的一半作為矩形框的寬度W,見圖2(c),藍色線標注的即為額頭部分ROI;按“1.1”項下方法,對ROI部分再進行1次基于YCbCr空間的膚色分割,確定膚色區域,得到1個分割后最大的連通域。由于額頭區域是整張人臉中最有可能涉及非膚色區域的部分,因此,先對額頭手動定位一個矩形框,然后對框里的皮膚和非皮膚部分進行膚色分割,最后得到1個額頭的膚色塊。其余7個ROI則無需上述操作,直接根據五官的關鍵點定位后手動選取膚色框即可,方法同額頭部分,見圖2(d)。
1.3 顏色和紋理特征提取
望診面色研究中,顏色信息是最主要的特征。對不同顏色空間的信息進行面診分析的研究不斷深入。Zhuo L等[6]提出在Lab空間中提取顏色直方圖和色差等統計特征作為人臉的膚色特征,將提取的特征使用SVM進行面色評估。HSV顏色空間與人類感覺顏色方式相似,色彩的分類簡單自然,感知度較強。通過公式(5)、(6)、(7)、(8)、(9)可將RGB顏色空間轉換到HSV顏色空間:
采用多顏色空間信息融合的技術分別對ROI提取HSV、RGB、Lab等顏色直方圖均值作為顏色特征。顏色直方圖的統計特征不僅反映了不同膚色類型,而且反映皮膚的紋理特性。紋理是對圖像灰度空間分布模式的提取和分析,故本研究同時提取了皮膚區域的統計特征,包括能量(Asm)、相關性(Corr)、對比度(Con)、熵(Ent):
LBP特征是個細小尺度的算子,在人臉識別中,直接對整幅圖像使用LBP直方圖來提取特征會丟失人臉的微觀信息,更適應于描述圖像局部紋理變化。故本研究分別提取8個分割好的ROI的LBP特征譜統計直方圖作為特征向量。LBP特征是將圖像中某一像素值作為閾值,對以該像素為中心的鄰域進行閾值操作,見圖3。灰度小于閾值置0,灰度大于閾值置1,進而得到一組二進制數,LBP編碼的計算公式如下:
1.4 不同分類器的面色識別
分類器用于中醫面色識別,分類的性能直接影響最終的識別結果。SVM是Corinna Cortes和Vapnik V N[14]首先提出的,可用于模式分類和非線性回歸的問題,其主要定義了函數間隔(用 表示):
式中x是特征,y是結果標簽。記超平面關于所有樣本點(xi,yi)的函數間隔最小值(i表示第i個樣本)為 ,然后由目標函數max 迭代求解超平面參數(ω,b),從而得到分類器。
SVM具有泛化能力強、適用于小樣本學習的特點,并且能夠有效避免過擬合和局部最小化以及“維數災難”等問題。其理論基礎是非線性映射,利用內積核函數來代替向高位空間的非線性映射,同時具有對小樣本非線性分類快速高效的特性。
ELM是一種新型的快速學習算法[15],其假設有N個樣本(xi,yi),對于1個有L個隱層節點的單隱層神經網絡可表示為:
一些傳統的基于梯度下降法的算法可用來求解此類問題,但基本的基于梯度的學習算法需要在迭代的過程中調整所有參數。而ELM算法中,一旦輸入權重ωi和隱層的偏置bi被隨機確定,隱層的輸出矩陣H就被唯一確定。訓練單隱層神經網絡可轉化為求解一個線性系統。且輸出權重β可被確定。Hβ=Y, ,其中H+是矩陣H的Moore-Penrose廣義逆。
ELM最大的特點是相對于傳統神經網絡,尤其是單隱層前饋神經網絡(SLFNs),在保證學習精度的前提下算法速度更快。所有隱節點參數獨立于目標函數或訓練數據集。對于單隱層神經網絡,ELM可隨機初始化輸入權重和偏置并得到相應的輸出權重。
BP神經網絡是為了解決多層前向神經網絡的權系數優化而提出來的算法,其主要特點是信號前向傳遞,誤差反向傳遞。在前向傳遞中,輸入信息從輸入層經隱含層逐層處理,直到輸出層。如果輸出層得不到期望輸出,則轉入反向傳播,根據預測誤差調整網絡權值和閾值,從而使BP神經網絡預測輸出不斷逼近期望輸出。
2 實例測試
皮膚色塊樣本來源于上海中醫藥大學附屬曙光醫院體檢中心150名體檢人員的面色圖像。采集到的圖像經過3名中醫基礎診斷專家一致性判讀分為青、赤、黃、白、黑5類膚色樣本,見圖4。實驗平臺為2.40 GHz,內存8.0 G,Windows7操作系統,matlab2014a編程。
采用3種特征進行測試:
特征1:F1={H, S, V, R, G,B, L, a, b};
特征2:F2={H, S, V, R, G,B, L, a, b, Asm, Corr, Con, Ent};
特征3:F3={H, S, V, R, G,B, L, a, b, Asm, Corr, Con, Ent, LBP};
為評估3種特征的分類性能,選擇953塊皮膚區域作為訓練樣本,238塊皮膚區域作為測試樣本,面色識別率見表1。
表1表明,在面色識別研究中,顏色特征是最重要的特征,僅提取HSV、RGB、Lab顏色空間作為融合特征進行分類時,分類準確率最高為79.42%;增加紋理特征時,分類結果達85.71%;而結合顏色特征、紋理特征和LBP特征時,分類結果最高為89.08%。
將青、赤、黃、白、黑分別標簽為0、1、2、3、4,測試樣本分別為42、35、48、60、54塊,測試結果見表2。其中,青色的皮膚采用3種分類器分類效果差別不明顯;紅色的皮膚使用SVM和ELM分類器時效果更好;黃色的皮膚在使用SVM時效果更明顯;白色的皮膚采用BP神經網絡的分類準確率最高,達89.50%;黑色的皮膚在使用分類器時相較其他顏色準確率均低,ELM的分類效果欠佳。影響分類效果的因素有以下幾方面:①測試樣本的有限性,受試者面部受陽光照射面積、程度不均勻;②實驗研究對象大多為亞洲人,膚色整體偏黃,膚色偏黑的樣本較少,且摻雜許多面色發灰的樣本,導致膚色為黑色的類分類效果不佳;③中醫5種面色的區分是相對的而非絕對;④膚色存在明顯的個體差異。
3 小結
面診客觀化研究需進行定量化分析,首先應對人臉進行圖像區域分割并選擇合適的特征。本研究實現了簡單有效的人臉圖像區域分割,并提取相應區域的顏色和紋理特征后進行膚色識別的算法。采用基于YCbCr顏色空間的橢圓膚色模型定位人臉,結合AAM模板對ROI進行分割,然后分別提取顏色、紋理和LBP特征,最后用SVM、ELM、BP神經網絡分別對算法進行識別評估。結果表明,所提出的膚色特征具有良好的分類性能,識別率達89.50%。然而,本實驗對黑色的分類尚未達到理想效果,后續將重視對此類樣本數據的深入分析,并擴大樣本量,增加醫生對樣本的評價。同時,將進一步探索面部特征的提取、選擇及分類器的設計。
參考文獻:
[1] 傅言.基于圖像分析的中醫面診及在肝病上的研究[D].哈爾濱:哈爾濱工業大學,2006.
[2] 劉明佳.基于人臉彩色圖像的疾病診斷研究[D].哈爾濱:哈爾濱工業大學,2008.
[3] 毛紅朝.面向中醫面診的診斷信息提取——關鍵算法研究與實現[D].廈門:廈門大學信息科學與技術學院,2007.
[4] 吳暾華.面向中醫面診診斷信息提取的若干掛件技術研究[D].廈門:廈門大學信息科學與技術學院,2008.
[5] YANG Y, ZHANG J, ZHUO L, et al. Cheek region extraction method for face diagnosis of traditional Chinese medicine[C]//IEEE, International Conference on Signal Processing. IEEE,2013:1663- 1667.
[6] ZHUO L, YANG Y, ZHANG J, et al. Human facial complexion recognition of traditional Chinese medicene based on uniform color space[J]. International Journal of Pattern Recognition & Artificial Intelligence,2014,28(4):1450008.
[7] ZHANG J, ZHANG P, ZHUO L. Fuzzy support vector machine based on color modeling for facial complexion recognition in traditional Chinese medicine[J]. Chinese Journal of Electronics, 2016,25(3):474-480.
[8] OJALA T. Gray scale and rotation invariant texture classification with local binary patterns[C]//European Conference on Computer Vision. Springer Berlin Heidelberg,2000:404-420.
[9] 高建坡,王煜堅,楊浩,等.一種基于KL變換的橢圓模型膚色檢測方法[J].電子與信息學報,2007,29(7):1739-1743.
[10] COOTES T F, EDWARDS G J, TAYLOR C J. Active appearance models[J]. IEEE Computer Society,2001,1407(6):484-498.
[11] 許家佗,吳宏進,陸璐明,等.不同健康狀態的面部光譜色度特征分析[J].生物醫學工程學雜志,2012,29(6):1062-1067.
[12] 曾岳,馮大政.一種基于人臉垂直對稱性的變形2DPCA算法[J].計算機工程與科學,2011,33(7):74-79.
[13] 馮建輝,楊玉靜.基于灰度共生矩陣提取紋理特征圖像的研究[J].北京測繪,2007(3):19-22.
[14] VAPNIK V N. The nature of statistical learning theory (statistics for engineering and information science)[M]. New York:Springer-Verlag,1999.
[15] HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine:Theory and applications[J]. Neurocomputing,2006,70(1):489-501.