人工智能之基于face_recognition的人脸检测与识别

不久乘高铁出行,看见高铁火车站已经实现了“刷脸进站”,而且效率很高,很感兴趣,今天抽时间研究一下,其实没那么复杂。

我基本上是基于https://github.com/ageitgey/face_recognition上的资料和源码做一些尝试和试验。

首先,需要配置我们的python环境,我悬着的python27(比较稳定),具体过程不多说了。

然后,需要安装这次的主角face_recognition库,这个的安装花了我不少时间,需要注意一下几点(按照本人的环境):

  1,首先,安装visual studio 2015,因为vs2015默认只安装c#相关组件,所以需要安装c++相关组件。

    ps:vs2015安装c++相关组件的方法:在vs2015中新建c++项目,出现下面场景

    

人工智能之基于face_recognition的人脸检测与识别

    选择第二项,确定后就会自动安装。

    为什么需要安装c++,因为安装face_recognition时会先安装dlib,dlib是基于c++的一个库。

  2,安装cmake(一个跨平台编译工具),然后需要将cmake的安装路径加入到系统环境变量path中去。

最后,就可以直接在dos中执行安装命令了(需要切换到python目录下的Script目录下):pip install  face_recognition,命令会自动帮你安装好需要的dlib库。 

到此为止,我们完成了face_recognition安装工作。

 

---------------------------------------------------------------分割线----------------------------------------------------------------------------------

下面给出几个实例来逐步了解“人脸识别”:

1.一行代码实现“人脸识别”

 

人工智能之基于face_recognition的人脸检测与识别

在Python目录中新建两个文件夹:分别表示“已知姓名的人”和“未知姓名的人”,图片以额、人名命名,如下:

人工智能之基于face_recognition的人脸检测与识别

人工智能之基于face_recognition的人脸检测与识别

 

 接下来,我们通过“认识的人”来识别“不认识的人”:

人工智能之基于face_recognition的人脸检测与识别

结果表明:1.jpg不认识,3.jpg是obama,unkown.jpg中有两个人,一个是obama,另一个不认识

结果还挺准确的!很给力!!

 

2.识别图片中所有的人脸,并显示出来

人工智能之基于face_recognition的人脸检测与识别

人工智能之基于face_recognition的人脸检测与识别

import Image import face_recognition image = face_recognition.load_image_file('F:/Python27/Scripts/all.jpg') face_locations = face_recognition.face_locations(image) #face_locations =face_recognition. #face_locations(image,number_of_times_to_upsample=0,model='cnn') print('i found {} face(s) in this photograph.'.format(len(face_locations))) for face_location in face_locations: top,right,bottom,left = face_location print('A face is located at pixel location Top:{},Left:{},Bottom:{},Right:{}'.format(top,right,bottom,left)) face_image = image[top:bottom,left:right] pil_image=Image.fromarray(face_image) pil_image.show()

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjjdp.html