什么,只要一行代码就能搞定人脸识别?当然是假的啦。
虽然不能一行就搞定,依靠python强大的人脸识别包,只要十多行代码完全可以实现人脸识别的功能。这就叫站在巨人的肩膀上,看得更高更远。
face-recognition,使用最先进的人脸识别技术构建而成的python包,而且具有深度学习功能。经测试识别正确率高达99.38%。确实很高。
安装
因为face-recognition使用到了dlib库,这是c++写的一个包含机器学习,计算机视觉等算法的库,所以使用之前要先安装dlib。不过这还不行,dlib库又依赖一个叫做boost的东西,总之有些麻烦,所以我就不写详细步骤啦╰( ̄▽ ̄)╭。linux下安装比较简单,命令行下几行代码就搞定,windows安装见这里。
所有工作准备好之后,使用pip安装:
pip install face-recognition
人脸检测
如何检测一张图片中的人脸?face-recognition把带人脸的图片看成是由像素组成的二维数组,使用face_locations方法返回识别到的人脸的坐标(上下左右)。
这样就可以啦,接下来只要把这些人脸坐标用矩形框圈出来,然后保存即可。
我们打开图片看看效果。
效果不错,都识别出来了。
人脸识别
既然能够识别出有没有人脸,有可能知道这个人是谁吗?当然可以了,前提是你要提供一张包含某个人脸的照片。使用face_encodings对人脸进行编码,然后使用compare_faces方法比较即可。看代码。
除了能检测出和识别出人脸之外,face-recognition还提供深度学习参数的支持,使得识别率更高。
领取专属 10元无门槛券
私享最新 技术干货