[Detección de objetivos] El modelo YOLOv5 entrena su propio conjunto de datos: YOLOv5 implementa la detección de animales (detección y reconocimiento de animales, vacas y caballos, basado en el marco de pytorch)

ilustrar

Este caso experimental se basa en el marco pytorch y utiliza el modelo yolov5 para lograr la detección de objetivos de ganado vacuno y equino. El conjunto de datos lo produzco yo mismo. Para conocer el método de producción específico, consulte mi otro blog, labelme, para producir el conjunto de datos. Para su comodidad, también puede descargarlo directamente . Utilice el conjunto de datos para reproducir el modelo. El enlace del disco de red es el siguiente: Enlace del conjunto de datos: Código de extracción: xss6 .

1. Instalación ambiental

(Este paso se puede omitir. No tiene nada que ver con el contenido de este artículo. Solo estoy pensando en el texto). (1)
Abra la herramienta Anaconda Prompt de anaconda: Insertar descripción de la imagen aquí
(2) Realice las siguientes operaciones para instalar conda ambiente:
Insertar descripción de la imagen aquí

conda env list#查看conda环境
conda create -n yolov5 python=3.8#创建conda环境命名为yolov5,python解释器版本指定3.8版本

El entorno recién creado durante el proceso de creación se mostrará en el proceso, como se muestra en el cuadro rojo en la imagen de arriba, donde se encuentra el entorno. Luego, vaya a la ubicación en la computadora para encontrar el entorno creado, como se muestra a continuación. : (3) A continuación, abra la herramienta pycharm y realice las siguientes
Insertar descripción de la imagen aquí
operaciones.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Se ha agregado el intérprete creado hasta ahora.
Insertar descripción de la imagen aquí
Nota: Mi pycharm es la versión china después de la versión china. Para la versión china de la instalación de pycharm, consulte mi otro blog. Instalación de pycharm y versión china.
En este punto, el entorno conda está completo.

2. Instalar paquetes de dependencia

Abra el modelo yolov5 y podrá ver el archivo require.txt. En el archivo están los paquetes que deben instalarse para el modelo yolov5: (1
Insertar descripción de la imagen aquí
) Ingrese a la terminal de pycharm
Insertar descripción de la imagen aquí
(2).
Los pasos para ingresar al entorno son los siguientes sigue: 1 es la ruta del terminal para ingresar al modelo yolov5, 2 es verificar el entorno conda actual, "*" indica el entorno conda actual, 3 es cambiar al entorno conda de yolov5.
Insertar descripción de la imagen aquí
(3) Instalar paquetes de dependencia

instalación de pip -r requisitos.txt

Insertar descripción de la imagen aquí

3. Pruebe si las dependencias se instalaron correctamente.

Busque este archivo y ejecútelo. Insertar descripción de la imagen aquí
Puede encontrar que las imágenes del modelo de prueba se colocan en datos/imágenes en el directorio actual:
Insertar descripción de la imagen aquí
ejecute el archivo detect.py y la última línea retroalimenta la ruta para guardar el resultado de la prueba, como se muestra a continuación. :
Insertar descripción de la imagen aquí
Haga clic para ingresar al directorio run/detect/exp y podrá encontrar Resultado de la prueba:
Insertar descripción de la imagen aquí
la prueba fue exitosa, lo que significa que la instalación del entorno fue exitosa.

4. Configuración de archivos

(1) Coloque el conjunto de datos preparado
. Tenga en cuenta la referencia para el proceso de producción del conjunto de datos: producción del conjunto de datos yolov5
o puede utilizar el conjunto de datos anotado (al principio del artículo):
Insertar descripción de la imagen aquí
(2) Cree un archivo .yaml

Insertar descripción de la imagen aquí
Lo llamé horse.yaml (no es necesario, asígnele el nombre que desee según sus necesidades personales):
Insertar descripción de la imagen aquí
escríbalo de la siguiente manera según la ruta del conjunto de datos, una es la ruta del conjunto de datos y la otra son las etiquetas de categoría. 0 y 1 de la detección de objetivos.
Insertar descripción de la imagen aquí

# parent
# ├── yolov5
#     └── dataset
#         └── train
#            └── images
#         └── val
#             └── images
#         └── test
#             └── images
train: ../dataset/train/images/
val: ../dataset/val/images/
test: ../dataset/test/images/

# Classes
names:
  0: cattle
  1: horse

(3) Modificar la categoría de detección de objetivos.
Este experimento es para detectar e identificar las dos categorías de ganado vacuno y caballos. Todas las categorías se modifican a 2 y la
Insertar descripción de la imagen aquí
configuración está lista.

5. Entrenamiento modelo

Ingrese el siguiente código en la terminal:

python train.py --img 640 --batch 32 --epoch 100 --data data/horse.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt

–img: tamaño de la imagen de entrada (640)
–batch: número de archivos por lotes (32)
–epoch: rondas de entrenamiento (100)
–data: ruta al archivo de configuración del conjunto de datos archivo yaml (data/horse.yaml)
–cfg: modelo La dirección de ruta del archivo yaml (modelos/yolov5s.yaml)
–weights: La dirección de ruta del archivo de peso inicializado (weights/yolov5s.pt)

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Como se muestra en la figura anterior, se puede ver que después de 100 rondas de entrenamiento del modelo, los resultados se guardan en la ruta ejecuciones/entrenamiento/exp. Ingrese a esta ruta para ver algunos resultados del entrenamiento del modelo:
Insertar descripción de la imagen aquí

  • Solo muestra algunas imágenes de resultados:
    Insertar descripción de la imagen aquí
    Insertar descripción de la imagen aquí

6. Evaluación del modelo

Para evaluar el modelo y hacer predicciones, el código es el siguiente:

python val.py --weights runs/train/exp/weights/best.pt --data ./data/horse.yaml --img 640

–weights: la ruta del modelo después del entrenamiento (runs/train/exp/weights/best.pt, el número después de exp debe ser consistente con la ruta de salida del resultado del entrenamiento) –data:
la ruta del archivo de configuración del conjunto de datos archivo yaml (data/horse.yaml)
–img: tamaño de imagen de entrada (640)

  • Captura de pantalla en ejecución:
    Insertar descripción de la imagen aquí
    puede encontrar que los resultados de la evaluación del modelo se guardan en la ruta run/val/exp2 e ingresar a esta carpeta: Las
    Insertar descripción de la imagen aquí
    siguientes imágenes muestran los cambios en diferentes indicadores del modelo durante el proceso de entrenamiento
    Tasa de recuperación (R_curve.png)
    Insertar descripción de la imagen aquí

●Puntuación F1(F1_curve.png)
Insertar descripción de la imagen aquí

●Tasa de precisión (P_curve.png)
Insertar descripción de la imagen aquí

●Curva PR (PR_curve.png)
Insertar descripción de la imagen aquí

7. Razonamiento modelo

python detect.py --source ../dataset/test/images --weights ./runs/train/exp/weights/best.pt

–weights: ruta del modelo después del entrenamiento (runs/train/exp/weights/best.pt, consistente con la ruta en la evaluación del modelo)
–fuente: ruta del conjunto de prueba (…/dataset/test/images)

  • Ejecutando captura de pantalla:
    Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

  • Se muestran los resultados de la inferencia:
    Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45736855/article/details/129625070
Recomendado
Clasificación