Serie completa - Temas de detección - Sistema de reconocimiento de animales basado en redes neuronales convolucionales

Hemos hecho un sistema de detección de máscaras basado en Yolov5 antes ( te enseñamos a usar YOLOV5 para entrenar tu propio modelo de detección de objetivos-detección de máscaras-video tutorial_blog de dejahu-blog de CSDN ), el código interno se basa en el desarrollo de YOLOV5 6.0, y es aplicable a otros conjuntos de datos, solo necesita modificar el conjunto de datos y volver a entrenarlo, lo cual es muy conveniente, pero algunos buenos hermanos son principiantes y es posible que no sepan mucho sobre el procesamiento de datos, por lo que haremos una serie derivada de este video, principalmente sobre Con suerte, esta serie le enseñará cómo entrenar y usar sus propios conjuntos de datos.

Video de la estación B: Serie completa - Especial de detección - Sistema de reconocimiento de gestos basado en YOLOV5

Dirección del blog: (2 mensajes) Serie completada - tema de detección - sistema de reconocimiento de animales basado en red neuronal convolucional - Blog 412 - Blog CSDN

Código dirección: YOLOV5-animal-42: Sistema de detección de animales basado en YOLOV5 (gitee.com)

Conjunto de datos y dirección del modelo entrenado: conjunto de datos de detección de animales YOLOV5 + código + modelo 2000 datos etiquetados + video de enseñanza

En el área de comentarios del último número, un buen amigo dejó un mensaje y quería ver el sistema de detección de animales. Luego actualizaremos el sistema de detección de animales en este número de la serie de detección y agregaremos la función de conteo sobre la base. de la función anterior. Veamos primero el efecto.

imagen-20220309211305462

Teniendo en cuenta la falta de poder de cómputo de algunos amigos, también proporciono el conjunto de datos marcado y el modelo entrenado aquí. La forma de obtenerlo es descargándolo a través de CSDN (^^ no es necesario abrir una membresía), y la dirección del recurso es como sigue:

Conjunto de datos de detección de animales YOLOV5 + código + modelo 2000 datos etiquetados + video de enseñanza

Los socios pequeños que necesitan depuración remota y diseño de cursos personalizados pueden agregar QQ 3045834499, el precio es justo y el anciano no se deja engañar.

código de descarga

La dirección de descarga del código es: YOLOV5-animal-42: Sistema de detección de animales basado en YOLOV5 (gitee.com)

imagen-20220407163525849

Entorno de configuración

Para los amigos de anaconda que no están familiarizados con pycharm, lea primero este blog csdn para comprender las operaciones básicas de pycharm y anaconda

Cómo configurar el entorno virtual de anaconda en el blog de pycharm_dejahu - CSDN blog_cómo configurar anaconda en pycharm

Una vez completada la instalación de anaconda, cambie a la fuente doméstica para mejorar la velocidad de descarga. El comando es el siguiente:

conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

Primero cree un entorno virtual para python3.8, ejecute las siguientes operaciones en la línea de comando:

conda create -n yolo5 python==3.8.5
conda activate yolo5

instalación de pytorch (instalación de la versión gpu y la versión cpu)

La situación de prueba real es que YOLOv5 se puede usar tanto en condiciones de CPU como de GPU, pero la velocidad de entrenamiento en condiciones de CPU será escandalosa, por lo que los amigos condicionales deben instalar la versión de GPU de Pytorch, y los amigos incondicionales son los mejores. alquilar un servidor para usar.

Para conocer los pasos específicos de la instalación de la versión de GPU, consulte este artículo: Instale la versión de GPU de Tensorflow y Pytorch en Windows en 2021_blog de dejahu - Blog de CSDN

Es necesario tener en cuenta los siguientes puntos:

  • Antes de instalar, asegúrese de actualizar el controlador de su tarjeta gráfica, vaya al sitio web oficial para descargar la instalación del controlador del modelo correspondiente
  • Las tarjetas gráficas de la serie 30 solo pueden usar la versión cuda11
  • Asegúrese de crear un entorno virtual para que no haya conflicto entre los diversos marcos de aprendizaje profundo

Lo que creé aquí es el entorno python3.8, la versión instalada de Pytorch es 1.8.0 y el comando es el siguiente:

conda install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2 # 注意这条命令指定Pytorch的版本和cuda的版本
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly # CPU的小伙伴直接执行这条命令即可
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch # 30系显卡的小伙伴执行这里的指令

Una vez completada la instalación, probemos si la GPU está

imagen-20210726172454406

Instalación de pycocotools

Más tarde, encontré un método de instalación más simple en Windows. Puede usar el siguiente comando para instalar directamente sin descargar y luego instalar

pip install pycocotools-windows

Instalación de otros paquetes.

Además, también necesita instalar otros paquetes requeridos del programa, incluidos opencv, matplotlib y estos paquetes, pero la instalación de estos paquetes es relativamente simple y se puede ejecutar directamente a través del comando pip. código yolov5 y ejecute los siguientes comandos directamente: La instalación del paquete se puede completar.

pip install -r requirements.txt
pip install pyqt5
pip install labelme

procesamiento de datos

Realice el conjunto de datos listos para procesar en formato yolo. Generalmente, los datos en formato yolo son una imagen que corresponde a un archivo de anotación en formato txt.

imagen-20220219192930908

El archivo de anotación registra las coordenadas del punto central de la clase y la información de ancho y alto del objetivo, como se muestra en la siguiente figura:

imagen-20220219193042855

Recuerde la ubicación del conjunto de datos aquí, lo usaremos en archivos de configuración posteriores, por ejemplo, la ubicación de mi conjunto de datos aquí es:C:/Users/chenmingsong/Desktop/hand/hand_gesture_dataset

Preparación del archivo de configuración

  • Elaboración de perfiles de datos

    El archivo de configuración está en el directorio de datos animal_data.yaml, solo necesita cambiar la ubicación del conjunto de datos aquí a su ubicación de conjunto de datos local.

    imagen-20220309215138666

  • Preparación de archivos de configuración del modelo.

    Existen tres archivos principales de configuración del modelo, a saber animal_yolov5s.yaml, animal_yolov5m.yaml, y animal_yolov5l.yaml, que corresponden a los tres modelos de yolo, grande, mediano y pequeño, lo principal es modificar las nc en el archivo de configuración a las 6 categorías correspondientes a nuestros datos colocar.

    imagen-20220309215624860

entrenamiento modelo

El archivo principal de entrenamiento del modelo es train.pyque las siguientes tres instrucciones corresponden al entrenamiento de los tres modelos de pequeño, mediano y grande respectivamente.Los estudiantes con GPU pueden cambiar el dispositivo a 0, lo que significa que se utiliza la tarjeta GPU No. 0. Los estudiantes con mucha memoria pueden ajustar el tamaño del lote.4 o 16, es más rápido entrenar.

python train.py --data animal_data.yaml --cfg animal_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 2 --device cpu
python train.py --data animal_data.yaml --cfg animal_yolov5l.yaml --weights pretrained/yolov5l.pt --epoch 100 --batch-size 2
python train.py --data animal_data.yaml --cfg animal_yolov5m.yaml--weights pretrained/yolov5m.pt --epoch 100 --batch-size 2

La siguiente barra de progreso aparecerá durante el proceso de entrenamiento

imagen-20220219202818016

Una vez completada la capacitación, los resultados de la capacitación se guardarán en el runs/traindirectorio y hay varios diagramas esquemáticos para que todos los usen.

imagen-20220219202857929

uso del modelo

El uso del modelo está todo integrado en el detect.pydirectorio, puede consultar el contenido que desea detectar de acuerdo con las siguientes instrucciones

 # 检测摄像头
 python detect.py  --weights runs/train/exps/weights/best.pt --source 0  # webcam
 # 检测图片文件
  python detect.py  --weights runs/train/exps/weights/best.pt --source file.jpg  # image 
 # 检测视频文件
   python detect.py --weights runs/train/exps/weights/best.pt --source file.mp4  # video
 # 检测一个目录下的文件
  python detect.py --weights runs/train/exps/weights/best.pt path/  # directory
 # 检测网络视频
  python detect.py --weights runs/train/exps/weights/best.pt 'https://youtu.be/NUsoVlDFqZg'  # YouTube video
 # 检测流媒体
  python detect.py --weights runs/train/exps/weights/best.pt 'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream                            

Por ejemplo, tomando nuestro modelo de máscara como ejemplo, si ejecutamos python detect.py --weights runs/train/exps/weights/best.pt --source data/images/0023.pngel comando, podemos obtener tal resultado de detección.

resultado_único

Crea una interfaz visual

La parte de la interfaz visual está en el window.pyarchivo, que es el diseño de la interfaz completado por pyqt5. Antes de iniciar la interfaz, debe reemplazar el modelo con el modelo que entrenó. La posición de reemplazo está en window.pyla línea 60 y puede modificarla. a la dirección de su modelo. , si tiene una GPU, puede configurar el dispositivo en 0, lo que significa usar la GPU de fila 0, que puede acelerar el reconocimiento del modelo.

imagen-20220309214131940

Comience ahora y vea el efecto.

Encuentrame

Puedes encontrarme de estas maneras.

Estación B: Cuatro Doce-

CSDN: cuatro doce

Saber: Cuatro Doce

Weibo: Cuatro Doce-

¡Sigue ahora y sé un viejo amigo!

imagen-20211212195912911

Supongo que te gusta

Origin blog.csdn.net/ECHOSON/article/details/123389178
Recomendado
Clasificación