陰関数表現とRGB-D画像を用いた
食事と食器の実寸三次元再構成

成冨志優 柳井啓司

電気通信大学 大学院 情報学専攻

はじめに• 食事のカロリー量/栄養管理などは重要なトピック。
• 様々な手法/アプリケーションが研究開発されている。
• しかし多くが平面的認識、或いは食事は平皿上にあるという前提。
Depth based
Sensor based

2D based[Ege et al., IEICE2018][CalorieCaptorGlass, IEEE VR 2020][Im2Calories, ICCV 2015]

1

研究の目的• 食事を立体的に認識するため、三次元再構成を行う。

食事画像

食事

食器
2

研究の目的• 食事を立体的に認識するため、三次元再構成を行う。

食事と食器を同時に再構成

食事画像

食事

食器
3

研究の目的• 食事を立体的に認識するため、三次元再構成を行う。

食事と食器を同時に再構成

食事画像

食事

双方の体積の差分から食品の体積を計算

食器
4

提案手法

陰関数表現5陰関数表現とは

2221if𝑥+𝑦+𝑧≤
1𝑓(𝑥, 𝑦, 𝑧) = ቊ0 otherwise

単位球6陰関数表現とは

2221if𝑥+𝑦+𝑧≤
1𝑓(𝑥, 𝑦, 𝑧) = ቊ0 otherwise

単位球7陰関数表現とは

2221if𝑥+𝑦+𝑧≤
1𝑓(𝑥, 𝑦, 𝑧) = ቊ0 otherwise

単位球8陰関数表現とは

2221if𝑥+𝑦+𝑧≤
1𝑓(𝑥, 𝑦, 𝑧) = ቊ0 otherwise

占有率in/out

単位球

9陰関数表現とは

2221if𝑥+𝑦+𝑧≤
1𝑓(𝑥, 𝑦, 𝑧) = ቊ0 otherwise

占有率in/out
𝑑𝑛𝑛 𝑥, 𝑦, 𝑧 𝑋) 𝑋 : 特徴量
学習対象

単位球10

過去の研究: Hungry Networks[1]• 単一の RGB 画像を入力に食事と食器の三次元形状を高解像度に再構成する陰関数表現を用いた手法。
point∈ ℝ3
image

decoder1

Dishmarching
Occupancy cubes
fieldsencoderPlate
decoder2

point∈ ℝ3

marching
Occupancy cubes
fields[1] Naritomi, S. and Yanai, K : Hungry Networks: 3D Mesh Reconstruction of a Dish and a Plate from a Single Dish Image for Estimating Food Volume.
ACM Multimedia Asia 2020.

11

過去の研究: Hungry Networks[1]• 単一の RGB 画像を入力に食事と食器の三次元形状を高解像度に再構成する陰関数表現を用いた手法。
point∈ ℝ3
image

decoder1

Dishmarching
Occupancy cubes
fieldsencoder

Plate
decoder2

Global feature point∈ ℝ3marching
Occupancy cubes
fields[1] Naritomi, S. and Yanai, K : Hungry Networks: 3D Mesh Reconstruction of a Dish and a Plate from a Single Dish Image for Estimating Food Volume.
ACM Multimedia Asia 2020.

12

過去の研究: Hungry Networks[1]• 単一の RGB 画像を入力に食事と食器の三次元形状を高解像度に再構成する陰関数表現を用いた手法。
占有率場を推論
point∈ ℝ3
image

decoder1

Dishmarching
Occupancy cubes
fieldsencoder

Plate
decoder2

Global feature point∈ ℝ3marching
Occupancy cubes
fields[1] Naritomi, S. and Yanai, K : Hungry Networks: 3D Mesh Reconstruction of a Dish and a Plate from a Single Dish Image for Estimating Food Volume.
ACM Multimedia Asia 2020.

13

過去の研究: Hungry Networks[1]ACM Multimedia Asia 2020[1]で発表• 単一の RGB 画像を入力に食事と食器の三次元形状を高解像度に再構成する陰関数表現を用いた手法。
占有率場を推論
point∈ ℝ3
image

decoder1

Dish
水密なMeshmarching
Occupancy cubes
fieldsencoder

Plate
decoder2

Global feature point∈ ℝ3

体積を計算しやすい

marching
Occupancy cubes
fields[1] Naritomi, S. and Yanai, K : Hungry Networks: 3D Mesh Reconstruction of a Dish and a Plate from a Single Dish Image for Estimating Food Volume.
ACM Multimedia Asia 2020.

14

過去の研究: Hungry Networks[1]• 高精度な食事と食器の再構成/体積推定を実現。

16

Hungry Networks の課題• 再構成された三次元形状は正規化されている。

食品の実際の体積を知りたい。

[-0.5, 0.5]

何らかの手段で実寸計測する必要がある。
17

Hungry Networks の課題• 再構成された三次元形状は正規化されている。

食品の実際の体積を知りたい。

[-0.5, 0.5]

何らかの手段で正規化されているため学習がうまくいく。

実寸計測する必要がある。
18

Hungry Networks の課題• 再構成された三次元形状は正規化されている。
食品の実際の体積を知りたい。
[-0.5, 0.5]
何らかの手段で実寸を計測する必要がある。

正規化されているため学習がうまくいく。

19

提案手法

陰関数表現 + 単一 RGB-D 画像= 実寸三次元再構成

20

単一 RGB-D 画像 からの食事と食器の実寸三次元再構成と体積推定

カメラモデル + 深度画像 → 実寸

21

単一 RGB-D 画像 からの食事と食器の実寸三次元再構成と体積推定

カメラモデル + 深度画像 → 実寸
[Apple 公式サイトから引用]

22

単一 RGB-D 画像 からの食事と食器の実寸三次元再構成と体積推定

カメラモデル + 深度画像 → 実寸
[Apple 公式サイトから引用]

体積推定 → 完全な三次元形状を再構成する必要性

23単一 RGB-D 画像 からの食事と食器の実寸三次元再構成と体積推定

カメラモデル + 深度画像 → 実寸
[Apple 公式サイトから引用]

体積推定 → 完全な三次元形状を再構成する必要性

カメラモデル + 深度画像 + 三次元再構成をどのように統合するか。
24

関連研究

• PIFu[3]: RGB画像から人の三次元再構成

PIFu[3]から引用[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 2019

25

関連研究

• PIFu[3]: RGB画像から人の三次元再構成

PIFu[3]から引用[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 2019

世界座標上の 𝑋 ∈ 𝑅3と画像座標上の 𝑥 ∈ 𝑅2 の対応を計算。
26

関連研究

画像座標𝑥に対応する• PIFu[3]: RGB画像から人の三次元再構成 特徴量と深度を入力に占有率を推論

PIFu[3]から引用[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 2019

世界座標上の 𝑋 ∈ 𝑅3と画像座標上の 𝑥 ∈ 𝑅2 の対応を計算。
27

関連研究

画像座標𝑥に対応する• PIFu[3]: RGB画像から人の三次元再構成 特徴量と深度を入力に占有率を推論①特定の視点からの画像でしか再構成できない②入力画像中に占める物体の大きさの正規化③正規化された空間での再構成(実寸ではない)
PIFu[3]から引用[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 2019

世界座標上の 𝑋 ∈ 𝑅3と画像座標上の 𝑥 ∈ 𝑅2 の対応を計算。
28

関連研究

• RGB-D画像を用いた三次元再構成

Li らの手法[4]から引用

Hou らの手法[5]から引用[4] RGBD Based Dimensional Decomposition Residual Network for 3D Semantic Scene Completion, CVPR 2019[5] RevealNet: Seeing Behind Objects in RGB-D Scans, CVPR 2020

29

関連研究

• RGB-D画像を用いた三次元再構成

3D Gridに画像特徴量をBack projection

Li らの手法[4]から引用

Hou らの手法[5]から引用[4] RGBD Based Dimensional Decomposition Residual Network for 3D Semantic Scene Completion, CVPR 2019[5] RevealNet: Seeing Behind Objects in RGB-D Scans, CVPR 2020

30

関連研究

• RGB-D画像を用いた三次元再構成

3D Gridに画像特徴量をBack projection

Li らの手法[4]から引用

DepthをTSDF(3D Grid)に変換
Hou らの手法[5]から引用[4] RGBD Based Dimensional Decomposition Residual Network for 3D Semantic Scene Completion, CVPR 2019[5] RevealNet: Seeing Behind Objects in RGB-D Scans, CVPR 2020

31

関連研究

• RGB-D画像を用いた三次元再構成

3D Gridに画像特徴量をBack projection

Li らの手法[4]から引用①3D Convolutionが必須(計算コストが高い)

DepthをTSDF(3D Grid)に変換②再構成結果が低解像度なボクセル
Hou らの手法[5]から引用[4] RGBD Based Dimensional Decomposition Residual Network for 3D Semantic Scene Completion, CVPR 2019[5] RevealNet: Seeing Behind Objects in RGB-D Scans, CVPR 2020

32

手法

• RGB-D画像を用いて、実寸通りの食事と食器の三次元形状を高精度/高解像度に再構成する陰関数表現を用いた手法を提案。

Dish

RGB-D Image
Occupancy
decoder1
fieldsmarching
cubes

MethodCameraparameter

Plate
Occupancy
fieldsmarching
cubes

33

手法

• RGB-D画像を用いて、実寸通りの食事と食器の三次元形状を高精度/高解像度に再構成する陰関数表現を用いた手法を提案。

実寸通りの占有率場
Dish

RGB-D Image
Occupancy
decoder1
fieldsmarching
cubes

MethodCameraparameter

Plate
Occupancy
fieldsmarching
cubes

34

手法

• RGB-D画像を用いて、実寸通りの食事と食器の三次元形状を高精度/高解像度に再構成する陰関数表現を用いた手法を提案。

実寸通りの占有率場
Dish

RGB-D Image
Occupancy
decoder1
fieldsmarching
cubes

MethodCameraparameter

高精度高解像度

Plate
Occupancy
fieldsmarching
cubes

35

手法

• RGB-D画像を用いて、実寸通りの食事と食器の三次元形状を高精度/高解像度に再構成する陰関数表現を用いた手法を提案。

実寸通りの占有率場
Dish

RGB-D Image
Occupancy
decoder1
fieldsmarching
cubes

MethodCameraparameter

Plate
Occupancy
fields

高精度
高解像度

marching
cubes

3D Convolution
不要

36

手法

• RGB-D画像を用いて、実寸通りの食事と食器の三次元形状を高精度/高解像度に再構成する陰関数表現を用いた手法を提案。

実寸通りの占有率場
Dish

RGB-D Image
Occupancy
decoder1
fieldsmarching
cubes

MethodCameraparameter

Plate
Occupancy
fields

高精度
高解像度

marching
cubes

3D Convolution
不要
任意の視点に対応
37

手法• RGB-D画像を用いて、実寸通りの食事と食器の三次元形状を高精度/高解像度に再構成する陰関数表現を用いた手法を提案。

実寸通りの占有率場
Dish

RGB-D Image
Occupancy
decoder1
fieldsmarching
cubes

MethodCameraparameter

Plate
Occupancy
fields

高精度
高解像度

marching
cubes

3D Convolution
不要
任意の視点に対応
38

ネットワーク概要図39

ネットワーク概要図

この点の占有率を推論
40

ネットワーク概要図

RGB-Dそれぞれの特徴量を抽出

この点の占有率を推論
41

ネットワーク概要図

RGB-Dそれぞれの特徴量を抽出(u,v)

この点の占有率を推論
42

ネットワーク概要図

RGB-Dそれぞれの特徴量を抽出
Distance(u,v)

この点の占有率を推論
43

手法

RGB-Dそれぞれの特徴量を抽出
Distance(u,v)

この点の占有率を推論
サンプリング44

ネットワーク概要図

RGB-Dそれぞれの特徴量を抽出
Distance(u,v)

サンプリング

この点の占有率を推論
サンプリング45

ネットワーク概要図

RGB-Dそれぞれの特徴量を抽出
Distance
サンプリング(u,v)

サンプリング

この点の占有率を推論
サンプリング46

ネットワーク概要図

事前に計算したdistanceRGB-Dそれぞれの特徴量を抽出
Distance
サンプリング(u,v)

サンプリング

この点の占有率を推論
サンプリング47

ネットワーク概要図

事前に計算した
distance

占有率を推論

RGB-Dそれぞれの特徴量を抽出
Distance
サンプリング(u,v)

サンプリング

この点の占有率を推論
サンプリング48

深度画像の活用

実寸通りの再構成を実現するために三次元形状の正規化を行わない事で発生する課題

49

深度画像の活用• 本来正規化を行う事で学習を可能にする• X, Y, Z 軸それぞれ 一定の区間 (例えば -0.5 ～ 0.5) の空間で占有率場を推論。
• 物体に含まれていそうな座標を学習できる。

①物体の大きさ②原点が物体中心を正規化[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 201950

深度画像の活用• 本来正規化を行う事で学習を可能にする• X, Y, Z 軸それぞれ 一定の区間 (例えば -0.5 ～ 0.5) の空間で占有率場を推論。
• 物体に含まれていそうな座標を学習できる。

距離一定①物体の大きさ②原点が物体中心を正規化①物体の大きさ、②カメラと物体までの距離を正規化(PIFu[3])[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 201951

深度画像の活用• 本来正規化を行う事で学習を可能にする• X, Y, Z 軸それぞれ 一定の区間 (例えば -0.5 ～ 0.5) の空間で占有率場を推論。
• 物体に含まれていそうな座標を学習できる。

距離一定①物体の大きさ②原点が物体中心を正規化

実寸は分からない。

①物体の大きさ、②カメラと物体までの距離を正規化(PIFu[3])[3] PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization, ICCV 201952

深度画像の活用

可視表面までの距離のサンプリング
Cameracamera ray

正規化している場合
(絶対的)

本手法
(相対的)

53

深度画像の活用

可視表面までの距離のサンプリング
Cameradepth from
depth map

camera ray

正規化している場合
(絶対的)

本手法
(相対的)

54

深度画像の活用

可視表面までの距離のサンプリング
Cameradepth from
depth map

distance

camera ray

正規化している場合
(絶対的)

本手法
(相対的)

55

深度画像の活用

可視表面までの距離のサンプリング
Cameradepth from
depth map

distance

camera ray

正規化している場合
(絶対的)

本手法
(相対的)

56

深度画像の活用

可視表面までの距離のサンプリング
Cameradepth from
depth map

distance

可視表面からの符号付きオフセット

camera ray

正規化している場合
(絶対的)

本手法
(相対的)

57

深度画像の活用

可視表面までの距離のサンプリング
Cameradepth from
depth map

distance

可視表面からの符号付きオフセット

camera ray

正規化している場合
(絶対的)

本手法
(相対的)

58

深度画像の活用

可視表面までの距離のサンプリング
Cameradepth from
depth map

distance

可視表面からの符号付きオフセット

camera ray

正規化している場合
(絶対的)

本手法
(相対的)

59

深度画像の活用

形状に関する特徴量の抽出• 深度値サンプリング• ピクセル単位の情報• ピクセル周辺の表面形状に関する特徴を見逃している。
• CNNで抽出して利用。

60

深度画像の活用

形状に関する特徴量の抽出• 今までの活用方法• ピクセルレベルでサンプリング。

• ピクセル周辺の表面形状に関する特徴を見逃している。
• CNNで抽出して利用。

61

深度画像の活用

形状に関する特徴量の抽出• 今までの活用方法• ピクセルレベルでサンプリング。

• ピクセル周辺の表面形状に関する特徴を見逃している。
• CNNで抽出して利用。

62

ネットワーク

学習最終的なロスはHungry Networksと同様

63

データセット

RGB-D 画像のレンダリング

Image dataset A

Image dataset B64

データセット

RGB-D 画像のレンダリング

Image dataset A

深度の分布が多様

Image dataset B65

実験• エンコーダは3種類。
• Custom UNet : UNet likeな自作ネットワーク• ResNet50 (Layer 4) : ResNet50 の最終レイヤーの特徴量を用いる• ResNet50 (Layer 1-4) : ResNet50 の4つの中間レイヤーの特徴量を用いる

入力は全て
3 x 224 x 224

66

実験

• エンコーダは3種類。
• Custom UNet : UNet likeな自作ネットワーク• ResNet50 (Layer 4) : ResNet50 の最終レイヤーの特徴量を用いる• ResNet50 (Layer 1-4) : ResNet50 の4つの中間レイヤーの特徴量を用いる

入力は全て
3 x 224 x 224

67

実験

• エンコーダは3種類。
• Custom UNet : UNet likeな自作ネットワーク• ResNet50 (Layer 4) : ResNet50 の最終レイヤーの特徴量を用いる• ResNet50 (Layer 1-4) : ResNet50 の4つの中間レイヤーの特徴量を用いる

入力は全て
3 x 224 x 224

68

実験

内容

①食事と食器の三次元再構成• エンコーダの比較

69食事と食器の三次元再構成 : エンコーダの比較

IoU =重なり率

dish ー plate = food (食品)

encoder

IoU (dish)↑

IoU (plate)↑

食品体積誤差 (cm3)↓

相対食品体積誤差↓

Custom UNet

0.702

0.534

46.04613.0 %

ResNet50
Layer 4

0.636

0.437

99.12937.7 %

ResNet50
Layer 1-40.558

0.470

54.29316.6 %70

食事と食器の三次元再構成
MethodInput

CustomUNet

ResNet50
Layer4

ResNet50
Layer1-471

食事と食器の三次元再構成
MethodInput

CustomUNet

ResNet50
Layer4

ResNet50
Layer1-472

食事と食器の三次元再構成
MethodInput

CustomUNet

ResNet50
Layer4

ResNet50
Layer1-473

食事と食器の三次元再構成
MethodInput

CustomUNet

ResNet50
Layer4

ResNet50
Layer1-474

実験②4種類の深度画像の活用手法の比較• 深度値サンプリング (S)• CNNで特徴量抽出 (C)• S+C• 利用しない(None)

エンコーダには先ほどの実験でもっと良い精度だった
Custom UNet75

4種類の深度画像の活用手法の比較• 定量的結果• S : 深度値サンプリング• C : 深度特徴量 (CNN)

Depth

Valid

IoU (dish)↑

IoU (Plate)↑

食品体積(cm3)↓

相対食品体積誤差↓

C+S

24/24

0.567

0.407

51.24

15.0 %

C24/24

0.534

0.337

90.29125.9 %

S

23/24

0.365

0.124

104.12232.0 %

None

1/24

invalidinvalidinvalidinvalid764種類の深度画像の活用手法の比較
Input
MethodDish

CustomUNet(S + C) Plate

Dish

CustomUNet(C) Plate774種類の深度画像の活用手法の比較

Input

CustomUNet(S + C)

CustomUNet(C)78

4種類の深度画像の活用手法の比較

Input

CustomUNet(S + C)

CustomUNet(C)
79まとめ• 単一 RGB-D 画像 からの食事と食器の実寸三次元再構成と体積推定• 正規化を行わずに、実寸通りの三次元形状を再構成• 新しい深度画像の活用手法• 高精度な再構成 + 実体積推定を実現

80