Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ICPレジストレーションを利用した 3次元点群の位置合わせについて
Search
Kenta Itakura
April 14, 2024
Technology
0
890
ICPレジストレーションを利用した 3次元点群の位置合わせについて
Kenta Itakura
April 14, 2024
Tweet
Share
More Decks by Kenta Itakura
See All by Kenta Itakura
LiDARとカメラのセンサーフュージョンによる点群からのノイズ除去
kentaitakura
0
120
センサーフュージョンを利用した橋梁の構造情報の推定
kentaitakura
0
62
深層学習を利用した3次元点群の分類を行う際の手順について
kentaitakura
0
340
外積やロドリゲスの回転公式を利用した点群の回転
kentaitakura
1
640
3次元点群の分類における評価指標について
kentaitakura
0
400
Segment Anything Modelを利用して 農作物のセグメンテーションを行ってみた
kentaitakura
0
310
LIMEを用いた判断根拠の可視化
kentaitakura
0
330
グリーンレーザーにより取得した3次元点群から海底や水面を分類した事例
kentaitakura
0
350
複数の入力の深層学習ネットワークの作成について
kentaitakura
0
180
Other Decks in Technology
See All in Technology
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
140
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
370
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
1
1k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
460
データの信頼性を支える仕組みと技術
chanyou0311
6
1.7k
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
180
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
120
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
330
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
280
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
280
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
430
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
570
Building Adaptive Systems
keathley
38
2.3k
Teambox: Starting and Learning
jrom
133
8.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
A Philosophy of Restraint
colly
203
16k
Making Projects Easy
brettharned
115
5.9k
GitHub's CSS Performance
jonrohan
1030
460k
KATA
mclloyd
29
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
RailsConf 2023
tenderlove
29
900
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Transcript
ICPレジストレーションを利用した 3次元点群の位置合わせについて ImVisionLabs株式会社代表取締役 板倉健太 博士(農学)
3次元点群とは? 1 バックパック型スキャナー iPhone12 LiDAR 点の群れによって、3Dの情報を表現するもの XYZ座標を持つ点(例:エクセルの1行)が大量にあるイメージ 点群のデータ形式のイメージ
点が集まると対象の形状になる 点群の例 [動画]
3次元点群の利用例:被害状況の可視化 2 バックパック型スキャナー iPhone12 LiDAR 地震の前後の3次元点群の差分から、被害状況を把握 GPSなどの位置情報を用いて2つの点群の位置合わせを行う [動画]
被害状況の可視化 位置ずれの例 しかし、その情報のみでは完全に位置合わせできない場合も多い 引用:アジア航測株式会社「点群マッチングとその応用」 URL: http://www.jsprs-w.org/meetings/data/w0089_oda.pdf
点群の位置合わせ [a] ScanX2.0 複数の点群の重ね合わせによる密な点群の生成 (SLAM) などにも使用可能 2つの点群を共通の座標系にする⇒点群の位置ずれを修正
点群の位置: 回転と平行移動の計算 位置合わせしたい点群を、回転及び平行移動させる ቐ 𝑋 = 𝑥cos𝜃𝑧 + 𝑦sin𝜃𝑧
𝑌 = −𝑥sin𝜃𝑧 + 𝑦cos𝜃𝑧 𝑍 = 𝑧 𝑥 𝑦 𝑧 = cos𝜃𝑧 sin𝜃𝑧 0 −sin𝜃𝑧 cos𝜃𝑧 0 0 0 1 𝑥 𝑦 𝑧 𝑥 𝑦 𝑧 1 = cos𝜃𝑧 sin𝜃𝑧 0 0 −sin𝜃𝑧 cos𝜃𝑧 0 0 0 0 1 0 0 0 0 1 𝑥 𝑦 𝑧 1 • Z軸を中心とした回転の式 カメラの向きを回転させたときの例 • 行列を使った形 • 平行移動にも対応した形
点群の位置合わせ方法 様々な手法が存在 • ICP(Iterative Closest Point) • NDT(Normal Distributions
Transform) 確率モデルを用いた手法 本スライドでは、最も基本的なICPを紹介 ✓ Point-to-point:点同士の位置合わせ。最も基本的 ✓ Point-to-plane:点と平面の位置合わせ
点群の位置合わせ方法:ICPレジストレーション 点群X (移動させる点群) 点群Y (基準となる点群) 処理の流れ 1. 仮の対応 Xの各点に最も近いYの点を求める
2. パラメーターを求める XをYに変換するパラメーターを推定する (回転ベクトルR・並進ベクトルt) 3. 点群の変換 2.のパラメーターを用いて、Xを変換する 4. 変換後の点群に対して、仮の対応を求める 3.の各点に最も近いYの点を求める 反復
点群の位置合わせ:実験データ 実験データ • 青色:基準となる点群 • 黄色:移動させる点群。x軸、y軸、z軸周りに10⁰、40⁰ 、30⁰回転し、さらに平行移動
結果: ICPレジストレーション [a] 反復回数ごとのICPレジストレーションの結果を可視化している 反復回数が増えるごとに、黄色の点群が、青色に近づいていることがわかる
まとめ 9 バックパック型スキャナー iPhone12 LiDAR 点群の位置合わせの基本的な手法であるICPレジストレーションについて紹介しました [動画] 簡単な実験データをもとに、ICPレジストレーションを実装し、有効性を確認しました