360度カメラ対応 Visual-Inertial Odometry
概要
360_visual_inertial_odometry は、360度カメラ映像(ERP: equirectangular projection)を入力に取る Visual-Inertial Odometry(VIO)のプロトタイプ実装です。リポジトリの現状では、ERP 画像上での特徴点追跡(Feature tracking on ERP image)が実装済みで、これは 360度映像特有の周方向連続性や投影歪みを考慮した処理を前提としています。主要な未実装タスクとしては、単眼カメラ側の初期化(Monocular Initialization)、IMU の初期化、そしてスライディングウィンドウに基づく最適化(Sliding Window Optimization)があります。研究・実験段階で、360度視野を活かした頑健な自己位置推定手法を構築するための基盤コードとして利用できます。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 5
- ファイル数: 8
- メインの言語: C++
主な特徴
- ERP(equirectangular)画像上での特徴点追跡が実装済み
- 360度カメラならではの投影・連続性を考慮した処理設計を前提
- Visual-Inertial 融合を目指す構成で、IMU とカメラの統合が目標
- 研究・プロトタイプ向けの軽量な C++ 実装(拡張しやすい構造)
技術的なポイント
360度カメラを用いた VIO には通常のピンホールモデルを仮定した場合とは異なる課題があり、本リポジトリはそれらの問題に対処するための基礎を整えようとしています。まず ERP(equirectangular)画像は経度・緯度に基づくマッピングで、画像の左右端が連続している(周期境界を持つ)点が特徴です。このため、特徴点検出や追跡(例えばオプティカルフロー)は通常の画像処理と同じアルゴリズムを用いるだけでは端での不連続や歪みに弱くなります。本リポジトリでは ERP の性質を踏まえた追跡処理が実装されており、360度視野を活かして視界欠損の少ない特徴追跡を行うことが可能です。
次に、Visual-Inertial 融合の観点では、単眼カメラ単体のスケール不定性や初期姿勢の難しさ、IMU のバイアス推定といった問題が挙げられます。README の ToDo にある「Monocular Initialization」「IMU Initialization」「Sliding Window Optimization」は、まさに VIO のコア工程です。通常は単眼の初期化でスケールと初期速度を決定し、IMU を使った観測モデルでジャイロ・加速度センサーのオフセット(バイアス)を同時推定します。その後、スライディングウィンドウ最適化(例えば非線形最小二乗)で過去数フレーム分の状態を同時最適化し、マージナライゼーションで情報量を保ちながら計算量を抑えます。360度カメラの場合、再投影誤差の計算は球面上や方向ベクトル上で行う設計が自然で、ERP→球面座標変換や球面上での点の距離・角度を誤差関数に組み込む必要があります。
最後に実装面では、C++ ベースであるため高速化や他ライブラリ(OpenCV、Eigen、最適化ライブラリ等)との連携が想定されますが、リポジトリ自体はまだ初期段階でコアの最適化ルーチンは未実装です。研究プロトタイプとして、まずは ERP 特有の特徴追跡の安定化に注力し、その後 IMU 融合と最適化フレームワークを順次組み込む設計方針が読み取れます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- CMakeLists.txt: file
- LICENSE: file
- README.md: file
- app: dir
…他 3 ファイル
まとめ
360度視野を活かした VIO の基礎構成が整いつつある実験的リポジトリです。拡張して研究用途に使いやすい。
リポジトリ情報:
- 名前: 360_visual_inertial_odometry
- 説明: Visual-Inertial Odometry using 360 Camera
- スター数: 3
- 言語: C++
- URL: https://github.com/93won/360_visual_inertial_odometry
- オーナー: 93won
- アバター: https://avatars.githubusercontent.com/u/38591115?v=4
READMEの抜粋: Visual-Inertial Odometry using 360 Camera
ToDo List
- Featrue traking on ERP image
- Monocular Initialization
- IMU Initialization
- Slding Window Optimization …