点群量の削減と形状保持:ダウン・サンプリング法


空間を立方体分割:代表点選定,点群再構築

ボクセル・グリッド法による代表点選定

図1 LiDARから得られる点群は1スキャンあたり50万点以上ある.レジストレーションやマッピング処理が非常に重いため,点数を削減するダウン・サンプリングが重要.画像クリックで動画を見る.または記事を読む.[講師]小出健司
詳細[VOD/Full KIT/data]3D LiDAR×Jetson Superキットで学ぶ高精度リアルタイムSLAM&センサ・フュージョン

LiDARなどの3次元センサから取得される点群は非常に密で,1スキャンあたり50万点以上になることがあります. このままではレジストレーションやマッピング処理が非常に重たくなるため,点数を削減するダウン・サンプリングが重要です. ダウン・サンプリングにより処理速度を向上させつつ,全体の形状は保持できます.

ボクセル・グリッド法による代表点選定

点群を囲む空間を一定サイズのグリッドで区切り,3次元セルはボクセルと呼ばれます. 各ボクセル内の点から代表座標を選び,全ボクセルの代表座標を集めたものがダウン・サンプリング後の点群です. 代表座標の選定方法は以下のとおりです.

  1. セル内の点の平均座標を代表座標とする
  2. セル内の最初の点を代表座標とする
  3. 必要に応じてランダムに1点を選択する

この手法により,点群密度が均一化され,処理速度の高速化とレジストレーション精度向上が期待できます. ただしボクセル・サイズを大きくしすぎると,構造表現力が低下し精度が下がるため,環境に応じた適切な解像度の設定が必要です. 屋内環境では$0.1$~$0.25m$,屋外では$0.25$~$0.5m$程度が目安です.

KdTreeによる効率的な最近傍探索

ダウン・サンプリング後の点群でも,点群レジストレーションでは最近傍探索が処理時間の大部分を占めます. KdTreeを用いた空間分割により,効率的な探索が可能です. 構築時には以下の手順を行います.

  1. 空間全体を表すルート・ノードから階層的に分割する木構造を作成する
  2. 各階層で点数が均等になるように分割面を選択する

検索時には,ルート・ノードから末端ノードまでたどり,暫定最近傍点を更新しつつ枝刈りを行うことで,高速かつ精度の高い探索が可能です. この方法により,全体の点密度が均一化され,遠方の点も適切に参照されるため,レジストレーション精度が向上します.

ランダム・サンプリングと精度のトレードオフ

ボクセル・ランダム・サンプリングでは,各ボクセルに含まれる点の数$M$と全体目標点数$N$から抽出点数$K = N /M$を決定し,ランダムに点を選択します. これにより処理後の点数を指定でき,属性情報の不整合も防止できます. ダウン・サンプリングは速度と精度のトレードオフであり,極端な削減は情報損失につながるため,環境に応じた最適な点数選定が重要です.

〈著:ZEPマガジン〉

動画を見る,または記事を読む

参考文献

  1. [VOD/Pi KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
  2. [VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]ラズベリー・パイで学ぶエッジAIプログラミング入門,ZEPエンジニアリング株式会社.
  4. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  5. [VOD/KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  6. [VOD/KIT]ラズパイ×Node-REDで作ろう!IoTアプリ開発入門,ZEPエンジニアリング株式会社.
  7. [VOD/Pi3A KIT]ラズパイ・キットで学ぶLinux I/Oボードの作り方・探し方・動かし方,ZEPエンジニアリング株式会社.