我将开始一个python项目,我正在使用pyttsx制作一个语音助手,我认为将面部识别集成到助手中将是一个很酷的功能。我只是想问一下,如果我制作了一个用于人脸识别(opencv)的python脚本,我可以将结果传递给语音助手,这样它就可以大声地拼写出来吗?感谢您的帮助。
发布于 2019-10-16 05:56:54
1)安装face_recognition
pip install face_recognition2)使用cv2 imread加载面。
import cv2
#faces that look like obama
obama_face1 = cv2.imread("obama_1.png")
obama_face2 = cv2.imread("obama_2.png")
#faces that look like trump
trump_face = cv2.imread("trump.png") 3)创建人脸编码。人脸识别将为一张脸创建一个称为face encoding的东西。
import facial_recognition
obama_vector1 = face_recognition.face_encodings(obama_face1)[0]
obama_vector2 = face_recognition.face_encodings(obama_face2)[0]
trump_vector1 = face_recognition.face_encodings(trump_face)[0]4)建立相似度函数。相似性函数告诉我们两个人脸编码是否相似。
import scipy.spatial.distance
def cosine_similarity(u:np.array,b:np.array) -> np.float:
return scipy.spatial.distance.cosine(u,b) 5)运行人脸之间的相似度函数
trump_X_obama1 = cosine_similarity(obama_vector1, trump_vector)
trump_X_obama2 = cosine_similarity(obama_vector2, trump_vector)
obama1_X_obama2 = cosine_similarity(obama_vector1, obama_vector2) 6)当你在两个编码上运行cosine_similarity时,如果数字很小,那么这两个编码是相似的。如果数字很大,它们就不太相似。
print("Obama1 is more like Obama2 than it is Trump", obama1_X_obama2 < trump_X_obama1) 7)创造一些能识别你的东西。保存大量您自己的编码。也可以尝试对其他人脸进行编码。确定什么是足够好的相似性。编码是您确定您是否相似所需的。
https://stackoverflow.com/questions/57423207
复制相似问题