Découvrez comment l'inférence en temps réel avec Ultralytics YOLO permet des prédictions instantanées pour des applications d'IA telles que la conduite autonome et les systèmes de sécurité.
L'inférence en temps réel est le processus par lequel un modèle d'apprentissage automatique formé accepte des données d'entrée en temps réel. d 'apprentissage automatique accepte des données d'entrée en temps réel et génère une prédiction presque instantanément. Dans ce contexte, le terme "temps réel" implique que la vitesse de traitement est suffisante pour suivre le flux de données entrantes, permettant au système de prendre des décisions immédiates. est suffisante pour suivre le flux de données entrantes, ce qui permet au système de prendre des décisions immédiates. Cette capacité Cette capacité est la pierre angulaire des des applications modernes de vision par ordinateur, permettant aux appareils de percevoir et de réagir à leur environnement. de percevoir leur environnement et d'y réagir dans un délai minimal.
La principale mesure permettant d'évaluer les performances en temps réel est la latence d'inférence, qui mesure le temps écoulé entre temps écoulé entre le moment où le modèle reçoit une entrée et celui où il produit une sortie. Pour qu'un système soit considéré comme étant en temps réel, cette latence doit être suffisamment faible pour répondre aux contraintes de temps spécifiques du cas d'utilisation. Pour qu'un système soit considéré comme étant en temps réel, cette latence doit être suffisamment faible pour répondre aux contraintes temporelles spécifiques du cas d'utilisation. Par exemple, un système de compréhension vidéo analysant un flux à 30 images par seconde (FPS) dispose d'environ 33 millisecondes pour traiter chaque image. Si l'inférence prend plus de temps, les images images sont abandonnées et le système est à la traîne.
Pour atteindre cette vitesse, il faut souvent utiliser du matériel spécialisé comme les GPU ou des accélérateurs accélérateurs Edge AI dédiés, tels que la NVIDIA Jetson. En outre, les ingénieurs ingénieurs emploient souvent des techniques d'optimisation de modèles pour réduire la complexité des calculs sans sacrifier la précision.
Il est important de distinguer les flux de travail en temps réel de l'inférence par lots. l 'inférence par lots. Alors que l'inférence en temps réel traite les points de données individuellement au fur et à mesure qu'ils arrivent afin de minimiser la latence, l'inférence par lots regroupe les données en gros morceaux qui seront traités ensemble ultérieurement.
La capacité à générer des prédictions instantanées a transformé plusieurs secteurs en automatisant des tâches complexes qui nécessitent une prise de décision en une fraction de seconde. qui nécessitent une prise de décision en une fraction de seconde.
Pour atteindre les vitesses nécessaires aux applications en temps réel, les développeurs déploient souvent des modèles en utilisant des moteurs d'inférence optimisés. optimisés. Des frameworks comme TensorRT pour le matériel NVIDIA ou OpenVINO pour les processeurs Intel peuvent accélérer de manière significative les performances. En outre, des techniques telles que la quantification du modèle, quiréduit la précision des des poids du modèle de la virgule flottante aux valeurs entières - peut réduire considérablement l'empreinte mémoire et améliorer la vitesse d'exécution sur les systèmes embarqués. vitesse d'exécution sur les systèmes embarqués.
L'exemple Python suivant montre comment exécuter une inférence en temps réel sur un flux de webcam à l'aide de la fonction
ultralytics bibliothèque.
from ultralytics import YOLO
# Load the official YOLO11 nano model, optimized for speed
model = YOLO("yolo11n.pt")
# Run inference on the default webcam (source=0)
# 'stream=True' creates a generator for memory-efficient real-time processing
# 'show=True' displays the video feed with prediction overlays
results = model.predict(source="0", stream=True, show=True)
# Process the generator to keep the stream running
for result in results:
pass
À mesure que la connectivité 5G se développe et que le matériel devient plus puissant, la portée de l'IA en temps réel s'accroît, le champ d'application de l'IA en temps réel s'élargit. Des concepts tels que l'internet des objets (IoT) deviennent plus intelligents, passant de simples collecteurs de données à des décideurs actifs. Les développements futurs, tels que YOLO26, visent à repousser ces limites en offrant des modèles de bout en bout natifs en proposant des modèles natifs de bout en bout encore plus petits et plus rapides, ce qui permettra aux villes intelligentes et aux appareils médicaux d'être en mesure de prendre des décisions en toute connaissance de cause. les villes intelligentes et les appareils médicaux fonctionner de manière transparente en temps réel.