$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
主成分分析やRANSACを利用した点群からの円柱フィッティングの方法
Search
Kenta Itakura
May 26, 2025
Technology
0
630
主成分分析やRANSACを利用した点群からの円柱フィッティングの方法
Kenta Itakura
May 26, 2025
Tweet
Share
More Decks by Kenta Itakura
See All by Kenta Itakura
主成分分析による3次元点群の形状解析
kentaitakura
0
150
PromptDA (Depth Anything) を用いた深度推定や点群生成について
kentaitakura
0
560
3次元点群からメッシュモデルを作成: ボールピボット法について
kentaitakura
0
320
3D Gaussian Splatting (3DGS)のモデルを Cesiumの地球の上で可視化する方法
kentaitakura
0
620
ImVisionLabs株式会社: 産業技術総合研究所様との取り組み
kentaitakura
0
250
ImVisionLabs株式会社:ゼンリンデータコム様との取り組み
kentaitakura
0
160
ImVisionLabs株式会社: 中日本航空様との取り組み
kentaitakura
0
180
全方位カメラやPostshotを利用した3D Gaussian Splattingの実行方法の例
kentaitakura
0
2.5k
ImVisionLabs株式会社: 東京電力HD様との取り組み
kentaitakura
0
220
Other Decks in Technology
See All in Technology
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
230
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
450
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
270
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
250
打 造 A I 驅 動 的 G i t H u b ⾃ 動 化 ⼯ 作 流 程
appleboy
0
280
生成AI時代の自動E2Eテスト運用とPlaywright実践知_引持力哉
legalontechnologies
PRO
0
220
計算機科学をRubyと歩む 〜DFA型正規表現エンジンをつくる~
ydah
3
230
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
670
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
320
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.2k
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
2.9k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
KATA
mclloyd
PRO
32
15k
How STYLIGHT went responsive
nonsquared
100
6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Rails Girls Zürich Keynote
gr2m
95
14k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
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点を選択し、直径を測定