¿Qué es la fotogrametría?

  • Es un método para fotografiar un objeto desde varios ángulos y analizar e integrar las imágenes digitales para crear un modelo tridimensional. 
  • La característica de la fotogrametría es que no requiere un dispositivo especial como un escáner 3D y se puede generar con fotografías normales.
  • Objetos grandes como edificios o monumentos se pueden convertir en modelos 3D.

https://school.dhw.co.jp/word/cg/photogrammetry.html

Vamos a utilizar la herramienta MeshRoom junto a Touchdesigner

1. Obtenga material usando Google Maps

1.1 Abra el área que desea convertir en 3D de Google Maps y elimine la pantalla adicional
  • Cambiar de vista de mapa a vista aérea
  • Abra el menú en el cuadro de búsqueda
  • Debemos desactivar las etiquetas
  • Oculte el menu.

De esta forma tendremos una imagen limpia y en pantalla completa.

1.2 Captura de pantalla

Control de camara con mouse:

Clic izquierdo ─ Movimiento vertical y horizontal
ctrl + Clic izquierdo ─ Angulo de la camara
Rueda ─ Zoom

Capturaré el área de manera uniforme.
La cantidad de imagenes depende del tamaño del área que escanearemos, puede comenzar con 100 imagenes para experimentar.
La precisión aumenta a medida que agregamos mas capturas de pantalla, esto luego genera mas tiempo de procesamiento en meshroom.

1.3 Recortar partes innecesarias de la imagen.

Para limpiar un poco mas la imagen, puede recortar los bordes del navegador, iconos de google maps, etc.

2. PointCloud MeshRoom

2.1 Inicie MeshRoom y importe la carpeta con las capturas de nuestra escena.
  1. Seleccionar las imagenes y arrastrar en la seccion izquierda «imagenes»
  2. Guardar el proyecto.
  3. Comenzar el procesamiento haciendo click en «inicio»

    El proceso puede tardar varios minutos/hs segun la cantida de imagenes, la carpeta con el resultado final se guardara en la raiz de su proyecto.

Se ha generado una gran cantidad de cámaras y nubes de puntos.
En Touchdesigner podremos corregir algunos aspectos del sistema generado.

2.2 Polireducción

──Este proceso es para usar datos de polígonos, si solo desea usar PointCloud, puede omitir este paso.

Primero, saquemos los datos de polígono de la nube de puntos.
Si hay demasiados polígonos, haremos una reducción de poligonos para evitar sobrecargas.

  1. Seleccione el nodo «Texturizado» del «Editor de gráficos» y haga clic en «Cargar modelo» en la parte inferior central del «Visor 3D» para mostrar los datos de malla.
  2. Seleccione el nodo «Mallado» y reduzca el valor del parámetro «Puntos máximos» en un factor de 5-10
  3. Presionamos «Iniciar» en el editor de graficos.

Derecha: ≈ 5 millones de polígonos (antes de reducción)

Izquierda: ≈ 1 millón de polígonos (después de reducción) 

Podemos ver como los detalles se han reducido un poco, una vez que aplicamos el proceso. Segun la aplicacion que le demos a nuestro pointcloud usaremos dicha tecnica de reduccion.

2.3 Extraer datos: nube de puntos y polígonos

Extraiga los datos necesarios del modelo, se encuentran en la carpeta de MeshRoom.

  • Polígono ─.obj (objeto)

       Carpeta MeshroomCache\Texturing\

  • Pointcloud ─.abc (alambique)

        Carpeta MeshroomCache\PrepareDenseScene\

3. PointCloud en TouchDesigner

Vamos a usar los datos extraídos de meshroom con Touch Designer.

3.1 Extraer coordenadas y colores del alambique

El alambique contiene colores y coordenadas de vértice.

  1. Arrastre y suelte alambique en el editor, o importelo con SOP alambique
  2. Conectamos un SOP de transformación, para alinear el suelo con el plano XZ.

  1. Convertimos los datos a Chop usando el operador  SopTo Chop.
  2. Active las opciones «Posición XYZ» y «Color RGB».

3.2 Convertir CHOP en imagen 2D

Se puede conectar el chop a un geo Comp y visualizara los datos, pero para que sea mas liviano y facil de manejar, convertiremos los datos a operadores TOPs

  1. Separamos los 6 canales, usando Select Chop
  2. Creamos matrix bidimensional, usando Shuffle Chop

  1. Convertimos a imagen Chopto TOP
  2. Creamos una imagen RGB con los datos usando el operador Reorder TOP

Shuffule CHOP se configura en «Split N Samples» y «N Value». con un valor de 1000

Las texturas creadas con los Chopto TOP las combinaremos en una imagen RGB con reorder TOP

3.3 Instanciar geometrias

Usaremos cada textura para instanciar, remplazando el RGB de la textura con cada coordenada y color, similar a crear instancias en un operador Geo Comp

Especifique cada valor numérico con “r”, “g” y “b”

3.4 Intenta diseñar texturas y objetos para crear instancias

Puede descargar el archivo de ejemplo desde el siguiente github:
https://github.com/tsumikiroom/pointcloud

Originalmente la fotogrametría es un método de modelar objetos usando cámaras, el uso de Google Maps es para experimentar. Puede crear un banco de imagenes usando una camara, recopilar muchas imagenes de un objeto, y utilizar este mismo proceso para generar la fotogrametria dentro de TD.

Fuente:

https://qiita.com/takashi_kawamura/items/9bd6c128af27d1a0f2d0

Share this: