劉海龍,馬 波
西安石油大學電子工程學院,陜西 西安710065
肺炎在嬰幼兒與老人的呼吸道疾病中極為常見[1]。肺炎X光影像診斷主要依賴專業醫生的識別,不能快速獲得診斷結果,且經驗誤差使識別準確率無法得到保證。神經網絡的發展使醫學圖像的識別逐漸成為圖像識別的主流[2-7]。雖然眾多學者在卷積神經網絡優化上對肺炎分類上取得了不多的識別效果[2-5],但對X光圖像預處理依舊停留在簡單的局部二值模式[6],濾波去噪、對比度增強等操作[7-8],未考慮到正常肺部圖像與患病肺部圖像區別并不明顯,傳統方法導致的原細小特征的缺失的問題。為了進一步提升肺炎識別的準確率,本研究引入并改進了Retinex算法增強肺圖像特征,并通過實驗證明了算法的可行性。
Retinex算法[9]是1963年提出的建立在科學實驗與分析上的圖像增強方法,其算法是建立在人眼看到的圖像是由光線在物體上反射的理論上,將圖像分解為入射圖像與反射圖像,即:

其中為反射圖像,為亮度圖像。Retinex的理論就是通過降低入射分量對原始圖像的影響來獲得圖像中物體的反射屬性[10],從而對圖像進行增強。
由于Retinex算法最早是為了去霧以及消除陰影,對于圖像能夠進行視覺感官特征增強,一定程度上增強了圖像的特征,降低了圖像的光反射影響因素,但是對于神經網絡的學習,經過Retinex算法處理過的圖像并不能對神經網絡訓練產生好的效果,因此需要對算法進行改進,進一步的提取出適合神經網絡訓練的特征。改進后的算法步驟可總結如下:
(1)利用邊緣中心化矩陣對原圖像進行卷積操作,使用原像素點的邊緣像素的平均值來代替原像素點進行圖像重建;
(2)將重建后的圖像利用Retinex算法進行特征增強;
(3)將特征增強后的圖像按照一定的比例與原圖像進行圖像融合,進一步的將特征細化。
1.2.1 圖像重建 通常人類通過計算機顯示器看到的圖像都是由一個個像素點構成的。對于灰度圖像,一張圖像由一個個緊密結合的像素點構成,而對于彩色圖像,其存在一個由RBG三通道構成的彩色空間,每個通道同樣由一個個緊密結合的像素點構成。
然而,簡單的像素點并不能準確描述物體的性質。物體之間具有緊密的空間聯系性,單獨的像素數字描述不能體現出物體之間的緊密聯系性。提出了邊緣中心化矩陣,使用圍繞中心像素點的8個周圍像素來代替中心像素,對圖像進行重建,圖像的每個像素點由其周圍的像素構成,失去的原有的特征但同時獲得周圍像素特征,同樣,周圍的像素會獲得該像素點的特征,最終使圖像像素全局化,具有整體聯系性,邊緣中心化矩陣如下:

使用邊緣中心化矩陣遍歷所有的像素點位置,即使用邊緣中心化矩陣對初始圖像進行濾波重建操作,對肺炎圖像進行操作,目的是將原像素點周圍8個像素點計算平均值來代替原像素點進行圖像重建,圖像重建后效果(圖1)。

圖1 圖像重建對比結果Fig.1 Image reconstruction contrast results.A:正常肺部初始圖像;B:患肺炎肺部初始圖像;C:正常肺部重建圖像;
1.2.2 Retinex 算法原理 使用最原始的單尺度SSR(Single Scale Retinex)對重建后的圖像進行特征增強圖像處理流程(圖2)。

圖2 Retinex算法處理流程圖Fig.2 The flowchart of Retinex algorithm processe.
原始圖像為,亮度圖像反射圖像為,可推導出單尺度Retinex算法的公式為:

令式(5)中L(x,y)=F(x,y)×S(x,y),其中中心環繞函數為F(x,y)=λe,c為高斯環繞尺度,λ為尺度。c=300,對圖1重建后的圖像進行Retinex特征強化處理,結果所示(圖3)。

圖3 Retinex算法特征強化結果Fig.3 Retinex algorithm feature-enhanced results.
1.2.3 圖像融合重建 Retinex算法后圖像已經能夠獲得優于原圖像的效果,但是圖像特征增強或多或少會損失原有圖像的特征,為了進一步提升肺炎X光圖像識別準確率,加入了圖像融合理論[11]:將特征增強后圖像以及初始圖像賦予相應權重并融合為一個圖像,對圖像特征進行增強同時也最大程度保留了原有圖像的特征,實驗證明,取改進Retinex算法特征增強后圖像以及初始圖像的權值分別為0.5,閾值默認為0進行圖像融合,訓練效果最好(圖4)。

圖4 圖像融合效果圖Fig.4 Image fusion effect map.
實驗在Windows 10專業版下進行:處理器:Intel(R)Core(TM)i5-8500 CPU@3.00 GHz;內存:8.00 GB(7.83 GB可用);系統類型:64位操作系統,基于x64的處理器;框架:Windows版的Tensorflow框架。
訓練采用了2018年一項公開的肺炎數據集:Chest X-Ray Images[12]。采用數據集包括5216張訓練集以及624張測試集,其中訓練集包含1341張正常肺部X光圖片以及3875張肺炎X光圖片,測試集包含234張正常肺部X光圖片以及390張肺炎X光圖片。為提高泛化能力將訓練集圖片混合打亂后按照4∶1的比例分為訓練集和驗證集,其數據分布(表1)。

表1 Chest X-Ray Images 數據集分布Tab.1 Distribution of chest X-ray images dataset
選取了Google開源的Inception V3[13]作為測試網絡,其擁有更深的網絡層數以及更大的寬度,不僅計算量比以往VGG網絡[14]要少,還擁有著更高的性能。該網絡使用兩個3×3的網絡來代替5×5的網絡,使用一個1×3的網絡和一個3×1的網絡來代替3×3的網絡,在感受野保持不變的情況下,大大增強了網絡非線性能力,也降低了計算量,使得網絡處理速度大大提升。網絡架構(表2)。

表2 Inception V3網絡架構Tab.2 Network architecture of Inception V3
分別對原始圖像進行Retinex以及改進Retinex算法處理(圖5)。為了防止圖像打亂對訓練結果產生的隨機性,保證訓練結果的穩定性,在同一個CPU環境下同一時間對Inception V3網絡的后20層網絡進行3次訓練對比,并取其平均值作為最終訓練結果對比。其中準確率為總測試樣本中預測準確的比例,敏感性為患有肺炎病例中預測準確的比例,特異性為未患肺炎病例中預測準確的比例。訓練結果(表3~6)。從結果來看,Retinex算法不管是在視覺上還是在網絡訓練中都不能對X 光圖像的特征增強有著更好的效果,改進后的Retinex算法將初始圖像重建后進行數據增強,賦以權重與初始圖像相結合,一定程度上對X光圖像進行了增強,也保留了原始圖像的特征,在視覺效果上雖然不盡如人意,但是在神經網絡訓練學習中卻能表現出更為優異的效果。從準確率上,改進后Retinex算法比原圖像準確率平均提升了2.57個百分點,在敏感性降低0.17個百分點上,使特異性提升了7.15個百分點,大大提升了預測結果的準確度,降低了誤診幾率。

表3 Inception V3 網絡第1次訓練結果對比Tab.3 Comparison of the first training results of Inception V3 network

圖5 算法圖像處理對比圖Fig.5 Algorithmic image processing comparison diagram.

表4 Inception V3 網絡第2次訓練結果對比Tab.4 Comparison of the second training results of Inception V3 network

表5 Inception V3 網絡第3次訓練結果對比Tab.5 Comparison of the third training results of Inception V3 network

表6 Inception V3 網絡訓練結果平均值Tab.6 Average value of network training results of perception V3
當前的肺炎識別優化策略基本都是建立在網絡的優化上,如卷積神經網絡[15]以及知識蒸餾法[2,16]對訓練模型的改進,得到的準確率明顯高于傳統的機器學習算法;有學者在Inception V3模型上增加了特征提取層[5],使用隨機森林分類器[17]代替傳統的Softmax[18]分類,但由于未考慮到卷積過程中的圖像細小特征缺失問題,識別準確率難以再次提升。部分學者預先進行了局部二值處理,但僅在機器學習中進行了實驗,需要在卷積網絡中進一步驗證[7-8]。
通過理論分析,研究確定了肺炎分類在深度學習中的難點:肺部細小特征的缺失。通常卷積神經網絡在Conv、Pooling[19]層中會提取圖像特征,但同時也會損失更多特征;在Dropout層中,隨機失活神經單元也會造成大量的特征缺失,由于肺炎與正常肺部X光圖像差異特征在全圖中占據比例很小,肺炎分類的準確率難以隨著網絡優化而進一步的提升。研究使用了Inception V3[13]的后20層淺層網絡來進行證明,相對于既往研究驗證的深度分類模型AlexNet[20]而言,本研究算法使用了更淺層的特征提取網絡,損失了0.02的敏感度卻提升了0.07的特異性,在準確率上也提升了0.02。
本研究說明算法處理后的特征圖像即便是在提取特征較弱的網絡上也能得到很好的識別。圖像處理方面,有研究將肺炎X光圖像的局部二值模式[6]特征信息進行提取[7],利用帶有反向傳播的BP神經網絡[21]實現了肺炎影像自診斷,但準確率不高,易過擬合。有學者使用了支持向量機[22]算法對相同的特征進行了建模,雖然提高了準確率,卻降低了整體效率[8]。雖然卷積神經網絡[23]能夠很好的提取圖片的特征,但實驗證明,二值化后圖像雖然在一定程度上能夠提高一些肺炎與正常肺部的特征對比,但由于肺部圖像各異,局部二值特征很難把握,難以用到肺部X光中,且由于細節缺失,在深度學習分類中效果并不顯著。既往文獻中也提到了高斯濾波、中值濾波、對比度增強、圖像銳化等簡單的圖像處理操作,但經過實驗證明在相同的神經網絡下得不到比原始圖像分類識別更好的效果[24-25]。
綜上所述,研究創新性地提出了新的算法,在簡單的Retinex特征增強上進行了圖像重建,得到了新的特征結果,將新的特征圖像與初始圖像按一定權重比進行圖像融合,大大增強的圖像的特征,在深度學習的分類識別中與肺炎分類識別的準確率提高中有著重大意義。