NiftyNet項目介紹
簡述
NiftyNet是一款開源的卷積神經網絡平臺,旨在經過實現醫學圖像分析的深度學習方法和模塊,支持快速原型和再現性,由WEISS (Wellcome EPSRC Centre for Interventional and Surgical Sciences), CMIC ( Centre for Medical Image Computing),HIG(High-dimensional Imaging Group)三家研究機構共同推出。
NiftyNet項目的實現基於tensorflow,實現了一整套的DeepLearning流程。將數據加載、模型加載,網絡結構定義等進行了很好的分離,抽象封裝成了各自獨立的模塊。
NiftyNet基礎架構是使研究人員可以快速開發和分發用於分割、迴歸、圖像生成和表示學習應用程序,或將平臺擴展到新的應用程序的深度學習解決方案。
即NiftyNet支持:
圖像分割
圖像分類(迴歸)
auto-encoder(圖像模型表示)
GANs(圖像生成)
項目結構
架構設計
NiftyNet應用程序類經過鏈接四個組件封裝了針對不一樣醫學圖像分析應用程序的標準分析管道:
Reader: 從文件中加載數據
Sampler: 爲以後的處理生成合適的樣本
Network: 處理輸入
output handler: 包括在培訓期間的損失和優化器,以及在推理和評估期間的聚合器
ApplicationDriver: 定義了跨全部應用程序的公共結構,並負責實例化數據分析管道並將計算分佈到可用的計算資源。
平臺安裝
pip install tensorflow-gpu==1.3
pip install tensorflow==1.3
pip install niftynet
以上爲命令行安裝過程,若是使用PyCharm,能夠直接在 File-Settings...-Project:...-Project Interpreter中選擇對應的解釋器版本,並點+來進行安裝tensorflow和niftynet。
嘗試運行Demo:
注:對於普通機型8G內存,顯卡NVIDIA 930M,運行了將近3個小時,不過是在使用PyCharm和其它一些軟件的狀況下,若是你的機子不夠好,建議關閉全部其它應用,而且使用命令行操做。
更新:以上運行很長時間是由於GPU使用程序沒能配好,因此程序是直接憑藉運行,這是其過慢的緣由。當使用GPU來運行的時候,速度明顯提高,只需幾分鐘就運行完畢。
1. 下載模型
python net_download.py highres3dnet_brain_parcellation_model_zoo
2. 分割
python net_segment.py inference -c ~/niftynet/extensions/highres3dnet_brain_parcellation/highres3dnet_config_eval.ini
或者在PyCharm中運行的話,在對應腳本的解釋器的配置中添加參數如:在net_download.py的配置中添加highres3dnet_brain_parcellation_model_zoo
執行結果展現: