首页> 中国专利> 用于在多个视频流中索引和查找感兴趣对象的方法和系统

用于在多个视频流中索引和查找感兴趣对象的方法和系统

摘要

实行对与在多个图像帧中显示的视频对象相对应的分析数据子集的种子搜索,以标识与所选择视频对象最相匹配的视频对象,然后实行对分析数据的穷举搜索,以便标识与在种子搜索期间所标识的每个视频对象最相匹配的视频对象。通过图形用户界面(GUI)对具有穷举搜索期间被标识为最大出现次数的视频对象进行显示。这样,GUI可以根据每个视频对象与在种子搜索期间所标识的视频对象和/或所选择视频对象匹配的接近程度的次序显示视频对象,所述次序可以不同于基于每个视频对象被捕获的时间的次序。

著录项

  • 公开/公告号CN101663676A

    专利类型发明专利

  • 公开/公告日2010-03-03

    原文格式PDF

  • 申请/专利权人 霍尼韦尔国际公司;

    申请/专利号CN200880012755.6

  • 申请日2008-02-28

  • 分类号G06K9/00(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人张晓冬;王忠忠

  • 地址 美国新泽西州

  • 入库时间 2023-12-17 23:40:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-09-05

    授权

    授权

  • 2010-04-28

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

    实质审查的生效

  • 2010-03-03

    公开

    公开

说明书

相关申请

本申请是申请号为11/680,347、申请日为2007年2月28日、名称为“Video Data Matching Using Clustering on Covariance Appearance”的美国专利申请的部分继续申请。本申请要求了申请号为11/680,347的美国专利申请的优先权,并将申请号为11/680,347的美国专利申请全部引入以供参考。

政府权利

本发明是根据国土安全部高级研究规划署(Homeland SecurityAdvanced Research Project Agency,HSARPA)计划在政府支持下作出的,合同编号为N001405C0119,其是由海军研究办公室发起的。美国政府对本发明具有一定权利。

技术领域

本发明涉及视频数据的分析,具体而言涉及在由多个摄像机捕获的视频流中搜索感兴趣对象。

背景技术

随着视频安全系统正取得的发展,视频安全系统正被安装在诸如机场、赌场、医院、学校以及大型购物中心之类的大量场所中。这些附加的视频安全系统的一个效果是需被监视和/或分析的图像帧的数目增加了。幸运地,视频分析系统当前可用来辅助用户监视和/或分析图像帧。

一方面,当前的视频分析系统可操作用于允许用户查看由多个摄像机捕获的图像帧,以便(i)定位在至少一个图像帧中显示的感兴趣对象,以及(ii)确定感兴趣对象是否在较早或较迟的时刻出现在任何其他图像帧中。尽管如此,当利用一个摄像机捕获图像帧时,查看图像帧以定位感兴趣对象的过程可能是非常费时的,而当利用多个摄像机捕获图像帧时可能就更加耗时了。

另一方面,当前的视频分析系统可操作用于显示加在图像帧上的分析数据,或者显示分析数据和与该分析数据相对应的图像帧。这样的视频分析系统可以接收来自多个摄像机的图像帧。然而,这些当前的视频分析系统仍需要操作员监视来自所有摄像机的全部图像帧。

又一方面,当前的视频分析系统可以根据运动检定来实行分析,从而系统仅能显示或记录其中的视频对象正在运动的图像帧。在这些系统可能减少了用户必须监视的图像帧数目时,他们无法发现由不同摄像机捕获的对象,或者由相同的摄像机捕获的出现在不同图像帧中的对象。

发明内容

本发明提供了一种新颖的方法、计算机可读媒体和系统,用于搜索与图像帧中显示的视频对象相对应的分析数据,以及用于显示包括视频对象的图像帧和/或与包括视频对象的图像帧进行交互,其中所述视频对象是在对分析数据进行搜索期间予以标识的。种子搜索是在分析数据的子集上实行的,以便标识与所选择视频对象最相匹配的视频对象,对分析数据的穷举搜索是在所有分析数据上实行的,以便标识与所选择视频对象和/或在种子搜索期间所标识的视频对象最相匹配的视频对象。在穷举搜索期间所标识的多个(例如预定百分比)图像帧可以显示在图形用户界面中。

一方面,本发明的示例性实施例可以采取下述的方法,所述方法包括:(i)存储多个图像帧和与多个视频对象相对应的分析数据,其中多个视频对象的每个视频对象可以通过显示多个图像帧中包括那个视频对象的图像帧进行显示,(ii)接收对在多个图像帧的指定图像帧中显示的视频对象的选择,(iii)检索分析数据的子集,以便标识与所选择视频对象最相匹配的多个视频对象并创建第一列表,其中第一列表标识与所选择视频对象最相匹配的视频对象的号,(iv)对于在第一列表中所标识的每个视频对象,搜索分析数据,以便标识多个视频对象中与在第一列表中所标识的视频对象最相匹配的视频对象,(v)对于与在第一列表中所标识的视频对象最相匹配的每个被标识的视频对象,对被标识为与第一列表中所标识的视频对象最相匹配的视频对象的那个视频对象出现次数进行计数,(vi)创建第二列表,其中第二列表指示与第一列表中所标识的视频对象最相匹配的每个所标识视频对象出现的计数数目,以及(vii)使用第二列表标识多个图像帧中要显示的图像帧集。一种计算机可读媒体,可以包括可由处理器执行以实行此方法的程序指令。

另一方面,本发明的示例性实施例可以采用下述的方法,所述方法包括:(i)存储多个图像帧和与多个视频对象相对应的分析数据,其中多个视频对象中的每个视频对象可以通过显示多个图像帧中包括那个视频对象的图像帧进行显示,(ii)接收对在多个图像帧的指定图像帧中显示的第一视频对象的选择,(iii)搜索分析数据以获取与第一视频对象最相匹配的视频对象,以便标识第一图像帧集,其中第一图像帧集中的每个图像帧包括至少一个与第一视频对象最相匹配的视频对象,(iv)显示第一图像帧集的至少一部分,(v)接收对在第一图像帧集的所显示部分的至少一个帧中显示的第二视频对象的选择,(vi)搜索分析数据以获取与第二视频对象最相匹配的视频对象,以便标识第二图像帧集,其中第二图像帧集中的每个图像帧包括至少一个与第二视频对象最相匹配的视频对象,以及(vii)显示第二图像帧集的至少一部分。一种计算机可读媒体,可以包括可由处理器执行以实行此方法的程序指令。

又一方面,本发明的示例性实施例可以采取下述的系统,所述系统包括:(i)处理器,(ii)用于存储下述内容的数据存储:(a)多个图像帧,(b)与多个视频对象相对应的分析数据,以及(c)可由处理器执行的程序指令;以及(iii)用户接口,用于显示图像帧并接收对在多个图像帧的指定图像帧中显示的视频对象的选择。多个视频对象可通过经由用户接口显示多个图像帧来显示。程序指令包括促使处理器如下执行的指令:(i)检索分析数据的子集,以便标识与所选择视频对象最相匹配的多个视频对象并创建第一列表,其中第一列表标识与所选择视频对象最相匹配的视频对象的号,(ii)对于在第一列表中所标识的每个视频对象,搜索分析数据以便标识多个视频对象中与第一列表中所标识的视频对象最相匹配的视频对象,(iii)对于与第一列表中所标识的视频对象最相匹配的每个所标识视频对象,对被标识为与在第一列表中标识的视频对象最相匹配的视频对象的那个视频对象出现次数进行计数,(iv)创建第二列表,其中第二列表指示与第一列表中所标识的视频对象最相匹配的每个所标识视频对象出现的计数数目,以及(v)使用第二列表标识多个图像帧中要显示的图像帧集。

对本领域的普通技术人来说,通过阅读以下的详细说明,并结合附图,这些以及其他方面和优点将变得显而易见。另外,应当清楚的是:在该概要中与其他处所描述的实施例仅是示例性的,并非意在限制本发明的范围。

附图说明

在此将参考附图描述本发明的示例性实施例,在所述附图中:

图1是可以实行本发明的示例性实施例的系统的方框图;

图2图示了根据本发明一个示例性实施例的可以保存在数据存储设备中的示例性数据;

图3、4和5的每一个描绘了根据本发明一个示例性实施例的用于显示各种图像帧和视频对象的图形用户界面;

图6是用于描绘根据本发明一个示例性实施例的可被实行的功能集的流程图;

图7是用于描绘根据本发明一个示例性实施例的可被实行的另一功能集的流程图;

图8图示了根据协方差外观使用聚类在视频数据中序列匹配的过程的示例实施例;

图9图示了与根据协方差外观使用聚类在视频数据中序列匹配结合使用的协方差矩阵的示例实施例。

图10图示了根据协方差外观使用聚类在视频数据中序列匹配的过程的另一示例实施例;以及

图11图示了计算机系统的示例实施例,在所述计算机系统上可以允许本公开内容的一个或多个实施例。

在附图中示出了附图标记以标识附图中的各种元素。具有同样附图标记的附图元素基本上是同样的或同样元素。

具体实施方式

1.综述

本发明针对一种新颖的方法、计算机可读媒体和系统,其用于搜索与图像帧中可显示的视频对象相对应的分析数据,以及用于显示包括视频对象的图像帧和/或与包括视频对象的图像帧进行交互,其中所述视频对象是在对分析数据进行搜索期间标识的。

每个视频对象被被包括在仅一个帧中。在这点上,每个视频对象都是唯一的。然而,多个图像帧可以包括表示在该图像帧上所捕获的特定对象的视频对象,并且多个图像帧可能由一个或多个摄像机捕获。在图像帧上捕获的特定对象可以包括一个人、一组人、由一个人或一组人携带的物品、动物、车辆或可能在图像帧上所捕获的其他任意对象(例如图像帧内的任何对象)。针对在视频对象被捕获的时刻其被检定为运动的视频对象,可以确定分析数据。当正在显示包括那个视频对象的图像帧时,用户可以选择用户感兴趣的任何视频对象。

“种子搜索(seed search)”(也就是对分析数据子集的搜索)可以被实行,以标识与所选择视频对象最相匹配的视频对象。与所选择视频对象最相匹配的经标识的视频对象可能包括所选择的视频对象。分析数据的子集可以包括这样的分析数据,其数据具有较高的概率与和所选择视频对象最匹配的视频对象相对应。

对于在种子搜索期间标识的每一个视频对象,可以实行“穷举搜索(complete search)”(也就是对整个分析数据集的搜索),以便标识与在种子搜索期间所标识的视频对象最相匹配的视频对象。尔后,包含在穷举搜索期间所标识的视频对象的图像帧可以在显示设备上进行显示。

在施行种子搜索和穷举搜索之后,用户可以查看在其中出现所选择视频对象的图像帧和/或在其中出现被标识为与所选择视频对象最相匹配的多个视频对象之一的视频对象的图像帧,而无需查看在其中未出现所选择视频对象或被标识为与所选择视频对象最相匹配的视频对象的图像帧。这样,用户就无须浪费时间查看用户不感兴趣的图像帧。

另外,当查看包含在种子搜索和/或穷举搜索期间发现的视频对象的图像帧时,用户可以选择显示在所查看图像帧中的另一视频对象。其他视频对象可以包括与先前选择的视频对象交互的对象。尔后,系统可以执行对其他视频对象的种子搜索,以便检定(detect)与其他视频对象最相匹配的视频对象,然后执行对与所检定视频对象最相匹配的视频对象的一个或多个穷举搜索,其中所检定视频对象与其他视频对象最相匹配。包含与其他视频对象最相匹配的一个和/或多个其他视频对象的图像帧可以在显示设备上予以显示。

2.示例性体系结构

图1是被安排成用以实行本发明的系统150的方框图。然而,应当理解,在此所描述的这种及其他安排仅是用于举例的目的。因此,本领域的普通技术人员将认识到:作为替代可以使用其他安排和其他元素(例如机器、界面、功能、次序、功能集等),并且一些元素完全可以省去。此外,在此所描述的元素中的一些元素是功能实体,其可以被实现为离散的或分布式的组件或者以任何适当的组合和位置与其他组件结合,以及被实现为硬件、固件和/或软件的任何适当的组合。

如图1所示,系统150包括处理器152、数据存储154、视频输入接口156、选择设备接口158以及视频输出接口160,所有都经由系统总线、网络或其他连接机构162链接在一起。系统150还包括(i)包括选择设备166和显示器168的用户接口164,(ii)第一摄像机170,(iii)第二摄像机172,(iv)第三摄像机174,以及(v)第四摄像机176。可替换地,系统150还可以包含大于或小于四部摄像机的多部摄像机。

摄像机170、172、174、176均可以包括任何类型的摄像机,所述摄像机用于捕获多个图像帧,并将多个图像帧提供给视频输入接口156。每一个图像帧包括表示影像的数据。摄像机170、172、174、176可以以给定帧率捕获图像帧,诸如每秒30帧,或以大于或小于每秒30帧的帧率。

摄像机170、172、174、176可以定位在任何不同的位置。摄像机170、172、174、176可以定位在户内或户外。举例来说,摄像机170、172可以定位在户内(例如医院内),摄像机174、176可以定位在户外(例如医院的停车场)。举另一例子,摄像机170、172、174、176可以定位在学校、监狱、机场或公园。摄像机170、172、174、176的其他示例性位置也是可能的。

两个或更多的摄像机170、172、174、176可以捕获公共覆盖区域(即重叠覆盖区域)的图像帧。捕获公共覆盖区域图像帧的摄像机可以被认为是重叠照像机。可替换地或附加地,两个或更多摄像机170、172、174、176可以捕获不同的覆盖区域(即非重叠覆盖区域)中的图像帧。捕获不同的覆盖区域的图像帧的摄像机可以被认为是非重叠的照相机。

视频输入接口156可以包括接收由摄像机170、172、174、176捕获的图像帧的输入端,以及将所接收图像帧提供给系统总线162以便依次传输到数据存储154、处理器152和/或视频输出接口160的输出端。在视频输入接口156接收的图像帧可以被传输到(i)数据存储154,以便存储和保持所存储的图像帧;(ii)处理器152,以使处理器152可以分析所接收的帧并创建关于所接收图像帧的分析数据;和/或(iii)视频输出接口160,以便可以在显示器168上查看图像帧。

视频输入接口156可以包括经由有线总线178连接一个或多个摄像机170、172、174、176的有线接口,诸如根据由USB制定者论坛公司(USB Implementers Forum,Inc)制定的USB规范2.0设置的通用串行总线(Universal Serial Bus,USB)。可替换地,或附加地,视频输入接口156可以包括经由空气接口与一个或多个摄像机170、172、174、176进行通信的无线接口,所述空气接口诸如以2.4GHz频率信号载送图像帧的空气接口。

视频输出接口160接收来自数据存储154、处理器152和/或视频输入接口156的图像帧,并经由视频电缆180将所接收图像帧传输到显示器168。在视频电缆180上所传输的图像帧可以包括RGB视频信号(也就是红色信号、绿色信号和蓝色信号)、S-视频信号、数字视频信号或其他类型的视频信号。可替换地,视频输出接口160可以经由空气接口将图像帧传输到显示器168。

处理器152可以包括一个或多个通用处理器(例如INTEL微处理器)和/或一个或多个专用处理器(例如,数字信号处理器、图形处理单元(graphic processing units,GPU),或单元处理器(cell processor))。处理器152可以执行计算机可读程序指令182,诸如可执行以实行在本说明书中所描述的任何功能或任何功能组合的程序指令。

举例来说,处理器152可以执行用于促使数据存储154在数据存储154的特定数据地址存储在视频输入接口156接收的图像帧的程序指令。

作为另一实例,处理器152可以执行用于在所接收图像帧的图像帧中检定一个或多个视频对象的程序指令。在捕获到包括视频对象的图像帧的时候,处理器152可以通过检测视频对象运动的方式来检定每一个视频对象,或者通过本领域普通技术人员已知的别的方式。

作为又一实例,处理器152可以执行用于分析每个视频对象的程序指令,以便生成与每个视频对象对应的分析数据,并促使数据存储154存储分析数据。

作为又一实例,处理器152可以执行用于促使在显示器168上显示图形用户界面(graphical user interface,GUI)的程序指令。下面将相对于附图4、5和6来描述关于GUI的细节。可由处理器152执行的程序指令的其他实例也是可能的。

数据存储154包括计算机可读媒体。计算机可读媒体可以包括易失性和/或非易失性存储组件,诸如光、磁、有机或其他存储器或盘存储,其可以整体地或部分地与处理器152集成。可替换地,整个计算机可读媒体可以远离于处理器152,并且经由系统总线162耦合至处理器152。

数据存储154可以存储各种类型的数据。例如,数据存储154可以存储可由处理器152执行的程序指令。作为另一实例,数据存储154可以存储多个图像帧184和与包含在多个图像帧184中的视频对象相对应的分析数据186。多个图像帧184可以包括表示多个图像帧的数字数据。表示多个图像帧的数字数据可以被设置为媒体文件、格式或压缩的任一种类型。可存储在数据存储154中的数据的其他实例也是可能的。

图2描绘了可连同在本说明书中描述的其他数据一起存储在数据存储154中的示例性数据集200。如图2所示,数据集200包含与由摄像机(video camera,VC)170捕获的图像帧(video frames,VF)相对应的第一数据子集202,与由摄像机172捕获的图像帧相对应的第二数据子集204,与由摄像机174捕获的图像帧相对应的第三数据子集206,和与由摄像机176捕获的图像帧相对应的第四数据子集208。与由指定摄像机捕获的图像帧相对应的数据可以包括由指定摄像机捕获的图像帧的标识器。多个图像帧184可以包括在图2中所标识的图像帧。

为图2的简单起见,数据子集202、204、206、208被显示成包括与十六(16)个图像帧相对应的数据。然而,在实行本发明的过程中,对多个摄像机(例如摄像机170、172、174、176)的每一个而言,数据存储154都可以包含与任何数量的图像帧相对应的数据。例如,对摄像机172而言,数据存储154可以包含与由每一个摄像机170、172、174、176捕获的一万(10,000)个图像帧相对应的数据。与每个摄像机的一万(10,000)个图像帧相对应的数据可以包括一万(10,000)个图像帧。

另外,尽管图2描绘了摄像机170、172、174、176均捕获同样数量的图像帧(即十六个图像帧),但可替换地,两个或更多的摄像机170、172、174、176可以捕获与由(一个或者多个)其他摄像机捕获的图像帧数量不相同数量的图像帧。

由摄像机捕获的每个图像帧都可以被分配以唯一的图像帧号码。如图2所示,由摄像机170捕获的图像帧被分配以1,000到1,015范围内整数的图像帧号。为了说明的目的,每个捕获的图像帧都被分配以比分配给先前捕获的图像帧的图像帧号更大的图像帧号。可替换地,或者附加地,分配给图像帧的图像帧号可以包括指示每个图像帧是何时捕获的时间戳。

在数据集200中所标识每个图像帧都包括至少一个视频对象。每个视频对象可以被分配以唯一的视频对象号。例如,图像帧1,000包括一个视频对象,即1号视频对象。作为另一实例,图像帧1,006包括七个视频对象,即9号、10号、11号、31号、32号、33号、34号视频对象。尽管在数据集200中所标识的每个图像帧都包括至少一个视频对象,但可替换地,可存储在数据存储154中的一个或多个另外的图像帧也可以不包括任何视频对象。

返回到图1,选择设备166可以包括可用于选择各种项的任何类型的选择设备。例如,选择设备166可以包括计算机鼠标,所述计算机鼠标(i)经由根据电子工业协会(Electronic Industries Alliance,EIA)RS-232标准或根据USB 2.0标准设置的串行电缆连接到选择设备接口158,或(ii)经由空气接口接口到选择设备接口158。

选择设备接口158提供到选择设备166的接口,并提供用于传输表示经由选择设备166所输入的选择的信号到处理器152中的装置。举例来说,选择设备接口158可以包括:(i)连接到系统总线162的网络接口卡,和(ii)用于接收选择设备166的串行电缆的连接器。

显示器168可以包括任何类型的显示器。例如,显示器168可以包括阴极射线管(cathode ray tube,CRT)显示器、液晶显示(liquid crystaldisplay,LCD)显示器,等离子平板显示器和/或诸如手持设备或膝上型计算机之类的便携式设备的显示器。显示器168的其他实例也是可能的。

在可替换实施例中,选择设备166可以至少部分与显示器168相集成。举例来说,选择设备166和显示器168可以被设置为触摸屏显示器,诸如电阻触摸屏显示器或电容触摸屏显示器。触摸屏显示器的其他实例也是可能的。

接下来,图3、4和5描绘了具有四个视频显示窗口的示例性图形用户界面(graphical user interface,GUI)400,所述四个视频显示窗口分别是视频显示窗口402、404、406、408。GUI 400可以在显示器168上显示。GUI 400可以具有大于或小于四个视频显示窗口的多个视频显示窗口。图3、4和5还描绘了GUI控制410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、442。关于GUI控制的细节描述如下。

一方面,视频显示窗口402、404、406、408均可以显示由单独的摄像机捕获的图像帧。例如,视频显示窗口402可以显示由摄像机170捕获的图像帧,视频显示窗口404可以显示由摄像机172捕获的图像帧,视频显示窗口406可以显示由摄像机174捕获的图像帧,以及视频显示窗口408可以显示由摄像机176捕获的图像帧。

另一方面,视频显示窗口402、404、406、408中的两个或更多个可以显示由单个摄像机捕获的图像帧。例如,视频显示窗口402、404均可以显示由摄像机170捕获的图像帧。在这点上,在视频显示窗口402中显示的图像帧可以包括由摄像机170在第一时间或在第一时段期间捕获的图像帧,在视频显示窗口404显示的图像帧可以包括由摄像机170在第二时间或在第二时段期间捕获的图像帧。在有些情况下,视频显示窗口402、404可以显示相同的图像帧。

在图3、4和5中,包含于图像帧中的视频对象可以利用矩形予以标识,而包含于图像帧中的所选择视频对象是利用椭圆予以标识的,诸如在图3中所示出的椭圆450。具体而言,由实线矩形标识的视频对象表明该视频对象已经被标识为与所选择视频对象最相匹配的视频对象,而由虚线矩形标识的视频对象表明该视频对象尚未被标识为与所选择视频对象最相匹配的视频对象。

矩形和椭圆不是由摄像机捕获的图像帧的一部分,但当经由GUI400显示图像帧时可以被置于图像帧上。用于表明在图像帧中存在视频对象的其他方式也可以被使用,诸如另一形状的轮廓线(例如,圆形、多边形和/或视频对象的轮廓线),并且用于表明存在所选择视频对象的其他方式也可以被使用。矩形或其他形状可以表示视频对象所有像素的外边界,所以视频对象包括所述形状内的所有像素。

在图3中,图像帧1,009被显示在图像帧窗口402中,图像帧2,000被显示在图像帧窗口404中,图像帧3,006被显示在图像帧窗口406中,以及图像帧4,009被显示在图像帧窗口408中。图像帧1,009包括视频对象15、16、26、27。图像帧2,000包括视频对象111、137、138。图像帧3,006包括视频对象231、232、233、247、248。图像帧4,009包括视频对象335、336。如椭圆450所标识的,视频对象335是所选择的视频对象。在图3中,分别在图像帧1,009、2,000、3,006和4,009中的视频对象15、111、231和335已经被标识为与所选择视频对象335最相匹配的视频对象。

图4描述了经由GUI 400显示的第二图像帧集。具体而言,图像帧1,014被显示在图像帧窗口402中,图像帧2,002被显示在图像帧窗口404中,图像帧3,011被显示在图像帧窗口406中,以及图像帧4,014被显示在图像帧窗口408中。在图像帧3,011中,视频对象250是所选择视频对象,如由椭圆500所指示。图4图示了在执行对与所选择视频对象250最相匹配的视频对象的搜索之前的GUI 400。换句话说,图4中的每个视频对象都是利用虚线矩形予以标识的。

在执行对与所选择视频对象250最相匹配的视频对象的搜索之后,图像帧窗口406可以继续显示图像帧3,011,以便显示所选择视频对象250,而图像帧窗口402、404、406可以分别继续显示图像帧1,014、2,002和4,014,或分别由摄像机170、172和176捕获的其他图像帧。在进行对与所选择视频对象250最相匹配的视频对象的搜索之后,在GUI 400显示的每个图像帧可以包括由实线矩形标识的视频对象,所述实线矩形表明那个视频对象与所选择视频对象250最相匹配。可替换地,如果在由指定摄像机(例如摄像机170)捕获的图像帧中没有视频对象被标识为与所选择视频对象最相匹配,那么针对指定摄像机的图像帧窗口402可以提供关于没有图像帧被指定摄像机捕获的指示。所述指示可以是空白视频显示窗口、图像帧测试图形或其它的指示。

图5描述了经由GUI 400显示的第三图像帧集。具体而言,图像帧1,006被显示在图像帧窗口402中,图像帧2,005被显示在图像帧窗口404中,图像帧3,009被显示在图像帧窗口406中,以及图像帧4,003被显示在图像帧窗口408中。在图像帧3,009中,视频对象236是选择的视频对象,如由椭圆650所指示的。图5图示了在执行对与所选择视频对象236最相匹配的视频对象的搜索之后的GUI 400。在图像帧1,006、2,005、3,009和4,003中,视频对象32、121、236和323已经被分别标识为与所选择视频对象236最相匹配的视频对象。

指定对象可以出现在由单个摄像机捕获的非连续系列图像帧中。例如,如果摄像机170捕获了指定区域的图像帧,那么摄像机170可能捕获(i)当指定对象位于指定区域内时的第一数目的图像帧,(ii)在指定对象已经离开指定区域之后的第二数目的图像帧,以及(iii)在指定对象已经返回到指定区域之后的第三数目的图像帧。根据本发明,对包括与指定对象匹配的视频对象的图像帧的搜索可以导致从由单个摄像机捕获的非连续系列图像帧中标识出视频对象。

3.图形用户界面(GUI)控制

图3、4和5描绘了可被用来控制GUI 400的GUI控制410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、442。选择设备166可被用来选择一个GUI控制以便促使处理器152执行促使GUI控制功能被实行的程序指令。图3描绘了可被用来选择GUI控制中的每一个的光标175。

GUI控制410包括(i)CONFIG控制410A,(ii)CONTINUE控制410B,(iii)FORWARD控制410C,(iv)QUIT控制410D,(v)RESET控制410F,(vi)PRESET 1控制410G,(vi)PRESET 2控制410H,(vii)PRESET 3控制410I,(viii)PRESET 4控制410J,以及(x)PRESET 5控制410K。

CONFIG控制410A的选择可以促使处理器152执行下述程序指令,所述程序指令促使在显示器168上显示GUI配置屏幕。可以在视频显示窗口402、404、406、408的至少一部分上显示GUI配置屏幕。配置屏幕可被用来配置与GUI 400相关联的各种参数中的任何参数,诸如亮度参数、颜色参数和/或在显示器168内改变GUI 400的位置的位置参数。可经由配置屏幕配置的参数的其他实例也是可能的。

CONTINUE控制410B的选择可以促使处理器152执行下述程序指令,所述程序指令促使视频显示窗口402、404、406、408实时或基本实时地显示所捕获的图像帧。例如,如果视频显示窗口402、404、406、408正分别显示图像帧1,002、2,013、3,007、4,011,并且如果图像帧1,002、2,002、3,002、4,002是同时或基本同时被捕获,那么CONTINUE控制410B的选择可以促使视频显示窗口402、404、406、408分别显示图像帧1,002、2,002、3,002、4,002,尔后,按图像帧被捕获的次序(即按连续次序)显示图像帧。

FORWARD控制410C的选择可以促使处理器152执行下述程序指令,所述程序指令促使视频显示窗口402、404、406、408开始(或连续)根据每个图像帧被捕获的时间来正向显示图像帧。例如,如果当选择FORWARD控制410C时视频显示窗口402正在显示图像帧1,006,那么视频显示窗口402尔后将显示图像帧1,007、1,008、1,009、1,009、1,010、1,011、1,012、1,013、1,014、1,015,并且然后按照其它图像帧被捕获的次序来显示由摄像机170捕获的任何其他图像帧。视频显示窗口404、406、408将类似地从当前正显示的图像帧开始按捕获次序显示图像帧。

QUIT控制410D的选择可以促使处理器152执行下述程序指令,所述程序指令促使GUI 400关闭/退出,以便显示器168不再显示GUI 400直到处理器152执行开启GUI 400的程序指令为止。

RESET控制410F的选择可以促使处理器152执行下述程序指令,所述程序指令促使删除先前的搜索结果或允许利用新数据覆盖先前的搜索结果。例如,这些程序指令可以促使删除第一列表和第二列表,所述第一列表标识与所选择视频对象335最相匹配的视频对象,所述第二列表指示要显示的图像帧集。在按压RESET控制410F之后和再次搜索分析数据之前,可以禁止如下所述的GUI控制412、418、420、426、428、434、436、442。

PRESET 1控制410G、PRESET 2控制410H、PRESET 3控制410I、PRESET 4控制410K和PRESET 5控制410L均可以与先前对指定的所选择视频对象进行的搜索相关联。例如,PRESET 1控制410G可以与对所选择视频对象335进行的搜索相关联。这样,当诸如视频对象11之类的另一视频对象是最新选择的视频对象时,对PRESET 1控制410G的选择可以促使处理器152执行下述的程序指令,所述程序指令促使视频显示窗口显示包括与所选择视频对象335最相匹配的视频对象的图像帧。类似地,PRESET 2控制410H可以与对所选择视频对象250所实行的搜索相关联,PRESET 3控制410I可以与对所选择视频对象236所实行的搜索相关联。对PRESET 2控制410H的选择可以促使处理器152执行下述程序指令,所述程序指令促使视频显示窗口显示包含与所选择视频对象250最相匹配的视频对象的图像帧,对PRESET 3控制410K的选择可以促使处理器152执行下述程序指令,所述程序指令促使视频显示窗口显示包括与所选择视频对象236最相匹配的视频对象的图像帧。

GUI控制410还包括帧率显示器410E,所述帧率显示器410E用于显示在视频显示窗口中正显示的图像帧的帧率。如图2所示,帧率是每秒30帧。GUI控制410可以包括其他控制(未示出),所述其他控制用于将帧率改变为除每秒30帧以外的帧率。在可替换实施例中,GUI控制410可以包括多个帧率显示器,诸如针对视频显示窗口402、404、406、408中的每一个的不同的帧率显示器。

GUI控制412、420、428、436均分别包括用于视频显示窗口402、404、406、408的PREVIOUS MATCH控制(“<Match”)。对GUI控制412的选择可以促使处理器152执行下述的程序指令,所述程序指令促使视频显示窗口402显示由摄像机170捕获并包括如下视频对象的图像帧:所述视频对象比当选择GUI控制412时在视频显示窗口402显示的图像帧中的视频对象最佳匹配于所选择的视频对象。GUI控制420、428、436分别提供与视频显示窗口404、406、408类似的控制。

GUI控制414、422、430、438均包括分别用于视频显示窗口402、404、406、408的BACKWARD控制。对GUI控制414的选择可以促使处理器152执行下述的程序指令,所述程序指令促使视频显示窗口402在与下述时刻最接近的时刻以及在下述时刻之前显示由摄像机170捕获的图像帧,所述时刻是当选择GUI控制414时摄像机170捕获正在显示的图像帧的时刻。如果视频显示窗口402正显示针对摄像机170的数据存储154中所存储的最早捕获的图像帧,那么因为没有更早的由摄像机170捕获的图像帧能被显示,所以GUI控制414可以被禁止。对于视频显示窗口404、406、408而言,GUI控制422、430、438分别可以促使类似功能被实行。

GUI控制416、424、432、440均包括分别用于视频显示窗口402、404、406、408的NEXT MATCH控制(“>Match”)。对GUI控制416的选择可以促使处理器152执行下述程序指令,所述程序指令促使视频显示窗口402显示由摄像机170捕获的并包括下述视频对象的图像帧:所述视频对象与当选择GUI控制416时在视频显示窗口402显示的图像帧中的视频对象相比下一个最佳匹配于所选择的视频对象。GUI控制424、432、440分别提供对视频显示窗口404、406、408的类似控制。

GUI控制418、426、434、442均包括分别用于视频显示窗口402、404、406、408的FORWARD控制。对GUI控制418的选择可以促使处理器152执行下述程序指令,所述程序指令促使视频显示窗口402在与下述时刻最接近的时刻以及在下述时刻之后显示由摄像机170捕获的图像帧:所述时刻是当选择GUI控制418时摄像机170捕获了正在显示的图像帧时。如果视频显示窗口402正显示针对摄像机170的数据存储154中所存储的最新捕获的图像帧,那么由于没有更晚的由摄像机170捕获的图像帧以供显示,所以GUI控制418可以被禁止。针对视频显示窗口404、406、408,GUI控制426、434、442可以分别促使类似功能被实行。

4.示例性操作

图6是提供以图示根据本发明示例性实施例的可被实行的功能集的流程图。出于说明的目的,在图2中所标识的图像帧和视频对象被用来解释图6的功能。然而,对本领域的普通技术人员而言能很容易实现的是:对于大于图2所示的视频对象数量的一些视频对象和/或大于图2所示的图像帧数量的一些图像帧,也可以实行图6所示的功能。

如图6所示,块600包括存储与多个视频对象相对应的分析数据186和多个图像帧184。多个视频对象的每个视频对象可通过显示多个图像帧184中包括那个视频对象的图像帧的方式来显示。分析数据186可以包括能够被比较以判断两个视频对象相匹配的接近程度的数据。

与分析数据186相对应的多个视频对象包括在所存储的图像帧内所包含的视频对象。对所存储的每一个图像帧而言,处理器152可以执行程序指令来:(i)检定图像帧是否包含视频对象,(ii)生成针对所检定的每个视频对象的分析数据,以及(iii)促使数据存储154存储分析数据186。

检定图像帧是否包含视频对象的程序指令可以包括下述程序指令,所述程序指令实行现在巳知的或以后开发的任何用于在图像帧内检定视频对象的方法。类似地,生成针对每个所检测视频对象的分析数据的程序指令可以包括下述程序指令,所述程序指令实行现在巳知的或以后开发的任何用于生成分析数据186的方法。

生成分析数据可以以多种方式来实行。例如,生成分析数据可以通过对图像帧内的视频对象进行分段(segmenting)然后表示每个分段视频对象的特征的方式来实行。举例来说,特征表示可以是颜色外观信息,也就是说,分析数据186可以包括以视频对象的一种或多种颜色为基础的颜色数据。以视频对象的一种或多种颜色为基础的分析数据186可以包括任何类型的颜色数据。例如,对于任何指定视频对象,颜色数据可以包括红绿蓝(Red Green Blue,RGB)颜色空间数据,色调饱和值(HueSaturation Value,HSV)颜色空间数据,YCrCb颜色空间数据和/或YUV颜色空间数据。

作为另一实例,分析数据186可以包括以像素强度为基础的数据,表示哪些像素是视频对象一部分的数据,视频对象的唯一标识器,和/或与视频对象相关联的结构信息。结构信息例如可以包括与视频对象的边缘、曲率和/或纹理有关的信息。结构信息可以包括指示视频对象的结构与圆形、矩形、星形或其它任意形状的匹配程度的信息。

分析数据186还可以包括在分析数据186中其他类型数据的信用量度(confidence measure)。信用量度可以指示视频对象有多么可能是某种类型对象的确定,所述对象诸如车辆、人、动物、袋子或其他类型对象。分析数据186可以包括如下文所述的协方差矩阵(covariancematrix)。

一方面,处理器152可以在将多个图像帧184存储到数据存储154之后分析图像帧以生成分析数据186,尔后,促使数据存储154存储分析数据186。另一方面,处理器152可以促使数据存储154存储多个图像帧184,并同时或基本上同时存储分析数据186。例如,视频输入接口156可以接收多个图像帧184,处理器152可以分析多个图像帧184以生成分析数据186,尔后,多个图像帧184和分析数据186可以被存储在数据存储154中。

接下来,块602包括接收对在多个图像帧186中的指定图像帧中显示的视频对象的选择。选择设备接口158可以从选择设备166接收选择,尔后将该选择提供给处理器152。选择设备166可被用来选择视频对象。举例来说,选择设备166可被用来在视频显示窗口208中的视频对象335上移动光标175,并通过点击选择设备166的按钮(例如,点击计算机鼠标的按钮)来选择视频对象335。

当选择设备166选择视频对象335时视频显示窗口208可以在各种模式中的任何模式下运行。举例来说,视频显示窗口208可以在下述模式下运行:在所述模式中视频显示窗口208自动地以大于每秒0帧的帧率来改变正显示的图像帧。以每个图像帧被捕获的时间为基础,图像帧可以被正向(或反向)显示。在选择视频对象335之后,视频显示窗口208可以进入暂停模式,在所述暂停模式中视频显示窗口208显示一个图像帧(例如包含所选择视频对象335的图像帧4,009)并且不自动变换成显示另一图像帧。处理器152可以响应于接收选择来促使视频显示窗口208进入暂停模式。作为另一实例,当选择设备166选择视频对象335时,视频显示窗口208可以在暂停模式下运行(显示图像帧4,009)。

接下来,块604包括搜索分析数据子集以便标识与所选择视频对象335最相匹配的多个视频对象,并创建第一列表。第一列表可以标识与所选择视频对象335最相匹配的视频对象的号。第一列表可以包括所选择视频对象335,但是并非必须包括所选择视频对象。在块604中实行的搜索是“种子搜索”。

如上所指示的,分析数据子集可以包括这样的分析数据:所述分析数据将与所选择视频对象335最相匹配的视频对象相对应的概率高。具体而言,分析数据子集可以包括与下述图像帧相对应的分析数据:所述图像帧包括与所选择视频对象335最相匹配的视频对象的概率最高。

任何种方法可被用来确定具有包括与所选择视频对象335最相匹配的视频对象的概率最高的图像帧。出于说明目的,这些图像帧将被称为“最高概率图像帧”。最高概率图像帧可以包括由摄像机226捕获的多个图像帧,所述摄像机226捕获了包括所选择视频对象335的指定图像帧4,009。在这点上,由摄像机226捕获的图像帧可以包括:(i)在捕获图像帧4,009前即刻由摄像机226捕获的第一数目的图像帧,(ii)在捕获图像帧4,009之后即可由摄像机226捕获的第二数目的图像帧,或者(iii)这些图像帧的组合。在捕获指定图像帧4,009前或后捕获的最高概率图像帧可以在连续的一段时间期间捕获。最高概率图像帧可以包括图像帧4,009,所述图像帧4,009包括所选择视频对象335。

分析数据子集可以包括与第一数目的数据帧内的视频对象相对应的分析数据,和/或与第二数目的图像帧内的视频对象相对应的分析数据。第一数目的图像帧和第二数目的图像帧可以是相同数目的或不同数目的。第一数目的图像帧或第二数目的图像帧可以是零。第一数目的图像帧和第二数目的图像帧可以由选择设备166选择,或由生成GUI 400的程序指令制造商预编程。

举例来说,分析数据子集可以包括与下述视频对象相对应的分析数据:所述视频对象包含于在捕获图像帧4,009前即刻捕获的三个图像帧(即图像帧4,006、4,007、4,008)中,以及包含于在捕获图像帧4,009(即图像帧4,010、4,011、4,012)之后即刻捕获的三个图像帧中。本领域的普通技术人员将意识到:分析数据子集可以包括与大于6个图像帧的多个视频对象相对应的数据,所述图像帧诸如1,000、2000或其他数目的图像帧。

处理器152可以执行下述程序指令,所述程序指令促使处理器152将分析数据子集和与所选择视频对象335相对应的分析数据进行比较。响应于对数据进行比较,处理器152可以创建第一列表,所述第一列表标识与所选择视频对象335最相匹配的一个或多个视频对象。与所选择视频对象最相匹配的所标识视频对象可以包括下述视频对象,所述视频对象基本上与所选择视频对象完全匹配,和/或具有基本上类似于所选择视频对象特征的一个或多个特征(例如,颜色、纹理、结构信息等)。处理器152可以执行下述程序指令,所述程序指令促使数据存储154存储第一列表。

举例来说,第一列表可以标识视频对象329、333、334、337、338、341。另外,第一列表可以标识所选择视频对象335。响应于搜索分析数据子集而创建的第一列表的其他实例也是可能的。

接下来,块606包括对于在第一列表中所标识的每个视频对象,搜索分析数据186以便标识与在第一列表中所标识的那个视频对象最相匹配的视频对象。在块606所实行的搜索是对在第一列表中所标识的每个视频对象的分析数据186的“穷举搜索”。每个穷举搜索可以包括搜索与在数据存储154存储的所有图像帧相对应的分析数据186进行的搜索(例如,图像帧1,000至1,015、2,000至2,015、3,000至3,015和4,000至4,015)。

根据其中第一列表标识视频对象329、333、334、337、338、341的实例,对分析数据186的搜索可能涉及:(i)第一搜索,将与视频对象329相对应的分析数据和与包含于存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象329最相匹配的视频对象,(ii)第二搜索,将与视频对象333相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象333最相匹配的视频对象,(iii)第三搜索,将与视频对象334相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象334最相匹配的视频对象,(iv)第四搜索,将与视频对象337相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象337最相匹配的视频对象,(v)第五搜索,将与视频对象338相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象338最相匹配的视频对象,以及(vi)第六搜索,将与视频对象341相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象341最相匹配的视频对象。这些搜索中的两个或多个可以被顺序地实行和/或这些搜索中的两个或多个可以被同时实行。

另外,第七搜索可以被实行,用以将与视频对象335相对应的分析数据和与包含于数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象335最相匹配的视频对象。

表1指示包括所选择视频对象335的示例性第一列表和在如上所述的第一搜索至第七搜索期间所标识的视频对象的示例性列表。

  第一列表  在第一搜索至第七搜索期间所标识的视频对象  329  15,18,221,240,333,335  333  15,29,118,241,334,335  334  29,221,240,241,335  335  9,15,29,111,118,119,221,231,240,323,  329,333,334,337,338,341,343  337  15,18,111,334,335,338  338  15,111,118,240,334,335,337  341  30,111,112,229,234,341,335,343

表1

接下来,块608包括,对于与在第一列表中所标识的视频对象最相匹配的每个视频对象,计算那个视频对象被标识为与在第一列表中所标识的视频对象最相匹配的视频对象的出现次数。

处理器152可以执行下述程序指令,所述程序指令对出现次数进行计数。根据表1中所示的数据,对于在第一搜索至第七搜索期间所标识的视频对象中的每个视频对象,出现次数采用“视频对象号(出现次数/图像帧号)”的形式如下:9(1/1,006),15(5/1,009),18(2/1,011),29(3/1,014),30(1/1,014),111(4/2,000),112(1/2,001),118(3/2,004),119(1/2,005),221(3/3,000),229(1/3,005),231(1/3,006),234(1/3,007),240(4/3,011),241(3/3,012),323(1/4,003),329(1/4,006),333(2/4,007),334(4/4,008),335(6/4,009),337(2/4,010),338(2/4,011),341(1/4,012),343(2/4,014)。

接下来,块610包括创建第二列表。第二列表可以指示与在第一列表中所标识的视频对象最相匹配的每个所标识视频对象出现的计数数目。第二列表可以被存储在数据存储154中。第二列表可以以各种次序中的任何次序列出视频对象。例如,第二列表可以按从最常出现到最少出现的次序来列出视频对象(例如,335(6/4,009),15(5/1,009),111(4/2,000),240(4/3,011),334(4/4,008),29(3/1,014),118(3/2,004),221(3/3,000),241(3/3,012),18(2/1,011),333(2/4,007),337(2/4,010),338(2/4,011),343(2/4,014),9(1/1,006),30(1/1,014),112(1/2,001),119(1/2,005),229(1/3,005),231(1/3,006),234(1/3,007),323(1/4,003),329(1/4,006),341(1/4,012))。作为另一实例,第二列表可以按每个摄像机从最常出现到最少出现的次序(按摄像机170、172、174和176的次序)来列举视频对象(例如,15(5/1,009),29(3/1,014),18(2/1,011),9(1/1,006),30(1/1,014),111(4/2,000),118(3/2,004),112(1/2,001),119(1/2,005),240(4/3,011),221(3/3,000),241(3/3,012),229(1/3,005),231(1/3,006),234(1/3,007),335(6/4,009),334(4/4,008),333(2/4,007),337(2/4,010),338(2/4,011),343(2/4,014),323(1/4,003),329(1/4,006),341(1/4,012))。第二列表的其他实例也是可能的。

接下来,块612包括使用第二列表来标识多个图像帧中将要显示的图像帧集。处理器152可以执行下述程序指令:所述程序指令根据第二列表确定要显示的图像帧集。

举例来说,处理器152可以以出现次数为基础确定要显示的图像帧集包含第二列表中指定百分比(例如25%)的视频对象。在这点上,所述图像帧集可以包括6个图像帧,这6个图像帧包括最常出现的视频对象(例如,图像帧4,009、1,009、2,000、3,011、4,008、1,014)。在平局的情况下,诸如图像帧1,014、2,004、3,000、3,012均被三次标识为包括与第一列表中的视频对象最相匹配的视频对象,那么处理器152可以做出下述确定:具有相同出现次数的哪些图像帧包括与列表中的视频对象最佳匹配的视频对象,并包括该图像帧集中的一个或多个图像帧,以达到指定百分比的图像帧。

作为另一实例,处理器152可以确定要显示的图像帧集包括多个图像帧。例如,图像帧的数目可以包括50个图像帧。如果第二列表标识了少于50个图像帧或等于50个图像帧,那么该图像帧集包括由第二列表标识的所有图像帧。如果第二列表标识了大于50个图像帧,那么处理器152可以确定包括具有最大出现次数的视频对象的50个图像帧。

在标识要显示的图像帧集之后,GUI 400可以显示该图像帧集。具体而言,视频显示窗口402可以显示由摄像机170捕获的该图像帧集内的图像帧,视频显示窗口404可以显示由摄像机172捕获的图像帧集内的图像帧,视频显示窗口406可以显示由摄像机174捕获的图像帧集内的图像帧,以及视频显示窗口408可以显示由摄像机176捕获的图像帧集内的一个或多个图像帧。如果摄像机没有捕获到图像帧集中的任何图像帧,那么与那个摄像机相对应的视频显示窗口可以测试图形图像帧(例如固定蓝屏幕),先前显示的图像帧,或其它的图像帧。

另外,当正在显示图像帧集中的任何图像帧时,或者正在显示其它的图像帧时,对于另一所选择的视频对象,可以重复块600至612中的一个或多个。对块600至612中的一个或多个进行重复可以实行用户所需的次数。

图7是所提供的以图示根据本发明的示例性实施例的可以被实行另一功能集的流程图。出于说明目的,在图2中所标识的图像帧和视频对象被用来解释图7的功能。然而,本领域的普通技术人员将能意识到:对于大于图2所示数量的视频对象和/或对于大于图2所示数量的图像帧,可以实行图7所示的功能。

如图7所示,块700包括存储与多个视频对象相对应的分析数据和多个图像帧。多个视频对象中的每个视频对象可通过显示多个图像帧中包括那个视频对象的图像帧来显示。如上所述可以相对于块600的功能来实行块700的功能。

接下来,块702包括接收对可在多个图像帧的指定图像帧中显示的第一视频对象的选择。如上所述可以相对于块602的功能来实行块702的功能。举例来说,对于块702的所选择视频对象可以是视频对象335,其可以在图像帧4,009中显示。

接下来,块704包括搜索分析数据以获取与第一所选择视频对象335最相匹配的视频对象,以便标识第一图像帧集。搜索分析数据可以包括处理器152执行下述程序指令:所述程序指令促使处理器152将与视频对象335相对应的分析数据与和可在数据存储154存储的视频帧中显示的每个视频对象相对应的分析数据进行比较。在这点上,处理器152进行对分析数据的穷举搜索。

针对所选择视频对象335在块704所实行的搜索可以和针对视频对象335所实行的第七搜索是同样的,如相对于块606所述的那样。处理器152可以将视频对象9、15、29、111、118、119、221、231、240、323、329、333、334、337、338、341、343标识为与所选择视频对象335最相匹配的视频对象。在这点上,第一图像帧集包括图像帧1,006、1,009、1,014、2,000、2,004、2,005、3,000、3,006、3,011、4,003、4,006、4,007、4,008、4,010、4,011、4,012、4,014。这些图像帧中的每一个包括第一图像帧集中的一个视频对象。可替换地,第一图像帧集中的一个或多个图像帧可以包括多个视频对象,所述视频对象是在对分析数据进行搜索以获取与第一所选择视频对象335最相匹配的视频对象期间予以标识的。第一图像帧集可以包括包含所选择视频对象的图像帧(例如图像帧4,009)。

另外,第一视频对象集的列表和/或包括第一视频对象集的图像帧可以被生成。该列表可以按照每个视频对象与所选择视频对象335的匹配程度的次序来标识视频对象和/或图像帧。例如,该列表可以按以下次序标识视频对象(以及括号内的图像帧):333(4,007),334(4,008),337(4,010),118(2,004),9(1,006),338(4,011),231(3,006),221(3,000),343(4,014),29(1,014),240(3,011),15(1,009),329(4,006),323(4,003),119(2,005),111(2,000),341(4,012)。多个列表中的每一个按照每个视频对象与所选择视频对象335的匹配程度的次序来标识图像帧。

可替换地,该列表可以包括多个列表,其中多个列表中的每一个标识由各个摄像机在图像帧上捕获的视频对象。例如,以由摄像机170捕获的第一视频对象集为基础的第一列表可以将所标识视频对象标识为9(1,006),29(1,014),15(1,009),以由摄像机172捕获的第一视频对象集为基础的第二列表可以将所标识的视频对象标识为118(2,004),119(2,005),111(2,000),以由摄像机174捕获的第一视频对象集为基础的第三列表可以将所标识视频对象标识为231(3,006),221(3,000),240(3,011),以由摄像机176捕获的第一视频对象集为基础的第四列表可以将所标识视频对象标识为333(4,007),334(4,008),337(4,010),338(4,011),329(4,006),323(4,003),341(4,012)。

接下来,块706包括显示第一图像帧集的至少一部分。显示第一图像帧集的至少一部分的步骤可以以各种方式中的任何方式来实行。

举例来说,该所标识图像帧集的至少一部分可以按照每个视频对象与所选择视频对象335的匹配程度的次序来显示。例如,视频显示窗口402、404、406均可以显示分别由摄像机170、172、174捕获的图像帧,所述图像帧包括被排列为与所选择视频对象335最相匹配的(由那个摄像机捕获的)视频对象,视频显示窗口408可以显示包括所选择视频对象335的图像帧4,009。例如,视频显示窗口402、404、406分别可以显示图像帧1,006、2,004和3,006。

一方面,当显示图像帧1,006时,GUI控制418(“MATCH>”)可以被选择以促使视频显示窗口402显示图像帧(例如,图像帧1,014),所述图像帧包括由摄像机170在图像帧中捕获的下一个最佳匹配视频对象(例如视频对象29),然后GUI控制418可以被再次选择以促使视频显示窗口402显示图像帧(例如图像帧1,014),所述图像帧包括由摄像机170在图像帧中捕获的下一个最佳匹配视频对象(例如,视频对象29)。这样,与按照以图像帧被捕获的次序显示图像帧的方式相比,视频显示窗口402可以按照图像帧中视频对象与所选择视频对象的匹配程度的次序来显示图像帧。当GUI控制426、434、442分别被选择时,视频显示窗口404、406、408可以类似地起到显示分别由摄像机172、174、176捕获的图像帧的作用。

另一方面,在显示图像帧1,006时,GUI控制416(“FORWARD”)可以被选择以促使视频显示窗口402在捕获图像帧1,006之后以摄像机170捕获图像帧的次序(即图像帧1,007、1,008、1,009...1,015)来开始显示由摄像机170捕获的图像帧。这样,视频显示窗口402可以开始显示图像帧,所述图像帧不在所标识的图像帧集中。当GUI控制424、432、440分别被选择时,视频显示窗口404、406、408可以类似地起到显示分别由摄像机172、174、176捕获的图像帧的作用。

另一方面,在处理器152确定了第二图像帧集时,视频显示窗口402、404、406、408就可以自动显示分别由摄像机170、172、174、176捕获的图像帧。

所述图像帧集的至少一部分可以以各种帧率中的任何帧率予以显示。例如,一个或多个视频显示窗口402、404、406、408可以以摄像机170、172、174、176分别捕获图像帧的帧率(例如每秒30帧)来显示图像帧。作为另一实例,一个或多个视频显示窗口402、404、406、408可以显示通过用户多长时间选择一次GUI控制所确定的图像帧率。

接下来,块708包括接收对显示在第一图像帧集的所显示部分的图像帧中的第二视频对象的选择。参照图1和4,举例来说,选择设备接口158可以从选择设备166接收对图像帧3,011中的视频对象250的选择。选择设备接口158可以将该选择提供给处理器152以便响应于接收到该选择而触发程序指令的执行。

由于视频对象250和视频对象240之间的交互,视频对象250可以被选择,其中所述视频对象250如图3所示,被标识为图像帧3,011中与第一所选择视频对象335最相匹配的视频对象。触发对视频对象的选择的交互可以是各种类型交互中的任何交互。例如,该交互可以包括视频对象250在视频对象240指定距离内,视频对象250在视频对象240的前方或后方通过,视频对象250在视频对象240的左侧或右侧通过,视频对象240提供物品(item)(例如包裹)给视频对象250或从视频对象250接收物品,或在视频对象240和250之间可以发生的其它交互。在视频对象240和250之间的指定距离可以是范围在0.0米至4.0米范围内的距离,或其他的距离。所述交互可以由处理器152确定,或由用户查看第一图像帧集来确定。

在视频显示窗口406处于显示图像帧3,011的暂停模式下时,或者在视频显示窗口406处于视频显示窗口406周期性地从一个图像帧变化到另一图像帧而无需用户必须选择GUI控制的模式下时,选择设备接口158可以接收对视频对象250的选择。

接下来,块710包括搜索分析数据以获取与第二所选择视频对象240最相匹配的视频对象,以便标识第二图像帧集。第二图像帧集中的每一个图像帧都包括至少一个被标识为下述图像帧的视频对象:所述图像帧包括与第二所选择视频对象240最相匹配的视频对象。搜索分析数据可以包括处理器152进行对分析数据的穷举搜索。

第二视频对象集可以包括由一个或多个摄像机170、172、174、176捕获的图像帧内的视频对象。第二视频对象集可以包括等于预定数目的多个视频对象。举例来说,预定数目可以是50,这样第二视频对象集就包括与第二所选择选择视频对象240最相匹配的50个视频对象。作为另一实例,诸如当多个视频对象包括少于预定数目的、与第二所选择视频对象240最相匹配的视频对象时,第二视频对象集可以包括少于预定数目的多个视频对象。第二视频对象集可以包括大于、小于或等于第一视频对象集中视频对象数量的多个视频对象。

举例来说,处理器152可以将视频对象2、12、32、121、124、238、242、243、245、246、247、251、323、325、329、335、339标识为与所选择视频对象240最相匹配的视频对象。在这点上,处理器152可以对第二图像帧集进行标识以包括图像帧1,001、1,006、1007、2,005、2,007、3,006、3,009、3,010、3,012、3,013、3,014、3,015、4,003、4,004、4,006、4,009、4,011。第二图像帧集可以包括包含所选择视频的图像帧(例如图像帧3,011)。

另外,第二视频对象集和/或包含第二视频对象集的图像帧的列表可以被生成。该列表可以以按照每个视频对象与第二所选择视频对象240的匹配程度的次序来标识第二集的视频对象和/或包含第二集中的视频对象的图像帧。可替换地,该列表可以包括多个列表,其中多个列表中的每一个按照视频对象与第二所选择视频对象的匹配程度的次序包含第二集的和在由各个摄像机捕获的图像帧上的视频对象。这些多个列表中的每一个都可以包含与在那个列表中的视频对象相对应的图像帧。

接下来,块712包含显示第二图像帧集的至少一部分。显示第二图像帧集的至少一部分可以以各种方式中的任何方式来实行。GUI 400的GUI控制可被用来选择显示第二集中的哪些图像帧。

举例来说,第二图像帧集的至少一部分可以按照每个视频对象与所选择视频对象240的匹配接近程度的次序来显示。例如,视频显示窗口402,404,408均可以显示分别由摄像机170、172、176捕获的图像帧,其包含被排列为与所选择视频对象240最相匹配的(由此摄像机捕获的)视频对象,以及视频显示窗口406可以显示包含所选择视频对象240的图像帧3,011。例如,视频显示窗口402、404、408可以分别显示图像帧1,001、2,007和4,014。

一方面,在显示图像帧1,001时,GUI控制418(“MATCH>”)可以被选择以促使视频显示窗口402显示由摄像机170捕获的图像帧中包含下一个最佳匹配视频对象(例如,视频对象12)的图像帧(例如图像帧1,007),然后GUI控制418可以被再次选择以促使视频显示窗口402显示由摄像机170捕获的图像帧中包含下一个最佳匹配视频对象(例如,视频对象32)的图像帧(例如图像帧1,006)。这样,视频显示窗口402可以以基于图像帧中视频对象与所选择视频对象的匹配程度的次序来显示图像帧。当分别选择GUI控制426、434、442时,视频显示窗口404、406、408可以起到类似于显示分别由摄像机172、174、176捕获的图像帧的作用。

另一方面,在显示图像帧1,001时,GUI控制416(“FORWARD”)可以被选择以促使视频显示窗口402在捕获图像帧1,001之后以摄像机170捕获图像帧的次序(即图像帧1,002、1,003、1,004...1,015)开始显示由摄像机170捕获的图像帧。这样,视频显示窗口402可以开始显示不在所标识的图像帧集中的图像帧。当分别选择GUI控制424、432、440时,视频显示窗口404、406、408可以起到类似于显示分别由摄像机172、174、176捕获的图像帧的作用。

第二图像帧集的至少一部分可以以各种帧率中的任何帧率进行显示。例如,视频显示窗口402、404、406、408中一个或多个可以以摄像机170、172、174、176分别捕获图像帧的帧率(例如,每秒30帧)来显示图像帧。作为另一实例,视频显示窗口402、404、406、408中一个或多个可以显示通过用户多长时间选择一次GUI控制所确定的图像帧率。

对于用户在一个图像帧中所选择的每个视频对象都可以重复地执行下述功能,接收对图像帧集的显示部分的图像帧中的视频对象的选择,搜索分析数据,以及显示另一图像帧集的至少一部分,如在块708、710、712中那样。

5.关于协方差外观使用聚类的视频数据匹配

图像帧内的每个视频对象可以与外观模型相关联。视频数据匹配既包含单个数据区域也包括区域数据序列。在实施例中,视频处理系统根据扩充(populate)第一矩阵行的相似性量度从与测试外观模型相对应的该第一矩阵行中选择一个或多个其他外观模型。在选择一个或多个其他外观模型之后,该系统然后从与在第一个步骤中所选择的一个或多个其他外观模型相对应的其他矩阵行中,根据与扩充该其他矩阵行的相似性量度选择一个或多个另外的外观模型。该系统然后对从第一矩阵行和其他矩阵行中选择的外观模型进行排列。

本发明的实施例包括在由机器可读媒体(例如数据存储154)提供的机器可执行指令(例如程序指令182)中实现的特征、方法或过程。机器可读媒体包含能提供(即存储和/或传输)机器(例如计算机、网络设备、个人数字助理、制造工具、具有一个或多个处理器集的任何设备等)可存取形式的信息的任何机制。在示例性实施例中,机器可读媒体包含易失性和/或非易失性介质(例如只读存储器(read only memory,ROM),随机存取存储器(random access memory,RAM),磁盘存储介质,光存储介质,闪速存储设备等),以及电学、光学、声学或其他形式的传播信号(例如载波、红外信号、数字信号等))。

这样的指令被用来促使利用指令编程的通用或专用处理器(例如处理器152)执行本发明实施例的方法或过程。可替换地,本发明实施例的特征或操作可以由包括用于执行操作的硬接线逻辑的特定硬件组件来执行,或由编程的数据处理组件和特定硬件组件的任何组合来执行。本发明的实施例包含数字/逻辑信号处理系统、软件、数据处理硬件、数据处理系统实现的方法,以及在此将另外描述的各种处理操作。

在一个或多个实施例中,系统和方法查询相应的视频数据。视频数据可以是一个图像帧,或者数据的图像帧或图像系列帧内的区域,或者一个对象的图像帧内的区域。不是该一个图像帧就是图像帧数据和数据的聚类(cluster)内的区域(例如共享类似性能的区域的组、轨迹(track)等)能够处于多照像机监视系统(例如系统150)中。当相同的对象或人出现在那些帧或聚类(例如,轨迹)中时,数据的帧或块(blob)(区域)或者一个轨迹内的一个区域与另一区域或块(区域)或另一轨迹相对应。

在本系统中,对象的轨迹可以出现在非重叠的照像机中。例如,作为第一个步骤,对于序列匹配(sequence matching)而言,在每个摄像机中都追踪多个目标。在建立了每个独立摄像机的轨迹之后,协方差矩阵被用作轨迹中帧内的每个区域的外观模型。合并聚类(agglomerativeclustering)(或其他类型基于相似性的聚类)对每个轨迹中的帧内的相似区域重新进行分组。对每个聚类中的区域数目进行计数,并且如果特定聚类中的区域数目小于阈值,则那个聚类被看成是无关的(outlier)并且其不会被进一步处理。进行计算以确定每个有效聚类的典型区域,以便每个轨迹都可以由若干典型区域表示。对于表示特定聚类的每个区域建立基于自协方差(autocovariance-based)的外观模型。然后通过计算在查询轨迹(或聚类)和一个或多个候选轨迹或聚类之间的Hausdorff(豪斯多夫)距离来确定相似轨迹(或聚类)的匹配。

在所述系统的一个实施例中,假设运动检定和运动是容易获得的,并且个别人和/或对象的轨迹也可能是可获得的(对象的轨迹可以是可获得的,但不是必需的)并被预存储。也就是说,它是法医鉴定法(forensicanalysis):操作员(或自动化系统)正对系统进行查询(即提供感兴趣区域或模板),并且区域或轨迹是容易获得的。来自照相机集(例如摄像机170、172、174、176)的视频数据被提供给当前公开的系统的实施例,并且该系统运行其所有处理以关联横过所有摄像机的视频中的对象和人,并将结果存储在被设计用于快速查询的数据结构(例如数据存储154)中。无论何时可获得的追踪提供了对视域中所检定的移动区域的暂时空间描述。

在该系统的实施例中,假设感兴趣区域(静止的人、移动的人、静止的脸、移动的脸、静止的车辆、移动的车辆、移动的区域等)是容易获得的,并可被增以跟踪信息。也就是说,它是法医鉴定法,操作员(或自动化系统)正进行对系统的查询(即提供感兴趣的区域或模板),并且区域或轨迹是容易获得的。来自照相机集的视频数据被提供给当前公开的系统的实施例,并且该系统运行其所有处理以关联横过所有照像机的视频数据中的对象,并将结果存储在被设计成用于快速查询的数据结构中。

在该系统的实施例中,假设感兴趣区域(如上所述)是联机(即实时的)计算的并被提供给当前公开的系统的实施例,并且该系统运行其全部处理以关联横过所有摄像机的视频数据中过去观测到的对象,并将结果存储在被设计成用于快速查询的数据结构中。

所公开的视频处理系统的各种实施例集中于该系统的查询方面。也就是说,用户可以通过提供他们正寻找的人和/或对象的样本(example)来搜索视频数据库。这有时被称为样本查询。系统的一个用途是确定事件前所采取的动作。例如,通过检查一周内营业所中安全系统所记录的视频数据,人们可以确定特定人通过建筑的路径,或显出在那个特定星期内建筑物中与该特定人有过交互的所有人的列表。

在实施例中,使用基于外观模型的协方差矩阵。具体地,该协方差矩阵外观模型用于进行单个摄像机内和具有多个摄像机的查询。协方差外观模型具有若干优点。第一,它能够高效地融合许多不同种类的特征。第二,它不需要对象的运动信息,第三,它可以处理由非静止照像机所观测的固定和非固定对象。因此,对于对象的姿势和照明变化是鲁棒的,当跟踪通过不同的照像机时可能出现这样的变化。当视频档案库包含来自非重叠的照像机的视频数据时这特别有利,其中不同的照像机的视野可以是不同的,并且对象外观的大小、姿势和形状可能变化很大。

在该系统的一个特定实施例中,该系统根据块(blob)外观模型进行其视频数据的查询。在此实施例中,对于块的外观模型是被首先定义的。因为这种系统的目标是支持未校准的非重叠的照像机,所以外观模型必须对颜色、大小、姿势及其他类似外观因素上的改变是鲁棒的。

为了生成外观模型,使用基于协方差矩阵的方法。该方案的优点是融合不同种类的特征的能力,并且其具有小的维数。当利用大的视频档案库运行时,低的维数是有益的。在特征集上使用下述公式来建立协方差矩阵,其中特征集被指定为fk。特征集由空间和外观属性组成。

并且该协方差由下述定义:

C=∑(fkR)(fkR)T    (2)

以上定义的特征集fk使用影像强度值。fk的其他变化也可以被使用,诸如利用颜色影像和相应的RGB描述:

诸如色彩饱和度值(Hue-Saturation-Value,HSV)或YCrCb或YUV等之类的其他颜色空间也可以被考虑。

在系统中生成对于每个对象的基于协方差的外观模型之后,比较模型的相似性。在两个模型之间的距离在下面方程3中给出:

ρ(Ci,Cj)=Σk=1dln2λk(Ci,Cj)---(3)

其中Ci表示作为协方差矩阵的第一模型,Cj表示作为协方差矩阵的第二模型。λk(Ci,Cj)是外观模型Ci和Cj的广义特征值,并可由求解以下方程而获取:

det(Cik(Ci,Cj)Cj)=0

匹配方法使用该距离度量生成针对已查询模型m的匹配集,其可被称为M。在实施例中,匹配的数目可由系统中所有模型的百分比来确定,而非由特定距离阈值来确定。因为并非所有模型都遵守相同的相似性量度,所以利用百分比而不是距离阈值允许该方法可处理更广的模型集。由于不同的照像机可以具有稍微不同的颜色值(可变照像机增益),所以这是有利的。因此,虽然设置阈值可以在一部照像机内很好的运行,但在所有摄像机的范围中,阈值或许必须更高以适应颜色上的差异和由此导致的在相同对象的模型之间更大的距离。使用相同的距离度量可以发现M中每个元素的最佳匹配。这将产生可被称为N的外观模型集。在这个步骤中,还可以进行修剪。如果M中元素的匹配集不包含模型m,则该匹配集将不会被加入到N中。然后对集N中模型的出现进行计数。该出现计数被用于排序与模型m的匹配。通过比较模型实例(instance)和正被匹配的模型m之间的距离来处理计数上的平局情况(ties in count)。

在另一特定实施例中,可以通过被称为按序列查询(或者更通常地被称为多对多查询)的方法来进行视频数据中人和/或其他对象的匹配。像在块方法(blob method)中一样,协方差矩阵被用作外观模型。再者,如前所述,按序列查询的情况是法医情况,即运动检定和运动轨迹是指定的。运动检定提供了前景蒙板(foreground mask),当对象移动通过场景时轨迹可以追踪对象,所述场景记录它们的边缘矩形和唯一轨迹ID。

使用来自追踪的边缘矩形和唯一轨迹ID以及来自运动检定的前景蒙板作为输入,可以计算对于轨迹(序列)中每个区域的外观模型。像在上面解释的块方法中那样,公式2用于计算协方差矩阵以作为外观模型。特征集(公式1)可以被扩大为包括诸如边缘检测、颜色强度、标度影像等的任何特征。在特定实施例中,特征集可以包括每个通道(channel)R,G,B的颜色强度、局部像素坐标以及每个颜色通道中的x和y斜率(gradient)。

在特定实施例中,视频数据中人和/或对象的匹配可以利用序列(多对多)查询来进行。该序列按如下予以处理:序列S(k)由有限数目的n个区域组成。在预处理以后,每个区域由其外观模型C(k),i=1,2,...,n表示。对于序列表示而言,目的(objective)使用紧凑的和描述的集rj(k),j=1,...,m,,其中m<<n以表示序列S(k),也就是,

S(k):Ci(k),i=1,2,...,nrj(k),j=1,...,m---(4)

在第一步中,对属于序列Ci(k),i=1,2,...,n的每个区域执行聚类算法。一个这样的聚类算法执行分级聚类(hierarchical agglomerative clustering)。分级聚类的实现如下,存在n个初始组,这些组的每一个都仅包含单个区域。在每个步中,合并最近的一对组(聚类)。对于在组(聚类)之间的接近度,可以使用平均链接接近度(average linkage proximity),它是平均成对接近度(average pair-wise proximities)(边缘的平均长度),因此

proximity=average{ρ(Ci,Cj)}    (5)

其中Ci和Cj来自不同的组(聚类)。存在两种方式来停止合并组,一种方式是设置聚类的数目,另一种方式是设置组之间的接近度的阈值。

所得聚类可以具有有效的聚类和无效的聚类。无效的聚类是无关的。可使用相对简单的方法来确定无关者。例如,可以计数每个聚类内的对象数目,并且删除具有少于阈值数目的对象的聚类。所获得的分组对应于有效组G1,..,Gm,其中m是有效组的数目。在每个有效组中,存在多个区域,因此计算每个组的典型区域。

接下来,使用下述公式计算每个组Gk的典型区域rk

i=argminjiΣ(ρ(Ci,Cj)),i,j1,...,nk---(6)

其中nk是有效组Gk内的区域数目。在该处理之后,每个序列(轨迹)都由典型区域表示,rl,...,rm,其中m是对于序列的有效聚类的数目,并且m<<n。因此,该过程可以被总结为首先对每个区域的外观模型进行聚类,这里是对协方差矩阵Ci(k),i=1,2,...,n进行聚类,并使用根据方程3所计算的距离,检定无效的组并将它们当作无关者而去除,并且计算有效组Gl,..,Gm的典型区域rl,..,rm

如上面指出的那样,每个序列(轨迹)由典型区域rl,..,rm表示,其中m是有效聚类的数目。序列匹配可以在查询视频数据和存储在数据库中的视频数据之间进行。视频数据S(q)和候选视频数据S(p)之间的距离可以被定义。应当注意的是:在集合之间的若干距离定义可以被使用。一个这样的距离是在两个序列之间距离的Hausdorff距离,如在下述方程7中所列的那样。

d(S(q),S(p))=max(min(ρ(ri(q),rj(p))))---(7)

其中分别地ri(q)是根据查询视频数据的有效聚类的典型区域,rj(p)是根据已查询(或候选)视频数据的有效聚类的典型区域。为了进行实际查询,比较Hausdorff距离,并且从数据库中标识最高5%的序列。此外,在建立了每两个视频数据之间的距离(方程7)之后,上面描述19的出现排序方法可被用于报告对查询的匹配。

图8图示了使用协方差外观上的聚类用于序列匹配的过程800的示例性实施例。在805,提供多个外观模型。视频处理领域所已知的任何类型的外观模型都可以使用。例如,在一个或多个实施例中,外观模型由对象特征的融合组成。特征可以包含这样的参数,举几个例子来说如对象的高度、对象的形状、对象的颜色等。对象是图像帧中的特定区域。在810,计算每个外观模型和每个其他外观模型之间的相似性量度。在815,生成相似性模型的矩阵。在820,除所有外观模型之外,选择测试外观模型。测试外观模型是在所有其他外观模型中将搜索的模型。例如,如果存在来自大型购物中心照像机的视频监视数据的数据库,并且一个人想要确定一个特定的人在大型购物中心中的哪个位置,那么就选择那个人的外观模型,并且其被用来与由系统生成的所有其他外观模型进行比较。

在820,选择测试外观模型之后,那么在825,从与测试外观模型相对应的矩阵行中选择出一个或多个其他外观模型。这些一个或多个其他外观模型是根据那个矩阵行中所有模型的相似性量度予以选择的。在特定实施例中,因为由于一个或多个外观模型类似于测试外观模型,如由那个特定外观模型的相对低的相似性模型数目所标识的那样,所以选择该一个或多个外观模型。在从测试外观模型的矩阵行中选择类似的外观模型之后,然后在830,从与一个或多个其他外观模型相对应的其他矩阵行中,其中所述其他外观模型是从测试外观模型矩阵行中选择出的,根据扩充每个其他特定矩阵行的相似性量度选择一个或多个附加的外观模型。在835,对在步骤825和830中所选择的外观模型进行排序。在实施例中,通过在步骤825和830中所选择的特定外观模型的次数(或计数)来对外观模型进行排序。

在840,过程800根据步骤825和830把具有最高计数的外观模型标识为与测试外观模型最类似的外观模型。在一些情况下,根据步骤825和830,两个或更多的外观模型可能具有相等的计数。在这样的情况下,在845,过程800可以从具有相同计数的两个或更多的外观模型中标识出与测试外观模型更类似的外观模型。在实施例中,这是根据矩阵中那个外观模型的相似性量度予以确定的。

过程800的外观模型可以源于包括多个视域的多个视频传感设备(例如摄像机170、172、174、176)。总的来说,外观模型是根据指定影像中对象的特征融合来计算的。在特定实施例中,外观模型通过下述予以计算:

C=∑(fkR)(fkR)T

其中

μR是区域内对于点的相应特征的平均值的矢量;

T表示矢量的转置;以及

其中fk包括空间属性xy的特征集,I(x,y)对应于x和y位置处的红色、绿色和蓝色通道,Ix(x,y)对应于红色、绿色和蓝色通道中的x斜率,Iy(x,y)对应于红色、绿色和蓝色通道中的y斜率。另外,相似性量度可以通过如下予以计算:

ρ(Ci,Cj)=Σk=1dln2λk(Ci,Cj);

其中d是矩阵的维数,λk表示外观模型Ci和Cj的广义特征值。

图9图示了若干不同的外观模型M1-M9的相似性量度矩阵900的实例。例如,位置(M5,M7)的值表示外观模型M5和M7之间的相似性量度,在该实例中所述相似性量度等于12。然后,例如,如果想要查询M4(也就是说,M1-M9中的哪个视域会出现外观模型M4),那么M4行将被分析以确定哪些其他的外观模型最类似于M4。较小的数字指示外观模型类似于另一外观模型(0值指示他们是相同的外观模型)。因此,如果该系统被配置成返回三个最类似的外观模型,那么对M4的查询将返回M3、M5和M1。然后,使用与外观模型M3、M5和M1相对应的矩阵行来进行类似的查询。对于M3查询而言,将返回M4、M5和M7。对于M5查询而言,将返回M1、M6和M4。对于M1查询而言,将返回M5、M4和M6。

在第一查询和第二查询之后,记数外观模型的计数。在该实例中,M1被返回2次,M3被返回1次,M4被返回3次、M5被返回3次,M6被返回2次,以及M7被返回1次。在实施例中,该系统被配置成通过计数返回最高的3个外观模型-在该实例中,返回M5、M1和M6(因为M4是正被执行查询的模型,所以M4被排除)。在该实例中,值得注意的是:因为虽然M3类似于查询模型M4,但却不类似于与该查询模型相类似的任何其他外观模型,所以M3被消除。

该系统和方法的优点在于不存在被认为是相似性度量的阈值。由于不同的视频传感设备中对象看起来将是不同的,因此这是有益的。因此,单个阈值不支持所有的设备。虽然系统可以为系统中每一对视频传感设备分配阈值,但对于大系统而言这将是一项非常费时的任务,并且其仍无法解决设备中诸如光线之类的动态差异。

图10图示了使用对协方差外观的聚类来执行序列匹配的过程1050的另一示例性实施例。在1052,提供了查询视频序列和一个或多个已查询视频序列。过程1050确定查询视频序列是否存在于一个或多个已查询视频序列中。在1054,对于查询视频序列的每个区域以及对于一个或多个已查询视频序列的每个区域生成协方差矩阵。在1056,计算查询视频序列的每个协方差矩阵之间的距离。然后,在1058,对于一个或多个已查询视频序列中的每一个,计算在特定已查询视频序列中的每个协方差矩阵之间的距离。在1060,使用查询视频序列的每个协方差矩阵之间的距离生成查询聚类。在1062,对于一个或多个已查询视频序列中的每一个,使用在特定已查询视频序列中每个协方差矩阵之间的距离生成已查询聚类。在1064,去除无关的查询聚类和无关的已查询聚类。这些无关者的去除将产生有效的查询聚类和有效的已查询聚类。在1066,选择每个有效的查询聚类的典型区域。在1068,对于一个或多个已查询视频中序列的每一个,选择特定已查询视频序列中每一个有效的已查询聚类的典型区域。在1070,根据在查询视频序列的典型区域和一个或多个已查询视频序列中的每一个的典型区域之间的距离,确定查询视频序列和一个或多个已查询视频序列中的每一个之间的相似性。在实施例中,过程1050的协方差矩阵由x像素位置、y像素位置、红色通道、绿色通道、蓝色通道、红色通道的x和y斜率、绿色通道的x和y斜率以及蓝色通道的x和y斜率组成:

在实施例中,在每个协方差矩阵之间的距离计算如下:

ρ(Ci,Cj)=Σk=1dln2λk(Ci,Cj);

其中:

d是协方差矩阵的维度,λk表示外观模型的广义特征值;以及

C=∑(fkR)(fkR)T

其中:

μR是区域内点的相应特征的平均数的矢量;

T指示矢量的转置;以及

其中fk包括空间属性xy的特征集,I(x,y)对应于x和y位置的红色、绿色和蓝色通道,Ix(x,y)对应于红色、绿色和蓝色通道中的x斜率,Iy(x,y)对应于红色、绿色和蓝色通道中的y斜率:

在1072,根据聚类内区域数目来标识无关的聚类。

在实施例中,通过下述选择典型区域:

i=argminjiΣ(ρ(Ci,Cj)),i,j1,...,nk;

其中nk表示聚类k中的区域数目;以及

ρ(Ci,Cj)表示在聚类中第i区域和聚类中第j区域之间的距离。

在查询视频数据的有效区域和一个或多个已查询视频数据中每一个的有效区域之间的距离可以被计算为Hausdorff距离。

接下来,图11描绘了系统150的附加细节。如图11所示,系统150包括采用计算机920(例如个人计算机、工作站或服务器)形式的通用计算机。在各种实施例中,计算机920是常规计算机、分布式计算机或任何其他的类型的计算机。

系统总线162可以是若干类型的总线结构中的任何总线结构,其包括存储器总线或存储器控制器、外围总线以及使用各种总线体系结构中的任何总线体系结构的本地总线。数据存储154还可以被简称为存储器,在一些实施例中,其包括只读存储器(read-only memory,ROM)924和随机存取存储器(random-access memory,RAM)925。基本输入/输出系统(basic input/output system,BIOS)程序926可以被存储在ROM924中,所述基本输入/输出系统程序926包含诸如在启动期间帮助计算机920内的元素之间传送信息到基本例程。计算机920还包括用于从硬盘读取或向硬盘(未示出)写入的硬盘驱动器927,用于从可移动磁盘929读取或向可移动磁盘929写入的磁盘驱动器928,以及用于从可移动光盘931中读取或向可移动光盘931中写入的光盘驱动器930,所述可移动光盘931诸如CD ROM或其他光学介质。

硬盘驱动器927、磁盘驱动器928和光盘驱动器930分别与硬盘驱动器接口932、磁盘驱动器接口933和光盘驱动器接口934耦合。驱动器和它们相关联的计算机可读介质提供了对计算机可读指令、数据结构、程序模块及其他计算机920数据的非易失性存储。对本领域的普通技术人员而言应当理解的是:能够存储可由计算机访问的数据的任何类型的计算机可读介质都可被用于示例性操作环境中,所述计算机可读介质诸如磁带盒、快擦写存储卡、数字视频盘、伯努利盒式磁盘(Bernoullicartridges)、随机存取存储器(RAM)、只读存储器(ROM)、独立磁盘(例如RAID存储设备)的冗余阵列等。

多个程序模块可以被存储在硬盘、磁盘929、光盘931、ROM 924或RAM 925中,所述程序模块包括操作系统935、一个或多个应用程序936、其他程序模块937和程序数据938。包含安全传输引擎的插件可以驻留在这些计算机可读介质的任一个或任何多个上。

用户可以通过诸如键盘940和定点设备942之类的输入设备向计算机920中输入命令和信息。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、扫描器等。这些其他的输入设备通常通过与系统总线162耦合的串行端口接口946与处理器152连接,但也可以通过诸如并行端口、游戏端口或通用串行总线(universal serial bus,USB)之类的其他接口予以连接。计算机920可以包括诸如扬声器和打印机之类的其他外围输出设备(未示出)。

计算机920可以使用到一个或多个远程计算机或服务器的逻辑连接在网络环境下运行,所述一个或多个远程计算机或服务器诸如远程计算机949。这些逻辑连接是通过耦合到计算机920或其一部分的通信设备来达到的;在本公开内容中的实例不限于特定类型的通信设备。远程计算机949可以是另一计算机、服务器、路由器、网络PC、客户端、同等设备或其它公用网络结点,并且典型地包括如上所述关于计算机920的许多或所有元素,尽管仅已图示存储设备950。在图11中所描绘的逻辑连接包括局域网(local area network,LAN)951和/或广域网(wide areanetwork,WAN)952。这样的网络环境在办公室网络、企业宽带计算机网络、内部网和因特网中是很常见的,其是所有类型的网络。

当用在LAN联网环境中时,计算机920通过网络接口或适配器953与LAN 951连接,所述网络接口或适配器953是一种通信设备。在一些实施例中,当用在WAN联网环境中时,计算机920典型地包括调制解调器954(另一种通信设备)或任何其他类型的通讯设备,例如无线收发器,用于在诸如因特网之类的广域网952上建立通信。调制解调器954可以是内置的或外置的,其经由串行端口接口946与系统总线923连接。在联网环境中,关于计算机920所描绘的程序模块可以被存储在远程计算机或服务器949的远程存储器存储设备950中。应当理解:所示出的网络连接是示例性的,其他的用于在计算机之间建立通信链路的通信设备也可以被使用,包括混合同轴光纤连接、T1-T3线、DSL、OC-3和/或OC-12、TCP/IP、微波、无线应用协议、以及任何其他的通过任何适当的开关、路由器、输出和电源线的电子介质,如本领域的普通技术人员所熟知和理解的那样。

6.总结

以上已经描述了本发明的示例性实施例。然而,本领域的普通技术人员将理解:在不脱离由所附权利要求所定义的本发明的真实范围和精神的情况下,可以对所描述的实施例作出变化和修改。

最后,词“示例性的(exemplary)”在此被使用,意指“作为实例、例子或例示”。在此描述为“示例性的”任何实施例都不必被理解为比其他实施例优选和有利。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号