基于摄影测量技术的人眼视线检测方法及装置与流程

文档序号:14736044发布日期:2018-06-19 20:30阅读:430来源:国知局
基于摄影测量技术的人眼视线检测方法及装置与流程

本发明涉及一种摄影测量方法,具体涉及一种基于摄影测量技术的人眼视线检测方法。本发明还涉及一种人眼视线检测装置。本发明提供的基于摄影测量技术的人眼视线检测方法及装置,可应用于为视疲劳评估提供数据信息,避免视疲劳对人体健康和交通安全带来的隐患。



背景技术:

摄影测量技术在形状检测,低频振动测量,表明缺陷检测方面应用广泛。三维视觉检测技术具有快速、非接触性、实时性等优点。摄影测量技术结合图像处理技术可以提取出图像中感兴趣部分进行运动轨迹检测。针对人眼视线进行运动轨迹检测,目前已有较为成熟的应用,例如:汽车行进过程中产生的晃动对人头部产生的影响和固定在汽车上的车载显示器的影响不同,因此研究人眼观测车载显示器时相对显示器的振动,可以为分析视疲劳提供评估数据。尤其对于坦克或其他封闭式运动车辆,其行进过程必需要通过观测车载显示屏显示的外界画面,进而来控制车辆运动,评估视觉疲劳可较大程度防止疲劳驾驶,避免由于疲劳驾驶带来的危害。

而目前的针对人眼视线进行的运动轨迹检测,都或多或少存在一些问题,例如:王丹力等人专利号为CN201410387060.3的专利提出一种针对观看三维立体显示内容的视疲劳检测系统和方法。该方法只提取眼部闭眼时长等变化信息,并不对人眼视线的运动轨迹进行检测,而现实中,疲劳驾驶与驾驶者闭眼并不存在唯一关联,而且实际上,处于疲劳驾驶的时候往往驾驶者还是睁眼状态,因此,该方法在视觉疲劳方面的检测上存在较大偏差。

杨刚等人专利号为CN201310381585.1的专利提出一种基于眼部识别的信息采集系统及其应用,该方案中最终提取出人眼注视屏幕上的区域,并没有进行人眼虹膜中心三维坐标提取,因此并不能实际反应出人眼视线的运动轨迹,进而导致该方法在用于视觉疲劳检测上结果不准确。

谢应美提出的专利号为CN201510589520.5的专利提出一种智能车载监测系统,该方案提出的硬件系统可以实现提前预警,并在异常时能够启动紧急断火装置并及时减速,提高了驾驶员驾车的安全性。但这种方案仅仅涉及发生紧急状况后的应急处理,并不着力于通过人眼视线来检测疲劳并避免紧急情况的发生。

杜煜等提出的专利号为CN201620417249.7的专利提出一种应用人眼识别跟踪的方法的裸眼3D显示装置,该方案通过人眼识别跟踪模块人眼的空间位置信息,传递给中央处理器以实现的裸眼3D效果。但该方案只能应用于实现人眼三维显示,且没有进行相机标定和外部触发相机同步采集双目相机图片。

黄焕荣等提出的专利号为CN201510345352.5的专利提出一种调节车速的方法及装置。黄的方案提取人眼识别信息包括瞳孔大小和/或眨眼频率,检测所述人眼识别信息是否相较于预存的正常人眼识别信息有变化来控制车辆以调节车速。该方法提取出瞳孔大小和眨眼频率,一定程度可以反应出驾驶者的疲劳程度,但该方法并没有针对人眼视线进行检测,并不能很好的保证检测的可靠性。

由此可以看出,目前现有技术中存在的基于人眼视觉方面的检测在应用于车辆驾驶时,虽然都能在一定程度上起到检测驾驶者疲劳程度的作用,但其技术方案本身并没有完全结合具体的应用环境,因此存在实际的可靠性较低的缺陷。



技术实现要素:

鉴于现有技术存在的上述问题,本发明的目的在于提供一种基于摄影测量技术的人眼视线检测方法及装置。

为了实现上述目的,本发明实施例的一个方面提供的一种基于摄影测量技术的人眼视线检测方法,包括:

设定立体靶标对图像采集单元进行标定,获得所述图像采集单元的内部参数和/或外部参数;

利用所述图像采集单元依时间序列连续获取人面部图像,针对每一所述人面部图像进行处理并获得人眼的虹膜中心像素坐标;

基于所述图像采集单元的内部参数和/或外部参数,以及所述虹膜中心像素坐标,进行三维重建以获得人眼三维坐标并按照所述时间序列保存;

依照以所述时间序列保存的所述人眼三维坐标重建人眼运动轨迹。

作为优选,所述利用所述图像采集单元依时间序列连续获取人面部图像,包括依所述时间序列在同一时间点分别获取对应于人左右眼的人面部图像。

作为优选,所述针对每一所述人面部图像进行处理并获得人眼的虹膜中心像素坐标,包括:

针对每一所述人面部图像进行预处理;

调用人眼训练库文件,提取经预处理的所述人面部图像中的人眼区域;

当检测到人眼区域时,记录所述人眼区域的中心点坐标作为人眼坐标。

作为优选,所述预处理,包括:

将所述人面部图像转化为灰度图像;

进行直方图均衡化处理和/或进行中值滤波以消除图像中的部分噪声。

作为优选,所述预处理,还包括:

对消除噪声后的所述人面部图像设置感兴趣区域;

获取所述感兴趣区域的几何中心;

保存所述几何中心的坐标作为人左眼坐标和/或人右眼坐标。

作为优选,所述感兴趣区域的形状为圆形,所述人左眼坐标和/或人右眼坐标为圆心位置。

作为优选,所述进行三维重建以获得虹膜中心三维坐标,包括:

以如下方式进行三维重建,

其中,(X1,Y1)为左相机提取到的点的像素坐标;f为标定过程中的所述内部参数;(x,y,z)为重建出来的人眼三维坐标。

本发明的实施例的另一方面,还提供了一种人眼视线检测装置,该装置包括:

标定单元,其配置为通过立体靶标对图像采集单元进行标定,获得所述图像采集单元的内部参数和/或外部参数;

图像采集单元,其配置为依时间序列连续获取人面部图像;

处理器,其配置为,针对每一所述人面部图像进行处理并获得人眼的虹膜中心像素坐标,基于所述图像采集单元的内部参数和/或外部参数,以及所述虹膜中心像素坐标,进行三维重建以获得人眼三维坐标并按照所述时间序列保存;并依照以所述时间序列保存的所述人眼三维坐标重建人眼运动轨迹。

作为优选,所述图像采集单元至少包括有分别对应于包含人左右眼的两个图像采集模块。

作为优选,所述处理器还包括一图像处理单元,其配置为将所述人面部图像转化为灰度图像;进行直方图均衡化处理和/或进行中值滤波以消除图像中的部分噪声;对消除噪声后的所述人面部图像设置感兴趣区域;获取所述感兴趣区域的几何中心;并保存所述几何中心的坐标作为人左眼坐标和/或人右眼坐标。

与现有技术比较,本发明具有优点如下:

1、不需要辅助眼球识别装置,例如在给人带上特殊颜色或者反光材料的隐形眼镜,可以通过图像处理算法结合人眼训练数据提取出自然状态下的人眼视线移信息,提取算法抗环境干扰能力强;

2、通过安装相机在车载显示器边缘的方案,不需要额外的数据处理步骤消除汽车运动,即可求解出人眼相对显示屏的运动;

3、提取虹膜中心而不是瞳孔来确定人视线位置,虹膜和眼白对比度相对瞳孔和虹膜对比度高,稳定性较好;

4、测量系统安装完毕后,只要不改变相机相对位置,之后的测量不需要再次标定相机,可直接采集人面部图像信息,简化了测量过程。

附图说明

图1为本发明的基于摄影测量技术的人眼视线检测方法的基本流程图;

图2为本发明一个实施例的基于摄影测量技术的人眼视线检测方法的测量步骤流程图;

图3为本发明一个实施例的基于摄影测量技术的人眼视线检测方法的提取虹膜中心三维坐标算法流程图;

图4为人眼部结构示意图;

图5为本发明的基于摄影测量技术的人眼视线检测方法的基本结构示意图。

具体实施方式

为使本领域技术人员更好的理解本发明的技术方案,下面结合附图和具体实施方式对本发明作详细说明。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

此后参照附图描述本发明的具体实施例;然而,应当理解,所发明的实施例仅仅是本发明的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以根据用户的历史的操作,判明真实的意图,避免不必要或多余的细节使得本发明模糊不清。因此,本文所发明的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本发明。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本发明的相同或不同实施例中的一个或多个。

本发明主要目的是测量汽车行进过程中人眼相对车载显示器三维位移信息,为视疲劳评估提供数据信息,避免视疲劳对人体健康和交通安全带来的隐患。具体地,如图1所示,本发明提供的一种基于摄影测量技术的人眼视线检测方法,包括:

S1、设定立体靶标对图像采集单元进行标定,获得所述图像采集单元的内部参数和/或外部参数;实际实施本发明实施例提供的方法时,以测量汽车行进过程中人眼相对车载显示器三维位移信息的测量装置为例,该装置包含两个相同型号工业相机,一台带有图像采集卡的小型工作站,一台信号发生器,一个立体标定靶标。两个相机固定在车载显示屏幕上方,调节相机对准人面部后固定相机系统,使得两个相机的相对位置固定不变且相对显示器位置不改变。用信号发生器触发相机系统提同步采集人面部图片。以双相机拍摄一幅立体靶标图案即可完成相机参数标定。具体的方法流程如下:安装好装置后,调节所述相机系统角度对准人面部,放置所述立体靶标在所述相机系统公共视场内,拍摄一幅图像,按照专利一种快速标定相机内参数和畸变系数的立体编码靶标装置和标定方法的标定算法标定出所述相机系统的内外参数,用于下述三维重建步骤。设置信号发生器参数输出电压设置为5v,采样频率在300-100赫兹之间,触发信号为正弦信号。使用带有相机设置软件的工作站设置所述相机系统参数,当汽车行进开始启动信号发生器输出触发信号控制所述相机系统采集人面部图像。

S2、利用所述图像采集单元依时间序列连续获取人面部图像,针对每一所述人面部图像进行处理并获得人眼的虹膜中心像素坐标;在这一步骤中,为了能最终通过人面部图像获得分别对应于人左眼和右眼的不同的图像。因此优选地,所述利用所述图像采集单元依时间序列连续获取人面部图像,包括依所述时间序列在同一时间点分别获取对应于人左右眼的人面部图像。而在具体针对每一所述人面部图像进行处理并获得人眼的虹膜中心像素坐标,其基本步骤包括:针对每一所述人面部图像进行预处理;调用人眼训练库文件,提取经预处理的所述人面部图像中的人眼区域;当检测到人眼区域时,记录所述人眼区域的中心点坐标作为人眼坐标。

并且,在这一步骤中,针对获取的人面部图像进行的所述预处理,实际中具体可包括:将所述人面部图像转化为灰度图像;进行直方图均衡化处理和/或进行中值滤波以消除图像中的部分噪声。可以理解的是,以上方式仅为实例性提出,其他针对图像进行的包括但不限于降噪处理的方式,也可以适用于本发明技术方案。再进一步地,所述预处理,还包括:对消除噪声后的所述人面部图像设置感兴趣区域;获取所述感兴趣区域的几何中心;保存所述几何中心的坐标作为人左眼坐标和/或人右眼坐标。设置感兴趣区域的目的在于进一步通过算法提取虹膜中心像素坐标。因此,优选将感兴趣区域设定为规则的几何形状,可以较为方便的实现算法计算。例如感兴趣区域为圆形时,该步骤是首先设定霍夫圆检测阈值,如圆的半径。在图像的全部区域进行特征圆检测,提取出图像上所有圆形。然后设置感兴趣区域为中心为人眼区域中心半径为人眼区域长度的区域,保留此区域内圆心坐标即为人眼坐标。分别按拍摄图像的时间顺序保存下来左右相机拍摄到的人左右眼睛的像素坐标值。

在这一步骤中,人眼训练库文件可采用OpenCV视觉库中的人眼训练数据文件haarcascade_eye.xml,而算法则具体可采用基于OpenCV程序编写的虹膜中心像素提取算法实现。

S3、基于所述图像采集单元的内部参数和/或外部参数,以及所述虹膜中心像素坐标,进行三维重建以获得人眼三维坐标并按照所述时间序列保存;在进行三维重建时,一般而言可以根据已有算法进行,具体地,在本发明实施例中,所采用的具体三维重建公式为:

其中(X1,Y1)为左相机提取到的点的像素坐标,在本方案中为左图像中人眼中心坐标。f为标定过程中内参的焦距f=(fx+fy)/2,fl为左相机焦距,fr为右相机焦距。(x,y,z)为重建出来的人眼三维坐标。

S4、依照以所述时间序列保存的所述人眼三维坐标重建人眼运动轨迹。把上述左右图像中人眼坐标和标定出来的相机内部参数和/或外部参数带入以上公示即可得出人眼三维坐标。进一步将人眼三维坐标按照时间序列保存下来,即可绘制出人眼相对于车载屏幕的运动轨迹。

本发明的实施例的另一方面,还提供了一种人眼视线检测装置,该装置包括:标定单元,其配置为通过立体靶标对图像采集单元进行标定,获得所述图像采集单元的内部参数和/或外部参数;图像采集单元,其配置为依时间序列连续获取人面部图像;处理器,其配置为,针对每一所述人面部图像进行处理并获得人眼的虹膜中心像素坐标,基于所述图像采集单元的内部参数和/或外部参数,以及所述虹膜中心像素坐标,进行三维重建以获得人眼三维坐标并按照所述时间序列保存;并依照以所述时间序列保存的所述人眼三维坐标重建人眼运动轨迹。

实施例1、

另参考图片5,该实施例1方案是测量汽车行驶过程中人眼相对车载屏幕的三维运动过程。如图5所示由两个高速工业相机构成的相机系统1固定安装在车载显示屏2的上方,调节相机系统1的位置使得人面部位于相机系统1的公共视场中,然后固定相机系统1整个测量过程中不在相对显示屏幕2移动且相机系统1的两个相机之间不产生相对移动。立体靶标3用于标定过程,工作站4用于控制相机系统采集图像和处理图像,信号发生器5为相机系统实现同步拍摄提供触发信号,信号发生器5连接在工作站4上,但构成图5所示的装置均放置在车上。

方法流程,如图2和图3所示:

安装好装置后,调节所述相机系统1角度对准人面部,放置所述立体靶标3在所述相机系统1公共视场内,拍摄一幅图像,按照立体靶标的标定算法标定出所述相机系统1的内外参数,用于下述三维重建步骤。

设置信号发生器参数输出电压设置为5v,采样频率在300-100赫兹之间,触发信号为正弦信号。使用带有相机设置软件的工作站设置所述相机系统参数,当汽车行进开始启动信号发生器输出触发信号控制所述相机系统采集人面部图像。

在工作站上对采集到的人面部图片进行处理,基于opencv程序编写的虹膜中心像素提取算法如下:

步骤A:对采集到的人面部原始图像进行预处理,把所述人面部原始图像转化为灰度图像并进行直方图均衡化。加载opencv视觉库中人眼训练数据文件haarcascade_eye.xml,对预处理后的人面部图片进行眼部检测,得到眼部区域面积中心坐标以及所述眼部区域长和宽的值。

步骤B:把以眼部区域中心坐标为圆心和眼部区域长度为半径的图像区域设置为感兴趣区域即为ROI区域。

步骤C:把人面部原始图像转化为灰度图像后进行中值滤波得到重新预处理后的图像,在感兴趣区域内进行霍夫圆检测提取出虹膜边缘的圆形,得到的虹膜外边缘拟合圆的圆心坐标即虹膜中心像素坐标。

步骤D:根据标定过程中得到的相机系统内外参数和和虹膜中心像素坐标数据,代入三维重建公式求出虹膜中心的三维坐标,按照数据的时间序列保存三维坐标,在matlab中可以绘制出虹膜中心运动轨迹。

本文中提出的测量方法,通过固定在车载显示器上的相机系统测量人眼相对显示器的运动,可抵消汽车本身的运动部分。只需保证双目相机之间的相对位置关系不改变,汽车运动改变相机系统的位置不会对测量结果产生影响。当双目相机相对位置关系不改变的情况下,只需要在初始安装完相机设备后对相机系统进行一次标定,之后可以直接测量人眼球运动。

本文检测量人眼视线移动的图像处理算法检测效果较为稳定。虹膜是眼睛构成的一部分,如图4所示,虹膜2中心有一个圆形开口,称为瞳孔1,作用类似于相机的可调光圈,光线由瞳孔进入眼睛在视网膜成像。虹膜内色素含量决定眼睛的颜色,中国人虹膜颜色分为黑色、棕色和褐色,当光线比较弱以及外界噪声干扰的情况下很难区分出后两种颜色的瞳孔和虹膜。因此可以通过检测虹膜中心得到眼睛观察物体时的运动状态。为了剔除车内复杂背景对虹膜检测的影响并提高检测的自动化程度。本文采取了用人眼部识别算法确定感兴趣区域,在感兴趣区域内通过实际情况设置霍夫圆检测的阈值来提高虹膜中心检测的正确性和稳定性。本方法鲁棒性和自动化程度较高。本方案相比其他方案的优点在于,通过安装相机系统在车载显示器上,使得相机系统相对汽车系统静止,不需要额外去求出汽车系统相对相机系统的运动来消除这部分运动对测量结果的影响。同时本方案测量人眼相对车载显示器的移动,首先进行人眼部识别找出眼部区域,然后在提取虹膜来检测视线的移动,该过程提高了检测结果的稳定性,且虹膜边缘和眼白部分灰度变化明显,相比提取瞳孔边缘更加简单。本方案通过标定过程和触发器装置控制相机同步采集图片,最终可以求解出人两只眼睛高精度三维空间的运动信息。

图2为本实施例的具体的步骤流程图。

如图2所示,实验开始前首先用工作站上的相机设置软件设置相机拍照模式和拍照数量,设置信号发生器采样频率为100-300赫兹之间的正弦信号,峰值电压为5v。

首先用立体靶标对相机进行标定,标定过程为,放置靶标在相机的公共视场内用工作站上控制相机软件控制相机系统同时拍摄一幅靶标图像,然后处理图像求解出相机内外参数用于后面的三维重建步骤。

通过已知靶标上特征点的坐标和相机系统拍摄到的靶标图片上像素点的坐标求解相机系统的内部参数,外部参数,畸变系数。图像上的像素点坐标用矩阵m=[u,v]T表示,在笛卡尔坐标系下表示为图像点对应的三维空间中点的靶标上点物理坐标表示为M=[x,y,z]T,在笛卡尔坐标系下为

由成像的针孔模型建立点三维点M和图像投影点m之间的关系为:S为比例因子,R为旋转矩阵,T为平移向量。

假设模型在z=0的世界坐标系下,单应性矩阵为H=A[R,t]。

本方案求解畸变模型如下:

xcorrected=x+x(k1r2+k2r4+k3r6)+2p1y+p2(r2+2x2)

ycorrected=y+y(k1r2+k2r4+k3r6)+p1(r2+2y2)+2p2x

成像仪上原始坐标点设为(x,y),校正后的坐标点为(x_corrected,y_corrected),k1、k2、k3为径向畸变系数,p1、p2为切向畸变系数。对于畸变不是很大的相机,不考虑k3项。上述公式中代入已知道的靶标上点的坐标和提取到像点坐标即可求出相机参数用于之后的三维重建中去。

通过工作站设置相机系统工作在动态采集图像工作模式,根据采集数据时间设置采集图片张数,点击信号发生器的输出信号按钮,开始动态采集人脸图像。

图3所示为提取虹膜中心三维坐标算法流程图。如图3所示,对采集到的图像按照时间序列顺序处理每一张图片,每张图片的处理过程相同。处理程序是在Microsoft Visual Studio 2010软件中使用OpenCV库函数编写程序。

首先对原始面部图像进行预处理,把原始图像转化为灰度图像,并进行直方图均衡化。该步骤是为了下一步人眼检测输入图像做准备。

然后下载OpenCV人眼训练数据文件haarcascade_eye.xml放在处理函数的工程目录下,调用该训练库,提取出预处理后图片中的人眼部分。

人眼训练数据文件haarcascade_eye.xml只能识别睁开状态的眼。但是人在测量过程中会存在眨眼的时刻,此时检测到的眼睛个数为零。因此需要判断是否检测到人眼。当未检测到人眼时,未检测到人眼的图像跳过后续检测直接设置该幅图像的三维坐标输出值为(0,0,0)。当检测到人眼时候保存下此时人眼区域的中心坐标点和区域长度用于下一步检测中。

在虹膜中心提取之前对原始图像进行预处理,把图像转化为灰度图像并进行中值滤波消除图像中的部分噪声。

再如图4所示人眼,虹膜2是眼睛构成的一部分,虹膜2中心有一个圆形开口,称为瞳孔1,作用类似于相机的可调光圈,光线由瞳孔1进入眼睛在视网膜成像。虹膜2内色素含量决定眼睛的颜色,中国人虹膜2颜色分为黑色、棕色和褐色,当光线比较弱以及外界噪声干扰的情况下很难区分出后两种颜色的瞳孔和虹膜。因此可以通过检测虹膜中心得到眼睛观察物体时的运动状态。这是本方案选择检测虹膜2中心代替瞳孔中心1的原因。

然后对预处理后的图像设置一个感兴趣区域,该步骤是首先设定霍夫圆检测阈值,如圆的半径。在图像的全部区域进行特征圆检测,提取出图像上所有圆形。然后设置感兴趣区域为中心为人眼区域中心半径为人眼区域长度的区域,保留此区域内圆心坐标即为人眼坐标。分别按拍摄图像的时间顺序保存下来左右相机拍摄到的人左右眼睛的像素坐标值。

左右图像拍摄到的左右眼的正确匹配,即左图像中左眼和右图像中左眼对应,左图像中右眼和右图像中右眼对应。该对应方法为,人眼在左右图像中的相对位置不会变化,因为始终是左眼位于图像左边位置,右眼位于图片右边位置,比较同一幅图片中提取到的人眼中心坐标即可完成对应。

然后按照三维重建公式:

其中(X1,Y1)为左相机提取到的点的像素坐标,在本方案中为左图像中人眼中心坐标。f为标定过程中内参的焦距f=(fx+fy)/2,fl为左相机焦距,fr为右相机焦距。(x,y,z)为重建出来的人眼三维坐标。

把左右图像中人眼坐标和标定出来相机参数代入公式求解出人眼三维坐标。将三维坐标按照时间序列保存下来,即可绘制出人眼相对车载屏幕的运动轨迹。

本文描述了各种操作或功能,其可以被作为软件代码或指令实现或定义为软件代码或指令。这样的内容可以是可直接执行的(“对象”或“可执行”形式)源代码或差分代码(“增量”或“补丁”代码)。本文所述的实施例的软件实现可以经由其中存储有代码或指令的制品或者经由操作通信接口以经由通信接口发送数据的方法来提供。机器或计算机可读存储介质可以使机器执行所描述的功能或操作,并且包括以可由机器(例如,计算设备、电子系统等等)访问的形式存储信息的任何机制,诸如可记录/不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、等等)。通信接口包括接合到硬连线、无线、光学等介质中的任何一个以与另一设备通信的任何机制,诸如存储器总线接口、处理器总线接口、互联网连接、磁盘控制器等。可以通过提供配置参数和/或发送信号来将通信接口配置成将该通信接口准备好以提供描述软件内容的数据信号。可以经由发送到通信接口的一个或更多个命令或信号来访问通信接口。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1