MariaEduardaDeAzevedo / Detector De Mascaras
Programming Languages
Projects that are alternatives of or similar to Detector De Mascaras
Reconhecendo máscaras
Este repositório contém um script em Python3 que reconhece se um rosto está ou não portando uma máscara!
O código utiliza da biblioteca OpenCV para o processamento das imagens e scikit-learn para o treinamento do modelo que classifica um rosto que porta ou não uma máscara.
O conjunto de imagens utilizadas para o treinamento do modelo pode ser encontrada na pasta imagens e foi retirado desse link.
Mais sobre o código
Em open_cam.py temos um script que viabiliza que a webcam do seu computador seja iniciada.
Nesse script carregamos um dataframe partindo do conjunto de imagens que temos e treinamos um modelo K-Nearest Neighbor para classificar os rostos.
Para o reconhecimento genérico das faces, utiliza-se o CascadeClassifier, já incluso dentro da biblioteca do OpenCV. De modo geral, esse método de treinamento utiliza de um arquivo .xml, que também já é incluso no pacote, para treinar um modelo que reconheça rostos de forma genérica, utilizando o método Viola-Jones e AdaBoost para o melhoramento do desempenho.
O algoritmo de Machine Learning escolhido para classificação foi o K-Nearest Neighbor, pois foi o que apresentou melhor desempenho diante o conjunto de teste e de validação. A ideia é que, em um próximo experimento, esse mesmo código possa ser refeito utilizando uma CNN!
Alguns links
Aqui vou deixar uns links de referência com o que pesquisei sobre o assunto para desenvolver o código!
- Documentação do OpenCV
- Documentação do scikit-learn
- Playlist de Python + OpenCV do canal Universo Discreto
- Detectando Faces em Vídeo com Deep Learning (vídeo do dono do repositório de onde tirei o conjunto de dados)
- Reconhecimento de Faces | Redes Neurais em PyTorch | Programando em 10 minutos (Peixe Babel)