CN1627315A - 目标检测 - Google Patents

目标检测 Download PDF

Info

Publication number
CN1627315A
CN1627315A CNA2004101007659A CN200410100765A CN1627315A CN 1627315 A CN1627315 A CN 1627315A CN A2004101007659 A CNA2004101007659 A CN A2004101007659A CN 200410100765 A CN200410100765 A CN 200410100765A CN 1627315 A CN1627315 A CN 1627315A
Authority
CN
China
Prior art keywords
face
facial
image
piece
probable value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004101007659A
Other languages
English (en)
Other versions
CN100538722C (zh
Inventor
S·D·海恩斯
J·利文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Europe Ltd
Original Assignee
Sony United Kingdom Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Publication of CN1627315A publication Critical patent/CN1627315A/zh
Application granted granted Critical
Publication of CN100538722C publication Critical patent/CN100538722C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

用于在测试图像中检测目标的目标检测设备包括:用于将所述图像的测试窗口的块与指示目标的出现的参考数据比较以便产生指示区域和所述参考数据之间的相似程度的索引数字的装置;用于存储对应于所述索引数字和所述块位置的可能值的概率数据的装置;可用于针对当前块、依赖于该块在所述测试窗口内的位置和关于该块所产生的所述索引数字从所述存储器存取概率值的装置;以及用于组合对应于测试窗口中的块的所述概率值,以便产生指示测试窗口包含目标的概率的结果的装置,其中,所述存储器中的所述概率值按照先块位置然后索引数字的次序排序。

Description

目标检测
发明领域
本发明涉及目标检测。
背景技术
以下说明涉及出现在各种类型的目标检测中的问题,但为了说明的简洁,将讨论关于面部检测。
在文献中已经提出了多种人面部检测算法,包括使用所谓的本征面部、面部模板匹配、可变形模板匹配或神经网络分类。这其中没有一个是完美的,总的来说每一个都有优点和缺点。没有一种给出图像包含面部的绝对可靠的指示,相反,它们都是根据概率估算、基于图像的数学分析,给出图像是否具有至少一定的包含面部的的可能性。根据它们的应用,这些算法一般具有设置成很高的可能性值阈值,以试图避免面部的假检测。
目标检测倾向于需要多个处理器(processor-intensive)。在目标检测必须实时运行的情况下,难以在允许的时间(例如视频信号的一帧周期)内完成所有的目标检测处理。
发明内容
本发明提供目标检测设备,用于检测测试图像中的目标,所述设备包括:
用于将所述图像的测试窗口的块与指示目标的出现的参考数据比较以便产生指示区域和所述参考数据之间的相似程度的索引数字的装置;
用于存储与所述索引数字和所述块位置的可能值对应的概率数据的装置;
用于可针对当前块、依赖于该块在所述测试窗口内的位置和关于该块产生的索引数字从所述存储装置存取概率值的装置;以及
用于组合对应于测试窗口中的块的概率值以产生指示该测试窗口包含目标的概率的结果的装置,
其中,所述存储装置中的概率值按照先块位置然后索引数字的次序排序。
本发明涉及辨识在目标检测过程中彼此相邻地存取那些值,将这些值排序成彼此相邻或接近,以提高数据存取过程的效率。
本发明的各种进一步的方面和特征被所附的权利要求书限定。
附图说明
本发明的上述和其它目的、特征和优点将通过参考附图进行阅读的说明性实施例的下列详细描述变得明显,其中:
图1是用作面部检测系统和/或非线性编辑系统的通用计算机系统的示意图;
图2是使用面部检测的视频摄像机-记录器(摄录机)的示意图;
图3是说明训练(training)过程的示意图;
图4是说明检测过程的示意图;
图5示意性地说明特征直方图;
图6示意性说明用以产生本征块的抽样过程;
图7和8示意性地说明了本征块集;
图9示意性地说明了建造表示块位置的直方图的过程;
图10示意性地说明了直方图仓号的产生;
图11示意性地说明了面部概率的计算;
图12a-12f是利用上述方法所产生的直方图的示意性实例;
图13a和13b示意性地说明了该直方图的数据结构;
图14示意性地说明了叠有面部窗口的所谓仓映像;
图15a-15g示意性地说明了所谓多尺度面部检测;
图16是说明用于在多尺度方案(arrangement)中检测面部位置的技术的示意性流程图;
图17示意性地说明了运动检测器;
图18a-18e示意性地说明了用于检测图像中变化的区域的技术;
图19a-19c示意性地说明了对图18a-18e技术的改进;
图20a-20c示意性地说明了空间抽选技术;
图21a-21d示意性地说明了另外一个空间抽取技术;
图22示意性地说明了面部跟法;
图23a和23b示意性地说明了用于皮肤颜色检测的搜索区域的导出;
图24示意性地说明了施加到皮肤颜色检测的掩蔽;
图25a-25c示意性地说明了图24的掩蔽的使用;
图26是示意性距离映像;
图27示意性地说明了颜色掩蔽过程;
图28示意性地说明了颜色映像更新过程;以及
图29a-29c示意性地说明了梯度(变化)预处理技术。
具体实施方式
现在描述通过用代表所需的目标的训练图像进行训练进行面部检测的实施例,但同样可应用于其它目标,诸如汽车的检测。
图1是用作面部检测系统和/或非线性编辑系统的通用计算机系统的示意图。计算机系统包括处理单元10,处理单元10具有(在其他常规元件中)中央处理器(CPU)20,诸如随机存取存储器(RAM)30之类的存储器和诸如盘驱动器40之类的非易失存储装置。计算机系统可以连接到诸如局域网或因特网(或两者)之类的网络50。还配备键盘60、鼠标或其它用户输入设备70和显示屏80。本领域普通技术人员应该明白通用计算机系统可以包括不必在这里说明的很多其它常规部件。
图2是使用面部检测的视频摄像机-记录器(摄录机)的示意图。摄录机100包括透镜110,透镜110将图像聚焦到电荷耦合器件(CCD)图像捕获器件120。产生的电子形式的图像由图像处理逻辑130进行处理,用于在诸如盒式磁带130的记录介质上记录。由器件120捕获到的图像也可以显示在可以通过目镜160进行观察的用户显示器150上。
为了捕获与图像关联的声音,使用一个或多个麦克风,这些麦克风可以是外置麦克风,也就是说它们通过柔性电缆连接到摄录机,也可以安装在摄录机体内。
来自(多个)麦克风的模拟音频信号由音频处理装置107处理,以便产生记录在存储介质140上的适当的音频信号。
应当注意视频和音频信号既可以数据形式也可以模拟形式甚至以该两种形式记录在存储介质140上。因此,图像处理装置130和音频处理装置170可以包括模拟向数字转换的级。
摄录机用户能够通过用户控制180控制透镜110的性能的某些方面,用户控制180影响透镜控制装置190,以发送电控制信号200给透镜110。一般来说,像聚焦、缩放之类的属性按这种方式进行控制,但透镜孔径或其它属性也可以由用户控制。
示意性地说明了两种另外的用户控制。配置按钮210来启动和停止向记录介质140上的记录。例如,按一下控制120可以开始记录,并且再按一下可以停止记录,或控制可能需要保持在按下的状态下以进行记录,或者,可以按下一定的时间(例如5秒钟)以启动记录。在这些装置的任何一个中,技术上讲可以直接根据摄录机的记录操作建立,在这种记录操作中出现每次“拍摄”(记录的连续周期)的开始和结束。
图2中示意性所示的其他用户控制是“良好拍摄标记”(GSM)220,它可以由用户操作来使得要存储的“元数据”(相关数据)与记录介质140上的视频和音频材料联系起来,指示该特定的拍摄是由操作员主观考虑为在某些方面“良好”(例如演员表演的特别好;新闻记者每个字的发音都正确等等)。
根据所使用的特定格式和标准,元数据可以记录在记录介质140上的某些备用容量(例如“用户数据”)中。或者,元数据可以存储在像可拆卸存储棒(MemoryStickRTM)存储器(未示出)之类的分离存储介质上。或者元数据能够存储在外部数据库(未示出),例如通过无线链路(未示出)传递到这样的数据库。这种元数据不仅可以包括GSM信息,也包括拍摄边界、透镜属性、用户输入的字符信息(例如在键盘上-未示出)、来自全球定位系统接收机(未示出)的地理位置信息等。
到目前为止,说明书已经描述了允许元数据(metadata enabled)的摄录机。现在描述面部检测可以应用到这种摄录机的方式。当然,可以理解,这些技术是可以应用于例如,像因特网协议(IP)摄像机、视频会议摄像机等之类的联网摄像机。
这种摄录机包括面部检测器装置230。下面以更详细的方式描述适当的装置,但是对于这部分说明,足以说明面部检测器装置230从图像处理装置130接收图像并且检测或者试图检测这样的图像包含一个或多个面部。面部检测器可以以“是/否”标志的形式输出面部检测数据,也可以是包括面部图像坐标的更详细的数据,诸如每个所检测到的面部内的眼睛位置的坐标。这种信息可以作为另一种类型的元数据进行处理,并以上面描述的其它任何格式存储。
如上所述,面部检测可以使用检测处理内的其它类型的元数据来协助。例如,面部检测器230从透镜控制装置190接受控制信号,以指示透镜110的当前聚焦和缩放设置。这些可以通过给任何面部的期望的图像尺寸的初始指示来帮助面部检测器,所述的面部可以出现在图像的前景中。在这种情况下,应该注意它们之间的聚焦和缩放设置限定了摄录机100和正在被拍摄的人之间的期望的分开的距离,并且还有透镜110的放大倍数。从这两种属性中,基于平均面部尺寸,能够计算出所产生图像数据中的面部的期望的尺寸(以像素计算)。
传统的(已知的)语音检测器240从音频处理装置170中接收音频信息并在这样的音频信息中检测语音的出现。这样的语音出现可以是一个指示符,指示在对应的图像中正在出现面部的可能性高于没有检测到语音的情况。在以下要讨论的一些实施例中,可以改进语音检测器,以便通过检测一组麦克风中最有效的麦克风,或者通过多个麦克风之间的三角测量或类似技术来提供说话者的位置程度。
最后,将GSM信息220和拍摄信息(来自控制210)提供给面部检测器230,以指示拍摄边界和那些被用户认为最有用的镜头。
当然,如果摄录机是基于模拟记录技术的,进一步的模拟数据转换(ADC)可能需要用来处理图像和音频信息。
本实施例使用安排成两个阶段的面部检测技术。图3是说明训练阶段的示意图,图4是说明检测阶段的示意图。
不像以前提出的某些面部检测方法(参见下面的对比文件4和5),本方法是基于部分模拟面部而不是整体模拟面部。这些部分既可以是中心在面部特征的假定的位置的块(所谓的“有选择的抽样”),也可以是在面部上以规则间隔抽样的块(所谓的“规则抽样”)。本说明将主要涉及规则抽样,因为在经验测试中发现这给出更好的结果。
在训练阶段,将分析过程应用于已知包含面部的一组图像,和(可选)已经知道不包含面部的另一组图像(“非面部图像”)。这种分析过程建立面部和非面部特征的数学模型,以后可以用其与测试图像相比较(在检测阶段)。
因此,为了建立数学模型(图3的训练过程310),基本步骤如下:
1.从标准化为具有相同眼睛位置的面部图像的集合300,每个面部被规则地抽样成小块。
2.计算每个块的属性;这些属性将在下面进一步解释。
3.这些属性被量化为便于管理的数目的不同值。
4.然后将量化的属性组合起来,以产生关于那个块位置的单一量化值。
5.然后将该单一量化值作为一项记录在直方图中,直方图诸如为图5所示的示意性直方图。所有训练图的所有块位置的集体直方图信息320形成面部特征的数学模型的基础。
通过关于大量测试面部图像重复上述步骤,为每一个可能的块位置准备一个这样的直方图。在下面的附录A中,会进一步描述该测试数据。因此,在使用8×8块的阵列的系统中,准备64个直方图。在该处理的后面部分,将测试量化的属性与直方图数据比较;整个直方图用于模拟数据的事实意味着不必关于它是否遵循参数化分布(例如高斯或其它分布)作出任何假设。为了节约数据存储器空间(如果需要的话),相似的那些直方图可以合并起来,以便相同的直方图可以为不同的块位置重复使用。
在检测阶段,为了将面部检测器应用于测试图像350,按照下列方式处理340测试图像中的连续窗口:
6.该窗口被规则地抽样为一系列块,并且每个块的属性可以按照上述步骤1-4来计算和量化。
7.从相应的直方图中查找每个块位置的量化的属性值的对应“概率”。也就是说,对于每个块位置产生各自的量化属性,并与关于那个块位置事先产生的直方图相比较。直方图导致“概率”数据的方式将在以下描述。
8.上述获得的所有概率乘在一起以形成最终概率,该最终概率被与一阈值比较,以便将该窗口分类为“面部”或“非面部”。应该理解,“面部”或“非面部”的检测结果是基于概率的测量而非绝对检测。有时,不包括面部的图像可能会错误地检测成“面部”,即所谓的错误肯定。在另一些时候,包含面部的图像可能被检测成“非面部”,即所谓的错误否定。任何面部检测系统的目的是减少错误肯定的比例和错误否定的比例,但当然也应该理解,利用当前的技术,即便不是不可能,将这些比例减少成零也是很困难的。
如上所述,在训练阶段,一组“非面部”图像可以用于产生一组相应的“非面部”直方图。然后,为了获得面部检测,从非面部直方图产生的“概率”可以与一个独立的阈值比较,因此,对于测试窗口包含面部,该概率必须是在该阈值之下。或者,面部概率与非面部概率的比率可以与一阈值比较。
额外的训练数据可以通过将“合成变化”330应用到原始训练集来产生,原始训练集诸如为位置、方向、大小、长宽比、背景、光强和频率内容的变量。
现在将描述属性的导出和它们的量化。在目前的技术中,属性是关于所谓的本征块进行测量的,本征块表示可能呈现在窗口化图像中的不同类型的块的核心块(本征向量)。首先,参考图6描述本征块的产生。
本征块创建
本实施例中的属性基于所谓的本征块。在训练集中,本征块被设计成具有良好的块表示能力。因此,通过在大的块集合上执行主成分分析,来从训练集创建它们。这个过程被示意性地示出在图6中,并且在附录B中更详细地描述。
训练该系统
用两种不同的训练块集合进行实验。
本征块集I
起初,使用从训练集中的25个面部图像中取出的一个块集。16×16块被按每16个像素抽样,因此是不重叠的。这种抽样被示出在图6中。像所看到的那样,16个块是从每个64×64训练图像中产生的。这导致总共400个训练块。
从这些训练块产生的头10个本征块显示在图7中。
本征块集II
本征块的第二个集从更大的训练块集产生。这些块是从训练集的500个面部图像中取出。在这种情况下,16×16块被按每8个像素抽样,因此重叠8个像素。这从每个64×64训练图像产生49个块,并且导致总共24500个训练块。
从这些训练块中产生的头12个本征块示出在图8中。
经验结果显示本征集II表现出稍微好于本征集I的结果。这是因为它是从面部图像取出的更大的训练块集合中计算出来的,因此被认为是在表示面部变化方面更好。然而,性能改善不大。
构造直方图
直方图是对64×64面部图像内的每个抽样块位置建立的。直方图的数量依赖于块间隔。例如,对于16像素的块间隔存在16种可能的块位置,因此使用16个直方图。
构造表示单个块位置的直方图的过程显示在图9中。使用M个面部图像中的大型训练集400创建该直方图。对每个面部图像,该过程包括:
●从面部图像的位置(i,j)取出410相关块。
●计算关于该块的基于本征块的属性,并且从这些属性中确定相关的仓号420。
●增加直方图430中的相关仓号。
该过程对训练集中的M个图像中的每一个重复,以便创建一个很好表现属性发生频率分布的直方图。理想情况下,M非常大,例如是几千。这可以通过使用由一组原始面部和每个原始面部的几百个合成变化组成的训练集来轻易地实现。
产生直方图仓号
使用下列过程从给定块中产生直方图仓号,如图10所示。从64×64窗口或面部图像中提取16×16块440。该块被投影到A个本征块的集合450上,以产生一组“本征块权”。这些本征块权是用在这种实现中的“属性”。它们具有-1到+1的范围。这种处理将在附录B中详细描述。每个权被量化成固定数量的级L,以产生量化属性470,wi,i=1...A。量化的权被按如下方式组合成单一值:
h=w1.LA-1+w2LA-2+w3LA-3+...+wA-1L1+wAL0
其中所产生的值h是直方图仓号480。注意,直方图中仓的总数由LA给出。
如果它除以训练图像的数量M,仓内容(即引起那个仓号的属性集出现的频率)可以被看作是一个概率值。但是,因为该概率与一阈值比较,因此,事实上不需要被M来除,因为这个值将在计算的时候消去。因此,在下面的讨论中,仓“内容”将被称作“概率值”,并被处理成好像它就是概率值,即使在严格意义上来说它实际上是出现的频率。
上述过程被用于训练过程阶段和检测阶段。
面部检测阶段
面部检测过程包括用运动64×64窗口抽样测试图像,并且计算每个窗口位置的面部概率。
在图11中示出了面部概率的计算。对于窗口中的每个块位置,按照前一段描述的方式计算块的仓号490。利用关于块位置的适当直方图500查找每个仓号并且确定那个仓号的概率510。然后,计算所有块的这些概率的对数和520,以产生面部概率值P面部(另外也可称为对数可能性值)。
这种过程产生关于整个测试图像的概率“映像”。换句话说,概率值是关于整个图像的每一个可能的窗口中心位置导出的。然后,将所有这些概率值组合成方形阵列的组合(或无论什么形状)看成是相应于该图像的概率“映像”。
然后,反转该映像,从而找出面部的过程包括找出该反转映像中的最小值(当然这等效于不反转该映像并找出最大值;两种都可以)。使用所谓的基于距离的技术。这种技术可以概述如下:选择在反转的概率映像中具有最小值的映像(像素)位置。如果这个值大于阈值(TD),则不再选择任何面部。这是终止判据。否则,对应于所选择的中心像素位置的面部尺寸块被取消(即从下面的计算中省略),并且在该图像的剩余部分上重复候选面部位置查找步骤,直到达到终止判据。
非面部方法
非面部模型包括代表非面部图像中的属性概率分布的另一直方图集合。除了训练图像包括非面部的例子而不是包括面部的例子之外,以与面部模型中严格一致的方式创建直方图。
在检测期间,计算两个对数概率值,一个使用面部模型,一个使用非面部模型。然后,通过从面部概率中减去非面部概率来组合这些概率值:
P组合=P面部-P非面部
然后,使用P组合代替P面部来产生概率映像(在反转之前)。
注意,从P面部中减去P非面部的理由是它们是对数概率值。
还要注意,面部和非面部直方图可以通过简单的将对数直方图相加而在训练过程结束(在面部检测之前)时有选择地进行组合:
直方图总计=log(直方图(面部))+log(直方图(非面部))。
这是在下面的描述中为什么对每个块位置/姿势/眼睛间隔组合只需要一个直方图的原因。
直方图示例
图12a-12f是利用上述训练过程所产生的直方图的某些示例。
图12a、12b和12c是从面部图像训练集中导出的,图12d、12e和12f是从非面部图像训练集中导出的。具体地:
面部直方图 非面部直方图
整个直方图 图12a 图12d
在大约h=1500处缩放到主峰值 图12b 图12e
进一步缩放到大约h=1570的区域 图12c 图12f
可以清楚地看到,峰值是处于面部直方图和非面部直方图的不同的地方。
直方图存储
如上所述,直方图存储与图像中给定尺度和位置的面部可能性有关的统计信息。但是,直方图的排序对于系统性能具有出人意料地重要性。简单排序可以导致非局部化的访问(即连续的访问在内存中通常远离)。当使用微处理器或定制处理器实施时,这可能表现出差的高速缓冲性能。为了处理该问题,重新对直方图排序以便对数据的访问更加局域化。
在本实施例中,存在总共6个直方图:
  F38   具有38个像素的眼距的正面面部(即“放大”直方图)
  L38   面向左250具有38个像素的眼距的面部
  R38   面向右250具有38个像素的眼距的面部
  F22   具有22个像素的眼距的正面面部(即“全面部”直方图)
  L22   面向左250具有22个像素的眼距的面部
  R22   面向右250具有22个像素的眼距的面部
在下面的讨论中:
c是来自给定尺度的图像中的给定位置的仓映象(binmap)(一种给出关于该图像中的每个位置的直方图项的映像)中的值-在当前的情况下,这是9位二进制数。
仓映象是通过将该图像与9个本征块卷积、量化所得到的9个本征块权并且将其组合成单一值而预先计算出来的;
x是面部窗口内的x位置(0和6之间);和
y是面部窗口内的x位置(0和6之间)。
这意味着每种姿势(例如F38)的直方图具有512×7×7=25088字节的尺寸。
F38 c,x,y是关于给定的c,x和y的直方图的值。
例如,F38 15,4,5是对于仓映象值为15的具有在面部窗口位置(4,5)处38眼距的正面直方图给出的值。
存储器中直方图的顺向排序是按照c,然后x,然后y,然后姿势,然后眼距排序的。这种排序的示意性示例显示在图13a中。一种改进的排序系统是按照姿势、然后x,然后y,然后c,然后眼距排序的,这种排序的示意性示例被显示在图13b中。
当直方图按照新方式排序时,存在两种高速缓冲存储性能方面改进的原因:
(i)访问姿势的方式,和
(ii)面部窗口在面部搜索期间移动的方式。
对于每个位置总是访问具有相同仓号和位置的3个不同的姿势(左、右和前)。即,如果F38 329,2,1被访问,则L38 329,2,1和R38 329,2,1也被访问。因为在新方法中这些是相邻的,因此获得优越的高速缓冲存储性能。
组织这些直方图的新方法也利用了面部测试窗口在搜索图像中的面部期间移动的方式。由于面部窗口移动的方式,将在很多(x,y)查找相同的c值。
图14示出来自仓映像的哪个值用于在确定位置内查找面部。例如,F38 329,2,1是来自面部窗口中的(2,1)位置的眼距38的前直方图的值。
可以看出,当面部检测窗口向右移动2空格时,高亮方块将向左移动一个位置,即相同的值将在不同的位置上查找到。在图14的实例中,当面部窗口已经向右移动两空格时,F38 329,2,1将变成F38 329,1,1
由于该算法通过将面部测试窗口移过图像来搜索面部,它将在几个位置查找到相同的仓映象。这意味着如果这些值在存储器中存储的非常接近,则将改善高速缓冲存储性能。
对直方图结构另一个改进(与上述改进一起或者独立于上述改进)是侧姿势比前姿势使用更少的位。存储在每个直方图仓中的值根据它们表示的姿势来量化成不同的数量的位。
用于6个直方图中的每一个的位数总结如下:
    F38     具有38个像素的眼距的前面部-8位
    L38     面向左250具有38个像素的眼距的面部-4位
    R38     面向右250具有38个像素的眼距的面部-4位
    F22     具有22个像素的眼距的前面部-8位
    L22     面向左250具有22个像素的眼距的面部-4位
    R22     面向右250具有22个像素的眼距的面部-4位
这样做的好处是,每一组3个直方图值可以存储在2字节而不是3字节中。
发现由于侧姿势比前姿势对算法的整体性能具有更少的重要性,因此这是可能的,所以这些可以利用减少的分辨率来表示而不会显著地影响精度。
多尺度面部检测
为了检测测试图像中不同尺寸的面部,测试图像由一个因子的范围调节尺度,并且距离(即概率)映像对每种尺度产生。在图15a-15c中,图像和它们的相应距离映像以3种不同的尺度显示。该方法对在最小尺度(图15a)的大型(中心)目标给出最好的响应(最高的概率或最小的距离),而对在较大尺度的较小的目标(主图的左边)给出较好的响应。(在映像中的较黑的颜色表示反转映像中的较低值,或者换句话说,较高概率意味着有面部)。候选面部位置通过首先发现在所有尺度上的给出最好响应的位置来跨越不同尺度提取。也就是说,最高的概率(最低距离)是在所有标尺的全部概率映像中建立的。这种候选位置是将首先被标注为面部的位置。然后中心在那个面部位置的测试窗口被从每种尺度的概率映像中消除。被消除的测试窗口的尺寸与概率映像的尺度成比例。
这种被调节尺度的消除过程的示例示出在图15a-15c中。具体地说,跨越所有映像的最高概率在最大尺度映像的左手侧找到(图15c)。对应于面部的假设尺度的区域530在图15c中被遮盖。在更小的映像中对应的但是被调节尺度的区域532、534被遮盖。
比测试窗口大的区域可以在映像中被遮盖,以避免重叠检测。具体地说,等于被长/宽为该测试窗口的一半的边框所包围的测试窗口的尺寸的区域适用于避免这样的重叠检测。
其它的面部通过接着搜索下一个最好的响应并消除对应的测试窗口进行检测。
在被处理的尺度之间允许的间隔受该方法对尺寸变化的灵敏度的影响。在尺度不变性的初步研究中发现,该方法对尺寸变化不是极其敏感,因为在某一尺度处给出良好响应的面部通常在相邻的尺度处也给出良好的响应。
上述描述涉及即使在图像中的面部尺寸在检测过程的开始时不知道的情况下也能检测面部。多尺度面部检测的另一个方面是利用不同尺度的两个或多个并行检测,以便使得检测过程有效。如果例如,要检测的面部是部分模糊的,或者是人带着帽子的等,这是有利的。
图15d-15g示意性地图解了这一过程。在训练期间,在围绕整个测试面部(图15d)的窗口(按照上述那样分成相应的块)上训练该系统,以便产生“全面部”直方图数据,并且还在一个扩展尺度的窗口上训练该系统,以便仅仅包括测试面部的中心区域(图15e),以便产生“放大”直方图数据。这产生两个直方图数据集。一个集合涉及图15d的“全面部”窗口,而另一个则涉及图15e的“中心面部区域”窗口。
在检测阶段,对于任意给定的测试窗口536,将该窗口应用到测试图像的两种不同尺度上,以便在一种情况下(图15f)测试窗口环绕整个面部的期望尺寸,而在另一种情况下(图15g)测试窗口包围那个期望尺寸处的面部中心区域。这每一个按照上述那样处理,与分别适合于该窗口类型的直方图数据集比较。在进行与一阈值的比较之前,将来自每个并行处理的对数概率相加。
将多尺度面部检测的这两个方面放在一起,使得需要存储的数据量特别巨大的节省。
具体地说,在这些实施例中,对于图15a-15c的排列的多尺度以几何序列排列。在本示例中,该序列中的每种尺度与该序列中的相邻尺度相差因子 然后,对于参考图15d-15g描述的并行检测,对于更大的尺度、中心区域,利用与该序列中高3级的尺度有关的属性数据,以该序列中高3级的尺度进行检测,也就是说,是“全面部”尺度的23/4倍。因此,除了多尺度范围的极端情况外,几何级数意味着图15d-15g的并行检测总是能够利用关于另一个在该序列中高3级的多尺度产生的属性数据来实现。
这两种处理(多尺度检测和并行尺度检测)可以按照各种方式组合。例如,图15a-15c的多尺度检测过程可以首先被应用,然后在该多尺度检测过程中识别出的区域(和尺度)上应用图15d-15g的并行尺度检测过程。然而,属性数据的方便而有效的使用可以按照下列方式实现:
●导出关于每种尺度的测试窗口的属性(如图15a-15c)
●将这些属性与“全面部”直方图数据比较,以产生距离映像的“全面部”集合
●将这些属性与“放大”直方图数据比较,以产生“放大”距离映像的集合
●对每种尺度n,将尺度n的“全面部”距离映像与尺度n+3的“放大”距离映像组合
●按照上述参考图15a-15c所述,从所组合的距离映像中导出面部位置
可以执行进一步的并行测试来检测不同的姿势,诸如正面直视、部分向上看、向下看、向左看、向右看等。在此,需要直方图的各自的集合并且最好使用“max”函数组合这些结果,也就是说,给出最高概率的姿势被与阈值比较,其它被放弃。
多尺度的改进使用
面部检测算法提供多个尺度的多个概率映像;要求是发现概率超过给定阈值的图像中的所有位置,而保证没有重叠的面部。
上述方法的缺点是必须储存所有尺度的概率映像的整个集合,这需要一个很大的存储器。下列技术不需要同时储存所有概率映像。
概括说来,是维护一个候选面部位置临时列表。当计算关于每个尺度的概率映像时,找出概率最大值,并与该候选面部位置列表比较,以保证不存在重叠面部。
详细地说,当可能存在面部时,这种方法使用面部列表来维护当前位置列表。面部列表中的每个面部具有一个面部位置和一个面部尺寸。该阈值是这样一个概率阈值,在其上的一个对象被认为是面部。尺度因子是连续尺度之间的尺寸系数(在本实施方案中为1.189207115或
Figure A20041010076500181
)。
在下述示例描述中考虑16×16面部尺寸。
该过程被示意性地图解在图16的流程中。
参考图16,在步骤1400中该过程关于尺度之一(在所示出的示例中为最小尺度)开始。步骤1400发生的第一次面部列表是空的,但一般来说,对于面部列表中的所有面部,在步骤1400中通过将各自的面部尺寸乘以尺度因子来修改每个面部的面部尺寸。这保证了关于前一尺度检测的面部是正确地被按大小排列,以便与当前尺度中的任何最大值有效比较。
在步骤1410中,在当前映像中检测最大概率值mp。
在步骤1420中,将该最大概率值mp与阈值比较。如果mp大于该阈值,则控制转到步骤1430。另一方面,如果mp不大于该阈值,则在步骤1440中启动下一个映像(对应于要处理的下一个尺度因子)的处理。
返回步骤1430,如果最大值mp在当前尺度的概率映像中的位置与面部列表(考虑在步骤1400中导出的修改尺寸)中的一个面部重叠(一致),那么,将控制传递到步骤1450。如果不是这样,则将控制传递到1460。
在步骤1450中,将值mp与关于存在的面部的所存储的概率值比较。如果mp大于那个概率,则在步骤1470中删除该存在的面部,并且在面部列表中创建与mp的当前值和位置对应的一个新的项。具体地说,在面部列表中,关于该新项存储值mp并且在步骤1480中将以当前最大概率的图像位置为中心的16×16像素区域设置成该阈值。在步骤1490中,将最大概率值的当前位置添加到具有面部尺寸为16的面部列表中。然后,将控制返回步骤1410。
返回步骤1460,如果检测到最大概率位置不与面部列表中的任何面部重叠(在步骤1430),则在面部列表中创建一个新的项。如上所述,在步骤1460中,存储值mp并且将环绕当前最大值的16×16区域设置成该阈值。在步骤1465中,将当前最大位置添加到具有面部尺寸为16的面部列表并且将控制返回的步骤1410。
如果在步骤1450中检测到最大概率值mp不大于存在(重叠)的面部的概率,则将控制传递到步骤1455,其中将存在的面部区域设置成该阈值,并且将控制返回到步骤1410。
在这些步骤的每一个中,当控制返回到步骤1410时,再次检测一个最大概率值mp,但是这将根据在步骤1460、1455和1480中对环绕检测到的面部的的概率值的修改。因此,在这些步骤中所创建的修改值事实上将不会通过步骤1420的测试,因为设置成等于阈值的值将发现不超过它。相应地,步骤1420将确定是否有另一个位置存在于阈值被超过的校正映像中。
这种方法的好处在于它允许单独考虑概率映像的每个尺度。只有面部列表需要在处理每个尺度之间被存储。这有下列优点:
·较少存储器需要:不需要存储概率映像的整个集合。只有面部列表需要存储,这需要很少的存储器。
·允许临时抽选:该算法可以使用诸如临时抽取的方法,对于一帧的处理在几个时隙之间分配,并且在每个时隙只处理尺度的一个子集。这种方法现在可以在只需要在每次调用之间保持一个面部列表时,而不是到目前为止所计算的整个概率映像集的情况下使用。
·允许更快地搜索:一次仅仅考虑一种尺度。因此,当每次发现最大值时,我们不需要消除在概率映像集中的跨越所有尺度的区域。
变化检测
在面部检测不得不实时运行的情况下,难以在允许的时间-例如,视频信号的一帧周期内完成所有的面部检测处理。
改变检测过程用于检测图像的哪一个区域自从前一帧以来已经发生改变,或者至少从面部检测过程中去除自从前一帧以来检测到的没有发生改变的某些区域。
自从前一帧以来没有发生改变的图像区域不需要对它们再次进行面部检测,因为结果有可能是和前一帧的结果相同。然而,已经发生改变的图像区域需要对它们重新执行面部检测。这些图像区域在变化检测期间被标注为“感兴趣的区域”。
在本实施例中,仅仅在单个固定尺度(例如,面部检测中使用的原始图像尺度或最大尺度)进行改变检测。该过程在图17中示出,图17中示意性示出了一个运动检测器。
首先通过低通滤波器处理当前和先前的帧。然后这两帧被提供给差分器1120以便产生一个帧差别图像,例如,帧之间的绝对像素(或块)差别的表示,每个像素(或块)位置一个差别值。然后,该差别图像的绝对值通过与一个阈值Thrdiff比较来被限定1130,以便创建二进制差别图像,即一位值阵列(每个象素(或块)一个值):即非常小的差别被设置成0(没有变化),而较大的差别被设置成1(检测的变化)。最后,对该二进制差别图像执行1140一种形态学开运算(opening operation),以创建更多的检测到的改变/运动的邻接区域。
在实践中,可以省略低通滤波操作。
形态学开运算是已知的图像处理技术,在这个实例中是在3×3(即3×3块被用作形态学结构元素)区域上进行,并且包括其后跟随着形态学膨胀运算的形态学侵蚀运算。为了在基本上是基于光栅的系统中运行这种运算,在每隔2行的处理之后,进行该形态学处理。
如上所述,变化检测可以应用到整个图像,以创建已经检测到改变的图像的区域的映像。面部检测被应用到这些区域。
或者,改变检测可以用于从面部检测中消除图像的某些区域,虽然不需要检测所有运动的区域或“无运动”的区域。这种技术有利于减少变化检测过程的处理要求,同时在处理面部检测本身时仍然能潜在地提供有效的节约。这种处理的示意性示例被图解在图18a-18e中。
在图18a中,变化检测被应用在光栅扫描装置中,在其中(像素或块)的水平线扫描1150是从图像的左上至右下。使用在图像17中示出的基本过程(没有形态学处理并且优选没有低通滤波),并且将该图像与先前的图像比较。在每个扫描点,将所检测到的绝对差别与阈值Thrdirr比较。
扫描1150继续直到关于一个扫描位置1160的所检测到的绝对差别超过阈值Thrdirr。在这一点扫描1150终止。
进行3种类似的扫描1170、1180、1190。扫描1170是开始于图像底部的水平扫描,并且当扫描位置1200引起绝对差别值超过阈值Thrdirr时终止。扫描1180是开始于图像左侧的向下垂直扫描,并且当扫描位置1210引起绝对差别值超过阈值Thrdirr时终止。扫描1190是开始于图像右侧的向下垂直扫描,并且当扫描位置1220引起绝对差别值超过阈值Thrdirr时终止。
在图18e中,四个点1160、1200、1210、1220限定了一个边界框1230。具体地说,如果点nnnn的图像坐标是(xnnnn,ynnnn),那么边界框1230的四个顶点被给定如下:
    左上     (x1210,y1160)
    右上     (x1220,y1160)
    左下     (x1210,y1200)
    右下     (x1220,y1200)
因此,边界框不限定其中已经检测到改变的图像的所有区域,而是限定被从面部处理中排除的区域(边界框以外),因为在这里没有检测到变化。对于边界框内的区域,有可能所有这些区域已经改变,但最常见的情况是这些区域中的一部分已经改变而另一部分没有改变。
当然,这种技术有几种排列:
(a)执行4次搜索的顺序;
(b)执行每次搜索的方向(每个图中的箭头可以是反向的,而算法的效果没有改变);
(c)扫描是否顺序进行(一个扫描接着另一个扫描)或平行进行(两个或多个扫描同时进行);
在图19a-19c示意性地示出的变化中,两个垂直扫描1180’和1190’只对于没有被两个水平扫描1150和1170消除的那些行1240进行。这种变化可以降低处理需求。
上述变化检测技术可以与下述面部检测技术合作地很好。从图像的四个极端(边缘)开始进行变化检测,当任何一侧检测到变化时停止。于是,除了每一个变化检测过程的潜在的最终像素(或块)或部分行/列,变化检测只关于没有准备经受面部检测的那些图像区域进行。类似地,除了最终像素、块或部分行/列以外,面部检测只关于还没有经受变化检测过程的那些区域进行。记住,变化检测比面部检测使用较少处理器,在这两种处理方法之间只有相对微小的重叠(几乎在所有的情况下),变化检测的使用将减少一个图像的整个处理要求。
将变化检测的一种不同方法应用于运动编码信号,诸如MPEG-编码的信号,或那些已经预先以这种形式编码并且为面部检测解码的信号。与所述信号相关的运动向量等可以指示哪里发生了图像内改变。在每个运动向量的终点(当前图像)处的块(例如MPEG宏块)可以标记为变化的区域。可以这样做来代替上述变化检测技术,或者在改变检测技术之外再这样做。
如下描述另一种降低处理需求的方法。将面部检测算法分成许多阶段,这些阶段在很多尺度上重复。这种算法仅仅在n次呼叫后完成。该算法自动分割从而使每次呼叫占用几乎相等的时间。这种方法的关键特征在于:
·该方法使用自动方法将算法分割成占用等量处理时间的段。
·估计每一阶段占用的处理时间,从而如果给定阶段占用太长时间,则该算法在执行该阶段之前返回。
·该算法只有在每一阶段结束时才能返回;它不能在进行了阶段的一部分时返回。这限制了局部存储所需的量,并简化了程序流程控制。
·用于每个阶段占用处理时间的估计可以从实时测量的定时信息精确化-尽管目前没有这样做。
·在每次呼叫结束时可以进行面部跟踪,从而即使没有新的面部检测给出新的面部位置,但皮肤颜色跟踪将继续跟踪面部。
·或者,只在第n+1次呼叫(完成所有n次面部检测呼叫之后)时才执行跟踪。这意味着跟踪以较低速率进行,因此准确性较差,但允许该算法按比例缩小到较短的执行时间/每次呼叫,如果需要的话。
下表显示了对于在6个尺度上的面部搜索执行的阶段的顺序:
处理 尺度 描述
运动 1 使用运动以减少搜索区域
变化 1 使用图像变化以减少搜索区域
抽取 1→2 图像尺寸减小到下一尺度
卷积 2 图像卷积以产生仓映像
抽取 2→3
卷积 3
抽取 3→4
卷积 4
查找 4 仓映像用于查找面部概率
最大搜索 4 最大概率被发现并定界
抽取 4→5
卷积 5
查找 5
最大搜索 5
抽取 5→6
卷积 6
查找 6
最大搜索 6
跟踪 -
下表显示如果使用4的临时抽样可能会发生什么。算法自动划分处理为时间相等的“大块”-由于处理较早尺度所需的时间多于处理较晚尺度所需的时间(较早尺度的图像较大)这一事实,使其复杂化了。算法在每次执行它之前估计每一阶段所需的时间量。这一估计通过特定的处理和给定尺度的将要处理的像素的数目给出。例如,可以使用下列估计:
运动            1/像素
变化            1/像素
抽取            2/像素
卷积            3/像素
查找            4/像素
最大搜索        3/像素
处理 尺度 呼叫 #尺度中的象素   所需处理单元 每次呼叫的累计处理单元
运动 1 1  1000  1000  1000
变化 1 1  1000  1000  2000
抽取 1→2 1  1000  2000  4000
跟踪 - 1
返回
卷积 2 2  700  2100  2100
抽取 2→3 2  700  1400  3500
卷积 3 2  500  1500  5000
跟踪 - 2
返回
抽取 3→4 3  500  1000  1000
卷积 4 3  354  1062  2062
查找 4 3  354  1416  3478
最大搜索 4 3  354  1062  4540
抽取 4→5 3  354  708  5248
跟踪 - 3
返回
卷积 5 4  250  750  750
查找 5 4  250  1000  1750
最大搜索 5 4  250  750  2500
抽取 5→6 4  177  354  2854
卷积 6 4  177  531  3385
查找 6 4  177  708  4093
最大搜索 6 4  177  531  4624
跟踪 4
返回
有可能预先计算总的处理,因为所有尺度需要18872处理单元。这意味将处理分成4个等量的大块,则系统在每一呼叫必须执行大约4718个处理单元。
在执行每一阶段之前,系统计算所需的累积处理单元的数目是否将其带到一些预先安排的水平(例如5300)。如果这样,则不执行该阶段而返回。这比定时的优势在于在做某事前预先知道其会不会超出分配的时间。
空间抽取
空间抽取是另一种可用于减少关于每个图像的处理要求的技术。下面将描述空间抽取的两个实例:一个方法搜索水平条纹中的图像,另一个以稀疏方式搜索图像。
尽管可以使用任何种类的划分(矩形的、垂直条纹等),但是因为考虑到处理水平条纹更有效,因此选择了水平划分条纹。
也能够以稀疏方式控制空间抽取。这不如使用条纹那样有效,但由于在每次该算法被呼叫时都可以在整个图像中的任何地方检测到面部,因此可以给出更好的结果。
图20a-20c示意性地示出了条纹技术。在图20a中,没有使用空间抽取,并且整个图像1300经受面部检测。在图20b中,图像被分裂成两部分1310、1320。它们分别在交替的图像中经受面部检测。在图20c中,图像被分裂成三部分1330、1340、1350,以便每个部分经受面部检测(每三个图像中有一个)。所述部分可以是独立的或可以略微重叠。
图21a-21d示意性地示出了所谓稀疏空间抽样。
三个变量定义如下:
稀疏X是在水平方向中的抽取度。如果稀疏X=1,则没有水平抽取。如果稀疏X=2,则每一个图像的交替的像素或块经受面部检测,从而使任何一个象素或块位置在每两个图像中经历一次面部检测,等等。
稀疏Y是在垂直方向中的相同的抽样度。
UseChequerBoard如果抽取在连续的行和列中排列,则设置为0,如果是连续的行或列(或行/列的组)之间的偏移,则设置为1。
图21a-21d的实例如下所示:
    图21a     图21b     图21c     图21d
    稀疏X     2     2     2     2
    稀疏Y     1     1     2     2
    UseChequerBoard     0     1     0     1
可以使用空间和临时抽取的组合。例如,图像的离散空间部分(例如图像的三分之一)可以在很多帧上处理。以这种方式处理的部分(例如三个三分之一)可以来自相同的图像或分别来自不同的图像。
面部跟踪
下面将描述面部跟踪算法。跟踪算法旨在改善在图像序列中的面部检测性能。
跟踪算法的最初目的在于检测图像序列的每一帧中的每一个面部。然而,认识到有些时候在序列中的面部没有被检测。在这些情况下,跟踪算法有助于穿过丢失的面部检测内插。
最终,面部跟踪的目标是能够从属于图像序列中相同场景的每一组帧输出一些有用的元数据。这可以包括:
·面部的数目。
·每个面部的“面部照片(Mugshot)”(一个人的面部图像的俗语,得自警察档案照片中的术语)。
·每个面部首次出现的帧数。
·每个面部最后一次出现的帧数。
·每个面部的特性(要么与前一场景中所见的面部匹配,要么与面部数据库匹配)-这也需要一些面部识别。
该跟踪算法利用面部检测算法的结果,在图像序列的每一帧上独立地运行,如它的开始点一样。由于面部检测算法在有时会丢失(未检测)一些面部,因此,内插丢失的面部的一些方法是有用的。为此,使用Kalman过滤器以预测面部的下一个位置,并且使用皮肤颜色匹配算法以有助于面部跟踪。另外,由于面部检测算法常常引起假接受,排斥这些的一些算法也是有用的。
该算法示意性地显示在图22中。
下面将向详细描述该算法,但总之,将输入视频545(代表图像序列)供应给这个申请中所述类型的面部检测器和皮肤颜色匹配检测器550。所述面部检测器试图检测每个图像中的一个或多个面部。当检测到面部时,建立Kalman过滤器560来跟踪那个面部的位置。Kalman过滤器为该序列中的下一图像中的同一面部产生预测位置。眼睛位置比较器570、580检测面部检测器540是否在所述下一图像中的那个位置(或那个位置的某个阈值距离内)处检测到面部。如果被发现事实如此,则将所检测到的面部位置用于更新Kalman过滤器,并且继续该过程。
如果在或接近所述预测位置没有检测到面部,则使用皮肤颜色匹配检测器550。这是一种精度较低的面部检测技术,它被设置成具有比面部检测器540更低可接受阈值,因此即使当面部检测器不能在那个位置作为正检测时也可能使用皮肤颜色匹配技术检测(考虑是什么)面部。如果由皮肤颜色匹配检测“面部”,将其位置作为更新后的位置传递给Kalman过滤器,并且继续该过程。
如果面部检测器450或皮肤颜色检测器550都没有发现匹配,则使用预测位置更新Kalman过滤器。
这些全部结果受接受的判据(参见如下)控制。因此,例如将拒绝这样的面部,该面部基于一个正检测在整个序列中被跟踪,其余的作为预测或者将其余的作为皮肤颜色检测。
独立的Kalman过滤器用于在跟踪算法中跟踪每一个面部。
为了使用Kalman过滤器跟踪面部,必须创建代表面部的状态模型。在这种模型中,每个面部的位置由包含左和右眼睛的坐标的四维向量表示,它反过来与由针对窗口的中心位置的预定的关系和正被使用的尺度导出:
p ( k ) = FirstEyeX FirstEyeY SecondEyeX SecondEyeY
其中k是帧数。
面部的当前状态由其位置、速度和加速度以12维向量表示:
z ^ ( k ) = p ( k ) p · ( k ) p · · ( k )
检测到的第一面部
所述跟踪算法不做任何事,直至它接收一帧,伴随该帧的面部检测结果显示有面部出现。
然后,对在这一帧中的每个检测到的面部初始化Kalman过滤器。
其状态由所述面部位置、零速度与加速度初始化:
z ^ a ( k ) = p ( k ) 0 0
它也被指派了某些其他特性:状态模型误差协方差Q和观察误差协方差R。也初始化Kalman过滤器的误差协方差P。这些参数在下面详细描述。在跟着的帧和每一个后续帧的开头,运行Kalman过滤器预测过程。
Kalman过滤器预测过程
对于每个存在的Kalman过滤器使用以下示出的标准Kalman过滤器预测方程预测面部的下一个位置。过滤器使用前一状态(在帧k-1)以及某些其它内部和外部变量来估计过滤器的当前状态(在帧k)。
状态预测方程:
z ^ b ( k ) = Φ ( k , k - 1 ) z ^ a ( k - 1 )
协方差预测方程:
Pb(k)=Φ(k,k-1)Pa(k-1)Φ(k,k-1)T+Q(k)
其中 表示更新帧k的过滤之前的状态, 表示更新帧k-1的过滤之后的状态(或者初始化的状态,如果是新滤波器的话),φ(k,k-1)是状态转移矩阵。如下所述,状态转移矩阵是经过实验获得的。类似地,Pb(k)表示更新帧k的过滤之前的过滤器的误差协方差,Pa(k-1)表示更新前一帧的过滤之后的过滤器的误差协方差(或者初始化的状态,如果是新滤波器的话)。Pb(k)可以被认为是过滤器中模拟其精度内部变量。
Q(k)是该状态模型的误差协方差。Q(k)的高值意味着过滤器的状态的预测值(即面部的位置)将被假定具有高电平的误差。通过调整这个参数,可以改变并且针对面部检测潜在地改进滤波器的行为。
状态转变矩阵
状态转变矩阵φ(k,k-1)确定怎样产生下一个状态的预测。使用关于运动的方程可以导出关于φ(k,k-1)的下列矩阵:
Φ ( k , k - 1 ) = I 4 I 4 Δt 1 2 I 4 ( Δt ) 2 O 4 I 4 I 4 Δt O 4 O 4 I 4
其中,O4是4×4的零矩阵,而I4是4×4的单位矩阵。Δt可以被简单地设置成1(即t的单位是帧周期)。
这种状态转移矩阵模拟位置、速度和加速度。然而,发现当没有任何面部检测可用来校正所述预测状态时,加速度的使用倾向于使得面部预测朝着图片的边缘加速。因此,最好选择不使用加速度的较简单的状态转变矩阵:
Φ ( k , k - 1 ) = I 4 I 4 Δt O 4 O 4 I 4 O 4 O 4 O 4 O 4
所预测的每一个Kalman过滤器的眼睛位置
Figure A20041010076500305
被与当前帧中的所有面部检测结果(如果有的话)比较。如果眼睛位置之间的距离低于给定的阈值,则假定所述面部检测属于与Kalman过滤器模拟的相同的面部。然后,将面部检测结果处理成面部的当前状态的观察y(k):
y ( k ) = p ( k ) 0 0
其中p(k)是面部检测结果中的眼睛的位置。这种观测在Kalman过滤器更新阶段来帮助校正所述预测期间使用。
皮肤颜色匹配
皮肤颜色匹配不用于成功地匹配面部检测结果的面部。面部颜色匹配仅仅对其位置已经由Kalman过滤器预测但在当前帧没有匹配的面部检测结果的面部执行。
在第一种技术中,从先前的帧中提取中心在面部的先前位置上的椭圆。在面部窗口610中的这种区域600的示例被示意性地示出在图24中。基于高斯模型,使用这个区域的色度数据种植色彩模型以产生Cr和Cb值的平均值和协方差的估计。
然后搜索围绕当前帧的预测面部位置的区域,并且选择最好地匹配色彩模型、再在椭圆区域上平均的位置。如果色彩匹配满足给定的相似性判据,则这个位置以在前一部分中关于面部检测结果所描述的同样方式,用作面部的当前状态的观察y(k)。
图23a和23b示意性地图解了搜索区域的产生。具体地说,图23a示意性地图解了下一图像630中的面部的预测位置620。在皮肤颜色匹配中,在环绕下一图像中的预测位置620的搜索区域640中搜索面部。
如果颜色匹配不满足相似性判据,则对当前帧没有可靠的观察数据可用。相反,预测状态
Figure A20041010076500312
被用作观察:
y ( k ) = z ^ b ( k )
上述皮肤颜色匹配方法使用简单的高斯皮肤色彩模型。这个模型被种植在中心位于前一帧的面部的椭圆区域,并用于在当前帧中找出最佳匹配椭圆区域。然而,为了提供潜在的更高的性能,开发另外两种方法:颜色直方图方法和颜色掩蔽方法。它们将在以下被描述。
颜色直方图方法
在这种方中,不使用高斯模型来模拟所跟踪的面部中的颜色分布,而是用颜色直方图。
对于前一帧中每一个所跟踪的面部,计算该面部周围的方块窗口中的Cr和Cb值的直方图。为此,对于每个像素Cr和Cb值首先被组合成单个值。然后,计算直方图,该直方图测量整个窗口中的这些值发生的频率。因为所组合的Cr和Cb值的数量较大(256×256个可能的组合),这些值在计算直方图之前被量化。
由于已经为在前一帧所跟踪的面部计算了直方图,在当前帧中使用该直方图以试图通过找出具有最相似的颜色分布的图像区域来估计面部的最可能的新位置。如图23a和23b所示意性地示出,这通过以与当前帧的搜索区域内的窗口位置的范围同样方式计算直方图来实现。该搜索区域覆盖围绕所预测的面部位置的给定区域。然后,通过计算关于先前帧中所跟踪的面部的原始直方图和当前帧中每一个直方图之间的均方误差(MSE)来比较这些直方图。当前帧中面部的估计位置由MSE最小的位置给定。
可以对这种算法作出各种修改,包括:
·使用三个通道(Y,Cr和Cb)代替两种通道(Cr,Cb)。
·改变量化级的数量。
·将窗口划分为块并为每一块计算直方图。以这种方式,颜色直方图方法变成与位置有关。在这种方法中,将每对直方图之间的MSE相加。
·改变窗口分割成的块数。
·改变实际使用的块-例如,省略可能仅仅部分地包括面部像素的外部块。
对于使用在这些技术中的经验试验中的测试数据,使用下列条件达到最好的结果,虽然其它条件集合可以用不同的测试数据提供同样良好或更好的结果:
·3通道(Y,Cr和Cb)。
·每个通道8个量化级(即直方图包括8×8×8=512个仓)。
·将窗口划分成16个块。
·使用所有16个块。
彩色掩蔽方法
该方法基于上面首先描述的方法。它使用Gaussian皮肤色彩模型来描述面部中像素的分布。
在上面首先描述的方法中,使用中心在面部的椭圆形区域来颜色匹配面部,因为这可以减低或最小化有损于该模型的背景像素的量。
在本颜色掩蔽模型中,一个类似的椭圆形区域仍然被用来在先前帧的原始跟踪的面部上种植彩色模型,例如,通过应用RGB或YCrCb的均数和协方差来设置Gaussian模型的参数(或者,可以使用诸如Gaussian模型的默认色彩模型,见以下)。然而,在当搜索当前帧中的最佳匹配时没有使用它。取而代之的是根据前一帧的原始面部窗口中的像素分布来计算掩蔽面积。通过发现最匹配该色彩模型的窗口中的50%的像素来计算该掩蔽。图25a-25c显示了一个实例。具体地说,图25a示意性地显示了测试中的初始窗口;图25b示意性地显示了用于种植该色彩模型的椭圆形窗口;图25c示意性地显示了由与色彩模型最接近匹配的像素的50%限定的掩蔽。
为了估计在当前帧中的面部的位置,搜索围绕预测面部位置的搜索区域(如前所述)并且对每一像素计算与该色彩模型的“距离”。该“距离”是指与平均数的差别,该平均数在每个维度上被该维度上的变化归一化。图26显示了所得距离图像的实例。对于该距离映像中的每个位置(或为了减少计算时间,对于减少的抽样位置集合),距离图像的像素在掩蔽形状的区域上平均。然后,具有最低平均的距离的位置被选做这一帧中面部位置的最佳估计。
因此,该方法与原始方法之不同在于:在距离图像中使用掩蔽形状的区域,而不是椭圆形区域。这允许使颜色匹配方法可使用颜色和形状两种信息。
建议两种变化并将其用于该技术的经验性试验中:
(a)使用中心在前一帧中的跟踪面部上的椭圆形区域的Cr和Cb的均数和协方差来种植Gaussian皮肤色彩模型。
(b)使用默认Gaussian皮肤色彩模型来计算在前一帧中的掩蔽和计算当前帧中的距离图像。
下面将进一步描述Gaussian皮肤色彩模型的使用。使用YCbCr色彩空间的色度成分来建立用于皮肤颜色分类的Gaussian模型。然后可以测量测试像素与皮肤颜色分类的相似性。因此,该方法独立于基于本征面部的方法,提供每一像素的皮肤颜色相似性估计。
使w作为测试像素的CbCr值的向量。通过二维-Gaussian建立属于皮肤颜色分类S的w的概率模型:
p ( w | S ) = exp [ - 1 2 ( w - μ s ) Σ s - 1 ( w - μ s ) ] 2 π | Σ s | 1 2
其中该分布的均数μs和协方差矩阵∑s是(先前)根据皮肤颜色值的训练集估计的。
当仅仅单独使用时,皮肤颜色检测并不被认为是有效的面部检测。这是由于在图像中存在许多类似于皮肤颜色但并不一定是面部的区域,例如,身体的其他部分。然而,它可通过使用关于本面部跟踪系统描述的联合方法来改善基于本征块方法的性能。存储就是否接受面部检测的眼睛位置或颜色匹配的眼睛位置作为Kalman过滤器的观测值,或是否不接收任何观测值所作出的决定。这些在以后使用以评估由每个Kalman过滤器建立的面部模型的进行中的有效性。
下面将参考图27和28描述色彩掩蔽方法的变化。
Kalman过滤器更新步骤
更新步骤用于根据状态预测和观察数据来确定用于当前帧的过滤器的适宜的输出。它也基于预测的状态和观察到的状态之间的误差来更新过滤器的内部变量。
在更新步骤中使用下列方程:
Kalman增益方程
K(k)=Pb(k)HT(k)(H(k)Pb(k)HT(k)+R(k))-1
状态更新方程
z ^ a ( k ) = z ^ b ( k ) + K ( k ) [ y ( k ) - H ( k ) z ^ b ( k ) ]
协方差更新方程
Pa(k)=Pb(k)-K(k)H(k)Pb(k)
这里,K(k)代表Kalman增益,Kalman过滤器的另一个内部变量内部。它被用来基于观察到的状态y(k)来确定预测的状态应该调整多少。
H(k)是观察矩阵。它确定状态的哪一部分可被观察。在我们的例子中,只有面部的位置可以观察,而不是其速度或加速度,所以对H(k)使用下列矩阵:
H ( k ) = I 4 O 4 O 4 O 4 O 4 O 4 O 4 O 4 O 4
R(k))是观察数据的误差协方差。以类似于Q(k)的方式,R(k))的高值意味着观察到的过滤器状态的值(即面部检测结果或颜色匹配)将被假设具有高的误差级别。通过调整该参数,可以改变并可能改善面部检测的过滤器的行为。对于我们的实验,发现相对于Q(k)较大的R(k))值是适当的(这意味着预测的面部位置被认为比观察更可信)。注意从一帧到另一帧改变这些参数是允许的。因此,将来研究的感兴趣的领域可能是根据观察是基于面部检测结果(可靠)还是颜色匹配(可靠性略差)来调整R(k))和Q(k)的相对值。
对于每个Kalman过滤器,将更新状态 用作面部位置的最终决定。该数据被输出到文件并存储。
不匹配的面部检测结果被视作新面部。对于这些中的每一个初始化Kalman过滤器。这样的面部被除去:
·离开图片的边缘和/或
·缺乏支持它们的正在进行的证据(当基于Kalman过滤器预测而不是面部检测结果或颜色匹配的观察的比例高时)
对于这些面部,除去相关的Kalman过滤器并且没有数据被输出到文件。作为该方法的可选择的差异,其中检测到面部离开图片,至其离开该图片之前的帧的跟踪结果可以被存储并作为有效面部跟踪结果处理(条件是这些结果满足应用到有效跟踪结果的其它标准)。
可以引入其它一些变量使这些规则正式化并建立起来:
预测_接受_          如果在跟踪一个给定面部期间,接受的
比例_阈值       Kalman预测面部位置的比例超过该阈值,则丢弃
                所跟踪的面部。
                    当前这被设置为0.8
检测_接受_          在最终通过所有帧期间,如果对于给定的面
比例_阈值       部,接受的面部检测的比例落在该阈值以下,则
                拒绝跟踪的面部。
                    当前这被设置为0.08
最少帧              在最终通过所有帧期间,如果面部的出现数
                少于最少帧,则拒绝该面部。这仅可能发生在接
                近序列的结束时。
                    最小帧当前被设置为5。
最终_预测_      在最终通过所有帧期间,如果给定的跟踪面
接受_比例_      部的出现数小于最少帧2,并且接受的Kalman预
阈值和最少      测的面部位置的比例超过最终_预测_接受_比例_
帧2             阈值,则该面部被拒绝。同样,这仅仅可能发生
                在序列的结束时。
                    最终_预测_接受_比例_门限当前设置为
                0.5,且最少帧2当前设置为10。
最小眼间距          另外,如果面部被跟踪到眼睛间距下降到给
                定的最小距离以下,则该面部被除去。这可发生
                在如果Kalman过滤器错误地相信眼睛距离变
                小,并且没有其他证据,例如面部检测结果来校
                正这一假设的情况下。如果没有校正,眼睛距离
                最终将变成零。作为选择性的可替换方案,可以
                强制规定眼睛间隔的最小或下限,从而当检测到
                眼镜的间隔减少到最小眼睛间隔时,检测处理继
                续以搜索具有该眼睛间隔而不是更小的眼睛间隔
                的面部。
应当注意的是,跟踪处理不限于通过视频序列以向前时间方向跟踪。假定图像数据保持为可存取的(即该处理不是实时的,或图像数据被缓冲用于临时继续使用),整个跟踪处理可以以反时间方向执行。或者,当执行第一面部检测时(通常在视频序列的中途),跟踪处理可以在两个时间方向上启动。作为进一步的选择,跟踪处理可以通过视频序列在两个时间方向进行,组合结果,从而(例如)使满足接受标准的被跟踪的面部作为有效结果被包括,而不管跟踪发生在哪个方向。
下面将描述可应用于面部跟踪的进一步的一些规则。
开始/维护面部跟踪的备选的/另外的规则
在上述方法中,对每一个不能与现有跟踪匹配的面部检测启动面部跟踪。这可能导致在最终被现有规则之一(例如预测_接受_比例_阈值)拒绝之前,许多误检测被错误地跟踪并持续好几桢。
同样,用于拒绝跟踪的规则(例如预测_接受_比例_阈值,检测_接受_比例_阈值)对跟踪将他们的头偏向一侧相当长时间的人不重视。实际上,跟踪这样做的人常常是有用的。
该方案的第一部分有助于避免由于开始错误跟踪导致的误检测。
对与现有跟踪不匹配的每个面部检测仍然从内部开始面部跟踪。然而,它不从算法输出。
为了维持这个跟踪,在跟踪中的第一f帧必须是面部检测(即D型)。如果所有第一f帧都是D型,则保持跟踪并且面部位置从帧f向前从该算法中输出。如果所有的第一n帧都不是D型,则终止面部跟踪,并且从该跟踪中没有输出任何面部位置。F典型地被设置为2,3或5。
该方案的第二部分允许轮廓中的面部被长期跟踪,而不因为低的检测_接受_比例,预测_接受_比例_阈值和检测_接受_比例_阈值在这种情况中没有开始而终止对它们的跟踪。相反,包括下列标准的选择用以维持面部跟踪:
每n个帧需要g个连续的面部检测以维持面部跟踪,其中g通常被设置为与f相似的值,例如,1-5帧,且n相应于我们希望能够跟踪某位离开照相机(例如10秒(=250或300帧,依赖于帧频))的人所用的帧的最大数目。这也可以与预测_接受_比例_阈值和检测_接受_比例_阈值规则相结合。或者,可以将预测_接受_比例_阈值和检测_接受_比例_阈值应用于循环制(rolling basis),例如仅在最后的30帧上,而不是从跟踪开始起。
色泽不正阈值规则
在上述方法中,面部的皮肤颜色仅仅在皮肤颜色跟踪期间才被检查。这意味使用预测面部位置,可能跟踪到非皮肤色的错误检测,或者面部跟踪可能偏离到非皮肤色的位置。
为了解决这一问题,不论面部的接受类型如何(检测、皮肤颜色或Kalman预测),皮肤颜色都要被检查。如果它与皮肤颜色的距离超过色泽不正阈值,则终止面部跟踪。
执行这种方案的一个有效方法是使用在皮肤颜色跟踪期间计算的与每个像素的皮肤颜色的距离。如果该测量在面部区域(根据所使用的皮肤颜色跟踪方法,在掩蔽形状区域、椭圆形区域或在整个面部窗口)的平均值超过固定的阈值,则面部跟踪终止。
感兴趣的映像的区域的验证
在这里描述的其它方法中,使用感兴趣的预处理器的区域以查明该图像的那些区域具有不像面部的变化。在每一尺度重复这一过程,然后这些区域被从面部检测处理中省略。然而,还有一个可能是将皮肤颜色跟踪的或Kalman预测的面部移动进入(非面部样)低或高图像变化区域。
为处理该问题,在变化预处理期间,存储围绕现有面部的区域的变化值(或梯度值)。
当作出(以任何接受类型:面部检测、皮肤颜色或Kalman预测)面部的下一个位置的最终决定时,相对于感兴趣的映像的区域中的存储变化(或梯度)值验证该位置。如果发现该位置有非常高或非常低的变化(或梯度),则其被认为不像面部,并且面部跟踪终止。这避免了面部跟踪进入图像的低(或高)变化背景区域。或者,再重新计算新的面部位置的变化(如果没有使用变化-预-处理则有用)。
注意,所用的变化测量可以是传统变化或邻近像素的差的和(梯度)或任何其它变化型测量的总和。
示意性地显示在图22中的跟踪系统中,还包括另外三个特征。
镜头边界数据560(来自与测试中的图像序列相关的元数据;或图2的照相机内产生的元数据)限定该图像序列内的每个邻接“镜头”的界限。在拍摄边界重新设置Kalman过滤器,并且不允许其对后继的镜头进行预测,因为该预测可能是无意义的。
用户元数据542和照相机设置元数据544被作为输入提供给面部检测器540。这些也可以用于非跟踪系统。上面描述了照相机设置元数据的实例。用户元数据可以包括诸如以下信息:
·程序类型(例如新闻、访谈、戏剧);
·脚本信息,如“长镜头”、“中近景镜头”等的说明书(产生预期的面部大小的子范围的照相机镜头的特殊类型),每一镜头中包括了多少人(也产生预期的面部大小的子范围)等等。
·运动相关的信息-经常使用标准视野和镜头从固定的照相机位置拍摄运动。通过在元数据中规定这些,也可以产生面部大小的子范围。
程序的类型与在图像或图像序列中期望的面部的类型相关。例如,在新闻程序中,人们希望在许多图像序列中看到单一面部,占据屏幕的10%面积(比如说)。不同尺度的面部的检测可以响应该数据加权,从而使大约具有该尺寸的面部被给出增强的概率。另一个可供选择哦或另外的方法是减小搜索范围,从而仅仅在尺度的子集内搜索,而不是在所有可能的尺度内搜索面部。这可以减少面部检测处理的处理需求。在基于软件的系统中,软件可运行得很快和/或在功能稍差的处理器上运行。在基于硬件的系统(包括例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)系统)中,对硬件的要求可降低。
上面提到的用户元数据的其它类型也可以这种方式应用。例如,“预期面部尺寸”的子范围也可以查找表的方式储存在存储器30中。
关于照相机元数据,例如,透镜110的当前聚焦和缩放设置,这些可以通过给出可能存在于图像的前景的任何面部的预期图像大小的初始指示来辅助面部检测器。在这一方面,注意到它们之间的聚焦和缩放设置限定摄录机100和被拍摄的人之间的预期间隔,以及透镜110的放大倍数。从这两种属性,根据平均面部大小,有可能在所得图像数据中计算预期面部尺寸(以像素表示),这也可以产生用于搜索的尺寸的子范围和预期面部尺寸的加权。
跟踪算法的优点
面部跟踪技术主要有以下三种优势:
·通过在其中没有可用的面部检测结果的帧中使用Kalman过滤器和皮肤颜色跟踪,允许使丢失的面部被填入。这增加了在整个图像序列中的真实接受率。
·它提供了面部链接:通过成功地跟踪面部,该算法自动地知道未来帧中检测到的面部属于同一人还是不同人。因此,场景元数据可以很容易地从该算法中产生,其包括该场景中的面部数、它们出现的帧,并提供每一面部的代表性面部照片。
·误面部检测倾向于被拒绝,因为这种检测倾向于不在图像间向前进行。
上面所述的实施方案涉及面部检测系统(包括训练和检测阶段)及其在摄录机和编辑系统中的可能应用。可以理解是这种技术还有许多其它可能的用途,例如(并不限于)安全监视系统、普通处理媒体(诸如视频磁带记录器控制器)、视频会议系统等。
关于颜色掩蔽技术的变化
这些变化可以独立地应用或者在技术适当的情况下组合应用。
变化1:默认高斯皮肤颜色模型被用于计算该图像中的每个像素的颜色距离值(以给出颜色距离映像)。当检测到面部时,在掩蔽形区域上计算其与默认模型的平均距离。当证实未来颜色跟踪面部(或检测的面部或Kalman预测的面部)时,如果与默认颜色模型的距离在给定的容限之外变化,则终止面部跟踪。这意味着(a)相同的颜色距离值可以用于所有面部跟踪(不需要针对每个面部的不同模型,因为我们使用默认颜色模型而不是种植在面部颜色上),以及(b)如果跟踪偏离面部到不同的有色背景时,则面部跟踪终止而不是继续。
变化2:替代缺省颜色模型,对每一个面部使用不同的颜色模型,当其第一次被检测到时种植到那个面部的颜色上。然后,当计算出颜色距离映像时,根据前一帧的每个面部的位置,在图像的不同区域中使用不同的颜色模型参数。所述颜色距离值可以被作为在两个面部之间的区域上的加权和被混合在一起。这允许颜色跟踪对每个面部的实际颜色上被模拟得更精确,而不需要针对该图像中的每个像素位置计算多于一个的颜色距离值。
变化3:代替缺省颜色模型或每一个面部的不同颜色模型,将通用颜色模型种植在前一帧中的所有检测到的面部的平均颜色上。
变化4:当使用头部尺寸的平方的窗口搜索颜色距离映像以找出离皮肤颜色的最小平均距离时,掩蔽内的区域有正贡献,而掩蔽外的区域有负贡献。这意味着平的、皮肤颜色的区域与皮肤颜色的净距离因该为零。也意味着掩蔽法的形状匹配属性被加强。在上述方法中,只有面部掩蔽内部的区域被使用。
变化5:首先将颜色距离映像量化成两级,以使得每一个像素或者为皮肤颜色(1)或者为非皮肤颜色(-1)。这防止颜色距离值的幅度对于与皮肤颜色计算的距离有不适当的影响,即当与上述4个变化结合的时候,该掩蔽外部的很多非皮肤颜色像素不会有不适当的影响。
变化6:皮肤颜色掩蔽被更逐渐地更新。新的掩蔽被计算为前一帧的掩蔽的90%,当前帧的掩蔽仅仅有10%的加权。这有助于避免由临时部分阻塞现象所引起的问题,例如,手暂时通过面部前方。也有助于避免人非常慢地移动的问题。
前面描述的皮肤颜色跟踪技术通过将前一帧中的面部的颜色距离掩蔽与当前帧的颜色距离映像匹配来工作。这种方法有三个方面,至少某些变化目标在于改善:
(i)在部分阻塞的情况下(例如面部前方的手),跟踪手而不是面部是可能的。
(ii)因为在粗栅格(根据面部尺寸)上跟踪面部,颜色距离映像慢慢地‘滑出’面部是可能的,如果面部移动很慢的话。
(iii)由于只考虑皮肤颜色相近的区域,因此,在平滑皮肤颜色区域上发现良好匹配是可能的。
变化6(在其中面部的颜色距离掩蔽仅仅很慢地更新的)处理方面(i)和(ii)。以及获得在面部掩蔽内的皮肤颜色区域的良好匹配,非面部颜色区域也在变化5中考虑,它处理(iii)。
更详细地说,对于每个面部,从前一帧的该面部的位置处的该帧的颜色距离映像计算二进制掩蔽。
如果掩蔽的每一个元素小于整个掩蔽的平均颜色距离值,则其为1(即它是皮肤色的),否则为0(非皮肤色)。
在搜索窗口上使用该二进制掩蔽进行搜索。在搜索窗口内的每一点处通过将掩蔽为‘1’处的所有颜色距离值取和,并减去掩蔽为‘0’处的所有颜色距离值来计算一个值。最好的匹配是这样的位置,在该位置掩蔽给出最小取和的颜色距离值。
对该图像中的每一个面部,参见图28,当前颜色距离映像(对帧n)通过将旧面部位置1500处的旧颜色距离映像的90%与新面部位置1510处的新颜色距离值的10%取和来更新。
这具有缓慢改变每一个面部的颜色距离掩蔽的效果。因此,如果面部是部分地被阻塞,则阻塞物仅仅轻微地改变颜色距离映像,因此,匹配过程仍然可能匹配原始面部,而不是阻塞物。
这种方法的额外效果是即使仅仅在粗栅格上执行搜索,也可以成功地跟踪缓慢移动的面部。其原因是明显的,如果考虑一下情况的话:
假设利用前面的方法在4×4栅格(即搜索不能比4个像素更精确)上进行搜索。如果面部移动1个像素,则搜索算法将在同一(前一)位置上找到面部。由于面部距离映像完全由新的一个替换,所以如果面部继续以1像素/帧移动,则在4帧之后,面部将仍然在原始位置上找到,即使它应该具有新的移动的4个像素-换句话说,该掩蔽已经从面部“滑出”。
如果使用变化6的方法,其中颜色距离掩蔽缓慢更新,则在4帧后该搜索算法将仍然是使用具有4帧之前的面部的某些记忆的颜色距离映像。这意味着该搜索算法可以推导出面部已经真正的移动了4个像素。
性能方面的进一步的改善可以通过当搜索具有二进制掩蔽的映像(如变化5)时将该颜色距离映像量化成两级来获得。该映像中的每个像素被设置成-1,如果它是在该掩蔽的平均颜色距离之下的话;并且在该映像中的每一个像素被设置成+1,如果它是在该掩蔽的平均颜色距离值之上的话(“该掩蔽的平均颜色距离”指的是在其量化成‘1’和‘0’以形成掩蔽之前的面部窗口的平均颜色距离)。
然后,如前所述,通过将掩蔽为‘1’处的所有颜色距离值相加并减去为掩蔽为‘0’处的所有颜色距离值,在搜索窗口内的每一点计算一个值。
总之,这意味着面部窗口内的每个像素位置根据掩蔽值和图像颜色距离值具有下列贡献:
颜色距离映像值<=掩蔽平均颜色距离[皮肤色] 颜色距离映像值>掩蔽平均颜色距离[非皮肤色]
在面部窗口中的像素位于掩蔽之内(即掩蔽=1)[皮肤色] -1 +1
在面部窗口中的像素位于掩蔽之外(即掩蔽=0)[非皮肤色] +1 -1
在搜索窗口中的每一个位置上,对于面部大小的窗口计算和相加这些值。如前,将最佳匹配取作获得最小值的像素的位置(即掩蔽与图像匹配最佳的地方)。
这种方法防止颜色距离值的幅度对与皮肤颜色距离值的计算有不适当影响,以使得该掩蔽外部的许多非皮肤色像素没有不适当的影响。
面部跟踪和抽取
在使用抽取的系统中,特别是上述的临时抽取系统中,对于某些帧可以是这样一种情况:在处理该帧的结尾没有确定的面部检测结果可用。在这种情况下,可以对时间抽取意味着没有面部检测可用的帧使用皮肤颜色跟踪。与连续的面部检测所需要的数量有关的规则等将适当地放宽。如果空间抽取意味着结果关于仅仅一部分图像可用,则面部跟踪可以在获得完整的新结果的任何时候或者在每一图像中执行,根据在那时候关于整个图像可用的最佳信息。
梯度预处理
图29a-29c示意性地图解了一种梯度预处理技术。
已经注意到示出像素变化小的图像窗口可以倾向于被面部检测装置基于本征面部或本征块检测为面部。因此,提出预处理步骤来从面部检测过程中去除像素变化小的区域。在多尺度系统的情况下(如上所述),可以在每一种尺度上执行预处理步骤。
基本处理是将“梯度测试”应用于跨越整个图像的每个可能的窗口位置。根据应用到那个窗口的测试的结果,标记或标注每个窗口位置的预定像素位置,诸如在或最接近于那个窗口位置的中心的象素。如果该测试示出窗口具有小像素变化,则那个窗口位置就不在该面部检测过程中使用。
第一步是被图解在图29a中。这示出了图像中的任意窗口位置上的窗口。如上所述,在每个可能的窗口位置上,重复该预处理。参考图29a,虽然梯度预处理可以被应用于整个窗口,但已经发现,如果预处理被应用于测试窗口1010的中心区域1000,则会获得更好的结果。
参考图29b,从该窗口(或从在图29a中所示的窗口的中心区域)得出基于梯度的测量,那是在该窗口的水平或垂直方向中的所有相邻像素1011之间的绝对差的均值。每个窗口中心位置使用这个基于梯度的测量标记以产生图像的梯度“映像”。然后将产生的梯度映像与阈值梯度值比较。对于那些基于梯度的测量位于该阈值梯度值之下的任何窗口位置被从关于那个图像的面部检测过程中排除。
可以使用替换的基于梯度的测量,诸如,像素变化或与平均像素值的平均绝对像素差。
最好关于像素亮度值执行基于梯度的测量,但当然可以应用于彩色图像的其它图像成份。
图29c示意性地说明了从一个示例图像中导出的梯度映像。在此,从面部检测装置排除了较低梯度区域1070(被显示成阴影),并且仅仅使用较高梯度区域1080。上述实施例已经涉及了面部检测系统(包括训练和检测阶段),及其在摄录机和编辑系统中的可能应用。应该理解,这种技术可能有很多其它的应用,例如(但不限于)安全监视系统、通用媒体处理(诸如视频磁带记录器控制器)、视频会议系统、IP摄像机、数字相机等。
在其他实施例中,具有高像素差的窗口位置也可以被标记或标注,并且也从面部检测过程中排除。“高”像素差别意味着上述关于图29b的测量超过上限阈值。
因此,按照上述方式产生梯度映像。梯度测量低于上述(第一)阈值梯度值的任何位置被排除在面部检测处理之外,就像是梯度测量高于该上限阈值的任何位置。
上面提到优选将“低阈值”处理应用到测试窗口1010的中心部分1000。同样的处理也可以应用到“上限阈值”处理。这将意味着仅需要关于每个窗口位置导出单个梯度测量。或者,如果关于低阈值测试使用整个窗口,则关于上限阈值测试也可以类似地使用整个窗口。还有,对于每个窗口位置仅需要导出单个梯度测量。然而,当然可能使用两种不同的配置,以便(例如)测试窗口1010的中心部分1000被用来产生用于低阈值测试的梯度测量,但关于上限阈值测试则使用整个测试窗口。
前面提到的用于拒绝面部跟踪的另一个判据是它的变化或梯度非常低或非常高。
在该技术中,所跟踪到的面部位置被感兴趣的映像的区域的变化验证。每个面部只有在检测尺度上的映射的面部大小的区域被存储,以用于下一个重复跟踪。
尽管上面描述了梯度预处理,但皮肤颜色跟踪或Kalman预测的面部仍然有可能移进图像的(非面部)低或高变化区域。从而在梯度预处理期间,存储围绕现有面部痕迹的区域的变化值(或梯度值)。
当作出(用任何可接受类型:面部检测、皮肤颜色或Kalman预测)关于面部的下一个位置的最终决定时,该位置根据感兴趣的映像的区域内存储的变化值(或梯度)被验证。如果发现该位置具有非常高或非常低的变化(或梯度),则被认为是非面部并且停止面部跟踪。这防止了面部跟踪进入图像的低(或高)变化背景区域。
或者,即使不使用梯度预处理,也可以重新计算新面部位置的变化。在任一情况下所用变化测量可以是传统变化或相邻像素的差别(梯度)的和或任何其它变化类型测量。
组合变化预处理和变化检测
如上所述,用变化检测技术,将一个或多个矩形边界框放置在检测到运动的区域周围(或至少,以排除没有检测到运动的区域)。然后重新调节这些框到所有要在该尺度上进行面部检测的尺度。
感兴趣的区域的决定(也就是说决定那个区域将经历面部检测)是根据自变化预处理和变化检测处理的输出而做出的。
只有图像的以下区域需要在面部检测算法中被处理:
(i)在变化预处理期间已经被选作候选面部区域的,和
(ii)在变化检测期间已经被标注为检测到运动的区域
因此,感兴趣的区域的决定将来自变化预处理和变化检测模块的感兴趣的区域逻辑结合,以产生最终兴趣区域。这些被一个或多个矩形边界框在每个尺度或(没有边界框限制)多尺度“兴趣区域”映像束缚,每个象素位置被标记为感兴趣的区域或非感兴趣的区域。
对面部检测算法还有用的是知道哪一个区域没有相应于“缺乏检测到的改变”被处理,以便产生自前面的帧的面部检测结果可以对这些区域重复。因此,该信息也被传送到面部检测中。
可以理解,上述本发明的实施方案当然可以至少是一部分,使用软件控制的数据处理设备来实施。例如,以上示意性显示或描述的一个或多个部件可作为软件控制的通用数据处理装置或定制程序控制数据处理装置,诸如专用集成电路、现场可编程门阵列等实现。应当理解的是,提供这种软件或程序控制的计算机程序和存储、传输或提供这样的计算机程序的其它提供媒介被设想为本发明的一个方面。
所列举的参考文献和附录如下。为了避免疑问,需要指出的是所列参考文献和附录形成本发明的一部分。
参考文献
1.H.Schneiderman and T.Kanade,″A statistical model for 3D object detection applied tofaces and cars,″IEEE Conference on Computer Vision and Pattern Detection,2000.
2.H.Schneiderman and T.Kanade,″Probabilistic modelling of local appearance and spatialrelationships for object detection,″IEEE Conference on Computer Vision and PatternDetection,1998.
3.H.Schneiderman,″A statistical approach to 3D object detection applied to faces andcars,″PhD thesis,Robotics Institute,Carnegie Mellon University,2000.
4.E.Hjelmas and B.K.Low,″Face Detection:A Survey,″Computer Vision and ImageUnderstanding,no.83,pp.236-274,2001.
5.M.-H.Yang,D.Kriegman and N.Ahuja,″Detecting Faces in Images:A Survey,″IEEETrans.on Pattern Analysis and Machine Intelligence,vol.24,no.1,pp.34-58,Jan 2002.
附录A:训练面部集
一个数据库由很多个站在室内背景前方的对象的图像组成。另一个上述技术的实验实施中所用的训练数据库由多于一万个具有从前到左和右轮廓观察的人头部的8位灰度级图像构成。本领域技术人员自然会理解,可以使用各种不同的训练集,可选地被描绘成反映当地人群的面部特征。
附录B-本征块
在针对面部检测和识别(参考文献4和5)的本征方法中,记录每m×n个面部图像,以便它可以用长度为mn的向量表示。每个图像可以被认作在mn维空间的点。图像集到这个大空间中的点的集合。
在整个结构上类似的面部图像没有被随机分配在这个mn维图像空间中,因此它们可以由相对低维子空间描述。使用主成分分析(PCA),可以发现在整个图像空间代表面部图像的分布最好的向量。PCA包括确定相应于原始面部图像的协方差矩阵的主要本征向量。这些向量限定面部图像的子空间,经常被称作面部空间。每个向量代表m×n图像,并且是原始图像的线性组合。由于这些向量是与原始面部图像对应的协方差矩阵的本征向量,以及由于它们的外观像面部样,因此它们经常被称为本征面部[4]。
当出现未知的图像时,它被投影到面部空间。以这种方式,它按照本征面部的加权和表达。
在本实施方案中,使用了一个密切相关的方法,以产生并应用与面部图像的块相关的所谓“本征块”或本征向量。一个块的栅格被应用到图像面部(在训练集中)或测试窗口(在检测期间)以及基于本征向量的处理,非常类似于本征面部处理,被应用到每个块位置。(或者在另一个实施方案中,为了节省数据处理,该处理被应用到块位置组一次,产生一个用在任何块位置的本征块集)。本领域技术人员会理解,某些块(诸如常常代表图像的鼻部特征的中心块)在决定是否出现面部时意义更重大。
计算本征块
本征块的计算包括以下步骤:
(1)使用NT个图像的训练集。这些被分成每个大小为m×n的图像块。于是,对于每个块位置,获得图像块集(一个来自每个图像的该位置):{I0 t}t=1 NT
(2)如下计算块{I0 t}t=1 NT的标准化训练集:
每个图像块I0 t,从原始训练集被标准化以具有零的平均数和1的L2-norm,来产生各自的标准化图像块It
对于每个图像块I0 t,t=1...NT
I t = I 0 t - mean _ I 0 t | | I 0 t - mean _ I 0 t | |
其中 mean _ I 0 t = 1 mn Σ i = 1 m Σ j = 1 n I 0 t [ i , j ] ,
并且
| | I 0 t - mean _ I 0 t | | = Σ i = 1 m Σ j = 1 n ( I 0 t [ i , j ] - mean _ I 0 t ) 2
(即(I0 t-mean_I0 t)的L2-norm)
(3)通过每个图像块It的像素元素的字典式的重新排序形成向量{xt}t=1 NT训练集。即,每个m×n图像块It被重新排序成向量xt,长度N=mn。
(4)计算偏离向量集, D = { x t } t = 1 N T . D具有N行和NT列。
(5)计算协方差矩阵∑:
∑=DDT
∑是尺寸为N×N的对称矩阵。
(7)通过求解Λ=PT∑P,得到协方差矩阵的本征向量P、本征值λ1,i=1,...N的全集∑
这里,Λ是N×N对角线矩阵,具有本征值λ1,沿其对角线(按大小排序),P是包含N本征向量(每个长度为N)的集合,的N×N矩阵。这个分解也被称为Karhunen-Loeve变换(KLT)。
本征向量可以被认为是共同表达面部图像的块之间的变化的特征的特征集。它们形成可以代表任何图像块的正交基,即,原则上讲,通过本征向量的加权和可以表示任何图像而不会出差错。
如果图像空间的数据点的数目(训练图像)少于空间的维数(NT<N),则只有NT个有意义的本征向量。其余本征向量将与为0的本征值有关。因此,由于通常NT<N,所以,i>NT的所有本征值都将是0。
另外,由于训练集中的图像块在整体结构上类似(它们都得自面部),只有一些剩余的本征向量将表现非常强的在这些图像块中的差异。这里有具有最大相关的本征值的本征向量。具有较小的相关本征值的其他剩余本征向量不表现这种大的差异,因此它们在面部之间的检测或区别时没有用。
因此,在PCA中,只考虑具有最大本征值的M主本征向量,其中M<NT,即,执行部分KLT。简而言之,PCA提取对应于最大本征值的KLT基的较低维子空间。
由于主成分描述面部图像之间最强的变化,在外观上可能是面部块的相似部分,在这里被称为本征块。然而,术语本征向量可以被同等使用。
使用本征块的面部检测
通过确定一个未知图像能被图像空间表示得有多好,可以测量该图像与面部的相似性,或它的faceness。使用与训练过程中所用的相同的块栅格,可以一块一块地实施该处理。
该过程的第一阶段包括将该图像投影到面部空间。
投影图像到面部空间
在讲图像投影到面部空间之前,几乎如在训练集中执行的一样,在图像上执行很多相同的预处理步骤:
(1)获得尺寸为m×n的测试图像块:I0
(2)使原始测试图像块I0标准化,以具有零平均数和1的L2-norm,来产生标准化的测试图像块I:
I = I 0 - mean _ I 0 | | I 0 - mean _ I 0 | |
其中 mean _ I 0 = 1 mn Σ i = 1 m Σ j = 1 n I 0 [ i , j ]
并且
| | I 0 - mean _ I 0 | | = Σ i = 1 m Σ j = 1 n ( I 0 [ i , j ] - mean _ I 0 ) 2
(即(I0-mean_I0)的L2-norm)
(3)通过图像的像素元素的字典式的重新排序计算偏离向量。图像被重新排序成向量xt,长度N=mn。
在这些预处理步骤后,使用下列简单步骤将偏离向量x投影到面部空间:
(4)投影到面部空间包括将偏离向量x转化成它的本征块成分。这包括简单地相乘M个主本征向量(本征块),Pi,i=1,...M,如下获得每个权yi
y i = P i T x
其中Pi是第i个本征向量。
权yi,i=1,...M描述了代表输入面部块的每个本征块的贡献。
外观相似的块将具有相似的权集,而外观不同的块将具有不同的权集。因此,这里将权用作在面部检测期间分类面部块的特征向量。
尽管这里已经描述了特殊的实施方案,但应当理解的是本发明并不限于这些,可以在本发明范围内的进行很多修改和添加。例如,不背离本发明精神的条件下,下列从属权利要求的特征与独立权利要求的特征的各种组合是可以的。

Claims (19)

1.一种用于在测试图像中检测目标的目标检测设备,所述设备包括:
比较器,用于将所述图像的测试窗口的块与指示目标出现的参考数据比较以便产生指示区域和所述参考数据之间的相似程度的索引数字;
存储器,用于存储对应于所述索引数字和所述块位置的可能值的概率数据;
逻辑,可用于针对当前块、依赖于该块在所述测试窗口内的位置和关于该块所产生的所述索引数字从所述存储器存取概率值;以及
组合器,用于组合对应于测试窗口中的块的所述概率值,以便产生指示测试窗口包含目标的概率的结果,
其中,所述存储器中的所述概率值按照先块位置然后索引数字的次序排序。
2.根据权利要求1的设备,其中,所述存取逻辑可操作来存取关于当前块的位置和索引数字的两个或更多个概率值,所述两个和更多个概率值涉及不同的目标方向。
3.根据权利要求2的设备,其中,所述组合器可操作来组合涉及各个目标方向的概率值,以产生关于每个目标方向的相应结果。
4.根据权利要求2的设备,其中,在所述存储器中的所述概率值按照先对目标方向、然后块位置、再然后索引数字的次序排序。
5.根据权利要求2的设备,其中,所述目标方向包括至少一个正面方向和目标对着一侧。
6.根据权利要求5的设备,其中,所述目标方向包括至少一个正面方向、目标对着一侧和目标对着另一侧。
7.根据权利要求5的设备,其中涉及到所述正面方向的概率值在所述存储器中被存储到比涉及其它目标方向的概率值更高的分辨率。
8.根据权利要求7的设备,其中涉及到所述正面方向的概率值在所述存储器中被以涉及其它目标方向的概率值的两倍的分辨率存储。
9.根据权利要求1的设备,其中所述比较器可操作来将所述块投影到一个或多个图像本征向量上。
10.根据权利要求1的设备,其中所述存取逻辑包括超高速缓存,用于超高速缓存最近存取过的概率值和存储次序接近那些最近存取过的概率值的概率值。
11.根据权利要求1的设备,其中所述目标是面部。
12.视频会议设备,包括根据权利要求1的设备。
13.监视设备,包括根据权利要求1的设备。
14.摄像装置,根据权利要求1的设备。
15.一种用于在测试图像中检测目标的方法,所述方法包括步骤:
将所述图像的测试窗口的块与指示目标出现的参考数据比较以便产生指示区域和所述参考数据之间的相似程度的索引数字;
存储对应于所述索引数字和所述块位置的可能值的概率数据;
依赖于当前块在所述测试窗口内的位置和关于该块所产生的索引数字从所存储的概率数据中存取一概率值;以及
组合对应于测试窗口中的块的所述概率值,以便产生指示测试窗口包含目标的概率的结果,
其中,所述存储的概率值按照先块位置然后索引数字的次序排序。
16.一种计算机软件,具有用于执行根据权利要求15的方法的程序代码。
17.一种提供介质,用于提供根据权利要求16的程序代码。
18.根据权利要求17的介质,所述介质是存储介质。
19.根据权利要求17的介质,所述介质是传输介质。
CNB2004101007659A 2003-12-11 2004-12-13 目标检测 Expired - Fee Related CN100538722C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0328736.4 2003-12-11
GB0328736A GB2409028A (en) 2003-12-11 2003-12-11 Face detection

Publications (2)

Publication Number Publication Date
CN1627315A true CN1627315A (zh) 2005-06-15
CN100538722C CN100538722C (zh) 2009-09-09

Family

ID=30130047

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004101007659A Expired - Fee Related CN100538722C (zh) 2003-12-11 2004-12-13 目标检测

Country Status (6)

Country Link
US (1) US7489803B2 (zh)
EP (1) EP1542155B1 (zh)
JP (1) JP2005190477A (zh)
CN (1) CN100538722C (zh)
DE (1) DE602004002180T2 (zh)
GB (1) GB2409028A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845383A (zh) * 2017-01-16 2017-06-13 腾讯科技(上海)有限公司 人头检测方法和装置
CN108122001A (zh) * 2017-12-13 2018-06-05 北京小米移动软件有限公司 图像识别方法及装置

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10250197A1 (de) * 2002-10-28 2004-05-13 Siemens Ag Bildsystem zur Verarbeitung von Bilddaten
GB2395852B (en) * 2002-11-29 2006-04-19 Sony Uk Ltd Media handling system
DE602004005428T2 (de) * 2003-02-18 2007-11-29 Philips Intellectual Property & Standards Gmbh Bildsegmentierung durch Zuweisen von Klassen zu adaptiven Mesh-Primitiven
JP2005151282A (ja) * 2003-11-18 2005-06-09 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびプログラム
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US20060164682A1 (en) * 2005-01-25 2006-07-27 Dspv, Ltd. System and method of improving the legibility and applicability of document pictures using form based image enhancement
WO2007052100A2 (en) * 2005-02-15 2007-05-10 Dspv, Ltd. System and method of user interface and data entry from a video call
US20060222243A1 (en) * 2005-04-02 2006-10-05 Newell Martin E Extraction and scaled display of objects in an image
JP4624889B2 (ja) * 2005-08-30 2011-02-02 富士フイルム株式会社 顔検出方法および装置並びにプログラム
GB2430735A (en) * 2005-09-30 2007-04-04 Sony Uk Ltd Object detection
US8019170B2 (en) * 2005-10-05 2011-09-13 Qualcomm, Incorporated Video frame motion-based automatic region-of-interest detection
US8208758B2 (en) 2005-10-05 2012-06-26 Qualcomm Incorporated Video sensor-based automatic region-of-interest detection
GB2431797B (en) 2005-10-31 2011-02-23 Sony Uk Ltd Image processing
US10614294B1 (en) * 2006-06-16 2020-04-07 Videomining Corporation Method and system for measuring viewership of people for displayed object
EP1879149B1 (en) * 2006-07-10 2016-03-16 Fondazione Bruno Kessler method and apparatus for tracking a number of objects or object parts in image sequences
US20090262139A1 (en) * 2006-08-02 2009-10-22 Panasonic Corporation Video image display device and video image display method
US20080107341A1 (en) * 2006-11-02 2008-05-08 Juwei Lu Method And Apparatus For Detecting Faces In Digital Images
JP2009089174A (ja) * 2007-10-01 2009-04-23 Fujifilm Corp デジタルカメラおよびその撮影方法
WO2009079644A2 (en) * 2007-12-18 2009-06-25 Brijot Imaging Systems, Inc. Software methodology for autonomous concealed object detection and threat assessment
JP5360052B2 (ja) * 2008-04-09 2013-12-04 日本電気株式会社 物体検出装置
KR100889026B1 (ko) 2008-07-22 2009-03-17 김정태 이미지를 이용한 검색 시스템
US8134597B2 (en) * 2008-12-05 2012-03-13 Sony Ericsson Mobile Communications Ab Camera system with touch focus and method
JP5573209B2 (ja) * 2010-02-04 2014-08-20 ソニー株式会社 画像処理装置、画像処理方法、プログラム、及び電子機器
US8315443B2 (en) * 2010-04-22 2012-11-20 Qualcomm Incorporated Viewpoint detector based on skin color area and face area
CN101980285B (zh) * 2010-11-09 2013-04-17 西安电子科技大学 结合gmrf先验的非局部图像修复方法
US8903167B2 (en) 2011-05-12 2014-12-02 Microsoft Corporation Synthesizing training samples for object recognition
JP5401695B2 (ja) * 2011-05-23 2014-01-29 株式会社モルフォ 画像識別装置、画像識別方法、画像識別プログラム及び記録媒体
JP5668932B2 (ja) * 2011-05-23 2015-02-12 株式会社モルフォ 画像識別装置、画像識別方法、画像識別プログラム及び記録媒体
JP5726646B2 (ja) * 2011-06-10 2015-06-03 株式会社東芝 画像処理装置、方法、及びプログラム
US8929598B2 (en) * 2011-06-29 2015-01-06 Olympus Imaging Corp. Tracking apparatus, tracking method, and storage medium to store tracking program
JP5919665B2 (ja) * 2011-07-19 2016-05-18 日本電気株式会社 情報処理装置、物体追跡方法および情報処理プログラム
FR2989198A1 (fr) * 2012-04-06 2013-10-11 St Microelectronics Grenoble 2 Procede et dispositif de detection d'un objet dans une image
EP2669845A3 (en) * 2012-06-01 2014-11-19 Ricoh Company, Ltd. Target recognition system, target recognition method executed by the target recognition system, target recognition program executed on the target recognition system, and recording medium storing the target recognition program
JP6125201B2 (ja) * 2012-11-05 2017-05-10 株式会社東芝 画像処理装置、方法、及びプログラム、並びに、画像表示装置
JP6161266B2 (ja) * 2012-11-27 2017-07-12 キヤノン株式会社 情報処理装置及びその制御方法及び電子デバイス及びプログラム及び記憶媒体
US9449216B1 (en) * 2013-04-10 2016-09-20 Amazon Technologies, Inc. Detection of cast members in video content
JP2014241473A (ja) * 2013-06-11 2014-12-25 株式会社東芝 画像処理装置、方法、及びプログラム、並びに、立体画像表示装置
CN104298982B (zh) * 2013-07-16 2019-03-08 深圳市腾讯计算机系统有限公司 一种文字识别方法及装置
KR101484001B1 (ko) 2013-11-20 2015-01-20 (주)나노인사이드 지역 미세 패턴을 이용한 얼굴 영상 분석 방법
US10303697B1 (en) * 2015-06-25 2019-05-28 National Technology & Engineering Solutions Of Sandia, Llc Temporal data system
CN105678712B (zh) * 2016-01-29 2018-08-24 陕西师范大学 结合自适应梯度分块和等距变换的改进Criminisi图像修复方法
EP3477594B1 (en) 2017-10-27 2020-12-30 Vestel Elektronik Sanayi ve Ticaret A.S. Detecting motion of a moving object and transmitting an image of the moving object
US10984140B2 (en) 2017-12-21 2021-04-20 Disappears.Com Holdings (Canada) Ltd. Method for detecting the possible taking of screenshots
CA3086381C (en) 2017-12-21 2022-06-07 Disappears.Com Holdings (Canada) Ltd. Method for detecting the possible taking of screenshots
US10796157B2 (en) * 2018-03-13 2020-10-06 Mediatek Inc. Hierarchical object detection and selection

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9409773D0 (en) * 1994-05-13 1994-07-06 Atomic Energy Authority Uk Identification system
US7130454B1 (en) * 1998-07-20 2006-10-31 Viisage Technology, Inc. Real-time facial recognition and verification system
US6292575B1 (en) * 1998-07-20 2001-09-18 Lau Technologies Real-time facial recognition and verification system
US6496184B1 (en) * 1998-11-30 2002-12-17 William T. Freeman Method for inferring scenes from test images and training data using probability propagation in a markov network
US6611622B1 (en) * 1999-11-23 2003-08-26 Microsoft Corporation Object recognition system and process for identifying people and objects in an image of a scene
US6940545B1 (en) * 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
US6829384B2 (en) * 2001-02-28 2004-12-07 Carnegie Mellon University Object finder for photographic images
US7369685B2 (en) * 2002-04-05 2008-05-06 Identix Corporation Vision-based operating method and system
EP1353516A1 (en) * 2002-04-08 2003-10-15 Mitsubishi Electric Information Technology Centre Europe B.V. A method and apparatus for detecting and/or tracking one or more colour regions in an image or sequence of images
US7194114B2 (en) * 2002-10-07 2007-03-20 Carnegie Mellon University Object finder for two-dimensional images, and system for determining a set of sub-classifiers composing an object finder

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845383A (zh) * 2017-01-16 2017-06-13 腾讯科技(上海)有限公司 人头检测方法和装置
CN106845383B (zh) * 2017-01-16 2023-06-06 腾讯科技(上海)有限公司 人头检测方法和装置
CN108122001A (zh) * 2017-12-13 2018-06-05 北京小米移动软件有限公司 图像识别方法及装置
CN108122001B (zh) * 2017-12-13 2022-03-11 北京小米移动软件有限公司 图像识别方法及装置

Also Published As

Publication number Publication date
GB2409028A (en) 2005-06-15
US20050129311A1 (en) 2005-06-16
CN100538722C (zh) 2009-09-09
GB0328736D0 (en) 2004-01-14
EP1542155B1 (en) 2006-08-30
DE602004002180T2 (de) 2007-07-12
JP2005190477A (ja) 2005-07-14
DE602004002180D1 (de) 2006-10-12
EP1542155A1 (en) 2005-06-15
US7489803B2 (en) 2009-02-10

Similar Documents

Publication Publication Date Title
CN1627315A (zh) 目标检测
CN100348050C (zh) 目标检测
CN1320490C (zh) 脸部检测及跟踪
CN1191536C (zh) 手形手势识别装置及识别方法
CN1156791C (zh) 模式识别设备与方法
CN1213592C (zh) 采用自适应二值化的图象处理方法和设备
CN1271568C (zh) 信息变换系统
CN1839410A (zh) 图像处理设备、摄像设备、图像处理方法
CN1249987C (zh) 辐射图像数据处理设备和辐射图像数据处理方法
CN100345165C (zh) 基于图像的超现实主义三维脸部建模的方法和设备
CN100347723C (zh) 基于几何代价与语义-识别代价结合的脱机手写汉字字符的切分方法
CN100336071C (zh) 复杂背景图像中鲁棒的眼睛精确定位方法
CN1184796C (zh) 图象处理方法和设备以及图象处理系统
CN1291352C (zh) 彩色图象处理装置及方法、图案抽取装置及方法
CN1194318C (zh) 物体区域信息记述方法和物体区域信息生成装置
CN1418354A (zh) 通用的图像中的文本定位
CN1249046A (zh) 利用指纹及类似印痕的流线比较和解释的身份验证系统和方法
CN1317124A (zh) 视觉装置
CN1419679A (zh) 估计文本颜色和图像的分割
CN100347719C (zh) 基于密度图模型的指纹识别方法
CN1881234A (zh) 图像处理设备、图像处理方法、计算机程序和存储介质
CN1505431A (zh) 用于从图象屏识别字符图象的装置和方法
CN1492661A (zh) 2维码读取装置和读取方法、便携终端及数字照相机
CN1816825A (zh) 信号处理设备和信号处理方法、以及程序和记录介质
CN1151465C (zh) 利用候选表进行分类的模式识别设备及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090909

Termination date: 20111213