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
250
主成分分析やRANSACを利用した点群からの円柱フィッティングの方法
Kenta Itakura
May 26, 2025
Tweet
Share
More Decks by Kenta Itakura
See All by Kenta Itakura
PromptDA (Depth Anything) を用いた深度推定や点群生成について
kentaitakura
0
120
3次元点群からメッシュモデルを作成: ボールピボット法について
kentaitakura
0
31
3D Gaussian Splatting (3DGS)のモデルを Cesiumの地球の上で可視化する方法
kentaitakura
0
340
ImVisionLabs株式会社: 産業技術総合研究所様との取り組み
kentaitakura
0
170
ImVisionLabs株式会社:ゼンリンデータコム様との取り組み
kentaitakura
0
84
ImVisionLabs株式会社: 中日本航空様との取り組み
kentaitakura
0
110
全方位カメラやPostshotを利用した3D Gaussian Splattingの実行方法の例
kentaitakura
0
1.1k
ImVisionLabs株式会社: 東京電力HD様との取り組み
kentaitakura
0
130
3次元点群の地表面抽出の方法であるCSF (Cloth Simulation Filter) について
kentaitakura
2
1.1k
Other Decks in Technology
See All in Technology
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
1
280
なごミュ@SPAJAM2025 第二回予選
1901drama
0
110
あとはAIに任せて人間は自由に生きる
kentaro
3
990
生成AI活用のROI、どう測る? DMM.com 開発責任者から学ぶ「AI効果検証のノウハウ」 / ROI of AI
i35_267
4
140
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
0
160
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1k
AIと描く、未来のBacklog 〜プロジェクト管理の次の10年を想像し、創造するセッション〜
hrm_o25
0
120
PFEM Online Feature Flag @ newmo
shinyaishitobi
2
260
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
130
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
240
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
180
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
2
570
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Visualization
eitanlees
146
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A designer walks into a library…
pauljervisheath
207
24k
It's Worth the Effort
3n
187
28k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
560
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
KATA
mclloyd
32
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
770
How to train your dragon (web standard)
notwaldorf
96
6.2k
Typedesign – Prime Four
hannesfritz
42
2.8k
Code Reviewing Like a Champion
maltzj
525
40k
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点を選択し、直径を測定