Script utilizando OpenCV e modelo Machine Learning para detectar o uso de máscaras.

Overview

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!

You might also like...
Realtime Face Anti Spoofing with Face Detector based on Deep Learning using Tensorflow/Keras and OpenCV
Realtime Face Anti Spoofing with Face Detector based on Deep Learning using Tensorflow/Keras and OpenCV

Realtime Face Anti-Spoofing Detection 🤖 Realtime Face Anti Spoofing Detection with Face Detector to detect real and fake faces Please star this repo

Este conversor criará a medida exata para sua receita de capuccino gelado da grandiosa Rafaella Ballerini!

ConversorDeMedidas_CapuccinoGelado Este conversor criará a medida exata para sua receita de capuccino gelado da grandiosa Rafaella Ballerini! Requirem

Inteligência artificial criada para realizar interação social com idosos.

IA SONIA 4.0 A SONIA foi inspirada no assistente mais famoso do mundo e muito bem conhecido JARVIS. Todo mundo algum dia ja sonhou em ter o seu própri

Notebooks em Python para Métodos Eletromagnéticos
Notebooks em Python para Métodos Eletromagnéticos

GeoSci Labs This is a repository of code used to power the notebooks and interactive examples for https://em.geosci.xyz and https://gpg.geosci.xyz. Th

A series of convenience functions to make basic image processing operations such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV and Python.
A series of convenience functions to make basic image processing operations such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV and Python.

imutils A series of convenience functions to make basic image processing functions such as translation, rotation, resizing, skeletonization, and displ

Solve a Rubiks Cube using Python Opencv and Kociemba module

Rubiks_Cube_Solver Solve a Rubiks Cube using Python Opencv and Kociemba module Main Steps Get the countours of the cube check whether there are tota

A toy project using OpenCV and PyMunk

A toy project using OpenCV, PyMunk and Mediapipe the source code for my LindkedIn post It's just a toy project and I didn't write a documentation yet,

performing moving objects segmentation using image processing techniques with opencv and numpy
performing moving objects segmentation using image processing techniques with opencv and numpy

Moving Objects Segmentation On this project I tried to perform moving objects segmentation using background subtraction technique. the introduced meth

I have created this Virtual Paint Program, in this you can paint(draw) on your screen using hand gestures, created in Python-3 using OpenCV and Mediapipe library. Gestures :-  Index Finger for drawing and Index+Middle Finger for changing position and objects.
Comments
  • New branch

    New branch

    Substitui o caracter "/" por "os.sep". Dessa forma seu código fica independente da plataforma, uma vez que sistemas POSIX utilizam "/" para separar diretórios e sistemas Windows utilizam "".

    opened by andrewunifei 2
  • Dificuldade de resolver o modelo para reconhecer faces

    Dificuldade de resolver o modelo para reconhecer faces

    "classifier = cv.CascadeClassifier(f"{cv.haarcascades}{os.sep}{file_name}") #Modelo para reconhecer faces

    AttributeError: module 'cv2' has no attribute 'haarcascades'"

    opened by Iagolim 0
  • Vício em máscaras de tonalidade mais clara

    Vício em máscaras de tonalidade mais clara

    Um contribuidor notificou um problema referente a dificuldade de detecção de máscaras de tons mais escuros. Foi observado que o conjunto de imagens utilizados para o treinamento do modelo é, em sua maioria, composto por pessoas utilizando máscaras cirúrgicas (geralmente um tom claro de azul).

    Uma possível solução é adicionar mais imagens com tonalidades e cores diferentes de máscaras no conjunto de teste.

    opened by MariaEduardaDeAzevedo 1
  • Dificuldade em reconhecer máscara em pessoas com óculos

    Dificuldade em reconhecer máscara em pessoas com óculos

    Por experiência própria, o modelo reconhece muito melhor a face sem o óculos. Talvez adicionar mais imagens de pessoas usando máscara e óculos ajude a melhorar esse contexto.

    opened by MariaEduardaDeAzevedo 0
Owner
Maria Eduarda de Azevedo Silva
Aluna do curso de Ciência da Computação da Universidade Federal de Campina Grande (UFCG)
Maria Eduarda de Azevedo Silva
Dataset para entrenamiento de yoloV3 para 4 clases

Deteccion de objetos en video Este repo basado en el proyecto PyTorch YOLOv3 para correr detección de objetos sobre video. Construí sobre este proyect

null 1 Nov 1, 2021
null 2 Jul 19, 2022
Yolov5-opencv-cpp-python - Example of using ultralytics YOLO V5 with OpenCV 4.5.4, C++ and Python

yolov5-opencv-cpp-python Example of performing inference with ultralytics YOLO V

null 183 Jan 9, 2023
Machine Learning From Scratch. Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Aims to cover everything from linear regression to deep learning.

Machine Learning From Scratch About Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The purpose

Erik Linder-Norén 21.8k Jan 9, 2023
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

This is the Vowpal Wabbit fast online learning code. Why Vowpal Wabbit? Vowpal Wabbit is a machine learning system which pushes the frontier of machin

Vowpal Wabbit 8.1k Jan 6, 2023
Computer Vision Script to recognize first person motion, developed as final project for the course "Machine Learning and Deep Learning"

Overview of The Code BaseColab/MLDL_FPAR.pdf: it contains the full explanation of our work Base Colab: it contains the base colab used to perform all

Simone Papicchio 4 Jul 16, 2022
A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.

Master status: Development status: Package information: TPOT stands for Tree-based Pipeline Optimization Tool. Consider TPOT your Data Science Assista

Epistasis Lab at UPenn 8.9k Dec 30, 2022
Scripts of Machine Learning Algorithms from Scratch. Implementations of machine learning models and algorithms using nothing but NumPy with a focus on accessibility. Aims to cover everything from basic to advance.

Algo-ScriptML Python implementations of some of the fundamental Machine Learning models and algorithms from scratch. The goal of this project is not t

Algo Phantoms 81 Nov 26, 2022
This is a Machine Learning Based Hand Detector Project, It Uses Machine Learning Models and Modules Like Mediapipe, Developed By Google!

Machine Learning Hand Detector This is a Machine Learning Based Hand Detector Project, It Uses Machine Learning Models and Modules Like Mediapipe, Dev

Popstar Idhant 3 Feb 25, 2022