El reconocimiento facial ya ha capturado al mundo entero. Todos los principales pa铆ses ya utilizan esta 煤til funci贸n. 驴Por qu茅 no hacer la vida de las personas a煤n m谩s conveniente y no incrustar el reconocimiento facial en la consigna de equipaje?

Para esto necesitamos
- Facenet de red neuronal descargada
- una computadora
- keras
- opencv
Desde el principio importamos dependencias
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'
Una funci贸n que formatea una imagen y la conduce a trav茅s de una red neuronal
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
Una funci贸n que, cuando se presiona un bot贸n por primera vez, guarda la cara de una persona que ha pasado a trav茅s de una red neuronal, y una segunda vez, despu茅s de haber conducido una nueva cara a trav茅s de la red, la compara con la cara guardada
Bueno y maine. Todo comienza con arduino, cuando la letra B se alimenta a trav茅s de la verruga, lo que significa que se presiona el bot贸n. A continuaci贸n, se env铆a un comando al arduino para abrir la caja y se inicia la funci贸n para reconocer y guardar la cara. Luego, si el comando para presionar el bot贸n nuevamente provino del arduino, comenzamos nuevamente la funci贸n de reconocimiento y si las caras convergen, entonces abra la caja.
ser = serial.Serial('COM3', 9600, write_timeout=1, timeout=0.1) print(ser.name)
El video est谩 adjunto.
C贸mo distinguir la cara de una persona de una fotograf铆a de la cara de una persona, todav铆a no lo he pensado.
Enlace a github donde se encuentra el gui贸n