时间面部序列的制作方法

文档序号:6485144阅读:235来源:国知局
时间面部序列的制作方法
【专利摘要】一种用于找出时间面部序列(412)的方法包括:用物理计算系统(100),分析视频内的镜头中的帧,对帧应用面部检测功能(404),以及响应于在帧之一内检测到面部,贯穿该镜头中的帧向后和向前追踪与该面部关联的人。然后,将时间面部序列(412)限定为一系列帧,该系列帧包括该镜头内在该人显现时涉及的帧。
【专利说明】时间面部序列
【背景技术】
[0001]存在允许用户查看、编辑、分析以及分类数字视频文件的许多应用。这些应用还可以包括自动地识别视频内出现的面部并将那些面部与它们所属的人关联的特征。组织从一组图像或视频中识别的一组人的一种方法是将相似的面部放到面部集群(cluster)中。因此,面部集群是由面部检测功能确定的相似的面部的集合。
[0002]在数字视频内使用这样的面部检测功能可能是困难的,因为特定人可能在视频内以他/她的面部处于不可由面部识别功能作用的角度出现。此外,人经常会在镜头(shot)期间中途出现,或在镜头期间中途离开。镜头指由单个摄像机拍摄的连续视频片段。镜头由一系列帧组成,这一系列帧在快速连续地显示时给出视频的表现。通过分析视频镜头内的帧,面部检测功能能够用来识别视频内出现的面部。
【专利附图】

【附图说明】
[0003]附图图示本文描述的原理的各示例并且是说明书的一部分。附图仅是示例且不限制权利要求的范围。
[0004]图1是根据本文描述的原理的一个示例示出说明性物理计算系统的图。
[0005]图2是根据本文描述的原理的一个示例示出说明性镜头时间轴的图。
[0006]图3A和图3B是根据本文描述的一个示例示出包括人的面部的说明性帧的图。
[0007]图4是根据本文描述的原理的一个示例示出说明性时间面部序列形成的图。
[0008]图5是根据本文描述的原理的一个示例示出说明性面部聚类的图。
[0009]图6是根据本文描述的原理的一个示例示出用于使用时间面部序列化进行视频面部聚类的说明性方法的流程。
[0010]在各附图中,相同的附图标记表不相似但不一定相同的要素。
【具体实施方式】
[0011]本说明书公开用于使用时间面部序列化(temporal face sequencing)进行视频面部聚类的方法及系统。时间面部序列是视频内的时间范围,特定人在该时间范围内是可见的。该时间范围期间,面部可能不是一直可由面部检测功能识别的。例如,人可能将他或她的面部离开相机放置。本文描述的方法和系统允许,不管人面向离开相机时的情况如何,都能确定时间面部序列。此外,这些时间面部序列能够与面部聚类功能一起使用,面部聚类功能将具有相似面部的时间面部序列放入视频面部集群中。
[0012]根据特定说明性示例,对视频内的镜头逐帧地进行分析。将面部检测功能施加至每个被分析的帧,直至发现面部。如果发现面部,则向前及向后追踪与该帧关联的人,直至该人不再位于帧内。通过在形成该视频的帧序列中向前和向后追踪与面部关联的人,能够确定人位于镜头内的时间范围。该时间范围被称为用于与所检测的面部关联的人的时间面部序列。
[0013]能够对单独的时间面部序列进行分析,以找出每个序列中的一个或多个最佳帧。最佳帧是对面部聚类功能用途而言具有对象面部的最好视图的帧。然后,面部聚类功能将来自每个面部时间序列的代表性面部进行比较,并且将匹配面部放入面部集群中。因此,特定面部集群可以包括与同一人关联的多个时间面部序列。这些多个时间面部序列可以来自多个镜头。这些面部集群可以用于多种视频编辑、标注(tagging)或分类应用。
[0014]通过使用包含本文描述的原理的方法和系统,可以对视频进行自动分析及索引,使得可以容易地识别视频中包括特定人的视频片段。这样的特征具有许多消费者应用、企业应用、娱乐应用以及安全应用。
[0015]在下面的描述中,为了进行解释,阐述了许多具体细节,以便提供本系统和方法的全面理解。然而,将对本领域技术人员而言显而易见的是,可以在没有这些具体细节的情况下实践本装置、系统和方法。在本说明书中对“示例”或类似语言的引用指如所描述那样包括与该示例有关描述的特定特征、结构或特性,但是在其它示例中可能不包括该特定特征、结构或特性。
[0016]现在参考附图,图1是示出能够用来管理、索引以及编辑视频文件的说明性物理计算系统(100)的图。根据特定说明性示例,物理计算系统(100)包括存储器(102),存储器(102)具有在该存储器上存储的机器可读指令(104)和数据(106)。物理计算系统(100)还包括处理器(108)和用户接口(110)。
[0017]有许多类型的存储器可用。一些类型的存储器(如固态驱动器)被设计用于存储。这些类型的存储器典型地具有大的存储容积,但具有相对慢的性能。其它类型的存储器(如用于随机存取存储器(RAM)的那些存储器)针对速度进行了优化,并且通常称为“工作存储器”。各种形式的存储器可以以机器可读指令(104)和数据(106)的形式存储信息。
[0018]物理计算系统(100)还包括处理器(108),处理器(108)用于运行机器可读指令
(104)以及使用或更新在存储器(102)中存储的数据(106)。机器可读指令(104)可以包括操作系统。操作系统允许其它应用程序与该物理计算系统的硬件正确地交互。这样的其它应用程序可以包括上面描述的、允许用户分析并索引视频文件的那些应用。能够执行本文描述的与时间面部序列化和面部聚类相关的功能的应用,被称为视频聚类应用。
[0019]用户接口(110)可以提供用于用户(112)与物理计算系统(100)交互的手段。用户接口可以包括用于与人类用户(112)交互的设备的任意集合。例如,用户接口(110)可以包括像键盘或鼠标这样的输入设备,以及像监视器这样的输出设备。
[0020]图2是示出说明性镜头时间轴的图。如上面提到的,镜头指具有由摄像机拍摄的连续记录的视频片段。随着镜头时间轴(200)推进,各种人可以进入和离开帧内的视野。在一些情况下,镜头内可以仅出现一个人。在一些情况下,在特定时间处,在镜头内可以出现多个人。
[0021]在图2示出的示例镜头时间轴(200)中,与面部1(204)关联的第一人首先在点A(210)处出现在镜头内。在点B(212)处,面部3(208)进入镜头。在点C(214)处,面部2(206)也进入镜头。在该点处,总共三个面部位于镜头内。在点D (216)处,面部1(204)离开镜头。在点E (218)处,面部2 (206)也离开镜头。在点F (220)处,面部2 (206)重新进入镜头并保持在该镜头内直至点H(224)。在点G(222)处,面部3(208)离开镜头。
[0022]能够自动地分析视频文件并识别谁出现以及在什么时间出现,对于多种应用可能是有用的。例如,拍摄家庭视频的消费者可能想要按照谁在视频片段中出现来自动地对视频片段进行分类。当编辑这样的视频片段时,准确地知道什么时间人进入镜头以及什么时间人离开镜头可能是有帮助的。在另一示例中,使用监控视频的安全操作可能想要分析大量的安全脚本录像(footage)并且容易地识别什么时间人进入和离开用安全相机拍摄的各种镜头。
[0023]典型地,使用关键帧方法分析视频文件。使用这样的方法,识别视频内的面部,并且将面部与关键帧关联。关键帧是用于面部检测功能用途的包括面部的优异视角的帧。确定人出现的全部视频序列的一个挑战在于:在特定时间,人的面部可能被放置为面向离开相机的位置。可替代地,照明可能使得人的面部是不可由面部检测功能容易地识别的。
[0024]图3A和图3B是示出包括人的面部的说明性帧的图。图3A是示出具有人的帧的图,此人正面向与相机正朝向的方向大体垂直的方向。在这样的位置中,面部检测功能检测该面部的面部特征可能是困难的。
[0025]图3B是示出具有正面向相机的人的帧的图。当人正面向大体朝向相机方向的方向时,面部检测功能能够更好地检测此人的面部特征。随着视频镜头推进,特定人可能改变它们正面对的方向。然而,为了确定此人在镜头内出现的全部时间范围,此人的面部可由面部检测功能检测的帧的简单分析是不够的。鉴于这一问题及其它问题,本说明书公开了时间面部序列的使用,该时间面部序列可以用于视频面部聚类。
[0026]图4是示出说明性时间面部序列形成(400)的图。如上面提到的,时间面部序列是一系列帧,在这一些列帧中人在镜头内出现,而无论他或她的面部是否能由面部检测功能检测。然后,从视频中确定的时间面部序列可以置于视频面部集群中。视频面部集群是属于同一人的一组时间面部序列。
[0027]根据特定说明性示例,贯穿镜头时间轴(402)逐步地进行面部检测扫描(404)。在一些情况下,该面部检测扫描可以顺序地分析视频中的每个帧,以便确定是否能够检测任意面部,。在一些情况下,面部检测扫描(404)可以分析每第η帧,其中η是由缺省定义的或由用户设置的数字。
[0028]当面部检测扫瞄(404)推进时,可能出现一点,在此点处,面部检测功能能够检测足够的面部特征,以能够将这些特征声明为面部。该面部被称为目标对象。该点被称为面部检测瞬间(408)。关于确定为了将一组被分析的特征声明为面部应出现多少面部特征,各种面部检测功能可能具有不同标准。
[0029]从面部检测瞬间(408)起,时间面部序列化功能执行向后追踪操作,以确定与被检测的面部关联的人什么时间进入该镜头。此外,时间面部序列化应用执行向前追踪操作,以确定与所检测的面部关联的人什么时间进入该镜头。追踪功能可以使用诸如颜色特征及纹理特征之类的各种特征来对目标对象进行建模。追踪功能可以涉及各种方法,如粒子过滤法。此外,追踪功能可以使用各种附加特征,如头肩模型,以帮助追踪目标对象。追踪功能贯穿全部帧序列向后或向前跟随人,即便该人的面部不能由面部检测功能识别。
[0030]例如,头肩检测模型可以用于筛选出面部检测和面部跟踪中的假警报。这可以通过用预训练的头肩模型验证所检测的面部或所追踪的面部的候选区域来进行。如果该候选区域不匹配头肩模型,那么丢弃该候选区域,并且可以继续其它候选区域。
[0031]各种技术可以用于头肩检测模型。在一个实例中,头肩检测可以使用方向梯度直方图(HOG)技术。HOG技术对图像的局部部分中的梯度方向的出现进行计算。这能够被设计为,为了跟踪目的查找头肩模型。在进一步的示例中,类哈尔(Haar-1ike)特征可以用来识别头肩特征。这样的技术考虑检测窗口中特定位置处的相邻矩形区域。然后,将那些区域中的像素强度相加,并且计算那些区域之间的差异。这些差异能够用来帮助检测头肩特征。在进一步的示例中,使用类哈尔特征和HOG技术的头肩模型能够以任意顺序级联,以形成更复杂的模型。
[0032]在镜头沿场景移动的情况中,随着镜头移动,人可能移动到帧内或帧外。如果人移动到帧外,则可以设置向前追踪功能来追踪人,直至他或她的面部完全移出帧外。在一些情况下,可以设置追踪功能来追踪人,直至他或她的面部的实质部分移出帧外。如果在镜头期间人移动到帧内,那么向后追踪功能可以追踪人回到那个人的一部分初次进入镜头的点。在一些情况下,向后追踪功能可以仅追踪人回到那个人的大部分出现在帧内的点。情况还可能是,当人仍然位于帧中间时,镜头开始或结束。在这样的情况下,向前或向后追踪人到镜头的开始或结束。此外,在向后追踪期间,确定向后追踪结果是否正在与之前的面部序列输出重叠可能是有用的。在这种情况下,能够停止向后追踪功能。
[0033]当追踪功能逐帧向前或向后移动来追踪人时,可以将追踪功能设置为每η个帧再应用面部检测功能。数量η可以被设置为缺省值或由用户手动设置。例如,如果η是15,那么追踪功能每15个帧再应用面部检测功能。如果由面部检测功能检测的最后一个面部位于追踪位置附近,那么其可以用于分析随后的帧时的参照物。面部检测功能的该再应用能够减少追踪期间的漂移影响。面部检测功能的再应用还能够用于检测镜头内的新面部。
[0034]在向后追踪(408)过程和向前追踪(410)过程已经确定时间面部序列(412)以后,可以分析时间面部序列来确定最佳帧。在一些情况下,对特定时间面部序列(412)可以确定多个最佳帧。在一些情况下,可以找出单个最优帧。如上面提到的,最佳帧是用于在面部聚类过程期间比较人的面部用途的、最佳地代表人的面部的帧。 [0035]多组标准可以用来选择时间面部序列内的最佳帧。最佳帧确定功能(414)可能考虑各种因素,如面部与相机的角度、眼睛定位和大小,以及面部的照明条件和面部/眼睛检测置信值。例如,如果面部太小(即,占用少于200个像素),那么该面部不是关于最佳帧的好候选者。在一些情况下,时间面部序列内找出的一组最佳帧可以包括具有不同姿态的高质量面部图像。
[0036]图5是示出说明性面部聚类(500)的图。如上面提到的,面部集群是已经被识别为与同一人关联的一组时间面部序列。与视频面部聚类应用关联的面部聚类功能可以执行将时间面部序列放到集群中的过程。在一个示例中,面部聚类功能可以是凝聚的聚类功能。下面的示例说明这种凝聚的聚类功能。然而,其它面部聚类功能可以与本文描述的时间面部序列原理结合使用。
[0037]在此示例中,存在总共七个面部,每个面部与时间面部序列关联。面部被标号有1-7。该聚合功能是迭代功能。对于每次迭代,将两个最强的匹配组合在一起。
[0038]在第一次迭代(522)中,面部聚类功能确定一组面部内任意两个面部之间的最强相似性是面部I (502)和面部3 (506)。因此,将这两个面部组合在一起。在第二次迭代(524)期间,确定面部2(504)和面部5(510)是最强的匹配。因此,将那两个面部组合。
[0039]当执行随后的迭代时,情况可能是:正被比较的集群中的一个或两个集群包含一个以上的面部。例如,面部1 (502)和面部3(506)的组合可以与面部2(504)进行比较。在这样的情况下,对两个集群中的每对面部进行匹配,并且为每对生成相似性分数。在一些情况下,最大得分的面部对能够用来代表这两个集群之间的分数。在一些情况下,最小得分的面部对能够用来代表这两个集群之间的分数。在一些情况下,全部面部对的平均分数可以用来代表这两个集群之间的分数。在一些情况下,可以根据其它因素(如,面部姿态)对相似性分数进行加权。特别地,具有相似姿态的两个面部可以被给予更大的权重。
[0040]返回参考图5的示例,在第三次迭代(526)期间,确定之前组合的面部I (502)和面部3(506)的组与面部4(508)最匹配。因此,将面部4(508)填加到该组面部。在此情况下,第三次迭代(526)是最终迭代。如果这些面部或面部组中的任一面部或任一面部组与任何其它面部或面部组都不匹配(即,任何一对集群之间的相似性分数低于预定阈值),则可以确定不需执行进一步的迭代。
[0041]在此示例中,面部集群功能的最终结果是面部I (502)、面部3 (506)和面部4 (508)已经被组在一起来形成面部集群1(516)。此外,面部2(504)和面部5(510)已经被组在一起来形成面部集群2 (518)。面部6 (512)不与任何其它面部匹配,因此形成其自己的面部集群——面部集群3 (520)。
[0042]前面的示例是七个面部的简化情况。实际的面部集群功能可以与数百个时间面部序列一起工作,以形成大的视频集群。情况可能是:为了获得全部及完整的列表,执行数百次迭代。在一些情况下,用户可以手动地挨个检查面部集群,并且将应该被匹配但未匹配的任意集群匹配在一起。
[0043]在一些示例中,面部集群功能可以在多个约束下操作。例如,如果两个面部来自时间上重叠的时间面部序列,那么能够有把握地确定那些面部不是同一人。这两个面部可以被匹配为“不能链接”的对。然后,面部聚类功能可以在不能链接约束下操作。在使用来自单个时间面部序列的多个最佳帧时,那些面部能够根据“必须链接”约束彼此相匹配。在集群过程开始时,面部聚类功能将来自同一时间面部序列的这样的面部自动地组在一起。
[0044]图6是示出用于使用时间面部序列化进行视频面部聚类的说明性方法的流程。根据特定说明性示例,该方法包括:用物理计算系统,分析(框602)视频内的镜头中的帧;用该物理计算系统,对帧应用(框604)面部检测功能;用该物理计算系统,响应于在帧之一内检测到面部,贯穿该镜头中的帧向后和向前追踪(框606)与该面部关联的人;以及用该物理计算系统,识别(框608)包括该镜头内在该人显现时涉及的帧的时间面部序列。
[0045]综上所述,通过使用对人在镜头内出现的全部时期段进行识别的时间面部序列,实现用于组织和编辑数字视频的更有用工具。还可以对这样的时间面部序列进行聚类。因此,视频编辑或分析应用的用户可以快速地找出特定人出现的视频内片段。
[0046]提供前面的描述,仅为了说明和描述所描述的原理的示例。该描述不意图是全面的或将这些原理限制于所公开的任何精确形式。根据上面的教导,许多修改和改变是可能的。
【权利要求】
1.一种用于找出时间面部序列(412)的方法,所述方法包括: 用物理计算系统(100),分析视频内的镜头中的帧; 用所述物理计算系统(100),对所述帧应用面部检测功能(404); 用所述物理计算系统,响应于在所述帧之一内检测到面部,贯穿所述镜头中的帧向后和向前追踪与所述面部关联的人;以及 用所述物理计算系统,识别包括所述镜头内在所述人显现时涉及的帧的时间面部序列(412)。
2.根据权利要求1所述的方法,进一步包括:用所述物理计算系统(100),确定所述时间面部序列(412)内的最佳帧,所述最佳帧包括要被用于面部聚类的所述面部的最佳图像。
3.根据权利要求2所述的方法,进一步包括:用所述物理计算系统(100),对来自所述视频的多个镜头的多个时间面部序列(412)应用面部聚类功能(500)。
4.根据权利要求3所述的方法,其中,所述面部聚类功能(500)包括凝聚的面部聚类功倉泛。
5.根据权利要求3 所述的方法,其中,所述面部聚类功能(500)受制于以下至少之一:必须链接约束和不能链接约束。
6.根据权利要求1所述的方法,其中,追踪所述人包括头肩模型的使用。
7.根据权利要求1所述的方法,其中,追踪所述人包括每设定数量的帧再应用所述面部检测功能(404)。
8.一种计算系统(100),包括: 至少一个处理器(108); 存储器(102),能通信地联接至所述至少一个处理器(108),所述存储器(102)包括计算机可运行指令,所述计算机可运行指令在由所述至少一个处理器(108)运行时引起所述至少一个处理器(108): 分析视频内的镜头中的帧, 对所述帧应用面部检测功能(404), 响应于在所述帧之一内检测到面部,贯穿所述镜头中的帧向后和向前追踪与所述面部关联的人,以及 识别包括所述镜头内在所述人显现时涉及的帧的时间面部序列(412)。
9.根据权利要求8所述的系统,其中,所述计算机可读程序代码进一步包括计算机可运行指令,所述计算机可运行指令在被运行时引起所述处理器(108)确定所述时间面部序列(412)内的最佳帧,所述最佳帧包括要被用于面部聚类的所述面部的最佳图像。
10.根据权利要求9所述的系统,其中,所述计算机可读程序代码进一步包括计算机可运行指令,所述计算机可运行指令在被运行时引起所述处理器(108)对来自所述视频的多个镜头的多个时间面部序列(412)应用面部聚类功能(500)。
11.根据权利要求10所述的系统,其中,所述面部聚类功能(500)包括凝聚的面部聚类功能。
12.根据权利要求10所述的系统,其中,所述面部聚类功能(500)受制于以下至少之一:必须链接约束和不能链接约束。
13.根据权利要求8所述的系统,其中,追踪所述人包括头肩模型的使用。
14.根据权利要求8所述的系统,其中,追踪所述人包括每设定数量的帧再应用所述面部检测功能(404)。
15.一种用于视频面部聚类的方法,所述方法包括: 用物理计算系统(100),对视频内的镜头的一系列帧应用面部检测功能(404); 用所述物理计算系统,响应于在所述帧之一内检测到面部,贯穿所述镜头中的帧向后和向前追踪与所述面部关联的人并且限定时间面部序列(412),所述时间面部序列(412)对所述人显现的帧的子集进行识别; 用所述物理计算系统(100),确定所述时间面部序列内的一组最佳帧,所述最佳帧包括要被用于面部聚类的所述面部的最佳图像;以及 用所述物理计算系统(100),对来自所述视频的多个镜头的多个时间面部序列(412)应用面部聚类功 能(500)。
【文档编号】G06K9/00GK104025117SQ201180074519
【公开日】2014年9月3日 申请日期:2011年10月31日 优先权日:2011年10月31日
【发明者】张同, 文迪, 丁晓庆 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1