[論文読み] Deep Learning-Assisted Diagnosis of Cerebral Aneurysms Using the HeadXNet Model

論文引用元：
JAMA Network Open : [Deep Learning–Assisted Diagnosis of Cerebral Aneurysms Using the HeadXNet Model \| Neurology | JAMA Network Open | JAMA Network](https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2735471)

著者：
Allison Park, BA; Chris Chute, BS; Pranav Rajpurkar, MS; Joe Lou; Robyn L. Ball, PhD; Katie Shpanskaya, BS; Rashad Jabarkheel, BS; Lily H. Kim, BS; Emily McKenna, BS; Joe Tseng, MD; Jason Ni, MD; Fidaa Wishah, MD; Fred Wittber, MD; David S. Hong, MD; Thomas J. Wilson, MD; Safwan Halabi, MD; Sanjay Basu, MD, PhD;
Bhavik N. Patel, MD, MBA; Matthew P. Lungren, MD, MPH; **Andrew Y. Ng**, PhD; Kristen W. Yeom, MD


## Abstract
深層学習を用いた自動セグメンテーションは，臨床現場における医療画像診断のパフォーマンス（精度・読影時間）を改善する可能性を秘めているが，こうしたテーマで論じている研究は少ない．


臨床医の脳動脈瘤診断のパフォーマンス改善を目的として，HeadXNetというNNのセグメンテーションモデルを構築し，実験を行う．HeadXNetは **CTA(Computed Tomography Angiography)** から，ボクセルごとに脳動脈瘤のセグメンテーションを行うモデルである．


この診断問題では，モデルの学習には611症例の頭部CTAを利用した．テストデータには115症例を利用し，モデルから得られた脳動脈瘤セグメンテーション後の出力を医師に与えた．
2018年8月13日〜2018年10月4日にかけて，8人の医師がテストデータに対して診断を行い，セグメンテーションモデルを利用した場合と利用しない場合でパフォーマンスを比較する．パフォーマンスの比較は14日間のwashout periodを設けた．

各データは2003年1月3日〜2017年5月31日の間に一つの大学病院から得られたものを利用した．
破裂した動脈瘤や外傷後仮性動脈瘤，感染性動脈瘤，動静脈奇形，クリップやコイルなどの外科手術に用いた機器を含んだ症例は除いた．


評価は感度，特異度，精度，読影時間，評定者間一致度の観点から行う．


データセットは662人の患者で818症例を含み，うち328個が少なくとも1つの動脈瘤があり，490個が動脈瘤のないものとなっている．
テストデータの読影は経験年数が2年〜12年の8人の臨床医で行った．
実験の結果，感度は0.059ポイント上昇(95% CI, 0.028-0.091; p=0.01)，平均精度は0.038ポイント上昇(95% CI, 0.014-0.062; p=0.02)，平均の評定者間一致（Fleissのκ係数）は0.799から0.859の0.060ポイント上昇(p=0.05)となり，統計的に有意な結果となった

一方，特異度は0.016ポイント上昇(95% CI, -0.010 to 0.041; p=0.16)，読影時間は5.71秒改善(95% CI, 7.22-18.63; p=0.19)となり，統計的に有意な変化は見られない結果となった．



## Methods
### Dataset
![fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/f1043cfe-0a12-2f46-ea95-aae06f910125.png)
Figure 2.より


 - 2003年1月3日〜2017年5月31日までにスタンフォード大で得られた全9455症例のうち，脳出血・蜘蛛膜下出血・外傷後 or 感染性仮性動脈瘤・動静脈奇形・虚血性脳梗塞や，コイルやクリップなどの外科手術に用いる機器を含むデータを除いた計818症例を利用
 - 外傷の検査のために撮影したものも除去
 - **3mm以上の大きさの動脈瘤に限定**


 - 818症例のうち，328個が動脈瘤を含むもので，490個が正常のもの


 - 43人の患者で複数の症例を持っているため，患者数と症例数に差が出ている理由
     - 脳動脈瘤の経過観察のために複数回撮っている
     - 各データセットに分割する際，同一患者が別なデータセットに混入しないように調整されている

 - 328個の動脈瘤の内訳
     - サイズ：148個は3~7mm，108個は7〜12mm，61個は12〜24mm，11個は24mm以上
     - 位置：99個は内頸動脈(ICA)，78個は中大脳動脈(MCA)，50個は海綿状内頸動脈？，44個は脳底動脈(BA)，41個は前交通動脈(ACA)，18個は後交通動脈(PCA)，16個は椎骨脳底動脈(VBA)，12個は前大脳動脈(ACA)

 - 撮影機器は様々だが，スライス厚は1~1.25mm
 - 各症例，113〜802枚のスライスから成る（mean:307, SD:157）


 - 学習用データ
     - 患者数：494人，611症例
     - 平均55.8才 [18.1]
     - 男性239人，女性372人


 - 検証用データ（モデル選択用）
     - 患者数：86人，92症例
     - 平均61.6才 [16.7]
     - 男性27人，女性59人


 - テストデータ
     - 患者数：82人，115症例
     - 平均57.8才 [18.3]
     - 男性8人，女性74人

（[]内は標準偏差）

 - **検証用データとテストデータはStratified random samplingにより1：1で陽性と陰性が含まれるように調整されている**

### Model
![fig2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/fa6f0d6c-ee5b-86e7-8e85-65d0bbb1ff7c.png)
eFigure 1.より

 - HeadXNetという，CT画像から動脈瘤をセグメンテーションする3D-CNNを構築
 - セグメンテーションは2次元画像におけるピクセル単位のように，ボクセル単位で行う
 - エンコーダ部は50層のSE-ResNeXtを利用，デコーダ部は連続した3x3の逆畳み込みから成る
 - エンコーダはKinetics-600 datasetで事前学習済み（youtube動画の人間の動きのデータセット）
     - 最後のResBlockと全結合を除去して，Atrous spatial pyramid poolingを追加，デコーダへ接続している


#### 補足：Atrous Spatial Pyramid Pooling(ASPP)について

論文：[[1606.00915]DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs](https://arxiv.org/abs/1606.00915)

![fig3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/c751866c-c875-a205-60f7-88356e02a1a3.png)
Figure 4.より

![fig4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/333a6538-8124-7d3b-57d2-f5762cd88e54.png)
Figure 7.より

 - DeepLab v2で提案
     - Poolingと言いつつやっていることはConvolution？
 - Atrous Convolution (Dilated Convolution)のdilation rateを様々に設定し，特徴マップに適用
 - rateの異なる3x3畳み込みをそれぞれ行い1x1畳み込みで整形，最後にAdd



### Training Procedur
 - 208x208にリサイズし，頭蓋骨に沿って切り取り，192x192ピクセルをクロップして16スライス取得（入力は192x192x16）
     - 学習時はランダムクロップ，テスト時は中心に対して192x192

 - 損失関数はボクセルごとのbinary cross-entropyとダイス係数を使用
 - 最適化方法はSGD with momentum(0.9), peak=0.1
 - 学習率は10,000iterationsまではlinear-warm up，その後300,000iterationsまでcosine annealing
 - 10,000 iterationsまでエンコーダは学習率0で固定
 - ネットワークの重みはL2正則化(decay=0.001)
 - 各エンコーダのブロックにはStochastic depth dropoutを利用（普通のDropoutは使ってない）

 - CT値は[-300, 700]にクリッピングし[-1, 1]に正規化
 - 学習にはTitan Xpを3枚


 - **不均衡データに対する対策**：ここでいう”不均衡”は，セグメンテーションにおける前景と背景クラスの不均衡のこと
     1. auxiliary loss（補助損失）とfocal lossの利用：陽性データの分類失敗に対するパラメータ更新
     2. abnormalなデータを増やす：（何を持ってAbnormalとしているかはわからないが）学習イテレーションの中で30%を占めるようにサンプリング
     3. 入力が背景しか含まれていないような場合にはデコーダは学習させない 



#### 補足：stochastic depth dropoutについて

論文：[[1603.09382] Deep Networks with Stochastic Depth](https://arxiv.org/abs/1603.09382)

![fig5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/ff61a3cc-e15a-a9fd-d611-fa26ad224f68.png)
Fig 2.より

 - ResBlockを確率的にスキップし，学習速度の向上・汎化性能向上を目的としたもの
 - ResNetは層を深くしても学習できる，とはいえBP時の勾配消失やFP時に（ランダムに初期化された重みのせいで）情報がうまく伝播しない，学習に時間がかかる，という問題
 - 層の浅いネットワークなら効率よく学習できるが，表現能力不足が問題に


 - 学習時は確率的にBlockをスキップすることで模擬的に層の浅いネットワークとして学習
     - 直近のBlockはDropさせず，一番遠いBlockは$p=0.5$でDrop（$p$は調整可能）
     - 中間のBlockは線形値
 - テスト時には深いネットワーク（＝表現力を持つネットワーク）として推論が可能に


#### 補足：focal lossについて

論文：[[1708.02002] Focal Loss for Dense Object Detection](https://arxiv.org/abs/1708.02002)

![fig6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/cea2998f-a6c9-07cb-7f3b-86ab9c14425d.png)
Figure 1.より

 - 物体検出において，R-CNNベースの手法はtwo-stage detectorと呼ばれる
     - Region Proposal(候補領域の抽出) -> CNN
 - two-stage detectorは精度が高いが，推論時間が長かったり構造が複雑だったりする
 - 一方，YOLOやSSDはone stageで高速に物体検出ができるが，精度がtwo stageに比べると見劣りする
     - **仮説：画像中のほとんどが背景であり，one-stageはそうした画像中の圧倒的クラス不均衡…！で学習が難しくなっているのでは**


 - **対策：容易に分類できているクラス（＝背景）に対する損失を少なくする**
 - スケーリング係数として$γ$を導入し，より分類の難しいクラスに焦点(focus)を当てる
 - 論文では$γ=2$を採用

$$FL(p_t) = -(1-p_t)^γlog(p_t)$$




### Experiment Design
![fig7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/cb5525be-45fa-9732-e156-b89b7ada2207.png)
Figure 1.より


 - テストデータの115症例を用いて，8人の医師で読影実験
 - AI-augmentedとUnaugmentのグループに分けて実験，wash-out term(二週間)を置いてデータを入れ替え
 - 診断は与えられた症例に3mm以上の動脈瘤があるか否かの二値分類で行う
 - AI-augmentの場合にはオリジナルのスライスにオーバーレイ出力されるが，医師はDICOM viewer上で出力のon-offを切り替えられる



### Statistical Analysis

 - 対象の症例に対して動脈瘤が含まれるか否かの二値分類タスクを，感度・特異度・精度の点で評価する
 - 全ての医師の診断に対して，全ての統計値についてmicro averageをとり，95％信頼区間をとる
 - 一つでも陽性とされたボクセルがあれば，その症例は陽性として分類

 - 検定は8人の医師間で感度・特異度・精度の点で片側t検定により実施
 - ロバスト性の確認と，その結果が常駐放射線科医と脳神経外科医を含むことによるものなのかを確認するため，専門認定放射線科医との比較を行った

 - 読影時間の測定は，読影結果をスプレッドシートに記入した時の時間差をとる
     - 途中中断やロギングのエラーを考慮し，上位と下位5つずつの読影時間を除去した
     - 読影時間についても片側t検定を実施




### Results
---
Table より
![fig8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/be29ff4f-58dd-a8cc-1980-853bc98217ec.png)

![fig9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/e0fb7bb7-da73-6d55-2ce3-a6ce62b4da06.png)
Figure 3.より

eTable 1.より
![fig10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265024/7b1f0ca6-14ab-7257-a6b5-936bdf69a0e2.png)


 - 統計的有意差が認められたのは，平均感度と精度
     - board-certified（専門認定医）でも統計的に有意なパフォーマンス改善が見られた
 - 逆に有意差が認められなかったのは，平均特異度と読影時間



### Discussion
---
 - 今回の研究における有意差の有無は上記の通り
 - 本研究のような，脳動脈瘤を自動検出するシステムは医師の読影精度の向上だけではない
     - 処置の優先度を決定するワークフローに組み込み，エキスパートに診断してもらう
     - 結果として処置に必要な時間が短縮されるのではないか


 - 各読影者間で分散が大きくなるのは様々な論文にあるように，経験不足だったり，専門領域の違いだったり，動脈瘤を見つけるというタスクの辛さだったりに起因する
 - ただ，感度や精度が向上した結果は，読影者自身の読影スキルの向上につながる


 - 現在動脈瘤検出を補助するツールとして，頭蓋骨を取り除いたり，血管系を3Dレンダリングしたりするものがあるが，閾値の設定など経験によるものが大きく疲れる作業
     - 病院によってはコストをかけてこれらの工程を外注しているところも
 - 今回のケースはDICOM viewerで直接見ることができるので，読影フローに組み込めば追加のリソースは不要


 - 先行研究としてMRA＋DNNの脳動脈瘤検出（大阪市立のやつ）であったり，膝のMR読影＋DNNだったりがあるが，CTA+DNNでの脳動脈瘤検出の取り組みは初
 - この研究で示したDNNのセグメンテーションモデルは医師の読影に有用であることが示された



#### Limitations
 1. この研究では未破裂動脈瘤にのみ着目しているため，破裂後の動脈瘤やコイルやクリッピングにより処置された動脈瘤については考慮していない
 2. 外科手術で埋め込まれた機器を含むような症例は除いているため，そうした症例に対する精度はわからない
 3. CTAは動脈瘤の診断以外にも利用されており，今回のテストデータのように動脈瘤が高頻度で存在している状態が医師の読影にバイアスを生んでいる可能性がある
 4. 全て同一の病院で撮像されたものを利用しているため，他機関や異なるスライス幅で撮影されたデータに対してのパフォーマンスが保証されない