silinhas / object_detection-app

O projeto de controle de acesso em condomínios utilizando reconhecimento de placas tem como objetivo implementar um sistema automatizado e seguro para monitorar e regular o fluxo de veículos dentro de um condomínio residencial.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Controle do acesso de veículos em condomínios

Programa K

Time: Adriano Ferreira, Amir Youssef, Artur Matos, Bernardo Aires, Daired Almeida, Daniel Machado, Emanuelle Passos (líder), Marcelo Henrique

Ideia:

Visando garantir a segurança em condomínios o acesso de veículos é bem restrito, sendo necessário o preenchimento de registros e outros vários processos burocráticos para a autorização da entrada. Assim, a entrega de comida/objetos ou mesmo a entrada de funcionários de aplicativos de corrida pode ficar demorada e complexa.

Solução proposta:

Associar a detecção da placa do veículo aos dados em uma planilha referente aos veículos autorizados a entrar no condomínio para que o acesso dele seja mais rápido e fácil.

Nossa jornada

  • INSTRUCTIONs 1 e 2: Criamos um notebook prático sobre os princípios da detecção de objetos utilizando YOLOv7 para fazer a identificação de veículos em vídeo e OCR de suas placas. Neste notebook, "object_detection", foram trabalhados os conceitos de Detecção de objetos, YOLOv7, Detecção de contornos e OCR.

  • BUILD 1: No notebook "controle_de_acesso_de_veículos_em_condomínios_utilizando_detecção_de_placas" foi feita a associação da detecção da placa do veículo aos dados em uma planilha referente aos veículos autorizados a entrar no condomínio. Dessa forma, quando um veículo é identificado na entrada do condomínio, é feito o OCR de sua placa e o seu acesso é autorizado ou negado. Para tal não mais foi feita a abordagem com YOLO e vídeos, mas foram aplicados filtros que permitissem a detecção de placas em imagens, principalmente devido ao tempo de processamento de vídeos bem como os filtros permitirem que o resultado do OCR seja retornado e possa ser utilizado em sequência.

  • INSTRUCTION 3: Visando melhorar o acesso dos usuários (moradores e funcionários do condomínio) a tal sistema desenvolvido no BUILD 1 pensamos em desenvolver um aplicativo que permitisse facilitar o manejo da base de dados. Para tal, nos dedicamos ao conhecimento e elaboração de um Documento de Requisitos, que pode ser obtido no notebook "documento_de_requisitos" e de um protótipo da aplicação, que pode ser acessado em "protótipo_aplicativo". Além disso, criamos materiais de apoio sobre tais etapas com os conhecimentos obtidos: sobre o documento de requisitos e prototipagem usando a ferramenta Figma.

  • INSTRUCTION 4: No repositório condomínio foram colocados os projetos elaborados utilizando a ferramenta Flutter com o objetivo de ter os primeiros contatos com a criação de um aplicativo android. Foram 3 projetos, melhor detalhados no material de apoio aplicativo.

  • BUILD 2: A detecção de placas contém um fator determinante para que ela seja bem feita ou inviabilizada, isto é, a localização da placa na imagem. Assim, com o objetivo me melhorar a perfomance do modelo foi feita a migração do uso de filtros para o YOLOv8, além de um refinamento dos dados, eliminando imagens duplicadas (que não necessariamente fossem resultado de um data augmentation), aumentando a quantidade de imagens e generalizando ainda mais o dataset incluindo algumas imagens em cenários noturno e chuvoso. Desse modo, obteve-se bons resultados tanto para mAP50 quanto para mAP50-95. Tal migração para o YOLO novamente se deve ao fato de se ter descoberto poder passar o resultado da detecção das placas pro OCR e ainda assim retornar o resultado desta última etapa, o que anteriormente não se havia conseguido fazer com o YOLO, somente com filtros. Para mais detalhes, clique aqui para ver o código.

About

O projeto de controle de acesso em condomínios utilizando reconhecimento de placas tem como objetivo implementar um sistema automatizado e seguro para monitorar e regular o fluxo de veículos dentro de um condomínio residencial.


Languages

Language:Jupyter Notebook 100.0%