王圣琪,胡天寒,許晶淼,韓子卓
(皖南醫學院,安徽 蕪湖 241000)
瘧疾是由瘧原蟲寄生于人體引起的一種傳染病。2018 年11 月發布的最新世界瘧疾報告指出,相較于2016 年,2017 年的瘧疾病例總人數增長了200 萬左右。瘧疾病例總數增多,表明了對于防控瘧疾需要實施一套完整的體系,包括對于瘧疾傳播的防治和及時提供抗瘧藥物進行有效治療[1]。瘧原蟲主要有5 類:惡性瘧原蟲(P.falciparum)、間日瘧原蟲(P.vivax)、三日瘧原蟲(P.malariae)、卵形瘧原蟲(P.ovale)和諾氏瘧原蟲(P.knowlesi),大部分瘧疾是由惡性瘧原蟲和間日瘧原蟲誘發的[2-3]。
伴隨著計算機技術的進步和醫療技術的發展,深度學習方法可以幫助人們分類瘧疾,其中卷積神經網絡(Convolutional Neural Networks,CNN),可以自動對瘧疾進行分類識別,更好更方便快速診斷并治療瘧疾。在2015 年的IEEE 國際計算機視覺與模式識別會議上,何愷明等人提出了深度殘差網絡(ResNet)[4]。該網絡使用殘差結構,避免網絡退化現象,神經網絡的“深度”第一次達到了100層。在2018 年,Rajaraman 等人[5]使用的預訓練模型是以卷積神經網絡為基礎的,進行圖像特征提取后,評估了其對被感染和未感染細胞進行分類的能力。在文獻[5]中,明確表述了在提取被感染細胞和未感染細胞特征方面,預訓練卷積神經網絡ResNet-50 與使用其他的預訓練卷積網絡相比,性能更為出色。本文使用ResNet-50 卷積神經網絡架構對細胞圖像進行分類,將感染的血涂片圖像和未被感染的正常血涂片圖像分成兩類。
本文采用來自Lister Hill 國家生物醫學交流中心(LHNCBC)的數據集,他們細心收集和標記了公開可用的健康和受感染的血涂片圖像的數據集。將受惡性瘧原蟲感染的150 個病人的薄血涂片和50 個健康病人的薄血涂片使用吉姆薩染液進行染色,進行顯微鏡觀察,同時使用內置攝像捕捉獲取后,利用幻燈片閱讀器標記,得到如下數據集,其中包含感染瘧原蟲的和未被感染瘧原蟲的(健康的)血細胞圖像都為13 779張。圖1是被寄生蟲感染的細胞圖像,圖2是未被寄生蟲感染的細胞圖像。

圖1 寄生蟲感染的細胞圖像

圖2 未被寄生蟲感染的細胞圖像
在訓練和測試模型的過程中,將使用大量圖像數據用作支撐。使用圖像預處理的方法,以此來使圖像數據進一步優化,使獲得的信息真實性和可靠性進一步提高。以下使用圖像縮放、圖像增強和灰度化3種預處理方法。
1)圖像縮放:是指通過增加或減少像素來使圖像的尺寸發生變化。將初始圖像的大小通過縮放變換為125×125 像素。如圖3 是未經過縮放處理的圖像,圖4是經過縮放處理后的圖像。

圖3 未經過縮放處理的圖像

圖4 經過縮放處理后的圖像
2)圖像增強:從訓練數據集中載入現有圖像,并且應用轉換操作,例如旋轉、裁剪、翻轉等,使圖像的視覺效果得到改善,有目標地提高圖像整體或局部的清晰度,從而使圖像變得更容易進行分析處理。由于這些隨機轉換,獲取的圖像不一樣。
旋轉:是指圖片按照一個中心或者某一點進行一定角度的變換。如圖5 是未經旋轉的圖像,圖6 經過旋轉處理圖像。

圖5 未經旋轉的圖像

圖6 經過旋轉處理的圖像
裁剪:是將圖片中的一部分單獨剪切提取出來的操作。圖7 未經裁剪的圖像,圖8經過裁剪處理的圖像。

圖7 未經裁剪的圖像

圖8 經過裁剪處理的圖像
翻轉:是指在目標圖像平面或者空間按照一定角度進行旋轉。圖9是未經翻轉的圖像,圖10為經過翻轉處理的圖像。

圖9 未經翻轉的圖像

圖10 經過翻轉處理的圖像
3)灰度化:是使彩色圖像通道中的R、G、B三個分量的數值互等的過程,稱之為灰度化圖像。OpenCV以BGR或藍、綠、紅的順序讀取圖像,上面顯示的圖像是藍色的,實際的圖片是粉色的。例如圖11是原圖經過編譯運行cv2.cvtColor(img, cv2.COLOR_BGR2RGB)轉換回RGB 順序,結果如圖12 所示,是RGB 讀取的圖像。

圖11 BGR讀取的圖像

圖12 RGB讀取的圖像(實際顏色)
本文采用ResNet-50模型,ResNet-50網絡結構圖如圖13所示。本文采用的ResNet-50模型進行訓練,使用ImageNet數據集,此數據集是一個大型的圖像分類數據集,符合模型要用大量圖像數據訓練的要求。通過遷移學習,可以很好地避免由于訓練數據集的圖片數以及測試數據集的樣本數量不足,導致不理想的精度效果,造成過擬合現象問題。因此,用ImageNet預訓練的模型來進行遷移學習,對模型的泛化能力和精度的提升都有重要意義[6]。

圖13 ResNet-50網絡結構圖
如表1 所示,該模型訓練時用的設備配置。數據集按照訓練集和測試集劃分為7:3,在訓練期間應用訓練數據集,并采用測試數據集來檢查模型的性能。

表1 設備配置
評估模型使用準確性(Accuracy)、精確度(Precision)、召回率(Recall)和F1-Score 為其主要指標。表2為混淆矩陣,TP 是指分類器預測結果感染樣本,實際也為感染樣本,代表感染樣本被正確識別的數量,FP表示分類器預測結果為感染樣本,實際是未感染樣本,代表誤報的未感染樣本數量,TN是指分類器預測結果為未感染樣本,實際也為未感染樣本,代表未感染樣本被正確識別的數量,FN 表示分類器預測結果為未感染樣本,實際為感染樣本,代表漏報的感染樣本數量。

表2 混淆矩陣
1)準確率(Accuracy)
準確率是指對于分類器預測正確的樣本與總樣本的比例。其計算公式如(1)所示:
2)精確度(Precision)
精確度是指實際為感染樣本在分類器預測為感染樣本中的概率,精確度等于分類器預測正確的感染樣本數量與所有預測為感染樣本數量之比,其計算公式如式(2)所示:
3)召回率(Recall)
召回率是預測正確的感染樣本的概率,召回率等于分類器預測正確的感染樣本數量與所有感染樣本的總和之比,其計算公式如式(3)所示:
4)F1-Score
F1-Score 是一個平均數,是精確度與召回率進行平均的一個結果,它的最大值是1,最小值是0。其計算公式如(4)所示:
通過初步實驗獲得的準確率為98.93%、精確度98.95%、召回率98.93%,F1 Score 為98.93%,表3為本文使用的模型與其他方法的模型比較,從表3可以看出,使用ResNet-50 所獲得結果比Basic CNN、VGG-19 Frozen和VGG-19 Fine-tune都要好。

表3 ResNet-50模型與其他方法的比較
下面將訓練過程中每個Epoch 的訓練集Accuracy、Loss 以及驗證集Validation Accuracy、Validation Loss,值繪制成曲線圖,如圖14 所示。其中Loss 為損失函數,用來表現預測與實際數據的差距程度。

圖14 訓練100次訓練集和驗證集Accuracy值和Loss值變化曲線圖
從圖14 的結果可以得出,當訓練達到100 次時,準確率上升接近平穩,當Epoch=100 次時,準確率接近0.99。loss 值下降接近平穩,到Epoch=100 次時,loss值接近0,損失值較低。
為了更好地體現瘧疾分類識別的結果,把原始圖片放進分類識別系統進行分類,先識別細胞是否被感染,再分辨瘧原蟲的種類。系統界面如圖15所示。

圖15 分類識別系統
瘧疾是一種瘧原蟲感染人體內的紅細胞而引起的疾病,瘧原蟲屬于原生動物,屬于傳染病。本文將通過專業知識和實際操作,運用ResNet-50 模型與CNN 模型,VGG-19 Frozen 模型以及VGG-19 Finetune 對比,不斷調整和修改加以優化后獲得最優模型,然后設計一個瘧疾分類識別系統,來判斷和識別出細胞是否被感染以及感染的瘧原蟲種類。此系統可以提高診斷的效率和正確率,提升治療的速度,還能解決醫療資源不足問題。