Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Pi-OpenCV00

La Raspberry Pi es una computadora con mucho poder realmente a pesar del bajísimo costo que tiene. Es además una fuente de inspiración para todo tipo de experimentos y proyectos en electrónica y cómputo. La realidad es que gracias a la Pi podemos ver sistemas que antes hubiesen costado mucho dinero. Por ejemplo, en el caso que nos ocupa, se tiene un sistema que cuenta personas que pasan por una calle usando una Raspberry Pi y OpenCV (la biblioteca para hacer visión por computadora). Todo esto costando unas 60 libras.

El sistema detecta personas y las puede contar. Se requiere para ello entender lo que hay en una imagen (por ejemplo, a partir de imágenes de una cámara web) y entender que hay personas que pasan por la imagen de una calle, por ejemplo. Por suerte se tiene acceso a una biblioteca de visión por computadora que permite que la aplicación distinga los patrones que son personas para asi poderlas contar. Esta idea se puede extender a otro tipo de objetos, por ejemplo automóviles o lo que ustedes quieran, siempre y cuando la definición del patrón buscado esté correctamente definido.

El sistema usa una Raspberry Pi (23 libras), la cámara Pi (20 libras) y una unidad PoE (Power over Ethernet), que cuesta unas 10 libras. En términos del software hay dos programas principales: Una aplicación en C++ que corre en la Pi y que maneja la entrada de la cámara, la abstracción de la imagen, el monitorear a las personas y contarlas. En términos de la aplicación se hacen los siguientes procesos:

  • Captura la imagen desde la Pi-Cámara
  • La pasa por una serie de algoritmos de OpenCV
  • Compila los blobs hallados y sigue sus movimientos
  • Si el blob se adhiere a ciertas condiciones específicas entonces dispara un evento en el servidor footfall

El segundo programa est;a en el servidor y fue usado para contener y visualizar los datos desde la Raspberry Pi. Para ello se usa una combinación de PHP, MySQL y Javascript. Para desplegar los resultados se usó la fantástica biblioteca ChartJs que usa el Canvas de HTML5 para generar las gráficas y diagramas.

El proceso aquí es de la siguiente manera:

  • Tomamos los datos de la base de datos (MySQL, PHP y Javascript)
  • Generamos las gráficas (Javascript)
  • Desplegamos las gráficas (Javascript)
  • Actualizamos las gráficas (Javascript)

Toda la descripción puede verse aquí y el código está accesible en GitHub.

Participa en nuestra encuesta:
Desde la Red…
Comentarios