用于自动跟踪摄像机图像的虚拟遮罩的制作方法

文档序号:7969243阅读:232来源:国知局
专利名称:用于自动跟踪摄像机图像的虚拟遮罩的制作方法
技术领域
本发明涉及一种使用摄像机来自动跟踪摄像机视野内的所关注的移动对象的方法,尤其涉及一种减小视野中的其它移动对象对跟踪所关注的对象的影响的方法。
背景技术
在很多地方会发现视频监视摄像系统,视频监视摄像系统可以包括具有固定视野的固定摄像机和/或能够摇摄、倾斜和/或变焦以调整摄像机的视野的可调摄像机。这些摄像机的视频输出一般被传送到中心位置,在该中心位置,视频输出被显示在多个显示屏中的一个上面并且保安人员可以监视这些显示屏以发现可疑活动。
可以摇摄、倾斜和/或变焦的可移动的摄像机也可以用于跟踪对象。使用PTZ(摇摄、倾斜、变焦)摄像系统,通常可减少监视给定场所所需的摄像机的数量,从而可以减少视频源以及诸如与其关联的多路复用器和开关这样的系统集成硬件的数量和成本。用于指示摇摄、倾斜、变焦移动的控制信号一般经由操纵杆来自操作人员或来自自动视频跟踪系统。自动视频跟踪(即“自动跟踪”)系统可以识别视野中的移动对象,然后通过移动摄像机来跟踪该对象,从而使得将该移动对象保持在摄像机视野的中心部分。
自动跟踪系统可以通过比较多个连续获得的视野中的图像,来识别视野中的移动对象。在连续获得的图像之间,单个像素或局部一组像素的内容的改变可以指示存在需要跟踪的移动对象。对于自动跟踪系统,生成“运动遮罩”是已知的,该运动遮罩是对连续获得的图像间的像素中的内容改变的量或可能性的逐个像素的量化。通过识别在连续获得的图像之间具有内容变化的像素组,系统可以识别视野中的移动对象。
已经发现了一些涉及使用自动跟踪系统的问题。例如,当检测到可能是入侵者的可疑的移动对象时,自动跟踪系统会发出警报。然而,问题是当检测到系统认为是可疑目标的“静态移动”(即背景移动)时,系统会发出错误警报。这种静态移动的来源的一个例子是在风中飘动的旗帜。相关的问题是,在视野中出现静态移动可能导致无法跟踪真实的可疑目标。最后,在视野中出现静态移动可能扰乱系统,并导致系统丢失真实可疑目标的踪迹。
虽然多种系统用于满足在监视摄像系统中提供运动遮罩的需求,但是没有系统满足当在自动跟踪监视系统中使用运动遮罩时过滤掉静态移动的需求。

发明内容
本发明提供一种监视摄像自动跟踪系统,其产生指示静态移动的位置的虚拟遮罩(virtual mask)。可以利用该虚拟遮罩修改运动遮罩(motion mask),以使得当系统检查运动遮罩以确定是否存在所关注的移动对象时,可以较少地受到静态移动的影响。
本发明可以提供1)一种可用于PTZ摄像机的自动可变换虚拟遮罩系统的方法;2)一种提供具有灵活形状的虚拟遮罩的方法,其可具有用户绘制的任意多的顶点;3)一种提供用于更强壮的自动跟踪系统的静态运动的连续可变换虚拟遮罩的方法;4)一种使得能够获得非静态图像以及静态图像的方法;5)一种与以恒定形状而改变尺寸相对的,使得能够动态变焦、促进精确隐私遮罩(privacy mask)的方法;6)一种不需要摄像机校准过程的虚拟遮罩系统。
以其中一种形式,本发明包括一种监视摄像系统,该监视摄像系统包括可获取图像并且具有可调视野的摄像机。该处理装置被可操作地连接到摄像机。该处理装置允许用户在所获取的图像内定义虚拟遮罩。处理装置还在所获取的图像中跟踪所关注的移动对象,并且减小对所述获取的图像的在所述虚拟遮罩内的区域的关注度。
以其中另一种形式,本发明包括操作监视摄像系统的方法,其中包括用摄像机获取图像。在所获取的图像内定义虚拟遮罩。在所获取的图像中跟踪所关注的移动对象,并且减小对所述获取的图像的在所述虚拟遮罩内的区域的关注度。
以其中另一种形式,本发明包括操作监视摄像系统的方法,其中包括用摄像机获取图像。基于所获取的图像生成运动遮罩。在所获取的图像内定位静态运动源。在所获取的图像内的静态运动源上定义虚拟遮罩。利用虚拟遮罩修改运动遮罩。基于修改后的运动遮罩在所获取的图像内跟踪所关注的移动对象。
本发明的一个优点在于自动可变换遮罩算法增强了自动跟踪系统的健壮性,并减少了由静态运动源(如旗帜、树木或风扇)导致的扰乱。
另一个优点是虚拟遮罩可以被精细地剪裁为所述区域的形状,为了自动跟踪而忽略该区域内的运动。
另一个优点是本发明还可以允许一种虚拟遮罩,其中,非遮罩区域完全被遮罩区域围绕,例如,环形遮罩。


参照以下结合附图对本发明的实施例进行的说明,本发明的上述和其它特征及目的,以及实现它们的方式将更加明了,并且能更好地理解发明本身,其中图1是根据本发明的视频监视系统的示意图;图2是图1的处理装置的示意图;图3是使用模拟视频信号的处理装置的一部分的示意图;图4是说明定义隐私遮罩的方法的流程图;图5是说明将隐私遮罩显示在显示屏上的方法的流程图;图6是隐私遮罩的示意图;
图7是图6中的隐私遮罩在遮罩变换后的示意图,以说明摄像机视野中的变化;图8是另一隐私遮罩的示意图;图9是图8中的隐私遮罩在遮罩变换后的示意图,以说明摄像机的视野中的变化;图10是本发明的用于在运动遮罩上画出虚拟遮罩的方法的一个实施例的数据流图;图11是本发明的虚拟遮罩算法的一个实施例的数据流图;图12是说明定义虚拟遮罩的方法的流程图;图13是说明将虚拟遮罩用于自动跟踪的方法的流程图;图14是说明将虚拟遮罩用于自动跟踪的另一个方法的流程图;图15是由摄像机获取并显示在屏幕上的图像的平面图;图16是从由摄像机获取的一系列连续图像中得出的运动遮罩的平面图;图17是用图15的虚拟遮罩修改的图16的运动遮罩的平面图。
在多个图中,相应的参考标记指示相应的部件。虽然此处所示的范例说明了本发明的实施例,但是以下公开的实施例不是用于穷举并且不能被解释为将本发明的范围限制为所公开的精确形式。
具体实施例方式
根据本发明,图1显示视频监视系统20。系统20包括位于部分为球形的外壳24内的摄像机22。对外壳24进行着色,以允许摄像机获取外壳24的外界环境的图像,并同时防止环境中正被摄像机22观察的个体确定摄像机22的方向。摄像机22包括电动机,其用于摄像机22的摇摄、倾斜和焦距调整。摄像机22的摇摄移动由箭头26表示,摄像机22的倾斜移动由箭头28表示,摄像机22的镜头23的焦距的改变(即变焦)用箭头30表示。如参照坐标系21所示,摇摄运动对应于沿x轴方向的移动,倾斜运动对应于沿y轴方向的移动,焦距调整对应于沿z轴方向的移动。在所示实施例中,摄像机22和外壳24是“Philips AutoDomeCamera System”牌的摄像机系统,例如G3 Basic AutoDome摄像机和外壳,其可从前身为“PhilipsCommunication,Security&Imaging”公司的“Bosch Security Systems”公司获得,该公司在宾夕法尼亚州(Pennsylvania)的兰开斯特(Lancaster)拥有营业场所。由Sergeant等人在名为“Surveillance CameraSystem”的美国专利No.5,627,616中描述了适用于本发明的摄像机,通过参考将其包含在此。
系统20还包括头端单元32。头端单元32包括视频信号转换开关或视频信号多路复用器33。例如,头端单元可以包括可从位于宾夕法尼亚州的兰开斯特市的,前身为“Philips Communication,Security&Imaging”公司的“Bosch Security Systems”公司得到的Allegiant牌的视频信号转换开关,例如LTC 8500系列的Allegiant视频信号转换开关,其为多达64个摄像机提供输入,并且还可以被配备8个独立键盘和8个监视器。头端单元32包括键盘34和操纵杆36供操作者或用户输入。头端单元32还包括监视器38形式的显示装置,用于操作者观看。用24伏的AC电源40为摄像机22和处理装置50供电。将处理装置50可操作地连接到摄像机22和头端单元32。
所示系统20是单个摄像机应用,然而,本发明可用于具有其它摄像机的更大的监视系统中,其中,其它摄像机可以是静态的或可移动的摄像机,或其组合,以覆盖更大或更复杂的监视区域。一个或多个VCR或其它形式的模拟或数字记录装置也可被连接到头端单元32,用于记录由摄像机22或系统中的其它摄像机捕获的视频图像。
图2中示意性地表示了处理装置50的硬件结构。在所示实施例中,处理装置50包括系统控制板64。在图2中,处理装置50的电源/IO部分66被显示为分离的板,然而,这是为了清楚的目的,电源/IO部分66的元件可以直接安装到系统控制板64。为将电力提供给处理装置50,电源线42将电源40连接到转换器52。处理装置50经由视频线44从摄像机22接收原始模拟视频供给,视频线45用于将视频图像传送到头端单元32。在所示实施例中,视频线44、45为同轴的、75欧姆、1Vp-p,并且包括用于与处理装置50进行接合的BNC连接器。由摄像机22提供的视频图像可以是模拟的,并且符合NTSC或PAL标准。板72可以是标准的通信电路板,其能处理双相的信号,并包括同轴消息集成电路(COMIC),用于允许经过视频链路进行双向通信。
经由另一模拟视频线56,模拟到数字转换器58从摄像机22接收视频图像,并将模拟视频信号转换成数字视频信号。在数字视频信号被存储在SDRAM 60形式的缓冲器中之后,数字化的视频图像被传送到视频内容分析数字信号处理器(VCA DSP)62。在VCA DSP 62中执行视频稳定算法。由Sablak等人在名为“IMAGESTABILIZATION SYSTEM AND METHOD FOR A VIDEOCAMERA”的美国专利申请中描述了系统20可以采用的图像稳定系统的例子,该专利申请的提交日与本申请相同,并且与本申请具有共同的受让人,因此将该申请的公开通过参考合并在此。被调整的显示图像被送到数模转换器74,其中视频信号被转换成模拟信号。经由模拟视频线76、54、模拟电路68和模拟视频线70将得到的有注释的模拟视频信号发送到通信插件板72,然后该通信插件板经由视频线45将信号发送到头端单元32。
处理器62可以是TIDM 642多媒体数字信号处理器,其可从德克萨斯州(Texas)的达拉斯(Dalias)的德州仪器(Texas InstrumentsIncorporated)获得。一开始,可编程媒体处理器62加载引导装入程序。然后引导程序从存储器装置(例如闪存78)将VCA应用程序代码拷贝到SDRAM 60用于执行。在所示实施例中,闪存78提供4兆字节的存储空间,SDRAM 60提供32兆字节的存储空间。因为一启动就将应用程序代码从闪存78加载到SDRAM 60,所以SDRAM 60剩余大约28兆字节的存储空间用于视频帧存储和其它软件应用程序。
在图2所示的实施例中,经由高速串行通信总线63、双相数字数据总线80、I2C数据总线82和RS-232数据总线84、88,将位于系统控制板64上的元件连接到通信插件板72。还可以提供RS-232/RS-485兼容收发器86用于通信。同轴线45经由通信插件板72提供处理装置50和头端单元32之间的通信。可以是RS-232调试数据总线形式的多种其它线路(例如线路49)也可用于将信号从头端单元32传送到处理装置50。由这些线路(例如线路45和49)传送的信号可以包括被发送到摄像机22之前可被处理装置50修改的信号。这些信号可经由线路48被发送到与微控制器90通信的摄像机22。在所示实施例中,微控制器90是H8S/2378控制器,其可从在加利福尼亚州(California)的圣何塞(San Jose)具有营业场所的“RenesasTechnology America”公司获得。
微控制器90运行系统控制器软件并且还与VCA元件92通信。虽然未示出,但是导电迹线和内衬导电材料的通孔被用于提供安装在图2所示的印制电路板上的多个元件之间的电气通信。因此,VCA元件(例如VCA DSP 62)可以经由微控制器90和线路48向摄像机22发送信号。也可以使用线路46直接将信号从头端单元32传送到摄像机22,而不通过处理装置50传送信号。可以将处理装置50和摄像机22以及头端单元32之间的各种替代通信链路应用于本发明。
系统控制板64还包括现场可编程门阵列(FPGA)94,其包括三个存储装置,即遮罩存储器96,字符存储器98以及屏幕上显示(OSD)存储器100。在所示实施例中,FPGA 94可以是可从在加利福尼亚州的圣何塞具有营业场所的Xilinx公司获得,并且以Spartan 3的名称来出售的FPGA。在所示实施例中,遮罩存储器96是4096×16的双端口随机访问存储器模块,字符存储器98是4096×16的双端口随机访问存储器模块,OSD存储器100是1024×16的双端口随机访问存储器模块。类似的,VCA元件92包括遮罩存储器102,字符存储器104以及屏幕上显示(OSD)存储器106,它们也可以是双端口随机访问存储器模块。这些元件可用于遮罩显示在屏幕38上的图像的不同部分,或者为屏幕38生成文本显示。更具体地讲,处理装置50的这种结构使得处理器能够对模拟视频信号或数字视频信号应用隐私遮罩、虚拟遮罩,和屏幕上显示。
如果希望对数字图像信号应用隐私遮罩或屏幕上显示,则将使用存储器102、104和106,并且在处理器62中进行计算隐私遮罩和屏幕上显示的位置所需的处理。如果对模拟视频信号应用隐私遮罩和屏幕上显示,那么将使用存储器96、98和100,并且在微处理器90中进行计算隐私遮罩和屏幕上显示的位置所需的处理。在处理装置50中包含具有存储器102、104和106的VCA元件92,有利于进行视频内容分析,例如用于对闯入者的自动跟踪。然而,可以提供不配备VCA元件92的处理装置50的替代实施例,以降低成本,所述处理装置50不提供相同的视频内容分析能力。在这种实施例中,处理装置50仍然能够通过使用微处理器90和具有存储器96、98和100的现场可编程门阵列(FPGA)94对模拟视频信号应用隐私遮罩、虚拟遮罩以及屏幕上显示。
处理装置50还包括可重写的闪存装置95、101。闪存95用于存储包括字符映射表(character map)的数据,在系统启动时,该字符映射表被写到存储器98和100。类似的,闪存101用于存储包括字符映射表的数据,在系统启动时,字符映射表被写到存储器104和106。通过将字符映射表存储在代替只读存储器的可重写的存储装置上(例如闪存95、101),之后如果希望,则可以通过简单地重写或补充存储在闪存上的字符映射表,从而相对容易地对字符映射表进行升级。系统控制器板64还包括并行数据闪存108,用于存储包括用户定义的隐私遮罩的用户设置,其中与用户定义的隐私遮罩对应的数据在系统启动时可以被写到存储器96和/或102。
图3提供了比图2所示更详细的FPGA 94和模拟电路68的示意图。如图3所示,除了遮罩存储器96、字符存储器98和OSD存储器100之外,FPGA 94还包括OSD/遮罩控制块94a、地址解码器94b以及可选的主机端口接口HPI16 94c,用于传送帧精确位置数据。当利用VCA元件92将隐私遮罩和信息显示(例如单个文本字符)与数字视频图像结合时,使用HPI16接口。
图3还可看出,模拟电路(图2中以更简化的方式显示并用68标识)包括第一模拟开关68a,第二模拟开关68b,滤波器68c和模拟多路复用器68d以及视频同步分离器68e。“干净的”模拟视频信号通过线路54传送到第二模拟开关68b、混合器68c和同步分离器68e,其中,所述“干净的”模拟视频信号即虽然可以稳定图像,但是视频信号基本上包括所有被摄像机22捕获的图像而未对图像的内容进行任何实质修改。模拟视频信号从混合器68c传送到第一模拟开关68a。混合器68c还包括半色调黑色调整,从而部分视频信号可用灰色调修改。同步分离器68e从视频信号提取定时信息,该视频信号然后被传送到FPGA 94。干净的模拟视频信号,诸如来自FPGA 94或线路54的,也被滤波器68c接收。使模拟视频信号通过滤波器68c使得图像模糊,并且模糊的图像被传送到模拟开关68a。模拟开关68a还具有对应于黑色和白色输入的输入线。两条启动线提供模拟开关68a和FPGA 94之间的通信。两条启动线允许FPGA 94控制将由模拟开关68a接收的哪个输入信号输出到模拟开关68b。图3还可看出,第二模拟开关68b包括两条输入线,一条对应于来自线路54的“干净的”模拟视频信号,另一条对应于模拟开关68a的输出。两条启动线提供模拟开关68b和FPGA 94之间的通信,由此FPGA 94控制将输入到模拟开关68b的哪个信号输出到线路70,并且随后显示在显示屏38上。
由摄像机22拍摄的视频序列的每个单个的图像或帧包括排列在一系列行中的像素,并且每个图像的单个像素通过模拟电路68被连续地传送到显示屏38。当模拟开关68b将干净的视频信号从线路54传送到线路70时,从这样的信号生成的像素将在显示屏38上生成由摄像机22拍摄的图像的相应部分的清楚且精确的描绘。为使显示在屏幕38上的图像的一部分变模糊(从而生成隐私遮罩或指示虚拟遮罩的位置),模拟开关68a将模糊的图像信号(对应于从滤波器68c接收的信号)传送到模拟开关68b。然后开关68b将该模糊的图像传送到线路70,以用于产生图像的对应于隐私遮罩或虚拟遮罩的所选部分的像素。如果想要灰度色调的隐私遮罩或虚拟遮罩,则可通过开关68a和68b以及线路70将来自混合器68d的输入信号(而不是来自滤波器68c的模糊的图像信号)传送到显示屏38,以用于图像的所选择的部分。为生成屏幕上显示,例如在白色背景上的黑色文本,模拟开关68a将用于单个像素以生成想要的文本和背景的适当的信号(黑色或白色)传送到模拟开关68b,然后,模拟开关68b将所述信号通过线路70传送到显示屏38用于适当的像素。因此,通过控制开关68a和68b,FPGA94以可以用于模拟视频信号的方式在显示屏38上生成隐私遮罩和信息显示。也就是说,通过开关68a和68b的处理将对应于隐私遮罩、虚拟遮罩或信息显示的像素与由摄像机22捕获的图像结合。
如上所述,字符映射表存储在存储器98中,并被用于信息显示的生成。这些单个字符映射表每个对应于一块像素,并且描述块中的像素哪些是背景,哪些是前景,其中背景和前景具有不同的显示特性,例如前景和背景是黑色和白色,或者是其它的一些对比色对,以形成期望的字符。然后可以将这些单个字符映射表用于控制开关68a、68b以在显示屏38上产生预期的像素块。
隐私遮罩以大小为4×4像素的单个像素块着色,并且隐私遮罩的实现通常可以如下所述。首先,用户定义隐私遮罩的边界。当摄像机22的视野改变时,计算对应于新的视野的隐私遮罩的新的变换后的边界。然后使用4×4的像素块着色或填充由新边界定义的隐私遮罩区域。通过使用相对小的像素块(即4×4的像素块)来代替10×16的像素块(当显示单个文本字符时可能使用),以完全填充隐私遮罩的新的变换后的边界,当摄像机的视野改变时,隐私遮罩将更符合所希望的应用隐私遮罩的实际主体。由Henninger在名为“ON-SCREENDISPLAY AND PRIVACY MASKING APPARATUS AND METHOD”的美国专利申请中描述了连同文本信息的屏幕上显示使用隐私遮罩,该专利申请于2004年6月2日提交并且被转让给“Bosch SecuritySystems”,因此将其公开通过参考包含在此。
以4×4像素块给隐私遮罩着色不需要以任何特定的方式定义隐私遮罩边界,并且可以以这种分辨率给遮罩着色,而不管初始定义遮罩的精度。以下将更详细地说明定义以及变换隐私遮罩的过程。
在所示实施例中,操作人员可在头端单元32输入命令,并且命令经由在头端单元32和处理装置50之间提供通信的多条线路(例如线路45、49)之一传送到处理装置50,所述线路还在头端单元32和处理装置50之间传送其它串行通信。在所示实施例中,处理装置50配备有金属片外壳,并且安装在摄像机22邻近处。处理装置50还可以采用其他方法安装以及安装在其它位置。处理装置50也可采用其他硬件体系结构。应该注意的是,通过为处理装置50配备金属片外壳,使得将其安装在PTZ(摇摄、倾斜、变焦)摄像机上或附近变得容易,因此系统20可以提供不需要基于个人计算机的系统的独立的嵌入式平台。
如处理装置50所示,提供独立的平台还允许本发明使用输出未改变的视频图像(即,没有被修改的“干净的”视频信号)的摄像机。在从摄像机装置输出后,即从摄像机外壳22a中的系统的那些元件输出后,“干净的”视频可以具有由独立平台应用到其的隐私遮罩和屏幕上显示。通常,使用隐私遮罩不能同时使用自动跟踪,因为对视频图像应用隐私遮罩通常由位于摄像机外壳内的处理装置进行,这会使一部分视频图像模糊从而限制了执行自动跟踪所需的视频内容分析的有效性。使用独立平台对摄像机输出的干净的视频图像应用隐私遮蔽和屏幕上信息显示允许使用自动跟踪或其它需要视频内容分析的应用,而不需要摄像机装置本身包括执行所有这些特征功能所需的硬件。然而,如果希望的话,处理装置50也可以安装在摄像机装置的外壳22a内。
除提供隐私遮罩、虚拟遮罩和屏幕上显示外,处理装置50可以执行多种功能。其中一种是自动跟踪功能。例如,处理装置50可以识别摄像机的视野(FOV)内的移动目标对象,然后生成调节摄像机的摇摄、倾斜和变焦设置的控制信号以跟踪目标对象,并将目标对象保持在摄像机的FOV内。由Sablak等人在2002年11月27日提交的,名为“VIDEO TRACKING SYSTEM AND METHOD”的美国专利申请No.10/306,509中,描述了可由系统20采用的自动跟踪系统的例子,通过参考将该申请的公开包含在此。
虽然以上公讨论了具体的硬件结构,但是在实施本发明的过程中可以对该结构进行各种修改。在这样的替代结构中,最好遮罩的更新速度足够防止在摄像机移动期间对所定义的遮罩区域的未遮罩。现在对识别遮罩区域和随摄像机视野的改变而变换遮罩区域的方法进行说明。
图4和5显示说明在处理装置50上运行的软件提供可变换隐私遮罩的方法的流程图。图4说明由系统的用户建立隐私遮罩的算法。首先,如120、122所指示的,用户通过从交互菜单选择该功能或通过其它适合的装置来启动绘制遮罩功能。当绘制遮罩功能被启动后,如124所示,处理装置连续地存储最近所获取的图像。如126所示,用户首先向软件指示将绘制隐私遮罩而不选择关注点(POI)。当采用视频跟踪程序跟踪POI时,可以选择POI。然后,如128所示,用户操作操纵杆36以选择遮罩顶点(x,y)。可以使用鼠标或其它合适的方法来选择遮罩顶点。如果选择的遮罩顶点超过一个,如130所示,则在屏幕上绘制连接遮罩顶点的线。然后,如132所示,用户通过按下操纵杆36或键盘34上的特定按钮或按键,从而确认所选择的新的遮罩顶点。对遮罩增加新的顶点的操作由从框132至框142的线路指示。然后,如134所示,程序确定为遮罩而选择的顶点的数量是否大于2,或者所选的顶点是否定义一个多边形。如果对这些问题中的任一个的回答是“否”,则程序返回框128,以选择新的遮罩顶点。如果至少已选择了3个顶点,并且所选的顶点定义一个多边形,那么如136所示,程序绘制并填充由顶点定义的遮罩。然后,在138,询问用户是否已完成遮罩或者是否添加另一个顶点。如果用户指示添加另一顶点到遮罩,则程序返回框128并重复上述处理。如果用户已经完成向遮罩添加顶点并指示遮罩完成,则程序前进到框140,在140,告知用户选择用于遮罩的遮蔽填充的类型。
在所示实施例中,用户可以选择实心填充或半透明填充。实心遮罩填充可以采用纯色填充的形式,诸如纯灰色或纯白色填充,其通过完全阻挡视频图像的对应于隐私遮罩的部分来遮蔽遮罩内的视频图像。半透明填充可以通过降低包含在隐私遮罩区域内的视频图像的分辨率来形成,从而使隐私遮罩内的视频图像变模糊,而不用阻挡遮罩内的全部视频图像。例如,对于数字视频信号,隐私遮罩内的区域可以被分解成多个包含多个单个像素的块。然后,构成每个块的单个像素的值被平均,并且平均值被用于对整个块着色。对于模拟视频信号,对应于遮罩内区域的信号可以被滤波以提供降低的分辨率。降低视频图像的所选部分的分辨率的方法是本领域普通技术人员所公知的。
在一些优选降低隐私遮罩内的视频图像的分辨率而不整体阻挡图像的那一部分的情况中,这些遮蔽图像的方法是可取的。例如,如果想要对一个窗口使用隐私遮罩,并且还想要对窗口前的通道进行监视,那么通过使用半透明隐私遮罩,对应于窗口的图像的细节可通过降低分辨率变得充分地模糊,以提供想要的隐私,同时仍然使得保安人员能够跟踪在窗口前移动或走动的目标对象或个人的一般的移动路径。
在选择遮罩的填充类型之后,如框142所示,程序将该数据和遮罩顶点一起记录。在开始记录遮罩顶点时,摄像机的摇摄、倾斜和变焦设置也与顶点坐标一同被记录,如从摄像机框144延伸至遮罩框142的线所示。在遮罩被定义后,如146所示,程序确定是否在摄像机的当前视野内有任何一个遮罩顶点。如果没有遮罩顶点在当前视野内,那么摄像机继续将获取的图像传送到处理装置50,并且将图像显示在显示屏38上而不带有隐私遮罩。如果有隐私遮罩的顶点包含在摄像机的当前视野内,那么如框148所示,程序将遮罩显示在显示屏38上。
图5提供说明在监视摄像机系统20的正常操作期间将隐私遮罩显示在显示屏38上的方法的流程图。如150所示,程序首先确定是否有任何可见的隐私遮罩在摄像机的当前视野内。这可以通过利用摄像机的当前摇摄、倾斜和变焦设置来确定当前视野的范围并通过将当前视野与由用户定义的隐私遮罩的顶点进行比较来进行。
如果在当前视野存在遮罩,则程序进行框152,其中程序获得遮罩数据以及摄像机的当前摇摄和倾斜位置。遮罩数据包括对应于原始遮罩顶点的摄像机的摇摄和倾斜设置。然后如下所述计算欧拉角和旋转矩阵。(本领域普通技术人员熟知,欧拉旋转定理假定任何旋转可以用三个角来描述)。然后,如154所示,将摄像机的焦距或变焦设置用于摄像机校准矩阵Q2的计算。然后,如156所示,计算单应矩阵M。
旋转和单应矩阵的计算被用于变换隐私遮罩,以将其与当前图像对准,并可能需要遮罩的平移、缩放和旋转。对以不同于定义遮罩的焦距而获取的图像的遮罩的变换需要缩放和旋转遮罩以及平移遮罩,以在当前图像中合适地定位遮罩。由这样的几何操作生成的遮罩近似于原始遮罩。将原始或基准遮罩映射在当前图像上由下式定义p′=sQRQ-1p=Mp(1)其中,p和p′表示在第一和第二图像中的相同世界点(world point)的单应图像坐标,s表示缩放图像(其对应于摄像机的焦距),Q表示内部摄像机校准矩阵,R是两个摄像机位置之间的旋转矩阵。
或者,两个连续图像中的静态世界点的遮罩投影坐标p和p′(即像素位置(x,y)和(x′,y′))之间的关系可如下表示x′=m11x+m12y+m13m31x+m32y+m33---(2)]]>y′=m21x+m22y+m23m31x+m32y+m33---(3)]]>其中,|mij|3×3是单应矩阵M,其将第一组坐标映射(对齐)到第二组坐标。
在这种图像/坐标对准中的主要任务是确定矩阵M。从公式(1)可以清楚的看出给定s、Q和R,理论上可以直接确定矩阵M。然而,实际上,通常不知道s、Q和R的确切值。公式(1)还假定摄像机中心和旋转中心是相同的,这通常只是近似正确。然而,这种假设对于提供隐私遮罩来讲是足够准确的。在所示实施例中,在图像同步的基础上摄像机172提供数据(即,用于确定R的摇摄值和倾斜值以及用于确定s的变焦值)以及传送到处理装置50的每个图像。
然后,使用该图像特定数据,可以利用以上概述的单应方法对隐私遮罩执行平移、旋转以及缩放,以适当地将其对齐以用于第二图像。在该方法中,平移是在x,y方向移动多个像素的像素运动。正平移是向着行或列坐标增大的方向,而负平移与之相反。正向的平移向图像的上部或左边增加行或列,直到达到所需的增长量。相对于原点执行图像旋转,其被定义为在运动的中心并且指定一个角度。缩放图像意味着以指定因子放大或缩小图像。以下近似关系可用于表示这种平移、旋转和缩放x′=s(xcosα-ysinα)+tx(4)y′=s(ysinα+xcosα)+ty其中s是缩放(变焦)因子;α是关于原点的旋转角度;tx是在x方向的平移;以及ty是在y方向的平移。
通过引入新的独立变量a1=scosα和a2=ssinα,公式(4)成为x′=a1x-a2y+tx(5)y′=a2x+a1y+ty在确定a1、a2、tx和ty之后,基准遮罩顶点的坐标可被变换以用于当前图像。
如从框174至框156的线所示,从存储装置获得与变换的遮罩对应的Q1-1的值。例如,该遮罩数据可以存储在遮罩存储器中。如上所述,当遮罩被应用于数字视频图像时,数据将被存储在遮罩存储器102中,当遮罩被应用于模拟视频信号时,数据将被存储在遮罩存储器96中。在计算单应矩阵M后,如158所示,识别在视野中可见的当前遮罩的顶点,然后,如160所示,单应矩阵被用于确定遮罩顶点的变换后的图像坐标。然后如162所示,将新的图像坐标映射到180×360的栅格上,并存储在合适的遮罩存储器96或102中。
在映射遮罩顶点后,如164所示,程序确定是否还有任何剩余的遮罩顶点需要变换。如果还有另外的遮罩顶点,则程序返回框160,其中单应矩阵M被用于确定另外的遮罩顶点的变换后的图像坐标。重复该处理直到已对所有的遮罩顶点计算了变换后的图像坐标。然后,处理进行到框166,并且填充由变换后的图像坐标定义的多边形。
然后,如168所示,程序确定是否有任何另外的包含在当前视野中的隐私遮罩。如果有另外的遮罩,则程序返回框150,在框150识别另外的遮罩并且对该另外的遮罩重复上述处理。一旦所有遮罩被识别、变换以及填充,则程序进行到框170,在框170,使用DMA(直接存储器访问)技术检索存储在遮罩存储器96或102中的遮罩数据以应用于视频图像信号。然后如框176所示,完成显示当前视野的隐私遮罩。
只要摄像机的视野不变,隐私遮罩的图像坐标保持不变。如果遮罩填充是实心填充,则该实心填充保持不变直到摄像机的视野改变。如果遮罩填充是半透明填充,则填充遮罩的相对较大的像素块将被由摄像机获取的每个新的图像更新,但是形成隐私遮罩的像素块的位置保持不变直到摄像机的视野改变。一旦通过改变摄像机的摇摄角、倾斜角或变焦设置(即焦距)中的一个或多个而改变摄像机的视野,那么就重复图4所示的显示遮罩算法,以确定是否有任何隐私遮罩包含在新的视野中,并且变换包含在视野中的任何遮罩的图像坐标,从而可以在显示屏38上显示遮罩。
如参照图6-9所述,可以以替代方式来定义隐私遮罩顶点。例如,隐私遮罩的原始定义涉及利用定义第一视野的摄像机,用户选择多个特定点,例如图6中的点A、B、C和D,以定义对应于隐私遮罩的边界的多边形。参照图6和7,图6显示当摄像机22定义第一视野时显示在屏幕38上的图像180,而图7显示在微小地调整摄像机的视野以定义第二视野后,显示在屏幕38上的图像182。线184定义图像180中的隐私遮罩的外部边界,而线186定义图像182中的变换后的隐私遮罩的外部边界。
用于定义隐私遮罩的顶点可以限定为用户输入的顶点,即用于图6和7的遮罩的点A、B、C和D,或者,在用户通过输入顶点定义遮罩的边界后,可以自动选定沿遮罩边界的另外的点以定义遮罩的更多的顶点。例如,由用户定义的遮罩可被分解为定义遮罩的单独的像素行,并且包含在原始遮罩中的每行的左端和右端的像素可被选作另外的遮罩顶点。或者,代替为每行选择另外的顶点,可以为每两行或每三行等选择另外的顶点。在图6中,只标出少数的另外的顶点用于说明。(图6不是按比例绘制,并且没有为所有形成遮罩的像素行画出顶点)。更具体地,顶点R1L、R1R分别对应于遮罩中第一行像素的左端点和右端点,而顶点R2L、R2R分别对应于遮罩中第二行像素的左端点和右端点,而其余顶点用同样的命名方式来标记。
在如图7所示,将摄像机的视野调整为第二视野后,遮罩顶点的坐标被变换,并且变换后的坐标被用于定义顶点,当这些顶点被连接时定义变换后的遮罩的边界186,以显示在屏幕38上。如果仅仅用户定义的点被用于定义遮罩顶点,那么变换后的遮罩将通过连接顶点A、B、C和D画出。然而,如果另外的顶点(例如R1L、R1R、…R4L、R4R等)被用于定义遮罩,则将为这些顶点中的每一个计算变换后的坐标,并且通过连接每一个变换后的顶点来绘出变换后的遮罩。在定义了遮罩边界后,遮罩被填充。通过提供更多的顶点,随着视野的改变,遮罩将更近地跟随被初始定义的隐私遮罩而遮蔽的主题的轮廓。遮罩和想要对其进行遮罩的主题的轮廓的匹配程度还受到填充遮罩边界的方式的影响。例如,基于单个像素填充遮罩,则显示的遮罩将最接近地对应于所计算的隐私遮罩的边界。遮罩还可以用小的像素块填充,例如,大小为4×4像素的单个块可用于填充遮罩,因为这些单个的像素块大于单个的像素,所以显示结果将不如基于单个像素填充遮罩时那么接近地对应于所计算的隐私遮罩的边界,但是仍然可以提供相对精确的被着色的隐私遮罩。
本发明还可用于允许遮罩的内部区域不被遮蔽。例如,由图6中的顶点E、F、G和H定义的区域是非遮罩区域,即视频图像的该部分不被遮蔽,其被遮罩区域完全包围。当初始输入遮罩时,由用户定义该非遮罩区域。例如,在定义遮罩前软件会询问用户是否希望创建内部非遮罩区域。以与变换遮罩的外部边界相同的方式,将定义非遮罩内部部分(即遮罩的内部边界188)的顶点变换为定义变换后的内部边界190的变换后的顶点E′、F′、G′和H′。对于每个像素行,也可以以与外部遮罩边界同样的方式为该内部边界定义另外的顶点。
在图8和9中示出定义遮罩顶点的可替换的方法。在本发明的该实施例中,用户输入一系列点以定义初始遮罩,例如图8的图像192中的点J、K、L和M。然后,遮罩区域被分解为具有相同大小的单个的像素块194。这些单个的遮罩块可以为任何数量的像素,例如九个或四个像素的块。块194也可以仅由单个的像素构成。在每个块中,像素的数量越少,变换后的遮罩将越接近地对应于被初始遮罩遮蔽的实际主题。如图8所示,一些遮罩块(例如块194a)可以是无边界像素块,其完全被形成遮罩的一部分的其它块包围。当每个单独的块被定义时,遮罩顶点195被分配给每个块。每个顶点的坐标对应于块的中心,如图8所示,或其它相同的位置,例如每个块的左上角。当摄像机的视野改变时,例如,当改变为定义图9所示的图像196的第二视野时,为每个定义遮罩块194的位置的单个顶点195计算变换后的坐标。还为每个遮罩块计算变换后的大小。因此,视野中的当初始定义遮罩时的大小相同的遮罩块在摄像机的视野改变时可能具有不同的大小。如图9所示,计算变换后的坐标和形成遮罩的各个遮罩块的大小并将它们用于定义变换后的遮罩。然后,由变换后的遮罩定义的边界被用于确定需要填充的图像区域以产生期望的遮蔽。遮罩块194也可能完全包围遮罩内部的非遮罩区域。
如上所述,处理装置50还运行使用户能够识别隐私区域的软件,诸如附近住宅的窗口以用于遮罩。然后,隐私遮罩被用于遮蔽图像所示的基本主题。对于具有可调视野的摄像机,如果在摄像机视野改变时,遮罩将继续用于遮蔽相同的主题,例如附近住宅的窗口,那么遮罩区域必需随摄像机视野的改变而变换。虽然这种隐私遮罩通常涉及遮蔽遮罩区域内的显示图像,但是也可以替代地设计用于提供虚拟遮罩。例如,窗口或其它区域可能包括大量不希望跟踪的运动,但是其可能激活自动跟踪程序。在这种情况下,希望为这样的区域定义一种遮罩,并且继续以和显示屏38上的剩余图像同样的分辨率显示遮罩区域,但是不使用图像的该区域用于自动跟踪的目的。换句话说,为了自动跟踪程序的用途,该图像在遮罩区域中被“遮蔽”(通过减少提供的或可用于遮罩区域的分析的信息),即使显示在该区域的图像的分辨率并未降低。本发明还可以用于这种虚拟遮罩。
用于虚拟遮罩的算法可以与由系统控制器CPU上的隐私遮罩软件使用的算法相同。为了实现虚拟遮罩的功能,需要对隐私遮罩软件进行改变。
虚拟遮罩和隐私遮蔽在两个重要方面不同。第一,其中隐私遮罩可以被直接用于输入视频以防止用户看到遮罩后面是什么,虚拟遮罩可以被直接应用于所计算的运动遮罩以禁止自动跟踪器和运动检测软件将被虚拟遮罩的区域用于探测运动。第二,虚拟遮罩在输出视频上可以是不可见的。
虚拟遮罩可以基于父图像的摇摄、倾斜和变焦参数以及遮罩的摇摄、倾斜和变焦参数被扭曲到运动遮罩上。实时自动的“可变换的虚拟遮罩”是一种实现技术,用于减小在包括诸如旗帜、树木和风扇等的显示上的静态运动影响。
一种可能的遮罩静态运动或“背景运动”的方法包括从所计算的运动遮罩中移除或删除较大的预选区域,该预选区域可能包括静态运动。计算机视觉系统可以转换来自摄像机的图像帧上的每个遮罩,并且可以处理每个帧以消除静态运动。这种方法除了可消除静态运动外,还可以消除大部分有用的信息。
本发明的虚拟遮罩系统可以使用专有的多用途视频处理平台,其从标准PTZ摄像机获取视频和摄像机控制信息。由在视频处理平台上运行的专有软件执行虚拟遮罩。软件可以在摄像机主板上运行。
执行虚拟遮罩的软件可以在PTZ摄像机内的内部处理器上运行,该PTZ摄像机允许通过利用在源视频上的图像处理,对关注区域进行静态运动的遮蔽。首先,虚拟遮罩系统可以查询当前摄像机的摇摄、倾斜和变焦位置;选择任意形状的包括任何数量的多边形顶点的关注区域(ROI);锁定ROI;在PTZ摄像机的视野界限内跟踪ROI的移动;然后利用图像和视觉处理技术变换ROI。虚拟遮罩系统必需可靠地保持ROI的位置和形状的变换,这需要计算机视觉算法以接近于实时的速度执行。
虚拟遮罩系统可以利用在所有方向的连续移动(摇摄/倾斜/变焦),从而遮罩来自PTZ摄像机中的自动跟踪器软件的移动遮罩图像上的ROI。同时,虚拟遮罩系统可以不修改显示图像,但是可以移除在自动跟踪器中计算的移动遮罩中的静态移动。该技术可以包括为每个遮罩存储PTZ位置和每个多边形顶点。虚拟遮罩可以仅利用单应坐标对每个遮罩形状进行变换。这样的虚拟遮罩可以消除与PTZ摄像机的几何失真相关的负面影响,从而得到更精确的虚拟遮罩的位置。
对虚拟遮罩算法的输入可以包括由自动跟踪器计算的移动遮罩。另一个输入可以是虚拟遮罩本身。每个遮罩可以包括一组顶点。虚拟遮罩可以在系统控制器上生成,然后,遮罩信息被视频内容分析数字信号处理器接收并在其上缓冲。更具体的,可以经由使用旗语的主机接口,将虚拟遮罩从系统控制器传输到视频内容分析数字信号处理器以指示表更新。
对虚拟遮罩算法的其它输入还可以是当遮罩被生成时的摄像机位置(摇摄、倾斜、变焦)。可以通过系统控制器将PTZ信息提供给视频内容分析数字信号处理器。其它的输入可以是比例,如果稳定功能关闭,比例为1.0,或者,如果稳定功能开启,等于(图像高度/显示高度)。其它的输入还可以是当前摄像机在摇摄、倾斜和变焦方面的位置。
虚拟遮罩算法的输出可以是修改后的运动遮罩,其中,对应于虚拟遮罩“后”的区域的像素元素被设置为“0”。每个虚拟遮罩可以包括一组顶点,顶点数量,以及当遮罩生成时的摄像机位置(摇摄、倾斜、变焦)。
虚拟遮罩的外部变量可以包括摄像机摇摄、倾斜和变焦数据。另一外部变量可以是运动遮罩,例如176×120(NTSC)或176×144(PAL)。虚拟遮罩的内部变量可以包括通过考虑摄像机固有属性、旋转和投影矩阵而开发的单应矩阵。
图10是在运动遮罩上绘制虚拟遮罩的过程的数据流图。首先利用当前摄像机PTZ信息和数学过程来评估虚拟遮罩或遮罩的坐标。然后用新的虚拟遮罩信息更新运动遮罩。
图11是本发明的虚拟遮罩算法的一个实施例的数据流图。在判定框1110中,确定遮罩当前是否可见。“N”表示虚拟遮罩的数量。“MM”表示运动遮罩。扭曲的顶点(warped vertices)由“点”表示(可以使用单应)。如果稳定功能关闭,则“比例”可以等于1。否则,“比例”可以等于图像高度与显示高度的比值。
Draw_Virtual_Masks_On_Motion_Mask(在运动遮罩上绘制虚拟遮罩)功能1120可以确定哪个虚拟遮罩1130当前可见,并且可以对在运动遮罩1140上绘制虚拟遮罩进行影响。可利用当前摄像机PTZ信息和数学过程(诸如单应等)来评估或确定虚拟遮罩或遮罩的坐标。在绘制多边形之前,可利用剪取算法评估或移动顶点。剪取算法可用于剪取在视野之外的虚拟遮罩的多个部分。可以考虑当虚拟遮罩多边形被剪取时,剪取的遮罩可能具有比剪取前遮罩原始具有的顶点更多的顶点。例如,当三角形的一个角被剪取时,得到一个四边形。在多边形被剪取后,具有适当顶点的多边形被填充。
对Draw_Virtual_Masks_On_Motion_Mask功能1120的输入包括当前摄像机位置(摇摄、倾斜、变焦)1150,到运动遮罩1140的指针,和/或比例值。如果稳定功能开启,可能需要按比例缩放。Draw_Virtual_Masks_On_Motion_Mask功能1120的输出可以是更新后的运动遮罩。
对于运动遮罩1140中的每一行,FillPolygon(填充多边形)功能1160可以计算所有可见遮罩的左右边缘对,并且可以填充每个左右边缘对之间的运动遮罩元素。填充本身可以由其它功能执行。
可以从隐私遮罩FillPolygon功能来改编和修改虚拟遮罩FillPolygon功能1160。在虚拟遮罩和隐私遮罩FillPolygon功能之间没有算法上的区别。在虚拟遮罩和隐私遮罩FillPolygon功能之间,可能仅仅是每行被填充的机制不同。系统控制器可以经由FPGA填充每行。VCA可以通过直接控制每个像素来填充每行,或可以通过利用一系列快速直接存储器访问(QDMA)传送来填充每行。
可以为遮罩/多边形的每一行调用DrawLineByZeros()功能。如果输入指针指向运动遮罩的存储区,则DrawLineByZeros()功能可以在两个给定点之间的运动遮罩中画线。在虚拟遮罩的情况下,遮罩可以是不可见的,因此,此处的画线可以包括将那些在虚拟遮罩后面的像素设置为零。
DrawLineByZeros()功能在某些方面可以与隐私遮罩功能类似。然而,在虚拟遮罩的情况下,可以不在FPGA上执行画线,而是直接在存储器(例如RAM)上执行。也就是说,存储在运动遮罩的存储区中的像素可以被直接修改(设置为0)。虚拟遮罩方法可以包括图12和13的流程图中所示的多个不同的算法功能。
图12和13是一种方法的流程图,在处理装置50上运行的软件通过该方法提供可变换的虚拟遮罩。图12示出一种算法,系统用户通过该算法绘制或生成虚拟遮罩。首先,如1200,1220所示,用户通过从交互式菜单选择该功能或其它合适的方式来启动绘制遮罩功能。当绘制遮罩功能被启动时,如1240所示,最近获取的图像被处理装置连续地存储。如1260所示,用户首先指示软件将绘制虚拟遮罩,而不是选择感兴趣的点(POI)。当采用视频跟踪程序跟踪POI时,POI可被选择。然后,如1280所示,用户操作操纵杆36以选择遮罩顶点(x,y)。鼠标和其它合适的装置可用于选择遮罩顶点。如果选择的遮罩顶点超过一个,那么如1300所示,则在屏幕上绘制连接遮罩顶点的线。然后,如1320所示,用户通过按操纵杆36或键盘34上的特定按钮或键,确认对新的遮罩顶点的选择。向遮罩增加新的顶点的操作由从框1320至框1420的线指示。然后,如1340所示,程序确定为遮罩选择的顶点的数量是否大于2,以及是否所选的顶点定义多边形。如果这些问题中的任一个的答案是“否”,那么程序返回框1280,以选择新的遮罩顶点。如果至少3个顶点被选择,并且所选顶点定义多边形,如1360所示,程序绘制并填充由顶点定义的遮罩。然后,在1380,询问用户遮罩是否已被完成或着要增加另一顶点。如果用户指示向遮罩增加另一顶点,则程序返回框1280,重复上述过程。如果用户结束向遮罩增加顶点,并且指示遮罩被完成,那么程序前进到框1400,在那里要求用户选择用于遮罩的遮蔽填充的类型。
在所示实施例中,用户可以选择实心填充或半透明填充。实心遮罩填充可以采用纯色填充的形式,诸如纯灰色或白色填充,其通过完全遮蔽对应于虚拟遮罩的视频图像的部分来遮蔽遮罩内的视频图像。半透明填充可以通过降低包含在虚拟遮罩区域内的视频图像的分辨率而形成,从而遮蔽虚拟遮罩内的视频图像,而不用封锁遮罩内的全部视频图像。例如,对于数字视频信号,虚拟遮罩内的区域可以被分解成包括多个单个像素的块。然后,组成各块的单个像素的值被平均,并且平均值被用于对整个块着色。对于模拟视频信号,对应于遮罩内区域的信号可以被滤波,以提供降低的分辨率。降低视频图像的所选部分的分辨率的方法是本领域普通技术人员所公知的。
在一些优选降低隐私遮罩内的视频图像的分辨率而不用完全封锁图像的该部分的情况中,希望使用这些遮蔽图像的方法。例如,如果想要对一个窗口使用隐私遮罩,并且还想要对窗口前的通道进行监视,那么通过使用半透明虚拟遮罩,对应于窗口的图像的细节可通过降低分辨率被充分遮蔽,以指示虚拟遮罩的位置,同时仍然允许安全人员跟踪在窗口前移动或走动的目标对象或个人的移动的一般路径。
在选择遮罩的填充类型之后,如框1420所示,程序将该数据和遮罩顶点一起记录。在开始记录遮罩顶点时,摄像机的摇摄、倾斜和变焦设置也与顶点坐标一起记录,如从摄像机框1440延伸至遮罩框1420的线所示。在遮罩被定义后,如1460所示,程序确定是否有任何一个遮罩顶点在摄像机的当前视野内。如果没有遮罩顶点在当前视野内,则摄像机继续将获取的图像转发到处理装置50,并且将图像显示在显示屏38上而没有虚拟遮罩。如果虚拟遮罩的顶点包含在摄像机的当前视野内,如框1480所示,程序将遮罩显示在显示屏38上。
图13提供表示一种方法的流程图,通过该方法,在监视摄像机系统20的正常操作期间实现虚拟遮罩。首先,如1490所示,用户通过从交互式菜单选择该功能或通过其它适合方式来启动实现虚拟遮罩功能。然后,如1500所示,程序确定是否有任何虚拟遮罩在摄像机的当前视野中。这可以通过使用摄像机的当前摇摄、倾斜和变焦设置以确定当前视野的范围,并通过将当前视野与已由用户定义的虚拟遮罩的顶点相比较来完成。可以理解,在用户绘制之后,即使虚拟遮罩位于视野内,其也可以是不可见的。
如果在当前视野存在遮罩,程序进行框1520,其中,其获得遮罩数据以及摄像机的当前摇摄和倾斜位置。遮罩数据包括对应于原始遮罩顶点的摄像机的摇摄和倾斜设置。然后如下所述,计算欧拉角和旋转矩阵。(本领域普通技术人员已知欧拉旋转定理假定任何旋转可以用三个角来描述。)然后,如1540所示,将摄像机的焦距或变焦设置用于摄像机校准矩阵Q2的计算。然后,如1560所示,计算单应矩阵M。
旋转和单应矩阵的计算被用于变换虚拟遮罩,以将其与当前图像对准,并且可能需要遮罩的平移、按比例缩放和旋转。对于在与定义遮罩时的焦距不同的焦距获取的图像的遮罩的变换,需要按比例缩放和旋转遮罩以及平移遮罩,以在当前图像中适当地定位遮罩。由这样的几何操作生成的遮罩近似于原始遮罩。将原始或基准遮罩映射在当前图像上由下式定义p′=sQRQ-1p=Mp(1)其中,p和p′表示在第一和第二图像中相同世界点的单应图像坐标,s表示缩放图像(其对应于摄像机的焦距),Q表示内部摄像机校准矩阵,R表示两个摄像机位置之间的旋转矩阵。
或者,在两个连续图像中的静态世界点的遮罩投影坐标p和p′(即像素位置(x,y)和(x′y′))之间的关系可如下表示x′=m11x+m12y+m13m31x+m31y+m33---(2)]]>y′=m21x+m22y+m23m31x+m32y+m33---(3)]]>其中,|mij|3×3是单应矩阵M,其将第一组坐标映射(调整)为第二组坐标。
在这样的图像/坐标调整中的主要任务是确定矩阵M。从公式(1)明显看出,给定s,Q和R理论上可以直接确定矩阵M。然而,实际上,通常不知道s,Q和R的确切值。公式(1)还假定摄像机中心和旋转中心是相同的,这一般只是接近实际情况。然而,对于提供虚拟遮罩,这种假设可以足够精确。在所示实施例中,摄像机1720在图像同步的基础上提供数据(即用于确定R的摇摄值和倾斜值以及用于确定s的变焦值),并且连同每个图像传送到处理装置50。
然后,可以利用以上所述的单应方法,利用这些图像特定数据,对虚拟遮罩执行平移、旋转以及缩放,以适当地调整其以用于第二图像。在该方法中,平移是在x或y方向移动多个像素的像素移动。正平移是朝增大行或列坐标的方向,而负平移与之相反。正向平移向图像的上部或左边增加行或列,直到达到所需增长量。图像旋转相对于被定义为运动中心的原点进行,并被指定一个角度。缩放图像意味着按指定因子放大或缩小图像。下列近似计算公式可用于表示这种平移、旋转和缩放x′=s(xcosα-ysinα)+tx(4)y′=s(ysinα+xcosα)+ty其中s是缩放(变焦)因子;α是关于原点的旋转角度;tx是沿x方向的平移;以及ty是沿y方向的平移。
通过引入新的独立变量a1=scosα和a2=ssinα,公式(4)变为x′=a1x-a2y+tx(5)y′=a2x+a1y+ty在确定a1,a2,tx和ty之后,基准遮罩顶点的坐标可被变换以用于当前图像。
如从框1740至框1560的线所示,从存储装置获取与正被变换的遮罩相对应的Q1-1的值。例如,该遮罩数据可以被存储在遮罩存储器中。如上所述,当遮罩将被应用于数字视频图像时,数据将被存储在遮罩存储器102中,以及当遮罩将被应用于模拟视频信号时,数据将被存储在遮罩存储器96中。在计算单应矩阵M之后,识别视野中的当前可见的遮罩的顶点,如1580所示,然后,如1600所示,单应矩阵被用于确定遮罩顶点的变换后的图像坐标。然后,如1620所示,新的图像坐标被从自动跟踪器映射到运动遮罩图像1610上,作为双层(bi-level)图像,诸如黑色和白色图像。运动遮罩可以是四分之一通用中间格式(QCIF)运动遮罩的形式。新的图像坐标可以被存储在适当的遮罩存储器96或102中。
在映射遮罩顶点后,如1640所示,程序确定是否还有遮罩顶点需要变换。如果还有另外的遮罩顶点,程序返回框1600,其中单应矩阵M被用于确定另外的遮罩顶点的变换后的图像坐标。该过程被重复,直到为所有的遮罩顶点计算了变换后的图像坐标。然后,处理过程进行到框1660,并且由变换后的图像坐标定义的多边形被填充以移除在所选择的虚拟遮罩区域上的静态运动。例如,在虚拟遮罩内的运动遮罩的每个像素被分配值“0”。
然后,如1680所示,程序确定是否有任何另外的虚拟遮罩包含在当前视野中。如果有另外的遮罩,则程序返回框1500,在那里另外的遮罩被识别并且对该另外的遮罩重复上述处理过程。一旦所有虚拟遮罩被识别、变换以及填充,则程序进行到框1700,在那里使用DMA(直接存储器访问)技术获取存储在遮罩存储器96或102中的遮罩数据以用于运动遮罩的更新。被一个或多个虚拟遮罩修改的更新后的运动遮罩被发送至如框1760所示的自动跟踪器算法。自动跟踪器算法然后可以使用更新后的运动遮罩跟踪视野内的感兴趣的移动对象,而不会受到视野内的静态运动源的干扰。
只要摄像机的视野不变,虚拟遮罩的图像坐标保持不变。如果遮罩填充是实心填充,那么该实心填充保持不变直到摄像机的视野改变。如果遮罩填充是半透明填充,那么填充遮罩的相对较大的像素块将被由摄像机获取的每个新的图像而更新,但是形成虚拟遮罩的像素块的位置保持不变直到摄像机的视野改变。一旦通过改变摄像机的摇摄角、倾斜角或变焦设置(即焦距)中的一个或多个而改变摄像机的视野,就重复进行图12所示的显示遮罩算法,以确定是否有任何虚拟遮罩包含在新的视野中,并且变换包含在视野中的任何遮罩的图像坐标,从而使得遮罩可以在显示屏38上显示。
参照图6-9,或者可以用与上述用于隐私遮罩的基本类似的方式来定义虚拟遮罩顶点。因此,为了避免不必要的重复,此处不再详细说明定义虚拟遮罩顶点的替代方式。
图14是本发明的方法的另一个实施例的流程图,用于在自动跟踪算法中实现虚拟遮罩。在第一步骤1800中,识别视野内的潜在的静态运动源。例如,用户可以可视地在视野内识别在风中飘动的旗帜这种形式的潜在的静态运动源。在下一步骤1810,选择包括潜在的静态运动源的区域的顶点,由此定义虚拟遮罩。例如,用户可以使用计算机鼠标进行点击,从而在显示屏38上选择多个围绕潜在的静态运动源的顶点。即,潜在的静态运动源可以处在由所选顶点定义的多边形内。在步骤1820中计算运动遮罩。例如,运动遮罩算法可以按顺序分析多个视频帧,由此确定在哪些像素中有移动对象。算法可以将运动值赋予每个像素,以指示在那个像素内的运动的程度。或者,运动值可以指示出现在每个像素中的运动的可能性。在步骤1830,虚拟遮罩被应用于运动遮罩,从而使处于虚拟遮罩内的运动遮罩的值“清零”。即,虚拟遮罩内的所有像素的运动值被设置为零,从而指示在那些像素内没有运动。更一般的,可以修改运动遮罩,从而使得静态运动对运动遮罩的影响可降低或被消除。在最后的步骤1840中,算法在通过虚拟遮罩修改的运动遮罩内搜索可疑目标的移动。即,算法可以分析运动遮罩内的运动值,并尝试识别可以指示在视野内存在移动对象的运动值的模式。因为可归于静态运动的运动值已被虚拟遮罩清零,所以被识别的运动是由于静态运动而导致的可能性更小。
图15-17示出了图14的方法的应用的具体实例。图15显示了由摄像机22获取的并显示在屏幕38上的图像。图像包括在风中波动的旗帜200形式的静态运动源。图像还包括正在行走的人202形式的所关注的移动对象。对于处理装置50来讲,希望将人202识别为所关注的移动对象,并且对于摄像机22,希望跟踪人202的移动。即,为了防止人202的连续移动导致人202移动到摄像机22的视野之外,摄像机22可以自动地跟踪人202(“自动跟踪”)。
系统20的用户可以查看屏幕38并将旗帜200识别为摄像机22的视野中潜在的静态运动源。为了使处理装置50跟踪人202同时很少关注或不关注旗帜200的静态运动,用户可以定义虚拟遮罩204以“覆盖”旗帜200的静态运动。即,所获取的在虚拟遮罩204内的图像的区域包括静态运动源200。用户可以通过在屏幕38上画出虚拟遮罩204的直观表示来定义虚拟遮罩204。在一个实施例中,用户例如通过使用操纵杆36或计算机鼠标(未示出)在屏幕38上选择遮罩204的顶点A,B,C,D。在用户选择了顶点A-D之后,处理装置50可以向显示加入将相邻的顶点对连接的可见边界线206。
处理装置50可以分析并比较连续获取的多个图像,从而检测所获取的图像内的移动。例如,通过比较连续获取的图像,处理装置50可以检测出旗帜200和人202的移动。更具体的,众所周知,每个图像可以被作为一个像素矩阵来获取。处理装置50可以比较在连续获取的图像中的相应像素,以确定是否每个特定像素的内容在图像之间改变。如果像素的内容在图像间改变,则表示在那个特定像素内存在移动。
处理装置50可以量化所获取的图像中的每个像素中的移动的程度或可能性。图16是运动值矩阵形式的运动遮罩的实施例。每个运动值可以对应于所获取的图像的各个像素,并且可以指示出在对应的像素中的移动的程度或可能性。
或者,在图16所示的实施例中,每个运动值可以对应于10×10像素或更多像素的像素子矩阵。即,每个运动值可以指示在相应的簇或组(即像素的“子矩阵”)中的移动程度或可能性。运动值的范围从0至5,0指示没有移动的可能性或程度,5指示最大的移动可能性或程度。虽然运动遮罩可以在用户定义虚拟遮罩204之前或之后计算,但是图16的运动遮罩未被虚拟遮罩204修改,即未被虚拟遮罩204影响。
在图16的实施例中,大多数运动值是0,但是有两簇非零的运动值。在运动遮罩的左上方的非零运动值的簇对应于飘动的旗帜200,在运动遮罩的右下方的非零的运动值的簇对应于行走的人202。
在图16中,虚拟遮罩204的虚线表示被叠加在与至少部分被虚拟遮罩204覆盖的像素或像素子矩阵对应的运动值之上或其周围。虚拟遮罩204的虚线表示包含在图16中仅用于说明的目的,虚拟遮罩204不以任何方式包括在运动遮罩中。
在用户定义虚拟遮罩204之后,处理装置50生成运动遮罩,可以通过使用虚拟遮罩来修改运动遮罩。更特别地,与至少部分被虚拟遮罩204“覆盖”的像素或像素子矩阵对应的运动值可以被处理装置50清零。
图17示出在利用虚拟遮罩204修改之后的图16的运动遮罩。更具体地,在图17中,在对应于飘动旗帜200的运动遮罩左上方的非零运动值的簇被清零,这是因为所述非零运动值对应于虚拟遮罩204或由虚拟遮罩204覆盖。因此,可以从运动遮罩消除静态运动源的影响。
处理装置50可以分析所修改的运动遮罩,以便在所获取的图像中识别非零运动值的簇的形式的所关注的移动对象。然后,处理装置50可以使摄像机22执行将所关注的移动对象202保持在摄像机22的视野中所需的摇摄、倾斜和变焦移动。例如,摄像机22可以被命令向右摇摄,以使得图17中的非零运动值的簇可以被平移到摄像机视野内更靠近中心的位置。因此,虚拟遮罩204可被处理装置50用于更有效地自动跟踪所关注的移动对象202,而不会出现可能由视野内的静态运动引起复杂变化的情况。
虽然本发明被描述为具有示例性的设计方案,但是,在该公开的精神和范围内可以进一步修改本发明。因此,本申请试图覆盖使用其通用原理进行的任何变形、使用和调整。
权利要求
1.一种监视摄像系统(20),包括摄像机(22),其具有可调节的视野并用于获取图像;所述监视摄像系统的特征在于处理装置(50),其被可操作地连接到所述摄像机,并且用于允许用户在所述获取的图像内定义虚拟遮罩(204);以及跟踪所述获取的图像中的所关注的移动对象(202),并且减小对所述获取的图像的在所述虚拟遮罩内的区域的关注度。
2.根据权利要求1所述的系统,其特征在于,所述获取的图像包括多个像素,所述处理装置用于跟踪所述获取的图像中的所关注的移动对象,并且对于所述多个像素中的在所述虚拟遮罩内的第一像素所给予的关注要少于对于所述多个像素中的在所述虚拟遮罩之外的第二像素所给予的关注。
3.根据权利要求2所述的系统,其特征在于,所述处理装置用于跟踪在所述获取的图像中的所关注的移动对象,并且不关注所述多个像素中的在所述虚拟遮罩内的第一像素。
4.根据权利要求1所述的系统,其特征在于,所述处理装置还用于检测在所述获取的图像中的移动,并基于所述检测到的移动生成运动遮罩;利用所述虚拟遮罩来修改所述运动遮罩;以及根据所述修改后的运动遮罩识别所述获取的图像中的所关注的移动对象。
5.根据权利要求4所述的系统,其特征在于,所述运动遮罩包括多个运动值,所述多个运动值中的每一个对应于所述获取的图像中的至少一个相应的像素。
6.根据权利要求1所述的系统,其特征在于,所述处理装置用于允许用户通过画出所述虚拟遮罩的直观表示,从而在所述获取的图像内定义虚拟遮罩。
7.根据权利要求1所述的系统,其特征在于,所述处理装置用于允许用户通过在所述获取的图像中选择所述虚拟遮罩的多个顶点,从而在所述获取的图像内定义虚拟遮罩。
8.根据权利要求1所述的系统,其特征在于,所述获取的图像中的在所述虚拟遮罩内的区域包括静态运动源(200)。
9.根据权利要求1所述的系统,其特征在于,所述虚拟遮罩定义完全围绕非遮罩区域的遮罩区域。
10.一种操作监视摄像系统(20)的方法,所述方法包括利用摄像机(22)获取图像;所述方法的特征在于定义步骤,用于在所述获取的图像内定义虚拟遮罩(204);以及跟踪步骤,用于跟踪所述获取的图像中的所关注的移动对象(202),并且减小对所述获取的图像的在所述虚拟遮罩内的区域的关注度。
11.根据权利要求10所述的方法,其特征在于所述获取的图像包括多个像素,所述跟踪步骤包括跟踪所述获取的图像中的所关注的移动对象,并且对于所述多个像素中的在所述虚拟遮罩内的第一像素所给予的关注要少于对于所述多个像素中的在所述虚拟遮罩之外的第二像素所给予的关注。
12.根据权利要求11所述的方法,其特征在于,所述跟踪步骤包括跟踪在所述获取的图像中的所关注的移动对象,并且不关注所述多个像素中的在所述虚拟遮罩内的第一像素。
13.根据权利要求10所述的方法,其特征在于,还包括以下步骤检测在所述获取的图像中的移动;基于所述检测到的移动生成运动遮罩;利用所述虚拟遮罩修改所述运动遮罩;以及根据所述修改后的运动遮罩识别所述获取的图像中的所关注的移动对象。
14.根据权利要求13所述的方法,其特征在于,所述运动遮罩包括多个运动值,所述多个运动值中的每一个对应于所述获取的图像中的至少一个相应的像素。
15.根据权利要求10所述的方法,其特征在于,所述定义步骤包括画出所述虚拟遮罩的直观表示。
16.根据权利要求10所述的方法,其特征在于,所述定义步骤包括在所述获取的图像中选择所述虚拟遮罩的多个顶点。
17.根据权利要求10所述的方法,其特征在于,所述获取的图像中的在所述虚拟遮罩内的区域包括静态运动源(200)。
18.根据权利要求10所述的方法,其特征在于,所述虚拟遮罩定义完全围绕非遮罩区域的遮罩区域。
19.一种操作监视摄像系统(20)的方法,所述方法包括利用摄像机(22)获取图像;基于所述获取的图像生成运动遮罩;所述方法的特征在于定位步骤,用于在所述获取的图像中定位静态运动源(200);定义步骤,用于在所述获取的图像中的静态运动源上定义虚拟遮罩(204);修改步骤,用于利用所述虚拟遮罩修改所述运动遮罩;以及跟踪步骤,用于基于所述修改后的运动遮罩跟踪所述获取的图像中的所关注的移动对象(202)。
20.根据权利要求19所述的方法,其特征在于,所述获取的图像包括多个像素,所述运动遮罩包括多个运动值,所述多个运动值中的每一个对应于所述多个像素中的至少一个,对所述多个运动值执行所述修改步骤。
21.根据权利要求20所述的方法,其特征在于,所述跟踪步骤包括跟踪在所述获取的图像中的所关注的移动对象,并且不关注所述多个像素中的在所述虚拟遮罩内的像素。
22.根据权利要求19所述的方法,其特征在于,所述定义步骤包括画出所述虚拟遮罩的直观表示。
23.根据权利要求19所述的方法,其特征在于,所述定义步骤包括在所述获取的图像中选择所述虚拟遮罩的多个顶点。
24.根据权利要求19所述的方法,其特征在于,所述虚拟遮罩定义完全围绕非遮罩区域的遮罩区域。
全文摘要
一种监视摄像系统(20),包括摄像机(22),其获取图像并具有可调视野。处理装置(50)被可操作地连接到摄像机。处理装置允许用户在所获取的图像内定义虚拟遮罩(204)。处理装置还跟踪所述获取的图像中的所关注的移动对象(202),并且减小对所述获取的图像的在所述虚拟遮罩内的区域的关注度。
文档编号H04N5/445GK1929602SQ20061013752
公开日2007年3月14日 申请日期2006年8月9日 优先权日2005年8月9日
发明者塞泽·萨布拉克, 格扎·帕普, 迈克尔·D·博洛蒂纳 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1