Descargar

Visión por computador en dispositivos móviles

Enviado por Pablo Turmero


    edu.red

    Objetivos del Proyecto

    Probar la viabilidad de la Visión por Computador en dispositivos móviles.

    Dificultades: Recursos limitados: memoria y capacidad de computación reducida.

    edu.red

    ¿Cómo se consiguen los objetivos?

    Se estudia el rendimiento de detectores corporales en un iPhone 4.

    Se crea una aplicación directa de esta tecnología en este dispositivo.

    edu.red

    Detectores Corporales Se opta por estudiar uno de los algoritmos del estado del arte de la detección de objetos: el algoritmo de Viola-Jones. En lugar de desarrollar una implementación específica para el dispositivo, se decide usar la implementación incluida en OpenCV, una librería de código abierto desarrollada por Intel, que recoge diversas funcionalidades propias de la visión por computador.

    edu.red

    Herramientas necesarias para el proyecto

    Entorno de desarrollo: Xcode. Librería OpenCV: Es necesaria su compilación previa para este entorno. Lenguajes: Objective-C: Necesario para interactuar con Cocoa Touch, la API de iPhone. C++: Necesario para interactuar con OpenCV.

    edu.red

    Proceso de Detección (1) Se crea el detector Se obtiene la imagen. 2 orígenes posibles: vídeo o cámara. Se transforma la imagen al formato de imagen OpenCV Se convierte a escala de grises Detección a través de OpenCV Tratamiento de los resultados

    edu.red

    Proceso de Detección (2)

    edu.red

    Proceso de Detección (3)

    Únicos puntos a optimizar: Conversión al formato OpenCV. Se optimiza el proceso para que no se dupliquen datos en memoria. Conversión a escala de grises. Se usa el motor NEON SIMD (capaz de aplicar una misma instrucción a múltiples datos)

    edu.red

    Análisis de los detectores (1) Para que todos los detectores se apliquen bajo unas mismas condiciones se graba una secuencia de vídeo sobre la que se medirá su rendimiento.

    edu.red

    Análisis de los detectores (2) Se crea aplicación que aplica los detectores sobre la secuencia de vídeo.

    edu.red

    Análisis de los detectores (3) En la velocidad de procesado influye en gran medida el tamaño de la subventana.

    Hay que tener en cuenta que la API de tratamiento de vídeo no está diseñada para su tratamiento en tiempo real, por lo que el tiempo de procesado es aún mayor.

    edu.red

    Análisis de los detectores (4) Se obtienen los siguientes resultados:

    edu.red

    Aplicación Directa (1) Se crea una aplicación capaz de realizar una fotografía cuando se detecta un determinado número de personas en la imagen captada por la cámara del dispositivo.

    edu.red

    Aplicación Directa (2) La aplicación procesa las imágenes capturadas y cálcula el número de caras detectadas en ella. Si éste es superior al número de personas definidas por el usuario, se lanza la fotografía.

    edu.red

    Conclusiones El rendimiento ofrecido es mejorable pero suficiente para ser aplicado en este tipo de dispositivos.

    Es probable que una implementación específica del algoritmo mejorara muchísimo el rendimiento.