Explora el poder de la inferencia en tiempo real para obtener predicciones instantáneas de IA. Descubre cómo Ultralytics ofrece resultados de baja latencia para dispositivos periféricos y robótica.
La inferencia en tiempo real se refiere al proceso en el que un modelo de aprendizaje automático (ML) entrenado acepta datos de entrada en vivo y genera predicciones casi instantáneamente. A diferencia del procesamiento fuera de línea, en el que los datos se recopilan y analizan de forma masiva en un momento posterior, la inferencia en tiempo real se produce sobre la marcha, lo que permite a los sistemas reaccionar a su entorno con rapidez y agilidad. Esta capacidad es el corazón de las modernas aplicaciones de inteligencia artificial (IA) , ya que permite a los dispositivos percibir, interpretar y actuar sobre los datos en milisegundos.
La métrica principal para evaluar el rendimiento en tiempo real es la latencia de inferencia. Esta mide el retraso entre el momento en que los datos se introducen en el modelo, como un fotograma de una cámara de vídeo, y el momento en que el modelo produce un resultado, como un cuadro delimitador o una etiqueta de clasificación. Para que una aplicación se considere «en tiempo real», la latencia debe ser lo suficientemente baja como para igualar la velocidad del flujo de datos entrantes.
Por ejemplo, en tareas de comprensión de vídeo que se ejecutan a 30 fotogramas por segundo (FPS), el sistema tiene un tiempo estrictamente limitado de aproximadamente 33 milisegundos para procesar cada fotograma. Si la inferencia tarda más, el sistema introduce un retraso, lo que puede provocar la pérdida de fotogramas o respuestas retrasadas. Para lograrlo, a menudo se requiere aceleración por hardware mediante GPU o dispositivos Edge AI especializados como NVIDIA .
Es útil distinguir los flujos de trabajo en tiempo real del procesamiento por lotes. Aunque ambos implican generar predicciones, sus objetivos y arquitecturas difieren significativamente:
La capacidad de tomar decisiones en fracciones de segundo ha transformado diversos sectores al permitir la automatización en entornos dinámicos .
La implementación de modelos para aplicaciones en tiempo real a menudo requiere optimización para garantizar que se ejecuten de manera eficiente en el hardware de destino . Técnicas como la cuantificación de modelos reducen la precisión de los pesos del modelo (por ejemplo, de float32 a int8) para disminuir el uso de memoria y aumentar la velocidad de inferencia con un impacto mínimo en la precisión.
Los desarrolladores pueden utilizar la Ultralytics para optimizar este proceso. La plataforma simplifica la formación y permite a los usuarios exportar modelos a formatos optimizados como TensorRT para NVIDIA , OpenVINO para Intel o TFLite para implementación móvil.
El siguiente Python muestra cómo ejecutar una inferencia en tiempo real en una transmisión de cámara web utilizando el
ultralytics biblioteca. Utiliza el YOLO26 El modelo Nano,
diseñado específicamente para ofrecer un rendimiento de alta velocidad en dispositivos periféricos.
from ultralytics import YOLO
# Load the YOLO26 Nano model, optimized for speed and real-time tasks
model = YOLO("yolo26n.pt")
# Run inference on the default webcam (source="0")
# 'stream=True' returns a generator for memory-efficient processing
# 'show=True' displays the video feed with bounding boxes in real-time
results = model.predict(source="0", stream=True, show=True)
# Iterate through the generator to process frames as they arrive
for result in results:
# Example: Print the number of objects detected in the current frame
print(f"Detected {len(result.boxes)} objects")