Mostrando entradas con la etiqueta scanner. Mostrar todas las entradas
Mostrando entradas con la etiqueta scanner. Mostrar todas las entradas

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í


sábado, 23 de marzo de 2019

¿Cuál es el punto con las nubes de punto?


Nube de puntos, ¿cuál es el punto?

En estos días, la nube de puntos se ha vuelto una tan importante herramienta en áreas como mapeo geográfico, CAD, modelado BIM, y demás, que vale la pena dedicarle posts en el blog. Esta serie de posts en el blog van a abarcar temas como qué es una nube de puntos, los principios de los escáneres usados para crearlas, y su aplicación en diferentes dominios.

Una nube de puntos no es más que una colección de millones (a veces billones) de puntos que provienen de un escáner. Es importante darse cuenta de que estos puntos siempre están localizados en las superficies de objetos. Cada punto tiene tres coordinadas que lo posiciona en el espacio y a menudo también color y/o información sobre intensidad.

Puedes ver una nube de puntos en acción en Bricsys 2018 aquí  

En básico
Una fuente de una nube de puntos es el escáner láser. Este tipo de escáner crea una nube de puntos emitiendo un rayo láser en una cierta dirección (descrita por los ángulos φ y θ). Este rayo refleja en alguna parte de la superficie y la distancia r a este reflejo se mide. El resultado es un punto en la nube de puntos ( Figura 1 a) Arrastrando este rayo alrededor y midiendo las distancias a todos estos reflejos en superficies resulta en una nube de puntos ( Figura 1 b y c). La figura 1 d es entonces un modelo CAD ideal que quisiéramos reconstruir desde la nube de puntos.
Figura 1: Un punto desde un escáner láser. Vea texto para mayor explicación.
Por un lado, una nube de puntos es el conjunto más completo de medidas en bruto de objetos reales posible. Por otro lado, es sólo un conjunto "tonto" de puntos sin interpretación o significado físico de lo que se está representando. Los humanos pueden fácilmente reconocer objetos en una nube de puntos, pero necesitarían realmente mucho tiempo para hacerlo para todos los objetos significativos en la nube de puntos. Eso es donde software inteligente que usa inteligencia artificial/ machine learning puede ayudar a hacer este monótono trabajo por ellos.

La nube de puntos sólo contiene información del exterior de los objetos. Éste es un contraste con información de ultrasonido, escáner CT ó MRI, que contienen información de todo el interior de los objetos también. La Figura 2 da una visualización de una nube de puntos del cuarto técnico de un ascensor. La misma escena se muestra en la Figura 3 excepto que los paneles de enfrente de los gabinetes están ahora recortados, mostrando que la nube de puntos no tiene información dentro de estos gabinetes.
 
Figura 2
Figura 3: Misma escena que Figura 2, pero ahora recortando el frente de los gabinetes.

Ejemplos de aplicación
Algunos ejemplos de dominios que usan nube de puntos:
1. Crear o actualizar mapas geográficos con información sobre altura de áreas largas escaneadas desde aviones o satélites.
2. Proveer una referencia para crear modelos CAD de objetos del mundo real.
3. Inspección automática de calidad comparando un modelo computacional con la realidad:
- Sigue los diferentes pasos durante la producción
- Inspecciona de errores un producto finalizado
- Checa deformaciones u otro deterioro a través del tiempo

Puedes ver ejemplo de uso de las nubes de punto láser en BricsCAD para la industria en nuestro canal YouTube aquí

Caso usado al estilo viejo
Imagina que eres un arquitecto con un proyecto de re-acondicionar o renovar un edificio existente. Obviamente, quieres empezar con un modelo de la situación como actualmente está. Si ese modelo no está disponible (como muchos modelos antes de 1980), necesitas crearlo. Así que necesitas muchas medidas para este edificio.
Primero necesitas medir puntos de referencia como las esquinas de los cuartos. Empezando por estas esquinas, tú puedes crear paredes y pisos. Desde esos, puedes crear un modelo del edificio. En el pasado, las personas necesitaban medir estos puntos de referencia a mano. Con estos puntos, ellos podían luego construir un modelo CAD. Como puedes imaginar, esto requiere extremadamente mucho tiempo y por lo tanto resulta caro. Además, si durante el modelado parece que algunas medidas se olvidaron, se necesitarían hacer otra vez.
La nube de puntos al rescate
En estos días, el escáner láser como el Leica BLK360 puede automáticamente medir la mitad de un millón de puntos por segundo con una precisión mejor que la mitad de un centímetro. El resultado es un conjunto de millones (en algunos casos billones) de puntos medidos con información de color de una escena, en sólo una fracción del tiempo que los humanos podrían hacerlo. Esto brinda más sólida referencia para empezar a modelar. Y cómo un más, también obtienes una buena impresión visual de la escena.
Algunas personas confunden una nube de puntos con un modelo 3D. Recuerda, una nube de puntos contiene sólo medidas exactas de puntos, pero NO conocimiento de lo que esos puntos representan. Esto es en contraste con un modelo 3D como BIM. Ese modelo contiene figuras geométricas sólidas con información, sus materiales, el rol que tienen las figuras en el edificio (pared, columna de soporte, etc.) qué relación tienen con otras partes del edificio (a qué otras paredes/piso/techo están conectadas).

El siguiente post
Un futuro post en esta serie se discutirá cómo ese modelo 3D es creado desde una nube de puntos. Por ahora, sólo recuerda que crear ese modelo 3D desde una nube de puntos incluso le toma a un experto humano mucho tiempo y esfuerzo.


Texto original en inglés aqui