Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Inférence en temps réel

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.

L'importance d'une faible latence

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 .

Inférence en temps réel ou par lots

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 :

  • Inférence en temps réel : donne la priorité à une faible latence. Elle traite les points de données individuels (ou de très petits lots) dès leur arrivée. Ceci est essentiel pour les applications interactives telles que les véhicules autonomes, où une voiture doit detect instantanément detect piéton afin de freiner à temps.
  • Inférence par lots : donne la priorité au débit élevé. Elle collecte un grand volume de données et les traite toutes en même temps. Elle convient aux tâches non urgentes, telles que la génération de rapports d'inventaire nocturnes ou l'analyse des tendances historiques des mégadonnées.

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 appliquée à la fabrication, des caméras placées au-dessus des bandes transporteuses 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 dans les produits se déplaçant à grande vitesse. Si une anomalie est détectée, le système déclenche un bras robotisé pour retirer immédiatement l'article, garantissant ainsi que seuls les produits de haute qualité sont emballés.
  • 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 se contenter d'enregistrer des images, ces caméras effectuent en temps réel la détection des personnes ou la reconnaissance faciale afin d'alerter le personnel de sécurité en cas d'accès non autorisé dès qu'il se produit.
  • Robotique : dans le domaine de l' IA appliquée à la robotique, les robots utilisent l' estimation de la pose pour naviguer dans des espaces physiques complexes. Un robot d'entrepôt doit continuellement déduire l'emplacement des obstacles et des travailleurs humains afin de planifier son parcours 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 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.

Exemple de code

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")

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant