SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Aoki Media Sensing Lab., Keio Univ.
慶應義塾大学 秋月秀一(助教)
3D物体検出とロボットビジョンへの応用
-3D点群処理の基礎と位置姿勢推定のしくみ-
第24回画像センシングシンポジウム
2018/06/15
Aoki Media Sensing Lab., Keio Univ.
自己紹介:秋月秀一(あきづきしゅういち)
 所属
 慶應義塾大学 理工学部電子工学科 助教(有期)
 中京大学 人工知能高等研究所特任研究員
 経歴
 2014年3月 中京大学大学院修士課程 修了
 2016年9月 中京大学大学院博士課程 修了 博士(情報科学)
 2016年度 日本学術振興会特別研究員(DC2, PD)
 2017年度- 現職
 連絡先
 akizuki@elec.keio.ac.jp
2
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. データ構造
2. 基本的な処理
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. ロボットアームによるピッキングの例
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
3
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. データ構造
2. 基本的な処理
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. ロボットアームによるピッキングの例
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
4
Aoki Media Sensing Lab., Keio Univ.
本チュートリアルの目標
1. 3次元点群処理に興味を持っていただく
2. 基本的な処理から物体の位置姿勢推定まで,一通りの3次
元点群処理の仕組みがわかるようになる
3. 上記のアルゴリズムを実際に試すことができるようになる
5
Aoki Media Sensing Lab., Keio Univ.
研究の興味
 3次元物体認識(特に点群データを利用したもの)とロボッ
トアプリケーションへの応用
6
高信頼な
キーポイントマッチング
ISVC2015
信学論2016
精密工学会誌2018ECCV2016WS
精密工学会誌2014
SHOT 特徴+提案 LRF
複数物体位置姿勢の同時認識 機能属性の推定
3D トラッキング
電学論2013
ばら積み物体認識
Aoki Media Sensing Lab., Keio Univ.
研究の興味
 3次元物体認識(特に点群データを利用したもの)とロボッ
トアプリケーションへの応用
7
部品ピッキングロボット, 2013-15 日用品の操作, 2017-
NEDOプロジェクト
Amazon Robotics Challenge, 2015-17
物流ロボットの国際コンペ
三菱電機,中京大,中部大合同チーム
3 次元点群(特に3Dセンサで取得したもの)は実スケールの情報が
得らえるので,ロボットアプリケーションの開発に適している
Aoki Media Sensing Lab., Keio Univ.
3次元点群処理の活躍の場
8
ロボットピッキング
(対象物の位置姿勢認識)
形状モデリング
(デスクトップサイズから部屋規模,建物規模)
自動運転
(LiDARからの物体検出)
https://www.microsoft.com/ja-jp/hololens/hardware
http://redwood-data.org/indoor_lidar_rgbd/index.html
https://news.voyage.auto/an-introduction-to-lidar-the-key-self-driving-car-sensor-a7e405590cff
http://www.3ders.org/articles/20151209-best-3d-scanners-2015.html
http://people.sutd.edu.sg/~saikit/projects/sceneNN/shrec18/index.html
AR/MR
(エンターテイメント,医療,作業支援)
検索
(3D形状同士の検索)
Aoki Media Sensing Lab., Keio Univ.
点群処理ライブラリ・可視化ツール
 点群処理ライブラリ
9
Point Cloud Library Open3D
Cloud CompareMeshLab
 可視化ツール
Aoki Media Sensing Lab., Keio Univ.
RGBD カメラの種類
 Active Stereo
 赤外線プロジェクタ,IRカメラ,RGBカメラで構成される.
 赤外光のパターン光を投影して測距をおこなう.
 Time of Flight (ToF)
 投光,受光の位相差によって距離を計測
 距離,可視画像が同軸
 Passive Stereo
 ラフに広範囲の距離を取得することが得意.
 距離精度は高くないので,点群というよりもそのままの画像と
して処理することに向いている.
10
Aoki Media Sensing Lab., Keio Univ.
様々な RGBD カメラ(Active stereo, ToF, Passive stereo の順)
名称 距離解像度(最大)
フレームレート
(最大解像度時)
計測距離 画角(H, V)
Intel
RealSense D435
1280x720 90fps 0.11 - 10.0m 85°, 58°
Intel
RealSense D415
1280x720 90fps 0.16 - 10.0m 63°, 40°
Orbbec
Astra & Pro
640x480
30fps
0.6 - 8.0m 60°, 49.5°
occipital
Structure sensor
640x480 60fps
0.4 - 3.5m
58°, 45°
Panasonic
GC1
320x240 24fps
- 12.0m
55°, 41°
90°, 70°
pmd
Pico Monster
352x287 60fps
0.5 - 6.0m 100°, 85°
Asus
Xtion2
640x480 30fps 0.8 - 3.5m 74°, 52°
LIPS
LIPSedge DL
640x480 30fps 0.2 - 1.2m
75.4°,
60.2°
STEREOLABS
ZED
4416x1242
3840x1080
15fps
(解像度下げると高
速になる)
0.5 - 20.0m 90°, 60°
11
※画像はメーカーHPより引用しています
Aoki Media Sensing Lab., Keio Univ.
RGBD カメラの比較
 Active Stereo
 解像度,フレームレートが両立し始めた.
 最近のモデルは精度を犠牲にしがち.Intel SR300が最も精度が
高い印象.
 ToF
 屋外でも利用可能なモデルが多い.
 フレームレートの高さが押しであったはずが,Active Stereoに
抜かれた?
 Passive Stereo
 受動的な測距をおこなう手法.
 2つのRGBカメラで三角測量をおこなう.
12
Aoki Media Sensing Lab., Keio Univ.
計測データの比較
13
センサ名 SR300 D415 D435 Structure sensor
ボトル △ラベルのみ撮れる △透明部分が歪む △透明部分が歪む △ラベルのみ撮れる
光沢面(黒) × △不安定だが計測可 △不安定だが計測可 〇
細い部品(黒) ×細さより色が問題 〇 △ ×
プラスチック(黒) × 〇 〇 〇
木材 〇 〇 〇 〇
光沢面(青) 〇 〇 〇 〇
陶器 〇 〇 △歪みが出た 〇
プラスチック(白) 〇 〇 〇 〇
まとめ
奥行きの撮影範囲,材質・
色に関する制限があるが,
最も精度が高い.
この条件では最も良好.
後ろの壁など遠くでは誤差
が目立つ.
広角に撮影できる分,対象
物が低解像度になってし
まった?
数フレームの合成結果が得
られるので比較的良好?
ボトル(透明)
光沢面(黒)
光沢面(青)
陶器
プラスチック(白)木材
プラスチック(黒)
細い部品(黒)
Aoki Media Sensing Lab., Keio Univ.
計測データの比較(点群の可視化)
14
左から,SR300, D415, D435, Structure sensor
Aoki Media Sensing Lab., Keio Univ.
D415の計測データ(法線マップ,テクスチャ)
15
平面の比較:
光沢面の法線マップは
凹凸がある
円柱の比較:
透明素材だと法線マップ
の凹凸が目立つ
木材は特に良好
法線マップ テクスチャ付き点群
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. データ構造
2. 基本的な処理
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. ロボットアームによるピッキングの例
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
16
Aoki Media Sensing Lab., Keio Univ.
データ構造(点群データ)
 x, y, z のデータ列で表現された形状データ
 3Dメッシュモデルの頂点座標群
 3Dセンサで計測された座標群
17
Points
x y z
0 -0.03 0.12 0.01
1 -0.04 0.13 0.00
2 -0.06 0.15 0.04
: : : :
n 0.03 0.11 0.03
 
 T
i
i
zyx
niP
,,
,...,0


p
p点群:
点:Stanford bunny の点群
p0 p1
p2
Aoki Media Sensing Lab., Keio Univ.
点群データのバリエーション
 様々な情報を点群に追加して表現することが可能
18
+法線方向 +ラベル +RGB
色情報や濃度勾配を
利用した特徴量抽出
セグメンテーション
問題の Ground Truth
法線方向を利用した
特徴量抽出,
光源を使ったリアルな
CG レンダリング
上記の付加情報は併用されることも多い
Aoki Media Sensing Lab., Keio Univ.
 3つの頂点(点)を結んだ三角パッチの集合
データ構造(メッシュデータ)
19
Stanford bunny のメッシュ
Points
x y z
0 -0.03 0.12 0.01
1 -0.04 0.13 0.00
2 -0.06 0.15 0.04
: : : :
n 0.03 0.11 0.03
faces
頂点1 頂点2 頂点3
0 0 1 2
1 2 1 3
2 1 4 5
: : : :
m 5430 2001 2030
faces には接続する点の番号が記載
Aoki Media Sensing Lab., Keio Univ.
データ構造(RGBD画像)
 RGB画像+距離画像のペア
 点群データをRGB画像の座標系に射影して作成することも可能
20
RGB画像に重ね合わせた距離画像
距離画像
RGB画像
対応する色と距離が画像上で同一座標を示すので,処理の都合が非常に良い
(距離値を使った背景除去,2Dカーネルによるフィルタ処理等)
点群or
Aoki Media Sensing Lab., Keio Univ.
RGBD 画像の作り方
 透視投影モデルを利用
 実世界の Pworld と画像平面への射影Pimg の関係は下記の通り
21
X
Y
Z
レンズ中心
x
y
Pworld( X, Y, Z )
Pimg= (i, j)
画像平面
内部パラメータ
f : 焦点距離
ここではx,y共通の値とする
ci, cj:画像中心
多くのRGBDカメラでは
内部パラメータを知る
ための機能がある.
Aoki Media Sensing Lab., Keio Univ.
RGBD 画像の作り方
 画像としてレンダリングする際は画像中心 (ci, cj) を考慮して
オフセットする.
 画素値についてはデータセットによって異なるので注意.
 ほとんどの文献ではそこまで触れていない.
 ミリメートルをそのまま画素値にする,[0,255]で正規化,など.
22
jc
Z
Y
fj ic
Z
X
fi 
このまま点群を投影するとずれが発生する場合がある.
投影先の画像(RGB画像)の原点と点群の原点が一致して
いるかどうか確認.
一致していない場合:
点群データをずれの量だけオフセットさせる.
Intel Realsense SR300だと,約 2.6 cmずれている.
Aoki Media Sensing Lab., Keio Univ.
RGBD画像のフォーマット例(Open3Dの標準形)
23
RGB画像
8bits x 3ch
距離画像
16 bits(unsigned short) x 1
ちなみに...
画像ビューワで表示すると真っ黒だが,色
調補正すると映っているものがわかる
color_raw = read_image(“color.png”)
depth_raw = read_image(“depth.png”)
rgbd_image = create_rgbd_image_from_color_and_depth( color_raw, depth_raw )
pcd = create_point_cloud_from_rgbd_image( rgbd_image, camera_intrinsic )
RGB画像の読込
距離画像の読込
RGBD画像の生成
点群の生成
カメラの内部パラメータ
(焦点距離,画像中心)
距離画像の各画素はミリメートル
単位の距離値を入れておく.
(未計測点にはゼロを入れる.)
RGB画像,距離画像からRGBD画像と点群を生成するコードの例
生成された点群
RGBD画像
Aoki Media Sensing Lab., Keio Univ.
基本的な処理
 フィルタリング
 サンプリング,ノイズ除去,背景除去等の画像処理でもお馴染
みの前処理
 法線推定
 各点の向きを計算する処理.画像処理で言うと勾配方向
 近傍点探索
 キーポイント検出器,特徴抽出,種々の統計量計算等のために
効率よく対象のデータを取り出す方法
24
Aoki Media Sensing Lab., Keio Univ.
フィルタリング(ダウンサンプリング)
 処理時間の高速化に利用される手法.
 3次元空間を一定サイズのボクセルで離散化.各ボクセル内の点
群データの平均値を代表点とする
 スケールを保ったまま密度が疎になる
25
座標系
長さ 0.1m
0
5000
10000
15000
20000
25000
0 0.002 0.004 0.006 0.008 0.01
点数[pts.]
ダウンサンプリングサイズ [m]
ダウンサンプリングが処理時間
に与える影響は非常に大きい
一番左と比べて
1.7%の点数
21529点 7128点 1406点 376点
Aoki Media Sensing Lab., Keio Univ.
Statistical Outlier Removalによるノイズ除去
 計測結果が不安定になる点を除去する(距離センサによくあ
るノイズ)
 不安定な点は周囲の点に対して孤立しやすい
→「孤立性」を指標としたフィルタリングをおこなう
26
1. 点piに対して周囲 k 点との平均距離
diを計算.(※ diは正規分布に従う
と仮定)
2. 下記の条件をチェックしてインライ
アとアウトライアを決める.
outlieriselse
inlierisdthdif
i
ii
p
p)( 



1
1
,
i
k
id
k
d
距離センサに起きやすい突発的
なノイズを削除できる
処理結果:赤点が削除された点群
Aoki Media Sensing Lab., Keio Univ.
フィルタリング(クロッピング)
 Region of Interest (ROI) の設定に相当.指定範囲のデータを
取り出して,その範囲だけに処理を適用する.
 3次元的なボリュームを指定する方法.
 関数フィッティングによる方法.
27
Aoki Media Sensing Lab., Keio Univ.
3次元的なボリュームを指定する方法
 3次元的なROIを指定し,その中のデータのみを取り出す.
28
2DのROIによる切り出し.背景が混入する.
3DのROIによる切り出し.イスのみを切り出すことができる.
Aoki Media Sensing Lab., Keio Univ.
関数フィッティングによる方法
 RANSAC による平面フィッティング
 例:机の上の物体の取り出し
 机は平面でできているので,その部分だけを抜き出してしまえばよい
 RANSAC で入力点群から平面方程式 ax+by+cz+d = 0 を算出し,それに合致す
る点を削除する.
29
入力画像 処理前後の点群データ平面部分以外の
取り出し結果
3次元的な構造を使ってマスクをおこなえば
RGB画像だけでは解決しにくいデータ処理が可能になる
Aoki Media Sensing Lab., Keio Univ.
近傍点探索1
 点群は離散的・整列されていないデータなので,局所的な処
理が苦手(例:特定の点周りのデータの平均値の計算)
 画像処理では簡単:1ピクセル隣に最近傍のデータが格納され
ていることが保証されている
30
Stanford bunnyの点の並び.
下から上に向かってidが割り振ら
れているが,隣のidが空間的に近
くにあるわけではない.
近傍点探索が効率化するように
事前に空間分割しておくことが一般的.
Aoki Media Sensing Lab., Keio Univ.
近傍点探索2
 kd tree
 2分木で構成された空間分割のためのデータ構造
 kd treeで使われる探索方法
 KNN:k近傍をサーチ
 RNN:特定の距離内をサーチ
 RKNN:上記を混ぜた方法
 特定の範囲内で列挙する点数に
上限を設けることができる.
31
赤:クエリ点
緑:クエリ点の
半径0.01m内の点
F
C
H
E
A
B
G
A
B
C
EF
G
H
x軸分割
y軸分割
x軸分割
2次元データ(左)の kd tree の例(右)
Aoki Media Sensing Lab., Keio Univ.
法線推定1
 PCA を利用した方法
 共分散行列の最小固有値の固有ベクトルが法線
32
共分散行列
近傍点の総数
固有ベクトル
 

k
k
i
k
k
T
ii
kk 11
1
,))((
1
ppppppC
}2,1,0{,  jjjj vvC  固有ベクトル v1 , v2
固有ベクトル v2= 法線
012  
Aoki Media Sensing Lab., Keio Univ.
法線推定2
 固有ベクトルの向きは不定なので,法線方向を修正する
33
法線をそのまま表示した例
修正後の法線分布
裏向きの部分
(失敗) 表向きの部分
(成功)
 “視点位置”を設定し,そちらに向く方向を正とする
視点位置 v
0)(  ii npv
この条件を満たす法線 ni の方向を正とする
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. 基本的な処理
2. データの取得方法
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. ロボットアームによるピッキングの例
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
34
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングによる位置姿勢推定
 シーン中に存在する対象物の位置姿勢(並進,回転)を推定
する手法
 対象物の3Dモデルをシーンへ照合し,誤差を最小化する位置姿
勢を算出する.
35
入力シーン3D モデル
入力シーンの外観
入力データ 出力データ
位置姿勢に基づいて
3Dモデル重畳した結果
対象物
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの手順
 全体の手順(後でOpen3Dのコード例を紹介するので,その手順で紹介します.)
36
キーポイント
検出
データ入力 特徴量記述
RANSACに
よる姿勢推定
ICPによる
精密位置決め
入力点群
視点の異なるスキャンデータ
姿勢変換行列
4x4
source target
Aoki Media Sensing Lab., Keio Univ.
キーポイント検出
 特徴量を計算するための点を少数選択する.
 この例では単なるダウンサンプリング結果を特徴点とした.
37
ダウンサンプリング結果の点群
Aoki Media Sensing Lab., Keio Univ.
特徴量記述 (FPFHの例)
 各キーポイントに対して多次元ベクトルとしての特徴量を算
出する.
 FPFH 特徴(33次元)fFPFH(p)
 キーポイントと近傍点の組を多数生成する.
 2 点の位置関係( α,θ,φ,pt - ps )を計算し,ヒストグラム化 = SPFH
 各キーポイントからSPFHを算出しておき,近傍点のSPFHを統合 = FPFH
38
ps
pt
v=(pt-ps)×u
法線 ns=u
w=u×v
v
u
w
法線 nt
pt-ps
φ
α
θ
R. B. Rusu, et al., ”Fast Point Feature Histograms(FPFH) for 3D Registration”, IEEE Proc. ICRA, pp.3212-3217, 2009.
Aoki Media Sensing Lab., Keio Univ.
特徴量間の照合処理
 類似する特徴量同士を対応付ける
 基本的な方法:特徴量間のユークリッド距離を閾値にする方法
39
  ||||, baba d
fFPFH(p) fFPFH(q)
Aoki Media Sensing Lab., Keio Univ.
特徴量間の照合処理
 類似する特徴量同士を対応付ける
 基本的な方法:特徴量間のユークリッド距離を閾値にする方法
 これだけでは誤った対応点が発生する
40
・視点の違いにより見えていた部分が消え,
見えていなかった部分が出現する.
・外乱物体の混入によるデータ欠損.
・よく似た形状の別部分の存在.
赤:正解の対応,青:誤った対応
局所的な形状の類似性評価の限界
  ||||, baba d
fFPFH(p) fFPFH(q)
Aoki Media Sensing Lab., Keio Univ.
RANSACによる誤った対応の除外&姿勢推定①
 問題設定
ミスを含む対応群から正しい対応付けのみを選択し,姿勢変換行
列を推定する
41
対応 (source, target)
= ( 0, 1),
( 1, 2),
( 5, 10),
( 8, 10),
(10,20),
(15,42),
(32, 7),
(60,40),
:
正しい対応
誤った対応
入力データの例
(対応点の見た目とデータとしての対応)
この時点では,どれが正しくてどれが誤っているのかわからない.
Aoki Media Sensing Lab., Keio Univ.
RANSACによる誤った対応の除外&姿勢推定②
 以下のステップの繰り返し
1. 対応のランダムサンプリング
2. 枝刈り処理
3. 姿勢推定・整合性チェック
42
対応 (source, target)
= ( 0, 1),
( 1, 2),
( 5, 10),
( 8, 10),
(10,20),
(15,42),
(32, 7),
(60,40),
:
Aoki Media Sensing Lab., Keio Univ.
RANSACによる誤った対応の除外&姿勢推定③
 以下のステップの繰り返し
1. 対応のランダムサンプリング
2. 枝刈り処理
3. 姿勢推定・整合性チェック
43
対応 (source, target)
= ( 0, 1),
( 1, 2),
( 5, 10),
( 8, 10),
(10,20),
(15,42),
(32, 7),
(60,40),
:
4つの対応をランダムサンプリングした例.
Aoki Media Sensing Lab., Keio Univ.
RANSACによる誤った対応の除外&姿勢推定④
 以下のステップの繰り返し
1. 対応のランダムサンプリング
2. 枝刈り処理
3. 姿勢推定・整合性チェック
44
誤ったサンプルの早期棄却
・対応間のキーポイント間距離の類似性
et
es
||||9.0||||||||9.0|||| tsst eeee 
・対応間の法線方向の類似性
枝刈り処理で棄却されなかったサンプルは
次のステップへ
対応間の幾何学的関係を利用した
フィルタリング処理になっている
Aoki Media Sensing Lab., Keio Univ.
RANSACによる誤った対応の除外&姿勢推定⑤
 以下のステップの繰り返し
1. 対応のランダムサンプリング
2. 枝刈り処理
3. 姿勢推定・整合性チェック
45
姿勢推定:
sourceとtargetの点群を位置合わせ
する変換 T を算出.
整合性チェック:
サンプリング・整合性チェックを規定回数繰り返し,
エラーが最小となる T を解とする.
 
),(
,
1 1
0
2
i
n
i
i
QN
n
error
pq
Tpq

 


pi の Q に対する最近傍点
Aoki Media Sensing Lab., Keio Univ.
ICP による精密位置決め
 ICPアルゴリズムによる精密位置決め
 特徴点マッチングで得られた点のみから位置姿勢を決定すると
若干の誤差が残る.
 得られた位置姿勢を初期値とし,ICPアルゴリズムによって誤差を修正す
る.
46
RANSAC で推定した変換の重ね合わせ結果
(端の方のずれが目立つ)
ICPの結果
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. 基本的な処理
2. データの取得方法
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. ロボットアームによるピッキングの例
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
47
Aoki Media Sensing Lab., Keio Univ.
ロボットアームによるピッキングの例
48
Tcam2tool
Σcam
Σtool
Σrobo
probo=Tcam2toolpcam
対応点を数十点用意して,
Tcam2toolについて解く
 ロボットと3Dセンサ間の外部パラメータのキャリブレー
ション
 カメラ座標をロボット座標に変換する行列 Tcam2toolを推定する
Trobo2tool
Aoki Media Sensing Lab., Keio Univ.
対応点の取り方の事例
49
誤差約3~5mm程度で
外部パラメータを決定
(誤差率約1.7%)
 半径既知の球を持たせて,さまざまな位置にロボットを動か
しながら撮影.
 球の重心をツール座標に一致させる
 球の重心点(検出する)とロボットの制御パラメータ(ツール座標の位
置)を対応点とする
 球体の検出は平行移動のみを考えればよいので楽
誤差の要因
・ハンドと球の取り付け甘さ
・球体検出の誤差
・センサの計測精度
:
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. 基本的な処理
2. データの取得方法
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. ロボットアームによるピッキングの例
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
50
Aoki Media Sensing Lab., Keio Univ.
Open3D : A Modern Library for 3D Data Processing
 Python, C++両方から扱える3Dデータ処理ライブラリ
51
Qian-Yi Zhou, Jaesik Park, Vladlen Koltun, Open3D: A Modern Library for 3D Data Processing, arXiv2018.
 Core features
 Basic 3D data structures
 Basic 3D data processing algorithms
 Scene reconstruction
 Surface alignment
 3D visualization
 Python binding
 Supported compilers
 GCC 4.8~ on Linux
 XCode 8.0~ on OS X
 Visual Studio 2015~
on Windows
Aoki Media Sensing Lab., Keio Univ.
Open3Dの特徴(PCLと比較して)
 コードが圧倒的に少なくて済む
 依存ライブラリが少ないのでビルドが早く導入が簡単
 フィルタリング,法線推定,kd-treeなど,単純な前処理系の
基本機能が実装済み
 RGBD画像処理が利用できる
 PCLもサポートしているが利用例が少ない
 現状で実装されているアルゴリズムの種類は限定的
 3D特徴量,キーポイント検出器,セグメンテーションはPCLの方
が充実
 可視化はOpen3Dの方が美しい
 Scene Reconstructionのためのサポートが厚い
 むしろこのためのサブモジュールが提供されているといった印象.
52
Aoki Media Sensing Lab., Keio Univ.
基本的な点群処理のコードサンプル1
 点群の読み込み,表示,保存
53
pcd = read_point_cloud(“filename.pcd”) #点群の読み込み
draw_geometries([pcd]) #点群の画面表示
write_point_cloud(“output.pcd”, pcd) #点群の保存
 ダウンサンプリング
pcd_ds = voxel_down_sample(pcd, voxel_size = 0.05)
入力点群 ダウンサンプリングのサイズ出力点群
Aoki Media Sensing Lab., Keio Univ.
基本的な点群処理のコードサンプル2
 法線推定と向きの修正
54
estimate_normals(pcd, search_param =
KDTreeSearchParamHybrid(
radius = 0.1, max_nn = 30))
orient_normals_towards_camera_location(pcd, camera_location =
np.array([0.,0.,0.],dtype ='float64' ) )
点群 サーチの条件
半径0.1で最大30点使う
点群 視点位置の設定
修正後の法線分布
視点位置 (0.0,0.0,0.0)
法線分布
元の点群が法線を持っていた場合はその方向を
正とするが,そうでなければ方向は不定
Aoki Media Sensing Lab., Keio Univ.
基本的な点群処理のコードサンプル3
 NumPyとの連携
 10x3のNumPy行列の生成(値はランダム)
55
data = np.random.rand(10,3)
pcd = PointCloud ()
pcd.points = Vector3dVector(data)
 NumPy行列をOpen3D点群に変換
xyz = np.asarray(pcd.points)
 Open3D点群をNumPy行列に変換
 色や法線も同様に変換可能
colors = np.asarray(pcd.colors)
normals = np.asarray(pcd.normals)
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
 main文
56
#データ読み込み
source = read_point_cloud("bun.pcd")
target = read_point_cloud("bun045.pcd")
#キーポイント検出と特徴量抽出
voxel_size = 0.01
source_kp, source_fpfh = preprocess_point_cloud(source, voxel_size)
target_kp, target_fpfh = preprocess_point_cloud(target, voxel_size)
#RANSACによる姿勢推定
result_ransac = execute_global_registration(source_kp, target_kp,
source_fpfh, target_fpfh, voxel_size)
#ICPによる微修正
result_icp = refine_registration(source, target,
result_ransac.transformation, voxel_size)
#結果の表示
draw_registration_result(source, target, result_icp.transformation)
KP検出
データ入力
特徴量記述
RANSACに
よる姿勢推定
ICPによる
精密位置決め
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
 キーポイント検出と特徴量抽出
57
def preprocess_point_cloud(pcd, voxel_size):
print(":: Downsample with a voxel size %.3f." % voxel_size)
pcd_kp = voxel_down_sample(pcd, voxel_size)
radius_normal = voxel_size * 2
viewpoint = np.array([0.,0.,100.], dtype='float64')
estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30))
orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint )
radius_feature = voxel_size * 5
print(":: Compute FPFH feature with search radius %.3f." % radius_feature)
pcd_fpfh = compute_fpfh_feature(pcd_kp,
KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100))
return pcd_kp, pcd_fpfh
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
 キーポイント検出と特徴量抽出
58
def preprocess_point_cloud(pcd, voxel_size):
print(":: Downsample with a voxel size %.3f." % voxel_size)
pcd_kp = voxel_down_sample(pcd, voxel_size)
radius_normal = voxel_size * 2
viewpoint = np.array([0.,0.,100.], dtype='float64')
estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30))
orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint )
radius_feature = voxel_size * 5
print(":: Compute FPFH feature with search radius %.3f." % radius_feature)
pcd_fpfh = compute_fpfh_feature(pcd_kp,
KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100))
return pcd_kp, pcd_fpfh
ダウンサンプリング処理によってキーポイントを検出します
ダウンサンプリングによって残った点群をキーポイントとしています
検出されたキーポイント 入力点群 キーポイントの間隔(0.01)
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
 キーポイント検出と特徴量抽出
59
def preprocess_point_cloud(pcd, voxel_size):
print(":: Downsample with a voxel size %.3f." % voxel_size)
pcd_kp = voxel_down_sample(pcd, voxel_size)
radius_normal = voxel_size * 2
viewpoint = np.array([0.,0.,100.], dtype='float64')
estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30))
orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint )
radius_feature = voxel_size * 5
print(":: Compute FPFH feature with search radius %.3f." % radius_feature)
pcd_fpfh = compute_fpfh_feature(pcd_kp,
KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100))
return pcd_kp, pcd_fpfh
キーポイント点群に対して法線を計算し,向きを修正します
視点位置の設定((0.0,0.0,100.0)を向く方向が正)
法線推定の範囲(PCAするので,十分な点を確保できる大きさで)
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
 キーポイント検出と特徴量抽出
60
def preprocess_point_cloud(pcd, voxel_size):
print(":: Downsample with a voxel size %.3f." % voxel_size)
pcd_kp = voxel_down_sample(pcd, voxel_size)
radius_normal = voxel_size * 2
viewpoint = np.array([0.,0.,100.], dtype='float64')
estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30))
orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint )
radius_feature = voxel_size * 5
print(":: Compute FPFH feature with search radius %.3f." % radius_feature)
pcd_fpfh = compute_fpfh_feature(pcd_kp,
KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100))
return pcd_kp, pcd_fpfh
キーポイント点群に対してFPFH特徴を算出します
特徴量計算の範囲(法線算出よりもさらに大きく.)
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
 RANSACによる姿勢推定
61
def execute_global_registration(
source_kp, target_kp, source_fpfh, target_fpfh, voxel_size):
distance_threshold = voxel_size * 1.5
result = registration_ransac_based_on_feature_matching(
source_kp, target_kp, source_fpfh, target_fpfh,
distance_threshold,
TransformationEstimationPointToPoint(False), 4,
[CorrespondenceCheckerBasedOnEdgeLength(0.9),
CorrespondenceCheckerBasedOnDistance(distance_threshold)],
RANSACConvergenceCriteria(40000, 500))
return result
Sourceとtargetの距離の閾値.
これより小さいものがインライア
枝刈り処理の条件
サンプリングの最大回数と
検証の最大回数
Aoki Media Sensing Lab., Keio Univ.
モデルベースマッチングの実装
def refine_registration(source, target, trans, voxel_size):
distance_threshold = voxel_size * 0.4
result = registration_icp(source, target,
distance_threshold,
trans,
TransformationEstimationPointToPlane())
return result
62
 ICPによる精密位置決め
距離の閾値
姿勢の初期値(RANSACで推定したもの)
距離計算方法の指定
Aoki Media Sensing Lab., Keio Univ.
Scene Reconstruction
 Open3Dの「Reconstruction system」を実行するだけでシー
ンの再構成が可能.
63
[1] S.Choi, Q.-Y. Zhou, and V. Koltun, Robust Reconstruction of Indoor Scenes, CVPR, 2015.
入力:連続したRGBD画像群 出力:テクスチャ付き3Dメッシュ
Aoki Media Sensing Lab., Keio Univ.
Contents
1. 導入
2. 3D点群処理の基礎
1. 基本的な処理
2. データの取得方法
3. 位置姿勢推定の仕組み
1. 位置姿勢推定の流れ
2. 最近の研究動向
4. ライブラリ・可視化ツールについて
1. Open3D
2. Cloud Compare
64
Aoki Media Sensing Lab., Keio Univ.
Cloud Compare
 多機能な点群ビューワ(.pcdファイルをそのまま読込可能)
 フィルタリング処理,複数点群のインタラクティブな位置合わ
せ等,様々な機能が実装されている
65
• 法線推定
• ダウンサンプリング
• ノイズ除去
• 姿勢変更
• ICP
• メッシュ生成
• 点のピッキング
:
などなど
点のピッキングで
2点間距離を計測した例
Cloud Compare の画面
http://www.danielgm.net/cc/
Aoki Media Sensing Lab., Keio Univ.
Cloud Compare
 点群のレジストレーションの例
66
①
Edit -> Colors ->
Set unique で位置合わせ
前の点群の色を変更.
③
Tools -> Registration ->
Fine registration(ICP)
でICPによる位置合わせ
②
Edit -> Normals ->
Compute で法線推定
④
Edit -> Merge
で点群データを統合
Aoki Media Sensing Lab., Keio Univ.
まとめ
 現在のセンサ・ライブラリ・可視化ツールの選択肢を説明
 センサ:インドアではActive stereo方式が主流
 ライブラリ:Open3Dが登場.点群処理の敷居が下がった.
 可視化ツール:有名どころでMeshLab.Cloud compareも便利.
 3次元点群処理について説明
 点群のデータ構造
 基本処理のアルゴリズム
 位置姿勢認識の流れ
 Open3D の実装例の紹介
67

Mais conteúdo relacionado

Mais procurados

三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)Tomohiro Motoda
 
20160724_cv_sfm_revisited
20160724_cv_sfm_revisited20160724_cv_sfm_revisited
20160724_cv_sfm_revisitedKyohei Unno
 
SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)Masaya Kaneko
 
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日Kitsukawa Yuki
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusionHiroki Mizuno
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説Masaya Kaneko
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentationTakuya Minagawa
 
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチMIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチHironobu Fujiyoshi
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fieldscvpaper. challenge
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介Ryohei Ueda
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -MPRG_Chubu_University
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてRyutaro Yamauchi
 
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiコンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiMasaki Hayashi
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 
[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況Deep Learning JP
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 

Mais procurados (20)

三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
20160724_cv_sfm_revisited
20160724_cv_sfm_revisited20160724_cv_sfm_revisited
20160724_cv_sfm_revisited
 
SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)
 
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
 
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチMIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields
 
Depth Estimation論文紹介
Depth Estimation論文紹介Depth Estimation論文紹介
Depth Estimation論文紹介
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
 
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
画像局所特徴量と特定物体認識 - SIFTと最近のアプローチ -
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
SfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法についてSfM Learner系単眼深度推定手法について
SfM Learner系単眼深度推定手法について
 
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashiコンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
 
Point net
Point netPoint net
Point net
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 

Semelhante a SSII2018TS: 3D物体検出とロボットビジョンへの応用

SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...Hideki Tsunashima
 
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)nmaro
 
光源方向推定のための構造色パターンマッチング
光源方向推定のための構造色パターンマッチング光源方向推定のための構造色パターンマッチング
光源方向推定のための構造色パターンマッチングuranishi
 
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)nmaro
 
画像解析の基礎知識
画像解析の基礎知識画像解析の基礎知識
画像解析の基礎知識LPIXEL
 
探求の道 Lead Clearly
探求の道 Lead Clearly探求の道 Lead Clearly
探求の道 Lead ClearlyYutaka KATAYAMA
 
教師あり学習を用いた聴覚系のモデリング
教師あり学習を用いた聴覚系のモデリング教師あり学習を用いた聴覚系のモデリング
教師あり学習を用いた聴覚系のモデリングTakuya Koumura
 
CHAIN公開セミナー20200817吉田発表資料
CHAIN公開セミナー20200817吉田発表資料CHAIN公開セミナー20200817吉田発表資料
CHAIN公開セミナー20200817吉田発表資料Masatoshi Yoshida
 

Semelhante a SSII2018TS: 3D物体検出とロボットビジョンへの応用 (9)

SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
SPACE: Unsupervised Object-Oriented Scene Representation via Spatial Attentio...
 
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
 
光源方向推定のための構造色パターンマッチング
光源方向推定のための構造色パターンマッチング光源方向推定のための構造色パターンマッチング
光源方向推定のための構造色パターンマッチング
 
kambe
kambekambe
kambe
 
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
 
画像解析の基礎知識
画像解析の基礎知識画像解析の基礎知識
画像解析の基礎知識
 
探求の道 Lead Clearly
探求の道 Lead Clearly探求の道 Lead Clearly
探求の道 Lead Clearly
 
教師あり学習を用いた聴覚系のモデリング
教師あり学習を用いた聴覚系のモデリング教師あり学習を用いた聴覚系のモデリング
教師あり学習を用いた聴覚系のモデリング
 
CHAIN公開セミナー20200817吉田発表資料
CHAIN公開セミナー20200817吉田発表資料CHAIN公開セミナー20200817吉田発表資料
CHAIN公開セミナー20200817吉田発表資料
 

Mais de SSII

SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​SSII
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII
 
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII
 
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用SSII
 
SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線SSII
 
SSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディングSSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディングSSII
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII
 
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...SSII
 
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII
 
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理SSII
 
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用SSII
 
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術SSII
 
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII
 
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用SSII
 

Mais de SSII (20)

SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
SSII2022 [TS3] コンテンツ制作を支援する機械学習技術​〜 イラストレーションやデザインの基礎から最新鋭の技術まで 〜​
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習SSII2022 [OS3-04] Human-in-the-Loop 機械学習
SSII2022 [OS3-04] Human-in-the-Loop 機械学習
 
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けてSSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
SSII2022 [OS3-03] スケーラブルなロボット学習システムに向けて
 
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
 
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
SSII2022 [OS3-01] 深層学習のための効率的なデータ収集と活用
 
SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線SSII2022 [OS2-01] イメージング最前線
SSII2022 [OS2-01] イメージング最前線
 
SSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディングSSII2022 [OS1-01] AI時代のチームビルディング
SSII2022 [OS1-01] AI時代のチームビルディング
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
 
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
 
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
SSII2021 [TS3] 機械学習のアノテーションにおける データ収集​ 〜 精度向上のための仕組み・倫理や社会性バイアス 〜
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
SSII2021 [OS3-03] 画像と点群を用いた、森林という広域空間のゾーニングと施業管理
 
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
SSII2021 [OS3-02] BIM/CIMにおいて安価に点群を取得する目的とその利活用
 
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
SSII2021 [OS3-01] 設備や環境の高品質計測点群取得と自動モデル化技術
 
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
 
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
SSII2021 [OS2-03] 自己教師あり学習における対照学習の基礎と応用
 

Último

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Último (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

SSII2018TS: 3D物体検出とロボットビジョンへの応用

  • 1. Aoki Media Sensing Lab., Keio Univ. 慶應義塾大学 秋月秀一(助教) 3D物体検出とロボットビジョンへの応用 -3D点群処理の基礎と位置姿勢推定のしくみ- 第24回画像センシングシンポジウム 2018/06/15
  • 2. Aoki Media Sensing Lab., Keio Univ. 自己紹介:秋月秀一(あきづきしゅういち)  所属  慶應義塾大学 理工学部電子工学科 助教(有期)  中京大学 人工知能高等研究所特任研究員  経歴  2014年3月 中京大学大学院修士課程 修了  2016年9月 中京大学大学院博士課程 修了 博士(情報科学)  2016年度 日本学術振興会特別研究員(DC2, PD)  2017年度- 現職  連絡先  akizuki@elec.keio.ac.jp 2
  • 3. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. データ構造 2. 基本的な処理 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. ロボットアームによるピッキングの例 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 3
  • 4. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. データ構造 2. 基本的な処理 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. ロボットアームによるピッキングの例 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 4
  • 5. Aoki Media Sensing Lab., Keio Univ. 本チュートリアルの目標 1. 3次元点群処理に興味を持っていただく 2. 基本的な処理から物体の位置姿勢推定まで,一通りの3次 元点群処理の仕組みがわかるようになる 3. 上記のアルゴリズムを実際に試すことができるようになる 5
  • 6. Aoki Media Sensing Lab., Keio Univ. 研究の興味  3次元物体認識(特に点群データを利用したもの)とロボッ トアプリケーションへの応用 6 高信頼な キーポイントマッチング ISVC2015 信学論2016 精密工学会誌2018ECCV2016WS 精密工学会誌2014 SHOT 特徴+提案 LRF 複数物体位置姿勢の同時認識 機能属性の推定 3D トラッキング 電学論2013 ばら積み物体認識
  • 7. Aoki Media Sensing Lab., Keio Univ. 研究の興味  3次元物体認識(特に点群データを利用したもの)とロボッ トアプリケーションへの応用 7 部品ピッキングロボット, 2013-15 日用品の操作, 2017- NEDOプロジェクト Amazon Robotics Challenge, 2015-17 物流ロボットの国際コンペ 三菱電機,中京大,中部大合同チーム 3 次元点群(特に3Dセンサで取得したもの)は実スケールの情報が 得らえるので,ロボットアプリケーションの開発に適している
  • 8. Aoki Media Sensing Lab., Keio Univ. 3次元点群処理の活躍の場 8 ロボットピッキング (対象物の位置姿勢認識) 形状モデリング (デスクトップサイズから部屋規模,建物規模) 自動運転 (LiDARからの物体検出) https://www.microsoft.com/ja-jp/hololens/hardware http://redwood-data.org/indoor_lidar_rgbd/index.html https://news.voyage.auto/an-introduction-to-lidar-the-key-self-driving-car-sensor-a7e405590cff http://www.3ders.org/articles/20151209-best-3d-scanners-2015.html http://people.sutd.edu.sg/~saikit/projects/sceneNN/shrec18/index.html AR/MR (エンターテイメント,医療,作業支援) 検索 (3D形状同士の検索)
  • 9. Aoki Media Sensing Lab., Keio Univ. 点群処理ライブラリ・可視化ツール  点群処理ライブラリ 9 Point Cloud Library Open3D Cloud CompareMeshLab  可視化ツール
  • 10. Aoki Media Sensing Lab., Keio Univ. RGBD カメラの種類  Active Stereo  赤外線プロジェクタ,IRカメラ,RGBカメラで構成される.  赤外光のパターン光を投影して測距をおこなう.  Time of Flight (ToF)  投光,受光の位相差によって距離を計測  距離,可視画像が同軸  Passive Stereo  ラフに広範囲の距離を取得することが得意.  距離精度は高くないので,点群というよりもそのままの画像と して処理することに向いている. 10
  • 11. Aoki Media Sensing Lab., Keio Univ. 様々な RGBD カメラ(Active stereo, ToF, Passive stereo の順) 名称 距離解像度(最大) フレームレート (最大解像度時) 計測距離 画角(H, V) Intel RealSense D435 1280x720 90fps 0.11 - 10.0m 85°, 58° Intel RealSense D415 1280x720 90fps 0.16 - 10.0m 63°, 40° Orbbec Astra & Pro 640x480 30fps 0.6 - 8.0m 60°, 49.5° occipital Structure sensor 640x480 60fps 0.4 - 3.5m 58°, 45° Panasonic GC1 320x240 24fps - 12.0m 55°, 41° 90°, 70° pmd Pico Monster 352x287 60fps 0.5 - 6.0m 100°, 85° Asus Xtion2 640x480 30fps 0.8 - 3.5m 74°, 52° LIPS LIPSedge DL 640x480 30fps 0.2 - 1.2m 75.4°, 60.2° STEREOLABS ZED 4416x1242 3840x1080 15fps (解像度下げると高 速になる) 0.5 - 20.0m 90°, 60° 11 ※画像はメーカーHPより引用しています
  • 12. Aoki Media Sensing Lab., Keio Univ. RGBD カメラの比較  Active Stereo  解像度,フレームレートが両立し始めた.  最近のモデルは精度を犠牲にしがち.Intel SR300が最も精度が 高い印象.  ToF  屋外でも利用可能なモデルが多い.  フレームレートの高さが押しであったはずが,Active Stereoに 抜かれた?  Passive Stereo  受動的な測距をおこなう手法.  2つのRGBカメラで三角測量をおこなう. 12
  • 13. Aoki Media Sensing Lab., Keio Univ. 計測データの比較 13 センサ名 SR300 D415 D435 Structure sensor ボトル △ラベルのみ撮れる △透明部分が歪む △透明部分が歪む △ラベルのみ撮れる 光沢面(黒) × △不安定だが計測可 △不安定だが計測可 〇 細い部品(黒) ×細さより色が問題 〇 △ × プラスチック(黒) × 〇 〇 〇 木材 〇 〇 〇 〇 光沢面(青) 〇 〇 〇 〇 陶器 〇 〇 △歪みが出た 〇 プラスチック(白) 〇 〇 〇 〇 まとめ 奥行きの撮影範囲,材質・ 色に関する制限があるが, 最も精度が高い. この条件では最も良好. 後ろの壁など遠くでは誤差 が目立つ. 広角に撮影できる分,対象 物が低解像度になってし まった? 数フレームの合成結果が得 られるので比較的良好? ボトル(透明) 光沢面(黒) 光沢面(青) 陶器 プラスチック(白)木材 プラスチック(黒) 細い部品(黒)
  • 14. Aoki Media Sensing Lab., Keio Univ. 計測データの比較(点群の可視化) 14 左から,SR300, D415, D435, Structure sensor
  • 15. Aoki Media Sensing Lab., Keio Univ. D415の計測データ(法線マップ,テクスチャ) 15 平面の比較: 光沢面の法線マップは 凹凸がある 円柱の比較: 透明素材だと法線マップ の凹凸が目立つ 木材は特に良好 法線マップ テクスチャ付き点群
  • 16. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. データ構造 2. 基本的な処理 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. ロボットアームによるピッキングの例 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 16
  • 17. Aoki Media Sensing Lab., Keio Univ. データ構造(点群データ)  x, y, z のデータ列で表現された形状データ  3Dメッシュモデルの頂点座標群  3Dセンサで計測された座標群 17 Points x y z 0 -0.03 0.12 0.01 1 -0.04 0.13 0.00 2 -0.06 0.15 0.04 : : : : n 0.03 0.11 0.03    T i i zyx niP ,, ,...,0   p p点群: 点:Stanford bunny の点群 p0 p1 p2
  • 18. Aoki Media Sensing Lab., Keio Univ. 点群データのバリエーション  様々な情報を点群に追加して表現することが可能 18 +法線方向 +ラベル +RGB 色情報や濃度勾配を 利用した特徴量抽出 セグメンテーション 問題の Ground Truth 法線方向を利用した 特徴量抽出, 光源を使ったリアルな CG レンダリング 上記の付加情報は併用されることも多い
  • 19. Aoki Media Sensing Lab., Keio Univ.  3つの頂点(点)を結んだ三角パッチの集合 データ構造(メッシュデータ) 19 Stanford bunny のメッシュ Points x y z 0 -0.03 0.12 0.01 1 -0.04 0.13 0.00 2 -0.06 0.15 0.04 : : : : n 0.03 0.11 0.03 faces 頂点1 頂点2 頂点3 0 0 1 2 1 2 1 3 2 1 4 5 : : : : m 5430 2001 2030 faces には接続する点の番号が記載
  • 20. Aoki Media Sensing Lab., Keio Univ. データ構造(RGBD画像)  RGB画像+距離画像のペア  点群データをRGB画像の座標系に射影して作成することも可能 20 RGB画像に重ね合わせた距離画像 距離画像 RGB画像 対応する色と距離が画像上で同一座標を示すので,処理の都合が非常に良い (距離値を使った背景除去,2Dカーネルによるフィルタ処理等) 点群or
  • 21. Aoki Media Sensing Lab., Keio Univ. RGBD 画像の作り方  透視投影モデルを利用  実世界の Pworld と画像平面への射影Pimg の関係は下記の通り 21 X Y Z レンズ中心 x y Pworld( X, Y, Z ) Pimg= (i, j) 画像平面 内部パラメータ f : 焦点距離 ここではx,y共通の値とする ci, cj:画像中心 多くのRGBDカメラでは 内部パラメータを知る ための機能がある.
  • 22. Aoki Media Sensing Lab., Keio Univ. RGBD 画像の作り方  画像としてレンダリングする際は画像中心 (ci, cj) を考慮して オフセットする.  画素値についてはデータセットによって異なるので注意.  ほとんどの文献ではそこまで触れていない.  ミリメートルをそのまま画素値にする,[0,255]で正規化,など. 22 jc Z Y fj ic Z X fi  このまま点群を投影するとずれが発生する場合がある. 投影先の画像(RGB画像)の原点と点群の原点が一致して いるかどうか確認. 一致していない場合: 点群データをずれの量だけオフセットさせる. Intel Realsense SR300だと,約 2.6 cmずれている.
  • 23. Aoki Media Sensing Lab., Keio Univ. RGBD画像のフォーマット例(Open3Dの標準形) 23 RGB画像 8bits x 3ch 距離画像 16 bits(unsigned short) x 1 ちなみに... 画像ビューワで表示すると真っ黒だが,色 調補正すると映っているものがわかる color_raw = read_image(“color.png”) depth_raw = read_image(“depth.png”) rgbd_image = create_rgbd_image_from_color_and_depth( color_raw, depth_raw ) pcd = create_point_cloud_from_rgbd_image( rgbd_image, camera_intrinsic ) RGB画像の読込 距離画像の読込 RGBD画像の生成 点群の生成 カメラの内部パラメータ (焦点距離,画像中心) 距離画像の各画素はミリメートル 単位の距離値を入れておく. (未計測点にはゼロを入れる.) RGB画像,距離画像からRGBD画像と点群を生成するコードの例 生成された点群 RGBD画像
  • 24. Aoki Media Sensing Lab., Keio Univ. 基本的な処理  フィルタリング  サンプリング,ノイズ除去,背景除去等の画像処理でもお馴染 みの前処理  法線推定  各点の向きを計算する処理.画像処理で言うと勾配方向  近傍点探索  キーポイント検出器,特徴抽出,種々の統計量計算等のために 効率よく対象のデータを取り出す方法 24
  • 25. Aoki Media Sensing Lab., Keio Univ. フィルタリング(ダウンサンプリング)  処理時間の高速化に利用される手法.  3次元空間を一定サイズのボクセルで離散化.各ボクセル内の点 群データの平均値を代表点とする  スケールを保ったまま密度が疎になる 25 座標系 長さ 0.1m 0 5000 10000 15000 20000 25000 0 0.002 0.004 0.006 0.008 0.01 点数[pts.] ダウンサンプリングサイズ [m] ダウンサンプリングが処理時間 に与える影響は非常に大きい 一番左と比べて 1.7%の点数 21529点 7128点 1406点 376点
  • 26. Aoki Media Sensing Lab., Keio Univ. Statistical Outlier Removalによるノイズ除去  計測結果が不安定になる点を除去する(距離センサによくあ るノイズ)  不安定な点は周囲の点に対して孤立しやすい →「孤立性」を指標としたフィルタリングをおこなう 26 1. 点piに対して周囲 k 点との平均距離 diを計算.(※ diは正規分布に従う と仮定) 2. 下記の条件をチェックしてインライ アとアウトライアを決める. outlieriselse inlierisdthdif i ii p p)(     1 1 , i k id k d 距離センサに起きやすい突発的 なノイズを削除できる 処理結果:赤点が削除された点群
  • 27. Aoki Media Sensing Lab., Keio Univ. フィルタリング(クロッピング)  Region of Interest (ROI) の設定に相当.指定範囲のデータを 取り出して,その範囲だけに処理を適用する.  3次元的なボリュームを指定する方法.  関数フィッティングによる方法. 27
  • 28. Aoki Media Sensing Lab., Keio Univ. 3次元的なボリュームを指定する方法  3次元的なROIを指定し,その中のデータのみを取り出す. 28 2DのROIによる切り出し.背景が混入する. 3DのROIによる切り出し.イスのみを切り出すことができる.
  • 29. Aoki Media Sensing Lab., Keio Univ. 関数フィッティングによる方法  RANSAC による平面フィッティング  例:机の上の物体の取り出し  机は平面でできているので,その部分だけを抜き出してしまえばよい  RANSAC で入力点群から平面方程式 ax+by+cz+d = 0 を算出し,それに合致す る点を削除する. 29 入力画像 処理前後の点群データ平面部分以外の 取り出し結果 3次元的な構造を使ってマスクをおこなえば RGB画像だけでは解決しにくいデータ処理が可能になる
  • 30. Aoki Media Sensing Lab., Keio Univ. 近傍点探索1  点群は離散的・整列されていないデータなので,局所的な処 理が苦手(例:特定の点周りのデータの平均値の計算)  画像処理では簡単:1ピクセル隣に最近傍のデータが格納され ていることが保証されている 30 Stanford bunnyの点の並び. 下から上に向かってidが割り振ら れているが,隣のidが空間的に近 くにあるわけではない. 近傍点探索が効率化するように 事前に空間分割しておくことが一般的.
  • 31. Aoki Media Sensing Lab., Keio Univ. 近傍点探索2  kd tree  2分木で構成された空間分割のためのデータ構造  kd treeで使われる探索方法  KNN:k近傍をサーチ  RNN:特定の距離内をサーチ  RKNN:上記を混ぜた方法  特定の範囲内で列挙する点数に 上限を設けることができる. 31 赤:クエリ点 緑:クエリ点の 半径0.01m内の点 F C H E A B G A B C EF G H x軸分割 y軸分割 x軸分割 2次元データ(左)の kd tree の例(右)
  • 32. Aoki Media Sensing Lab., Keio Univ. 法線推定1  PCA を利用した方法  共分散行列の最小固有値の固有ベクトルが法線 32 共分散行列 近傍点の総数 固有ベクトル    k k i k k T ii kk 11 1 ,))(( 1 ppppppC }2,1,0{,  jjjj vvC  固有ベクトル v1 , v2 固有ベクトル v2= 法線 012  
  • 33. Aoki Media Sensing Lab., Keio Univ. 法線推定2  固有ベクトルの向きは不定なので,法線方向を修正する 33 法線をそのまま表示した例 修正後の法線分布 裏向きの部分 (失敗) 表向きの部分 (成功)  “視点位置”を設定し,そちらに向く方向を正とする 視点位置 v 0)(  ii npv この条件を満たす法線 ni の方向を正とする
  • 34. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. 基本的な処理 2. データの取得方法 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. ロボットアームによるピッキングの例 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 34
  • 35. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングによる位置姿勢推定  シーン中に存在する対象物の位置姿勢(並進,回転)を推定 する手法  対象物の3Dモデルをシーンへ照合し,誤差を最小化する位置姿 勢を算出する. 35 入力シーン3D モデル 入力シーンの外観 入力データ 出力データ 位置姿勢に基づいて 3Dモデル重畳した結果 対象物
  • 36. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの手順  全体の手順(後でOpen3Dのコード例を紹介するので,その手順で紹介します.) 36 キーポイント 検出 データ入力 特徴量記述 RANSACに よる姿勢推定 ICPによる 精密位置決め 入力点群 視点の異なるスキャンデータ 姿勢変換行列 4x4 source target
  • 37. Aoki Media Sensing Lab., Keio Univ. キーポイント検出  特徴量を計算するための点を少数選択する.  この例では単なるダウンサンプリング結果を特徴点とした. 37 ダウンサンプリング結果の点群
  • 38. Aoki Media Sensing Lab., Keio Univ. 特徴量記述 (FPFHの例)  各キーポイントに対して多次元ベクトルとしての特徴量を算 出する.  FPFH 特徴(33次元)fFPFH(p)  キーポイントと近傍点の組を多数生成する.  2 点の位置関係( α,θ,φ,pt - ps )を計算し,ヒストグラム化 = SPFH  各キーポイントからSPFHを算出しておき,近傍点のSPFHを統合 = FPFH 38 ps pt v=(pt-ps)×u 法線 ns=u w=u×v v u w 法線 nt pt-ps φ α θ R. B. Rusu, et al., ”Fast Point Feature Histograms(FPFH) for 3D Registration”, IEEE Proc. ICRA, pp.3212-3217, 2009.
  • 39. Aoki Media Sensing Lab., Keio Univ. 特徴量間の照合処理  類似する特徴量同士を対応付ける  基本的な方法:特徴量間のユークリッド距離を閾値にする方法 39   ||||, baba d fFPFH(p) fFPFH(q)
  • 40. Aoki Media Sensing Lab., Keio Univ. 特徴量間の照合処理  類似する特徴量同士を対応付ける  基本的な方法:特徴量間のユークリッド距離を閾値にする方法  これだけでは誤った対応点が発生する 40 ・視点の違いにより見えていた部分が消え, 見えていなかった部分が出現する. ・外乱物体の混入によるデータ欠損. ・よく似た形状の別部分の存在. 赤:正解の対応,青:誤った対応 局所的な形状の類似性評価の限界   ||||, baba d fFPFH(p) fFPFH(q)
  • 41. Aoki Media Sensing Lab., Keio Univ. RANSACによる誤った対応の除外&姿勢推定①  問題設定 ミスを含む対応群から正しい対応付けのみを選択し,姿勢変換行 列を推定する 41 対応 (source, target) = ( 0, 1), ( 1, 2), ( 5, 10), ( 8, 10), (10,20), (15,42), (32, 7), (60,40), : 正しい対応 誤った対応 入力データの例 (対応点の見た目とデータとしての対応) この時点では,どれが正しくてどれが誤っているのかわからない.
  • 42. Aoki Media Sensing Lab., Keio Univ. RANSACによる誤った対応の除外&姿勢推定②  以下のステップの繰り返し 1. 対応のランダムサンプリング 2. 枝刈り処理 3. 姿勢推定・整合性チェック 42 対応 (source, target) = ( 0, 1), ( 1, 2), ( 5, 10), ( 8, 10), (10,20), (15,42), (32, 7), (60,40), :
  • 43. Aoki Media Sensing Lab., Keio Univ. RANSACによる誤った対応の除外&姿勢推定③  以下のステップの繰り返し 1. 対応のランダムサンプリング 2. 枝刈り処理 3. 姿勢推定・整合性チェック 43 対応 (source, target) = ( 0, 1), ( 1, 2), ( 5, 10), ( 8, 10), (10,20), (15,42), (32, 7), (60,40), : 4つの対応をランダムサンプリングした例.
  • 44. Aoki Media Sensing Lab., Keio Univ. RANSACによる誤った対応の除外&姿勢推定④  以下のステップの繰り返し 1. 対応のランダムサンプリング 2. 枝刈り処理 3. 姿勢推定・整合性チェック 44 誤ったサンプルの早期棄却 ・対応間のキーポイント間距離の類似性 et es ||||9.0||||||||9.0|||| tsst eeee  ・対応間の法線方向の類似性 枝刈り処理で棄却されなかったサンプルは 次のステップへ 対応間の幾何学的関係を利用した フィルタリング処理になっている
  • 45. Aoki Media Sensing Lab., Keio Univ. RANSACによる誤った対応の除外&姿勢推定⑤  以下のステップの繰り返し 1. 対応のランダムサンプリング 2. 枝刈り処理 3. 姿勢推定・整合性チェック 45 姿勢推定: sourceとtargetの点群を位置合わせ する変換 T を算出. 整合性チェック: サンプリング・整合性チェックを規定回数繰り返し, エラーが最小となる T を解とする.   ),( , 1 1 0 2 i n i i QN n error pq Tpq      pi の Q に対する最近傍点
  • 46. Aoki Media Sensing Lab., Keio Univ. ICP による精密位置決め  ICPアルゴリズムによる精密位置決め  特徴点マッチングで得られた点のみから位置姿勢を決定すると 若干の誤差が残る.  得られた位置姿勢を初期値とし,ICPアルゴリズムによって誤差を修正す る. 46 RANSAC で推定した変換の重ね合わせ結果 (端の方のずれが目立つ) ICPの結果
  • 47. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. 基本的な処理 2. データの取得方法 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. ロボットアームによるピッキングの例 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 47
  • 48. Aoki Media Sensing Lab., Keio Univ. ロボットアームによるピッキングの例 48 Tcam2tool Σcam Σtool Σrobo probo=Tcam2toolpcam 対応点を数十点用意して, Tcam2toolについて解く  ロボットと3Dセンサ間の外部パラメータのキャリブレー ション  カメラ座標をロボット座標に変換する行列 Tcam2toolを推定する Trobo2tool
  • 49. Aoki Media Sensing Lab., Keio Univ. 対応点の取り方の事例 49 誤差約3~5mm程度で 外部パラメータを決定 (誤差率約1.7%)  半径既知の球を持たせて,さまざまな位置にロボットを動か しながら撮影.  球の重心をツール座標に一致させる  球の重心点(検出する)とロボットの制御パラメータ(ツール座標の位 置)を対応点とする  球体の検出は平行移動のみを考えればよいので楽 誤差の要因 ・ハンドと球の取り付け甘さ ・球体検出の誤差 ・センサの計測精度 :
  • 50. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. 基本的な処理 2. データの取得方法 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. ロボットアームによるピッキングの例 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 50
  • 51. Aoki Media Sensing Lab., Keio Univ. Open3D : A Modern Library for 3D Data Processing  Python, C++両方から扱える3Dデータ処理ライブラリ 51 Qian-Yi Zhou, Jaesik Park, Vladlen Koltun, Open3D: A Modern Library for 3D Data Processing, arXiv2018.  Core features  Basic 3D data structures  Basic 3D data processing algorithms  Scene reconstruction  Surface alignment  3D visualization  Python binding  Supported compilers  GCC 4.8~ on Linux  XCode 8.0~ on OS X  Visual Studio 2015~ on Windows
  • 52. Aoki Media Sensing Lab., Keio Univ. Open3Dの特徴(PCLと比較して)  コードが圧倒的に少なくて済む  依存ライブラリが少ないのでビルドが早く導入が簡単  フィルタリング,法線推定,kd-treeなど,単純な前処理系の 基本機能が実装済み  RGBD画像処理が利用できる  PCLもサポートしているが利用例が少ない  現状で実装されているアルゴリズムの種類は限定的  3D特徴量,キーポイント検出器,セグメンテーションはPCLの方 が充実  可視化はOpen3Dの方が美しい  Scene Reconstructionのためのサポートが厚い  むしろこのためのサブモジュールが提供されているといった印象. 52
  • 53. Aoki Media Sensing Lab., Keio Univ. 基本的な点群処理のコードサンプル1  点群の読み込み,表示,保存 53 pcd = read_point_cloud(“filename.pcd”) #点群の読み込み draw_geometries([pcd]) #点群の画面表示 write_point_cloud(“output.pcd”, pcd) #点群の保存  ダウンサンプリング pcd_ds = voxel_down_sample(pcd, voxel_size = 0.05) 入力点群 ダウンサンプリングのサイズ出力点群
  • 54. Aoki Media Sensing Lab., Keio Univ. 基本的な点群処理のコードサンプル2  法線推定と向きの修正 54 estimate_normals(pcd, search_param = KDTreeSearchParamHybrid( radius = 0.1, max_nn = 30)) orient_normals_towards_camera_location(pcd, camera_location = np.array([0.,0.,0.],dtype ='float64' ) ) 点群 サーチの条件 半径0.1で最大30点使う 点群 視点位置の設定 修正後の法線分布 視点位置 (0.0,0.0,0.0) 法線分布 元の点群が法線を持っていた場合はその方向を 正とするが,そうでなければ方向は不定
  • 55. Aoki Media Sensing Lab., Keio Univ. 基本的な点群処理のコードサンプル3  NumPyとの連携  10x3のNumPy行列の生成(値はランダム) 55 data = np.random.rand(10,3) pcd = PointCloud () pcd.points = Vector3dVector(data)  NumPy行列をOpen3D点群に変換 xyz = np.asarray(pcd.points)  Open3D点群をNumPy行列に変換  色や法線も同様に変換可能 colors = np.asarray(pcd.colors) normals = np.asarray(pcd.normals)
  • 56. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装  main文 56 #データ読み込み source = read_point_cloud("bun.pcd") target = read_point_cloud("bun045.pcd") #キーポイント検出と特徴量抽出 voxel_size = 0.01 source_kp, source_fpfh = preprocess_point_cloud(source, voxel_size) target_kp, target_fpfh = preprocess_point_cloud(target, voxel_size) #RANSACによる姿勢推定 result_ransac = execute_global_registration(source_kp, target_kp, source_fpfh, target_fpfh, voxel_size) #ICPによる微修正 result_icp = refine_registration(source, target, result_ransac.transformation, voxel_size) #結果の表示 draw_registration_result(source, target, result_icp.transformation) KP検出 データ入力 特徴量記述 RANSACに よる姿勢推定 ICPによる 精密位置決め
  • 57. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装  キーポイント検出と特徴量抽出 57 def preprocess_point_cloud(pcd, voxel_size): print(":: Downsample with a voxel size %.3f." % voxel_size) pcd_kp = voxel_down_sample(pcd, voxel_size) radius_normal = voxel_size * 2 viewpoint = np.array([0.,0.,100.], dtype='float64') estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30)) orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint ) radius_feature = voxel_size * 5 print(":: Compute FPFH feature with search radius %.3f." % radius_feature) pcd_fpfh = compute_fpfh_feature(pcd_kp, KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100)) return pcd_kp, pcd_fpfh
  • 58. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装  キーポイント検出と特徴量抽出 58 def preprocess_point_cloud(pcd, voxel_size): print(":: Downsample with a voxel size %.3f." % voxel_size) pcd_kp = voxel_down_sample(pcd, voxel_size) radius_normal = voxel_size * 2 viewpoint = np.array([0.,0.,100.], dtype='float64') estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30)) orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint ) radius_feature = voxel_size * 5 print(":: Compute FPFH feature with search radius %.3f." % radius_feature) pcd_fpfh = compute_fpfh_feature(pcd_kp, KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100)) return pcd_kp, pcd_fpfh ダウンサンプリング処理によってキーポイントを検出します ダウンサンプリングによって残った点群をキーポイントとしています 検出されたキーポイント 入力点群 キーポイントの間隔(0.01)
  • 59. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装  キーポイント検出と特徴量抽出 59 def preprocess_point_cloud(pcd, voxel_size): print(":: Downsample with a voxel size %.3f." % voxel_size) pcd_kp = voxel_down_sample(pcd, voxel_size) radius_normal = voxel_size * 2 viewpoint = np.array([0.,0.,100.], dtype='float64') estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30)) orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint ) radius_feature = voxel_size * 5 print(":: Compute FPFH feature with search radius %.3f." % radius_feature) pcd_fpfh = compute_fpfh_feature(pcd_kp, KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100)) return pcd_kp, pcd_fpfh キーポイント点群に対して法線を計算し,向きを修正します 視点位置の設定((0.0,0.0,100.0)を向く方向が正) 法線推定の範囲(PCAするので,十分な点を確保できる大きさで)
  • 60. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装  キーポイント検出と特徴量抽出 60 def preprocess_point_cloud(pcd, voxel_size): print(":: Downsample with a voxel size %.3f." % voxel_size) pcd_kp = voxel_down_sample(pcd, voxel_size) radius_normal = voxel_size * 2 viewpoint = np.array([0.,0.,100.], dtype='float64') estimate_normals(pcd_kp, KDTreeSearchParamHybrid(radius = radius_normal, max_nn = 30)) orient_normals_towards_camera_location( pcd_kp, camera_location = viewpoint ) radius_feature = voxel_size * 5 print(":: Compute FPFH feature with search radius %.3f." % radius_feature) pcd_fpfh = compute_fpfh_feature(pcd_kp, KDTreeSearchParamHybrid(radius = radius_feature, max_nn = 100)) return pcd_kp, pcd_fpfh キーポイント点群に対してFPFH特徴を算出します 特徴量計算の範囲(法線算出よりもさらに大きく.)
  • 61. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装  RANSACによる姿勢推定 61 def execute_global_registration( source_kp, target_kp, source_fpfh, target_fpfh, voxel_size): distance_threshold = voxel_size * 1.5 result = registration_ransac_based_on_feature_matching( source_kp, target_kp, source_fpfh, target_fpfh, distance_threshold, TransformationEstimationPointToPoint(False), 4, [CorrespondenceCheckerBasedOnEdgeLength(0.9), CorrespondenceCheckerBasedOnDistance(distance_threshold)], RANSACConvergenceCriteria(40000, 500)) return result Sourceとtargetの距離の閾値. これより小さいものがインライア 枝刈り処理の条件 サンプリングの最大回数と 検証の最大回数
  • 62. Aoki Media Sensing Lab., Keio Univ. モデルベースマッチングの実装 def refine_registration(source, target, trans, voxel_size): distance_threshold = voxel_size * 0.4 result = registration_icp(source, target, distance_threshold, trans, TransformationEstimationPointToPlane()) return result 62  ICPによる精密位置決め 距離の閾値 姿勢の初期値(RANSACで推定したもの) 距離計算方法の指定
  • 63. Aoki Media Sensing Lab., Keio Univ. Scene Reconstruction  Open3Dの「Reconstruction system」を実行するだけでシー ンの再構成が可能. 63 [1] S.Choi, Q.-Y. Zhou, and V. Koltun, Robust Reconstruction of Indoor Scenes, CVPR, 2015. 入力:連続したRGBD画像群 出力:テクスチャ付き3Dメッシュ
  • 64. Aoki Media Sensing Lab., Keio Univ. Contents 1. 導入 2. 3D点群処理の基礎 1. 基本的な処理 2. データの取得方法 3. 位置姿勢推定の仕組み 1. 位置姿勢推定の流れ 2. 最近の研究動向 4. ライブラリ・可視化ツールについて 1. Open3D 2. Cloud Compare 64
  • 65. Aoki Media Sensing Lab., Keio Univ. Cloud Compare  多機能な点群ビューワ(.pcdファイルをそのまま読込可能)  フィルタリング処理,複数点群のインタラクティブな位置合わ せ等,様々な機能が実装されている 65 • 法線推定 • ダウンサンプリング • ノイズ除去 • 姿勢変更 • ICP • メッシュ生成 • 点のピッキング : などなど 点のピッキングで 2点間距離を計測した例 Cloud Compare の画面 http://www.danielgm.net/cc/
  • 66. Aoki Media Sensing Lab., Keio Univ. Cloud Compare  点群のレジストレーションの例 66 ① Edit -> Colors -> Set unique で位置合わせ 前の点群の色を変更. ③ Tools -> Registration -> Fine registration(ICP) でICPによる位置合わせ ② Edit -> Normals -> Compute で法線推定 ④ Edit -> Merge で点群データを統合
  • 67. Aoki Media Sensing Lab., Keio Univ. まとめ  現在のセンサ・ライブラリ・可視化ツールの選択肢を説明  センサ:インドアではActive stereo方式が主流  ライブラリ:Open3Dが登場.点群処理の敷居が下がった.  可視化ツール:有名どころでMeshLab.Cloud compareも便利.  3次元点群処理について説明  点群のデータ構造  基本処理のアルゴリズム  位置姿勢認識の流れ  Open3D の実装例の紹介 67