Icono del sitio Programar fácil con Arduino

87. Vídeo con Raspberry Pi, crea tu sistema de vigilancia

En el capítulo de hoy te voy a hablar de cómo podemos capturar el vídeo con Raspberry Pi, para crear nuestro propio sistema de vigilancia. Pero este no es el único proyecto que podemos crear. En el momento que conectamos una cámara a la Raspberry Pi, se nos abre un mundo de oportunidades. Si lo combinamos junto a la Visión Artificial, sacaremos el máximo provecho y rendimiento.

Ya te he hablado en otras ocasiones sobre la Visión Artificial, te dejo a continuación todos los artículos y capítulos del podcast.

No voy a hacer más hincapié en las ventajas y beneficios que nos ofrece esta ciencia. Hoy vamos a ver un caso práctico donde analizamos un vídeo con Raspberry Pi.

Empezaremos por el principio, veremos que es lo que necesitamos para empezar y el coste que supone. Luego continuaremos con la configuración del hardware, Raspberry Pi y cámara. Por último te daré lo básico para empezar. El primer algoritmo que debemos implementar para detectar movimiento con Raspberry Pi, OpenCV y Python.

Vídeo con Raspberry Pi

Raspberry Pi es un ordenador de propósito general de muy bajo coste. Lo que más me gusta de él es su bajo consumo, podemos tenerlo conectado todo el día. Para que te quede más claro, la Raspberry Pi 2 y 3 consumen unos 4 W/hora. Una torre puede consumir hasta 100 veces más pero pongamos que consume 200W/hora, 50 veces más. Imagínate lo que te puedes ahorrar si lo tienes todo el día encendido. Por este motivo, este dispositivo puede ser un gran aliado en nuestras instalaciones y proyectos.

Dentro de los posibles usos dentro del análisis de vídeo con Raspberry Pi encontramos algunos como los siguientes:

Material necesario

Vamos a ver ahora que material vamos a necesitar:

No es necesario comprar todo el material. Seguramente tengas una tarjeta Mirco SD, o un teclado y ratón. También puedes utilizar un cargador de móvil para alimentar la Raspberry Pi pero ojo, este debe suministrar 5V y 2A.

Una vez que ya tengas todo el material pasamos a hacer la instalación básica.

Instalación básica de Raspberry Pi

Hay multitud de tutoriales en Internet muy buenos. Te recomiendo que veas este tutorial de Gabriel Viso de Pitando. La versión que yo utilizo es Raspbian Jessie y con la que seguiré en este capítulo.

Una vez que lo tengamos todo instalado, es importante seguir los siguientes pasos para instalar Python + OpenCV. Empezaremos por Python y todos los paquetes necesarios orientados a la programación científica con este lenguaje de programación.

Actualizar paquetes

Lo primero que debemos hacer es actualizar el sistema y los paquetes que tenemos instalados en la Raspberry Pi. Primero abre una línea de comandos y ejecuta lo siguiente.

Cuando haya terminado ejecuta este otro, aplicará las actualizaciones que se han descargado.

Ten paciencia, puede tardar un poco. Es importante siempre trabajar con las últimas versiones del software. Así estaremos seguros de que se han corregido bugs de seguridad y demás problemas que hayan surgido.

Instalar paquetes básicos de Python

Escribir en una línea de comandos el siguiente comando.

Esto nos instalará los siguientes paquetes:

Puedes comprobar que versión de Python tienes instalada escribiendo el comando python -V.

Instalar los paquetes de Python científico

Para poder trabajar con OpenCV y Python, necesitamos ciertos paquetes que nos hará la vida más fácil. Puedes leer el artículo donde explico los requerimientos de OpenCV con Python. También te aconsejo que veas el curso de Introducción a la Visión Artificial con OpenCV y Python.

Este comando instala los siguientes paquetes:

Instalar OpenCV

Quizás una de las cosas más complicadas de esta instalación sea la de hacer combinar todo lo necesario para que OpenCV funcione correctamente. Este framework se puede instalar de diferentes maneras. Bajo mi experiencia, aconsejo la instalación con este comando.

Una vez instalado ya podemos empezar a dar los primeros pasos con la visión artificial. Puedes comprobar que todo funciona correctamente escribiendo lo siguiente en una línea de comandos.

Intenta importar estas dos librerías

Debes obtener un resultado como este, sin errores.

Instalación de la cámara en la Raspberry Pi

Para instalar la cámara en la Raspberry Pi, solo tienes que insertar un extremo de la cinta en la placa. Es muy sencillo. Te dejo otro tutorial de Gabriel Viso donde lo explica paso a paso.

Instalar Picamara

Vamos a necesitar un paquete para acceder a la cámara desde Python. El paquete se llama Picamara. Ejecuta esta serie de comandos.

Esto nos instala los paquetes necesarios. Ahora solo falta actualizar la instalación.

Con todo esto, si hemos seguido bien los pasos, ya podemos empezar a programar con Python. Dentro de Raspberry Pi encontramos el IDE oficial que nos puede resultar de mucha ayuda.

Programación algoritmo detección de movimiento

No te voy a hablar de en que consiste este tipo de algoritmos. Ya escribí una entrada en el blog donde daba un ejemplo. Basándome en este artículo he modificado el código y lo he adaptado para ejecutar el vídeo con Raspberry Pi. El código te lo dejo a continuación.

Vídeo

Puedes ver el siguiente vídeo donde te muestro como funciona el algoritmo.

Ventajas de la detección de movimiento

Cuando estamos analizando un vídeo con Raspberry Pi, debemos ser muy óptimos en cuanto al rendimiento. No tenemos que olvidar que Raspberry Pi es lo que es, un mini ordenador. Nos permitirá abaratar costes y reducir el consumo. Pero también tendremos que optimizar nuestro código a las nuevas circunstancias. Esto implica que en el tratamiento de vídeo con Raspberry Pi, debamos utilizar técnicas como la detección de movimiento.

Esta técnica consiste en detectar los objetos en movimiento dentro de una escena. Una vez localizados podemos utilizar esa detección para centrarnos en los objetos en movimiento y desechar el resto de la imagen. Un ejemplo sería si queremos reconocer objetos. Esto se puede hacer a través de diferentes algoritmos como SIFT o SURF. El gran inconveniente que tienen es que el coste de computación es muy alto. Esto implica que casi sea imposible analizar imágenes grandes en tiempo real y además añadimos las limitaciones de Raspberry Pi.

Por lo tanto, en estos casos, cuando queremos analizar vídeo con Raspberry Pi, debemos de tirar de métodos que nos optimicen el tiempo de computación. Eso es lo que haremos con la detección de movimiento.

Conclusión

Aunque en ocasiones resulte más complicado crear nuestro propio software, las ventajas que esto nos aporta son innumerables. En el campo de la visión artificial, ningún algoritmo es estándar. Siempre tendremos que adaptarlo a nuestro propio proyecto y solo seremos capaces de hacerlo si nosotros mismos creamos nuestro software.

Muchas gracias a todos por los comentarios y valoraciones que haces en iVooxiTunes y en Spreaker, me da mucho ánimo para seguir con este proyecto.

Salir de la versión móvil