资源 | 基于Python的开源人脸识别库:离线识别率高达99.38% 2017-07-28 12:27 来源:机器之心 人脸识别 原标题:资源 | 基于Python的开源人脸识别库:离线识别率高达99.38% 选自Github 参与:路雪 仅用 Python 和命令行就可以实现人脸识别的库开源了。该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。 该项目是要构建一款免费、开源、实时、离线的网络 app,支持组织者使用人脸识别技术或二维码识别所有受邀人员。 有了世界上最简单的人脸识别库,使用 Python 或命令行,即可识别和控制人脸。 该库使用 dlib 顶尖的深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild benchmark)上的准确率高达 99.38%。 这也提供了一个简单的 face_recognition 命令行工具,你可以打开命令行中任意图像文件夹,进行人脸识别! 项目地址:https://github.com/ageitgey/face_recognition#face-recognition 特征找出图片中的人脸 找出下面图片中所有的人脸: import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_locations = face_recognition.face_locations(image) 找到并且控制图像中的脸部特征 找到并勾勒出每个人的眼睛、鼻子、嘴和下巴。 import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_landmarks_list = face_recognition.face_landmarks(image) 找出脸部特征对很多重要的事情都非常有用。但是你也可以用它来做一些「蠢事」,比如数字化妆(美图): 识别图片中的人脸 识别每张图片中的人物。 import face_recognitionknown_image = face_recognition.load_image_file("biden.jpg")unknown_image = face_recognition.load_image_file("unknown.jpg")biden_encoding = face_recognition.face_encodings(known_image)[0]unknown_encoding = face_recognition.face_encodings(unknown_image)[0]results = face_recognition.compare_faces([biden_encoding], unknown_encoding) 你甚至可以使用该库和其他的 Python 库执行实时人脸识别: 此处可查看代码示例:https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py 安装 要求: Python 3+ 或 Python 2.7 macOS 或 Linux (Windows 未测试) 还可在树莓派 2+上运行(按照具体指令来安装运行:https://gist.github.com/ageitgey/1ac8dbe8572f3f533df6269dab35df65) 预配置的 VM 图像同样可用。 使用pin3从pypi安装这一模块: pip3 install face_recognition 重要提示:pip 尝试编译 dlib 依赖时很可能会遇到一些问题。如果遇到问题,前往该地址(https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf)从来源(而不是 pip)中安装 dlib,从而修复该错误。 手动安装 dlib 后,再次运行 pip3 install face_recognition,直播,完成安装。 如果安装方面还有问题,你还可以试试预配置的 VM(https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b) 用途命令行界面 安装 face_recognition 时,你会得到一个名为 face_recognition 的简单命令行程序,该程序可用于识别照片或装满照片的文件夹中的人脸。 首先,你需要提供一个包含图片的文件夹,且每张图片中的每个人你都认识。每个人有一个图像文件,文件名就是图片中人物的名字: 然后,你需要再建一个文件夹,包含你想要识别的图像文件: 之后,你仅需要在已知人物文件夹和未知人物文件夹(或单个图像)中运行 face_recognition 命令,该程序会告诉你每个图像中的人物是谁: $ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures//unknown_pictures/unknown.jpg,Barack Obama/face_recognition_test/unknown_pictures/unknown.jpg,unknown_person 每张人脸的输出结果只有一行,由文件名和找到的人物名组成,中间用逗号分隔。 unknown_person 是未与已知人物文件夹中任何照片相匹配的人脸。 如果你只想知道每张照片中的人物姓名,不在意文件名,那么你可以采用以下做法: $ face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/ | cut -d ',' -f2Barack Obamaunknown_person (责任编辑:本港台直播) |