首页> 中国专利> 2D图像分析器

2D图像分析器

摘要

一种2D图像分析器包括图像缩放器、图像生成器和图案查找器。所述图像缩放器被配置为根据缩放因子对图像进行缩放。所述图像生成器被配置为产生概览图像,所述概览图像包括接收的且缩放的图像的多个副本,其中,每个副本关于不同的缩放因子被缩放。从而,可以通过以下算法来计算相应位置,所述算法考虑概览图像中各缩放图像之间的间隔、缩放图像到概览图像的一个或多个边界的间隔和/或其他预定义条件。所述图案查找器被配置为执行概览图像的特征变换和分类,以输出位置,在该位置处,所搜索图案与预定图案的一致性最大。可选地,还可以提供一种用于对分类的概览图像中的局部最大值的位置进行平滑和校正的后处理单元。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-22

    授权

    授权

  • 2017-01-25

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20150130

    实质审查的生效

  • 2016-12-28

    公开

    公开

说明书

技术领域

本发明的实施例涉及一种2D图像分析器以及相应的方法。

背景技术

在数字图像处理的许多情况下,初始图像的若干缩放版本用于模式识别。这种模式识别器的一个示例是根据Viola-Jones的分类器,其中,针对特定模型尺寸对该分类器进行训练。

根据所搜索图案(例如,脸部或眼睛)朝向相机系统所具有的距离,发生较大的显示或较小的显示。由于分类器的固定模型尺寸,因此,必须在所记录图像的若干缩放级中进行搜索,以在一个缩放级中获得与分类器的模型尺寸的最佳一致性。通常按照升序或降序(参见图像金字塔)搜索缩放级。该顺序处理尤其非常不适合于并行架构(例如,FPGA)。

因此,需要一种改进的构思。

发明内容

目的是允许有效且可靠的模式识别。

该目的通过独立权利要求来实现。其它实施例在从属权利要求中限定。

实施例创建一种具有图像缩放器、图像生成器和图案查找器的2D图像分析器。所述图像缩放器被配置为接收具有所搜索图案的图像,并根据缩放因子对接收的图像进行缩放。所述图像生成器被配置为产生概览图像,所述概览图像包括接收的且缩放的图像的多个副本,其中,每个副本关于不同的缩放因子被缩放。所述图案查找器被配置为将预定图案与概览图像内的多个接收的或缩放的图像进行比较,并输出关于位置的信息,在所述位置处,所搜索图案与所述预定图案之间的一致性最大,其中,所述位置涉及接收的且缩放的图像的相应副本。

因此,本发明的主旨是以下事实:特定图案的可识别性随着图像尺寸而变化。这里,尤其已经意识到,对不同缩放级的顺序处理会是极其低效的。因此,本发明的实施例创建一种具有图案查找器的图像分析器,其中,在不同缩放级中将图案查找器应用于概览图像,所述概览图像包括含有所搜索图案的图像。由于以发送方式布置在概览图像中的这些不同缩放级,可以实现的是,可以仅在一个步骤中一起搜索若干或全部感兴趣的缩放级(以及不像往常一样一个接一个地在若干缩放级上应用模式识别)。这通过以下方式来发生:模式识别仅发生在概览图像上。在这点上,在概览图像与所搜索图案具有最大一致性的情况下,一方面,哪个缩放级传送了该一致性(缩放图像在概览图像内的位置)是显然的,另一方面,其位于哪个位置(图像中的x坐标、y坐标)是显然的(关于缩放因子校正的、缩放图像在概览图像内的位置)。因此,简而言之,这提供了以下优点:通过仅在概览图像上执行模式识别,可以更有效地大量收集所搜索图案,尤其是在并行架构上,例如,FPGA。由于缩放的知识,在绝对图像中,也可以计算搜索图案的位置。

因此,根据另外的实施例,根据相应缩放因子将每个缩放图像分配到概览图像中的相应位置。由此,可以通过以下算法来计算相应位置,所述算法考虑概览图像中各缩放图像之间的间隔、缩放图像到概览图像中的一个或多个边界的间隔和/或其他预定义条件。

根据另外的实施例,将图案查找器应用于准备的该概览图像,所述图案查找器被配置为在概览图像的统计变换版本中或在转换到霍夫特征空间中的概览图像的版本中或在转换到梯度图像中的概览图像的版本中或一般地在转换到特征空间中的概览图像的版本中,来识别一个或多个局部最大值,其中,局部最大值的位置指示在接收的且缩放的图像的相应副本中所识别的预定图案的位置。

根据另外的实施例,图案查找器包括分类和后处理。分类由此被应用于转换到特征空间中的概览图像,并在图像内容与搜索图案一致的位置处提供高值(局部最大值)。因此,对于分类,可以查阅根据现有技术状态的常用方法(例如,根据Viola-Jones)。

分类后的概览图像现在可以相应地经受后处理。为此,最初,利用局部量滤波器对分类后的概览图像进行平滑,并且以这种方式,还对局部最大值的位置进行局部校正。与此并行地,使用局部最大值滤波器,以通过经量滤波器校正的局部最大值获得得分(在大多数情况下,得分是分类的结果,因此,是图像内容与搜索图案的一致性的度量)。结果,再次,分类后的概览图像具有分类器的得分,但是现在具有经局部校正的局部最大值。与先前实施例相对应地,将相应缩放级分配到概览图像中的局部最大值的每个位置(除了在缩放级以一个在另一个下面的方式隔开且朝向概览图像边界的位置处)。根据在缩放级内最大值所位于的地方,可以通过关于相应缩放级的缩放因子对相应位置进行校正来将该位置重新转换到原始图像。因此,将原始坐标中的绝对位置分配到概览图像中的每个位置(除了在缩放级以一个在另一个下面的方式且朝向概览图像边界隔开的位置处)。如果已经在缩放级内提取了最大值,则还可以通过从相邻缩放级协商相应局部最大值来再次对该位置校正一次,并且发生经由相邻缩放级的平均。

另外的实施例涉及2D图像分析器的确切实现,根据第一组实施例,2D图像分析器可以被设计为嵌入式处理器或可编程逻辑或客户端特定芯片(ASIC),或者根据第二组实施例,2D图像分析器可以被实现为运行在计算机上的方法(计算机程序)。

因此,一个实施例包括用于分析2D图像的方法,具有以下步骤:根据缩放因子对包括所搜索图案的接收图像进行缩放,并产生概览图像,所述概览图像包括接收的且缩放的图像的多个副本,其中,每个副本关于不同的缩放因子被缩放。在下一步骤,发生概览图像到特征空间(例如,霍夫特征空间)的转换,然后,进行分类以确定与预定图案(例如,眼睛)的一致性的度量。然后,在概览图像内的多个接收的且缩放的图像中搜索最大值,以输出关于位置的信息,在所述位置处,所搜索图案与所述预定图案之间的一致性最大,其中,所述位置涉及接收的且缩放的图像的相应副本。如果需要的话,则所述位置可以通过局部量和最大值滤波器的组合来校正,并经由相邻缩放级被平均。

根据另外的实施例,所述2D图像分析器可以与2D图像分析系统组合,其中,所述分析系统具有评估单元,所述评估单元监控预定图案以及尤其是瞳孔(或一般地,用户的眼睛区域或眼睛),并确定其状态。因而,特别地,可以检测眼睛的缺少反应,例如,由于短暂打盹而不能再睁开的眼睛。

根据另外的实施例,所述2D图像分析器可以连接到另外的处理单元,所述处理单元包括选择性自适应数据处理器,所述选择性自适应数据处理器被配置为与图像分析器交换若干数据组并处理这些数据组。因而,在这方面,如下处理数据组:仅发送可信数据组,而用可信部分替换数据的不可信部分。

根据另外的实施例,所述2D图像分析器还可以连接到3D图像分析器,所述3D图像分析器基于至少一组图像数据并结合附加信息来确定空间中对象的对准(由此,例如,视点)。该3D图像分析器包括两个主要单元,即,用于确定三维空间中图案的位置的位置计算器以及用于确定准确传递该图案的轴的对准计算器。

根据另外的实施例,所述2D图像分析器还可以与霍夫处理器连接,所述霍夫处理器继而划分成以下两个子单元:预处理器,被配置为接收分别包括图像的多个样本并且旋转和/或反折(reflect)相应样本的图像并输出各个样本中的每个样本的图像的多个版本。霍夫变换单元,被配置为基于所述多个版本收集多个样本中的预定搜索图案,其中,依赖于搜索图案的特性在霍夫变换单元中是可调节的。用于对霍夫结果进行后处理的处理单元被配置为分析收集到的图案并输出一组几何参数,其中,该组几何参数描述了针对每个样本的图案的位置和/或几何形状。

附图说明

随后,基于附图示出本发明的实施例。附图中示出了:

图1是根据实施例的2D图像分析器的示意框图;

图2a是根据实施例的具有预处理器和霍夫变换单元的霍夫处理器的示意框图;

图2b是根据实施例的预处理器的示意框图;

图2c是用于检测直线(线段)的霍夫核的示意图示;

图3a是根据实施例的霍夫变换单元的可能实现的示意框图;

图3b是根据实施例的减速矩阵的单个单元;

图4a至图4d是根据实施例的霍夫变换单元的进一步实现的示意框图;

图5a是根据实施例的具有两个图像处理器和后处理单元的立体相机组件的示意框图,其中,每个图像处理器包括一个霍夫处理器;

图5b是用于说明利用图5a的单元可行的视点检测以及用于解释在单视场情况下的视点检测的眼睛的示例性图像;

图6至图7进一步示出了对附加实施例和/或方面的解释;

图8a至图8e是光学系统的示意图示;

图9a至图9i进一步示出了对霍夫变换单元的背景知识的解释。

具体实施方式

以下,参考附图详细描述本发明的实施例。应当注意的是,用相同的附图标记指示相同的元件,使得其描述彼此适用和/或可交换。

图1示出了具有图像缩放器702、图像生成器704和图案查找器706的2D图像分析器700。

图像缩放器702被配置为接收包括所搜索图案711的图像710(参见图7b)。在图像缩放器702中,利用不同的缩放因子对接收的图像710进行缩放。从而,例如,可以发生如下所示的降尺寸(downsizing)。在该降尺寸期间,基于图像710,产生接收的且缩放的图像710’、710”、710”’至710““““‘的多个副本,其中,应当注意的是,缩放级的数目不受限制。这多个缩放图像710至710““““‘通过图像生成器704组装成概览图像712,由此,概览图像712包括所接收的且缩放的图像710’至710““““‘的多个副本。从而,可以通过以下算法来计算概览图像内缩放图像的各个位置,所述算法考虑概览图像中各缩放图像之间的间隔、缩放图像到概览图像的一个或多个边界的间隔和/或其他预定义条件。在该概览图像712中,通过利用图案查找器706,现在可以检测所搜索图案711。

因此,代替一个接一个地在若干缩放级上施加模式识别,仅将模式识别施加一次至概览图像,由此,各个缩放级被“编码”为概览图像内的位置信息。对各个缩放级的这种处理在FPGA架构上尤其有利,因为这里一个接一个地对各个缩放级进行顺序处理将相对复杂。不同的缩放图像将必须分别存储在存储器中并且被分别处理,然后,使结果相合。因此,一次生成概览图像,然后,可以在一个步骤中对概览图像进行处理。以这种方式,可以最佳地利用并行FPGA架构。

根据另外的实施例,将还可以将该概览图像710变换成特征图像710a,其中这里通常使用统计变换(census transformation)。基于该统计变换后的图像710a,将还可以想到的是,进行分类以检测假彩色图像710b(参见图7c)。

可选地,根据另外的实施例,附加地,可以在2D图像分析器中设置后处理单元(未示出)(参见图5a)。后处理单元允许应用局部量和最大值滤波器的组合,以校正分类后的概览图像中的局部最大值的位置。可选地,由此,还可以发生在缩放级之一中找到的最大值与来自相邻缩放级的相应最大值的位置的平均。因此,发生概览图像中相邻缩放级的平均超过和远离。

参照图7a描述该2D图像分析器的另外的实施例或变型。

图2a示出了具有预处理器102和霍夫变换单元104的霍夫处理器100。预处理器102构成了第一信号处理级并在信息上链接到霍夫变换单元104。霍夫变换单元104具有延迟滤波器106,其可以包括至少一个(然而,优选地,多个)延迟元件108a、108b、108c、110a、110b和110c。延迟滤波器106的延迟元件108a至108c以及110a至110c通常布置为矩阵,因此,在列108和110与行a至c中,信令连接到彼此。根据图2a中的实施例,延迟元件108a至108c和/或110a至110c中的至少一个具有可调节的延迟时间,这里通过“+/-”符号来表现。为了激活延迟元件108a至108c以及110a至110c和/或为了对其进行控制,可以提供单独的控制逻辑和/或控制寄存器(未示出)。该控制逻辑经由可选的切换元件109a至109c和/或111a至111c控制各个延迟元件108a至108c和/或110a至110c的延迟时间,例如,所述可选的切换元件109a至109c和/或111a至111c可以包括复用器和旁路。霍夫变换单元104可以包括附加配置寄存器(未示出),用于对各个延迟元件108a至108c以及110a至110c进行初始配置。

预处理器102的目标在于,通过各个样本112a、112b和112c可以被霍夫变换单元104有效处理的方式来处理各个样本112a、112b和112c。为此,预处理器102接收图像数据和/或多个样本112a、112b和112c,并且例如以旋转的形式和/或以反折(reflection)的形式执行预处理,以向霍夫变换单元104输出若干版本(参见112a和112a’)。如果霍夫变换单元104具有一个霍夫核106,则该输出可以串行地发生,或者如果提供了若干霍夫核,则该输出还可以并行地发生。因此,这意味着,根据该实施方式,n个版本的图像被整体并行地输出和处理,被半并行地(由此,仅部分并行地)输出和处理,或者被串行地输出和处理。预处理器102中的预处理用于利用搜索图案或霍夫核配置来检测若干类似图案(上升和下降的直线),以下通过利用第一样本112a对其进行说明。

例如,该样本可以被旋转例如大约90°,以获得旋转版本112a’。该旋转过程具有附图标记114。由此,旋转可以发生大约90°,还可以是大约180°或270°或者一般地大约360°/n,借以应当注意的是,根据下游霍夫变换(参见霍夫变换单元104),仅进行90°旋转会是非常有效的。参照图2b和图2c解决这些子方面。此外,图像112a还可以被反折,以获得反折版本112a”。反折的过程具有附图标记116。反折116对应于存储器的向后读出。基于反折版本112a”以及基于旋转版本112a’,通过执行过程114或116,可以从旋转且反折版本112a”’获得第四版本。基于反折116,检测到如随后所述的具有相同霍夫核配置的两个相似图案(例如,向右开的半圆和向左开的半圆)。

霍夫变换单元104被配置为在由预处理器102提供的版本112a或112a’(或112a”或112a”’)中检测预定的搜索图案,例如椭圆或椭圆的一部分、圆或圆的一部分、直线或一段。为此,与所搜索预定图案相对应地配置滤波器装置。根据各个配置,延迟元件108a至108c或110a至110c中的一些被激活或旁路(bypassed)。因此,当将待检查的图像112a或112a’的片带(film strip)应用于变换单元104时,一些像素被延迟元件108a至108c选择性地延迟,这对应于中间存储,而其他像素被直接发送到下一列110。由于该过程,弯曲的或倾斜的几何形状“变直”。根据加载的图像数据112a或112a’和/或确切地讲,根据图像112a或112a’的所应用行的图像结构,在列108或110之一中发生高列量(column amount),而其他列中的列量较低。列量经由列量输出108x或110x而输出,这里借以可选地,可以提供用于建立每个列108或110的列量的加法元件(未示出)。利用列量中的一个列量的最大值,可以假设存在所搜索图像结构或所搜索图像结构的一部分或者至少存在与所搜索结构的一致性的关联度。因此,这意味着,按每个处理步骤,片带被进一步移动大约一个像素或大约一个列108或110,从而利用每个处理步骤,通过起始直方图,可以识别出是否检测到所搜索结构之一,或者存在所搜索结构的可能性是否相应地高。换言之,这意味着,覆盖列108或110的各自列量的阈值表明检测到所搜索图像结构的一部分,借以每个列108或110与所搜索图案或所搜索图案的特征(例如,直线的角度或圆的半径)相关联。这里应当注意的是,对于各个结构,不仅相应线110的各延迟元件110a、110b和110c是决定性的,而且具体地,与在后延迟元件110a、110b和110c结合的在前延迟元件108a、108b和108c也是决定性的。与目前工艺水平相对应地,延迟元件或旁路的这种激活或结构是先验预定的。

经由可变延迟元件108a至108c或110a至110c(延迟元件),可以在正在进行的操作期间调整所搜索特征(由此,例如,半径或增幅)。由于各列108和110彼此连接,在调节延迟元件108a至108c或110a至110c之一的延迟时间的过程中发生滤波器106的整个滤波器特性的改变。由于霍夫变换单元104的滤波器106的滤波器特性的灵活调节,可以在运行期间调整变换核106,从而可以收集并利用相同霍夫核106跟踪例如动态图像内容(例如对于小瞳孔和大瞳孔)。在图3c中,其涉及关于延迟时间可以如何调节的确切实现。为了实现具有更大灵活性的霍夫处理器100或变换单元104,优选地,将所有延迟元件108a、108b、108c、110a、110b和/或110c(或所提及的延迟元件中的至少一个)实施为具有可变延迟时间或可离散切换的延迟时间,从而在正在进行的操作期间,可以在待检测的不同图案之间或在待检测的图案的不同特征之间切换。

根据另外的实施例,所示的霍夫核104的大小是可配置的(在操作期间或在之前),从而可以激活或停用附加霍夫单元(Houghcell)。

根据另一实施例,变换单元104可以连接到用于例如利用控制器(未示出)调节相同延迟元件,或者确切地讲用于调节各延迟元件108a至108c以及110a至110c的装置。控制器例如布置在下游处理单元中,并被配置为调节滤波器106的延迟特性,如果图案不能被识别,或者如果识别不是足够好(图像内容与存在所搜索图案时的所搜索图案的低一致性)。参照图5a,其涉及该控制器。

上述实施例具有以下优点:实现起来容易且灵活,并且特别地能够实现在FPGA(现场可编程门阵列)上。这里所涉及的背景是,上述并行霍夫变换的进展没有衰退并且这么说是完全并行化的。因此,进一步的实施例涉及FPGA,其至少具有霍夫变换单元104和/或预处理器102。将上述设备实现为FPGA,例如XILINX Spartan 3A DSP,可以通过使用96MHz的频率来实现例如60FPS的非常高的帧率以及640×480的分辨率,由于具有多个列108和110的上述结构104,可以进行并行处理或所谓的并行霍夫变换。

图2a和图2b示出了预处理器102,其用于对具有帧112a、112b和112c的视频数据流112进行预处理。预处理器102被配置为接收样本112作为二值边缘图像或者甚至作为梯度图像,并基于所述图像执行旋转114或反折116,以获得四个版本112a、112a’、112a”和112a”’。为此,背景是,通常,由霍夫变换单元执行的并行霍夫变换基于图像112a的两个或四个分别经预处理的例如转移大约90°的版本。如图2b所示,最初,在两个版本112a和112a’被水平反折(参见112a到112a”以及112a’到112a”’)之前,发生90°旋转(112a到112a’)。为了执行反折116和/或旋转114,预处理器在相应实施例中具有内部或外部存储器,其用于装载接收到的图像数据112。

预处理器102的旋转114和/或反折116的处理取决于下游霍夫变换、并行霍夫核的数目(并行化程度)和并行霍夫核的配置,如参照图2c具体描述的。在这方面,预处理器102可以被配置为经由输出126,根据与以下三个星座图(constellation)之一相对应的下游霍夫变换单元104的并行化程度而输出预处理后的视频流:

100%并行化:同时输出四个视频数据流,即,一个非旋转且非反折的版本112a、一个旋转大约90°的版本112a’以及分别反折的版本112a”和112a”’。

50%并行化:在第一步中输出两个视频数据流,即,非旋转的112a和反折大约90%的112a’,并且在第二步中输出分别反折的变体112a”和112a”’。

25%并行化:顺序地分别输出一个视频数据流,即,非旋转的112a、旋转大约90°的112a’、反折的112a”以及反折且旋转的112a”’。

作为以上变体的替代,还将想到,基于第一版本,建立另外三个完全旋转的版本,例如,旋转大约90°、180°和270°,基于此,执行霍夫变换。

根据另外的实施例,预处理器102可以被配置为执行进一步图像处理步骤,例如上采样。附加地,预处理器还可以创建梯度图像。对于梯度图像创建将是图像预处理的部分的情况,灰度值图像(初始图像)可以在FPGA中旋转。

图2c示出了两个霍夫核配置128和130,例如,对于两个并行31×31霍夫核,被配置为识别直线或直线段。此外,应用单位圆132,以说明在哪个角部分(angle segment)中可以进行检测。在这点上应当注意的是,要以白点示出延迟元件的方式来分别查看霍夫核配置128和130。霍夫核配置128对应于所谓的类型1霍夫核,而霍夫核配置120对应于所谓的类型2霍夫核。从这两个霍夫核配置128和130的比较可以得出,一个构成了另一个的逆。利用第一霍夫核配置128,可以检测3π/4和π/2之间的部分1中的直线,而可以通过利用霍夫核配置130检测部分3π/2到5π/4(部分2)中的直线。为了实现在其他部分中的检测,如上所述,将霍夫核配置128和130应用于各个图像的旋转版本。因此,通过利用霍夫核配置128,可以收集π/4和零之间的部分1r,并且通过利用霍夫核配置130,可以收集π和3π/4之间的部分2r。

备选地,当仅使用一个霍夫核(例如,类型1霍夫核)时,图像一次旋转大约90°、一次旋转大约180°以及一次旋转大约270°会是有用的,以收集直线对准的上述变体。另一方面,由于灵活性,在霍夫核的配置期间,可以仅使用一种霍夫核类型,该类型在正在进行的操作期间被重新配置,或者关于该类型,各个延迟元件可以通过霍夫核与逆类型相对应的方式被打开或关闭。因此,换言之,这意味着,当使用预处理器102(在50%并行化操作中)以及仅具有一个霍夫核且仅具有一次图像旋转的可配置霍夫变换单元104时,可以显示整个功能,否则只能通过两个并行霍夫核来涵盖整个功能。在这方面,变得清楚的是,各个霍夫核配置或对霍夫核类型的选择取决于由预处理器102执行的预处理。

图3a示出了具有m列108、110、138、140、141和143以及n行a、b、c、d、e和f从而形成m×n个单元的霍夫核104。滤波器的列108、110、138、140、141和143表示所搜索结构的特定特性,例如,对于特定曲线或特定直线增幅。

每个单元包括延迟元件,其在延迟时间方面是可调节的,借以在该实施例中,由于提供了具有旁路的可切换延迟元件的事实,实现了调节机制。以下,参照图3b,代表性地描述所有单元的构造。图3b的单元(108a)包括延迟元件142、诸如复用器的远程可控开关144以及旁路146。通过远程可控开关144,行信号可以经由延迟元件142来传送,或者可以未延迟的导向交点148。一方面,交点148连接到针对列(例如108)的量元件150,而另一方面,经由该交点148,还连接了下一单元(例如110a)。

通过所谓的配置寄存器160(参见图3a)配置复用器144。在这点上应当注意的是,这里示出的附图标记160仅与配置寄存器160的直接耦接到复用器144的一部分相关。配置寄存器160的元件被配置为控制复用器144,并经由第一信息输入160a接收配置信息,所述配置信息例如源自存储在FPGA内部BRAM 163中的配置矩阵。该配置信息可以是按照逐个列的比特串,并与所配置的延迟单元(142+144)中的若干延迟单元(还在变换期间)的配置相关。因此,可以经由输出160b另外发送所述配置信息。由于在操作的任意时间点进行重新配置是不可能的,配置寄存器160或配置寄存器160的单元经由另外的信号输入160c接收所谓的使能信号,通过该使能信号开始重新配置。关于这点的背景是,霍夫核的重新配置需要一定时间,这取决于延迟元件的数目或者具体地取决于列的大小。由此,对于每个列元件,关联时钟周期,并且由于BRAM 163或配置逻辑160,发生较少时钟周期的延迟。对于基于视频的图像处理,对重新配置的总延迟通常是可以忽略的。假设在本实施例中,利用CMOS传感器记录的视频数据流具有水平消隐和垂直消隐,由此水平消隐或垂直消隐时间可以用于重新配置。由于这种情况,在FPGA中实现的霍夫核结构的大小预先确定了针对霍夫核配置的最大尺寸。如果例如使用较小的配置,则这些配置垂直居中并在水平方向上与霍夫核结构的列1对准。霍夫核结构的未使用元件全部用激活的延迟元件占用着。

利用各延迟元件(142+144)以这种方式处理的数据流的评估逐列地发生。为此,逐列地进行合计,以检测局部量最大值,其显示出所识别的搜索结构。每列108、110、138、140、141和143的总和用于确定分配给相应列的值,该值表示对于结构的特征之一与所搜索结构的一致性的程度。为了按每列108、110、138、140、141或143确定列量的局部极大值,提供所谓的比较器108v、110v、138v、140v、141v或143v,它们连接到各个量元件150。可选地,在不同列108、110、138、140、141或143的各个比较器108v、110v、138v、140v、141v、143v之间,还可以设置另外的延迟元件153,延迟元件153用于比较相邻列的列量。详细地,在滤波器的通过期间,针对所搜索图案的特征具有一致性的最高程度的列108、110、138或140总是被挑选出滤波器。在检测列量的局部最大值(比较之前、之后的列)期间,可以假设存在所搜索结构。因此,比较的结果是列号(可能地包括列量=一致性的程度),其中,已经识别出局部最大值,或者找到了所搜索结构的特征,例如,列138。优选地,该结果包括所谓的多维霍夫空间,该多维霍夫空间包括所搜索结构的所有相关参数,例如,图案的类别(例如,直线或半圆)、图案的一致性的程度、结构的特征(关于曲线段的曲线的强度或者关于直线段的增幅和长度)以及所搜索图案的位置或方位。换言之,这意味着,对于霍夫空间中的每个点,将相应结构的灰度值添加在图像段中。因此,形成了最大值,通过利用所述最大值,可以容易地定位霍夫空间中的所搜索结构并且将所搜索结构导回至图像段。

图3b的霍夫核单元可以具有可选的流水线延迟元件162(流水线-延迟),该流水线延迟元件162例如布置在该单元的输出并且被配置为对通过延迟元件142延迟的信号以及通过旁路145未延迟的信号进行延迟。

如参照图1所示,这种单元还可以包括具有可变性的一个延迟元件或者多个切换且旁路的延迟元件,使得延迟时间在若干阶段中可调。在这方面,替代地,将想到在如图3b所示的霍夫核单元的实现之外的其他实现。

以下,参照图5a说明图像处理系统1000内的上述设备的应用。图5a示出了具有预处理器102和霍夫变换单元104的FPGA实现的图像处理器10a。此外,在预处理器102之前,可以在图像处理器10a中实现输入级12,输入级12被配置为从相机14a接收图像数据或图像样本。为此,输入级12可以例如包括图像交接部(image takeover intersection)12a、分割和边缘检测器12b以及用于相机控制的装置12c。用于相机控制的装置12c连接到图像交接部12a和相机14,并用于控制如光照和/或加强明暗度(intensification)的因素。

图像处理器10a还包括所谓的霍夫特征提取器16,其被配置为分析由霍夫变换单元104输出的且包括用于图案识别的所有相关信息的多维霍夫空间,并基于分析结果输出所有霍夫特征的汇编(compilation)。详细地,这里发生霍夫特征空间的平滑,即,借助本地滤波器的空间平滑或者霍夫空间的变薄(拒绝与图案识别不相关的信息)。考虑图案的类别和结构的特征来执行所述变薄,使得霍夫概率空间中的非极大值淡出。此外,对于变薄,还可以定义阈值,使得可以预先确定例如结构的最小或最大可容许特征,例如最小或最大曲线或者最小或最大增幅。通过基于阈值的拒绝,还可以发生霍夫概率空间中的噪声抑制。

原始图像段中的所有剩余点的参数的分析再变换导致例如以下霍夫特征:对于弯曲结构,可以发送位置(x坐标和y坐标)、出现概率、半径和角度(其表明弧向哪个方向打开)。对于直线,可以确定以下参数:位置(x坐标和y坐标)、出现概率、角度(表明直线的增幅)以及代表直线段的长度。该变薄的霍夫空间由霍夫特征提取器16输出,或者一般地由图像处理器10a输出,以在后处理单元18处进行处理。

后处理单元可以例如被实现为嵌入式处理器,并且根据其应用,可以包括不同的子单元,以下对其进行示例性说明。后处理单元18可以包括霍夫特征后几何转换器202。该几何转换器202被配置为分析由霍夫特征提取器输出的一个或多个预定义的搜索图案,并输出几何解释参数。因此,几何转换器202可以例如被配置为基于检测到的霍夫特征输出几何参数,例如,第一直径、第二直径、关于椭圆(瞳孔)或圆的中点的移位和位置。根据优选实施例,几何转换器202用于通过利用2到3个霍夫特征(例如,曲线)来检测并选择瞳孔。由此,包括如下标准:例如,与所搜索结构或霍夫特征的一致性的程度、待检测的霍夫特征或预定图案的曲线、霍夫特征的位置和方位。所选霍夫特征组合被布置为:首先,根据所获得的霍夫特征的量进行布置,并在第二行中,根据与所搜索结构的一致性的程度进行布置。在布置之后,在该点的霍夫特征组合被选择,并且据此,拟合椭圆,该椭圆最有可能在相机图像内表示瞳孔。

此外,后处理单元18包括可选的控制器204,其被形成为将控制信号返回到图像处理器10a(参见控制通道206),或者确切地讲,返回到霍夫变换单元104,基于此,滤波器106的滤波器特性是可调节的。关于滤波器核106的动态调节,控制器204通常连接到几何转换器202,以分析所识别的几何形状的几何参数,并且以能够对几何形状进行更精确识别的方式在所定义边界内跟踪霍夫核。该过程是连续的,例如,开始于上一霍夫核配置(上次使用的霍夫核的大小)并且一旦识别202提供了不足的结果就被跟踪。因此,对于瞳孔或椭圆检测的上述示例,如果人接近相机14a,则控制器可以调节椭圆大小,例如,这取决于待记录的对象与相机14a之间的距离。基于上次调节并基于椭圆的几何参数,滤波器特性的控制据此发生。

根据另外的实施例,后处理单元18可以具有选择性的自适应数据处理器300。该数据处理器的目的是,对数据序列内的异常值(out lier)和流失值(dropout)进行后处理,以例如执行数据序列的平滑。因此,该选择性的自适应数据处理器300被配置为接收由几何转换器202输出的若干组值,由此每一组被分配给相应样本。数据处理器300的滤波器处理器基于所述若干组,以如下方式执行对值的选择:用内部确定的数据值(交换值)交换不可信组中的数据值(例如,异常值或流失值),并且剩余组中的数据值被进一步不变地使用。详细地,发送可信组(不包含异常值或流失值)的数据值,并且用可信组的数据值(例如,之前数据值或若干之前数据值的平均值)交换不可信组(包含异常值或流失值)的数据值。由此,从发送的值以及或许从交换值所产生的数据序列被连续地平滑。因此,这意味着,例如,根据指数平滑的原理,发生数据序列(例如,所确定的椭圆中点坐标)的自适应时间平滑,由此,(例如,由于瞳孔检测期间的错误检测所导致的)待平滑的数据序列的流失值和异常值不会导致平滑后数据的波动。详细地,数据处理器可以对新接收的组中的数据值进行平滑,如果其没有落入以下标准内:

-根据通过组中的附加值之一被量化的一致性的关联度,利用所搜索结构,其是数据序列的流失值。

-根据关联的尺寸参数或几何参数,如果例如实际对象的尺寸偏离先前对象太多,则其是流失值。

-根据实际数据值与基于先前数据值所确定的阈值的比较,如果实际数据值(例如,实际位置值)不在阈值之间,则其是流失值。对此的说明性示例是,例如对象的实际位置坐标(组中的数据值)是否偏离之前由选择性的自适应数据处理器确定的位置坐标太多。

此外,如果满足了这些标准之一,则输出之前的值或至少进行协商,以对实际值进行平滑。为了在平滑期间获得可能地小延迟,可选地,与过去值相比,对实际值定级更高(stronger rated)。因此,在应用指数平滑期间,可以通过以下公式来确定实际值:

实际上平滑的值=实际值×平滑系数+上次平滑的值×(1-平滑系数)

针对待平滑数据的趋向,在所定义边界内动态地调整平滑系数,例如,减小相当恒定值的发展或者增大关于倾斜或下降值的发展。如果长期地,关于待平滑的几何参数(椭圆参数)发生较大的跳跃,则数据处理器由此将平滑后值的发展调整至新的值。通常,还可以例如在初始化期间通过利用参数来配置该选择性的自适应数据处理器300,由此经由这些参数,确定平滑行为,例如,流失值的最大时间段或者最大平滑因子。

因此,该选择性的自适应数据处理器300或者一般地后处理单元18可以输出待识别的图案的位置和几何形状具有高精度的可信值。为此,后处理单元具有交接部(intersection)18a,经由交接部18a,可选地,还可以接收外部控制命令。如果要平滑更多的数据序列,则还可以想到,针对每个数据序列使用单独的选择性的自适应数据处理器,或者通过按每组数据值可以对不同数据序列进行处理的方式来调节选择性的自适应数据处理器。

以下,通过具体的实施例来总体地描述选择性的自适应数据处理器300的以上特征:

数据处理器300例如可以具有两个或更多个输入以及一个输出。对于待处理的数据序列,提供所述输入中(接收数据值)的一个输入。输出是基于所选择数据的平滑后的序列。对于所述选择,对另外的输入(接收用于对数据值进行更精确评估的附加值)进行协商和/或数据序列本身。在数据处理器300内进行处理期间,发生数据序列的改变,由此,对数据序列内异常值的处理和流失值的处理进行区分。

异常值:在选择期间,(在待处理的数据序列内)布置异常值,并用其他(内部确定的)值交换异常值。

流失值:针对待处理的数据序列的质量的评估,对一个或多个另外的输入信号(附加值)进行协商。通过利用一个或多个阈值而发生所述评估,由此,将数据分为“高”质量和“低”质量。将具有低质量的数据评估为流失值,并用其他(内部确定的)值交换该数据。

在接下来的步骤中,例如,发生数据序列的平滑(例如,时间序列的指数平滑)。针对平滑,对经过流失值和异常值调整的数据序列进行协商。平滑可以通过可变(自适应)系数而发生。针对待处理的数据的等级(level)的差,调整平滑系数。

根据另外的实施例,还可能的是,后处理单元18包括图像分析器,例如,3D图像分析器400。在3D图像分析器400的情况下,与后处理单元18一起,还可以提供包括图像处理器10b和相机14的进一步的图像收集单元。因此,两个相机14a和14b以及图像处理器10a和10b建立了立体相机布置,由此,优选地,图像处理器10b与图像处理器10a相同。

3D图像分析器400被配置为接收基于一个第一图像(参见相机14a)所确定的至少一组图像数据以及基于第二图像(参见相机14b)所确定的第二组图像数据,由此,第一图像和第二图像显示来自不同视角的图案,并且被配置为基于此计算视点或3D视线矢量(3Dgaze vector)。为此,3D图像分析器400包括位置计算器404和对准计算器408。位置计算器404被配置为基于第一组、第二组以及视角之间的或者第一相机14a与第二相机14b之间的几何关系,来计算三维空间内图案的位置。对准计算器408被配置为计算3D视线矢量,例如视线方向,所识别的图案在三维空间内对准到所述视线方向,由此,该计算基于第一组、第二组以及计算出的位置(参见位置计算器404)。

为此,其可以例如被叫做所谓的3D相机系统模型,例如,该3D相机系统模型在配置文件中存储了所有模型参数,如位置参数、光学参数(参见相机14a和14b)。

以下,基于瞳孔识别的示例,现在描述3D图像分析器400的整体功能。在3D图像分析器400中存储或记载的模型包括关于相机单元即关于相机传感器的数据(例如,像素大小、传感器大小和分辨率)、关于所用物镜的数据(例如,焦距和物镜失真)、待识别的对象的数据或特征(例如,眼睛的特征)以及关于另外相关对象(例如,在使用系统1000的情况下作为输入设备的显示器)的数据。

3D位置计算器404通过三角测量法,基于两个或者甚至多个相机图像(参见14a和14b)计算眼睛位置或瞳孔中点。为此,经由图像处理器10a和10b、几何转换器202和选择性的自适应数据处理器300的处理链,在这两个相机图像(参见14a和14b)中设置点的2D坐标。从所传送的2D坐标,针对两个相机10a和10b,通过利用3D相机模型,具体地,考虑光学参数,来计算将3D点在传感器上显示为2D点的光线。假设两条直线彼此距离最短的点(在理想情况下,直线的交点)是所搜索3D点的位置。该3D位置与结合模型参数描述所传送2D坐标的精度的误差测量一起经由交接部18a输出作为结果,或者发送到视线方向计算器408。

基于3D空间内的该位置,视线方向计算器408可以确定从瞳孔的两个椭圆形状的投影至相机传感器的视线方向,而无需进行校准并且无需知道眼睛和相机系统之间的距离。为此,除了图像传感器的3D位置参数之外,视线方向计算器408使用通过几何分析器202确定的椭圆参数以及通过位置计算器404确定的位置。从瞳孔中点的3D位置和图像传感器的位置,通过实际相机单元的旋转,计算虚拟相机单元,其中,虚拟相机单元的光轴穿过3D瞳孔中点。之后,分别从实际传感器上瞳孔的投影,计算虚拟传感器上瞳孔的投影,从而出现两个虚拟椭圆。从虚拟椭圆的参数,可以计算在与相应虚拟传感器平面平行的任意平面上眼睛的两个视点。利用四个视点和3D瞳孔中点,可以计算四个视线方向向量,因此,每个相机分别有两个向量。从这四个可能的视线方向矢量中,一个相机的正好一个矢量与另一相机的一个矢量总是几乎相同。两个相同的矢量指示眼睛的所搜索视线方向,随后,由视线方向计算器404经由交接部18a输出所搜索视线方向。

该3D计算的具体优点是,瞳孔大小和3D视线方向的3D眼睛位置的非接触式且完全免校准的确定不依赖于关于眼睛朝向相机的位置的知识。考虑3D空间模型对3D眼睛位置和3D视线方向的分析确定使相机的数目任意(大于1)以及3D空间中相机的位置任意。短的延迟时间以及同时具有高帧率实现了所描述系统1000的实时能力。此外,还固定所谓的时间制度(time regime),使得连续结果之间的时间差恒定。

根据替代变型,还可以执行视线方向确定,如以下参照图5所述。

在关于“3D图像分析器”的先前描述中,其包括用于免校准眼睛跟踪的方法,迄今需要来自不同视角的至少两个相机图像。关于视线方向的计算,存在一个位置,在该位置处,按每相机图像,正好确定两个可能的视线方向矢量,由此,分别地,在相机与瞳孔中点之间的交线处,第二矢量对应于第一矢量的反射(reflection)。在从其他相机图像产生的两个矢量中,正好一个矢量几乎对应于从第一相机图像计算的矢量。这些相对应的矢量指示待确定的视线方向。

为了能够也利用相机执行免校准眼睛跟踪,必须在从相机图像确定的两个可能的视线方向矢量(以下“v1”和“v2”)中选择实际视线方向矢量(以下“vb”)。

参考图5b对该处理进行说明。图5b示出了包括瞳孔的眼球(绿框)的可见部分以及两个可能的视线方向v1和v2。

关于选择视线方向“vb”,存在可以分别使用或组合使用的多种可能性,以选择实际视线方向矢量。以下说明这些可能性中的一些可能性(所列不是最终的),其中,假设已经在该选择的时间点确定了v1和v2(参见图5a):

因此,可以在相机图像中发生第一种可能性(虹膜周围的白色皮肤)。定义了2个光束(开始于瞳孔中点并无限长),一个沿v1的方向,一个沿v2的方向。这两个光束分别被投射到眼睛的相机图像中,并从瞳孔中点传播到图像边缘。使属于较少巩膜的像素失真的光束属于实际视线方向向量vb。巩膜的像素在灰度值上与相邻虹膜的像素和眼睑的像素不同。如果属于所捕捉的眼睛的脸部从相机转移太远(由此,如果相机的光轴与垂直于脸部平面的直立矢量之间的角度变得太大),则本方法达到其极限。

根据第二种可能性,可以在眼睛睁开期间发生对瞳孔中点的位置的评估。在眼睛睁开期间或在眼球的可见部分内瞳孔中点的位置可以用于选择实际视线方向矢量。与之相关的一种可能性是定义两个光束(开始于瞳孔中点并无限长),一个沿v1的方向,一个沿v2的方向。这两个光束分别被投射到眼睛的相机图像中,并从瞳孔中点传播到图像边缘。在相机图像中沿两个光束,分别地,确定瞳孔中点与眼睛开口的边缘(在图5b中绿色标记的)之间的距离。出现较短距离的光束属于实际视线方向矢量。如果属于所捕捉的眼睛的脸部从相机转移太远(由此,如果相机的光轴与垂直于脸部平面的直立矢量之间的角度变得太大),则本方法达到其极限。

根据第三种可能性,可以朝向参考瞳孔中点发生对瞳孔中点的位置的评估。在眼睛睁开期间或在眼球的可见部分内在相机图像中所确定的瞳孔中点的位置可以与参考瞳孔中点一起用于选择实际视线方向矢量。对此的一种可能性是定义2个光束(开始于瞳孔中点并无限长),一个沿v1的方向,一个沿v2的方向。这两个光束分别被投射到眼睛的相机图像中,并从瞳孔中点传播到图像的边缘。在眼睛睁开期间参考瞳孔中点对应于眼睛直接看向用于图像记录的相机传感器中心方向时的瞳孔中点。投射到相机图像中的在该图像中距参考瞳孔中点具有最小距离的光束属于实际视线方向矢量。关于确定参考瞳孔中点,存在几种可能性,以下描述其中一些可能性:

可能性1(应用的特定情况):在眼睛直接看向相机传感器中心方向的情况下,参考瞳孔中点产生于所确定的瞳孔中点。如果虚拟传感器平面上的瞳孔轮廓(参见关于视线方向计算的描述)表征为圆,则进行这样的假定。

可能性2(应用的一般情况):随着对参考瞳孔中点的位置的粗略估计,可以使用眼睛开口表面的焦点(focus)。如果脸部所位于的平面不平行于相机的传感器平面,则该估计方法达到其限制。如果脸部平面朝相机传感器平面的倾斜是已知的(例如,通过之前执行的对头位置和对准的确定)并且这用于校正所估计的参考瞳孔中点的位置,则该限制可以得到补偿。

可能性3(应用的一般情况):如果眼睛中点的3D位置是可用的,则可以确定3D眼睛中点与虚拟传感器中点之间的直线以及其与眼球表面的交点。参考瞳孔中点产生于该交点转换到相机图像中的位置。

根据另外的实施例,替代FPGA 10a和10b,可以使用ASIC(专用芯片),特别地其可以高数量地实现且具有非常低的成本。然而,综述,可以确定的是,独立于霍夫处理器10a和10b的实施,由于高效处理和相关的低内部时钟需求,可以实现低能耗。

不管这些特征,这里使用的霍夫处理器或在霍夫处理器上执行的方法非常鲁棒并且不容易失败。在这点上应当注意的是,如图2a所示的霍夫处理器100可以在与具体地关于图5所示的不同特征的各种组合中使用。

根据图1的霍夫处理器的应用是:例如,用于短暂打盹的报警系统或疲劳检测器作为汽车行业中的驾驶辅助系统(或者一般地用于安全相关的人机接口)。由此,通过评估眼睛(例如,覆盖瞳孔作为对眨眼程度的测量)以及考虑视点和焦点,可以检测特定疲劳图案。此外,关于用于技术设备的输入设备或输入接口,可以使用霍夫处理器;由此,之后,眼睛位置和视线方向用作输入参数。确切的应用将是:支持用户在观看屏幕内容时例如突出显示特定的关注区域。这样的应用是:辅助生活、计算机游戏领域,关于通过包括视线方向对3D可视化进行优化,关于市场和媒体开发,或者关于眼科诊断和特别感兴趣的疗法。

如上已经指出的,上述方法的实施不依赖于平台,从而上述方法也可以在例如PC的其他单元上执行。因此,进一步的实施例涉及一种用于霍夫处理的方法,具有以下步骤:通过使用预处理器处理分别具有图像的大多数样本,其中,各样本的图像被旋转和/或反折,从而针对每个样本输出相应样本的图像的大多数版本;以及通过使用霍夫变换单元基于所述大多数版本收集大多数样本中的预定图案,其中,所述霍夫变换单元具有延迟滤波器,所述延迟滤波器具有依赖于所选预定图案组的滤波器特性。

即使在结合可调节特性的以上说明中,总是参考滤波器特性,在这点上应当注意的是,根据进一步的实施例,可调节特性还可以涉及关于快速2D相关的后处理特性(曲线或失真特性)。参考图4a至图4d对该实施方式进行说明。

图4a示出了快速2D相关的处理链1000。2D相关的处理链至少包括用于2D曲线的功能块1105以及用于融合(merging)的功能块1110。图4b中示出了关于2D曲线的过程。图4b以模板示出了示例性的汇编。通过图4c并结合图4d,变得显然的是,基于该处理链1000,可以如何提取霍夫特征。图4c示例性地示出了用于识别椭圆1115的具有n个模板的逐像素相关(在这种情况下,例如,针对具有不同增幅的直线),而图4d示出了逐像素相关的结果,由此通常经由n个结果图像仍然发生最大搜索。每个结果图像按每像素包含一个霍夫特征。以下,在整体背景下描述该霍夫处理。

与利用具有可调节特性的延迟滤波器的实现(针对并行FPGA结构所优化的实现)相反,关于这里概述的霍夫处理,其具体地针对基于PC的实现,该处理的一部分将通过另一方法交换。

到目前为止,事实是延迟滤波器的准每列表示所搜索结构(例如,具有不同增幅的直线段)。通过滤波器后,具有最高量值的列号是决定性的。由此,列号表示所搜索结构的特性,量值指示对与所搜索结构的一致性的测量。

关于基于PC的实现,用快速2D相关交换延迟滤波器。先前的延迟滤波器应根据特定图案的特性的位置n的大小而形成。将该n个特性在存储器中存储为模板。之后,将预处理后的图像(例如,二值边缘图像或梯度图像)逐像素地传递。在每个像素位置,具有下层图像内容(与后处理特性相对应)的所有存储的模板分别被同步(即,像素位置(模板的大小)的环境被评估)。该过程被称为数字图像处理中的相关。因此,对于每个模板,获得相关值,即,对与下层图像内容的一致性的测量。因此,后者对应的列量形成了先前的延迟滤波器。现在,(按每像素)对具有最高相关值的模板进行确定,并存储其模板号(模板号描述了所搜索结构的特性,例如,直线段的增幅)。

因此,按每像素获得相关值和模板号。由此,可以完整地描述已经概述的霍夫特征。

还应当注意的是,可以在局部区域中以及在频率区域中执行各个模板与图像内容的相关。这意味着初始图像首先分别与所有n个模板进行相关。获得N个结果图像。如果这些结果图像叠加放置(如在立方体中),则将(通过所有平面)搜索按每像素的最高相关值。由此,各个平面随后表示立方体中的各个模板。结果,再次获得各个图像,随后,各个图像按每像素包含相关测量和模板号-由此,按每像素一个霍夫特征。

即使始终结合“瞳孔识别”描述以上方面,以上概述的方面也可用于进一步的应用。这里,例如,将提及应用“用于短暂打盹的报警系统”,以下对其进行详细地说明。

用于短暂打盹的报警系统是至少包括图像收集单元、照明单元、处理单元以及声学和/或光学信令单元的系统。通过评估用户所记录的图像,设备能够识别用户开始短暂打盹或疲劳或偏转(deflection),并警告用户。

例如,可以通过以下形式开发该系统:使用CMOS图像传感器,并且在红外范围内对场景进行照明。这具有以下优点:设备独立于环境光而工作,并且特别地不会使用户失明。作为处理单元,使用嵌入式处理器系统,其执行下层操作系统上的软件代码。信令单元目前包括多频蜂鸣器和RGB-LED。

可以通过以下事实形式发生对记录图像的评估:在第一处理级,利用分类器执行脸部和眼睛检测以及眼睛分析。该处理级提供了用于对准脸部、眼睛位置和眨眼反射程度的第一指示。

基于此,在之后步骤中,执行基于模型的眼睛精确分析。由此使用的眼睛模型可以例如包括:瞳孔和/或虹膜位置、瞳孔和/或虹膜大小、对眼睑和眼睛边缘点的描述。由此,这是足够的,如果在每个时间点,这些要素中的一些要素被找到和评估。还可以经由若干图像跟踪各个要素,从而不用在每个图像中再次完全搜索各个要素。

可以使用先前描述的霍夫特征,以执行脸部检测或眼睛检测或眼睛分析或眼睛精确分析。先前描述的2D图像分析器可以用于脸部检测或眼睛检测或眼睛分析。对于在脸部检测或眼睛检测或眼睛分析期间对所确定的结果值或中间结果或值发展的平滑,可以使用所描述的自适应的选择性数据处理器。

对眨眼反射的程度和/或眼睛精确分析结果的按时间顺序的评估可以用于确定用户的短暂打盹或疲劳或偏转。附加地,还可以使用如结合3D图像分析器所描述的免校准视线方向确定,以获得用于确定用户的短暂打盹或疲劳或偏转的更好结果。此外,为了使这些结果稳定,可以使用自适应的选择性数据处理器。

在用于确定眼睛位置的“短暂打盹报警系统”实施例中所描述的过程还可以用于确定任意其他定义的2D位置,例如鼻子位置或脸部内的鼻根位置。

当使用来自一个图像的一组信息以及另一组信息时,还可以在3D空间中确定该位置,其中,可以从另一相机的图像生成所述另一组信息,或者通过评估第一相机图像中的对象之间的关系来生成所述另一组信息。

根据实施例,初始图像级中的霍夫处理器可以包括用于相机控制的单元。

虽然已结合设备描述了一些方面,但是应当理解:这些方面还包括对相应方法的描述,使得设备的块或组件还应被理解为相应的方法步骤或方法步骤的特征。通过与之类比,结合方法步骤或作为方法步骤所描述的各方面也包括对相应设备的相应块或细节或特征的描述。一些或所有方法步骤可以由装置(通过使用硬件装置)来执行,例如,可编程计算机或电子开关(electronic switch)的微处理器。关于一些实施例,可以由这种装置来执行最重要方法步骤中的某一个或多个方法步骤。

根据具体实现要求,本发明的实施例可以实现为硬件或软件。可以通过使用其上存储有电可读控制信号的数字存储介质来实施实现方式,例如,软盘、DVD、蓝光盘、CD、ROM、PROM、EPROM、EEPROM或闪存、硬盘或任何其他磁或光存储器,其可以与可编程计算机系统协作或合作,使得执行相应方法。因此,数字存储介质可以是计算机可读的。

根据本发明的一些实施例因此包括具有电可读控制信号的数据载体,该电可读控制信号能够与可编程计算机系统协作从而执行本文所述的方法之一。

通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,其中,在所述计算机程序产品在计算机上运行时,所述程序代码可有效执行所述方法之一。

程序代码可以例如存储在机器可读载体上。

另外的实施例包括用于执行本文所述的方法之一的计算机程序,其中,该计算机程序存储在机器可读载体上。

因此,换言之,根据本发明的方法的一个实施例是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所限定的方法之一。

本发明方法的另一实施例从而是数据载体(或数字存储介质或计算机可读介质),其上记录有用于执行本文描述的任何方法的计算机程序。

因此,根据本发明的方法的另一实施例是包括用于执行本文所限定的方法之一的计算机程序的数据流或信号序列。所述数据流或信号序列可以例如被配置为例如经由数据通信连接(例如,经由互联网)被传送。

另一实施例包括被配置或调整为执行本文所限定的方法之一的处理单元,例如计算机或可编程逻辑器件。

另一实施例包括其上安装有用于执行本文所限定的方法之一的计算机程序的计算机。

根据本发明的另一实施例包括被设计为向接收方发送用于执行本文所限定的至少一个方法的计算机程序的设备或系统。例如,可以通过电或光的方式发生所述发送。接收方可以是计算机、移动设备、存储器设备或类似设备。所述设备或系统可以例如包括用于向接收方发送计算机程序的文件服务器。

关于一些实施例,可编程逻辑器件(例如,现场可编程门阵列FPGA)可以用于执行本文所限定的方法的一些或全部功能。关于一些实施例,现场可编程门阵列可以与微处理器协作以执行本文所限定的方法之一。通常,关于一些实施例,所述方法由任意硬件设备来执行。这可以是通用硬件(如计算机处理器(CPU))或专用于所述方法的硬件(例如,ASIC)。

以下,换句话说,从另外两个角度来描述上述的本发明或本发明的多个方面:

集成眼睛跟踪器

集成眼睛跟踪器包括FPGA优化算法的编译,所述FPGA优化算法适合于通过利用从相机实时图像的并行霍夫变换来提取(椭圆)特征(霍夫特征)。之后,通过评估所提取的特征,可以确定瞳孔椭圆。当使用位置和对准彼此已知的若干相机时,可以确定瞳孔中点的3D位置以及3D视线方向和瞳孔直径。关于计算,对相机图像中椭圆的位置和形状进行协商。不需要针对各个用户的系统校准以及相机与所分析的眼睛之间的距离的知识。

具体地,所使用的图像处理算法的特征在于,针对FPGA(现场可编程门阵列)上的处理对算法进行优化。所述算法能够在FPGA上实现具有恒定刷新率、最小延迟时段和最小资源消耗的非常快速的图像处理。因此,这些模块针对需要小的构造体积的时间关键型、延迟关键型和安全关键型应用(例如,驾驶辅助系统)、医疗诊断系统(例如,周长)以及人机界面应用(例如,移动设备)。

目的技术问题

-在若干(实时)相机图像中对3D空间中3D眼睛位置和3D视线方向的鲁棒检测以及对瞳孔大小的检测

-非常短的反应时间(或处理时间)

-小的构造

-通过集成解决方案的自主功能(独立于PC)

技术发展水平

-眼睛跟踪器系统

ο Steffen Markert:对人眼的视线方向的实时确定(毕业论文和专利DE 10 2004046 617 A1)

ο Andrew T.Duchowski:眼睛跟踪方法:理论与实践

-并行霍夫变换

ο Johannes Katzmann:椭圆霍夫变换的实时实现(毕业论文和专利DE 10 2005047 160 B4)

ο Christian Holland-Nell:基于针对圆的霍夫变换的瞳孔检测算法的实现(毕业论文和专利DE 10 2005 047 160 B4)

实际技术发展水平的缺点

-眼睛跟踪器系统

ο缺点:

眼睛跟踪系统通常在使用之前需要进行(复杂的)校准

根据Markert(专利DE 10 2004 046 617 A1)的系统是免校准的,然而,其仅工作在以下特定条件下:

1.相机与瞳孔中点之间的距离必须已知且在文件上

2.该方法仅适用于3D瞳孔中点位于相机的光轴内的情况

针对PC硬件对整个处理进行优化,因此,整个处理还经受其缺点(在处理期间没有固定的时间制度是可行的)

需要有效系统,因为算法具有非常高的资源消耗

长的处理时间段,并因此,长的延迟时间段,直到结果是可用的(部分地依赖于待评估的图像大小)

-并行霍夫变换

ο缺点:

仅可以对二值边缘图像进行变换

变换仅提供了与图像坐标(找到结构的位置,而不是:命中概率和进一步的结构特征)相关的二值结果

在正在进行的操作期间不能灵活调整变换核,并因此对于动态图像内容(例如,小瞳孔和大瞳孔)的适用性是不足的。

不能在操作期间将变换核重新配置成其他结构,并因此针对对象识别的适用性有限

实施方式

整个系统从其中显示出同一眼睛的两个或更多个相机图像分别确定多维霍夫特征的列表,并在此基础上分别计算瞳孔椭圆的位置和形状。从这两个椭圆的参数以及仅从相机彼此的位置和排列,可以完全免校准地确定瞳孔中点的3D位置以及3D视线方向和瞳孔直径。作为硬件平台,使用至少两个图像传感器、FPGA和/或下游微处理器系统的组合(而不强制需要PCI)。

“霍夫预处理”、“并行霍夫变换”、“霍夫特征提取器”、“至椭圆转换器的霍夫特征”、“核大小控制”、“时间智能平滑滤波器”、“3D相机系统模型”、“3D位置计算”和“3D视线方向计算”涉及集成眼睛跟踪器的各个功能模块。它们遵循如下集成眼睛跟踪器的图像处理链:

图6示出了集成眼睛跟踪器中的各个功能模块的框图。框图示出了集成眼睛跟踪器的各个处理级。以下,呈现出各模块的详细描述。

“霍夫预处理”

ο功能

具体地通过图像旋转对用于模块“并行霍夫变换”的视频流进行上采样,并且根据模块“并行霍夫变换”的并行化程度对要变换的图像进行上采样

ο输入

二值边缘图像或梯度图像

ο输出

根据后续模块的并行化程度,具有来自输入的上采样像素数据的一个或多个视频流

ο详细描述

基于该原理,可以将并行霍夫变换从四个分别约为90°扭曲的主方向应用于图像内容

为此,在预处理中,发生大约90°的图像旋转

其余的两个方向被以下事实覆盖:旋转的图像和非旋转的图像分别被水平地反折(通过存储器中的图像矩阵字段的反向读出)

根据模块的并行化程度,针对输出产生以下三个星座图(constellation):

100%并行化:同时输出四个视频数据流:大约90°旋转、非旋转以及分别被反折

50%并行化:输出两个视频数据流:大约90°旋转和非旋转,依次发生分别反折的变化的输出

25%并行化:输出一个视频数据流:大约90°旋转和非旋转,并分别地依次输出它们的反折的变化

“并行霍夫变换”

ο功能

简单图案(具有不同尺寸和增幅的直线以及具有不同半径和取向的曲线)及其在二值边缘或梯度图像中出现概率的并行识别

ο输入

对于并行霍夫变换,上采样的边缘或梯度图像(“霍夫预处理”模块的输出)

ο输出

包含所搜索结构的所有相关参数的多维霍夫空间

ο详细描述

通过复杂的基于延迟的局部滤波器对输入进行处理,该局部滤波器具有用于像素数据的所定义的“通过方向”且通过以下特征来表征:

包括延迟元件的具有可变大小的滤波器核

对于滤波器针对所搜索图案的自适应调节,延迟元件可以在操作期间接通和断开

滤波器的每列表示所搜索结构(曲线或直线增幅)的特定特性

通过滤波器列的总和提供了由相应列表示的结构的特性的出现概率

当通过滤波器时,总是输出具有所搜索图案的特性的最高出现概率的列

对于每个图像像素,滤波器提供了霍夫空间中包含以下信息的一个点:

图案的类别(例如,直线或半圆)

图案的出现概率

结构的特性(曲线的强度或者对于直线:增幅和长度)

图像中结构的位置或取向

作为变换结果,产生多维图像,以下称为霍夫空间。

“霍夫特征提取器”

ο功能

从包含用于模式识别的相关信息的霍夫空间提取特征

ο输入

多维霍夫空间(“并行霍夫变换”模块的输出)

ο输出

包含用于模式识别的相关信息的霍夫特征的列表

ο详细描述

霍夫特征空间的平滑(通过局部滤波进行空间校正)

通过修改的“非最大抑制”使霍夫空间“变薄”(抑制用于模式识别的非相关信息):

通过考虑图案的类别和结构的特性使对于处理不相关的点淡出(霍夫概率空间中的“非极大值”)

借助适当的阈值使霍夫空间的点进一步变薄:

ο通过霍夫概率空间中的阈值进行噪声抑制

ο指示对于结构的最小和最大可容许特性的区间(例如,关于弯曲结构的最小/最大曲线或者关于直线的最低/最高增幅)

原始图像范围中的所有剩余点的参数的分析再变换导致以下霍夫特征:

具有以下参数的弯曲结构:

ο位置(x-和y-图像坐标)

ο霍夫特征的出现概率

ο弧的半径

ο指示弧沿哪个方向开口的角度

具有以下参数的直线:

ο位置(x-和y-图像坐标)

ο霍夫特征的出现概率

ο指示直线的增幅的角度

ο所表示的直线段的长度

“霍夫特征至椭圆转换器”

ο功能

选择3至4个霍夫特征(曲线),其具有最高概率地描述了图像中的瞳孔边缘(椭圆)并设定到椭圆

ο输入

相机图像中所有检测到的霍夫特征(曲线)的列表

ο输出

具有最高概率地表示瞳孔的椭圆的参数

ο详细描述

从所有霍夫特征(曲线)的列表,形成3至4个霍夫特征的组合,由于其参数,该3至4个霍夫特征可以描述水平极值点和垂直极值点

从而,以下标准影响霍夫特征的选择:

霍夫特征的分数(概率)

霍夫特征的曲线

霍夫特征彼此的位置和取向

如下布置所选择的霍夫特征组合:

首先,根据所包含的霍夫特征的数目

其次,根据所包含的霍夫特征的组合概率

在布置之后,选择处于第一位的霍夫特征组合,并拟合相机图像中最有可能表示瞳孔的椭圆

“核大小控制”

ο功能

并行霍夫变换的滤波器核(霍夫核)到实际椭圆大小的动态调节

ο输入

最后使用的霍夫核大小

在相应相机图像中表示瞳孔的椭圆的参数

ο输出

更新后的霍夫核大小

ο详细描述

根据由“至椭圆转换器的霍夫特征”计算的椭圆的大小(半轴的长度),跟踪霍夫核大小,以在检测极值点期间提高霍夫变换结果的精度

“时间智能平滑滤波器”

ο功能

根据指数平滑的原理,对(例如,所确定的椭圆中点坐标的)数据序列同时进行自适应平滑,由此,待平滑的数据序列内的流失值或极端异常值不会导致平滑后数据的波动

ο输入

在模块的每次激活时间,数据序列和相关联质量标准中的相应的一个值(例如,拟合椭圆的出现概率)

ο输出

平滑后的数据值(例如,椭圆中点坐标)

ο详细描述

通过一组滤波器参数,在初始化滤波器时,可以确定其行为

如果实际输入值没有落入以下类别之一内,则该实际输入值用于平滑:

与相关联的出现概率相对应,是数据序列中的流失值

与相关联的椭圆参数相对应,是异常值

ο如果实际椭圆的大小与先前椭圆的大小相异太多

ο实际位置朝椭圆的最后位置的差太大

此外,如果这些标准之一被满足,则输出先前确定的值,否则,对用于平滑的当前值进行协商

为了在平滑期间获得可能地小延迟,与过去值相比,对当前值定级更高:

当前平滑的值=当前值×平滑系数+上次平滑的值×(1-平滑系数)

针对待平滑的数据的趋势,在所定义的边界内动态调整平滑系数:

ο减少数据序列中相当恒定值的发展

ο增加数据序列中增大值或减小值的发展

如果长期发生关于待平滑的椭圆参数的较大飞跃,则对滤波器以及由此也对平滑后值的发展进行调整

“3D相机系统模型”

ο功能

3D空间的建模,在所述3D空间中设置有若干相机、用户(或其眼睛)以及可能地屏幕

ο输入

包含所有模型的模型参数(位置参数、光学参数、其他参数等)的配置文件

ο输出

提供用于该模型内计算的统计框架和功能

ο详细描述

对模型的所有元素的空间位置(位置和旋转角度)及其几何形状(例如,像素大小、传感器大小、分辨率)和光学(例如,焦距、物镜失真)特性进行建模

在该时间点,模型包括以下元素:

相机单元,包括:

ο相机传感器

ο物镜

眼睛

显示器

除了模型的所有元素的特性以外,具体地,提供下面描述的功能“3D位置计算”(用于计算眼睛位置)和“3D视线方向计算”(用于计算视线方向)

借助该模型,除其他事项外,可以计算3D视线(包括瞳孔中点和(与人眼的生物学和生理学相对应地校正的)视线方向向量)

可选地,还可以计算观看者在3D模型的另一对象上(例如,在显示器上)的视点以及观看者的关注区域

“3D位置计算”

ο功能

通过三角测量法计算由两个或更多个相机捕获的点(例如,瞳孔中点)的空间位置(3D坐标)

ο输入

两个相机图像中一个点的2D坐标

ο输出

该点的3D坐标

误差测量:描述与模型参数结合的所传送2D坐标的精度

ο详细描述

从所传送的2D坐标,通过利用针对两个相机的“3D相机系统模型”(具体地,考虑光学参数),计算将3D点显示为传感器上的2D点的光束

将这些光束描述为模型的3D空间中的直线

假设两条直线具有最小距离的点(在理想情况下,直线的交点)是所搜索的3D点

“3D视线方向计算”

ο功能

从瞳孔到相机传感器的两个椭圆形状的投影确定视线方向,而无需校准且无需知晓眼睛和相机系统之间的距离

ο输入

图像传感器的3D位置参数

投影到两个图像传感器的瞳孔的椭圆参数

两个图像传感器上椭圆中点的3D位置

瞳孔中点的3D位置

ο输出

用向量和角度表示的3D视线方向

ο详细描述

从瞳孔中点的3D位置和图像传感器的位置,通过实际相机单元的旋转,计算虚拟相机单元,其中,虚拟相机单元的光轴穿过3D瞳孔中点。

之后,从瞳孔到实际传感器的投影(瞳孔的投影),分别计算虚拟传感器,从而可以说出现两个虚拟椭圆

从虚拟椭圆的参数,针对两个传感器,可以在与相应传感器平面任意平行的平行平面上分别计算眼睛的两个视点

利用这四个视点和3D瞳孔中点,可以计算四个视线方向矢量(分别来自每个相机结果的两个矢量)

从这四个视线方向矢量中,总是有恰好一个矢量与一个相机的矢量或另一相机的矢量(几乎)相同

两个相同的矢量指示眼睛的所搜索的视线方向,随后,该视线方向由模块“3D视线方向计算”作为结果进行提供。

4.a)优点

-独立于眼睛朝向相机的位置,非接触且完全免校准地确定3D眼睛位置、3D视线方向和瞳孔大小

-(通过包括3D空间模型)对3D眼睛位置和3D视线方向的分析确定使相机的数目任意(大于2)以及3D空间中相机的位置任意。

-测量投影到相机的瞳孔以及由此准确确定瞳孔大小

-由于完全并行处理而无需在处理链中递归而导致高帧率(例如,在一个XILINXSpartan 3A DSP@96MHz上是60FPS@640x480)以及短延迟时段

-使用针对并行FPGA结构已开发的FPGA硬件和算法

-使用霍夫变换(在所描述的用于FPGA硬件的调整形式中)以针对对象识别进行鲁棒特征提取(这里:瞳孔椭圆的特征)

-在FPGA中的并行处理上,对用于霍夫变换结果的后处理的算法进行优化

-固定的时间制度(连续结果之间的恒定时间差)

-如完全集成到芯片上的最小构造空间

-低能耗

-由于尺度效应(scaling effect)的利用,将处理直接移植到FPGA到ASIC的可能性→具有高质量的有成本效益的解决方案

解决方法

-(部分地)使用其他算法(例如,用于椭圆检测的不同对象识别方法)

用于专利侵权的证据的可能性

-显然地,专利侵权可能存在,如果相应的产品是包括FPGA和微处理器的快速且完全免校准的眼睛跟踪系统。

-通过复制/克隆FPGA比特文件/网络列表的专利侵权的证据

ο例如,通过账目金额将容易地证明

ο此外,比特文件可以绑定到FPGA-ID→然后,将仅通过使用FPGA类似ID,复制是可能的

-通过拆卸FPGA比特文件/网络列表的专利侵权的证据

ο通过拆卸各个FPGA比特文件/网络列表,将可以识别对专利侵权的指示

ο只是可能难以呈现具体的证据

-通过“拆卸”处理器代码的专利侵权的证据

ο将可以识别指示,只是具体证据几乎是不可能的

应用

-在(实况)相机图像数据流中,检测3D眼睛位置和3D视线方向,其可以用于以下应用:

ο安全相关领域

例如,作为汽车行业中的驾驶辅助系统的短暂打盹报警系统或疲劳检测器,评估眼睛(例如,瞳孔的覆盖度作为眨眼程度的测量)并考虑视点和焦点

ο人机界面

作为技术设备的输入接口(眼睛位置和视线方向可以用作输入参数)

支持用户观看屏幕内容(例如,突出显示所观看的区域)

例如,

在辅助生活领域中

对于计算机游戏

视线方向支持用于头戴式设备的输入

通过包括视线方向优化3D可视化

ο市场和媒体开发

例如,通过评估测试人的空间视线方向和视点,评价广告的吸引力

ο眼科诊断(例如,客观视野检查法)和疗法

FPGA-脸部跟踪器

本发明的一个方面涉及一种自主(独立于PC的)系统,具体地,该自主系统使用FPGA优化的算法并且适合于检测相机实时图像中的脸部及其(空间)位置。具体地,所用算法的特征在于,它们在FPGA(现场可编程门阵列)上针对处理被优化,并且与现有方法相比,进展好,而无需在处理中递归。所述算法允许在FPGA中实现具有恒定帧率、最小延迟时段和最小资源消耗的非常快速的图像处理。因而,这些模块针对需要小的构造体积的时间关键型/延迟关键型/安全关键型应用(例如,驾驶辅助系统)或者如人机界面的应用(例如,用于移动设备)。此外,通过使用第二相机,可以高度准确地、免校准地且非接触地确定用户针对图像中的特定点的空间位置。

目的技术问题

在(实时)相机图像中,鲁棒的基于硬件的脸部检测

-通过使用立体相机系统检测3D空间中的脸部和眼睛位置

-非常短的反应时间(或处理时间)

-小的构造

-通过集成解决方案的自主功能(独立于PC)

技术发展水平

-文献:

ο Christian Küblbeck,Andreas Ernst:使用修改的统计变换在视频序列中进行脸部检测和跟踪(Face detection and tracking in video sequences using themodified census transformation)

ο Paul Viola,Michael Jones:鲁棒的实时对象检测(Robust Real-time ObjectDetection)

当前脸部跟踪器系统的缺点

-针对PC系统(更一般地:通用处理器)优化整体处理,并且因此,整体处理也经受其缺点(例如,在处理期间固定的时间制度是不可行的(示例:依据图像内容,例如,背景,跟踪可能需要更长时间))

-顺序处理;初始图像被接连带入不同尺度阶段(直至达到最低尺度阶段)并且利用关于脸部的多级分类器被分别搜索

ο根据必须计算多少尺度阶段或者必须计算分类器的多少级,处理时间段发生变化,直至结果可用

-为了实现高帧率,因为已经到PC硬件优化的算法具有非常高的资源消耗(具体地,关于嵌入式处理器系统),所以需要高效系统

-基于检测到的脸部位置,分类器只提供不准确的眼睛位置(眼睛“位置”-具体地,瞳孔中点-不被分析性地确定(或测量)并且因此经受高的不准确度)

-所确定的脸部和眼睛位置仅在2D图像坐标中可用,在3D中不可用

实施方式

整体系统从相机图像(其中仅显示一个脸部)确定脸部位置,并且通过使用该位置确定左眼和右眼的瞳孔中点的位置。如果使用排列彼此已知的两个或更多个相机,则这两点可以被指示用于三维空间。可以在使用“集成眼睛跟踪器”的系统中进一步处理所确定的两个眼睛位置。

“并行图像缩放器”、“并行脸部取景器”、“并行眼睛分析器”、“并行瞳孔分析器”、“时间智能平滑滤波器”、“3D相机系统模型”和“3D位置计算”涉及整个系统(FPGA脸部跟踪器)的各个功能模块。它们遵循如下FPGA脸部跟踪器的图像处理链:

图7a示出了FPGA脸部跟踪器800中的各个功能模块的框图。对于脸部跟踪,强制需要功能模块“3D相机系统模型”802和“3D位置计算”804,然而,当使用立体相机系统并计算用于确定空间位置(例如,用于在两个相机图像中计算2D脸部中点期间确定3D头位置)的两个相机上的适当点时使用所述功能模块。FPGA脸部跟踪器的模块“特征提取(分类)”806基于Fraunhofer IIS(德国,埃尔兰根)的Küblbeck/Ernst的特征提取和分类,并在统计特征(census feature)的基础上使用其分类的调整变型。

框图示出了FPGA脸部跟踪系统的各个处理级。以下,呈现出各模块的详细描述。

“并行图像缩放器702”

ο功能

并行计算初始图像的缩放级,并在新的图像矩阵中布置计算的缩放级,以便允许后续图像处理模块同时分析所有缩放级

图7b示出了初始图像710(原始图像)以及并行图像缩放器的结果712(降尺度图像)。

ο输入

原始分辨率的初始图像710

ο输出712

以适于后续脸部跟踪模块的布置包含初始图像的多个缩放变型的新图像矩阵

ο详细描述

通过并行计算初始图像的不同缩放级,建立图像金字塔

为了保证在目标矩阵内先前计算的缩放级的限定布置,通过利用各种标准发生各个缩放级的图像坐标到目标矩阵的图像坐标系的变换:

限定缩放级之间的最小距离,以抑制相邻阶段中分析结果的串扰

限定到目标矩阵的边缘的距离,以保证从图像部分地投射的脸部的分析

“并行脸部取景器808”

ο功能

从联合布置在矩阵中的若干缩放级的分类结果检测脸部。并行脸部取景器808可类比于图1的取景器,其中,取景器706包括一般的功能范围(识别另外的图案,如瞳孔识别)。

如图7c所示,分类的结果(在右侧)构成了并行脸部取景器的输入。

ο输入712

包含若干缩放级的分类的图像矩阵

ο输出

脸部所位于的概率最高的位置(考虑若干标准)

ο详细描述

噪声抑制以限制分类结果

通过利用局部量和最大滤波器(local amount and maximum filter)的组合,对缩放尺度内的分类结果进行空间校正

可选地以在所有缩放级上和不在所有缩放级的脸部尺寸,在最高出现概率上对脸部定位

对在所选缩放级上和不在所选缩放级的结果位置进行空间平均

考虑以下标准而发生对所述平均中所包括的缩放级的选择:

ο在所查看的缩放级中所选脸部的中点的差

ο动态确定的量滤波器的最高结果的偏差

ο缩放级的抑制而无需分类结果

对“并行脸部取景器”的检测性能进行基于阈值的调整

“并行眼睛分析器810”

ο功能

在脸部检测期间并行检测相应脸部中眼睛的位置(对于并非理想地在正面捕获的且扭曲的脸部,这是尤其重要的)

ο输入

包含初始图像的若干缩放级的图像矩阵(来自“并行图像缩放器”模块)以及相应的当前位置(来自“并行脸部取景器”模块),其中,所搜索脸部位于该当前位置的概率最高

ο输出

在由“并行脸部取景器”当前检测到的脸部中眼睛的位置和相关概率值

ο详细描述

基于降尺度的初始图像,在其由“并行脸部取景器”提供的脸部区域内的限定范围(眼睛范围)中,如以下所述执行对于每个眼睛的眼睛搜索:

从脸部区域内的凭经验确定的眼睛的一般位置限定眼睛范围。

利用专门形成的基于相关性的局部滤波器,在眼睛范围内确定存在眼睛的概率(将该图像段中的眼睛简化描述为伴随光环境的一点暗面)

准确的眼睛位置(含其概率)产生于先前计算的概率山(probability mountain)中的最小搜索

“并行瞳孔分析器812”

ο功能

基于先前确定的眼睛位置,在所检测到的眼睛内检测瞳孔中点的位置(从而,眼睛位置的精度增加,这对于瞳孔的测量或后续评估是重要的)

ο输入

原始分辨率的初始图像以及所确定的眼睛位置和脸部大小(来自“并行眼睛分析器”或“并行脸部取景器”)

ο输出

瞳孔在所评估的图像内的位置以及指示是否已找到瞳孔的状态

ο详细描述

基于所确定的眼睛位置和脸部大小,在眼睛周围识别待处理的图像部分

除该图像矩阵之外,建立包含图像列的最小值的矢量以及包含图像行的最小值的矢量

在这些矢量内(从最小灰度值),如以下所述,在水平方向和垂直方向上分别检测瞳孔中点:

检测各矢量的最小值(作为瞳孔内的位置)

基于该最小值,在矢量内,沿正方向和负方向,确定以下位置,在该位置处,超过与所有矢量元素的动态范围按比例相关的可调阈值

这两个矢量中这些范围的中点一起形成了瞳孔在所分析图像中的中点

“时间智能平滑滤波器814”

ο功能

对(例如,所确定的脸部坐标的)数据序列进行自适应时间平滑,由此,流失值、不合理值(absurd value)或极端异常值不会导致平滑后数据的波动

ο输入

针对模块的每次激活时间,数据序列和相关联质量标准中的相应的一个值(关于脸部跟踪:脸部得分(face score)和找到脸部的降尺度阶段)

ο输出

平滑后的数据值(例如,脸部坐标)

ο详细描述

通过一组滤波器参数,在滤波器的初始化期间,可以确定其行为

如果当前输入值没有落入以下类别之一内,则该当前输入值用于平滑:

根据相关得分,是数据序列的流失值

根据相关降尺度阶段,是不合理值(在过远的降尺度阶段中已经确定的值)

根据朝向用于平滑的最后值的差太大,是异常值

此外,如果这些标准之一被满足,则输出先前确定的平滑值,否则,对用于平滑的当前值进行协商

为了在平滑期间获得可能地低延迟,与过去值相比,对当前值定级更高:

当前平滑的值=当前值×平滑系数+上次平滑的值×(1-平滑系数)

针对待平滑的数据的趋势,在所定义的边界内动态调整平滑系数:

ο减少数据序列中相当恒定值的发展

ο增加数据序列中增大值或减小值的发展

如果长期发生关于待平滑的椭圆参数的较大飞跃,则对滤波器以及由此也对平滑后值的发展进行调整

“3D相机系统模型804a”

ο功能

3D空间的建模,在所述3D空间中设置有若干相机、用户(或其眼睛)以及可能地屏幕

ο输入

包含模型的所有元素的模型参数(位置参数、光学参数等)的配置文件

ο输出

提供用于该模型内计算的统计框架和功能

ο详细描述

对模型的所有元素的空间位置(位置和旋转角度)及其几何形状(例如,像素大小、传感器大小、分辨率)和光学(例如,焦距、物镜失真)特性进行建模

在该时间点,模型包括以下元素:

相机单元,包括:

ο相机传感器

ο物镜

眼睛

显示器

除了模型的所有元素的特性以外,具体地,提供下面描述的功能“3D位置计算”(用于计算眼睛位置)和“3D视线方向计算”(用于计算视线方向)

在其他应用情况下,还提供以下功能:

借助该模型,除其他事项外,可以计算3D视线(包括瞳孔中点和(与人眼的生物学和生理学相对应的)视线方向向量)

可选地,还可以计算观看者在3D模型的另一对象上(例如,在显示器上)的视点以及观看者的关注区域

“3D位置计算804”

ο功能

计算由两个或更多个相机捕获的点(例如,瞳孔中点)的空间位置(3D坐标)

ο输入

点在两个相机图像中的2D坐标

ο输出

该点的3D坐标

误差测量:描述与模型参数结合的所传送2D坐标的精度

ο详细描述

从所传送的2D坐标,通过利用针对两个相机的“3D相机系统模型”(具体地,考虑光学参数),计算将3D点显示为传感器上的2D点的光束

将这些光束描述为模型的3D空间中的直线

假设两条直线具有最小距离的点(在理想情况下,直线的交点)是所搜索的3D点

优点

在(实时)相机图像中确定2D形式的脸部位置和眼睛位置,并且(通过包括3D空间模型)在3D空间中重新计算所述位置的3D形式

-对3D下呈现的算法进行优化以在FPGA中具有实时能力和并行处理

-由于完全并行处理而无需在处理链中递归而导致高帧率(在XILINX Spartan 3ADSP@48MHz上是60FPS@640x480)以及短延迟时段→非常快速的图像处理和具有最小延迟的结果的输出

-由于可以用一个组件(FPGA)实现全部功能而导致最小构造空间

-低能耗

-固定的时间制度(连续结果之间的恒定时间差),并因此,注定用于安全关键型应用

-由于尺度效应(scaling effect)的利用,将处理从FPGA直接移植到ASIC(专用集成电路)的可能性→具有高质量的非常有成本效益的解决方案

解决方法

-使用用于各子功能的整体功能的其他算法

用于专利侵权的证据的可能性

-通过复制/克隆FPGA比特文件/网络列表的专利侵权的证据

ο例如,通过账目金额将容易地证明

ο此外,比特文件可以绑定到FPGA-ID→然后,将仅通过使用FPGA类似ID,复制是可能的

-通过“拆卸”FPGA比特文件/网络列表的专利侵权的证据

ο通过拆卸各个FPGA比特文件/网络列表,将可以识别对专利侵权的指示

ο可能难以呈现具体的证据

应用

-与软件解决方案相比,应用期间的优点

ο自主功能(片上系统)

ο易于转移到ASIC中的可能性

ο集成到现有系统/开关中节省空间

-与软件解决方案相似的应用领域(在(实时)相机图像数据流中,检测脸部位置和相应眼睛位置,用于以下列出的应用)

ο安全应用

例如,汽车领域中的短暂打盹报警系统,评估眼睛(眨眼程度)以及眼睛和头的移动

ο人机通信

例如,用于技术设备的输入接口(头或眼睛位置作为输入参数)

ο视线跟踪

例如,脸部和眼睛位置,作为用于视线方向确定的初步阶段(结合“集成眼睛跟踪器”)

ο市场营销

例如,通过确定头和眼睛的参数(特别是位置)评估广告的吸引力

以下,通过两个例子,公开关于上述各方面的进一步背景知识。

以下通过图8a至图8e描述用于该视线方向计算的详细计算示例。

计算瞳孔中点

如已描述的,通过相机镜头808a和808b描绘圆形瞳孔806a,在图像传感器802a和802b上分别出现了椭圆瞳孔投影(参见图8a)。瞳孔的中心位于两个传感器802a和802b上,因此,在各个相机图像中还总是描绘出椭圆的中点因此,由于这两个椭圆中点的立体背投影(stereoscopic rear projection),可以通过物镜模型确定3D瞳孔中点。与之相关的可选需求是理想的时间同步的图像,使得所描述的从两个相机拍摄的场景相同,并因此,在相同位置采集到瞳孔中点。

最初,针对每个相机,必须计算椭圆中点的背投影光束路其沿着对象与在光学系统的物侧(H1)的交点之间的相交光束行进(图8a)。

>RS(t)=RS0+t·RSn---(A1)>

该背投影光束由等式(A1)定义。其包括起始点RS0和标准化的方向向量从而从物镜的两个主点H1和H2以及从传感器平面中的椭圆中心EMP,导致等式(A2)和(A3)所示的所用物镜模型(图8b)。为此,所有三个点(H1、H2和EMP)必须全部可用于眼睛跟踪器坐标系。

RS0=H1>

>RSnH2-EMP|H2-EMP|---(A3)>

主点可以通过以下等式来计算:

>H2=KO+b·Kn>

以及

>H1=K0+(b+d)·Kn>

直接形成物镜和相机参数(图8b),其中,K0是相机传感器平面的中点,是相机传感器平面的法向矢量。可以从由以下等式提供的先前确定的椭圆中心参数xm和ym计算相机坐标系中的3D椭圆中心:

>PCamera=PCameraxPCamerayPCameraz=(PimagexPimagey0+SoffsetxSoffsety0-12·SresxSresy0)·SPxGr>

其中,Pimage是相机图像的像素分辨率,Soffset是传感器上的开始读出图像的位置,Sres是传感器的分辨率,SPxGr是传感器的像素大小。

在理想情况下,所搜索瞳孔中点是两个背投影光束RSK1和RSK2的交点。然而,利用实际确定的模型参数和椭圆中点,已经通过最小测量误差,在3D空间中不再产生直线的交点。在该系列中既不相交也不平行的两条直线在几何中被指定为斜线(skew>

两条斜线之间的最短距离由与这两条直线垂直的连接线来表示。可以根据等式(A4)计算在两个背投影光束上的垂直直立线的方向向量作为其方向向量的交叉乘积。

>nSt=RSnK1xRSnK2---(A4)>

背投影光束之间的最短连接线的位置由等式(A5)来定义。通过使用RSK1(s)、RSK2(t)和产生可以计算s、t和u的方程组。

>RSK1(s)+unStRSK2(t)---(A5)>

因此,在使用针对s和u计算的值之后,位于背投影光束之间的线的一半处的所搜索瞳孔中点PMP产生于等式(A6)。

>PMP=RSK1(s)+u2·nSt---(A6)>

作为用于所计算的瞳孔中点的精度的指示符,附加地,可以计算背投影光束之间的最小距离dRS。模型参数和椭圆参数越精确,dRS越小。

>dRS=u·|nSt|---(A7)>

计算出的瞳孔中点是这两种参数之一,这两种参数确定将由眼睛跟踪器确定的眼睛的视线。此外,需要计算以下描述的视线方向矢量

用于计算瞳孔中点的该方法的优点是,相机到眼睛之间的距离不必牢牢地存储在系统中。例如,这是在DE 10 2004 046 617 A1的专利说明书中描述的方法所需要的。

视线方向向量的计算

要确定的视线方向向量对应于圆形瞳孔表面的法向向量,因此,是由于3D空间中指定的瞳孔的对准。从针对瞳孔在相机传感器上的两个椭圆形状的投影可以确定的椭圆参数,可以确定瞳孔的位置和对准。由此,投影椭圆的两个半轴的长度以及旋转角度显示出瞳孔和/或视线方向相对于相机位置的对准的特性。

例如在DE 10 2004 046 617 A1的专利说明书中描述了一种用于从椭圆参数以及眼睛跟踪系统中牢牢存储的相机和眼睛之间的距离来计算视线方向的方法。如图8e所示,该方法假设平行投影,由此,通过传感器法线和投影到传感器的瞳孔的中点所限定的直线通过瞳孔中点。为此,需要预先知道相机到眼睛的距离并将其牢牢地存储在眼睛跟踪系统中。

然而,利用该方法中呈现的相机物镜的模型(其描述了实际对象的显示行为),发生对象到图像传感器的立体投影(perspective projection)。由于此,可以执行瞳孔中点的计算,并且不必预先知道相机到眼睛的距离,与上面提到的专利说明书相比,这构成了重要改进之一。然而,由于立体投影,在传感器上显示的瞳孔椭圆的形状与平行投影的结果相反,不仅是因为瞳孔相对于传感器表面的倾斜。如图8b所示,瞳孔中点与相机物镜的光轴之间的偏转角(deflection)δ同样地影响瞳孔投影的形状,并因此影响从其确定的椭圆参数。

与图8b的图示相反,瞳孔与相机之间的几百毫米的距离相对于在2mm和8mm之间的瞳孔半径非常大。因此,随着瞳孔相对于光轴的倾斜所发生的瞳孔投影与理想椭圆形状的偏差非常小,并可以忽略。

为了能够计算视线方向矢量必须消除角度δ对椭圆参数的影响,使得瞳孔椭圆的形状仅受瞳孔的对准影响。如果瞳孔中点PMP直接位于相机系统的光轴上,则总是进行这种假定。因此,可以通过计算虚拟相机系统vK的传感器上的瞳孔投影来消除角度δ的影响,其中,所述虚拟相机系统vK的光轴直接通过先前计算的瞳孔中点PMP,如图8c所示。

可以从原始相机系统804a(图8b中的K)绕其物侧主点H1旋转的参数来计算这种虚拟相机系统804a’(图8c中的vK)的位置和对准。因此,这同时对应于虚拟相机系统804a’的物侧主点vH1。因此,所示对象的相交光束的方向向量在虚拟光学系统808c’的前面和后面,与原始相机系统中的相同。在眼睛跟踪器坐标系中发生用于确定视线方向向量的所以进一步计算。

如下获得虚拟相机vK的标准的法向矢量

>vKn=PMP-H1|PMP-H1|---(A8)>

对于进一步的过程,需要计算绕眼睛跟踪器坐标系的

x轴(rKθ)、绕y轴以及绕z轴(vKψ)的旋转角度,以获得向量其中,必须旋转关于眼睛跟踪器坐标系的若干轴的眼睛跟踪器坐标系的z方向的单位向量。由于眼睛跟踪器坐标系的x方向的单位向量以及y方向的单位向量大约旋转角度vKθ和vKψ,可以计算向量vKx其指示眼睛跟踪器坐标系中的虚拟传感器的x轴和y轴。

为了获得虚拟相机系统804a’(图8c)的位置,必须按照其位于瞳孔中点PMP的相交光束上的方式,通过利用等式(A9)计算其位置向量和/或坐标原点vK0,其中,坐标原点vK0同时是图像传感器的中点。

>vK0=vH1-(d+b)·vKn---(A9)>

为此所需的主点之间的距离d以及主平面2与传感器平面之间的距离b必须已知或例如通过实验装置来确定。

此外,像侧主点的位置产生于等式(A10)。

>vH2=vH1-d·vKn---(A10)>

为了计算虚拟传感器804a’上的瞳孔投影,最初,需要原始位置中的传感器上的先前确定的椭圆的边缘点RP3D。这些边缘点产生于相机图像中的椭圆E的边缘点RP2D,其中与图8d相对应地,Ea是椭圆的短半轴,Eb是椭圆的长半轴,是椭圆的中点坐标,Eα是椭圆的旋转角度。可以从E、传感器S和相机K的参数,通过等式(A11)至(A14)计算眼睛跟踪器坐标系中的一个点RP3D的位置,其中,指示根据图8d的边缘点RP2D在椭圆圆周上的位置。

>xy=Ea·cos(ω)Eb·sin(ω)---(A11)>

>RP2D=x·cos(Eα)+y·sin(Eα)+Exm-x·sin(Eα)+y·cos(Eα)+Eym---(A12)>

>s1t1=(RP2D·12·Sres-Soffset)·SPxGr---(A13)>

>RP3D=K0+s1·Kx+t1·Ky---(A14)>

将瞳孔边缘点显示为传感器上的椭圆边缘点RP3D的原始相机系统中的一个相交光束KS的方向与将同一瞳孔边缘点显示为虚拟传感器上的椭圆边缘点RP3D的虚拟相机系统中的相交光束vKS的方向相同。图8b和图8c中的椭圆边缘点的相交光束证明了这方面。因此,两个光束KS和vKS具有从等式(A15)产生的相同的方向向量。对于虚拟传感器侧相交光束vKS的位置向量vKS0,vKS0=vH2总是适用的。

>vKSn=KSn=RP3D-H2|RP3D-H2|---(A15)>

与虚拟相机vK的x-y平面相对应的虚拟传感器平面和虚拟相交光束在等式(A16)中换算,其中,通过求解s2和t2,获得它们交点的参数。经此,可以通过等式(A17)计算虚拟相机的图像中的像素坐标中的椭圆边缘点。

>vKS0+r2·vKSn=K0+s2·Kx+t2·Ky>(A16)

>vRP2D=s2t2·1SPxGr+(12Sres-Soffset)---(A17)>

之后,从一些虚拟边缘点vRP2D,可以通过椭圆拟合来计算虚拟椭圆vE的参数,例如,利用根据Fitzgibbon等的“直接最小二乘拟合”算法。为此,需要至少六个虚拟边缘点vRP2D,其中,可以通过使用等式(A11)中的若干ω与上述路径来计算所述虚拟边缘点。

这样确定的虚拟椭圆vE的形状仅取决于瞳孔的对准。此外,虚拟椭圆vE的中点总是在虚拟传感器的中心,并且与和相机法线相对应的传感器法线一起形成沿通过瞳孔中点PMP的光轴延伸的直线。因此,满足了其后基于DE>

如图8e所示,现在,在虚拟主平面1中接受先前计算的虚拟椭圆vE。由于vE的中点位于虚拟传感器的中心,因此在光轴上3D椭圆中点vE‘MP对应于虚拟主点1。同时,其是虚拟主平面1中的瞳孔中点PMP的丢弃的垂脚(perpendicular>

可以通过瞳孔的两种不同的对准来产生相机图像中的瞳孔806a的每个图像。因此,在评估瞳孔形状期间,如图8e所示,从每个相机的结果产生视图的两个可能直线与虚拟主平面1的两个虚拟交点vS。与图8e中的几何比率相对应地,可以如下确定两个可能的视线方向

已知瞳孔中点与椭圆中点vE’MP之间的距离A是:

A=|vH1-PMP|>

由此,可以利用等式A19确定r。

>r=a2-b2b·A---(A19)>

针对以下等式,类似地计算两个方向向量以及其中,从vH1至vS1以及至vS2对准所述两个方向向量:

>Mθ=cos(θ)0sin(θ)010-sin(θ)0cos(θ)>

从vK、vK、vK和vE:

之后,可以确定两个虚拟交点vS1以及vS2,并且由此,可能的视线方向以及

>vS1=vH1+r·rn,1---(A22)>

>vS2=vH1+r·rn,2>(A23)

>Pn,1=vS1-PMP|vS1-PMP|---(A24)>

>Pn,2=vS2-PMP|vS2-PMP|---(A25)>

为了确定实际视线方向,需要相机1和相机2的可能视线方向。从这四个向量中,每个相机的相应的一个向量指示实际视线方向,因此,理想地,这两个标准的向量相同。为了识别它们,对于所有四种可能组合,从一个相机的向量并从另一相机的向量,形成分别选择的可能视线方向向量的差。具有最小差的组合包含所搜索的向量。通常,这些导致待确定的视线方向向量当平均时,必须假设几乎同时捕获到图像,使得两个相机收集到相同的瞳孔位置以及相同的对准,并因此,相同的视线方向。

作为所计算的视线方向矢量的准确性的程度,附加地,可以计算指示实际视线方向的两个平均矢量之间的角度Wdiff。Wdiff越小,到目前为止计算所用的模型参数和椭圆中点越准确。

可以利用以下等式计算相对于瞳孔的法线位置的视点θBW和φBW(平行于眼睛跟踪器坐标系的z轴):

以及

在应当考虑视线方向与眼睛的光轴和/或与瞳孔法线的系统偏差的情况下,可以将相应角度与所确定的视点θBW和φBW相加。然后,必须通过以下等式计算新的视线方向向量:

从新视点θBW’和φBW’以及

利用视线方向向量(除了来自等式A6的瞳孔中点PMP之外),还已知将由3D图像分析器确定的视线(LoS)的第二参数。这可以从以下等式推导出。

>LoS(t)=PMP+t·Pn.>

以上介绍的方法的实施不依赖于平台,从而以上介绍的方法也可以在例如PC的不同硬件平台上执行。

开发用于处理特征提取方法的方法

随后的本实施例的目的是,在并行霍夫变换的基础上,开发一种用于特征提取的鲁棒方法。为此,修改霍夫核,并且提出一种用于特征提取的方法,该方法减少变换的结果并将它们划分成每个图像对应若干“特征向量”。之后,用MATLAB工具箱实施新开发的方法并对其进行测试。最后,呈现该新方法的FPGA实现。

用于直线和圆的并行霍夫变换

并行霍夫变换使用不同大小的霍夫核,所述霍夫核必须通过用于相应应用的配置矩阵来配置。以下呈现用于建立这种配置矩阵的数学上下文和方法。MATLAB alc_config_lines_curvatures.m表示这些方法,并建立针对不同大小的半圆和直线的配置矩阵。

为了建立配置矩阵,最初需要计算用于不同霍夫核的离散表现的曲线的阵列。已经证明了对于曲线阵列的要求(建立规定)。考虑这些建立规定,特别地,直线和半圆适合于霍夫核的配置。对于视线方向确定,使用具有用于半圆(或曲线)的配置的霍夫核。出于完整性的原因,这里还导出用于直线(或直线段)的配置。示出了确定用于直线的曲线阵列的数学上下文。

计算用于直线的曲线阵列的起始点是(B1)中的线性直线方程。

y=m·x+n(B1)

可以通过增幅m的变化产生曲线阵列。为此,将0°至45°的直线增幅划分成相同大小的区间。区间的数目取决于霍夫核大小,并对应于霍夫核线(Hough core line)的数目。可以通过0至coreheigt的控制变量Ycore来调节增幅。

>m=1coreheigt·ycore---(B2)>

通过值为0至核宽的控制变量(在(B3)中用Xcore替换)的变化来计算曲线阵列的函数值。

>y=1coreheigt·ycore·xcore---(B3)>

对于2D图中的离散表示,必须对函数值四舍五入。在(Katzmann 2005,p.37-38)上说明了用于半圆的曲线阵列的计算,并且示出在图9b中。

用于计算曲线阵列的起始点是坐标格式的圆方程。

>r2=(x-xM)2+(y-yM)2---(B4)>

在XM=0(圆心在y轴上的位置)、x=Xcore的情况下,针对曲线阵列的函数值变换到y遵循(B5)。

>y=r2-xcore2+yM---(B5)>

由于yM和r不是已知的,必须替换掉它们。为此,可以从图9b导出(B6)和(B7)的数学上下文。

yM=h-r>

>r2=yM2+(corewidth2)2---(B7)>

通过将(B7)转换到yM以及条件yM必须总为负(参见图9b)来获得(B8)。

>yM=r2-(corewidth2)2·(-1)---(B8)>

将(B8)用在(B5)中导致(B9)。

>y=r2-xcore2+r2-(corewidth2)2·(-1)---(B9)>

从图9b,变得更清楚的是,霍夫核是枢纽中心的,并位于圆坐标系的y轴上。变量Xcore通常是从0到corewidth-1,因此,必须通过-

但是,半径缺失,其通过将(B6)用在(B7)中并通过进一步转换而获得。

>r2=(h-r)2+(corewidth2)2---(B11)>

>r2=h2-2hr+r2+(corewidth2)2---(B12)>

>r=h2+(corewidth2)22·h---(B13)>

为了产生曲线阵列,最后,变量h必须从0到变化。这通过从0到coreheight的控制变量ycore而发生。

>r=(ycore2)2+(corewidth2)22·ycore2---(B14)>

如关于直线,必须在2D图中对离散表现的y值四舍五入。可以通过等式(B15)容易地确定用于类型2的霍夫核的曲线阵列。

yTyp_2=coreheigt-yTyp_1>

基于曲线阵列,对于所有霍夫尺寸,可以分别确定用于直线和圆的两种配置(类型1和类型2)。因此,直接从曲线阵列确定配置(参见Katzmann 2005,p.35-36)。配置矩阵可以被“零”或“一”占据。从而,“一”表示霍夫核中所用延迟元件。最初,用零值在霍夫核尺寸上将配置矩阵初始化。之后,进行以下步骤:

1.以曲线阵列的第一曲线开始,并测试第一x索引数的y值。如果y值大于零,则在完全相同的位置(相同的x索引)在相同行(相同的y索引)中用其占据配置矩阵的元素。

2.通过曲线阵列的所有曲线,修改具有相同x索引的y值。如果在第一步骤中元素被其占据,则减去所有y值中的一个。如果在第一步骤中元素未被占据,则什么也不做。

3.通过步骤1和步骤2,只要配置矩阵的所有元素趋近。

在图9c中,逐步展现了配置过程。

最后,回应霍夫核配置的一些特殊性。针对直线的配置总是根据霍夫核的宽度只表示直线段。二值边缘图像中的较长的直线段可选地从检测到的一些直线段组合而成。直线段的角度(或增幅)的分辨率取决于霍夫核的高度。

针对圆的配置总是表示半圆顶点附近的圆弧。仅曲线阵列的最高y索引数(最小半径)表示完整的半圆。所开发的配置可以用于新霍夫核。

霍夫核的修改

Holland-Nell的FPGA实现的决定性的缺点是霍夫核的刚性配置。延迟线在合成之前必须被参数化并且之后被牢固地沉积在硬件结构中(Holland-Nell,p.48-49)。在运行期间改变(例如,霍夫核尺寸)是不可能的。在这点上,新方法变得更加灵活。新霍夫核还将在运行期间,在FPGA中被完全重新配置。这具有若干优点。一方面,不必并行提出两个霍夫核(类型1和类型2),另一方面,还可以使用用于直线和半圆的不同配置。此外,霍夫核大小可以在运行期间灵活地改变。

先前霍夫核结构包括延迟和旁路,并且在FPGA合成之前,确定要使用哪个路径。以下,该结构通过复用器、用于配置延迟元件(切换复用器)的另外的寄存器并通过流水线延迟而扩展。可以在运行期间修改配置寄存器。通过这种方式,可以将不同配置矩阵带入霍夫核中。通过设置流水线延迟,FPGA中的合成工具在霍夫核设计的实施期间具有更多自由,并且可以实现更高的时钟率。流水线延迟突破了FPGA结构内的时间关键路径。在图9d中,展现了延迟元件的新设计。

与根据Katzmann和Holland-Nell的先前实现相比,新霍夫核的延迟元件建立得有点更复杂。关于延迟元件的灵活配置,需要附加寄存器,并且复用器占用进一步的逻辑资源(必须以LUT形式实施在FPGA中)。流水线延迟是可选的。除延迟元件的修改外,还实施对霍夫核的设计的修改。在图9e中展现了新霍夫核。

与先前霍夫核相比,首先,将实施新的表示法。由于图9e中旋转大约90°的设计,原先称为初始直方图的信号的“行量”现在被称为“列量”。因此,霍夫核的每一列表示曲线阵列的曲线。此外,新霍夫核可以在运行期间被新配置矩阵冲击。配置矩阵归档在FPGA内部BRAM中,并由配置逻辑加载。这按逐列的位串将配置加载到链式配置寄存器中(参见图9d)。霍夫核的重新配置需要特定时间段,并取决于列的长度(或延迟线的量)。因此,每个列元素需要时钟周期以及通过BRAM的一些航向周期(tack cycle)的延迟,并且添加配置逻辑。虽然关于重新配置的整体延迟是不利的,但是对于基于视频的图像处理,其是可以接受的。通常,利用CMOS传感器记录的视频数据流具有水平消隐和垂直消隐。因此,重新配置可以在水平消隐时间中没有问题地发生。在FPGA中实现的霍夫核结构的尺寸还预先确定霍夫核配置的最大可能尺寸。如果使用较小的配置,则这些配置在霍夫核结构的列1,在水平方向上垂直居中对准(参见图9f)。霍夫核结构的未使用元件全部被延迟占用。对于x坐标的校正,较小配置的正确对准很重要(参见公式(B17)至(B19))。

如之前向霍夫核馈送通过所配置的延迟线的二值边缘图像。利用每个处理步骤,经由整个霍夫核计算列量,并且分别将列量与先前列的量信号进行比较。如果列提供了较高的总值,则原始列的总值被重写。作为初始信号,新霍夫核提供列总值以及相关联的列号。稍后,基于这些值,可以进行以下声明:找到结构(由列号表示)并检测到出现概率(由总值表示)。霍夫核的初始信号还可以被称为霍夫空间或累加器空间。与通常的霍夫变换相比,霍夫空间可用于图像坐标系中的并行霍夫变换。这意味着,对于每个图像坐标,输出与列号相关联的总值。对于眼睛图像的完整变换,必须分别通过非旋转图像和旋转图像的类型1和类型2的一个霍夫核。因此,在变换后,不仅与列号相关联的列量而且霍夫核类型和初始图像(非旋转或旋转)的对准都是可用的。此外,对于直线和半圆,可以分别使用不同的霍夫核大小和配置。因而,除提到的结果外,还可以指示曲线类型和霍夫核大小。总的来说,下表中示出了新霍夫核大小的结果数据集。关于并行霍夫变换,对于每个图像点,产生这样的数据集。

利用修改的霍夫核结构进行并行霍夫变换,对于初始图像的每个视点,产生对结果数据集的概述。

与Katzmann和Holland-Nell的霍夫核的二值的且基于阈值的输出相比,该新霍夫核结构产生了显著更多的初始数据。由于这种数据量难以处理,呈现一种用于特征提取的方法,其显著减少了结果数据量。

类型2霍夫核以及图像旋转

对于关于并行霍夫变换的实施例,已经介绍了图像旋转的必要性和类型2霍夫核的特殊性。关于并行霍夫变换,初始图像必须通过霍夫核四次。这是必要的,从而能够在不同角度位置检测直线和半圆。如果仅使用类型1霍夫核,则将必须在初始位置处理图像,并将图像旋转大约90°、180°和270°。通过包括类型2霍夫核,省略大约180°和270°的旋转。如果利用类型2霍夫核处理非旋转初始图像,则这对应于利用类型1霍夫核处理大约180°旋转的初始图像。与旋转大约270°类似。这可以被以下处理替换:利用类型2霍夫核处理大约90°旋转的图像。对于FPGA实现,附加旋转的省略具有积极效果,因为图像旋转通常仅借助外部存储器来解决。根据所应用的硬件,只有特定带宽(最大可能数据率)在FPGA和存储组件之间是可用的。关于类型2霍夫核的使用,外部存储组件的带宽仅被大约90°的旋转占用。关于Holland-Nell的先前实现,需要在FPGA中实施类型1的霍夫核和类型2的霍夫核。利用修改的霍夫核设计,现在还可以将霍夫核结构在FPGA中实施一次,并且上传类型1或类型2的配置。由于这种新功能,仅利用一个霍夫核并且仅利用一次图像旋转,可以将初始图像进行完全变换。

仍然要考虑的是,在仅利用一个霍夫核的处理期间,在霍夫核中还发生四倍的数据率。关于具有60fps和VGA分辨率的视频数据流,像素数据率共达24MHz。在这种情况下,霍夫核将必须以96MHz进行操作,这对于Spartan三代的FPGA已经构成了高时钟率。为了优化设计,应当在霍夫核结构内利用流水线延迟增强操作。

特征提取

特征提取代表先前表格中的数据集进行工作。这些数据集可以概括在特征矢量中(B16)。以下,可以将特征矢量称为霍夫特征。

MV=[MVX,MVY,MV0,MVKS,MVH,MVG-1,MVA]>

特征矢量分别包括检测到的特征的各自x坐标和y坐标(MVx和MVy)、方位MV0、曲线强度MVKS、频率MVH、霍夫核尺寸MVG-1和检测到的结构的类别MVA。可以从以下表格获得特征矢量的各元素的详细含义和值范围。

霍夫特征向量的元素及其含义和值范围。

方位的计算取决于图像旋转和变换所用的霍夫核类型。

从上述表,变得显然的是,关于直线和半圆的两个元素MV0和MVKS具有不同含义。关于直线,方位和曲线强度的组合形成了所检测到的直线段在0°到180°的角度中的位置角度。从而,方位表明角度区域,曲线强度表示该范围内的具体角度。霍夫核越大(更确切地,霍夫核列可用的越多),角度分辨率越精细。关于半圆,方位表示半圆的位置角度或对准。原则上,可以仅在四个排列中检测半圆。关于半圆配置,曲线强度表示半径。

除方位MV0和曲线强度MVKS外,关于坐标(MVx和MVy)应考虑进一步的特殊特征(参见图9g)。关于直线,该坐标总是表示中点,关于半圆或曲线,该坐标总是表示顶点。利用该假定,y坐标可以与所实现的霍夫核结构相对应地校正,并且不依赖于变换所用的配置的大小(参见图9f)。与局部滤波器类似,y坐标被垂直居中地表示。对于x坐标,建立通过霍夫核列的上下文,已提供了命中(在特征向量中,用标号MVKS存储霍夫核列)。根据霍夫核类型和图像旋转,还可以指示用于三种不同情况的计算规定。对于类型1的霍夫核,分别参考用于非旋转初始图像和旋转初始图像的公式(B17)。如果类型2的霍夫核可用,则必须根据图像旋转来参考公式(B18)或公式(B19)。

>MVxcorrected=MVxdetected+floor((MVKS+1)2)---(B17)>

>MVxcorrected=imagewidthnon-rotated-(MVxdetected+floor((MVKS+1)2))---(B18)>

>MVxcorrected=imagewidthrotated-(MVxdetected+floor((MVKS+1)2))---(B19)>

利用指令“向下取整(floor)”,对分数有理数进行向下舍入。在FPGA中,这对应于二进制小数的简单切割。在已经确定方位并且已经校正霍夫特征的坐标之后,可以进行实际特征提取。

对于特征提取,使用三个阈值并结合非最大值抑制运算符。非最大值抑制运算符对于直线和半圆是不同的。通过阈值,给定最小曲线强度和最大曲线强度并且确定最小频率非最大值抑制运算符可以看做大小为3×3的局部运算符(参见图9h)。如果恰好满足(B23)中的非最大值抑制运算符(nms-运算符)的条件并且超过根据公式(B20)至(B22)的阈值,则总是产生针对半圆(或曲线)的有效特征。

>MVnms2,2KSMVKSmin---(B20)>

>MVnms2,2KSMVKSmax---(B21)>

>MVnms2,2HMVHmin---(B22)>

由于非最大值抑制,抑制了在特征向量的频率空间中不构成局部极大值的霍夫特征。以这种方式,抑制了对所搜索结构没有贡献且与后处理无关的霍夫特征。仅通过可以预先有效调节的三个阈值,将特征提取参数化。可以从下表得出对阈值的详细说明。

详细描述用于从霍夫空间提取霍夫特征的三个阈值。与根据Katzmann的方法相比,以相似功能来指示参数。

关于直线,可以同样地推导出大小为3×3(参见图9h)的非最大值抑制运算符。从而,应当考虑一些特殊性。与曲线不同,不根据沿二值边缘发展的数个最大值的连续发生而检测关于直线段的所搜索结构。因此,非最大值抑制可以基于Canny边缘检测算法中的方法。根据霍夫核类型以及检测到的角度区域,可以区分三种情况(参见图9i并结合上表)。由于对旋转坐标的再变换仅发生在非最大值抑制之后,对于旋转的以及非旋转的初始图像,所述情况区分都是有效的。应当使用哪种nms-运算符分别取决于霍夫核类型以及角度区域。由具有直线配置的霍夫核提供的角度区域通过角度区域平分来划分。可以将角度区域平分指示为霍夫核列(小数点折射)通过公式(B24)描述依据霍夫核大小的数学上下文。在霍夫特征所位于的角度区域中,参考具有所传送的命中(MVKS)的霍夫核列,其可以直接与角度区域平分的霍夫核列进行比较。

>MVKShalf=tan(452)·π180·Houghcoresize---(B24)>

如果已选择了运算符,则与用于曲线的非最大值抑制相似,可以请求关于相应nms-运算符的条件(公式(B25)至(B27))。如果满足所有条件并且如果附加地超过根据公式(B20)至(B22)的阈值,则可以假定在位置nms2,2处的霍夫特征。

对一个nms-运算符的确定取决于发生命中的角度区域和霍夫核类型。

特征提取的完成形成所旋转霍夫特征的再旋转以及x和y坐标。对于后处理,应当再次将这些用于图像坐标系。如果处理了旋转的初始图像,则不管曲线类型如何(不管是直线还是曲线),总是执行再变换。在公式(B28)和(B29)中,描述数学上下文。非旋转初始图像的宽度是指图像宽度。

>MVy=MVxrot---(B28)>

>MVx=imagewidth-MVyrot---(B29)>

通过利用特征提取,可以将并行霍夫变换的结果数据减少到若干点。然后,这些可以作为特征向量传送到后处理。

上述实施例仅构成对本发明的原理的说明。应当理解的是:本文所述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的保护范围而不由本文中通过描述和解释实施例的方式所给出的具体细节来限制本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号