Giter VIP home page Giter VIP logo

davicjc / face-safety Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 2.0 543 KB

Este é um programa Python que utiliza a biblioteca "face recognition" para detectar e reconhecer rostos em imagens capturadas pela câmera. Ele possui recursos para adicionar e excluir registros de pessoas, além de um modo scanner que exibe o nome da pessoa ao entrar na frente da câmera. É útil para fins de segurança e controle de acesso.

Python 100.00%
aplicativo automatico cv2 face-recognition python reconhecimento-facial tkinter davicjc

face-safety's Introduction

[English version]

📷Face-Safety

Windows & Linux 'beta':

  • Este é um programa em Python que utiliza a biblioteca de reconhecimento facial "face recognition". Ele permite adicionar fotos para que sejam detectadas pela câmera, excluir registros de pessoas e ativar o modo scanner, que apresenta o nome da pessoa ao entrar em frente à câmera. O programa pode ser utilizado para fins de segurança ou controle de acesso, caso seja adaptado corretamente.

🚀Atalhos:

  • "🪄 Executar 1 Clique" (Essa versão não precisa de nenhum passo para executar, é só baixar e abrir!)
  • "📷Face-Safety" (Sobre o programa/app)
  • "⬇️Como Baixar" (Para esse código, você precisa baixar algumas coisas obrigatórias que as bibliotecas pedem)
  • "🔬Como usar" (Aprenda a usar o programa com todos os detalhes)
  • "🗝️Função KEY" (Essa parte permite gerenciar sistemas como portas eletrônicas e sistemas de monitoramento, podendo ser utilizado em um Raspberry Pi ou qualquer outro lugar onde o código seja compatível. Você pode adicionar administradores e executar ações personalizadas quando um administrador é reconhecido pela câmera)

Contato:

🪄 Executar 1 Clique:

  • 📢 "Apenas para Windows por ser um '.exe'"
  • Clique aqui: "BAIXAR"
  • Essa versão não precisa de nenhum passo para executar, é só baixar e abrir!
  • "Lembrando que essa versão não é possível usar a função "KEY" editável, pois não é possível editar o código, porém tudo funciona.
  • Caso aconteça algum erro, o que é bem raro, execute esse codigo no cmd: pip install dlib && pip install face_recognition && pip install numpy && pip install opencv-python e tente novamente!
  • "Obrigatório câmera! Lembrando que, dependendo do PC, ao abrir, pode demorar um pouco para ser executado 100%".

⬇️Como Baixar:

Para esse código, você precisa baixar algumas coisas obrigatórias que as bibliotecas pedem:

  • 📢 "Para o Linux, você deve baixar todas as dependências que serão mostradas abaixo, exceto a instrução do "Visual Studio". E lembre-se de que o método de instalação no Linux de cada etapa pode ser diferente da maneira feita no Windows. Qualquer dúvida, consulte o ChatGPT, e se não conseguir, entre em contato."

  • Vá à loja da Microsoft e baixe a versão mais recente do Python disponível. Caso queira usar a mesma versão utilizada neste código, basta acessar este link: "Py-3.11".

  • Segundo passo, baixe esse programa: "Visual Studio". Ao executá-lo, ele abrirá uma página de download. Nessa página, selecione a opção "Desenvolvimento para desktop com C++", que geralmente é a primeira opção, e clique em instalar.

  • Terceiro passo, você precisa baixar este programa: "CMake". Durante a instalação, é importante marcar a opção "Add CMake to the system PATH for all users" para evitar problemas. Após isso, você pode continuar o download do programa. Aviso: assim que o programa for baixado, é importante abri-lo pelo menos uma vez e, em seguida, você pode fechá-lo. Baixe o arquivo correspondente ao seu sistema operacional e certifique-se de instalar a versão do programa "Installer". Por exemplo, se você estiver usando o Windows, baixe o instalador para Windows x64.

  • Após fazer os últimos passos, recomendo reiniciar o PC. Para fazer essa etapa, abra seu CMD e execute o seguinte comando: pip install dlib && pip install face_recognition && pip install numpy && pip install opencv-python

  • Após seguir todas essas etapas, você pode abrir o arquivo do programa "Face Safety.py".

  • "Caso ocorra algum erro, pode ser um problema isolado relacionado ao seu sistema atual. Em caso de dúvidas, entre em contato pelo 'ctt no perfil'."

🔬Como usar:

Não esqueça de seguir as instruções da seção "Como Baixar".

  • Esta parte é a página inicial, onde você pode acessar as opções do programa.

  • Esta é a tela que aparece ao clicar no botão 'Adicionar Pessoa'. Nesse campo em branco, você irá colocar o nome da pessoa que deseja cadastrar. Após isso, a câmera será aberta e irá aguardar que você aperte qualquer tecla para tirar a foto. Caso o rosto não seja encontrado na imagem, o scanner não funcionará e você deverá apagar o cadastro na opção 'Remover Pessoa'. Depois, você pode refazer o cadastro da pessoa novamente em 'Adicionar Pessoa'. Lembrete: é importante não colocar nomes repetidos.

  • Nessa parte, você pode escolher quem você irá remover, que são as "fotos" que ficam salvas em sua área de trabalho. Para apagar uma pessoa pelo programa, ele apresentará uma lista de cadastros. Ao encontrar a pessoa que deseja apagar, basta escrever o nome exatamente como foi cadastrado e depois apertar o botão "apagar". O nome da pessoa será excluído nesse ponto do processo. Ao sair da aba "Remover Pessoa" e entrar novamente, a pessoa não constará mais na lista, caso tenha realizado essa etapa corretamente.

  • Por fim, este é o scanner. Ao apertá-lo, automaticamente carregará as pessoas cadastradas e começará a verificar os rostos com seus respectivos nomes. Se houver algum erro, pode ser devido a um cadastro em que a face da pessoa está com difícil acesso, como o uso de bonés ou falta de iluminação, por exemplo.

🗝️Função KEY:

Pode ser personalizado...

  • Essa parte é apenas para aqueles que irão usar o código para gerenciar algo, como portas eletrônicas, sistemas de monitoramento, entre outros. Também haverá suporte para o Raspberry Pi. Nestas duas abas, você pode adicionar uma pessoa como administradora. Sendo assim, no final do código haverá um "Def Key". Quando uma pessoa entrar na frente da câmera e o nome dela estiver na lista de administradores, ela irá chamar essa função e executará o que estiver dentro dela "em loop". Caso contrário, se uma pessoa sem poderes administrativos ou alguém que não esteja cadastrado ficar na frente da câmera, ela não será chamada. Dessa forma, quem for utilizar este código pode realizar uma ação, como destrancar ou trancar uma porta, por exemplo, por meio desta variável. Lembrando que dentro dessa função ela pode ser totalmente personalizada caso você tenha conhecimento do que esteja fazendo.

face-safety's People

Contributors

davicjc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

tigo-lima meetgyn

face-safety's Issues

cnn_face_detector = dlib.cnn_face_detection_model_v1(cnn_face_detection_model) RuntimeError: Error while calling cudaGetDevice(&the_device_id) in file /tmp/pip-install-1n4zswvd/dlib/dlib/cuda/gpu_data.cpp:204. code: 999, reason: unknown error

Would you help me?

I created a python development environment, installed opencv-python and face_recognition.

But when running the main code on linux, it returns this error:

(env) rafhael@rafhael-Alienware-m15-R6:~/Projetos/SMA/mi-sma-testes/face_rec$ python main.py 
Traceback (most recent call last):
  File "main.py", line 24, in <module>
    import face_recognition
  File "/home/rafhael/Projetos/SMA/mi-sma-testes/face_rec/env/lib/python3.8/site-packages/face_recognition/__init__.py", line 7, in <module>
    from .api import load_image_file, face_locations, batch_face_locations, face_landmarks, face_encodings, compare_faces, face_distance
  File "/home/rafhael/Projetos/SMA/mi-sma-testes/face_rec/env/lib/python3.8/site-packages/face_recognition/api.py", line 26, in <module>
    cnn_face_detector = dlib.cnn_face_detection_model_v1(cnn_face_detection_model)
RuntimeError: Error while calling cudaGetDevice(&the_device_id) in file /tmp/pip-install-1n4zswvd/dlib/dlib/cuda/gpu_data.cpp:204. code: 999, reason: unknown error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.