linux下opencv的人脸识别系统【字数:14746】
人脸识别技术是当今社会中应用较为广泛的技术,无论是支付宝的刷脸支付,还是机场安检的身份认证,都免不了要用到人脸识别技术。本课题致力于应用并优化OpenCV里的人脸检测特征文件,以及CNN卷积神经网络深度学习算法,对人脸进行检测,追踪,识别。主要用到以下方法。在人脸检测与数据集预处理过程中,优化了OpenCV里的人脸特征池,使得对俯仰角度的人脸检测更加精准,在检测到人脸之后,用方框将人脸框出并沿方框裁剪,获得人脸图片文件。然后将图片表上与之相对应的类别,保存到学习集中去。在人脸识别过程中,可利用keras框架(一个高层神经网络api,支持TensorFlow和theano)建立一个包含四个广义上的卷积层的神经网络模型,利用这个网络训练人脸识别模型,在训练过程中,将数据集打乱并随机抽取组成训练集,验证集和测试集,力求模型的准确率与可复用性。在测试过程中利用训练好的模型对摄像头采集到的人脸进行识别,并将识别的结果与概率返回。本篇论文改进了OpenCV中人脸检测的侧脸识别方法,使得摄像头在检测侧脸的时候有更高的识别率。
Key Words: linux; OpenCV; tensorflow;Face Recognition目 录
1. 引言 1
1.1课题研究的背景及意义 1
1.2国内外研究及发展现状 1
1.3本文的主要工作与结构 2
2. 系统开发对社会的影响 3
3. 主要技术介绍 4
3.1硬件条件概要 4
3.2软件技术介绍 4
3.2.1 python 4
3.2.2 OpenCV 4
3.2.3 人工智能、机器学习与深度学习 5
3.2.4 keras与Tensorflow 6
4. 系统设计 7
4.1系统概要设计 7
4.2系统详细设计 8
5. 系统原理与实现 10
5.1人脸的检测 10
5.2 人脸图像采集 14
5.3 训练集预处理 14
5.4 神经网络模型搭建 15
5.5 训练模型 18
5.6测试 19
6 *好棒文|www.hbsrm.com +Q: ^351916072^
. 算法优化 20
6.1图像预处理优化 20
6.2神经网络模型优化 20
6.3优化效果 20
7. 毕业设计总结 21
参考文献 23
致谢 24
引言
1.1课题研究的背景及意义
人脸识别技术是包括人脸检测和人脸身份认证技术在内的一种识别技术。它是当前机器学习乃至深度学习研究者们研究的一个热点话题。早在90年代初期,就有许多计算机领域的先驱们想着让计算机能够做到人类能做到的事情,比如识别各种现实世界的事物,处理现实世界中的各种问题等。而在这种期望中,最让人在意的就是计算机是否能识别出人眼能识别的物品,比如人脸,各种水果等。而在其中,最让人在意的就是计算机对人脸的识别,因为人脸识别技术的成熟,会对我们整个社会都产生巨大的效益。
从社会安全方面来说,运用人脸识别技术,可以方便我们从公共场所的视频监控中识别出危险人物并加以监控,防止他们给社会带来不可避免的安全隐患。另外,在机场,海关等需要确认本人身份的地方,运用人脸识别技术可以有效的确认本人的身份,并可以与身份证上的人脸进行核对,大大加快了机场,海关等公共场所的安检流程。
从经济效益来说,人脸识别更是有着非常大的意义。以前我们想从录像中找出某个人,就必须安排专人去观看录像,全神贯注累人不说,有时候由于工作人员失误,还要反复观看好几遍录像,费事又费力费财。而通过人脸识别技术,我们可以快速有效轻松的从一大堆的录像中找到需要的人,为各种事情的调查节省了大量的时间。
1.2国内外研究及发展现状
人脸识别现状:在目前的技术应用环境中,人脸识别应用在训练集中的准确度达到了非常高的水平,但在实际应用中的检测水平和检测速度都不能让人满意。一所高校建立了晨读人脸识别打卡制度,到了中午门外还排着长队。究其原因,在于由于光照,角度,人鱼摄像头等外在原因,使得抓获到的图片的质量较差,难以识别,更令人担心的是,由于人脸必须要送到数据中心去进行比对,所以对于数据传输的要求也很高,这就导致了在实际应用的时候机器的反应速度很慢,很难做到实时识别。
其次我们须提高实验测试的标准。在做实验测试时,往往图片质量比较高且是正脸图片,在实际应用中,采集到的图片可能是局部人脸且图片质量不高。所以大多数情况下,实际应用的标准会远高于训练标准。
最后在训练的识别效果与现实的识别效果中,许多厂家的人脸识别算法都宣称在各大人脸库中的测试准确度都无限接近于100%,但这并不代表在实际的应用中他们的算法就能有这么高的精度。实际上,在许多工业上的复杂人脸识别环境中,如果一个人脸识别算法能达到90%以上的准确率,我们就应该觉得这是一个非常了不起的算法。
1.3本文的主要工作与结构
本课题致力于应用并优化OpenCV里的人脸检测特征文件,以及CNN卷积神经网络深度学习算法,对人脸进行检测,追踪,识别。主要用到以下方法。
在人脸检测与数据集预处理过程中,优化了OpenCV里的人脸特征池,使得对俯仰角度的人脸检测更加精准,在检测到人脸之后,用方框将人脸框出并沿方框裁剪,获得人脸图片文件。然后将图片标上与之相对应的类别,保存到学习集中去。
在人脸识别过程中,可利用keras框架(一个高层神经网络api,支持TensorFlow和theano)建立一个包含四个广义上的卷积层的神经网络模型,利用这个网络训练人脸识别模型,在训练过程中,将数据集打乱并随机抽取组成训练集,验证集和测试集,力求模型的准确率与可复用性。
在测试过程中利用训练好的模型对摄像头采集到的人脸进行识别,并将识别的结果与概率返回。
在算法优化阶段,要针对数据预处理部分和神经网络搭建部分,朝着更高效,更便捷的方向优化,尤其是神经网络搭建部分,需要调试参数,修改模型使得对不同的训练集来说,训练时都能快速得到拟合度较高的模型。
系统开发对社会的影响
基于人工智能的人脸识别在社会上已经被广泛普及,给大家的生活和工作带来了极大的方便。在工作考勤时,结合最新的动态人脸识别技术的智能前台将会多角度,快速的抓取识别人脸,并能一次性识别8个以上的人员,并且还搭载了活体验证模块,使得打卡更为智能化,效率化,再也不会出现排队按指纹打卡或者代打卡的情况发生了。这在一定情况下提高了人们的工作效率和管理部门的管理效率。
Key Words: linux; OpenCV; tensorflow;Face Recognition目 录
1. 引言 1
1.1课题研究的背景及意义 1
1.2国内外研究及发展现状 1
1.3本文的主要工作与结构 2
2. 系统开发对社会的影响 3
3. 主要技术介绍 4
3.1硬件条件概要 4
3.2软件技术介绍 4
3.2.1 python 4
3.2.2 OpenCV 4
3.2.3 人工智能、机器学习与深度学习 5
3.2.4 keras与Tensorflow 6
4. 系统设计 7
4.1系统概要设计 7
4.2系统详细设计 8
5. 系统原理与实现 10
5.1人脸的检测 10
5.2 人脸图像采集 14
5.3 训练集预处理 14
5.4 神经网络模型搭建 15
5.5 训练模型 18
5.6测试 19
6 *好棒文|www.hbsrm.com +Q: ^351916072^
. 算法优化 20
6.1图像预处理优化 20
6.2神经网络模型优化 20
6.3优化效果 20
7. 毕业设计总结 21
参考文献 23
致谢 24
引言
1.1课题研究的背景及意义
人脸识别技术是包括人脸检测和人脸身份认证技术在内的一种识别技术。它是当前机器学习乃至深度学习研究者们研究的一个热点话题。早在90年代初期,就有许多计算机领域的先驱们想着让计算机能够做到人类能做到的事情,比如识别各种现实世界的事物,处理现实世界中的各种问题等。而在这种期望中,最让人在意的就是计算机是否能识别出人眼能识别的物品,比如人脸,各种水果等。而在其中,最让人在意的就是计算机对人脸的识别,因为人脸识别技术的成熟,会对我们整个社会都产生巨大的效益。
从社会安全方面来说,运用人脸识别技术,可以方便我们从公共场所的视频监控中识别出危险人物并加以监控,防止他们给社会带来不可避免的安全隐患。另外,在机场,海关等需要确认本人身份的地方,运用人脸识别技术可以有效的确认本人的身份,并可以与身份证上的人脸进行核对,大大加快了机场,海关等公共场所的安检流程。
从经济效益来说,人脸识别更是有着非常大的意义。以前我们想从录像中找出某个人,就必须安排专人去观看录像,全神贯注累人不说,有时候由于工作人员失误,还要反复观看好几遍录像,费事又费力费财。而通过人脸识别技术,我们可以快速有效轻松的从一大堆的录像中找到需要的人,为各种事情的调查节省了大量的时间。
1.2国内外研究及发展现状
人脸识别现状:在目前的技术应用环境中,人脸识别应用在训练集中的准确度达到了非常高的水平,但在实际应用中的检测水平和检测速度都不能让人满意。一所高校建立了晨读人脸识别打卡制度,到了中午门外还排着长队。究其原因,在于由于光照,角度,人鱼摄像头等外在原因,使得抓获到的图片的质量较差,难以识别,更令人担心的是,由于人脸必须要送到数据中心去进行比对,所以对于数据传输的要求也很高,这就导致了在实际应用的时候机器的反应速度很慢,很难做到实时识别。
其次我们须提高实验测试的标准。在做实验测试时,往往图片质量比较高且是正脸图片,在实际应用中,采集到的图片可能是局部人脸且图片质量不高。所以大多数情况下,实际应用的标准会远高于训练标准。
最后在训练的识别效果与现实的识别效果中,许多厂家的人脸识别算法都宣称在各大人脸库中的测试准确度都无限接近于100%,但这并不代表在实际的应用中他们的算法就能有这么高的精度。实际上,在许多工业上的复杂人脸识别环境中,如果一个人脸识别算法能达到90%以上的准确率,我们就应该觉得这是一个非常了不起的算法。
1.3本文的主要工作与结构
本课题致力于应用并优化OpenCV里的人脸检测特征文件,以及CNN卷积神经网络深度学习算法,对人脸进行检测,追踪,识别。主要用到以下方法。
在人脸检测与数据集预处理过程中,优化了OpenCV里的人脸特征池,使得对俯仰角度的人脸检测更加精准,在检测到人脸之后,用方框将人脸框出并沿方框裁剪,获得人脸图片文件。然后将图片标上与之相对应的类别,保存到学习集中去。
在人脸识别过程中,可利用keras框架(一个高层神经网络api,支持TensorFlow和theano)建立一个包含四个广义上的卷积层的神经网络模型,利用这个网络训练人脸识别模型,在训练过程中,将数据集打乱并随机抽取组成训练集,验证集和测试集,力求模型的准确率与可复用性。
在测试过程中利用训练好的模型对摄像头采集到的人脸进行识别,并将识别的结果与概率返回。
在算法优化阶段,要针对数据预处理部分和神经网络搭建部分,朝着更高效,更便捷的方向优化,尤其是神经网络搭建部分,需要调试参数,修改模型使得对不同的训练集来说,训练时都能快速得到拟合度较高的模型。
系统开发对社会的影响
基于人工智能的人脸识别在社会上已经被广泛普及,给大家的生活和工作带来了极大的方便。在工作考勤时,结合最新的动态人脸识别技术的智能前台将会多角度,快速的抓取识别人脸,并能一次性识别8个以上的人员,并且还搭载了活体验证模块,使得打卡更为智能化,效率化,再也不会出现排队按指纹打卡或者代打卡的情况发生了。这在一定情况下提高了人们的工作效率和管理部门的管理效率。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/594.html