Nome da ferramenta | Versão |
---|---|
Anaconda | 4.10.3 |
Jupyter Notebook | 6.3.0 |
Python | 3.8.8 |
Opencv-python | 4.6.0.66 |
Twilio | 7.12.0 |
LabelImage | windows_v1.8.0 |
Image downloader - Imageye | 3.0.7 |
charset-normalizer | 2.1.0 |
idna | 3.3 |
numpy | 1.23.2 |
PyJWT | 2.4.0 |
pytz | 2022.2.1 |
requests | 2.28.1 |
urllib3 | 1.26.11 |
Para baixar e instalar o Anaconda utilize o link abaixo:
O Jupyter Notebook ja vem em conjunto com o Anaconda.
Para instalar o Python na versão 3.8.8 utilizando o Anaconda, abra o Anaconda Prompt e digite o comando abaixo:
conda install python=3.8.8
Para que seja instalado os pacotes nas versões corretas utilize o comando:
pip install -r requirements.txt
Para a instalação do LabelImg utilizando o Anaconda, abra o Anaconda Prompt e digite os comandos abaixo:
conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
Para mais informações, verifique: https://github.com/heartexlabs/labelImg
Para baixar e instalar o Image downloader - Imageye utilize o link abaixo:
Para que o código funcione é preciso que você tenha os arquivos do modelo pré treinado do YOLO, para gerar esses arquivos siga os passos abaixo:
Se você vai customizar seu próprio modelo pré treinado do YOLO, você irá precisar de um Dataset e para te auxiliar com a coleta das imagens você pode utilizar:
- Image downloader - Imageye que faz o download de várias imagens direto do google imagens.
- Kaggle que é um site que disponibiliza inúmeros Datasets.
Com o Dataset ja em mãos, podemos utilizar o LabelImg.
- Acessar o LabelImg
- Clique em Open Dir e selecione a pasta que você esta armazenando as imagens, e clique em Selecionar pasta.
- Clique em Change Save Dir e selecione a mesma pasta que você selecionou no Open Dir e clique em Selecionar pasta.
- Antes de começar, abaixo de Save, se estiver com PascalVOC, clique nele para aparecer YOLO.
- Clique em Create RectBox, va até onde o objeto que você quer que seja identificado pelo seu modelo e crie uma Create RectBox entorno dele.
- Coloque o nome da sua classe, e clique em OK.
- Após criar todas as Create RectBox na imagem, clique me Save.
- Clique em Next Image.
- Faça isso para todas as imagens.
Após fazer isso, você vai ter uma pasta com imagens, arquivos txt com o mesmo nome que as imagens contendo coordenadas dos Labels e o arquivo txt classes contendo o nome da sua classe/s.
O nome da pasta deve ser images, se for diferente, tera que ser alterado nos comandos do google colab
- Acesse a pasta contendo as imagens, arquivos txt das labels e arquivo txt classes.
- Selecione tudo -- (Ctrl+a)
- Clique com o botão direito do mouse.
- Se tiver Winrar, selecione a opção Adicionar para o arquivo... no campo Formato do arquivo, selecione a opção zip, e clique em OK
- Se não tiver Winrar, selecione a opção Enviar para >> Pasta compactada
Após fazer isso, acesse seu drive.
O nome da pasta deve ser yolov4, se for diferente, tera que ser alterado nos comandos do google colab
- Clique em Novo
- Clique em Nova pasta
- Coloque o nome: yolov4
- Clique em Criar
Acesse sua pasta no google drive e envie o arquivo images.zip
Nessa etapa você deve decidir qual arquivo de pesos pré-treinado você usará, a diferença deles está em questão de tamanho e performance, exemplos abaixo:
CPU utilizado foi um i5-9300H
- yolov4.conv.137 utilizando esse modelo você terá uma média de 2.5 fps rodando em CPU, valores de precisão e detecção ótimos, o tempo de treino no Google Colab é aproximadamente 16 horas
- yolov4-tiny.conv.29 utilizando esse modelo você terá uma média de 10 fps rodando em CPU, valores de precisão e detecção inferiores, o tempo de treino no Google Colab é aproximadamente 5 horas
Após decidir qual arquivo de peso você utilizará para treinar seu modelo, siga as instruções abaixo:
- Entre no Google Colab
- Logue com sua conta
- No canto esquerdo superior clique na opção Editar
- Clique em Configurações de notebook
- Em Acelerador de hardware coloque a opção GPU e clique em Salvar
- Siga os passos dos arquivos google_colab
Quando o treinamento for concluído, em sua pasta yolov4 do Google Drive deve conter os arquivos:
- classes.txt
- images.zip
- yolov4_testing.cfg
- yolov4_training_1000.weights
- yolov4_training_2000.weights
- yolov4_training_3000.weights
- yolov4_training_4000.weights
- yolov4_training_final.weights
- yolov4_training_last.weights
Você tera que baixar os arquivos: classes.txt, yolov4_testing.cfg e yolov4_training_last.weights, coloque-os dentro da pasta modelo_pre_treinado
Para mais informações do YOLO acesse https://github.com/AlexeyAB/darknet
Com isso o código ja irá funcionar!
Basta comentar a linha 104 até a linha 110 para que não envie um SMS ao detectar um acidente, se não quiser comentar as linhas siga os passos abaixo.
Para que a mensagem seja enviada, é preciso que se crie uma conta no Twilio
Ao logar no Twilio você precisa fazer a solicitação de seu número Twilio para fazer isso clique em Get a Twilio phone number. Após isso, descendo a página irá ter o campo Account Info que deve conter as segunintes informações:
- Account SID
- Auth Token
- My Twilio phone number
Essas informações deverão ser preenchidas no código