Structured3D: Guía práctica para el modelado estructurado de interiores en 3D

Origen y objetivo del dataset

Structured3D es un dataset de visión 3D orientado a espacios interiores. Incluye 3.500 escenas creadas por diseñadores, acompañadas de anotaciones geométricas y semánticas precisas junto con renderizaciones fotorealistas 2D. Su propósito es facilitar la investigación en comprensión de escenas interiores, reconstrucción 3D, detección de layouts y segmentación semántica e instancia.

Características distintivas

  • Topología estructurada: cada escena contiene nodos, líneas, planos y relaciones semánticas que describen muros, suelos, techos, puertas y ventanas.
  • Renderizados fotorealistas: imágenes panorámicas y de perspectiva con distintas condiciones de iluminación.
  • Anotaciones densas: segmentación semántica, segmentación por instancias, profundidad y normales de superficie.

Organización de los datos

Cada escena reside en su propio directorio. El archivo annotation_3d.json almacena la estructura 3D, mientras que bbox_3d.json contiene cajas envolventes. Los renderizados 2D se ubican bajo 2D_rendering, organizados por habitación y tipo de vista.

escena_0001/
├── 2D_rendering/
│   └── habitacion_0/
│       ├── panorama/
│       │   ├── rgb.png
│       │   ├── semantica.png
│       │   ├── instancia.png
│       │   ├── profundidad.png
│       │   ├── normales.png
│       │   ├── albedo.png
│       │   ├── layout.txt
│       │   └── camara.txt
│       └── perspectiva/
│           └── posicion_0/
│               ├── rgb.png
│               ├── semantica.png
│               ├── instancia.png
│               ├── profundidad.png
│               ├── normales.png
│               ├── albedo.png
│               ├── layout.json
│               └── camara.txt
├── anotacion_3d.json
└── cajas_3d.json

La anotación 3D describe puntos clave, aristas entre puntos, planos de superficie y relaciones semánticas. Esto permite construir representaciones vectoriales del espacio sin depender únicamente de nubes de puntos o mallas.

Configuración del entorno

Se recomienda usar Conda para instalar las dependencias principales:

conda install -c open3d-admin open3d
conda install -c conda-forge opencv
conda install -c conda-forge numpy matplotlib shapely descartes
pip install panda3d

Una vez instaladas las librerías, clonar el repositorio oficial del dataset en el directorio de trabajo:

git clone https://github.com/bertjiazheng/Structured3D.git
cd Structured3D

Visualización de la estructura 3D

El proyecto proporicona scripts para inspeccionar la geometría de una escena. Los modos disponibles incluyen wireframe, planos y planta arquitectónica:

# Visualizar la estructura en modo alambre
python visualize_3d.py --path /ruta/a/Structured3D --scene escena_0001 --type wireframe

# Visualizar los planos del interior
python visualize_3d.py --path /ruta/a/Structured3D --scene escena_0001 --type plane

# Generar la planta arquitectónica
python visualize_3d.py --path /ruta/a/Structured3D --scene escena_0001 --type floorplan

Visualización de malas texturizadas

Para observar una habitación con texturas se utiliza el siguiente comando:

python visualize_mesh.py --path /ruta/a/Structured3D --scene escena_0001 --room habitacion_0

Detección y visualización de layouts

El dataset incluye herramientas para superponer el layout estimado sobre panoramas o vistas de perspectiva:

# Layout sobre imagen panorámica
python visualize_layout.py --path /ruta/a/Structured3D --scene escena_0001 --type panorama

# Layout sobre vista de perspectiva
python visualize_layout.py --path /ruta/a/Structured3D --scene escena_0001 --type perspective

Divisiones estándar

Para garantizar comparaciones justas, el dataset se divide de la siguiente forma:

  • Entrenamiento: scene_00000 a scene_02999
  • Validación: scene_03000 a scene_03249
  • Prueba: scene_03250 a scene_03499

Aplicaciones principales

Structured3D resulta especialmente útil en las siguientes líneas de investigación:

  • Comprensión semántica de interiores
  • Reconstrucción 3D a partir de imágenes 2D
  • Estimación de layouts geométricos
  • Segmentación semántica y por instancias

Etiquetas: Structured3D 3D Vision Indoor Scene Understanding Layout Estimation Semantic Segmentation

Publicado el 6-18 19:12