Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
IA visuelle

La conteneurisation avec Docker pour simplifier le déploiement des modèles

Découvre comment la conteneurisation avec Docker simplifie et optimise le déploiement de modèles de vision par ordinateur comme Ultralytics YOLO11.

Abirami VinaAbirami Vina11 min de lecture
Utiliser la conteneurisation Docker pour déployer des modèles YOLO11

Le développement d’une solution de vision par ordinateur implique davantage d’étapes que le simple entraînement et test d’un modèle. En fait, l’un des aspects les plus gratifiants du développement de modèles consiste à les voir avoir un impact dans des environnements réels. L’utilisation de Vision AI pour résoudre des problèmes mène naturellement au déploiement en production des modèles de vision par ordinateur que tu développes.

Le déploiement d’un modèle comporte différentes étapes, notamment son optimisation pour assurer sa fiabilité, son évolutivité et ses performances dans des conditions variées. Un flux de travail de déploiement bien structuré fait le lien entre le développement du modèle et son impact concret et significatif.

Lors du déploiement de modèles de vision par ordinateur comme Ultralytics YOLO11, tu peux souvent choisir parmi plusieurs techniques et options de déploiement ; le bon choix dépend de l’application que tu développes. Par exemple, des techniques comme la conteneurisation peuvent simplifier le processus de déploiement.

La conteneurisation permet de regrouper un modèle et ses dépendances, comme les bibliothèques, les frameworks et les configurations, dans une unité autonome appelée conteneur. Docker, une plateforme open source, est l’une des solutions les plus efficaces et populaires pour le faire. Elle facilite la création, la distribution et l’exécution d’applications conteneurisées.

Dans cet article, nous verrons comment la conteneurisation et Docker simplifient le déploiement de modèles, améliorant ainsi l’évolutivité et l’efficacité des applications de vision AI en conditions réelles.

Qu’est-ce que le déploiement de modèles ?#

Le déploiement de modèles est la dernière étape du cycle de vie de l’apprentissage automatique : le modèle entraîné est mis en production pour réaliser des prédictions dans le monde réel. Un déploiement réussi est essentiel pour que le modèle fonctionne de manière fiable dans des conditions pratiques.

Prenons l’exemple d’un modèle de vision par ordinateur conçu pour reconnaître les plaques d’immatriculation dans le cadre d’un système automatisé de péage. Même s’il atteint une grande précision dans un environnement contrôlé avec des jeux de données bien annotés, son déploiement sur des caméras en bord de route peut entraîner des problèmes de latence, en raison de facteurs comme le traitement d’images haute résolution, les délais réseau, les limites matérielles et les contraintes d’inférence en temps réel.

Des prédictions lentes peuvent retarder le traitement des péages, provoquer des embouteillages ou même entraîner des détections manquées. Des stratégies de déploiement adaptées peuvent réduire la latence, améliorer l’efficacité et assurer des performances fiables dans des applications réelles.

Détection de plaques d’immatriculation avec Ultralytics YOLO11

Fig. 1. Détection de plaques d’immatriculation avec Ultralytics YOLO11.

Il faut également tenir compte de plusieurs éléments lors du déploiement de modèles. L’évolutivité en est un : les modèles peuvent bien fonctionner à l’entraînement, mais avoir du mal à traiter de grands volumes de données.

Un autre problème concerne les décalages entre les environnements, comme les différences matérielles : un modèle est entraîné sur des GPU (processeurs graphiques) hautes performances, puis déployé sur des appareils dont la puissance de traitement est limitée. Ces incohérences lors du déploiement peuvent entraîner un comportement imprévisible du modèle. Des solutions avancées comme la conteneurisation peuvent aider à relever ces défis.

Conteneurisation#

La conteneurisation peut être comparée au fait de préparer sa boîte à lunch, qui contient tout ce qu’il faut pour un repas, comme de la nourriture, des couverts et des condiments. Tu peux manger n’importe où sans avoir à chercher une cuisine ou des ustensiles particuliers.

De la même manière, la conteneurisation regroupe un modèle et toutes ses dépendances, comme les bibliothèques, les frameworks et les configurations, dans une seule unité appelée conteneur. Ces conteneurs garantissent l’exécution cohérente du modèle en fournissant les mêmes dépendances sur tous les systèmes, quel que soit l’environnement sous-jacent. Contrairement aux machines virtuelles, qui intègrent des systèmes d’exploitation complets, les conteneurs sont légers et portables, ce qui en fait une solution efficace.

Schéma de trois conteneurs d’applications partageant le noyau du système d’exploitation hôte et fonctionnant sur le même matériel

Fig. 2. Présentation de la conteneurisation.

Voici quelques-uns des principaux avantages de la conteneurisation :

  • Gestion des versions : la conteneurisation permet de faire coexister différentes versions d’un modèle ou d’une pile logicielle, ce qui facilite les retours en arrière et les mises à jour sans perturber les systèmes de production.
  • Sécurité : les conteneurs isolent les applications du système sous-jacent, réduisant ainsi les risques de conflits, de vulnérabilités et d’accès non autorisés.
  • Déploiement rapide : les images de conteneur préconfigurées permettent des déploiements rapides et reproductibles, réduisent le temps de configuration et limitent les erreurs de déploiement.

Docker : simplifier la conteneurisation#

La conteneurisation est un excellent moyen d’exécuter des applications dans des environnements isolés, mais sa configuration peut être compliquée. C’est là que Docker intervient. Docker est une plateforme open source qui simplifie la création, le déploiement et la gestion des applications conteneurisées.

Docker fournit un environnement cohérent et isolé, ainsi que les outils et frameworks nécessaires au test du modèle. Docker est notamment réputé pour la richesse de son écosystème et sa facilité d’utilisation. Il facilite le déploiement de modèles d’IA en simplifiant le processus, en fonctionnant efficacement avec les plateformes cloud et en permettant aux modèles d’IA de s’exécuter efficacement sur des appareils Edge pour obtenir des résultats plus rapidement.

De nombreux secteurs l’utilisent activement pour déployer et gérer efficacement des applications conteneurisées. Le déploiement de modèles avec Docker repose généralement sur trois composants principaux :

  • Dockerfile : fichier de configuration textuel qui sert de modèle pour créer une image Docker. Il contient toutes les instructions nécessaires, notamment l’image de base, les dépendances requises, les paramètres d’environnement et les commandes d’exécution du modèle.
  • Images Docker : fichiers de paquets préconfigurés qui incluent tout le nécessaire à l’exécution du modèle : code, bibliothèques, environnements d’exécution et dépendances. Ces images garantissent que le modèle s’exécute avec la même configuration sur tous les systèmes.
  • Conteneurs Docker : instances en cours d’exécution des images Docker, qui fournissent un environnement isolé et sécurisé pour l’exécution du modèle. Dans cet environnement, le modèle peut être entraîné, testé et ajusté sans interférer avec d’autres applications ou avec le système hôte.

Principaux composants de Docker

Fig. 3. Comprendre les principaux composants de Docker.

Découvrir une application de vision par ordinateur avec Docker#

Imaginons qu’une ville souhaite déployer un système de surveillance du trafic utilisant la vision par ordinateur pour détecter et classifier les véhicules en temps réel. Déployer ce système sur plusieurs sites, dotés chacun de matériel et de conditions réseau différents, peut s’avérer difficile. Les problèmes de compatibilité, les conflits entre dépendances et les environnements incohérents peuvent nuire à la fiabilité des performances.

Avec Docker, les développeurs peuvent regrouper dans un conteneur le modèle complet de vision par ordinateur et ses dépendances, comme des frameworks d’IA tels que TensorFlow et des scripts personnalisés. Le modèle s’exécute ainsi de manière cohérente dans différents environnements, du développement local aux serveurs cloud, en passant par les appareils Edge installés sur les caméras de circulation.

Schéma de six applications conteneurisées exécutées sur Docker, au-dessus du système d’exploitation hôte et de l’infrastructure

Fig. 4. Fonctionnement de Docker.

Par exemple, en déployant des modèles de vision par ordinateur conteneurisés avec Docker à plusieurs intersections, la ville peut analyser le flux de circulation, détecter les infractions et optimiser les feux de circulation. Comme Docker fournit un environnement standardisé sur tous les sites, la maintenance est plus facile, les mises à jour sont plus simples et les performances restent constantes.

Déployer Ultralytics YOLO11 avec Docker#

Grâce à sa capacité à effectuer des tâches complexes de vision par ordinateur, Ultralytics YOLO11 peut être utilisé dans divers secteurs, comme l’industrie manufacturière, la santé, la conduite autonome et l’agriculture.

Par exemple, Ultralytics YOLO11 peut traiter des flux vidéo dans des applications de fitness afin de suivre des exercices comme les pompes grâce à l’estimation de pose. En détectant les mouvements du corps et en comptant les répétitions en temps réel, il contribue à améliorer le suivi des entraînements et l’analyse des performances.

Suivi d’un entraînement avec l’estimation de pose d’Ultralytics YOLO11

Fig. 5. Suivi d’un entraînement avec Ultralytics YOLO11.

Pour déployer un tel modèle dans des applications réelles, il faut gérer les dépendances, optimiser le matériel et garantir des performances cohérentes dans différents environnements. Docker simplifie ce processus en regroupant Ultralytics YOLO11 avec toutes les bibliothèques et configurations nécessaires, pour un déploiement plus efficace, évolutif et fiable.

Voici un aperçu rapide des avantages du déploiement d’Ultralytics YOLO11 avec Docker :

  • Maintenance simplifiée : Docker facilite la mise à jour et la maintenance d’Ultralytics YOLO11 et de ses dépendances. Les mises à jour peuvent être appliquées à l’image du conteneur sans affecter le système hôte, ce qui garantit une gestion fluide et efficace du modèle.
  • Collaboration facilitée : les développeurs et les chercheurs peuvent facilement partager des conteneurs Docker préconfigurés. Les équipes travaillent ainsi dans le même environnement et évitent les problèmes de compatibilité.
  • Efficacité des ressources : contrairement aux machines virtuelles traditionnelles, les conteneurs Docker partagent le système d’exploitation hôte, réduisant la surcharge et améliorant l’utilisation des ressources, un aspect essentiel pour les tâches d’inférence en temps réel.

Applications d’Ultralytics YOLO11 déployables avec Docker#

Découvrons quelques exemples d’applications de vision par ordinateur que tu peux créer avec Ultralytics YOLO11 et Docker.

Surveiller la circulation avec Ultralytics YOLO11#

Nous avons évoqué plus tôt la surveillance de la circulation par vision par ordinateur. Fait intéressant, la prise en charge du suivi d’objets par Ultralytics YOLO11 permet de créer un système complet de gestion du trafic. Comment cela fonctionne-t-il ?

Ultralytics YOLO11 peut analyser les flux vidéo en direct des caméras de circulation afin de détecter et de suivre les véhicules en temps réel. En identifiant continuellement la position, la vitesse et les trajectoires des véhicules, le système peut surveiller les niveaux de congestion, détecter les infractions au code de la route (comme le franchissement d’un feu rouge ou les virages interdits) et optimiser les feux de signalisation en fonction des données en temps réel.

De plus, le déploiement d’Ultralytics YOLO11 sur des appareils Edge ou des plateformes cloud avec Docker garantit un traitement efficace et une bonne évolutivité, ce qui en fait un outil précieux pour la gestion du trafic dans les villes intelligentes.

Suivi et comptage des véhicules avec Ultralytics YOLO11

Fig. 6. Suivi et comptage des véhicules avec YOLO11.

Améliorer la physiothérapie avec Ultralytics YOLO11#

Dans le secteur de la santé, la physiothérapie joue un rôle essentiel dans la rééducation, et une bonne posture ainsi que des mouvements adaptés sont indispensables à une récupération réussie. Les retours en temps réel d’un système de surveillance des patients fondé sur la vision peuvent aider les thérapeutes à repérer des problèmes comme des angles articulaires incorrects ou des déséquilibres musculaires.

Par exemple, si un patient lève le bras pour faire une élévation latérale, mais ne le monte pas à la bonne hauteur ou compense avec une mauvaise posture, le système peut détecter ces erreurs et fournir des corrections instantanées. Les thérapeutes peuvent ainsi adapter les traitements en temps réel.

Les capacités d’estimation de pose d’Ultralytics YOLO11 peuvent servir à détecter les points clés du corps et à analyser les mouvements des articulations. Le modèle peut traiter des flux vidéo en direct pour fournir un retour immédiat, aider les thérapeutes à corriger la posture et à améliorer la précision des mouvements, et prévenir les blessures. Il devient ainsi plus facile de créer des plans de traitement personnalisés en fonction des progrès de chaque patient.

Suivi d’une séance de physiothérapie avec l’estimation de pose d’Ultralytics YOLO11

Fig. 7. Exemple de suivi d’une séance de physiothérapie avec Ultralytics YOLO11.

Pour déployer ce type de solution, Docker peut garantir un fonctionnement fluide dans différents environnements, que ce soit en clinique ou pour le suivi des patients à distance. Docker simplifie le déploiement, améliore l’évolutivité et assure la cohérence du système, rendant les outils de physiothérapie basés sur l’IA plus fiables et accessibles.

Points clés à retenir#

Le déploiement d’un modèle de vision par ordinateur est une étape essentielle pour passer du développement à une utilisation réelle. Un processus de déploiement fluide garantit que le modèle entraîné fonctionne de manière fiable dans des applications pratiques. Des outils comme Docker et la conteneurisation ont simplifié ce processus en éliminant de nombreux défis traditionnels.

Grâce à leur légèreté, leur portabilité et leur évolutivité, ces technologies transforment la façon dont les modèles comme Ultralytics YOLO11 sont créés et déployés. La conteneurisation permet aux entreprises de gagner du temps, de réduire les coûts et d’améliorer leur efficacité, tout en garantissant un fonctionnement cohérent des modèles dans différents environnements.

Rejoins notre communauté et consulte notre dépôt GitHub pour en savoir plus sur l’IA. Découvre diverses applications de la vision par ordinateur dans le secteur de la santé et de l’IA dans l’industrie manufacturière. Explore nos options de licence YOLO pour te lancer dans l’IA visuelle.

Écrit par

Abirami Vina
Abirami Vina

Créateur de contenu · Ultralytics

Après avoir commencé sa carrière comme ingénieure en vision par ordinateur, Abirami Vina a acquis de solides bases en IA visuelle et en apprentissage automatique. Elle est créatrice de contenu chez Ultralytics, ainsi que fondatrice et rédactrice en chef de Scribe of AI, où elle conçoit du contenu technique de grande qualité pour des entreprises spécialisées en IA. Animée par la volonté de rendre l’IA à la fois compréhensible et captivante, elle fait le lien entre les technologies de pointe et leurs retombées concrètes.

Commentaires

Pose une question, partage tes résultats ou aide quelqu’un.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique