domingo, 24 de marzo de 2019

Nube de puntos - 2: Sin puntos sin escáner


Nube de puntos - 2: Sin puntos sin escáner

En el primer post, fuiste introducido a las nubes de puntos. Este segundo post explica cómo los escáners 3D funcionan. Los dos métodos más importantes para determinar distancia al escanear: Stereo Imaging (qué tan diferente un objeto se ve desde dos diferentes vistas) y Time-of-Flight (qué tanto se tarda en reflejar y regresar para ser medido).

Stereo Imaging

Stereo mide profundidad de qué tan diferente un objeto se ve cuando es visto desde dos diferentes vistas. Este tipo de técnicas se pueden dividir en dos:

1. Stereo directa o pasiva

2. Imágenes de Stereo activas (o luz estructurada)


Stereo directo
Figura 1: Mi dedo índice desde mi ojo izquierdo (imagen izq.) y desde mi ojo derecho (imagen de en medio). Vea cómo mi dedo se eleva contra el fondo. La imagen de la derecha ilustra que el ángulo θ de desplazamiento es mayor cuando un objeto está más cerca de los puntos de vista.
Stereo directo es cómo nuestros ojos ven profundidad. Al ver un objeto contra un fondo primero con el ojo izquierdo y luego con el derecho, el objeto se ve desplazado. Mientras más grande el desplazo el objeto es más cercano a nosotros (ver Figura 1) Stereo es mejor conocido con dos vistas, pero puede ser generalizado usando más vistas. 
En la literatura puedes encontrar también los siguientes términos relacionados: MultiView Stereo (MVS) y Structure from Motion (SfM)
MVS es la computación de los puntos 3D en la escena de imágenes 2D usando posiciones conocidas de la cámara en la escena. PMVS es un paquete de software académico que implementa este principio. 
SfM primero estima las posiciones de la cámara (cuando no son conocidas) que luego pueden ser usadas como input para MVS. VSFM es un ejemplo de software académico en esta categoría.

Un paso esencial es encontrar puntos correspondientes entre imágenes desde diferentes vistas. Los puntos más fáciles de juntar como correspondientes son puntos bien definidos en imágenes, como esquinas con alto contraste. La Figura 1 muestra un ejemplo de ese punto que es fácil de juntar entre dos imágenes: la punta de mi dedo índice. En práctica, esto no es siempre posible, especialmente cuando los objetos escaneados consisten en largas superficies lisas sin textura, como el piso y las paredes en la Figura 1. Algunas técnicas bien conocidas para encontrar esos puntos correspondientes en una serie de imágenes son SIFT, SURF, etc. Ese conjunto de puntos correspondientes en diferentes imágenes nos permite computar, calcular, puntos 3D en la escena.

Stereo activo

Stereo activo (o usando luz estructurada) es una técnica que hace más fácil encontrar puntos correspondientes entre diferentes vistas. Proyecta un bien conocido patrón en luz visible o en infrarroja en la escena, y con una cámara observa los desplazamientos entre el patrón generado y el patrón observado por la cámara (Figura 2).
Figura 2: (a) El patrón IR que en este caso un sensor Kinect poyecta en la escena: (b) Un ejemplo de cómo el sensor Kinect observa el patrón IR. (Imágen cortesía de BBZippo)

El sensor estructural, es la primera generación del Kinect y de los sensores DotProduct en usar este principio de stereo activo. Una ventaja es que esta técnica puede grabar profundidad y color visible simultáneamente.
Escáner de láser (Lidar)
Lidar (o escaneo láser 3D) usa diferentes principios para medir distancias. La palabra Lidar es una contracción de Light-Radar (luz-radar). En Lidar, hay de nuevo dos diferentes principios: Pulse-based Time-of-Flight (TOF) y phase-shift-based.
Figura 3: Principio de escanear láser de Time-Of-Flight. El haz rojo es el haz que sale, el verde el es haz reflejado. En (a), el escáner mide la distancia d simplemente por tomar la mitad del tiempo t entre emitir un pulso láser y recibir de regreso su tiempo de reflexión a la velocidad de la luz.
Time-of-Flight
Este tipo es el más fácil de entender. Es algo como usar eco para medir una distancia: el tiempo entre tu gritar y tu escuchar el eco te dice qué tan lejos fue tu voz reflejada. Ahora reemplaza "voz" con “láser de pulso” y el resto es lo mismo: el tiempo entre el pulso saliendo del dispositivo y el reflejo regresando te da la distancia del punto de reflejo. La Figura 3 ilustra este principio. Este mismo principio es la base del radar (usando ondas de radio), Lidar (usando ondas de luz) y el sonar (usando ondas de sonido).

Comparado con phase-shift, Time-of-Flight tiene la ventaja que típicamente tiene un rango más largo, hasta 200-300 metros (656-984 ft), pero una menor precisión. También mide menos puntos por segundo (~50.000 puntos por segundo) porque no puede enviar un nuevo láser de pulso antes de que reciba el reflejo del anterior.

Phase-shift
En este tipo de escáner, un llamado modulador cambia la intensidad del rayo láser en función del tiempo. En otras palabras: la intensidad del láser está relacionada al tiempo cuando la fuente lo haya emitido. Sabiendo hace cuánto tiempo el pulso láser ha viajado, es fácil calcular la distancia donde se reflejó. Esto se muestra en la Figura 4.

Figura 4: Principio del escáner láser phase-shift. Un pulso láser es emitido desde una fuente con una intensidad que es una función de tiempo (I0 fue emitido a un tiempo t0, I1 en un tiempo t1 y así otros más). Las barras en color indican la intensidad del pulso a cierto tiempo. Así cuando el sensor (o cámara) ve una secuencia de intensidades I0 I1 I2 puede determinar a qué tiempo el pulso se emitió, así mide qué tanto tomó el reflejo y a partir de este tiempo se calcula la distancia.
Un phase-based escáner puede medir alrededor de un millón de puntos por segundo. Una desventaja de este método es que el rango está limitado a unos 60 a 200 metros (197 – 656ft).


Combinaciones
Combinaciones de ambos principios también existen, como la tecnología Leica’s WaveForm Digitizer. Esta tecnología hace un intercambio entre medir velocidad, distancia y precisión.
¿Estático o móvil?
Al hablar con nuestros compañeros, nos dimos cuenta de que los escáners móviles nunca pueden ser tan precisos como los escáners estáticos. Sin embargo, pueden cubrir más área en menos tiempo, manteniendo la precisión aceptable, < 2 cm (0.8″). Para proyectos largos usando escáners estáticos, los operadores necesitan muchas diferentes posiciones del escáner para cubrir todas las áreas requeridas (ver también Figura 5). Sólo cuando calibran los escáners en todas estas posiciones cuidadosamente (que consume mucho tiempo), pueden unir todos sus datos sin introducir errores.
Figura 5: Desde escáner 1, al lado izq. del objeto A es visible, pero cualquier cosa en el área de luz azul está detrás de objeto A (incluyendo objeto B) es invisible a escáner 1. Desde escáner 2, la parte inferior de A y B son visibles, pero cualquier cosa en las áreas de luz roja es invisible al escáner 2. Las secciones cruzadas púrpura son invisibles para cualquier escáner.
Los escáneres móviles son más rápidos, por lo tanto, más baratos, pero un poco menos precisos. Sin embargo, siguen siendo a menudo suficientemente precisos para la mayoría de las aplicaciones en arquitectura. Estas soluciones usan algoritmos inteligentes SLAM (Simultaneous Localisation and Mapping, Localización y Mapeo Simultáneos) para mantener posibles errores de alineación dentro de un rango aceptable.

Un ejemplo de tal escáner móvil es el Geoslam Zeb-REVO. Un operador camina con este escáner alrededor de las ubicaciones necesarias y mide hasta 50,000 por segundo. Los métodos SLAM pueden entonces unir todos los puntos medidos juntos en una sola nube de puntos, con una precisión de ~1.5 cm (0.6″).

Otro escáner móvil es el NavVis M6. Este es un tipo de carretilla que un operador puede mover alrededor. NavVis afirma que este sistema trae consigo un buen intercambio entre la velocidad del escaneo y precisión: el área que un operador puede escanear en un día, usando el sistema NavVis M6, puede incrementar por un factor de 10 veces a comparación de un escáner estático ~2,000m2 (21,527ft2). Aun así, su precisión es mejor que 1 cm (0.4″), gracias al usar algoritmos SLAM.

En próximo “post”

En siguiente “post” veremos cómo planear un proyecto de escaneo de nube de puntos láser

El original de este “post” en Inglés aquí


No hay comentarios: