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
主成分分析やRANSACを利用した点群からの円柱フィッティングの方法
Search
Kenta Itakura
May 26, 2025
Technology
0
57
主成分分析やRANSACを利用した点群からの円柱フィッティングの方法
Kenta Itakura
May 26, 2025
Tweet
Share
More Decks by Kenta Itakura
See All by Kenta Itakura
3D Gaussian Splatting (3DGS)のモデルを Cesiumの地球の上で可視化する方法
kentaitakura
0
38
ImVisionLabs株式会社: 産業技術総合研究所様との取り組み
kentaitakura
0
86
ImVisionLabs株式会社:ゼンリンデータコム様との取り組み
kentaitakura
0
35
ImVisionLabs株式会社: 中日本航空様との取り組み
kentaitakura
0
55
全方位カメラやPostshotを利用した3D Gaussian Splattingの実行方法の例
kentaitakura
0
430
ImVisionLabs株式会社: 東京電力HD様との取り組み
kentaitakura
0
71
3次元点群の地表面抽出の方法であるCSF (Cloth Simulation Filter) について
kentaitakura
2
730
画像への投影を用いた3D点群認識
kentaitakura
0
62
深層学習を用いた根菜類の個数カウントによる収量推定法の開発
kentaitakura
0
150
Other Decks in Technology
See All in Technology
自分を理解するAI時代の準備 〜マイプロフィールMCPの実装〜
edo_m18
0
110
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
310
産業機械をElixirで制御する
kikuyuta
0
170
In Praise of "Normal" Engineers (LDX3)
charity
2
850
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1.1k
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
150
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
140
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
280
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
390
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
260
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
43
25k
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Six Lessons from altMBA
skipperchong
28
3.8k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Practical Orchestrator
shlominoach
188
11k
Raft: Consensus for Rubyists
vanstee
139
7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Transcript
3次元点群からの円柱フィッティング方法について ImVisionLabs株式会社代表取締役 板倉健太 博士(農学)
2 背景と目的 橋脚やパイプなどの円柱形状の構造物は、幾何モデルとして円柱にフィッティングする ことで、寸法計測や変状解析が可能 洪水や地震の前後で橋脚や電柱などの構造物の点群に対して本手法を適用することで、 傾きや変形といった幾何的変化を定量的に把握することが期待できる 画像は静岡県のオープンデータを利用
4 フィッティング対象の点群選定 点群全体から関心領域(ROI:Region of Interest)を定義し、円柱構造物を抽出 この際、対象の円柱状の物体以外の点はできるだけ取り除かれていることが望ましい 検出したい円柱を含む点群データ 自動的に円柱状の物体を検出した時の様子
円柱の式について 変数の意味 ・ は円柱の 軸上の1点(円柱の中心軸を定義する基準点) ・ は円柱の 軸方向ベクトル ・
は円柱上の点 方程式の構造 ・ : : 柱軸上の点 から の距離 ・ : と軸方向ベクトル の内積(軸に平行な成分) 𝑥0 , 𝑦0 , 𝑧0 𝑥0 , 𝑦0 , 𝑧0 (𝑎, 𝑏, 𝑐) (𝑎, 𝑏, 𝑐) (𝑥, 𝑦, 𝑧) (𝑥, 𝑦, 𝑧) 円柱の軸上の点と円柱上の点にて三平方の定理を行っているイメージ O 円柱の式: (𝑥 − 𝑥0 , 𝑦 − 𝑦0 , 𝑧 − 𝑧0 ) 5 RANSACによる半径の推定
円柱の式について 変数の意味 ・ は円柱の 軸上の1点(円柱の中心軸を定義する基準点) ・ は円柱の 軸方向ベクトル ・
は円柱上の点 方程式の構造 ・ : : 柱軸上の点 から の距離 ・ 𝑥0 , 𝑦0 , 𝑧0 𝑥0 , 𝑦0 , 𝑧0 (𝑎, 𝑏, 𝑐) (𝑥, 𝑦, 𝑧) (𝑥, 𝑦, 𝑧) 円柱の軸上の点と円柱上の点にて三平方の定理を行っているイメージ 𝑥0 , 𝑦0 , 𝑧0 (𝑥, 𝑦, 𝑧)・ ・ ・ r 円柱の式: : と軸方向ベクトル の内積(軸に平行な成分) (𝑎, 𝑏, 𝑐) (𝑥 − 𝑥0 , 𝑦 − 𝑦0 , 𝑧 − 𝑧0 ) 6
8 円柱フィッティングの手順 まずは主成分分析により軸のベクトルを推定し、その後に半径を決定する 円柱のフィッティングには軸の向き、軸の位置、半径が必要 半径の決定にはRANSACを利用する(後述) 軸の位置を 推定 半径を 決定
10 初期軸方向の推定 抽出された点群に対して主成分分析(PCA:Principal Component Analysis)を 実行し、最も分散の大きい方向を軸方向ベクトルの初期推定とする。 軸を推定
RANSACによる半径の推定 [a] ScanX2.0 RANSACとはデータの中からノイズによる影響を最小限にしながら、モデルのパラ メータを推定するために使用される統計的手法 11 初期軸が求まったので、次はRANSAC (RANdom
SAmple Consensus)によって半 径を推定する RANSACで 半径を決定 PCAで軸が決定している 円柱の形が決定
12 RANSACによる半径の推定 1.ランダムに3点を抽出し、半径を仮定 2.各点から軸への距離と半径との差から残差を計算 3.残差が小さい点をインライアとし、最も多くのインライアを持つモデルを選定 4.参照軸(例:Z軸)との方向一致条件も導入可能 半径を仮定 インライアを推定
13 フィッティングの実行結果 図1:元データ 図2:フィッティング結果 正確に円柱を抽出できていることがわかる 図2(フィッティング結果)は図1(元データ)に対 してPCAとRANSACによって抽出された円柱を 重ねたものである
14 フィッティングの実行結果 回転させると右の動画のようになった どの方向から観察しても正確に円柱を抽出で きていることが分かった
15 樹木のフィッティング 樹木の幹を対象として円柱フィッティングを行うと直径が0.74m (図1) 、CloudCompare 上で2点を選択し、直径を測る(図2)と0.73mとなった 図1:円柱フィッティングにより直径を推定 図2: 手動で2点を選択し、直径を測定