Découvrez la puissance de l'inférence en temps réel pour des prédictions IA instantanées. Découvrez comment Ultralytics fournit des résultats à faible latence pour les appareils périphériques et la robotique.
L'inférence en temps réel désigne le processus par lequel un modèle d'apprentissage automatique (ML) entraîné accepte des données d'entrée en direct et génère des prédictions presque instantanément. Contrairement au traitement hors ligne, où les données sont collectées et analysées en masse à un moment ultérieur, l'inférence en temps réel se produit à la volée, ce qui permet aux systèmes de réagir à leur environnement avec rapidité et agilité. Cette capacité est au cœur des applications modernes d' intelligence artificielle (IA) , permettant aux appareils de percevoir, d'interpréter et d'agir sur les données en quelques millisecondes.
Le principal indicateur permettant d'évaluer les performances en temps réel est la latence d'inférence. Celle-ci mesure le délai entre le moment où les données sont entrées dans le modèle (par exemple, une image provenant d'une caméra vidéo) et le moment où le modèle produit un résultat, tel qu'un cadre de sélection ou une étiquette de classification. Pour qu'une application soit considérée comme « en temps réel », la latence doit être suffisamment faible pour correspondre à la vitesse du flux de données entrant.
Par exemple, dans les tâches de compréhension vidéo fonctionnant à 30 images par seconde (FPS), le système dispose d'un budget temps strict d'environ 33 millisecondes pour traiter chaque image. Si l'inférence prend plus de temps, le système introduit un décalage, pouvant entraîner des pertes d'images ou des réponses retardées. Pour y parvenir, il faut souvent recourir à l'accélération matérielle à l'aide de GPU ou de dispositifs Edge AI spécialisés tels que le NVIDIA .
Il est utile de distinguer les flux de travail en temps réel du traitement par lots. Bien que les deux impliquent la génération de prédictions, leurs objectifs et leurs architectures diffèrent considérablement :
La capacité à prendre des décisions en une fraction de seconde a transformé divers secteurs en permettant l'automatisation dans des environnements dynamiques.
Le déploiement de modèles pour des applications en temps réel nécessite souvent une optimisation afin de garantir leur bon fonctionnement sur le matériel cible . Des techniques telles que la quantification des modèles réduisent la précision des pondérations du modèle (par exemple, de float32 à int8) afin de diminuer l'utilisation de la mémoire et d'augmenter la vitesse d'inférence avec un impact minimal sur la précision.
Les développeurs peuvent utiliser la Ultralytics pour rationaliser ce processus. La plateforme simplifie la formation et permet aux utilisateurs d'exporter des modèles vers des formats optimisés tels que TensorRT pour NVIDIA , OpenVINO pour Intel ou TFLite pour le déploiement mobile.
Python suivant montre comment exécuter une inférence en temps réel sur le flux d'une webcam à l'aide de la fonction
ultralytics bibliothèque. Elle utilise le YOLO26 Nano,
spécialement conçu pour offrir des performances haut débit sur les appareils périphériques.
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")