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項目的實現基於tensorflow,實現了一整套的DeepLearning流程。將數據加載、模型加載,網絡結構定義等進行了很好的分離,抽象封裝成了各自獨立的模塊。
NiftyNet基礎架構是使研究人員能夠快速開發和分發用於分割、回歸、圖像生成和表示學習應用程序,或將平台擴展到新的應用程序的深度學習解決方案。
即NiftyNet支持:
圖像分割
圖像分類(回歸)
auto-encoder(圖像模型表示)
GANs(圖像生成)
NiftyNet平台獲得:
http://niftynet.io/
項目結構
架構設計
NiftyNet應用程序類通過連接四個組件封裝了針對不同醫學圖像分析應用程序的標准分析管道:
Reader: 從文件中加載數據
Sampler: 為之后的處理生成合適的樣本
Network: 處理輸入
output handler: 包括在培訓期間的損失和優化器,以及在推理和評估期間的聚合器

NiftyNet應用程序類通過連接四個組件封裝了針對不同醫學圖像分析應用程序的標准分析管道:
Reader: 從文件中加載數據
Sampler: 為之后的處理生成合適的樣本
Network: 處理輸入
output handler: 包括在培訓期間的損失和優化器,以及在推理和評估期間的聚合器
ApplicationDriver: 定義了跨所有應用程序的公共結構,並負責實例化數據分析管道並將計算分布到可用的計算資源。
[項目詳細說明]( https://arxiv.org/abs/1709.03485)
平台安裝
嘗試運行Demo:
注:對於普通機型8G內存,顯卡NVIDIA 930M,運行了將近3個小時,不過是在使用PyCharm和其它一些軟件的情況下,如果你的機子不夠好,建議關閉所有其它應用,並且使用命令行操作。
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. 下載模型
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
執行結果展示:
