不知不觉中,人们日常生活中越来越多的场景开始使用“人脸识别”这一技术手段进行身份信息验证,从以前的“证件办理业务”到如今的“手机开屏”、“移动支付”等更加高频的场景,人脸识别技术和人才也随着AI人工智能的火热得到充分的发展和市场验证,很多中小企业也可以便捷的使用大型互联网公司输出的人脸识别API接口进行自身产品人脸识别功能的升级,而省去漫长的技术试错和积累。PS:感谢马爸爸们的技术“推广”。
那么作为一个对人脸识别技术感兴趣的freshman,如何一步一步搭建自己的人脸识别系统呢?本系列文章旨在跟大家一起从零学习和搭建一套人脸识别微系统(超级无敌良心干货系列,有钱的捧个打赏,没钱的随手转发点赞)。
在开始人脸识别开发之前,我们首先了解下人脸识别的基础概念和大致实现流程;A facialrecognition system is a technology capable ofidentifyingorverifyingapersonfrom adigital imageoravideo framefromavideosource.There are multiple methods in which facial recognition systems work, but ingeneral, they work bycomparing selectedfacial featuresfromgiven image with faces within adatabase。简单来说就是通过视频或图像采集设备获取用户的面部图像,再利用核心的算法对其脸部的五官位置、脸型和角度进行计算分析,进而和自身数据库里已有的范本进行比对,后判断出用户的真实身份。关键词:收集图像、识别人脸、抽取特征、对比分类。如下图:
在这里小编主要总结为四大模块:图像获取模块、特征提取模块、模型训练模块、比对识别模块。各模块作用:
1、解决训练、测试等需要的人脸图像数据的获取问题;
2、对图像中人脸脸部、眼睛、鼻子、嘴巴等位置区域进行特征提取;
3、通过收集的训练数据和测试数据,进行模型训练,构建特征模型;
4、通过已构建的图像收集系统和特征模型,对未知的图片进行人脸识别和匹配;
由于内容较多,本小节主要讲解第一个模块《图像收集模块》的实现方案:
图像收集模块
环境准备:(小编很穷,是不会花钱买高清摄像头的,尽量用闲置设备实现图像采集)
1.1步闲置的带摄像头的安卓手机保持充电状态;
2.Linuxcentos系统服务器
3.Anaconda3 python集成开发环境
4.保证手机和linux服务器之间是内网连接
第1步:在闲置的安卓手机上安装IP Webcam应用,实现手机升级为内网摄像头。
第2步:开启摄像头服务,启动摄像头。
第3步:在电脑上通过WEB服务,管理摄像头运行情况(http://192.168.3.51:8080/greet.html#)。
第4步:在linux服务器环境下通过Python测试摄像头运行和截图情况。
PythonCode:
Result:
小节:到目前位置,已基本搭建完成图像数据收集系统的Demo研发,通过编辑GUI界面,便可以发动身边小伙伴参与到你的小项目中,贡献大家的人脸图像数据,构建人脸图像库。
下期看点:(红眼痴汉,怕不怕)
领取专属 10元无门槛券
私享最新 技术干货