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つのアイデアを統合しています。

  1. 幾何的文脈トランスフォーマー – カメラポーズ、密な幾何学、長距離のドリフトを統合的に扱うトランスフォーマー。著者らが提唱する アンカー文脈、ポーズ参照ウィンドウ、トラジェクトリメモリ の3つのメカニズムによって実現。
  2. ページ化KVキャッシュアテンション(FlashInferライブラリ経由) – 過去のフレームのコンパクトな記憶を保持可能にし、数万フレームのストリームでも推論が高速(518×378画像で約20fps)を維持。
  3. ストリーミング最優先設計 – モデルは単一のフォワードパスで動作;過去のフレームを再訪問する反復最適化ループは存在しない。

その結果、ライブブラウザで視覚化可能な3Dポイントクラウド再構成が可能になります。


誰が使うべきか

  • 移動カメラからの即時シーンマッピングが必要な ロボット工学 / AR開発者。
  • ストリーミング再構成手法を、従来の最適化ベースSLAMやNeRFパイプラインと比較したい 研究者。
  • 長いウォークスルー動画を重い後処理なしに3Dポイントクラウドに変換したい コンテンツクリエイター。

クイックスタート(READMEから)

  1. conda環境を作成し、プロジェクトが推奨する正確なPyTorchバージョン(torch 2.8.0 + CUDA 12.8)をインストール。NVIDIA Kaolinレンダリングウェアはこのバージョン用にビルドされているため、バージョンは重要。
  2. パッケージをインストール
    pip install -e .
    
  3. (オプション)FlashInferをインストール – これにより高速なページ化KVキャッシュが利用可能。スキップするとPyTorchのネイティブSDPAアテンションにフォールバック。
  4. HuggingFaceまたはModelScopeからチェックポイントをダウンロード(例:robbyant/lingbot-map)。
  5. 提供されたシーンの1つでデモを実行:
    python demo.py --model_path /path/to/lingbot-map.pt \
        --image_folder example/courthouse --mask_sky
    
    http://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再構成分野における本格的な研究プロジェクトです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト