Description
Le dépôt nutonomy/second.pytorch sur GitHub propose une implémentation spécifique de PointPillars pour la détection d'objets dans le jeu de données KITTI. Ce projet sert de démonstration pour reproduire les résultats présentés dans le papier 'PointPillars: Fast Encoders for Object Detection from Point Clouds', destiné à être publié à la CVPR 2019. Il y parvient en apportant des modifications minimales à la base de code open-source existante, SECOND.
Ce dépôt est un fork de la base de code SECOND originale, adapté aux tâches de détection d'objets KITTI. Il est important de noter que ce code n'est pas un code officiel de nuTonomy, bien qu'il soit conçu pour s'aligner sur les résultats publiés de PointPillars. Le projet a été archivé par son propriétaire le 13 octobre 2021 et est désormais en lecture seule. Pour un code activement maintenu qui peut également reproduire les résultats de PointPillars sur le jeu de données nuScenes, les utilisateurs sont dirigés vers le dépôt SECOND.
Pour commencer avec ce projet, il faut cloner le dépôt, installer les paquets Python nécessaires (y compris PyTorch, Anaconda, et des bibliothèques spécifiques comme shapely, pybind11, protobuf, scikit-image, numba, pillow, google-sparsehash, fire, et tensorboardX), et configurer CUDA pour Numba. Le processus d'installation comprend également des instructions pour SparseConvNet, qui devrait être correctement configuré par la base de code SECOND générale, et potentiellement Boost geometry. Les variables d'environnement pour Numba et la configuration de PYTHONPATH sont également détaillées.
La préparation du jeu de données est une étape cruciale, nécessitant le téléchargement du jeu de données KITTI et la création de structures de répertoires spécifiques. Les utilisateurs doivent ensuite générer les fichiers d'informations KITTI, créer des nuages de points réduits et générer les informations de la base de données de vérité terrain à l'aide des scripts Python fournis. Enfin, les fichiers de configuration doivent être modifiés pour pointer vers les jeux de données préparés. Le dépôt décrit les procédures d'entraînement et d'évaluation, y compris les commandes pour l'entraînement sur GPU unique et la reprise à partir de points de contrôle, ainsi que la manière de sauvegarder les résultats de détection au format officiel des étiquettes KITTI.
Points forts de PointPillars pour KITTI
Détection d'objets à partir de nuages de points
Implémentation de l'algorithme PointPillars
Compatibilité avec le jeu de données KITTI
Fork de la base de code SECOND
Reproduction des résultats PointPillars publiés
La base de code prend en charge Python 3.6+
Nécessite PyTorch 0.4.1+
Testé sur Ubuntu 16.04/18.04
Inclut des scripts de préparation de jeu de données
Fournit des scripts d'entraînement et d'évaluation
Support de l'entraînement sur GPU unique
Taille de lot de 2 pour l'entraînement
Dépôt archivé et en lecture seule
Premiers pas avec PointPillars pour KITTI
Cloner le code : git clone https://github.com/nutonomy/second.pytorch.git
Installer les paquets Python : Utiliser Anaconda pour les paquets principaux, puis pip pour les autres.
Configurer CUDA pour Numba : Configurer les variables d'environnement dans ~/.bashrc.
Ajouter à PYTHONPATH : Inclure second.pytorch/ dans votre PYTHONPATH.
Préparer le jeu de données : Télécharger KITTI, créer des répertoires et exécuter les scripts de préparation des données.
Modifier le fichier de configuration : Mettre à jour les chemins vers les jeux de données dans les fichiers de configuration.
Entraîner le modèle : Exécuter le script d'entraînement avec la configuration et les répertoires de modèles spécifiés.
Évaluer le modèle : Exécuter le script d'évaluation pour évaluer les performances du modèle.
Cas d'utilisation de PointPillars pour KITTI
- Détection d'objets
- Recherche en conduite autonome
- Analyse de nuages de points
- Benchmarking en vision par ordinateur
- Recherche académique








