python人脸识别库
㈠ 谁用过python中的第三方库face recognition
简介
该库可以通过python或者命令行即可实现人脸识别的功能。使用dlib深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild)上的准确率为99.38%。
在github上有相关的链接和API文档。
在下方为提供的一些相关源码或是文档。当前库的版本是v0.2.0,点击docs可以查看API文档,我们可以查看一些函数相关的说明等。
安装配置
安装配置很简单,按照github上的说明一步一步来就可以了。
根据你的python版本输入指令:
pip install face_recognition11
或者
pip3 install face_recognition11
正常来说,安装过程中会出错,会在安装dlib时出错,可能报错也可能会卡在那不动。因为pip在编译dlib时会出错,所以我们需要手动编译dlib再进行安装。
按照它给出的解决办法:
1、先下载下来dlib的源码。
git clone
2、编译dlib。
cd dlib
mkdir build
cd build
cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1
cmake --build1234512345
3、编译并安装python的拓展包。
cd ..
python3 setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA1212
注意:这个安装步骤是默认认为没有GPU的,所以不支持cuda。
在自己手动编译了dlib后,我们可以在python中import dlib了。
之后再重新安装,就可以配置成功了。
根据你的python版本输入指令:
pip install face_recognition11
或者
pip3 install face_recognition11
安装成功之后,我们可以在python中正常import face_recognition了。
编写人脸识别程序
编写py文件:
# -*- coding: utf-8 -*-
#
# 检测人脸
import face_recognition
import cv2
# 读取图片并识别人脸
img = face_recognition.load_image_file("silicon_valley.jpg")
face_locations = face_recognition.face_locations(img)
print face_locations
# 调用opencv函数显示图片
img = cv2.imread("silicon_valley.jpg")
cv2.namedWindow("原图")
cv2.imshow("原图", img)
# 遍历每个人脸,并标注
faceNum = len(face_locations)
for i in range(0, faceNum):
top = face_locations[i][0]
right = face_locations[i][1]
bottom = face_locations[i][2]
left = face_locations[i][3]
start = (left, top)
end = (right, bottom)
color = (55,255,155)
thickness = 3
cv2.rectangle(img, start, end, color, thickness)
# 显示识别结果
cv2.namedWindow("识别")
cv2.imshow("识别", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
注意:这里使用了python-OpenCV,一定要配置好了opencv才能运行成功。
运行结果:
程序会读取当前目录下指定的图片,然后识别其中的人脸,并标注每个人脸。
(使用图片来自美剧硅谷)
编写人脸比对程序
首先,我在目录下放了几张图片:
这里用到的是一张乔布斯的照片和一张奥巴马的照片,和一张未知的照片。
编写程序:
# 识别图片中的人脸
import face_recognition
jobs_image = face_recognition.load_image_file("jobs.jpg");
obama_image = face_recognition.load_image_file("obama.jpg");
unknown_image = face_recognition.load_image_file("unknown.jpg");
jobs_encoding = face_recognition.face_encodings(jobs_image)[0]
obama_encoding = face_recognition.face_encodings(obama_image)[0]
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
results = face_recognition.compare_faces([jobs_encoding, obama_encoding], unknown_encoding )
labels = ['jobs', 'obama']
print('results:'+str(results))
for i in range(0, len(results)):
if results[i] == True:
print('The person is:'+labels[i])
运行结果:
识别出未知的那张照片是乔布斯的。
摄像头实时识别
代码:
# -*- coding: utf-8 -*-
import face_recognition
import cv2
video_capture = cv2.VideoCapture(1)
obama_img = face_recognition.load_image_file("obama.jpg")
obama_face_encoding = face_recognition.face_encodings(obama_img)[0]
face_locations = []
face_encodings = []
face_names = []
process_this_frame = True
while True:
ret, frame = video_capture.read()
small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)
if process_this_frame:
face_locations = face_recognition.face_locations(small_frame)
face_encodings = face_recognition.face_encodings(small_frame, face_locations)
face_names = []
for face_encoding in face_encodings:
match = face_recognition.compare_faces([obama_face_encoding], face_encoding)
if match[0]:
name = "Barack"
else:
name = "unknown"
face_names.append(name)
process_this_frame = not process_this_frame
for (top, right, bottom, left), name in zip(face_locations, face_names):
top *= 4
right *= 4
bottom *= 4
left *= 4
cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), 2)
font = cv2.FONT_HERSHEY_DUPLEX
cv2.putText(frame, name, (left+6, bottom-6), font, 1.0, (255, 255, 255), 1)
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_capture.release()
cv2.destroyAllWindows()5455
识别结果:
我直接在手机上网络了几张图试试,程序识别出了奥巴马。
这个库很cool啊!
㈡ python pip 安装dlib一直失败
安装失败需要检查几个问题:
兼容问题,对应的包支持的操作系统,支持的Python版本
安装问题,部分包只能通过源码安装,或者离线的wheel方式安装
核对包的安装文档
㈢ 如何实现人脸识别及其原理
如何实现人脸识别及其原理
只要开人脸识别功能就行了 人脸识别其实很简单,相机处理器对拍到的物体进行长宽比例的分析,分析出的数值接近人脸的比例就会自动锁定,其实就是数学上的计算和比例,也许大家认为人脸差别很大,其实都是遵循着固定的比率的,只要不是畸形,不管胖瘦脸部的比例都是人脸特有的那个值,所以即使是素描画,相机一样认为他是人脸,只要他的比例是对的
winform如何实现人脸识别
=IF(OR(P9=""),"",Q9&"."&R9&""&LEFT(S9,2)&"")
意思是当P9为空,就显示空,否则显示Q9为整数部份,&"."为加上一个小数点,小数部份为R9和S9的前两位阵列成.这个公式里的OR和后&""是多余的,写成这样就行=IF(P9="","",Q9&"."&R9&""&LEFT(S9,2))
Q9=30 R9=32 S9=1.3255在后面的单元格显示30.3201,如果是当S9整数小于2位,就在前面添0,大于2位就显示几位整,那么输入
=Q9&"."&R9&IF(LEN(ROUNDDOWN(S9,0))<2,0&ROUNDDOWN(S9,0),ROUNDDOWN(S9,0))
如何实现人脸表情识别
适合啊,我同学做的就跟你一点差别,她是人脸识别,没有表情。
苹果iPhoneX支援人脸识别是如何实现的?
据说,苹果新品手机可以“在一百万张脸中识别出你的肥脸”,还可以通过人脸识别解锁手机,以及订制动态3D Animojis 表情。
苹果iPhoneX人脸识别是怎么实现的呢?
这是一个复杂的技术问题......人脸识别主要包括人脸检测、特征提取、人脸分类三个过程。
简单地说,就是通过人脸检测,对五官进行一些关键点的定位,然后提取计算机能够识别的人脸特征,最后进行一个相似度的比对,从而得到一个人脸识别的结果,也就是判断“刷脸”的是不是你本人。
让人最为激动还是苹果在取消home键后,替代Touch ID的Face ID功能。有了人脸识别技术加持,抬手秒解锁iPhone的过程真的是更简单也更迅速。
不仅如此,苹果人脸识别解锁的安全性、可靠性也非常高。运用3D结构光技术,iPhone X 能够快速对“人脸3D建模”。即使使用者改变发型,戴上眼镜帽子,或者在晚上,iPhone X都能成功解锁。
人脸识别技术这么牛,那它是万能的吗?只要是人脸都可以识别、辨认出来么?其实,在进行人脸识别的时候,也存在一些难题,比如人的姿态、光照、遮挡等都会对人脸识别造成影响。
如何实现人的面部识别?
首先是面部捕捉。它根据人的头部的部位进行判定,首先确定头部,然后判断眼睛和嘴巴等头部特征,通过特征库的比对,确认是面部,完成面部捕捉,ai可以这样做。 不过个人以为这个技术并不好用,特别是在有不止一个人的场景上,比如大合照,对焦点经常乱跑,所以偶的相机基本还是放在中央对焦上,毕竟cpu再聪明,还是人脑更靠谱。。。
mate9pro,可以实现人脸识别吗
Mate9 Pro会支援人脸解锁/识别功能,正在努力适配中。版本具体的更新资讯,请您关注花粉论坛官方通知。感谢您对华为产品的一贯支援。
如何用Python实现简单人脸识别
你可以使用opencv库提供的人脸识别模组,这样子会比较快
Win10怎样用Kinect实现人脸识别功能
具体操作方法:
1、首先你需要一个连线Windows10电脑和Kinect的接口卡;
2、然后还需要给系统做一个小手术以获取Kinect Beta驱动更新:
- 按Win+R开启执行,输入regedit回车开启登录档编辑器;
- 导航至HKLMSofareMicrosoft
- 建立子键DriverFlightingPartner
3、在Partner子键中新建名为“TargetRing”的专案,将其值设定为“Drivers”。
不需要重启电脑,之后你就可以在Windows Update或装置管理器中更新Kinect Beta驱动了。
以上就是Windows10用Kinect实现人脸识别功能的方法了,这样一来只要给连线一个Kinect就可以使用Windows10人脸识别功能,而不用更换电脑了。
人脸识别技术是怎样实现人脸精准检测?
是的,比如云脉人脸识别中的人脸检测技术就是采用三维定向,对人脸三维朝向,做精准到“度”的判断,以及对人脸特征点进行“画素级”定位,轻松判断眼睛开合状态,还可通过技术对现有人脸识别做技术上的补充和完善,进而达到识别的创新性和严谨性。
Win10系统怎么使用Kinect实现人脸识别
操作方法:
1、首先你需要一个连线Windows10电脑和Kinect的接口卡;
2、然后还需要给系统做一个小手术以获取Kinect Beta驱动更新:
- 按Win+R开启执行,输入regedit回车开启登录档编辑器;
- 导航至HKLMSofareMicrosoft
- 建立子键DriverFlightingPartner
3、在Partner子键中新建名为“TargetRing”的专案,将其值设定为“Drivers”。
不需要重启电脑,之后你就可以在Windows Update或装置管理器中更新Kinect Beta驱动了。
以上就是Windows10用Kinect实现人脸识别功能的方法了,这样一来只要给连线一个Kinect就可以使用Windows10人脸识别功能,而不用更换电脑了。
㈣ 去哪里找python的开源项目
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。在GitHub,用户可以十分轻易地找到海量的开源代码。
下面给大家介绍一些GitHub上25个开源项目:
(1)TensorFlow Models
如果你对机器学习和深度学习感兴趣,一定听说过TensorFlow。TensorFlow Models是一个开源存储库,可以找到许多与深度学习相关的库和模型。
(GitHub: https://github.com/tensorflow/models )
(2)Keras
Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行。旨在完成深度学习的快速开发(GitHub: https://github.com/keras-team/keras )
(3)Flask
Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎,使用BSD授权。
(GitHub: https://github.com/pallets/flask )
(4)scikit-learn
scikit-learn是一个用于机器学习的Python模块,基于 NumPy、SciPy 和 matplotlib 构建。,并遵循 BSD 许可协议。
(GitHub: https://github.com/scikit-learn )
(5)Zulip
Zulip是一款功能强大的开源群聊应用程序,它结合了实时聊天的即时性和线程对话的生产力优势。Zulip作为一个开源项目,被许多世界500强企业,大型组织以及其他需要实时聊天系统的用户选择使用,该系统允许用户每天轻松处理数百或数千条消息。Zulip拥有超过300名贡献者,每月合并超过500次提交,也是规模最大,发展最快的开源群聊项目。
(GitHub: https://github.com/zulip/zulip )
相关推荐:《Python入门教程》
(6)Django
Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架,旨在快速开发出清晰,实用的设计。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。
(GitHub: https://github.com/django/django )
(7)Rebound
Rebound 是一个当你得到编译错误时即时获取 Stack Overflow 结果的命令行工具。 就用 rebound 命令执行你的文件。这对程序员来说方便了不少。
(GitHub: https://github.com/shobrook/rebound )
(8)Google Images Download
这是一个命令行python程序,用于搜索Google Images上的关键字/关键短语,并可选择将图像下载到您的计算机。你也可以从另一个python文件调用此脚本。
(GitHub: https://github.com/hardikvasa/google-images-download )
(9)YouTube-dl
youtube-dl 是基于 Python 的命令行媒体文件下载工具,完全开源免费跨平台。用户只需使用简单命令并提供在线视频的网页地址即可让程序自动进行嗅探、下载、合并、命名和清理,最终得到已经命名的完整视频文件。
(GitHub: htt ps://github.com/rg3/youtube-dl )
(10)System Design Primer
此repo是一个系统的资源集合,可帮助你了解如何大规模构建系统。
(GitHub: https://github.com/donnemartin/system-design-primer )
(11)Mask R-CNN
Mask R-CNN用于对象检测和分割。这是对Python 3,Keras和TensorFlow的Mask R-CNN实现。该模型为图像中对象的每个实例生成边界框和分割蒙版。它基于特Feature Pyramid Network(FPN)和 ResNet101 backbone。
(GitHub: https://github.com/matterport/Mask_RCNN )
(12)Face Recognition
Face Recognition 是一个基于 Python 的人脸识别库,使用十分简便。这还提供了一个简单的face_recognition命令行工具,可以让您从命令行对图像文件夹进行人脸识别!
(GitHub: https://github.com/ageitgey/face_recognition )
(13)snallygaster
用于扫描HTTP服务器上的机密文件的工具。
(GitHub: https://github.com/hannob/snallygaster )
(14)Ansible
Ansible是一个极其简单的IT自动化系统。它可用于配置管理,应用程序部署,云配置,支持远程任务执行和多节点发布 - 包括通过负载平衡器轻松实现零停机滚动更新等操作。
(GitHub: https://github.com/ansible/ansible )
(15)Detectron
Detectron是Facebook AI 研究院开源的的软件系统,它实现了最先进的目标检测算法,包括Mask R-CNN。它是用Python编写的,由Caffe2深度学习框架提供支持。
(16)asciinema
终端会话记录器和asciinema.org的最佳搭档。
(GitHub: https://github.com/asciinema/asciinema )
(17)HTTPie
HTTPie 是一个开源的命令行的 HTTP 工具包,其目标是使与Web服务的CLI交互尽可能人性化。它提供了一个简单的http命令,允许使用简单自然的语法发送任意HTTP请求,并显示彩色输出。HTTPie可用于测试,调试以及通常与HTTP服务器交互。
(GitHub: https://github.com/jakubroztocil/httpie )
(18)You-Get
You-Get是一个小型命令行实用程序,用于从Web下载媒体内容(视频,音频,图像),支持国内外常用的视频网站。
(GitHub: https://github.com/soimort/you-get )
(19)Sentry
Sentry从根本上讲是一项服务,可以帮助用户实时监控和修复崩溃。基于Django构建,它包含一个完整的API,用于从任何语言、任何应用程序中发送事件。
(GitHub: https://github.com/getsentry/sentry )
(20)Tornado
Tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,,最初是由FriendFeed上开发的。通过使用非阻塞网络I / O,Tornado可以扩展到数万个开放连接,是long polling、WebSockets和其他需要为用户维护长连接应用的理想选择。
(GitHub: https://github.com/tornadoweb/tornado )
(21)Magenta
Magenta是一个探索机器学习在创造艺术和音乐过程中的作用的研究项目。这主要涉及开发新的深度学习和强化学习算法,用于生成歌曲,图像,绘图等。但它也是构建智能工具和界面的探索,它允许艺术家和音乐家使用这些模型。
(GitHub: https://github.com/tensorflow/magenta )
(22)ZeroNet
ZeroNet是一个利用比特币的加密算法和BitTorrent技术提供的不受审查的网络,完全开源。
(GitHub: https://github.com/HelloZeroNet/ZeroNet )
(23)Gym
OpenAI Gym是一个用于开发和比较强化学习算法的工具包。这是Gym的开源库,可让让你访问标准化的环境。
(GitHub: https://github.com/openai/gym )
(24)Pandas
Pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。此外,它还有更广泛的目标,即成为所有语言中最强大,最灵活的开源数据分析/操作工具。它目前已经朝着这个目标迈进。
(GitHub: https://github.com/pandas-dev/pandas )
(25)Luigi
Luigi 是一个 Python 模块,可以帮你构建复杂的批量作业管道。处理依赖决议、工作流管理、可视化展示等等,内建 Hadoop 支持。(GitHub: https://github.com/spotify/luigi )
㈤ python人脸识别所用的优化算法有什么
python三步实现人脸识别
Face Recognition软件包
这是世界上最简单的人脸识别库了。你可以通过Python引用或者命令行的形式使用它,来管理和识别人脸。
该软件包使用dlib中最先进的人脸识别深度学习算法,使得识别准确率在《Labled Faces in the world》测试基准下达到了99.38%。
它同时提供了一个叫face_recognition的命令行工具,以便你可以用命令行对一个文件夹中的图片进行识别操作。
特性
在图片中识别人脸
找到图片中所有的人脸
这里是一个例子:
1㈥ 如何线上部署用python基于dlib写的人脸识别算法
python使用dlib进行人脸检测与人脸关键点标记
Dlib简介:
首先给大家介绍一下Dlib
我使用的版本是dlib-18.17,大家也可以在我这里下载:
之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake
cd to dlib-18.17/python_examples
./compile_dlib_python_mole.bat 123
之后会得到一个dlib.so,复制到dist-packages目录下即可使用
这里大家也可以直接用我编译好的.so库,但是也必须安装libboost才可以,不然python是不能调用so库的,下载地址:
将.so复制到dist-packages目录下
sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/1
最新的dlib18.18好像就没有这个bat文件了,取而代之的是一个setup文件,那么安装起来应该就没有这么麻烦了,大家可以去直接安装18.18,也可以直接下载复制我的.so库,这两种方法应该都不麻烦~
有时候还会需要下面这两个库,建议大家一并安装一下
9.安装skimage
sudo apt-get install python-skimage1
10.安装imtools
sudo easy_install imtools1
Dlib face landmarks Demo
环境配置结束之后,我们首先看一下dlib提供的示例程序
1.人脸检测
dlib-18.17/python_examples/face_detector.py 源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt## This example program shows how to find frontal human faces in an image. In# particular, it shows how you can take a list of images from the command# line and display each on the screen with red boxes overlaid on each human# face.## The examples/faces folder contains some jpg images of people. You can run# this program on them and see the detections by executing the# following command:# ./face_detector.py ../examples/faces/*.jpg## This face detector is made using the now classic Histogram of Oriented# Gradients (HOG) feature combined with a linear classifier, an image# pyramid, and sliding window detection scheme. This type of object detector# is fairly general and capable of detecting many types of semi-rigid objects# in addition to human faces. Therefore, if you are interested in making# your own object detectors then read the train_object_detector.py example# program. ### COMPILING THE DLIB PYTHON INTERFACE# Dlib comes with a compiled python interface for python 2.7 on MS Windows. If# you are using another python version or operating system then you need to# compile the dlib python interface before you can use this file. To do this,# run compile_dlib_python_mole.bat. This should work on any operating# system so long as you have CMake and boost-python installed.# On Ubuntu, this can be done easily by running the command:# sudo apt-get install libboost-python-dev cmake## Also note that this example requires scikit-image which can be installed# via the command:# pip install -U scikit-image# Or downloaded from . import sys
import dlib
from skimage import io
detector = dlib.get_frontal_face_detector()
win = dlib.image_window()
print("a");for f in sys.argv[1:]:
print("a");
print("Processing file: {}".format(f))
img = io.imread(f)
# The 1 in the second argument indicates that we should upsample the image
# 1 time. This will make everything bigger and allow us to detect more
# faces.
dets = detector(img, 1)
print("Number of faces detected: {}".format(len(dets))) for i, d in enumerate(dets):
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
i, d.left(), d.top(), d.right(), d.bottom()))
win.clear_overlay()
win.set_image(img)
win.add_overlay(dets)
dlib.hit_enter_to_continue()# Finally, if you really want to you can ask the detector to tell you the score# for each detection. The score is bigger for more confident detections.# Also, the idx tells you which of the face sub-detectors matched. This can be# used to broadly identify faces in different orientations.if (len(sys.argv[1:]) > 0):
img = io.imread(sys.argv[1])
dets, scores, idx = detector.run(img, 1) for i, d in enumerate(dets):
print("Detection {}, score: {}, face_type:{}".format(
d, scores[i], idx[i]))5767778798081
我把源代码精简了一下,加了一下注释: face_detector0.1.py
# -*- coding: utf-8 -*-import sys
import dlib
from skimage import io#使用dlib自带的frontal_face_detector作为我们的特征提取器detector = dlib.get_frontal_face_detector()#使用dlib提供的图片窗口win = dlib.image_window()#sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始向后依次获取图片路径for f in sys.argv[1:]: #输出目前处理的图片地址
print("Processing file: {}".format(f)) #使用skimage的io读取图片
img = io.imread(f) #使用detector进行人脸检测 dets为返回的结果
dets = detector(img, 1) #dets的元素个数即为脸的个数
print("Number of faces detected: {}".format(len(dets))) #使用enumerate 函数遍历序列中的元素以及它们的下标
#下标i即为人脸序号
#left:人脸左边距离图片左边界的距离 ;right:人脸右边距离图片左边界的距离
#top:人脸上边距离图片上边界的距离 ;bottom:人脸下边距离图片上边界的距离
for i, d in enumerate(dets):
print("dets{}".format(d))
print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}"
.format( i, d.left(), d.top(), d.right(), d.bottom())) #也可以获取比较全面的信息,如获取人脸与detector的匹配程度
dets, scores, idx = detector.run(img, 1)
for i, d in enumerate(dets):
print("Detection {}, dets{},score: {}, face_type:{}".format( i, d, scores[i], idx[i]))
#绘制图片(dlib的ui库可以直接绘制dets)
win.set_image(img)
win.add_overlay(dets) #等待点击
dlib.hit_enter_to_continue()041424344454647484950
分别测试了一个人脸的和多个人脸的,以下是运行结果:
运行的时候把图片文件路径加到后面就好了
python face_detector0.1.py ./data/3.jpg12
一张脸的:
两张脸的:
这里可以看出侧脸与detector的匹配度要比正脸小的很多
2.人脸关键点提取
人脸检测我们使用了dlib自带的人脸检测器(detector),关键点提取需要一个特征提取器(predictor),为了构建特征提取器,预训练模型必不可少。
除了自行进行训练外,还可以使用官方提供的一个模型。该模型可从dlib sourceforge库下载:
arks.dat.bz2
也可以从我的连接下载:
这个库支持68个关键点的提取,一般来说也够用了,如果需要更多的特征点就要自己去训练了。
dlib-18.17/python_examples/face_landmark_detection.py 源程序:
#!/usr/bin/python# The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt## This example program shows how to find frontal human faces in an image and# estimate their pose. The pose takes the form of 68 landmarks. These are# points on the face such as the corners of the mouth, along the eyebrows, on# the eyes, and so forth.## This face detector is made using the classic Histogram of Oriented# Gradients (HOG) feature combined with a linear
㈦ 关于python人脸识别的问题
应该是没有找到分类器编码文件,把 haarcascade_frontalface_default.xml, haarcascade_eye.xml文件放到项目根目录下,再用cv.CascadeClassifier(path1), cv.CascadeClassifier(path2)两个API导入,另python下windows的文件路径要用 \\ 或者 /
㈧ 人脸识别软件
可以做到人脸识别的系统可以给你推荐脸探app。功能多,而且通过扫描人脸照片就能够识别,还有一定的商业价值,能追踪在逃人员,走失老人或孩童等。
脸搜,这个还是比较赞的,功能多,而且通过扫描人脸照片就能够识别。
介绍。
Ageitgey
Ageitgey是最流行的免费人脸识别软件,它在GitHub上也有37.6k的星星。该软件可以通过Python API或其二进制命令行工具使用。这个平台有关于安装的所有说明,这使得它更加有趣和流行。
2.CompreFace
CompreFace于2020年在GitHub上发布,拥有约900颗星星。它是少数几个只需一个docker compose命令即可使用的自托管REST API自由人脸识别软件之一。该软件可以识别多个视频流中的人脸。CompreFace还有一个用于管理用户角色和面部集合的UI。
3.DeepFace
DeepFace于2020年在Github上发布,拥有约1100颗星星。这个免费的人脸识别软件支持不同的人脸识别方法,如FaceNet和Insightface。
4.FaceNet
FaceNet是一个由谷歌研究人员创建的免费人脸识别程序,它是一个开源Python库,实现了该程序。FaceNet具有很高的准确性,但唯一的缺点是它没有RESTAPI。5.InsightFace
InsightFace是另一款免费人脸识别软件,拥有约800颗星星。该软件使用最新和准确的人脸识别方法。InsightFace与以下软件一样准确。
㈨ 人脸识别为什么用python开发
可以使用OpenCV,OpenCV的人脸检测功能在一般场合还是不错的。而ubuntu正好提供了python-opencv这个包,用它可以方便地实现人脸检测的代码。
写代码之前应该先安装python-opencv:
#!/usr/bin/python
#-*-coding:UTF-8-*-
#face_detect.py
#FaceDetectionusingOpenCV.Basedonsamplecodefrom:
#http://python.pastebin.com/m76db1d6b
#Usage:pythonface_detect.py<image_file>
importsys,os
fromopencv.cvimport*
fromopencv.highguiimport*
fromPILimportImage,ImageDraw
frommathimportsqrt
defdetectObjects(image):
""""""
grayscale=cvCreateImage(cvSize(image.width,image.height),8,1)
cvCvtColor(image,grayscale,CV_BGR2GRAY)
storage=cvCreateMemStorage(0)
cvClearMemStorage(storage)
cvEqualizeHist(grayscale,grayscale)
cascade=cvLoadHaarClassifierCascade(
'/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml',
cvSize(1,1))
faces=cvHaarDetectObjects(grayscale,cascade,storage,1.1,2,
CV_HAAR_DO_CANNY_PRUNING,cvSize(20,20))
result=[]
forfinfaces:
result.append((f.x,f.y,f.x+f.width,f.y+f.height))
returnresult
defgrayscale(r,g,b):
returnint(r*.3+g*.59+b*.11)
defprocess(infile,outfile):
image=cvLoadImage(infile);
ifimage:
faces=detectObjects(image)
im=Image.open(infile)
iffaces:
draw=ImageDraw.Draw(im)
forfinfaces:
draw.rectangle(f,outline=(255,0,255))
im.save(outfile,"JPEG",quality=100)
else:
print"Error:cannotdetectfaceson%s"%infile
if__name__=="__main__":
process('input.jpg','output.jpg')