LiDARオドメトリ(確率的カーネル最適化)
概要
このリポジトリは「LiDAR Odometry with Probabilistic Kernel Optimization (PKO)」を実装したC++プロジェクトです。リアルタイムでLiDAR点群から特徴点を抽出し、ICPベースの登録でフレーム間の相対変位を求め、Ceres Solverを用いたスライディングウィンドウ最適化により連続した自己位置推定を行います。PKO(確率的カーネル最適化)を導入することで、外れ値や観測ノイズに対して頑健な推定が可能になっており、可視化にはPangolinを使用して3次元軌跡や点群を確認できます。SLAM系アルゴリズムの研究や実装基盤として利用しやすい構成です。
リポジトリの統計情報
- スター数: 34
- フォーク数: 5
- ウォッチャー数: 34
- コミット数: 18
- ファイル数: 9
- メインの言語: C++
主な特徴
- Probabilistic Kernel Optimization (PKO) による頑健な状態推定の実装
- 点群からの特徴抽出とICP登録によるフレーム間推定
- Ceres Solver を使ったスライディングウィンドウ最適化によるバッチ的整合性確保
- Pangolin によるリアルタイム3D可視化とデバッグ支援
技術的なポイント
このプロジェクトの中核は、「確率的カーネル最適化(PKO)」を用いた外れ値に強い最適化フレームワークの採用です。点群処理ではまずエッジや面といった幾何学的特徴を抽出し、対応点探索にはICP(Iterative Closest Point)をベースにした手法を用いて粗位置合わせを行います。得られた相対変位をそのまま累積するのではなく、スライディングウィンドウ内で複数フレームの観測を同時に最適化することで時系列的な整合性を保ちます。最適化はCeres Solverを利用し、各観測の残差関数に対して確率的カーネルを導入することで、観測ごとの信頼度や外れ値の影響を確率論的に抑制します。これにより従来のL2ノルム最小化では過度に影響を受ける外れ値(センサの一時的誤検出やダイナミックオブジェクトによる点群の散逸)に対して頑健になります。ソフトウェア構成面ではC++による高効率実装を行い、Pangolinでの可視化によりデバッグと結果確認が容易です。また、build.shなどビルド支援スクリプトが用意されており、依存ライブラリ(Ceres, Pangolin 等)との連携を前提とした実行環境の構築が想定されています。リアルタイム性と頑健性のバランスを取るために、特徴抽出と最適化の分離、ウィンドウ幅やカーネルのパラメータ設計が重要な役割を果たします。
プロジェクトの構成
主要なファイルとディレクトリ:
-
.gitignore: file
-
CMakeLists.txt: file
-
README.md: file
-
app: dir
-
build.sh: file
-
src: dir (点群処理・最適化の実装)
-
include: dir (ヘッダ定義)
-
LICENSE: file …他 4 ファイル
まとめ
PKOを取り入れた実用的なLiDARオドメトリ実装で、研究・プロトタイプに適した設計。
リポジトリ情報:
- 名前: lidar_odometry
- 説明: Probabilistic Kernel Optimization for Robust State Estimation
- スター数: 34
- 言語: C++
- URL: https://github.com/93won/lidar_odometry
- オーナー: 93won
- アバター: https://avatars.githubusercontent.com/u/38591115?v=4
READMEの抜粋:
LiDAR Odometry with Probabilistic Kernel Optimization (PKO)
This is a real-time LiDAR odometry system designed for SLAM applications. It utilizes feature extraction from point clouds, iterative closest point (ICP) registration, sliding window optimization with Ceres Solver, and Pangolin for 3D visualization.
The system incorporates Probabilistic Kernel Optimization (PKO) for robust state estimation, as described in:
S. Choi and T.-W. Kim, “Probabilistic Kernel Optimization for Robust …