近年来,随着计算机视觉技术、大数据、人工智能、机器学习等技术的疾速发展,人脸识别技术在各国出现了爆发式增长,给人们的工作和生活带来了极大便利。根据全球第二大市场研究机构Markets and Markets年中发布的预测,2019年全球人脸识别市场规模预计为32亿美元,预计2024年将达79亿美元,市场的主要驱动力来自于各国政府、国土安全、金融、零售、医疗保健等服务领域。所以,我们今天来聊聊人脸识别技术。
人脸识别是将采集到的数据信息,根据人脸特征信息进行比对,从而辨识身份的技术。每逢谈到人脸识别技术,就会想到人工智能。近年来,人工智能的发展成为当代技术革命的一部分。可以说,计算机领域技术的发展,极大的带动了这场革命。
常常在想,人脸识别是如何做到的?这里面与复杂高级的数据建模,建立人脸各部分的数据模型密切相关。不过,说白了,其实也就是算法。算法的研究,成为推动智能发展的顶梁柱。
这里面涉及的比较多,无论是从深度学习,还是机器学习,人工智能,这里面的实现过程,想必都是十分复杂的。在下知识面比较薄弱,不敢多言。不过肯定的一点是,你的人脸识别首先要将人脸转化为计算机可以识别的数据,人脸识别其实就是计算机方面的数据识别。谈到应用,我的第一映像就是手机上的人脸识别解锁,目前,在学校公寓里面也有人脸识别的机器,我记得首先是收集了我们学生们的照片,应该是存入数据库的,我们学生的信息,包括学号,以及所在系等等,学校都是存入数据库的。学生在进入公寓时需要进行人脸识别,机器会进行识别。系统有两种识别方式,一是识别人像,二是进行刷卡,刷卡会将自己的信息读取,会与数据库的信息对比,也是一种识别的方式。目前,从我国人脸识别技术应用来看,主要集中在三大领域:考勤门禁、安防以及金融等等。人脸识别目前面临着一个难题是——对于明亮可能有点要求,像黑暗的环境就比较困难,还有面部本身黑色的人,也可能会有误差。但是,技术革命的发展也必将解决这一难题。只有你想不到的,没有做不到的。应用前景:随着人工智能的兴起,更加高端的识别技术才是主流发展方向,无需接触、更加方便、直观的方式是未来方向,人脸识别具备无需被测者配合的特点,采集器扫过人脸就能进行对比,这在公安刑侦领域有着巨大的前景,在门禁安防领域,操作更加便捷的人脸识别也会更受欢迎。python是一门强大的计算机编程语言,我们常常要用到python中的库,今天我们用到的库是需要安装的,因为不是python的内置库。
我们这里主要介绍通过控制台命令导入库,不过这里可能与一般情况下的固定格式的导入有所区别。当然,你可以借用Pycharm,以及直接去网站上安装相应的包。我比较喜欢控制台命令,因为感觉Pycharm导入某些库是比较慢的。导入opencv,这和python的版本是有区别的,我的是python3.7版本的。在控制台导入时,我们可以这样导入,opencv是依赖numpy的,我们一般这样导入:
首先,我们导入cmake,,pip install cmake -i 镜像源:
阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学 http://pypi.hustunique.com/simple/山东理工大学 http://pypi.sdutlinux.org/simple/ |
我们再导入opencv-python,这样导入 pip install opencv-python -i 镜像源 -trusted-host
trusted-host是代表信任该镜像源,这里主要针对可能出现不信任的提示的情况。
同理,我们导入face_recognition时,我们这样在控制台这样写:pip install face_recognition -i 镜像源 -trusted-host
这里可能会出现内存占用很大的问题,不过,等一会就好了
此代码的目的是实现对图片中人脸的识别,并判断是否是同一张脸?是,则返回yes;否,则返回no。图片会显示出来,并显示划定人脸的位置框型。yes和no会在图片上方显示。
我随便找了一张图,给大家简单演示下这个过程:
我们来看实现结果
我们看到结果是这两个人不是同一张脸,当然,这张图可能比较容易辨别。各位可以尝试难度比较大的。据说face_recognition库的识别率达到99.5%以上,这是保底了。当然,对于视频动态图像也是可以的,我们python中也有调用摄像头的模块,以及也有可以将手机的摄像头将摄像头转换地址的,我们可以在代码中加入进来,调用摄像头并控制拍照片,这样就可以和这个结合起来,实现动态人脸识别。我们可以有这个思路,这里只是给大家简单介绍一下python的这个人脸识别库。当然,也会有其他的编程语言实现人脸识别。说到底,还是调用库啊,会写库和算法的才是大佬,只会用方法的我还是有很多需要去学习。
作者:兰舟千帆
版权声明:图片及文章内容归原作者所有,蓝桥云课仅作分享使用,如有侵权,联系删除
除了人脸识别之外,python其实还能够实现很多其他功能,像识别登录验证码、简单 Web 服务器、2048游戏等等,而这些课程,在蓝桥云课上面都可以免费学习。而且,现在蓝桥云课正在进行《百楼挑战》,有效学习时间(敲代码)累计超过3000分钟,上升100楼,即可获取对应楼层奖励。同时,我们也会开放一些精品会员课程供大家免费学习。
还没有评论,来说两句吧...