Usar la librería SSCMACore para obtener información del modelo
Esta wiki proporciona una guía paso a paso sobre cómo configurar la salida del modelo en SenseCraft AI para la placa XIAO ESP32S3 Sense usando la librería SSCMACore (Seeed SenseCraft Model Assistant Core). Siguiendo estas instrucciones, podrás configurar tu XIAO ESP32S3 Sense para trabajar con un modelo pre-entrenado y utilizar la librería SSCMACore para procesar la salida del modelo.
Prerrequisitos
Sección titulada «Prerrequisitos»Antes de proceder, asegúrate de tener lo siguiente:
- XIAO ESP32S3 Sense
- Cable de datos USB-C para conectar el XIAO ESP32S3 Sense a tu computadora
- Arduino IDE con la librería Seeed_Arduino_SSCMACore instalada
| XIAO ESP32S3 Sense |
|---|
![]() |
Paso 1. Asegurar que un Modelo esté Cargado en el XIAO ESP32S3 Sense
Sección titulada «Paso 1. Asegurar que un Modelo esté Cargado en el XIAO ESP32S3 Sense»Antes de proceder, asegúrate de que tu placa XIAO ESP32S3 Sense tenga un modelo entrenado cargado. Si aún no has cargado un modelo, consulta la documentación de SenseCraft AI sobre cómo entrenar e implementar modelos en tu dispositivo.
Si quieres usar tu propio modelo entrenado, puedes consultar las siguientes dos Wikis.
Paso 2. Configurar la Librería SSCMA
Sección titulada «Paso 2. Configurar la Librería SSCMA»Descarga la librería Seeed_Arduino_SSCMACore desde el repositorio de GitHub.
Agrega la librería descargada a tu entorno de Arduino siguiendo estos pasos:
- Abre el Arduino IDE.
- Ve a Sketch -> Include Library -> Add .ZIP Library.
- Navega a la librería Seeed_Arduino_SSCMACore descargada y selecciónala.
- Haz clic en Open para agregar la librería a tu entorno de Arduino.
Paso 3. Elegir y Configurar el Código de Ejemplo
Sección titulada «Paso 3. Elegir y Configurar el Código de Ejemplo»La librería SSCMA proporciona dos códigos de ejemplo que demuestran cómo trabajar con la salida del modelo en la placa XIAO ESP32S3 Sense. Elige uno de los siguientes ejemplos según tus requerimientos:
Ejemplo 1: Inferencia
Sección titulada «Ejemplo 1: Inferencia»- Abre el código de ejemplo
inference.ino.
#include <SSCMA_Micro_Core.h>
#include <Arduino.h>#include <esp_camera.h>
SET_LOOP_TASK_STACK_SIZE(40 * 1024);
SSCMAMicroCore instance;SSCMAMicroCore::VideoCapture capture;
void setup() {
// Init serial port Serial.begin(115200);
// Init video capture MA_RETURN_IF_UNEXPECTED(capture.begin(SSCMAMicroCore::VideoCapture::DefaultCameraConfigXIAOS3));
// Init SSCMA Micro Core MA_RETURN_IF_UNEXPECTED(instance.begin(SSCMAMicroCore::Config::DefaultConfig));
Serial.println("Init done");
}
void loop() {
auto frame = capture.getManagedFrame();
MA_RETURN_IF_UNEXPECTED(instance.invoke(frame));
for (const auto& box : instance.getBoxes()) { Serial.printf("Box: x=%f, y=%f, w=%f, h=%f, score=%f, target=%d\n", box.x, box.y, box.w, box.h, box.score, box.target); }
for (const auto& cls : instance.getClasses()) { Serial.printf("Class: target=%d, score=%f\n", cls.target, cls.score); }
for (const auto& point : instance.getPoints()) { Serial.printf("Point: x=%f, y=%f, z=%f, score=%f, target=%d\n", point.x, point.y, point.z, point.score, point.target); }
for (const auto& kp : instance.getKeypoints()) { Serial.printf("Keypoints: box: x=%f, y=%f, w=%f, h=%f, score=%f, target=%d\n", kp.box.x, kp.box.y, kp.box.w, kp.box.h, kp.box.score, kp.box.target); for (const auto& point : kp.points) { Serial.printf("Keypoint: x=%f, y=%f, z=%f, score=%f, target=%d\n", point.x, point.y, point.z, point.score, point.target); } }
auto perf = instance.getPerf(); Serial.printf("Perf: preprocess=%dms, inference=%dms, postprocess=%dms\n", perf.preprocess, perf.inference, perf.postprocess);
}Este código de ejemplo demuestra cómo realizar inferencia usando la biblioteca SSCMA y recuperar la salida del modelo, incluyendo cajas delimitadoras, clases, puntos y puntos clave. El código inicializa la captura de video, SSCMA Micro Core, y realiza inferencia en cada frame capturado por la cámara. La salida del modelo, como cajas delimitadoras, clases, puntos y puntos clave, se imprime en el monitor serie.

Ejemplo 2: Inferencia con Callbacks
Sección titulada «Ejemplo 2: Inferencia con Callbacks»- Abra el código de ejemplo
inference_cb.ino.
#include <SSCMA_Micro_Core.h>
#include <Arduino.h>#include <esp_camera.h>
SET_LOOP_TASK_STACK_SIZE(40 * 1024);
SSCMAMicroCore instance;SSCMAMicroCore::VideoCapture capture;
void setup() {
// Init serial port Serial.begin(115200);
// Init video capture MA_RETURN_IF_UNEXPECTED(capture.begin(SSCMAMicroCore::VideoCapture::DefaultCameraConfigXIAOS3));
// Init SSCMA Micro Core MA_RETURN_IF_UNEXPECTED(instance.begin(SSCMAMicroCore::Config::DefaultConfig));
instance.registerPerfCallback(SSCMAMicroCore::DefaultPerfCallback); instance.registerBoxesCallback(SSCMAMicroCore::DefaultBoxesCallback); instance.registerClassesCallback(SSCMAMicroCore::DefaultClassesCallback); instance.registerPointsCallback(SSCMAMicroCore::DefaultPointsCallback); instance.registerKeypointsCallback(SSCMAMicroCore::DefaultKeypointsCallback);
Serial.println("Init done");
}
void loop() {
auto frame = capture.getManagedFrame();
MA_RETURN_IF_UNEXPECTED(instance.invoke(frame));
}Este código de ejemplo demuestra cómo realizar inferencia usando la biblioteca SSCMA y registrar funciones callback para manejar la salida del modelo. El código inicializa la captura de video, SSCMA Micro Core, y registra funciones callback para métricas de rendimiento, cajas delimitadoras, clases, puntos y puntos clave. Durante el proceso de inferencia, las funciones callback registradas son invocadas, permitiéndole personalizar el manejo de la salida del modelo.

Paso 4. Subir y Ejecutar el Código
Sección titulada «Paso 4. Subir y Ejecutar el Código»Conecta tu placa XIAO ESP32S3 Sense a tu computadora usando el cable de datos USB-C. Abre el código de ejemplo seleccionado (inference.ino o inference_cb.ino) en el IDE de Arduino.
Selecciona la placa y puerto apropiados en el IDE de Arduino:
- Ve a Tools -> Board y selecciona “XIAO ESP32S3 Sense”.
- Ve a Tools -> Port y selecciona el puerto al cual está conectado tu XIAO ESP32S3 Sense.
- Ve a Tools -> PSRAM -> OPI PSRAM. ¡Asegúrate de activar PSRAM!

Haz clic en el botón “Upload” en el IDE de Arduino para compilar y subir el código a tu placa XIAO ESP32S3 Sense. Una vez que la subida esté completa, abre el Monitor Serie en el IDE de Arduino para ver la salida del modelo.

Conclusión
Sección titulada «Conclusión»Siguiendo esta guía paso a paso, ahora deberías poder configurar la salida del modelo en SenseCraft AI para tu placa XIAO ESP32S3 Sense usando la biblioteca SSCMA. Dependiendo del código de ejemplo que hayas elegido, puedes obtener la salida del modelo directamente o usar funciones de callback para personalizar el manejo de la salida.
Siéntete libre de explorar y modificar los códigos de ejemplo para adaptarlos a tus requisitos específicos. La biblioteca SSCMA proporciona un conjunto poderoso de herramientas y funciones para trabajar con modelos de visión por computadora y aprendizaje automático en la placa XIAO ESP32S3 Sense.
Si encuentras algún problema o tienes más preguntas, por favor consulta la documentación de SenseCraft AI o busca asistencia en los foros de la comunidad de Seeed Studio.
¡Feliz programación y exploración del mundo de la visión por computadora y el aprendizaje automático con tu placa XIAO ESP32S3 Sense!
Soporte Técnico y Discusión de Productos
Sección titulada «Soporte Técnico y Discusión de Productos»¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.
