Real-time Inference
Explore la puissance de l’inférence en temps réel pour obtenir des prédictions d’IA instantanées. Découvre comment Ultralytics YOLO26 fournit des résultats à faible latence sur les appareils en périphérie et les robots.
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 bloc ultérieurement, l’inférence en temps réel s’effectue à 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 (AI), permettant aux appareils de percevoir, d’interpréter et d’exploiter les données en quelques millisecondes.
L’importance d’une faible latence#
La principale mesure utilisée pour évaluer les performances en temps réel est la latence d’inférence. Elle mesure le délai entre le moment où les données sont fournies au modèle — par exemple, une image provenant d’une caméra vidéo — et celui où le modèle produit une sortie, comme une boîte englobante 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 suivre la vitesse du flux de données entrant.
Par exemple, dans les tâches de compréhension vidéo s’exécutant à 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, ce qui peut entraîner des images perdues ou des réponses retardées. Atteindre ce niveau de performance nécessite souvent une accélération matérielle à l’aide de GPUs ou d’appareils Edge AI spécialisés comme le NVIDIA Jetson.
Inférence en temps réel ou inférence par lots#
Il est utile de distinguer les flux de travail en temps réel du traitement par lots. Bien que les deux consistent à générer des prédictions, leurs objectifs et leurs architectures diffèrent considérablement :
- Inférence en temps réel : privilégie une faible latence. Elle traite des points de données individuels (ou de très petits lots) dès leur arrivée. Cela est essentiel pour les applications interactives comme les véhicules autonomes, où une voiture doit détecter instantanément un piéton pour freiner à temps.
- Inférence par lots : privilégie un débit élevé. Elle collecte un grand volume de données et les traite en une seule fois. Cette approche convient aux tâches non urgentes, comme la génération de rapports d’inventaire nocturnes ou l’analyse des tendances des big data historiques.
Applications concrètes#
La capacité à prendre des décisions en une fraction de seconde a transformé divers secteurs en permettant l’automatisation dans des environnements dynamiques.
- Fabrication intelligente : dans le domaine de l’IA dans la fabrication, des caméras placées au-dessus des convoyeurs utilisent l’inférence en temps réel pour effectuer un contrôle qualité automatisé. Un modèle de détection d’objets peut identifier instantanément les défauts ou les corps étrangers présents dans des produits se déplaçant à grande vitesse. Si une anomalie est détectée, le système déclenche immédiatement un bras robotique pour retirer l’article, afin de garantir que seuls des produits de haute qualité parviennent à l’étape de conditionnement.
- Surveillance et sécurité : les systèmes de sécurité modernes s’appuient sur la vision par ordinateur pour surveiller les périmètres. Au lieu de simplement enregistrer des séquences vidéo, ces caméras exécutent une détection de personnes ou une reconnaissance faciale en temps réel afin d’alerter le personnel de sécurité dès qu’un accès non autorisé se produit.
- Robotique : dans le domaine de l’IA en robotique, les robots utilisent l’estimation de pose pour se déplacer dans des espaces physiques complexes. Un robot d’entrepôt doit déduire en continu l’emplacement des obstacles et des travailleurs afin de planifier son itinéraire de manière sûre et efficace.
Optimisation et déploiement#
Le déploiement de modèles pour des applications en temps réel nécessite souvent une optimisation afin de garantir leur fonctionnement efficace sur le matériel cible. Des techniques telles que la quantification de modèle réduisent la précision des poids du modèle (par exemple, de float32 à int8) afin de diminuer l’utilisation de la mémoire et d’accroître la vitesse d’inférence, avec un impact minimal sur la précision.
Les développeurs peuvent utiliser l’Ultralytics Platform pour simplifier ce processus. La plateforme facilite l’entraînement et permet aux utilisateurs d’exporter les modèles vers des formats optimisés comme TensorRT pour les GPUs NVIDIA, OpenVINO pour les CPUs Intel ou TFLite pour le déploiement mobile.
Exemple de code#
L’extrait de code Python suivant montre comment exécuter une inférence en temps réel sur un flux provenant d’une webcam à l’aide de la bibliothèque ultralytics. Il utilise le modèle YOLO26 Nano, conçu spécifiquement pour offrir des performances élevées sur les appareils 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")








