全体の俯瞰記事は以下の記事をご覧ください
【Coursera】AI for Medical Diagnosisレビュー
Week3: Medical Image Segmentation
Week2までは、画像データに判定結果を与える問題を考えました。Week3では、これら分類問題に加え、画像中のどこに病原があるかも出力させます。Image segmentationと呼ばれるタスクです。解析データには、MRIと腫瘍画像を用います。
Image segmentation
MRIデータを扱います。これまでのX線画像とは違い、深さ方向が追加された3Dデータでありより高度な処理が必要になることを学びます。(→詳しくは"coronal view"についてWikiを参照:リンク)
3軸方向それぞれにスライスされた画像を3チャネルの1枚画像に押し込めた処理について学びますが、3チャネルにする理由は特になく4でも5でもよいという話がありました。
また、あるチャネルの画像がもし傾いてしまっている場合などの前処理はどうするかの概念として、Image registration
という概念が紹介されています。Image registrationについては講義で詳しく説明されないようです。
他
- 2D approach: 2D画像を1枚ごとにsegmentationモデルに通し、最後に3D化する。しかしここで用意したデータは深さ方向のコンテキストを学習できない。
- 3D approach: voxelの塊をモデルのインプットにして、画像深さ方向のコンテキストも学習させる。しかしvoxelは元画像の分割後のデータであるため、空間方向のコンテキストを学習できなくなる。
- SegmentationモデルにはU-Net(U-net開発者による解説、論文)を使用。チュートリアルノートブックがあるが、ちょっとわかりづらいという感想。
- Data augmentation: segmentation結果も同じようにオーグメンテーションする
- Loss function: soft dice lossについて解説
Practical considerations
実際の医療現場でこれらが用いられてないのはなぜか?このようなAIアルゴリズムを導入するうえでの課題を考えていく。
例
- 問題の一般化の難しさ。たとえば、インドでは結核(tuberculosis)が一般的な病気だがそれを診断するアルゴリズムをそのままアメリカで適用とすると失敗する。
- MRIの画像レゾリューションが先進国と発展途上国で異なる。データレゾリューションを一般化しないといけない。
- External validation
- 実際の現場にAIアルゴリズムを適用することの難しさについて、一般論的な話題を解説
課題
クイズ
省略
コーディング
- MRI画像で何を判断するか
- MRI画像データセットに対する標準的な前処理方法
- セグメンテーションのメトリックとロス関数
- セグメンテーションモデルの可視化と評価方法
課題のアイテムは以下のような感じでした。
MRI特有の前処理から始まり、U-Netをつかったモデル構築、ロス関数の設定、学習から評価まで総合的な問題になってました。
Summary of AI for Medical Diagnosis
Week2とは違い、Week3はモデル構築に重きが置かれ実務で必要になりそうな事項の基礎を全てカバーした内容でした。モデル実装能力だけではなく、医療現場にAIを導入するのに障壁となっている点の解説もあり、それを克服するために必要な技術および構想のセンスが磨かれると思います。