如果你的电脑配有多核 CPU,你就可以同时执行多个人脸识别任务。例如,如果你的系统有 4 个 CPU 核,你可以同时使用这 4 个 CPU 核,那么同样时间内处理的图像数量是原来的四倍。 如果你使用 Python 3.4 或更新的版本,传入--cpus <number_of_cpu_cores_to_use>参数: $ face_recognition -cpus 4 ./pictures_of_people_i_know/ ./unknown_pictures/ 你还可以传入--cpus -1,来使用系统中所有的 CPU 核。 Python 模块 使用 face_recognition 模块,几行代码轻松控制人脸,so easy! API 文件地址:https://face-recognition.readthedocs.io 自动定位图像中人物的脸部特征 import face_recognitionimage = face_recognition.load_image_file("my_picture.jpg")face_locations = face_recognition.face_locations(image)# face_locations is now an array listing the co-ordinates of each face! 图像人脸识别 import face_recognitionpicture_of_me = face_recognition.load_image_file("me.jpg")my_face_encoding = face_recognition.face_encodings(picture_of_me)[0]# my_face_encoding now contains a universal 'encoding' of my facial features that can be compared to any other picture of a face!unknown_picture = face_recognition.load_image_file("unknown.jpg")unknown_face_encoding = face_recognition.face_encodings(unknown_picture)[0]# Now we can see the two face encodings are of the same person with `compare_faces`!results = face_recognition.compare_faces([my_face_encoding], unknown_face_encoding)if results[0] == True: print("It's a picture of me!")else: print("It's not a picture of me!") 注意事项 该人脸识别模型基于成年人照片训练,因此对儿童照片的识别效果不好。该模型默认比较阈值是 0.6,容易混淆儿童的面部。 将该模型配置到云主机(Heroku、AWS 等) face_recognition 赖以存在的 dlib 是用 C++语言写的,因此将该内置该模型的 app 配置到 Heroku 或 AWS 等云主机提供商就很复杂。在该 repo 中有一个 Dockerfile 示例,展示如何在 Docker 容器中运行内置 face_recognition 模型的 app(详见该网址:https://www.docker.com/)。参考该示例,您能够将该模型配置到任何支持 Docker 图像的服务。 常见问题 问题:使用 face_recognition 或运行样本时,出现 Illegal instruction (core dumped)。 解决方案:dlib 需要在 SSE4 或 AVX 支持下编译,但是你的 CPU 太旧,无法支持编译。你需要根据此处(https://github.com/ageitgey/face_recognition/issues/11#issuecomment-287398611)所示修改代码,然后对 dilb 进行重新编译。 问题:运行摄像头样本时,出现 RuntimeError: Unsupported image type, must be 8bit gray or RGB image. 解决方案:你的摄像头可能并未在 OpenCV 上正确设置。点击此处(https://github.com/ageitgey/face_recognition/issues/21#issuecomment-287779524)了解更多。 问题:运行 pip2 install face_recognition 时出现 MemoryError。 解决方案:face_recognition_models 文件太大,不适合你可用的 pip 缓存内存。试一下 pip2 --no-cache-dir install face_recognition,开奖,解决该问题。 问题:AttributeError: 'module' object has no attribute 'face_recognition_model_v1' 解决方案:你安装的 dlib 版本过旧,需要 19.4 或者更新的版本。请升级 dlib 版本。 问题:TypeError: imread() got an unexpected keyword argument 'mode' 解决方案:你安装的 scipy 版本过旧,需要 0.17 或者更新的版本。请升级 scipy 版本。 (责任编辑:本港台直播) |