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

文档序号:6476925阅读:178来源:国知局
专利名称:用于在多个视频流中索引和查找感兴趣对象的方法和系统的制作方法
技术领域
本发明涉及视频数据的分析,具体而言涉及在由多个摄像机捕获的 视频流中搜索感兴趣对象。
背景技术
随着视频安全系统正取得的发展,视频安全系统正被安装在诸如机 场、赌场、医院、学校以及大型购物中心之类的大量场所中。这些附加 的视频安全系统的一个效果是需被监视和/或分析的图像帧的数目增加 了。幸运地,视频分析系统当前可用来辅助用户监视和/或分析图像帧。
一方面,当前的视频分析系统可操作用于允许用户查看由多个摄像 机捕获的图像帧,以便(i)定位在至少 一个图像帧中显示的感兴趣对象, 以及(ii)确定感兴趣对象是否在较早或较迟的时刻出现在任何其他图 像帧中。尽管如此,当利用一个摄像机捕获图像帧时,查看图像帧以定 位感兴趣对象的过程可能是非常费时的,而当利用多个摄像机捕获图像 帧时可能就更加耗时了。
6另一方面,当前的视频分析系统可操作用于显示加在图像帧上的分 析数据,或者显示分析数据和与该分析数据相对应的图像帧。这样的视 频分析系统可以接收来自多个摄像机的图像帧。然而,这些当前的一见频 分析系统仍需要操作员监视来自所有摄像机的全部图像帧。
又一方面,当前的视频分析系统可以根据运动检定来实行分析,从 而系统仅能显示或记录其中的视频对象正在运动的图像帧。在这些系统 可能减少了用户必须监视的图像帧数目时,他们无法发现由不同摄像机 捕获的对象,或者由相同的摄像机捕获的出现在不同图像帧中的对象。

发明内容
本发明提供了一种新颖的方法、计算机可读媒体和系统,用于搜索 与图像帧中显示的视频对象相对应的分析数据,以及用于显示包括视频 对象的图像帧和/或与包括视频对象的图像帧进行交互,其中所述视频对 象是在对分析数据进行搜索期间予以标识的。种子搜索是在分析数据的 子集上实行的,以便标识与所选择视频对象最相匹配的视频对象,对分 析数据的穷举搜索是在所有分析数据上实行的,以便标识与所选择视频 对象和/或在种子搜索期间所标识的视频对象最相匹配的视频对象。在穷 举搜索期间所标识的多个(例如预定百分比)图像帧可以显示在图形用 户界面中。
一方面,本发明的示例性实施例可以采取下述的方法,所述方法包
括(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.综述
本发明针对一种新颖的方法、计算机可读媒体和系统,其用于搜索与图像帧中可显示的视频对象相对应的分析数据,以及用于显示包括视
9频对象的图像帧和/或与包括视频对象的图像帧进行交互,其中所述视频对象是在对分析数据进行搜索期间标识的。
每个视频对象被;故包括在仅一个帧中。在这点上,每个视频对象都是唯一的。然而,多个图像帧可以包括表示在该图像帧上所捕获的特定对象的视频对象,并且多个图像帧可能由一个或多个摄像机捕获。在图像帧上捕获的特定对象可以包括一个人、 一组人、由一个人或一组人携带的物品、动物、车辆或可能在图像帧上所捕获的其他任意对象(例如图像帧内的任何对象)。针对在视频对象被捕获的时刻其被检定为运动的视频对象,可以确定分析数据。当正在显示包括那个视频对象的图像帧时,用户可以选择用户感兴趣的任何#见频对象。
"种子搜索(seed search)"(也就是对分析数据子集的搜索)可以被实行,以标识与所选择视频对象最相匹配的视频对象。与所选择视频对象最相匹配的经标识的视频对象可能包括所选择的视频对象。分析数据的子集可以包括这样的分析数据,其数据具有较高的概率与和所选择视频对象最匹配的^L频对象相对应。
对于在种子搜索期间标识的每一个视频对象,可以实行"穷举搜索(complete search),,(也就是对整个分析数据集的搜索),以便标识与在种子搜索期间所标识的视频对象最相匹配的视频对象。尔后,包含在穷举搜索期间所标识的视频对象的图像帧可以在显示设备上进行显示。
在施行种子搜索和穷举搜索之后,用户可以查看在其中出现所选择视频对象的图像帧和/或在其中出现被标识为与所选择视频对象最相匹配的多个视频对象之一的视频对象的图像帧,而无需查看在其中未出现所选择视频对象或被标识为与所选择视频对象最相匹配的视频对象的图像帧。这样,用户就无须浪费时间查看用户不感兴趣的图像帧。
另外,当查看包含在种子搜索和/或穷举搜索期间发现的视频对象的图像帧时,用户可以选择显示在所查看图像帧中的另一视频对象。其他-现频对象可以包括与先前选择的^见频对象交互的对象。尔后,系统可以执行对其他视频对象的种子搜索,以便检定(detect)与其他视频对象最相匹配的一见频对象,然后执行对与所4全定#见频对象最相匹配的一见频对象的 一个或多个穷举搜索,其中所检定视频对象与其他视频对象最相匹配。包含与其他一见频对象最相匹配的 一个和/或多个其他;脱频对象的图傳_帧可以在显示设备上予以显示。2.示例性体系结构
图1是被安排成用以实行本发明的系统150的方框图。然而,应当 理解,在此所描述的这种及其他安排仅是用于举例的目的。因此,本领
域的普通技术人员将认识到作为替代可以使用其他安排和其他元素
(例如机器、界面、功能、次序、功能集等),并且一些元素完全可以 省去。此外,在此所描述的元素中的一些元素是功能实体,其可以被实 现为离散的或分布式的组件或者以任何适当的组合和位置与其他组件 结合,以及被实现为硬件、固件和/或软件的任何适当的组合。
如图1所示,系统150包括处理器152、数据存储154、视频输入 接口 156、选择设备接口 158以及视频输出接口 160,所有都经由系统 总线、网络或其他连接机构162链接在一起。系统150还包括(i)包括 选裤:设备166和显示器168的用户接口 164, (ii)第一4聂像机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可以定位在户内或户外。举例来说,4聂像机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以便依
ii次传输到数据存储154、处理器152和/或视频输出接口 160的输出端。 在视频输入接口 156接收的图像帧可以被传输到(i)数据存储154,以 便存储和保持所存储的图像帧;(ii)处理器152,以使处理器152可以 分析所接收的帧并创建关于所接收图像帧的分析数据;和/或(iii)视频 输出接口 160,以便可以在显示器168上查看图像帧。
视频输入接口 156可以包括经由有线总线178连接一个或多个摄像 机170、 172、 174、 176的有线接口,诸如根据由USB制定者论坛公司 (USB Implementers Fomm, 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樣t处理器) 和/或一个或多个专用处理器(例如,数字信号处理器、图形处理单元 (graphic processing units, GPU), 或单元处理器(cell processor))。 处理器152可以执行计算机可读程序指令182,诸如可执行以实行在本 说明书中所描述的任何功能或任何功能组合的程序指令。
举例来说,处理器152可以执行用于促使数据存储154在数据存储 154的特定数据地址存储在视频输入接口 156接收的图像帧的程序指 令。
作为另一实例,处理器152可以执行用于在所接收图像帧的图像帧 中检定一个或多个视频对象的程序指令。在捕获到包括视频对象的图像 帧的时〗类,处理器152可以通过^r测—见频对象运动的方式来^r定每一个 视频对象,或者通过本领域普通技术人员已知的别的方式。
作为又一实例,处理器152可以扭"行用于分析每个4见频对象的程序 指令,以便生成与每个视频对象对应的分析数据,并促使数据存储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捕获的图像帧^L分配以1,000到1,015范围内 整数的图像帧号。为了说明的目的,每个捕获的图像帧都^L分配以比分 配给先前捕获的图像帧的图像帧号更大的图像帧号。可替换地,或者附 加地,分配给图像帧的图像帧号可以包括指示每个图像帧是何时捕获的 时间戳。
在数据集200中所标识每个图像帧都包括至少一个视频对象。每个 视频对象可以被分配以唯一的视频对象号。例如,图像帧1,000包括一 个视频对象,即l号视频对象。作为另一实例,图像帧1,006包括七个 视频对象,即9号、10号、11号、31号、32号、33号、34号视频对 象。尽管在数据集200中所标识的每个图像帧都包括至少一个视频对象, 但可替换地,可存储在数据存储154中的一个或多个另外的图像帧也可 以不包括任何视频对象。
返回到图1,选择设备166可以包括可用于选择各种项的任何类型 的选择设备。例如,选择设备166可以包括计算机鼠标,所述计算机鼠 标(i )经由根据电子工业协会(Electronic Industries Alliance, EIA )RS-232 标准或根据USB2.0标准设置的串行电缆连接到选择设备接口 158,或 (ii)经由空气接口接口到选择设备接口 158。
选择设备接口 158提供到选择设备166的接口 ,并提供用于传输表 示经由选择设备166所输入的选择的信号到处理器152中的装置。举例 来说,选择设备接口 158可以包括(i)连接到系统总线162的网络接 口卡,和(ii)用于接收选择设备166的串行电缆的连接器。
显示器168可以包括任何类型的显示器。例如,显示器168可以包 括阴极射线管(cathode ray tube, CRT )显示器、液晶显示(liquid crystal display, LCD)显示器,等离子平板显示器和/或诸如手持设备或膝上型 计算机之类的便携式设备的显示器。显示器168的其他实例也是可能的。
在可替换实施例中,选择设备166可以至少部分与显示器168相集 成。举例来说,选择设备166和显示器168可以被译置为触摸屏显示器, 诸如电阻触摸屏显示器或电容触摸屏显示器。触摸屏显示器的其他实例 也是可能的。
14接下来,图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可以显示相同的图Y象帧。
在图3、 4和5中,包含于图像帧中的视频对象可以利用矩形予以 标识,而包含于图像帧中的所选择视频对象是利用椭圆予以标识的,诸 如在图3中所示出的椭圆450。具体而言,由实线矩形标识的视频对象 表明该视频对象已经:故标识为与所选择视频对象最相匹配的视频对象, 而由虛线矩形标识的岸见频对象表明该视频对象尚未被标识为与所选择 4见频对象最相匹配的4见频对象。
矩形和椭圆不是由摄像机捕获的图像帧的一部分,但当经由GUI 400显示图像帧时可以被置于图像帧上。用于表明在图像帧中存在视频 对象的其他方式也可以被使用,诸如另一形状的轮廓线(例如,圆形、 多边形和/或视频对象的轮廓线),并且用于表明存在所选择视频对象的 其他方式也可以被使用。矩形或其他形状可以表示视频对象所有像素的 外边界,所以视频对象包括所述形状内的所有像素。
在图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所标识的,^L频对象335是所选择的一见 频对象。在图3中,分别在图像帧1,009、 2,000、 3,006和4,009中的视 频对象15、 111、 231和335已经;故标识为与所选择—见频对象335最相 匹配的视J贞对象。
图4描述了经由GUI400显示的第二图像帧集。具体而言,图像帧 1,014被显示在图像帧窗口 402中,图像帧2,002被显示在图像帧窗口 404中,图像帧3,011被显示在图像帧窗口 406中,以及图像帧4,014被 显示在图像帧窗口 408中。在图像帧3,011中,视频对象250是所选择 视频对象,如由椭圆500所指示。图4图示了在执行对与所选择视频对 象250最相匹配的视频对象的搜索之前的GUI400。换句话说,图4中 的每个视频对象都是利用虚线矩形予以标识的。
在执行对与所选择视频对象250最相匹配的碎见频对象的搜索之后, 图像帧窗口 406可以继续显示图^象帧3,011,以^更显示所选择一见频对象 250,而图像帧窗口 402、404、 406可以分别继续显示图4象帧1,014、 2,002 和4,014,或分别由摄像机170、 172和176捕获的其他图像帧。在进行 对与所选择视频对象250最相匹配的视频对象的搜索之后,在GUI 400 显示的每个图像帧可以包括由实线矩形标识的视频对象,所述实线矩形 表明那个视频对象与所选择视频对象250最相匹配。可替换地,如果在 由指定摄像机(例如摄像机170)捕获的图像帧中没有视频对象被标识 为与所选择视频对象最相匹配,那么针对指定摄像机的图像帧窗口 402
可以提供关于没有图像帧被指定摄像机捕获的指示。所述指示可以是空 白视频显示窗口、图像帧测试图形或其它的指示。
图5描述了经由GUI400显示的第三图像帧集。具体而言,图像帧 1,006被显示在图像帧窗口 402中,图像帧2,005被显示在图像帧窗口 404中,图像帧3,009被显示在图像帧窗口 406中,以及图像帧4,003被 显示在图像帧窗口 408中。在图像帧3,009中, 一见频对象236是选择的 视频对象,如由椭圆650所指示的。图5图示了在执行对与所选择视频 对象236最相匹配的视频对象的搜索之后的GUI400。在图像帧1,006、
162,005、 3,009和4,003中,视频对象32、 121、 236和323已经被分别标 识为与所选择^L频对象236最相匹配的4见频对象。
指定对象可以出现在由单个摄像机捕获的非连续系列图像帧中。例 如,如果摄像机170捕获了指定区域的图像帧,那么摄像机170可能捕 获(i)当指定对象位于指定区域内时的第一数目的图像帧,(ii)在指 定对象已经离开指定区域之后的第二数目的图像帧,以及(iii)在指定 对象已经返回到指定区域之后的第三数目的图像帧。根据本发明,对包 括与指定对象匹配的视频对象的图像帧的搜索可以导致从由单个摄像 机捕获的非连续系列图像帧中标识出视频对象。
3.图形用户界面(GUI)控制
图3、 4和5描绘了可被用来控制GUI400的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 4空制410C, ( iv) QUIT 4空制410D, ( v) RESET控制410F, ( vi) PRESET 1控制410G, ( vi) PRESET 2控制 410H, ( vii) PRESET 3控制4101, ( viii) PRESET 4控制410J,以及 (x) PRESET 5控制410K。
CONFIG控制410A的选择可以促使处理器152执行下述程序指令, 所述程序指令促使在显示器168上显示GUI配置屏幕。可以在视频显示 窗口 402、 404、 406、 408的至少一部分上显示GUI配置屏幕。配置屏 幕可被用来配置与GUI400相关联的各种参数中的任何参数,诸如亮度 参数、颜色参数和/或在显示器168内改变GUI 400的位置的位置参数。 可经由配置屏幕配置的参数的其他实例也是可能的。
CONTINUE控制410B的选择可以促使处理器152执行下述程序指 令,所述程序指令促使视频显示窗口 402、 404、 406、 408实时或基本 实时地显示所捕获的图像帧。例如,如果^L频显示窗口 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执行下述程序指 令,所述程序指令促j吏^L频显示窗口 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执行下述程序指令,所 述程序指令促使GUI400关闭/退出,以便显示器168不再显示GUI400 直到处理器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控制4101、 PRESET 4控制410K和PRESET 5控制410L均可以与先前对指定的所选 择视频对象进行的搜索相关联。例如,PRESET 1控制410G可以与对所 选择视频对象335进行的搜索相关联。这样,当诸如视频对象ll之类的 另一视频对象是最新选择的视频对象时,对PRESET 1控制410G的选择 可以促使处理器152执行下述的程序指令,所述程序指令促使视频显示 窗口显示包括与所选择视频对象335最相匹配的视频对象的图像帧。类 似地,PRESET 2控制410H可以与对所选择^L频对象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均包括分别用于3见频显示窗口 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控制
19424、 432、 440分别提供对视频显示窗口 404、 406、 408的类似控制。
GUI控制418、 426、 434、 442均包括分别用于视频显示窗口 402、 404、 406、 408的FORWARD控制。对GUI控制418的选择可以促4吏处 理器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)颜色空间数据,色调饱和值(Hue Saturation Value, HSV)颜色空间数据,YCrCb颜色空间数据和/或YUV 颜色空间数据。
作为另一实例,分析数据186可以包括以像素强度为基础的数据, 表示哪些像素是视频对象一部分的数据,视频对象的唯一标识器,和/ 或与视频对象相关联的结构信息。结构信息例如可以包括与视频对象的 边缘、曲率和/或紋理有关的信息。结构信息可以包括指示视频对象的结 构与圆形、矩形、星形或其它任意形状的匹配程度的信息。
分析数据186还可以包括在分析数据186中其他类型数据的信用量 度(confidence measure )。信用量度可以指示视频对象有多么可能是某 种类型对象的确定,所述对象诸如车辆、人、动物、袋子或其他类型对 象。分析数据186可以包括如下文所述的协方差矩阵(covariance matrix )。
一方面,处理器152可以在将多个图像帧184存储到数据存储154 之后分析图像帧以生成分析数据186,尔后,促使数据存储154存储分 析数据186。另一方面,处理器152可以促使数据存储154存储多个图 像帧184,并同时或基本上同时存储分析数据186。例如,朝L频输入接 口 156可以接收多个图像帧184,处理器152可以分析多个图像帧184 以生成分析数据186,尔后,多个图像帧184和分析数据186可以被存 储在数据存储154中。
接下来,块602包括接收对在多个图像帧186中的指定图像帧中显 示的视频对象的选择。选择设备接口 158可以从选择设备166接收选择, 尔后将该选择提供给处理器152。选择设备166可被用来选择视频对象。 举例来说,选择设备166可净皮用来在视频显示窗口 208中的视频对象335 上移动光标175,并通过点击选择设备166的按钮(例如,点击计算机 鼠标的按钮)来选择视频对象335。
当选择设备166选择视频对象335时^L频显示窗口 208可以在各种模式中的任何模式下运行。举例来说,视频显示窗口 208可以在下述才莫 式下运行在所述才莫式中视频显示窗口 208自动地以大于每秒O帧的帧 率来改变正显示的图像帧。以每个图像帧被捕获的时间为基础,图像帧 可以被正向(或反向)显示。在选择视频对象335之后,视频显示窗口 208可以进入暂停模式,在所述暂停模式中视频显示窗口 208显示一个 图像帧(例如包含所选择视频对象335的图像帧4,009)并且不自动变 换成显示另一图像帧。处理器152可以响应于接收选择来促使视频显示 窗口 208进入暂停模式。作为另一实例,当选择设备166选择视频对象 335时,视频显示窗口 208可以在暂停模式下运行(显示图像帧4,009)。
接下来,块604包括搜索分析数据子集以便标识与所选择视频对象 335最相匹配的多个视频对象,并创建第一列表。第一列表可以标识与 所选择^L频对象335最相匹配的^L频对象的号。第一列表可以包括所选 择视频对象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选择,或由生成GUI400
的程序指令制造商预编程。
举例来说,分析数据子集可以包括与下述视频对象相对应的分析数
据所述视频对象包含于在捕获图像帧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进行的搜索(例如,图像帧l,OOO至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)第二搜索,将与^L频对象333相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与—见频对象333最相匹配的—见频对象,(iii)第三搜索,将与视频对象334相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象334最相匹配的视频对象,(iv)第四搜索,将与视频对象337相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象337最相匹配的视频对象,(v)第五搜索,将与视频对象338相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象338最相匹配的视频对象,以及(vi)第六搜索,将与视频对象341相对应的分析数据和与存储在数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象341最相匹配的^L频对象。这些搜索中的两个或多个可以;故顺序地实行和/或这些搜索中的两个或多个可以被同时实行。
另外,第七搜索可以被实行,用以将与视频对象335相对应的分析数据和与包含于数据存储154的图像帧中的每个视频对象相对应的分析数据进行比较,以便标识与视频对象335最相匹配的^L频对象。
表1指示包括所选择视频对象335的示例性第一列表和在如上所述的第 一 搜索至第七搜索期间所标识的视频对象的示例性列表。
第一列表在第 一搜索至第七搜索期间所标识的视频对象
32915, 18, 221, 240, 333, 335
33315, 29, 118, 241, 334, 335
33429, 221, 240, 241, 335
3359, 15, 29, 111, 118, 119, 221, 231, 240, 323, 329, 333, 334, 337, 338, 341, 343
33715, 18, 111, 334, 335, 338
33815, 111, 118, 240, 334, 335, 337
34130, 111, 112, 229, 234, 341, 335, 343
表1
接下来,块608包括,对于与在第一列表中所标识的—见频对象最相匹配的每个视频对象,计算那个视频对象被标识为与在第一列表中所标
24识的视频对象最相匹配的视频对象的出现次数。
处理器152可以执行下述程序指令,所述程序指令对出现次数进行
计数。根据表l中所示的数据,对于在第一搜索至第七搜索期间所标识的视频对象中的每个视频对象,出现次数采用"视频对象号(出现次数/
图像帧号)"的形式如下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个图像帧。
在标识要显示的图像帧集之后,GUI400可以显示该图像帧集。具体而言,视频显示窗口 402可以显示由摄像机170捕获的该图像帧集内的图像帧,视频显示窗口 404可以显示由摄像机172捕获的图像帧集内的图像帧,视频显示窗口 406可以显示由摄像机174捕获的图像帧集内的图像帧,以及视频显示窗口 408可以显示由摄像机176捕获的图像帧集内的 一个或多个图像帧。如果摄像机没有捕获到图像帧集中的任何图像帧,那么与那个摄像机相对应的视频显示窗口可以测试图形图像帧(例如固定蓝屏幕),先前显示的图像帧,或其它的图像帧。
另外,当正在显示图像帧集中的任何图像帧时,或者正在显示其它的图像帧时,对于另一所选择的视频对象,可以重复块600至612中的一个或多个。对块600至612中的一个或多个进行重复可以实行用户所需的次数。
图7是所提供的以图示根据本发明的示例性实施例的可以被实行另一功能集的流程图。出于说明目的,在图2中所标识的图像帧和视频对象被用来解释图7的功能。然而,本领域的普通技术人员将能意识到对于大于图2所示数量的视频对象和/或对于大于图2所示数量的图像帧,可以实行图7所示的功能。
如图7所示,块700包括存储与多个^L频对象相对应的分析数据和多个图像帧。多个视频对象中的每个视频对象可通过显示多个图像帧中
包括那个视频对象的图像帧来显示。如上所述可以相对于块600的功能来实行块700的功能。
接下来,块702包括接收对可在多个图像帧的指定图像帧中显示的第一一见频对象的选择。如上所述可以相对于块602的功能来实4亍块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。这些图像帧中的每一个包括第一图像帧集中的一个视频对象。可替换地,第一图像帧集中的一个或多个图像帧可以包括多个视频对象,所述视频对象是在对分析数据进行搜索以获取与第 一所选择^L频对象335最相匹配的一见频对象期间予以标识的。第一图像帧集可以包括包含所选择视频对象的图像帧(例如图
I, IA T,UU乂 / o
另外,第 一视频对象集的列表和/或包括第 一视频对象集的图像帧可
以-陂生成。该列表可以按照每个^L频对象与所选择一见频对象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 )。
27多个列表中的每一个按照每个视频对象与所选择视频对象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可以以掘/f象 机170、 172、 174、 176分别捕获图像帧的帧率(例如每秒30帧)来显 示图像帧。作为另一实例, 一个或多个^L频显示窗口 402、 404、 406、 408可以显示通过用户多长时间选择一次GUI控制所确定的图像帧率。
接下来,块708包括接收对显示在第一图像帧集的所显示部分的图 像帧中的第二视频对象的选择。参照图1和4,举例来说,选择设备接 口 138 pj'以从选择设备166接收对图像帧3,011中的视频对象250的选 择。选择设备接口 158可以将该选择提供给处理器152以便响应于接收 到该选择而触发程序指令的执行。
由于—见频对象250和—见频对象240之间的交互, 一见频对象250可以 被选择,其中所述视频对象250如图3所示,被标识为图像帧3,011中 与第 一所选择一见频对象335最相匹配的^L频对象。触发对3见频对象的选 择的交互可以是各种类型交互中的任何交互。例如,该交互可以包括一见 频对象250在一见频对象240指定距离内, 一见频对象250在一见频对象240 的前方或后方通过,— 见频对象250在^L频对象240的左侧或右侧通过, ;f见频对象240提供物品(item )(例如包裹)给^L频对象250或从4见频 对象250接收物品,或在^L频对象240和250之间可以发生的其它交互。 在^L频对象240和250之间的指定距离可以是范围在0.0米至4.0米范 围内的距离,或其他的距离。所述交互可以由处理器152确定,或由用 户查看第一图像帧集来确定。在视频显示窗口 406处于显示图像帧3,011的暂停模式下时,或者 在一见频显示窗口 406处于一见频显示窗口 406周期性地从一个图〗象帧变化i 到另 一 图像帧而无需用户必须选择GUI控制的模式下时,选择设备接口 158可以接收对一见频对象250的选择。
接下来,块710包括搜索分析数据以获取与第二所选择视频对象 240最相匹配的视频对象,以便标识第二图像帧集。第二图像帧集中的 每一个图像帧都包括至少一个被标识为下述图像帧的视频对象所述图 像帧包括与第二所选择视频对象240最相匹配的视频对象。搜索分析数 据可以包括处理器152进行对分析数据的穷举搜索。
第二视频对象集可以包括由一个或多个摄像机170、 172、 174、 176 捕获的图像帧内的视频对象。第二视频对象集可以包括等于预定数目的 多个^L频对象。举例来说,预定数目可以是50,这样第二^L频对象集就 包括与第二所选择选择视频对象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包含显示第二图像帧集的至少一部分。显示第二图
30^象帧集的至少一部分可以以各种方式中的任何方式来实行。GUI 400的 GUI控制可被用来选择显示第二集中的哪些图像帧。
举例来说,第二图像帧集的至少 一部分可以按照每个视频对象与所 选择—见频对象240的匹配接近程度的次序来显示。例如,4见频显示窗口 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在捕获图像帧l,OOl之后以摄像机 170捕获图像帧的次序(即图像帧1,002、 1,003、 1,004... 1,015 )开始显 示由摄像机170捕获的图像帧。这样,视频显示窗口 402可以开始显示 不在所标识的图像帧集中的图像帧。当分别选择GUI控制424、 432、 440时, 一见频显示窗口 404、 406、 408可以起到类似于显示分别由揭/f象 机172、 174、 176捕获的图像帧的作用。
第二图像帧集的至少 一 部分可以以各种帧率中的任何帧率进行显 示。例如,^L频显示窗口 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)而言,在每个摄4象 机中都追踪多个目标。在建立了每个独立摄像机的轨迹之后,协方差矩 阵被用作轨迹中帧内的每个区域的外观模型。合并聚类(agglomerative clustering)(或其他类型基于相似性的聚类)对每个轨迹中的帧内的相 似区域重新进行分组。对每个聚类中的区域数目进行计数,并且如果特 定聚类中的区域数目小于阈值,则那个聚类被看成是无关的(outlier) 并且其不会被进一步处理。进行计算以确定每个有效聚类的典型区域, 以便每个轨迹都可以由若干典型区域表示。对于表示特定聚类的每个区 域建立基于自协方差(autocovariance-based)的外7见才莫型。然后通过计 算在查询轨迹(或聚类)和一个或多个候选轨迹或聚类之间的Hausdorff (豪斯多夫)距离来确定相似轨迹(或聚类)的匹配。在所述系统的一个实施例中,假设运动检定和运动是容易获得的, 并且个别人和/或对象的轨迹也可能是可获得的(对象的轨迹可以是可获 得的,但不是必需的)并被预存储。也就是说,它是法医鉴定法(forensic analysis ):操作员(或自动化系统)正对系统进行查询(即提供感兴趣 区域或模板),并且区域或轨迹是容易获得的。来自照相机集(例如摄 像机170、 172、 174、 176)的视频数据被提供给当前公开的系统的实施 例,并且该系统运行其所有处理以关联横过所有摄像机的视频中的对象 和人,并将结果存储在被设计用于快速查询的数据结构(例如数据存储 154)中。无论何时可获得的追踪提供了对视域中所检定的移动区域的 暂时空间描述。在该系统的实施例中,假设感兴趣区域(静止的人、移动的人、静 止的脸、移动的脸、静止的车辆、移动的车辆、移动的区域等)是容易 获得的,并可被增以跟踪信息。也就是说,它是法医鉴定法,操作员(或 自动化系统)正进行对系统的查询(即提供感兴趣的区域或才莫板),并 且区域或轨迹是容易获得的。来自照相机集的视频数据被提供给当前公 开的系统的实施例,并且该系统运行其所有处理以关联横过所有照像机的视频数据中的对象,并将结果存储在被设计成用于快速查询的数据结 构中。在该系统的实施例中,假设感兴趣区域(如上所述)是联机(即实 时的)计算的并被提供给当前公开的系统的实施例,并且该系统运行其 全部处理以关联横过所有摄像机的视频数据中过去观测到的对象,并将 结果存储在浮皮设计成用于快速查询的数据结构中。所7>开的 一见频处理系统的各种实施例集中于该系统的查询方面。也就是说,用户可以通过提供他们正寻找的人和/或对象的样本(example ) 来搜索视频数据库。这有时被称为样本查询。系统的一个用途是确定事 件前所采取的动作。例如,通过检查一周内营业所中安全系统所记录的 视频数据,人们可以确定特定人通过建筑的路径,或显出在那个特定星 期内建筑物中与该特定人有过交互的所有人的列表。在实施例中,使用基于外观模型的协方差矩阵。具体地,该协方差 矩阵外观模型用于进行单个摄像机内和具有多个摄像机的查询。协方差 外观模型具有若干优点。第一,它能够高效地融合许多不同种类的特征。 第二,它不需要对象的运动信息,第三,它可以处理由非静止照像机所 观测的固定和非固定对象。因此,对于对象的姿势和照明变化是鲁棒的, 当跟踪通过不同的照像机时可能出现这样的变化。当^L频档案库包含来 自非重叠的照像机的视频数据时这特别有利,其中不同的照像机的视野 可以是不同的,并且对象外观的大小、姿势和形状可能变化4艮大。在该系统的一个特定实施例中,该系统根据块(blob)外观才莫型进 行其视频数据的查询。在此实施例中,对于块的外观模型是被首先定义 的。因为这种系统的目标是支持未校准的非重叠的照像机,所以外观才莫 型必须对颜色、大小、姿势及其他类似外观因素上的改变是鲁棒的。为了生成外观模型,使用基于协方差矩阵的方法。该方案的优点是 融合不同种类的特征的能力,并且其具有小的维数。当利用大的视频档 案库运行时,低的维数是有益的。在特征集上使用下述公式来建立协方 差矩阵,其中特征集被指定为A。特征集由空间和外观属性组成。 /* 二k:v,/"力,A(,,力,/y(jc,力j (1)并且该t办方差由下述定义 "》/广//》(力-/^ (2)以上定义的特征集_A使用影像强度值。_A的其他变化也可以被使用,诸如利用颜色影像和相应的RGB描述= k / (x,力,^ 力,/ , (x,力,G(;c,力,(x,力,G, (jc,力,SO,力,5, (x,力,^ (乂,力J诸如色彩饱和度值(Hue-Saturation-Value, HSV)或YCrCb或YUV等之类的其他颜色空间也可以被考虑。在系统中生成对于每个对象的基于协方差的外观模型之后,比较模 型的相似性。在两个才莫型之间的距离在下面方程3中给出 》=、i>24(c,,c,) (3)其中G表示作为协方差矩阵的笫一模型,G.表示作为协方差矩阵的笫二模型。4(C,, c》是外观模型c,和cy的广义特征值,并可由求解以下 方禾呈而获取det(C,-A(C,.,C》C》0匹配方法使用该距离度量生成针对已查询才莫型w的匹配集,其可净皮 称为M。在实施例中,匹配的数目可由系统中所有模型的百分比来确定, 而非由特定距离阈值来确定。因为并非所有^t型都遵守相同的相似性量 度,所以利用百分比而不是距离阔值允许该方法可处理更广的模型集。 由于不同的照像机可以具有稍微不同的颜色值(可变照像机增益),所 以这是有利的。因此,虽然设置阔值可以在一部照像机内很好的运行, 但在所有摄像机的范围中,阈值或许必须更高以适应颜色上的差异和由 此导致的在相同对象的模型之间更大的距离。使用相同的距离度量可以 发现A/中每个元素的最佳匹配。这将产生可被称为W的外观模型集。 在这个步骤中,还可以进行修剪。如果A/中元素的匹配集不包含模型 w,则该匹配集将不会被加入到W中。然后对集W中才莫型的出现进行 计数。该出现计数被用于排序与模型m的匹配。通过比较模型实例(instance)和正被匹配的模型w之间的距离来处理计数上的平局情况(ties in count)。在另一特定实施例中,可以通过^L称为按序列查询(或者更通常地 被称为多对多查询)的方法来进行视频数据中人和/或其他对象的匹配。 像在块方法(blob method)中一样,协方差矩阵被用作外观;溪型。再者, 如前所述,換序列查询的情况是法医情况,即运动4企定和运动4九迹是指定的。运动检定提供了前景蒙板(foregroundmask),当对象移动通过 场景时轨迹可以追踪对象,所述场景记录它们的边缘矩形和唯一轨迹 ID。使用来自追踪的边缘矩形和唯一轨迹ID以及来自运动检定的前景 蒙板作为输入,可以计算对于轨迹(序列)中每个区域的外观模型。像 在上面解释的块方法中那样,公式2用于计算协方差矩阵以作为外观模 型。特征集(公式l)可以被扩大为包括诸如边缘检测、颜色强度、标 度影像等的任何特征。在特定实施例中,特征集可以包括每个通道 (channel) R,G,B的颜色强度、局部像素坐标以及每个颜色通道中的x和y斜率(gradient)。在特定实施例中,视频数据中人和/或对象的匹配可以利用序列(多 对多)查询来进行。该序列按如下予以处理序列S 由有限数目的" 个区域组成。在预处理以后,每个区域由其外观模型C,卜/,2,…,"表示。 对于序列表示而言,目的(objective )使用紧凑的和描述的集0(","1,…^,, 其中m<<w以表示序列S^,也就是,,C)" = 1,2,…,"^^,y^,."w (4)在第一步中,对属于序列c〗"-"…,"的每个区域执行聚类算法。一 个这才羊的聚类算法寺丸4亍分级聚类(hierarchical agglomerative clustering)。 分级聚类的实现如下,存在n个初始组,这些组的每一个都仅包含单个 区域。在每个步中,合并最近的一对组(聚类)。对于在组(聚类)之 间的接近度,可以4吏用平均链4妻接近度(average linkage proximity), 它是平均成3于接近度(average pair-wise proximities )(边纟彖的平均长 度),因此p簡'一 =睛rag+(C, , C》} (5)其中C,和Q来自不同的组(聚类)。存在两种方式来停止合并组, 一种方式是设置聚类的数目,另一种方式是设置组之间的接近度的阈值。所得聚类可以具有有效的聚类和无效的聚类。无效的聚类是无关 的。可使用相对简单的方法来确定无关者。例如,可以计数每个聚类内 的对象数目,并且删除具有少于阔值数目的对象的聚类。所获得的分组 对应于有效组G;,..,Gm,其中m是有效组的数目。在每个有效组中,存 在多个区域,因此计算每个组的典型区域。接下来,使用下述公式计算每个组(^的典型区域^:<formula>formula see original document page 37</formula>其中^是有效组Ot内的区域数目。在该处理之后,每个序列(轨迹)都由典型区域表示,其中m是对于序列的有效聚类的数目,并 且^<<"。因此,该过程可以被总结为首先对每个区域的外观才莫型进行 聚类,这里是对协方差矩阵^>,'' = 1,2,-""进行聚类,并使用根据方程3所 计算的距离,检定无效的组并将它们当作无关者而去除,并且计算有效 组(7/,..,0!的典型区域^.., 。如上面指出的那样,每个序列(轨迹)由典型区域 ., 表示,其 中m是有效聚类的数目。序列匹配可以在查询视频数据和存储在数据库 中的视频数据之间进行。视频数据S^和候选视频数据S^之间的距离可 以被定义。应当注意的是在集合之间的若干距离定义可以被使用。一 个这样的距离是在两个序列之间距离的Hausdorff距离,如在下述方程7 中所列的那样。
W ,))=瞎—"(p W ,。(力))) (7)其中分别地^是根据查询视频数据的有效聚类的典型区域,卞'是根 据已查询(或候选)视频数据的有效聚类的典型区域。为了进行实际查询,比较Hausdorff距离,并且从数据库中标识最高5%的序列。此外,在 建立了每两个视频数据之间的距离(方程7)之后,上面描述19的出现 排序方法可浮皮用于报告对查询的匹配。图8图示了使用协方差外观上的聚类用于序列匹配的过程800的示 例性实施例。在805,提供多个外观才莫型。视频处理领域所已知的任何 类型的外观才莫型都可以使用。例如,在一个或多个实施例中,外观才莫型 由对象特征的融合组成。特征可以包含这样的参数,举几个例子来说如 对象的高度、对象的形状、对象的颜色等。对象是图像帧中的特定区 域。在810,计算每个外观模型和每个其他外观模型之间的相似性量度。 在815,生成相似性模型的矩阵。在820,除所有外观模型之外,选择 测试外观模型。测试外观模型是在所有其他外观模型中将搜索的模型。 例如,如果存在来自大型购物中心照像机的视频监视数据的数据库,并 且一个人想要确定一个特定的人在大型购物中心中的哪个位置,那么就 选择那个人的外观模型,并且其被用来与由系统生成的所有其他外观模 型进行比较。37在820,选择测试外观才莫型之后,那么在825, 乂人与测试外观才莫型 相对应的矩阵行中选择出一个或多个其他外观才莫型。这些一个或多个其 他外观模型是根据那个矩阵行中所有模型的相似性量度予以选择的。在 特定实施例中,因为由于一个或多个外观^t型类似于测试外观才莫型,如 由那个特定外观模型的相对低的相似性模型数目所标识的那样,所以选
择该一个或多个外观;f莫型。在从测试外观才莫型的矩阵行中选^奪类似的外
观模型之后,然后在830,从与一个或多个其他外观模型相对应的其他 矩阵行中,其中所述其他外观模型是从测试外观模型矩阵行中选择出 的,根据扩充每个其他特定矩阵行的相似性量度选择一个或多个附加的 外观模型。在835,对在步骤825和830中所选择的外观模型进行排序。 在实施例中,通过在步骤825和830中所选择的特定外观才莫型的次数(或 计数)来对外观^t型进行排序。
在840,过程800根据步骤825和830把具有最高计数的外观才莫型 标识为与测试外观模型最类似的外观模型。在一些情况下,根据步骤825 和830,两个或更多的外观模型可能具有相等的计数。在这样的情况下, 在845,过程800可以从具有相同计数的两个或更多的外观才莫型中标识 出与测试外观模型更类似的外观模型。在实施例中,这是根据矩阵中那 个外观模型的相似性量度予以确定的。
过程800的外观模型可以源于包括多个视域的多个视频传感设备 (例如摄像机170、 172、 174、 176)。总的来说,外观模型是根据指定 影像中对象的特征融合来计算的。在特定实施例中,外观^t型通过下述 予以计算
其中
~是区域内对于点的相应特征的平均值的矢量;
r表示矢量的转置;以及
/* = k /(义,力,(;c,力,、o,力J;
其中A包括空间属性"的特征集,/(3c,W对应于;c和y位置处的红 色、绿色和蓝色通道,//;c,"对应于红色、绿色和蓝色通道中的jc斜率, //x,^对应于红色、绿色和蓝色通道中的y斜率。另外,相似性量度可 以通过如下予以计算<formula>formula see original document page 39</formula>
其中d是矩阵的维数,4表示外观模型C,和Cy的广义特征值。
图9图示了若干不同的外观模型Ml-M9的相似性量度矩阵900的 实例。例如,位置(M5, M7)的值表示外观模型M5和M7之间的相 似性量度,在该实例中所述相似性量度等于12。然后,例如,如果想要 查询M4(也就是说,Ml-M9中的哪个视域会出现外观模型M4),那 么M4行将被分析以确定哪些其他的外观模型最类似于M4。较小的数 字指示外观模型类似于另 一外观模型(0值指示他们是相同的外观模 型)。因此,如果该系统被配置成返回三个最类似的外观才莫型,那么对 M4的查询将返回M3、 M5和M1。然后,使用与外观模型M3、 M5和 Ml相对应的矩阵4亍来进行类似的查询。对于M3查询而言,将返回M4、 M5和M7。对于M5查询而言,将返回M1、 M6和M4。对于Ml查询 而言,将返回M5、 M4和M6。
在第一查询和第二查询之后,记数外观模型的计数。在该实例中, Ml被返回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,对于查询^L频序列的每个区i^以及对于一个或 多个已查询视频序列的每个区域生成协方差矩阵。在1056,计算查询视 频序列的每个协方差矩阵之间的距离。然后,在1058,对于一个或多个已查询视频序列中的每一个,计算在特定已查询视频序列中的每个协方
差矩阵之间的距离。在1060,使用查询^L频序列的每个协方差矩阵之间 的距离生成查询聚类。在1062,对于一个或多个已查询视频序列中的每 一个,使用在特定已查询视频序列中每个协方差矩阵之间的距离生成已 查询聚类。在1064,去除无关的查询聚类和无关的已查询聚类。这些无 关者的去除将产生有效的查询聚类和有效的已查询聚类。在1066,选择 每个有效的查询聚类的典型区域。在1068,对于一个或多个已查询一见频 中序列的每一个,选择特定已查询视频序列中每一个有效的已查询聚类 的典型区域。在1070,根据在查询视频序列的典型区域和一个或多个已 查询视频序列中的每一个的典型区域之间的距离,确定查询视频序列和 一个或多个已查询视频序列中的每一个之间的相似性。在实施例中,过 程1050的协方差矩阵由x像素位置、y像素位置、红色通道、绿色通道、 蓝色通道、红色通道的x和y斜率、绿色通道的x和y斜率以及蓝色通 道的x和y斜率组成
= k j;,及O,力,W, (x,力,~ (x,力,c;(x,力,G, (;c,力,g (;c,力,5(x,力,5, (jc,力,5 (jc,力J
在实施例中,在每个协方差矩阵之间的距离计算如下
其中
d是协方差矩阵的维度,4表示外观模型的广义特征值;以及 其中
w是区域内点的相应特征的平均数的矢量; r指示矢量的转置;以及
/* = U,J,/O,;0,八O,力,/yO,力j;
其中A包括空间属性砂的特征集,/(3c,^对应于jc和y位置的红色、 绿色和蓝色通道,//义,"对应于红色、绿色和蓝色通道中的义斜率,//jc," 对应于红色、绿色和蓝色通道中的y斜率
入=k y,力,^ 0,力,& 0,力,G(x,力,G, (x,力,Gy力,S(jc,力,5, (jc,力,礼(;c,力j
在1072,根据聚类内区域数目来标识无关的聚类。 在实施例中,通过下述选择典型区域
40Z = flrgw/"戸J]O(C,, C乂)),!.,y c l".., wt;
其中^表示聚类A中的区域数目;以及
yOfC,,Qj表示在聚类中第/区域和聚类中第7'区域之间的距离。
在查询视频数据的有效区域和一个或多个已查询视频数据中每一
个的有效区域之间的距离可以被计算为Hausdorff距离。
接下来,图11描绘了系统150的附加细节。如图11所示,系统150 包括采用计算机920 (例如个人计算机、工作站或服务器)形式的通用 计算机。在各种实施例中,计算机920是常规计算机、分布式计算机或 任何其他的类型的计算机。
系统总线162可以是若干类型的总线结构中的任何总线结构,其包 括存储器总线或存储器控制器、外围总线以及使用各种总线体系结构中 的任何总线体系结构的本地总线。数据存储154还可以被简称为存储器, 在一些实施例中,其包括只读存储器(read-onlymemory, ROM) 924 和随才几存取存々者器(random-access memory, RAM) 925。基本输入/丰命 出系统(basic input/output system, BIOS )程序926可以被存储在ROM 924中,所述基本输入/输出系统程序926包含诸如在启动期间帮助计 算机920内的元素之间传送信息到基本例程。计算机920还包括用于从 硬盘读取或向硬盘(未示出)写入的硬盘驱动器927,用于从可移动磁 盘929读取或向可移动,兹盘929写入的i兹盘驱动器928,以及用于从可 移动光盘931中读取或向可移动光盘931中写入的光盘驱动器930,所 述可移动光盘931诸如CD ROM或其他光学介质。
硬盘驱动器927、磁盘驱动器928和光盘驱动器930分别与硬盘驱 动器接口 932、磁盘驱动器接口 933和光盘驱动器接口 934耦合。驱动 器和它们相关联的计算机可读介质提供了对计算机可读指令、数据结 构、程序模块及其他计算机920数据的非易失性存储。对本领域的普通 技术人员而言应当理解的是能够存储可由计算机访问的数据的任何类 型的计算机可读介质都可;f皮用于示例性操作环境中,所述计算机可读介 质诸如磁带盒、快擦写存储卡、数字视频盘、伯努利盒式磁盘(Bernoulli cartridges)、随机存取存储器(RAM)、只读存储器(ROM)、独立 磁盘(例如RAID存储设备)的冗余阵列等。
多个程序才莫块可以被存储在硬盘、》兹盘929、光盘931、 ROM 924 或RAM925中,所述程序才莫块包括操作系统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 area network, WAN) 952。这样的网络环境在办公室网络、企业宽带计算机 网络、内部网和因特网中是很常见的,其是所有类型的网络。
当用在LAN联网环境中时,计算机920通过网络接口或适配器953 与LAN951连接,所述网络接口或适配器953是一种通信设备。在一些 实施例中,当用在WAN联网环境中时,计算机920典型地包括调制解 调器954 (另一种通信设备)或任何其他类型的通讯设备,例如无线收 发器,用于在诸如因特网之类的广域网952上建立通信。调制解调器954 可以是内置的或外置的,其经由串行端口接口 946与系统总线923连接。 在联网环境中,关于计算机920所描绘的程序冲莫块可以被存储在远程计 算机或服务器949的远程存储器存储设备950中。应当理解所示出的 网络连接是示例性的,其他的用于在计算机之间建立通信链路的通信设 备也可以被使用,包括混合同轴光纤连接、Tl-T3线、DSL、 OC-3和/ 或OC-12、 TCP/IP、樣炎波、无线应用协议、以及4壬何其他的通过任何适 当的开关、路由器、输出和电源线的电子介质,如本领域的普通技术人 员所熟知和理解的那样。
426.总结
以上已经描述了本发明的示例性实施例。然而,本领域的普通技术 人员将理解在不脱离由所附权利要求所定义的本发明的真实范围和精 神的情况下,可以对所描述的实施例作出变化和修改。
最后,词"示例性的(exemplary),,在此被使用,意指"作为实例、 例子或例示,,。在此描述为"示例性的,,任何实施例都不必被理解为比其他 实施例优选和有利。
权利要求
1.一种方法,包括存储多个图像帧和与多个视频对象相对应的分析数据,其中所述多个视频对象中的每个视频对象可通过显示所述多个图像帧中包括那个视频对象的图像帧来显示;接收对可显示在所述多个图像帧的指定图像帧中的第一视频对象的选择;搜索所述分析数据以获取与所述第一视频对象最相匹配的视频对象以便标识第一图像帧集,其中所述第一图像帧集中的每个图像帧都包括至少一个与所述第一视频对象最相匹配的视频对象;显示所述第一图像帧集的至少一部分;接收对在所述第一图像帧集的所显示部分的图像帧中显示的第二视频对象的选择;搜索所述分析数据以获得与所述第二视频对象最相匹配的视频对象以便标识第二图像帧集,其中所述第二图像帧集中的每个图像帧都包括至少一个与所述第二视频对象最相匹配的视频对象;以及显示所述第二图像帧集的至少一部分。
2. 根据权利要求1所述的方法,其中与所述第 一视频对象最相匹配的所述视频对象是第 一数量的视频对象,所述第一数量小于或等于所述多个视频对象的预定百分比,以及其中与所述第二视频对象最相匹配的所迷视频对象是第二数量的视频对象,所述第二数量小于或等于所述多个视频对象的预定百分比。
3. 根据权利要求1所述的方法,其中与所述第 一视频对象最相匹配的所迷视频对象是第 一数量的视频对象,所述第一数量小于或等于视频对象的预定数量,以及其中与所述第二视频对象最相匹配的所述视频对象是第二数量的视频对象,所述第二数量小于或等于视频对象的所述预定数量。
4. 根据权利要求1所述的方法,还包括(i)接收对在另 一指定图像帧中显示的另 一视频对象的选择;(ii) 搜索所述分析数据以获得与另 一个视频对象最相匹配的视频对象以便标识另 一 图像帧集,其中所述另 一个图像帧集中的每个图像帧都包括至少一个与所述另 一个一见频对象最相匹配的^L频对象;以及(iii) 显示所述另一个图像帧集的至少一部分。
5. 根据权利要求4所述的方法,还包括至少再重复一次所述步骤(i) 、 (ii)和(iii)。
6. 根据权利要求1所述的方法,还包括创建标识与所述第 一浮见频对象最相匹配的所述一见频对象的第 一列表;以及以基于所述第 一列表中的每个视频对象与所述第 一视频对象的匹配程度的次序来对所述笫一列表进行排序,以使所述第一列表标识与所述第 一视频对象最相匹配的所述视频对象。
7. 根据权利要求6所述的方法,其中所述多个图像帧是由多个摄像机捕获的,所述多个摄像机至少包括第 一摄像机和第二摄像机,其中所述指定图像帧是由所述第 一摄像机捕获的,其中所排序的第 一列表标识由所述第 一摄像机捕获的图像帧内的视频对象和由所述第二摄像机捕获的图像帧内的视频对象,其中显示所述第一图像帧集的至少一部分包括(i)在图形用户界面(GUI)的第一视频显示窗口显示所述指定图像帧,以及(ii)在所述GUI的第二视频显示窗口显示在所排序第一列表中标识的和由所述第二摄像机捕获的图像帧。
8. 根据权利要求1所述的方法,其中所述多个图像帧是由多个摄像机捕获的,所述多个摄像机至少包括第 一摄像机和第二摄像机,其中所述指定图像帧是由所述第一摄像机捕获的,以及其中显示所述第 一 图像帧集的至少 一部分包括经由图形用户界面(GUI)的笫一视频显示窗口显示所述指定图像帧,以及经由所述GUI的第二视频显示窗口显示由所述第二摄像机捕获的图像帧。
9. 一种计算机可读媒体,包括可执行以实行过程的程序指令,包括存储多个图像帧和与多个视频对象相对应的分析数据,其中多个视频对象中的每个视频对象可通过显示所述多个图像帧中包括那个视频对象的图像帧进行显示;接收对可显示在所述多个图像帧的指定图像帧中的第 一视频对象的选择;搜索所述分析数据以获取与所述第 一视频对象最相匹配的视频对象以便标识第一图像帧集,其中所述第一图像帧集中的每个图像帧都包括至少 一个与所述第一^L频对象最相匹配的^L频对象;显示所述第 一 图像帧集的至少 一部分;接收对在所述第 一 图像帧集的所显示部分的至少 一个帧中显示的第二视频对象的选择;搜索所述分析数据以获取与所述第二视频对象最相匹配的视频对象以便标识第二图像帧集,其中所述第二图像帧集中的每个图像帧都包括至少一个与所述第二一见频对象最相匹配的—见频对象;以及显示所述第二图像帧集的至少一部分。
10. —种系统,包括处理器;数据存储,用于存储(i)多个图像帧,(ii)与多个视频对象相对应的分析数据,和(iii)可由所述处理器执行的程序指令;以及用户接口 ,用于显示图像帧并接收对在所述多个图像帧的指定图像帧中显示的视频对象的选择;其中所述多个视频对象可通过经由所述用户接口显示所述多个图像帧来显示,其中所述程序指令包括用于促使处理器如下执行的指令(i) 搜索所述分析数据的子集,以便标识与所选择视频对象最相匹配的多个视频对象并创建第 一列表,其中所述第 一列表标识与所选择视频对象最相匹配的视频对象的号,(ii) 对于所述第一列表中所标识的每个视频对象,搜索所述分析数据以便标识多个视频对象中与在所述第 一列表中所标识的视频对象最相匹配的—见频对象,(iii) 对于与所述第一列表中所标识的视频对象最相匹配的每个所标识一见频对象,对净皮标识为与所述第一列表中所标识的一见频对象最相匹配的视频对象的那个视频对象出现次数进行计数,(iv) 创建第二列表,其中所述第二列表指示与所述第一列表中所标识的视频对象最相匹配的每个所标识视频对象出现的计数数目,以及(v) 使用所述第二列表标识所述多个图像帧中要显示的图像帧集。
全文摘要
实行对与在多个图像帧中显示的视频对象相对应的分析数据子集的种子搜索,以标识与所选择视频对象最相匹配的视频对象,然后实行对分析数据的穷举搜索,以便标识与在种子搜索期间所标识的每个视频对象最相匹配的视频对象。通过图形用户界面(GUI)对具有穷举搜索期间被标识为最大出现次数的视频对象进行显示。这样,GUI可以根据每个视频对象与在种子搜索期间所标识的视频对象和/或所选择视频对象匹配的接近程度的次序显示视频对象,所述次序可以不同于基于每个视频对象被捕获的时间的次序。
文档编号G06K9/00GK101663676SQ200880012755
公开日2010年3月3日 申请日期2008年2月28日 优先权日2007年2月28日
发明者B·A·米勒, I·科亨, R·米奇安科, 马云潜 申请人:霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1