社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS

信学技報
TECHNICAL REPORT OF IEICE.

FoodCam: スマートフォン上でのリアルタイム食事画像認識による食事記録アプリケーション
河野 憲之†

柳井啓司†† 電気通信大学大学院 〒 182–8285 東京都調布市調布ヶ丘 1–5–1
E-mail: †kawano-y@mm.cs.uec.ac.jp, ††yanai@cs.uec.ac.jp
あらまし

近年、スマートフォンが普及しその性能も向上している。従来のスマートフォンアプリケ−ションはデー

タをサーバに送り、サーバ上で画像認識をしていた。だが、通信コストがかかる。また、ユーザの増加により計算資源が多数必要になるという問題点がある。そこで、スマートフォン上で画像処理することが望まれる。本論文では、
計算資源の限られたスマートフォン上でより高速、高精度に一般物体認識を行う手法を提案する。そして、従来の画像認識を用いた食事記録アプリケーションの画像認識の面において改良を行った。従来手法よりも大幅に認識性能が向上し、かつ高速であることを実験により確認した。さらに、サーバ上でのコストが大きい認識手法と比較しより高
い認識性能を示し、有効性を確認した。
キーワード

食事画像認識，食事記録、スマートフォン，リアルタイム，スマートフォンアプリケーション

1. ま え が き

ㄆ㆑⤖ᯝ

ಙ㢗ᗘ

㣗஦⏬ീ

近年、Android フォンや iPhone などのスマートフォンが広く普及している。それに伴い、スマートフォンの性能が大きく向上し、スマートフォン上での画像認識が可能になった。現在、

4 コアの CPU を搭載したスマートフォンが一般になり、一世代以前の PC の CPU と同等のパフォーマンスにまでなっている。従来の画像認識を行うシステムは、高性能なサーバに画像を送り、サーバ上で画像処理を行っていた。そのため、通信コ
ストがかかる。また、ネットワーク環境にも依存する。さらに、システムを使用するユーザ数の増加に伴い、サーバの計算資源も増加させなければ、パフォーマンスが低下する。特に、食事記録アプリケーションは辞書アプリケーションと異なり、毎
日多数のユーザが使用することが想定される。従って、コストのかかる画像認識処理は、ユーザのスマートフォン上で行うことがよいと考える。スマートフォン上で画像認識を行うことにより、サーバ上で画像認識を行う問題点として挙げた、ネット
ワーク環境に依存しない、通信コストがかからない、計算資源が分散されるという大きな利点がある。そのため、複数コアあるスマートフォンの計算資源のみを活用し、高速かつ高精度に画像認識を行う手法が望まれている。
我々は以前、スマートフォン上で画像認識を行い、ユーザの食事記録をとる補助をするアプリケーション [1, 2] を提案した。
図 1 は、我々の提案した食事記録アプリケーションのイメージである。本論文では、局所特徴量と画像表現の面において、画像認識部分の改良を行う。
だが、高速に画像認識、特にスマートフォン上で画像認識を行うことは、実用性が高いものの依然として困難なタスクでもある。ここでは、Android フォンを例に挙げる。CPU 周波数は1.5GHz 前後と PC と比較すると大幅に低い。RAM も同様に、
1 つのアプリケーションが使用できるメモリ量は現在の仕様では最大 256MB(ネイティブヒープと Java ヒープ (Dalvik ヒー㑅ᢥ䛧䛯㣗஦㔞䛾ධຊ

図 1 食事記録アプリケーションのイメージ

プ) の合計) しかない。そのため、低メモリかつ複雑な処理をしないことが求められる。スマートフォン上で高速かつ高精度に認識を行うためには、認識をする際の各モジュールについて計
算コストが非常に大きいものがあると難しい。スマートフォンの計算資源を有効に活用しなければならない。
また、近年、高速な線形識別器に適した画像表現が複数提案されている。従来の一般物体認識は、画像表現に Bag-of-

Features(BoF) を用い、識別に非線形識別器を用いることが一般的であった。非線形識別器は、学習は学習サンプル数 N に対し O(N 2 ) ∼ O(N 3 )、評価はサポートベクトル数 M に対し線形識別器よりも M 倍遅い。だが、画像表現を改良することにより、線形識別器の適用が可能になった。特に、BoF を改良した画像表現で Fisher Vector [3, 4] が認識性能が最も高い結果になっている [5]。Fisher Vector は線形識別器に適していて、従来の BoF+非線形識別器と比較して大幅に性能が向上することが示されている。さらに、BoF の場合は、認識性能を高めるた
めに大きなコードブックが必要であるが、それに伴い近傍探索の計算コストが増大する。Fisher Vector は、小さいコードブッ—1—

クでも識別性能が高い。そして、計算コストも小さい。Fisher

Vector を用いることで、スマートフォン上で高速、高精度に食事画像認識を行う。
実験では 100 種類の食事に対して提案手法と従来手法との認識性能の比較を行う。そして、従来のスマートフォン上で認識するシステムよりも大幅に性能が高く、さらに高速であることを実験により示す。また、BoF や大域特徴の多数特徴量+非線形 SVM によるコストが非常に大きい従来のサーバ側で画像認識を行うシステムと比較し、提案手法の有効性を示す。

⇟∄∞⇮⇻⇏∙⇁‒
᫢ʙ↚ⅺↅↈ‒ͅᙀ∐⇟⇮ⅺ↸‒᫢ʙ⇁ᢠ৸‒

2. 関 連 研 究
2. 1 食事画像認識
まず、食事画像認識の研究を紹介する。松田ら [6] は、複数検出手法により食事領域を推定し、推定された領域を複数特徴
量を用いて分類を行う食事画像認識エンジンを提案した。特徴
量は、SIFT、CSIFT、色ヒストグラム、Gabor、HOG の 5 種類を用い、SIFT、CSIFT、色ヒストグラムは BoF に表現して使用している。そして、識別に非線形識別器を用いているため、非常にコストが高く、認識はクラスタマシンを用いて行っている。そのため、スマートフォン上で高速に画像認識をすることはできない。実験では、サーバサイドの認識手法として認識性能の比較を行う。また、食事画像からバランス推定をし、その結果を返す FoodLog [7] や、チェッカーボードとともに食事を撮影し、食事の分類と量の認識を行う TADAproject [8] がある。しかし、いずれもサーバに画像データを送り、画像処理しているため通信コストが高く、認識を誤った場合は、ユーザが後から手動で直すことになる。
本研究では、スマートフォン上で高速に食事を認識し、記録をとる。なお、量はユーザに入力してもらい、食事の種類の認識のみになっている。
2. 2 モバイルデバイスと画像認識
次に、スマートフォンから利用できる画像認識アプリケー
ションを紹介する。Google Googles（注 1） は物体認識システムとして有名なアプリケーションである。しかし、認識対象はロゴや芸術品など視覚的変化のない特定物体であり、本研究では、
一般物体である食事を認識対象にしている。Kumar ら [9] は、
スマートフォンで葉を撮影すると、葉独自の湾曲具合から形状特徴を抽出し葉を認識するアプリケーションを提案した (Leaf
Snap)。だが、認識はサーバ上で行っている。そのため、通信コ
ストがかかり、ネットワークにも依存する。本研究では、サーバ側で画像認識を行う従来のスタイルでなく、スマートフォン
上で画像認識を行う新しいスタイルを目的としている。
最後に、スマートフォン上で画像認識をするアプリケーショ
ンを紹介する。Lee ら [10] は、テンプレートを学習し、方向と強度に関する記述子に分解し、複数スケールでのテンプレート
マッチングにより、ユーザが登録した物体の検出や追跡をリア
ルタイムに実現している。Maruyama ら [11] は、視覚的変化の小さい食材の認識に対して、特徴量は 144 個のみ局所色ヒス
トグラムの BoF 一つであり、直接線形識別器に適用している。
そのため、視覚的変化が大きい一般物体認識では認識精度が極めて低い。
本論文では、スマートフォン上でより高速かつ高精度に画像認識を行う手法として、局所特徴量に計算コストの小さい HOG

᫢ʙ↝௿᫱⇁ᄩᛐ‒᫢ʙ᪸؏⇁λщ‒᫢ʙဒ΂ᛐᜤ‒図2

アプリケーション使用例

Patch と Color Patch 特徴を用い、画像表現に Fisher Vectorを用いる。

3. 従来アプリケーション
3. 1 概要以前我々が提案した食事記録アプリケーション [1] について、記録をとるまでの使用の流れを以下に、また例を図 2 に示す。
（ 1 ） スマートフォンを食事にかざす。
（ 2 ） ユーザは料理領域を入力する。
（ 3 ） 食事画像認識を行う。
（ 4 ） 一定時間後、認識結果上位を提示する。
（ 5 ） ユーザは認識結果上位から料理を選択する。
（ 6 ） 未選択の料理があれば、2 もしくは 3 に戻る。
（ 7 ） 食事画像を保存する。
（ 8 ） 食事の栄養を確認する。
2 では、ユーザによる食事領域の入力は対角線を引くことで矩形領域とし、バックグラウンドで領域推定による料理領域の補正が行われる。食事領域は 4 つまで入力可能であり、食事領域を入力しなければフレーム全体から食事画像認識を行う。3、4では、一定時間食事画像認識を繰り返し、各識別器の最終的な出力値はその間の出力値の平均とする。そして、最終的な出力値を降順にソートして、上位をユーザに表示する。候補リストの更新の間隔はユーザ調査により決定している。5 では、料理があると考えられる方向を提示することにより、認識結果上位に目的の料理が現れなかった場合の対処をする。記録にはメモや位置情報も登録でき、サーバにアップロードすることにより食事記録をユーザ間で共有可能である。
食事記録の閲覧では以下が可能でる。
（ 1 ） 日ごとに食事記録を閲覧（ 2 ） Google Maps 上で閲覧
（ 3 ） 最近の食の傾向の確認（ 4 ） アップロードされた食事記録の閲覧（注 1）：http://www.google.com/mobile/goggles/—2—

3. 2 認 識 手 法
次に、従来手法で用いられた画像認識手法について説明する。
3. 2. 1 認識領域の修正
ユーザは食事領域を入力する際、実際の領域よりも大きく入力する傾向がある。そこで、ユーザが食事領域を入力すると、バックグラウンドで GrabCut を用い背景を除外し、前景を全て囲む最小の矩形に認識領域を修正する。
3. 2. 2 認識領域に対する種類分類
画像特徴量は、色ヒストグラムと SURF-BoF を用いていた。
色ヒストグラムは、画像を 3×3 に分割しそれぞれ 64 次元色ヒス
トグラムを抽出し、結合したベクトルを使用した。SURF-BoF
は、画像から SURF [12] をデンスサンプリングで抽出し、500
次元の BoF 表現で特徴ベクトルにした。このとき、識別性能を高めるために、soft-assignment [13] を適用した。識別器は、
線形 SVM を用いた。L1 正規化された特徴ベクトル (色ヒスト
グラム、SURF-BoF) は、線形識別器での識別性能が悪いため、
ともに χ2 kernel feature map [14] を適用し、特徴ベクトルをあらかじめ少し高次元に射影することによって、線形識別器への適用を可能にした。これにより、線形識別器でカーネル関数が χ2 kernel である非線形識別器と同等の認識精度をだすことが可能になっている。
しかし、SURF [12] は高速な記述子として物体認識で広く用いられるが、計算資源の限られたスマートフォン上ではコストが高い。カラーヒストグラムは単純で高速であるが、より高精度な認識をするために認識に適した色特徴を用いることが考えられる。
3. 2. 3 食事性の高い方向提示
正しく認識できないとき、ユーザはどの方向を写せば認識できるかわからない。そこで、食事性の高い領域を提示し、その方向を写すことで認識性能を高める。手法は、領域内に多数矩形領域を考え、各矩形での BoF を直接線形 SVM にかけ、最もスコアが高くなった矩形の重心の方向を提示する。BoF と線形
SVM のスコアは積分画像を作成しておくことで O(1) で得ることができる。
しかし、食事性の高い方向提示はユーザからの評価が低かっ
た [1]。その後の調査においても高い評価を得ることができなかったため、本論文では使用していない。
3. 3 認 識 時 間
画像データを受け取り各識別器の評価値を得るまでの時間は1 回あたり平均 0.26 秒であった。食事性の高い方向も推定したため、その際は平均 0.34 秒であった。本論文では食事性の高い
方向は推定しないため、従来の認識時間は 0.26 秒として比較を行う。

4. 提 案 手 法
スマートフォン上で高速かつ高精度に画像認識を行う手法として、特徴量は、HOG Patch と Color Patch の 2 種類の局所
特徴量を用いる。そして、各局所特徴量は Fisher Vector で表現する。識別器は線形 SVM を用い、one-vs-rest 法により分類を行う。従来手法と提案手法の認識の流れを図 3 に示した。

4. 1 局所特徴量
本論文では、HOG Patch と Color Patch の局所特徴量を用いる。画像は、大きい場合には、計算コストを抑えるためにアスペクト比を保ったまま 200 × 150 ピクセルにリサイズした。

㣗஦㡿ᇦ㻌 㻌SURF
Bag-of-FeaturesⰍ䝠䝇䝖䜾䝷䝮
SVM

᪉ྥ᥎ᐃ

ホ౯್ྲྀᚓ
䝁䜰1

䝁䜰2

䝁䜰3

䝁䜰4

(a) 従来手法

㣗஦㡿ᇦ㻌 㻌HOG Patch

Color Patch

Fisher Vector

Fisher Vector

SVM HOG-FVSVM Color-FV

ホ౯್ྲྀᚓ
䝁䜰1

䝁䜰2

䝁䜰3

䝁䜰4

(b) 提案手法

図3

従来手法と提案手法の認識の流れ

局所特徴量は、ともにスケール 16 と 24 ピクセルとし、6 ピク
セルごとのデンスサンプリングで抽出した。局所特徴は多数抽出するため、中間データが多くなる。メモリ面を考慮し低次元に抑える。本論文では、パッチを SIFT [15] や SURF [12] に見られる 4 × 4 でなく、2 × 2 に分割し特徴量を抽出することで局
所特徴量の次元数を抑えた。

4. 1. 1 HOG PatchHistogram of Oriented Gradients(HOG) [16] は、N.Dalalらによって提案された。勾配ヒストグラムに基づいた記述子であるため SIFT [15] に類似している。だが、記述が単純なため
SIFT [15] や SURF [12] よりも高速に記述することができる。
これは、スマートフォン上でより高速に認識を行うために、重要な要素である。また、その分特徴点を密にとることが可能であり、認識性能が向上する。
本論文では、HOG を局所記述子として局所パッチから抽出する。局所パッチを 2 × 2 に分割し、それぞれ 8 方向、合計 32
次元の HOG を抽出した。そして、PCA を適用し 24 次元に圧縮した。
4. 1. 2 Color Patch
色特徴は画素の RGB 値の平均と分散を用いる。局所パッチ
を 2 × 2 に分割し、それぞれ RGB の平均と分散 6 次元、合計24 次元の色特徴を抽出した。そして、PCA を適用したが、次元数は 24 次元を保った。
4. 2 Fisher Vector
Fisher Vector [3, 4] は、BoF [17] と異なり高次統計量を含め

—3—

0.8

した手法で最も性能が高いとされる [5]。局所特徴量の総数 T 、

0.7

局所特徴群 X = {xt , t = 1, ..., T } に対する Fisher Vector GθX

0.6

は以下で表される。

0.5

GθX = Lθ (1
∇θ log p(X|θ)) = Lθ GX
θ
T

(1)

ここで、p(X|θ) は確率密度関数、∇θ log p(X|θ) は対数尤度の勾配、Fθ をフィッシャー情報行列とすると、Fθ は Fθ−1 = L0θ Lθ にศ㢮⋡ることにより量子化誤差を軽減している。さらに、BoF を拡張

0.4

SURF-BoF(8 grid step)
HOG Patch-BoF(8 grid step)
HOG Patch-FV(8 grid step)
HOG Patch-FV
HOG Patch-FV (flip)

0.3
0.2
0.1
0

0

−1 Y
コレスキー分解される。Fisher Kernel K(X, Y ) = GX
θ Fθ Gθ

1

2

3

4

5

6

7

8

9

10

ೃ⿵ᩘ

は Fisher Vector の内積で表されるため、線形識別器で効率よ
図 5 SURF-BoF、HOG Patch-BoF、HOG Patch-FV の分類率

く識別可能になる。

Perronnin ら [4] に従い、確率密度関数に Gaussian Mixture
Model(GMM) を仮定した。そのとき、確率密度関数は以下で与えられる。
KX
p(x|θ) =πi N (x|µi , Σi )(2)
i=1

x は局所記述子、K はガウシアンのコンポーネントの数、
θ = {πi , µi , Σi , i = 1, ..., K} は GMM のパラメータである。πiは混合係数、µi は平均のベクトル、Σi は共分散行列を表す。共分散行列は対角行列とし対角成分を σ 2 と表し分散のベクトルで表す。
γt (i) をガウシアン i への xt の soft assignment とする。平
XX
均と分散に関する勾配 Gµ,iと Gσ,iは、以下で表される。
X
Gµ,i



xt − µi=
γt (i)
T πi t=1
σi

X
Gσ,i
=

1
√

T
X



T
X
(xt − µi )21√
γt (i)−
1σi2
T 2πi t=1

(3)

(4)

X
X
最終的に Fisher Vector GθX は勾配 Gµ,iと Gσ,iを全てのコン

ポーネントに対して求め、連結することで 2KD 次元のベクトルとなる。
本論文では、GMM のコンポーネントの数を 32、局所特徴
はともに PCA で 24 次元にしたため、特徴ベクトルはともに

1536 次元になった。従来手法の特徴ベクトルの次元数と同程度になるように設定した。そして、識別性能を高めるために、パワー正規化 (α = 0.5) と L2 正規化を適用した [4]。
4. 3 識 別 器
識別器に線形 SVM を用い、one-vs-rest 法によりマルチクラ
ス識別を行う。
スマートフォン上で認識を行うために、低コスト、低メモ
リで評価値を得られることが要求される。線形 SVM は、あらかじめサポートベクトルとサポートベクトルの重みを計算しておくことにより、データベクタ x と重みベクタ w の内
積 f (x) = hw, xi で与えられる。つまり、特徴ベクトルの次元
数 N に対し、計算コスト O(N ) のオペレーションで評価値を得ることができ、必要なメモリ量は O(N ) である。SVM は、
特徴量ごとに学習を行い、late fusion で結合した。SVM は
LIBLINEAR [18] を使用し、オフラインで学習した。
4. 4 実装実装は、一般的な 4 コア 4 スレッドデバイスを想定し、マルチスレッドによる並列処理を行った。HOG Patch、Color Patch
それぞれ 2 コアずつ用い並列処理した。特徴量の抽出、PCAによる次元圧縮、Fisher Vector にエンコーディング、パワー正

規化、L2 正規化、SVMs による識別を特徴量ごとにそれぞれ 2並列、合計 4 並列により処理した。

HOG Patch は最初に画像全体から勾配方向と勾配強度を算出しておくことで高速に局所特徴を抽出した。Fisher Vectorの平均に関する勾配 Eq.(3) は以下のようにすることで演算回数を減らし、高速化した。
X
Gµ,i
= √

T
1 1 X
γt (i)(xt − µi )πi σi T t=1(5)

GMM により事後確率を求める際や、平均や分散に関する勾配を求める際に必要になる項で、オフラインに計算可能な部
分はあらかじめ計算しておき、ルックアップテーブルを作成し高速化した (rt (i) を求める際に用いる log πi − 0.5 × log |Σi |、√√Eq.(4) の 1/ 2πi 、1/σ 2 、Eq.(5) の 1/ πi σi )。SVM はオフ
ラインで学習しておいた。そして、認識時に用いる値は全てメモリにロードしておいた (PCA のための固有値、固有ベクト
ル、作成したルックアップテーブル、GMM の平均、SVMs の重みベクタ)。多数メモリにロードしているが、Fisher Vector
は BoF よりも小さいコードブックで高い性能を示すことで可能
であり、局所特徴量の次元も小さく抑えている。Fisher Vector
生成のためにメモリにロードしておいた値は BoF のコードブッ
クよりも小さく、メモリ面においても優れている。

5. 実

験

5. 1 セットアップ
データセットは我々が構築した食事画像データセットを用いる。それは、サーバサイドの認識手法 [6] とクライアントサイ
ドの認識手法 [1] で用いられ、比較に適していると考えられる。
図 4 は、本論文の認識対象である 100 種類の食事のサンプルである。データセットは、各 100 枚以上ある食事 100 種類、合計
12,905 領域が人手でバウンディングボックスを付与されている。本論文では、特徴量を抽出する領域は、人手で与えられた
正しい食事領域とした。検証、テストに各 20 枚、残りを学習に使用し評価することを、ランダムにデータを入れ換え 5 回繰り返しその平均値で評価した。次に、認識時間を計測するために画像データが与えられ全ての識別器の評価値を得るまでの時間(認識時間) を計測した。比較とした従来手法での認識時間は、
本論文で用いていない食事性の高い方向推定に要した時間は含
めていない。今回実験に使用したデバイスは、Galaxy NoteI
I(1.6GHz 4 コア 4 スレッド Android4.1) であり、従来 [1] と同様である。

—4—

ごはん

うな重

ピラフ

親子丼

カツ丼

カレーライス寿司

チキンライス

チャーハン

天丼

ビビンバ

トースト

クロワッサン

ロールパン

ぶとうパン

惣菜パン

ハンバーガーピザ

サンドウィッチ

かけうどん

天ぷらうどん

ざるそば

ラーメン

チャーシュー
メン

天津麺

焼きそば

スパゲッティ

お好み焼き

たこ焼き

グラタン

野菜炒め

コロッケ

なすの油味噌

ほうれん草
炒め

野菜の天ぷら味噌汁

コーンスープウィンナーの
ソテー

おでん

オムレツ

がんもどきの
煮物

餃子

シチュー

魚の照り焼き

魚のフライ

鮭の塩焼

鮭のムニエル

刺身

さんまの塩焼

すき焼き

酢豚

たたき

茶碗蒸し

天ぷら盛り合
わせ

鶏の唐揚げ

豚カツ

南蛮漬け

煮魚

肉じゃが

ハンバーグ

ビーフステー
キ

干物

豚肉の生姜
焼き

麻婆豆腐

焼き鳥

ロールキャ
ベツ

卵焼き

目玉焼き

納豆

冷奴

春巻き

冷やし中華

チンジャオ
ロースー

角煮

筑前煮

海鮮丼

ちらし寿司

たい焼き

エビチリ

ローストチ
キン

シュウマイ

オムライス

カツカレー

スパゲッティ
ミートソース

エビフライ

ポテトサラダ

グリーンサ
ラダ

マカロニサ
ラダ

けんちん汁

豚汁

中華スープ

牛丼

おにぎり

ピザトースト

つけ麺

フライドポ
テト

ゴーヤーチャ
ンプルー

きんぴらご
ぼう

ホットドッグ

炊き込みご飯図 4 認識対象の 100 種類の食事のサンプル

表2 認識時間

0.9

time[sec] 認識対象数

0.8
0.7

ศ㢮⋡

0.6
0.5

SURF-BoF+色ヒストグラム [1]

0.26

50

HOG Patch-FV+Color Patch-FV

0.065

100

0.4

Ⰽ䝠䝇䝖䜾䝷䝮
Color Patch-BoF
Color Patch-FV
Color Patch-FV (flip)

0.3
0.2
0.1

て χ2 kernel feature map [14] を適用した。そのため、1500 次
元の特徴ベクトルになった。BoF 生成の際には、局所特徴群に

0
1

2

3

4

5

6

7

8

9

対し PCA を適用していない。SURF-BoF と HOG-BoF の認

10

ೃ⿵ᩘ

識精度の差は 1 位で 0.62%、5 位以内で 2.1%の性能低下のみ

図 6 色ヒストグラム、Color Patch-BoF、Color Patch-FV の分類率であった。FV にすることで SURF-BoF より 1 位で 2.70%、5位以内で 3.22%性能が向上した。そして、HOG は SURF と比1

較して高速なため本論文ではサンプリングの間隔を 6 ピクセル0.9にした。認識精度が上がり、さらに、左右反転した画像を学習

0.8

データに加えた (HOG-FV(flip)) 場合、SURF-BoF より 1 位

ศ㢮⋡

0.7
0.6

で 7.52%、5 位以内で 6.9%高い 36.3%、63.2%を達成した。左0.5

右反転した画像を加えることで、HOG の回転不変でない性質

0.4
0.3
0.2
0.1

SURF-BoF+Ⰽ䝠䝇䝖䜾䝷䝮
HOG Patch-FV+Color Patch-FV
HOG Patch-FV+Color Patch-FV (flip)
MKL

を補うことができたと考える。

4

0.76%、5 位以内で 2.28%のみ高い。だが、FV にすることで性能が劇的に上昇し、色ヒストグラムより 1 位で 13.0%、5 位以
内で 18.4%高くなった。左右反転を加えることでわずかに性能が向上し、1 位で 43.0%、5 位以内で 70.6%を達成した。
最後にアプリケーションとしての認識性能の評価を行う。
提案手法 (HOG Patch-FV+Color Patch-FV)、(HOG PatchFV+Color Patch-FV(flip)) と、従来の手法 (SURF-BoF+色ヒストグラム)、またサーバサイドの手法 [6] と比較を行う。[6]は複数品の食事の認識が主であるが、100 種類の単品の食事においても分類率を評価している。そのため、[6] で示されている
単品の食事において食事領域が与えられた際の食事 100 種類の分類率を示した (MKL)。結果を図 7、また 1 位と 5 位以内の結果を表 1 に示した。
実験結果は、HOG-FV+Color-FV の場合 1 位で 49.7%、5位以内で 77.6%を達成し、反転画像を加えた場合 1 位で 51.9%、
5 位以内で 79.2%を達成した。色特徴のみで従来の手法 [1] よりも高い認識性能となった。近年の食事画像認識の研究 [6, 19, 20]
で Fisher Vector を用いた食事画像認識は行われていないが、食事画像認識において色特徴を Fisher Vector で表現すること

次に、Color Patch の性能評価を行う。結果を図 6 に示した。Color Patch-BoF は色ヒストグラムより分類率が 1 位で

0
1

2

3

5

6

7

8

9

10

ೃ⿵ᩘ
図 7 提案手法とクライアントサイドの従来手法 [1]、サーバサイドの手法 [6] での分類率
表 1 提案手法とクライアントサイドの従来手法 [1]、サーバサイドの手法 [6] での 1 位と 5 位以内の分類率

認識手法

1 位 5 位以内

SURF-BoF+色ヒストグラム [1]

42.0

68.2

HOG Patch-FV+Color Patch-FV

49.7

77.6

HOG Patch-FV+Color Patch-FV(flip) 51.9

79.2

MKL [6]

51.6

76.8

5. 2 認 識 精 度
最初に、SURF-BoF と HOG Patch-BoF、HOG Patch-FVを比較し HOG Patch の性能評価を行う。結果を図 5 に示した。
SURF-BoF と同様にデンスサンプリングの間隔を 8 ピクセルにし、BoF は 500 次元とし soft assignment [13] を適用、そし—5—

により認識性能が大きく向上することが示された。そして、コストが非常に高い [6] の結果と同等以上の性能であった。従って、提案手法の有効性が示され、スマートフォン上で高精度に画像認識可能であることが示された。

5. 3 認 識 時 間
次に、認識時間を計測するために、20 回実験を行った。平均
認識時間について実験結果を表 2 に示した。比較として、従来の認識時間の実験値 [1] を示した。従来は認識対象 50 種類に対して 0.26 秒であった。提案手法では 100 種類の食事に対して
0.065 秒とより高速に認識可能であった。従って、高速な認識にも適していることが示された。
5. 4 使用メモリ量
メモリ面に関して、従来の手法では、SURF-BoF の次元数が1500 次元、色ヒストグラムの次元数が 1728 次元に対し、本論
文では HOG Patch-FV、Color Patch-FV ともに 1536 次元である。特徴ベクトルは密であるが、次元数はほぼ同じである。
そして、高速に Fisher Vector にエンコードするため多数メモ
リにロードしているが、それらの合計は BoF のコードブックと比較し HOG Patch の場合 5 分の 1 以下、Color Patch の場
合で 4 分の 1 以下のメモリ量である。実装したアプリケーショ
ンの Java ヒープ (主に画像処理系以外) は約 16MB、ネイティ
ブヒープ (主に画像処理系) は約 3MB であった。低メモリを実現している。さらに特徴ベクトルの高次元化や認識対象数を増加可能であることがわかる。

6. ま と め
スマートフォン上でより高速かつ高精度に画像認識を行う手法として、局所特徴量に HOG Patch と Color Patch 特徴を用い、Fisher Vector で表現し、線形識別器で高速に分類する手法を提案した。そして、従来アプリケーションの画像認識の面において改良をした。100 種類の食事に対して正しい食事領域が与えられた時、候補を 5 つ提示した際に 79.2%の認識精度であった。従来手法と比較して上位 5 位以内で 11.0%の精度向上である。また、サーバサイドのコストが非常に高い認識手法 [6]以上の性能が示された。そして、認識時間は、100 種類の認識対象に対して 0.065 秒であった。それは、認識対象が 50 種類であった従来の 0.26 秒と比較して 75.0%高速である。実験により提案手法の有効性と、スマートフォン上で高速かつ高精度
物体認識が可能であることを示した。
今後は以下のことを考えている。クラウドソーシングを利用し画像にアノテーションをすることで認識対象を増やし、ス
マートフォン上で大規模画像認識を行う。また、認識する領域
は手動で与えているため、高速な物体検出を行い、認識する領域を自動で決定する。
我々が提案した手法を実装した画像認識を用いた食事記録シ
ステムは以下で公開している。http://foodcam.jp.
文

献[1] Y. Kawano and K. Yanai. Real-time mobile food recognition
system. In Proc. of IEEE CVPR International Workshop
on Mobile Vision (IWMV), 2013.
[2] 河野憲之, 柳井啓司. 食事認識を用いたモバイル食事管理システ
ム. 第 5 回データ工学と情報マネジメントに関するフォーラム(DEIM), 2012.
[3] F. Perronnin and C. Dance. Fisher kernels on visual vocabularies for image categorization. In Proc. of IEEE Computer
Vision and Pattern Recognition, 2007.

[4] F. Perronnin, J. Sánchez, and T. Mensink. Improving thefisher kernel for large-scale image classification. In Proc. ofEuropean Conference on Computer Vision, 2010.
[5] K. Chatfield, V. Lempitsky, A. Vedaldi, and A. Zisserman.
The devil is in the details: an evaluation of recent feature
encoding methods. In Proc. of British Machine Vision Conference, 2011.
[6] Y. Matsuda, H. Hoashi, and K. Yanai. Recognition ofmultiple-food images by detecting candidate regions. In
Proc. of IEEE International Conference on Multimedia andExpo, 2012.
[7] K. Kitamura, T. Yamasaki, and K. Aizawa. Foodlog: Capture, analysis and retrieval of personal food images via web.
In Proc. of ACM Multimedia Workshop on Multimedia for
Cooking and Eating Activities, pp. 23–30, 2009.
[8] A. Mariappan, M. Bosch, F. Zhu, C.J. Boushey, D.A. Kerr,
D.S̃. Ebert, and E.J. Delp. Personal dietary assessment using mobile devices. In Proc. of the IS&T/SPIE Conference
on Computational Imaging VII, Vol. 7246, pp. 72460Z–1–
72460Z–12, 2009.
[9] N. Kumar, P. Belhumeur, A. Biswas, D. Jacobs, W. Kress,
I. Lopez, and J. Soares. Leafsnap: A computer vision system for automatic plant species identification. In Proc. ofEuropean Conference on Computer Vision, 2012.
[10] T. Lee and S. Soatto. Learning and matching multiscale
template descriptors for real-time detection, localizationand tracking. In Proc. of IEEE Computer Vision and Pattern Recognition, 2011.
[11] T. Maruyama, Y. Kawano, and K. Yanai. Real-time mobile recipe recommendation system using food ingredientrecognition. In Proc. of ACM MM Workshop on Interactive Multimedia on Mobile and Portable Devices(IMMPD),
2012.
[12] H. Bay, A. Ess, T. Tuytelaars, and L.V. Gool. Speededup robust features (SURF). Computer Vision and Image
Understanding, Vol. 110, No. 3, pp. 346–359, 2008.
[13] J. Philbin, O. Chum, M. Isard, J. Sivic, and A. Zisserman.
Lost in quantization: Improving particular object retrieval
in large scale image databases. In Proc. of IEEE Computer
Vision and Pattern Recognition, 2008.
[14] A. Vedaldi and A. Zisserman. Efficient additive kernels via
explicit feature maps. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012.
[15] D. G. Lowe. Distinctive image features from scale-invariant
keypoints. International Journal of Computer Vision,Vol. 60, No. 2, pp. 91–110, 2004.
[16] N. Dalal and B. Triggs. Histograms of oriented gradientsfor human detection. In Proc. of IEEE Computer Vision
and Pattern Recognition, 2005.
[17] G. Csurka, C. Bray, C. Dance, and L. Fan. Visual categorization with bags of keypoints. In Proc.of ECCV Workshop on Statistical Learning in Computer Vision (SLCV),
pp. 59–74, 2004.
[18] R. E. Fan, K. W. Chang, C. J. Hsieh, X. R. Wang, andC. J. Lin. LIBLINEAR: A library for large linear classification. The Journal of Machine Learning Research, Vol. 9,
pp. 1871–1874, 2008.
[19] M. Chen, Y. Yang, C. Ho, S. Wang, S. Liu, E. Chang,
C. Yeh, and M. Ouhyoung. Automatic chinese food identification and quantity estimation. In SIGGRAPH Asia 2012
Technical Briefs, 2012.
[20] M. Bosch, F. Zhu, N. Khanna, C. J Boushey, and E. J Delp.
Combining global and local features for food identificationin dietary assessment. In Proc. of IEEE International Conference on Image Processing, 2011.

—6—