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を用いた回帰による手法• 単品料理画像からカロリー量を直接出力

カロリー量を出力
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

21.8

25.7

49.9

55.3

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 (%)

クラス

1

牛乳

99.6

12 汁物

92.2

2

飲むヨーグルト

90.6

13 カレー

95.1

3ごはん

99.7

14 麻婆豆腐

99.8

4

混ぜごはん

82.7

15 ビビンバ

72.9

5

パン

95.5

16 焼きそば

79.9

6

食パン

83.7

17 パスタ

90.7

7

うどん

98.0

18 柑橘類

99.6

8

魚料理

78.3

19 りんご

98.5

9

肉料理

70.8

20 カップデザート93.1

10

サラダ94.0

21 その他

90.4

11

ミニトマト

100.0

mAP

90.7

ⓒ 2017 UEC Tokyo.

AP (%)

実験 : 学校給食画像の料理検出ⓒ 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.

まとめ• 複数料理写真からのカロリー量推定• Faster R-CNNによる料理検出• 複数料理写真からの合計カロリー量推定ⓒ 2017 UEC Tokyo.

今後• 検出とカロリー量推定のMulti-task学習+ カロリー量

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

23