Reconstruct3D - الإعادة الإنشاء ثلاثي الأبعاد
نظرة عامة
يُستخدم واجهة Reconstruct3D لإنتاج نماذج ثنائية وثلاثية الأبعاد من نتائج التثليث الجوي. عادة ما تُستخدم مع ReconstructAT لإتمام سير عمل الإعادة الإنشاء الكامل. تدعم هذه الواجهة تنسيقات إخراج متعددة، ومعالجة الكتل، والتحكم الدقيق في المعاملات.
السيناريوهات المناسبة
- إنتاج نماذج ثلاثية الأبعاد من نتائج التثليث الجوي
- إنتاج الصور الجوية المعدلة ونماذج السطح الرقمية
- إعادة الإنشاء بالكتل للبيانات واسعة النطاق
- الحاجة إلى تنسيقات إخراج محددة
استخدام الواجهة
استخدام سطر الأوامر
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 |
generate_3d_tiles | bool | false | إنتاج بتنسيق 3D Tiles (b3dm) |
generate_las | bool | false | إنتاج سحابة نقاط بتنسيق LAS |
generate_pc_ply | bool | false | إنتاج سحابة نقاط بتنسيق PLY |
generate_pc_osgb | bool | false | إنتاج سحابة نقاط LOD بتنسيق OSGB |
generate_pc_pnts | bool | false | إنتاج سحابة نقاط LOD بتنسيق pnts |
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 | إنتاج صورة جوية معدلة ثنائية الأبعاد من النموذج ثلاثي الأبعاد |
المعاملات المتقدمة
المعامل | النوع | الافتراضي | الوصف |
---|---|---|---|
use_draco_compression | bool | true | ما إذا كان سيتم استخدام ضغط Draco لـ 3D Tiles |
tex_image_type_3dtiles | int | 0 | تنسيق ملمس 3D Tiles: 0=JPEG، 1=WebP |
use_gcj02 | bool | false | ما إذا كان سيتم تحويل بلاط الصورة الجوية المعدلة إلى نظام إحداثيات GCJ02 |
coordinate_system_3d | JSON | - | نظام الإحداثيات للإخراج ثلاثي الأبعاد |
coordinate_system_2d | JSON | - | نظام الإحداثيات للإخراج ثنائي الأبعاد |
roi_for_2d | JSON | - | منطقة الاهتمام للإعادة الإنشاء ثنائية الأبعاد |
roi_for_3d | JSON | - | منطقة الاهتمام للإعادة الإنشاء ثلاثية الأبعاد |
roi_coordinate_system | JSON | WGS84 | نظام الإحداثيات لمنطقة الاهتمام |
وصف هيكل البيانات
بيانات الكاميرا الوصفية
{
"id": 1, // معرف الكاميرا الفريد
"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": [ // حدود المضلع ثنائي الأبعاد (عكس اتجاه عقارب الساعة)
[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
}
}
أمثلة التهيئة الكاملة
الإعادة الإنشاء ثلاثية الأبعاد الأساسية
{
"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
}
}
نتائج الإخراج
إخراج النموذج ثلاثي الأبعاد (products/3D/
)
model-osgb/
- نموذج وLOD بتنسيق OSGBmodel-b3dm/
- تنسيق 3D Tiles (مع tileset.json)model-obj/
- نموذج وملامس بتنسيق OBJpoint-las/
- سحابة نقاط بتنسيق LASpoint-ply/
- سحابة نقاط بتنسيق PLYpoint-osgb/
- سحابة نقاط LOD بتنسيق OSGBpoint-pnts/
- سحابة نقاط بتنسيق 3D Tiles
إخراج المنتج ثنائي الأبعاد (products/2D/
)
geotiffs/
- الصورة الجوية المعدلة وDSM بتنسيق GeoTIFFdom_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. اختيار تنسيق الإخراج
- العرض على الويب: استخدم 3D Tiles + ضغط Draco
- تحليل GIS: إنتاج GeoTIFF وLAS
- البرامج المهنية: استخدم تنسيق OSGB
- التحرير والمعالجة: تصدير OBJ أو PLY
3. إعدادات نظام الإحداثيات
- النماذج ثلاثية الأبعاد عادة تستخدم أنظمة الإحداثيات المسقطة (مثل UTM)
- الصور الجوية المعدلة يمكن أن تستخدم أنظمة جغرافية أو مسقطة حسب الحاجة
- النظر في استخدام WGS84 لتطبيقات الويب
4. استخدام ROI
- استخدم ROI المُنتج من التثليث الجوي كأساس
- تعديل النطاق حسب الحاجة
- تعيين 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
}
الأسئلة الشائعة
س: خطأ "لا يمكن العثور على نتائج التثليث الجوي"
ج: تأكد من:
working_dir
هو نفسه المستخدم في ReconstructAT- اكتمال التثليث الجوي بنجاح
- دليل milestones يحتوي على ملف mvs.xml
س: خطأ نفاد الذاكرة
ج:
- تعيين
min_avali_memory_size
لتحديد استخدام الذاكرة - تقليل
resolution_level
- استخدام DivideTiles للتقسيم المسبق
س: إحداثيات الإخراج غير صحيحة
ج:
- فحص إعدادات
coordinate_system_3d/2d
- تأكيد أن نظام إحداثيات ROI يطابق البيانات
- التحقق من صحة مسار بيانات GDAL
الخطوات التالية
- فحص تفاصيل تنسيق الإخراج
- تعلم معالجة الكتل للبيانات واسعة النطاق
- دراسة المفاهيم الأساسية لتحسين جودة الإعادة الإنشاء
ملاحظة: Reconstruct3D يوفر خيارات إخراج غنية. يُوصى بالتحقق أولاً بدقة منخفضة، ثم المتابعة بإعادة الإنشاء عالية الجودة.