CNNによる複数品食事画像の同時カロリー推定とそのモバイル実装
會下拓実

丹野 良介

柳井啓司

電気通信大学大学院 情報理工学研究科 情報学専攻

背景 : 食事画像カロリー量推定
カロナビ

Foodlog

量の選択

料理をクロップ
料理の種類や量を手入力選択

栄養士による食事画像からのカロリー量推定
有料サービス

食事画像からのカロリー量推定は未解決の問題ⓒ 2017 UEC Tokyo.

2背景 : 複数品目に対する食事画像認識

複数品目を認識することで少ない手間で記録することが可能ⓒ 2017 UEC Tokyo.

研究目的
複数料理写真からの同時カロリー量推定
さんまの塩焼き 221kcal

ごはん 168kcal

サラダ 35kcal

味噌汁 60kcal

冷奴 42kcalⓒ 2017 UEC Tokyo.

関連研究 : カロリー量推定• Im2Calories [Myersら 2015]– CNNによるクラス分類, セグメンテーション, 深度推定
– 食材情報とボリュームからカロリー量を推定

Myers et al. Im2calories: towards an automated mobilevision food diary. In Proc. of IEEE International
Conference on Computer Vision, 2015.
ⓒ 2017 UEC Tokyo.

5

関連研究 : 料理検出
• CNN-based Food Image Segmentation [下田ら 2015]– 各候補領域のサリエンシーマップを生成– 領域情報からバウンディングボックスを推定

W. Shimoda and K. Yanai. CNN-based food image segmentation without pixel-wise annotation.
In Proc. of IAPR International Conference on Image Analysis and Processing, 2015.
ⓒ 2017 UEC Tokyo.

6

提案手法 : 概要
複数料理写真からの同時カロリー量推定
Faster
R-CNN[1]

料理検出

Single-task[2]
CNN [2]60 kcal

カロリー量推定[1] S. Ren et al. Faster R-CNN: Towards realtime object detection with region proposal networks. NIPS 2015.
[2] T. Ege and K. Yanai. Simultaneous estimation of food categories and calories with multi-task cnn. MVA 2017.
ⓒ 2017 UEC Tokyo.

7

手法 : 料理検出
Faster R-CNNの導入• システム全体のend-to-endな学習が可能• ２つのモジュールで構成される
Fast R-CNN detector

画像全体を一度だけCNNに投入
クラス分類と矩形回帰の同時学習

Region Proposal Network (RPN)

CNNベースの候補領域検出の手法
Fast R-CNN detectorと計算を共通化
S. Ren et al. Faster R-CNN: Towards realtime object detection with region proposal networks. NIPS 2015.
ⓒ 2017 UEC Tokyo.

手法 : カロリー量推定
CNNを用いた回帰による手法• 単品料理画像から1人分のカロリー量を直接出力１人分のカロリー量fc6fc8c335 kcal

Conv layers ( VGG16 )Ege and Yanai. Simultaneous estimation of food categories and calories with multi-task cnn. MVA 2017.
ⓒ 2017 UEC Tokyo.

9手法 : カロリー量推定
CNNを用いた回帰による手法• 損失関数 𝐿𝑐𝑎𝑙
– 相対誤差 𝐿𝑟𝑒 と絶対誤差 𝐿𝑎𝑏 の線形和

𝑦𝑖 : 画像 𝑥𝑖 から推定されたカロリー量
𝑔𝑖 : 正解カロリー量ⓒ 2017 UEC Tokyo.

10

実験• Faster R-CNNによる料理検出– UEC Food-100[1]– 学校給食画像• 複数料理写真からのカロリー量推定– 合計カロリー量付き学校給食画像[1] Y. Matsuda, H. Hajime, and K. Yanai. Recognition of multiple-food images by detecting candidate regions.
In Proc. of IEEE International Conference on Multimedia and Expo, 2012.
ⓒ 2017 UEC Tokyo.

実験 : UEC Food-100の料理検出• UEC Food-100– 料理100カテゴリ, 各カテゴリ100枚以上– 学習に単品画像11,566枚,テストに複数料理画像1,174枚を使用ⓒ 2017 UEC Tokyo.

実験 : UEC Food-100の料理検出• 比較のために下田ら[1]の評価方法に従う– 評価指標としてPASCAL VOC detection taskのmean Average Precision(mAP) を使用.
100カテゴリ テスト画像枚 テスト画像枚
数≧10の数≧50の53カテゴリ
11カテゴリ

R-CNN
下田らの手法 (BP)[1]

26.0
49.9

21.8
55.3

25.7
55.4

Faster R-CNN

42.0

46.3

57.9

[1] W. Shimoda and K. Yanai. CNN-based food image segmentation without pixel-wise annotation.
In Proc. of IAPR International Conference on Image Analysis and Processing, 2015.
ⓒ 2017 UEC Tokyo.

実験 : UEC Food-100の料理検出ⓒ 2017 UEC Tokyo.

実験 : 学校給食画像の料理検出• 学校給食画像データセット– 料理20カテゴリ, 合計3941枚– 学習に80%, テストに20%を使用ⓒ 2017 UEC Tokyo.

実験 : 学校給食画像の料理検出
クラス

AP (%)クラス

AP (%)

1

牛乳

99.6

92.2

2

飲むヨーグルト

90.6

12 汁物
13 カレー

3ごはん

99.7

99.8

4

混ぜごはん

82.7

14 麻婆豆腐15 ビビンバ

5パン

95.5

79.9

6

食パン

83.7

16 焼きそば17 パスタ

7

うどん

98.0

99.6

8

魚料理

78.3

18 柑橘類
19 りんご9

肉料理70.893.1

10サラダ

94.0

20 カップデザート
21 その他

11ミニトマト

100.0

mAP

90.7

ⓒ 2017 UEC Tokyo.

95.1

72.9
90.7

98.5
90.4

実験 : 学校給食画像の料理検出ⓒ 2017 UEC Tokyo.

実験 : 複数料理写真からのカロリー量推定• 合計カロリー量付き給食画像データセット– 千葉県印西市給食センターブログから収集– 合計690枚, すべてテストに使用
Faster R-CNNの学習にはBB付き学校給食画像を使用

FasterR-CNN[1]料理検出
Single-task
CNN[2]

60 kcal

学習にカロリー量付き食事画像
データセット[2]を使用

カロリー量推定ⓒ 2017 UEC Tokyo.

実験 : 複数料理写真からのカロリー量推定• Faster R-CNNにより「牛乳」 と分類された料理に関しては134kcalとする• カロリー量推定評価指標– 絶対誤差(kcal)： 𝑦𝑖 − 𝑔𝑖𝑦 −𝑔– 相対誤差(%)： 𝑖𝑔 𝑖𝑖– < 20% (相対誤差)(%)：相対誤差20%より小さい推定値の割合
相対誤差(%)

絶対 < 20% < 40%
誤差 (相対誤 (相対誤(kcal) 差)(%) 差)(%)

単品料理カロリー量推定[1]30.2 105.7

4376

複数料理合計カロリー量推定21.4 136.8

53.0

85.1

ⓒ 2017 UEC Tokyo.

実験 : 複数料理写真からのカロリー量推定ⓒ 2017 UEC Tokyo.

失敗例ⓒ 2017 UEC Tokyo.

モバイル実装 : 複数料理写真からのカロリー量推定
食事検出＋カロリー推定 (処理フロー)
1.
2.
3.

YOLOv2で食事検出検出された各食事領域のバウンディングボックス情報から画像をクロップ
クロップした各食事画像をカロリー値を推定するCNNの入力とする
Food Detection

YOLOv2
Calorie Estimation

Inceptionv3
23518 kcal

スパゲッティ

ⓒ 2017
UEC Tokyo.
YOLOv2 : J. Redmon,A. Farhadi, YOLO9000: Better, Faster, Stronger, CVPR 2017

CoreMLを用いたiOSアプリ実装フローⓒ 2017 UEC Tokyo.

食事検出＋カロリー推定(デモ動画)

25

Tanno, R., Ege, T. and Yanai, K.: DeepCalorieCam: An iOS App for DishDetection and Calorie Estimation, Proc. of International Workshop onⓒ 2017 UEC
Tokyo.Management (MADIMA) (2017)
Multimedia AssistedDietary

AR表示版ⓒ 2017 UEC Tokyo.

まとめ• 単品料理検出• 複数料理写真からのカロリー量推定• モバイル実装ⓒ 2017 UEC Tokyo.

今後• 検出とカロリー量の同時推定+ カロリー量YOLOv2
YOLOv2 : J. Redmon, A. Farhadi , YOLO9000: Better, Faster, Stronger, CVPR 2017ⓒ 2017 UEC Tokyo.

29