研究

人工知能(AI)を用いた画像診断支援支援システム開発の研究

人工知能(AI)を用いた画像診断支援支援システム開発の研究

当科では倫理委員会の承認(承認番号:2017-0018)を得て,慶應義塾大学病院で撮影された画像および画像報告書を対象に深層学習を応用した研究を実施しています.また,希望者には画像の深層学習についての専修医教育も行っています.(参考ページ

開発環境

PACSが設置されているサーバー室に,深層学習用のコンピュータ(DGX-1:NVIDIA社、SolutionHPC 30222P64-A12WTA4RB:ファナティック社)を設置しており,研究・教育に利用しています.ただし,インターネットから完全に隔絶された環境であるため,開発環境の構築が困難です.このため,dockerおよびnvidia-dockerの利用を推奨しています.

深層学習用の環境は2020年8月現在
DGX-1: Ubuntu 18.04.1, Docker 18.06.1-ce, nvidia driver 410.79, nvidia-docker2
SolutionHPC: Ubuntu 16.04.2,Docker 17.06.1,nvidia driver 384.66 430.64 (upgraded on 2020/05/23),nvidia-docker_1.0.1-1
となっています.

開発環境の構築

インターネットに接続されたコンピュータで開発用のdocker imageを作成し,ウイルス検査を経て院内の深層学習用のコンピュータにloadします.

Docker image作成環境に制限はありませんが,動作確認のためにもNVIDIAのGPUを搭載したPCで,OSにUbuntu 18.04 を利用することを推奨しています.具体的な構築方法は下記の通りです.

Ubunt 18.04を標準の方法でインストールした後,下記のコマンドでGPUのドライバをインストールします.(ドライバのバージョンは環境によって異なる場合があります.)
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install -y nvidia-4xx(推奨バージョンを使用して下さい)
$ reboot

再起動したらDockerおよびnvidia-dockernvidia-container-toolkitをインストールします.

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get -y install docker-ce
$ wget https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
$ sudo dpkg -i nvidia-docker_1.0.1-1_amd64.deb

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

以上でインストール作業は終了です.

$ sudo docker run --gpus all -it -p 8888:8888 tensorflow/tensorflow:latest

を実行し,ブラウザでlocalhost:8888にアクセスして動作を確認する事ができます.

独自のDocker imageを作成する場合には,Dockerfileを用意した上で

$ sudo docker build -t タグ名 ./

を実行すればdocker imageの作成が行えます.なお,作成したdocker imageを院内の環境に持ち込む際は

$ sudo docker save 作成したイメージ名 > ファイル名.tar

で保存し,ファイルのウイルス検査を経て院内の環境にloadします.

※注意
・環境によってdocker buildの際にDNSでの名前解決に失敗する場合があります.Dockerはホストのresolve.confを参照するようですが,distributionやネットワーク設定によっては適切に設定されない場合があるようです.その場合は
/etc/docker/daemon.jsonに下記の3行を記載してdockerを再起動して下さい.
{
    "dns": ["使用しているDNSサーバーのIPアドレス"]
}

標準環境

現在,教育目的でJupyter notebookを利用できるにしたdocker imageを予め用意しています.環境としてTensorFlow , scikit-learn, scikit-image, PyDicom, PyNetDicom, SimpleITKがインストールされています.

画像データについて

臨床画像,画像報告書に研究を目的としてアクセスできるのは倫理委員会で承認された研究者に限られます.画像報告書にはApache Luceneのfull text indexが作成されており,研究者はREST APIを通して画像報告書および画像を検索/取得する事が可能となっています.研究用のPACSはdcm4cheを用いて独自に実装しており,画像取得時に自動的にDICOM Part 15に準拠して匿名化されるように設計しています.また,画像は全てCentricity Clinical Archiveにも保管されており,Docker container内からでも直接Wado-RSを利用し画像を取得することが可能になっています.

page top