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
110
主成分分析や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
210
ImVisionLabs株式会社: 産業技術総合研究所様との取り組み
kentaitakura
0
140
ImVisionLabs株式会社:ゼンリンデータコム様との取り組み
kentaitakura
0
54
ImVisionLabs株式会社: 中日本航空様との取り組み
kentaitakura
0
86
全方位カメラやPostshotを利用した3D Gaussian Splattingの実行方法の例
kentaitakura
0
640
ImVisionLabs株式会社: 東京電力HD様との取り組み
kentaitakura
0
87
3次元点群の地表面抽出の方法であるCSF (Cloth Simulation Filter) について
kentaitakura
2
940
画像への投影を用いた3D点群認識
kentaitakura
0
120
深層学習を用いた根菜類の個数カウントによる収量推定法の開発
kentaitakura
0
170
Other Decks in Technology
See All in Technology
ClaudeCodeにキレない技術
gtnao
1
870
AI エージェントと考え直すデータ基盤
na0
21
8k
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
100
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
1.1k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
39k
今だから言えるセキュリティLT_Wordpress5.7.2未満を一斉アップデートせよ
cuebic9bic
2
170
Deep Security Conference 2025:生成AI時代のセキュリティ監視 /dsc2025-genai-secmon
mizutani
4
3.1k
AWS 怖い話 WAF編 @fillz_noh #AWSStartup #AWSStartup_Kansai
fillznoh
0
130
CDK Vibe Coding Fes
tomoki10
1
640
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
370
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Music & Morning Musume
bryan
46
6.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
4 Signs Your Business is Dying
shpigford
184
22k
A designer walks into a library…
pauljervisheath
207
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
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点を選択し、直径を測定