Aula 02 – Python – Biblioteca Face Recognition – Localizando rostos

Aula 02 – Python – Face Recognition – Reconhecimento facial

Biblioteca Face Recognition

Biblioteca Face Recognition

Biblioteca Face Recognition – Localizando rostos

Voltar para página principal do blog

Todas as aulas desse curso

Aula 01                            Aula 03

Código da aula:

https://github.com/toticavalcanti/codigo-fluente-face-recognition-tutorial

Documentação oficial do Face Recognition:

https://github.com/ageitgey/face_recognition

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Link do código fluente no Pinterest

Meus links de afiliados:

Hostinger

Digital Ocean

One.com

Biblioteca Face Recognition – Localizando rostos em imagens

Para os exemplos, você mesmo pode preparar suas imagens para testar, ou usar as imagens que eu usei.

Além dos scripts de exemplos, temos uma pasta chamada img, no mesmo nível dos scripts.

Dentro dela temos 3 pastas: groups, known e unknown.

A groups tem fotos de pessoas reunidas.

Em known temos pessoas cadastradas digamos assim, pessoas que conhecemos e sabemos seus nomes.

E em unknown, tem as fotos que queremos que o face_recognition reconheça a partir das fotos contidas na pasta know.

Face Locations

No exemplo 01, e nos próximos também, usaremos a face_locations.

face_recognition.api.face_locations (img, number_of_times_to_upsample = 1, model = ‘hog’)

Retorna uma matriz de caixas delimitadoras de rostos humanos em uma imagem.

Parâmetros:
img – Uma imagem (como uma matriz numpy)
number_of_times_to_upsample – Quantas vezes é para aumentar a amostra da imagem procurando rostos. Números mais altos encontram rostos menores.
model – Qual modelo de detecção de rosto usar. O “hog” é menos preciso, mas, mais rápido nas CPUs. “Cnn” é um modelo de aprendizado profundo bem mais preciso, acelerado por GPU / CUDA (se disponível). O padrão é “hog”.

Retorno:
Uma lista de tuplas de com coordenadas (superior, direita, inferior, esquerda) das faces encontradas na imagem.

Vamos ao exemplo 01 countFacesInImage.py:


import face_recognition

# load the images as a numpy array
image = face_recognition.load_image_file('./img/groups/team2.jpg')
# get the locations of the faces in image
face_locations = face_recognition.face_locations(image)

# Array of coords of each face
print(face_locations)

print(f'Existem {len(face_locations)} pessoas nessa imagem')

Face Encoding

No exemplo 02 iremos usar o face_recognition.api.face_encodings

face_recognition.api.face_encodings (face_image, known_face_locations = None, num_jitters = 1, model = ‘small’)

Dada uma imagem, o face_encodings retorna uma versão da imagem com 128 dimensões.

Parâmetros:

face_image – é a imagem que contém uma ou mais faces.
known_face_locations – Opcional – as caixas delimitadoras de cada face, se você já as conhece.
num_jitters – Quantas vezes será feito o re-sample da imagem, ao calcular a codificação. Quanto maior o número, mais preciso, porém, mais lento (ou seja, 100 é 100x mais lento)
model – Opcional – qual modelo usar. “Grande” (padrão) ou “pequeno”, que retorna apenas 5 pontos, mas é mais rápido.

Retorno:
Uma lista com as codificações das imagens de face em uma versão com 128 dimensões.

Exemplo 02 countFacesInImage.py:


import face_recognition


fernanda_image = face_recognition.load_image_file('./img/known/fernanda_montenegro.jpg')
# face_encodings encode an image at 128 dimentions
fernanda_face_encoding = face_recognition.face_encodings(fernanda_image)[0]

unknown_image = face_recognition.load_image_file('./img/unknown/fernanda-600x398.jpg')

unknown_face_encoding = face_recognition.face_encodings(unknown_image)[0]

# Compare faces
results = face_recognition.compare_faces(
    [fernanda_face_encoding], unknown_face_encoding)

if results[0]:
    print('Essa é a Fernanda Montenegro')
else:
    print('Essa NÃO é a Fernanda Montenegro')

É isso, ficamos por aqui, na próxima, mais mão na massa.

Aula 01                            Aula 03

Todas as aulas desse curso

Voltar para página principal do blog

Meu github:

https://github.com/toticavalcanti/codigo-fluente-face-recognition-tutorial

Documentação oficial do Face Recognition:

https://github.com/ageitgey/face_recognition

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Link do código fluente no Pinterest

Meus links de afiliados:

Hostinger

Digital Ocean

One.com

Valeu, obrigado e bons estudos 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>