1. Reconhecimento de objeto (detecção)
1. Escolha os pesos
ilustrar:
- yolov5s.pt, yolov5m.pt, yolov5l.pt, yolov5x.pt são pesos de pré-treino incorporados, que podem reconhecer objetos comuns como: pessoas, gatos, cães, carros, etc.
- Você pode escolher pesos de autotreinamento para identificar e detectar objetos específicos
2. Carregar identificação
2. Treinamento de objetos
1. Anotação de imagem
1.1 Criar um novo conjunto de dados
Nota: Tente não usar chinês!
1.2 Carregar fotos
Nota: O nome da imagem não pode aparecer em chinês!
1.3 Selecione o conjunto de dados rotulado
1.4 Crie uma nova classe de rótulo
1.5 Rotulagem
Observe que você deve salvar a imagem atual toda vez que a marcar!
2. Treinamento com pesos
2.1 Selecione o conjunto de dados
Nota: O conjunto de dados deve ser totalmente rotulado, ou seja, cada imagem precisa ter informações de rotulagem correspondentes.
2.2 Selecione os pesos pré-treino
2.3 Outros parâmetros de treinamento
2.4 Iniciar o treinamento
Se a saída do log de treinamento exceder o limite de memória, reduza o parâmetro Batch size adequadamente:
3. Desempenho e perda
3.1 Exibir registro de treinamento
3.2 Detecção de peso de treinamento
3. Implantação do projeto
1. Requisitos ambientais
1.1 Contêiner Docker
- O ambiente de teste do sistema é o Ubuntu 16.04.6 LTS e o kernel do Linux é 4.15.0:
Static hostname: 304
Icon name: computer-desktop
Chassis: desktop
Machine ID: 1d0f19d8da7049cdaa13ef3402ecdc18
Boot ID: a07e6032ce044fac872d74c61b339b8f
Operating System: Ubuntu 16.04.6 LTS
Kernel: Linux 4.15.0-70-generic
Architecture: x86-64
- A versão do contêiner Docker é 19.03, tente usar uma versão mais recente do Docker:
Docker version 19.03.13, build 4484c46d9d
1.2 Imagens Necessárias
- mysql:5.7 espelhamento de banco de dados mysql
docker pull mysql:5.7
- flasktrain: espelho do projeto mais recente
docker pull registry.cn-hangzhou.aliyuncs.com/lvjune/yolov5_train_system:latest
ou construa a partir do Dockerfile:
docker build . -t yolov5-train-system:latest
ATUALIZAÇÃO : Removido o uso do banco de dados mysql em favor do banco de dados sqlite3 armazenado localmente.
2. Configuração do projeto
2.1 Configuração do banco de dados
- Inicie um contêiner de banco de dados mysql, mapeado para a porta do host 33066, senha root 123456
docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 33066:3306 mysql:5.7
- Inicie e entre no container, crie um banco de dados
mysql -uroot -p123456
create database train_system;
2.2 Configuração do Sistema de Treinamento
- Inicie um contêiner flasktrain e mapeie três portas, a saber: 5050 corresponde à porta de acesso back-end, 6060 corresponde à porta de acesso Tensorboard e 8080 corresponde à porta de acesso front-end
docker run -d -p 5050:5000 -p 6060:6006 -p 8080:80 flasktrain
- Inicie e entre no contêiner, modifique o endereço do servidor de acesso front-end:
vim /train/vue/config.js
FLASK_CONFIG.baseUrl = "http://服务器IP地址:5050"
FLASK_CONFIG.tensorboardUrl = "http://服务器IP地址:6060/"
Atualização : o uso do nginx como um proxy reverso resolve o problema de acesso entre domínios front-end e back-end dentro do contêiner. Para obter detalhes, consulte o conteúdo do proxy do arquivo nginx.conf . Não há necessidade de modificar manualmente as configurações de acesso a portas e endereços.
3. Projeto em execução
3.1 Executando o front-end
service nginx start
3.2 Executando o back-end
cd /train && python run.py
3.3 Acesso ao navegador
http://服务IP地址:8080/
Atualização : Escreva o comando de inicialização no arquivo startup.sh da seguinte maneira:
#!/bin/bash
# cd /train
host=`cat /etc/hosts | awk 'END {print}' | cut -f 1`
sed -i "s/127.0.0.1/${host}/g" nginx.conf
nginx -c /train/nginx.conf
python run.py
# docker run -d -p 80:80 yolov5trainsystem ./startup.sh
# set ff=unix
# chmod +x ./startup.sh
Primeiro, obtenha o endereço virtual alocado pelo docker no contêiner, substitua o 127.0.0.1 do proxy nginx para acesso ao host e, em seguida, inicie o front-end nginx e o flask back-end.
Inicie o comando do contêiner:
docker run -d -p 80:80 yolov5trainsystem:latest
O navegador acessa a porta 80.
4. Código-fonte do sistema
Link de download do código-fonte: https://download.csdn.net/download/weixin_47367099/85441361