崔豐麒 肖浩然 牟 懌*
(武漢輕工大學電氣與電子工程學院,湖北 武漢430023)
肺部圖像是肺炎篩查的主要依據(jù)之一[3,4]。在國家衛(wèi)生健康委員會發(fā)布的歷版《病毒感染的肺炎診療方案》均提出把臨床癥狀、流行病學史、肺部病變影像學表現(xiàn)以及病原學檢測作為診斷疑似病例的依據(jù)。具體影像學特征包括: 早期呈現(xiàn)多發(fā)小斑片影及間質改變,以肺外帶明顯。進而發(fā)展為雙肺多發(fā)磨玻璃影、浸潤影,嚴重者可出現(xiàn)肺實變,胸腔積液少見。在2020 年8月發(fā)布的《肺炎診療方案(試行第八版)》中進一步把影像學表現(xiàn)作為確診臨床分型的依據(jù)之一[5]。
雖然典型的X 光圖像有助于早期篩查疑似病例,但肺炎與正常人的肺部在影像學表現(xiàn)為一種紋理的區(qū)別。因此可以提取X 光圖片的紋理特征訓練分類模型。
LBP(Local Binary Pattern,局部二值模式)是一種用來描述圖像局部紋理特征的算子;它具有旋轉不變性和灰度不變性等顯著的優(yōu)點。它是首先由T.Ojala, M.Pietik?inen,和D.Harwood 在1994 年提出,用于紋理特征提取。而且,提取的特征是圖像的局部的紋理特征[6-9]。
原始的LBP 算子定義為在3×3 的窗口內,以窗口中心像素為閾值,將相鄰的8 個像素的灰度值與其進行比較,若周圍像素值大于中心像素值,則該像素點的位置被標記為1,否則為0。這樣,3×3 鄰域內的8 個點經比較可產生8 位二進制數(shù)(通常轉換為十進制數(shù)即LBP 碼,共256 種),即得到該窗口中心像素點的LBP 值,并用這個值來反映該區(qū)域的紋理信息。如圖1 所示。
圖1 LBP 示意圖
支持向量機(support vector machines, SVM)是一種分類模型,它的基本模型是定義在特征空間上的間隔最大的線性分類器。SVM還包括核技巧,這使它成為實質上的非線性分類器。SVM的的學習策略就是間隔最大化,可形式化為一個求解凸二次規(guī)劃的問題。SVM的的學習算法就是求解凸二次規(guī)劃的最優(yōu)化算法。本文采用SVM工具包進行數(shù)據(jù)的分類。
本文采用的模型結構如圖2 所示,其中的LBP 提取的特征是256 維。
圖2 本文的算法流程圖
圖3 正常人X 光圖片
圖4 病毒性肺炎X 光圖片
圖5 細菌性肺炎X 光圖片
數(shù)據(jù)集由正常樣本和肺炎樣本組成。正常樣本來自于NIH Chest X-ray 數(shù)據(jù)集選取了1341 個正常樣本、3875 個細菌性肺炎樣本[10-11]。病毒性肺炎樣本來自于github 開源項目收集的圖片組成的數(shù)據(jù)集covid-chestxray-dataset,包含有180 個樣本[12,13]。部分正常人肺部X 光圖片如圖3 所示,部分病毒性肺炎病人肺部X 光圖片如圖4 所示而圖5 是細菌性肺炎的X 光圖片。
從樣本圖片中可以看出,不同的肺部X 光圖片表現(xiàn)出不同的紋理特征??梢岳眉y理特征提取算法提取圖片的特征。
實驗利用Matlab2019b 平臺進行,使用IntelCore i7-7700 處理器,16G 內存,64 位操作系統(tǒng),SVM軟件包來自lib-svm3.24[14]。SVM選取高斯核。圖6 是LBP 特征進行PCA 降維后的結果,從圖中可以看出,正常人和肺炎病人X 光圖像的LBP 特征是可分離的,為后續(xù)的SVM模型訓練奠定了基礎。
分別從正常圖片、病毒性肺炎圖片和細菌性肺炎圖片中隨機地選擇10%,20%,30%,40%,50%的樣本作為訓練樣本,剩下的做為測試樣本。實驗進行20 次取平均值作為最后的分類結果。圖7 是正常人和病毒性肺炎病人X 光圖片分類的結果。圖8 是病毒性肺炎病人和細菌性肺炎病人X 光圖片分類的結果。圖9 是正常人、病毒性肺炎病人和細菌性肺炎病人三分類的結果。可以看出,隨著訓練樣本的增加,分類正確率有不斷地提升。60%時已達到98.99%。
圖6 LBP 特征進行PCA 降維后的結果及其局部放大圖
圖7 分類正確率
圖8 分類正確率
圖9 分類正確率
病毒性肺炎和正常人的X 光圖片之間的差異可以用紋理特征來描述,基于此本文利用LBP 特征提取圖像特征,并利用SVM進行分類。實驗結果表明,這種方法可以對病毒性肺炎和正常人的X 光圖片進行分類。但是,如果是其他類型的肺炎,也出現(xiàn)類似的紋理特征的差異,那么要區(qū)分病毒性肺炎和普通肺炎就可能需要提取其他特征或采用CNN 網(wǎng)絡,這也是后續(xù)研究的問題。