【苦しみながら理解する深層学習】Region-Convolutional Neural Network for Detecting Capsule Surface Defects

Region-Convolutional Neural Network for Detecting Capsule Surface Defectsを読みます。

どんなもの?

R-CNNを使って、薬用カプセルの表面の欠損を検出した。
カプセルの位置を固定する必要がなく、画像のscaling、translation、rotationなどに対応して検出できる。
分類にCNNを使わず特徴量抽出で、最終的な分類はleanear SVMで行う。
この手法では、欠損があるかだけではなく、欠損の種類や欠損の位置も識別することができる。

先行研究と比べてどこがすごい?

近年のカプセルの欠損検出の問題点は以下のようなもの。

  1. 欠損のあるカプセルの特徴量抽出の新しい手法が必要。画像の処理をして欠損を検出する方法が用いられていたが、画像の前処理に頼っており、簡単に欠損を見逃してしまう。また処理速度と分類の情報にも問題がある。
  2. 欠損の種類も検出したいができない。もし検出することができれば、工場の生産工程の改善できる。

これらを解決した。

技術や手法のキモはどこ?

R-CNNを使うが、データ・セットが十分ではないケースが多いので、事前学習として、ImageNetのデータセットを使ってからアプセルで学習をさせる。
カプセル位置の移動や反転、画像の拡大・縮小をしてカプセルのデータ・セットを拡張した。

手順は以下の通り。

  1. カプセルの画像にanotationをする
  2. カプセルの一部を抽出する
  3. 欠損があるか計算する
  4. networkのチューニングを行う
  5. 欠損の分類の学習をする

fig1

annotationは欠損の種類と、欠損のあるbouding boxを行う。
selective searchを使って、カプセルの一部を抽出する。

fig2

1000のカテゴリーを持つImageNetのデータ・セットを使って、AlexNetのアーキテクチャを使って学習する。
全8層で、はじめの5層は畳み込み層、次の2層は全結合層、最後の層はsoftmaxです。
inputの画像サイズは227 x 227です。

fig3

pre-trainで使っていたImage-Netの1000カテゴリーの分類をランダムに初期化する(カプセルの欠損の種類+背景にカテゴライズする)ように変更した。

Figure 5のような手順で検出する。

fig5

どうやって有効だと検証した?

overlap rateを計算してチューニングを行っていた。
式3-1

評価は以下の3つパターンで実施。

  • 汚れ
  • 傷と汚れ

傷は、一般的なカプセルの欠損です。
カプセルの欠損である可能性の閾値を設定することでFalse positiveの値が減少した。

table1

汚れも一般的なカプセルの欠損にあたります。

table2

傷と汚れの両方で検出する。

fig6

また評価の指標としては以下の3つ。
freeは欠損していないデータという意味。

  • Detection accuracy

式_detection_accuracy

  • Positive False rate

式 pf

  • False Positive rate

式 fp

table3

Sparsenessを使って背景と欠損を検出している。

fig9

次に読むべき論文は?

  • R-CNN
  • selective search (Sandell, 2012)
  • Rouhana et al. (Rouhana, Vieira and Robertsgalbraith, 2012)

その他

selective searchとは

ピクセルレベルで類似する領域をグルーピングしていくことで候補領域を選出するルゴリズムです。要は似たような特徴を持つ領域を結合していき、1つのオブジェクトとして抽出する訳です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です