Skip to main content

Introducción a Roboflow Inference en dispositivos NVIDIA® Jetson

Esta wiki explica cómo implementar fácilmente modelos de IA utilizando el servidor de inferencia Roboflow que se ejecuta en dispositivos NVIDIA Jetson. Aquí usaremos Roboflow Universe para seleccionar un modelo ya entrenado, implementar el modelo en el dispositivo Jetson y realizar inferencias en una transmisión de cámara web en vivo.

Roboflow Inference es la forma más sencilla de utilizar e implementar modelos de visión por computadora, ya que proporciona una API HTTP Roboflow que se utiliza para ejecutar la inferencia. La inferencia de Roboflow soporta:

  • Detección de objetos
  • Segmentación de imágenes
  • Clasificación de imágenes

Y modelos fundamentales como CLIP y SAM.

Prerequisitos

  • PC con Ubuntu OS (nativo o en máquina virtual)
  • reComputer Jetson o cualquier otro dispositivo NVIDIA Jetson

:::nota Esta wiki ha sido testeada y verificada en la reComputer J4012 y la reComputer Industrial J4012 potenciada por el módulo NVIDIA Jetson Orin NX 16GB :::

Flashear JetPack en la Jetson

Ahora debes asegurarte de que el dispositivo Jetson esté actualizado con un sistema JetPack. Puedes utilizar NVIDIA SDK Manager o la línea de comandos para actualizar JetPack en el dispositivo.

Para obtener guías de actualización de dispositivos impulsados ​​por Seeed Jetson, consulte los enlaces a continuación:

:::nota Asegúrate de actualizar JetPack a la versión 5.1.1 porque esa es la versión que hemos verificado para esta wiki. :::

Aprovecha más de 50 000 modelos en Roboflow Universe

Roboflow ofrece más de 50,000 modelos de IA listos para usar para que todos puedan comenzar con la implementación de sistemas de visión por computadora de la manera más rápida. Puedes explorarlos todos en Roboflow Universe. Roboflow Universe también ofrece más de 200,000 conjuntos de datos que puedes utilizar para entrenar un modelo en servidores en la nube de Roboflow o usar tu propio conjunto de datos, usar la herramienta de etiquetado de imágenes en línea de Roboflow y comenzar a entrenar.

  • Paso 1: Usaremos un modelo de detección de personas de Roboflow Universe como referencia

  • Paso 2: Aquí el nombre del modelo seguirá el formato "nombre_modelo/versión". En este caso, es detección-de-personas-general/7. Usaremos este nombre de modelo más adelante en esta wiki cuando comencemos con las inferencias.

Obtén la API Key de Roboflow

Ahora necesitamos obtener una clave API de Roboflow para que funcione el servidor de inferencia.

  • Paso 1: Crea una cuenta de Roboflow ingresando tus datos.

  • Paso 2: Ingresa a tu cuenta, navega a Projects > Workspaces > <your_workspace_name> > Roboflow API, y haz click en Copy que se encuentra al lado de la sección "Private API Key"

Guarda esta clave privada porque la necesitaremos más adelante.

Ejecutando el servidor de inferencias de Roboflow

Puedes comenzar con la inferencia de Roboflow en NVIDIA Jetson de tres maneras diferentes.

  1. Using pip package (Utilizar PIP) - Usar el paquete pip será la forma más rápida de comenzar; sin embargo, deberás instalar los componentes del SDK (CUDA, cuDNN, TensorRT) junto con JetPack.
  2. Using Docker hub (Utilizar Docker Hub) - El uso de Docker Hub será un poco lento porque primero extraerá una imagen de Docker que tiene alrededor de 19 GB. sin embargo, no es necesario instalar los componentes del SDK porque la imagen de Docker ya los tendrá.
  3. Using local Docker build (Utilizar la compilación local de Docker) - El uso de la compilación local de Docker es una extensión del método Docker Hub con la cual puedes cambiar el código fuente de la imagen de Docker según la aplicación que desees (como habilitar la precisión de TensorRT con INT8).

Antes de continuar con la ejecución del servidor de inferencia de Roboflow, debes obtener un modelo de IA para realizar la inferencia y una clave API de Roboflow. Primero repasaremos eso.

Utilizando el paquete PIP

  • Paso 1: Si solo actualizas el dispositivo Jetson con Jetson L4T, primero debes instalar los componentes del SDK
sudo apt update
sudo apt install nvidia-jetpack -y
  • Paso 2: Ejecuta los siguientes comandos en la terminal para instalar el paquete pip del servidor de inferencia Roboflow
sudo apt update
sudo apt install python3-pip -y
pip install inference-gpu
  • Paso 3: Ejecuta lo siguiente y reemplázalo con tu clave API privada de Roboflow.
export ROBOFLOW_API_KEY=your_key_here
  • Paso 4: Conecta una cámara web al dispositivo Jetson y ejecuta el siguiente script de Python para ejecutar un modelo de detección de personas de código abierto en la transmisión de tu cámara web.
webcam.py
import cv2
import inference
import supervision as sv

annotator = sv.BoxAnnotator()

inference.Stream(
source="webcam",
model=" people-detection-general/7",

output_channel_order="BGR",
use_main_thread=True,

on_prediction=lambda predictions, image: (
print(predictions),

cv2.imshow(
"Prediction",
annotator.annotate(
scene=image,
detections=sv.Detections.from_roboflow(predictions)
)
),
cv2.waitKey(1)
)
)

Finalmente, deberías observar los resultados tal como se muestra a continuación:


Leer más

Roboflow ofrece documentación muy detallada y completa. Por lo que es muy recomendable consultarla aquí.

Soporte Tech y discusión del producto

¡Gracias por elegir nuestros productos! Estamos aquí para darte soporte y asegurar que tu experiencia con nuestros productos sea la mejor posible. Tenemos diversos canales de comunicación para adaptarnos distintas preferencias y necesidades.

Loading Comments...