OpenDroneMap/NodeODM

A lightweight REST API to access aerial image processing engines such as ODM or MicMac

解決する問題

航空ドローン画像を地図や 3D モデルに処理するには、通常、複雑でエンジン固有のセットアップとスクリプトが必要です。NodeODM は、OpenDroneMap (ODM) などの処理バックエンドとの通信の負荷を処理する、標準化された使いやすい API とすぐに実行できる Web サーバーを提供します。CloudODM や PyODM などの他のツールが使用できる一貫したインターフェースを提供するため、基盤となるエンジンを直接管理することなく、ブラウザまたは独自のコードから画像処理タスクを起動できます。

仕組み

NodeODM は、独自の仕様で定義された Web API を公開する Node.js アプリケーションです。実行すると、Web サーバー(デフォルトポート 3000)が起動し、ドローン画像をアップロードして処理タスクを開始し、結果をダウンロードできます。サーバーは ODM エンジン(公式 ODM Docker イメージまたはカスタムイメージ)と通信して、実際の写真測量作業を実行します。タスクのオーケストレーション、データストレージを管理し、GPU 対応 Docker イメージを --gpus all フラグで実行する場合、GPU アクセラレーション(CUDA 経由)を使用できます。展開方法は、Docker コンテナ、ネイティブプロセス、または自己完結型 Windows 実行可能ファイルなど、いくつかあります。また、ODM 呼び出しをシミュレートするテストモードもサポートしており、開発者は完全な ODM セットアップなしで API を簡単にテストできます。

対象者

  • 航空画像を処理するためのターンキー Web インターフェースを必要とするドローン愛好家や専門家。
  • NodeODM がクリーンな REST API を提供するため、航空画像処理を必要とするアプリケーションを構築する開発者。
  • Docker、PM2、または Windows で展開可能なサーバーを必要とするシステム管理者。
  • Apptainer を介したルートレスコンテナオプションを必要とする高性能コンピューティングクラスターで作業する研究者。

ハイライト

  • 標準化された API 仕様。CloudODM や PyODM でも使用されています。
  • Node.js による本番対応の参照実装。
  • Web インターフェースにより、画像をアップロードしてワンクリックでタスクを開始できます。
  • 専用 Docker イメージを使用した NVIDIA カード(CUDA)の GPU アクセラレーション。
  • 柔軟な展開:Docker、ネイティブ、Windows バンドル、PM2、または Apptainer(ルートレス)。
  • ODM 呼び出しをシミュレートするテストモード。開発や自動テストに役立ちます。
  • 代替処理エンジンをテストするためにカスタム ODM イメージを指定できます。

関連

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