Este é um projeto de detecção de fadiga que utiliza a relação de aspecto dos olhos (EAR) para identificar sinais de sonolência em pessoas. O código é capaz de capturar o vídeo de uma webcam, detectar os rostos presentes no vídeo e calcular o EAR para cada olho. Se o EAR estiver abaixo de um determinado limiar por um número consecutivo de quadros, um alarme será acionado indicando a sonolência.
Este projeto pode ser útil em situações em que a sonolência do operador ou condutor é uma preocupação, como em sistemas de monitoramento de motoristas, sistemas de segurança em ambientes de trabalho, entre outros.
O projeto consiste em:
detecao_fadiga.py
: contém o código para detectar a fadiga utilizando a relação de aspecto dos olhos (EAR).alarm.wav
: contém o arquivo de audio para o aviso sonoro de sonolência.shape_predictor_68_face_landmarks.dat
: contém o modelo treinado para a detecção de pontos da face.
Antes de executar o projeto, é necessário ter as seguintes dependências instaladas:
- scipy
- imutils
- numpy
- playsound
- argparse
- dlib
- opencv-python
- matplotlib
Ou execute apenas um pip install requirements.txt
Para executar o projeto, siga as instruções abaixo:
- Instale as dependências listadas acima, caso ainda não estejam instaladas.
- Clone o repositório ou baixe o arquivo
detecao_fadiga.py
. - Abra um terminal e navegue até o diretório onde o arquivo
detecao_fadiga.py
está localizado. - Execute o seguinte comando no terminal para iniciar o projeto:
python detecao_fadiga.py
O projeto utiliza as seguintes técnicas:
- Detecção de rosto com o detector frontal de rostos do dlib.
- Predição dos marcos faciais utilizando o preditor de marcos faciais do dlib.
- Cálculo da relação de aspecto dos olhos (EAR) para identificar o piscar de olhos.
- Desenho dos contornos do olho utilizando o casco convexo.
- Utilização da biblioteca
playsound
para reproduzir o alarme sonoro. - Visualização da relação de aspecto dos olhos (EAR) ao longo do tempo utilizando a biblioteca
matplotlib
.
Este projeto é fornecido como está, sem garantias ou responsabilidades. Use por sua própria conta e risco.
referencias: Carlos melo do Blog Sigmoidal https://sigmoidal.ai/detector-de-fadiga-usando-python/