产生与视频帧关联的元数据的方法、视频摄像机系统及视频处理系统与流程

文档序号:11995372阅读:302来源:国知局
产生与视频帧关联的元数据的方法、视频摄像机系统及视频处理系统与流程
本发明一般地涉及搜索录制的视频。

背景技术:
搜索录制的视频可以是极为消耗时间的和人力密集的过程。视频监控系统通常包括录像机,用于录制由监控摄像机所捕获的视频。最初,盒式磁带录像机被用来记录这种数据,然而,只能够通过使人查看录像带来找到关心的部分的方式来对录像带进行搜索。数字视频录像机的形成借助使用算法来搜索特定项目,例如,借助算法来搜索一个项目何时从视频摄像机所观看的区域中消失,由此改进搜索过程。然而,快速且方便地找到特定视频片段的能力并没有得到很大改进,与需要查看VCR磁带一样,搜索过程仍然需要人来查看视频。视频分析在视频安全工业中正快速引起人们的注意,且正在开始部署使用相当先进的技术来从数字视频流提取高级信息的系统和部件。通常在以下两个地点之一实现视频分析:1)在“边缘”,即,在摄像机端,或者,2)在“头端”,即,在系统中具有大量处理能力的设备处。对于视频分析的最初尝试是在头端实现的,这是因为,只能够在个人计算机型平台中才能获得有益的分析所需的计算效力。这样,模拟视频通过视频采集卡被导入到PC中,视频采集卡将对视频进行数字化,然后将帧提供给分析软件。计算机将对这些数字帧执行各种计算,检测各种行为,接着将这些通过专用图形用户接口直接报告给操作员,或者,经由某种信令系统(通常是IP网络)来给另一个系统产生信息,该另一个系统将记录此信息,或者在某种监控系统中产生警报或事件。

技术实现要素:
提供了用于产生与视频数据关联的元数据的系统和方法的例子。元数据可包括有关在视频场景中观看的对象的数据和/或在视频场景中发生的事件的数据。本公开的某些实施方式允许用户通过搜索记录的元数据来搜索特定的对象和/或事件。在某些实施方式中,通过接收视频帧并产生该视频帧的背景模型来产生元数据。接着,通过使用背景模型,可以在视频帧中识别前景对象。一旦识别了这些对象,它们可以被分类和/或可以检测与前景对象相关联的事件。接着,前景对象的类别和事件可被记录为元数据。提供了一种产生与视频帧关联的元数据的方法。接收视频帧并根据该视频帧形成背景模型。接着,可使用背景模型从视频帧分离前景对象。前景对象可按类别进行分类。例如,类别可基于对象颜色、长宽比和位置来表征前景对象。前景对象的类别可接着被记录在元数据中。提供了一种产生关于视频帧的元数据的方法。该方法包括接收视频帧、形成该视频帧的背景模型、使用背景模型来从视频帧分离前景对象、将该前景对象识别为先前识别的前景对象、基于前景对象的特征来将前景对象分成类别、以及在元数据中记录对象的类别。被用于分类的前景对象的特征可包括对象在视频帧中的位置、对象颜色以及对象的长宽比。提供了另一种方法。可通过用户接口从用户接收搜索查询。该搜索查询可包括用于搜索对象的类别和与对象关联的事件中的任一个或二者的信息。接着可检索与搜索查询相关的元数据文件。元数据文件可包括有关视频帧内的对象类别和对象事件中的任一个或二者的信息。可在被检索的元数据文件中搜索匹配该搜索查询的元数据。接着,可通过用户接口提供匹配该搜索查询的视频片段列表。提供了一种视频摄像机系统,其包括视频摄像机、输出端口和处理器。视频摄像机可被配置为捕获场景的视频数据,并将该视频数据作为数字数据来输出。处理器可与摄像机通信地耦合。处理器可被配置为:接收来自视频摄像机的视频数据、形成视频数据的背景模型、使用背景模型从视频数据分离前景对象、识别前景对象在视频数据的视频场景中的位置、确定前景对象的颜色、以及在元数据中记录前景对象的位置和颜色。输出端口可通信地耦合到处理器,并被配置为输出元数据。提供了一种视频处理系统,其包括视频输入端口、处理器和视频输出端口。视频输入端口可被配置为接收视频数据。处理器可通信地耦合到视频输入端口和视频输出端口。处理器可被配置为:形成视频数据的背景模型、使用背景模型从视频数据分离前景对象、确定前景对象的相对位置、以及确定前景对象的相对颜色。视频输出端口可被配置为输出前景对象的相对位置和颜色作为元数据。在一些实施方式中,背景模型可包括短期背景模型和长期背景模型中的任一个或二者。在一些实施方式中,可从元数据去除阴影和反射。在一些实施方式中,与前景对象相关的事件可被检测并被存储在元数据中。在一些实施方式中,前景对象可按以下特征中的一个或多个来分类:对象在视频帧内的位置、对象尺寸、对象颜色、对象类型和/或对象长宽比。在一些实施方式中,事件可包括:对象进入帧、对象离开帧、摄像机损坏、对象保持静止、对象与另一个对象融合、对象分成两个对象、对象进入区域、对象离开区域、对象跨过绊网(tripwire)、对象被移除、对象被丢弃、对象计数、对象闲逛(loiter)和/或对象计时器。在一些实施方式中,可按对象类别和/或对象速度来对前景对象分类。在一些实施方式中,可使用概率高斯模型来构造背景模型。在一些实施方式中,可通过从视频帧减去背景模型来返回前景对象的方式从视频帧分离前景对象。在一些实施方式中,与对象关联的类别数据可被记录为与视频数据分离的元数据。还提供了一种搜索视频数据的方法。可通过用户接口从用户接收搜索查询。搜索查询可包括多个查询维度。可计算在查询维度和存储在视频数据中的元数据中标识的对象的维度之间的距离度量。可通过用户接口提供视频片段的列表。视频片段可包括具有小于阈值的距离度量的对象。还提供了一种包括代码的非暂态计算机可读介质,该代码可由处理器来运行以实现元数据搜索。代码可使处理器:通过用户接口从用户接收包括一组查询维度的搜索查询、计算在该一组查询维度和与视频帧中标识的对象关联的一组对象维度之间的距离、并通过用户接口提供视频片段的列表。视频片断包括具有小于阈值的距离度量的对象。还提供了一种视频处理系统,包括用户接口、视频存储设备和处理器。用户接口可被配置为接收用户输入。视频数据存储器可存储视频元数据。处理器可与用户接口和视频数据存储设备通信地耦合。处理器可配置为通过用户接口接收包括多个查询值的搜索查询,并计算该多个查询值和与在视频存储设备中存储的视频元数据关联的相应值之间的距离度量。在一些实施方式中,搜索查询可包括对象类别和/或对象事件。在一些实施方式中,搜索查询可包括标识对象在特定摄像机的视野中的位置、类别内的范围和/或事件范围的信息。在一些实施方式中,查询维度和对象维度可与对象类别、与对象关联的事件、x轴位置、y轴位置、颜色、x轴速度、y轴速度和/或长宽比相关联。在一些实施方式中,可使用来计算距离,其中xn是第n个对象维度,qn是第n个查询维度。这里描述的项目和或技术可提供下述能力中的一个或多个,以及其它没有提到的能力。例如,使用这里描述的实施方式,视频数据可连同元数据实时产生,该元数据包括有关在视频数据中捕获的对象和事件的信息。此外,视频数据可被分析,且元数据可基于先前记录的视频数据来产生。进一步的,根据一些实施方式,用户可基于元数据中记录的对象特征和/或事件来搜索元数据,以找到期望的视频数据。也可提供各种其它的能力。尽管已经描述了项目/技术效果对,但是有可能通过本文没有提到的项目/技术来获得所提到的效果,并且,所提到的项目/技术可能不一定产生所提到的效果。附图说明图1是视频监控系统的框图,其中,搜索录制视频的各个方面可根据本公开的一些实施方式来实现。图2是图1中显示的工作站的一个实施方式的框图。图3是图1中显示的视频源的一个实施方式的框图。图4是根据一些实施方式分析场景的过程。图5是图示用于输入搜索条件的一个实施方式的截屏图。图6是根据一些实施方式图示输入搜索条件的一个实施方式的截屏图。图7是根据一些实施方式图示输入搜索条件的一个实施方式的截屏图。图8是针对捕获和准备用于数据库搜索的帧的过程。图9是根据一些实施方式用于接收搜索帧并准备它用于搜索的过程。图10是根据一些实施方式用于执行由用户请求的搜索的过程。图11是根据一些实施方式基于所请求的搜索来生成报告的过程。图12是根据一些实施方式用于检测并去除视频帧中的阴影和反射的流程图。图13是根据一些实施方式用于检测并去除视频帧中的阴影和反射的流程图。通过查阅以下的详细描述、附图和权利要求书,将更全面地理解本文描述的过程和系统,以及其伴随的优势、应用和特征。具体实施方式本文讨论了用于产生描述有关视频场景的对象和/或事件的元数据的技术。可通过实时地分析视频场景生成元数据,以产生具有描述视频场景内的对象的特征和/或发生在视频场景内的事件的信息的文件。在一些实施方式中,元数据可实时地生成。在一些实施方式中,摄像机可收集道路场景的视频数据。关于该场景的背景信息可通过一段视频帧来产生。根据背景信息,可识别前景对象,并可基于前景对象的特征来对前景对象分类。也可根据视频数据来确定与对象相关的一个或多个事件。接着,可结合视频数据记录对象的类别和/或对象的事件。例如,视频摄像机可被用来捕获道路场景的视频数据。且可根据该视频数据来形成背景模型。此背景模型可包括场景的特征和静态对象。街道场景的背景模型例如可包括街道、树木、标志牌和建筑物等。通过使用背景模型,可识别前景对象并对其分类。例如,通过场景的汽车可被识别并被分类为汽车。它们的颜色和/或尺寸也可被分类。可确定与所识别的汽车关联的各种事件。例如,这种事件可包括汽车向右行驶或向错误方向行驶,或者长时间地停在一个特定地点的汽车。可识别各种其它事件。该对象数据和事件数据可被记录为与视频数据关联的元数据。然后,该元数据可被用于搜索和检索感兴趣的视频数据。参考图1,以框图形式显示了视频监控系统10。视频监控系统10可包括连接到网络18的多个视频源1~n,其被标注为12、14和16。视频源12、14和16例如可包括静态或全运动视频摄像机。此外,视频源12、14和16可产生原始数字或模拟视频数据。如果视频源12、14和16产生模拟视频数据,则可使用数字化仪来对视频数据进行数字化。视频源12、14和16可捕获并提供彩色或单色的视频数据。网络18可以是封闭的网络、局域网或广域网,例如互联网。多个数字视频录像机(DVR)20和21也可连接到网络18,用于录制来自视频源12、14和16的视频。在一些实施方式中,一个或多个数字视频录像机20或21可以是网络视频录像机,或者可以直接连接到显示器或工作站。数字视频录像机可以包括任意类型的视频存储设备,包括硬盘和/或闪存盘。如这里所使用的,录制的视频包括全运动视频和每隔一段时间拍摄的静态照片。存储器22可连接到网络18,以提供额外的存储空间,用于例如可传输自数字视频录像机20的录制的视频,进行短期或长期的存储。存储器22可如所示地连接到网络18,或可直接连接到数字视频录像机20,例如作为扩展盒。工作站24可连接到网络18以给用户提供显示和输入能力。工作站24可以是通用计算机,其带有用于实现搜索记录的视频数据的软件搜索方法的软件,并提供用于搜索记录的视频数据的图形用户接口,或者,工作站可以简单的是显示和用户输入设备,用于访问视频监控系统10并使用视频数据搜索方法。用于搜索记录的视频数据的图形用户接口软件和视频搜索软件可处于系统中的任何位置,例如,工作站24、数字视频录像机20或存储器22。可利用视频源、视频录像机、网络和/或工作站的各种其他组合。图2图示了用于实现视频数据搜索方法的工作站24的一个实施方式。处理器26连接到ROM28、RAM30和存储器32,其可以是硬盘驱动器、压缩盘驱动器、光驱动器等等。处理器26可以是例如由公司和制造的个人计算机中央处理单元(CPU)等智能设备、微处理器、专用集成电路(ASIC)等。处理器26实现存储在ROM28或存储器32中的软件程序,来显示图形用户接口。处理器26向显示器36提供输出信号,以显示用于实现视频数据搜索方法的图形用户接口。用户输入设备34可以是鼠标、穿梭(jog/shuttle)控制器、键盘、或连接到处理器26以提供搜索存储的视频数据的用户输入的其它合适的输入设备。工作站24搜索的所记录的视频数据可以存储在视频监控系统10的数字视频录像机20、数字视频录像机21或存储器22中的一个或多个中。设备管理器可被用于(例如在ROM28、RAM30或存储器32中)储存处理器可读、处理器可运行软件代码,该软件代码包含用于控制处理器26的指令,来执行以下描述的功能(尽管该描述可看出软件执行这些功能)。所述功能例如实现各种视频对象分类和/或事件识别系统。通过经由网络连接下载、从磁盘上载等方式,软件可被加载到存储器上。此外,软件可能不是可直接运行的,例如,在允许运行之前需要编译。在图3中,根据一些实施方式,图示了视频源的例子,用作图1中的视频源12、14或16中的任意视频源。摄像机38将原始视频数据提供给处理器40。处理器40可包括任意类型的处理单元和存储器。处理器40可将原始视频数据压缩成数字视频格式,例如,MPEG。处理器40还可执行各种任务,包括数据修改、数据打包和产生元数据等等。压缩视频数据可被流式化,例如,来传输到通信设备42(例如,网络设备、调制解调器、无线接口等),用于传输到网络18。尽管摄像机38、处理器40(服务器和/或编码器)以及通信设备42已经被显示为分开的设备,但是,它们的功能可以在单个设备中或在两个设备中来提供,而非如所示的在三个分开的设备中来提供。场景分析器算法可在摄像机38、处理器40和/或工作站24中实现,以检测摄像机38的视野的场景中的方面或事件,例如,检测并跟踪所监视的场景中的对象。如果场景分析是在摄像机38或处理器40中实现的,有关事件和对象的信息可作为元数据随视频数据发送给网络18。该视频数据可例如包括检测到某人跨过绊网或检测到红色车辆。可选地,视频可通过网络18流式传输,接着,由例如DVR20进行分析,之后,流式视频被存储。参考图4,分析场景的过程100包括所显示的模块。然而,过程400仅是例子,不是限制性的。例如通过使得阶段被添加、被移除、被重排、被结合和/或被同时进行,过程100可被改变。例如,可在模块120、125和130来构造背景模型。对于所显示和描述的过程100的其它改变是可能的。在一些实施方式中,过程100可在被包含于或耦合于视频源或视频摄像机的处理器内实现。在一些实施方式中,过程100可对视频数据实时地操作。就是说,随着视频帧的捕获,过程100可以识别对象和/或检测对象事件,其等于或快于视频帧被视频源所捕获的速率。例如,如果视频源每秒捕获30个视频帧,则可以按相同速率或更大的速率来对每个帧或一系列帧实施过程100。过程100可通过捕获视频帧而在模块105开始。视频帧可实时地捕获自视频源或从数据获取。过程100利用高斯模型来排除静态背景图像和具有重复运动而不具有语义意义的图像(例如,树在风中摇动),其可被用来从感兴趣的对象减去场景的背景。也可使用其他模型。为了检测场景中的对象,高斯混合模型被应用于视频帧(或多个视频帧)以产生背景,如模块110、120、125和130所示。使用这种方法,即使背景拥挤且场景中存在运动,也可生成背景模型。对于实时视频处理,高斯混合建模非常耗时,且由于其计算性质,这种建模难以优化。为了加速背景减法运算处理,针对相应像素的描述,选择最可能的模型。在模块130可构造退化的单高斯模型,并在模块135应用该模型。各种其它的背景训练算法或过程可被用来创建背景场景。在模块115,可检测反射,并将其从视频帧中移除。在一些实施方式中,第二背景模型可结合上文描述的背景模型使用,或可作为独立的背景模型使用。进行这种操作的目的是,例如,改进对象检测的精确性,且移除由于一对象在一位置处停留一段时间后又从该位置移开而导致检测到的虚假的对象。这样,例如,可在第一“短期”背景模型后应用第二“长期”背景模型。长期背景模型与短期背景模型的建立过程是一样的,只不过它以更慢的速率来更新。就是说,它使用更长的时间段上的更多的视频帧来创建背景模型。如果使用短期背景检测到一对象,但是,根据长期背景,对象被认为是背景的一部分,则检测到的对象是虚假的对象(例如,对象在一位置停了一会又离开了)。在这种情况下,短期背景模型的对象区域应该用长期背景模型的对象区域来更新。否则,如果对象出现在长期背景中但它是短期背景中的背景,则该对象已经融合到了短期背景中。如果对象在两种背景模型中都被检测到,则该对象是前景对象就具有高的可能性了。使用长期背景模型是可选的。在模块135,对于所捕获的视频帧,应用背景减法方法,以提取前景像素。在模块140,根据分割结果来更新背景模型。由于背景不会很快改变,因此,不必更新每个帧中的整幅图像的背景模型。然而,如果每隔N(N>0)个帧更新背景模型,则对具有背景更新的帧的处理速度与不具有背景更新的帧的处理速度会有很大差别,这有时可导致运动检测误差。为了克服这个问题,在每个帧中只更新背景模型的一部分,使得每个帧的处理速度相同,并实现了速度优化。在进行了形态滤波后,在模块145,前景图像被分组为图像团(imageblob),即,相似像素的组。这些图像团代表当前帧中检测到的对象。为了去除因分割误差而导致的小的噪音图像团并根据其在场景中的尺寸找到合格的对象,例如可使用场景校准方法来检测团尺寸。对于场景校准,假设透视地平面模型。在地平面模型中,合格的对象应该比阈值高度(例如,最小高度)高,比阈值宽度(例如,最大宽度)窄。通过指定处于不同竖直水平的两个水平的平行线段来计算地平面模型,且这两条线段的长度应该与可被定位的地平面的消失点(在透视图中,平行线看起来汇聚到的一点)的真实世界长度一样长,实际对象尺寸可根据其到消失点的位置来计算。在场景的底部限定团的最大/最小宽度/高度。如果检测到的图像团的标准化的宽度/高度小于最小宽度/高度,或者标准化的宽度/高度大于最大的宽度/高度,则将丢弃该图像团。在模块150,可检测反射和阴影,并将其从视频帧去除。反射检测和去除可在阴影去除之前或之后进行。为了去除任何可能的反射,第一步是检查前景像素相比于整个场景的像素数量的百分比是否很高。如果前景像素的百分比高于阈值,则以下操作发生。参考图12,用于去除反射的过程1200包括所显示的模块。在模块1210,通过从背景图像减去当前帧的亮度来生成差别图像。在模块1220,可进行反射和阴影检测和去除。可以以多种方式进行此操作。例如,可以计算差别图像的直方图,并可以找到该直方图的最大值(或高于阈值的点)。如果该最大值明显偏离于零,则检测到反射。为了去除这种反射效果,当前帧中的每个像素的亮度可被偏移,且偏移量与直方图最大值偏离于零的量相同。这种运算是假设了每个像素从原始亮度偏离相同的值。接着,可使用多种过程来检测和去除阴影。由于阴影与背景具有相同的纹理图案,因此,在模块1230,可使用图像相关技术来检测阴影。如果背景与当前帧之间的相关高于预定阈值(例如,0.95),则当前图像块暗于背景,且当前图像块可被认为是可能包括阴影效果。另外,可在模块1240使用边缘检测来检测阴影。可确定当前视频帧内的每个像素沿着x轴和y轴的梯度。如果梯度的绝对值大于阈值,则相应的像素是边缘像素。对于前景图像,如果背景具有某种边缘,则可检测当前帧的相应的图像块,以查看边缘图案是否相似。如果边缘像素的大多数对于两个图像是相同的,则相应的图像块可能包括阴影。在模块1250,可使用竖直投影检测来检测阴影。阴影通常发生在对象的底部,且其在对象中的竖直投影比相应的对象窄很多,因此,可根据对象的竖直投影计算来重新设置对象的尺寸,由此来去除阴影。从对象的两侧,如果竖直投影少于竖直投影的最大值的某个百分比,则当前的竖直线可以是阴影候选。在模块1260,两种或更多种检测技术可以组合来从视频帧去除阴影。附图13中的过程1300是用于阴影检测的另一种技术。对于包含根据背景减法算法检测到的前景像素的每个图像块,在模块1310测量当前帧和背景图像块的亮度差。如果当前前景像素的亮度暗于背景,则过程1300前进到模块1320,否则,过程1300前进到模块1395,该图像被识别为对象块。在模块1320,计算背景和当前帧的图像块之间的相关。如果相关度小于阈值,则图像块与背景不相似,过程1300前进到模块1395,其中图像块被标记为对象块。否则,过程1300前进到模块1340。在模块1340,针对背景和当前帧中的图像块来检测边缘。在模块1350,边缘像素被测量,以查看针对边缘图案匹配是否存在足够的边缘像素。如果在当前帧和背景图像中都存在足够的边缘,则过程1300前进到模块1360。如果不是这样,则过程1300前进到模块1370。在模块1360,如果在当前帧和背景中边缘图案不相似,则块被确定为是对象块,过程1300前进到模块1395。否则,过程1300前进到模块1380。在模块1370,如果仅是在一个块中没有足够的边缘,则该块被确定为是对象块,且过程1300前进到模块1380。否则,过程1300前进到模块1380,其中针对整个对象的前景像素来计算竖直投影。如果竖直投影小于用最大竖直投影确定的自适应阈值,则在模块1390,该块被认为是阴影块,否则,在模块1395,它被确定为是对象块。如果没有对象能够被映射到所检测到的图像团,则将针对该图像团创建新的对象。否则,在模块155,图像团将被映射到存在的对象。新创建的对象不会被进一步处理,直到它在场景中出现了一段时间并向周围移动至少超过一最小距离。以这种方式,可以滤除掉很多虚假对象。通过使用以上程序,可以追踪场景中的对象。下一步是在模块160对场景中的对象进行分类。根据对象的长宽比、物理尺寸和形状的竖直轮廓,可从车辆或一群人来分类出单个人。竖直轮廓可被定义为在对象区域中的前景像素的顶部像素的竖直坐标的1维投影。该竖直轮廓可首先用低通滤波器来滤波。根据经校准的对象尺寸,分类结果可以被精细化,这是因为单个人的尺寸总是小于车辆的尺寸。一群人和车辆可以通过它们的形状差异来分类。例如,可以在对象的位置处确定人宽度的以像素计的尺寸。宽度的一部分可以被用来检测沿着竖直轮廓的峰和谷。如果对象的宽度大于单人的宽度且在对象中检测到多于一个峰,则很可能该对象是一群人而不是车辆。可以应用针对对象缩略(例如缩略图)的基于离散余弦变换(DCT)或其它变换的颜色描述,来提取检测到的对象的颜色特征(量化的变换系数),所述其它变换例如为,离散正弦变换、Walsh变换、Hadamard变换、快速傅里叶变换、小波变换等。在模块170可检测到的事件的示例性列表包括以下事件:对象进入场景、对象离开场景、摄像机被损坏、对象在场景中静止、对象融合、对象分裂、对象进入预限定的区域、对象离开预限定的区域、对象跨过绊网、对象被移除、对象被丢弃、对象在匹配对某区域或绊网预限定的禁止方向的方向上移动、对象计数、对象消除(例如,当对象处于静止长于预限定的时间段且其尺寸大于预限定区域的大部分时)、对象丢弃(例如,当对象处于静止长于预限定的时间段且其尺寸小于预限定区域的大部分时)、停留计时器(例如,对象在预限定区域中长于规定的停留时间处于静止或非常小地移动),以及对象闲逛(例如,当对象在预限定的区域中的时间段长于规定的停留时间)。在模块180,可根据被跟踪对象的运动或根据从该跟踪所获得的事件来创建元数据。这种描述以统一的表达将对象信息与事件组合。例如,可通过对象的位置、颜色、尺寸和长宽比来描述对象。对象还可通过其相应的对象标识符和时间戳来与事件相关。所有事件应该由规则处理器使用规则来产生,这些规则被定义为让场景分析软件来判断在与视频帧关联的元数据中应该提供哪种对象信息和事件。规则可通过任意数量的给定方式来确立,例如由配置系统的系统管理员或由能够重新配置系统中的一个或多个摄像机的授权用户来确立。视频源(例如,图1中的视频源12)可通过多种不同的方法提供包括视频数据和元数据的搜索帧,其然后被用于后来的对视频的搜索。例如,视频源可针对视频流中的每个帧提供于与帧关联的元数据和帧本身,由此,将每个视频帧制成搜索帧。可选地,视频源可通过按预定时间间隔提供JPEG图像以及与该JPEG图像关联的元数据来创建搜索帧,JPEG图像和元数据接着被压缩然后通过网络(例如,图1中的网络18)发送。在另一个可选实施方式中,视频源可通过提供与MPEG兼容流中的每个I帧关联的元数据来创建搜索帧。前面实例性的任意方法可被用于提供多个搜索帧。每个记录将表示以例如半秒间隔拍摄的对象快照,以创建大量的小记录。例如,多个搜索帧可包括预定时间间隔的JPEG图像和与各个JPEG图像关联的元数据。举例而言,如果来自视频源的视频流被DVR(例如,图1中的DVR20)接收,则来自视频源的搜索帧也将被DVR接收。根据被用来创建搜索帧的方法,DVR可接收搜索帧并将其存储在适当的文件中,例如用于周期性的分离的JPEG图像,或者,例如,将来自MPEG兼容流的I帧的副本存储在适当的文件中。与每个搜索帧关联的元数据可以与视频数据分开,或者,元数据可被拷贝,以便创建元数据搜索文件。每个搜索帧的元数据可以按合适的方式(例如按时间戳)与搜索帧或搜索帧的视频数据关联,使得当例如通过工作站24搜索元数据搜索文件时,结果可以在显示器上显示给用户。用户可分开地搜索网络中的每个DVR和存储设备,使得搜索规模易于随监控系统的生长而缩放。因此,将存在很多较小的并行运行的数据库。这种方式在这种类型的系统中工作得很好,因为搜索可以独立于彼此来运行,且分散的数据库让系统易于扩缩。可选地,用于系统的元数据文件中的一些或全部可以存储在一个存储位置(例如,存储器22或工作站24)。元数据搜索文件是二进制平面文件,其可以被快速地检索和搜索。与搜索结果关联的时间戳可被用于定位相应的视频数据,用于显示给用户。用户可将关于期望的搜索的输入提供给工作站。搜索标准不必是精确的搜索。实际上,例如,如在图5中所示的,用户可通过将在显示器212上显示的指示物210移动到特定摄像机的视野中的位置214来提供输入。可选地,如图6中所示的,用户已将在显示器222上显示的指示物220移动到特定摄像机的视野中的特定对象224,以指示期望的颜色,例如对象224的颜色,或者指示要进一步搜索的对象,例如,对象224。用户所使用的视野可以是实时的视野也可以来自录制的视频。可选地,用户可使用分别在颜色框236、238和240上的滑块230、232和234来输入对期望的颜色的搜索,颜色框提供不同程度的诸如红绿蓝等颜色,以在图7中的显示器244上显示的窗口242中产生期望的搜索颜色。在用户的查询中的搜索特征可被用来找到与所选择对象相似的对象。可选的或额外的,搜索可被限制在用户限定的区域和时间段内。给定特定的规则或规则的集合,搜索过程将检索数据库,以获得在特征的搜索范围内的全部记录。结果将根据对象特征的相似度来分类。待被查询的特征可以是颜色、位置、速度、对象尺寸、长宽比、对象类型、事件等等的范围。用户可在场景中设定一个或多个检测区域,并使用规则逻辑来限定输出结果。由用户的查询所要求的搜索标准可以如定位在特定位置处的对象一样简单,或者可以包括多种不同的属性,例如,位置、尺寸、颜色、特定的移动,诸如此类。以下是其中用户有兴趣找到定位在特定位置处的对象的例子。对于对象的位置(x,y坐标)的编码,x和y坐标的范围可以是从0~255,即8比特值。如果搜索是用于找到处于100,200(朝向场景的中上部)的对象,则搜索将规定返回位于精确位置(100,200)的全部对象。然而,这个搜索可能将得到非常少的结果(如果有的话),因为很少有对象将会精确地位于(100,200)这个位置。如果对象处在(99,200),搜索引擎将不会得到匹配。事实上,如果操作员正在生成可视查询,其中,如上所述,他在屏幕上点击对象可能所处的大概位置处,该点击将会相当地不精确。得到精确的匹配是不太可能的。可选的查询例如可查找x在w/2内且y在h/2内的全部对象。这将找到落入围绕位置(q=100,200)的方框内的全部对象。这种可选的查询好于试图得到精确的匹配,但是同样的是,可视查询是相当地不精确的,对象可能刚好在这个框外面,再次地,将不会产生匹配,尽管它已经“足够近”来满足该搜索。扩大搜索窗口将包括更多的匹配,但是,用户想要的是找到最接近(100,200)的全部对象。用于确定最接近用户确立的搜索标准的对象的实施方式如下:xq=查询的x位置yq=查询的y位置xn=数据库中第n个对象的x位置yn=数据库中第n个对象的y位置查询位置到数据库中的任意对象的距离d计算如下:如果搜索过程遍历数据库中的每个记录并计算各个对象与查询位置的距离,然后对结果排序,则数据库中最接近查询的对象将处于列表的顶部。使用此方法不需要用户规定搜索的范围,其总是返回最接近的对象,或者,通过在排序列表中提供顶部的n个结果,它可以返回最接近查询位置的n个对象的列表。因此,该实施方式使用户能够用他的鼠标在帧上点击,由此请求找到接近此点的任意对象。这个相同的技术可以扩展到更加复杂的搜索,例如,查询在进入特定的车道后以高的速率移动通过场景的红色汽车。换句话说,用户想要的是将颜色、位置、速度和长宽比(例如,汽车相比于人是宽的对象)相互关联的接近匹配。颜色具有三个维度(y,u,v),位置具有两个维度(x,y),速度具有两个维度(u,v),长宽比具有一个维度。因此,搜索方法需要在查询中的八个维度上匹配。八维空间中的距离使用下面的等式来计算,其例如显示了用于计算30个不同参数的等式。总的来说,用户生成的查询将可能不是非常精确,这正是本搜索实施方式为什么极为有用的原因,即,它按优选列表提供了模糊匹配。用户可按名称来指定颜色,例如,淡蓝,或者如上所述,从颜色选取器选择颜色。另一个搜索标准允许用户选择颜色的大概例子。有可能的是,对于查询,并非所有的参数是已知的或者并非是完全已知的。例如,用户可能仅知道他正在找一辆浅色的汽车(更多注意到了亮度Y,而没有注意u和v,即色度)。可能仅知道对象的位置在场景中的上半部(注意到了位置的y分量,而很少注意到了x分量)。因此,对各个查询分量的重要性进行加权的搜索方法的实施方式可能是用户所需要的,此实施方式按下式计算:其中,n是各个对象的维数,wi是各个分量的加权系数,qi是查询的第i个维度的分量值,xi是数据库中的对象的第i个维度的分量值。查询对数据库中的所有对象运行,并找到最接近的匹配的最小值d。还可能找到一些数量的最小值d,并将这些结果提供给用户用于可视确认。由于标准的关系数据库并不执行这种类型的算术查询,所以方法需要对照目标查询来检查每个记录的距离。这种类型的计算对于现代CPU计算来说是相当容易的,现代CPU具有每秒搜索数百万记录的计算能力。这将允许搜索方法的该实施方式仅用几秒时间就对48通道的数字视频录像机的每个通道执行特定查询。参考图8,用于捕获和准备帧供数据库搜索的过程300包括所显示的模块。然而,过程300仅是示例性的,并非是限制性的。例如通过使得阶段被添加、被移除、被重排、被结合和/或被同时进行,过程300可以被改变。此外,过程300可以在视频帧被捕获时实时地发生。在模块310,判断是否到了捕获帧的时间。帧捕获之间的预定时间可以设置为任何的期望时间间隔,例如每隔半秒。如果分配的时间已过,则在模块320,捕获帧的视频数据。接着,在模块330,根据针对特定摄像机设置的规则来分析该视频数据。在模块340,由分析产生的元数据与视频数据结合,在模块350,例如,来自过程300的数据库搜索帧被提供给网络、直接提供给DVR或工作站、或者诸如由DVD记录器记录到合适的介质上,用于将来的分析。参考图9,用于接收和处理搜索帧供之后搜索的过程400包括所显示的模块。然而,过程400仅是示例性的,并非是限制性的。例如通过使得阶段被添加、被移除、被重排、被结合和/或被同时进行,过程400可以被改变。在模块410,接收搜索帧,例如由DVR20从网络18接收搜索帧。在模块420,将搜索帧的元数据存储在元数据搜索文件中,供后来例如由工作站24搜索。接着,在模块430,可存储与该搜索帧关联的视频数据。在一些实施方式中,视频数据可与元数据文件分开存储,或者可结合视频数据存储。参考图10,用于执行由用户请求的搜索的过程500包括所显示的模块。然而,过程500仅是示例性的,并非是限制性的。例如通过使得阶段被添加、被移除、被重排、被结合和/或被同时进行,过程500可以被改变。在模块510,过程500等待用户的查询。在模块520,当接收到查询时,获得供搜索的适当的文件。由工作站24所获得的适当的文件可存储在例如DVR20。在模块540,根据用户提供的标准并根据上文讨论的用于多维搜索的等式来执行模糊搜索。在模块550,例如在显示器36上向用户提供搜索的结果。过程500接着在模块560等待用户选择搜索结果中所列条目中的一个或多个。当用户选择了结果条目时,过程500接着在模块570检索出与该条目关联的视频数据,然后在模块580,在显示器36显示该视频数据,供用户观看。除了查询功能,本追查搜索方法还能够针对指定的时间段产生统计报告,以显示在该时间段发生了何种类型的事件以及事件的数量。对于每个事件,如果需要的话,可以给出具体的分析。例如,对于过去的一天可以按五分钟的间隔给出人的计数报告。还可以根据元数据和相应的视频内容生成视频概略,以从视频提取对象,并将它们黏贴在一起,来在单个图像中产生视频概略。参考图11,用于基于所请求的搜索来生成报告的过程600包括所显示的模块。过程600仅是示例性的,并非是限制性的。例如通过使得阶段被添加、被移除、被重排、被结合和/或被同时进行,过程600可以被改变。在模块610,由用户设定搜索报告标准。过程600接着在决策点620判断是否到了根据用户指定的时间框来生成报告的时间。接着当合适的时间段已过,例如用于每天所生成的报告的24小时已过,则过程600在模块630检索用于搜索的元数据,在模块640执行模糊搜索,并在模块650提供报告结果。其它实施例和实现在本公开和所附权利要求的范围和精神内。例如,由于软件的性质,以上描述的功能、流程和过程可以使用由处理器运行的软件、硬件、固件、硬接线和其任意组合来实现。实现功能的特征也可物理地位于不同的位置,包括被分布成功能的部分在不同的物理位置来实现。此外,如这里所使用的,包括在权利要求书中,项目列表中所使用的、前置有“中的至少一个”的“或”表示这样的选言列表,例如,使得“A、B或C中的至少一个”表示:A或B或C、或者AB、或者AC、或者BC、或者ABC(即,A和B和C)。本文所描述和显示的过程和方法可以存储在计算机可读介质上,其指的是可由计算机访问的用于存储数据的任意存储设备。计算机可读的介质的例子包括:磁硬盘、软盘、光盘例如CD-ROM或DVD、磁带、内存芯片,以及被用来承载计算机可读电子数据的载波,诸如在发送和接收电子邮件中所使用的或在访问网络时所使用的那些。尽管这里所讨论的各种实施方式涉及到视频监控系统,但是,相同的过程和方法可以用于监控环境之外的商业或非商业个体所捕获的视频数据。例如,搜索文件可以通过消费类摄像机来产生。这些文件接着可以被直接下载到个人计算机,或者下载到固态存储器件、磁带、磁盘或者其他存储设备上,然后在由消费者选定的时间将这些文件下载到个人计算机。这里所描述的搜索过程可以位于个人计算机上,用于以本文关于视频监控系统所描述的相同的方式来分析视频,使得用户无需花费数小时来观看视频数据就可找到感兴趣的视频。此外,可公开多于一个发明。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1