コンテンツへスキップ
英語
  • 検索フィールドが空欄のため、候補は表示されません。.

オープンフォトグラメトリフォーマット(OPF)を理解する

オープンフォトグラメトリーフォーマット(OPF)は、Pix4Dが策定した完全オープンかつ無料の仕様であり、さまざまなソフトウェアツールやユーザー間でフォトグラメトリープロジェクトデータの保存、交換、および共同利用を標準化することを目的としています。一貫性があり拡張可能なプロジェクトフォーマットを通じて、エンドユーザーと開発者の両方にとって、データの共有、統合、および処理を効率化します。.

 

OPFとは何ですか?

Open Photogrammetry Format(OPF)は、Pix4Dによって策定された、写真測量データ用のオープンで無料のファイルフォーマット仕様です。これは、異なるソフトウェア製品やユーザー間で写真測量データの保存、交換、および共同作業を容易にするように設計されています。OPFプロジェクトは通常、カメラパラメータや点群などの他のプロジェクトコンポーネントを参照するメインプロジェクトコンテナファイル(.opf)で構成されます。.

特徴

  • 人間が読みやすい形式:  可能な限りシンプルで人間が読みやすいJSONファイルに基づいています。テキストベースの表現が非現実的な場合(例:点群データ)には、効率的なバイナリ形式を活用します。
  • 構造化データ: 写真測量データを構造化された方法で整理し、情報の容易なアクセスと取得を可能にします。データモデルには、写真測量プロセスの入力と出力の両方に関する情報が含まれています。
    • 入力データ: 入力カメラ(カメラリスト、入力カメラパラメータ)、座標参照系、制御点、スケールと方向の制約などに関する情報が含まれます。
    • 出力データ: カメラキャリブレーションに関する情報(疎な点群、キャリブレーション済みカメラ)と、密に再構築された点群が含まれます。
  • 効率的なストレージ: 本仕様に含まれるATP(疎点群)および密点群の点群フォーマットは、オープンスタンダードであるglTFに基づいており、メモリマップ可能で空間的に分割できるように設計されています。これにより、大規模な点群の効率的な処理とプログレッシブレンダリングが可能になります。このフォーマットは、画像上の点の可視性、法線、カスタム属性などの情報を保持します。
  • 柔軟な拡張システム: 高い拡張性とカスタマイズ性を備え、必要に応じてデータ表現を容易に拡張できます。今後も継続的に改良を重ね、写真測量データの出力に対応していきます。
  • 安定フォーマット: 厳格なスキーマセマンティックバージョニングルールを採用しており、高い互換性を保証し、実装者に安心感を提供します。検証用にJSONスキーマが提供されます。

OPFが重要な理由とは?

非技術系ユーザー向け

コードを書かなくても、写真測量プロジェクトに携わるユーザー(撮影、処理、レビューなど)は、OPFフォーマットからいくつかの実用的なメリットを得ることができます。

  • データ転送の簡素化: ファイルの紛失やリンク切れの心配がなくなります。同僚との共有でも、現場作業からオフィスでの処理への移行でも、プロジェクトのすべての構成要素がそのまま維持されます。
  • シームレスな統合:OPFは複数のPix4Dアプリケーション間でシームレスな統合を実現し、キャプチャ(PIX4Dcatch)から処理(PIX4Dmatic)などへのスムーズなデータ転送を可能にします。今後、さらに多くの製品への対応を予定しています。

開発者および技術ユーザー向け

自動化ワークフロー、カスタムパイプライン、またはソフトウェア統合を構築するユーザーにとって、OPFは以下のような重要な利点を提供します。

  • 一貫性のあるファイル構造とメタデータへのアクセス。.
  • 機械可読性と人間可読性を兼ね備えたJSONベースの設定により、相互運用性とスキーマ検証が可能になります。.
  • のようなオープンツールを通じた統合の可能性 pyopf
  • 拡張機能によるカスタムデータのサポート。.

OPFプロジェクトには何が含まれているのですか?

OPFフォルダには通常、以下のものが含まれています。

  • project.opf:プロジェクトを記述する中心的なJSONファイル。
  • 入力データ:
    • 画像: 復元に使用された元の写真と、それらの入力パラメータ。
    • コントロールポイント: 地上コントロールポイント(GCP)、チェックポイント、および縮尺/方位制約。画像内の対応するマークも含む。
  • 出力データ: キャリブレーション済みのカメラデータや、疎な点群および密な点群(glTF形式)などの処理済み出力。

OPFプロジェクト内のデータは通常JSON形式で保存されます。点群のような大規模なデータセットの場合、ストリーミング形式としてglTFが使用されます。OPF仕様では、 glTFファイル形式 、独自のglTF拡張機能を組み込んでいます。つまり、OPF glTF点群は完全に有効なglTFファイルですが、すべてのglTFファイルが必ずしも有効なOPF glTF点群であるとは限りません。

OPF -glTF点群は 、オープンソースのglTF 2.0標準に基づいて構築されています。効率性を重視して設計されており、以下の機能を実現します。

  • メモリマッピング機能: データをプログラムメモリに直接マッピングすることで、高速なデータアクセスを可能にし、時間のかかる解析やロードの必要性を排除します。
  • 空間分割: 点群を管理しやすい空間チャンクに分割することで、以下のことが可能になります。
    • 効率的な処理: ソフトウェアは点群の必要な部分だけを選択的に読み込んで処理できるため、大規模なデータセットを扱う際に非常に重要です。
    • プログレッシブレンダリング: これにより、点群の初期表示を迅速に行うことができ、必要に応じて詳細情報が読み込まれます。これは、応答速度が重要なインタラクティブなアプリケーションに特に役立ちます。

OPF-glTF形式は、点群ジオメトリに加えて、以下のような重要なメタデータも保持します。

  • 画像上のポイントの可視性: 各ポイントをどのカメラが捉えることができたかに関する情報。
  • 法線: 各点における表面の向き。
  • カスタム属性: このフォーマットは拡張可能で、各地点に対して追加のユーザー定義データを保存できます。

OPFを実際に使用する

Pix4DのエコシステムはOPFとのシームレスな統合を実現し、PIX4DcatchおよびPIX4Dmaticとの効率的なエンドツーエンドのワークフローを可能にします。.

  1. キャプチャ:PIX4Dcatchを使用してプロジェクトデータを収集します。キャプチャ中にOPFフォルダが自動的に生成されます。
  2. 転送:OPFフォルダをデスクトップ環境に移動するか、共同作業者と共有してください。
  3. 起動方法:PIX4Dmaticを起動し、 project.opf ファイルを開きます。関連するすべてのデータが自動的にインポートされ、処理準備が整います。

このワークフローでは、画像のインポート、地上基準点の取得、設定の調整といった作業を手動で行う必要がありません。OPFファイルを開くだけで処理を開始できます。.

PIX4Dcatch の詳細については、 PIX4Dcatch から PIX4Dmatic への OPF の使用方法を参照してください。

開発者アクセス

OPFはエンドユーザーの使いやすさを考慮して設計されていますが、開発者向けに高度な機能も提供しています。

  • オープンソースの pyopfを
  • OPF ファイルを GitHub
  • OPFをカスタムパイプラインに統合することで、自動化、データ変換、または拡張処理ワークフローを実現できます。.

カスタム開発を行わなくても、すべてのユーザーはOPFが提供する構造化された信頼性の高いフォーマットの恩恵を受けることができます。.

OPFファイル形式を外部フレームワークと統合する方法の例として、 Pix4D Labsの記事は、NeRFツールとOPFを併用する方法が説明されています。これは、OPFを外部パッケージに統合するための詳細な例として活用できます。 

対応ツール

  • PIX4Dcatch:OPFプロジェクトをエクスポートするモバイルキャプチャアプリ。
  • PIX4Dmatic:OPFプロジェクトのインポートおよびエクスポートに対応したデスクトップ型写真測量ソフトウェア。

もっと詳しく知る

その他のリソース: