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:
(2) Execute as seguintes operações para instalar o conda ambiente:
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
operações
O intérprete criado até agora foi adicionado.
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:
(1) Entre no terminal do pycharm
(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.
(3) Instale pacotes de dependência
pip instalar -r requisitos.txt
3. Teste se as dependências foram instaladas com sucesso
Encontre este arquivo e execute-o.
Você pode descobrir que as imagens do modelo de teste são colocadas em dados/imagens no diretório atual:
execute o arquivo detect.py e a última linha retorna o caminho de salvamento do resultado do teste, conforme mostrado abaixo :
Clique para entrar no diretório runs/detect/exp e você poderá encontrar Resultado do teste:
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):
(2) Crie um arquivo .yaml
Chamei-o de horse.yaml (sem necessidade, nomeie-o como quiser, dependendo das necessidades pessoais):
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.
# 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
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)
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:
- Basta mostrar algumas fotos dos resultados:
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:
Você pode descobrir que os resultados da avaliação do modelo são salvos no caminho runs/val/exp2 e entrar nesta pasta: As
imagens a seguir mostram as mudanças em diferentes indicadores do modelo durante o processo de treinamento
Taxa de recuperação (R_curve.png)
●Pontuação F1(F1_curve.png)
●Taxa de precisão (P_curve.png)
● Curva PR (PR_curve.png)
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:
- Exibição de resultados de inferência: