Raspberry Pi y Google Coral

Publicado por Loli Diéguez en

Una Raspberry Pi y la Inteligencia Artificial parecen una combinación perfecta, pero si añades el USB Coral de Google, el resultado es perfecto y pone tus proyectos en otro nivel.

 

Coral USB Accelerator agrega un coprocesador Edge TPU a tu proyecto, te permitirá desarrollar tareas de aprendizaje automático de alta velocidad en una amplia gama de sistemas, simplemente conectándolo a un puerto USB.

El coprocesador Edge TPU integrado es capaz de realizar 4 billones de operaciones (teraoperaciones) por segundo (TOPS), utilizando 0,5 vatios por cada TOPS (2 TOPS por vatio). 

No es necesario construir modelos desde cero. Los modelos de TensorFlow Lite se pueden compilar para ejecutarse en Edge TPU

En este artículo os mostramos cómo conectar, configurar y probar fácilmente el Coral para ejecutar proyectos de aprendizaje automático ultrarrápidos con una Raspberry Pi. 

La placa de 65 mm x 30 mm viene con un cable USB 3.0 tipo C para conectar al host y es compatible con Linux, Mac OS y Windows 10. 

Utilizando uno de los muchos ejemplos prediseñados de TensorFlow proporcionados por Google, configuramos Coral para identificar imágenes de aves con una precisión increíble. El modelo de ejemplo está entrenado para reconocer casi 1000 especies diferentes de aves y produce resultados asombrosamente precisos.

El código de ejemplo está escrito en Python y se ejecuta completamente en el host / Coral, por lo que se puede usar sin depender de los servicios en la nube, lo que permite la creación de aplicaciones de inteligencia artificial dedicadas que no requieren acceso a Internet para ejecutarse. 

Coral viene con una excelente documentación y proyectos de ejemplo de trabajo que cubren el reconocimiento de imágenes, el seguimiento de objetos con video, posturas corporales, detección facial y mucho más.

Material necesario

  • USB de Google Coral
  • Raspberry Pi 4 Modelo B
  • PC
  • Cable Ethernet

 

Cargamos el Sistema Operativo en la Raspberry Pi

Con una tarjeta SD de 8 GB o más, actualiza la última versión de Raspberry Pi OS Lite.

  • Instala el Sistema Operativo en la SD.
  • Crea un archivo vacío llamado ssh en la unidad de arranque de la tarjeta SD usando un administrador de archivos desde tu ordenador. El archivo no debe tener extensión.
  • Expulsa la tarjeta SD del PC host e insértala en la Raspberry Pi
  • Conecta la Raspberry Pi a tu red mediante Ethernet.
  • Enciende la Raspberry Pi sin el Coral conectado y espera 2 minutos para que se complete la configuración de la Raspberry Pi

Cuando la Raspberry Pi se haya iniciado, abre una ventana de comando (Terminal) en tu PC host e inicia sesión usando ssh contra la Pi.


Instalar dependencias de Python

Los ejemplos de coral usan Python, por lo que es necesario instalar varias bibliotecas. Antes de hacer esto, asegúrate de que Raspberry Pi OS esté actualizado:

sudo apt update && sudo apt upgrade

Instalar el tiempo de ejecución de Edge TPU

Google proporciona paquetes de Python optimizados para Coral, estos se encuentran en un repositorio aparte que debe agregarse al sistema:

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
Agrega la firma de clave:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Actualiza el sistema:
sudo apt update
Instala el tiempo de ejecución de Edge TPU:
sudo apt-get install libedgetpu1-std

Conecta el USB Coral

Ahora es el momento de conectar tu Coral con el cable USB-C suministrado. Esto cumple con los estándares USB 3.0 y debe conectarse a uno de los puertos USB azules de la Raspberry Pi para permitir las velocidades de transferencia más rápidas.

Si ya colocaste el Coral antes de este paso, quítalo y vuelva a colocarlo.

Instalar TensorFlow Lite

Hay varias bibliotecas de TensorFlow Lite diferentes para Coral según la plataforma y la versión de Python. Si estás utilizando el sistema operativo Raspberry Pi estándar, este es Linux ARM 32 y Python versión 3.7 (al momento de escribir este artículo).

Verifica la versión de Python usando el siguiente comando:

python3 –-version
Versión Python

Dirígete a la página de inicio rápido de TensorFlow Python https://www.tensorflow.org/lite/guide/python

Instala la versión correcta para tu sistema operativo.

Asegúrate de verificar si hay versiones más nuevas disponibles.

Ahora que tu sistema está configurado y Coral correctamente instalado, puedes ejecutar una prueba utilizando uno de los modelos de ejemplo proporcionados para Coral. 

Hagamos una prueba

Coral viene con varios ejemplos de TensorFlow, incluido un modelo de clasificación que identifica imágenes de diferentes especies de aves. Se proporciona una imagen de muestra de un guacamayo rojo para la prueba, que será reconocida.

Instala el ejemplo del clasificador de aves Coral:

mkdir coral && cd coral
git clone https://github.com/google-coral/tflite.git
Descarga el modelo del clasificador de aves, el archivo de etiquetas y la imagen de prueba:
cd tflite/python/examples/classification
bash install_requirements.sh
Ejecuta el clasificador de imágenes con la imagen de prueba:
python3 classify_image.py \
--model models/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels models/inat_bird_labels.txt \
--input images/parrot.jpg
Coral procesará la imagen y debería reconocer al ave como un guacamayo rojo.
Reconocimiento del ave
Imagen de prueba de guacamayo rojo proporcionada con el modelo del ejemplo.
Guacamayo rojo

Tiempo de más pruebas

El modelo de clasificación de aves ha sido entrenado para reconocer casi 1000 especies de aves diferentes, por lo que deberías poder procesar imágenes aleatorias de aves para ver si son reconocidas. 

La lista de especies que el modelo puede reconocer está en el archivo:  /home/pi/coral/tflite/python/examples/classification/models/inat_bird_labels.txt

Verificamos el archivo de etiqueta y descargamos imágenes aleatorias de loros para ver si son reconocidos. 

Para probar, copia la imagen en el directorio de imágenes anterior y luego modifica el comando para que apunte a la imagen elegida. Y verás como también la identificará, aunque se lo pongas difícil y aparezcan más de un pájaro en la imagen.


Conclusión


Después de seguir esta guía, deberías ver el potencial de estas tecnologías trabajando juntas, y  ahora es el momento de que creas tus proyectos y los lleves a otro nivel.


Compartir esta publicación



← Publicación más antigua Publicación más reciente →