メインコンテンツまでスキップ

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_idintSDKライセンスコード、9200で統一
working_dirstring作業ディレクトリ(航空三角測量と同じである必要があります)
gdal_folderstringGDALデータパス
input_image_typeint画像タイプ: 1=RGB、2=マルチスペクトラル、3=赤外線
image_meta_dataJSON Array入力画像メタデータ情報
resolution_levelint再構築精度: 1=高精度、2=中精度、3=低精度

オプションパラメーター

基本パラメーター

パラメーターデフォルト説明
reconstruct_modeint0再構築モード: 0=一般シーン、1=周囲シーン、2=電線シーン
min_avali_memory_sizedouble0最小利用可能メモリ(GB)、ブロック量の制御に使用
fast_modeboolfalse高速モード、効率を向上させるが詳細を削減
keep_undistort_imagesboolfalse歪み補正画像を保持するかどうか

出力フォーマット制御

パラメーターデフォルト説明
generate_osgbboolfalseOSGBフォーマット3Dモデルを生成
generate_3d_tilesboolfalse3D Tiles(b3dm)フォーマットを生成
generate_lasboolfalseLASフォーマット点群を生成
generate_pc_plyboolfalsePLYフォーマット点群を生成
generate_pc_osgbboolfalseOSGBフォーマット点群LODを生成
generate_pc_pntsboolfalsepntsフォーマット点群LODを生成
generate_objboolfalseOBJフォーマットテクスチャメッシュを生成
generate_plyboolfalsePLYフォーマットテクスチャメッシュを生成
generate_geotiffboolfalseGeoTIFFフォーマットオルソフォトを生成
generate_tile_2Dboolfalseオルソフォトでタイル切断を実行
generate_2D_from_3D_modelboolfalse3Dモデルから2Dオルソフォトを生成

高度なパラメーター

パラメーターデフォルト説明
use_draco_compressionbooltrue3D TilesでDraco圧縮を使用するかどうか
tex_image_type_3dtilesint03D Tilesテクスチャフォーマット: 0=JPEG、1=WebP
use_gcj02boolfalseオルソフォトタイルをGCJ02座標系に変換するかどうか
coordinate_system_3dJSON-3D出力の座標系
coordinate_system_2dJSON-2D出力の座標系
roi_for_2dJSON-2D再構築の関心領域
roi_for_3dJSON-3D再構築の関心領域
roi_coordinate_systemJSONWGS84ROIの座標系

データ構造説明

カメラメタデータ

{
"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フォーマットモデルとLOD
  • model-b3dm/ - 3D Tilesフォーマット(tileset.jsonあり)
  • model-obj/ - OBJフォーマットモデルとテクスチャ
  • point-las/ - LASフォーマット点群
  • point-ply/ - PLYフォーマット点群
  • point-osgb/ - OSGBフォーマット点群LOD
  • point-pnts/ - 3D Tiles点群フォーマット

2D製品出力(products/2D/

  • geotiffs/ - GeoTIFFフォーマットオルソフォトとDSM
  • dom_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は豊富な出力オプションを提供します。まず低精度で検証し、その後高品質再構築に進むことをお勧めします。