Mapeamento de Área com Yolov8 e ESP32

Nesse artigo farei um recorte da minha pesquisa sobre mapeamento de área, a fim de mostrar que se pode usar sistemas embarcados para interagir com modelos de detecção. 

Neste projeto, irei analisar a minha posição em uma gravação, caminhando em direção a um determinado ponto e voltando. 

Essa gravação tem como objetivo simular uma câmera ao vivo, adicionando uma parte do cenário da imagem como uma área de risco. 

Já prevendo um dos possíveis usos que esse tipo de código pode ter.

Segue abaixo o passo a passo do projeto:

  1. ESP32

a) Use um exemplo de WebServer que liga e desliga um LED.

Mapeamento de Área com YOLOv8 e Sistemas Embarcados

b) Partindo do modelo pronto, realize algumas alterações: coloque seus dados de rede e troque a GPIO para que melhore a montagem.

Mapeamento de Área com YOLOv8 e Sistemas Embarcados

c) Ao executar esse código no Monitor Serial, ele mostrará um IP. Você poderá abri-lo em seu navegador e testar o LED, ligando e desligando. Perceba que, quando ele ligar e desligar, o endereço de IP na barra irá mudar. Iremos usar esses 2 endereços na segunda parte, no código de detecção.

d) O código do SimpleWiFiServer.ino está disponível no meu GitHub.

  1. YOLOv8

a) Carregue no seu ambiente Python as bibliotecas Ultralytics e OpenCV:

pip install ultralytics
pip install opencv-python

OBS: Confira as outras bibliotecas utilizadas no código e as instale se necessário. Entretanto, em meu ambiente nativo elas já estavam inclusas.

b) No Loop principal do código acontece a execução do modelo de detecção, ao detectar uma pessoa ele pode extrair informações da posição e tamanho da caixa de detecção. 

Mapeamento de Área com YOLOv8 e Sistemas Embarcados

c) A variável point_ref será a posição da linha do pé na caixa de demarcação.

Mapeamento de Área com YOLOv8 e Sistemas Embarcados


d) No exemplo coloquei o valor de 850 como limite para o acionamento do alarme, mas isso pode ser testado como mostra a imagem anterior (apagando o # na linha de printf) e reconfigurado de acordo com sua necessidade de detecção.  Quando a pessoa passa do limite configurado, a variável person muda para 1.

e) A Thread de monitoramento irá verificar o valor de person e, conforme a área de detecção, irá ligar ou desligar o LED do WebServer pelo Wi-fi.

Mapeamento de Área com YOLOv8 e Sistemas Embarcados

O resultado do projeto segue abaixo:

Código do projeto no meu GitHub: https://github.com/DevIoTEduardo/Mapeamento_Yolov8_ESP32

Saiba mais

Webinar: Visão computacional Embarcada

Visão Computacional para Detecção de Defeitos

Webinar: Passos para desenvolvimento de um sistema com machine learning e visão computacional 

Aplicação de visão computacional com OpenCV

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Software » Mapeamento de Área com Yolov8 e ESP32

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: