En Artefact nos preocupamos por influir positivamente en las personas, el medio ambiente y la comunidad. Por eso nos comprometemos a asociarnos con organizaciones sin ánimo de lucro que hacen de estos valores los pilares básicos de su visión.
Por ello, colaboramos con Smart Parks, una web holandesa Compañia que ofrece soluciones avanzadas de sensores para conservar la fauna en peligro de extinción y gestionar eficazmente las zonas de parques mediante tecnología punta.
En esta serie de entradas, relatamos nuestro viaje en el diseño y la construcción de un sistema de ML para utilizar los medios de comunicación de las cámaras trampa de Smart Parks. En concreto, el objetivo del proyecto es utilizar un enfoque ML para ingerir los data procedentes de las cámaras trampa y, a continuación, proporcionar información, como la presencia de personas o tipos específicos de animales en las imágenes o vídeos capturados por las cámaras. Los guardas del parque utilizarán esta información para proteger mejor la fauna y detectar antes posibles peligros, como los cazadores furtivos.
Introducción
Smart Parks necesitaba un sistema de vigilancia de la fauna capaz de realizar las siguientes tareas:
Nuestro principio rector era la rapidez. Así que, cuando empezamos, nuestra prioridad era desplegar lo antes posible un producto básico pero totalmente operativo.
Este será el primer artículo de muchos y se centrará en el contexto del proyecto, la vista de alto nivel del sistema diseñado y las ventajas de nuestra solución basada en la nube. En los próximos, profundizaremos en cómo conectar las cámaras trampa a Google Cloud Platform y a puntos finales externos mediante una herramienta llamada Node-RED y en cómo diseñar una sencilla aplicación web con Streamlit para gestionar las cámaras trampa colocadas en los parques.
Empecemos.
Cámaras trampa
Antes de entrar en materia, repasemos rápidamente qué son las cámaras trampa y cómo pueden utilizarse para apoyar la protección y conservación de los animales.
Las cámaras trampa son dispositivos que llevan sensores incorporados para que, cuando se detecte actividad delante de ellas, se tome inmediatamente una foto o un vídeo. Permiten a los guardas de los parques y a los biólogos de la fauna salvaje ver a nuestras congéneres sin interferir en su comportamiento normal.
Recorrer los parques y recopilar información es una técnica válida, pero es un proceso caro, que requiere mucho trabajo y muchas personas. Además, también existe el riesgo de toparse con fauna peligrosa o, peor aún, con cazadores furtivos.
Aunque las distintas técnicas para recopilar data presentan diferentes ventajas y desventajas, las cámaras trampa son una fuente excelente. La gran ventaja de las cámaras trampa es que funcionan de forma continua y silenciosa y pueden registrar data muy precisas sin molestar al sujeto fotografiado. Pueden ser útiles tanto para vigilar subrepticiamente posibles actividades ilícitas como para cuantificar el número de especies diferentes en una zona y determinar sus pautas de comportamiento y actividad.
Plataforma Google Cloud
Para el almacenamiento y la gestión de los soportes de las trampas de cámara, optamos por utilizar una solución basada en la nube, más concretamente, Google Cloud Platform.
Google Servicios Soluciones de almacenamiento como Google Cloud Storage, almacenamiento de objetos con almacenamiento en caché integrado para almacenar datos no estructurados data, soluciones informáticas como Cloud Functions, Functions as a Service para ejecutar código basado en eventos y también Servicios útiles APIs AI por ejemplo:
Disponer de todos estos componentes en un único entorno unificado era la solución ideal para nosotros y nos ayudó a ofrecer una solución operativa en poco tiempo.
El flujo de trabajo
En primer lugar, los archivos multimedia se suben a un bucket de Google Cloud Storage. En el segundo artículo de esta serie explicaremos cómo se hace esto exactamente. El bucket se organiza en carpetas, una para cada cámara trampa. Una vez que se carga un archivo, se activa inmediatamente una función de Google Cloud, que se encarga de las siguientes tareas:

Esta arquitectura ofrece múltiples ventajas:
API de Cloud Vision y Cloud Video Intelligence
El uso del aprendizaje automático, en concreto de la visión por ordenador, para identificar automáticamente personas y animales en imágenes o vídeos ha experimentado avances significativos en los últimos años y hoy en día los investigadores de la vida salvaje lo consideran un "cambio de juego". Centrémonos más en las API utilizadas.
Vision API y Video Intelligence API ofrecen potentes modelos de aprendizaje automático preformados a través de las API REST y RPC. La primera está pensada para trabajar con imágenes, mientras que la segunda, como su nombre indica, con vídeos. Ambas son capaces de reconocer automáticamente un gran número de objetos, lugares y acciones.
Para este proyecto nos hemos centrado principalmente en estas 3 funciones que ofrecen las API:
Puedes jugar con la API de Vision cargando tu imagen aquí.

El camino por delante
El camino recorrido hasta ahora es una base para el emocionante e impactante viaje que tenemos por delante. Con las herramientas básicas disponibles en un futuro próximo, podremos crear mucho valor no solo para Smart Parks, sino también para la conservación de la vida salvaje y mucho más.
Los próximos pasos implicarán estas amplias áreas de trabajo:
En este primer artículo, explicamos cómo construimos nuestro pipeline escalable totalmente automatizado en Google Cloud, que nos permite ingerir medios y utilizar las API de aprendizaje automático para extraer información de ellos. Proporciona una base sólida, fácil y rápida de implementar para cualquier tipo de proyecto que implique el consumo de medios y el uso de aprendizaje automático para extraer información de ellos.
Gracias por leer y nos vemos en los próximos artículos de la serie donde explicaremos con más detalle cómo se conecta efectivamente la arquitectura presentada con las cámaras trampa, y donde recorreremos la aplicación web diseñada para gestionarlas, así que ¡permaneced atentos!
Un agradecimiento especial a Maël Deschamps por su ayuda en la revisión del contenido de este post, y a Tim van Dam, de Smart Parks, por su apoyo durante el proyecto. ¡Sois geniales!