Robbyant/lingbot-map
[ECCV 2026 Best Paper Award Candidate] LingBot-Map: Geometric Context Transformer for Streaming 3D Reconstruction
LingBot‑Map: ストリーミング再構成のためのフィードフォワード3D基盤モデル
何であるか
LingBot‑Map は、研究用のフィードフォワードニューラルネットワークであり、動画(または画像フォルダ)から3Dシーンを動画がストリーミング中に再構成します。NeRFスタイルのパイプラインで通常は別々に扱われる3つのアイデアを統合しています。
- 幾何的文脈トランスフォーマー – カメラポーズ、密な幾何学、長距離のドリフトを統合的に扱うトランスフォーマー。著者らが提唱する アンカー文脈、ポーズ参照ウィンドウ、トラジェクトリメモリ の3つのメカニズムによって実現。
- ページ化KVキャッシュアテンション(FlashInferライブラリ経由) – 過去のフレームのコンパクトな記憶を保持可能にし、数万フレームのストリームでも推論が高速(518×378画像で約20fps)を維持。
- ストリーミング最優先設計 – モデルは単一のフォワードパスで動作;過去のフレームを再訪問する反復最適化ループは存在しない。
その結果、ライブブラウザで視覚化可能な3Dポイントクラウド再構成が可能になります。
誰が使うべきか
- 移動カメラからの即時シーンマッピングが必要な ロボット工学 / AR開発者。
- ストリーミング再構成手法を、従来の最適化ベースSLAMやNeRFパイプラインと比較したい 研究者。
- 長いウォークスルー動画を重い後処理なしに3Dポイントクラウドに変換したい コンテンツクリエイター。
クイックスタート(READMEから)
- conda環境を作成し、プロジェクトが推奨する正確なPyTorchバージョン(torch 2.8.0 + CUDA 12.8)をインストール。NVIDIA Kaolinレンダリングウェアはこのバージョン用にビルドされているため、バージョンは重要。
- パッケージをインストール
pip install -e . - (オプション)FlashInferをインストール – これにより高速なページ化KVキャッシュが利用可能。スキップするとPyTorchのネイティブSDPAアテンションにフォールバック。
- HuggingFaceまたはModelScopeからチェックポイントをダウンロード(例:
robbyant/lingbot-map)。 - 提供されたシーンの1つでデモを実行:
python demo.py --model_path /path/to/lingbot-map.pt \ --image_folder example/courthouse --mask_skyhttp://localhost:8080でVisorビューアが開き、ライブのポイントクラウド再構成が表示されます。
主な機能(READMEに記載)
| 機能 | 機能内容 | 有効化・調整方法 |
|---|---|---|
| 幾何的文脈トランスフォーマー | 座標の基準化、密な幾何学的ヒント、ドリフト補正を統合。 | 内部処理。チェックポイントを選択するのみ。 |
| ページ化KVキャッシュ(FlashInfer) | 選択されたキーフレームのみをメモリに保持し、10,000フレーム以上のストリームを約20fpsで処理可能。 | --keyframe_interval N(Nフレームごとに保存)。最高速度には --backend flashinfer を使用。 |
| ウィンドウ化推論 | シーケンスが訓練範囲(約320フレーム)を超えると、固定サイズのメモリウィンドウをスライド。 | --mode windowed --window_size 128 --overlap_keyframes 8。 |
| スカイマスキング | ONNXスカイセグメンテーションモデルを使用して空の点を除去し、屋外再構成を改善。 | onnxruntime をインストールし、--mask_sky を追加(モデルは自動ダウンロード)。 |
| カメラポーズの最適化 | 各フレームごとにポーズを反復的に最適化。デフォルトは4回。 | 速度優先なら --camera_num_iterations 1 で減らす。 |
| オフラインレンダリングパイプライン | 非表示モードで再構成されたポイントクラウドのMP4を生成。非常に長い動画に適している。 | demo_render/batch_demo.py をYAML設定ファイルまたは明示的フラグで実行。 |
| 可視化オプション | ポイントサイズ、信頼度閾値、ダウンサンプリング、ポートなど。 | --point_size、--conf_threshold などのフラグで調整。 |
リポジトリからの例の使用事例
- 屋内ウォークスルー:25,000フレーム(13分)をスライディングウィンドウ設定でオフラインレンダリング。
- 動的シーケンス(Droid-W):動く物体の処理を示す。スカイマスキングとstride-2サンプリングをデモ。
- ループクロージャートラジェクトリ:ループシーンで、明示的な最適化なしにループを閉じられる。
インストール時の注意点
- オフラインレンダラで使用される事前コンパイル済みKaolinウェアには、正確なPyTorch 2.8.0 + CUDA 12.8ビルドが必要。新しいPyTorchを使うとインタラクティブデモは可能だが、Kaolinはソースからビルドする必要がある。
- FlashInfer は純粋なPythonパッケージであり、初回使用時にJITコンパイルでCUDAカーネルを生成。初回実行は数秒かかる可能性がある。
- スカイマスクモデル(
skyseg.onnx)はHuggingFaceから自動ダウンロードされる。インターネット接続を確保するか、手動でファイルを配置。 - GPUメモリ制約があるマシンでは、
--offload_to_cpu(デフォルト)で各フレームの予測をGPU外に移動。--num_scale_frames(デフォルト8)を減らして初期アクティベーションピークを小さくする。
詳細情報の入手先
- 論文(カンファレンス版) – READMEの上部のバッジにリンク。
- 技術報告(arXiv) – アルゴリズムの詳細を完全に記載。
- プロジェクトウェブサイト – 追加の動画とベンチマークを含む。
- 評価スクリプト –
benchmark/ディレクトリにあり、KITTI、Oxford Spiresなどに対応。
TL;DR
LingBot‑Mapは、ストリーミング最優先の3D再構成トランスフォーマーであり、リアルタイムで動作し、ページ化KVキャッシュにより非常に長い動画ストリームをサポート。デモスクリプト、事前学習済みチェックポイント、オフラインレンダラを同梱。AI駆動3D再構成分野における本格的な研究プロジェクトです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト