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:
(2) Realice las siguientes operaciones para instalar conda ambiente:
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
operaciones.
Se ha agregado el intérprete creado hasta ahora.
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
) Ingrese a la terminal de pycharm
(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.
(3) Instalar paquetes de dependencia
instalación de pip -r requisitos.txt
3. Pruebe si las dependencias se instalaron correctamente.
Busque este archivo y ejecútelo.
Puede encontrar que las imágenes del modelo de prueba se colocan en datos/imágenes en el directorio actual:
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. :
Haga clic para ingresar al directorio run/detect/exp y podrá encontrar Resultado de la prueba:
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):
(2) Cree un archivo .yaml
Lo llamé horse.yaml (no es necesario, asígnele el nombre que desee según sus necesidades personales):
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.
# 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
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)
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:
- Solo muestra algunas imágenes de resultados:
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:
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
siguientes imágenes muestran los cambios en diferentes indicadores del modelo durante el proceso de entrenamiento
Tasa de recuperación (R_curve.png)
●Puntuación F1(F1_curve.png)
●Tasa de precisión (P_curve.png)
●Curva PR (PR_curve.png)
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:
- Se muestran los resultados de la inferencia: