Primeros Pasos con TensorFlow Lite en Seeed Studio XIAO nRF52840 Sense
Esta wiki demostrará cómo puedes usar TensorFlow Lite en Seeed Studio XIAO nRF52840 Sense y detectar gestos como golpear y flexionar usando el acelerómetro integrado. Aquí el entrenamiento de datos se realizará en el propio dispositivo.
Para aplicaciones de IA embebida, recomendamos encarecidamente usar la "Seeed nrf52 mbed-enabled Boards Library".
Configuración del software
Asegúrate de seguir primero la wiki "Primeros Pasos con Seeed Studio XIAO nRF52840 (Sense)" para la configuración inicial de hardware y software.
Ahora continuemos con el resto de la configuración del software.
- Paso 1. Descarga la librería Seeed_Arduino_LSM6DS3 como un archivo zip
- Paso 2. Descarga la librería tflite-micro-arduino-examples como un archivo zip
- Paso 3. Abre Arduino IDE, navega a
Sketch > Include Library > Add .ZIP Library...
y abre ambos archivos zip descargados uno después del otro
- Paso 4. Navega a
File > Examples > Seeeed Arduino LSM6DS3 > IMU_Capture
para abrir IMU_Capture.ino
- Paso 5. Sube los códigos y abre el Monitor Serie
Nota: Una vez que subas los códigos, no se ejecutarán automáticamente hasta que hagas clic en Monitor Serie en la esquina superior derecha de la ventana de Arduino.
Entrenar datos
Acción de golpe
Mientras el monitor serie esté abierto, comienza a entrenar datos para la acción de golpe.
- Paso 1. Agarra el Seeed Studio XIAO nRF52840 Sense en tu palma y comienza a golpear hacia adelante y verás algunos datos impresos en el monitor serie
-
Paso 2. Repite la acción de golpe aproximadamente 10 veces y verás nuevos datos generados después de cada golpe
-
Paso 3. Copia y pega la salida completa del monitor serie en un archivo de texto y guarda el archivo de texto como punch.csv
Nota: Por favor copia también la primera línea que contiene aX,aY,aZ,gX,gY,gZ
Acción de flexión
- Paso 1. Reconecta el cable USB al Seeed Studio XIAO nRF52840 Sense, abre el monitor serie, agarra el Seeed Studio XIAO nRF52840 Sense en tu palma y comienza a flexionar hacia adentro y verás algunos datos impresos en el monitor serie
-
Paso 2. Repite la acción de flexión aproximadamente 10 veces y verás nuevos datos generados después de cada flexión
-
Paso 3. Copia y pega la salida completa del monitor serie en un archivo de texto y guarda el archivo de texto como flex.csv
Nota: Por favor copia también la primera línea que contiene aX,aY,aZ,gX,gY,gZ
Generar archivo de modelo TensorFlow Lite
Ahora generaremos un archivo de modelo TensorFlow Lite (model.h), utilizando los archivos punch.csv y flex.csv que creamos anteriormente.
- Paso 1. Abre este cuaderno de Python que ayudará a generar el archivo model.h que necesitamos
- Paso 2. Navega a la pestaña de archivos en el panel de navegación izquierdo, arrastra y suelta los archivos punch.csv y flex.csv dentro
- Paso 3. Dentro de la sección Setup Python Environment, cambia el código de pip install tensorflow==2.0.0-rc1 a pip install tensorflow
- Paso 4. Navega a
Runtime > Run all
para ejecutar todas las celdas de código
- Paso 5. Haz clic en Run anyway para el mensaje de error que aparece
- Paso 6. Una vez que todas las celdas de código se ejecuten, encontrarás un nuevo archivo model.h generado bajo la pestaña files que vimos antes
Nota: Si no puedes ver el archivo model.h anterior, actualiza la página.
- Paso 7. Haz clic derecho en el archivo y haz clic en Download para descargar el archivo a tu PC
Inferencia
Ahora usaremos el archivo de modelo TensorFlow Lite descargado (model.h) para reconocer las acciones de golpe y flexión desde el Seeed Studio XIAO nRF52840 Sense.
- Paso 1. Navega a la ruta de la librería Seeed_Arduino_LSM6DS3 (normalmente bajo Documents > Arduino > libraries > Seeed_Arduino_LSM6DS3), y visita examples > IMU_Classifier
-
Paso 2. Reemplaza el archivo model.h con el que descargamos anteriormente
-
Paso 3. Haz doble clic en IMU_Classifier.ino y sube el código al Seeed Studio XIAO nRF52840 Sense.
Acción de golpe
Abre el monitor serie y realiza una acción de golpe. Verás que dará un resultado cercano a 1 junto a punch
Acción de flexión
Realiza una acción de flexión. Verás que dará un resultado cercano a 1 junto a flex
Recursos
- [Página web] Documentación de TensorFlow Lite
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarle diferentes tipos de soporte para asegurar que su experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.