Si tienes en tus manos la
es posible que estés buscando un poco de ayuda para ponerla en marcha; es un poco diferente a nuestros otros productos de cámara. Hemos revisado nuestra documentación para traerte esta guía de
Si sigues los pasos que se indican aquí, tendrás tu cámara realizando detección de objetos y estimación de pose, incluso si todo esto es nuevo para ti. Después, podrás sumergirte en el resto de nuestra documentación de la AI Camera para llevar las cosas más lejos.

Aquí describimos cómo ejecutar los modelos de redes neuronales preempaquetados MobileNet SSD (detección de objetos) y PoseNet (estimación de pose) en la Raspberry Pi AI Camera.
Requisitos previos
Asumimos que estás utilizando la AI Camera conectada a una Raspberry Pi 4 o una Raspberry Pi 5. Con cambios menores, puedes seguir estas instrucciones en otros modelos de Raspberry Pi que tengan conector de cámara, incluyendo la Raspberry Pi Zero 2 W y la Raspberry Pi 3 Model B+.
Primero, asegúrate de que tu Raspberry Pi tenga el software más reciente. Ejecuta el siguiente comando para actualizar:
sudo apt update && sudo apt full-upgradeActualización del firmware del RP2040
La AI Camera tiene un chip RP2040 integrado que gestiona la carga de los modelos de redes neuronales a la cámara. Hemos lanzado un nuevo firmware para el RP2040 que mejora considerablemente la velocidad de carga. Las cámaras que se envían a partir de ahora ya cuentan con esta actualización; si tienes una unidad anterior, puedes actualizarla tú mismo siguiendo las instrucciones de actualización de firmware en este hilo del foro.
Esto no debería tomar más de uno o dos minutos, pero por favor ten en cuenta antes de empezar que es vital que nada interrumpa el proceso. Si ocurre una interrupción (por ejemplo, si la cámara se desconecta o si la Raspberry Pi pierde energía), la cámara quedará inutilizable y tendrás que devolverla a tu distribuidor para un reemplazo. Las cámaras con el firmware anterior son totalmente funcionales y su rendimiento es idéntico en todos los aspectos, excepto en la velocidad de carga del modelo.
Instalar el firmware del IMX500
Además de actualizar el firmware del RP2040 si es necesario, la AI Camera debe descargar el firmware de tiempo de ejecución (runtime) en el sensor IMX500 durante el arranque. Para instalar estos archivos de firmware en tu Raspberry Pi, ejecuta el siguiente comando:
sudo apt install imx500-allEste comando realiza lo siguiente:
-
Instala los archivos de firmware
/lib/firmware/imx500_loader.fpky/lib/firmware/imx500_firmware.fpknecesarios para operar el sensor IMX500. -
Coloca varios archivos de firmware de modelos de redes neuronales en
/usr/share/imx500-models/. -
Instala las etapas de software de post-procesamiento del IMX500 en
rpicam-apps. -
Instala las herramientas de empaquetado de modelos de red de Sony.
NOTA: El controlador del dispositivo del kernel IMX500 carga todos los archivos de firmware cuando la cámara se inicia. Esto puede tardar varios minutos si el firmware del modelo de red neuronal no ha sido guardado previamente en la memoria caché. Las demostraciones que usamos aquí muestran una barra de progreso en la consola para indicar el avance de la carga del firmware.
Reiniciar
Ahora que has instalado los requisitos previos, reinicia tu Raspberry Pi:
sudo reboot
Aplicaciones de ejemplo
Una vez que todos los paquetes del sistema estén actualizados y los archivos de firmware instalados, podemos comenzar a ejecutar algunas aplicaciones de ejemplo. Como se mencionó anteriormente, la Raspberry Pi AI Camera se integra completamente con libcamera, rpicam-apps y Picamera2. Esta publicación se concentra en rpicam-apps, pero encontrarás más información en la documentación de la AI Camera.
rpicam-apps
Las aplicaciones de cámara rpicam-apps incluyen etapas de detección de objetos y estimación de pose del IMX500 que se pueden ejecutar en el flujo de post-procesamiento (post-processing pipeline). Para obtener más información sobre el flujo de post-procesamiento, consulta la documentación correspondiente.
Los ejemplos en esta página utilizan archivos JSON de post-procesamiento ubicados en /usr/share/rpicam-apps/post_processing_networks/ (o /usr/share/rpicam-assets/ según tu versión).
Detección de objetos
La red neuronal MobileNet SSD realiza una detección de objetos básica, proporcionando cuadros delimitadores (bounding boxes) y valores de confianza para cada objeto encontrado. El archivo imx500_mobilenet_ssd.json contiene los parámetros de configuración para la etapa de post-procesamiento de detección de objetos del IMX500 utilizando dicha red.
El archivo imx500_mobilenet_ssd.json declara un flujo de post-procesamiento que contiene dos etapas:
imx500_object_detection: se encarga de extraer los cuadros delimitadores y los valores de confianza generados por la red neuronal en el tensor de salida.object_detect_draw_cv: se encarga de dibujar los cuadros delimitadores y las etiquetas sobre la imagen.
El tensor de MobileNet SSD no requiere un post-procesamiento significativo en tu Raspberry Pi para generar la salida final de los cuadros delimitadores. Toda la detección de objetos se ejecuta directamente en la AI Camera.
El siguiente comando ejecuta rpicam-hello con el post-procesamiento de detección de objetos:
rpicam-hello -t 0s --post-process-file
/usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json
--viewfinder-width 1920 --viewfinder-height 1080 --framerate 30
rpicam-vid en su lugar:
rpicam-vid -t 10s -o output.264
--post-process-file /usr/share/rpicam-apps/post_processing_networks/imx500_mobilenet_ssd.json
--width 1920 --height 1080 --framerate 30Configuración de la detección
Puedes configurar la etapa imx500_object_detection de muchas maneras:
-
max_detections: Define el número máximo de objetos que el flujo detectará en cualquier momento dado. -
threshold: Define el valor de umbral (valor mínimo de confianza) requerido para que el sistema considere una entrada como un objeto.
Los datos de salida de la inferencia sin procesar de esta red pueden tener bastante “ruido”, por lo que esta etapa también realiza un filtrado temporal y aplica histéresis. Para desactivar este filtrado, simplemente elimina el bloque de configuración temporal_filter en el archivo JSON.
Estimación de pose (Pose Estimation)
La red neuronal PoseNet realiza la estimación de pose, etiquetando puntos clave en el cuerpo asociados con articulaciones y extremidades. El archivo imx500_posenet.json contiene los parámetros de configuración para esta etapa utilizando el sensor IMX500.
Este archivo JSON declara un flujo de post-procesamiento que contiene dos etapas:
imx500_posenet: Se encarga de obtener el tensor de salida sin procesar de la red neuronal PoseNet.plot_pose_cv: Dibuja las líneas superpuestas (el “esqueleto”) sobre la imagen.
A diferencia de la detección de objetos simple, la AI Camera realiza la detección básica, pero el tensor de salida requiere un post-procesamiento adicional en tu Raspberry Pi anfitriona para producir el resultado visual final.
El siguiente comando ejecuta rpicam-hello con el post-procesamiento de estimación de pose:
rpicam-hello -t 0s --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json --viewfinder-width 1920 --viewfinder-height 1080 --framerate 30
Puedes configurar la etapa imx500_posenet de muchas maneras. Por ejemplo, max_detections define el número máximo de cuerpos que el flujo detectará en cualquier momento. threshold define el valor de confianza mínimo (umbral) requerido para que el sistema considere una entrada como un cuerpo.
Picamera2
Para ver ejemplos de clasificación de imágenes, detección de objetos, segmentación de objetos y estimación de pose utilizando Picamera2, consulta el repositorio de GitHub de picamera2.
La mayoría de los ejemplos utilizan OpenCV para realizar algún procesamiento adicional. Para instalar las dependencias necesarias para ejecutar OpenCV, utiliza el siguiente comando:
sudo apt install python3-opencv python3-munkresAhora, descarga el repositorio de picamera2 en tu Raspberry Pi para ejecutar los ejemplos. Encontrarás los archivos de ejemplo en el directorio raíz, con información adicional en el archivo README.md.
Ejecutar detección de objetos con YOLOv8
Ejecuta el siguiente script desde el repositorio para iniciar la detección de objetos con YOLOv8:
python imx500_object_detection_demo.py --model /usr/share/imx500-models/imx500_network_yolov8n_pp.rpk --ignore-dash-labels -rEjecutar estimación de pose
Para probar la estimación de pose en Picamera2, ejecuta el siguiente script desde el repositorio:
python imx500_pose_estimation_higherhrnet_demo.pyPreguntas frecuentes
¿Qué hace diferente a la Raspberry Pi AI Camera?
Que no se comporta como las demás cámaras de Raspberry Pi: incorpora el sensor IMX500 con capacidad de inferencia, por lo que necesita un firmware específico y una puesta en marcha propia antes de funcionar.
¿Qué hay que instalar para usar la Raspberry Pi AI Camera?
Hay que actualizar el firmware del RP2040 e instalar el firmware del IMX500, y después reiniciar. Recién entonces las aplicaciones de ejemplo pueden usar la cámara.
¿Qué se puede hacer con la Raspberry Pi AI Camera?
Detección de objetos y estimación de pose, siguiendo las aplicaciones de ejemplo incluidas. También se puede trabajar con ella desde Picamera2 y ejecutar detección de objetos con modelos como YOLOv8.
¿Qué son rpicam-apps?
Son las aplicaciones de ejemplo que trae Raspberry Pi para probar la cámara. Sirven para comprobar rápidamente que la AI Camera quedó bien instalada y para ver la detección funcionando antes de escribir código propio.
¿Necesito experiencia previa en IA para usarla?
No. La guía está pensada para dejar la cámara haciendo detección de objetos y estimación de pose incluso si todo esto es nuevo, siguiendo los pasos indicados; después se puede profundizar en el resto de la documentación.
Aprende esto en un curso
Si prefieres verlo en vivo y con alguien que resuelva tus dudas, estos cursos presenciales de MCI Educación cubren el tema de este tutorial:
- Visión artificial con Raspberry Pi: Detecta y analiza imagenes — nivel avanzado, 12 horas presenciales en Santiago
- Domina la Raspberry Pi: Sistemas y Conectividad — nivel intermedio, 18 horas presenciales en Santiago