Finalmente, en este último artículo de fondo, continuación al anterior, La implantación de los sistemas TinyML, Mark Patrick, Technical Marketing Manager de Mouser Electronics EMEA, propone algunos kits TinyML para la evaluación de la tecnología y los primeros pasos.
En este último artículo sobre el TinyML, hablaremos sobre algunos de los kits de evaluación de hardware disponibles con los que podrá empezar a desarrollar aplicaciones de aprendizaje automático con microcontroladores.
En la segunda parte de esta serie, abordamos una selección de bibliotecas de aprendizaje automático y flujos de trabajo más populares para el TinyML, como Google TensorFlow Lite para microcontroladores y Edge Impulse.
Los kits TinyML de evaluación y las placas de ensayo que analizaremos en este artículo son compatibles con estos recursos, constituyendo un punto de partida ideal para un primer proyecto.
El rango de aplicaciones que se pueden desarrollar con el TinyML es prácticamente ilimitado. Todos los días hay ingenieros e innovadores que convierten ideas en realidad usando microcontroladores de baja potencia. La posibilidad de llevar a cabo inferencias con microcontroladores de pocos recursos ha generado un aumento en los dispositivos periféricos del IIdC.
Un ejemplo de esto es un sensor inalámbrico con batería para la supervisión del estado de un motor, que emplea un acelerómetro MEMS (sistema microelectromecánico) compacto y un algoritmo de red neuronal para medir los cambios en las características de vibración. Como funciona con batería y no requiere cables para la comunicación ni la alimentación, la instalación es sencilla y muy barata. Otro ejemplo es un dispositivo compacto para la monitorización de los cultivos. Utiliza una red de largo alcance, área extensa y baja potencia (LPWAN), como LoRaWAN, lo que es perfecto para la instalación a distancia de este tipo de sensores.
Plataformas de TinyML
Kit de visión Google AIY
Es posible que la plataforma de aprendizaje automático más integrada y lista para el despliegue sea el kit de visión Google AIY (ver imagen 1).
La carcasa se compone de una caja de cartón troquelado, sorprendentemente resistente, y contiene el popular ordenador de placa única Raspberry Pi Zero. En el kit podemos encontrar todo el cableado, el hardware y el firmware necesario para crear un dispositivo de visión de red neuronal capaz de detectar caras, determinar emociones y reconocer un conjunto de 1000 objetos cotidianos. Además del Raspberry Pi Zero, el kit contiene una cámara Raspberry Pi V2, la placa Vision Bonnet de Google y todo el cableado flexible y estándar de circuito impreso necesario.
La Vision Bonnet de Google usa una unidad de procesamiento de visión (VPU) de baja potencia (Intel Movidius Myriad 2 MA2450) para las tareas de inferencia de procesamiento de imágenes. También hay un led multicolor y un timbre piezoeléctrico como salida visual y auditiva del kit.
No hace falta conexión a internet para ejecutar los algoritmos de detección de visión. Se ha creado una página web con tutoriales paso a paso sobre la configuración del kit y la puesta en práctica de todos los ejemplos disponibles de redes neuronales en Google TensorFlow Lite.
La primera demostración del tutorial es el modelo de detección de alegría. El led del kit se ilumina cuando la cámara detecta la cara de una persona. Una sonrisa hace que el led cambie al color amarillo y un fruncimiento de ceño hace que se ponga en azul. Si hay una gran sonrisa, el timbre piezoeléctrico emite un sonido. Si se detectan muchas caras, las salidas del led y el timbre se corresponderán con la puntuación acumulada de todas las expresiones faciales.
Para la demo de reconocimiento de objetos, es necesario conectarse al Raspberry Pi para recibir los mensajes de salida. Esto se puede lograr conectando una pantalla HDMI al Raspberry Pi o con una conexión SSH desde otro ordenador. En el tutorial se pueden encontrar las dos opciones de conexión. Al usar una pantalla HDMI, también necesitaremos un teclado y un ratón.
En la imagen siguiente se pueden ver las salidas de los terminales a partir del algoritmo de clasificación de imágenes que contiene las probabilidades.