点群量の削減と形状保持:ダウン・サンプリング法
空間を立方体分割:代表点選定,点群再構築
ボクセル・グリッド法による代表点選定
![]() |
---|
図1 LiDARから得られる点群は1スキャンあたり50万点以上ある.レジストレーションやマッピング処理が非常に重いため,点数を削減するダウン・サンプリングが重要.画像クリックで動画を見る.または記事を読む.[講師]小出健司 詳細:[VOD/Full KIT/data]3D LiDAR×Jetson Superキットで学ぶ高精度リアルタイムSLAM&センサ・フュージョン |
LiDARなどの3次元センサから取得される点群は非常に密で,1スキャンあたり50万点以上になることがあります. このままではレジストレーションやマッピング処理が非常に重たくなるため,点数を削減するダウン・サンプリングが重要です. ダウン・サンプリングにより処理速度を向上させつつ,全体の形状は保持できます.
ボクセル・グリッド法による代表点選定
点群を囲む空間を一定サイズのグリッドで区切り,3次元セルはボクセルと呼ばれます. 各ボクセル内の点から代表座標を選び,全ボクセルの代表座標を集めたものがダウン・サンプリング後の点群です. 代表座標の選定方法は以下のとおりです.
- セル内の点の平均座標を代表座標とする
- セル内の最初の点を代表座標とする
- 必要に応じてランダムに1点を選択する
この手法により,点群密度が均一化され,処理速度の高速化とレジストレーション精度向上が期待できます. ただしボクセル・サイズを大きくしすぎると,構造表現力が低下し精度が下がるため,環境に応じた適切な解像度の設定が必要です. 屋内環境では$0.1$~$0.25m$,屋外では$0.25$~$0.5m$程度が目安です.
KdTreeによる効率的な最近傍探索
ダウン・サンプリング後の点群でも,点群レジストレーションでは最近傍探索が処理時間の大部分を占めます. KdTreeを用いた空間分割により,効率的な探索が可能です. 構築時には以下の手順を行います.
- 空間全体を表すルート・ノードから階層的に分割する木構造を作成する
- 各階層で点数が均等になるように分割面を選択する
検索時には,ルート・ノードから末端ノードまでたどり,暫定最近傍点を更新しつつ枝刈りを行うことで,高速かつ精度の高い探索が可能です. この方法により,全体の点密度が均一化され,遠方の点も適切に参照されるため,レジストレーション精度が向上します.
ランダム・サンプリングと精度のトレードオフ
ボクセル・ランダム・サンプリングでは,各ボクセルに含まれる点の数$M$と全体目標点数$N$から抽出点数$K = N /M$を決定し,ランダムに点を選択します. これにより処理後の点数を指定でき,属性情報の不整合も防止できます. ダウン・サンプリングは速度と精度のトレードオフであり,極端な削減は情報損失につながるため,環境に応じた最適な点数選定が重要です.
〈著:ZEPマガジン〉参考文献
- [VOD/Pi KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]ラズベリー・パイで学ぶエッジAIプログラミング入門,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]ラズパイ×Node-REDで作ろう!IoTアプリ開発入門,ZEPエンジニアリング株式会社.
- [VOD/Pi3A KIT]ラズパイ・キットで学ぶLinux I/Oボードの作り方・探し方・動かし方,ZEPエンジニアリング株式会社.