Detección e inferencia de objetos usando nube de puntos con cámara 3D

La detección e identificación de objetos y personas usando una nube de puntos es uno de los mayores puntos de contención en la implementación de sistemas con cierto nivel de autonomía, y es sin duda uno de los temas con mayor repercusión en el mundo de la visión por computador.

Una correcta detección e inferencia es clave para poder llevar a cabo tareas como navegación autónoma, asistencia de brazos robot, videovigilancia o, como en nuestro caso, detección de defectos.

 

¿Qué es una nube de puntos?

Una nube de puntos es un sistema de representación de una superficie a través de un conjunto de vértices (X, Y, Z) en un sistema tridimensional y está compuesta de un conjunto de puntos que contienen la información necesaria para generar un modelo virtual.

 

¿Dónde se usa una nube de puntos?

Encontramos industrias que dependen de las nubes de puntos y ejemplos son la ingeniería civil, cartografía, geología, monitoreo ambiental, arquitectura, arqueología, inspecciones estructurales en edificios, topografía, …

 

Formas de enfocar la detección de objetos

A continuación vamos a ver cuál es la mejor cámara de nube de puntos. Existen fundamentalmente, dos formas de enfocar la detección de objetos.

La primera se basa en la utilización de cámaras monoculares (cámaras normales, como las de nuestros móviles), que proporcionan imágenes en dos dimensiones. A esas imágenes se les aplica una serie de algoritmos, que pueden ser muy variados, con el objetivo de obtener una «caja» o delimitación que indique la presencia y localización en la imagen del objeto a detectar.

La segunda se basa en la utilización de cámaras 3D que, como el nombre indica, además de la imagen en 2 dimensiones añaden una tercera dimensión: la profundidad. Gracias a ello podemos crear nubes de puntos, como la de la Imagen 1. En INLOC estamos usando este segundo método para percibir el entorno.

 

El algoritmo aplicado sobre la nube de puntos

Los algoritmos que se pueden aplicar son muy variados, desde los más simples a los más complejos.

En este post queremos enseñar el resultado de detectar una taza de café concatenando dos algoritmos bien sencillos: primero, aplicamos un detector de bordes a la nube de puntos original. Eso nos permite exponer la geometría básica de la mayoría de los elementos; y segundo, lo pasamos por un algoritmo RANSAC, que nos hará una estimación de los parámetros de la geometría que mejor se adapte a los mencionados bordes de la nube de puntos.

 

Nube de Puntos
Imagen 1. Nube de puntos

Qué geometría usar dependerá del problema.

En el caso de la Imagen 1, el objetivo es detectar la taza de café sobre la mesa, por lo que estimar los parámetros de un círculo es lo más lógico.

Haciendo servir este método se consigue una detección exitosa de la taza, como se puede observar en la Imagen 2.

Lo bueno de este método es que, si el objeto que se desea detectar es razonablemente simple, la detección de objetos no solamente es sencilla sino también rápida.

Tal como vemos en la imagen 1, la nube de puntos se obtiene de la cámara 3D. Nótese la tasa de café encima de la mesa, con la pared y objetos del fondo como ruido.

 

Nube de Puntos Segmentada
Imagen 2. Nube de Puntos Segmentada

En la imagen 2 observamos la nube de puntos original con la taza de café detectada y localizada. Los puntos originales están en azul, los bordes en rosa, y en gris los puntos que caen dentro de la caja (en rojo) que engloba la taza.

No es, sin embargo, robusta: cuando en la nube de puntos 3D hay objetos con geometrías complejas o muchas instancias de objetos similares en forma, las probabilidades de encontrar objetos no deseados son altas.

Para estos casos hay que explorar soluciones híbridas, en las que la imagen RGB de cada candidato a objeto se pase a otros algoritmos como redes neuronales convolucionales, que tienen mayor capacidad de abstracción y generalización, a pesar de ser mucho más complejos y lentos.

¡Pero esa es una historia para otro post!

Esperamos que te haya sido útil este artículo. Si tienes entre manos algún proyecto de ingeniería y crees que podemos ayudarte, aquí te dejo el enlace donde nos podrás contactar y explicarnos más a cerca de ello.