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 mediante el cual un modelo entrenado de aprendizaje automático (ML) acepta datos de entrada en directo y genera predicciones casi al instante. A diferencia del procesamiento offline, donde los datos se recopilan y analizan en bloque más tarde, 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 núcleo de las aplicaciones modernas de Inteligencia Artificial (AI), ya que permite a los dispositivos percibir, interpretar y actuar sobre los datos en cuestión de milisegundos.
La importancia de la baja latencia#
La métrica principal para evaluar el rendimiento en tiempo real es la latencia de inferencia. Esto mide el retraso 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 un resultado, 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 coincidir con la velocidad del flujo de datos entrante.
Por ejemplo, en tareas de comprensión de vídeo que se ejecutan a 30 fotogramas por segundo (FPS), el sistema cuenta con un margen de tiempo estricto de aproximadamente 33 milisegundos para procesar cada fotograma. Si la inferencia tarda más, el sistema introduce retraso, lo que puede provocar la pérdida de fotogramas o respuestas demoradas. Conseguir esto suele requerir aceleración de hardware mediante GPUs o dispositivos especializados de Edge AI como el NVIDIA Jetson.
Inferencia en tiempo real frente a inferencia por lotes#
Resulta útil distinguir los flujos de trabajo en tiempo real del procesamiento por lotes. Aunque ambos implican generar 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) en cuanto 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. Recopila un gran volumen de datos y los procesa todos a la vez. Esto es adecuado para tareas no urgentes, como generar informes de inventario nocturnos o analizar tendencias históricas de grandes datos.
Aplicaciones 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 la IA en la fabricación, las cámaras situadas sobre las cintas transportadoras utilizan la inferencia en tiempo real para realizar un control de calidad automatizado. Un modelo de detección de objetos puede identificar al instante defectos o cuerpos extraños en productos que se mueven a alta velocidad. Si se detecta una anomalía, el sistema activa un brazo robótico para retirar el artículo de inmediato, garantizando que solo los productos de alta calidad lleguen al empaquetado.
- Vigilancia y seguridad: Los sistemas de seguridad modernos dependen de la visión por ordenador para supervisar perímetros. En lugar de limitarse a grabar imágenes, estas cámaras ejecutan en tiempo real la detección de personas o el reconocimiento facial para alertar al personal de seguridad de un acceso no autorizado en el mismo momento en que se produce.
- Robótica: En el campo de la IA en robótica, los robots utilizan la estimación de postura 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 ruta de forma segura y eficiente.
Optimización y despliegue#
Desplegar modelos para aplicaciones en tiempo real a menudo requiere optimización para garantizar que se ejecuten eficientemente en el hardware de destino. Técnicas como la cuantizació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 exactitud.
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 dispositivos móviles.
Ejemplo de código#
El siguiente fragmento de Python demuestra cómo ejecutar inferencia en tiempo real en una fuente de cámara web utilizando la biblioteca ultralytics. Utiliza el modelo Nano YOLO26, 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")





