Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Détection de véhicules aériens sans pilote à l'aide de la vision par ordinateur

Résumé

Avec l'innovation technologique, la sécurité devient le plus gros problème à gérer. L'accessibilité exponentiellement croissante des drones constitue une grande menace pour la sécurité générale. L'utilisation des drones s'est accrue ces dernières années. En gardant à l'esprit les problèmes de sécurité, une solution est suggérée. Commencez par détecter les drones, puis suivez leur trajectoire.

Pour la détection d'objets, les algorithmes d'apprentissage en profondeur de la vision par ordinateur sont très efficaces. L'entrée est traitée par YOLO qui est un réseau de neurones utilisé pour la détection et le suivi d'objets en temps réel.

2.1 Comprendre le concept de drone

Selon le titre "Détection et suivi d'UAV à l'aide de la vision par ordinateur", UAV (véhicule aérien sans pilote) est un avion sans pilote, contrôlable à distance ou par ordinateur de bord.

Les drones peuvent être utilisés à des fins bénéfiques telles que l'agriculture, la recherche scientifique, les prévisions météorologiques, l'expédition et la livraison, les opérations de sauvetage et les soins de santé. Il peut être utilisé à des fins catastrophiques telles que des attaques, des attaques de missiles, des attaques ciblées, etc.

2.2 Qu'est-ce qu'une vision par ordinateur ?

Vision par ordinateur est le domaine de la science qui permet aux ordinateurs de voir, d'identifier et de traiter les images de la même manière que la vision de l'œil humain et de fournir une sortie appropriée. La vision par ordinateur est utilisée dans presque tous les domaines, c'est-à-dire :

2.3 Qu'est-ce que la technique de traitement d'image ?

Le Traitement des images La technique est utilisée par la vision par ordinateur pour effectuer différentes tâches. L'opération effectuée et les méthodes appliquées pour améliorer la qualité d'une image ou pour obtenir un résultat spécifique après avoir été obtenu sous forme de pile d'images sont appelées traitement d'image.

Le traitement d'images est considéré aujourd'hui comme l'un des domaines des technologies de l'information qui évolue le plus rapidement, avec des applications croissantes dans tous les domaines d'activité. Les applications de traitement d'images sont :

Cas d'utilisation du traitement d'images

Le traitement d'image peut être utilisé dans ces champs :

3. Algorithmes de détection d'objets

De nombreux algorithmes sont présents pour la détection d'objets. Quelques-uns d'entre eux sont les suivants :

Table 3.1 :Algorithmes de détection

Algorithme Description Force Faiblesse
VOILA    AND JONES  (The Viola-Jones

L'algorithme a été conçu par Paul Viola et Michael Jones en 2001)

L'objectif principal était la détection de visages et d'objets. Il peut détecter des objets en temps réel.

Lorsque nous donnons des algorithmes d'image, nous examinons des sous-régions plus petites et essayons de trouver des objets en examinant des caractéristiques spéciales dans chaque sous-région.

L'algorithme de Viola et Jones utilise des fonctionnalités de type Haar pour détecter des objets

  1. Robuste
  2. Taux de détection très élevé.
  3. Utilisez différents classificateurs, chacun regardant une partie différente de l'image
  4. Rapide
  5. Bon pour détecter les bords et les lignes
  1. Impossible de détecter les visages inclinés ou tournés.
  2. Il est sensible aux conditions d'éclairage
  3. Impossible de détecter les objets en mouvement
CNN (Convolutional  Neural Networks) Introduit par Kunihiko     Fukushima en 1980 Le modèle hiérarchique d'inspiration biologique qui peut être formé pour effectuer la vérité de la détection, de la reconnaissance et de la segmentation.

Il s'agit essentiellement d'un algorithme d'apprentissage en profondeur, il prend des images en entrée, il attribue des poids et des biais apprenables à l'objet présent dans l'image et fait la différence entre l'un et l'autre

  1. Déterminer les fonctionnalités par formation (a donc un degré de liberté plus élevé).
  2. Utiliser une classification unique qui regarde l'image complète.
  3. Applique l'opération matricielle.
  4. Précis.
  1. Un grand ensemble de données est requis
  2. Cher.
YOLO    (vous ne regardez qu'une seule fois) C'est un algorithme de détection en temps réel. Il applique un algorithme de réseau neuronal à l'image, et il divise l'image en grille S x S et crée une limite autour des images et prédit les possibilités pour chacune des limites Il utilise la régression.
  1. Peut détecter plusieurs objets dans la même image.
  2. Exécution en temps réel
  3. Super rapide
  4. Haute performance
  5. Aucune erreur d'arrière-plan
1. Détecte un objet par cellule de grille.

2.  Préférez les hautes performances à la précision.

SSD (détecteur de tir unique) Cette méthode ne prend qu'un seul coup pour détecter plusieurs objets, cette méthode est très rapide. Il est conçu pour une implémentation en temps réel. Il contient deux composants de base et une tête SSD.
  1. Temps de calcul plus élevé
  2. Haute précision
  3. Le compromis d'exactitude est modéré
  1. Bonne performance pour les objets de grande taille mais baisse un peu pour les objets de petite taille
  2. La détection de bout en bout est trop lente.
  3. Coût de calcul.

Ici, l'algorithme du réseau de neurones Yolo sera utilisé. Cet algorithme est très rapide pour une implémentation en temps réel. Il utilise un algorithme de réseau neuronal et divise l'image en grille S x S et crée une limite autour de l'image pour prédire les possibilités pour chaque limite. Les algorithmes de détection sont présentés dans le tableau 4.4.

3.1 Algorithme de suivi

Après avoir détecté un objet, la mise au point suivante est sur la bonne voie. Si l'objet détecté est un cerf-volant ou un oiseau, le suivi n'est pas nécessaire, mais si l'objet détecté est un drone, la cible est suivie.

De nombreux algorithmes sont utilisés pour le suivi d'objets. Mais encore une fois, YOLO est utilisé pour le suivi car cet algorithme est rapide et précis et il peut détecter et suivre jusqu'à ce que la cible se déplace hors de portée de la caméra.

4. Mise en œuvre de la conception proposée

Voici la mise en œuvre du design proposé. Dans lequel toutes les étapes nécessaires à l'exécution du projet sur le logiciel sont effectuées.

4.1 Étape initiale

  1. Le traitement d'image nécessite un bon CPU/GPU, choisissez CPU. Installez l'anaconda à partir du site Web L'installation de l'Anaconda est illustrée à la figure 4.1
  2. Après l'installation d'Anaconda Navigator, créez un environnement à l'aide de la boîte de dialogue d'environnement et sélectionnez la version python.

  3. Après avoir réussi à créer un environnement, l'étape suivante consiste à installer Spyder, car il est facile à utiliser. Ensuite, installez open CV via la commande pip install cv2.

4.2 Préparation de l'ensemble de données

  1. Collectionnez de nombreuses images de différents objets aériens comme des drones, des oiseaux, des avions, des hélicoptères, des cerfs-volants et des ballons.

Remarque : Créer un ensemble de données, c'est plus que simplement collecter des images. Donner les noms des images et indiquer également la position de ces objets spécifiques dans chaque image. Pour cela, un logiciel appelé Labellmg peut est utilisé, qui convertit les images en fichiers texte. Comme le montre la figure 4.6

  1. Une fois les fichiers Txt de tous les objets créés. Mettez toutes les images et les fichiers texte dans un fichier zip. En outre, nommez le fichier pour les classes incluses.

4.3 Configuration YOLO

Pour la configuration, procédez comme suit : 

  1. Installer darknet avec YOLO v3.
  2. Pour configurer le YOLO, créez un dossier dans darknet/data comprenant toutes les images et les fichiers .txt du jeu de données précédemment créé.
  3. Pour créer un fichier de configuration personnalisé, apportez les modifications requises dans YOLO v3 de cfg, en ajustant le lot, les subdivisions et les lots max en ce qui concerne les classes et les étapes.
  4. Lors de la saisie du nombre de classes, modifiez la couche convolutive au-dessus de YOLO. Définissez également random sur 1. Les paramètres cfg sont indiqués dans le tableau 4.1

Tableau 4.1 :Paramètres CFG

Nom Description
Lot Combien d'images et d'étiquettes sont utilisées dans la passe avant pour calculer un gradient et mettre à jour les poids via la méthode de rétropropagation.
Subdivisions Le lot est subdivisé en plusieurs "blocs". Les images d'un bloc sont exécutées en parallèle.
Étapes 500,1 000 :ajustez le taux d'apprentissage après 500 et 1 000 lots.
Calques (Filtres) Combien de noyaux convolutionnels y a-t-il dans une couche.
Calques (aléatoires) Mettez les calques YOLO. Si défini sur 1, augmentez les données en redimensionnant les images à différentes tailles tous les quelques lots, utilisé pour généraliser sur les tailles d'objet.
  1. Créez un dossier d'objet personnalisé via data/obj.names dans lequel tous les noms que nous voulons détecter comme les drones, les UAV, les oiseaux, les cerfs-volants, etc. sont écrits.
  2. Dans obj.data, le nombre de classes, train.txt, les dossiers valides, les noms et les poids sont inclus et enregistrés.
  3. Dans train.txt, toutes les données et les noms des images sont enregistrés.

4.4 Formation YOLO sur votre ensemble de données

La formation de YOLO pour un ensemble de données personnalisé se fait également via le darknet. Clonez et activez darknet ainsi que le CV ouvert. En prenant le dossier ZIP, le fichier .cfg, le fichier .names, le fichier obj.data et le fichier train.txt créés ci-dessus, puis configurez le réseau darknet pour la formation de YOLO v3, en comptant les exécutions.

Après des milliers d'itérations qui peuvent prendre environ 2 heures en fonction de la puissance de notre processeur, un ensemble de données formé sera prêt à être utilisé et intégré à notre système, avec une indication de la perte moyenne.

4.5 Tester le code sur l'entrée image et vidéo

Après avoir formé le YOLO pour l'ensemble de données personnalisé, commencez à tester le code sur votre ensemble de données formé, appelé pondérations YOLO. Il a 4 classes dans ce cas.

Essayez la détection YOLO sur différents. Les gros poids sont bons en termes de précision mais le traitement est un peu lent en raison du faible nombre d'images par seconde. Faire une vidéo d'UAV, d'oiseaux et donner ces données en entrée au code. Tous les objets seront détectés et suivis avec succès avec les étiquettes données fps et seuil.

Maintenant, le code peut être testé pour des scénarios en temps réel grâce à l'entrée en temps réel de la webcam en changeant la portée de notre caméra a volé notre UAV avec l'enregistrement du résultat, vous verrez la sortie requise "Détection et suivi de l'UAV".


Technologie industrielle

  1. Computer Vision comme capteur de mouvement pour SmartThings
  2. DÉTECTION HUMAINE DU ROBOT SONBI À L'AIDE DE KINECT ET DE RASPBERRY PI
  3. Les avantages de l'utilisation de la vision robotique pour les applications d'automatisation
  4. 4 avantages de l'utilisation d'une solution intelligente de détection de fuites dans les bâtiments
  5. 5 avantages de l'utilisation du système de détection de fuites d'eau alimenté par l'IdO de Biz4intellias dans les industries
  6. 7 applications de la vision par ordinateur
  7. Vision par ordinateur
  8. Véhicule aérien sans pilote (UAV) à haute altitude pour la surveillance des paramètres météorologiques
  9. Prévention de la déformation d'image induite par la chaleur dans les caméras à balayage linéaire de vision industrielle