Real-time Inference
Descubre el poder de la inferencia en tiempo real para obtener predicciones instantáneas de IA. Aprende cómo Ultralytics YOLO26 ofrece resultados de baja latencia en dispositivos edge y robótica.
La inferencia en tiempo real hace referencia al proceso mediante el cual un modelo de aprendizaje automático (ML) entrenado acepta datos de entrada en directo y genera predicciones casi al instante. A diferencia del procesamiento sin conexión, en el que los datos se recopilan y analizan en conjunto más adelante, 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 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. 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 genera una salida, 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 bastante baja como para igualar 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 dispone de un margen de tiempo estricto de aproximadamente 33 milisegundos para procesar cada fotograma. Si la inferencia tarda más, el sistema introduce retrasos, lo que puede provocar la pérdida de fotogramas o respuestas tardías. Lograrlo suele requerir aceleración de hardware mediante GPU o dispositivos especializados de Edge AI, como NVIDIA Jetson.
Inferencia en tiempo real frente a inferencia por lotes#
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:
- Inferencia en tiempo real: Prioriza una latencia baja. 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, en los que un coche debe detectar al instante a un peatón para frenar a tiempo.
- Inferencia por lotes: Prioriza un alto rendimiento. Recopila un gran volumen de datos y los procesa de una sola vez. Es adecuada para tareas no urgentes, como generar informes nocturnos de inventario o analizar tendencias históricas de big data.
Aplicaciones en el mundo real#
La capacidad de tomar decisiones en fracciones de segundo ha transformado diversos sectores 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 controles de calidad automatizados. Un modelo de detección de objetos puede identificar al instante defectos u objetos extraños en productos que se desplazan 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 se basan en la visión por ordenador para vigilar los perímetros. En lugar de limitarse a grabar imágenes, estas cámaras ejecutan detección de personas o reconocimiento facial en tiempo real para alertar al personal de seguridad de los accesos no autorizados en el momento en que se producen.
- Robótica: En el ámbito de la IA en robótica, los robots utilizan la estimación de poses para desplazarse por espacios físicos complejos. Un robot de almacén debe inferir continuamente la ubicación de los obstáculos y de los trabajadores para planificar su trayectoria de forma segura y eficiente.
Optimización y despliegue#
El despliegue de modelos para aplicaciones en tiempo real suele requerir optimización para garantizar que se ejecuten de forma eficiente 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 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 GPU de NVIDIA, OpenVINO para CPU de Intel o TFLite para el despliegue en dispositivos móviles.
Ejemplo de código#
El siguiente fragmento de Python muestra cómo ejecutar inferencia en tiempo real en la señal de una cámara web mediante la biblioteca ultralytics. Utiliza el modelo Nano YOLO26, diseñado específicamente para ofrecer un alto rendimiento 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")








