2018/05/31 15:00-16:00
第112回 ロボット工学セミナー 「ロボットのための画像処理技術」
https://www.rsj.or.jp/seminar/s112/

第4話 3次元物体認識技術
産業技術総合研究所 人工知能研究センター

金崎 朝子

3D物体認識とは• 3Dデータを入力し、物体のカテゴリ推定結果を出力すること（物体識別）システム

スターゲイジーパイ

Cf.) 物体検出、物体検索、パーツセグメンテーション

3D物体認識の分類
RGBDベース

Point Cloudベース

K. Lai et al., Sparse Distance Learningfor Object Recognition Combining RGB
and Depth Information. ICRA, 2011.

C. Qi et al., PointNet: Deep Learning on
Point Sets for 3D Classification andSegmentation. CVPR, 2017.

Voxelベース

Multi-viewベース

Z. Wu et al., 3D ShapeNets: A Deep
Representation for Volumetric Shape
Modeling. CVPR, 2015.

H. Su et al., Multi-view Convolutional
Neural Networks for 3D ShapeRecognition. ICCV, 2015.

3D物体認識の分類
RGBDベース

Point Cloudベース

K. Lai et al., Sparse Distance Learningfor Object Recognition Combining RGBand Depth Information. ICRA, 2011.

C. Qi et al., PointNet: Deep Learning on
Point Sets for 3D Classification andSegmentation. CVPR, 2017.

Voxelベース

Multi-viewベース

Z. Wu et al., 3D ShapeNets: A Deep
Representation for Volumetric Shape
Modeling. CVPR, 2015.

H. Su et al., Multi-view Convolutional
Neural Networks for 3D Shape
Recognition. ICCV, 2015.

RGBDベースの3D物体認識（1/3）
Sparse Distance Learning for Object Recognition Combining RGB
and Depth Information
Kevin Lai, Liefeng Bo, Xiaofeng Ren, and Dieter Fox. IEEE ICRA, 2011.
世界初のRGB-D Object Dataset

マルチビューの距離の重み付和で距離計算
重みを学習する。
◆SIFT, color histograms, texton histograms◆

spin images, bounding box dimensions

A Large-Scale Hierarchical Multi-View
RGB-D Object Dataset
Kevin Lai, Liefeng Bo, Xiaofeng Ren, andDieter Fox. IEEE ICRA, 2011.

RGBDベースの3D物体認識（2/3）
MMSS: Multi-modal Sharable and Specific Feature Learning for
RGB-D Object Recognition
Anran Wang, Jianfei Cai, Jiwen Lu, and Tat-Jen Cham. IEEE ICCV, 2015.

pre-training

RGBD

multi-modal
feature learning

RGBD

最後のfully-connected層でRGBとDepthが共通部分を持つようDeep CNNを学習する

RGBDベースの3D物体認識（3/3）
Depth CNNs for RGB-D scene recognition: learning from scratch
better than transferring from RGB-CNNs
Xinhang Song, Luis Herranz, Shuqiang Jiang. AAAI, 2017.

• Depth画像はHHAコーディング、RGB画像のCNNをFine-tuningするのが常套手段。
• Depth CNNをスクラッチから学習する手法の提案。

Figure 5: Two-step learning of depth CNNs combining
weakly supervised pretraining and fine tuning.

HHA: horizontal disparity, height above ground, and angle with gravityの3チャンネル
S. Gupta+, Learning Rich Features from RGB-D Images for Object Detection and Segmentation, ECCV, 2014.

RGBDベースの3D物体認識（3/3）
Depth CNNs for RGB-D scene recognition: learning from scratch
better than transferring from RGB-CNNs
Xinhang Song, Luis Herranz, Shuqiang Jiang. AAAI, 2017.

• Depth画像はHHAコーディング、RGB画像のCNNをFine-tuningするのが常套手段。
• Depth CNNをスクラッチから学習する手法の提案。

Figure 5: Two-step learning of depth CNNs combining
weakly supervised pretraining and fine tuning.

HHA: horizontal disparity, height above ground, and angle with gravityの3チャンネル
S. Gupta+, Learning Rich Features from RGB-D Images for Object Detection and Segmentation, ECCV, 2014.

RGBDベースの3D物体認識（まとめ）• 基本は2.5次元（１フレームから適用可能）。
• Multi-viewベースと併用可能。
• Depth画像はHHAコーディングして、RGB CNNに似たDepth CNNを（Fine-tuning等で）学習するのが一般的。

3D物体認識の分類
RGBDベース

Point Cloudベース

K. Lai et al., Sparse Distance Learningfor Object Recognition Combining RGBand Depth Information. ICRA, 2011.

C. Qi et al., PointNet: Deep Learning onPoint Sets for 3D Classification andSegmentation. CVPR, 2017.

Voxelベース

Multi-viewベース

Z. Wu et al., 3D ShapeNets: A Deep
Representation for Volumetric Shape
Modeling. CVPR, 2015.

H. Su et al., Multi-view Convolutional
Neural Networks for 3D Shape
Recognition. ICCV, 2015.

Point Cloudベースの3D物体認識（1/4）

Spin Image
Johnson, Andrew E., and Martial Hebert. "Using spin
images for efficient object recognition in cluttered 3D
scenes." Pattern Analysis and Machine Intelligence,
IEEE Transactions on 21.5 (1999): 433-449.

Point Cloudベースの3D物体認識（2/4）
Unique signatures of histograms for local surface description[Tombari et al., ECCV2010]• SHOT記述子– デファクトスタンダードな3D点群記述子– PCLにも実装されている
各点まわりの局所領域を 8 x 2 x 2 に分割
各領域の法線ベクトル𝒏𝑣𝑖 と点の法線ベクトル𝒏𝑢 の内積𝑐𝑜𝑠𝜃𝑖 = 𝒏𝑣𝑖 ∙ 𝒏𝑢のヒストグラム

A combined texture-shape descriptor forenhanced 3D feature matching[Tombari et al., ICIP2011]• CSHOT記述子– SHOTのカラー版

Point Cloudベースの3D物体認識（3/4）
PointNet: Deep Learning on Point Sets for 3D Classification andSegmentation
Charles R. Qi*, Hao Su*, Kaichun Mo, and Leonidas J. Guibas. IEEE CVPR, 2017.
ローカル特徴抽出

グローバル特徴抽出

幾何変換•

回転不変性を確保するため、Sortした点群に直接Multi-layer perceptron（mlp）を適用
すると精度が悪い。かわりに、Max Poolingするのが良かった。

Point Cloudベースの3D物体認識（4/4）
SO-Net: Self-Organizing Network for Point Cloud Analysis
Jiaxin Li, Ben M. Chen, and Gim Hee Lee. IEEE CVPR, 2018.

••

順序不変な自己組織化マップ（SOM）を作り、k近傍探索で点群をSOMノードに割り当てる。点群特徴量はノード毎にMax Pooling→FC層へと渡される。
局所特徴量抽出部の雰囲気が従来の点群特徴量に近い。Cf.) FPFH [Rusu et al., 2009]

Point Cloudベースの3D物体認識（4/4）
SO-Net: Self-Organizing Network for Point Cloud Analysis
Jiaxin Li, Ben M. Chen, and Gim Hee Lee. IEEE CVPR, 2018.

••

順序不変な自己組織化マップ（SOM）を作り、k近傍探索で点群をSOMノードに割り当てる。点群特徴量はノード毎にMax Pooling→FC層へと渡される。
局所特徴量抽出部の雰囲気が従来の点群特徴量に近い。Cf.) FPFH [Rusu et al., 2009]

Point Cloudベースの3D物体認識（まとめ）• 回転不変な局所（ローカル）特徴量をどうとるか。
• 局所（ローカル）特徴量をどう大域（グローバル）特徴量に統合するか。
• 物体の回転に強い。
• パーツセグメンテーションに応用しやすい。

3D物体認識の分類
RGBDベース

Point Cloudベース

K. Lai et al., Sparse Distance Learningfor Object Recognition Combining RGB
and Depth Information. ICRA, 2011.

C. Qi et al., PointNet: Deep Learning on
Point Sets for 3D Classification andSegmentation. CVPR, 2017.

Voxelベース

Multi-viewベース

Z. Wu et al., 3D ShapeNets: A Deep
Representation for Volumetric Shape
Modeling. CVPR, 2015.

H. Su et al., Multi-view Convolutional
Neural Networks for 3D Shape
Recognition. ICCV, 2015.

Voxelベースの3D物体認識（1/2）
3D ShapeNets: A Deep Representation for Volumetric Shapes
Z. Wu, S. Song, A. Khosla, F. Yu, L. Zhang, X. Tang, and J. Xiao. IEEE CVPR, 2015.

•••

151,128 3D CAD models belonging to 660 unique object categories を30 x 30 x 30のボクセルデータに変換して、Deep Learningで学習。
Light Field descriptor [Chen et al. 2003], Spherical Harmonic descriptor [Kazhdan et al. 2003]と比較して高性能。

Voxelベースの3D物体認識（2/2）
Orientation-boosted Voxel Nets for 3D Object Recognition
N. Sedaghat, M. Zolfaghari, E. Amiri, and T. Brox. BMVC, 2017.

= 𝑁次元= 𝑁 ∙ 𝑀次元
マルチタスク ロス：•••••

垂直軸は固定で、そのまわり（azimuth）の回転を考える。
物体カテゴリ識別と姿勢（オリエンテーション）識別のマルチタスク学習。
テスト時は複数の回転姿勢のボクセルを入力し、カテゴリスコアを平均する。
テスト時にOrientation推定は使わない。（！）
マルチタスク学習によってカテゴリ識別精度が向上することを示した。

Voxelベースの3D物体認識（まとめ）• 低解像度（にせざるを得ない）のため認識精度は高くない。
• （アーキテクチャを改良すれば精度は上がるような気がする。）• 回転にどう対応するか？という問題がある。

3D物体認識の分類
RGBDベース

Point Cloudベース

K. Lai et al., Sparse Distance Learningfor Object Recognition Combining RGBand Depth Information. ICRA, 2011.

C. Qi et al., PointNet: Deep Learning on
Point Sets for 3D Classification andSegmentation. CVPR, 2017.

Voxelベース

Multi-viewベース

Z. Wu et al., 3D ShapeNets: A Deep
Representation for Volumetric Shape
Modeling. CVPR, 2015.

H. Su et al., Multi-view Convolutional
Neural Networks for 3D Shape
Recognition. ICCV, 2015.

Multi-viewベースの3D物体認識（1/2）
Multi-view Convolutional Neural Networks for 3D Shape Recognition
H. Su, S. Maji, E. Kalogerakis, and E. Learned-Miller. IEEE ICCV, 2015.

• VGG-MアーキテクチャのCNN• 中間層（Conv5）の後にView pooling層を入れて情報統合• ModelNet40にて、ボクセルベースのShapeNetsと比べて8%性能向上 (77% → 85%)

ModelNet
http://modelnet.cs.princeton.edu/•••

40種類のModelNet40と10種類のModelNet10がある。
2018/05/09現在

1位： RotationNet
Multi-viewベース

2位： PANORAMA-ENN
パノラマベース

3位： VRN Ensemble
ボクセルベース ※精度は怪しい
元祖Multi-viewベースCNN
元祖ボクセルベースCNN

パノラマベースの3D物体認識
Ensemble of PANORAMA-based Convolutional Neural Networks for
3D Model Classification and Retrieval
K. Sfikas, I. Pratikakis and T. Theoharis. Computers and Graphics, 2018.
••••••

主成分分析でx, y, z軸を決定する。
z軸方向を縦として物体を囲む円柱を立てる。
円柱に物体表面上の点を投影する。
左右対称性が最大の点を基準とする。
x, y, z各軸に対して勾配等3チャンネル画像を作成。
CNNに入力・スコアをlate fusionする。

PANORAMA-ENN

Multi-viewベースの3D物体認識（2/2）
RotationNet: Joint Object Categorization and Pose Estimation Using
Multiviews from Unsupervised Viewpoints
Asako Kanezaki, Yasuyuki Matsushita, and Yoshifumi Nishida. IEEE CVPR, 2018.

••
•
•
•

一連のマルチビュー画像を入力とするCNN。
物体のカテゴリと姿勢（各画像の対応する視点）を同時に推定する。
学習画像の視点情報は教示不要。（自動アラインメント機能）
テスト時に入力するマルチビュー画像は1枚～数枚でOK。
ModelNet10, 40でSOTA、SHREC’17のトラック1とトラック3で優勝。

RotationNet – 背景 –Multi-view Convolutional Neural Networks for 3D Shape Recognition
H. Su, S. Maji, E. Kalogerakis, and E. Learned-Miller. IEEE ICCV, 2015.

① テスト時も学習時と同じ数だけのマルチビュー画像を同時入力せねばならない② （回転不変性確保のため）
画像の順序情報を捨てているRotationNet – モチベーションと課題 –画像の順序を保持して、順序依存表現にすれば性能が上がる！
①

②

③

④

⑫⑤

⑪

⑥
⑩

⑨⑧

【課題１】 各画像がどの視点に対応するかを推定せねばならない⑦⇒⑧？

【課題2】 データベース内の物体の姿勢が揃っていない（ex. ModelNet）

自動的に向きを揃えなければならない【課題3】 テスト時に全ての画像が観測できない場合がある（ex. オクルージョン）
テスト時は１枚～任意枚数の入力画像で認識できなければならないRotationNet – 提案手法 –Forward:• 各画像に対して、各視点における物体カテゴリ尤度を出力する。
※物体カテゴリ尤度＝𝑁クラスのうちどれかあるいはどれでもない（別の視点から撮られた画像である； incorrect view）の𝑁 + 1クラスの識別スコア• 視点の個数を𝑀とすると、𝑀個の𝑀(𝑁 + 1)次元ベクトルを出力する。
• 掛け合わせたときの正解物体スコアが最大になるよう視点を割り当てる。
Backward:• 割り当てられた視点に対応する正解物体カテゴリ尤度が1になる勾配を求めてSGDする。

RotationNet – 学習時の自動姿勢調整の様子（動画） –RotationNet – デモ動画 –https://kanezaki.github.io/rotationnet/
動画を見てください☺

SHREC2017 - 3D Shape Retrieval Contest 2017
Eurographics 2017 Workshop on 3D Object Retrieval, http://liris.cnrs.fr/eg3dor2017/– RGBD物体データからCADモデルを検索– 3Dハンドジェスチャー認識– 大規模3D形状検索
７トラック中２トラックに– タンパク質形状識別参加し一位を獲得！
– 非剛体玩具の点群形状検索– 欠陥のある非剛体形状検索– レリーフパターン検索
両トラックでRotationNetを使用
ポイント:
検索タスクだけど物体識別が使えた！
• カテゴリラベル付きのTrain, Valデータが配られた。
• テストデータのカテゴリを識別して、クエリの（推定）カテゴリに対して識別スコアの高い順に物体を提示するという戦法をとった。

トラック１： RGBD物体データからCADモデルを検索

クエリのRGBデータに対し検索結果に同じカテゴリの物体がどれだけ含まれるかを競う• CADモデルデータを学習した識別器を、RGBDデータでFine-tuningすることで性能が向上した。
• 優勝！

学習有学習無トラック３：大規模3D形状検索（1/2）

クエリのCADモデルに対し検索結果に同じカテゴリの物体がどれだけ含まれるかを競う• タスク１：姿勢が揃っている、タスク２：姿勢がバラバラ• タスク１の方で優勝！

トラック３：大規模3D形状検索（2/2）

クエリのCADモデルに対し検索結果に同じカテゴリの物体がどれだけ含まれるかを競う• タスク2はPoint Cloudベースが優勝（やはり回転に強い…）•

ただしView数を増やすとRotationNetが勝つ（コンペ後の追加実験の結果。）

Multi-viewベースの3D物体認識（まとめ）••••現状、性能が一番高い。
実装が簡単（複数画像をバッチに押し込むだけ）。
連続画像（動画像）にも適用可能。
見たことない視点からの認識に弱い。
（視点の数を増やすと性能が上がる。）

3D物体認識の分類（所感）RGBDベース• 2.5次元。
• Multi-viewベースと併用可能。
• Depth画像はHHAコーディング。

Point Cloudベース
••
•
•
•

Multi-viewベース

Voxelベース••

低解像度のため性能が高くない。
回転に弱い。

回転不変な局所特徴抽出が肝。
大域特徴への統合も肝。
物体の回転に強い。
性能は高くない。
パーツセグメンテーションに応用できる。

••••

性能が高い。
実装が簡単。
連続画像（動画像）にも適用可能。
見たことない視点からの認識に弱い。

その他のアプローチ： パノラマベースも認識精度が高い。ただ、姿勢は揃える必要あり。

おまけ（デモ）• Tango対応スマホとROSでSLAMする。

Wi-Fi

ZenFone AR

Tango ROS Streamerというアプリを入れるだけ
http://wiki.ros.org/tango_ros_streamer

UbuntuROSrviz