Real-time Inference
Explora el poder de la inferencia en tiempo real para predicciones de IA instantáneas. Aprende cómo Ultralytics YOLO26 ofrece resultados de baja latencia para dispositivos de borde y robótica.
La inferencia en tiempo real se refiere al proceso en el que un modelo de machine learning (ML) entrenado acepta datos de entrada en directo y genera predicciones de forma casi instantánea. A diferencia del procesamiento offline, donde los datos se recopilan y analizan en bloque más tarde, la inferencia en tiempo real ocurre sobre la marcha, lo que permite a los sistemas reaccionar a su entorno con velocidad y agilidad. Esta capacidad es el corazón de las aplicaciones modernas de Inteligencia Artificial (AI), permitiendo a los dispositivos percibir, interpretar y actuar sobre los datos en milisegundos.
Link to this sectionLa importancia de la baja latencia#
La métrica principal para evaluar el rendimiento en tiempo real es la latencia de inferencia. Esta mide el retardo temporal entre el momento en que se introducen los datos en el modelo —como un fotograma de una cámara de vídeo— y el momento en que el modelo produce una salida, como una BBox 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 entrante.
Por ejemplo, en tareas de video understanding que se ejecutan a 30 fotogramas por segundo (FPS), el sistema tiene un presupuesto de tiempo estricto de aproximadamente 33 milisegundos para procesar cada fotograma. Si la inferencia tarda más, el sistema introduce retardo, lo que puede provocar la pérdida de fotogramas o respuestas retrasadas. Lograr esto a menudo requiere aceleración por hardware utilizando GPUs o dispositivos especializados de Edge AI como el NVIDIA Jetson.
Link to this sectionInferencia en tiempo real frente a inferencia por lotes#
Es útil distinguir los flujos de trabajo en tiempo real del batch processing. Aunque ambos implican la generación de predicciones, sus objetivos y arquitecturas difieren significativamente:
- Inferencia en tiempo real: Prioriza la baja latencia. Procesa puntos de datos individuales (o lotes muy pequeños) tan pronto como llegan. Esto es esencial para aplicaciones interactivas como los vehículos autónomos, donde un coche debe detectar instantáneamente a un peatón para frenar a tiempo.
- Inferencia por lotes: Prioriza el alto rendimiento (throughput). Recopila un gran volumen de datos y los procesa todos a la vez. Esto es adecuado para tareas que no son urgentes, como la generación de informes de inventario nocturnos o el análisis de tendencias históricas de big data.
Link to this sectionAplicaciones en el mundo real#
La capacidad de tomar decisiones en fracciones de segundo ha transformado diversas industrias al permitir la automatización en entornos dinámicos.
- Fabricación inteligente: En AI in manufacturing, las cámaras situadas sobre cintas transportadoras utilizan inferencia en tiempo real para realizar un control de calidad automatizado. Un modelo de object detection puede identificar instantáneamente defectos u objetos extraños en productos que se mueven a gran velocidad. Si se detecta una anomalía, el sistema activa un brazo robótico para retirar el artículo inmediatamente, garantizando que solo los productos de alta calidad lleguen al embalaje.
- Vigilancia y seguridad: Los sistemas de seguridad modernos dependen de la computer vision para vigilar perímetros. En lugar de limitarse a grabar metraje, estas cámaras ejecutan person detection o face recognition en tiempo real para alertar al personal de seguridad de accesos no autorizados en el momento en que ocurren.
- Robótica: En el campo de la AI in robotics, los robots utilizan pose estimation para navegar por espacios físicos complejos. Un robot de almacén debe inferir continuamente la ubicación de obstáculos y trabajadores humanos para planificar su trayectoria de forma segura y eficiente.
Link to this sectionOptimización y despliegue#
El despliegue de modelos para aplicaciones en tiempo real a menudo requiere optimización para garantizar que se ejecuten de forma eficiente en el hardware de destino. Técnicas como la model quantization 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 Platform para agilizar este proceso. La plataforma simplifica el entrenamiento y permite a los usuarios exportar modelos a formatos optimizados como TensorRT para GPUs NVIDIA, OpenVINO para CPUs Intel, o TFLite para despliegue en móviles.
Link to this sectionEjemplo de código#
El siguiente fragmento de código Python demuestra cómo ejecutar la inferencia en tiempo real en una señal de cámara web utilizando la librería ultralytics. Utiliza el modelo YOLO26 Nano, que está diseñado específicamente para un rendimiento de alta velocidad en dispositivos edge.
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")





