Enregistrer la construction de l'environnement CenterFusion

Parlons d’abord des principaux enjeux liés à la mise en place de l’environnement.

  1. Cela doit être fait dans le dossier. Vous verrez qu'un CF_ROOT sera défini plus tard. Le chemin est très alambiqué lors du processus de configuration. Faites attention au changement de chemin.
  2. La difficulté réside dans la configuration de DCNv2
  3. Pour modifier le code
  4. Avant de configurer et d'exécuter, veuillez noter que l'environnement virtuel doit être activé.

1. Préparation de l'environnement

1.1 Serveur

  • Utilisez MistGPU pour louer un serveur https://mistgpu.com
    Spécifications environnementales
  • Après avoir créé le serveur, connectez-vous. Ici, j'utilise la ligne de commande pour me connecter.
    Insérer la description de l'image ici

1.2 Créer un environnement virtuel

  • Créez un environnement virtuel nommé "centerfusion" avec python version 3.7
    conda create -n centerfusion python=3.7
  • Après une création réussie, passez à l'environnement virtuel
    conda activate centerfusion

1.3 Installer les frameworks nécessaires

1.4 Code clone

  • Vous devez d'abord définir le chemin, sinon une série de problèmes se produira. Le serveur configuré par l'auteur est défini comme suit

  • Le répertoire par défaut du serveur GPU Mist se trouve sous /home/mist. Ici, je n'ai pas utilisé le paramètre officiel CF_ROOT=/path/to/CenterFusion. J'ai moi-même spécifié CF_ROOT=work/CenterFusion. Lors de l'utilisation de cette commande, le chemin est dans /home/ Sous brume, les étapes spécifiques sont les suivantes
    CF_ROOT=work/CenterFusion
    git clone --recursive https://github.com/mrnabati/CenterFusion.git $CF_ROOT

  • La commande de clonage ici est sujette aux raisons suivantes, car git dans mistgpu ajoute un agent d'accélération par défaut. Si vous rencontrez cette erreur, vous pouvez la télécharger manuellement sur le chemin CF_ROOT.
    Insérer la description de l'image ici
    Décompresser manuellement après le téléchargement

  • Entrez ensuite le chemin CF_ROOT, qui est /work/CenterFusion, exécutez la commande suivante (assurez-vous que l'environnement virtuel a été activé) et installez les packages requis
    pip install -r requirements.txt

    Insérer la description de l'image ici

  • Configurez DCNv2 ci-dessous. Il peut y avoir DCNv2 dans l'entrepôt, mais il ne peut pas s'exécuter lors des tests réels. Utilisez la version suivante https://pan.baidu.com/s/1ua7gyzFn1nmTGuFYP1SHVg?pwd=1csg Code d'extraction : 1csg , téléchargez-le sur $CF_ROOT /src/lib/model/networks/DCNv2, puis décompressez-le, entrez DCNv2-pytorch_1.7 après décompression et exécutez la commande suivante
    ./make.sh
    Insérer la description de l'image ici

  • Une fois la compilation réussie, l'invite suivante apparaît :
    Insérer la description de l'image ici

2. Préparation des données

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

  • Téléchargez l'ensemble de données nuscenes et décompressez-le dans le dossier CenterFusion/data/nuscenes. Ici, je n'ai utilisé que la mini partie de l'ensemble de données, https://www.nuscenes.org/nuscenes#download
    Insérer la description de l'image ici
  • Téléchargez un fichier nommé v1.0-mini.tgz. Notez que la décompression doit être effectuée dans le répertoire CenterFusion/data/nuscenes. Il n'y a pas de répertoire nuscenes dans le dossier data. Créez vous-même un nouveau dossier. Si la commande de décompression est déjà
    tar -zxvf v1.0-mini.tgz -C 路径
    dans le répertoire CenterFusion/data/nuscenes, décompressez-le directement.
    tar -zxvf v1.0-mini.tgz
    Insérer la description de l'image ici

2.2 Préparation du modèle de pré-formation

3. Modifier le code

  • Référez-vous à l'article de @Coke c'est un peu délicieux, https://blog.csdn.net/ssj925319/article/details/124294911 , et modifiez le code suivant :
  • À l'heure actuelle, seuls des travaux de test ont été effectués. Veuillez vous référer à l'article ci-dessus pour le code modifié requis pour la formation.
  • Modifiez CenterFusion/experiments/test.sh, –debug 4 représente la visualisationInsérer la description de l'image ici
  • Modifiez CenterFusion/src/tools/convert_nuScenes.py, changez la ligne 56 en 3
    Insérer la description de l'image ici
  • Modifiez CenterFusion/src/lib/utils/debugger.py, c'est-à-dire forcez la conversion en type int, reportez-vous à http://t.csdn.cn/smn4F
    Insérer la description de l'image ici

4. Fonctionnement

4.1 Conversion d'ensemble de données

  • Exécutez CenterFusion/src/tools/convert_nuScenes.py pour convertir l'ensemble de données au format COCO
  • N'oubliez pas de basculer l'environnement vers l'environnement virtuel créé avant d'exécuter
conda activate centerfusion
#进入到CenterFusion/src/tools/
python convert_nuScenes.py
  • Une fois la conversion terminée, le répertoire annotations_3sweeps sera généré sous CenterFusion/data/nuscenes, qui stocke l'ensemble de données au format COCO.

4.2 Fonctionnement

  • Revenez au répertoire racine de CenterFusion et exécutez le code suivant
    bash experiments/test.sh
  • La sortie visuelle se trouve dans le répertoire CenterFusion/exp/ddd/centerfusion/debug
    Insérer la description de l'image ici
    Insérer la description de l'image ici

5. Documents de référence

[1] Étapes de construction d'environnement ultra-détaillées du projet CenterFusion et opérations visuelles @Coke est un peu délicieux
[2] Reproduction du code CenterFusion @œufs à la coque sans sucre
[3] Configuration de l'environnement de l'algorithme CenterFusion et opération de démonstration CenterFusion : radar basé sur le centre et Fusion de caméras pour la détection d'objets 3D @HIT_Vanni

Je suppose que tu aimes

Origine blog.csdn.net/u014295602/article/details/126677196
conseillé
Classement