Registre la construcción del entorno CenterFusion

Primero hablemos de los principales problemas a la hora de configurar el entorno.

  1. Debe hacerse en la carpeta. Verá que se definirá un CF_ROOT más adelante. La ruta es muy complicada durante el proceso de configuración. Preste atención al cambio de la ruta.
  2. La dificultad radica en la configuración de DCNv2.
  3. Para modificar el código
  4. Antes de configurar y ejecutar, tenga en cuenta que el entorno virtual debe estar activado.

1. Preparación ambiental

1.1 Servidor

  • Utilice MistGPU para alquilar un servidor https://mistgpu.com
    Especificaciones ambientales
  • Después de crear el servidor, inicie sesión. Aquí uso la línea de comando para iniciar sesión.
    Insertar descripción de la imagen aquí

1.2 Crear un entorno virtual

  • Cree un entorno virtual llamado "centerfusion" con Python versión 3.7
    conda create -n centerfusion python=3.7
  • Después de una creación exitosa, cambie al entorno virtual.
    conda activate centerfusion

1.3 Instalar los marcos necesarios

1.4 Clonar código

  • Primero debe establecer la ruta, de lo contrario ocurrirán una serie de problemas. El servidor configurado por el autor se configura de la siguiente manera

  • El directorio predeterminado del servidor Mist GPU está en /home/mist. Aquí no utilicé la configuración oficial de CF_ROOT=/path/to/CenterFusion. Yo mismo especifiqué CF_ROOT=work/CenterFusion. Cuando uso este comando, la ruta es en /home/ Bajo la niebla, los pasos específicos son los siguientes
    CF_ROOT=work/CenterFusion
    git clone --recursive https://github.com/mrnabati/CenterFusion.git $CF_ROOT

  • El comando de clonación aquí es propenso a las siguientes razones, porque git en mistgpu agrega un agente de aceleración de forma predeterminada. Si encuentra este error, puede cargarlo manualmente en la ruta CF_ROOT.
    Insertar descripción de la imagen aquí
    Descomprimir manualmente después de cargar

  • Luego ingrese la ruta CF_ROOT, que es /work/CenterFusion, ejecute el siguiente comando (asegúrese de que el entorno virtual haya sido activado) e instale los paquetes requeridos
    pip install -r requirements.txt

    Insertar descripción de la imagen aquí

  • Configure DCNv2 a continuación. Puede haber DCNv2 en el almacén, pero no se puede ejecutar en las pruebas reales. Utilice la siguiente versión https://pan.baidu.com/s/1ua7gyzFn1nmTGuFYP1SHVg?pwd=1csg Código de extracción: 1csg , cárguelo en $CF_ROOT /src/lib/ model/networks/DCNv2, luego descomprímalo, ingrese DCNv2-pytorch_1.7 después de la descompresión y ejecute el siguiente comando
    ./make.sh
    Insertar descripción de la imagen aquí

  • Una vez que la compilación se realiza correctamente, aparece el siguiente mensaje:
    Insertar descripción de la imagen aquí

2. Preparación de datos

2.1 Preparación del conjunto de datos

  • Descargue el conjunto de datos de nuscenes y descomprímalo en la carpeta CenterFusion/data/nuscenes. Aquí solo utilicé la mini parte del conjunto de datos, https://www.nuscenes.org/nuscenes#download
    Insertar descripción de la imagen aquí
  • Descargue un archivo llamado v1.0-mini.tgz. Tenga en cuenta que la descompresión debe realizarse en el directorio CenterFusion/data/nuscenes. No hay ningún directorio nuscenes en la carpeta de datos. Cree una nueva carpeta usted mismo. Si el comando de descompresión ya está
    tar -zxvf v1.0-mini.tgz -C 路径
    en el directorio CenterFusion/data/nuscenes, simplemente descomprímalo directamente.
    tar -zxvf v1.0-mini.tgz
    Insertar descripción de la imagen aquí

2.2 Preparación del modelo previo al entrenamiento

3. Modificar el código

  • Consulte el artículo de @Coke es un poco delicioso, https://blog.csdn.net/ssj925319/article/details/124294911 y modifique el siguiente código:
  • En la actualidad, solo se han realizado trabajos de prueba. Consulte el artículo anterior para conocer el código modificado requerido para la capacitación.
  • Modifique CenterFusion/experiments/test.sh, –debug 4 representa visualizaciónInsertar descripción de la imagen aquí
  • Modifique CenterFusion/src/tools/convert_nuScenes.py, cambie la línea 56 a 3
    Insertar descripción de la imagen aquí
  • Modifique CenterFusion/src/lib/utils/debugger.py, es decir, fuerce la conversión al tipo int, consulte http://t.csdn.cn/smn4F
    Insertar descripción de la imagen aquí

4. Operación

4.1 Conversión de conjuntos de datos

  • Ejecute CenterFusion/src/tools/convert_nuScenes.py para convertir el conjunto de datos al formato COCO
  • No olvide cambiar el entorno al entorno virtual creado antes de ejecutar
conda activate centerfusion
#进入到CenterFusion/src/tools/
python convert_nuScenes.py
  • Una vez completada la conversión, se generará el directorio annotations_3sweeps en CenterFusion/data/nuscenes, que almacena el conjunto de datos en formato COCO.

4.2 Operación

  • Regrese al directorio raíz de CenterFusion y ejecute el siguiente código
    bash experiments/test.sh
  • La salida visual está en el directorio CenterFusion/exp/ddd/centerfusion/debug
    Insertar descripción de la imagen aquí
    Insertar descripción de la imagen aquí

5. Materiales de referencia

[1] Pasos de construcción del entorno ultra detallados del proyecto CenterFusion y operaciones visuales @Coke es un poco delicioso
[2] Reproducción del código CenterFusion @huevos pasados ​​por agua sin azúcar
[3] Configuración del entorno del algoritmo CenterFusion y operación de demostración CenterFusion: radar basado en el centro y Camera Fusion para detección de objetos 3D @HIT_Vanni

Supongo que te gusta

Origin blog.csdn.net/u014295602/article/details/126677196
Recomendado
Clasificación