医療系AIエンジニアの技術メモ

ディープラーニング(主に画像系)の技術メモブログです

Learning Active Contour Models for Medical Image Segmentation

スポンサーリンク


f:id:y_kurashina:20190703001909j:plain
Fig1. AC Lossを用いた心臓セグメンテーション概念図

論文URL

http://openaccess.thecvf.com/content_CVPR_2019/papers/Chen_Learning_Active_Contour_Models_for_Medical_Image_Segmentation_CVPR_2019_paper.pdf
2019年のCVPRで公開

ポイント

  • Cross Entropy LossやDice Lossでセグメンテーションモデルを学習した場合、画素単位でLossが評価されるため、Lossが十分小さくなってもラベル境界形状が不明瞭でノイジーな状態になりうる。
    • 損失関数内に境界形状に関する損失項が存在しないため
  • 境界線の長さと境界内外それぞれのマスクの類似度を考慮したAC Loss(Active Contour Loss)を提案
    • MRI画像から左心室・右心室・心筋のセグメンテーションを行い、精度向上することを確認

AC Loss

  • ACWE(Active Contour Without Edges)と言う動的輪郭モデルの概念をベースにLossを設計
  • 記号の定義
    • i , j : セグメンテーション画像の画素の行番号・列番号
    • \Omega : セグメンテーション画像全画素の集合
    • v : 教師ラベル。 0 か 1 を取る
    • u : 推論ラベル。 0 か 1 を取る
      • 推論確率ではないことに注意
  • AC Lossの定義
    • Loss _ {AC} = Length + \lambda \cdot Region
      • Length : 境界線の長さ
      • Region : 推論ラベルと教師ラベルの類似度
      • \lambdaLengthRegionのバランスを取るハイパーパラメータ
    • Length = \sum ^ {i=1, j=1} _ {\Omega} \sqrt { (\nabla u _ {x _ {i,j}}) ^ 2 + (\nabla u _ {y _ {i,j}}) ^ 2 + \epsilon }
      • \nabla u _ {x _ {i,j}} , \nabla u _ {y _ {i,j}} : 水平/垂直方向のuの偏微分
      • \epsilon = 10 ^ {-6} : バックプロパゲーション時のゼロ割を避けるための微小量
    • Region = Region _ {inner} + Region _ {outer}
      • Region _ {inner} : 推論された境界内部における推論ラベルと教師ラベルの類似度
      • Region _ {outer} : 推論された境界外部における推論ラベルと教師ラベルの類似度
    • Region _ {inner} = | \sum ^ {i=1, j=1} _ {\Omega} u _ {i,j} (c _ 1 - v _ {i,j}) |
      • c _ 1 : 領域内画素(u = 1)で計算する陽性的中率
      • c _ 1 = \int v \cdot u dx / \int u dx
    • Region _ {outer} = | \sum ^ {i=1, j=1} _ {\Omega} ( 1 - u _ {i,j} ) (c _ 2 - v _ {i,j}) |
      • c _ 2 : 領域外画素(u = 0)で計算する偽陰性率
      • c _ 2 = \int v \cdot ( 1 - u ) dx / \int ( 1 - u ) dx
    • c _ 1 , c _ 2の補足
      • 論文中に、\boldsymbol{c _ 1} = \boldsymbol{1} , \boldsymbol{c _ 2} = \boldsymbol{0}と簡易的に事前に固定値とすることができるとの記載が有る。
        • 太字でベクトル表記になっている意図が不明。左心室・右心室・心筋の3クラス分を考慮している?
        • これらの固定値は誤検出をしていない場合の理想的な値であり、Lossの計算の観点では固定化しても得られるモデル性能に有意な影響は無さそうに思われる。この予想が正しければ固定化した方が計算速度の観点で有利。
        • 実験において、c _ 1 , c _ 2を固定値としたのか、定義式通り積分したのかは不明

評価結果

f:id:y_kurashina:20190704012527j:plain

  • 最下段のDense-Net+ACが提案モデル
  • 左から左心室・右心室・心筋の結果
  • Hausdorff Distは小さいほど良い。定義は以下のブログが分かりやすい。
    http://zellij.hatenablog.com/entry/20111206/p1



f:id:y_kurashina:20190704013311p:plain
Fig2. セグメンテーション結果

  • 左から、入力MRI、教師ラベル、U-Net+CE(Cross Entropy)、U-Net+AC、Dense-Net+CE、Dense-Net+AC
  • 赤:左心室、緑:右心室、青:心筋