Multiple Kernel Learningを用いた食べ物画像の認識
電気通信大学 情報工学専攻
上東 太一，甫足 創, 柳井 啓司
2009年7月21日MIRU

研究の背景近年、健康管理への関心が高まってきている
特に、『食事』に関する健康管理が注目されている

簡単に食事内容が記録できるシステムが望まれている

研究の目的• 実用を目指した多種類（５０種類）に対応した
食事画像の認識– 食べ物画像の認識
Multiple Kernel Learningによる多種特徴の統合– システムのプロトタイプの作成
携帯カメラと添付メール

50種類もの大規模な食事分類は従来行われていない

関連研究• 一般物体認識– Caltech101/256 ベンチーマークが有名• 様々なカテゴリーを含む．動物，人工物，顔，マーク．．．
• 多種類特徴の統合による手法が最高性能• Multiple Kernel Learning による統合 [Varma et al. 2007]– 101種類分類 89.6% 256種類分類 60.3%– 特定ジャンルのカテゴリ認識• 互いに似ているので，より困難な問題．
• Flower 102種類 72.8% [Nilsback et al. 2008]– MKLによる統合 Caltech-101 に比べて，16.8%精度低下• シーン分類 15種類 81.5% [Lazebnik et al. 2006]• 室内シーン分類 67種類 25 % [Quattoni et al. 2009]画像認識方法• Multiple Kernel Learning(MKL) [Lanckrietら,2004]
を用いた特徴統合によるマルチクラス分類手法• 統合する画像特徴– 局所特徴のBag-of-Keypoints（6通り）– カラーヒストグラム– ガボール特徴のヒストグラム（2通り）

局所特徴• SIFTを使用• 特徴点検出は３タイプ• 画像はBag-of-keypoints表現を用いて局所特徴の出現頻度のヒストグラムで表現– 1000次元と2000次元で表現

Bag-of-keypoints表現

1000次元または2000次元

DoG検出

グリッド検出

ランダム検出カラーヒストグラム• RGB色空間を使用

画像を2x2に分割

統合して２５６次元で表現
色空間を６４色に量子化ガボール特徴• 画像化から局所的な濃淡情報の周期と方向を表現した特徴• ６方向、４周期のガボールフィルタで特徴抽出• 色特徴と同様に画像を3x3と4x4に分割– ２１６次元と３８４次元のベクトルで表現マルチクラス分類• 1-vs-rest SVM分類器によって分類
学習あるクラスを正例としその他のクラスを負例として一つのクラスの分類を学習
それを、全クラスで学習

分類
学習したすべての分類器にテストデータを入力して、出力値の最も大きかったクラスに分類

ＳＶＭ出力値出力値の最も大きいクラスに分類

Multiple Kernel Learningによる特徴統合• 本研究では複数のSVMのカーネルを線形結合することにより特徴を統合する• Multiple Kernel Learning 問題[Lanckrietら,2004]– 最適な重みパラメータを求める– 凸面最適化問題として解く• MKL-SVMを用いる– SVMフレームワークで最適化問題を解く[Sonnenburgら,2006]

Multiple Kernel Learning(MKL)• 複数のカーネルに対し、最適な重みを学習する
手法• 画像認識では，特徴統合の手法として利用可能．
– Varmaら(2007)はcaltech101/256で最も良い結果を出している
各サブカーネルをそれぞれの特徴と対応させ、特徴統合に用いる
色特徴のカーネル

テクスチャ特徴のカーネル・・・・・・

結合

最終的なカーネル

特徴別のカーネル

ＭＫＬのアルゴリズム
単一カーネルのＳＶＭ学習の反復による解法[Sonnenburg,2006]

1. 最初に、重み2.

を均等にするを固定し、統合カーネルを単一カーネルとみなし、通常のＳＶＭ学習を行い、を求める

3. 求めた を固定して、が増加するように を微小に変化させる
4. 終了条件に達するまで(2)-(3) を繰り返す

評価実験• データセット：５０種類食べ物画像セット• 画像特徴：３タイプの画像特徴(計９種類)• 手法：各特徴単独のSVM
全特徴によるMKL-SVM– MKLの実装は機械学習ライブラリ SHOGUNを利用• カーネル：カーネル– スケールパラメータの設定方法① Cross-validationにより，最適な値を探索② すべての学習データ間の 距離の平均の逆数[Zhang, 2007]

５０種類データベースのサンプル

は人手で囲んだ食べ物の位置

各種類１００枚ずつ 計５０００枚

実験結果
特徴BoK(dog1000)

BoK(dog1000)
MKLによる特徴統合方法
BoK(grid1000)とBoK(grid2000)
特徴単独で用いた手法
BoK(random1000)の５０種類の平均分類率
BoK(random2000)
gabor3x3
gabor4x4
Color
MKL(cross-validation)
MKL(mean-x2 distance)

平均分類率26.52%

27.48%
26.10%
27.68%
28.42%
29.70%
31.28%
34.64%
38.18%
53.16%
61.34%

MKLで学習した特徴の重み
エビチリの結果
color11%color23%

実験結果：混合行列
MKL(mean-distance)

うな重
チャーハンピラフ実験結果
許容クラス数を変化させたときの平均分類率の変化• 分類率の変化
平均分類率

90.94%
80.58%

Ranking 361.34%

ランキング

Ranking 7

85種類の認識• 現在50種類から85種類に拡張実験中– 厚生労働省の「食事バランスガイド」より追加– 手法は50種類と同じ

ランキング ８５種類DB ５０種類DB
1位まで
57％
61％

3位まで

76％

81％

5位まで

83％

88％

システムのプロトタイプの作成：
携帯版認識システムの構成②アップロード情報を記録
画像ID・時間・メールアドレスなど

Image DB
①データベースに登録

フィードバックを記録
認識結果(ランキング)を記録

画像ID・
正しいクラス

各種類の類似度③④⑤

認識エンジン
食事を撮影し，メールで転送⑥

認識結果とURLが返される

正しい食べ物の種類を選択

システムの評価• 約１３ヶ月間試験的に運用– ３００枚がアップロードされた• システムの認識精度：– 1st 38.3%,

3rd 58.3%, 5th 64.0%

うまく認識された写真の例

うまく認識されなかった写真の例

まとめ• 食べ物画像から料理を認識する手法を提案– ５０種類で平均分類率６１．３４％を達成– 上位３位までの分類を許可すると８０％を超える• １３ヵ月間運用した携帯システムの認識精度– １位まで38.3%，３位まで58.3%
認識結果

オムライスざるそばチャーハン今後の課題• カロリー計算のための食事の「量」の認識– おおよそのカロリーを自動計算可能にする– 箸など基準となる物体とのサイズの比較• 認識精度向上– 現在使用している特徴とは異なる識別能力を持つ
新たな特徴量の追加– 皿の検出などの食事画像専用の処理の追加
・ 食事カテゴリーの検討• 階層的な分類例) パスタ -> ミートソース, カルボナーラ, ぺペロンチーノ