Description
py-faster-rcnn est une réimplémentation en Python du framework de détection d'objets Faster R-CNN, initialement développé en MATLAB. Ce projet, hébergé sur GitHub, vise à fournir une version Python fonctionnelle pour les chercheurs et les développeurs. Bien qu'il atteigne une précision moyenne (mAP) similaire au code MATLAB officiel, il est environ 10 % plus lent à l'exécution. Cette différence de performance est attribuée à certaines opérations exécutées sur le CPU dans les couches Python, résultant en environ 220 ms par image pour VGG16 contre 200 ms pour la version MATLAB.
L'implémentation est basée sur un fork de Fast R-CNN et inclut des fonctionnalités telles que l'entraînement conjoint approximatif, qui est environ 1,5 fois plus rapide que l'optimisation alternée pour VGG16. Le projet a été initialement décrit dans un rapport technique arXiv et publié plus tard dans NIPS 2015. Il est distribué sous licence MIT.
L'installation implique de cloner le dépôt, de construire les modules Cython et de compiler Caffe avec le support des couches Python. Il est conseillé aux utilisateurs de s'assurer que leur build Caffe inclut `WITH_PYTHON_LAYER := 1` et éventuellement `USE_CUDNN := 1` dans leur `Makefile.config`. Le projet fournit des scripts pour télécharger des détecteurs pré-calculés et des modèles pré-entraînés ImageNet pour des réseaux tels que ZF et VGG16. Un script de démonstration est disponible pour présenter les capacités de détection sur PASCAL VOC 2007.
Pour l'entraînement et le test, les utilisateurs peuvent employer des scripts pour l'optimisation alternée (`faster_rcnn_alt_opt.sh`) et l'entraînement conjoint approximatif (`faster_rcnn_end2end.sh`). Cette dernière méthode entraîne le réseau de propositions de régions (RPN) conjointement avec le réseau Fast R-CNN, ce qui permet des temps d'entraînement plus rapides avec une précision de détection comparable. Les artefacts de sortie, y compris les modèles entraînés et les résultats de test, sont organisés dans le répertoire `$FRCN_ROOT/output`.
Il est important de noter que py-faster-rcnn est obsolète. Le projet recommande aux utilisateurs de consulter Detectron, qui inclut une implémentation de Mask R-CNN. Le code Faster R-CNN officiel en MATLAB est disponible pour ceux qui souhaitent reproduire les résultats de l'article NIPS 2015.
Points forts de py-faster-rcnn
Implémentation Python de Faster R-CNN
Prend en charge les architectures réseau VGG16, ZF et VGG_CNN_M_1024
Inclut l'entraînement conjoint approximatif pour un développement de modèle plus rapide
Fournit une démo pour la détection d'objets sur PASCAL VOC 2007
Compatible avec Caffe et pycaffe
Propose des scripts pour l'entraînement et le test de détecteurs
Nécessite des configurations de build Caffe spécifiques pour les couches Python
Distribué sous licence MIT
Obsolète au profit de Detectron
Premiers pas avec py-faster-rcnn
Cloner le dépôt : Obtenir le code py-faster-rcnn depuis GitHub.
Construire les dépendances : Compiler les modules Cython et Caffe avec le support des couches Python.
Télécharger les modèles : Récupérer les détecteurs pré-calculés et les modèles ImageNet pré-entraînés.
Exécuter la démo : Lancer le script de démo pour une démonstration rapide de détection d'objets.
Configurer l'entraînement : Mettre en place les datasets PASCAL VOC ou COCO pour l'entraînement.
Entraîner le modèle : Utiliser les scripts fournis pour l'optimisation alternée ou l'entraînement conjoint de bout en bout.
Tester le modèle : Évaluer les modèles entraînés à l'aide des scripts expérimentaux.
Intégrer : Utiliser les modèles entraînés pour des tâches de détection d'objets.
Cas d'utilisation de py-faster-rcnn
- Détection d'objets
- Analyse d'images
- Recherche en vision par ordinateur
- Détection en temps réel
- Évaluation de datasets








