羅鵬,鄭吉龍,周鵬,張勇德,常世杰,沙憲政
1 中國醫科大學 生物醫學工程系,沈陽市,110122
2 中國刑事警察學院 法醫學系,沈陽市,110035
角膜混濁是一種常見的眼部疾病,是我國致盲的主要眼病之一[1]。一般認為,角膜混濁的形成與角膜膠原纖維組織結構、蛋白多糖水合作用、基質離子溶度調節以及內皮細胞功能這4種因素的變化有關[2]。角膜混濁度反應了角膜的透明程度,在圖像上表現為虹膜與瞳孔的清晰程度,當角膜受損或感染后,會在角膜組織上形成一些混濁病變[3]。雖然肉眼觀察個體角膜混濁程度變化的做法由來已久,但由于主觀性較強且缺乏量化指標等容易導致實際推斷誤差較大[4]。因此醫學上希望探索角膜混濁度的客觀量化與自動分類的方法,以便客觀地判斷分析角膜混濁。近年來,針對角膜混濁度的客觀量化,有研究[5]提取個體角膜混濁圖像特征構建分類模型,但由于采集的圖像質量差,提取特征少等原因導致構建的SVM多分類模型準確率不高。還有研究[6]通過數字圖像處理技術量化個體角膜圖像的顏色變化并進行回歸分析,但忽略了角膜圖像的紋理特征變化可能對精確量化角膜混濁程度的影響。本研究為實現角膜混濁度的客觀量化,采集不同混濁程度的角膜數字圖像,提取圖像部分顏色特征和紋理特征,建立SVM多分類模型實現了對角膜混濁度的自動分類,并對提取的特征參數進行選擇從而優化模型。
采集兩只雄性家豬死后的左眼角膜圖像,角膜混濁變化均符合規律,所用豬購自阜新偉嘉畜牧科技發展有限公司,2月齡,體重20 kg,豬健康且眼部無疾病。實驗用豬經麻醉放血處死后立即取出豬眼置于溫度為25oC,濕度為60%的密閉暗室中進行圖像采集,采集裝置由單反相機(佳能 EOS 5DSR)、微距鏡頭(EF 100 mm f/2.8L IS USM)構成,將豬眼固定于實驗臺上,通過柔光鏡筒與采集裝置相連,采用均勻光源照射。單反相機垂直于豬眼30 cm,采用間隔定時2 min拍照,48 h內共采集角膜圖像1 440張,其中無混濁圖像150張、輕度混濁圖像210張、中度混濁圖像360張,重度混濁圖像720張,圖像分辨率為8 688×5 792。
1.2.1 圖像預處理
為便于提取角膜區域,加快分類模型擬合,從原始圖像中提取眼部特寫并降低分辨率,實際圖像大小為250×250,角膜混濁度分類對比,如圖1所示。

圖1 角膜混濁度分類對比Fig.1 Comparison of corneal opacity classification
設計了一套角膜區域自動提取算法,通過高斯濾波、灰度變換、Otsu閾值分割、分水嶺算法[7]結合形態學操作、邏輯運算等提取角膜區域,放在背景為黑色的圖像中,角膜區域的提取過程,如圖2所示。

圖2 角膜區域提取過程Fig.2 Corneal extraction process
1.2.2 特征提取
對采集的角膜圖像根據事先經驗提取了部分顏色特征和紋理特征,包括顏色矩特征、灰度共生矩陣特征、Gabor特征、LBP特征。將四種特征連接起來,作為樣本圖片的特征向量[8-9]。
(1)顏色特征提取
RGB顏色空間是最常用的顏色空間,數字圖像一般都采用RGB顏色空間來表示[10]。本研究對采集的圖像選擇RGB色彩空間,分別計算R、G、B三個通道的一階顏色矩(均值)、二階顏色矩(方差)和三階顏色矩(斜度)并將其合并為顏色矩特征向量。
(2)紋理特征提取
1973年HARALICK等[11]提出了灰度共生矩陣并用它來描述圖像的紋理特征?;叶裙采仃嚤欢x為從灰度級i的點離開某個固定位置通過d=(Dx,Dy) 的關系達到灰度為j的概率,灰度共生矩陣用dP(i,j) (i,j=0,1,2,…,L-1) 表示,其中L表示圖像的灰度級,i、j分別表示像素的灰度[12]。有研究發現基于灰度共生矩陣的14個紋理特征中,只有能量ASM、對比度CON、相關性COR、熵ENT這四個特征是不相關的[13]。本研究計算0o、45°、90°、135°四個方向的ASM、CON、COR、ENT并將其合并為灰度共生矩陣特征向量。
本研究選擇0o、45o、90o、135o這4個方向7、9、11、13、15、17這6個尺度共24個Gabor濾波器[14],對原始圖像進行濾波,得到24幅Gabor特征圖,考慮到特征維度較大且存在冗余,計算24幅Gabor特征圖的均值和標準差,作為每一幅圖像的Gabor特征,并將其合并為Gabor特征向量。
LBP特征在灰度范圍內描述紋理非常有效,其計算能力高、分類能力強,具有灰度不變性、能夠結合圖像的整體特征[15]。對原始圖像進行分塊處理,經LBP變換后獲得LBP特征圖像,計算LBP特征圖像的直方圖并對其進行歸一化,將各直方圖連接起來構成LBP特征向量。
1.2.3 SVM多分類
SVM是一種相對較新的機器學習技術,它通過學習算法,在訓練樣本中尋找到支持向量,利用這些支持向量對未知樣本的類別進行預測[16]。SVM最初是用來解決二分類問題而設計的,當應用于多分類時一般有兩種解決方法[17]:
(1)在傳統的SVM基礎上通過對目標函數進行優化,建立多分類器,從而實現多分類。但是這種方法計算難度大,效率低,在實際中并不常用。
(2)將多分類問題轉化為多個二分類問題,通過構造多個SVM二分類器來實現多分類。
本研究采用“一對一”方法實現SVM多分類[18]。本方法在每兩個類別之間構建一個分類器,對于k分類問題需要構建k(k-1)/2個分類器,當對未知樣本預測時,每個分類器對其類別進行投票,得票數最多的類別就是該樣本的類別[19]。角膜的混濁程度分為4個類別,共需構建6個分類器。對訓練集和測試集進行標準化,用訓練集對SVM多分類模型進行擬合,通過網格搜索和交叉驗證[20]尋找到最優的模型,用測試集對模型性能進行評估。
1.2.4 特征選擇
特征選擇是模式識別等領域的重要內容,它從原始特征集合中選擇重要特征子集,不僅減少特征數量,減少過擬合,還可以提高模型的泛化能力,加快模型的訓練速度,一般情況下,還會獲得更好的性能[21]。本研究所提取的特征是根據事先經驗選擇的,其中可能存在部分無關特征和冗余特征影響SVM的性能。通過卡方檢驗發現:隨著選入相關特征的增多,SVM多分類模型的準確率逐漸升高;但當選入無關特征或冗余特征時,模型準確率并不會提高。選入特征百分比與模型準確率的關系,如圖3所示。以選入特征百分比為橫軸,以交叉驗證分數(準確率)為縱軸。

圖3 選入特征百分比與模型準確率的關系Fig.3 Relationship between percentage of selected features and model accuracy
從圖3中可以看出提取的特征中確實存在了大量的無關特征和冗余特征。我們選擇基于SVM的遞歸式特征消除法(SVM-RFE)[22]來剔除無關特征和冗余特征,并以交叉驗證的方式來執行它。本算法通過交叉驗證找到最優的特征數量,不斷地訓練模型,基于SVM構造的特征權重,每次訓練完畢刪除重要性最低的特征,對新的特征再次進行訓練,當減少特征會造成SVM性能損失時,將不會去除任何特征,此時的特征集合就是原始特征集合的最優特征子集。
從兩只豬眼中隨機抽取一只豬眼,在它四類混濁程度圖像隨機抽取120張,構建圖像的特征向量并給定對應的標簽作為訓練集,另一只豬眼每類隨機抽取40張,構建特征向量并給定對應的標簽作為測試集,SVM多分類模型平均準確率為0.943 8,四分類的混淆矩陣結果如表1所示。

表1 四分類的混淆矩陣結果Tab.1 Confusion matrix for 4 classes
無混濁、輕度混濁、中度混濁與重度混濁四分類的五折交叉驗證結果(取均值)如表2所示,表中選取Precision(準確率)、Sensitivity(真陽性率)、F1分數對模型的分類性能進行評價,計算公式如下:

表2 四分類的五折交叉驗證結果Tab.2 Five-fold validation results of 4 classification

其中TP表示被預測成正類的正類,FP表示被預測成正類的負類,FN表示被預測成負類的正類,Recall(召回率)等同于真陽性率。
通過SVM-RFE結合交叉驗證尋找原始特征集合的最優特征子集,本模型的最優特征數量為126個。對最優特征子集中特征進行卡方檢驗,觀察隨選入特征百分比增多交叉驗證分數的變化,結果如圖4所示,以選入特征百分比為橫軸,以交叉驗證分數(準確率)為縱軸。

圖4 最優特征子集中特征百分比與模型準確率的關系Fig.4 Relationship between feature percentage in optimal feature subset and model accuracy
在對角膜的混濁度分類中,SVM多分類模型準確率為0.943 8,觀察表1的四分類混淆矩陣結果和表2的五折交叉驗證結果得到,重度混濁分類的精確率最高為1.000 0,無混濁分類的敏感度即真陽性率最高為0.975 0,重度混濁分類的F1分數最高為0.974 4。在對原始特征進行特征選擇時,觀察圖3原始特征百分比與模型準確率的關系和圖4最優特征子集特征百分比和模型準確率的關系得到,與原始特征相比,通過特征選擇后:采用最優特征子集擬合的模型準確率更高,無關特征和冗余特征更少,模型擬合速度更快,提高了模型性能,實現了模型優化。但本模型仍存在一些不足:在對角膜的混濁度分類中,每一類的分類結果都存在一定程度的誤判。分析其原因,發現采用間隔定時2 min進行圖像采集,當不同類別的圖像時間間隔較近時,其圖像差別較小,容易出現誤判。但由于無混濁圖像特征較為突出,與其他三類混濁圖像相比,圖像差距較大,因此其分類的敏感度較高可以達到0.975 0。通過對表1和表2的進一步觀察還可以得出,輕度混濁分類的真陽性率較高為0.950 0,而精確率較低為0.883 7,這是由于40例輕度混濁角膜圖像中只有2例被預測為無混濁,而無混濁和中度混濁角膜圖像中5例被預測為輕度混濁,其中4例來自中度混濁預測錯誤。分析得到,法醫學對處于輕度混濁與中度混濁之間的角膜混濁圖像沒有明確定義其分類,而在本實驗中將其定義為中度混濁,因此在對中度混濁分類時,容易誤判為輕度混濁,導致輕度混濁分類的精確率較低。
本研究綜合考慮角膜數字圖像的顏色特征和紋理特征,對角膜區域進行自動分割與特征提取,構造SVM多分類模型并為其設置了最優參數,通過特征選擇優化模型,最終的測試結果也展現了模型優秀的性能。研究結果與以往研究[5]相比,其構建的SVM多分類模型準確率為0.830 0,本研究模型準確率為0.943 8,遠高于該模型。本研究構建的角膜混濁度分類模型還可以應用于法醫學領域。在法醫學中,個體死后角膜混濁程度隨死亡時間延長而發生規律性變化,可以通過對角膜混濁度的精確量化推斷死亡時間。在今后的研究中,會擴展分類模型的應用范圍,繼續采集各類角膜混濁圖像對模型進行測試,改進模型,盡早實現輔助醫生根據角膜混濁度的客觀量化來診斷與治療角膜混濁,提高工作效率和準確率,讓其發揮更大的價值服務于醫學領域,服務于社會。