CN101371273A - 视频序列的分割 - Google Patents

视频序列的分割 Download PDF

Info

Publication number
CN101371273A
CN101371273A CNA2005800525545A CN200580052554A CN101371273A CN 101371273 A CN101371273 A CN 101371273A CN A2005800525545 A CNA2005800525545 A CN A2005800525545A CN 200580052554 A CN200580052554 A CN 200580052554A CN 101371273 A CN101371273 A CN 101371273A
Authority
CN
China
Prior art keywords
pixel
video
frame
value
mask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2005800525545A
Other languages
English (en)
Inventor
L·罗塞托
A·瓦雷斯欧
A·波塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telecom Italia SpA
Original Assignee
Telecom Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telecom Italia SpA filed Critical Telecom Italia SpA
Publication of CN101371273A publication Critical patent/CN101371273A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Abstract

一种图像处理方法,包括:提供数据处理设备,数据处理设备包括中央处理单元和图形处理单元;将视频序列的至少一个视频帧提供给数据处理设备,至少一个视频帧包括至少一个前景目标和背景;在数据除设备中处理至少一个视频帧以便将至少一个前景目标与背景分离。该处理至少部分地由图形处理单元的处理器执行。

Description

视频序列的分割
技术领域
本发明通常涉及数字图像处理领域,具体地涉及数字视频的处理,并且明确地涉及数字视频帧的分割,尤其用于背景替换。更具体地,本发明涉及数字视频帧的实时分割。
背景技术
在数字视频处理中,将视频流分割成不同的分量对象是公知的和有用的技术。
例如,可以将输入视频流分成两种不同的流,一种包含前景目标(subject)/对象(为了本发明,从现在起“前景目标”意指“前景目标”和“前景对象”),另一种包含视频帧的背景。在两个人之间的视频通信(例如,视频电话)序列中,前景例如由通话人—通常限于躯干、头和臂(所谓的“通话头(talking head)”)—代表。
例如,将视频序列分割成前景流和背景流的可能性对于改变视频序列背景,去除原始背景和插入用户选择的替代背景以便例如为了隐私而隐藏通话头周围环境或在与其他人通信的同时共享视频剪裁、电影、照片、TV序列以及类似应用是有用的。
许多分割算法的目的是分析数字视频序列并生成二进制掩码,其中视频序列的每个视频帧的每个像素被标记为背景像素或者被标记为前景像素。在象视频通信这样的应用中,必须以在充分流畅的视频通信序列中大约为每秒25帧至30帧(fps)的帧速率、实时地进行上述操作。
现有技术中已经提出了几种用于图像分割的技术方案。
在L.Lucchese和S.K.Mitra的“Color Image Segmentation:AState-of-the-Art Survey”,Proc.of the Indian National ScienceAcademy(INSA-A),New Delhi,India,Vol.67,A,No.2,March 2001,pp.207-221中,提供了一种彩色图像分割算法的回顾。
在A.R.J.Francois和G.G.Medioni,"Adaptive ColorBackground Modeling for Real-time Segmentation of VideoStreams,"Proceedings of the International Conference on ImagingScience,Systems,and Technology,pp.227-232,Las Vegas,NA,June1999中,提出了一种在视频监视和多媒体应用的情况下在个人计算机(PC)上进行视频流的实时背景建模和分割的系统。用固定摄像机捕获的图像被建模为固定或缓慢变化的背景,这可能被移动代理遮蔽。该系统学习背景的统计颜色模型,其用于检测遮蔽元件所产生的变化。提出在色度-饱和度-纯度(HSV)彩色空间中,而不是在传统的RGB(红、绿、蓝)空间中进行操作,因为它提供更好地利用颜色信息,并且自然地结合了仅仅灰度级处理。在每个时刻,该系统维护更新的背景模型,以及随后能够追踪的遮蔽区域的列表。
在D.Butler,S.Sridharan和V.M.Bove,Jr.,"Real-timeadaptive background segmentation,"in Proceedings of theInternational Conference on Acoustics,Speech and Signal Processing(ICAS SP-2003),pp.349-352,April 2003中,提出了一种通过一组聚类(cluster)表示帧中每个像素的算法。聚类按照它们模拟背景的似然率进行排序并适于处理背景和照明变化。到来的像素与对应的聚类组进行匹配并按照匹配聚类被判断为是否是背景的一部分进行分类。该算法已经声称展示了与其它技术相同或更好的分割,并证明除后处理之外,能够处理每秒28帧(28fps)的320×240视频。
US 6,625,310公开了一种将视频数据分割成前景部分和背景部分的方法,该方法利用了像素的统计建模;为每个像素建立背景的统计模型,并且将在到来的视频帧中的每个像素与那个像素的背景统计模型进行比较。基于这些比较确定像素是前景或背景。
US 2004/0032906公开了一种分割数字视频中的前景对象的方法和系统,其在存在阴影和摄像机噪声的情况下便于进行分割。背景注册元件从数字视频帧的序列生成背景参考图像。梯度分割元件和变化分割元件处理数字视频的强度和色度分量以确定前景对象和生成前景对象掩码。通过阈值组合元件可以处理分割分量数据以形成组合的前景对象掩码。识别数字视频中的每个视频信号的背景参考图像,从数字视频中的每个视频信号分量中减去背景参考图像以形成结果帧;利用梯度滤波器使结果帧与强度视频信号分量相关联来分割前景对象并生成前景对象掩码。
发明内容
自动地识别前景目标和区别前景目标与背景不是一件容易的工作,且计算强度非常大;以高帧速率实时地进行这些操作可能令人望而却步。
申请人已经观察到直至现在现有技术中提出的实时分割数字视频序列的技术方案并不完全令人满意。
特别是,申请人已经观察到在例如PC或其它低成本的数据处理设备(例如象视频电话、视频会议设备、与电视机屏幕相关联的机顶盒等等)中分割算法的当前实现给处理单元(中央处理单元CPU)带来了这种负担,其使得存在必须对视频分割处理投入几乎100%的CPU处理能力的风险:这是不能接受的,因为即使忽略考虑不涉及视频通信的其它活动,除视频序列分割之外,还需考虑正常情况下的其它任务,象分割后的视频的编码和传输,以及在双向视频通信的情况下,对一个或更多个接收视频的解码和显示。
申请人已经解决了设计用于数字图像分割的新方法的问题,该新方法尤其适于前景目标与视频序列中的背景的分割,适合完全不需用户输入的实时应用,并且也适于在象PC或低成本的专用设备(例如视频电话、视频会议设备、机顶盒等等)这样的性能相对低的商业数据处理设备中实现。
申请人已经发现为了节省CPU处理能力,可以方便地使用图形处理单元(GPU),即驻留在图形加速器(视频)子系统(通常,在专用板上)中的可编程图形(协)处理器来代替CPU执行至少部分视频分割任务。就可编程能力和可用的操作而言,GPU比CPU通用性要小。虽然,申请人已经发现可以由GPU(具体地说由支持像素着色(pixel shading)的GPU)以非常有效的方式执行许多分割任务,使得即使用很少的CPU处理能力也可以实现复杂的分割算法。
根据本发明的第一方面,提供了如所附的权利要求1所述的方法。
该方法包括:
-提供数据处理设备,该数据处理设备包括中央处理单元和图形处理单元;
-在数据处理设备处接收视频序列中的至少一个视频帧,该至少一个视频帧包括至少一个前景目标和背景;
-在数据处理设备中对所述至少一个视频帧进行处理以将所述至少一个前景目标与所述背景分离;
其中由所述图形处理单元至少部分地执行所述处理。
在所附的从属权利要求中阐述了本发明的其它方面。
附图说明
本发明的特性和优点将通过以下结合附图对本发明某些实施例的详细描述变得明显,仅仅作为非限制性的例子提供实施例,在附图中:
图1示意性地示出了示例性场景,其中有利地使用了根据本发明实施例的方法;
图2通过功能块示意性地示出了被适当地编程的、适于实现根据本发明实施例的方法的数据处理设备的示例性实施例;
图3通过功能块描述了适于实现根据本发明实施例的方法的示例性组件;
图4是说明根据本发明实施例的方法的主要步骤的简化流程图;
图5是根据本发明实施例的、用于计算角彩色空间坐标,具体地说是HSV彩色空间中的H坐标,的均值和方差的方法的示例性图示;
图6A和图6B示出了一组相邻像素和用于计算像素卷积以便例如执行高通滤波的相应系数掩码;
图7A和图7B示出了两个用于沿水平方向和垂直方向对像素亮度值执行Sobel高通滤波以确定亮度梯度的示例性系数掩码;
图8A至图8D示意性地示出了根据本发明的实施例的、描述目标轮廓的新方法;
图9A、9B和9C示意性地示出了将属于目标轮廓的像素与有关轮廓除像素本身之外的进一步延续的信息相关联的方法;以及
图10A至图10H是示出了根据本发明的实施例的视频分割过程的中间步骤的示例性屏幕捕获。
具体实施方式
参照附图,图1中示意性描述了示例性场景,其中可以有利地应用根据本发明的实施例的数字视频分割方法。
两个用户105a和105b具有各自配备有视频捕获设备115a和115b(象视频摄像机)和声音捕获设备(象麦克风125a和125b)的数据处理设备110a和110b(象例如PC机、笔记本、膝上电脑、袖珍PC机、PDA、移动或固定的视频电话机、和电视机屏幕相关联的机顶盒、视频会议设备或等同设备),并参加视频通信会话。假定这两个用户彼此相距很远,其中“远程”的意思一般是指物理上分离的,例如,位于建筑物的不同房间里,甚至位于世界的不同大陆上。两个数据处理设备110a和110b通过数据通信网络120,象LAN、MAN、WAN、因特网、PSTN/PLMN(例如移动)电话网建立通信联系。数据处理设备110a和110b通过适当的网络接入点(附图中没有示出)与网络120的连接可以是有线的连接、无线的连接、或它们的混合。特别是,无线连接的意思是指WiFi连接、蓝牙连接、GSM连接、UMTS连接或任何其它非有线的连接。
应当指出的是图1中描述的场景仅仅是作为例子,并不是限制性的:本发明可以应用于许多替换场景。
如上所提到的那样,假定两个用户105a和105b参与视频通信会话,在此期间他们交换音频和视频内容。特别是,在发射机前提(在双向通信中,两个用户都扮演发射机和接收机的角色)下,通过麦克风125a和/或125b捕获音频(例如,声音),而通过视频摄像机115a和/或115b捕获视频序列;在接收机前提下,捕获的视频序列被再现并在数据处理系统的显示设备上显示,而通过扬声器/耳机130a和/或130b再现音频内容。
假定在用户的数据处理设备110a和110b之一(或二者)处实现实时视频分割工具。普通视频分割工具适于分析摄像机115a和/或115b所捕获的视频通信序列,以确定捕获的视频序列的普通视频帧中哪些像素属于图像前景目标,象例如用户105a或105b(所谓的“通话头”),相反哪些像素属于图像的其余部分以形成所谓的图像背景。幸亏有视频分割工具,用户可以例如决定用不同的背景代替真实的背景:例如,如附图中图示的那样,用户105a实际上在视频通信序列期间在家中,用户105a对于用户105b出现在完全不同的背景上。
图2示意性地示出了普通示例性的数据处理设备200的主要功能块,象图1中的数据处理设备110a和110b中的一个。几个功能单元并行连接到数据通信(例如PCI)总线205。特别是,通常包括微处理器(在高性能数据处理设备中,可能有多个协作的微处理器)中央处理单元(CPU)210控制数据处理设备200的操作。工作存储器215通常为RAM(随机访问存储器),直接由CPU 210用于执行程序和在程序执行期间进行数据的临时存储;只读存储器(ROM)220用于数据的非易失性存储,并存储例如用于计算机引导程序的基本程序,以及其它数据,象数据处理设备200的低级配置数据。特别是,RAM可以被构造为主RAM(通常是DRAM)和高速缓存RAM,通常是SRAM,并且微处理器可以嵌入一级高速缓存RAM中。ROM可以包含电可擦写的非易失性存储器,象闪存和/或EEPROM。
数据处理设备200包括几个外围单元,其借助于各自的接口连接到总线205上。具体地说,提供允许与人类用户交互的外围单元,例如象显示设备225(例如,CRT、LCD或等离子监视器)、键盘230、点击设备235(例如鼠标)、麦克风270,扬声器和/或耳机275、视频摄像机280。特别是,视频子系统(也被称为图形加速器)285管理显示设备225,通常PCB(印刷电路板)与携带CPU 210的数据处理设备母板不同但与其相关联(通常,电子和机械连接到母板)。类似地通过音频板271管理麦克风270和扬声器/耳机275。视频摄像机280例如与具有一个或多个USB端口的通用串行总线(USB)适配器277的端口连接。或者,视频子系统285可以包含视频捕获硬件,并适于直接管理视频摄像机280,具体地说,直接接收所捕获的视频帧。应当指出的是提供与CPU母板不同的视频和/或音频板是常用的技术方案,但并不意欲限制本发明,当例如没有提供视频和/音频板和安装在CPU母板上的各个元件时,也可以应用视频和/或音频板。
数据处理设备200也包含用于程序(操作系统、应用程序)和数据(文件)的本地海量存储的外围单元,例如象始终用240指示的一个或多个磁硬盘驱动器(HDD),用于驱动磁硬盘,CD-ROM/DVD驱动器245、或CD-ROM/DVD自动点唱机,用于读/写CD-ROM/DVD。其它外围单元可以以例如象用于读/写软盘的软盘驱动器、用于读/写存储器卡的存储器读卡器、打印机等等形式存在。为了连接到数据通信网络120,该数据处理设备200进一步配备有网络接口适配器(NIA)卡250,例如以太网卡、WiFi卡、蓝牙卡,或作为选择(或此外),数据处理设备200可以通过调制解调器(MODEM)—例如,拨号式调制解调器、或x-DSL调制解调器,或卫星调制解调器—连接到数据通信网络120。在智能移动电话的情形下,提供无线通信接口,它意欲包含使移动电话能够接入例如GSM/GPRS或UMTS网络的移动电话网所必需的所有HW和SW元件。
以现有技术中实质上已知的方式,视频子系统285包含GPU(图形处理单元,有时也被称为视频处理单元VPU)287,即自治地执行涉及要在显示设备225上显示的图像和视频的数据处理的可编程(协)处理器。GPU 287以使运行它们比主CPU直接在显示设备上画图快得多的方式实施多种图形原始操作。视频子系统285也可以包含本地工作的存储器资源289,供GPU使用;然而应当注意的是在以高速数据总线为特征的最新一代PC机中,视频子系统使用数据处理设备的工作存储器215。
正如在现有技术中所知道的那样,现代GPU被设计成对于例如在最新一代动画电影和视频游戏中所采用的(3D)绘制过程,起到计算机三维(3D)图形生成器的作用。GPU不是象CPU那样的通用处理器,甚至现代GPU具有相当有限的可编程能力;特别是,只有绘制流水线(rendering pipeline)的两点(粗略地说,流水线意指应用于输入数据以产生输出数据的处理步骤序列)是可编程的:视频板能够执行所谓的“顶点着色器”程序和“像素着色器(shader)”程序。一般地说,在不讨论过多的本领域技术人员公知的细节的情况下,顶点着色器程序是对于用于绘制所述3D对象的多角形栅格的每个顶点被调用的程序;相反像素着色器程序是对于已存在的图像—通常由顶点着色器所绘制的图像—的每个像素被调用的程序。
图2示意性地描绘了GPU 287的内部结构;应当指出的是作为现有技术中实质上已知的方面,GPU的描述将不探究深入的细节。GPU 287拥有控制GPU访问本地存储器289的存储控制器单元290,并包含纹理和几何高速缓存存储器和高速缓存控制器。GPU 287包含可编程用于执行顶点着色器程序的多个顶点处理器291、可编程用于执行像素着色器程序的多个像素处理器292、向像素处理器提供从存储器289(和/或可能从存储器215)中读取的过滤和解压缩纹理的多个纹理获取、过滤和解压缩单元293、多个纹理和彩色内插器294、瓦片(Tile)HSR(隐面消除)逻辑295、彩色和Z-坐标(即像素深度)压缩/解压缩单元296。帧缓冲器逻辑297包含抗锯齿单元(没有明确地示出),以及彩色和Z瓦片高速缓存298。视频输入/输出接口299包含例如用于连接显示设备255和/或附加的接口(像TV接口)的VGA接口。
根据本发明的实施例,视频子系统285的处理能力,特别是GPU287的处理能力有利地用于执行视频分割算法的至少部分步骤,因此减轻CPU 210的大量计算负担。特别是,使用像素处理器292是有利的。更具体地说,根据本发明的实施例,GPU 287的像素处理器292被适当地编程以运行适于执行视频分割算法的至少部分步骤的一个或多个像素着色器程序,如本文档下面将详细描述的那样。
可以观察到的是编写像素处理器292执行的像素着色器程序所应遵循的规则是非常严格的。像素着色器程序是生成作为结果分配给图像的每一个像素的颜色、或阴影的程序。从像素着色器程序的观点来看,根据所谓的“纹理”(即,单一或通常,N-维阵列)表示图像,其存储于存储器289的区域中;普通图像像素与纹理元素相对应,其中关于那个像素的特性(即颜色)信息被存储起来。例如,像素着色器程序可以接收输入中的、例如与待处理的输入数字图像相对应的输入纹理,并作为处理的结果生成与处理后的数字图像相对应的输出纹理。如果对于图像的某一像素调用像素着色器程序,假定输出纹理存储在存储器289的区域中,能够写入的存储器289的唯一位置是与输出纹理元素相对应的位置,该输出纹理元素与所考虑的像素相对应。GPU的像素处理器可以管理多于一个的输出纹理,但是在这样的情形中所有输出纹理将要被同时写入。同样,不可能同时在其中存储了同一纹理的存储器位置上进行读出和写入。这些限制源自于如下事实:通过GPU硬件同时运行并行、独立的处理流水线(在现代GPU中支持多达32个独立流水线),GPU像素处理器处理很多像素,使得处理某一像素的结果不会(且不能)影响(和/或依赖于)其它像素(或邻近像素)的处理,它们可能在相同或不同的流水线中同时(或在不同的时间)被处理。为此,GPU不能执行实施顺续算法的程序,但只能执行其中每个像素的处理与图像其它像素的处理无关的算法。申请人在决定哪些视频分割活动委派给GPU以及如何编写GPU执行的程序时已经适当考虑了这些限制。
根据本发明的实施例,在接连几个阶段中构造视频分割方法的算法,每个阶段涉及处理,其中对每个像素处理的结果不影响(和/或依赖于)其余图像像素,所述阶段由GPU实施,加上最终阶段,涉及CPU实施的顺续处理(在数据从GPU转移到CPU之后)。然而应当指出的是在本发明的替换实施例中,由GPU实施的视频分割算法的阶段的数量和类型可以改变。
图3是根据本发明的实施例的、视频分割算法的主要组成的功能块的示意性表示;应当指出的是一般功能元件可以是软件元件、硬件元件或软件和硬件的混合元件。
假定在数据处理设备110a和110b中的一个或两个上实现视频分割算法。
特别是,在虚线390所围的功能块与GPU 287的像素处理器292执行的一个或多个像素着色器程序所执行的操作相对应,而用虚线395围起的功能块与CPU 210执行的一个或多个程序所执行的操作相对应。
输入帧305,例如由视频摄像机115a或115b捕获的视频流的帧,被馈送到RGB至HSV转换模块310,用于图像描从RGB(红、绿、蓝)彩色空间转换到HSV(色度、饱和度、纯度)彩色空间的转换。
正如现有技术中所知道的那样,RGB是许多商用视频摄像机所使用的格式。
优选转换成HSV格式是因为RGB彩色空间在感觉上是不一致的:在RGB彩色空间中,当显示不同的颜色时,不同颜色中数值相等的色差并不被人眼感知为相同的差异;例如,如果改变绿色分量,所感知的颜色变化比蓝色分量变化同等数量更加明显;不同的是,HSV彩色空间中的度量基本上与人眼所采用的度量相同,因此在HSV彩色空间中的工作产生更好的视频分割结果。
现有技术中从RGB到HSV的转换公式是众所周知的,如下:
max=max(R,G,B);
min=min(R,G,B);
V=max
S=(max-min)/max
如果S=0
则H是无意义的
否则
delta=max-min
如果R=max则H=(G-B)/delta
如果G=max则H=2+(B-R)/delta
如果B=max则H=4+(R-G)/delta
H=H*60
如果H<0则H=H+360
可以理解的是HSV空间中的S和V坐标是线性坐标,被归一化为1,它们取值范围从0到1;H坐标是角坐标,其取值范围从0°到360°。HSV空间传统的图形表示是倒置的锥形,顶点在底部,底座在顶部;锥形轴是V坐标的轴;S坐标轴与V轴垂直;H坐标表示通过位于包含S轴且与V轴正交的平面中的且起始于V和S轴的原点的段与S轴形成的角度。在这样的图形表示中,较黑的颜色具有低的亮度,并靠近锥形底部(靠近顶点,与黑色对应);原始色(和,一般地,饱和色)与位于锥形表面的点对应,并沿V轴从顶点向底座移动而越来越亮;低饱和度的颜色、趋向于灰色,位于靠近V轴的锥形之内,而V轴的点与灰色调相对应,白色在V轴的顶端。从这个图形表示来看,可以理解的是HSV空间更好地描述了人眼的作用:人眼辨别不同的颜色,即发光度不足的地方,是较困难的,HSV空间的点彼此靠得较近(即,难以通过与阈值的比较进行辨别);相反,较亮的颜色,尤其是饱和色,可以更清楚地辨别出来,事实上HSV空间中的相应点彼此相距很远(即,它们容易通过与阈值的比较进行辨别)。
RGB到HSV的转换是适合由像素着色器程序执行的运算,因为它可以与图像的其它像素值无关地对每个像素执行。于是,RGB到HSV转换模块310可以作为GPU 287(的像素处理器292)所执行的像素着色器程序(部分)实施,从而从输入纹理中取RGB值并在输出纹理中写入相应的HSV值。然而,没有什么能阻止,在本发明的替换实施例中,由CPU 210执行RGB到HSV转换。
应当指出的是:即使视频摄像机没有提供所捕获的RGB格式的视频流,但是以不同的格式,可以通过转换的方式获得RGB格式:例如,在视频摄像机下抽样的情形中,例如以公共YUV 4:2:0格式提供视频帧数据的情形中,RGB格式可以通过适当的滤波进行重构,大部分商用的视频板能够用硬件直接执行这个运算。
经过HSV转换的视频帧被馈送到背景学习模块315,其适于构建背景的参考图像,该图像用于视频分割处理的后续阶段,以决定像素是属于图像的背景还是前景。
具体地说,在本发明的实施例中,假定在视频序列期间背景保持基本不变;这在象例如涉及视频通信的那些应用的许多应用中是一个合理的假定,在视频通信中通话头通常位于房间里的。然而,没有什么防止在本发明的替换实施例中,背景可以改变,使得可以使用自适应背景学习算法。
背景学习模块315适于学习背景是怎样的。为此,背景学习模块315适于构建背景的统计模型,然后用作为参考背景图像。为了构建所希望的统计模型,视频摄像机捕获和处理单独背景环境(没有前景中的目标)中预定数量的视频帧。背景学习模块315为每个像素计算捕获的视频帧的均值。此外,背景学习模块315为每个像素计算捕获的视频帧的方差(或,等价地,标准离差,它是方差的平方根)。应当观察到的是原则上,即使一个视频帧也许足以定义背景参考图像,然而,由于视频摄像机传感器的固有噪声,且场景照明可能不稳定,优选考虑多于一个视频帧;例如100个视频帧可以被认为充分可靠的统计样本。
同样观察到的是:通过对指定数量的视频帧计算像素值的平均值(和方差)构建背景统计模型意味着作出每个像素可以由单峰的统计分布进行描述的假定,即不同的样本聚集在单一(平均)值的周围的分布;这样的模型在几种实际的情形中是适合的,但例如在视频摄像机不是充分稳定的情形中,或当在背景中闪光可见的情形中是不适合的:在后一情形中,应当对像素值计算两个不同的均值,两个不同的方差,一个用于灯光打开的情形,另一个用于灯光关闭的情形。
根据本发明的实施例,背景学习模块315具体地包含彩色空间的H、S和V坐标的均值和方差计算模块315a、315b和315c。
因为如上所述,HSV空间中的S和V坐标是线性坐标,正如由统计所知的那样,利用下列公式,可以计算普通像素的S和V值的均值(average)和方差(variance):
均值: X &OverBar; N = &Sigma; i = l N x i N
方差: &Sigma; N 2 = 1 N - 1 &Sigma; i = 1 N x i 2 - N N - 1 X &OverBar; N 2
其中xi表示第i个样本的所考虑像素的S或V值,N是样本的总数(在目前的情形中,单独背景中的视频帧的预定数量)。
对于H角坐标的均值和方差的计算不能用于线性坐标S和V的相同方式进行。仅作为例子,假定两个不同视频帧样本的两个像素分别具有等于1°和359°的H坐标,即在HSV空间中的图形表示中,两个点非常靠近S的正半轴(由于角度的周期性,具有H=359°的点与具有H=-l°的点对应,因此与H=1°的点一样靠近H=0°的点):算术平均将是180°,然而这完全是不正确的,因为这与位于S负半轴的点相对应。
根据本发明的实施例,提供的计算H坐标的均值(和方差)的方法不受上述问题的影响。
在细节上,如图5所示,假定普通像素的坐标H表示复数Z的相位(或角度)Arg(Z);复数Z的模可以例如被设置成等于该像素的S坐标值,或另外被置为1(这第二种选择可能被认为是优选的,因为以此方式,在计算的S坐标的均值和方差中已经被考虑的、包含在S坐标值中的颜色信息与H坐标值中包含的颜色信息保持分离)。
给定相位H的值,复数Z的实部Re(Z)和虚部Im(Z)的计算实际上与计算H坐标值的正弦(sine)和余弦(cosine)相对应:
复数Z的实部Re(Z)和虚部Im(Z)是线性量,因此两个或多个不同复数Z的均值,其与两个或多个像素的H坐标对应,或对应于属于不同的视频帧的、同一个像素,可以计算为通常的算术平均,如以上结合S和V坐标所述的那样。用RN和IN表示与单独背景的各种样本中的像素的H坐标相对应的多个复数Z的实部Re(Z)和虚部Im(Z)的均值,复数的均值的模是:
| Z &OverBar; N | 2 = R &OverBar; N 2 + I &OverBar; N 2 .
而它们均值的相位,其是H坐标的均值,为:
H &OverBar; = arctan ( I &OverBar; N R &OverBar; N ) .
(其中,为了本发明的目的,为了获得从0°到360°的范围内的H值,arctan是4-象限的反正切。)
至于方差,在数学上表明:对于复数,公式是:
&Sigma; N 2 = 1 N - 1 &Sigma; i = 1 N | z i | 2 - N N - 1 | Z &OverBar; N | 2 .
其中,zi表示与第i个样本的H坐标值相对应的复数;如果复数zi全都具有单位模,公式为:
&Sigma; N 2 = 1 N - 1 N - N N - 1 | Z &OverBar; N | 2 = N N - 1 ( 1 - | Z &OverBar; N | 2 ) .
直观地,如果对几个具有单位模和类似相位的复数进行平均,结果是平均复数应当具有与平均后的复数的相位相似的相位以及实际上具有单位模(unitary modulus);如果相反,对几个具有不同相位的复数,其相位可能在0°和360°之间均匀分布,进行平均,作为结果的平均复数是具有不确定相位的复数(H的大方差,倾向于1)且实际上模等于0。
应当指出的是在不同背景样本中的像素的H、S和V坐标的均值和方差的计算是可以对于每个像素独立执行的运算,因此背景学习模块315适于作为由GPU(的像素处理器)执行的像素着色器程序实施。
特别是,观察到的是最新式的GPU具有像素处理器的原语中的sine和cosine函数:在这种情形,能够直接从H坐标值开始进行复数Z的实部和虚部的计算,如果GPU不具有sine和cosine原语,sine和cosine函数值可以列成表并作为数组存储在存储器中,由GPU解释为例如每一度的1D纹理,可以利用H坐标的值作为输入通过读取1D纹理来获得复数Z的实部和虚部的希望值。
在商用的GPU中,反正切却不是像素处理器的原语;因此,为了计算H坐标的均值,反正切值可以被列成表格,且例如,以矩阵的形式存储起来,其可以由GPU解释为2D纹理,然后利用实部和虚部的均值RN和XN作为横坐标和纵坐标分别进行读取。
然而应当指出的是在本发明的替换实施例中,像素H、S和V坐标的均值和方差的计算可以是由CPU 210执行的运算。
可以理解的是为了构建所希望的背景统计模型,不需要GPU存储全部背景样本的所有值(这可能引起视频板存储器的饱和):为了计算上述公式中的和,GPU,在具有背景样本的视频帧到达时,保持S、V坐标值和与像素的H坐标相对应的复数的实部和虚部的值的累积总计(running total)是足够的;为了计算方差,保持S和V坐标值的平方的累积总计(而H坐标的方差完全取决于与H坐标值相对应的复数Z的均值的模)是足够的。有利地,因为GPU所使用的纹理通常适于为每个像素存储4个值,该值与通道R、G、B和A(alpha,即像素不透明性的指示符)对应,计算均值和方差所需要的累积总计与单一纹理匹配(例如,可以存储复数Z的实部Re(Z)和虚部Im(Z)的累积总计在通常用于R和G通道的地方,S和V坐标的累积总计可以存储在通常用于B和A通道的地方)。
如前所述,因为GPU不能同时对同一纹理进行读取和写入,可以利用两个纹理,其在“乒乓”模式交替使用,计算S和V值的累积总计以及它们的平方的累积总计;如果,例如,对于普通的、当前的第M视频帧,以前计算的总量存储在两个纹理中的第一个中,为进行当前迭代形成输入纹理,将第M个视频帧的像素坐标值加到(逐个像素地)第一纹理中存入和读出的那些值中,相加的结果被存到第二纹理中;其次,第(M+1)个视频帧,第二纹理表示输入纹理,读取其中存储的值并(逐个像素地)加到第(M+1)个视频帧的坐标值中,且结果存入第一纹理。重复在第一和第二纹理之间的这种乒乓模式直至背景学习完成为止。优选地是,为了改善精度并避免溢出,所使用的纹理是浮点形式。
特别是,当接收和处理视频帧时,为了允许GPU“动态”计算均值和方差,每次视频帧被传到GPU 287时,CPU也将更新计数器值传到GPU 287,以提供所接收的视频帧的更新计数N,以及值N/(N-1)。
回到图3,背景减去模块320适于通过将当前视频帧与参考图像的比较,生成第一个、近似前景二进制掩码380,具体地说(但并不限于)由背景学习单元315所构建的背景统计模型。特别是,背景减去模块320通过从当前视频帧(转换成HSV格式)减去背景统计模型而生成近似前景二进制掩码380。为了当前描述的目的,“掩码”意指元素矩阵,其中矩阵的普通元素与图像像素对应,矩阵元素的值提供了对应像素属于图像背景或前景的事实的指示。例如,属于图像背景的像素可能被赋予逻辑“0”,而属于前景的像素可能被赋予逻辑“1”。特别是,背景减去模块320接收通过背景学习模块315的均值和方差计算模块315a、315b和315c计算的H、S和V坐标的均值。对于当前视频帧的每个像素(包含属于前景目标的像素,例如从背景中分割出的通话头),背景减去模块320适于将H、S和V坐标的当前值与通过背景学习模块315计算(并为那个像素存储)的对应的均值H、S和V进行比较。为了进行比较,可以为H、S和V分量执行当前值和均值之间的差。如果计算出的差是相关的(例如,如果它超过预定的阈值),则该像素被认为是属于前景的,且第一前景二进制掩码380中的相应值通常被设置为“1”;不同地,则该像素被认为是属于背景的,且第一二进制掩码380中的相应值通常被设置为“0”(可以采用相反的约定)。
观察到的是采用HSV描述的优点在于它允许将像素颜色信息(由H和S分量给出)与涉及像素的亮度(V分量)的信息分离;这允许为三个H、S和V通道中的每个通道设置不同的阈值用于识别图像的前景目标。以这种方式,例如有可能对这一事实进行补偿:对在缺乏周围光,或存在具有强颜色优势(color dominance)的光的条件下捕获的视频,视频摄像机通常不能正确地估计色调:通过使用HSV描述,可以增加H坐标方面的容差;相反如果光强且纯并能够清楚地辨别出不同的颜色,有可能增加色调检测的精度(H坐标),同时减少亮度(V坐标)的精度,使得减少投射阴影的影响(这将引起该像素的发光度的变化而不改变它们的颜色)。
优选地,为了确定三个H、S、V坐标中的一个的值和各自均值之间的差是否显著,比较阈值应当不太低、否则不可避免的视频摄像机噪声将引起几乎所有的像素被错误地认为是属于图像前景(有理由地,在当前视频帧中没有任何像素与它的背景统计模型中的对等部分相同,即当前H、S、V值与背景学习阶段中计算出的均值不同)。同样,优选地是针对所有视频帧的像素不使用固定的比较阈值,因为受噪声影响的图像区域程度不同,例如,由于场景发光度的差异,将以不同方式进行处理。而且,应当根据每次光条件(和因此视频摄像机热噪声)的变化优选地调整比较阈值。比较阈值的调整可以是自动的。
根据本发明的实施例,背景减去模块320适于逐个像素计算H、S、V坐标中的每一个的值与背景学习模块315计算的相应均值之差的绝对值,并将计算的绝对值差与所考虑坐标的标准偏差进行比较;如果计算的(绝对值)差超过相关的值,例如与对应的标准偏差成比例的值,则该差被认为是不能忽视的且预示所考虑的像素属于图像前景这一事实;例如,考虑H坐标,如果下列条件满足,则差被认为是不能忽视的:
| H - H &OverBar; | > &alpha; H &Sigma; H 2
其中αH是比例、乘法因子,取决于它的值,使得背景减去运算或多或少易受影响(原则上,乘法因子αH可以是任何实数。通过增加乘法因子αH的值,需要认为像素属于前景的差异增加,且因此结果对噪声较不敏感;然而,如果前景目标的颜色与周围背景类似,乘法因子αH的值很高可能导致产生在几个前景目标区域里有几个“洞”的二进制掩码。乘法因子对于三个坐标H、S和V可能相等或不同;优选地,乘法因子的值可以由用户(独立地)调整,使得在前景检测的稳健性和精度之间找到最佳折衷点。取差的绝对值确保对正和负的差的相同处理。
背景减去模块320特别适于将三个测试结果组合(在下列不等式中示意性地用“?”表示):
| H - H &OverBar; | > ? &alpha; H &Sigma; H 2 , | S - S &OverBar; | > ? &alpha; S &Sigma; S 2 , | V - V &OverBar; | > ? &alpha; V &Sigma; V 2
对H、S和V坐标的每个像素执行该公式,以便确定普通像素是否是前景或背景像素。例如,三个测试结果可以用逻辑AND(与)或用逻辑OR(或)的形式进行逻辑组合:在前者情形,为了所考虑的像素被认为属于前景,普通像素的所有三个分量(H、S和V)明显不同于分别计算出的均值;在后者情形中,三个分量中恰好有一个具有很大的偏差,可以充分认为该像素属于前景。申请人观察到利用OR逻辑组合获得更好的性能,因为对于人眼来说,对于感知两种颜色不同,色调不同就足够了(即使饱和度和发光度是相同的)。有可能进行三个测试结果的其它组合;例如,在适于抑制前景目标投射在背景上的阴影的方法中,决定像素是否属于背景,但是由于前景目标的存在而在阴影中,可以基于坐标H和S的值几乎与相应的均值相等这一事实,但坐标V的值以类似在邻近像素所经历的坐标V减少的方式减少(与计算出的均值相比)。
应当指出的是背景减去运算是能够独立地对每个像素进行的运算:于是,背景减去模块320适于作为GPU(的像素处理器)执行的像素着色器程序(的部分)实现。然而,在本发明的替换实施例中,没有什么能够阻止背景减去运算由CPU 210执行。
逻辑AND和OR运算可以由GPU执行,借助于二进制数的乘法和/或加法再现它们。
原则上,近似的前景掩码已经能够用于在视频序列中从背景中分割出前景。然而,申请人已经观察到在这种情形中将会在重构和显示的视频序列中生成伪像,这将被观察者在前景目标的轮廓处所感知。申请人已经观察到这个伪像是由通过当前视频帧中的像素值与背景参考图像的对应像素的值进行简单的比较而生成的前景掩码是一个真实前景目标太粗略的近似这一事实所引起的。
为了克服伪像问题,申请人已经找到一种用于改善通过当前视频帧与参考图像的比较所生成的近似前景掩码的方法。
根据本发明的实施例,为了实施所述前景掩码改进,边缘检测模块325适于检测视频帧中的边缘。特别是,在本发明的实施例中,边缘检测模块325适于检测当前视频帧和背景统计模型中的边缘,并对它们进行比较。
现有技术中已知几种适于检测数字图像中目标的边缘的算子。通常,使用基于梯度的高通滤波算子。这样算子中的一个是所谓的Sobel算子,该算子即使在存在相对多噪声的数字图像时也提供良好性能的高通滤波算子,并因此提供基本连续的边缘线,不会分成几个分离的段。
Sobel算子在所考虑的数字图像(在目前情形中,当前视频帧,或背景统计模型)和具有预定系数的高通滤波掩码之间执行卷积(实际上,加权和)。高通滤波掩码例如是n×n掩码,例如3×3掩码,其中中心系数在待滤波的数字图像内与当前处理中的像素相对应,并其余系数应用到邻近像素,如图6A和图6B所示意性示出的那样;特别是,图6A示出了处理(z5)之中的像素和3×3图像部分中它的邻近像素,图6B示出了高通滤波掩码。通过使滤波掩码以当前处理过的像素为中心,计算出卷积R,并将像素值与各自的系数的乘积相加:
R = w 1 z 1 + w 2 z 2 + . . . + w 9 z 9 = &Sigma; i = 1 9 w i z i
特别是,选择适当的高通滤波掩码,有可能在预定方向上计算出表示这些像素属性(象坐标H、S、V中的一个)的某一量的梯度。图7A和图7B示出了两个示例性的、与Sobel算子对应的3×3掩码,用于沿两个正交方向(分别沿水平和垂直方向)计算某一量的梯度。利用图7A中的掩码,某一量的梯度的水平分量Gx由下式给出:
Gx=(z3+2z6+z9)-(z1+2z4+z7)
而利用图7B的掩码,梯度的垂直分量Gy计算为:
Gy=(z7+2z8+z9)-(z1+2z2+z3)
应当指出的是在本发明的替换实施例中可以使用不同的算子检测这些边缘。
应当指出的是卷积运算是这样的运算,其中对于普通像素计算出的结果仅取决于邻近像素的先前值,而不取决于对于邻近像素计算出的卷积结果;于是,它可以通过由GPU(的像素处理器)所执行的(部分)像素着色器程序来执行。特别是,在第一输入纹理中存储了例如当前视频帧的像素值,而在第二输入纹理中,存储Sobel算子掩码的系数;GPU基于Sobel算子掩码的系数为每个像素计算邻近像素值与所考虑的像素值的卷积,该结果被存储到输出纹理中。然而,在本发明的替换实施例中,用于确定边缘的卷积运算可由CPU执行。
原则上,可以为三个H、S和V像素坐标单独地计算边缘,因此获得三个不同的边缘图。然而对于H和S分量计算出的边缘图在确定图像前景目标时不特别有用,部分是因为太多噪声,部分是因为它们给根据图像发光度计算出的边缘添加了很少的信息。
同样,优选的是不直接使用V坐标的值;因为V分量被计算为三个R、G、B分量的最大值,即使在三个R、G、B分量中的单一分量上的峰值噪声也完全影响V的值,于是,如果在边缘检测中将Sobel算子应用于V分量,可能噪声峰值将会具有很强的影响。
根据本发明的实施例,通过将Sobel算子应用到像素亮度值进行边缘检测,其被计算为R、G、B分量的加权平均:
Y=0,299R+0,587G+0,114B。
为此,RGB到Y转换单元330将当前视频帧从RGB格式转换成Y格式。
应当指出的是亮度值Y的计算是逐个像素单独进行的运算;于是,可以通过由GPU(的像素处理器)执行的(部分)像素着色器程序运行。然而,没有什么能够阻止由CPU执行Y值的计算。
如以上所述,边缘检测模块325也适于在背景学习期间计算出的统计背景模型中的计算出的边缘。为此,HSV到Y转换模块335为每个像素将背景学习模块315计算出的H、S和V分量的均值转换成相应的Y值。特别是,可以在一个步骤或在两个步骤(具有转换到RGB空间的中间转换)中执行从HSV空间到Y值的转换。同样,为统计背景模型中的像素计算Y值可以通过由GPU(的像素处理器)执行的(部分)像素着色器程序实施。然而,没有什么阻止由CPU为背景模型的像素进行Y值的计算。
边缘检测模块325计算亮度Y的梯度的水平和垂直分量Gx和Gy,亮度梯度的模计算为 G = G x 2 + G y 2 . 梯度模的值提供了所考虑的像素是否属于图像目标的边缘的指示:位于基本均匀图像区域的像素表征了靠近0的G值,而位于图像目标边缘上的像素表征了很高的G值。如果希望的话,可以计算亮度梯度的四-象限反正切
Figure A200580052554D00312
因此获得边缘与水平轴形成的角度的附加指示。
边缘检测模块325生成两个边缘图381和383:第一边缘图381是在背景统计模型中的边缘图(在背景统计模型已经被创建之后,当然可以计算边缘图),第二边缘图383是当前视频帧中的边缘图。边缘图381和383包含分别在背景统计模型中和当前视频帧中的每个像素的亮度梯度的各个值。
边缘减去模块340接收两个边缘图381和383,并适于比较,例如减去,为统计背景模型计算出的边缘与为当前视频帧计算出的边缘。对于每个像素,减去边缘可能与从为当前视频帧计算出的亮度梯度值中减去为背景统计模型计算的亮度梯度值相对应。
特别是,如果边缘(亮度梯度)减去对给定像素给出正值,则考虑的该像素被认为属于不在背景统计模型之内的当前图像的边缘:这样的像素因此有理由属于前景目标。相反则负值表明所考虑的像素属于存在背景之中的边缘,但不在当前图像之内这一事实:这可能有理由意味着背景中的边缘被前景目标,例如通话头,所掩盖(或隐藏),因此所考虑的像素也属于前景有很大的可能性。靠近0的亮度梯度差值是表明像素属于相对均匀的区域,或它属于存在背景之内且在当前视频帧内保持不变的边缘;在这种情形,不提供任何有用的信息。
边缘减去模块340逐个像素生成边缘差的逐个像素图385。边缘差值图385和由背景减去模块320生成的近似的前景二进制掩码380可以被送到前景掩码完成模块345,其适于逐个像素地将包含在第一近似前景二进制掩码380中的信息与包含在边缘差值图385之中的信息进行组合。
特别是,在本发明的实施例中,第一近似前景二进制掩码380存储在第一GPU输入纹理中,边缘差值图385存储在第二GPU输入纹理中,前景掩码完成模块345适于加载第一和第二输入纹理;然后前景掩码完成模块345适于通过绝对差值与预定的阈值进行比较,将包含在边缘差值图385中的边缘差值变换成Boolean(布尔)值,因此获得中间的边缘差值二进制掩码。例如,适当的阈值可以是0.5:如果当前视频帧中的边缘和背景统计模型中的那些边缘之间的差值超过值0.5,则像素可能属于前景,在边缘差值二进制掩码中的那个像素被置为“1”。因此,在近似前景二进制掩码380中的二进制值用逻辑OR与边缘差值二进制掩码385中的Boolean值进行组合。
通过将近似的前景二进制掩码与边缘差值图(转换成二进制形式)进行组合,前景掩码完成模块345适于通过添加在边缘差值二进制掩码中被表征为“1”的像素,完成(或至少加入信息到)近似的前景二进制掩码380,如上所述,其是前景掩码的初步的、粗略的近似;添加的像素通常位于前景区域的边界,且具体地说是非常重要的,因为它们位于背景和前景颜色混合的图像区域中,使得背景减去可能提供错误的结果。而且,应当观察到的是在通常吸引观察者的注意力的前景目标的边界处,由此即使小的调整和校正对于分割算法的所感知结果的质量都是非常重要的。
应当指出的是在赋给边缘差值的Boolean值的处理过程中所使用的比较阈值是可以调整的:例如,用户也许优选具有锐利的轮廓而非光滑的轮廓的分割前景目标:在第一种情形中,属于前景目标轮廓的较多的像素被加入到近似的前景二进制掩码中,而在第二种情形中,加入较少的像素。这种调整可以是基于对视频摄像机执行的度量自动地进行:如果检测到即使视频摄像机轻微的运动(移位即使1或2个像素),大部分轮廓的位置将发生变化,因此应当增加比较阈值;如果相反,视频摄像机是稳定的且场景的亮度也很好,所感知的轮廓不会变化,可以减少比较阈值。
高通滤波、边缘差值图385的计算和掩码完成是可由GPU执行的运算;然而,在本发明的替换实施例中,没有什么阻止可由CPU执行这些运算的一个或多个运算。
应当指出的是,在本发明的替换实施例中,前景掩码完成模块345可以为完成近似前景二进制掩码380而使用边缘图383,而不是使用边缘图383和边缘图381之间的差,或可以省略掩码完成运算。
然后优选地是将(完成了的)前景二进制掩码387送到适于执行低通滤波的低通滤波模块350,具体地但是不限于是高斯(Gaussian)滤波,以减少(甚至消除)异常,即与所有周围像素不同的值(“0”或“1”)的像素,和因此改善了前景掩码的空间相关性。以这种方式,可以去除在完成的前景二进制掩码387中可能引起的背景区域中的孤立噪声峰值,在完成的前景二进制掩码387中分类为前景(即,通常用“1”表征)的孤立像素或小的像素聚类,因为它们是错误的(在最终分割的图像中,这些像素将作为添加在图像上的“雪花”是可视的);类似地,可以去除前景区域中的小的“洞”,即分类为背景(即用“0”表征)的像素和被分类为背景的大量像素所围绕着的像素,其通常由前景颜色和背景颜色之间的随机相似性引起(例如由于光反射、表面的色度细节(chromatic particular)或噪声)。
低通滤波,具体地说是高斯滤波,以类似针对Sobel运算所描述的方式实施:低通滤波掩码接着应用于完成的前景二进制掩码387中的像素值。低通滤波掩码中的系数的个数和值取决于滤波动作所需要的力度,即取决于像素之间的空间相关性:空间相关性越高,滤波掩码越宽。
例如,假定视频摄像机以CIF格式(352×288像素)提供源视频帧,9×9的低通高斯滤波掩码是合适的。
高斯滤波器的已知数学性质是它的可分离性:幸亏这个特性,而不是在一个步骤中执行卷积,这对于9×9滤波掩码,意味着为每个像素处理81个像素值(使得GPU应当针对完成的前景二进制掩码387中的每个像素执行81个乘法和加法、和81个纹理取值),可以通过在两个步骤中执行卷积获得相同的结果,该步骤包括水平和垂直像素扫描;在每次扫描中对每个像素,要处理9×1和1×9个像素值,总共对每个像素进行18次运算。在本发明的实施例中,在水平和垂直扫描中使用的低通滤波掩码的系数如下:
[0,01171875;0,046875;0,11328125;0,1953125;0,265625;0,1953125;0,11328125;0,046875;0,01171875]
可以理解的是滤波掩码系数不是整数:于是,在卷积之后结果不再是二进制掩码,而是范围从0至1的实数掩码,且普通掩码元素可以解释为表示相对应的像素属于前景目标的概率。为了重新获得二进制掩码,一般实数可以与预定的阈值,例如0.5,进行比较,以重新获得二进制(取决于比较的结果:低于或高于0.5),这与完成的前景二进制掩码中对应的值相比,提供像素属于前景或背景的较可靠的指示。应当指出的是比较阈值可以放置得靠近[0;1]值区间的两个端点中的一端,使得在某种意义上偏离决定,或相反。例如,对于最终的结果,如果将背景像素判断为属于前景的错误比相反判断所导致的错误风险要小一些,可以减少比较阈值。
应当指出的是低通滤波的类型、滤波掩码的大小、上面公开的滤波掩码系数值实质上不是对本发明的限制。可由本领域的技术人员进行其它的选择。同样,当低通滤波的操作可以方便地由GPU执行时,在本发明的替换实施例中,没有什么阻止由CPU执行该操作的所有或部分操作。
(滤波的、完成的)前景二进制掩码388优选地被馈送给形态学闭(morphological closing)模块355,它适于执行由二进制掩码所定义的前景图像的形态学闭运算。
正如现有技术中已知的那样,形态学闭运算是适于校正前景二进制掩码中存在的至少某些伪像的运算,具体地说,例如由前景目标的颜色与其下的背景像素的颜色之间的相似性所引起的在前景目标中以洞的形式出现的伪像。
特别是,三种类型的伪像“洞”可能存在于前景二进制掩码中:
-非常小的洞(具有几个像素的直径)由与背景没有显著差别的前景目标的色度细节引起的(象头发的颜色,或前景目标衣服的图案,或象手表、眼镜等等的饰品;例如,具有与背景相同颜色的点的领带可能在前景二进制掩码中导致几个小的、孤立的、不希望的洞);
-大洞,当存在大面积颜色与背景没有显著差别的前景目标时(例如,通话头穿着红衬衫而背景是红颜色的墙壁时);
-真实的洞(没有被抑制),例如由前景目标的特殊形状,或由前景目标的特殊位置(例如,当通话头将他/她的手放置在他/她的边上,在手臂和躯干之间可见的背景区域不被认为是前景目标的一部分)。
具体地说形态学闭运算适于消除第一种类型的伪像。
特别是,形态学闭运算分两个步骤进行。在第一步骤中(也被称为“掩码膨胀”),在滤波后的、完成的前景二进制掩码388中的前景目标区域被扩张,或“膨胀”;然后,在第二步骤中,(也被称为“掩码腐蚀”),在掩码中的前景目标区域被恢复到它们原来的尺寸。幸亏在掩码膨胀之后,可能存在于前景目标区域中的小洞被前景吸收,且在腐蚀运算之后,它们消失这一事实,实现了伪像的消除。
更加详细地,处理(滤波过的、完成的)前景二进制掩码388中的所有像素;针对每个像素,考虑一定量的邻近像素,例如,所有包含在预定大小的矩形(“膨胀窗口”或“膨胀掩码”)中的那些像素,所述预定大小象3×3像素或9×9像素(优选地,膨胀掩码的大小取决于,特别是它等于低通滤波模块350中所使用的低通滤波掩码的大小)。在膨胀步骤中,表征在前景二进制掩码中的正在处理的像素的值(“1”或“0”)被所考虑的像素值和邻近像素值之中的最大值所代替;于是,如果即使邻近像素(例如,8或80)中的一个像素是“1”,最初等于“0”(即,背景像素)的普通像素值是从“0”到“1”变化的(如果对表示前景像素采取相反的约定,则取最小值,而不是最大值)。
正如高斯滤波的情形中那样,膨胀和腐蚀运算可分成两种沿水平和垂直方向进行的基本运算。
在膨胀之后,就“1”的分布而言,所获得的膨胀的前景二进制掩码是相当紧凑和规则的,即使最初它是不规则的且在前景目标区域中具有几个洞。然而,膨胀运算引起前景目标的轮廓扩张,且孤立的像素或少量的像素聚集,在低通滤波运算之后在背景区域上的剩余部分被膨胀运算放大了。
在后续的掩码腐蚀阶段,普通像素的值被它自己的值和邻近像素值中的最小值(最大值,如果对表示前景像素采取相反的约定)代替。在腐蚀运算之后,前景二进制掩码中前景目标的大小回到最初的大小,在膨胀阶段之后仍然保留所得到的紧凑和规则的属性。背景区域中的孤立点(单一像素或少量像素聚集)回到它们最初的大小;然而,如果这样的点位于前景目标之内或靠近前景目标,则它们有被吸收到前景目标之内的趋势。
考虑普通像素s0;假定膨胀运算沿水平和垂直方向分两个阶段进行,现考虑水平扫描;对于像素s0,邻近像素(使用9×9掩码)是:
s-4|s-3|s-2|s-1|s0|s1|s2|s3|s4
正如上面所讨论的那样,在假定前景二进制掩码中的前景像素用“1”表示,膨胀阶段提供了用像素s0的值和8个邻近像素的值之间的最大值代替像素s0值(在滤波后的、完成的前景二进制掩码388中)。在后续的腐蚀阶段,像素s0的值用像素s0和8个邻近像素的值之间的最大值代替。
申请人已经观察到进行形态学闭运算的传统方式并不总是提供好的结果。特别是,在滤波后的、完成的前景二进制掩码388中已经很好地定义了前景目标边缘可能在形态学闭运算之后被改变,使得在前景目标中产生伪像。
例如,在通话头的手指之间相对小的空间、或头发和颈周围的区域、或腋窝,其是为了正确分割不得不被看作为属于图像背景的,不能被形态学闭运算保留:特别是,在前景目标中、尺寸相对小并靠近前景目标的轮廓的真实的洞可能会消失。
为了解决这个问题,申请人已经设计出用于执行膨胀和腐蚀运算的新的、改进的方法。
根据本发明的实施例,在膨胀阶段,从处理之中的像素(位于膨胀/腐蚀掩码的中间)开始计算最大值并继续朝膨胀/腐蚀掩码的外围前进:只要遇到属于前景目标的边缘的像素,停止朝外围前进,使用比那些在膨胀掩码中的像素要少的像素计算最大值。
为了执行修改的形态学闭,形态学闭模块355除(滤波后的、完成的)前景二进制掩码388之外,还接收通过由边缘减去模块340提供的边缘减去而产生的图385。为了估计像素是否属于前景目标的边缘,形态学闭模块355可能适于在边缘差值图385中识别出超过预定阈值的正的边缘差(以便具有对噪声的容差)。
例如,假定像素s-2和s3属于前景目标边缘;根据本发明的实施例,在膨胀阶段像素s0的值由值max(s-1,s0,s1,s2)代替,而不用考虑包含在膨胀掩码中的其余像素,这与处理之中的像素相比,它在前景目标边缘“之外”。在最大值的计算中可能考虑或可能不考虑属于边缘的像素,象在所考虑的例子中的s-2和s3;申请人已经观察到通过在计算最大值中不包含边缘像素可能获得更好的结果。在这种情形中,假定例如像素s-1和s1都属于前景目标的边缘,像素s0值不变。如果包含在膨胀/腐蚀掩码中的邻近像素中没有一个属于前景目标的边缘,膨胀运算与用所考虑的像素和所选择的膨胀掩码定义的所有邻近像素的那些值之间的最大值代替处理之中的像素值一致。
在膨胀和腐蚀阶段,且特别是在膨胀和腐蚀运算的水平和垂直扫描中,执行类似的运算。值得注意的是,在腐蚀阶段,应当注意与跟在膨胀阶段后的顺序相反的顺序(即,例如,在膨胀阶段中首先水平扫描,跟着垂直扫描,然后在腐蚀方阶段中首先垂直扫描,跟着水平扫描),以便避免“绕开(bypass)”边缘。
换句话说,根据本发明的实施例,形态学闭运算被“引导”,即由前景目标的边缘控制。
边缘引导的形态学闭的结果是闭合的前景二进制掩码389,其中先前存在于(滤波后的、完成的)前景二进制掩码388中的小洞和不规则性已经被填充。
与不受前景目标边缘引导的形态学闭运算—即对于处理之中的普通像素,通过取由膨胀/腐蚀掩码指定的所有邻近像素值中的最大值和最小值而执行的形态学闭运算—相比,根据本发明的实施例的边缘引导的形态学闭运算避免改变已经在(滤波后的、完成的)前景二进制掩码388中很好地定义的前景目标轮廓,保留象例如通话头的手指之间的相对小的空间、或头发和颈周围的区域,或袖孔,为了正确分割不得不被认为是属于图像背景的。换句话说,边缘引导的形态学闭运算可以消除或显著减少上述提到的第一种类型的伪像,保留靠近前景目标轮廓的真实的洞,即使是尺寸相对小。
在本发明的替换实施例中,不是利用边缘差值图385,边缘引导的形态学闭模块可以使用边缘图381和383中的一个或二者。
可以理解的是膨胀和腐蚀运算适于GPU的像素处理器执行,因为在膨胀和腐蚀阶段,作为输入所取的值是原始值,不是那些由正在执行的膨胀和各个腐蚀运算所修改的值。于是,膨胀和腐蚀运算可以作为由GPU(的像素处理器)执行的(部分)像素着色器程序实施。特别是,如果对于高斯滤波,膨胀和腐蚀运算可以被分成沿水平和垂直方向执行的两种基本的运算,使得可以减少普通像素所需要的纹理取的数量,例如从2×81=162到2×2×9=36(在9×9膨胀/腐蚀掩码的示例性情形下),减少大约78%的计算复杂度。
然而,应当指出的是,在本发明的替换实施例中,没有什么阻止膨胀和腐蚀运算(边缘引导的或不是边缘引导的)由CPU执行。
在边缘引导的形态学闭运算(可选)之后,前景二进制掩码389被馈送到图像轮廓提取模块360。同样可以向图像轮廓提取模块360提供由边缘减去模块340所产生的边缘差值图385。图像轮廓提取模块360适于估计当前视频帧的普通像素是否属于前景目标轮廓。
通常,在数字图像处理中,认为目标轮廓是由像素形成的。
特别地,仅仅作为例子,图8A示出部分视频帧,其中具有三角形形状的前景目标是存在的;前景三角形的像素被标记为“X”,而背景像素被标记为点“.”。在所考虑的例子中,传统上认为图8B中标记为“C”的像素形成三角形的轮廓。
申请人已经观察到通过跟随被识别为轮廓像素的像素识别图像目标的轮廓可能变得非常困难:可能会遇到不容易解决的极大数量的不明确的情况。例如,考虑图8A或图8B中属于三角形的轮廓的、标记为805的像素。所考虑的像素805与识别为轮廓像素的另外四个像素邻近。假定希望顺时针方向跟着三角形轮廓前进:一旦到达像素805,不可能(除非基于整个三角形的高级观察)确定哪一个将是轮廓扫描中的下一个像素:只要对每个像素周围仅仅进行局部的分析,或者像素807a、或者像素807b、或者像素807c可能是下一个轮廓像素;可以解决这种模糊性,如果不是进行局部像素分析,而是考虑整个目标形状:这会确定下一个轮廓像素是807a。换句话说,为了跟随图像目标的轮廓,一般来说对普通像素周围的局部分析是不够的,相反需要具有对目标的全局了解,在实际的情形中,这是计算强度非常大的且有时甚至是不实际的。
根据本发明的实施例,为了克服上述所显示的问题,申请人已经引入了在两个普通邻近像素之间的边界的概念,使得不考虑像素形成的图像轮廓,而是考虑邻近像素之间的边界形成的图像轮廓。
例如,参照图8C,与考虑由象图8B中标记为“C”的像素形成三角形轮廓相反,认为由标记为“X”的像素周围的(20)水平和垂直线段形成三角形轮廓。再一次考虑像素805,通过这个描述应当理解的是:即使借助于局部分析,关于如何循着三角形轮廓前进不存在模糊性;例如,如果希望循着三角形轮廓顺时针方向前进,可以运用背景(即,标记为“.”的像素)必须保持在左边的传统准则,循着像素边界前进:于是上边的水平边界810从左到右前进,然后右边垂直的边界815从顶向下前进,于是到达下一个像素820的上水平边界等等,直到到达开始像素边界。
每个像素的周围具有四个边界。在本发明的实施例中,给每个像素赋予在所考虑的像素和其邻近像素之间的四个边界中的两个的所有权,例如,上边界和左边界。正如图8D示意性描述的那样,像素a拥有边界αl和au(与邻近像素d和e共享),而像素a和像素c之间的边界是像素c拥有的上边界cu,在像素a和像素b之间的右边界是像素b拥有的左边界bl
对每个像素,可以使用GPU纹理存储下列数据:
-该像素拥有的边界(在本例子中,为左边界和上边界)中的一个或两个是否是前景目标轮廓的一部分。这可以通过像素周围的局部分析,即通过检验位于所考虑像素左边和上面的邻近像素来确定:如果所考虑的像素和邻近像素是同一类型(都是背景像素或前景像素),相关的像素边界不是前景目标轮廓的一部分;相反,如果上面的邻近像素和/或左边的邻近像素与所考虑的像素相比是不同的类型(即,一个属于背景,另一个属于前景),则相关的像素边界是前景目标轮廓的一部分。例如,考虑图8C中的标记为825的像素,像素825拥有的两个边界是三角形轮廓的一部分,这是因为像素830和835属于背景,而像素825属于前景;相反,考虑像素840,只有左边的边界是三角形轮廓的一部分,因为左边的邻近像素850是背景的一部分,而上面的邻近像素845如像素840一样是前景的一部分;
-如果所考虑的像素拥有的边界中的一个或二者是前景目标轮廓的一部分,沿像素边界行进时要遵循的方向;例如假定按照惯例图像轮廓必须沿顺时针方向行进,如果该像素属于前景,左边界向上行进,而上边界要从左向右行进,对于属于背景的像素,反之亦然。
作为存储该方向的替换(或可能,除此之外),如果像素的边界属于前景目标轮廓,有可能确定适于描述轮廓继续之处(即在哪个像素边界处)的信息并将其与那个像素相关联地存储在纹理中。例如,考虑图9A的情况,其中A、B、C、D、F、G、H和I是普通像素E的邻近像素;假定像素E的上边界属于前景目标的轮廓(如图9A中像素E上面的“-”所示)。从此处,轮廓可能继续到图9A中用1、2、3、4、5或6表示的位置中的一个。类似地,参照图9B,假定像素E的左边界属于轮廓(如图9B中像素E左边上的“-”所示):从此处,轮廓可以继续到图9B中的1、2、3、4、5或6表示的位置中的一个。可以理解的是在图中标记为I的像素属于前景或背景(即,前景二进制掩码389中的像素值是“1”或“0”)不影响像素E之后轮廓在哪儿继续的确定。于是,对每个普通像素,确定轮廓可能在哪里继续只需用考虑8个像素;因为8个像素中的每个像素可能取等于“1”或“0”的值,总共存在256种可能的组合。于是,根据本发明的实施例,可以设计像素着色器程序,使得用具有256个位置的查找1D纹理,在图9C中示意性地用910表示,对每个像素,像素着色器程序生成两个值,每一值的范围从0到6,适于为那个像素所拥有的两个边界中的每一个,确定边界是否属于前景目标轮廓,且在肯定的情形下,确定轮廓在哪里继续。特别是,可以保留0值用于识别不属于轮廓的像素边界。例如,再次考虑图9C中的像素825,与背景和前景像素的具体布局相对应的各个值是{0000101}(必须提醒的是不考虑图9C中正方形的较低的右端的前景像素),它意义明确地与1D纹理910中的位置915相对应,其中值对(3,3)被存储:第一值与左边的像素边界相关,而第二值与上边界相关(见图9A和9B)。换句话说,与二进制编码数对应的值表示在位置E的普通当前像素周围的普通图像区域中的位置A、B、C、D、E、F、G、H中前景/背景像素的布局,该值被用作为访问1D查找纹理910的访问密钥。对普通像素,值对定义了左边和上面的边界是否是前景目标轮廓的一部分,且在肯定的情形中,在输出纹理393中存储轮廓在哪里继续。
对于位于视频帧边缘的像素,邻近像素的图案中丢失的像素缺省地被认为是背景像素。为了能够考虑属于最右边视频帧列的像素的右边界以及属于底部视频帧行的像素的底边界,可以生成输出纹理393以便与放大的视频帧相对应,其包含右边的视频帧边缘的附加的像素列和底部视频帧边缘的附加的像素行(附加的行和附加的列都包含背景像素)。
回到图3,在本发明的优选实施例中,轮廓提取模块360适于利用包含在边缘差值图385中的信息以验证当前像素(或其邻近像素)是否属于前景边缘,例如,导出有关是否朝向前景目标内部部分(即远离背景移动)、远离所考虑的像素(相对少的像素)移动中遇到边缘差值图385中的高值(高的绝对差值,或高的正差值)的信息。对于每个像素,在输出纹理393中优选地存储这样的表示以便用于场景分析模块365所执行的场景分析阶段。
然后,轮廓提取模块360中的输出纹理393从GPU中被转移到CPU用于最终的运算,它以顺序形式实现并因此不适于由GPU的像素处理器执行。应当指出的是虽然让GPU执行轮廓提取运算是有利的,但是在本发明的替换实施例中,没有什么阻止由CPU执行这个运算。
特别是,场景分析模块365适于使用轮廓提取模块360的结果以沿前景目标的轮廓行进,因此确定和存储属于前景目标轮廓的像素的有序列表。场景分析模块365也可以在所确定的轮廓之间,即在前视频帧的不同区域之间,建立分层关系。
特别是,一旦前景目标的轮廓的像素已经被识别出来并放在有序列表中,则完全确定被轮廓围绕的图像区域。对这个区域,有可能执行例如象计算表面积、或其“包围盒(bounding box)”,即围起的正方形或矩形这样的高级处理,以便评估图像带(zone)是否宽到要被考虑或是否可能忽视它。可替换地,或与之结合,能够填补其内包含其它前景目标区域的、所确定的前景目标区域中的洞。可替换地,或与之结合,可以丢弃没有触及视频帧边缘的孤立的前景区域(通话头通常没有分离的部分,且至少触及视频帧的底部边缘)。
根据本发明的实施例,源于边缘引导的形态学闭运算的闭合前景二进制掩码389和形成前景目标轮廓的像素有序列表,与当前视频帧305一起例如遵照MPEG标准,被馈送到编码器模块370。根据本发明的实施例,编码器模块370实现前景掩码校正,其适于考虑由像素的有序列表传递的前景目标轮廓,校正闭合的前景二进制掩码389,其中所述像素形成由场景分析模块365提供的前景目标的轮廓。编码器模块370生成与当前视频帧305的分割前景相对应的MPEG传输流397,并将其馈送给发射机模块375,以通过NIA/MODEM250向远端接收机传输。
借助于图4中的简化流程图,现在将描述根据本发明实施例的方法。
由视频摄像机捕获的构成视频流的视频帧被馈送到GPU(方框405)中。
初步地,从视频序列开始,提供了背景学习阶段,如前所详细描述的那样,其中获得背景的统计模型。请求通话头离开场景一会儿,并捕获足够多数量的视频帧(例如,100);例如最初以RGB格式的每个视频帧被转换成HSV格式(方框415),然后计算三个坐标H、S和V的每一个的均值和方差(方框420);特别是,如前所讨论的那样,为了计算H(角)坐标的均值和方差,采用前述的平均方法。重复这些运算,即背景学习阶段一直持续到已经获得规定数量的背景样本(判定方框425)为止。
图10A是示出在背景学习阶段之后获得的背景统计模型的例子的屏幕捕获(所呈现的屏幕捕获是黑白的,主要是为了服从专利文件的规定,尽管最初它们也许是彩色的)
通话头现在可以进入场景中。
构成由视频摄像机捕获的视频流的视频帧被重复地馈送到GPU中(方框405),并从RGB空间转换到HSV空间(方框430)。图10B是示例性当前视频帧的屏幕捕获。
借助于前述的背景减去过程,建立近似的前景二进制掩码380,它涉及针对每个像素,将当前视频帧的坐标H、S、V的值与背景学习阶段中计算出的均值进行比较,并基于所述比较赋予普通像素值“1”或“0”(方框435)。特别是,如前所述,计算当前视频帧中的坐标H、S、和V与所对应的均值之差的绝对值,并与各个坐标的标准偏差(或与其成比例的值)进行比较,并对三个坐标上的测试的结果进行组合,例如,OR组合或AND组合在一起,以便确定赋予像素的值是“1”(可假定为属于前景的像素)还是“0”(可假定为属于背景的像素)。图10C是通过利用近似前景二进制掩码380所得出的分割的屏幕捕获:在通话头区域中的几个“洞”是可见的。
然后计算当前视频帧的每个像素和背景统计模型的每个像素的亮度值(方框440)。
如前所述,将高通滤波,例如,Sobel算子,应用于像素亮度上,然后检测当前视频帧和背景统计模型中的边缘(方框445)。图10D是示出当前视频帧的边缘图的屏幕捕获。
然后从当前视频帧的边缘减去背景统计模型中的边缘(450),并建立边缘差值图385,如前所述;利用包含在边缘差值图中的信息,完成先前建立的近似前景二进制掩码(方框455)以获得完成的前景二进制掩码387。图10E是完成的前景二进制掩码的屏幕捕获。
然后将完成的前景二进制掩码387传递给低通(例如,高斯)滤波(方框460),以获得滤波后的完成的前景二进制掩码388(图10F是图10E的掩码在滤波后的屏幕捕获),然后利用包含在边缘差值图中的用于确定哪些像素属于前景目标的边缘的信息,来执行掩码的边缘引导的形态学闭运算(方框465)。图10G示出在边缘引导的形态学闭运算之后的图10F的掩码。
接着进行轮廓提取运算(方框470),适于针对每个像素确定和存储关于像素所拥有的两个边界中的一个或两个属于轮廓,且在肯定的情形中,轮廓在哪里继续的事实的信息。该运算完成由GPU的像素处理器所执行的系列运算。
然后将数据传到CPU,为了确定和存储属于前景目标轮廓的像素的有序列表,基于从GPU接收的信息,CPU进行场景分析。
对下一个之后的视频序列帧重复进行这个过程(判定方框480)。
在本发明的实施例中,场景分析模块365(见图3)中用于不同图像带的识别和各个轮廓的存储的过程包括只对当前视频帧以光栅顺序进行一次扫描,并因此相对快和友好地高速缓存。在下文中将描述算法的可能实施例。
考虑普通的当前视频帧,输出纹理393被逐线地光栅扫描,例如从最上面的线的最左边的像素开始。
对于当前视频帧的每条线,和对于所考虑线的每个像素,确知考虑之中的像素的左边界是否属于先前没有遇到的轮廓。
如果遇到过,沿轮廓而行直到它形成闭环为止,即直到它返回到轮廓中第一个遇到的像素为止,且适当地标记所有属于轮廓的像素。
特别是,对于每个像素,为像素的左边界所属的轮廓和像素的上边界所属的轮廓分别定义了两个轮廓标识符IDleft和IDup。
在视频帧光栅扫描的开始,对所有的像素将两个轮廓识别符IDleft和IDup置为0;0表明还没有探测轮廓(或像素的边界不属于任何轮廓)。
同样,使用变量last-counter(最终轮廓),其值用来定义轮廓标识符;这样的变量最初被置为0,每次遇到新的轮廓就增加1。
进一步使用了border-type(边界类型)变量,其值用于定义属于轮廓的像素边界是左边界还是上边界。
也可以使用另一个变量contour-length(轮廓长度),其值定义了轮廓的长度(即,像素边界的个数)。
在光栅扫描期间,对考虑之中的普通像素,确定其左边界是否属于前景目标轮廓,这意味着在输出纹理393中具有不同于0的值作为与该像素相关的一对值中的第一值。
当遇到这样的像素时,对该像素确定它是否满足IDleft=0:在肯定的情形下,已经遇到了新的轮廓:变量last-counter的值增加1,变量border-type的值设置为左,且变量contour-length的值设置为0。然后重复下面的运算,直到整个轮廓已经服从:
-对于所考虑的像素,与变量border-type的值相对应的在标识符IDleft和IDup之间的一个标识符设置为等于变量last-counter的值;
-利用包含在输出纹理393中的信息,确定轮廓是否以左边的像素边界继续还是以上面的像素边界继续;例如,参照图9C,当遇到像素825时,从关于其的存储的值(3;3)中,有可能确定像素左边界属于的轮廓以同一像素的上边界继续;
-将存储在输出纹理393中的关于该像素的值用于确定移动到轮廓继续的下一个像素要应用的图像行和/或列增量;
-变量contour-length增加1。
例如,再一次考虑图9C中的像素825,在其左边界遇到轮廓之后,下一重复再次涉及像素825(在这种情形中行和列增量都为0),并且具体地说,其上边界;像素825的标识符IDup设置为与变量last-counter的值相同,因此断言像素825的上边界属于与其左边界相同的轮廓,确定下一个像素的位置(即,图8A中的像素805),变量contour-length增加1等等。
重复进行这些运算,直到像素坐标(行和列)与那个轮廓的所遇到的第一像素的所保存坐标重合为止。
相反,当在光栅扫描期间,遇到其左边界属于前景目标轮廓但标识符IDleft的值不为0的像素,与由像素的标识符IDleft的值标识的轮廓相关且当轮廓第一次被标识时最初设置为“假”的变量inside(内)的值,被设置为它先前值的否,以便表示处理之中的该像素在处理之中的像素的标识符IDleft的值所标识的轮廓之内。
图10H示出分割过程的结果:原始的背景已经用不同的背景代替了,在这种情形中,是用单色背景代替原始的背景。结果相对整洁且没有明显的伪像。
例如借助于适当的软件可以相当容易地实现本发明。然而,用软件实现并不意味着对本发明的限制,本发明也能够完全用硬件实现,或用软件和硬件混合实现。
尽管已经通过某些实施例公开和描述了本发明,对于本领域的技术人员而言显而易见的是:在不违背所附权利要求所限定的范围的情况下,对本发明的所述实施例以及其它实施例进行几种修改是可能的。
例如,代替生成二进制掩码或除生成二进制掩码之外,即二进制掩码是其中当视频帧的像素属于前景时每个像素用“1”表征,或者当像素属于背景时用“0”表征的掩码,能够生成“alpha”掩码,其中每个像素用范围连续的值表征,或取在两个端点,例如0和1,之内的离散值的集合中的一个;等于两个端点中的一个的值意味着,如在二进制掩码的情形中一样,像素或者属于背景或者属于前景;两个端点之间的中间值表示像素被识别为属于前景和背景之间的边界(例如,头发,其使得通话头的轮廓不尖锐),其中优选的是过渡是平滑的而不是突然的。
同样,正如前面已指出的那样,尽管在优选发明的实施例中,GPU有利地用于执行分割算法中涉及的大部分运算,在替换实施例中,没有什么阻止已经描述为由GPU执行的一个或多个运算由CPU代替执行。
此外,不是利用HSV转换,可以使用不同的彩色空间(例如象HSI、YUV等等)。
而且,尽管前面已经始终参考了由视频摄像机实时捕获的视频帧序列,但这并不认为是对本发明的限制。事实上,待被分割的视频序列可以是已经存在的视频序列,例如,存储于数据处理设备存储器中的视频序列。

Claims (58)

1.一种图像处理方法,包括:
-提供数据处理设备,所述数据处理设备包括中央处理单元和图形处理单元;
-在所述数据处理设备处接收视频序列中的至少一个视频帧,所述至少一个视频帧包括至少一个前景目标和背景;
-在所述数据处理设备中处理所述至少一个视频帧,以便将所述至少一个前景目标与所述背景分离;
其中至少部分地由所述图形处理单元执行所述处理。
2.如权利要求1的方法,其中所述图形处理单元包括多个处理器。
3.如权利要求1或2的方法,其中所述图形处理单元支持像素着色。
4.如权利要求1至3中任一个的方法,其中所述处理包括获得所述背景的参考图像。
5.如权利要求4的方法,其中所述获得所述背景的参考图像包含:
基于多个不包含所述至少一个前景目标的视频帧,获得背景统计模型。
6.如权利要求5的方法,其中所述获得背景统计模型包括:
-提供在包含描述像素特性的角坐标的彩色空间中对所述多个视频帧的描述;
-计算所述多个视频帧的每个像素的角坐标的均值。
7.如权利要求6的方法,其中所述计算所述多个视频帧的每个像素的角坐标的均值包括:
-根据所述多个视频帧的每个像素的角坐标,确定位于第一和各个第二方向上的各自的第一和第二导出线性坐标对;
-计算所述第一和第二导出线性坐标的均值;以及
-基于第一导出线性坐标的均值和第二导出线性坐标的均值,计算角坐标的均值。
8.如权利要求6的方法,其中所述获得背景统计模型包括:
-计算所述多个视频帧的每个像素的角坐标的方差。
9.如权利要求8的方法,其中所述计算角坐标的方差包括:
-将所述第一和第二导出线性坐标的每一对与单位模的复数相关联;
-计算模|ZN|2作为第一和第二导出线性坐标的均值的平方的组合。
10.如权利要求9的方法,其中所述计算角坐标的方差包括:
应用下列公式:
&Sigma; N 2 = N N - 1 ( 1 - | Z &OverBar; N | 2 ) .
11.如权利要求10的方法,进一步包括:
计算角坐标的标准偏差作为所述方差的均方根。
12.如权利要求7至11中任一个的方法,包括:
在接收到视频帧时,针对每个像素,在存储区域中存储为所述多个视频帧中的每一个视频帧获得的第一和第二导出线性坐标的累积总计。
13.如权利要求6至12中任一个的方法,其中所述角坐标描述像素的色调。
14.如权利要求6至13中任一个的方法,其中所述提供在包含角坐标的彩色空间中对所述多个捕获的视频帧的描述包括:
将角坐标与描述像素的其它属性的第一和第二相关坐标相关联。
15.如权利要求6至14中任一个的方法,其中所述彩色空间是HSV彩色空间。
16.如权利要求14或15的方法,其中所述获得背景统计模型进一步包括:
计算所述多个视频帧的像素的第一和第二相关坐标的均值。
17.如权利要求14至16中任一个的方法,其中所述获得背景统计模型包括:
计算所述多个视频帧的像素的第一和第二相关坐标的方差。
18.如权利要求14至17中任一个的方法,包括:在接收到视频帧时,针对每个像素,在存储区域中存储为所述多个视频帧中的每一个所获得的第一和第二相关坐标的值的累积总计。
19.如权利要求12或18的方法,其中所述存储累积总计包括:
对于从包括第一和第二导出线性坐标和第一和第二相关坐标的组中选择的一个或多个坐标:
a)提供第一图形处理单元纹理和第二图形处理单元纹理,其适于为每个像素存储与所述多个视频帧的像素的一个或多个坐标的累积总计相对应的值;
b)将至少所述第一纹理的值初始化为预定的初始值;
c)获得所述多个普通视频帧的每个像素的至少一个坐标的值;
d)将第一图形处理单元纹理作为输入馈送给图形处理单元;
e)使图形处理单元将每个像素的存储在第一纹理中的相应值与所述多个普通视频帧的每个像素的一个或多个坐标的值相加;
f)使图形处理单元将相加的结果存储到第二纹理中。
20.如权利要求19的方法,进一步包括:
g)在第一纹理和第二纹理之间交换输入纹理和输出纹理的角色;以及
h)对所有所述多个视频帧重复步骤c)至g)。
21.如权利要求4至20中任一个的方法,其中所述处理包括:
将所述至少一个视频帧与背景的所述参考图像进行比较。
22.如从属于权利要求14的权利要求21的方法,其中所述比较包括:
-对于至少一个视频帧的每个像素,将角坐标和第一和第二相关坐标之中的至少一个与背景的所述参考图像中的相应坐标值进行比较。
23.如权利要求22的方法,其中所述比较角坐标和第一和第二相关坐标之中的至少一个包括:
-为所述角坐标、第一和第二相关坐标中的至少一个,计算关于至少一个视频帧的坐标的值和关于背景的参考图像的所述坐标的值之差的绝对值;
-将计算出的绝对差值与预定阈值进行比较。
24.如从属于权利要求10、11或17的权利要求23的方法,其中所述预定阈值是与方差有关的或与背景统计模型中的坐标的标准偏差有关的值。
25.如权利要求21至24中任一个的方法,其中所述将所述至少一个视频帧与背景的所述参考图像进行比较包括:
获得作为所述比较的结果的前景掩码,所述前景掩码为至少一个视频帧的每个像素指定指示像素属于至少一个前景目标的事实的第一像素状态和指示像素属于背景的事实的第二像素状态。
26.如从属于权利要求23的权利要求25的方法,其中所述获得前景掩码包含:
-组合所述为角坐标和第一和第二相关坐标比较计算出的绝对差值与预定阈值的结果;以及
-通过基于所述组合来确定像素状态,获得近似的前景掩码。
27.如权利要求25或26的方法,其中所述获得前景掩码进一步包含:
-至少部分地确定所述至少一个视频帧中的所述至少一个前景目标的边缘;以及
-基于所确定的前景目标边缘修改像素掩码。
28.如权利要求27的方法,其中所述至少部分地确定所述至少一个视频帧中的所述至少一个前景目标的边缘包括:
-确定至少一个视频帧中的边缘;
-确定参考图像中的边缘;
-将至少一个视频帧的所确定的边缘与参考图像的所确定的边缘进行比较。
29.如权利要求28的方法,其中所述至少部分地确定所述至少一个视频帧中的所述至少一个前景目标的边缘包括:
识别属于至少一个视频帧中的所确定的边缘且不属于参考图像中的所确定的边缘的视频帧的像素。
30.如权利要求28或29的方法,其中所述至少部分地确定所述至少一个视频帧中的所述至少一个前景目标的边缘包括:
识别属于参考图像中的所确定的边缘且不属于至少一个视频帧中的所确定的边缘的视频帧的像素。
31.如权利要求29或30的方法,其中所述修改像素掩码包括:
将识别出的像素添加到前景掩码中。
32.如权利要求27至31中任一个的方法,其中所述确定至少一个视频帧中的边缘,或分别确定参考图像中的边缘包括:
-对所述至少一个视频帧或分别对参考图像进行高通滤波。
33.如权利要求32的方法,其中所述对所述至少一个视频帧或分别对所述参考图像进行高通滤波包括:
-计算关于至少一个视频帧的像素的亮度值,或分别计算关于参考图像的像素的亮度值;以及
-将至少一个梯度算子应用到至少一个视频帧中的、或分别在参考图像中的计算出的像素的亮度值,从而获得像素的亮度梯度值。
34.如权利要求33的方法,其中所述将至少一个梯度算子应用到计算出的像素的亮度值包括:
-应用用于获得亮度梯度沿第一预定方向的第一分量的值的第一梯度算子;
-应用用于获得亮度梯度沿第二预定方向的第二分量的值的第二梯度算子;
-通过将亮度梯度的第一分量和第二分量的值进行组合来获得亮度梯度值。
35.如权利要求34的方法,其中所述应用用于获得亮度梯度沿第一预定方向的第一或第二分量的值的第一或第二梯度算子包括:
-为图形处理单元提供第一输入纹理,第一输入纹理包含至少一个视频帧的每个像素,或分别包含背景的参考图像的每个像素的像素亮度值;
-为图形处理单元提供第二输入纹理,第二输入纹理包含第一梯度算子系数掩码或分别地包含第二梯度算子系数掩码;
-使图形处理单元针对每个像素基于梯度算子系数计算所考虑的像素的邻近像素的亮度值的加权和;以及
-使图形处理单元在第一输出纹理或分别在第二输出纹理中存储结果。
36.如权利要求33至35中任一个的方法,进一步包括:
-通过从至少一个视频帧中的像素的亮度梯度值中减去参考图像中对应像素的亮度梯度值,获得亮度梯度差值。
37.如权利要求36的方法,其中所述修改像素掩码包括:
如果亮度梯度差的绝对值超过预定阈值,则将像素分配给像素掩码中的前景目标。
38.如权利要求33至37中任一个的方法,其中所述至少一个梯度算子包括Sobel算子。
39.如权利要求27至38中任一个的方法,其中所述获得前景掩码进一步包括:对修改后的像素掩码进行低通滤波。
40.如权利要求39的方法,其中所述低通滤波包括应用高斯滤波。
41.如权利要求40的方法,其中所述应用高斯滤波包括:
-计算修改后的像素掩码的值沿第一预定加权和方向的第一加权和;
-计算在所述计算第一加权和之后获得的像素掩码的值的第二加权和,所述第二加权和是沿第二预定加权和方向计算的。
42.如权利要求41的方法,其中所述计算第一加权和包括:
-为图形处理单元提供第一输入纹理,所述第一输入纹理包含修改后的像素掩码;
-为图形处理单元提供包含与所述第一加权和方向相关的第一滤波系数掩码的第二输入纹理;
-使图形处理单元针对每个像素基于第一滤波系数计算在修改后的像素掩码中所考虑的像素的邻近像素的值的加权和;以及
-使图形处理单元将结果存储在第一输出纹理中。
43.如权利要求42的方法,其中所述计算第二加权和包括:
-将第一输出纹理作为第三输入纹理馈送给图形处理单元;
-为图形处理单元提供包含与所述第二加权和方向相关的第二滤波系数掩码的第四输入纹理;
-使图形处理单元针对每个像素基于第二滤波系数计算在第一输出纹理中所考虑的像素的邻近像素的值的加权和;以及
-使图形处理单元将结果存储在第二输出纹理中。
44.如权利要求27至43中任一个的方法,其中所述获得前景掩码进一步包括:
将形态学闭运算应用到修改后的像素掩码,其中应用形态学闭运算包括:对于所述修改后的像素掩码的每个像素,将修改后的像素掩码中的像素值调节到邻近像素的值。
45.如权利要求44的方法,其中所述应用形态学闭运算包含:
对于处理之中的普通像素,基于所述至少一个视频帧中的所述至少一个前景目标的所确定的边缘,确定邻近像素。
46.如权利要求45的方法,其中所述基于所述至少一个视频帧中的所述至少一个前景目标的所确定的边缘,确定处理之中的普通像素的邻近像素包含:
-预先确定至少一个方向上的邻近像素的最大数目;
-从处理之中的像素开始,并在至少一个方向远离该像素移动,交替地取遇到的像素作为邻近像素,直到:
a)发现属于至少一个前景目标的边缘的至少一个像素;或
b)达到邻近像素的所述最大数目。
47.如权利要求46的方法,其中所述应用形态学闭运算包括:使修改后的像素掩码膨胀,其中所述膨胀包含:如果所确定的邻近像素中的至少一个属于前景目标,将处理之中的普通像素分配给前景目标。
48.如权利要求47的方法,其中所述应用形态学闭运算进一步包括:在所述膨胀之后腐蚀修改后的像素掩码,其中所述腐蚀包括:如果膨胀后的像素掩码中所确定的邻近像素中的至少一个属于背景,将处理之中的普通像素分配给背景。
49.如权利要求48的方法,其中所述膨胀包括:
-考虑到沿第一方向邻近处理之中的像素的像素,沿预定第一方向执行第一膨胀运算;
-考虑到沿第二方向邻近处理之中的像素的像素,沿预定第二方向执行第二膨胀运算。
50.如权利要求49的方法,其中所述腐蚀包括:
-考虑到沿第二方向邻近处理之中的像素的像素,沿第二方向执行第一腐蚀运算;
-考虑到沿第一方向邻近处理之中的像素的像素,沿第一方向执行第二腐蚀运算。
51.如权利要求27至50中任一个的方法,其中所述获得前景掩码进一步包括:
-确定至少一个前景目标的轮廓,其中所述确定轮廓包括:针对像素掩码中的每个像素,提供指示在所考虑的像素和与其邻近的像素之间的至少一个像素边界是否属于至少一个前景目标的轮廓的数据。
52.如权利要求51的方法,其中所述轮廓的确定进一步包括:
-将像素与第一值或第二值相关联,其中所述第一值和第二值分别适于指示像素边界是否属于至少一个前景目标的轮廓。
53.如权利要求52的方法,其中:
-如果在像素掩码中,所考虑的像素和各个邻近像素中的一个属于前景目标而另一个属于背景,则给至少一个像素边界分配第一值;
-如果在像素掩码中,所考虑的像素和各个邻近像素都属于前景目标或背景,则给至少一个像素边界分配第二值。
54.如权利要求51至53中任一个的方法,其中所述轮廓的确定进一步包括,为至少一个视频帧中的每个像素:
-将至少一个像素边界与表示给出了预定的轮廓跟踪方向,前景目标轮廓在哪个像素继续的信息相关联。
55.如权利要求54的方法,其中将信息与至少一个像素边界相关联包括:
-定义适于识别至少一个视频帧的普通像素的邻近像素的邻近像素图案;
-定义查找表,查找表具有一定数目的条目,所述数目等于在与所述邻近像素图案的像素相等的像素的预定数目中、像素属于至少一个前景目标或背景的不同分布的可能数目;
-将处理之中的像素与所述邻近像素图案相对应的邻近像素的分布与所述查找表中的条目进行比较;
-基于所述比较的匹配,将所述信息与至少一个像素相关联。
56.如权利要求51至55中任一个的方法,进一步包括:
-将具有被识别为属于像素掩码的至少一个前景目标的轮廓的边界的至少每个像素与如下信息相关联,所述信息是关于像素是否属于视频帧中的前景目标的所确定的边缘、或在预定数目的邻近像素存储器在是否视频帧中的所述至少一个前景目标的边缘的信息。
57.如权利要求1至56中任一个的方法,其中数据处理设备包括视频电话。
58.如权利要求1至56中任一个的方法,其中数据处理设备包括视频会议设备。
CNA2005800525545A 2005-12-30 2005-12-30 视频序列的分割 Pending CN101371273A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2005/057224 WO2007076890A1 (en) 2005-12-30 2005-12-30 Segmentation of video sequences

Publications (1)

Publication Number Publication Date
CN101371273A true CN101371273A (zh) 2009-02-18

Family

ID=36950793

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800525545A Pending CN101371273A (zh) 2005-12-30 2005-12-30 视频序列的分割

Country Status (4)

Country Link
US (1) US20090028432A1 (zh)
EP (1) EP1969561A1 (zh)
CN (1) CN101371273A (zh)
WO (1) WO2007076890A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015089944A1 (zh) * 2013-12-20 2015-06-25 中兴通讯股份有限公司 一种处理视频会议画面的方法、装置及会议终端
CN107103619A (zh) * 2017-04-19 2017-08-29 腾讯科技(上海)有限公司 一种头发纹理方向的处理方法、装置及系统
CN107301669A (zh) * 2016-04-14 2017-10-27 北京大学 视频图像的处理方法及处理装置
CN108471500A (zh) * 2009-10-16 2018-08-31 奥林巴斯株式会社 摄影装置、摄影方法和存储介质
CN109255796A (zh) * 2018-09-07 2019-01-22 浙江大丰实业股份有限公司 舞台设备安全解析平台
CN110856033A (zh) * 2019-12-05 2020-02-28 米哈游科技(上海)有限公司 一种对象显示方法、装置、终端及存储介质
CN111064945A (zh) * 2019-12-26 2020-04-24 和信光场(深圳)科技有限公司 一种裸眼3d图像采集及生成方法
CN111539993A (zh) * 2020-04-13 2020-08-14 中国人民解放军军事科学院国防科技创新研究院 基于分割的空间目标视觉跟踪方法
CN112164077A (zh) * 2020-09-25 2021-01-01 陕西师范大学 基于自下而上路径增强的细胞实例分割方法
CN112753225A (zh) * 2018-05-18 2021-05-04 图兹公司 用于嵌入信息卡定位和内容提取的视频处理

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1969562B1 (en) 2005-12-30 2016-11-09 Telecom Italia S.p.A. Edge-guided morphological closing in segmentation of video sequences
WO2007076892A1 (en) 2005-12-30 2007-07-12 Telecom Italia S.P.A. Edge comparison in segmentation of video sequences
WO2007076894A1 (en) 2005-12-30 2007-07-12 Telecom Italia S.P.A. Contour finding in segmentation of video sequences
US8072472B2 (en) * 2006-06-26 2011-12-06 Agfa Healthcare Inc. System and method for scaling overlay images
WO2008136933A1 (en) 2007-05-07 2008-11-13 Thomson Licensing Method and apparatus for processing video sequences
KR101023207B1 (ko) * 2007-09-05 2011-03-18 한국전자통신연구원 영상 객체 추출 장치 및 그 방법
CN101477692B (zh) * 2009-02-13 2012-08-22 阿里巴巴集团控股有限公司 图像特征提取方法及装置
US8717317B2 (en) * 2010-02-22 2014-05-06 Canon Kabushiki Kaisha Display control device and method for controlling display on touch panel, and storage medium
KR101251793B1 (ko) * 2010-11-26 2013-04-08 현대자동차주식회사 차량내 운전자 실제 얼굴 인증 방법
WO2012094750A1 (en) * 2011-01-14 2012-07-19 Ebrisk Video Inc. Adaptive loop filtering using multiple filter shapes
JP2012217137A (ja) * 2011-03-31 2012-11-08 Sony Corp 画像処理装置、画像処理方法、画像処理プログラム
US20130301918A1 (en) * 2012-05-08 2013-11-14 Videostir Ltd. System, platform, application and method for automated video foreground and/or background replacement
US9070211B1 (en) * 2012-10-18 2015-06-30 Google Inc. Webview tag for a sandboxed multiprocess browser
US9014543B1 (en) 2012-10-23 2015-04-21 Google Inc. Methods and systems configured for processing video frames into animation
US9519975B2 (en) * 2014-01-08 2016-12-13 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method of detecting edge under non-uniform lighting background
WO2016069902A2 (en) * 2014-10-29 2016-05-06 Behavioral Recognition Systems, Inc. Background foreground model with dynamic absorbtion window and incremental update for background model thresholds
US9471844B2 (en) 2014-10-29 2016-10-18 Behavioral Recognition Systems, Inc. Dynamic absorption window for foreground background detector
US9460522B2 (en) 2014-10-29 2016-10-04 Behavioral Recognition Systems, Inc. Incremental update for background model thresholds
US10133927B2 (en) * 2014-11-14 2018-11-20 Sony Corporation Method and system for processing video content
CN106815854B (zh) * 2016-12-30 2020-05-15 西安交通大学 一种基于正则误差建模的在线视频前景背景分离方法
CN106875369B (zh) * 2017-03-28 2020-01-03 深圳市石代科技有限公司 实时动态目标跟踪方法及装置
JP7129843B2 (ja) 2018-08-01 2022-09-02 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、システム、及び、プログラム
US11481881B2 (en) * 2019-07-11 2022-10-25 Arizona Board Of Regents On Behalf Of Arizona State University Adaptive video subsampling for energy efficient object detection
JP7412947B2 (ja) 2019-10-01 2024-01-15 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US11069036B1 (en) 2020-01-03 2021-07-20 GE Precision Healthcare LLC Method and system for real-time and offline de-identification of facial regions from regular and occluded color video streams obtained during diagnostic medical procedures
CN111783524B (zh) * 2020-05-19 2023-10-17 普联国际有限公司 一种场景变换检测方法、装置、存储介质及终端设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214718A (en) * 1986-10-06 1993-05-25 Ampex Systems Corporation Scan-in polygonal extraction of video images
US6668097B1 (en) * 1998-09-10 2003-12-23 Wisconsin Alumni Research Foundation Method and apparatus for the reduction of artifact in decompressed images using morphological post-filtering
GB2358098A (en) * 2000-01-06 2001-07-11 Sharp Kk Method of segmenting a pixelled image
US6625310B2 (en) 2001-03-23 2003-09-23 Diamondback Vision, Inc. Video segmentation using statistical pixel modeling
US7203356B2 (en) * 2002-04-11 2007-04-10 Canesta, Inc. Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications
US20040032906A1 (en) * 2002-08-19 2004-02-19 Lillig Thomas M. Foreground segmentation for digital video
US7697756B2 (en) * 2004-04-09 2010-04-13 Siemens Medical Solutions Usa, Inc. GPU accelerated multi-label image segmentation (MLS)
EP1969562B1 (en) * 2005-12-30 2016-11-09 Telecom Italia S.p.A. Edge-guided morphological closing in segmentation of video sequences
WO2007076894A1 (en) * 2005-12-30 2007-07-12 Telecom Italia S.P.A. Contour finding in segmentation of video sequences
US7961945B2 (en) * 2007-02-13 2011-06-14 Technische Universität München System and method for on-the-fly segmentations for image deformations
US8164617B2 (en) * 2009-03-25 2012-04-24 Cisco Technology, Inc. Combining views of a plurality of cameras for a video conferencing endpoint with a display wall

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108471500A (zh) * 2009-10-16 2018-08-31 奥林巴斯株式会社 摄影装置、摄影方法和存储介质
WO2015089944A1 (zh) * 2013-12-20 2015-06-25 中兴通讯股份有限公司 一种处理视频会议画面的方法、装置及会议终端
CN107301669A (zh) * 2016-04-14 2017-10-27 北京大学 视频图像的处理方法及处理装置
CN107301669B (zh) * 2016-04-14 2020-07-14 北京大学 视频图像的处理方法及处理装置
CN107103619A (zh) * 2017-04-19 2017-08-29 腾讯科技(上海)有限公司 一种头发纹理方向的处理方法、装置及系统
CN107103619B (zh) * 2017-04-19 2022-03-08 腾讯科技(上海)有限公司 一种头发纹理方向的处理方法、装置及系统
CN112753225A (zh) * 2018-05-18 2021-05-04 图兹公司 用于嵌入信息卡定位和内容提取的视频处理
CN112753225B (zh) * 2018-05-18 2024-04-16 斯特兹有限责任公司 用于嵌入信息卡定位和内容提取的视频处理
CN109255796A (zh) * 2018-09-07 2019-01-22 浙江大丰实业股份有限公司 舞台设备安全解析平台
CN109255796B (zh) * 2018-09-07 2022-01-28 浙江大丰实业股份有限公司 舞台设备安全解析平台
CN110856033B (zh) * 2019-12-05 2021-12-10 米哈游科技(上海)有限公司 一种对象显示方法、装置、终端及存储介质
CN110856033A (zh) * 2019-12-05 2020-02-28 米哈游科技(上海)有限公司 一种对象显示方法、装置、终端及存储介质
CN111064945B (zh) * 2019-12-26 2021-07-16 和信光场(深圳)科技有限公司 一种裸眼3d图像采集及生成方法
CN111064945A (zh) * 2019-12-26 2020-04-24 和信光场(深圳)科技有限公司 一种裸眼3d图像采集及生成方法
CN111539993A (zh) * 2020-04-13 2020-08-14 中国人民解放军军事科学院国防科技创新研究院 基于分割的空间目标视觉跟踪方法
CN112164077A (zh) * 2020-09-25 2021-01-01 陕西师范大学 基于自下而上路径增强的细胞实例分割方法
CN112164077B (zh) * 2020-09-25 2023-12-29 陕西师范大学 基于自下而上路径增强的细胞实例分割方法

Also Published As

Publication number Publication date
US20090028432A1 (en) 2009-01-29
EP1969561A1 (en) 2008-09-17
WO2007076890A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
CN101371274B (zh) 视频序列的分割中的边缘比较
CN101371273A (zh) 视频序列的分割
EP1969559B1 (en) Contour finding in segmentation of video sequences
US8126268B2 (en) Edge-guided morphological closing in segmentation of video sequences
WO2021208275A1 (zh) 一种交通视频背景建模方法及系统
US20090219379A1 (en) Average Calculation in Color Space, Particularly for Segmentation of Video Sequences
CN110175558A (zh) 一种人脸关键点的检测方法、装置、计算设备及存储介质
JP2013531290A (ja) モーフィングアニメーションを生成するための方法および装置
CN109086724A (zh) 一种加速的人脸检测方法及存储介质
CN109766866B (zh) 一种基于三维重建的人脸特征点实时检测方法和检测系统
CN102024156A (zh) 彩色人脸图像中的唇部区域定位方法
CN109544694A (zh) 一种基于深度学习的增强现实系统虚实混合建模方法
Yuan et al. Watershed-based superpixels with global and local boundary marching
CN113052976A (zh) 基于uv位置图与cgan的单图像大姿态三维彩色人脸重建方法
CN105184771A (zh) 一种自适应运动目标检测系统及检测方法
CN100378752C (zh) 鲁棒的自然图像分割方法
CN103456012B (zh) 基于最大稳定曲率区域的视觉人手检测跟踪方法及系统
CN115131492A (zh) 目标对象的重光照方法、装置及存储介质和背景替换方法
CN109448093A (zh) 一种风格图像生成方法及装置
CN103578121B (zh) 干扰运动环境下基于共享高斯模型的运动检测方法
CN107346421A (zh) 一种基于颜色不变性的视频烟雾检测方法
CN109785367A (zh) 三维模型追踪中外点滤除方法和装置
Lee et al. Surface IR reflectance estimation and material recognition using ToF camera
Qian et al. An Improved Pose Estimation Method in Dynamic Scene Based on Hierarchical Masking and Point Features Classification
CN116704097B (zh) 基于人体姿态一致性和纹理映射的数字化人形象设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090218