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

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

Cascaded Generative and Discriminative Learning for Microcalcification Detection in Breast Mammograms

スポンサーリンク


f:id:y_kurashina:20190812164510p:plain
Fig1. マンモグラフィー画像内の微小石灰化領域

f:id:y_kurashina:20190812164635p:plain
Fig2. ASN + FPR

論文URL

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

ポイント

  • マンモグラフィー画像から微小石灰化領域(microcalsification)のセグメンテーションを行うモデルを提案
    • 微小石灰化領域は1mm程度(14画素)以下の小さい領域(Fig1)
    • 始めにAnomaly Separation Network (ASN)で異常領域を抽出する。
    • 微小石灰化領域だけでなく血管石灰化領域等の他の異常領域も検出されてしまうため、False Positive Reduction (FPR)で擬陽性領域を落としている。

ASN

  • U-Net構造のautoencoderで入力画像の再構成を行う
    • ただし、微小石灰化領域の再構成誤差が大きくなるよう以下の損失関数を使用
    • L = max(\beta - \overline{r _ p} , 0) + \overline{r _ n} + \lambda _ p S ^ 2 _ {r _ p} + \lambda _ n S ^ 2 _ {r _ n}
      • \beta , \lambda _ p, \lambda _ n : ハイパーパラメータ
      • r _ p : 微小石灰化領域の再構成誤差(L1ノルム)
      • r _ n : 正常領域の再構成誤差(L1ノルム)
      • \overline{r _ {p,n}} : r _ {p,n} の平均値
      • S ^ 2 _ {r _ {p,n}} : r _ {p,n} の分散
  • 再構成誤差が閾値(恐らく\beta)以上の画素を異常領域として抽出
  • この手法により、異常領域を普通にセグメンテーションするよりも性能向上することがAblation studyで示されている

FPR

  • ASNで抽出した領域をResNet50で分類
    • 56x56画素に切り出し、224x224にリサイズしてResNet50に入力

評価結果

f:id:y_kurashina:20190812172842p:plain

f:id:y_kurashina:20190812172912p:plain

  • Methodの R@X はX個の擬陽性を許容したときの感度(Recall)である

f:id:y_kurashina:20190812173151p:plain

  • 提案手法の結果はProposedの列
    • Proposed ASNの列はASNのみでの検出結果

スポンサーリンク


Learning to Learn from Noisy Labeled Data

スポンサーリンク


f:id:y_kurashina:20190810164141p:plain
Fig1. MLNT学習

論文URL

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

ポイント

  • 質が悪い(一部のラベルが間違っている)教師データを想定し画像分類を行うmeta-learning based noise-tolerant (MLNT) 学習法を提案 (Fig1)
    • あえて学習中に正解ラベルを間違ったラベルに付け替えながら、複数のStudent modelを学習
    • Teacher modelとStudent modelの推論確率分布が同じになるよう正則化をかけつつ、最終モデルのパラメータを更新
    • Teacher modelのパラメータは最終モデルのパラメータの移動平均で計算
  • Teacher modelとStudent modelの整合性を取ることで、正解ラベルの間違いに頑健になる最終モデルが得られる

meta-learning based noise-tolerant (MLNT) 学習法

  • Algorithm 1
    • 複数(論文では10個)のStudent modelを学習する
      • mini batchサンプルの一部の正解ラベルを付け替える
        • 特徴量空間で上位10近傍のサンプルの中からランダムに選択したラベルを使用
    • Teacher modelとStudent modelの推論確率のKL Divergenceを最小化するよう最終モデルのパラメータθを更新
    • 最終モデルによる推論結果を元の正解ラベルで評価しθをさらに更新
    • θの移動平均でteacher modelのパラメータを更新
  • 以下を変更し、Algorithm 1を繰り返す(論文では3回)
    • 直近のAlgorith1で得られたモデル群の中で最も検証精度の高いモデルをMentor modelとする
      • 通常はTeache modelが選択されるとのこと
    • Mentor modelで推論確率が低いサンプルを学習データから外す
    • Student modelの推論確率分布をTeacher modelとMentor modelの推論確率の重み付き平均した分布に合わせる。
    • このイタレーションが有効に機能するためには質の良い検証データが必要と思われる。
      • 特に論文中でこの点は記載されていないが、質の良い検証データとテストデータにより実験している。
      • イタレーション無しでも、それなりに性能改善はしている

Clothing1Mによる評価

  • Clothing1M
    • オンラインショッピングサイトの説明文から正解ラベルを作成した100万枚の画像データセット
    • 正解クラスは14分類
    • 74,000枚の質の良いデータも有る

f:id:y_kurashina:20190810171605p:plain

f:id:y_kurashina:20190810171704p:plain

  • Mentor modelによる推論確率
    • 図の上側のオレンジが教師ラベル
    • 図の下側の水色が推論ラベル

スポンサーリンク


Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolution Images

スポンサーリンク


f:id:y_kurashina:20190803231214p:plain
Fig1. GLNet

f:id:y_kurashina:20190803235106p:plain
Fig2. Coarse-to-Fine GLNet

論文URL

http://openaccess.thecvf.com/content_CVPR_2019/papers/Chen_Collaborative_Global-Local_Networks_for_Memory-Efficient_Segmentation_of_Ultra-High_Resolution_Images_CVPR_2019_paper.pdf
2019年のCVPRで公開

ポイント

  • 超高解像度画像に対し省メモリかつ高性能なセグメンテーションを行うGLNetおよびCoarse-to-Fine GLNetを提案
    • 2Kや4K画像の様な数Mピクセルの画像をターゲットにした研究
    • これまでに良く採られている方法とその問題点
      • 入力画像を低解像度化 : 精細な構造情報が消えてしまう
      • 入力画像を小さいパッチに分割 : グローバルな構造を見逃すことに伴う精度低下
    • GLNetでは、Global Branchで低解像度化した画像を、Local Branchでパッチに分割した元解像度(=高解像度)の画像を処理し、これらの結果を統合してセグメンテーションを行う(Fig1)
      • パッチを1枚ずつ逐次処理することでメモリの使用量を抑えている
      • Global Branchの特徴量マップから各パッチの空間範囲の特徴量をLocal Branchに渡すことで、各パッチの計算の際にグローバルな特徴も利用できる
    • Coarse-to-Fine GLNetは、背景領域が支配的なケースに対してGLNetのコンセプトを拡張したモデル(Fig2)
      • Global Branchが検出した対象領域を切り出し、切り出した領域のみLocal Branchにかける
      • Local Branchは(Global Branchが誤検出しなければ)検出対象領域を集中的に学習することになるため、検出対象領域と背景領域の画素数のアンバランスが大幅に軽減される

GLNet

f:id:y_kurashina:20190803234954p:plain
Fig3. GLNetの詳細

  • Global BranchとLocal BranchのいずれもResNet50をバックボーンとしたFPN (Feature Pyramid Network)で特徴量を計算
    • どちらのBranchも入力画像サイズは500x500
    • Local Branchに入力するパッチは50画素ずつオーバーラップさせている
  • Local Branchでパッチ画像を処理する際、Global Branchで計算した同一領域の特徴量をupsampleしてconcatしている
  • Local Branchで計算した特徴量をdownsampleしてGlobal Branchの特徴量にconcatしたテンソルがGlobal Branchの最終的な出力となる
  • 両Branchの出力をAggregationすることで最終的なセグメンテーション結果を得る
    • 両Branchの出力をconcatし、3x3の畳み込みを行っている
  • 学習時の工夫
    • Aggregation結果だけでなく各Branchの出力テンソルからもセグメンテーションを行い、補助損失(Auxiliary Loss)を計算している
      • Main Loss, Auxiliary Loss共にFocal Lossで計算
        • 各Lossの重みは同じ(λ=1)
    • 両Branchの出力テンソルの差のL2ノルムを正則化項としてLossに追加
      • λ = 0.15
      • この正則化項からはLocal Branchのパラメータのみ更新している
        • この正則化を行わないと、Local Branchの方がGlobal Branchよりも学習が早く進み、局所領域の特徴を過学習してしまうとのこと

DeepGlobeによる評価結果

f:id:y_kurashina:20190804002958p:plain

  • DeepGlobeは衛星画像に対し7種の土地被覆ラベルが付いたデータセットで画像サイズは2448x2448
  • 論文内では、皮膚がんのスクリーニングを行うISICや航空機画像で建物検出を行うInria Aerialデータセットでも評価しており、いずれのデータセットでも性能(mIoU)の向上と省メモリ化を実現している

スポンサーリンク


Towards Accurate One-Stage Object Detection with AP-Loss

スポンサーリンク


f:id:y_kurashina:20190724000930p:plain
Fig1. AP Lossの概念図

論文URL

http://openaccess.thecvf.com/content_CVPR_2019/papers/Chen_Towards_Accurate_One-Stage_Object_Detection_With_AP-Loss_CVPR_2019_paper.pdf
2019年のCVPRで公開

ポイント

  • 1stage detectorでは、オブジェクトと背景のボックス数の極端なアンバランスを如何に克服するかが問題となる。このアンバランスに対処する新たな損失関数AP Lossを提案
  • 物体検出の典型的な評価指標であるAverage Precision (AP) をベースに損失関数を設計
    • APは微分不可能かつ非凸関数のため、APそのものを損失関数にはできない
    • 各ボックスに対し計算される各クラスの推論確率をmini batch単位で順位付けし、全正解オブジェクトの順位が背景より高くなるようモデルを学習する
      • 正解オブジェクトの順位が背景より高いか低いかと言う分類問題として定式化することにより、順位が間違っているボックスの特徴量ベクトルの修正量をperceptronと同様の手法で計算でき、その結果、モデル全体のパラメータをbackpropagationで更新できる
  • RetinaNet500でCOCO test-devセットを評価した結果、Focal LossをAP Lossに変更することでAPが3%改善

AP Loss \mathcal{L} _ {AP}

  • \mathcal{L} _ {AP} = 1 - AP = 1 - \frac{1}{|\mathcal{P}|} \sum _ {i \in \mathcal{P}} \frac{rank ^ + (i)}{rank(i)}\qquad (1)
    • \mathcal{P} : 正解オブジェクトを含むボックス番号の集合
    • rank ^ + : 正解オブジェクト内での確率順位
    • rank : 全ボックス内での確率順位
  • Heavisideの階段関数H(x)を用いて(1)式を変形
    • \mathcal{L} _ {AP} = 1 - \frac{1}{|\mathcal{P}|} \sum _ {i \in \mathcal{P}} \frac{1 + \sum _ {j \in \mathcal{P} , j \neq i} H(x _ {ij})}{1+ \sum _ {j \in \mathcal{P} , j \neq i} H(x _ {ij}) + \sum _ {j \in \mathcal{N}} H(x _ {ij})}\qquad (2)
      • \mathcal{N} : 背景ボックス番号の集合
      • x _ {ij} : i番ボックスとj番ボックスのクラス推論スコアの差
      • 正解オブジェクトより順位の高い背景の数(= \sum _ {j \in \mathcal{N}} H(x _ {ij})>0)が増えた場合だけでなく、正解オブジェクト内での順位が低い(\sum _ {j \in \mathcal{P} , j \neq i} H(x _ {ij})が小さい)場合もAP Lossは大きくなる
        • 推論確率が低い正解オブジェクトに対するパラメータ更新量が大きくなる
  • 補足
    • 論文中では(2)式をさらに変形している
    • Heavisideの階段関数を以下の式に変形し、0前後の階段関数のギャップを緩めることで学習が安定し、性能も改善
      • f(x) = \left\{
\begin{array}{}
0, \qquad\qquad\qquad x \lt -\delta \\
\frac{x}{2\delta} + 0.5, \qquad -\delta \le x \le \delta \\
1, \qquad\qquad\qquad \delta \lt x
\end{array}
\right.
    • APをinterpolated APとなるよう補正

性能評価

f:id:y_kurashina:20190725011621p:plain


スポンサーリンク


Attentive Feedback Network for Boundary-Aware Salient Object Detection

スポンサーリンク


f:id:y_kurashina:20190715201710p:plain
Fig1. AFNet

論文URL

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

ポイント

  • Salient object detection(画像中の注目物体検出)を題材に、精細な物体境界が得られるAFNetを提案
    • 以下のモジュールおよび損失関数を導入
      • Global Perception Module(GPM)
      • Attentive Feedback Module(AFM)
      • Boundary Enhanced Loss(BEL)
  • AFNetではSoTAの結果となっていたが、意図を理解しきれずモデル構造には疑問を感じた
  • その一方、BELは境界領域の精度を上げるLossとしてシンプルで有用に感じた

AFNetの概要(Fig1)

  • Encoderの直後のGPMで粗いsegmentationマスクを生成し、Decoderでそのマスクを精細化していく
  • EncoderとDecoderはスキップコネクションの代わりにAFMで接続される

AFNetに対する疑問点

f:id:y_kurashina:20190715203320p:plain
Fig2. GPM

  • GPMでは、Fig2のように入力特徴量テンソルを等分割の区画に分け(Fig2は2x2の4分割の例)、各区画の同一箇所(Fig2の青領域)を畳み込んで、出力特徴量テンソルを得る
    • 等分割した区画の同一箇所を畳み込む意図やメリットを理解できなかった
  • AFMでは2段階でsegmentationマスクを精細化する
    • 1段階目では以下を入力としてsegmentationマスクを計算
      • 同一レベルのencoderブロックの出力特徴量テンソル
      • 前段のdecorderブロックの出力特徴量テンソル
      • 前段のdecorderブロックの出力segmentationマスク
    • 2段階目で以下の重みをencoderの特徴量マスクにかけている
      • 1段階目のsegmentationマスクから膨張処理画像と収縮処理画像を算出
      • 膨張処理画像と収縮処理画像の平均画像を計算(Fig1右側AFM-3内のT ^ {(3)})
        • 平均画像の画素値は、背景領域がおよそ0、注目物体領域がおよそ1、境界領域はおよそ0.5となる
      • この平均画像をencoderにかけてしまうと、境界領域の特徴量が弱まることになるはずで、この演算の意図も理解できなかった
      • 論文中でAFMの有無を比較したablation studyは行われているが、シンプルなスキップコネクションとの比較がなされていないため、AFMに本当に効果があるのか疑問を払拭できなかった

Boundary Enhanced Loss(BEL)

  • 推論マスクと教師マスクのそれぞれの画像で、移動平均フィルタ(=stride 1のaverage pooling)をかけた画像と元画像の差の絶対値を計算
    • 物体境界領域が抽出される
  • 上記境界抽出画像間のEuclidean LossをBELとする

AFNetの性能

f:id:y_kurashina:20190715210126p:plain

  • 赤がTop1、緑がTop2、青がTop3
  • AFNetはDUTSの学習データで訓練したモデルを他のデータの評価でも使用している
    • 右端のDUTSに対する結果以外は単純に比較できない
    • DUTSは最近リリースされた大規模データセットだとの記述があり、データ量の点でAFNetが有利になっている
    • 一方、AFNetが十分な汎化性能を持っていると解釈することもできる

f:id:y_kurashina:20190715210710p:plain

Global Second-order Pooling Convolutional Networks

スポンサーリンク


f:id:y_kurashina:20190714225709p:plain
Fig1. GSoP-Net

論文URL

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

ポイント

  • SE Blockのような自己注意ブロックGSoP Block(Global Second order Pooling Block)を提案
    • cSE Block(spatial squeeze and channel excitation)では空間成分をGlobal Average Pooling(平均)でつぶしているのに対し、GSoPでは共分散を利用する
    • ブロック名のSecond orderは、共分散=2次のモーメントであることから命名されている
    • sSE Block(channel squeeze and spatial excitation)のようにチャンネル成分をつぶすブロックも提案されている
      • 論文では、オリジナルのSE block(=cSE)との比較のみ行っている。

channel-wise pool GSoP Block

空間成分をつぶすGSoP Block (Fig1(b)

  1. 1x1の畳み込みで入力特徴量のチャンネルをc'からc(=128)に変換
    • c' > cとするボトルネック構造
  2. チャンネル間の共分散行列(サイズはc×c)を計算
  3. 1×c×1で入力グループ数がcのGroup convolutionにより、1×1x4c次元の特徴量を計算
  4. 1x1の畳み込み+sigmoidによりc'チャンネル分の重みを計算
  5. 各チャンネルの重みを入力特徴量にかけ合わせ、出力特徴量を得る

position-wise pool GSoP Block

チャンネル成分をつぶすGSoP Block。channel-wise版との違いを以下に示す。

  • チャンネル間の共分散行列の代わりに、画素間の共分散行列を計算する
    • 共分散を計算する前に8x8にdown-sampling(手法は不明)している
  • 画素毎に計算される重みを元の解像度にup-sampling(手法は不明)し、入力特徴量と画素単位でかけ合わせる

GSoP-Net

f:id:y_kurashina:20190714234212p:plain

  • GSoP-NetはResNetがベースになっている
    • ablation studyではResNet-26、ImageNetでの評価はResNet-50を使用
  • conv2_x ~ conv5_xの各ステージの最後にGSoP Blockを追加
    • ablation studyでchannel-wizeとposition-wiseのGSoP Blockをconcatした結果が最良となっていたため、最終的なImageNetでの評価もconcat版で行ったものと思われるが明記はされていない。なお、ablation study結果の考察として、後述のGSoP-Net1ではconcat版を使用するとchannel-wise結果より性能低下し、GSoP-Net2でもconcat版の結果は少ししか改善しないとの記述があることから、channel-wise版を採用した可能性も有る。
  • conv5_xの後の構造により2パターンのモデルを評価
    • GSoP-Net1 : GSoP Block + Global Average Pooling
    • GSoP-Net2 : iSQRT-COV
      • 2018年のCVPRで本論文の著者グループが提案したブロック。このブロックも共分散を利用している。

ImageNetでの評価結果

f:id:y_kurashina:20190714235824p:plain

Hybrid Task Cascade for Instance Segmentation

スポンサーリンク


f:id:y_kurashina:20190707224028p:plain
Fig1. Cascade Mask R-CNNからHTCへのモデル構造の変遷

論文URL

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

ポイント

  • COCO 2018 Challenge Object Detection Taskにて1位になったネットワークHTC(Hybrid Task Cascade)を提案
    • HTCはインスタンスセグメンテーション用ネットワーク
    • Mask R-CNNをベースとし、RPN以降の構造をカスケード化
      • bounding box検出用特徴量、インスタンスセグメンテーション用特徴量、セマンティックセグメンテーション用特徴量を混ぜ合わせる3段のカスケード構成(Fig1 (d))

HTC

  • Fig1(a)からFig1(d)のHTCまで段階的に説明する
  • Fig1(a) Cascade Mask R-CNN
    • Mask R-CNNのbounding box検出ヘッド(図のB1~B3)とインスタンスセグメンテーションマスク抽出ヘッド(図のM1~M3)を3連結する
    • bounding box検出ヘッドで計算した特徴量が後段の入力となっている
  • Fig1(b) Interleaved execution
    • インスタンスセグメンテーションマスク抽出ヘッドの入力として、該当段のbounding box検出ヘッドで計算した特徴量を入力に追加
  • Fig1(c) Mask information flow
    • インスタンスセグメンテーションマスク抽出ヘッドで計算した特徴量を後段のマスク抽出ヘッドの入力に追加
      • 1x1の畳み込みにかけた後、要素ごとに和を取っている
      • 論文中の式(5)では入力となる前段の特徴量を該当段のマスク特徴量を入力として再計算することになっているが、Fig1や論文中のFigure2のモデル構造と矛盾しており、誤記だと思われる。
  • Fig1(d) HTC
    • セマンティックセグメンテーションを別途行い(図中のs)、その結果の特徴量を各カスケードでの入力とする
    • Fig1(d)ではインスタンスセグメンテーションマスク抽出ヘッドにしか入力されていないように図示されているが、論文中の数式ではbounding box検出用ヘッドにも入力されている
    • セマンティックセグメンテーションはFig2の構造で行っている

f:id:y_kurashina:20190707232048p:plain
Fig2. セマンティックセグメンテーション部

COCO test-dev datasetでの評価

f:id:y_kurashina:20190707232241p:plain

COCO 2018で一位となったモデル構造

  • 以下を行い、test-dev datasetでのmask APが49.0に到達
  • バックボーンのResNetの第5ステージ(res5)でdeformable convolutionを使用
  • Synchronized Batch Normalizationを使用
    • 学習時に複数GPUを使っており、GPU間をまたいだBNを行っている
  • マルチスケール学習
    • 学習時に、入力画像の長辺を1600に固定し、短辺を400~1400の間でランダムに変更
  • GA-RPN(Guided Anchoring Region Proposal Network)を使用
  • マルチスケール推論
    • 推論時に以下の5スケールの画像を水平フリップしてアンサンブル
    • 600x900 , 800x1200 , 1000x1500 , 1200x1800 , 1400x2100
  • 複数モデルのアンサンブル
    • バックボーンとして以下のモデルを使用
    • SENet-154 , ResNeXt-101 64x4d , ResNeXt-101 32x8d , DPN-107 , FishNet
    • 単独モデルではSENet-154が最高精度だったとのこと
    • マルチスケール推論と合わせて50個の結果をアンサンブルしていることになる