Apprends à créer des applications pour drones alimentées par l'IA avec Ultralytics YOLO11, permettant la détection d'objets en temps réel et les tâches de vision par ordinateur basées sur les drones.
Les achats en magasin et les achats en ligne peuvent sembler similaires, mais ils reposent sur une logistique différente. Les magasins ont besoin que les rayons soient réapprovisionnés, tandis que les commandes en ligne dépendent des livraisons à domicile. Grâce aux avancées technologiques, les deux expériences d'achat sont remodelées en parallèle.
Par exemple, un changement majeur est en train de se produire dans les livraisons. Les drones alimentés par l'IA sont en train de changer la façon dont les produits arrivent chez nous. Ces drones intelligents devraient assurer environ 808 millions de livraisons au cours de la prochaine décennie, transformant le ciel en la toute nouvelle voie de livraison pour le commerce quotidien.
Les drones de livraison utilisent l'intelligence artificielle (IA) et la vision par ordinateur, un sous-domaine de l'IA qui sert à analyser les données visuelles, pour naviguer et manœuvrer autour des obstacles. Les modèles de vision par ordinateur comme Ultralytics YOLO11 peuvent aider les drones à détecter et à suivre des objets en temps réel, ce qui leur permet de mieux comprendre leur environnement et d'interagir avec lui.
Des entreprises comme Meituan et DJI intègrent déjà la vision par ordinateur dans leurs drones. En fait, l'adoption rapide des drones dans diverses industries a mis en place le marché des drones d'IA qui va exploser pour atteindre 206,9 milliards de dollars d'ici 2031.
Dans cet article, nous allons examiner de plus près comment les modèles de vision par ordinateur comme Ultralytics YOLO11 peuvent être utilisés dans des applications basées sur les drones, comme les livraisons par drone. Nous parcourrons un exemple qui montrera comment ces technologies peuvent être développées et testées avant d'être utilisées dans des scénarios réels.
Un élément clé des drones de livraison est leur capacité à détecter les maisons pendant qu'ils naviguent. Pour recréer cette capacité et comprendre comment elle fonctionne, nous allons entraîner un modèle de vision par ordinateur capable d'identifier les maisons dans les images capturées par un drone aérien. Pour ce faire, nous entraînerons YOLO11 sur mesure, ce qui implique d'affiner un modèle YOLO11 pré-entraîné pour reconnaître et détecter les maisons à l'aide d'exemples étiquetés.
Pour ce faire, nous aurons besoin de données vidéo de haute qualité provenant d'un drone. Il est intéressant de noter que même sans avoir accès à un vrai drone, nous pouvons générer des séquences aériennes réalistes. Voyons comment procéder.
Google Earth Studio est un outil d'animation en ligne qui peut être utilisé par les utilisateurs pour créer du contenu fixe et animé en utilisant l'imagerie satellite et 3D de Google Earth. Nous pouvons l'utiliser pour créer des séquences aériennes réalistes.
La première étape consiste à ouvrir Google Earth Studio et à créer un projet, comme indiqué ci-dessous.
Tu auras besoin d'un compte Google pour te connecter.
Une fois que tu t'es connecté, tu peux choisir un lieu pour ta vidéo de drone artificiel. À l'aide de la barre de recherche située dans le coin supérieur gauche de la page, tu peux rechercher des lieux. Pour ce tutoriel, nous allons choisir le Canada. De plus, comme nous allons entraîner un modèle à détecter les maisons, notre vidéo de drone doit avoir une vue aérienne des maisons.
Ensuite, nous pouvons définir le premier et le dernier cadre temporel pour capturer le mouvement de la prise de vue artificielle du drone. Une fois que tu as choisi l'emplacement de départ pour la prise de vue du drone, définis la première image à l'aide des losanges bleus, comme indiqué ci-dessous.
Ensuite, nous pouvons choisir la dernière image pour déterminer la destination du drone. Cela nous aidera à créer un effet de mouvement pour la séquence du drone. Pour ce faire, fais glisser la barre (surlignée ci-dessous) vers la droite jusqu'à un moment précis afin de créer l'effet de mouvement pour la prise de vue du drone. Une fois de plus, utilise les losanges bleus pour définir le dernier point.
Enfin, tu peux enregistrer ce projet et en faire le rendu en cliquant sur le bouton rouge "Render" en haut à droite de la page. Tu obtiendras ainsi la sortie vidéo finale de la prise de vue du drone, ce qui te permettra de créer avec succès des séquences vidéo artificielles de drone.
Avant de commencer à former YOLO11, nous allons organiser nos images et nos étiquettes. Commence par créer deux dossiers : l'un nommé "train" et l'autre "valid". Répartis tes images entre ces dossiers. À l'intérieur de chacun d'eux, crée des sous-dossiers distincts pour les images et leurs fichiers d'étiquettes correspondants (format texte), comme indiqué ci-dessous.
Ensuite, nous pouvons commencer à former le modèle YOLO11 comme suit :
from ultralytics import YOLO
# Load a YOLO11 model
model = YOLO("yolo11n.pt") # choose your model, e.g., YOLO11 nano
# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
Le modèle YOLO11 formé peut maintenant être utilisé pour faire des prédictions grâce à un processus appelé inférence. L'inférence consiste à utiliser un modèle pour analyser de nouvelles données inédites en se basant sur ce qu'il a appris pendant la formation. Dans ce cas, le modèle peut être utilisé pour trouver et étiqueter des objets spécifiques, comme des maisons, dans des images ou des vidéos en dessinant des boîtes de délimitation autour d'eux.
Pour effectuer une prédiction, tu peux utiliser le modèle YOLO11 entraîné sur une vidéo d'entrée à l'aide du code Python suivant. Dans cet exemple, nous utiliserons la même vidéo de drone artificiel que celle utilisée pour l'entraînement, mais tu peux utiliser n'importe quel autre fichier vidéo si tu préfères.
# Import library
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("best.pt") # Choose your custom-trained model
# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)
Après avoir exécuté ce code, le fichier vidéo de sortie avec les prédictions et les boîtes de délimitation sera enregistré.
La détection des maisons pour les colis livrés par drone n'est qu'un exemple de la façon dont la vision par ordinateur et YOLO11 peuvent être appliqués. Voici d'autres utilisations réelles de la vision par ordinateur, de YOLO11 et des drones aériens :
Les drones IA alimentés par la vision par ordinateur sont en train de changer de nombreux secteurs, de la livraison de colis à l'aide en cas d'urgence, en passant par l'agriculture. Dans ce guide, nous avons parcouru la création d'une vidéo de drone artificiel, l'étiquetage des objets qu'elle contient, l'entraînement de YOLO11 et son utilisation pour détecter des maisons.
L'application de la détection d'objets aux séquences filmées par les drones rend ces derniers plus intelligents, en leur permettant de reconnaître et de suivre automatiquement les objets en temps réel. À mesure que la technologie s'améliore, les drones pilotés par l'IA joueront probablement un rôle encore plus important pour accélérer les livraisons, améliorer la sécurité et contribuer aux interventions en cas de catastrophe.
Rejoins notre communauté et explore notre dépôt GitHub pour en savoir plus sur Vision AI, et consulte nos options de licence pour donner un coup de fouet à tes projets de vision par ordinateur. Tu es intéressé par des innovations telles que l'IA dans la fabrication ou la vision par ordinateur dans l' industrie automobile? Visite nos pages de solutions pour en découvrir davantage.
Commence ton voyage avec le futur de l'apprentissage automatique.
Comment étiqueter les données du drone ?
Maintenant que nous avons créé des séquences vidéo artificielles de drone, la prochaine étape consiste à étiqueter ou à annoter les maisons qui s'y trouvent. Nous devrons également séparer les différentes images de la vidéo.
Pour commencer, nous allons installer LabelImg. LabelImg est un outil d'étiquetage d'images open-source. Tu peux l'installer directement depuis le terminal à l'aide de l'installateur de paquets pip en exécutant la commande suivante : "pip install labelImg".
Après l'installation, tu peux lancer l'outil en utilisant la commande 'labelImg' dans ton terminal ou à l'invite de commande. Cela t'amènera à la page illustrée ci-dessous.
En attendant, nous pouvons utiliser un convertisseur vidéo-image en ligne ou un outil appelé FFmpeg pour diviser la vidéo en images. FFmpeg est une collection de bibliothèques et d'outils permettant de traiter des contenus multimédias tels que l'audio, la vidéo, les sous-titres et les métadonnées associées.
Tu peux utiliser la commande de terminal suivante pour séparer chaque image de la vidéo de la séquence de drone :
ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg
Une fois que nous avons séparé les images des séquences de drone, nous pouvons commencer à étiqueter les objets (maisons) qui s'y trouvent. En naviguant vers le dossier d'images à l'aide de l'outil LabelImg, nous pouvons étiqueter les objets dans chaque image. Veille à sauvegarder et à vérifier chaque image étiquetée. Après avoir annoté les images, nous pouvons maintenant passer à l'entraînement de YOLO11 à l'aide de ces données.