CNNを用いた弱教師学習
による画像領域分割
下田 和, 柳井 啓司
電気通信大学 大学院情報理工学研究科 総合情報学専攻ⓒ 2015 UEC Tokyo.

食事画像認識• 柳井研のこれまでの研究– MKL for food
[Joutou et al. 2009]– UEC FOOD101[Matsuda et al. 2012]– スマートフォンにおける食事認識[Kawano et.al 2013]- FOOD CAM

FOODCAM on Andriodⓒ 2014 UEC Tokyo.

食事画像の領域分割• CNNを用いた食事画像の領域分割– 複数品の食事画像の位置を自動で推定ⓒ 2014 UEC Tokyo.

Convolutional Neural Network• CNN– クラス分類タスクにおいてトップの精度• CNNの応用（物体位置の認識）– 物体検出• 物体にBBを付与– 領域分割• ピクセル単位の認識ⓒ 2014 UEC Tokyo.

CNNを用いた弱教師有り学習による領域分割• Back Propagation(BP)+グラブカットによる領域分割– [Simonyan et al. ICLR 2014]– 入力は学習済みCNNのモデルと画像のみ– ピクセル単位の学習画像が不要（弱教師有り学習）ⓒ 2014 UEC Tokyo.

学習サンプル• 完全教師あり学習– ピクセル単位のアノテーションが必要（マスク画像）– かなりの労力（コスト）が必要、ビッグデータとの相性が悪い

アノテーション

• 弱教師あり学習– マスク画像が不要ⓒ 2014 UEC Tokyo.

CNNの学習プロセス• 認識結果のエラーを最小化するためのWeightを学習– SGD(確率的勾配降下法)とBP(誤差逆伝搬法)を用いる• SGD → -dE/dwの方向に沿って重みを調整• BP → dErr/dw を各階層に伝搬
Forward∑ W * Feature

Max class score:
0.856 (ramen)

idErr/dw
Backwardⓒ 2014 UEC Tokyo.

Error 1 – 0.856

BPによる認識の可視化• エラーを最大に設定• dErr/dwを画像レベルまで伝搬

Forward∑ W * Feature

Max class score:0.856 (ramen)

idErr/dimg

dErr/dw
Backwardⓒ 2014 UEC Tokyo.

Error 1 – 0.856

BPから得られるサリエンシーマップ• BPにより得られた結果（dE/dImg）– 画像の認識結果を正解に近づけるための結果– 強く反応した位置→学習に用いた画像と共通している部分– 物体の位置の推定に繋がる• RGBの最大値でグレースケールに変換

Original

BP result (im lv)ⓒ 2014 UEC Tokyo.

Object saliency map

Saliency map を用いたグラブカット• グラフカットによる2クラス領域の拡張• サリエンシーマップからシードを作成– Positive 領域 (upper 5% : 赤)– Negative 領域 (lower 10% : 青)
– Other (yellow)

Originalⓒ 2014 UEC Tokyo.

SeedGrab cut resultプロポーザルによる改善• Weakポイント– 接触物体の分離 → ✕– 小物体の検出 → ✕• 改良案– Rich feature CNN(RCNN) [Girshk et al 2014]– 大量の領域を提案し、全てCNNで認識– 大幅に精度が向上– 大量の領域をプロポーザルし、全て領域分割ⓒ 2014 UEC Tokyo.

提案手法の流れ

Selective Search(1)Saliency maps(4)Back propagation(3)BB grouping(2)Grab cut (5)ⓒ 2014 UEC Tokyo.

NMS(6)

Result領域候補のプロポーザル• Selective Search– [Uijlings et al. IJCV]– エッジ情報などから領域候補をプロポーザルする– 約2000のBB候補ⓒ 2014 UEC Tokyo.

Non Maximum Suppression(NMS)• NMSアルゴリズム– Cannyエッジの検出などに使われる– 基準値の高いエッジを元に先鋭化• BBの統合に応用– BBのCNNの認識結果を基準値に– オーバーラップ率の高いBBを検出– 基準のBB以外を除去– 繰り返しⓒ 2014 UEC Tokyo.

CNNが最大の値
基準のBB

BBグルーピング• BBグルーピング– NMSアルゴリズムを応用– BBの面積を基準値に– オーバーラップ率の高いBBを検出– 基準値のBBを含めて検出されたBBを1つのグループに面積が最大の領域
候補を基準BBにグループⓒ 2014 UEC Tokyo.

実験(1) 複数食品画像（UEC-Food 100）
– 1175 枚– バウンディングボックスのみのアノテーション(2) Pascal VOC 2012領域のアノテーション
ｰ 領域のアノテーションⓒ 2014 UEC Tokyo.

CNNの学習（食事画像）• 食事画像のCNNモデル（alex net）
– ImageNetによるpre-train• 一般画像1000＋食事系列画像1000クラス– UECFOOD101によるfine-tuning（BBアノテーション有り）• 食事画像100クラス• Top-1 78.5 %• Top-5 94.9 %ⓒ 2014 UEC Tokyo.

領域分割結果• 成功例1ⓒ 2014 UEC Tokyo.

領域分割結果1• 成功例2ⓒ 2014 UEC Tokyo.

領域分割結果2• 失敗例ⓒ 2014 UEC Tokyo.

UEC FOODにおける物体検出の評価• 物体検出の精度を評価（BB level）• RCNNとの比較– RCNNは小領域を検出– 領域分割により一貫性のある領域に絞られた？
Method100クラス
Num>053クラス
Num>1011クラス
Num>50

RCNN

26.0

21.8

25.7

Ours

49.9

55.3

55.4

ⓒ 2014 UEC Tokyo.

RCNNOurs

(2) Pascal VOCにおける領域分割の評価• PASCAL VOC 2012
– 一般的な物体 20 class (バス, 犬 , etc)

• 領域分割の精度評価(pixel level)
MethodMean IU

完全教師有り学習SDS[3]

51.6

FCN[4]

62.2弱教師有り学習

Ours

36.4

Pedro-seg[5]40.6ⓒ 2014 UEC Tokyo.

領域分割結果を利用したカロリー推定• 味噌汁などの面積の変化が少ないと考えられる食事クラスを基準にして領域面積からカロリーを計算ⓒ 2014 UEC Tokyo.

凸包による改善ⓒ 2014 UEC Tokyo.

問題点1• カロリーの正解値がない（UECFOOD101）– 評価できない• 数枚のカロリーつきの画像を使う– 栄養士さんに頼む– 実物大食事パネルⓒ 2014 UEC Tokyo.

問題点2• 面積比からカロリーを計算• 標準時の面積比の情報が必要• 現状– 丼もの、大皿（2倍）（牛丼、カレーなど）– ご飯（1.5倍）– 汁物は1倍（味噌汁など）– 小鉢は0.7倍（豆腐など）ⓒ 2014 UEC Tokyo.

今後の予定• サリエンシーマップの改善– 中間層の利用– VGG16の利用– Super Pixel + graph cut• カロリーの評価方法の検討ⓒ 2014 UEC Tokyo.

まとめ• CNNに基づいた領域分割を行った• 食事画像と一般物体画像について手法を適用した• 領域分割結果からⓒ 2014 UEC Tokyo.