Perspectivas futuras para la mejora de los datos de profundidad en la tableta Project Tango
Estoy interesado en usar la tableta Project Tango para la reconstrucción en 3D con características de puntos arbitrarios. En la versión actual del SDK, parece que tenemos acceso a los siguientes datos.
Una imagen RGB de 1280 x 720.Una nube de puntos con 0- ~ 10,000 puntos, dependiendo del entorno. Esto parece promediar entre 3.000 y 6.000 en la mayoría de los entornos.Lo que realmente quiero es poder identificar un punto 3D para puntos clave dentro de una imagen. Por lo tanto, tiene sentido proyectar profundidad en el plano de la imagen. He hecho esto y obtengo algo como esto:
El problema con este proceso es que los puntos de profundidad son escasos en comparación con los píxeles RGB. Así que di un paso más y realicé la interpolación entre los puntos de profundidad. Primero, hice la triangulación de Delaunay, y una vez que obtuve una buena triangulación, interpolé entre los 3 puntos en cada faceta y obtuve una imagen de profundidad decente y bastante uniforme. Aquí están las zonas donde la profundidad interpolada es válida, impuesta sobre la imagen RGB.
Ahora, dado el modelo de cámara, es posible proyectar la profundidad nuevamente dentro de las coordenadas cartesianas en cualquier punto de la imagen de profundidad (dado que la imagen de profundidad se hizo de tal manera que cada píxel corresponde a un punto en la imagen RGB original, y tenemos los parámetros de la cámara de la cámara RGB). Sin embargo, si observa la imagen de triangulación y la compara con la imagen RGB original, puede ver que la profundidad es válida para todos los puntos sin interés en la imagen: planos en blanco, sin rasgos en su mayoría. Esto no es solo cierto para este conjunto único de imágenes; Es una tendencia que estoy viendo para el sensor. Si una persona se para frente al sensor, por ejemplo, hay muy pocos puntos de profundidad dentro de su silueta.
Como resultado de esta característica del sensor, si realizo una extracción de características visuales en la imagen, la mayoría de las áreas con esquinas o texturas interesantes caen en áreas sin información de profundidad asociada. Solo un ejemplo: detecté 1000 puntos clave SIFT de una imagen RGB de un sensor Xtion, y 960 de ellos tenían valores de profundidad válidos. Si hago lo mismo con este sistema, obtengo alrededor de 80 puntos clave con profundidad válida. Por el momento, este nivel de rendimiento es inaceptable para mis propósitos.
Puedo adivinar las razones subyacentes de esto: parece que se está utilizando algún tipo de algoritmo de extracción de planos para obtener puntos de profundidad, mientras que los sensores Primesense / DepthSense están usando algo más sofisticado.
De todos modos, mi pregunta principal aquí es: ¿podemos esperar alguna mejora en los datos de profundidad en un momento posterior, a través de algoritmos mejorados de procesamiento de imágenes RGB-IR? ¿O es este un límite inherente del sensor de corriente?