自己本职工作中的事情,现在翻来是一点材料都没有了,不知道该从何说起,又不知道该写点什么,零碎的记忆凑不出半篇文章。还好在工作之外有些积累,这大概得益于我的个人习惯,我习惯于写点日常生活中的东西,一些所见所感,所看到的一些技术文章,然后把这些内容存储到自己的个人邮箱里,偶尔翻来看看,也能拼凑出大致的人生经历。
2015年的最后一个季度,一次偶然的机会在一个QQ技术群里,某个群成员提到了人脸识别功能,我这才意识到现在社会上流行着一个人脸识别的技术方向,些许人员从业其中,挖掘着一个又一个的市场价值。对于一个标准的人脸识别程序来说,来自于百度百科的介绍,“主要包括四个组成部分,分别为:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。”
此外一些开源的项目也参与其中,比如OpenCV,来自于百度百科的介绍,“OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。”
OpenCV中提供了人脸识别功能,通过其提供的人脸数据库和示例代码,开发人员可以比较快捷的的写出一个人脸检测程序,该程序可以打开笔记本的摄像头,并且框出摄像头中的人脸部分,接下来可以对框出来的人脸照片进行预处理并将人脸照片处理成一定大小的图片保存下来。
当我们保存了多张不同人的人脸照片之后,我们可以收集整理这些图片,并对每张图片打上编号和标签,用于区别每张图片实际对应于哪个人,然后就可以进行模型训练了,这里用到了Facerecognizer类,opencv中所有的人脸识别模型都是来源于这个类,此外,OpenCV 自带了三个人脸识别算法:Eigenfaces,Fisherfaces 和LBPH,模型的训练同样使用这三种算法,并保存好训练结果。在最后的人脸识别功能中,可以再次打开摄像头,使用实时采集的图像和训练集中的数据进行对比,一个比较乐观的结果可以看到自己被识别到了。
OpenCV中只是提供了三种识别算法,实际上人脸识别算法可以有很多种,没有统一的规定,各个开发人员或单位还可以研究自己的算法,总之,人脸识别的领域充满了各种挑战和高智商的操作,在我的书柜中,同样陈列着两本书《学习OpenCV》和《计算机视觉-算法与应用》,现在看来书页已经也有些泛黄了,可惜了这两本书了,没有发挥出它的价值。
发表回复