論文紹介: Holistic and Comprehensive Annotation of Clinically Significant Findings on Diverse CT Images: Learning from Radiology Reports and Label Ontology

読影レポートさえあれば,もうhand-madeの教師ラベルはいらない!?」

 

そんな印象をかき立てるようなタイトルの論文がCVPR 2019に出ていました。実際どうなんでしょうか?読んでみましょう。

 

論文へのリンクはこちらです。

arxiv.org

 

ちなみに,cvpaper.challengeという「CVPRの会議論文約1300本を100人ほどで手分けして全部読む」というサーベイプロジェクトに参加していて,その一環としてまとめスライドも作成しています。

 

(スライドが公式にアップロードされたらこちらにもリンクを貼ります)

 

例によって著者はNIHの方々です。

トップカンファレンスに載っている放射線科関係の機械学習論文には本当にNIHの人たちが多い印象。

 

 

 

【論文のねらい】

  • 病変に自動でタグ付けをするモデルをつくりたい
    • 病変はすでにdetectされている前提
  • あらゆるカテゴリのタグを同時に付けたい
    • 「良悪性だけ」「濃度だけ」などにタスクを絞らない
  • タグの階層関係も反映させたい
    • 「右肺下葉」がpositive labelならば「右肺」も「肺」も同時にpositiveとする
  • しかし極力人力ではアノテーションしたくない

 

 

【手法】

問題設定としては多クラス分類問題で,病変をふくむ医用画像のpatchが与えられたときに,それに対するpositive labelを正しく付与させようとしています。

たとえばこのような出力例です(論文の図より抜粋)。

f:id:radiology-nlp:20190806101253j:plain

 

NLP part>

①NIHが2018年にリリースしたDeepLesion Datasetを使用しています。

 症例数4427, CT10594件, axialスライス32120枚, 32735病変。

 病変にbounding box+検査ごとに読影レポート。

 NIHがリリースしたデータセットでNIHの人が論文を書いている構図ですね((( ;゚Д゚)))

 

読影レポートにはキー画像へのBookmarkが貼ってあるため,そこの文面だけ使用。レポート全文は使っていない。

 

③NLTKでstemming → RadLexをもとに固有表現抽出+類義語のnormalization。

www.radlex.org

 

 

④ノイズ除去のため,他病変についてのラベルが混じっていたら (=False Positiveの原因になるので) 探して除去する既存のtext-mining moduleも使っている。既存とはいってもこの人たち自身が開発していて,別途論文まで書いています(↓)。

arxiv.org

 

⑤RadLexを参考にして,下位ラベルがpositiveの場合は上位ラベルもpositiveにする。さらに排他的関係にあるラベルはnegativeにする。

 

 

 

 

<CV part>

  • VGG-16 with batch normalizationを使用。
  • モデルの出力はそのまま使わず, conv1〜5の5箇所に5x5 RoI Poolingを噛ませて得られた出力ベクトルをconcatして使用。

 

<Loss Function>

  • 4つのLoss Functionを使用:
    • 正例/負例の数で重み付けした Weighted Multi-class Cross Entropy
    • Precisionを高めるための Relative Hard Sample Mining
    • Recallを高めるための Score Propagation Layer
      • VGG-16の出力をAffine+Sigmoidに通しただけですが,これで珍しい正例に対する感度が高くなるらしいです
    • Multilabel Triplet Loss
      • Metric Learningの勉強が手薄で,あまりよく分かっていないですが,他のLoss functionはラベル同士の関係を考慮していないので,ここでラベル同士の関連度をきちんと認識できるような多次元空間を構成している?

 

【結果】

  • ベースラインよりもAUC, Recall, Precision, F1 scoreが上昇
    • AUC 0.9344, F1 score 0.3423
  • 表記ゆれの少ないラベルに対する性能はよい
  • 画像的に近接しているラベルに対しては識別性能が下がる
    • 距離の近い左肺舌区と左肺下葉など
  • Score Propagation LayerのAffine行列にラベル同士の関連度がエンコードされていた
    • これは個人的に面白かったです
    • 対角成分を除くとたとえば "liver" と "hemangioma" の交差する成分が高めに出ています

 

f:id:radiology-nlp:20190804141346p:plain

 

【最後に】

人間がアノテーションしているのは,④の過程で抽出ラベルがFalse Positiveかどうかを放射線科医2名にチェックさせているところのみです。

これ以外には病変に対するHand-Labelingはしていません。

 

しかも,驚くべきことに,Ablation Studyで放射線科医によるチェックとそれに付随する過程を省略したところ,PrecisionとF1 scoreが0.01ほど下がったくらいで済んでおり,案外ビクともしません。

 

つまり放射線科医が関わらなくても読影レポートさえあればそれなりの教師ラベルをつくれることが示唆されています。

(ただし,DeepLesion datasetのようにレポートとキー画像がきちんと対応づいていることが条件ではありますが)

 

そして,階層的なラベルを扱うためのオントロジーの強さがよくわかります。RadLexが完備されているというだけで英語の読影レポート研究は相当強いです。

この研究を他言語で再現しようとしたら,かなりの苦労を強いられるでしょう。

 

 

<余談1>

放射線科医がおおざっぱな表現をしているとき(「右肺下葉S7」ではなく単に「右肺下葉」と書いているなど),より細かいレベルの表現を復元するのはやはり難しいようです。

本論文でも,非自明な下位ラベルは推定せずに切り捨てています。

 

<余談2>

「肝転移と肝血管腫は画像が似ていて間違えやすい」とやたらと何度も本文中に書かれていましたが,果たしてそこまででしょうか?

"enhancing" というラベルがあるので,データセットが単純CTだらけという訳でもなさそうなのですが…