《人眼识别及定位程序》由会员分享,可在线阅读,更多相关《人眼识别及定位程序(3页珍藏版)》请在金锄头文库上搜索。
1、人眼识别及定位程序2.1 图像的获取首先,从 VR 摄像头或者预先录制的图像及视频中获取图像,对图像做场景 光照评估;如场景光照条件良好,则直接进入下一步;不然,在图像中开展直方 图均衡化处理,阻碍场景光照发挥的作用;随之,从图像中开展大体的定位,假 如具备人脸,那么开展之后的环节;不然把将图像过渡到相对繁琐的环节,来检 验图像内是能不能出现偏转形式的人脸,同时开展一些调整,调整结束后随之进 行定位。审核旋转方式过程中,借助三维可变形模板研究水平旋转方式,利用训 练的 AdaBoost 核判断垂直旋转方式。2.2 图像的识别对于图像识别步骤一般分为三个步骤也就是:图像预处理、图像分割、图像 识
2、别。2.3 图像预处理而对于图像预处理一般也是分为三个步骤分别是:灰度化,二值化,去噪下 面用图像二值化具体分析。2.3.1 图像的灰度化图像的图片一般可以分为三通道分别是R (红色)、G (绿色)、B (蓝色)。 这里将图像的图片的三通道加权平均值法的原理进行赋值,经过试验证明三通道 R(红色)、G(绿色)、B (蓝色)的加权权重分别是WR=0.299,WG=0.587,WB=0.1142.3.2 灰度图像二值化其中,F(i, j)表示为灰度图像二值化的具体输出,f(i, j)为为灰度图像二值 化的具体输入像素, T 为灰度图像二值化的具体阈值。而这里具体确定图像二值 化的具体阈值 T 的方
3、法为迭代法,具体方法如下所示:1)确定灰度图像二值化的具体最小灰度值Tm,然后确定灰度图像二值化的 具体最小灰度值最大灰度值Tn,则灰度图像二值化阈值初值可以表示为:T0=( Tm+Tn) /2;2)将图像分割成背景和图案二个部分,分别求出灰度图像二值化的具体的平均灰度值Ti和Tj.3) 求出灰度图像二值化的具体新阈值:Tl= (Ti+Tj) /2;4) 如果T0=T1,则结束,否则令T0=T1,转向第二步。2.3.3 灰度图像去噪毫无疑问,在一般的网站中的图像图像都含有多多少少一定的噪声,因此对 于去噪灰度图像二值化处理之后必须进行去噪处理,我们这里采用的是均值滤波 的方法进行去噪的,具体表
4、达式如下:g(x,y)=丄E f (x,y)m其中,g(x,y)表示为经过均值滤波的方法对灰度图像去噪之后的的新的灰度值,而其中 m 一般取值取为 5 或 9 都可以达到预定的效果。2.4 图像的定位眼睛的定位与跟踪算法主要包括以下几步:(1)人脸区域分割; (2)瞳孔定位; (3)估计下一帧图像中瞳孔的位置; (4)在估计位置上下各15 个像素、左右各20 个 像素的范围内寻找眼睛特征; (5)如果(4)失败则返回(2),如果仍然失败则返回(1)。2.4.1 图像的分割图像灰度图像二值化经过预处理后,我们便能够可以分割图像了,分割具体 处理的是去灰度图像二值化经过预处理的图像。图像分割我们这
5、里采用的是边缘 检测的方法。首先我们可以求出利用 Roberts 算子,具体的表达式如下:然后我么可以用这个求得到的算子来找到图像的边缘。2.4.2 图像的具体定位图像灰度图像二值化经过预处理后,并且在分割图像了之后,便可以 进行图像定位了。我们这里选用的图像的定位的方法选用的最近非常火热的 BP 神经网络的方法。具体的图示如下图 2-1:BP 神经网络应用流程所示:图 2-1: BP 神经网络应用流程基于 BP 算法的神经网络结构是一种特殊的多层感知机模型,如图 2-1 所示 其特殊性表现在含有隐含层且能调节所有的连接权,网络的输出值可以是连续的 神经元之间进行全连接,而对于每层神经元则无相
6、互连接,信号只进行网络的单 向传递。输入层用来接收信号的输入,不对信号做任何处理。隐含层接收输入层 的输出并经过函数处理。输出层接收隐含层的输出并经过函数处理。这种函数处 理对于 BP 神经网络来说,通常采用非线性的映射关系,输出层输出即为网络 的整体输出。(1)训练样本的制作:我们选择的训练样本一共包括图像图像 400 张左右。(2)BP 神经网络的参数设定具体的训练网络如下图 2-2 训练网络所示:图 2-2 训练网络在这里我们列举几个网络配置,具体的参数信息见下面net. trainParam. show:显示中间结果的周期;net. trainParam. epochs:最大迭代次数;net. trainParam. lr: 学习率。