Reconstruct3D - 3D再構築
概要
Reconstruct3Dインターフェースは、航空三角測量の結果から2Dおよび3Dモデルを生成するために使用されます。通常、ReconstructATと組み合わせて完全な再構築ワークフローを完成させます。このインターフェースは、複数の出力フォーマット、ブロック処理、および細かいパラメーター制御をサポートしています。
適用可能なシナリオ
- 航空三角測量の結果から3Dモデルを生成
- オルソフォトとデジタル表面モデルを生成
- 大規模データのブロック再構築
- 特定の出力フォーマットが必要
インターフェース使用方法
コマンドライン使用方法
reconstruct_full_engine.exe -reconstruct_type 2 -task_json 3d_config.json
パラメーター説明
reconstruct_type
:2
に固定(Reconstruct3Dを示す)task_json
: 設定ファイルパス
設定パラメーター
必須パラメーター
パラメーター | 型 | 説明 |
---|---|---|
license_id | int | SDKライセンスコード、9200で統一 |
working_dir | string | 作業ディレクトリ(航空三角測量と同じである必要があります) |
gdal_folder | string | GDALデータパス |
input_image_type | int | 画像タイプ: 1=RGB、2=マルチスペクトラル、3=赤外線 |
image_meta_data | JSON Array | 入力画像メタデータ情報 |
resolution_level | int | 再構築精度: 1=高精度、2=中精度、3=低精度 |
オプションパラメーター
基本パラメーター
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
reconstruct_mode | int | 0 | 再構築モード: 0=一般シーン、1=周囲シーン、2=電線シーン |
min_avali_memory_size | double | 0 | 最小利用可能メモリ(GB)、ブロック量の制御に使用 |
fast_mode | bool | false | 高速モード、効率を向上させるが詳細を削減 |
keep_undistort_images | bool | false | 歪み補正画像を保持するかどうか |
出力フォーマット制御
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
generate_osgb | bool | false | OSGBフォーマット3Dモデルを生成 |
generate_3d_tiles | bool | false | 3D Tiles(b3dm)フォーマットを生成 |
generate_las | bool | false | LASフォーマット点群を生成 |
generate_pc_ply | bool | false | PLYフォーマット点群を生成 |
generate_pc_osgb | bool | false | OSGBフォーマット点群LODを生成 |
generate_pc_pnts | bool | false | pntsフォーマット点群LODを生成 |
generate_obj | bool | false | OBJフォーマットテクスチャメッシュを生成 |
generate_ply | bool | false | PLYフォーマットテクスチャメッシュを生成 |
generate_geotiff | bool | false | GeoTIFFフォーマットオルソフォトを生成 |
generate_tile_2D | bool | false | オルソフォトでタイル切断を実行 |
generate_2D_from_3D_model | bool | false | 3Dモデルから2Dオルソフォトを生成 |
高度なパラメーター
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
use_draco_compression | bool | true | 3D TilesでDraco圧縮を使用するかどうか |
tex_image_type_3dtiles | int | 0 | 3D Tilesテクスチャフォーマット: 0=JPEG、1=WebP |
use_gcj02 | bool | false | オルソフォトタイルをGCJ02座標系に変換するかどうか |
coordinate_system_3d | JSON | - | 3D出力の座標系 |
coordinate_system_2d | JSON | - | 2D出力の座標系 |
roi_for_2d | JSON | - | 2D再構築の関心領域 |
roi_for_3d | JSON | - | 3D再構築の関心領域 |
roi_coordinate_system | JSON | WGS84 | ROIの座標系 |
データ構造説明
カメラメタデータ
{
"id": 1, // ユニークカメラID
"meta_data": {
"camera_name": "Camera-1", // カメラ名
"projection_model": 0, // 投影モデル(オプション)
"width": 4000, // センサー幅(ピクセル)
"height": 3000, // センサー高(ピクセル)
"parameters": [ // カメラ内部パラメータ(10要素配列)
// fx, fy, cx, cy, k1, k2, p1, p2, k3,placeholder_param
]
}
}
ROI(関心領域)
{
"boundary": [ // 2Dポリゴン境界(反時計回り)
[x1, y1],
[x2, y2],
[x3, y3]
// ...
],
"min_z": 100.0, // 最小標高(オプション)
"max_z": 500.0 // 最大標高(オプション)
}
出力座標系設定
{
"coordinate_system_3d": {
"type": 3, // 投影座標系
"epsg_code": 32650 // UTM Zone 50N
},
"coordinate_system_2d": {
"type": 2, // 地理座標系
"epsg_code": 4326 // WGS84
}
}
完全な設定例
基本3D再構築
{
"license_id": 9200,
"working_dir": "C:/Projects/3D_Task",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"image_meta_data": [
{
"id": 1,
"path": "C:/Images/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/Images/DJI_0002.JPG"
}
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_geotiff": true
}
高精度再構築設定
{
"license_id": 9200,
"working_dir": "C:/Projects/HighQuality_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1, // 最高精度
"reconstruct_mode": 0, // 一般シーン
"image_meta_data": [...],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_obj": true,
"generate_geotiff": true,
"generate_tile_2D": true,
"coordinate_system_3d": {
"type": 3,
"epsg_code": 32650 // UTM 50N
},
"coordinate_system_2d": {
"type": 2,
"epsg_code": 4326 // WGS84
}
}
大規模データブロック再構築
{
"license_id": 9200,
"working_dir": "C:/Projects/LargeScale_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"min_avali_memory_size": 16.0, // 各ブロックを最大16GBメモリに制限
"image_meta_data": [...],
"roi_for_3d": {
"boundary": [
[114.12, 22.12],
[114.13, 22.12],
[114.13, 22.13],
[114.12, 22.13]
],
"min_z": 0,
"max_z": 500
},
"generate_3d_tiles": true,
"use_draco_compression": true,
"tex_image_type_3dtiles": 1 // WebPテクスチャ圧縮を使用
}
特殊シーン設定
周囲オブジェクト再構築
{
"license_id": 9200,
"working_dir": "C:/Projects/Object_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"reconstruct_mode": 1, // 周囲シーンモード
"image_meta_data": [...],
"generate_obj": true,
"generate_ply": true,
"coordinate_system_3d": {
"type": 1 // ローカル座標系
}
}
オルソフォトのみ生成
{
"license_id": 9200,
"working_dir": "C:/Projects/Ortho_Only",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"image_meta_data": [...],
"generate_geotiff": true,
"generate_tile_2D": true,
"generate_2D_from_3D_model": true,
"roi_for_2d": {
"boundary": [...] // オルソフォト範囲を指定
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650
}
}
出力結果
3Dモデル出力(products/3D/
)
model-osgb/
- OSGBフォーマットモデルとLODmodel-b3dm/
- 3D Tilesフォーマット(tileset.jsonあり)model-obj/
- OBJフォーマットモデルとテクスチャpoint-las/
- LASフォーマット点群point-ply/
- PLYフォーマット点群point-osgb/
- OSGBフォーマット点群LODpoint-pnts/
- 3D Tiles点群フォーマット
2D製品出力(products/2D/
)
geotiffs/
- GeoTIFFフォーマットオルソフォトとDSMdom_tiles/
- オルソフォトタイルdsm_tiles/
- デジタル表面モデルタイル
中間結果(milestones/
)
undistorted/
- 歪み補正画像(保持した場合)depth_maps/
- 深度マップmesh/
- 中間メッシュデータ
解像度レベル説明
レベル | 説明 | 相対処理時間 | 適用シナリオ |
---|---|---|---|
1 | 超高精度 | 3-5x | 専門測量、文化遺産保護 |
2 | 高精度 | 1x | 一般エンジニアリング応用 |
3 | 高速プレビュー | 0.2-0.3x | 高速検証、プレビュー |
精度と効率のバランス
- resolution_level=1: 最高の幾何学的詳細とテクスチャの鮮明さ
- resolution_level=2: 品質と効率のバランス、ほとんどのアプリケーションに推奨
- resolution_level=3: 高速処理、予備検証に適している
ベストプラクティス
1. メモリ管理
大規模データの場合:
{
"min_avali_memory_size": 24.0, // 利用可能メモリに基づいて設定
"resolution_level": 2 // 精度の削減を検討
}
2. 出力フォーマット選択
- Web表示: 3D Tiles + Draco圧縮を使用
- GIS分析: GeoTIFFとLASを生成
- 専門ソフトウェア: OSGBフォーマットを使用
- 編集と処理: OBJまたはPLYをエクスポート
3. 座標系設定
- 3Dモデルは通常投影座標系を使用(例:UTM)
- オルソフォトは必要に応じて地理座標系または投影座標系を使用可能
- Webアプリケーションの場合WGS84の使用を検討
4. ROI使用方法
- 航空三角測量から生成されたROIをベースとして使用
- 必要に応じて範囲を調整
- 2Dと3Dで別々のROIを設定
パフォーマンス最適化
高速処理
{
"resolution_level": 3,
"fast_mode": true,
"generate_3d_tiles": true, // 必要なフォーマットのみ生成
"use_draco_compression": true
}
高品質出力
{
"resolution_level": 1,
"fast_mode": false,
"keep_undistort_images": true, // 検査用に中間結果を保持
"generate_obj": true, // 高品質メッシュを生成
"generate_geotiff": true
}
よくある質問
Q: エラー「航空三角測量結果が見つかりません」
A: 以下を確認してください:
working_dir
がReconstructATで使用したものと同じ- 航空三角測量が正常に完了している
- milestonesディレクトリにmvs.xmlファイルが含まれている
Q: メモリ不足エラー
A:
min_avali_memory_size
を設定してメモリ使用量を制限resolution_level
を削減- 大規模データの事前ブロック化にDivideTilesを使用
Q: 出力座標が正しくない
A:
coordinate_system_3d/2d
設定を確認- ROI座標系がデータと一致することを確認
- GDALデータパスが正しいことを検証
次のステップ
- 出力フォーマット詳細を確認
- 大規模データのブロック処理について学習
- 再構築品質を最適化するため基本概念を研究
注記: Reconstruct3Dは豊富な出力オプションを提供します。まず低精度で検証し、その後高品質再構築に進むことをお勧めします。