视点定位方法、装置、电子设备和计算机可读存储介质与流程

文档序号:26588493发布日期:2021-09-10 20:06阅读:57来源:国知局
视点定位方法、装置、电子设备和计算机可读存储介质与流程

1.本公开涉及图像处理技术领域,尤其涉及一种视点定位方法及装置、电子设备和计算机可读存储介质。


背景技术:

2.视点定位主要分为基于硬件和软件两种实现手段,其中基于硬件的视点跟踪要求用户佩戴特殊头盔、特殊眼镜或者使用特殊支架在头顶固定摄像机等,利用视点传感器来获得视点数据,虽然有较高的识别精度,但限制了用户自身运动,带来较大干扰。基于软件的视点跟踪近年来逐渐成为研究的热点,该方法主要利用安装于用户脸部前方的摄像机来采集人脸视频图像序列,利用图像处理算法对人眼进行定位。
3.在软件的视点跟踪中,通常会采用hough(霍夫)变换来确定人眼的瞳孔位置,以进行视点定位。然而传统的hough变换法计算量庞大、查找精度低。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。


技术实现要素:

5.本公开的目的在于提供一种视点定位方法、装置、电子设备以及和计算机可读存储介质,既可以提高对人眼中瞳孔中心进行识别的识别准确率,又可以提高进行瞳孔中心识别的识别效率。
6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
7.本公开实施例提供了一种视点定位方法,包括:获取目标人眼图像;对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线;将所述虹膜边缘曲线截断为多个边缘曲线段,其中各个边缘曲线段均是圆形的边界;分别确定各个边缘曲线段的圆心和半径;根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心。
8.在一些实施例中,所述多个边缘曲线段包括目标边缘曲线段;其中,分别确定各个边缘曲线段的圆心和半径,包括:从所述目标边缘曲线段选取至少三个点,所述目标边缘曲线段处于图像空间;将所述目标边缘曲线段上的至少三个点从所述图像空间转换到参数空间,以生成至少三个圆锥;根据所述至少三个圆锥在所述参数空间中确定一目标点;将所述目标点从所述参数空间转换至所述图像空间,以根据所述目标点在所述图像空间确定一目标圆;根据所述目标圆确定所述目标边缘曲线段的对应的圆心和半径。
9.在一些实施例中,从所述目标边缘曲线段选取至少三个点,包括:将所述目标边缘曲线段进行n等分,以获得n个等分线段,n为大于或者等于3的整数;从各个等分线段中分别选取一个点,以生成所述目标边缘曲线段上的至少三个点。
10.在一些实施例中,根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心,包括:确定所述多个边缘曲线段两两之间的圆心距离;将圆心距离小于第一
阈值的边缘曲线段作为的第一候选边缘曲线段;从所述第一候选边缘曲线段中确定半径小于第二阈值的第二候选边缘曲线段;对所述第二候选边缘曲线段的圆心进行取均值处理,以确定目标圆心;将所述目标圆心作为所述目标人眼图像中人眼的瞳孔中心。
11.在一些实施例中,所述目标人眼图像包括红色通道图像;其中,对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线,包括;对所述目标人眼图像进行边缘检测,以获得眼部线条图,所述眼部线条图包括非虹膜边缘曲线和噪声;在所述红色通道图像中确定所述目标人眼图像中的人眼区域图像;对所述人眼区域图像进行人眼边缘提取和膨胀处理,以获得虹膜边缘曲线膨胀图;通过所述虹膜边缘曲线膨胀图对所述眼部线条图进行筛选处理,以获得所述目标人眼图像的目标边缘。
12.在一些实施例中,对所述目标人眼图像进行边缘检测,以获得眼部线条图,包括:确定所述目标人眼图像中所有像素在目标方向上的梯度强度;根据各个像素在所述目标方向上的梯度强度,在所述目标人眼图像中确定像素值是局部极大值的局部极大值像素;根据所述极大值像素在所述目标人眼图像中确定局部非极大值像素;将所述局部非极大值像素的像素值设为目标值;从所述局部极大值像素中确定目标方向上的梯度强度小于第三阈值的非边缘像素;将所述非边缘像素的像素值设为目标值以对所述目标人眼图像进行边缘检测,获得所述眼部线条图。
13.在一些实施例中,对所述人眼区域图像进行人眼边缘提取和膨胀处理,以获得虹膜边缘曲线膨胀图,包括:对所述人眼区域图像进行二值化处理,以获得二值化图像;对所述二值化图像进行取反、开运算处理,以获得虹膜前景图像;对所述虹膜前景图像进行边缘提取和膨胀处理,以获得所述人眼边缘膨胀图。
14.本公开实施例提供了一种视点定位装置,包括:人眼图像获取模块、虹膜边缘曲线确定模块、边缘曲线段确定模块、半径确定模块以及瞳孔中心确定模块。
15.其中,所述人眼图像获取模块用于获取目标人眼图像;所述虹膜边缘曲线确定模块可以用于对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线;所述边缘曲线段确定模块可以用于将所述虹膜边缘曲线截断为多个边缘曲线段,其中各个边缘曲线段均是圆形的边界;所述半径确定模块可以用于分别确定各个边缘曲线段的圆心和半径;所述瞳孔中心确定模块可以用于根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心。
16.本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的视点定位方法。
17.本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的视点定位方法。
18.本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述视点定位方法。
19.本公开实施例提供的视点定位方法、装置及电子设备和计算机可读存储介质,一方面可以通过确定虹膜边缘曲线进而确定瞳孔中心,提高了瞳孔中心的识别准确率;另一
方面通过对虹膜边缘曲线的截断,在提高瞳孔中心识别准确率的同时,提高了瞳孔中心识别的效率。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1示出了可以应用于本公开实施例的视点定位方法或视点定位装置的示例性系统架构的示意图。
23.图2是根据一示例性实施例示出的一种视点定位方法的流程图。
24.图3是根据一示例性实施例示出的一种虹膜边缘曲线确定方法。
25.图4是根据一示例性实施例示出的一种虹膜边缘曲线确定示意图。
26.图5是根据一示例性实施例示出的一种圆心确定方法。
27.图6是根据一示例性实施例示出的一种空间转换示意图。
28.图7是根据一示例性实施例示出的一种瞳孔中心确定方法。
29.图8是根据一示例性实施例示出的一种瞳孔定位结果对比图。
30.图9是根据一示例性实施例示出的一种瞳孔定位结果示意图。
31.图10是根据一示例性实施例示出的一种误差结果示意图。
32.图11是根据一示例性实施例示出的一种视点定位装置的框图。
33.图12示出了适于用来实现本公开实施例的的电子设备的结构示意图。
具体实施方式
34.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
35.本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
36.附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
37.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
38.本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
39.下面结合附图对本公开示例实施方式进行详细说明。
40.图1示出了可以应用于本公开实施例的视点定位方法或视点定位装置的示例性系统架构的示意图。
41.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
42.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。其中,终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。
43.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
44.服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器等,本公开对此不做限制。
45.服务器105可例如获取目标人眼图像;服务器105可例如对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线;服务器105可例如将所述虹膜边缘曲线截断为多个边缘曲线段,其中各个边缘曲线段均是圆形的边界;服务器105可例如分别确定各个边缘曲线段的圆心和半径;服务器105可例如根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心。
46.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,服务器105可以是一个实体的服务器,还可以为多个服务器组成,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
47.图2是根据一示例性实施例示出的一种视点定位方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备来执行,例如该方法可以由上述图1实施例中的服务器或终端设备来执行,也可以由服务器和终端设备共同执行,在下面的实施例中,以服务器为执行主体为例进行举例说明,但本公开并不限定于此。
48.参照图2,本公开实施例提供的视点定位方法可以包括以下步骤。
49.步骤s202,获取目标人眼图像。
50.在一些实施例中,目标人眼图像可以指的是如图4中(a)图所示的包括待识别人眼
在内的图像。可以理解的是,在目标人眼图像中,除人眼之外的背景信息是越少越好。
51.步骤s204,对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线。
52.其中,虹膜边缘曲线可以指的是如图4中(f)图所示的,目标人眼图像中的待识别人眼中的虹膜的边缘曲线。
53.步骤s206,将所述虹膜边缘曲线截断为多个边缘曲线段,其中各个边缘曲线段均是圆形的边界。
54.在实际操作中,虹膜边缘曲线段可以是不连续的,可以是由多个曲线段组成,因此可以将虹膜边缘曲线段截断为多个不连续的边缘曲线段。
55.在另外一些实施例中,还可以按照一定的距离阈值对虹膜边缘曲线段进行截断处理,例如每隔100个像素将虹膜变源曲线段截为一段。
56.本公开对将虹膜边缘曲线段截为多个边缘曲线段的方法不做限制。
57.步骤s207,分别确定各个边缘曲线段的圆心和半径。
58.步骤s210,根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心。
59.本公开实施例提供的技术方案,一方面可以通过确定虹膜边缘曲线进而确定瞳孔中心,提高了瞳孔中心的识别准确率;另一方面通过对虹膜边缘曲线的截断,在提高瞳孔中心识别准确率的同时,提高了瞳孔中心识别的效率。
60.本公开提供的技术方案能够较好地定位瞳孔中心,是一种高效、准确的运动目标检测技术。本公开提供的技术方案可以在不同光照条件以及头部偏转一定角度时仍可以较好地定位瞳孔中心,具有一定的鲁棒性。
61.随着人工智能的发展和出现,机器人备受瞩目,机器人视觉系统作为机器人最直观获取外界信息的途径具有重要的研究价值。对于机器人视觉系统的研究将被应用到众多领域,其中视频监控系统作为计算机人视觉领域的一个重要方向,已经被应用到交通管理,体育竞技、视频监控等领域。本公开提供的方法可以对采集的视频流图像进行人脸检测,然后在检测出的人脸区域进行人脸特征点定位并计算得到感兴趣的眼睛区域,对人眼区域进行图像预处理进行边缘提取与筛选,最后在提取出的人眼区域采用改进的hough变换进行瞳孔识别与中心定位。整个系统计算量小,实时性高,应用前景广阔。例如可以应用到以下场景中:
62.1.用于人机交互等系统中,可以很好的将人们的双手解放出来,完成许多一定条件下无法实现的操作过程如:非接触远程控制和双手都被占用时控制目标等,并且可以有效的帮助残疾人实现对计算机的使用。
63.2.车辆自动辅助驾驶、驾驶员疲劳驾驶检测。
64.3.虚拟空间现实。
65.图3是根据一示例性实施例示出的一种虹膜边缘曲线确定方法。
66.在一些实施例中,所述目标人眼图像包括红色通道图像。
67.参考图3,上述虹膜边缘曲线确定方法可以包括以下步骤。
68.步骤s302,对所述目标人眼图像进行边缘检测,以获得眼部线条图,所述眼部线条图包括非虹膜边缘曲线和噪声。
69.在一些实施例中,可以对目标人眼图像进行canny边缘检测,以获得如图4中b图像中的眼部线条图。
70.在一些实施例中,可以采用以下方法对目标人眼图像进行边缘检测,以获得该眼部线条图。
71.确定所述目标人眼图像中所有像素在目标方向上的梯度强度(实际上可以是梯度强度绝对值);根据各个像素在所述目标方向上的梯度强度,在所述目标人眼图像中确定像素值是局部极大值的局部极大值像素;根据局部极大值像素在所述目标人眼图像中确定局部非极大值像素;将所述局部非极大值像素的像素值设为目标值;从所述局部极大值像素中确定目标方向上的梯度强度小于第三阈值的非边缘像素;将所述非边缘像素的像素值设为目标值以对所述目标人眼图像进行边缘检测,获得所述眼部线条图。
72.其中,目标方向可以指的是上、下、左、右等多个指定方向。
73.其中,在所述目标人眼图像中确定像素值是局部极大值的局部极大值像素可以包括:在目标人眼图像中确定目标像素(本实施例仅以目标像素为例),将该目标像素的梯度强度在局部区域内与各个方向上其他像素的梯度强度进行比较,以确定目标像素在该局部区域内是否为局部极大值。
74.例如,假设目标方向包括上、下、左和右四个方向,可以将目标像素在上下左右四个方向的梯度强度与目标像素的局部区域范围内(例如在目标像素上下左右四个方向向外扩展5个像素构成的局部区域)其他像素的所有梯度强度进行比较,若目标像素存在一个方向上的梯度强度大于其他像素梯度强度,则确定该目标像素对应的像素值是局部极大值像素。
75.在另外一些实施例中,在所述目标人眼图像中确定像素值是局部极大值的局部极大值像素可以包括:在目标人眼图像中确定目标像素(本实施例仅以目标像素为例),确定目标像素在局部区域内(例如在目标像素上下左右四个方向向外扩展5个像素构成的局部区域)的像素值最大,则确定该目标像素对应的像素值是局部极大值。
76.在一些实施例中,将目标人眼图像中除了局部极大值像素值为的其他像素作为局部非极大值像素。
77.在一些实施例中,目标值可以是0。
78.在一些实施例中,还可以通过双阈值检测在目标人眼图像中确定真实及潜在边缘,然后对若边缘进行抑制孤立,以获得如图4中(b)所示的眼部线条图。
79.如图4中(b)图所示,在该眼部线条图中不仅包括虹膜边缘,还包括很多非虹膜边缘的边缘信息和噪声信息。
80.步骤s304,在所述红色通道图像中确定所述目标人眼图像中的人眼区域图像。
81.根据虹膜瞳孔区域的颜色分布,虹膜在红色通道上较皮肤和巩膜的颜色分布有着显著的区别。
82.步骤s306,对所述人眼区域图像进行人眼边缘提取和膨胀处理,以获得虹膜边缘曲线膨胀图。
83.在一些实施例中,可以对人眼区域图像进行边缘提取处理,以获得如图4中(e)图所示的虹膜边缘曲线膨胀图。该虹膜边缘曲线膨胀图可以是在虹膜的边缘上进行膨胀获得的图像。
84.在一些实施例中,可以采用以下方法对人眼区域图像进行人眼边缘提取和膨胀处理:对所述人眼区域图像进行二值化处理,以获得如图4中(c)图所示的二值化图像;对所述二值化图像进行取反、开运算处理,以获得虹膜前景图像(如图4中(d)图所示);对所述虹膜前景图像依次进行边缘提取和边缘膨胀处理,以获得虹膜边缘曲线膨胀图(如图4中(e)图所示)。
85.步骤s308,通过所述虹膜边缘曲线膨胀图对所述眼部线条图进行筛选处理,以获得所述目标人眼图像的目标边缘。
86.在一些实施例中,可以将虹膜边缘曲线膨胀图与眼部线条图进行“叠加取交”处理,即将眼部线条图中与虹膜边缘曲线膨胀图重叠位置处像素值均为1的像素设置为1,将眼部线条图中与虹膜边缘曲线膨胀图重叠位置处像素值不均为1的像素设置为0,以获得目标人眼图像的目标边缘(如图4中(f)所示)。
87.本公开实施例提供的技术方案,在检测出的人脸区域使进行面部特征点的精确定位,根据提取特征点像素的坐标计算得到人眼区域的准确位置,然后对人眼区域进行边缘检测以获得眼部曲线图,然后根据人眼虹膜图像的颜色分布先验对检测结果进行筛选,以获得目标人眼图像的目标边缘。该方案一方面通过虹膜边缘曲线膨胀图实现了对眼部线条图的筛选,实现了对眼部线条图中非虹膜边缘曲线的去噪处理;另一方面,在红色通道图像下,准确的将虹膜与皮肤和巩膜进行了区分,简单且准确地确定了虹膜边缘曲线膨胀图,以保证虹膜边缘曲线膨胀图中的膨胀曲线中必然包括虹膜边缘曲线,进而保证通过该虹膜边缘曲线膨胀图能够准确的实现对眼部线条图的去噪处理。
88.图5是根据一示例性实施例示出的一种圆心确定方法。
89.在一些实施例中,所述多个边缘曲线段包括目标边缘曲线段,本公开实施例将以目标边缘曲线段为例解释如何确定边缘曲线段的圆心和半径,但本公开并不限制于此。
90.在一些实施例中,可以通过hough变化确定目标边缘曲线段对应的圆心和半径,但是在hough变换中,需要进行大量的计算,且无法保证准确率和效率。
91.本实施例提供了一种圆心确定方法,以确定目标边缘曲线段的圆心。
92.参考图5,上述圆心确定方法可以包括以下步骤。
93.步骤s502,从所述目标边缘曲线段选取至少三个点,所述目标边缘曲线段处于图像空间。
94.其中,图像空间指的是目标边缘曲线段上的点所在的空间。
95.在一些实施例中,可以从目标边缘曲线段上随机选取三个点,也可以将所述目标边缘曲线段进行n等分,以获得n个等分线段,n为大于或者等于3的整数,然后从各个等分线段中分别选取一个点,以生成所述目标边缘曲线段上的至少三个点,本公开对上述至少三个点的选取方式不做限制。
96.步骤s504,将所述目标边缘曲线段上的至少三个点从所述图像空间转换到参数空间,以生成至少三个圆锥。
97.在一些实施例中,目标边缘曲线段上的圆在图像空间中可以用公式(1)进行表示:
98.(xi

ai)2+(yi

bi)2=r2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
99.如图6所示,目标边缘曲线段上的任意一点(x1,y1),在由参数a、b、r搭建的参数空间(如图6(1)所示)中均对应一个圆锥(a1i

x1)2+(b1i

y1)2=ri2,而图像空间的一个圆就
对应着这一促圆锥相交的一点。
100.步骤s506,根据所述至少三个圆锥在所述参数空间中确定一目标点。
101.如图6所示,可以将上述至少三个圆锥相交的一个点作为该目标点,还可以将有最多个圆锥相交的点作为目标点,本公开对此不做限制。
102.步骤s508,将所述目标点从所述参数空间转换至所述图像空间,以根据所述目标点在所述图像空间确定一目标圆。
103.在一些实施例中,参数空间中的一个点(a1i,b1i,ri)可以与图像空间中的一个圆对应,因此在确定了参数空间中的目标点之后进而可以确定与其对应的图像空间中的一个目标圆。
104.步骤s510,根据所述目标圆确定所述目标边缘曲线段的对应的圆心和半径。
105.在一些实施例中,该目标圆就可以是目标边缘曲线段所在的圆,该目标圆的圆心和半径就可以是目标边缘曲线段对应的圆心和半径。
106.本公开实施例提供的技术方案,根据目标边缘曲线段上的至少三个点即可以确定目标边缘曲线所在的圆的圆心和半径,既能够提高确定目标圆的准确率,又能够提高确定目标圆的效率。
107.图7是根据一示例性实施例示出的一种瞳孔中心确定方法。
108.参考图7,上述瞳孔中心确定方法可以包括以下步骤。
109.步骤s702,确定所述多个边缘曲线段两两之间的圆心距离。
110.在一些实施例中,每个边缘曲线段均可以对应有一个圆心和一个半径。
111.在一些实施例中,可以计算边缘曲线段两两之间的圆心距离。
112.步骤s704,将圆心距离小于第一阈值的边缘曲线段作为的第一候选边缘曲线段。
113.步骤s706,从所述第一候选边缘曲线段中确定半径小于第二阈值的第二候选边缘曲线段。
114.其中,第二阈值可以是本领域技术人员根据人眼的半径设定的阈值。
115.步骤s708,对所述第二候选边缘曲线段的圆心进行取均值处理,以确定目标圆心。
116.步骤s710,将所述目标圆心作为所述目标人眼图像中人眼的瞳孔中心。
117.在另外一些实施例中,还可以首先将半径距离大于或者等于第二阈值的边缘曲线段剔除以获得第三候选边缘曲线段,然后对第三候选边缘曲线段进行聚类处理,接着获取聚类个数最多的一类中的第三候选边缘曲线段作为第四候选边缘曲线段,最后对第四候选边缘曲线段的圆心进行取均值处理,以确定该目标圆心。
118.为了对比传统的hough变换与本实施例提供的技术方案的检测效率以及精度,本公开设计了一组对比实验。用上述两种算法分别检测同一幅图像中的瞳孔中心,图8(a)是使用传统的hough变换检测结果,图8(b)是使用本公开提供的实施例实现的。
119.对比两种算法的检测结果得到如表1所示的数据
120.表1
[0121][0122]
从表中数据可以发现,传统的hough变换法计算得到的圆相较于真实圆的大小存在较大偏差,且检测过程耗时较长,本方案提供的方法无论是在检测的精度还是时间上均有了较大的提高。
[0123]
为了验证算法的有效性,在bioid(一种人脸数据库)数据集上进行检测。bioid数据库总共有1521张灰度图像,图像的分辨率是384*256像素,图片是由23个不同测试人员在不同光照,头部姿态,面部表情条件下拍摄的,所以该数据集适合用来检验瞳孔定位的准确性以及鲁棒性。图9是对bioid数据集部分进行定位的结果(可将图片放大后观察人眼视点的标注位置)。
[0124]
使用归一化误差衡量算法定位的准确性,归一化误差公式如(2)式所示:
[0125][0126]
其中x
l
为左眼瞳孔中心与真实值差值,x
r
为右眼瞳孔中心与真实值差值,x为真实瞳距瞳距。得到如图10所示的归一化误差精度曲线图。
[0127]
当e≤0.05时表示算法定位出的瞳孔中心可被视为真实瞳孔中心位置;当e≤0.1时表示算法定位出的瞳孔中心处于虹膜范围以内;当e≤0.25时表示算法定位出的瞳孔中心处于人眼区域范围。所以,从图示结果中可以看到,e≤0.05算法定位的准确率达到了96.5%,e≤0.1算法定位的准确率达到了99.6%,因此可以验证公开提出的瞳孔定位算法具有较高的准确率。
[0128]
图11是根据一示例性实施例示出的一种视点定位装置的框图。参照图11,本公开实施例提供的视点定位装置1100可以包括:人眼图像获取模块1101、虹膜边缘曲线确定模块1102、边缘曲线段确定模块1103、半径确定模块1104以及瞳孔中心确定模块1105。
[0129]
其中,所述人眼图像获取模块1101可以用于获取目标人眼图像;所述虹膜边缘曲线确定模块1102可以用于对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线;所述边缘曲线段确定模块1103可以用于将所述虹膜边缘曲线截断为多个边缘曲线段,其中各个边缘曲线段均是圆形的边界;所述半径确定模块1104可以用于分别确定各个边缘曲线段的圆心和半径;所述瞳孔中心确定模块1105可以用于根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心。
[0130]
在一些实施例中,所述多个边缘曲线段包括目标边缘曲线段;其中,所述半径确定模块1104可以包括:三点截取子模块、圆锥确定子模块、目标点确定子模块、目标圆确定子模块以及圆心确定子模块。
[0131]
其中,所述三点截取子模块可以用于从所述目标边缘曲线段选取至少三个点,所述目标边缘曲线段处于图像空间;所述圆锥确定子模块可以用于将所述目标边缘曲线段上
的至少三个点从所述图像空间转换到参数空间,以生成至少三个圆锥;所述目标点确定子模块可以用于根据所述至少三个圆锥在所述参数空间中确定一目标点;所述目标圆确定子模块可以用于将所述目标点从所述参数空间转换至所述图像空间,以根据所述目标点在所述图像空间确定一目标圆;所述圆心确定子模块可以用于根据所述目标圆确定所述目标边缘曲线段的对应的圆心和半径。
[0132]
在一些实施例中,所述三点截取子模块可以包括:等分单元和点选取单元。
[0133]
其中,所述等分单元可以用于将所述目标边缘曲线段进行n等分,以获得n个等分线段,n为大于或者等于3的整数;所述点选取单元可以用于从各个等分线段中分别选取一个点,以生成所述目标边缘曲线段上的至少三个点。
[0134]
在一些实施例中,所述瞳孔中心确定模块1105可以包括:圆心距离确定子模块、第一候选边缘曲线段确定子模块、第二候选边缘曲线段确定子模块、目标圆心确定子模块以及瞳孔中心确定子模块。
[0135]
其中,所述圆心距离确定子模块可以用于确定所述多个边缘曲线段两两之间的圆心距离;所述第一候选边缘曲线段确定子模块可以用于将圆心距离小于第一阈值的边缘曲线段作为的第一候选边缘曲线段;所述第二候选边缘曲线段确定子模块可以用于从所述第一候选边缘曲线段中确定半径小于第二阈值的第二候选边缘曲线段;所述目标圆心确定子模块可以用于对所述第二候选边缘曲线段的圆心进行取均值处理,以确定目标圆心;所述瞳孔中心确定子模块可以用于将所述目标圆心作为所述目标人眼图像中人眼的瞳孔中心。
[0136]
在一些实施例中,所述目标人眼图像包括红色通道图像;其中,所述虹膜边缘曲线确定模块1102可以包括;眼部线条图确定子模块、人眼区域图像确定子模块、虹膜边缘曲线膨胀图确定子模块以及筛选子模块。
[0137]
其中,所述眼部线条图确定子模块可以用于对所述目标人眼图像进行边缘检测,以获得眼部线条图,所述眼部线条图包括非虹膜边缘曲线和噪声;所述人眼区域图像确定子模块可以用于在所述红色通道图像中确定所述目标人眼图像中的人眼区域图像;所述虹膜边缘曲线膨胀图确定子模块可以用于对所述人眼区域图像进行人眼边缘提取和膨胀处理,以获得虹膜边缘曲线膨胀图;所述筛选子模块可以用于通过所述虹膜边缘曲线膨胀图对所述眼部线条图进行筛选处理,以获得所述目标人眼图像的目标边缘。
[0138]
在一些实施例中,所述眼部线条图确定子模块可以包括:梯度强度确定单元、局部极大值像素确定单元、局部非极大值确定单元、目标值确定单元、非边缘像素确定单元和眼部线条图。
[0139]
其中,所述梯度强度确定单元可以用于确定所述目标人眼图像中所有像素在目标方向上的梯度强度;所述局部极大值像素确定单元可以用于根据各个像素在所述目标方向上的梯度强度,在所述目标人眼图像中确定像素值是局部极大值的局部极大值像素;所述局部非极大值确定单元可以用于根据所述极大值像素在所述目标人眼图像中确定局部非极大值像素;所述目标值确定单元可以用于将所述局部非极大值像素的像素值设为目标值;所述非边缘像素确定单元可以用于从所述局部极大值像素中确定目标方向上的梯度强度小于第三阈值的非边缘像素;所述眼部线条图可以用于将所述非边缘像素的像素值设为目标值以对所述目标人眼图像进行边缘检测,获得所述眼部线条图。
[0140]
在一些实施例中,所述虹膜边缘曲线膨胀图确定子模块可以包括:二值化单元、虹
膜前景图像确定单元以及膨胀单元。
[0141]
其中,所述二值化单元可以用于对所述人眼区域图像进行二值化处理,以获得二值化图像;所述虹膜前景图像确定单元可以用于对所述二值化图像进行取反、开运算处理,以获得虹膜前景图像;所述膨胀单元可以用于对所述虹膜前景图像进行边缘提取和膨胀处理,以获得所述人眼边缘膨胀图。
[0142]
由于装置1100的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
[0143]
描述于本技术实施例中所涉及到的模块(和/或子模块和/或)单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块(和/或子模块和/或)单元也可以设置在处理器中。其中,这些模块(和/或子模块和/或)单元的名称在某种情况下并不构成对该模块(和/或子模块和/或)单元本身的限定。
[0144]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0145]
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0146]
图12示出了适于用来实现本公开实施例的的电子设备的结构示意图。需要说明的是,图12示出的电子设备1200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0147]
如图12所示,电子设备1200包括中央处理单元(cpu)1201,其可以根据存储在只读存储器(rom)1202中的程序或者从储存部分1208加载到随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。在ram 1203中,还存储有电子设备1200操作所需的各种程序和数据。cpu 1201、rom 1202以及ram 1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。
[0148]
以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
[0149]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储
介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本技术的系统中限定的上述功能。
[0150]
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0151]
作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:获取目标人眼图像;对所述目标人眼图像进行边缘检测,确定所述目标人眼图像的虹膜边缘曲线;将所述虹膜边缘曲线截断为多个边缘曲线段,其中各个边缘曲线段均是圆形的边界;分别确定各个边缘曲线段的圆心和半径;根据各个边缘曲线段的圆心和半径确定所述目标人眼图像中人眼的瞳孔中心。
[0152]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
[0153]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图2、图3、图5、图7的一个或多个所示的步骤。
[0154]
本领域技术人员在考虑说明书及实践在这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0155]
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1