Detecção de alvo front-end Vue e sistema de visualização de treinamento baseado em Yolov5

1. Reconhecimento de objeto (detecção)

1. Escolha os pesos

 ilustrar:

  1. 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.
  2. 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

Acho que você gosta

Origin blog.csdn.net/weixin_47367099/article/details/124920115#comments_27174135
Recomendado
Clasificación