PIX4Dengine を使用した大規模プロジェクトの処理
PIX4Dengine 移行を強く推奨します。最新のドキュメントをご覧になるには、PIX4Dengine SDKのページをご覧ください。
この記事では、Pix4Dengine を使用して大規模なデータセットを処理する方法について説明します。実際には、撮影プロセスに先立って大規模なプロジェクトを計画し、ワークフローを可能な限り効率的かつ円滑に進めることが理想的です。 プロジェクトには主に2つのタイプがあり、それぞれ異なる対応が必要です:
現在、GCPを含むプロジェクトでは、画像のマーキングや精度の確認に手作業が必要となっています。
大規模なプロジェクトでは、プロジェクトを最終的に統合できる管理しやすい単位に分割することに重点を置くべきです。個々のプロジェクトは2000枚以下の画像に抑えるか、あるいは利用可能なハードウェアの処理能力に見合った画像数にすることが推奨されます。
GCP(地物参照点)やMTP(地物追跡点)は、異なる画像セットやフライト間のオーバーラップ領域に配置されるよう計画する必要があります。 現在、プロジェクトを統合するためのコマンドライン引数がないため(GCPやMTPが必要であり、手動でマークしなければならないという理由から)、統合はPIX4Dengine を使用して手動で行うしかありません。
PIX4Dengine で大規模なデータセットを処理するには:
1. 画像を扱いやすいブロックに分割する:
- 選択肢 1: 複数のフライトを重なり合うように計画する。
フライト計画においてプロジェクトをセクションに分けることが、プロジェクト全体を分割する最も簡単な方法です。個々のセクションを小さく分割した方が、1つの大きなプロジェクトを処理するよりも処理が速くなります。分割されたサブプロジェクトを最終的に結合する重なり合う領域には、少なくとも2つのGCPを設置することをお勧めします。 - オプション 2:ファイルの作成日時で画像を分類する。
このオプションは、飛行前の計画が立てられない場合や、大規模なプロジェクトを一度に飛行しなければならない場合に適しています。 一般的に、ファイルの作成日時を基準にすることで、関連する画像のセクションを決定することができます。例えば、最初のサブプロジェクトを画像1~1000、2番目を画像900~1900、3番目を画像1800~2800とするなどです。後のマージを成功させるためには、サブプロジェクト間で一定の重複範囲を確保する必要があります。
2. 各画像ディレクトリを順に処理して、サブプロジェクトごとに.p4dファイルを作成します:"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -n --image-dir <image_directory> --template <template_file> <project_file>または"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -n --image-dir <image_directory> <project_file>
3. 各サブプロジェクトについて、手順1に従って処理する。
"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -i "D:\Project1\subproject1.p4d"
"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -i "D:\Project1\subproject2.p4d"
... 4. GUIから地上制御点(GCP)または手動タイポイント(MTP)を手動で読み込む:
ファイルからGCP/MTPを追加する手順についてはこちら(202560039)を、GCP/MTPを手動でマーキングする手順についてはこちら(202560109)をご参照ください。
5.サブプロジェクトを使用してマージされた .p4d ファイルを作成する:202558529
6. 新しい「merged.p4d」ファイルを、残りの2つの手順に従って処理します。
"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -d -o "D:\Project1\subproject1.p4d"プロジェクトでGCPとの連携が必要ない場合は、専用のプログラムを使用することで、完全に自動処理が可能です。
正確さよりも時間を重視する
1. 処理前のプロジェクト分割:コマンドPix4D 効率的に活用する最も効果的な方法は、プロジェクトをハードウェアにとって処理しやすいブロックに分割することです。
- 選択肢 1:複数のフライトを重なり合うように計画する。
フライト計画においてプロジェクトをセクションに分割することは、プロジェクト全体を分割する最も簡単な方法です。個々のセクションを小さく分割した方が、1つの大きなプロジェクトを処理するよりも処理が速くなります。分割されたサブプロジェクトを最終的に結合する重なり合う領域には、少なくとも2つのGCPを設置することを推奨します。 - オプション 2:ファイルの作成日時で画像を分類する。
このオプションは、飛行前の計画が立てられない場合や、大規模なプロジェクトを一度に撮影しなければならない場合に適しています。 一般的に、ファイルの作成日時を基準にすることで、関連する画像のセクションを決定することができます。例えば、最初のサブプロジェクトを画像1~1000、2番目を画像900~1900、3番目を画像1800~2800とするなどです。後のマージを成功させるためには、サブプロジェクト間で一定の重複範囲を確保する必要があります。
2. 画像のセットごとにプロジェクトファイルを作成します:
処理の前に適用する特定のテンプレートがある場合は、以下の手順で新しいPix4D を作成してください:"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -n --image-dir <image_directory> --template <template_file> <project_file>そうでなければ:"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -n --image-dir <image_directory> <project_file>
3. すべてのステップについてサブプロジェクトを実行します: "C:\Program Files\Pix4Dmapper\pix4dmapper" -c -r <project_file>
大規模プロジェクトの全工程を実行した後、GDALなどの他の後処理ソフトウェアを使用して、出力データを統合することができます。
時間よりも正確さを重視する:
1. 新しいPix4D を作成します。処理の前に適用する特定のテンプレートがある場合は、以下の手順で新しいPix4D を作成してください:"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -n --image-dir <image_directory> --template <template_file> <project_file>そうでなければ:"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -n --image-dir <image_directory> <project_file>
2. 大規模プロジェクトのすべての画像について、手順 1 を実行します。
"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -i "D:\Project\largeproject.p4d"3. 手順 1 が完了したら、プロジェクトを分割するためにプロジェクトファイルを複製する必要があります:
スクリプトを使用する場合、プロジェクトを分割したい数だけプロジェクトファイルをコピーする必要があります。.p4dファイルは、実質的にプロジェクト領域を含むXMLドキュメントであり、一般的なプログラミング言語のほとんどで編集可能です。
このファイルで注目すべき部分は、このセクションです:<processingArea>
<geoCoord2D x="312978.66118643" y="5154376.965688433"/>
<geoCoord2D x="312978.117330892" y="5154341.216678394"/>
<geoCoord2D x="312939.979279067" y="5154341.70726983"/>
<geoCoord2D x="312942.866226013" y="5154379.047594546"/>
<z zMin="130.1203951143" zMax="354.9494048754"/>
</processingArea>
コピーした各.p4dファイルの境界点を編集し、プロジェクト全体の一定割合をカバーするようにします。後処理で出力データを結合しやすくするため、各セクション間で十分な重なりがあるようにする必要があります。
4. 各サブプロジェクトについて、手順2と手順3を実行します。
"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -d -o "D:\Project1\subproject1.p4d"
"C:\Program Files\Pix4Dmapper\pix4dmapper" -c -d -o "D:\Project1\subproject2.p4d"
...5. GDALなどの後処理ツールで出力データを結合します。