王 孟 張大斌 魏曉雍 張 暉 劉杰民
1(貴州大學機械工程學院 貴州 貴陽 550001)
2(貴州銀行博士后流動站 貴州 貴陽 550001)
3(貴州省人民醫(yī)院 貴州 貴陽 550001)
社會的快節(jié)奏發(fā)展下,人們日常生活飲食非常不規(guī)律和不健康,導致消化道疾病患病率長期以來居高不下。我國現已成為胃病大國[1-3],每年新增胃癌50萬例以上。傳統消化道檢測手段,如鋇餐造影、胃鏡和血清篩查等,存在輻射高、敏感度低和舒適性差等缺點。膠囊內鏡(WCE)體積小且具備無線傳輸功能,能夠通過腸胃蠕動實現整個消化道的拍攝,且患者無任何不適,因而得以應用。但每個患者所拍攝的圖片多達5萬幅,嚴重降低了醫(yī)生審閱的效率,使其不能推廣使用。
目前,不乏對WCE計算機輔助診斷的研究。傳統機器視覺領域,研究者針對有差別的病灶分別設計了個性化特征檢測算法。文獻[4]利用局部二值模式和拉普拉斯金字塔進行潰瘍多尺度特征提取,結合SVM分類器實現了95.11%的識別準確率。文獻[5]丟棄了WCE亮度信息,借助SVM和多層感知器對顏色通道特征分類,并實現了小腸腫瘤全自動分割,該算法比小波和小曲率變換速度快了25倍。文獻[6]對圍繞單個像素的塊定義了索引值,從索引值的直方圖中提取顏色和紋理特征,結合主成分分析法檢測消化道出血,準確率高達97.85%。深度學習領域的WCE診斷中,研究者通常采用經典神經網絡進行遷移學習。文獻[7]采用預訓練的Alex Net訓練上萬幅WCE圖片,檢測潰瘍和糜爛的準確率為95.16%和95.34%。文獻[8]使用大型非醫(yī)療圖像數據庫對ResYOLO目標檢測算法進行預訓練,之后用結腸鏡圖像對參數微調,結合ECO跟蹤器來整合WCE時間信息,對息肉檢測準確率達到88.6%。也有將傳統機器視覺和深度學習相結合的研究者。文獻[9]提出一種WCE圖像異常的自動檢測和定位方法,首先使用預訓練的弱監(jiān)督卷積神經網絡劃分WCE為異常與正常,再利用顯著性檢測算法檢測興趣點,最后通過迭代聚類統一算法定位異常病灶,實驗準確率高達96%。上述基于傳統機器視覺的識別算法需要針對不同病灶設計不同算法,基于遷移學習的模型存在預訓練數據與樣本數據差異大的問題,傳統機器視覺與深度學習結合的方法使得算法結構復雜,不能廣泛使用。
因此,本文提出了基于神經網絡與特征融合的膠囊內鏡圖像識別模型。本模型借助卷積神經網絡自動學習圖像特征的特點,分別提取WCE顏色、形狀和紋理特征,再通過Bagging算法進行特征融合。本模型是首次將卷積特征提取與Bagging特征融合相結合的模型,并采用了分離輸入并訓練的模式,替代了傳統RGB通道訓練,實現了一種對WCE圖像識別具有通用性、結構簡單、可應用于實際的醫(yī)療輔助診斷模型。
膠囊內鏡圖像的位深度為24,水平和垂直分辨率均為96 dpi,為醫(yī)生診斷提供了豐富信息。醫(yī)生利用顏色、形狀和紋理特征對WCE進行診斷。因此,分別進行G分量提取、Log變換、直方圖均衡化,以突出WCE顏色、形狀及紋理特征,削弱特征間相互影響,從而利用卷積神經網絡分別提取WCE顏色、形狀和紋理特征,再進行特征融合識別。
RGB圖像由紅色像素分量(R)、綠色像素分量(G)和藍色像素分量(B)通過矩陣疊加形式組成。膠囊內鏡拍攝對象為整個消化道,顏色呈淺紅色至深紅色。內鏡下,Z線處食管白色黏膜與紅色胃黏膜交匯邊界清晰,染色增強的息肉與常規(guī)組織存在明顯顏色差異,潰瘍表面被白色纖維蛋白覆蓋。為分析WCE顏色通道間的差異,統計50幅息肉和潰瘍病灶圖R、G、B通道顏色值的均值和標準差,見表1。
表1 息肉與潰瘍病灶圖RGB通道評價
表1中,兩種疾病顏色均值的差值大小為G>R>B, 說明G通道灰度值分布差異比R和B通道大,G通道顏色分布信息更為豐富。標準差的差值大小為B>G>R,即B和G通道包含的顏色細節(jié)信息比R通道豐富。綜合兩個評價指標,G通道均值與標準差綜合表現強于R和B通道,能夠表征膠囊內鏡的顏色信息。因此提取G通道特征作為WCE顏色特征,舍棄B和R通道。
消化道不同器官在形狀上有顯著差異。盲腸與回盲腸相接且有多個囊袋狀溝壑,幽門呈規(guī)則的圓口或橢圓口狀且內有環(huán)向肌肉,食管呈現出深隧道形狀。不同病灶也存在形狀差異,息肉是一種小隆起且呈圓形或橢圓形的肉塊,潰瘍表現為消化道表皮組織平面片狀潰爛或隆起。因此,形狀特征是內鏡診斷的重要信息。為了凸顯形狀特征,采用Log變換來減少顏色和紋理信息。Log變換原理如式(1)和圖1所示。
圖1 Log變換原理圖
(1)
式中:x為輸入的灰度值;y為經Log變換后得到的輸出灰度值;c為可調常數項,用以調整圖像亮度。結合式(1)和圖1可看出,輸入灰度值大時,函數斜率小,壓縮了高灰度區(qū)域。相反,灰度值小時,函數斜率大,暗區(qū)灰度得到提升與擴展。從而均衡了圖像顏色和紋理信息,突出局部形狀信息。
取c=10,對膠囊內鏡圖像Log變換。如圖2所示,Log變換提升了內壁皺褶處附近的整體亮度,腸道弱光照的延伸部分的亮度也得到了提高,突出了息肉形狀特征。整幅圖的灰度梯度得到平均,大大減少了顏色和紋理對形狀信息的影響,因此提取Log變換圖像作為WCE形狀特征。
圖2 Log變換前后的息肉圖像
紋理特征也是區(qū)分器官與疾病的信息。食管內壁光滑、紋理不明顯,胃呈現出大量較深的褶皺,小腸表面呈絨毛狀。息肉表面紋理與所處器官有關,潰瘍表面有許多因腐敗而產生的小細紋。提升圖像對比度能夠有效突出紋理特征。
直方圖均衡化是一種高效的對比度提升算法。原理如下:
(2)
式中:0≤rk≤1,k=0,1,…,255;Ok為變換后的輸出值;rj為灰度值;Pr(rj)是灰度級rj的概率密度函數;nj為包含灰度級rj的數量;n為圖像總像素量。該變換使用rj的累計分布函數,生成一幅灰度密度均勻的圖像,增加了灰度動態(tài)分布范圍。對膠囊內鏡圖像進行直方圖均衡化處理,如圖3(b)所示。原始圖像3(a)中息肉的灰度值得到提高,周圍組織的灰度值降低,提高了WCE的對比度,息肉輪廓的梯度得到加強。因此提取直方圖均衡化圖特征作為WCE紋理特征。
圖3 直方圖均衡化前后的息肉圖像
特征提取是圖像識別的重要研究內容,傳統算法中效果較好的特征提取算法有針對邊緣檢測的Canny算法、輪廓檢測的Douglas-Peucker算法、直線和圓檢測的Hough算法以及斑點檢測的SIFT算法等。卷積神經網絡是一種能自學習核參數的濾波器,在特征提取過程中,能夠自動提取圖像的深層特征,如紋理、形狀和顏色。它大大減少了傳統特征提取過程的算法設計和參數設計。因此,本文對預處理過后的三種WCE圖像分別應用卷積神經網絡,能夠自動提取WCE顏色、形狀和紋理特征,避免了為不同病灶的不同特征設計專用的特征提取器。之后采用Bagging進行特征融合,比Softmax分類器更充分地融合高層次圖像特征,也更快地使網絡收斂。
本文使用來自Vestre Viken公司公開的Kvasir數據集[10],包含來自胃腸道(GI)的膠囊內鏡圖像的數據集。數據集分為8類,按0~7排序,共8 000幅圖。即具有解剖標志的Z線、幽門和盲腸,為醫(yī)生判斷圖像所處消化道位置提供了導航;具有臨床意義的食管炎、息肉和潰瘍性結腸炎,屬于消化道常見疾病;此外,還有對病灶醫(yī)學處理后的圖像,息肉染色增強和息肉染色邊緣切除。數據集分類和標注工作由專業(yè)醫(yī)生完成,每個類包含1 000幅圖,均采用JPEG壓縮編碼。
調整數據集圖像大小為224×224,同一幅圖分別進行G通道分離、Log變換以及直方圖均衡化。將三者分別輸入到具有相同結構的卷積神經網絡進行特征提取。設計模型如圖4所示。
圖4 神經網絡特征融合模型
將具有特征提取功能的卷積核和神經網絡結合,能夠自動提取圖像特征。VGG網絡[11]中采用2個3×3卷積代替5×5卷積,3個3×3卷積代替7×7卷積,實現了相同卷積視野的情況下大大減少參數量。借鑒該小卷積核實現大視野的特點,本網絡采用卷積核大小均為3×3,核數量采用隨層數遞增方式。針對本次數據量,layer-1、layer-2、layer-3核數量分別為64、128和128,對圖像低維度特征進行提取;layer-4和layer-5均為256,對高維度抽象特征進行提取。同時,對每個卷積層進行歸一化(batch normalization),加快模型迭代的收斂速度。
為了充分利用5層卷積層,必須設計池化層,以篩選出有效特征以及提升網絡的訓練效率。本文全采用最大池化(max_pool),能有效提取局部最佳特征。前4層卷積均采用3×3 max_pool,對有效特征進行優(yōu)選。為保留高維特征以進行特征融合,layer-5采用2×2max_pool,使卷積層輸出結果滿足一維向量。
Bagging(bootstrap AGGregatING)是基于自助采樣(bootstrap sampling)的經典并行式集成學習方法。首先,從標注好的包含k個樣本的數據集隨機選取一個樣本放入采樣集,同時仍將該樣本放回數據集,使其在下次采樣時仍可能被選中。經過k次操作后,產生了包含k個樣本的采樣集。由此,可以采樣出n個包含k個樣本的采樣集,然后對每個采樣集訓練出一個基學習器,將這些基學習器結合,通過投票方法來實現預測。當分類中出現票數相同情況,則根據基學習器的投票置信度來確定結果。
本模型選擇Bagging的原因為:
(1) 相比常用的神經網絡后期特征融合(AFS_NN),該方法經過多次采樣,能夠更充分地融合高層次圖像特征,實現了小數據量下更好的預測效果。
(2) Bagging能夠協助神經網絡類基學習器早期停止訓練,以減少過擬合現象,比Softmax分類器實現了更快的收斂。
(3) 神經網絡類基學習器效果易受樣本擾動,從方差角度看,Bagging能夠有效降低學習器的方差。
1) 訓練流程。
(1) 數據集劃分:從原始數據集中隨機抽取6 400幅圖作為訓練集,其中每一類包含800幅圖;剩余1 600幅作為測試集,每一類包含200幅圖。
(2) 圖像預處理:分離出G通道、Log灰度變換和灰度直方圖均衡化。
(3) 特征提?。喝叻謩e輸入到三個相同結構的神經網絡,對每種特征進行提取,三個網絡相互獨立。
(4) 特征融合:提取的三種特征共768個特征值,輸入到一層包含256個神經元的全連接神經網絡,再通過Bagging分類器進行分類。
(5) 輸出:0~7分別對應了8種分類。
2) 參數設置。
(1) 模型訓練方法采用RMSProp算法,learning rate=0.001,rho=0.9, decay=0。
(2) layer6設置dropout=0.5。
(3) batch size=50,epochs=300。
本節(jié)對提出的模型進行大量實驗。實驗在CPU為i7- 7700HQ,GPU為GTX1050,24 GB內存電腦上完成。主要從網絡輸入、網絡訓練、損失函數、特征融合算法、傳統機器視覺和深度學習等方面進行實驗對比,即本模型與RGB輸入模型的對比,與不同輸入模態(tài)模型對比,與不同優(yōu)化器和損失函數模型對比,與不同特征融合算法對比,與傳統圖像識別和經典神經網絡模型對比。
經典神經網絡模型均為RGB輸入模型,將WCE圖像的RGB三通道直接輸入到本文設計的神經網絡進行訓練與識別,不進行特征融合。為展示圖像預處理和特征融合對WCE識別的效果,與RGB輸入模型進行對比。圖5展示了模型訓練周期情況。圖6展示了模型ROC曲線。
圖5 本文模型與RGB模型準確率
(a) 本文模型ROC曲線
(b) RGB模型ROC曲線
從圖5可以看出,本文模型和基于本文神經網絡架構的傳統RGB模型,迭代周期到40次時都達到了穩(wěn)定,且未產生過擬合或欠擬合現象,說明本文設置的歸一化、dropout和學習率等參數合理,能夠加快模型收斂速度。圖5中,兩模型訓練集的準確率相當,達到99.75%。特征融合模型測試集的準確率達到96.89%,比傳統RGB輸入模型高出2.14%,表明預處理與特征融合明顯提升了神經網絡識別準確率。
ROC曲線是衡量模型實際效果的工具,其原理為:
fpr=fp/(fp+tn)
(3)
tpr=tp/(tp+fn)
(4)
式中:fp和fn表示正常和異常的錯誤檢測數,tp和tn分別表示正常和異常的正確檢測數。稱fpr為假正率,tpr為真正率。ROC曲線以fpr為橫坐標,tpr為縱坐標。tpr的提高必定伴隨著fpr的提高,只有當tpr高且fpr低時,模型的預測效果才好。即ROC曲線越靠近左上角時,模型越好。常用ROC曲線與右側坐標軸圍成的面積(AUC)來衡量ROC,AUC值越接近1,則模型效果越好。
從圖6可以看出,本文模型ROC曲線的平均AUC值達到了0.99。每一個類對應的AUC值均不低于0.98,其中盲腸和幽門達到了1.00,足以應用于實際場景。而RGB輸入模型的AUC均值為0.98,比前者低0.01。各分類的AUC值分布區(qū)間為0.97~1.00,超出本模型0.01,實際應用中出現誤判的概率比本文模型高。說明預處理與特征融合模型穩(wěn)定性優(yōu)于RGB輸入模型。
表2展示了本文模型和RGB輸入模型預測指標平均值。其中各指標適用于二分類問題,因此對8類數據分別設計了對應的二分類場景。如計算息肉預測指標時,驗證集設置為150幅息肉圖像和50幅其他分類圖像,并設置息肉為正樣本,其余為負樣本。表2統計了8分類預測指標的平均值。
表2 本文模型和RGB輸入模型預測指標平均值
靈敏度衡量了模型對于正樣本的識別率,特異度衡量了模型對負樣本的識別率。表2中,本文模型比RGB輸入模型的靈敏度高出5.13%,特異度則高出0.13%,即本文模型對正樣本的識別能力顯著強于RGB輸入模型,而對負樣本識別能力則幾乎持平??紤]所設置的驗證集,本文模型的識別能力明顯強于傳統RGB模型。兩模型損失值均為0.05,更加驗證了本文卷積網絡架構的合理性,能夠達到較好的收斂能力。
幾種指標的對比說明本文所設計的神經網絡具有優(yōu)秀的收斂能力與穩(wěn)定性。同時,圖像預處理和特征融合能提供更加準確的多元特征,比傳統RGB具備更好的識別效果。
本模型將G通道、Log變換通道和直方圖均衡化通道三個模態(tài)作為輸入。為驗證不同模態(tài)對模型識別準確率的貢獻程度,將R通道、G通道、B通道、Log變換通道和直方圖均衡化通道隨機組合成3通道,輸入本文模型進行訓練與識別。10種輸入組合的平均準確率如表3所示。其中R、G、B、L和Z分別表示R、G、B、Log變換和直方圖均衡化通道。
表3 不同輸入模態(tài)下本文模型的平均準確率(%)
表3中對比R+L+Z、B+L+Z和G+L+Z可知,RGB三種模態(tài)中對識別準確率貢獻最大的是G通道,表明前述對于G通道包含更多顏色信息的計算是正確的。對比R+G+B和R+G+L,驗證了Log變換預處理為卷積操作提供更多圖像細節(jié),提升圖像識別能力。對比R+G+B和R+G+Z知直方圖均衡化預處理對圖像識別效果的提升好于傳統顏色通道B。因此,本文模型均選擇了相同條件下貢獻最大的模態(tài)作為輸入,即G+L+Z,表3也驗證了所選模態(tài)達到了最高準確率。
為了得到模型最佳的訓練效果,本文測試了三種常用優(yōu)化算法和三種損失函數,即均方根反向傳播算法(RMSprop)、帶動量的隨機梯度下降算法(SGD+Nesterov_Momentum=0.9)和Adagrad,以及均方誤差損失函數(mean_squared_error)、二元交叉熵損失函數(binary_crossentropy)和交叉熵損失函數(categorical_crossentropy)。實驗結果如表4所示。
表4 不同優(yōu)化算法與損失函數的平均準確率(%)
表4中,采用二元交叉熵損失函數時,三種優(yōu)化算法準確率均高于96.5%,其中RMSprop達到96.89%。均方誤差損失函數下,Adagard準確率比RMSprop高0.14百分點,而帶動量的隨機梯度度下降算法準確率為41.37%,不足50%,不具備優(yōu)化能力。采用交叉熵損失函數時,Adagrad準確率最高。可見,二元交叉熵損失函數與RMSprop結合效果最好,后兩個損失函數與Adagrad結合效果最好。因此本文選擇準確率最高的二元交叉熵損失函數和均方根反向傳播算法進行訓練。
本文模型采用Bagging特征融合算法替代了常規(guī)Softmax分類算法。為了評估Bagging算法對特征融合的貢獻程度,將模型中特征融合算法改為Softmax分類器、隨機森林分類器(RF)、SVM分類器,保持模型其他部分不變,與本文模型進行對比。實驗結果如表5所示。
表5 不同特征融合算法平均準確率(%)
表5中,Bagging進行了多次采樣操作,以及具備快速收斂能力,因此準確率比Softmax算法提升了0.45百分點。隨機森林分類器同樣采用了多次采樣操作,但通過多棵決策樹訓練的方式增加了算法復雜度,對數據量要求較高,準確率比Bagging低3.81百分點。SVM分類器屬于較低維的線性分類器,而本文Layer6輸出的抽象特征屬于高維特征,因此SVM分類效果較差,只有84.15%,遠低于Bagging。可見,本文提出的利用卷積網絡和Bagging特征融合的模型比傳統Softmax等分類器更具優(yōu)勢。
所提出的模型是將傳統機器視覺中的圖像預處理與經典神經網絡相結合,為了展示本文模型的優(yōu)勢,分別與幾種傳統機器視覺模型和經典神經網絡進行了對比,結果如表6所示。
表6 不同模型各分類準確率比較(%)
(1) ResNet和AlexNet:借助深度神經網絡和百萬訓練數據量,對常規(guī)圖像識別準確率超過90%。
(2) GIST:基于一維感知(自然、開放、粗糙、膨脹和險峻)的特征檢測算子,主要用于空間結構的特征檢測;
(3) SIFT:基于圖像尺度、角度等空間特征不變量的斑點特征檢測算子,用于局部特征提取。
(4) COLOR:基于k_means聚類出的128個顏色描述符,進行顏色特征提取的算法。
表6中,神經網絡類模型準確率普遍高于傳統機器視覺,尤其對于息肉和潰瘍等病灶的識別效果顯著好于GIST、SHIFT和COLOR。GIST+SIFT和SIFT+COLOR識別染色息肉和染色切除的準確率明顯高于其他分類,對于包含復雜特征的息肉、幽門和Z線等識別較差??梢妭鹘y機器視覺模型對于復雜分類的效果較差。ReNet和AlexNet網絡結構復雜,待訓練的參數量高達62 M。寶貴的醫(yī)療數據只能在預訓練的ResNet和AlexNet網絡上進行微調。兩者準確率分別為94.72%和94.84%,高于傳統模型至少10.23百分點,但是由于預訓練數據和膠囊內鏡圖像存在較大差異,兩模型準確率受到了限制。本文模型參數量不足2 M,可以直接訓練小數量級WCE圖像,平均準確率能達到96.89%,比其他模型高出2.05百分點以上。其中兩類疾病,息肉和潰瘍性結腸炎準確率均高于其他模型1.3百分點以上。表明本文模型對于復雜分類和小數量級數據的訓練具有更好的效果。
深度學習在醫(yī)療領域的應用,可以大大提高醫(yī)生診斷效率。因此,本文構建了基于神經網絡與特征融合的膠囊內鏡圖像識別模型。該模型首先通過預處理獲取顏色、形狀和紋理信息突出的圖像,采用卷積神經網絡分別提取其不同特征,再用Bagging算法對提取的特征進行融合與識別。同時設計了大量實驗驗證該模型。
所用測試集包含了腸道定位、疾病病灶和疾病醫(yī)學處理等方面的圖像,使得模型的訓練更加符合實際應用場景。尤其對于息肉病灶的識別非常重要,近年來針對WCE定位和潰瘍檢測的研究較多,準確率為70.60%~95.61%[12-15],卻少有對息肉識別的研究。Zhang等[16]在預訓練250萬個非醫(yī)學數據集的特征后,實現了87.3%的息肉識別準確率。而本文模型首次嘗試將卷積特征提取與Bagging特征融合相結合,可直接訓練息肉圖像,并達到了96.42%的準確率以及0.99的AUC值,遠高于傳統機器視覺(SVM、GIST+SIFT等)和現有深度學習(RGB模型、ResNet等)識別準確率,開創(chuàng)了新的基于深度學習的息肉識別方法。本文的訓練集僅包含6 400幅圖像,8分類平均準確率達到了96.89%,相同準確率下數據量要求遠小于其他大型神經網絡??芍獙D像進行預處理以突出特征的方法,能夠在小數據量情況下實現神經網絡的良好識別效果,解決了醫(yī)療領域數據寶貴的困境。最后,本文模型在各項指標中均取得了良好成績,實際應用中能夠輔助醫(yī)生進行疾病診斷。
未來的研究還有幾方面需要完成:
(1) 提高模型的魯棒性。實際WCE圖像中,光照強度隨鏡頭位置改變而變化,清晰程度也受到聚焦距離影響,腸道清潔程度更加影響病灶識別。需要針對上述干擾因素來提高模型的魯棒性。
(2) 提升模型復雜度。本文模型是基于小數據量設計的,隨著數據量的增加,需要增加神經網絡層數、增加功能模塊、更加精確的特征預處理以及更加符合WCE圖像的網絡設計。
(3) 搭建基于在線學習的云服務平臺。消化道疾病一直在發(fā)展變化,基于在線學習的識別模型才能夠滿足疾病特征的時效性。云服務平臺能夠整合醫(yī)療領域出現的新病例、提供網絡診斷功能,大大提升診斷效率。