Table des matières[Cacher][Montrer]
L'une des idées les plus simples mais les plus intrigantes de l'apprentissage en profondeur est la détection d'objets. L'idée fondamentale est de diviser chaque élément en classes successives qui représentent des traits comparables, puis de tracer un cadre autour de lui.
Ces caractéristiques distinctives peuvent être aussi simples que la forme ou la couleur, ce qui nous aide à les catégoriser.
Les candidatures de Détection d'objet sont largement utilisés dans les sciences médicales, la conduite autonome, la défense et l'armée, l'administration publique et de nombreux autres domaines grâce aux améliorations substantielles de la vision par ordinateur et du traitement d'images.
Ici, nous avons MMDetection, un fantastique ensemble d'outils de détection d'objets open source construit sur Pytorch. Dans cet article, nous examinerons MMDetection en détail, l'utiliserons de manière pratique, discuterons de ses fonctionnalités et bien plus encore.
Qu’est ce qu' MMDétection?
Les MMDétection La boîte à outils a été créée en tant que base de code Python spécifiquement pour les problèmes impliquant l'identification d'objets et la segmentation d'instances.
L'implémentation PyTorch est utilisée et elle est créée de manière modulaire. Pour la reconnaissance d'objets et la segmentation d'instances, un large éventail de modèles efficaces a été compilé dans une variété de méthodologies.
Il permet une inférence efficace et une formation rapide. D'autre part, la boîte à outils comprend des pondérations pour plus de 200 réseaux pré-formés, ce qui en fait une solution rapide dans le domaine de l'identification d'objets.
Avec la capacité d'adapter les techniques actuelles ou de créer un nouveau détecteur en utilisant les modules disponibles, MMDetection fonctionne comme une référence.
La principale caractéristique de la boîte à outils est son inclusion de pièces simples et modulaires d'un détection d'objets framework qui peut être utilisé pour créer des pipelines uniques ou des modèles uniques.
Les capacités d'analyse comparative de cette boîte à outils simplifient la création d'un nouveau cadre de détection au-dessus d'un cadre existant et la comparaison de ses performances.
Fonctionnalités:
- Les cadres de détection populaires et modernes, tels que Faster RCNN, Mask RCNN, RetinaNet, etc., sont directement pris en charge par la boîte à outils.
- Utilisation de plus de 360 modèles pré-formés pour un réglage fin (ou une nouvelle formation).
- Pour les ensembles de données de vision bien connus, notamment COCO, Cityscapes, LVIS et PASCAL VOC.
- Sur les GPU, toutes les opérations fondamentales de bbox et de masque sont exécutées. D'autres bases de code, telles que Detectron2, maskrcnn-benchmark et SimpleDet, peuvent être formées à un rythme plus rapide que celui-ci ou à égalité avec celui-ci.
- Les chercheurs décomposent détection d'objets cadre en plusieurs modules, qui peuvent ensuite être combinés pour créer un système de détection d'objet unique.
Architecture de détection MM
MMDetection spécifie une conception générique qui peut être appliquée à n'importe quel modèle puisqu'il s'agit d'une boîte à outils avec une variété de modèles prédéfinis, chacun ayant sa propre architecture. Les composants suivants composent cette architecture globale :
- Colonne vertébrale: Backbone, tel qu'un ResNet-50 sans la couche finale entièrement connectée, est le composant qui convertit une image en cartes d'entités.
- Cou: Le cou est le segment qui relie la colonne vertébrale aux têtes. Sur les cartes de caractéristiques brutes du backbone, il effectue certains ajustements ou reconfigurations. Feature Pyramid Network en est une illustration (FPN).
- Tête dense (AnchorHead/AnchorFreeHead) : il s'agit du composant qui fonctionne sur des zones denses de cartes d'entités, telles que AnchorHead et AnchorFreeHead, telles que RPNHead, RetinaHead et FCOSHead.
- RoIExtracteur : Avec l'utilisation d'opérateurs de type RoIPooling, c'est la section qui extrait les fonctionnalités RoIwise d'une seule ou d'une collection de cartes de fonctionnalités. L'exemple SingleRoIExtractor extrait les fonctionnalités RoI du niveau correspondant des pyramides de fonctionnalités.
- RoIHead (BBoxHead/MaskHead) : il s'agit de la partie du système qui utilise les caractéristiques RoI comme entrée et génère des prédictions spécifiques aux tâches basées sur le RoI, telles que la classification/régression de la boîte englobante et la prédiction de masque.
La construction de détecteurs à un étage et à deux étages est illustrée à l'aide des concepts susmentionnés. Nous pouvons développer nos propres procédures simplement en construisant quelques pièces neuves et en combinant certaines pièces existantes.
Liste des modèles inclus dans MMDetection
MMDetection fournit des bases de code de premier ordre pour plusieurs modèles bien connus et modules orientés tâche. Les modèles qui ont déjà été créés et les méthodes adaptables qui peuvent être utilisées avec la boîte à outils MMDetection sont répertoriés ci-dessous. La liste ne cesse de s'allonger au fur et à mesure que de nouveaux modèles et méthodes sont ajoutés.
- R-CNN rapide
- R-CNN plus rapide
- Masque R-CNN
- RétineNet
- DCN
- DCNv2
- Cascade R-CNN
- M2Dét
- Ghm
- ScratchDet
- R-CNN à double tête
- Grille R-CNN
- FASF
- Balance R-CNN
- GCNet
- Réseau RH
- Masquage du score R-CNN
- SFC
- SSD
- R-FCN
- Entraînement de précision mixte
- Normalisation du poids
- Cascade de tâches hybride
- Ancrage guidé
- Attention généralisée
Création d'un modèle de détection d'objets à l'aide de MMDetection
Dans ce didacticiel, nous serons le cahier de collaboration Google car il est facile à configurer et à utiliser.
Installation
Pour installer tout ce dont nous avons besoin, nous allons d'abord installer les bibliothèques nécessaires et cloner le projet MMdetection GitHub.
Importation d'environnement
L'environnement de notre projet va maintenant être importé depuis le référentiel.
Importation de bibliothèques et MMdetection
Nous allons maintenant importer les bibliothèques requises, ainsi que la MMdetection bien sûr.
Téléchargez les points de contrôle pré-formés
Les points de contrôle du modèle pré-formés de MMdetection doivent maintenant être téléchargés pour un ajustement et une inférence supplémentaires.
Maquette de bâtiment
Nous allons maintenant construire le modèle et appliquer les points de contrôle au jeu de données.
Déduire le détecteur
Maintenant que le modèle a été correctement construit et chargé, vérifions à quel point il est excellent. Nous utilisons le détecteur d'inférence API de haut niveau de MMDetection. Cette API a été conçue pour faciliter le processus d'inférence.
Résultat
Jetons un coup d'œil aux résultats.
Conclusion
En conclusion, la boîte à outils MMDetection surpasse les bases de code récemment publiées telles que SimpleDet, Detectron et Maskrcnn-benchmark. Avec une grande collection de modèles,
MMDetection est désormais une technologie de pointe. MMDetection surpasse toutes les autres bases de code en termes d'efficacité et de performances.
L'un des avantages de MMdetection est que vous pouvez désormais simplement pointer vers un fichier de configuration différent, télécharger un point de contrôle différent et exécuter le même code si vous souhaitez modifier les modèles.
Je conseille de regarder leur Des instructions si vous rencontrez des problèmes avec l'une des étapes ou si vous souhaitez effectuer certaines d'entre elles différemment.
Soyez sympa! Laissez un commentaire