Slide 1

Slide 1 text

RANSACを利用した 3次元点群の前処理について ImVisionLabs株式会社代表取締役 板倉健太 博士(農学)

Slide 2

Slide 2 text

3次元点群とは? 1 バックパック型スキャナー iPhone12 LiDAR  点の集まりにより対象の3次元形状を表現するもの  LiDARと呼ばれるセンサーや、写真の組み合わせにより3次元点群を取得可能 [動画]

Slide 3

Slide 3 text

点群の利用例: 位置データとの組み合わせ [a] ScanX2.0  土砂崩れの状況などを3次元的に可視化することで、迅速かつ適切な状況判断に利用  3次元点群を利用し、森林の地表面の形状や高さなどを調べる →伐採計画や温室効果ガスの吸収量を調べることなどに利用 画像出典: 2024年1月26日 朝日新聞 教育科学面 「地図×データ 湧くアイデア」

Slide 4

Slide 4 text

点群の前処理について [a] ScanX2.0  3次元点群から情報を抽出するためには前処理が必要 例1)点群から地表面を抽出したい: 建物の高さや樹木の高さを求める 例2)点群から壁面を抽出したい: 床の傾きを計算する 画像出典: Itakura & Hosoi, 2021: Three-dimensional tree monitoring in urban cities using automatic tree detection method with mobile LiDAR data

Slide 5

Slide 5 text

RANSACについて: 概要 [a] ScanX2.0  RANSAC(RANdom SAmple Consensus) • データの中からノイズによる影響を最小限にしながら、モデルのパラメータを 推定するために使用される統計的手法 • 3次元点群に適用することも可能

Slide 6

Slide 6 text

RANSACについて: 手順(直線)  簡単のため、まずは直線のモデルのRANSACを考える。 1. 大量の点の中からランダムに2点を選択し、正しいモデル(例:直線)を作成する 2. その直線と各点の距離を計算し、一定の距離に収まる点数などの当てはまりの良さを定める 3. 一定の回数(例: 1000回)繰り返し、最も当てはまりのよかった直線を検出結果とする 1.ランダムに 2点を選択 2.直線と各点の 距離を計算 3. 1と2の作業を繰り返し、 最適な直線を検出

Slide 7

Slide 7 text

RANSACについて: 手順(平面) ScanX2.0 1. ランダムに3点を選択し、平面を作成する 水色: 対象の点 緑色: ランダムに抽出した点 赤色: ランダムに抽出した点から作成した平面 2. その平面と各点の距離を計算し、一定の距離に収まる点数などの当てはまりの良さを定める 3. 一定の回数(例: 1000回)繰り返し、最も当てはまりのよかった平面を検出結果とする 上から見た図 横から見た図

Slide 8

Slide 8 text

RANSACについて: 手順(円柱)  直線や平面に限らず、複雑な図形(例:円柱)に対してもRANSACは使用可能 1.ランダムに複数の点を選び、円柱の形(軸の向き・位置・半径)を仮定する 2.他の点がその円柱の表面にどれだけ近いかを調べる 3. 一定の回数(例: 1000回)繰り返し、最も当てはまりのよかった円柱を検出結果とする 軸の向きを仮定 軸の位置 半径

Slide 9

Slide 9 text

RANSACについて: 手順(式) • 直線 • 平面 • 円柱 式: 式: 式: 𝑥 − 𝑥0 𝑎 = 𝑦 − 𝑦0 𝑏 = 𝑧 − 𝑧0 𝑐 𝑎𝑥 + 𝑏𝑦 + 𝑐𝑧 + 𝑑 = 0  利用するモデル式を変更することで様々な種類のフィッティングが可能  複数の点をランダムに選択し以下の式を利用してフィッテイング→距離の計算を行う

Slide 10

Slide 10 text

円柱の式の補足  変数の意味 ・ は円柱の 軸上の1点(円柱の中心軸を定義する基準点) ・ は円柱の 軸方向ベクトル ・ は円柱上の点  方程式の構造 ・ : : 柱軸上の点 から の距離 ・ (軸に平行な成分でOHに相当) 𝑥0 , 𝑦0 , 𝑧0 𝑥0 , 𝑦0 , 𝑧0 (𝑎, 𝑏, 𝑐) (𝑥, 𝑦, 𝑧) (𝑥, 𝑦, 𝑧) O H : (𝑥 − 𝑥0 , 𝑦−𝑦0 , 𝑧 − 𝑧0 )と軸方向ベクトル (𝑎, 𝑏, 𝑐) の内積(軸に平行な成分)

Slide 11

Slide 11 text

円柱の式の補足  変数の意味 ・ は円柱の 軸上の1点(円柱の中心軸を定義する基準点) ・ は円柱の 軸方向ベクトル ・ は円柱上の点  方程式の構造 ・ : : 柱軸上の点 から の距離 ・ : (𝑥 − 𝑥0 , 𝑦−𝑦0 , 𝑧 − 𝑧0 )と軸方向ベクトル の内積(軸に平行な成分) 𝑥0 , 𝑦0 , 𝑧0 𝑥0 , 𝑦0 , 𝑧0 (𝑎, 𝑏, 𝑐) (𝑎, 𝑏, 𝑐) (𝑥, 𝑦, 𝑧) (𝑥, 𝑦, 𝑧) 円柱の軸上の点と円柱上の点にて三平方の定理を行っているイメージ 𝑥0 , 𝑦0 , 𝑧0 (𝑥, 𝑦, 𝑧) ・ ・ ・ r

Slide 12

Slide 12 text

RANSACの結果の例 ScanX2.0  RANSACを利用して、茶色で示された地表面(左図)や、カラフルに塗られた床面や壁 面(右図)が自動的に検出された 画像出典: Itakura & Hosoi, 2021: Three-dimensional tree monitoring in urban cities using automatic tree detection method with mobile LiDAR data

Slide 13

Slide 13 text

RANSACの結果の例 ScanX2.0  対象の形状を式で表すことができればRANSACを適用することができる  以下の図は、円柱のモデル式を考え、 RANSACを利用して 円柱状の物体を検出した時の結果を示す

Slide 14

Slide 14 text

RANSACの結果の例 ScanX2.0  その他の解析技術とも組み合わせることで、より多様な物体の認識が可能  床板をRANSACにて検出し、オレンジ色で可視化 →道路の幅などを計算することが可能 入力の点群 橋梁の検出と分類を行った結果 データ出典: 東京大学全先生とのプロジェクトにて本点群は取得さ れました

Slide 15

Slide 15 text

まとめ 16 バックパック型スキャナー iPhone12 LiDAR 3次元点群を扱う上で重要な前処理の手法であるRANSACについて紹介しました RANSACは、3次元点群などの多くのデータの種類に対して適用が可能です [動画] その他の3次元点群処理手法と組み合わせることで、様々な解析が可能です。今後も 開発を進めて、実応用につながるような有効なアルゴリズムを作っていきたいです