人脸录入录入不同的人脸

我想用dlib录入两张不同的人脸,生成两个不同的csv文件,并识别出来,应该怎么做?

可以参考一下 觉得有帮助可以采纳一下
导入dlib和numpy库:
python

import dlib
import numpy as np

  1. 创建dlib的人脸检测器和预测器:
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')

  1. 创建两个CSV文件来存储人脸特征:
csv_file1 = open('face_data1.csv', 'w') 
csv_file2 = open('face_data2.csv', 'w')
  1. 读取两张人脸图片,检测人脸并提取特征:
img1 = dlib.load_rgb_image('face1.jpg')
dets1 = detector(img1, 1)
for k, d in enumerate(dets1):
    shape1 = predictor(img1, d)
    face_descriptor1 = face_recognizer.compute_face_descriptor(img1, shape1)
np.savetxt(csv_file1, face_descriptor1) 

img2 = dlib.load_rgb_image('face2.jpg')
dets2 = detector(img2, 1) 
for k, d in enumerate(dets2):
    shape2 = predictor(img2, d)
    face_descriptor2 = face_recognizer.compute_face_descriptor(img2, shape2)
np.savetxt(csv_file2, face_descriptor2)
  1. 读取测试图片,提取人脸特征并与两张人脸进行比较,识别出最相似的人脸:
    test_img = dlib.load_rgb_image('test_face.jpg')
    dets = detector(test_img, 1)
    for k, d in enumerate(dets):
     shape = predictor(test_img, d)
     face_descriptor = face_recognizer.compute_face_descriptor(test_img, shape)
    face_data1 = np.loadtxt('face_data1.csv')    
    face_data2 = np.loadtxt('face_data2.csv')
    dist1 = np.linalg.norm(face_data1 - face_descriptor, axis=1) 
    dist2 = np.linalg.norm(face_data2 - face_descriptor, axis=1) 
    if min(dist1) < min(dist2):
     print('Face 1') 
    else: 
     print('Face 2')