[Detecção de alvo] O modelo YOLOv5 treina seu próprio conjunto de dados - YOLOv5 implementa detecção de animais (detecção e reconhecimento de animais, vacas e cavalos com base na estrutura pytorch)

ilustrar

Este caso experimental é baseado na estrutura pytorch, usando o modelo yolov5 para detectar alvos de bovinos e cavalos. O conjunto de dados é produzido por mim. Para o método de produção específico, consulte meu outro blog labelme para produzir o conjunto de dados. Para sua conveniência, você também pode baixá-lo diretamente . Use o conjunto de dados para reproduzir o modelo. O link do disco de rede é o seguinte: Link do conjunto de dados: Código de extração: xss6 .

1. Instalação do ambiente

(Esta etapa pode ser ignorada. Não tem nada a ver com o conteúdo deste artigo. Estou apenas pensando no texto.) (
1) Abra a ferramenta Anaconda Prompt do anaconda: Insira a descrição da imagem aqui
(2) Execute as seguintes operações para instalar o conda ambiente:
Insira a descrição da imagem aqui

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

O ambiente recém-criado durante o processo de criação será exibido no processo, conforme mostrado na caixa vermelha da imagem acima, onde o ambiente está localizado. Em seguida, vá até o local no computador para encontrar o ambiente criado, conforme mostrado abaixo : (3) Em seguida, abra a ferramenta pycharm e execute as seguintes
Insira a descrição da imagem aqui
operações
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
O intérprete criado até agora foi adicionado.
Insira a descrição da imagem aqui
Nota: Meu pycharm é a versão chinesa após a versão chinesa. Para a versão chinesa da instalação do pycharm, consulte meu outro blog instalação do pycharm e versão chinesa.
Neste ponto, o ambiente conda está concluído.

2. Instale pacotes de dependência

Abra o modelo yolov5 e você poderá ver o arquivo require.txt. No arquivo estão os pacotes que precisam ser instalados para o modelo yolov5:
Insira a descrição da imagem aqui
(1) Entre no terminal do pycharm
Insira a descrição da imagem aqui
(2).
Os passos para entrar no ambiente são os seguintes segue: 1 é o caminho do terminal para entrar no modelo yolov5, 2 é verificar o ambiente conda atual, "*" indica o ambiente conda atual, 3 é mudar para o ambiente conda do yolov5.
Insira a descrição da imagem aqui
(3) Instale pacotes de dependência

pip instalar -r requisitos.txt

Insira a descrição da imagem aqui

3. Teste se as dependências foram instaladas com sucesso

Encontre este arquivo e execute-o. Insira a descrição da imagem aqui
Você pode descobrir que as imagens do modelo de teste são colocadas em dados/imagens no diretório atual:
Insira a descrição da imagem aqui
execute o arquivo detect.py e a última linha retorna o caminho de salvamento do resultado do teste, conforme mostrado abaixo :
Insira a descrição da imagem aqui
Clique para entrar no diretório runs/detect/exp e você poderá encontrar Resultado do teste:
Insira a descrição da imagem aqui
O teste foi bem-sucedido, o que significa que a instalação do ambiente foi bem-sucedida.

4. Configuração de arquivo

(1) Coloque o conjunto de dados preparado
. Observe a referência para o processo de produção do conjunto de dados: produção do conjunto de dados yolov5
ou você pode usar o conjunto de dados anotado (no início do artigo):
Insira a descrição da imagem aqui
(2) Crie um arquivo .yaml

Insira a descrição da imagem aqui
Chamei-o de horse.yaml (sem necessidade, nomeie-o como quiser, dependendo das necessidades pessoais):
Insira a descrição da imagem aqui
escreva-o da seguinte forma, de acordo com o caminho do conjunto de dados, um é o caminho do conjunto de dados e o outro são os rótulos da categoria 0 e 1 da detecção do alvo.
Insira a descrição da imagem aqui

# 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) Modifique a categoria de detecção de alvo.
Este experimento visa detectar e identificar as duas categorias de bovinos e cavalos. Todas as categorias são modificadas para 2 e a
Insira a descrição da imagem aqui
configuração está pronta.

5. Treinamento de modelo

Digite o seguinte código no terminal:

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

–img: tamanho da imagem de entrada (640)
–batch: número de arquivos em lote (32)
–época: rodadas de treinamento (100)
–data: caminho para o arquivo de configuração do conjunto de dados arquivo yaml (data/horse.yaml)
–cfg: modelo O endereço do caminho do arquivo yaml (models/yolov5s.yaml)
–weights: O endereço do caminho do arquivo de peso inicializado (weights/yolov5s.pt)

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Conforme mostrado na figura acima, pode-se observar que após 100 rodadas de treinamento do modelo, os resultados são salvos no caminho runs/train/exp. Entre neste caminho para ver alguns resultados do treinamento do modelo:
Insira a descrição da imagem aqui

  • Basta mostrar algumas fotos dos resultados:
    Insira a descrição da imagem aqui
    Insira a descrição da imagem aqui

6. Avaliação do modelo

Para avaliar o modelo e fazer previsões, o código é o seguinte:

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

–weights: o caminho do modelo após o treinamento (runs/train/exp/weights/best.pt, o número após exp deve ser consistente com o caminho da saída do resultado do treinamento) –data:
o caminho do arquivo yaml do arquivo de configuração do conjunto de dados (data/horse. yaml)
–img: tamanho da imagem de entrada (640)

  • Captura de tela em execução:
    Insira a descrição da imagem aqui
    Você pode descobrir que os resultados da avaliação do modelo são salvos no caminho runs/val/exp2 e entrar nesta pasta: As
    Insira a descrição da imagem aqui
    imagens a seguir mostram as mudanças em diferentes indicadores do modelo durante o processo de treinamento
    Taxa de recuperação (R_curve.png)
    Insira a descrição da imagem aqui

●Pontuação F1(F1_curve.png)
Insira a descrição da imagem aqui

●Taxa de precisão (P_curve.png)
Insira a descrição da imagem aqui

● Curva PR (PR_curve.png)
Insira a descrição da imagem aqui

7. Raciocínio modelo

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

–weights: caminho do modelo após o treino (runs/train/exp/weights/best.pt, consistente com o caminho na avaliação do modelo)
–source: caminho do conjunto de testes (…/dataset/test/images)

  • Captura de tela em execução:
    Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

  • Exibição de resultados de inferência:
    Insira a descrição da imagem aqui

Acho que você gosta

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