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

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

`Project & Excite' Modules for Segmentation of Volumetric Medical Scans

スポンサーリンク


f:id:y_kurashina:20200314152410p:plain
Fig1. PE moduleのProjection概念図

論文URL

https://arxiv.org/pdf/1906.04649.pdf
2019年のMICCAIで公開

ポイント

  • Squeeze and Excitation (SE) ブロックのアイデアをベースに、MRIやCT等の3Dボリュームデータに対するセグメンテーションモデルに適用するProject & Excite (PE)ブロックを提案
    • SEブロックはチャンネル毎の特徴量をGlobal average poolingで圧縮するのに対し、PEブロックは空間の3軸それぞれの軸に沿って特徴量を圧縮する(Fig1)。
    • チャンネル単位の情報圧縮では空間的な特徴を潰しすぎるとの仮説に基づくアイデア
  • 3D U-NetにPEブロックを適用した結果
    • DICEスコアが4%向上
    • 小さい領域のセグメンテーション性能向上が特に目立つ

PEブロック

f:id:y_kurashina:20200314155331p:plain
Fig2. PEブロック

  1. 高さ(H)方向、幅(W)方向、深さ(D)方向それぞれの方向に、チャンネル(C)別に特徴量テンソルの平均を取る
    • H×C、W×C、D×Cのテンソルを得る
  2. 上記3つのテンソルをタイリングし(繰り返し並べて)、元のH×W×D×Cのテンソルにサイズをそろえ、それら3つのテンソルの和を取る
  3. 1×1×1の畳み込みを2回行い、アテンションマップを計算
    • 最初の畳み込みでチャンネル数を1/rに圧縮
    • 2回目の畳み込みで元のチャンネル数に戻し、sigmoidで[0, 1]の値に変換
  4. 入力テンソルとアテンションマップの要素積を計算

評価結果

  • 評価データセット
    1. Multi-Atlas Labelling Challenge (MALC) dataset
      • MRI T1を用いた脳のセグメンテーションデータセット
    2. Visceral
      • contrast enhanced CTを用いた全身セグメンテーション用データセット

f:id:y_kurashina:20200314163247p:plain

  • 3D cSEは3D U-Netに3次元に拡張したSEブロックを適用したモデル
    • MALCデータセットではただの3D U-Netより高性能だが、Visceralデータセットでは低性能
  • PEブロックによりDICEスコアが大きく改善しているクラスは小さい構造の部位

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

  • 白矢印箇所がPEブロックにより顕著に改善した小さい構造

スポンサーリンク


Deep Gamblers: Learning to Abstain with Portfolio Theory

スポンサーリンク


f:id:y_kurashina:20191215222440p:plain
Fig1. Toy problemによるDeep Gamblersの評価

論文URL

https://arxiv.org/pdf/1907.00208.pdf
2019年公開 NeurIPS2019に採択されている。

ポイント

  • クラス分類において、推論結果の採用可否を学習するDeep Gamblersを提案
    • 競馬を題材にポートフォリオ理論をクラス分類問題に適用
    • mクラス分類問題に不採用クラスを追加し、m+1クラス分類問題として定式化
      • 教師データは通常通り、mクラスのラベルが付いていれば良い。
      • 不採用クラスを学習するために、オッズ(分類が正解した場合の報酬)をハイパーパラメータとして設定する必要がある。
        • 本論文ではオッズをGrid Searchで求めている。
      • 推論時にどの程度のサンプルを不採用にするかは、不採用クラス確率に対する閾値で調整可能
    • Toy problemで、分類しにくいデータだけでなく、未学習のデータも適切に不採用にできたことを確認している(Fig1)
      • Toy problemでは、二つの2次元ガウス分布を分類
        • Fig1(a)の赤・青のデータ分布を学習。Fig1(a)の緑のデータは学習時には存在していない第3のガウス分布
        • F1g1(c)がDeep Gamblersの結果で、黄色のデータが不採用としたデータ
          • 分布の重なっている最小限の領域と未学習の領域を効果的に不採用にできている
        • Fig1(b)は既存手法の結果で、未学習領域を上手く不採用にできているものの、分布の重なっている領域をかなり広く不採用にしてしまっている。

Deep Gamblers

  • 単勝(1位を当てた場合だけ賞金を獲得)の競馬を題材に、以下の定式化を行う
  • 始めに、全資金をどれかの馬に賭けるケースを考える。
    • 変数定義
      • m : 出走する馬の数(=分類クラス数)
      • i : 馬のインデックス(=クラス番号)
      • \bf b : 各出走馬に賭ける手持ち資金の割合ベクトル(=分類クラス確率)
      • \bf o : 各出走馬のオッズベクトル
        • 最終的には、スカラーのハイパーパラメータとして扱う(=本論文では、分類クラスに依存させていない)
      • \bf p : 勝ち馬を表すone-hotベクトル(=教師ラベル)
    • レースの後の資金増加割合
      S(\bf p \rm) = \bf b \otimes o \otimes p
      • \otimes : アダマール積
    • doubling rate (資金増加割合のlog) W
      W = \sum _ {i = 1} ^ m p _ i \log (b _ i o _ i)
      となり、o _ i = 1であればsoftmax lossと一致する。
  • 続いて、b _ {m + 1}の割合の資金を賭けずに残すことを考えると、レースの後の資金増加割合は
    S(\bf p \rm) = \bf b \otimes o \otimes p \rm + b _ {m + 1}
    となり、doubling rateが
    W = \sum _ {i = 1} ^ m p _ i \log (b _ i o _ i + b _ {m + 1})
    となる。
    • oをスカラーにする場合、1 \lt o \lt mの範囲でoを調整する必要が有る。
      • o \le 1の場合、常に推論結果を不採用にするのが最適解となる。
      • o \ge mの場合、常に推論結果を採用するのが最適解となる。

MNISTの9を回転させた時の推論確率および不採用確率の変化

f:id:y_kurashina:20191216001315p:plain

  • 角度0度付近では、クラス9の推論確率(オレンジ線)が高く、不採用確率(青破線)が低い
  • 角度180度付近では、クラス6の推論確率(赤線)が高く、不採用確率が低い
  • 角度90度付近では、クラス5の推論確率(緑線)がやや高く、不採用確率もやや高い
  • 上記以外の角度では、不採用確率が高い

各種データセットでの評価結果(Error rate)

  • SVHN

f:id:y_kurashina:20191216001822p:plain

  • CIFAR10

f:id:y_kurashina:20191216001917p:plain

  • Cats vs Dogs

f:id:y_kurashina:20191216001951p:plain


スポンサーリンク


Soft-NMS -- Improving Object Detection With One Line of Code

スポンサーリンク


f:id:y_kurashina:20191123220111p:plain
Fig1. 物体検出におけるNMSの問題事例

論文URL

https://arxiv.org/pdf/1704.04503.pdf
2017年8月公開

ポイント

  • Faster-RCNNやYolo等の多くの物体検出モデルでは、物体候補領域が重複した場合、NMS(Non Maximum Suppression)によりスコアの最も高い領域のみ残し、それ以外の領域を削除している。
    • NMSにより、物体候補領域に挙がってしまった背景領域を効率的に削除できる
    • Fig1のように、本当に複数の物体(馬)が重なっている場合は、NMSによりスコアの低い領域(後ろの馬)が削除されてしまう。
  • NMSの問題を改善するSoft-NMSを提案
    • NMSの様にスコアの低い重複領域を削除するのではなく、重複領域のスコアを小さくする。
    • スコアを小さくした後でも、物体検出閾値よりスコアが大きければ、その領域は物体領域として残ることになり、Fig1のように物体が重なっている状況に対応できるようになる。

Soft-NMS

  • 重複領域のスコアの減少方法として、線形関数とガウス関数を提案
    • 変数定義
      • \mathcal{M} : 最大スコアの物体候補領域
      • b _ i : i番目物体候補領域
      • s _ i : i番目物体候補領域のスコア
    • 線形関数
      • s _ i = s _ i (1 - iou(\mathcal{M} , b _ i)) , iou(\mathcal{M} , b _ i) \ge N _ t
        • N _ t : 論文では0.3
    • ガウス関数
      • s _ i = s _ i e ^ {-\frac{iou(\mathcal{M}, b _ i) ^ 2}{\sigma}}
        • \sigma : 論文では0.5 (Ablation studyを除く)
      • ガウス関数の方が線形関数よりわずかに性能が良い
    • \mathcal{M}を各Soft-NMSの処理ごとに取り除き、全ての物体候補領域を\mathcal{M}として逐次Soft-NMS処理を行う。

スポンサーリンク


Probabilistic End-to-end Noise Correction for Learning with Noisy Labels

スポンサーリンク


f:id:y_kurashina:20191012192946p:plain
Fig1. PENCIL learning framework

論文URL

http://openaccess.thecvf.com/content_CVPR_2019/papers/Yi_Probabilistic_End-To-End_Noise_Correction_for_Learning_With_Noisy_Labels_CVPR_2019_paper.pdf
2019年のCVPRで公開

ポイント

  • 分類問題において教師ラベルのアノテーションミスを推定し、ミスを修正したラベルによりモデルを学習するPENCIL(probabilistic end-to-end noise correction in labels)フレームワークを提案
    • 数十%の大量のミスラベルが有っても一定の性能を確保している
    • アノテーションミスが少ない(と考えられている)データセットに対してPENCILフレームワークを適用した場合、通常の学習方法と比べ最終的な分類モデルの性能に有意差は無い(大きな悪影響を及ぼすことは無い)

PENCILフレームワーク

  • Fig1の構造で、分類モデルf(x;\theta)とアノテーションミス修正後教師ラベルy ^ dを推定する
  • 損失関数
    • classification loss
      • L _ c (f(x;\theta) , y ^ d) = \frac{1}{n}\sum ^ n _ {i=1} KL(f(x _ i ;\theta) || y ^ d _ i)
      • KL-divergenceでモデルの推論確率と修正後教師ラベルの確率分布を一致させる
        • 基準の分布をf(x;\theta)にしていることに注意
      • y ^ dは、教師ラベル\hat{y}を用いて以下の式で初期化されている
        • y ^ d = softmax(10 \hat{y})
      • 学習が進むとy ^ dはone-hot表現ではなく、入力画像のクラス確率分布になる
    • compatibility loss
      •  L _ o (\hat{y} , y ^ d) = - \frac{1}{n}\sum ^ n _ {i=1} \sum ^ c _ {j=1} \hat{y} _ {ij} \log y ^ d _ {ij}
      • y ^ dが教師ラベル\hat{y}から乖離しすぎないように抑制するLoss
    • entropy loss
      • L _ e (f(x;\theta)) = - \frac{1}{n}\sum ^ n _ {i=1} \sum ^ c _ {j=1} f _ j (x;\theta) \log f _ j (x;\theta)
      • このLossは推論確率がone-hot表現の時に最小となるため、推論確率がフラットになることを抑制し、特定の1クラスの推論確率にピークが出るように働く
  • 学習方法
    1. 教師ラベルの修正は行わず、Cross Entropy Lossでモデルを学習
      • アノテーションミスを学習しすぎないように、学習率を大きく設定し過学習を抑制する
    2. PENCILフレームワークでモデルと教師ラベルの両方を学習
      • このステップも、学習率は大きいままとする
    3. classification Lossだけを使用し、モデルのみをFine tuning
      • 学習率は通常通りステップ状に小さくしていく

人工的にアノテーションミスを付与したCIFARでの評価結果

  • CIFARに以下の2種類のアノテーションミスを付与して評価
    • symmetric noise : 確率 r で全クラス一様にミスラベルを付与
    • asymmetric noise
      • CIFAR-100の場合、隣接クラスと確率 r でラベルを入れ替える
      • CIFAR-10の場合、犬⇔猫のように似ているクラス間で、確率 r でラベルを入れ替える

<CIFAR-100の結果> f:id:y_kurashina:20191012210221p:plain

  • Cross Entropyで通常通り学習した結果に比べ、性能低下が有意に抑えられている
  • 2行目のForward T*は、真のノイズ遷移行列が既知と言う非現実的な条件のため単純比較はできない

<CIFAR-10の修正後ラベルの正解率> f:id:y_kurashina:20191012210949p:plain f:id:y_kurashina:20191012211010p:plain

  • CIFAR-10のケースでは上記プロットのいずれのケースも、学習の中盤以降9割前後のラベルが正しいラベルになっている

Clothing1Mでの評価結果

  • 約40%のラベルが間違っていると推定されているオンラインショッピング画像データセット
  • 一部のデータはアノテーションミスを修正した高精度の教師データとなっている
    • 以下の表のPENCILの結果は高精度の教師データを使用していない

f:id:y_kurashina:20191012213406p:plain

CUB-200での評価結果

  • 高精度のアノテーションがされていると考えられる200種の鳥類分類データセット

f:id:y_kurashina:20191012214538p:plain

  • ハイパーパラメータλ、α(詳細は論文を参照)に寄らず、Cross Entropy Lossで学習した結果と同等以上の結果が得られている

スポンサーリンク


Robust Histopathology Image Analysis: to Label or to Synthesize?

スポンサーリンク


f:id:y_kurashina:20190921204008p:plain
Fig1. GANを用いた組織病理画像合成

論文URL

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

ポイント

  • 組織病理画像を用いた細胞核セグメンテーション時のGANによるaugmentation手法の提案
    • 細胞核の検出は病理学で最も基本的なステップであるものの、様々な状態(癌の種類、細胞の状態、観察組織片の作成方法、画像化手法等)を網羅する教師データを作成するためには膨大な作業量を要する
      • 筆者らの実験では、1200万画素の50枚の画像のラベリングに病理医が120~230時間を要したとのこと
    • そこで、実データに加え合成データも使用し半教師有り学習を実施
      • 細胞核の特徴を考慮した簡易的な手法で生成した画像をGANで修正することで合成データを生成
        • 簡易的な手法を利用する理由の記述はないが、細胞核の特徴を考慮した初期画像を作成することで(簡易手法が適切であれば)、より真の症例に近い画像を得られる効果があるものと推測される
    • 真のデータ分布の推定を行い、推定分布で各サンプルのLossを重み付けした汎化損失(サンプルの偏りに影響を受けない損失)を使用してモデルを学習している

合成データ生成

  1. 正解マスクを生成 (Fig1.(1))
    • ランダムな形状・サイズ・数のポリゴンを生成
      • ポリゴンの形状等の特徴量の分布に生物学的な知見を反映することが本手法の肝だと思われるが、特に記述無し
  2. 簡易手法(GAN-free method)による初期合成画像生成 (Fig1.(2))
    • 実画像に対し大津の二値化法で細胞核領域を抽出
    • 細胞核領域を背景領域のテクスチャーで、正解マスク領域を細胞核領域のテクスチャーで塗りつぶす
      • 塗りつぶす手法についてはこちらを参照
  3. 初期合成画像をGANで修正 (Fig1.(3))
    • 初期合成画像に加え参照画像も入力して、合成画像を修正する
      • 参照画像には、初期画像と異なるタイプ(癌の種類等)の画像を指定できる
    • Discriminatorを騙すだけでなく、セグメンテーションモデルのLossを最大化するようにGeneratorを学習
      • 実現方法は異なるがモデルも騙そうとするアイデアはGAMOと同じ
      • 初期合成画像とGANによる修正画像の差のL1およびL2正規化項も使用している
      • セグメンテーションモデルのLossの最大化項の重みを他のLossより大きくしすぎると、初期合成画像と大きく異なる画像に変化してしまうことに注意を要する

f:id:y_kurashina:20190921214955p:plain
Fig2. 合成画像生成例

Fig2.(a) 初期合成画像

  • 1列目がランダムに生成した正解マスク
  • 1行目が入力実画像
  • 残りの画像が生成結果

Fig2.(b) GANによる修正後の合成画像

  • 1列目が初期合成画像
  • 1行目が参照画像
  • 残りの画像が修正後の合成画像

推定データ分布を考慮したLoss

  • 汎化損失L(\theta)は以下の式で求まる
    • L(\theta) = \sum _ {X,T} f _ \theta (\langle X,T \rangle) p(\langle X,T \rangle)
      • f _ \theta : セグメンテーションモデルのLoss関数
      • X : 入力画像
      • T : 正解マスク
      • p : X, Tの真の生成分布
    • 合成画像の生成分布g(\langle X,T \rangle)を用いると汎化損失は
      L(\theta) = \sum _ {X,T} f _ \theta (\langle X,T \rangle) \frac{p(\langle X,T \rangle)}{g(\langle X,T \rangle)} g(\langle X,T \rangle)
      となり、\frac{p(\langle X,T \rangle)}{g(\langle X,T \rangle)}を推定できれば汎化損失を計算できる。
    • ここで、ベイズの定理より以下の式が得られる。
      • Pr(X~p|X) = \frac{Pr(X|X~p) Pr(X~p)}{Pr(X|X~p) Pr(X~p) + Pr(X|X~g) Pr(X~g)}
        =\frac{p(X)}{p(X) + g(X)c}
        • Pr(X~p|X) : Xが与えられた場合に、そのXが真の分布から生成された確率
        • Pr(X|X~p) : 真の生成分布からXが生成された確率 (=p(X))
        • Pr(X|X~g) : 合成画像の生成分布からXが生成された確率 (=g(X))
        • c : 合成画像数と真の画像数の比 (=Pr(X~g)/Pr(X~p))
    • 続いて、p/gTに依存しないと仮定すると以下の式で計算できる。
      • \frac{p(\langle X,T \rangle)}{g(\langle X,T \rangle)} = \frac{p(X)}{g(X)} = c \cdot \frac{Pr(X~p|X)}{1-Pr(X~p|X)}
    • Pr(X~p|X)としてDiscriminatorが推定した確率を使用することで汎化損失を計算できる

スポンサーリンク


Decoders Matter for Semantic Segmentation : Data-Dependent Decoding Enables Flexible Feature Aggregation

スポンサーリンク


f:id:y_kurashina:20190904010251p:plain
Fig1. DUpsamplingを用いたSegmentationモデル

論文URL

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

ポイント

  • 入力データに応じたupsamplingを行うData-dependent Upsampling (DUpsampling)レイヤーを提案
    • 通常使用される共一次補間(bilinear)では低解像度の情報から高解像度の情報を復元することができない。
    • 入力テンソルのチャンネル情報を効果的に利用し、低解像度のテンソルを高精度に高解像度化している
    • 多くのSegmentation用モデルのdecorder部では、encoderの異なる解像度の特徴量テンソルを高解像度側にbilinearでupsamplingしてconcatしているのに対し、DUpsamplingを使用する場合は全ての特徴量テンソルを低解像度側にdownsamplingしてconcatしても、最終的なセグメンテーション精度をbilinearよりも改善できている
      • 低解像度のテンソルでconcatできるためdecoder部のメモリ使用量や計算コストを大幅に削減できる
    • 学習時の損失関数を通常のsoftmax cross entropy lossとした場合は学習が十分に進まず、温度T依存の修正softmax ( = \frac{\exp(z _ i / T)}{\sum _ j \exp(z _ j / T)})を使用する必要がある
      • Tはハイパーパラメータではなく学習パラメータとしていた

DUpsampling

f:id:y_kurashina:20190905001718p:plain
Fig2. DUpsampling

  • 使用する記号
    • F : DUpsamplingの入力(=encoderの出力)テンソル
      • F \in \mathbb{R} ^ {\tilde{H} \times \tilde{W} \times \tilde{C}}
    • Y : セグメンテーション教師ラベル
      • Y \in \left\{ 0, 1 \right\} ^ {H \times W \times C}
    • r : encoderによるdownsampling比
      •  \frac{H}{\tilde{H}} = \frac{W}{\tilde{W}} = r
      • 典型的には、r = 16 もしくは 32
  • Fに1x1の畳み込みを行いチャンネル数N=r ^ 2 Cのテンソルを求め、r \times r \times Cにreshapeすると元解像度のテンソルが得られる(Fig2はr  = 2の例)
    • 通常、教師ラベルYの分布は画素毎に独立なわけではないため、構造情報の圧縮表現を低解像度のテンソルFで保持できると言う仮説の元、1x1の畳み込みによる線形変換を行っている。

PASCAL VOC test setでの評価結果

f:id:y_kurashina:20190906000929p:plain

  • 著者の結果はDeepLabv3+をベースにencoderの出力解像度を1/8ではなく1/16とし、decodeをDUpsamplingで行ったもの
    • 計算量が30%に低減されたとのこと。メモリ使用量の削減量については記載がなかった。

スポンサーリンク


Generative Adversarial Minority Oversampling

スポンサーリンク


f:id:y_kurashina:20190827003351p:plain
Fig1. GAMO

論文URL

https://arxiv.org/pdf/1903.09730.pdf
2019年4月公開

ポイント

  • conditional GANによりデータ数が少ないクラスの水増しを行うGAMO(Generative Adversarial Minority Oversampling)を提案
    • Discriminatorだけでなく、クラス分類モデルも騙せるデータをGeneratorで生成する
    • Discriminatorとモデルの両方を騙すためには、クラス分類境界付近のデータを生成することになるため、モデルの本質的な性能向上に資すると期待できる
    • GAMOはクラス分類に特化した構成となっている(Fig1)
      • 物体検出やセグメンテーションにも、このアイデアを応用できるのではないかと思われるが、それほど自明に拡張できるわけではない。

GAMO (Fig1)

  • 各クラスの新たなデータはIGU(Instance Generation Unit)で生成される
    • IGUでは実データをcTMU(conditional Transient Mapping Unit)が生成する重みで凸結合する
      • 実データの凸結合とすることにより、真のクラス分布では有り得ないサンプルが生成されることを抑制できる
  • cTMU(conditional Transient Mapping Unit)はクラスラベルとノイズから上記重みを生成する
  • 損失関数はCross Entropy LossではなくLeast Square Lossとする方が性能が高い
  • Fig1左上のImage Feature Extractionが出力する特徴量は、何らかのモデルで抽出した特徴量でも画像を単に一次元ベクトル化したものでも、どちらでも良い
  • クラス分類モデル、cTMU、IGU、Image Feature Extractionの詳細は不明
    • 著者のgithubを確認する必要がある。

データ数を偏らせたMNIST、Fashion-MNISTでの評価結果

f:id:y_kurashina:20190827012428p:plain

  • 各クラスのデータ数を4000, 2000, 1000, 750, 500, 350, 200, 100, 60, 40としている
  • クラス分類モデルの転移学習は行っていない
    • 転移元モデルは偏りのないデータで学習しているため
  • 評価指標
    • ACSA : Average Class Specific Accuracy
    • GM : Geometric Mean

スポンサーリンク