zerebom / paper-books

@zerebom が読んだ技術書、論文をまとめています。推薦システム系が多いです。
https://github.com/zerebom/paper-books/issues
2 stars 0 forks source link

An attempt at beating the 3D U-Net #12

Open zerebom opened 4 years ago

zerebom commented 4 years ago

src:https://arxiv.org/abs/1908.02182

Composit dice:91.23

zerebom commented 4 years ago

Abstract

Kits19のデータセットを使って、腎臓がんの自動識別をEncoder-Decoderモデルで行った論文。 コンペ終了時SOTAになった論文

従来の3D-UNetにプラスして、Residual,pre-activation residual blockを追加して精度向上を図った。

Introduction

腎臓がんは発生者が毎年40万人を超える重大な病気である。主に対処として外科が用いられるが、術後の負担を軽減するには早期発見が必要になる。 今まで腹部のCT画像のオープンデータは広く公開されていたが、腎臓についてアノテーションされたものはなかった。 Kits2019は300人の腎臓がん患者のCT画像とそのラベルを公開することで、腎臓がんに関するNNアーキテクチャの構築を推進する目的で始まったコンペティションであった。

本論文では医療領域で幅広く使用されている、3D-UNetと、2D-UNetとの相性がいいResidual block,dense connectionなどをかけ合わせてモデルの向上を図っていく。

Methods

Preprocessing

CT画像のSpacing sizeを小さくすると、細かい違いがわかる一方、データの容量が大きくなってしまい、Batch sizeが小さくなってしまう。このトレードオフを検証した結果、今回は 3.22x1.62x1.62mmで128x248x248のVoxelにすると良い精度が得られることがわかった。

また、使用したCT領域はお医者さんがよく使うWindowサイズの[-79,304]で、 これに101を引いて76.9で割った。(なんで?)

Network architecture

3D UNet,Residual-3D UNet,pre-activation residual UNetの3つを作成した。 それぞれ、conv-instnorm-LReLuで構成した3D ConvをEncoder-Decoder機構に使用した。 Input Sizeは普通のが(30x80x160x160),Residualの方は(24x80x160x160)とした。 image

Network training

Batch sizeは2 でstochastic gradient descentを使用した。 1epochは250バッチを回すことと定義し、1000epoch回した。 12GBの Nvidia Titan Xp で5日かかる。 実装はPyTorchで、nnU-Netに準拠して学習した。 Augmentationは scaling,rotations,brightness,contrast,gamma,Gaussian noiseを加える。

Dataset modification

ID 23,68,125は取り除く。 ID 15,37は運営に問い合わせた後に、目で見て修正した。

Result

5foldsでCV切って測定。

Discussion

ほとんどアーキテクチャによる違いはなく、むしろ実験のハイパーパラメータが重要ということがわかった。 特にスペーシング、Windowサイズなどが他チームとの違いだと考える。 今後はこれらがどういう値だと良い精度になるか等を理論的に説明できるように実験を進めていく必要がある

zerebom commented 4 years ago

lossfunc

cross-entropy + dice loss