近年来,随着计算机视觉技术、大数据、人工智能、机器学习等技术的疾速发展,人脸识别技术在各国出现了爆发式增长,给人们的工作和生活带来了极大便利。根据全球第二大市场研究机构Markets and Markets年中发布的预测,2019年全球人脸识别市场规模预计为32亿美元,预计2024年将达79亿美元,市场的主要驱动力来自于各国政府、国土安全、金融、零售、医疗保健等服务领域。所以,我们今天来聊聊人脸识别技术。
part1:人脸识别的崛起
1.什么是人脸识别
人脸识别是将采集到的数据信息,根据人脸特征信息进行比对,从而辨识身份的技术。每逢谈到人脸识别技术,就会想到人工智能。近年来,人工智能的发展成为当代技术革命的一部分。可以说,计算机领域技术的发展,极大的带动了这场革命。
常常在想,人脸识别是如何做到的?这里面与复杂高级的数据建模,建立人脸各部分的数据模型密切相关。不过,说白了,其实也就是算法。算法的研究,成为推动智能发展的顶梁柱。
这里面涉及的比较多,无论是从深度学习,还是机器学习,人工智能,这里面的实现过程,想必都是十分复杂的。
在下知识面比较薄弱,不敢多言。不过肯定的一点是,你的人脸识别首先要将人脸转化为计算机可以识别的数据,人脸识别其实就是计算机方面的数据识别。
2.人脸识别技术的应用和发展
谈到应用,我的第一映像就是手机上的人脸识别解锁,目前,在学校公寓里面也有人脸识别的机器,我记得首先是收集了我们学生们的照片,应该是存入数据库的,我们学生的信息,包括学号,以及所在系等等,学校都是存入数据库的。
学生在进入公寓时需要进行人脸识别,机器会进行识别。
系统有两种识别方式,一是识别人像,二是进行刷卡,刷卡会将自己的信息读取,会与数据库的信息对比,也是一种识别的方式。
目前,从我国人脸识别技术应用来看,主要集中在三大领域:考勤门禁、安防以及金融等等。
人脸识别目前面临着一个难题是——对于明亮可能有点要求,像黑暗的环境就比较困难,还有面部本身黑色的人,也可能会有误差。但是,技术革命的发展也必将解决这一难题。只有你想不到的,没有做不到的。
应用前景:随着人工智能的兴起,更加高端的识别技术才是主流发展方向,无需接触、更加方便、直观的方式是未来方向,人脸识别具备无需被测者配合的特点,采集器扫过人脸就能进行对比,这在公安刑侦领域有着巨大的前景,在门禁安防领域,操作更加便捷的人脸识别也会更受欢迎。
part2:python人脸识别
1.导入库
python是一门强大的计算机编程语言,我们常常要用到python中的库,今天我们用到的库是需要安装的,因为不是python的内置库。
1:opencv-python
2: face_recognition
我们这里主要介绍通过控制台命令导入库,不过这里可能与一般情况下的固定格式的导入有所区别。
当然,你可以借用Pycharm,以及直接去网站上安装相应的包。我比较喜欢控制台命令,因为感觉Pycharm导入某些库是比较慢的。
导入opencv,这和python的版本是有区别的,我的是python3.7版本的。在控制台导入时,我们可以这样导入,opencv是依赖numpy的,我们一般这样导入:
首先,我们导入cmake,pip install cmake -i 镜像源:
目前国内的镜像源有如下:
我们再导入opencv-python,这样导入 pip install opencv-python -i 镜像源 -trusted-host
trusted-host是代表信任该镜像源,这里主要针对可能出现不信任的提示的情况。
同理,我们导入face_recognition时,我们这样在控制台这样写:pip install face_recognition -i 镜像源 -trusted-host
这里可能会出现内存占用很大的问题,不过,等一会就好了
2.实现代码
此代码的目的是实现对图片中人脸的识别,并判断是否是同一张脸?是,则返回yes;否,则返回no。图片会显示出来,并显示划定人脸的位置框型。yes和no会在图片上方显示。
下面,展示一些内联代码:
我随便找了一张图,给大家简单演示下这个过程:
我们来看实现结果
我们看到结果是这两个人不是同一张脸,当然,这张图可能比较容易辨别。各位可以尝试难度比较大的。据说face_recognition库的识别率达到**99.5%**以上,这是保底了。
注意代码的指定容错率,这也是和结果很有关系的。
当然,对于视频动态图像也是可以的,我们python中也有调用摄像头的模块,以及也有可以将手机的摄像头将摄像头转换地址的,我们可以在代码中加入进来,调用摄像头并控制拍照片,这样就可以和这个结合起来,实现动态人脸识别。
我们可以有这个思路,这里只是给大家简单介绍一下python的这个人脸识别库。当然,也会有其他的编程语言实现人脸识别。说到底,还是调用库啊,会写库和算法的才是大佬,只会用方法的我还是有很多需要去学习。
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
