物体检测方法和装置转让专利

申请号 : CN201010165233.9

文献号 : CN102236899B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 范圣印伊红邓宇王鑫

申请人 : 株式会社理光

摘要 :

提供了检测视频中预定物体的物体检测方法和装置。该方法包括:获取通过各种物体检测方法所获得的各种检测结果;根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率;基于包含当前帧的多帧运动对象检测结果,计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度;根据运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果;根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率;以及根据各种检测结果的概率,确定检测出的最后物体列表。本发明具有更强的灵活性,更综合地考虑了各检测结果,可以提高检测精度,降低误检率。

权利要求 :

1.一种检测视频中预定物体的物体检测方法,包括:

获取通过各种物体检测方法对当前帧中的预定物体的整体或者部分进行检测所获得的各种检测结果;

根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率;

基于包含当前帧的多帧运动对象检测结果,计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度;

根据运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果;

根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率;以及根据各种检测结果的概率,确定检测出的最后物体列表。

2.根据权利要求1的物体检测方法,还包括根据各种检测结果之间的交叠来更新各种检测结果概率。

3.根据权利要求2所述的物体检测方法,其中所述根据各种检测结果之间的交叠来更新各种检测结果概率包括:通过将预定数目的检测结果对应区域之间的重叠比例与预定阈值相比较来判定该预定数目的检测结果是否交叠,并且如果交叠,则根据与该预定数目的检测结果交叠对应的预定检测精度来更新该预定数目检测结果中每种检测结果的概率。

4.根据权利要求1的物体检测方法,还包括根据与应用相关而定义的去除噪声的规则来去除各种检测结果或最后物体列表中的作为噪声的物体。

5.根据权利要求1所述的物体检测方法,其中所述各种检测方法的预定检测精度、与各种检测方法的检测结果的交叠对应的预定检测精度、以及与各种检测方法的检测结果和在先帧检测结果的交叠对应的预定检测精度预先存储于知识库中,该知识库通过统计计算获得。

6.根据权利要求1所述的物体检测方法,其中,所述计算运动频度分布图的操作包括:根据多帧运动对象检测结果计算在自当前时间向回算的预定持续时间内每个像素点属于运动对象的次数,通过将每个像素点属于运动对象的次数除以帧数来获得该像素点的运动频度,从而得到当前运动频度分布图。

7.根据权利要求6的物体检测方法,其中所述根据运动频度分布图过滤在先帧中所检测出的物体的操作包括:计算在先帧中所检测出的一个物体所处区域的运动频度累加和;归一化该物体所处区域的运动频度累加和;如果该物体的归一化后的累加和小于等于预定阈值,则保留该物体,否则从在先帧中所检测出的物体中去除该物体。

8.根据权利要求1所述的物体检测方法,其中所述根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率的操作包括:通过将一种检测结果与所述过滤后的在先帧检测结果对应区域之间的重叠比例与预定阈值相比较来判定该种检测结果与过滤后的在先帧检测结果是否交叠,以及如果交叠,则根据与该交叠对应的预定检测精度来更新该种检测结果的概率。

9.根据权利要求1所述的物体检测方法,其中,所述根据各种检测结果的概率,确定检测出的最后物体列表的操作包括:由随机数发生器产生位于0和1之间的随机数;

将每种检测结果中每个检测结果的概率同该随机数、设定的第一阈值以及小于第一阈值的第二阈值进行比较;

如果该每个检测结果的概率大于第一阈值或者该每个检测结果的概率大于第二阈值且大于随机数,则保留该每个检测结果,否则,抛弃该每个检测结果。

10.一种检测视频中预定物体的物体检测装置,包括:

检测结果获取部件,用于获取通过各种物体检测方法对当前帧中的预定物体的整体或者部分进行检测所获得的各种检测结果;

初始概率设置部件,用于根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率;

运动频度分布图计算部件,用于基于包含当前帧的多帧运动对象检测结果,计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度;

在先帧检测结果过滤部件,用于根据运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果;

时空交叠更新部件,用于根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率;以及物体列表确定部件,用于根据各种检测结果的概率,确定检测出的最后物体列表。

说明书 :

物体检测方法和装置

技术领域

[0001] 本发明一般地涉及图像和视频处理,具体地,涉及图像和视频的物体检测方法和装置。

背景技术

[0002] 精确的物体检测技术诸如人检测技术是多类视频应用的基石,例如:视频会议系统,智能交通系统,多媒体监控系统等。
[0003] 以物体检测中的人检测为例,目前已经研究和开发了多种人检测技术,例如:人脸检测,肤色检测,头检测,运动对象检测,上半身检测等。但对于一般应用场景,例如:视频会议室,办公室,零售商店,户外场景等,仅使用某一种检测技术很难达到高的检测精度。对于人脸检测,光照和人脸角度对检测精度影响大;对于肤色检测,光照状况和复杂环境的颜色分布对检测精度影响大;对于运动对象检测,阴影、遮挡、粘连等问题将影响检测精度。因此,基于多模式的人检测方法开始被关注。
[0004] 专利US6639998 B1提出了一种在图像中检测指定对象的方法。首先,使用对象的一般特征从图像或帧中检测对象;然后,在后续的图像或帧中使用对象相关的同样或类似特征检测对象;同时,当检测到多个对象或者对象的局部时,确定指定对象的全部颜色范围,使用全部颜色范围中的部分颜色范围段来检测对象。该专利仅使用相似的特征如始终用颜色(仅颜色范围不同)来进行后续图像或帧中对象的检测,没有使用其他特征来验证结果。其检测结果的误检率较高。
[0005] 专利文献US20080008360 A1提出了一种在指定区域内计数人的方法和系统。该系统包括一个摄像机来获取指定区域的图像,还包括一台计算机来接收采集的图像。计算机通过检测头和人脸的形状来检测图像中的人,通过计数检测到的头或者脸形状的个数来确定指定区域中人的数量。计算机通过判别检测到得头部或者脸部区域的颜色是否类似于肤色来确定其是否是人。该方法使用了肤色来验证人脸和头部的检测结果,但是由于颜色检测的稳定性较差,易于引起误检;同时,考虑到人脸和头的角度等问题,该方法的检测精度和稳定性不高。
[0006] 专利文献WO2007092904A2提出了一种感兴趣区域视频对象分割的方法。感兴趣区域可以是人脸、头部、肩部等区域。该方法组合了感兴趣区域特征检测,区域分割和背景减除。其提供精确地前景对象生成和低复杂度地前景对象提取。该方法首先检测前景;其次,在前景内部使用肤色检测人脸;然后在检测到的人脸内部检测眼睛和嘴;最后利用双眼的对称性或嘴眼睛三级性的方向来验证是否是人脸。该方法使用肤色检测人脸会导致误检率较高,同时其使用多模式信息仅进行与运算的验证,例如只有当同时检测出脸和头时,才确认是人脸,会导致检测精度的下降。

发明内容

[0007] 根据本发明的一个方面,一种检测视频中预定物体的物体检测方法,包括:获取通过各种物体检测方法对当前帧中的预定物体的整体或者部分进行检测所获得的各种检测结果;根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率;基于包含当前帧的多帧运动对象检测结果,计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度;根据运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果;根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率;以及根据各种检测结果的概率,确定检测出的最后物体列表。
[0008] 根据本发明的另一方面,提供了一种检测视频中预定物体的物体检测装置,可以包括:检测结果获取部件,用于获取通过各种物体检测方法对当前帧中的预定物体的整体或者部分进行检测所获得的各种检测结果;初始概率设置部件,用于根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率;运动频度分布图计算部件,用于基于包含当前帧的多帧运动对象检测结果,计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度;在先帧检测结果过滤部件,用于根据运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果;时空交叠更新部件,用于根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率;以及物体列表确定部件,用于根据各种检测结果的概率,确定检测出的最后物体列表。
[0009] 利用本发明的物体检测方法和装置,以概率来表征检测正确的可能性,并根据不同检测方法的检测结果的交叠情况来更新有关概率,具有更强的灵活性,更综合地考虑了各检测结果,可以提高检测精度,降低误检率。

附图说明

[0010] 图1是根据本发明一个实施例的物体检测方法的整体流程图;
[0011] 图2是根据本发明另一实施例的以人检测为例的人检测方法的整体流程图;
[0012] 图3是根据本发明一个实施例的基于统计计算的知识库构建的流程图;
[0013] 图4是根据本发明一个实施例的基于知识库设定各种检测结果初始概率的流程图;
[0014] 图5是根据本发明一个实施例的、根据各种检测结果在空域的交叠情况更新各种检测结果概率的流程图;
[0015] 图6是根据本发明一个实施例的、基于运动对象检测结果计算当前帧的运动频度分布图的流程图;
[0016] 图7是根据本发明一个实施例的、根据当前帧的运动频度分布图过滤历史人区域列表的流程图;
[0017] 图8是根据本发明一个实施例的、根据空域各种检测结果同时域历史人区域列表的交叠情况修正各类检测结果概率的流程图;
[0018] 图9是根据本发明一个实施例的、根据各类检测结果的最终概率以及预定义的规则确定最终的人区域列表的流程图;
[0019] 图10是根据本发明一个实施例的物体检测装置的示意性框图;以及
[0020] 图11是根据本发明一个实施例的可以实践本发明的示例性计算机系统。

具体实施方式

[0021] 为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
[0022] 在进行更详细的实施例描述之前,为便于理解和阅读,首先概述一下本发明的思想:与现有技术不同,不是以全盘否定和全盘接受的方式来判断某种检测方法的检测结果,本发明引入概率来表征该检测方法的检测结果正确的可能性;而且,考虑到对于视频而言,历史检测结果,例如对0.1秒前的帧的检测结果对于当前帧的检测可以提供帮助信息,因此考察当前帧的检测结果与历史帧的检测结果的交叠情况,对于交叠的个体检测结果,应该提升该当前帧的个体检测结果的概率;在得到各种检测结果中的各个检测结果的概率之后,确定最终检测出的物体列表。而且,在利用历史帧的检测结果时,不是对所检测出的各个物体不加区别地采用,而是考虑到时间上某个体物体区域的整体运动频度,如果其运动频度很大,则历史帧上个体检测结果的存在可能并不能为当前帧的检测结果的核查提供帮助,因此考虑把这样的历史帧中的个体检测结果从检测结果中去除。
[0023] 在后续的描述中,为了表述方便,常常以人作为检测物体的示例来加以描述。不过,这仅是示例性的,任何活体或者可能动的物体都可以作为本发明的检测对象。
[0024] 图1是根据本发明一个实施例的物体检测方法100的整体流程图。
[0025] 如图1所示,物体检测方法100可以包括检测结果获得步骤S110、初始概率设置步骤S120、运动频度分布图计算步骤S130、在先帧检测结果过滤步骤S140、概率更新步骤S150、物体检测列表确定步骤S160。下面对各步骤进行具体说明。
[0026] 在步骤S110,获取通过各种物体检测方法对当前帧中的预定物体的整体或者部分进行检测所获得的各种检测结果。
[0027] 从是基于多帧间运动对象来检测还是仅仅基于单帧静止图像来检测的角度,所述各种物体检测方法可以分为运动对象检测方法和其他物体检测方法。
[0028] 运动对象检测一般指从一段视频中提取出运动物体,常用的方法有背景差分法、相邻帧差法和光流法,这些是本领域公知的技术。背景差分法的关键在于建立精准的背景模型并随着场景的变化实时更新。在背景模型的建立中,基于统计的背景建模法能比较准确地模拟真实场景,提取出较完整的运动对象。相邻帧差法实时性好且对动态场景具有鲁棒性,但其不适合于检测大的运动缓慢的物体。光流法在不需要背景区域的任何先验知识条件下就能够实现对运动对象的检测和跟踪,但其计算了大对噪声比较敏感。可以根据需求来选择适当的运动对象检测方法。另外,基于多个混合高斯的背景建模法既可以检测出运动对象也可以部分地检测出临时静止的对象。
[0029] 其他检测方法是指除上述运动对象检测方法外以单帧图像为处理对象的其他的任意与物体相关的检测方法。例如,以各种人检测方法为例,按照对人体的部位检测,可以分为人脸检测、头部检测、上半身检测、全身检测、肤色检测等;按照具体所采用的算法,则可分为特征空间算法、神经网络算法、Adaboost算法、决策树算法等等。这些物体的各部分的检测方法和具体各类算法以及其组合都可以作为本发明实施例中的其他检测方法,比如对人脸的特征脸算法,对人脸的Adaboost算法、对人脸的决策树算法、对头部的特征空间算法、对头部的Adaboost算法、对头部的决策树算法等等。
[0030] 物体检测结果为在当前帧中所检测到的一个或多个物体的整体或部分的列表,一个物体的整体或部分可以用包含该物体的整体或部分的最小矩形区域来表征,具体地,例如可以用该矩形区域的左上角的坐标和右下角的坐标来表示。例如,对于人脸,可以利用包围人脸的矩形框的左上角的坐标和右下角的坐标来表征。当然,也可以以其他形式,例如椭圆或者圆形来表征。例如,如果从一帧图像中检测出3个人,可以用{x1L,y1L;x1R,y1R),(x2L,y2L;x2R,y2R),(x3L,y3L;x3R,y3R)}这样的列表来表示这样的检测结果。
[0031] 在步骤S120,根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率。检测方法的检测精度,例如可以定义为 ROD表示检测精度,H(hit)表示正确的检测结果的数量,F(false)表示错误的检测结果的数量,H+F即为总的检测结果的数量。此外,检测精度还可以考虑定义为检出率。检出率即所有物体中被正确检出的数量占所有物体的数量比率。某检测结果的初始概率表示该检测结果正确的可能性,例如,某头检测方法的初始概率可表示为P(人|头),意思是在该检测方法检测出头的情况下该物体确实是人的可能性。
[0032] 这里,各种检测方法的预定检测精度可以是预先通过统计计算获得并且存储于知识库中的,不过也可以通过自适应学习而获得,或者根据经验设置。后面将参考图3描述知识库的示例性构建方法。此外,后面将参考图4说明如何利用该构建的知识库来设定各种检测方法所获得的各种检测结果的初始概率。
[0033] 在步骤S130,基于包含当前帧的多帧运动对象检测结果计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度。需要说明的是,这里的多帧运动对象检测结果可以利用任何运动对象检测方法来获得,该任何检测方法可以与上述步骤S110和S120中涉及的各种检测结果相关的各种检测方法是独立的,或者也可以为上述各种检测方法中的一部分。后面将参考图6对如何计算运动频度分布图进行示例性说明。
[0034] 在步骤S140,根据步骤S130中计算得到的运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果。后面将参考图7对如何利用运动频度分布图来对在先帧的检测结果进行过滤给出示例性描述。
[0035] 在步骤S150,根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率,后面将参考图8就具体如何执行此步骤加以举例说明。
[0036] 在步骤S160,根据各种检测结果的概率,确定检测出的最后物体列表,后面将参考图9给出执行该步骤的一个示例。该最后的物体检测结果既可以直接在显示器上显示,也可以存储,以及可以发送给在先帧检测结果数据库作为最新的在先帧检测结果。
[0037] 此外,还可以包括根据与应用相关而定义的去除噪声的规则来去除最后物体列表中的作为噪声的物体。预定义规则是指与应用相关而定义的去除噪声的规则。例如,在人检测的情况下,在视频会议场景中,人出现在视频底部区域的可能性非常低,可设计规则去除视频底部区域中的检测结果,如去除在椅子面下的所检测出的人。显然,预定义的规则同样也可以用于去除各种检测结果,例如步骤S110中的各种检测结果。
[0038] 图2示出了根据本发明另一实施例的以人检测为例的检测方法的整体流程图。
[0039] 图2中除了示出各个步骤外,为易于理解,还以平行四边形的形式示出了有关步骤涉及的数据,例如作为各种检测结果的运动对象列表201、人脸列表202、头列表203、其他列表204;以及在设置概率以及更新概率的操作中需要参考的知识库205、作为最后结果的人区域列表206、供后续检测使用的历史人区域列表207。
[0040] 人检测方法200中的步骤S210、S220、S230、S240、S250、S260与图1所示的物体检测方法100中的步骤S110、S120、S130、S140、S150、S160类似,其区别仅在于,在图2中,要检测的物体是人。因此,不再重复叙述。
[0041] 人检测方法200与物体检测方法100的不同在于增加了步骤S270。步骤S270根据当前帧的各种检测结果之间的交叠情况来更新各种检测结果的概率,例如如果对于当前帧图像,人脸检测列表202中的一个人脸a与头检测列表203中的一个头b交叠,则这通常暗示这里存在一个人的可能性很高,因此,应该提升人脸检测列表202中人脸a的正确概率和头b的正确概率。后面将参考图5示例性地对该步骤S270进一步进行具体说明。
[0042] 需要说明的是,在图2中,步骤S270被示出在处理当前帧检测与历史帧检测的交叠的步骤S250之前,不过,这并不表示限定为步骤S270的操作必须在步骤S250之前执行,相反,步骤S270当然可以在步骤S250之后进行。
[0043] 图2所示的示例性方法既考虑当前帧的检测结果与历史帧的检测结果的交叠(后文为叙述方便,有时称之为时域交叠),又考虑了当前帧的各种检测结果之间的交叠(后文为叙述方便,有时称之为空域交叠)来更新有关当前帧的检测结果的概率,可以进一步提高整体检测方法的准确度。
[0044] 下面仍以人检测为例,参考图3来示例性说明存储了各种检测算法的各自检测精度以及各种算法的检测结果交叠时的检测精度(后文为叙述方便,有时称之为混合检测精度)的知识库的构建过程,图3是根据本发明一个实施例的基于统计计算的知识库构建的流程图。
[0045] 在步骤S310,准备含有人的多幅图像和多个视频片段307。
[0046] 在步骤S320人工地标注人的区域,记录标注的区域坐标到文件。通过此步骤来得到有关图像和视频片断各帧中的人的位置和数量。
[0047] 在步骤S330选择一种与人相关的检测方法,例如:运动对象检测方法,人脸检测方法,头检测方法,上半身检测方法,全身检测方法,肤色检测方法等。本实施例假设选择了运动对象检测方法、头检测方法和脸检测方法。在步骤S340使用运动对象检测方法检测运动和临时静止的人。在步骤S350使用人脸检测方法检测人脸。在步骤S360使用头检测方法检测头。不过,本领域技术人员应该理解,所选择的检测方法的数量并不限于3个,以及具体所选择的检测方法也不局限于运动对象检测方法、头检测方法和脸检测方法,而是可以是任何一种与人相关的检测方法。
[0048] 在步骤S370使用在步骤S320中得到的人区域标识信息的文件和每种检测方法的检测结果来计算每种检测方法的检测精度。
[0049] 例如,以人脸检测为例说明计算人脸检测精度的方法。当前的检测方法是人脸检测方法,检测结果是人脸。通过验证检测到的人脸区域与标识的人区域的是否交叠可以计算出检出的正确人脸数量和错误人脸数量,同时可计算出未检测到的真实人的数量。基于上述计算得到的正确的人脸数量、错误的人脸数量、漏检的人的数量、总的标注的人的数量,即可计算得到人脸检测方法检测人的精度。是否交叠可通过交叠区域的大小来判定。例如,计算交叠的人脸区域和标识区域二者中的面积小的区域的面积值Area。通过使用交叠区域的面积除以该面积值Area得到交叠比率r。如果r大于给定的阈值,则该人脸区域可以被判定为正确的人脸。阈值的范围例如为从0.6到1.0,确切的数值可以通过实验、经验或者在阈值范围内随机采值获取。
[0050] 除统计计算诸如人脸检测的单种检测方法的检测精度外,步骤S370还基于上述方法计算某几种检测方法的混合检测精度,例如:人脸和头检测的检测精度,人脸和上半身检测的检测精度等。具体地,例如,关于人脸检测方法和头检测方法的混合检测精度可以如下计算:例如得出人脸检测方法的人脸检测列表和头检测方法的头检测列表,通过检查交叠情况,得到了既被判断为人脸也被判定为头的头脸区域列表,由此可以知道该头脸区域列表中正确的头脸数量、错误的头脸数量,漏检的数量、总的标注的头脸数量,由此例如通过以该头脸区域列表中正确的头脸数量除以该头脸区域列表中正确的头脸数量和错误的头脸数量的和来得到人脸检测方法和头检测方法的混合精度。
[0051] 此外,步骤S370类似地还计算时空混合检测方法的检测精度,例如,人脸和时域历史检测结果的时空混合检测精度,头和时域历史检测结果的时空混合检测精度。时空混合检测方法指通过将某种空域检测方法(人脸,头,上半身等)的检测结果同时域历史检测结果(时域历史人区域)进行合并进而得到人区域的方法。最终,所有单种检测方法、混合检测方法、时空混合检测方法的检测精度数据都存储到知识库205中。
[0052] 图4是根据本发明一个实施例的图1中步骤S120所可以使用的基于知识库设定各种检测结果初始概率的流程图。
[0053] 在步骤S121获取任意与人检测相关的一种或者多种检测结果。在步骤S122判定是何种检测结果。在步骤S123、S124、S125根据检测结果种类从知识库205中获取对应的检测精度,并设置该检测结果的初始概率。例如,在检测结果是运动对象检测结果的情况下,在步骤S123从知识库205获取对应运动对象检测方法的检测精度,以其值设定所有运动对象检测结果的初始概率P(人|运动对象)。在检测结果是人脸检测结果的情况下,在步骤S124从知识库205中获取对应人脸检测方法的检测精度,以其值设定所有人脸检测结果的初始概率P(人|人脸)。在检测结果是头检测结果的情况下,在步骤S125从知识库205中获取对应头检测方法的检测精度,以其值设定所有头检测结果的初始概率P(人|头)。
[0054] 图4中以运动对象检测结果、脸检测结果、头检测结果为例说明了初始概率的设定,不过本发明当然不局限于此。可以应用该方法设定任意种类的检测结果的初始概率,只要在知识库205中已经预先存储了对应方法的检测精度即可。
[0055] 下面参考图5来举例说明图2中处理空域交叠的步骤S270的示例性具体过程。图5是根据本发明一个实施例的、根据各种检测结果在空域的交叠情况更新各种检测结果概率的流程图。
[0056] 在步骤S271,获取各种包含初始概率的检测结果,例如设置了初始概率的脸区域列表2701、设置了初始概率的头区域列表2702、设置了初始概率的运动对象区域列表2703。
[0057] 在步骤S272,判定各种检测结果的交叠类型。
[0058] 例如,如果步骤S272确定作为脸检测结果的脸区域、作为头检测结果的头区域、作为运动对象检测结果的运动对象区域三者相交叠,则在步骤S273根据人脸、头和运动对象混合检测方法的精度(例如从知识库205中获取)修正交叠的人脸、头和运动对象检测结果的概率,例如采用下述公式来修正:P(人|脸)=P(人|头)=P(人|运动)=P(人|脸,头,运动)。
[0059] 如果步骤S272确定作为脸检测结果的脸区域、作为头检测结果的头区域两者相交叠,则在步骤S274根据人脸、头混合检测方法的精度(例如从知识库205中获取)修正交叠的人脸、头的概率,例如采用下述公式来修正:P(人|脸)=P(人|头)=P(人|脸,头)。
[0060] 如果步骤S272确定作为脸检测结果的脸区域、作为运动对象检测结果的运动对象区域两者相交叠,则在步骤S275根据人脸和运动对象混合检测方法的精度(例如从知识库205中获取)修正交叠的人脸和运动对象检测结果的概率,例如采用下述公式来修正:P(人|脸)=P(人|运动)=P(人|脸,运动)。
[0061] 如果步骤S272确定作为头检测结果的头区域、作为运动对象检测结果的运动对象区域两者相交叠,则在步骤S276根据头和运动对象混合检测方法的精度(例如从知识库205中获取)修正交叠头和运动对象检测结果的概率,例如采用下述公式来修正:P(人|头)=P(人|运动)=P(人|头,运动)。
[0062] 如果步骤S272确定作为脸检测结果的脸区域、作为头检测结果的头区域、作为运动对象检测结果的运动对象区域不存在交叠,即三者不交叠,以及任两个间也不交叠,则不进行修正概率的操作。
[0063] 在经过交叠类型判断,并根据判断结果而执行相应的操作后,得到了含有最新概率值的检测结果列表2704。然后,结束处理。
[0064] 需要说明的是,上面对各种检测结果不交叠的情况采取保持原概率不变的处理。替代地,这种情况下,可以降低各种检测结果的概率,即认为应该交叠,如果不交叠,可以采取罚则,比如将概率乘以90%。
[0065] 另外,上面对于例如两种检测结果交叠的情况,简单地以从知识库中获取的空域混合检测精度来替代原来各检测结果的概率。替代地,可以根据交叠面积的比率作为权重来更新各检测结果。例如,如果一个头区域和一个脸区域交叠的面积占脸区域面积的70%,则可以利用下述公式来更新该脸区域的概率:P(人|脸)=P(人|脸)*(1-70%)+P(人|头,脸)*70%。
[0066] 下面参考图6来示例性描述图1中步骤S130可以执行的具体过程,即如何基于包含当前帧的多帧运动对象检测结果来计算当前帧的运动频度分布图。该运动频度分布图表明当前帧图像中各像素的运动频度,即表征当前帧中各像素的运动剧烈倾向。
[0067] 在步骤S131获取在自当前时间向回算的预定持续时间内的运动对象检测的结果,从而获得了多个运动对象1301,该预定持续时间可以是0.5秒、1.0秒、2秒或者其他的时间间隔值。
[0068] 在步骤S132计算该指定持续时间内每个像素点属于运动对象的次数,计算公式如式(1)和(2)所示。
[0069]
[0070]
[0071] 其中,考虑到计算机环境的变化,指定持续时间t内视频的帧数是动态变化的,引入N(t)表示指定持续时间内的帧数;pixel(x,y)表示坐标为(x,y)的像素,pixel(x,y)∈foreground,表示像素pixel(x,y)属于运动对象即所谓的前景,而pixel(x,y)∈others表示像素pixel(x,y)属于除前景外的区域,即不属于运动对象,fk(x,y)表示在第k帧中该像素pixel(x,y)是否属于运动对象。
[0072] 在步骤S133归一化处理每个像素属于运动对象的次数,以消除视频帧数动态变化的影响。归一化处理公式如式(3)所示。
[0073] Nor_Times(x,y)=times(x,y)/N(t) (3)
[0074] 归一化后,Nor_Times(x,y)为[0,1]之间的数值,表征像素pixel(x,y)的运动频度。
[0075] 在步骤S134输出当前检测帧的运动频度分布图1302。
[0076] 上面运动频度分布图的计算仅仅是示例性的。任何方法只要可以表征像素的运动频度或运动倾向,均可以用来计算运动频度分布图。
[0077] 比如,上述计算中,对各个帧给予了同样权重,不过替代地可以对距离当前帧较近的帧的运动对象检测结果给予较高权重,而对于距离当前帧较远的帧的运动对象检测结果给予较低权重。
[0078] 再比如,运动频度分布图还可通过光流法计算得到。光流法的基本思想是:在空间中,运动可以用运动场描述,而在一个图像平面上,物体的运动往往是通过图像序列中不同图像灰度分布的不同体现的,从而,空间中的运动场转移到图像上就表示为光流场。光流场反映了图像上每一点灰度的变化趋势,可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场,也是一种对真实运动场的近似估计。在比较理想的情况下,其不需要预先知道场景的任何信息,即可精确地计算出运动物体的速度。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。具体的可以采用基于梯度的光流计算方法,得到各个像素的梯度方向的光流速率,归一化光流速率,以其作为表征像素运动频度的Nor_Times(x,y)。
[0079] 下面以人检测为例,参考图7来描述图1的步骤S140中可以执行的在先帧检测结果过滤处理的具体示例过程。图7是根据本发明一个实施例的、根据当前帧的运动频度分布图过滤历史人区域列表的流程图。
[0080] 为便于理解,首先解释一下过滤历史人区域的思想:如果一个历史人区域的运动频度累加和小,表示该历史人运动得不那么剧烈,那么可以想见,在下一帧即当前帧中很可能在同样的区域也存在人,因此该历史人区域可以用来给当前帧中的物体检测结果提供辅助信息;反之,如果一个历史人区域的运动频度累加和大,表示该历史人运动得剧烈,那么前一帧中的该历史人不会给当前帧的物体检测提供多大帮助。
[0081] 在步骤S141获取在先帧如上一帧的最终人检测结果(即时域历史人区域1401的列表)。
[0082] 在步骤S142获取当前帧的运动频度分布图1402。
[0083] 在步骤S143计算每个时域历史人区域i的运动频度累加和,累加和计算公式如式(4)所示。
[0084]
[0085] 其中pixel(xk,yk)∈region(i)
[0086] 其中,region(i)表示第i个历史人区域,width(i)为该第i个历史人区域的宽度,height(i)为第i个历史人区域的高度,width(i)×height(i)表示该第i个历史人区域的像素数目。Nor_Times(xk,yk)表示像素k的当前运动频度。Sum_motion(i)表示第i个历史人区域的运动频度累加和。
[0087] 考虑到每个时域历史人区域的面积是不同的,在步骤S144归一化每个时域历史人区域的运动频度累加和,归一化公式如式(5)所示。
[0088] Nor_Sum(i)=sum_motion(i)/width(i)×heigh(i) (5)[0089] 在步骤S145以归一化后的累加和过滤时域历史检测结果。具体地,如果某个时域历史检测结果的归一化的累加和小于等于指定的阈值,则保留该历史检测结果,否则去除该历史检测结果。
[0090] 过滤公式例如如式(6)所示,这里阈值threshold的范围为0到1/2,确切的阈值可根据试验、经验或者在0和1/2之间随机选定。
[0091]
[0092] pass(i)为0表示该历史人区域i未通过运动频度验证,被从历史人区域列表中去除掉,pass(i)为1表示该历史人区域i保留在历史人区域列表中。
[0093] 例如,上一帧的时域历史检测结果为历史人区域列表{历史人区域1,历史人区域2,...历史人区域i...,历史人区域M},共检出M个历史人。假设阈值1/2,则如果历史人区域1的归一化累加和为0.6,即大于1/2,则从历史人区域列表中去除历史人区域1。最后得到通过了过滤的历史人区域列表1403。
[0094] 在步骤S146中,输出通过的历史人区域列表1403。
[0095] 在上面过滤历史帧中人区域列表中,仅仅描述了利用前一帧的情况。不过,作为替代,可以利用前两帧、前三帧...作为当前帧检测结果的参考。并且,可以为距离当前帧近的帧赋予较高的权重,如更多地考虑前一帧的检测结果,而次要考虑之前第2帧的检测结果。
[0096] 下面以人检测为例,参考图8来描述图1的步骤S150中可以执行的时域交叠处理的具体示例过程。图8是根据本发明一个实施例的、根据空域各种检测结果同时域历史人区域列表的交叠情况修正各类检测结果概率的流程图。
[0097] 首先说明一下,图8中仅举例说明了关于运动对象检测结果、人脸检测结果和头检测结果与历史人区域列表的交叠情况处理。实际上本发明对其他各种与人相关的检测结果同样是支持的。图8中根据设定的阈值来判定空域各种检测结果同时域历史检测结果的交叠情况,然后根据时域交叠情况更新空域各种检测结果的概率。
[0098] 图8中不同的交叠类型定义了不同类型的空域检测结果同时域历史检测结果的交叠,例如,人脸检测结果同时域历史人区域(时域历史检测结果)交叠是一种交叠类型,头检测结果同时域历史人区域交叠是另一种交叠类型。根据交叠类型从知识库205中读取交叠类型对应的时空混合检测方法的检测精度,使用该检测精度更新该类交叠的各种检测结果的概率。时空混合检测方法指通过将当前帧的某种检测方法(运动对象,人脸,头,上半身等)的检测结果同时域历史检测结果(时域历史人区域)进行合并进而得到人区域的方法。
[0099] 在步骤S151获取当前帧的检测结果及其对应的概率值1501、1502、1503,以及获取时域历史检测结果即时域历史人区域列表1504。
[0100] 在步骤S152计算人脸检测结果同时域历史人区域列表的交叠。在步骤S153判断是否交叠。在确定交叠的情况下,在步骤S154根据如下的计算公式(7)修正交叠的人脸检测结果的概率:
[0101] P(人|脸)=Max(P(人|脸),P(人|脸,历史)) (7)
[0102] 其中,P(人|脸)为当前该人脸检测结果的概率,P(人|脸,历史)为人脸和历史人的时空混合检测方法的检测精度,人脸和历史人的时空混合检测精度例如可从知识库205中获取。
[0103] 在步骤S155计算头检测结果同时域历史人区域列表的交叠。在步骤S156判断是否交叠。在确定交叠的情况下,在步骤S157根据如下的计算公式(8)修正交叠的头检测结果的概率:
[0104] P(人|头)=Max(P(人|头),P(人|头,历史)) (8)
[0105] 其中,P(人|头)为当前该头检测结果的概率,P(人|头,历史)为头和历史人的时空混合检测方法的检测精度,头和历史人的时空混合检测精度例如可从知识库205中获取。
[0106] 在步骤S158计算运动对象检测结果同时域历史人区域列表的交叠。在步骤S159判断是否交叠。在确定交叠的情况下,在步骤S 160根据如下的计算公式(9)修正交叠的运动对象检测结果的概率:
[0107] P(人|运动对象)=Max(P(人|运动对象),P(人|运动对象,历史)) (9)[0108] 其中,P(人|运动对象)为当前该运动对象检测结果的概率,P(人|运动对象,历史)为运动对象和历史人的时空混合检测方法的检测精度,运动对象和历史人的时空混合检测精度可从知识库205中获取。
[0109] 经过上述处理,得到了含有时域修正概率的检测结果1505。
[0110] 另外,上面对于例如时空检测结果交叠的情况,简单地以从知识库中获取的时空混合检测精度来替代原来各检测结果的概率。替代地,可以根据交叠面积的比率作为权重来更新各检测结果。例如,如果一个脸区域和一个历史人区域交叠的面积占脸区域面积的70%,则可以利用下述公式来更新该脸区域的概率:P(人|脸)=P(人|脸)*(1-70%)+P(人|脸,历史)*70%。
[0111] 此外,对于时空检测结果不交叠的情况,上述图8所示过程采取概率保持不变的方案。不过,也可以在不交叠的情况下,对空域检测结果的过滤通过罚则予以降低。
[0112] 下面以人检测为例,参考图9来举例说明图1所示步骤S160中根据各种检测结果的概率确定检测出的最后物体列表的具体过程。图9是根据本发明一个实施例的、根据各类检测结果的最终概率确定最终的人区域列表的流程图。
[0113] 在步骤S161由随机数发生器产生位于0和1之间的随机数。在步骤S162获取各种检测结果(例如,每种检测结果具有多个检测结果的列表形式)中的各个检测结果及其对应的概率1601。在步骤S163将每种检测结果中每个检测结果的概率同该随机数以及设定的第一阈值和小于第一阈值的第二阈值进行比较;如果该每个检测结果的概率大于第一阈值或者该每个检测结果的概率大于第二阈值且大于随机数,则保留该每个检测结果,否则,抛弃该每个检测结果,由此得到候选人列表及其概率1602。具体的比较公式如式(10)所示。
[0114]
[0115] 这里,第一阈值High_threshold的范围例如为0.8到0.95,第二阈值Low_threshold的范围例如为0到0.5。这两个阈值的确切值可以通过实验或经验进行设置。
[0116] 该步骤除了常见的以阈值来过滤检测结果外,还引入了随机数,以确实反映出概率的思想。
[0117] 在步骤S164检测候选人列表中是否存在交叠,如果存在就移除交叠的二者中概率小的那个。
[0118] 在步骤S165中采用预定义的规则再次过滤候选人列表,得到最终的人区域列表1603。预定义规则是指与应用相关而定义的去除噪声的规则,例如,在视频会议场景中,人出现在视频底部区域的可能性非常低,可设计规则去除视频底部区域中的检测结果。需要说明的是,步骤S165是可选的,而不是必需的。
[0119] 在上面具体实施方式描述中,多次以人检测为例描述本发明的物体检测方法。但是需要特别强调的是,人检测仅仅为一个示例而不是限制,其它任何物体检测,只要可以应用运动对象检测和各类其它检测方法,都可以应用本发明,所述其它物体检测例如有诸如猫、狗的动物检测、汽车检测等等。例如狗检测,同样可以基于运动对象检测结果以及诸如狗全身检测、狗头检测、狗脸检测、狗耳朵检测等的其它检测结果来应用本发明的多模式检测方法。再比如,汽车检测,运动的汽车同样可以应用运动对象检测方法来得到运动对象检测结果,也可以通过检测汽车整体或者汽车的各个部分如车轮、车灯、车窗灯来得到各类检测结果,由此同样可以通过有关各检测结果的交叠情况来更新各类检测结果,并根据各类检测结果的概率,来确定最终物体检测列表。
[0120] 另外,在上述实施例中,关于除了运动对象检测结果的其它检测结果,多次以人的不同部位或方面如人脸、上半身、肤色为检测对象的检测结果作为其它检测结果,不过这仅是示例性的。可以采用不同算法而检测对象相同情况得到检测结果,然后应用本发明的实施例。例如,对于人脸,可以应用特征脸算法、Adaboost算法、神经网络算法等得到各自的人脸检测结果,同样可以检查这些各自的人脸检测结果与历史人检测结果是否交叠,或者检查这些人脸检测结果之间是否交叠,以及这些各自的人脸检测结果与其它检测结果如上半身检测结果、运动对象检测结果等是否交叠,进而相应地更新有关概率。
[0121] 利用本发明的物体检测方法和装置,以概率来表征检测结果正确的可能性,并根据不同检测方法的检测结果的交叠情况来更新有关概率,这具有更强的灵活性,而且也更综合地考虑了时域检测结果和空域检测结果,可以提高检测精度,降低误检率。
[0122] 图10示出了根据本发明一个实施例的一种检测视频中预定物体的物体检测装置1000的示意性框图,可以包括:检测结果获取部件1001,用于获取通过各种物体检测方法对当前帧中的预定物体的整体或者部分进行检测所获得的各种检测结果;初始概率设置部件1002,用于根据每种检测方法的预定检测精度,设定与该种检测方法对应的检测结果的初始概率;运动频度计算部件1003,用于基于包含当前帧的多帧运动对象检测结果,计算运动频度分布图,该运动频度分布图表明当前帧图像中各像素的运动频度;在先帧检测结果过滤部件1004,用于根据运动频度分布图过滤在先帧中所检测出的物体,以得到过滤后的在先帧检测结果;时空交叠更新部件1005,用于根据各种检测结果和所述过滤后的在先帧检测结果的交叠,更新各种检测结果的概率;以及物体列表确定部件1006,用于根据各种检测结果的概率,确定检测出的最后物体列表。
[0123] 图11是根据本发明一个实施例的可以实践本发明的示例性计算机系统。
[0124] 如图11所示,一个针对物体检测性能提高的图像增强计算机系统10包括主机11,键盘16,监视器17,打印机18,软盘驱动器19,网络接入器20以及硬盘驱动器21。主机11包括数据总线12,随机存储器(RAM)13,只读存储器(ROM)14,中心处理器15以及外设总线22。
[0125] 根据从随机存储器13中接到的指令,中心处理器15控制输入数据的接收和处理,以及输出到监视器17或者其他外设。在本实施例中,中心处理器15的一个功能就是处理输入的图像和视频,运行各种检测方法,获得各种检测结果,计算运动频率分布图;过滤在先帧检测结果,更新各种检测结果的概率以及确定最后的物体检测列表。
[0126] 中心处理器15通过数据总线12来访问随机存储器13和只读存储器14。随机存储器13被中心处理器15用作一块可读写的内存,用来作为各个进程的工作区以及可变数据存储区。只读存储器14可以存储待处理图像和视频,各种检测结果、各种检测结果的初始概率、更新的概率、历史帧检测结果、最后的物体检测列表等以及其他应用程序。
[0127] 外设总线22用于访问和计算机11相连的输入,输出以及存储等外围设备。在本实施例中,这些外围设备包括监视器17,打印机18,软盘驱动器19,网络接入器20以及硬盘驱动器21。监视器17通过外设总线22来显示中心处理器15输出的数据和图像。它可以是栅格式显示设备如CRT或者是LCD显示器。打印机18把中心处理器输入的数据和图像打印到纸张或者是和纸张相似的媒介。软盘驱动器19以及硬盘驱动器21用来存储输入的图像、视频、物体检测结果、知识库等。通过软盘驱动器19,图像可以在不同计算机系统之间传递。硬盘驱动器21存储空间更大,而且访问速度更快。其他的存储设备,比如闪存,也可以用来图像供计算机系统10访问。计算机系统10通过网络接入器20在网络上发送数据和接收来自其他计算机系统的数据。用户通过键盘16输入指令给计算机系统10。
[0128] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。