注视检测设备、注视检测方法和计算机可读存储介质与流程

文档序号:30495682发布日期:2022-06-22 04:20阅读:118来源:国知局
注视检测设备、注视检测方法和计算机可读存储介质与流程

1.本发明涉及视线(注视)检测设备和配备有该视线检测设备的摄像设备。


背景技术:

2.近年来,相机变得越来越自动化和智能化。日本特开2004-8323公开了一种技术,该技术允许用户基于观察取景器的用户的视点(视线(注视)位置)的信息,来识别预期被摄体并进行焦点控制,而无需手动输入被摄体位置。此外,日本特开平07-289517公开了一种技术,其中使用拍摄的眼睛图像来确定视线检测结果的可靠性,并且基于该可靠性来确定是否可以进行视线检测。然后,如果确定无法进行视线检测,则估计无法进行视线检测的原因。
3.在日本特开平07-289517中公开的技术中,单个眼睛图像用于视线检测的误差确定(关于视线检测是否有误(失败)的确定;关于视线是否被精确地检测的确定)。然而,在该方法中,无法高精度地将视线的错误检测确定为误差。如果误差确定的精度低,则例如高频率地基于错误检测到的视线进行不当处理。在检测到的视点处显示项的情况下,项频繁显示在与实际视点不同的位置(错误检测到的视点)处,并且,项的显示位置分散(项不稳定地移动)且设备的可用性下降。


技术实现要素:

4.本发明提供允许高精度地进行视线(注视)检测的误差确定的技术。
5.本发明在其第一方面提供了注视检测设备,其包括:检测单元,其被配置为基于通过拍摄观看显示面的眼睛而获得的眼睛图像,来检测所述眼睛的注视;以及确定单元,其被配置为基于当前眼睛图像和过去眼睛图像,来确定所述注视的检测是否有误。
6.本发明在其第二方面提供了注视检测方法,其包括:基于通过拍摄观看显示面的眼睛而获得的眼睛图像,来检测所述眼睛的注视;以及基于当前眼睛图像和过去眼睛图像,来确定所述注视的检测是否有误。
7.本发明在其第三方面提供了计算可读存储介质,其存储有使计算机执行上述注视检测方法的各步骤的程序。
8.通过以下参照附图对示例性实施例的描述,本发明的进一步特征将变得明显。
附图说明
9.图1a和图1b是根据实施例1的相机的外观图;
10.图2是根据实施例1的相机的剖视图;
11.图3是根据实施例1的相机的框图;
12.图4a至图4c是描绘根据实施例1的取景器内部的视野的图;
13.图5是用于描述根据实施例1的视线(注视)检测方法的原理的图;
14.图6a是描绘根据实施例1的眼睛图像的图;
15.图6b是指示根据实施例1的眼睛图像的亮度分布的图;
16.图7是根据实施例1的视线检测操作的流程图;
17.图8a是描绘根据实施例1的眼睛图像的图;
18.图8b是指示根据实施例1的眼睛图像的亮度分布的图;
19.图9a是描绘根据实施例1的眼睛图像的图;
20.图9b是指示根据实施例1的眼睛图像的亮度分布的图;
21.图10是根据实施例1的误差确定操作(第一方法)的流程图;
22.图11是描绘根据实施例1的眼睛图像的图;
23.图12是根据实施例1的误差确定操作(第二方法)的流程图;
24.图13是根据实施例1的相机操作的流程图;以及
25.图14是根据实施例2的校准操作的流程图。
具体实施方式
26.实施例1
27.将参照附图描述本发明的实施例1。
28.构造的描述
29.图1a和图1b是根据实施例1的相机1(数字静态相机;镜头可更换相机)的外观图。图1a是前透视图,并且图1b是后透视图。如图1a所示,相机1具有摄影镜头单元1a和相机主体1b。作为从用户(摄影者)接收摄影操作的操作构件的释放按钮5设置在相机主体1b上。如图1b所示,供用户观察相机主体1b中包括的后述显示装置10(显示面板)的目镜12(目镜光学系统)设置在相机主体1b的背面。目镜光学系统可以包括多个透镜。用于从用户接收各种操作的操作构件41至43也设置在相机主体1b的背面。例如,操作构件41是接收触摸操作的触摸面板,操作构件42是可在各个方向按下的操作杆,并且操作构件43是可在四个方向中的各个方向按下的四向键。操作构件41(触摸面板)包括显示面板(例如液晶面板),并且具有在显示面板上显示图像的功能。
30.图2是当通过图1a所示的y轴和z轴形成的yz平面剖切相机1时的剖视图,并且描绘了相机1的一般内部构造。
31.摄影镜头单元1a包含两个透镜101和102、光圈111、光圈驱动单元112、透镜驱动电机113、透镜驱动构件114、光电耦合器115、脉冲板116、安装触点117、焦点调整电路118等。透镜驱动构件114由驱动齿轮等构成,并且光电耦合器115检测与透镜驱动构件114联动的脉冲板116的旋转,并将该旋转传送到焦点调整电路118。焦点调整电路118基于来自光电耦合器115的信息和来自相机主体1b的信息(与透镜驱动量有关的信息)来驱动透镜驱动电机113,并且通过移动透镜101来改变焦点位置。安装触点117是摄影镜头单元1a与相机主体1b之间的接口。为简单起见,示出了两个透镜101和102,但摄影镜头单元1a实际上包括两个以上的透镜。
32.相机主体1b包含摄像元件2、cpu 3、存储单元4、显示装置10、显示装置驱动电路11等。摄像元件2设置在摄影镜头单元1a的预定成像面上。cpu 3是微型计算机的控制处理单元,并且总体上控制相机1。存储单元4存储由摄像元件2拍摄的图像等。显示装置10由液晶等构成,并将拍摄的图像(被摄体图像)等显示在显示装置10的显示面上。显示装置驱动电
路11驱动显示装置10。用户可以通过目镜12观看显示装置10的显示面。
33.相机主体1b还包含光源13a和13b、分光器15、光接收透镜16、眼睛摄像元件17等。光源13a和13b是用于供单镜头反光相机基于由光的角膜反射形成的反射图像(角膜反射图像;浦肯野图像(purkinje image))与瞳孔之间的关系来检测视线(注视)方向的光源,并且是用于照明用户的眼球14的光源。具体地,光源13a和13b例如是发射用户未感知到的红外光的红外发光二极管,并设置在目镜12周围。被照明的眼球14的光学图像(眼球图像:由从光源13a和13b发射并被眼球14反射的反射光形成的图像)透过目镜12,并被分光器15反射。然后通过使用光接收透镜16,眼球图像形成在二维设置有cmos等的光电元件行的眼睛摄像元件17上。光接收透镜16被定位成使得眼球14的瞳孔和眼睛摄像元件17处于共轭图像形成关系。通过将在后面描述的预定算法,根据形成在眼睛摄像元件17上的眼球图像中的角膜反射图像的位置,来检测眼球14的视线方向(显示装置10的显示面上的视点(视线位置))。
34.图3是描绘相机1内部的电气构造的框图。视线检测电路201、测光电路202、自动焦点检测电路203、信号输入电路204、显示装置驱动电路11、光源驱动电路205等连接到cpu 3。此外,cpu 3经由安装触点117将信号传送到设置在摄影镜头单元1a中的焦点调整电路118,并且传送到摄像镜头单元1a内部的光圈驱动单元112中包括的光圈控制电路206。附接到cpu 3的存储单元4具有存储来自摄像元件2和眼睛摄像元件17的摄像信号的功能、以及存储用来校正视线的个体差异的视线校正参数(稍后描述)的功能。
35.在眼球图像形成在眼睛摄像元件17上的状态下,视线检测电路201对眼睛摄像元件17的输出(拍摄到眼睛的眼睛图像)进行a/d转换,并将结果发送到cpu 3。cpu 3根据预定算法(稍后描述)从眼睛图像中提取视线检测所需的特征点,并根据特征点的位置计算用户的视线(显示装置10的显示面上的视点)。
36.测光电路202对从也起到测光传感器作用的摄像元件2获取的信号(具体地,与场(field)的亮度相对应的亮度信号)进行放大、对数压缩和a/d转换等,并且将结果作为场亮度信息发送到cpu 3。
37.自动焦点检测电路203对来自包括在摄像元件2中的用于相位差检测的多个检测元件(多个像素)的信号电压进行a/d转换,并将结果发送到cpu 3。cpu 3基于多个检测元件的信号计算到与各焦点检测点相对应的被摄体的距离。这是被称为“成像面相位差af”的技术。在实施例1中,例如假设焦点检测点位于成像面上的与如图4a所示的取景器内部的视野图像(显示装置10的显示面)中指示的180个点相对应的180个点中的各个点处。
38.在释放按钮5的第一冲程接通以开始相机1的测光、测距、视线检测操作等的开关sw1,以及在释放按钮5的第二冲程接通以开始摄影操作的开关sw2连接到信号输入电路204。来自开关sw1或sw2的on信号被输入到信号输入电路204并被发送到cpu 3。
39.图4a是描绘取景器内部的视野的图,并且指示显示装置10正在操作的状态(显示图像的状态)。如图4a所示,取景器内部的视野包括焦点检测区域400、180个测距点指标401和视野掩模402等。180个测距点指标401中的各个被设置在成像面上(该成像面叠加在显示在显示装置10上的直通图像(实时取景图像)上),以显示在与焦点检测点相对应的位置处。180个测距点指标401中的与当前视点a(估计位置)相对应的测距点指标401由框等强调显示。
40.视线检测操作的描述
41.将参照图5、图6a、图6b和图7描述视线检测方法。图5是用于描述视线检测方法的原理的图,并且是用于视线检测的光学系统的示意图。如图5所示,光源13a和13b关于光接收透镜16的光轴近似对称地设置,并且对用户的眼球14进行照明。从光源13a和13b发射并被眼球14反射的光的一部分被光接收透镜16收集在眼睛摄像元件17处。图6a是描绘由眼睛摄像元件17拍摄的眼睛图像(投影到眼睛摄像元件17上的眼球图像)的示意图,并且图6b是指示眼睛摄像元件17中的cmos的输出强度的图。图7是视线检测操作的一般流程图。
42.当视线检测操作开始时,在图7中的步骤s701中,光源13a和13b向用户的眼球14发射红外光。由红外光照明的用户的眼球的图像经由光接收透镜16形成在眼睛摄像元件17上,并由眼睛摄像元件17进行光电转换。由此,可以获取可处理的眼睛图像的电信号。
43.在步骤s702中,视线检测电路201将从眼睛摄像元件17获取的眼睛图像(眼睛图像信号:眼睛图像的电信号)发送到cpu 3。
44.在步骤s703中,cpu 3从步骤s702中获取的眼睛图像中确定与光源13a和13b的角膜反射图像pd和pe相对应的点、以及与瞳孔中心c相对应的点的坐标。
45.从光源13a和13b发射的红外光照明用户的眼球14的角膜142。此时,在角膜142的表面上反射的部分红外光所形成的角膜反射图像pd和pe被光接收透镜16收集,在眼睛摄像元件17上形成图像,并且成为眼睛图像上的角膜反射图像pd’和pe’。以相同方式,来自瞳孔141的边缘a和b的光束也在眼睛摄像元件17上形成图像,并且成为眼睛图像上的瞳孔边缘图像a’和b’。
46.图6b指示图6a中的眼睛图像中的区域α的亮度信息(亮度分布)。在图6b中,指示了眼睛图像在x轴方向的亮度分布(眼睛图像的水平方向为x轴方向,并且眼睛图像的垂直方向为y轴方向)。在实施例1中,假设角膜反射图像pd’和pe’在x轴方向(水平方向)的坐标为xd和xe,并且瞳孔边缘图像a’和b’在x轴方向的坐标为xa和xb。如图6b中所示,在角膜反射图像pd’和pe’的x坐标xd和xe处获取极高水平的亮度。在与瞳孔141的区域(通过来自瞳孔141的光束在眼睛摄像元件17上形成图像而获取的瞳孔图像的区域)相对应的从x坐标xa到x坐标xb的区域中,除了在x坐标xd和xe处之外,都获取极低水平的亮度。在瞳孔141外侧的虹膜143的区域(通过来自虹膜143的光束形成图像而获取的瞳孔图像外侧的虹膜区域)中,获取上述两种亮度之间的中间亮度。具体地,在x坐标(x轴方向的坐标)小于x坐标xa的区域中,以及在x坐标大于x坐标xb的区域中,获取上述两种亮度之间的中间亮度。
47.可以从图6b所示的亮度分布中获取角膜反射图像pd’和pe’的x坐标xd和xe以及瞳孔边缘图像a’和b’的x坐标xa和xb。具体地,可以获取亮度极高的坐标作为角膜反射图像pd’和pe’的坐标,并且可以获取亮度极低的坐标作为瞳孔边缘图像a’和b’的坐标。在眼球14的光轴相对于光接收透镜16的光轴的旋转角度θx小的情况下,通过来自瞳孔中心c的光束在眼睛摄像元件17上形成图像而获取的瞳孔中心图像c’(瞳孔图像的中心)的x坐标xc可以表达为xc≈(xa+xb)/2。换言之,可以从瞳孔边缘图像a’和b’的x坐标xa和xb计算出瞳孔中心图像c’的x坐标xc。以此方式,可以估计角膜反射图像pd’和pe’的坐标以及瞳孔中心图像c’的坐标。
48.在步骤s704中,cpu 3计算眼球图像的图像形成倍率β。图像形成倍率β是由眼球14相对于光接收透镜16的位置而确定的倍率,并且可以使用角膜反射图像pd’和pe’之间的间隔(xd-xe)的函数来确定。
49.在步骤s705中,cpu 3计算眼球14的光轴相对于光接收透镜16的光轴的旋转角度。角膜反射图像pd与角膜反射图像pe之间的中点的x坐标与角膜142的曲率中心o的x坐标近似一致。因此,如果从角膜142的曲率中心o到瞳孔141的中心c的标准距离为oc,则眼球14在z-x平面(垂直于y轴的平面)上的旋转角度θx可以通过以下表达式1来计算。眼球14在z-y平面(垂直于x轴的平面)上的旋转角度θy也可以通过与计算旋转角度θx的方法相同的方法来计算。
50.β
×
oc
×
sinθx≈{(xd+xe)/2}-xc...(表达式1)
51.在步骤s706中,cpu 3使用在步骤s705中计算出的旋转角度θx和θy来确定(估计)用户在显示装置10的显示面上的视点(视线所指向的位置:用户正在观察的位置)。如果视点的坐标(hx,hy)为与瞳孔中心c相对应的坐标,则视点的坐标(hx,hy)可以通过使用以下表达式2和3来计算。
52.hx=m
×
(ax
×
θx+bx)...(表达式2)
53.hy=m
×
(ay
×
θy+by)...(表达式3)
54.表达式2和3中的参数“m”是由相机1的取景器光学系统(例如光接收透镜16)的构造确定的常数,并且是用于将旋转角度θx和θy变换为显示装置10的显示面上的与瞳孔中心c相对应的坐标的变换系数。假设参数“m”是预先确定的并且被存储在存储单元4中。参数ax、bx、ay和by是用于校正视线的个体差异的视线校正参数,并且可以通过进行校准操作(稍后描述)来获取。假设在视线检测操作开始之前将参数ax、bx、ay和by存储在存储单元4中。
55.在步骤s707中,cpu 3将视点的坐标(hx,hy)存储在存储单元4中,并结束视线检测操作。
56.校准操作的描述
57.尽管可以通过上述视线检测操作来估计视点,但是在相同的情况下可能会由于眼球形状的个体差异等原因而难以精确地估计视点。具体地,除非将视线校正参数ax、ay、bx和by调整为适合于用户的值,否则如图4b所示,实际视点b和估计视点c会出现偏差。在图4b中,用户注视着人,但是相机1错误地估计为用户注视着背景,并且在这种状态下无法进行精确的焦点检测和调整。
58.因此,需要在相机1开始摄影之前进行校准操作,以获取视线校正参数并将参数存储在相机1中。
59.在传统已知的技术中,通过在摄像之前对显示装置10的显示面上的不同位置处显示的多个指标(如图4c所示)进行强调并让用户观察这些指标,来进行校准操作。然后在用户注视各个指标时进行视线检测操作,并基于计算出的多个视点(估计位置)和各指标的实际坐标来确定适合于用户的视线校正参数。然而,显示指标的方法没有特别的限制,只要指示了用户观察的位置即可,并且可以显示指标的图形,或者可以通过改变图像(例如拍摄的图像)的亮度或颜色来显示指标。
60.生成视线检测误差的状态的描述
61.如上所述,在视线检测操作中,从眼睛图像中检测角膜反射图像和瞳孔图像(具体地,角膜反射图像的坐标和瞳孔图像的坐标),并且基于这些检测到的图像获取眼球14的旋转角度θx和θy。然后,通过将旋转角度θx和θy变换成显示装置10的显示面上的与瞳孔中心c
相对应的坐标来估计视点。
62.因此,如果角膜反射图像和瞳孔图像出现错误检测误差(如果角膜反射图像和瞳孔图像的检测误差较大),则无法正确计算出旋转角度θx和θy,并且生成视线检测误差(视线检测的失败;视点检测误差的增大;视点的错误检测)。
63.将参照图8a和图8b描述生成视线检测误差的状态的示例。在用户佩戴眼镜的情况下,来自光源13a和13b其中至少之一(照明眼球14的光源)的光可以被眼镜的表面反射并且经由目镜12入射眼睛摄像元件17,并且在眼睛图像中被拍摄为重影(ghost)。图8a是由眼睛摄像元件17拍摄的眼睛图像(投影到眼睛摄像元件17上的眼球图像)的示意图,并且图8b是指示眼睛摄像元件17中的cmos的输出强度的图。在图8a中,由眼镜形成的重影801被拍摄。如图8b中所示,重影801的输出强度与角膜反射图像的输出强度类似。
64.在图8a和图8b中所示的状态下,由于重影801的输出强度与角膜反射图像的输出强度类似,因此重影801可能被错误地检测为角膜反射图像。具体地,重影801的x坐标xf可能被错误地检测为角膜反射图像pd’的x坐标xd或角膜反射图像pe’的x坐标xe。如果角膜反射图像被错误地检测,则眼球图像的图像形成倍率β没有被精确计算,并且旋转角度θx和θy的计算误差增大。在这种情况下,如果估计的视点(通过转换计算出的旋转角度θx和θy而获取的视点)位于显示装置10的显示面外部,则可以容易地确定为出现了视线检测误差(视点的视点估计精度低)。然而,如果估计的视点位于显示装置10的显示面内部,则可能会正确或错误地估计视点(即难以正确地确定视点的估计精度),并且难以正确地确定是否出现了视线检测误差。
65.将参照图9a和图9b描述生成视线检测误差的状态的示例。图9a是由眼睛摄像元件17拍摄的眼睛图像(投影到眼睛摄像元件17上的眼球图像)的示意图,并且图9b是指示眼睛摄像元件17中的cmos的输出强度的图。在图9a中,由眼镜形成的重影901被拍摄。如图9b中所示,重影901的输出强度类似于虹膜图像的输出强度。
66.在图9a和图9b的状态下,由于虹膜图像的输出强度类似于重影901的输出强度,因此瞳孔图像与虹膜图像之间的边界(瞳孔边缘图像a’和b’的x坐标xa和xb)可能未被正确地检测。如果x坐标xa和xb未被正确地检测,则瞳孔图像的中心坐标(瞳孔中心图像c’的x坐标xc)未被正确地计算,并且旋转角度θx和θy的计算误差增大。在这种情况下,如果估计的视点位于显示装置10的显示面外部,或者如果根据x坐标xa和xb估计的瞳孔直径在预期范围之外(例如,在普通成人的瞳孔直径范围之外),则可以很容易地确定为出现了视线检测误差。然而,如果估计的视点位于显示装置10的显示面内部,且估计的瞳孔直径在预期范围之内,则视点可以被正确地估计,而难以正确地确定是否出现了视线检测误差。
67.如上所述,视点的估计精度很大程度上受角膜反射图像的检测误差和瞳孔图像的检测误差的影响。由于角膜反射图像和眼睛摄像元件17的噪声等的影响,与角膜反射图像的检测误差相比,瞳孔图像的检测误差尤其趋于较大(瞳孔图像的检测结果趋于分散)。因此,当瞳孔图像的检测误差大时,视点估计精度容易趋于下降(当瞳孔图像的检测结果分散时,估计的视点容易趋于分散)。
68.具体地,多个角膜反射图像的间隔“xd-xe”的计算误差、多个角膜反射图像的中心位置“(xd+xe)/2”的计算误差以及瞳孔图像的中心位置“xc”的计算误差等对视点的估计精度有很大影响。因此,可以基于多个角膜反射图像的间隔“xd-xe”的计算误差、多个角膜反
射图像的中心位置“(xd+xe)/2”的计算误差以及瞳孔图像的中心位置“xc”的计算误差等,来确定是否出现了视线检测误差。
69.描述了视线检测误差由重影生成的情况,但是视线检测误差可能由于各种其他原因而生成。例如,当由于眼睑或眼睫毛而无法正确地检测瞳孔时,可能会生成视线检测误差。此外,当角膜反射图像被反映在眼泪上并且被错误地检测时,可能会生成视线检测误差。此外,由于用户周围的环境光的影响,可能会生成视线检测误差。
70.第一误差确定的描述
71.将描述用于视线检测的误差确定(确定视线检测电路201的视线检测是否有误;确定视线是否被正确地检测)的第一方法。如上所述,如果基于单个眼睛图像进行误差确定,则除非检测误差非常大,否则难以高精度地进行误差确定。因此,在第一方法中,基于当前眼睛图像和过去眼睛图像进行误差确定。具体地,基于从当前眼睛图像中检测到的多个角膜反射图像和从过去眼睛图像中检测到的多个角膜反射图像来进行误差确定。由此可以高精度地进行误差确定。过去眼睛图像可以是也可以不是紧接在当前眼睛图像之前拍摄的眼睛图像。对于过去眼睛图像,可以使用单个眼睛图像,或者可以使用多个眼睛图像。
72.多个角膜反射图像的间隔“xd-xe”与从取景器(例如光接收透镜16)到角膜的距离密切相关。在使用相机1的情况下,通常不进行使用户观察取景器的眼球14在z方向(与光接收透镜16的光轴平行的方向)上前后移动的操作。这意味着在用户观察取景器期间,多个角膜反射图像的间隔xd-xe近似恒定。
73.因此,在第一方法中,将从当前眼睛图像中检测到的多个角膜反射图像的间隔与从过去眼睛图像中检测到的多个角膜反射图像的间隔进行比较,以进行误差确定。由此可以高精度地进行误差确定。该误差确定可以视为视线检测的误差确定,或者可以视为多个角膜反射图像的间隔“xd-xe”的检测(计算)的误差确定。
74.将参照图10中的流程图描述视线检测的误差确定操作(第一方法)。
75.在步骤s1001中,cpu 3确定是否从当前眼睛图像中检测到多个角膜反射图像,并且如果检测到多个角膜反射图像,则处理进入步骤s1002,或者如果未检测到多个角膜反射图像,则处理进入步骤s1007。
76.在步骤s1007中,cpu 3确定为当前视线检测有误。
77.在步骤s1002中,cpu 3计算从当前眼睛图像中检测到的多个角膜反射图像的间隔(反射图像间隔),并且将反射图像间隔存储在存储单元4中。在照明眼球14的光源的数量为三个或更多个,并且检测到三个或更多个角膜反射图像的情况下,可以计算从这些检测到的三个或更多个角膜反射图像中获取的多个反射图像间隔的代表值(例如平均值、最大值、最小值、众数值、中值)。可以计算从三个或更多个角膜反射图像中获取的所有反射图像间隔,或者可以计算部分反射图像间隔。例如,在存在四个光源(两行
×
两列)的情况下,可以仅计算在行方向上设置的两个角膜反射图像的间隔,或者可以仅计算在列方向上设置的两个角膜反射图像的间隔,或者可以仅计算在对角线方向上设置的两个角膜反射图像的间隔。在这三个类型的反射图像间隔中,可以仅计算两个类型的反射图像间隔。
78.在步骤s1003中,cpu 3确定反射图像间隔是否被计算了至少预定次数(例如5次、10次),换言之,步骤s1002中的处理是否被进行了至少预定次数。然后,如果反射图像间隔被计算了至少预定次数,则cpu 3使处理进入步骤s1004,或者如果计算反射图像间隔的次
数未达到预定次数,则在不进行误差确定的情况下结束误差确定操作。
79.在步骤s1004中,cpu 3从存储单元4获取根据过去眼睛图像计算出的反射图像间隔。可以获取根据单个过去眼睛图像计算出的一个反射图像间隔,但是在实施例1中,假设cpu 3获取在过去预定时段中计算出的一个或多个反射图像间隔,并且计算获取的一个或多个反射图像间隔的平均值。代替平均值,可以计算不同的代表值(例如最大值、最小值、众数值、中值)。过去预定时段例如是到现在为止的5帧的时段,或者是从现在起5帧前的定时到从现在起2帧前的定时的时段。
80.在步骤s1005中,cpu 3计算在步骤s1004中获取的反射图像间隔(过去反射图像间隔:实施例1中的平均值)与在步骤s1002中计算出的反射图像间隔(当前反射图像间隔)之间的差。
81.在步骤s1006中,cpu 3将在步骤s1005中计算出的差与预定阈值进行比较,并确定该差是否为阈值或更大。如果该差为预定阈值或更大,则cpu 3使处理进入步骤s1007,并且确定为当前视线检测有误。如果该差小于预定阈值,则cpu 3确定为当前视线检测成功,并结束误差确定操作。
82.第二误差确定的描述
83.将描述用于视线检测的误差确定的第二方法。同样在第二方法中,基于当前眼睛图像和过去眼睛图像进行误差确定。具体地,在第二方法中,基于从当前眼睛图像中检测到的多个角膜反射图像和瞳孔图像、以及从过去眼睛图像中检测到的多个角膜反射图像和瞳孔图像,来进行误差确定。由此可以高精度地进行误差确定。
84.多个角膜反射图像的中心位置“(xd+xe)/2”与瞳孔图像的中心位置“xc”具有很强的相关性。除非观察取景器的用户的头部平移,否则如果瞳孔图像的中心位置“xc”移动,则多个角膜反射图像的中心位置“(xd+xe)/2”也在与瞳孔图像的中心位置“xc”相同的方向上移动。同样在使用相机1的情况下,在正常情况下,观察取景器的用户的头部不进行连续的平移。因此,在正常情况下,不会出现多个角膜反射图像的中心位置“(xd+xe)/2”和瞳孔图像的中心位置“xc”中的仅一者的移动。
85.因此,在第二方法中,通过比较以下两个类型的距离来进行误差检测。由此可以高精度地进行误差确定。该误差确定可以被视为视线检测的误差确定,或者可以被视为多个角膜反射图像的中心位置“(xd+xe)/2”的检测(计算)的误差确定或瞳孔图像的中心位置“xc”的检测(计算)的误差确定。
[0086]-从表示从当前眼睛图像中检测到的多个角膜反射图像的位置(代表位置:例如中心位置)到从当前眼睛图像中检测到的瞳孔图像的位置(例如中心位置)的距离
[0087]-从表示从过去眼睛图像中检测到的多个角膜反射图像的位置(代表位置:例如中心位置)到从过去眼睛图像中检测到的瞳孔图像的位置(例如中心位置)的距离
[0088]
然而,即使有三个或更多个光源来照明眼球14,也并不总是检测到与光源相同数量的角膜反射图像,并且多个角膜反射图像的代表位置(例如中心位置)根据实际检测到的角膜反射图像的数量和布置而改变。
[0089]
图11是描绘由眼睛摄像元件17拍摄的眼睛图像(投影到眼睛摄像元件17上的眼球图像)的示意图。图11中的眼睛图像是在有四个光源来照明眼球14的情况下的眼睛图像,并且包括四个角膜反射图像p1至p4。在检测到所有角膜反射图像p1至p4的情况下,角膜反射
图像p1至p4的中心位置pc1被计算为多个角膜反射图像的中心位置。另一方面,在没有检测到角膜反射图像p1和p2而仅检测到角膜反射图像p3和p4的情况下,不将角膜反射图像p1至p4的中心位置pc1计算为多个角膜反射图像的中心位置,而是计算角膜反射图像p3和p4的中心位置pc2。
[0090]
以此方式,多个角膜反射图像的代表位置可能会根据检测到的角膜反射图像的数量和布置而改变,因此在某些情况下,多个角膜反射图像的仅代表位置可能会出现很大变化。如果将检测到的角膜反射图像的数量与当前眼睛图像的数量不同的眼睛图像用作过去眼睛图像,则无法适当地进行上述比较。因此,对于过去眼睛图像,优选使用至少满足检测到的角膜反射图像的数量与当前图像的数量近似相同的条件的眼睛图像。此外,对于过去眼睛图像,更优选使用也满足检测到的角膜反射图像的布置与当前图像的布置近似相同的条件的眼睛图像。同样在使用第一方法进行误差确定的情况下,对于过去眼睛图像,优选使用满足这些条件的眼睛图像。
[0091]
将参照图12中的流程图描述视线检测的误差确定操作(第二方法)。
[0092]
在步骤s1201中,cpu 3确定是否基于当前眼睛图像计算出反射中心(多个角膜反射图像的中心位置)和瞳孔中心(瞳孔图像的中心位置)。然后,如果计算出反射中心和瞳孔中心两者,则cpu 3使处理进入步骤s1202,或者如果没有计算出反射中心和瞳孔中心中的至少一个,则使处理进入步骤s1208。
[0093]
在步骤s1208中,cpu 3确定为当前视线检测有误。
[0094]
在步骤s1202中,cpu 3确定角膜反射图像的当前检测状态(从当前眼睛图像中检测到的多个角膜反射图像的数量和布置),并确定检测到角膜反射图像的哪个光源。有可能将重影错误地检测为角膜反射图像,但是该类型的检测误差被确定为上述第一方法中的误差。可以考虑被检测为角膜检测图像的候选的多个图像的布置和大小等,来检测角膜反射图像,使得重影不太可能被错误地检测为角膜反射图像。在检测到数量比光源数量多的图像作为角膜反射图像的候选的情况下,可以根据与光源数量相同数量的候选的多个组合来估计多个视点。然后,可以将估计的视点最可能是实际视点的组合的各候选(诸如最接近前一次视点的视点)检测为角膜反射图像。
[0095]
在步骤s1203中,cpu 3计算当前眼睛图像的反射中心与瞳孔中心之间的距离,并将该距离存储在存储单元4中。
[0096]
在步骤s1204中,cpu 3确定在角膜反射图像的检测状态(检测到的多个角膜反射图像的数量和布置)与当前状态近似相同的状态下,中心距(反射中心与瞳孔中心之间的距离)是否被计算了至少预定次数(例如5次、10次)。换言之,cpu 3确定在角膜反射图像的检测状态与当前状态近似相同的状态下,步骤s1203中的处理是否被进行了至少预定次数。然后,如果在角膜反射图像的检测状态与当前状态近似相同的状态下,中心距被计算了至少预定次数,则cpu 3使处理进入步骤s1205。如果在角膜反射图像的检测状态与当前状态近似相同的状态下计算中心距的次数没有达到预定次数,则cpu 3在不进行误差确定的情况下结束误差确定操作。
[0097]
在步骤s1205中,cpu 3从存储单元4中获取根据角膜反射图像的检测状态与当前眼睛图像近似相同的过去眼睛图像而计算出的中心距。在实施例1中,cpu 3获取在角膜反射图像的检测状态与当前状态近似相同的过去预定时段(预定时段长度)中计算出的至少
一个中心距,并计算至少一个中心距的平均值。代替平均值,可以计算不同的代表值(例如最大值、最小值、众数值、中值)。可以获取根据单个过去眼睛图像而计算出的一个中心距。
[0098]
在步骤s1206中,cpu 3计算在步骤s1205中获取的中心距(过去中心距:实施例1中的平均值)与在步骤s1203中计算出的中心距(当前中心距)之间的差。
[0099]
在步骤s1207中,cpu 3将在步骤s1206中计算出的差与预定阈值进行比较,并确定该差是否为阈值或更大。如果该差为预定阈值或更大,则cpu 3使处理进入步骤s1208,并且确定为当前视线检测有误。如果该差小于预定阈值,则cpu 3确定为当前视线检测成功,并结束误差确定操作。
[0100]
相机操作的描述
[0101]
将参照图13中的流程图描述相机1的操作。
[0102]
当相机1的电源接通时,摄像元件2在步骤s1301中开始获取直通图像,将直通图像的图像信号发送到cpu 3,并且cpu 3将获取的直通图像显示在显示装置10上。用户通过观看显示装置10上显示的直通图像来检查被摄体。根据对相机1的用户操作来接通/断开相机1的电源。
[0103]
在步骤s1302中,cpu 3确定相机1的电源是否断开,并且如果电源断开,则结束图13中的相机操作,或者如果电源没有断开,则使处理进入步骤s1303。
[0104]
在步骤s1303中,cpu 3开始获取在步骤s1301中开始观看直通图像的用户的眼睛图像,并进行图7中的视线检测操作。通过视线检测操作,检测瞳孔图像和角膜反射图像在眼睛图像上的坐标,并且计算显示装置10的显示面上的视点坐标。
[0105]
在步骤s1304中,cpu 3进行图10和图12中的误差确定操作。
[0106]
在步骤s1305中,cpu 3根据步骤s1304中的误差确定操作的结果来确定当前视线检测是否有误。然后,如果当前视线检测有误,则cpu 3使处理进入步骤s1306,或者如果当前视线检测无误(成功),则使处理进入步骤s1307。
[0107]
在步骤s1306中,cpu 3根据在过去预定时段中计算出的多个视点来估计当前视点。在进行步骤s1306中的处理的情况下,代替在步骤s1303中计算出的视点,使用在步骤s1306中估计的视点作为当前视点。用于估计视点的方法没有特别限制。例如,可以基于过去视点的移动量和移动方向等来估计当前视点。在视点移动的情况下,可以通过平滑延伸视点的轨迹来估计当前视点。在视点近似停止于一点处(例如以一点为中心摆动)的情况下,可以将多个视点的中心位置或平均位置等估计为当前视点。
[0108]
在步骤s1307中,cpu 3在与当前视点(估计位置)相对应的位置处将视点框叠加在直通图像上,使得视线框(指示视点的框)显示在显示装置10的显示面上的当前视点(估计位置)处。由此,进行如图4a所示的显示(在直通图像上叠加视线框的显示),并且可以将当前视点a(估计位置)通知到用户。代替视点框,例如可以显示指示视点的点。
[0109]
在步骤s1308中,cpu 3待机预定时间。
[0110]
在步骤s1309中,cpu 3确定用户是否按下(半按下)释放按钮5以接通开关sw1。例如,在用户同意对叠加在直通图像上显示的视点框(指示估计视点的框)的位置的聚焦的情况下,用户半按下释放按钮5以接通开关sw1。如果开关sw1接通,则cpu 3使处理进入步骤s1310,或者如果开关sw1没有接通,则使处理返回到步骤s1303并再次估计视点。
[0111]
在步骤s1310中,cpu 3在当前视线框的位置处进行测距操作,并通过强调显示(诸
如改变视线框的显示颜色)来通知用户进行了测距操作。
[0112]
在步骤s1311中,cpu 3根据在步骤s1310中获取的测距结果来驱动摄影镜头单元1a中的透镜101。由此实现了对叠加在直通图像上显示的视点框的位置的聚焦。
[0113]
在步骤s1312中,cpu 3确定用户是否完全按下(全按下)释放按钮5以接通开关sw2。例如,在用户同意在当前聚焦位置处摄影的情况下,用户全按下释放按钮5以接通sw2。如果开关sw2接通,则cpu 3使处理进入步骤s1313,或者如果开关sw2没有接通,则使处理返回到步骤s1309。
[0114]
在步骤s1313中,cpu 3进行摄影操作,由此将摄像元件2获取的图像信号存储在存储单元4中。
[0115]
在步骤s1314中,cpu 3将在步骤s1313中存储在存储单元4中的图像(摄影图像)在显示装置10上显示预定时间,并且使处理返回到步骤s1302。
[0116]
结论
[0117]
如上所述,根据实施例1,对于视线检测的误差确定,不仅使用当前眼睛图像,还使用过去眼睛图像。具体地,基于眼睛图像的特征随时间的变化来进行误差确定。由此,可以高精度地进行视线检测的误差确定。此外,可以适当地消除检测误差大的视线(视点),并且用户可以适当地改善可见度状态,从而可以实现在基于精确视线的位置处的聚焦。
[0118]
实施例2
[0119]
接下来将描述本发明的实施例2。以下,省略与实施例1相同的方面(例如构造、处理)的描述,并将描述与实施例1不同的方面。在实施例1中,描述了在相机操作期间进行误差确定的示例。在实施例2中,将描述在要观看的指标显示在显示装置10上的状态下进行误差确定的示例。指标的用途没有特别限制,但是在实施例2中,将描述将指标用于校准操作的情况。
[0120]
如实施例1中所述,通过在拍摄图像之前强调位于显示装置10上的不同位置处的多个指标、并让用户观看这些指标,来进行校准操作。例如,如图4c所示,在显示装置10的显示面上的五个位置处(在中心、中心的上侧、中心的下侧、中心的左侧和中心的右侧)显示指标。在实施例2中,一次显示一个指标,但也可以同时显示所有五个指标,并且可以依次强调五个指标中的指标。由此,用户观看显示的指标(强调的指标)。换言之,在校准操作中,用户应该观看的位置由指标指定。
[0121]
即使在校准操作期间,也进行图7中的视线检测操作,并且可能由于各种原因生成视线检测误差。例如,如参照图8a、图8b、图9a和图9b所述,当角膜反射图像或瞳孔图像被错误检测时,会生成视线检测误差。如果使用了错误的视线检测结果(视点),则确定了错误的视线校正参数,并且无法适当地校正视线。如果在校准操作期间进行图10或图12中的误差确定操作,则通过消除错误的视线检测结果,可以确定合适的视线校正参数。
[0122]
此外,当瞳孔图像或角膜反射图像在眼睛图像中的位置发生大的变化时(即当用户正在观看的位置(视点)变化较大时),瞳孔图像或角膜反射图像的特征也会由于因周围光量下降和透镜像差等引起的曝光不均的影响而发生大的变化。例如,瞳孔图像的形状、瞳孔图像的亮度、角膜反射图像的形状和角膜反射图像的亮度等发生大的变化。多个角膜反射图像的间隔以及多个角膜反射图像的中心位置与瞳孔图像的中心位置之间的距离也发生大的变化。因此,如果在实际视点发生大的变化时,将改变视点前获取的信息用于误差确
定,则即使视线检测实际上成功,也可能错误地确定为视线检测有误。因此,优选不使用在改变视点之前获取的信息。在校准操作期间,视点可能会根据指标的显示位置的切换而变化较大,因此通过容易且适当地消除在改变视点之前获取的信息,可以高精度进行视线检测的误差确定。例如,如果将在指标的显示位置与当前图像的显示位置相同的状态下拍摄的眼睛图像用作过去眼睛图像,则可以高精度地进行视线检测的误差确定。
[0123]
校准操作
[0124]
将参照图14中的流程图描述根据实施例2的校准操作。例如,响应于指示开始校准操作的用户操作而开始校准操作。
[0125]
在步骤s1401中,cpu 3在显示装置10上显示供用户注视的指标。
[0126]
在步骤s1402中,cpu 3待机预定时间。
[0127]
在步骤s1403中,cpu 3确定用户是否按下(半按下)释放按钮5以接通开关sw1。例如,用户半按下释放按钮5以指示指标被注视并接通开关sw1。如果开关sw1接通,则cpu 3使处理进入步骤s1404,或者如果开关sw1没有接通,则使处理返回到步骤s1402。
[0128]
在步骤s1404中,cpu 3进行图7中的视线检测操作。通过视线检测操作,检测瞳孔图像和角膜反射图像在眼睛图像中的坐标,并且计算显示装置10的显示面上的视点坐标。
[0129]
在步骤s1405中,cpu 3进行图10或图12中的误差确定操作。
[0130]
在步骤s1406中,cpu 3根据步骤s1405中的误差确定操作的结果来确定当前视线检测是否有误。如果当前视线检测有误,则cpu 3使处理进入步骤s1407,或者如果当前视线检测无误(成功),则使处理进入s1409。
[0131]
在步骤s1407中,cpu 3确定执行视线检测操作的次数(视线检测的误差计数)是否是预定次数或更多。然后,如果执行视线检测操作的次数小于预定次数,则cpu 3使处理返回到步骤s1404,或者如果执行视线检测操作的次数是预定次数或更多,则使处理进入步骤s1408。执行视线检测操作的次数由cpu 3计数。
[0132]
在步骤s1408中,cpu 3确定为无法适当地进行校准(视线校正参数的确定),并且通知用户校准失败。然后cpu 3结束校准操作。
[0133]
在步骤s1409中,cpu 3确定检测视点的次数(检测到视点的次数;成功进行视线检测的次数)是否为预定次数或更多。然后,如果检测视点的次数小于预定次数,则cpu 3使处理返回到步骤s1404,或者如果检测视点的次数为预定次数或更多,则使处理进入步骤s1410。检测视点的次数由cpu 3计数。
[0134]
在步骤s1410中,cpu 3确定是否对所有指标都完成了视线检测(步骤s1401至s1409中的处理)。然后,如果存在至少一个尚未进行视线检测的指标,则cpu 3使处理进入步骤s1411,或者如果对所有指标都完成了视线检测,则使处理进入步骤s1413。
[0135]
在步骤s1411中,cpu 3将步骤s1401中显示的指标改变(切换)为下一个指标。
[0136]
在步骤s1412中,cpu 3将在显示改变前的指标的状态下获取的信息重置,使得在误差确定操作中不将在显示改变前的指标的状态下拍摄的眼睛图像用作过去眼睛图像。例如,cpu 3重置多个角膜反射图像的间隔以及多个角膜反射图像的中心位置与瞳孔图像的中心位置之间的距离等。cpu 3还重置针对步骤s1407和s1409中的处理所计数的次数(执行视线检测操作的次数和检测视点的次数)。然后,cpu 3使处理返回到步骤s1401。
[0137]
在步骤s1413中,cpu 3通知用户校准操作成功。
[0138]
在步骤s1414中,cpu 3基于针对各指标检测到的视点来计算视线校正参数,将视线校正参数存储到存储单元4,并结束校准操作。
[0139]
结论
[0140]
如上所述,根据实施例2,可以在校准操作期间高精度地进行视线检测的误差确定,因此可以高精度地确定视线校正参数。此外,在用户应该观看的指标的显示位置与当前眼睛图像的显示位置相同的状态下拍摄的眼睛图像用作过去眼睛图像。因此,通过容易且适当地消除在实际视点发生大的变化之前获取的信息,可以高精度地进行视线检测的误差确定。
[0141]
实施例1和2仅仅是示例,并且通过在本发明的精神的范围内适当变型或改变实施例1和2的构造而获取的构造也包括在本发明中。此外,通过适当组合实施例1和2的构造而获取的构造也包括在本发明中。
[0142]
此外,以上描述了对注视着相机的取景器的用户的视线进行检测的示例,但本发明不限于此。例如,同样在佩戴在用户的头部以物理感知虚拟现实(vr)等的头戴式显示器(hmd)中进行视线检测的情况下,hmd与眼球(佩戴hmd的用户的眼球)之间的位置关系通常是恒定的。因此,在这种情况下也可以实现实施例1和2中描述的本发明的效果。以同样方式,本发明可以应用于诸如增强现实(ar)眼镜等的眼镜式视线检测设备。本发明可以应用于使用眼睛图像估计视点的所有电子装置。特别地,(由于目镜窗框与眼球(注视目镜窗框的眼球)的位置关系通常是恒定的)本发明可以适用于具有限制视野的目镜窗框(例如相机的目镜窗框、眼镜框)的电子装置。
[0143]
如上所述,根据实施例1和2,通过不仅使用当前眼睛图像还使用过去眼睛图像来进行视线检测的误差确定,可以将实现高精度的误差确定的视线检测设备提供给相机、hmd和眼镜式设备。
[0144]
根据本公开,可以高精度地进行视线检测的误差确定。
[0145]
其他实施例
[0146]
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。
[0147]
尽管参照示例实施例描述了本发明,但是应当理解,本发明不限于所公开的示例实施例。所附权利要求的范围应被赋予最宽泛的解释,以涵盖所有这样的变型以及等同的结构和功能。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1