WebApp para detectar faces
Neste post irei mostrar como fazer um webApp para detectar rostos em fotos usando deep learning e streamlit.io
Detecção facial é uma técnica de processamento de imagem e visão computacional para determinar a existência, ou não, de faces numa determinada imagem e, caso exista(m), retornar a localização da(s) mesma(s). [1] Apesar de ser uma tarefa trivial para seres-humanos, é um problema desafiador para computadores, visto que rostos podem variar em cor, iluminação, posicionamento e escala, dificultando a detecção automática. [1]
A solução para o problema de detecção facial engloba diversas técnicas, como segmentação, extração, e verificação de faces e de suas características em um plano de fundo não controlado. [2] O processo de detecção facial pode servir como base para muitos sistemas, como por exemplo, sistemas de reconhecimento facial. — https://pt.wikipedia.org/wiki/Detec%C3%A7%C3%A3o_facial
O reconhecimento de rosto pode ser dividido em várias etapas. A imagem abaixo mostra um exemplo de pipeline de reconhecimento facial.
1. Detecção de rosto — Detectar um ou mais rostos em uma imagem.
2. Extração de recursos — Extração dos recursos mais importantes de uma imagem do rosto.
3. Classificação de rosto — Classifica o rosto com base nos recursos extraídos.
MTCNN
Implementação do detector facial MTCNN para Keras em Python3.4 +. Ele foi escrito do zero, usando como referência a implementação do MTCNN de David Sandberg (FaceNet’s MTCNN) usando Facenet. Baseado no paper Zhang, K et al. (2016) [ZHANG2016].
fonte = https://pypi.org/project/mtcnn/
>>> from mtcnn import MTCNN
>>> import cv2
>>>
>>> img = cv2.cvtColor(cv2.imread("ivan.jpg"), cv2.COLOR_BGR2RGB)
>>> detector = MTCNN()
>>> detector.detect_faces(img)
[
{
'box': [277, 90, 48, 63],
'keypoints':
{
'nose': (303, 131),
'mouth_right': (313, 141),
'right_eye': (314, 114),
'left_eye': (291, 117),
'mouth_left': (296, 143)
},
'confidence': 0.99851983785629272
}
]
Usando Heroku realizamos o deploy do projeto para testes;
Link para acessar o webbApp :
Link : https://webapp-facedetect.herokuapp.com/
Youtube video tutorial
Link : https://webapp-facedetect.herokuapp.com/
código fonte do projeto : https://github.com/bernardcaldas/webapp-face
twitter : https://twitter.com/bernardocalda10