用于实时探测及跟踪多个观察者眼睛的方法和电路布置

申请号 CN200680030139.4 申请日 2006-08-16 公开(公告)号 CN101243693B 公开(公告)日 2013-07-31
申请人 视瑞尔技术公司; 发明人 亚历山大·史威特纳; 恩里科·邵;
摘要 本 发明 涉及一种用于实时非 接触 式探测及 跟踪 多个观察者眼睛 位置 的方法和 电路 布置。输入数据包含数字 视频 帧 序列。所述方法包含以下步骤:将用于检测脸部的脸部搜寻程序、用于检测眼睛区域的眼睛搜寻程序、以及用于检测及跟踪眼睛参考点的眼睛跟踪程序结合起来。本发明的目的是将眼睛位置在分等级顺序的程序内进行转换,其目的是以输入的视频帧(VF)数据组为 基础 ,将待处理的数据组持续限定为脸部目标区域(GZ)以及随后限定为眼睛目标区域(AZ)。而且,平行运行的一个程序或一组程序在其计算单元上分别完成。本发明用于 自动立体显示 器用户的眼睛 位置跟踪 和用于视频全息术中。
权利要求

1.用于在由至少一个图像传感器获取的视频图像数据中探测及跟踪多个观察者的眼睛参考点位置的方法,其中眼睛参考点位置为瞳孔和/或眼的位置,其特征在于-用于在视频帧中探测脸部位置的脸部搜寻步骤,所述步骤从全部视频帧中为每个脸部提取小得多的子区域作为目标脸部区域,用以将上述目标脸部区域的信息传输至至少一个后续的步骤
-用于探测眼睛位置的眼睛搜寻步骤,所述步骤从每个目标脸部区域中提取小得多的子区域作为目标眼睛区域,用以将上述目标眼睛区域的信息传输至至少一个后续的步骤-用于跟踪眼睛位置的眼睛跟踪步骤,所述步骤在当前视频帧中和后续视频帧中的目标眼睛区域中探测眼睛参考点,并为跟踪装置生成信息,
其中,每个步骤或脸部搜寻步骤和眼睛搜寻步骤与眼睛跟踪步骤的组合或者脸部搜寻步骤与眼睛搜寻步骤的组合和眼睛跟踪步骤或者眼睛搜寻步骤和脸部搜寻步骤与眼睛跟踪步骤的组合在各自专用的计算单元中相互平行执行。
2.根据权利要求1所述的方法,其特征在于眼睛的纵深坐标基于多个图像传感器获取的二维图像数据。
3.根据权利要求2所述的方法,其特征在于在至少一个专用计算单元中为每个探测到的脸部初始化和执行眼睛搜寻步骤和眼睛跟踪步骤。
4.根据权利要求2所述的方法,其特征在于一个或多个脸部搜寻步骤永久执行,并对分别分配的眼睛搜寻/眼睛跟踪步骤进行初始化。
5.根据权利要求1所述的方法,其特征在于具有控制步骤,其确定由脸部搜寻步骤所发现的目标脸部区域是由已跟踪的脸部得到还是由最新探测到的脸部得到,其将眼睛跟踪步骤或眼睛搜寻步骤与眼睛跟踪步骤的组合分配至可利用的计算单元,对其进行初始化,并使所有步骤同步执行。
6.根据上述权利要求5所述的方法,其特征在于步骤确定控制步骤所使用的评估参数,以实现步骤处理控制和可用计算单元的分配。
7.根据权利要求2所述的方法,其特征在于图像数据由多个图像传感器获取,其中眼睛搜寻步骤、眼睛跟踪步骤或眼睛搜寻步骤与眼睛跟踪步骤的组合在专用计算单元中为每个观察者和图像传感器执行,其中部分和/或最终结果在与观察者相关的步骤中交换并由其分别进行处理。
8.用于在视频帧图像数据中探测及跟踪多个观察者的眼睛参考点的电路装置,其具有多个具有脸部搜寻单元、眼睛搜寻单元和眼睛跟踪单元的通信计算单元,其中眼睛参考点位置为瞳孔和/或眼角的位置,该电路装置还包含计算单元,其特征在于-脸部搜寻单元用于在视频帧中探测脸部位置,从全部视频帧中为每个脸部提取小得多的子区域作为目标脸部区域,用以将上述目标脸部区域的信息传输至至少一个后续的单元
-用于探测眼睛位置的眼睛搜寻单元,所述单元从每个目标脸部区域中提取小得多的子区域作为目标眼睛区域,用以将上述目标眼睛区域的信息传输至至少一个后续的单元-用于跟踪眼睛位置的眼睛跟踪单元,所述单元在当前视频帧中和后续视频帧中的目标眼睛区域中探测眼睛参考点,并为跟踪装置生成信息,
其中,每个单元或脸部搜寻单元和眼睛搜寻单元与眼睛跟踪单元的组合或者脸部搜寻单元与眼睛搜寻单元的组合和眼睛跟踪单元或者眼睛搜寻单元和脸部搜寻单元与眼睛跟踪单元的组合在各自专用的计算单元中相互平行执行。
9.根据权利要求8所述的电路装置,其特征在于具有独立的计算单元,用于对图像数据做出有关缩放、γ校正或亮度控制的缩放或校正。
10.根据权利要求8所述的电路装置,其特征在于具有从参考点计算纵深坐标的计算装置,其中上述参考点从至少两个图像传感器确定。
11.根据权利要求8所述的电路装置,其特征在于至少一个计算单元实施为CPU或DSP。

说明书全文

用于实时探测及跟踪多个观察者眼睛的方法和电路布置

技术领域

[0001] 本发明涉及一种用于在实时模式下非接触探测及跟踪多个观察者眼睛位置或瞳孔的方法和电路布置。
[0002] 输入数据包含数字视频序列形式的图像材料,上述数字视频帧序列由一个或多个图像传感器获取。
[0003] 多个观察者眼睛的参考点可以无需任何附加的辅助装置,例如眼镜、头帽或聚光灯等,而加以确定。
[0004] 不同于静止应用,例如对驾驶员或飞行员进行监控,在该情形下运动范围、尤其是纵深范围非常有限,因而几乎是静止的,本发明用于在大目标区域中探测眼睛位置,其处理观察者的快速移动,并且其在相对较大的范围内、例如0.5到3.5m之间确定纵深坐标。
[0005] 眼睛探测的有效和精确实时实现是主要的人机界面。本发明的主要应用领域是探测及跟踪自动立体显示器(auostereoscopic display)使用者眼睛位置的装置。这种显示器无需任何辅助装置、例如偏振眼镜,向观察者提供立体图像效果。本发明的其它应用包含例如在人、脸部或观察方向探测领域中的视频全息术以及设备。
[0006] 自动立体显示器在较大的可视区域中向多个观察者提供极大的机动性,其中图形由所谓的跟踪装置跟踪。
[0007] 对眼睛、眼睛位置或瞳孔的无差错探测和跟踪也是这些图像表示领域的重要人机界面。
[0008] 观察者通常不会注意到工作可靠且无差错的跟踪装置。然而,在许多应用中,跟踪系统的差错导致不期望的不良影响,例如,在3D应用中,
[0009] 观察者通常不会注意到工作可靠且无差错的跟踪装置。然而,在许多应用中,跟踪系统的差错导致不期望的不良影响,例如,在3D应用中,其引起不合格的重建或串扰。跟踪装置需要具有极高的精度、可靠性和准确度。该系统还必须足够有效和精确,以能够正确跟踪所有的主要移动和允许观察者在所有三维空间中尽可能地自由移动。

背景技术

[0010] 市场上可购得多种类型的非接触跟踪系统。简单的模型通常的特征是用于标准操作系统基础应用软件和标准化的硬件及软件界面。
[0011] Zhiwei Zhu Qiang Ji的公布号为WO 03/079902 A1、名称为“不同光照条件下的实时眼睛探测及跟踪(Real-time eye detection and trackingunder various light conditions)”的专利文件公开了一种用于非接触实时眼睛探测的方法,其主要包含眼睛位置探测步骤和眼睛跟踪步骤。眼睛位置探测步骤包括主动照明方法和模式识别的组合。首次探测观察者眼睛之后进行眼睛的跟踪,后一步骤包含多种算法和技术的组合和综合。除了多种方法的组合和综合之外,还存在以下问题:不能实时跟踪头部在所有三维空间中的主要突然移动,由于位置数据的提供和图像获取之间的延迟而可能会阻碍实时处理。这尤其用于不利环境条件下在纵深维度上的眼睛位置探测。
[0012] 例如,在车辆中,驾驶员的脸部往往处于距仪表板可预知的距离内。此外,在垂直和平方向上的移动仅有微小的变化。具体说,纵深维度上运动的实际范围非常小,因此纵深范围通常可以在足够高的精度下进行推算,即使仅使用一个照相机
[0013] 本发明的目的在于在观察空间的所有三维空间中提供较大运动范围,同时提供较短的计算时间。不同于上述公知技术,其需要在所有三维空间,包括纵深维度中探测眼睛。纵深范围最好应该包含从0.5到3.5米的大范围。为了确定纵深,一方面需要多个独立设置的照相机,用以能够从不同透视度获取目标区域的图像。此外,探测长达数米距离上的眼睛需要照相机具有极高的分辨率,这就导致每个照相机和每个视频帧的大量数据。
[0014] 当需要探测多个观察者时,实时处理大量数据的问题就变得更加严重。具体说,为了能够探测因照明影响、反射或眼镜片而难以分辨的观察者,需要非常计算密集的处理步骤。经验表明,探测部分被遮挡或站在旁边的的三分之一或四分之一的人往往仅能用大量、耗时的计算工作量完成。然而,对瞬时至少容易探测和仅用极大工作量才能探测的观察者所需的计算工作量不能不利地影响对其它观察者的实时跟踪。
[0015] 探测眼睛位置所带来的问题导致输入视频帧不能再在实时模式下永久地处理。如果眼镜片或机盖住了眼睛,或者观察者从照相机中突然、但仅片刻离开,每个人和每帧的最大可接受计算时间可能会超出。
[0016] 认识到公知技术的缺点,本发明的一个目的是提供一种能够实时探测多个观察者的眼睛位置的方法,即使观察者明显地、突然地在所有三维空间中移动其头部。该方法能在较大目标区域内探测眼睛位置,能补偿观察者的突然移动,并且能在较大范围内确定纵深坐标。此外,在最小化差错的同时,图像获取和结果输出之间的响应时间得以持续减少,其中图像获取为读取视频帧,结果输出为提供眼睛位置。此外,该方法如果使用高分辨率照相机也能在实时模式下获得无差错结果。

发明内容

[0017] 本方法用于实时探测及跟踪多个观察者的眼睛参考点。输入数据包含数字视频帧序列形式的图像数据,上述数字视频帧序列由一个或多个图像传感器、例如照相机获取。眼睛参考点为瞳孔和/或眼角的位置。
[0018] 本方法包含以下程序的协作:用于探测脸部的脸部搜寻程序,随后是用于探测眼睛区域的在等级分级上为从属的眼睛搜寻程序,以及用于探测及跟踪眼睛参考点的眼睛跟踪程序。眼睛跟踪程序在等级分级上从属于眼睛搜寻程序。
[0019] 本发明基于这样的发明思想,即眼睛位置搜寻在等级分级组织起来的规程内实现,该规程的目的在于自全部视频图像开始逐步缩小搜索区域。实时性能的实现归因于分级逐步缩小和交错,其自用于脸部搜寻程序的全部视频帧开始到用于眼睛搜寻程序或眼睛跟踪程序的缩小的目标脸部区的域搜索区域。此外,在平行执行独立过程的同时,在所有情况下在专用的计算单元中执行一个程序或一组程序。
[0020] 脸部搜寻程序在全部视频帧区域中搜索每个观察者的头部或脸部位置。该程序从而从表示各目标脸部区域的全部视频帧数据中为每个脸部确定更少量的数据,并向眼睛搜寻程序提供该限定区域。
[0021] 眼睛搜寻程序在等级分级上从属于脸部搜寻程序。从提供的目标脸部区域的数据,眼睛搜寻程序必须仅处理大幅减少的数据量。程序确定在该数据中眼睛或眼睛位置,并再次确定作为目标眼睛区域的较目标脸部区域更少量的数据。仅将该限定搜索区域提供给下一步、等级分级为从属的眼睛跟踪程序。
[0022] 然后,眼睛跟踪程序在该眼睛搜索区域的大幅减少的数据量中高速确定搜索的眼睛参考点。通过分级裁减搜索区域和减少数据量,眼睛跟踪程序高效快速地工作。
[0023] 根据本发明,为了减少处理的总延迟时间,脸部搜寻程序和眼睛搜寻程序/眼睛跟踪程序应在独立、平行的过程中相互独立执行。
[0024] 通过将一个程序或一组程序分配给专用计算单元的平行执行可以在多个实施例中实施。
[0025] 在一特别优选的实施例中,在专用计算单元中对每个照相机执行一个脸部搜寻程序。然后,为每个被脸部搜寻程序搜寻到的观察者分配专用计算单元,以实现眼睛搜寻程序,随后是眼睛跟踪程序。如果脸部搜寻程序搜寻到了新的脸部,则立即指示或初始化眼睛搜寻程序或眼睛跟踪程序,并且这些程序在专用、明确分配的计算单元中执行。而且还为暂时消失、但重新搜寻到的脸部实施迅速跟踪脸部搜寻。
[0026] 本发明的主要益处在于,脸部搜寻程序绝不会受到阻碍或延迟,因为从属的程序现在在专用的计算单元中执行。脸部搜寻程序在维持所有其它计算资源的同时、在当前视频帧数据中继续搜索脸部。已经确定的中间或部分搜索结果传输到控制程序,用以进一步处理/分配,或由控制程序接收由眼睛跟踪/眼睛搜寻程序提供的部分结果,以能够在有源控制回路中推导出目标脸部区域。
[0027] 程序的迅速实现持续地裁减了方法的响应时间,并为实时性能形成了第一基础。
[0028] 实时性能还进一步得到分级逐步缩小和交错的支持,其自用于脸部搜寻程序的全部视频帧开始到用于眼睛搜寻程序或眼睛跟踪程序的缩小的目标脸部区的域搜索区域。
[0029] 最后,根据本发明,实时性能还进一步得到在专用计算单元中独立过程内平行执行一个或一组程序的支持和保证。对于程序的平行性,进一步的选择也是可能的。如上所述,脸部搜寻程序和眼睛搜寻程序/眼睛跟踪程序可以在专用计算单元中执行。此外,脸部搜寻/眼睛搜寻程序和眼睛跟踪程序可以在专用计算单元中执行。看起来在专用计算单元中执行眼睛搜寻程序也是可能的。然而,这是需要相对较少计算时间的程序,因此最好将其分配到由计算密集的脸部搜寻或眼睛跟踪程序所使用的计算单元中的一个。
[0030] 程序的处理和程序间的数据交换最好由控制程序控制和监控。具体说,该程序对将探测到的脸部或目标脸部区域分配到专用计算单元上的眼睛搜寻/眼睛跟踪程序进行控制。数据交换主要包括通过分配搜索区域对程序重新进行初始化,程序的部分及最终结果的交换,以及将最后所得的眼睛参考点传输至外部接口
[0031] 例如,控制程序刷新并重新初始化与已跟踪的脸部相应的眼睛搜寻和眼睛跟踪程序。控制程序选择、确认并评估寻找到的目标脸部区域和跟踪眼睛区域的置信度。相应的评估参数由程序在处理过程中加以确定,并被控制程序用于实现最佳的程序处理控制和可用计算单元的分配。
[0032] 根据本发明的方法,能使得即使在观察者在所有三维空间中明显且突然地移动其头部时,也能实时探测多个观察者的眼睛位置。而且还进一步证明,本方法的结果在利用大量高分辨率照相机数据时也能在实时模式下获得结果。附图说明
[0033] 以下附图表示用于与自动立体显示器的跟踪装置相结合的根据本发明的方法的实施例。
[0034] 图1表示脸部搜寻、眼睛搜寻和眼睛跟踪程序的交错的、缩小的搜索区域的示意图。
[0035] 图2表示根据本发明的方法的按等级分级构成的程序的平行执行的流程图
[0036] 图3表示电路布置和根据本发明的方法的按等级分级构成的程序的平行执行的流程图的示意图。

具体实施方式

[0037] 图1表示方法的程序的交错的、缩小的搜索区域。像多个图像传感器、例如立体红外照相机的数字视频帧VF序列的图像材料被获取作为输入数据。图1示意性表示全部视频帧VF的一部分,其由坐标系定义。
[0038] 第一脸部搜寻程序分析全部视频帧VF的数据并在全部视频帧中探测观察者的脸部。第一脸部(左)显然位于照相机附近,而第二脸部(右)距离照相机较远。
[0039] 脸部搜寻程序从全部视频帧VF中为每个探测到的脸部确定对应于目标脸部区域GZ的缩小的数据区域。示于图中左侧的标记与第一脸部相关。确定的目标脸部区域GZ就形成用于随后眼睛搜寻程序的缩小的搜索区域。眼睛搜寻程序在该搜索区域中确定眼睛位置,并作为结果、减小目标脸部区域GZ的数据量,进一步得到更小量的与目标眼睛区域AZ对应的数据的量。
[0040] 目标眼睛区域AZ的数据和眼睛位置是用于随后的眼睛跟踪程序ET的输入数据,其现在在当前视频帧中的目标眼睛区域AZ中,以及根据已确定的移动顺序、在随后的视频帧中的跟踪的目标眼睛区域AZ中,探测要作为结果输出的眼睛参考点。
[0041] 过往的视频帧的参考点信息,根据观察者的移动,用于跟踪和刷新目标眼睛区域AZ,并用于在当前和随后视频帧中推断区域。如果观察者在纵深维度上移动,则图像容量可能就不得不重新再确定大小。
[0042] 如图所示,目标眼睛区域可以包含多个不连续的部分。如图中进一步所示,这些目标区域是不规则的,但是根据观察者头部的位置及其观察方向,其最好是凸出形状的。在一个简单实施例中,这些区域由一列参数化的几何表面、例如椭圆、圆或矩形表示。
[0043] 图2基于以上实施例表示平行执行的程序的流程图。该附图说明了脸部搜寻程序FF、眼睛搜寻程序EF及眼睛跟踪程序ET的分级结构以及向专用计算单元R1至R2的分配。
[0044] 在该实施例中有三个计算单元R1至R2可以利用。第一计算单元R1专用于脸部搜寻程序FF。该程序在视频帧数据中探测第一观察者的脸部并确定目标脸部区域GZ。现在,立即向目标脸部区域分配专用计算单元,以执行眼睛搜寻程序及随后执行眼睛跟踪程序。
[0045] 该附图表示了缩小了的区域、也就是目标脸部区域GZ和目标眼睛区域AZ的数据分别向随后的程序的流动。眼睛跟踪程序ET向更高水平的控制程序(图中未表示)或外部接口提供眼睛参考点数据。同时,在之前视频帧中探测到的参考点的信息被用于在观察者移动时跟踪目标眼睛区域AZ以及为随后的帧对其进行推断。当前目标眼睛区域和之前帧区域的数据因而都被眼睛跟踪程序ET所采用,如图所示。
[0046] 第二观察者以同样的方式进行探测和跟踪。如果有多于计算单元的观察者,则最好为每个观察者(或者可以说为每个目标脸部区域)执行眼睛搜寻/眼睛跟踪程序,以执行多个独立、分开的过程,其中多个处理自然地在共用的计算单元中执行。
[0047] 图3表示借助于不同位置上的多个照相机的图像数据的电路布置以及按等级分级构成的程序的平行执行的流程图以及本方法的平行执行。对于眼睛探测和跟踪,每个照相机都基于根据上述实施例的方法。因此向每个照相机都分配如图1和图2所示的平行执行的程序。
[0048] 左侧系统在左侧图像数据VFL(视频帧左侧)的基础上借助于在第一计算单元R1中执行的脸部搜寻程序FF来探测第一观察者的目标脸部区域GZ1-L。相应的眼睛搜寻程序EF和眼睛跟踪程序ET在计算单元R2中执行。至于电路布置,这些计算单元典型地设置成CPU或DSP的形式。
[0049] 计算单元R3上的第二组程序分配给第二观察者。图中以VFR(视频帧右侧)和标记“R”表示的其它程序和计算单元,与右侧图像和相应的程序或者电路布置的元件有关。
[0050] 图中未表示的执行控制单元在处理过程中保持控制各过程和组织数据交换的规则。数据交换具体在与观察者有关的计算单元中进行。例如,已经获取的左侧图像的信息用于确定和推断右侧图像的位置,其中右侧图像的内容在可接受的误差范围内并不会与左侧图像有实质差别。基于左侧图像中眼睛的x-y像素位置、之前纵深计算中确定的观察者距离和照相机参数的部分结果的转换是可能的。例如,在左半边图像中搜寻到的目标眼睛区域AZ1-L的数据被定义为用于右半边图像AZ1-L的输入参数,如果需要的话进行转换。现在,利用其它不同于用于左侧处理的算法或其它控制参数也是可能的。
[0051] 该计算所需的信息主要包含照相机的分辨率和像素间距、物镜焦距、物镜图像和照相机之间的距离以及照相机距离和方位。
[0052] 电路布置主要包含通信、可编程逻辑模、处理器、ROM和RAM。计算单元最好仅为所计划的目的、具体说是为上述程序优化和设置。在另一较佳实施例中,电路布置还包含专用计算单元,以执行辅助处理,例如重设尺寸、γ校正等等。
QQ群二维码
意见反馈