O reconhecimento de rosto já capturou o mundo inteiro. Todos os principais países já usam esse recurso útil. Por que não tornar a vida das pessoas ainda mais conveniente e não incorporar o reconhecimento facial em um depósito?

Para isso, precisamos
- facenet de rede neural baixado
- um computador
- keras
- opencv
Desde o início, importamos dependências
from keras.models import load_model import numpy as np from keras.utils import plot_model import math import glob import os import cv2 import serial
model_path = 'facenet_keras.h5' model = load_model(model_path) cascade_path = 'haarcascade_frontalface_alt2.xml'
Função que formata uma imagem e a dirige através de uma rede neural
def calc_embs(imgs, margin, batch_size): fram1e = cv2.resize(imgs,(160,160)) ofg2 = np.array(fram1e) aligned_images = prewhiten(ofg2) pd = [] x_train = np.array([aligned_images]) embs1 = model.predict_on_batch(x_train) embs1.reshape(1,-1) embs = l2_normalize(np.concatenate(embs1)) return embs
Uma função que, quando um botão é pressionado pela primeira vez, salva o rosto de uma pessoa que passou por uma rede neural e, pela segunda vez, depois de passar um novo rosto pela rede, o compara com o rosto salvo
Bem e maine. Tudo começa com o arduino, quando a letra B é alimentada pela verruga, o que significa que o botão é pressionado. Em seguida, um comando é enviado ao arduino para abrir a caixa e a função para reconhecer e salvar a face é iniciada. Então, se o comando para pressionar o botão novamente vier do arduino, iniciaremos novamente a função de reconhecimento e, se as faces convergirem, abra a caixa.
ser = serial.Serial('COM3', 9600, write_timeout=1, timeout=0.1) print(ser.name)
O vídeo está anexado.
Como distinguir o rosto de uma pessoa de uma fotografia do rosto de uma pessoa - ainda não pensei.
Link para o github onde está o script