Implementación del método “estructura desde el movimiento” en Android
Abstract
La metodología llamada “Estructura desde el movimiento” es de mucho interés para la comunidad de visión por computadora debido a que es utilizada en áreas del conocimiento como la robótica, la arquitectura, la medicina, las exploraciones fuera del planeta tierra y en los sistemas con inteligencia artificial [1]. Por otra parte, el sistema operativo Android ha tenido un gran impacto en sistemas de cómputo móvil como tabletas, teléfonos móviles y sistemas de entretenimiento [2]. Estos sistemas de cómputo móvil permiten que la capacidad de cálculo sea transportada con poco peso e irrisorio consumo de energía, lo que hasta hace 10 años era impensable [3]. Por lo anterior podemos afirmar que implementar la técnica de “Estructura desde el movimiento” es importante para el desarrollo de la tecnología. El problema que resuelve este procedimiento, es el cálculo automático la rotación y la traslación entre dos vistas o fotos, sin utilizar información externa sobre la posición y orientación de las cámaras que tomaron dichas imágenes (de manera similar a como lo hacen los seres humanos y los animales que tienen el sentido visual), cuando se tienen dos fotografías de una misma escena desde diferentes puntos de vista y estas incluyen una de sus zonas en común; solamente es necesario contar con las dos fotografías digitales y los parámetros de calibración de cada cámara [1]. Este proceso es de mucha utilidad ya que sirve para trabajar con Odometría visual, calibración de parámetros extrínsecos y reconstrucción tridimensional en visión por computadora, con aplicaciones en: manufactura robótica, video vigilancia automática y control visual de automóviles autónomos. El algoritmo de ocho puntos nos permite encontrar la matriz fundamental y derivada de esta, a la matriz esencial, para finalmente obtener los ángulos de Euler que pertenecen a cada uno de los ejes del sistema coordenado en tres dimensiones y el vector de traslación normalizado de los sistemas coordenados de ambas cámaras que tomaron las fotos. En el artículo [4] los autores reportan el rendimiento de algunos sistemas Android para computar el método “Estructura desde el movimiento” y específicamente la exactitud alcanzada con Android comparada con la experimentada con OpenCV y Matlab. Y ahí comprueban que la rapidez es alta, aunque todavía no es suficiente para aplicaciones que requieren los resultados en el orden de los milisegundos. También es importante comparar los tiempos de ejecución de este algoritmo en otras plataformas, lo cual se muestra en la Tabla 1, donde se exponen los tiempos de ejecución de la implementación en diferentes equipos Android, de diferentes fabricantes utilizando librerías OpenCV