Reconstruct3D - Reconstrucción 3D
Resumen
La interfaz Reconstruct3D se utiliza para generar modelos 2D y 3D a partir de resultados de triangulación aérea. Normalmente se usa con ReconstructAT para completar el flujo de trabajo de reconstrucción completo. Esta interfaz admite múltiples formatos de salida, procesamiento de bloques y control de parámetros de grano fino.
Escenarios Aplicables
- Generar modelos 3D a partir de resultados de triangulación aérea
- Generar ortofotos y modelos digitales de superficie
- Reconstrucción de bloques para datos a gran escala
- Necesidad de formatos de salida específicos
Uso de la Interfaz
Uso de Línea de Comandos
reconstruct_full_engine.exe -reconstruct_type 2 -task_json 3d_config.json
Descripción de Parámetros
reconstruct_type: Fijo como2(indica Reconstruct3D)task_json: Ruta del archivo de configuración
Parámetros de Configuración
Parámetros Requeridos
| Parámetro | Tipo | Descripción |
|---|---|---|
license_id | int | Código de licencia SDK, unificado como 9200 |
working_dir | string | Directorio de trabajo (debe ser igual al de triangulación aérea) |
gdal_folder | string | Ruta de datos GDAL |
input_image_type | int | Tipo de imagen: 1=RGB, 2=Multiespectral, 3=Infrarrojo |
image_meta_data | JSON Array | Información de metadatos de imágenes de entrada |
resolution_level | int | Precisión de reconstrucción: 1=Alta precisión, 2=Precisión media, 3=Baja precisión |
Parámetros Opcionales
Parámetros Básicos
| Parámetro | Tipo | Por Defecto | Descripción |
|---|---|---|---|
reconstruct_mode | int | 0 | Modo de reconstrucción: 0=Escena general, 1=Escena circundante, 2=Escena de línea eléctrica |
min_avali_memory_size | double | 0 | Tamaño mínimo de memoria disponible (GB), usado para controlar cantidad de bloques |
fast_mode | bool | false | Modo rápido, mejora la eficiencia pero reduce detalles |
keep_undistort_images | bool | false | Si mantener imágenes sin distorsión |
Control de Formato de Salida
| Parámetro | Tipo | Por Defecto | Descripción |
|---|---|---|---|
generate_osgb | bool | false | Generar modelo 3D formato OSGB |
generate_3d_tiles | bool | false | Generar formato 3D Tiles (b3dm) |
generate_las | bool | false | Generar nube de puntos formato LAS |
generate_pc_ply | bool | false | Generar nube de puntos formato PLY |
generate_pc_osgb | bool | false | Generar nube de puntos LOD formato OSGB |
generate_pc_pnts | bool | false | Generar nube de puntos LOD formato pnts |
generate_obj | bool | false | Generar malla texturizada formato OBJ |
generate_ply | bool | false | Generar malla texturizada formato PLY |
generate_geotiff | bool | false | Generar ortofoto formato GeoTIFF |
generate_tile_2D | bool | false | Realizar corte de mosaicos en ortofoto |
generate_2D_from_3D_model | bool | false | Generar ortofoto 2D a partir de modelo 3D |
Parámetros Avanzados
| Parámetro | Tipo | Por Defecto | Descripción |
|---|---|---|---|
use_draco_compression | bool | true | Si usar compresión Draco para 3D Tiles |
tex_image_type_3dtiles | int | 0 | Formato de textura 3D Tiles: 0=JPEG, 1=WebP |
use_gcj02 | bool | false | Si convertir mosaicos de ortofoto a sistema de coordenadas GCJ02 |
coordinate_system_3d | JSON | - | Sistema de coordenadas para salida 3D |
coordinate_system_2d | JSON | - | Sistema de coordenadas para salida 2D |
roi_for_2d | JSON | - | Región de interés para reconstrucción 2D |
roi_for_3d | JSON | - | Región de interés para reconstrucción 3D |
roi_coordinate_system | JSON | WGS84 | Sistema de coordenadas para ROI |
Descripción de Estructura de Datos
Metadatos de Cámara
{
"id": 1, // ID único de cámara
"meta_data": {
"camera_name": "Camera-1", // Nombre de la cámara
"projection_model": 0, // Modelo de proyección (opcional)
"width": 4000, // Ancho del sensor (píxeles)
"height": 3000, // Alto del sensor (píxeles)
"parameters": [ // Intrínsecos de cámara (array de 10 elementos)
// fx, fy, cx, cy, k1, k2, p1, p2, k3,placeholder_param
]
}
}
ROI (Región de Interés)
{
"boundary": [ // Límite de polígono 2D (sentido antihorario)
[x1, y1],
[x2, y2],
[x3, y3]
// ...
],
"min_z": 100.0, // Elevación mínima (opcional)
"max_z": 500.0 // Elevación máxima (opcional)
}
Configuraciones de Sistema de Coordenadas de Salida
{
"coordinate_system_3d": {
"type": 3, // Sistema de coordenadas proyectadas
"epsg_code": 32650 // UTM Zone 50N
},
"coordinate_system_2d": {
"type": 2, // Sistema de coordenadas geográficas
"epsg_code": 4326 // WGS84
}
}
Ejemplos de Configuración Completa
Reconstrucción 3D Básica
{
"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
}
Configuración de Reconstrucción de Alta Precisión
{
"license_id": 9200,
"working_dir": "C:/Projects/HighQuality_3D",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1, // Máxima precisión
"reconstruct_mode": 0, // Escena general
"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
}
}
Reconstrucción de Bloques de Datos a Gran Escala
{
"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, // Limitar cada bloque a máximo 16GB memoria
"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 // Usar compresión de textura WebP
}
Configuración de Escena Especial
Reconstrucción de Objeto Circundante
{
"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, // Modo de escena circundante
"image_meta_data": [...],
"generate_obj": true,
"generate_ply": true,
"coordinate_system_3d": {
"type": 1 // Sistema de coordenadas local
}
}
Generar Solo Ortofoto
{
"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": [...] // Especificar extensión de ortofoto
},
"coordinate_system_2d": {
"type": 3,
"epsg_code": 32650
}
}
Resultados de Salida
Salida de Modelo 3D (products/3D/)
model-osgb/- Modelo y LOD formato OSGBmodel-b3dm/- Formato 3D Tiles (con tileset.json)model-obj/- Modelo y texturas formato OBJpoint-las/- Nube de puntos formato LASpoint-ply/- Nube de puntos formato PLYpoint-osgb/- Nube de puntos LOD formato OSGBpoint-pnts/- Formato nube de puntos 3D Tiles
Salida de Producto 2D (products/2D/)
geotiffs/- Ortofoto y DSM formato GeoTIFFdom_tiles/- Mosaicos de ortofotodsm_tiles/- Mosaicos de modelo digital de superficie
Resultados Intermedios (milestones/)
undistorted/- Imágenes sin distorsión (si se mantienen)depth_maps/- Mapas de profundidadmesh/- Datos de malla intermedia
Descripción de Nivel de Resolución
| Nivel | Descripción | Tiempo de Procesamiento Relativo | Escenarios de Aplicación |
|---|---|---|---|
| 1 | Precisión ultra-alta | 3-5x | Topografía profesional, protección del patrimonio cultural |
| 2 | Alta precisión | 1x | Aplicaciones de ingeniería general |
| 3 | Vista previa rápida | 0.2-0.3x | Validación rápida, vista previa |
Equilibrio Entre Precisión y Eficiencia
- resolution_level=1: Máximo detalle geométrico y claridad de textura
- resolution_level=2: Equilibra calidad y eficiencia, recomendado para la mayoría de aplicaciones
- resolution_level=3: Procesamiento rápido, adecuado para validación preliminar
Mejores Prácticas
1. Gestión de Memoria
Para datos a gran escala:
{
"min_avali_memory_size": 24.0, // Configurar basado en memoria disponible
"resolution_level": 2 // Considerar reducir precisión
}
2. Selección de Formato de Salida
- Visualización Web: Usar 3D Tiles + compresión Draco
- Análisis GIS: Generar GeoTIFF y LAS
- Software Profesional: Usar formato OSGB
- Edición y Procesamiento: Exportar OBJ o PLY
3. Configuraciones de Sistema de Coordenadas
- Los modelos 3D típicamente usan sistemas de coordenadas proyectadas (ej. UTM)
- Las ortofotos pueden usar sistemas geográficos o proyectados según las necesidades
- Considerar usar WGS84 para aplicaciones web
4. Uso de ROI
- Usar ROI generado desde triangulación aérea como base
- Ajustar rango según necesidades
- Configurar ROIs separados para 2D y 3D
Optimización de Rendimiento
Procesamiento Rápido
{
"resolution_level": 3,
"fast_mode": true,
"generate_3d_tiles": true, // Generar solo formatos necesarios
"use_draco_compression": true
}
Salida de Alta Calidad
{
"resolution_level": 1,
"fast_mode": false,
"keep_undistort_images": true, // Mantener resultados intermedios para inspección
"generate_obj": true, // Generar malla de alta calidad
"generate_geotiff": true
}
Preguntas Comunes
P: Error "No se pueden encontrar resultados de triangulación aérea"
R: Asegurar:
working_dires el mismo usado en ReconstructAT- Triangulación aérea completada exitosamente
- El directorio milestones contiene archivo mvs.xml
P: Error de memoria insuficiente
R:
- Configurar
min_avali_memory_sizepara limitar uso de memoria - Reducir
resolution_level - Usar DivideTiles para pre-bloqueo
P: Coordenadas de salida incorrectas
R:
- Verificar configuraciones
coordinate_system_3d/2d - Confirmar que el sistema de coordenadas ROI coincide con los datos
- Verificar que la ruta de datos GDAL es correcta
Próximos Pasos
- Verificar Detalles de Formato de Salida
- Aprender sobre Procesamiento de Bloques para datos a gran escala
- Estudiar Conceptos Básicos para optimizar la calidad de reconstrucción
Nota: Reconstruct3D proporciona opciones de salida ricas. Se recomienda validar primero con baja precisión, luego proceder con reconstrucción de alta calidad.