Simulación de la visión humana mediante
procesadores gráficos




High-quality image (427K) - Opens new window

Fig. 1: Ejemplo de transformación log-polar

   http://blog.pcnews.ro/wp-content/photo/2007/06/nvidia-corporation-tesla3.jpg

Fig. 2: Procesador gráfico y tarjeta GPU Tesla (Nvidia)

Motivación

El modelo de imágenes log-polares [1], que se inspira en la visión humana (Fig. 1), se utiliza en algunos problemas de visión por computador, pues ofrece algunas ventajas, tales como importantes reducciones del tiempo de procesamiento, lo que resulta muy interesante en aplicaciones de tiempo real.

Aunque hay varias formas de obtener este tipo de imágenes, la solución más común, por su bajo coste económico, su sencillez y su flexibilidad, es utilizar rutinas software para transformar imágenes convencionales (cartesianas) en imágenes log-polares. Sin embargo, un inconveniente asociado a esta solución es el tiempo de conversión que, en ciertos contextos, podría ser excesivo.

Una posible forma de reducir este tiempo de conversión pasaría por utilizar procesadores gráficos (Fig. 2), comunmente conocidos como GPUs (Graphical Processing Units). De este modo se mantendría la flexibilidad que ofrece la implementación por software, al tiempo que se podría explotar la ganancia de velocidad que las GPUs están permitiendo en múltiples aplicaciones, no sólo en informática gráfica sino también en visión por computador y otros ámbitos de aplicación [2].

Los procesadores gráficos de última generación se han transformado en una solución de bajo coste y elevado rendimiento para computación de propósito general (GPGPU, General Purpose Computation on GPUs). A su arquitectura "manycore",  con cientos de núcleos de computación, se unen nuevas APIs de propósito general como CUDA [3], que posibilitan al programador la adaptación de sus códigos ya desarrollados sobre la CPU de forma sencilla, abstrayéndole de la arquitectura gráfica subyacente.

Resumen

En el proyecto se abordaría el diseño y la implementación de alguna solución que permita realizar la transformación log-polar desde imágenes cartesianas. Entre otros aspectos de interés, se analizará la ganancia de velocidad que ofrecen diferentes estrategias para varias situaciones prácticas, y los beneficios que ciertas técnicas comunes de optimización pueden suponer para el problema tratado.

Palabras clave

Procesamiento de imágenes; visión por computador; computación de altas prestaciones; GPUs.

Referencias

[1] Log-polar mapping made easy / HTML
[2] J. D. Owens et al. A Survey of General-Purpose Computation on Graphics Hardware, Computer Graphics Forum, 26(1):80-113, 2007 / PDF
[3] CUDA (Compute Unified Device Architecture) / wikipedia

Directores

Recursos

Observaciones