Open zerebom opened 3 years ago
url:https://www.nature.com/articles/s41598-019-52737-x
基本的にオープンデータのCT画像は造影剤が投与されていて、コントラストが強いのでsegmentationが容易。 しかし、なんらかの事情で造影剤を投与できない患者に対しても識別精度を高いモデルがほしい。
本研究では、
Semantic segmentation用のLabel付きの医療画像を作成するのは非常に手間がかかる。 しかし、NNは大量のデータがいる。 本研究ではCycleGANを用いて、コントラストの強いCT画像を弱いCT画像に変換しこれを用いてデータ量を補強してSegmentationの精度向上を図った。
本研究ではdistribution/ non-distribution(noncontrast CT)の2つのデータセットを使って実験した。
行った実験は以下の通り
医療画像にNNを用いたとき、distribusion or dataset shiftはよく問題になる。本研究ではGANを用いることでNNをロバストにするように取り組む。
CTはヨウ素を静脈に取り込むことでcontrastを強める事ができる。これにより医師はガンの見極めなどができるようになるが、染まり方が悪かったり、アレルギーなどの危険性を加味してヨウ素を使用しないでCTを撮影することも多くある。染まり方は症例の細胞の活性度やCT撮像機の性能などで大きく代わる。 多くの大学病院が公開しているオープンデータセットはcontrast を強めたものだが、実際に病院で撮像するCTはコントラストが弱いこともあり、このようなシチュエーションではdistribution shiftが起こり得る。
データの測定方法
contrast Kidney: NIH pancreas-CT (unlabeled) Liver & Spleen: Data Decathlon dataset.
no-contrast non-public screeening stduy and different hospital and for different indication CycleGAN-training images from DeepLesion dataset.
tr/val/testを患者ごとに75/5/20%で分割。trainを多くしたいのでvalを少なくした no-contrast dataは10症例だけでtrain,valは存在しない。↑の分割ごとにテストする
ResConvを追加したmodified 3D UNetを使用、以下のような変更を加えてる
DeepLesion NIH datasetのうち、手動でcontrast(n=136)とnon-contrast(n=70)を選んで学習した。 ResNetを使って、contrast,non-contrastの判別をし、contrast >0.8 or <0.2のものだけ使用。 non-contrast CTにはnoiseが多く含まれているので、標準偏差が15HU以下のデータだけ使用した。 CTは-200~300HUをclipしてからnormarizationした。 batch-size 6で3億回(!) iterationを回した。
PythonでMatLabのhisteqを実装して使用した。 hist-eqと生データを半々に使用した。
全体的にCycleGANを使用すると精度向上。 non-contrast CTのkidneyに特に向上。
Voxel errorでみても同じような傾向
url:https://www.nature.com/articles/s41598-019-52737-x
ざっくりまとめ
基本的にオープンデータのCT画像は造影剤が投与されていて、コントラストが強いのでsegmentationが容易。 しかし、なんらかの事情で造影剤を投与できない患者に対しても識別精度を高いモデルがほしい。
本研究では、
Abstract
Semantic segmentation用のLabel付きの医療画像を作成するのは非常に手間がかかる。 しかし、NNは大量のデータがいる。 本研究ではCycleGANを用いて、コントラストの強いCT画像を弱いCT画像に変換しこれを用いてデータ量を補強してSegmentationの精度向上を図った。
本研究ではdistribution/ non-distribution(noncontrast CT)の2つのデータセットを使って実験した。
行った実験は以下の通り
Introduction
医療画像にNNを用いたとき、distribusion or dataset shiftはよく問題になる。本研究ではGANを用いることでNNをロバストにするように取り組む。
CTはヨウ素を静脈に取り込むことでcontrastを強める事ができる。これにより医師はガンの見極めなどができるようになるが、染まり方が悪かったり、アレルギーなどの危険性を加味してヨウ素を使用しないでCTを撮影することも多くある。染まり方は症例の細胞の活性度やCT撮像機の性能などで大きく代わる。 多くの大学病院が公開しているオープンデータセットはcontrast を強めたものだが、実際に病院で撮像するCTはコントラストが弱いこともあり、このようなシチュエーションではdistribution shiftが起こり得る。
Methods
Preprocessing
データの測定方法
DATA
contrast Kidney: NIH pancreas-CT (unlabeled) Liver & Spleen: Data Decathlon dataset.
no-contrast non-public screeening stduy and different hospital and for different indication CycleGAN-training images from DeepLesion dataset.
Experimental setup
実験対象
CV
tr/val/testを患者ごとに75/5/20%で分割。trainを多くしたいのでvalを少なくした no-contrast dataは10症例だけでtrain,valは存在しない。↑の分割ごとにテストする
Network architecture
ResConvを追加したmodified 3D UNetを使用、以下のような変更を加えてる
Augmentation
CycleGAN
DeepLesion NIH datasetのうち、手動でcontrast(n=136)とnon-contrast(n=70)を選んで学習した。 ResNetを使って、contrast,non-contrastの判別をし、contrast >0.8 or <0.2のものだけ使用。 non-contrast CTにはnoiseが多く含まれているので、標準偏差が15HU以下のデータだけ使用した。 CTは-200~300HUをclipしてからnormarizationした。 batch-size 6で3億回(!) iterationを回した。
Hist-eq
PythonでMatLabのhisteqを実装して使用した。 hist-eqと生データを半々に使用した。
Result
全体的にCycleGANを使用すると精度向上。 non-contrast CTのkidneyに特に向上。
Voxel errorでみても同じような傾向
Discussion