第 17 回画像の認識・理解シンポジウム

FoodCam256: 線形識別器の重み圧縮を用いた
256 種類食事認識アプリケーション
河野 憲之1,a)

佐藤 享憲1,b)

原田 浩睦1,c)

下田 和1,d)

柳井 啓司1,e)

比較しエラー率が最少になる数を求め，設定した．

1. はじめにᅽ⦰๓䛾㔜䜏䛾ศᕸ

従来はモバイルデバイスからネットワークを経由して高性能な計算機にデータを送信し，処理した結果を再びモバイ

0.1

0.08

0.08

0.06

0.06

0.04

0.04

0.02

0.02

00-1
-0.92
-0.84
-0.76
-0.68
-0.6
-0.52
-0.44
-0.36
-0.28
-0.2
-0.12
-0.04
0.04
0.12
0.2
0.28
0.36
0.44
0.52
0.6
0.68
0.76
0.84
0.92

ルデバイスに送信していた．だが，通信コストがかかる，

0.12

0.1ネットワーク環境に依存する，計算機に処理が集中するなどの問題がある．そこで，スマートフォン上で画像認識を行うことで，これらの問題を克服する．だが，高次元多数

-1
-0.92
-0.84
-0.76
-0.68
-0.6
-0.52
-0.44
-0.36
-0.28
-0.2
-0.12
-0.04
0.04
0.12
0.2
0.28
0.36
0.44
0.52
0.6
0.68
0.76
0.84
0.92

近年，スマートフォンの普及し，性能が向上している．

ᅽ⦰䛻䜘䜛㔜䜏䛾๭䜚ᙜ䛶

0.12

1. 圧縮前2. 圧縮後

図 2 左：圧縮前，右：1 次元あたり 2bit に圧縮後の重みの割り当て
表 1 識別器の重み圧縮による認識性能の評価．4bit，2bit は [2] での圧縮，2bit’ は本研究での圧縮．の識別モデルを全てメモリ上に保持することはメモリの制約があるスマートフォンでは困難である．
我々は以前，食事画像データセットの自動拡張を行っ圧縮なし

4bit2bit2bit’(α = 0.23)

Top-1

52.85

51.84

48.20

51.95

Top-575.51

74.75

71.76

74.79

た [3]．また，識別器の重み圧縮によりスマートフォン上で 1000 種類の一般物体認識を行った [2]．本研究では，こ3. 実験

れら 2 つの研究を踏まえ，認識対象を図 1 に示した 256 種

識別器の重み圧縮なしの場合，[3] での圧縮の場合，本研類に増加し，識別器の重み圧縮を適用することにより，食究での圧縮の場合で認識精度の評価を行う．表 1 に Top-1，事認識アプリケーション [1] の拡張を行う．

Top-5 の認識結果を，図 2.2 に圧縮による重みの割り当てを

2. 識別器の重み圧縮示した．量子化時に重みの割り当てを考慮することで，1 次圧縮前の識別器の重みの分布を図 2.1 に示した．[2] では，スカラ量子化による圧縮を行い，1 次元あたり 2bit にすると性能が低下した．識別器の重みは 0 付近に多く分布する結果になっており，割り当てを工夫することで，圧縮性能が向上することが期待される．そこで，以下により重元あたり 2bit で表現しても認識性能の低下は 0.90%のみであった．また，認識時間は，Galaxy s5（2.6GHz, Android4.4.2）で計測し，平均 0.1608 秒であった．高速に認識可能であることがわかる．

4. まとめみの各要素に対し，nbit に圧縮し非負整数を割り当てた．

本研究では，認識対象数の増加と識別器の重み圧縮の適

wi0 = wi /α用により，食事認識アプリケーションの拡張を行った．識0.999999

00
wi0wi =

−1

(1)

別器の重み圧縮では，1 次元あたり 2bit まで下げても認(wi0 ≥ 1)

(2a)

識精度はほどんど低下しないことを実験により示した．な(−1 ≤ wi0 < 1)(2b)

お，拡張した認識システムは公開している*1 ．

(wi0 < −1)(2c)wi000 = bwi00 × 2n−1 + 2n−1 c

(3)

参考文献
[1]

α は正の実数であり，検証セットを用い圧縮なしの場合と1a)b)c)d)e)

電気通信大学大学院 情報理工学研究科 総合情報学専攻
182–8585 東京都調布市調布ヶ丘 1–5–1
kawano-y@mm.inf.uec.ac.jp
sato-ta@mm.inf.uec.ac.jp
harada-h@mm.inf.uec.ac.jp
shimoda-k@mm.inf.uec.ac.jp
yanai@cs.uec.ac.jp

〒

[2]
[3]

*1

Kawano, Y. and Yanai, K.: FoodCam: A Real-time Food
Recognition System on a Smartphone, Multimedia Toolsand Applications (2014). (in press).
Kawano, Y. and Yanai, K.: ILSVRC on a Smartphone,
画像の認識・理解シンポジウム（MIRU） (2014).
河野憲之, 柳井啓司.: 既存食事カテゴリの活用とクラウド
ソーシングによる食事画像データセットの自動拡張, 画像の認識・理解シンポジウム（MIRU） (2014).
http://foodcam.jp

1

第 17 回画像の認識・理解シンポジウム

been curdfamily style(ᐙᖖ㇋⭉)bakedsalmon(ⅽ୕ᩥ劬)

loco moco

adobo

lumpiaapple pie᳡ⴀ㲮᤼㦵㣤
⮯㇋⭉
⅗㠃
(salt & pepper(pork cutlet) (stinky tofu) (chow mein) fried shrimpwith shell)

browniemeat loaf malasada 䝬䞁䝂䞊䝥䝸䞁(mangopudding)ลาบไก่ส้ มตําราดหน้ า(Thai papaya (spicy chicken (Pork Stickysalad)salad)
Noodles)㞧↻(zoni)

䛚྾䛔≀䜒䛪䛟(clear soup) (mozuku)ข้ าวมันไก่ (boned,แกงส้ ม (hotหมูสะเต๊ ะand sour, fish sliced Hainan(pork satay)
and vegetable style chicken
withmarinatedragout)ข้ าวซอ(khao soi)䝠䝺䜹䝒(pork filletcutlet)

ayam
gorengἈ⦖䛭䜀䝯䞁䝏䜹䝒(minced mear (okinawasoba)
cutlet)

bubur
ayam

laksa

⨺⫗୵ⅽ呝
(lamb kebabs) (roast duck)᭶㣰(moon cake)mie ayam ayam bakar nasi udukrice)babi gulingpancake

popcorn∵⫗㯝(beefNoodlesoup)churro䛱䜓䜣䜍䜣୵䜹䝒(kamameshi) (kushikatu) (champon)jambalaya 㔩㣤ᆅ୕勌 (dishConsisting of䬵ໟ⫗
stir-fried potato,ᅇ䬵⫗(twice cooked (fried pork eggplant andpork)in scoop) green pepper䝻䞊䝇䜹䝒䛚⢛(rice grue) ((pork loin䝏䜻䞁䜹䝒 㤿่䛧䛚䛧䜛䛣 ᮥோ(almond j(thinly sliced((chicken(oshiruko) Elly)
cutlet))raw horsemeat)⵨᤼㦵(steamedSpareribs)㓟㎥⊔༡⎩侬ඵᐆ依(hot &(chinese(eightpumpkin pie) treasure rice) sour soup)ต้ มยํากุ้ง
เนื !อผัดนํ !ามันหอย
(Sour(beef inprawn soup) oyster sauce)mie goreng nasi campur

Bánh cuốnBún bò Huế
milk-flavored(hue beef rice (steamed crepes withvermicelli soup) rice roll)
shrimp and beef)cutlet))ᑠ⡲ໟ(xiao long bao)⺮᧡(custardtart)⺠௘↦(oysterOmelette)

Ⅻ䞡㠃(zha jiangmian)

ᇛಖ呑୎(kung paochicken)劬㤶ⱳᏊ(eggplantwith garlicsauce)㓒✗⤞Ꮚཤ(braised pork ෤⎩⊔meat ball with (winternapa cabbage) melon soup)ขาหมู(stewedpork leg)คอหมูยา่ งข้ าวหมูแดงข้ าวหน้ าเป็ ด(charcoal- ปี กไก่ทอด
(barbecued(rice withboiled pork (deep fried
red pork inroast duck)chicken wing)necksauce with rice)ข้ าวหมูกรอบ(rice crispypork)เกี !ยวนํ !า,(wontonSoup)

หมี"กรอบ(crispyNoodles)ข้ าวซอย(egg noodle
In chicken
yellow curry)ต้ มข่า(coconutmilk soup)

gulai

paellatiramisù
(tiramisu)

waffleshortcakefrench toast

minestrone

pot au feu

bagel

scone

nachosrare cheese
cake

chop
suery

masurrom

risottofine white
noodles

chickennuggetnamerofrenchbreaddoughnut

parfaithot pot(ⅆ䬵)

Pork belly(ᮾᆜ⫗)

mincedpork rice(㩃⫗㣤)

glutinous
oil ricetrunipPudding(⹛⶞⢽)

lemon fig
jelly (ឡ⋢)

laulauspam
musubi

oxtailsoupnasi
gorengnasi
padangkaya
toast

bak kutteh

currypuff㨶୸‫‮‬(fish ballsoup)

three cupchicken(୕ᮼ呑)Chè trôi nước(glutinousrice balls)

॥ʎ(jjigae)Ο‫י‬(samul)

green
curry

dak galbi

dry curryricevermicelli

tanmen(⊔㠃)yellow
curry

crape

ham cutlet

tortilla

scrambledegg

lasagnacaesarsaladoatmealfried pork
dumplings cream puff
served In
soup (Ỉ㣯)

Chicken rice
Curry with
Coconut(ข้ าวหมกไก่)vermicelli
noodleswith snails(Bún ốc)fried springrolls(Nem rán)shrimppatties(Bánh tô)ball shaped
Bun with pork(Bánh bao)㨶୸‫‮‬(fish ballsoup)⺠௘↦(oysterOmelette)

Ⅻ䞡㠃(zha jiangmian)

ᇛಖ呑୎(kung paochicken)

劬㤶ⱳᏊ(eggplantwith garlicsauce)tacos

Stir-fried
noodles with fried mussel
mixed
Pancakes
vegetables fish curry(ขนมจีนนํ !ายา)(ผัดผักรวม)(หอยทอด)ᑠ⡲ໟ(xiao long bao)⺮᧡(custardtart)∵⫗㯝(beefNoodlesoup)haupia㓒✗⤞Ꮚཤ(braised pork ෤⎩⊔meat ball with (winternapa cabbage) melon soup)⵨᤼㦵(steamedSpareribs)

Phở(pho)㓟㎥⊔༡⎩侬ඵᐆ依(hot &(chinese(eightpumpkin pie) treasure rice) sour soup)หมูมะนาว(Pork withlemon)

Bánh xèo(coconutrice gratin

broiledeel bowl

muffincrullers(Ἔ᮲)

yudofuinarizushiต้ มยํากุ้งเนื !อผัดนํ !ามันหอย
(Sour(beef inprawn soup) oyster sauce)หมูมะนาว(Pork withlemon)

図 1 認識対象の 256 種類の食事．

2