[譯] 瘧疾檢測:Keras 深度學習醫學影象分析
我愛計算機視覺 標星,更快獲取CVML新技術
計算機視覺在醫療領域的應用非常廣泛,52CV曾有相關博文:
ofollow,noindex">AI醫療 | 新開源計算機視覺技術用於新生兒胎齡估計
Kaggle新上比賽:胸部X光片肺炎檢測
前天PyImageSearch博主Adrian Rosebrock發表博文展示了使用Keras庫利用深度學習技術進行 瘧疾檢測 的流程,並取得了超過目前文獻的最好方法,值得大家參考。(昨天 52CV-醫學影像群 裡還有一位同學說如何做醫學影象方面的畢設,這篇文章真是及時雨啊)
文末附程式碼和資料庫下載。
瘧疾全球分佈
瘧疾是一種致命傳染病,在全世界範圍內每年造成超過40萬的人死亡,下圖展示了瘧疾發病數量的全球分佈圖。紅色代表高危地區。
由上圖可知,瘧疾最氾濫的地區在中非。而這也往往是世界經濟欠發達地區,醫療條件和生活衛生環境堪憂。
瘧疾的地理分佈和以下因素強相關:
貧困程度、醫療條件、是否戰爭、政府是否腐敗、傳染媒介(蚊蟲叮咬等)。
可知,在這些地區開展瘧疾檢測的技術手段不僅需要速度快還需要是低成本的(裝置低廉而且要省電)。
目前瘧疾檢測的方法
目前臨床醫療環境中對瘧疾的診斷主要依賴兩種方法。
一種是 血液取樣塗片 ,通過有經驗的醫生在顯微鏡下觀察載玻片並手動計算感染的紅細胞數,有時候醫生需要數5000個細胞,這顯然需要耗費大量的時間。
為了使瘧疾檢測更快,科學家和研究人員開發了 快速診斷檢測(RDT)的抗原檢測 。
所使用裝置如下所示:
雖然RDT明顯快於細胞計數,但它的準確性也低得多。
新方法,深度學習自動檢測
值得高興的是,2018年,NIH提出了新的基於深度學習的瘧疾檢測方法,通過採集血液樣本影象,將瘧疾的檢測建模為已感染、未感染的二分類問題,他們的論文名為《Pre-trained convolutional neural networks as feature extractors toward improved parasite detection in thin blood smear images》,使用了6個預訓練模型。
這種方法取得了可觀的檢測精度(95.9%),但訓練時間也很長,需要24個小時。
更大的問題是,這麼多大型的預訓練模型,實際使用時是極其耗時、耗電、耗記憶體的。在剛才我們看到的瘧疾高發地區部署這樣的系統依然面臨挑戰。
於是,作者的想法是,構建小型結構的CNN網路,在原始資料上重新訓練,並期望達到相當的精度。
作者使用方法
Adrian Rosebrock通過構建殘差CNN網路來實現瘧疾檢測。
其中一些細節包括:
1.資料集直接使用NIH釋出的瘧疾資料集,其共有27588幅影象,正負樣本各13794幅影象(文末附下載)。
影象樣本示例:
2.訓練集:驗證集:測試集的數量之比為:8:1:1。
3.訓練迭代次數50次,batch size 設為32,初始學習率1e-1,動量0.9。
4.資料預處理階段除了必要的歸一化外還經過多種資料增廣操作,包括:旋轉、縮放、平移、映象等。
5.輸入影象resize到64*64大小(而NIH研究中使用的ImageNet預訓練模型需要的大小)。
6.模型構建使用Keras構建殘差網路(ResNet.build())
7.使用softmax分類模型。
使用Titan X GPU訓練,經過50個epoch,共計54分鐘的訓練,模型精度達到:
-
96.50% accuracy on 訓練集
-
96.78% accuracyon 驗證集
-
97% accuracyon 測試集
檢測精度高於NIH的6個大型模型的方法!而模型大小僅17.7M!
原博文地址:
https://www.pyimagesearch.com/2018/12/03/deep-learning-and-medical-image-analysis-with-keras/
程式碼資料下載
在“我愛計算機視覺”微信公眾號對話介面回覆“ 瘧疾檢測 ”,即可收到程式碼和所用資料的百度雲下載地址。
加群交流
醫療影象處理識別在國內交流平臺較少,52CV君已經建了一個專業群,掃碼新增52CV君拉你入群:
(請務必註明:醫療影象)
Line"/>
喜歡在QQ交流的童鞋,可以加52CV官方QQ群:928997753。
(不會時時線上,如果沒能及時通過驗證還請見諒)
更多前沿計算機視覺技術請瀏覽:
長按關注 我愛計算機視覺
【點贊與轉發】 就是一種鼓勵