用于使用标度空间来处理图像的设备和方法相关申请交叉引用
本申请要求于2008年12月11日提交的、名称为“Scale-space
Random Walks for Rotoscoping”的美国临时专利申请号61/201,531的
优先权,在此通过引用将其全部内容并入。
技术领域
本公开内容总体上涉及图像处理,并且更具体地,涉及使用图
像的标度空间表示来处理图像。
背景技术
处理动态影像等的图像可以包括标识一帧或者多帧中的对象。
可以通过确定对象边界来标识对象。可以使用描摹(rotoscoping)来
标识对象边界。描摹包括通过数字手段逐帧追踪动态影像中的对象
边界。描摹可以提取数字蒙板(matte)以允许向图像施加特效和其
他图像处理。特效的示例包括将场景中的对象替换为经由计算机生
成的其他对象、将来自一个场景的表演者合成到另一场景以及将二
维(2D)动态影像改变成三维(3D)动态影像。其他图像过程的示
例包括跟踪图像序列中的对象以及跟踪左眼和右眼图像序列中的对
象。
当诸如蓝屏方法的其他技术无法在可接受的精度容限内产生
蒙板时,可以使用描摹。例如,图像可能包括复杂背景(例如使用
档案胶片的图像),蓝屏方法对此可能无法产生可接受的结果。描
摹可能是人力密集的。为求效率,可以使用半自动描摹技术。这样
的技术包括基于轮廓的方法和阿尔法通道算法。
基于轮廓的方法可能涉及到用户,该用户尽可能准确地在一帧
或者多帧中指定轮廓。轮廓是对象边界的粗略估计。通过估算能量
函数,活动轮廓(active contour)可基于粗略估计的轮廓而与边界相
关联。能量函数可用迭代方法使其最小化,由此产生围绕对象的优
化轮廓。在某些基于轮廓的方法中,执行笔划匹配,包括分析成本
函数以确定哪些笔划在关键帧之间与对象的特定轮廓相匹配。上述
算法可以输出相对平滑的轮廓,并且在相邻帧中的轮廓之间建立对
应关系,但是这常常需要技术娴熟的用户来勾画感兴趣的对象。
阿尔法通道算法可以通过分析三个色区域来提取对象的软边
界:相对于对象而言的前景,相对于对象而言的背景,以及在沿着
对象边界的中间区域中混合的前景和背景。阿尔法通道算法虽然也
有可能应用于序列,但是它常常应用于个体帧。
阿尔法通道算法可以提取软边界以及阿尔法值或者该值的透
明度。在一些阿尔法通道算法中应用贝叶斯方式,其利用空间可变
高斯集对前景色和背景色分布二者进行建模,并且假设前景色和背
景色的部分混合,从而产生最终输出。其他阿尔法通道算法假设:
纯前景色是一组聚类的线性组合,并且通过检查前景和背景中的成
对聚类来计算颜色和阿尔法值。
又一些其他阿尔法通道算法执行以下一个或者多个:(i)通
过假设聚类在红、绿、蓝(RGB)色空间中为扁长或者雪茄形来估
计高分辨率图像和图像序列中的阿尔法蒙板;(ii)根据关于前景和
背景色的局部平滑假设导出成本函数,并且通过解析消除前景和背
景色获得关于阿尔法的二次成本函数;(iii)导出将图像的梯度与
阿尔法值相关的偏微分方程,并且描述高效算法从而提供阿尔法值
作为方程的解;(iv)将自然图像抠图(matting)的问题形式化为使
用蒙板梯度场求解泊松方程的问题以及使用成对闪光/非闪光图像来
提取蒙板(称为“闪光抠图”)之一;(v)允许“运行中”构造环境蒙
板而无需专门校准;(vi)通过捕获前景对象和阿尔法蒙板以及捕获
对象如何折射和反射光的描述,以及通过使用环境合成将前景对象
放置于新环境中来执行环境抠图。然而,这些阿尔法通道算法寻求
产生软分割,而不产生可获得更准确分割的硬分割。
另一描摹技术是随机游走。随机游走是一种图形化的图像分割
算法,尝试标识出从某个“种子”像素出发向某个“汇点”像素行进的随
机游走者将穿越特定像素的概率。可以对像素之间的边缘进行加权,
使得按照某个标准被视为相似的像素具有低边权值,使游走者更有
可能穿越该边缘。概率可被确定为组合Dirichlet解。随机游走也可
以使用局部保持投影对颜色空间进行变换,使得相似的颜色(例如
梯度缓慢变化的颜色)可被放在一起,而不相似的颜色可被分开。
然而,随机游走可能无法在存在噪声的情况下干净地分割图像,从
而造成不准确的对象边界标识。
因而,需要可以高效和准确地标识对象边界的方法、设备和系
统。还需要可以产生硬分割并且在存在噪声的情况下准确标识对象
边界的方法、设备和系统。
发明内容
某些方面和实施方式涉及通过根据图像创建标度空间图像以
及使用标度空间图像标识图像中的对象边界来处理图像。标度空间
图像是图像的多分辨率信号表示。标度空间图像表示图像的不同细
节层次。可以在展示之前进一步处理对象边界已被标识的图像。例
如,图像可以是动态影像的二维图像。通过标识对象边界,可以使
用标识的对象边界来处理二维(2D)图像,从而将2D图像转换成
三维(3D)图像。
在一个实施方式中,接收具有至少一个对象的图像。计算设备
可以根据该图像生成两个或者更多标度空间图像。标度空间图像可
以用来确定位势图(potential map)。位势图可以表示像素在对象的
边界内或在对象的边界以外的可能性。位势图可以用来标识对象的
边界。
在一些实施方式中,将图像转换成颜色模型。颜色模型可以是
CIE L*a*b*颜色空间。
在一些实施方式中,通过使用两个或者更多低通滤波器将图像
转换成标度空间,从而根据图像生成标度空间图像。低通滤波器可
以包括高斯内核。不同细节层次可以包括不同的模糊程度。
在一些实施方式中,通过使用(i)两个或者更多小波滤波器
或者(ii)一种保边(edge preserving)分解过程将图像转换成标度
空间,从而根据图像生成标度空间图像。
在一些实施方式中,标度空间图像可以用来为图像的每个像素
确定权值。每个权值可以与一链接边关联。可以通过确定与像素关
联的链接边来确定权值。可以确定针对与像素关联的每链接边的权
值。可以收集针对每个链接边的权值,以形成针对像素的权值。
在一些实施方式中,接收用于图像的标签(label)。可以根据
权值并且使用标签来确定位势值。每个位势值可以表示相关联的像
素在对象的边界内或者在对象的边界外的可能性。可以通过确定位
势值的几何平均而根据位势值确定位势图。位势图可以包括针对位
势值的几何平均。
在一些实施方式中,可以生成和使用标签以确定位势图。接收
用于图像的对象模板(mask)。根据用于图像的对象模板计算反转
对象模板。根据反转对象模板确定第一距离变换。根据对象模板确
定第二距离变换。使用第一距离变换来标识图像中的前景像素。使
用第二距离变换来标识图像中的背景像素。基于标识的前景像素和
标识的背景像素生成标签。
在一些实施方式中,可以根据初始位势图生成标签。接收用于
图像的对象模板。根据用于图像的对象模板计算反转对象模板。使
用形态瘦化(thinning)过程来收缩反转对象模板。使用形态瘦化过
程来收缩用于图像的对象模板。基于收缩的反转对象模板和收缩的
用于图像的对象模板生成初始标签。使用初始标签来确定用于图像
的初始位势图。使用初始位势图、收缩的反转对象模板和收缩的对
象模板来生成标签。
在一些实施方式中,位势图被用来生成图像模板。接收标识对
象的估计边界的两个或者更多关键点。基于关键点计算标签。基于
标签来剪切图像段。根据图像段来确定位势图。根据位势图创建边
界点。如果接收到将边界点标识为不可接受的命令,则使用新关键
点来计算第二位势图。如果接收到将边界点标识为可接受的命令,
则输出边界点。可以使用边界点来生成图像模板。
在一些实施方式中,新关键点的数目大于所述关键点。另外,
在一些实施方式中,关键点标识两个或者更多图像帧中的对象的估
计边界。边界点标识一个或多个图像帧中的对象的估计边界位于两
个或者更多图像帧之间的部分。
在一些实施方式中,关键点标识两个或者更多图像帧中的对象
的估计边界。新点的第一集合标识至少一个图像帧中的对象的估计
边界位于该两个或者更多图像帧之间的部分。
在一些实施方式中,位势图可以由存储于计算机可读介质上的
程序代码确定。
在一些实施方式中,位势图可以由存储于计算机可读介质上并
且由计算设备的处理器执行的标度空间引擎确定。
提及这些示例实施方式并非为了限制或者限定公开内容而是
提供示例以有助于其理解。在具体实施方式中讨论附加实施方式并
且在具体实施方式中提供进一步的描述。可以通过审视本说明书或
者通过实现呈现的一个或者多个实施方式来进一步理解各种实施方
式中的一个或者多个实施方式所赋予的优点。
附图说明
图1是根据本发明一个实施方式的用于生成可用来处理图像
的位势图的系统的框图。
图2是根据本发明一个实施方式的用于生成用于处理图像的
位势图的方法的流程图。
图3是根据本发明第二实施方式的用于生成用于处理图像的
位势图的方法的流程图。
图4是根据本发明一个实施方式的用于基于标度空间图像的
针对图像一像素的图形的图示。
图5是根据本发明一个实施方式的用于基于对象模板根据图
像确定标签的方法的流程图。
图6是根据本发明第二实施方式的用于基于对象模板根据图
像确定标签的方法的流程图。
图7A-图7D是根据本发明一个实施方式的确定图像中的对象
边界的图示。
图8是根据本发明一个实施方式的用于使用位势图基于关键
点来确定对象边界点的方法的流程图。
具体实施方式
某些方面和实施方式涉及通过根据图像创建标度空间图像,并
且使用标度空间图像标识图像中的对象边界来处理图像。标度空间
图像可以具有不同的细节层次。可以在展示之前进一步处理对象边
界已被标识的图像。例如,图像可以是动态影像的二维图像。可以
标识对象边界,并且可以使用所标识的对象边界来处理二维(2D)
图像从而将2D图像转换成三维(3D)图像。
标度空间图像是图像的多分辨率信号表示。可以通过使用不同
特性的滤波器(例如,不同的滤波器内核尺寸)对图像进行滤波,
以形成标度空间图像。使用不同特性的滤波器形成的标度空间图像
可以具有不同的细节层次。在一些实施方式中,通过将图像与具有
不同尺寸的高斯内核进行卷积来形成标度空间图像。标度空间图像
可以对应于层次。例如,标度空间图像可以对应于表示图像中的细
节层次的层次。
在一些实施方式中,标度空间图像是这样形成的:通过使用尺
寸不同的滤波组件对图像进行多次滤波,以滤除与图像中的“精细”
细节有关的信息。该滤波组件可以是尺寸逐渐增大的低通滤波器内
核。使用大尺寸的内核滤波器生成的标度空间图像可以是包含较少
细节层次的较高层次标度空间图像。使用尺寸较小的内核滤波器生
成的标度空间图像是包括较多细节层次的较低层次标度空间图像。
在一个实施方式中,滤波器内核是等量(isometric)高斯低通滤波器
内核,并且得到的标度空间图像具有包括不同的特性(包括模糊)。
在一些实施方式中,标度空间图像可以用来计算针对每个像素
的三维图形。一个像素可以与多个标度空间图像的相邻像素相链接。
链接该像素同某个相邻像素两者之间的链接边可以用权值相关联。
权值的值可以由两像素之间的相似度来确定。
标度空间图像可以用来确定针对图像的位势图。例如,三维图
形可以用来计算位势图。对于图像或者图像的一部分中的每个像素,
位势图还可以包括位势值,该位势值表示该像素在图像中的对象边
界内或者在对象边界外的可能性。位势图可以用来处理图像。例如,
位势图可以用来标识图像对象的边界,以允许该对象出于3D展示以
及其他目的而被修改。
在一些实施方式中,可以接收用于图像的标签,以支持计算位
势图。标签可以标识可作为对象的边界像素候选者的图像像素。标
签可以与边界容限关联,以确保真正的对象边界像素被包含在标签
内。标签可以通过不精确的边界像素信息来计算。在一些实施方式
中,使用交互手段从人类操作者接收标签。标签的示例是在对象边
界的周围绘制并且包括该边界的三分图(trimap)。三分图将图像像
素划分成三组:属于对象的像素(前景)、对象外部的像素(背景)
以及在前景和背景之间、可能是对象边界像素但尚不确定的像素。
可以使用标签来计算位势图。
在一些实施方式中,可以通过将随机游走算法应用于标度空间
图像来计算位势图。得到的位势图被用来标识对象边界。位势图可
以与随机游走算法一起使用,从而在存在噪声的情况下改进对象边
界标识。
给出这些说明性示例是为了向读者介绍这里讨论的一般性主
题,而并非为了限制公开的概念的范围。以下章节参照其中相似标
号表明相似单元的附图描述各种附加实施方式和示例。
示例系统实施
图1描绘了一种根据某些实施方式的系统,该系统能够使用根
据图像生成的标度空间图像来确定位势图,并且能够允许使用位势
图来处理图像。可以使用其他实施方式。该系统包括具有处理器104
的计算设备102,处理器104可以执行计算机可读介质(如存储器
106)上存储的代码,以使计算设备102使用根据图像生成的标度空
间图像来确定位势图。计算设备102可以是能够处理数据并且执行
作为指令集的代码以进行动作的任何设备。计算设备102的示例包
括桌面型个人计算机、膝上型个人计算机、服务器设备、手持计算
设备和移动设备。
处理器104的示例包括微处理器、专用集成电路(ASIC)、
状态机或者其他适当处理器。处理器104可以包括一个处理器或者
任意数目的处理器。在一些实施方式中,处理器104包括与具有1GB
或者更少VRAM的高端图形卡关联的图形处理单元(GPU)。在其
他实施方式中,处理器104是包括两个、四个或者更多处理单元的
多核处理器。多核处理器可以包括单指令多数据(SIMD)兼容能力,
例如流式SIMD扩展(SSE)和3DNow!。诸如LAPACK的线性代数
包可以用来有益地使用SIMD扩展和处理器的能力。
处理器104可以经由总线108访问存储器106中存储的代码。
存储器106可以是能够存储代码的任何有形计算机可读介质。存储
器106可以包括能够向处理器104提供可执行代码的电设备、磁设
备或者光设备。存储器106的示例包括随机存取存储器(RAM)、
只读存储器(ROM)、软盘、光盘、数字视频设备、磁盘、ASIC、
配置的处理器或者能够有形地包含代码的其他存储设备。总线108
可以是能够在计算设备102的部件之间传送数据的任何设备。总线
108可以包括一个设备或者多个设备。
计算设备102可以通过输入/输出(I/O)接口110与附加部件
共享数据。I/O接口110可以包括USB端口、以太网端口、串行总
线接口、并行总线接口、无线连接接口或者能够允许在计算设备与
另一部件之间传送数据的任何适当接口。附加部件可以包括用户接
口(UI)设备112、显示器114和网络116。UI设备112可以包括键
盘、鼠标设备、触屏接口或者能够从用户接收命令并且向计算设备
102提供命令的其他设备。显示器114可以包括液晶显示器(LCD)、
等离子体屏、阴极射线管(CRT)或者能够显示计算设备102生成
的图像的任何设备。网络116可以包括因特网、内部网、广域网
(WAN)、局域网(LAN)、虚拟专用网(VPN)或者允许计算设
备102与其他部件通信的任何适当通信网络。在其他实施方式中,
计算设备102是能够以脱机方式实现根据本发明各种实施方式的各
种方法的脱机设备。
指令可以在存储器106中存储为可执行代码。指令可以包括由
编译器和/或解译器根据代码而生成的特定于处理器的指令,其中代
码以诸如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript
和ActionScript等任何适当的计算机编程语言编写。指令可以包括图
像处理应用118,它在由处理器104执行时可以使计算设备102使用
根据图像生成的标度空间图像来确定位势图,并且使用位势图来处
理图像。图像处理应用118包括标度空间引擎120,当其由处理器
104与图像处理应用118一起执行时,可以使计算设备102根据图像
生成标度空间图像以根据标度空间图像确定位势图,并且使用位势
图来处理图像。
提供这一示例系统配置仅为了举例说明可以用来实施某些实
施方式的位势配置。当然可以使用其他配置。
生成位势图的示例方法
可以使用根据本发明各种实施方式的各种方法来生成用来处
理图像的位势图。图2图示了用于根据标度空间图像生成位势图的
方法的一个实施方式。图2中所示方法是参照图1的系统配置来描
述的。然而其他系统实施也是可行的。
在块202中,图像处理应用118接收图像。图像例如可以是作
为图像序列的动态影像的图像。在一些实施方式中,图像包括一个
或者多个对象。对象可以是在图像中可视表示的有形项目。图像可
以是RGB(红、绿、蓝)图像或者在不同颜色空间(例如YUV、XYX
或者CIE L*a*b*颜色空间)中。
在块204中,标度空间引擎120根据图像生成细节层次不同的
标度空间图像。每个标度空间图像可以具有不同于所生成的其他标
度空间图像的细节层次。标度空间引擎120可以使用各种方法来生
成标度空间图像。一种方法包括使用具有不同内核尺寸的滤波器对
图像进行滤波。每个滤波器可以产生具有特定细节层次的标度空间
图像,其不同于由不同尺寸的滤波器产生的其他标度空间图像。滤
波器可以实现为软件,例如实现为标度空间引擎120的一部分。在
其他实施方式中,滤波器实现为由标度空间引擎120访问或者控制
的硬件。
在一些实施方式中,可以在标度空间引擎120将图像转换成标
度空间之后生成标度空间图像。可以使用例如小波滤波器或者保边
分解过程将图像转换成标度空间。
在块206中,标度空间引擎120使用标度空间图像来确定针对
图像的位势图。位势图可以包括与图像的像素或者部分像素关联的
位势值。例如,位势值可以与图像的像素关联。位势值可以表示关
联像素处于图像中的对象边界内或者在对象边界外的可能性。在一
些实施方式中,基于与像素和邻近像素之间的链接边相关联的权值
来为像素确定位势值。链接边以及相关联的权值可以使用标度空间
图像来标识和确定。
在块208中,图像处理应用118使用位势图来处理图像。例如,
图像处理应用可以使用位势图来生成用于图像的图像模板。图像模
板可以用来标识图像中的对象。在一些实施方式中,在使用位势图
标识对象边界之后,可以修改图像中的对象位置。
图3描绘了用于生成在处理图像时使用的位势图的方法的另
一实施方式。图3的方法是参照图1的系统和图4的图示来描述的。
然而其他实施也是可行的。
在块302中,图像处理应用118接收包括至少一个对象的图像。
图像处理应用118如图2的块202中那样接收图像。
在块304中,标度空间引擎120将图像转换成颜色模型。转换
成颜色模型可以允许标度空间引擎120更容易地区分图像的颜色。
在一些实施方式中,图像是RGB图像,其被转换为颜色模型,即
CIE L*a*b*颜色空间中的图像。
在块306中,标度空间引擎120根据颜色模型生成至少两个标
度空间图像。标度空间图像可以具有不同的细节层次。每个标度空
间图像具有与其他标度空间图像不同的细节层次。可以使用各种方
法来执行标度空间图像。在一个实施方式中,使用尺寸逐渐增大的
高斯低通滤波器(LPF)内核对图像进行滤波,以生成标度空间图像。
使用高斯内核有助于防止不希望的结构被引入图像中,对于相对较
大尺寸的滤波器而言尤其如此。由高斯内核生成的标度空间图像可
以具有包括不同量的图像模糊的不同细节层次。
具有N个层次的标度空间ζ可以表示为:
ζ={I[x,y]*f(x,y|σn):σn=0,1,2,4,...2N-1}
其中:
I[x,y]是初始图像;并且
这是尺寸为n的高斯内核。
根据标度空间ζ中的N个标度空间图像,标度空间引擎120
可以生成针对图像或者图像一部分的每个像素的三维图形。该图形
可以示出标度空间图像的不同层次的像素之间的关系,并且可以示
出特定层次的像素与邻近像素之间的关系。
图4图示了根据本发明一个实施方式的根据标度空间ζ生成的
图形402。该图形包括不同的层404a-404c。虽然示出了三个层
404a-404c,但是可以实现任何数目的层。层404a-404c中的每个层
可以对应于根据图像生成的标度空间图像。层中的每个节点可以对
应于相应标度空间图像中的像素。例如,层404a可以对应于第一标
度空间图像,层404b可以对应于第二标度空间图像,层404c可以
对应于第三标度空间图像。
另外,可以从较多的细节层次向最少的细节层次布置层
404a-404c。例如,层404a可以对应于在第一标度空间图像、第二标
度空间图像和第三标度空间图像中具有最多细节的层次(例如,精
细的细节层次)的第一标度空间图像。层404b可以对应于在第一标
度空间图像、第二标度空间图像和第三标度空间图像中具有中等细
节层次的第二标度空间图像。层404c可以对应于在第一标度空间图
像、第二标度空间图像和第三标度空间图像中具有最少细节的层次
(可以称为粗略层次)的第三标度空间图像。
图4中的图402是包括像素406的六连接结构。也可以实现其
他类型的连接结构、例如八连接结构等。像素406中的每个像素对
应于标度空间图像,并且可以连接到六个对应的像素,诸如同一层
中的四个邻近像素以及来自较高层和较低层的对应像素。每对连接
的像素之间具有连接像素的链接边。例如链接边410位于层404a上
的像素408与层404b上的像素406之间。这一布置可以允许每个层
影响其他层,从而可以在较高层保持细节,并且可以在较低层控制
来自噪声的影响。
在块308中,标度空间引擎120使用标度空间图像针对图像的
每个像素而确定链接边以及每链接边的权值。例如,图4中的每链
接边表示像素与邻近像素或者与位势图的另一层中的对应像素之间
的连接,并且链接边可以与权值相关联。可以使用以下关系来确定
链接边的权值:
G i , j = 2 1 + exp ( β | | c → i - c → j | | ) ]]>
其中:
Gi,j是像素i与j之间的链接边的权值;
是表示像素i的颜色矢量;
是表示与像素i相邻的像素j的颜色矢量;并且
β是自由参数,其在一些实施方式中被设为值90。
在块310中,标度空间引擎120接收用于像素的标签。标签可
以表示对图像中对象的边界估计。在一些实施方式中,通过用户接
口从个人用户接收标签,该用户由输入设备输入命令来标识估计的
对象边界。在其他实施方式中,如下文例如参照图5和图6所讨论
的,当标度空间引擎120生成标签时,标度空间引擎120接收标签。
标签可以由标度空间引擎120用来标识那些有可能是对象边界的像
素。例如,未确定的像素可以由标签标识,继而被进一步处理以进
一步确定与对象的边界关联的像素。
在块312中,标度空间引擎120根据权值并且使用标签来确定
位势值。位势值可以与像素相关联,并且可以表示像素在对象的边
界以内或者以外的可能性。在一些实施方式中,标签被用来标识位
势值待确定的像素。可以使用以下关系来确定像素的位势值:
L v → = b → ]]>
其中:
是待确定的矢量位势值;
是限定系统边界条件的边界矢量;并且
L是拉普拉斯矩阵,其中每个元素由图中的权值确定。
通过使用以下关系,可以使用图(例如图4的图)的权值Gi,j来
确定拉普拉斯矩阵L:
可以如参照图4所述确定权值Gi,j。
拉普拉斯矩阵L可以分解成以下形式:
其中:
Ln是拉普拉斯矩阵的子矩阵,该子矩阵包括与未确定像素相
关联的行和列;
Lb是包括边界像素、但不包括未确定像素的子矩阵;
I是代表如下像素的单位矩阵,这些像素被指派为不会影响解
的源点像素或者汇点像素;并且
0是“零矩阵”(仅包括零的矩阵)。
因此,可以使用以下关系来确定位势值:
v → = ( L n ) - 1 b → ]]>
位势值可以形成位势图。像素(x,y)的位势值可以由P(x,y)表示。
基于N层次标度空间图像来求解位势值的结果可以是新的标
度空间∏,其可表示如下:
∏=(P(x,y|n):n=0,1,2,3,...,(N-1))
其中:
n是用于N层次标度空间图像中的特定层次的索引;并且
P(x,y|n)是第n层次的位势图。
在块314中,标度空间引擎120根据位势值确定位势图。位势
值可以由N层次标度空间∏表示。
在一些实施方式中,最终位势图P(x,y)通过对标度空间的每个
层次执行几何平均来确定,如以下关系所表示的:
P ( x , y ) = ( Π i = 0 N - 1 P ( x , y | i ) ) 1 / N ]]>
在一些实施方式中,可以使用算数平均而不是几何平均。然而
几何平均可能比算数平均更为有效,算术平均将得到与实际趋势相
比不正确的结果。在一些实施方式中,较精细标度空间图像处的结
果细节被保持,并且粗略标度空间图像中的模糊区域被去除。
另外,几何平均可以获得这样的位势图,其去除了通过标度空
间中的层到层链接而建立的不同层次之间的依赖关系。
在一些实施方式中,位势图是局部平滑的。例如,相同或者相
似区域具有无突变的总梯度。强边缘包括梯度突变,其可以辅助标
识这样的强边缘。另外,位势图可以消除标度空间中的较高层次处
的图像中的微小变化(即噪声)。
在块316中,图像处理应用118使用位势图来生成针对图像的
图像模板。图像模板可以是可用来标识图像对象边界的图像表示。
例如,位势图可以用来标识对象的边界像素。使用标识的对象边界
像素可以用来生成图像模板。在一些实施方式中,标度空间引擎120
可以使用阈值来确定每个像素的数字值。例如,如果位势值P(x,y)大
于或者等于0.5,则可以为像素指派数字“1”。如果位势值P(x,y)小于
0.5,则可以为像素指派数字“0”。阈值0.5表示像素为前景像素或者
背景像素的可能性相等。概率大于0.5的任何像素因而可被认为是前
景像素,由数字“1”表示。概率小于0.5的任何像素因而可被认为是
背景像素,由数字“0”表示。
生成标签的示例性方法
根据本发明一些实施方式可以根据图像生成标签。例如,标度
空间引擎120可以接收用于图像的对象模板,并且使用该对象模板
来确定标签。对象模板可以是通过估计与对象的边界相关联的像素
的对象粗略估计,这些像素可以包括被指定为边界像素的不精确像
素。对象模板可以由标度空间引擎120接收。图5和图6图示了用
于在块310中通过生成标签来接收标签的方法的实施方式。参照图1
的系统来描述用于生成标签的实施方式。然而其他系统实施也是可
行的。
此外,参照图7A-图7D中的图示来描述图5中描绘的实施方
式。
在块502中,标度空间引擎120接收用于图像的对象模板。在
一些实施方式中,对象模板可以标识图像中大于感兴趣对象的部分。
另外,对象模板可以指定不止一个对象,这可能需要在进一步处理
之前分离感兴趣的对象。图7A描绘了用于对象702的对象模板的示
例。所示的对象702是图像中的一只梨,其具有使用白色表示的前
景像素和使用黑色表示的背景像素。
在块504中,标度空间引擎120反转对象模板以生成反转对象
模板。在反转对象模板中,背景像素变成前景像素并且反之亦然。
可以通过将高值像素的值改变成低以及相反过程来反转对象模板。
例如,图7A中的对象模板的反转对象模板可以包括由黑色指定的、
组成对象的像素,以及由白色指定的所有其他像素。
在块506中,标度空间引擎120确定用于反转对象模板的距离
变换。距离变换可以是如下表示,其针对每个背景像素而指示与最
近边界像素的距离。图7B描绘了用于对象702的反转对象模板的距
离变换的示例。在图7B中,表示对象702的像素是背景像素,而最
靠近边界像素的背景像素比那些较远的背景像素更暗。
在块508中,标度空间引擎120确定用于对象模板的距离变换。
用于对象模板的距离变换可以看起来与图7B中的图像相反。表示对
象702的像素变为前景像素。背景中最靠近边界像素的像素可以比
那些较远的像素更暗。
在块510中,标度空间引擎120使用用于反转对象模板的距离
变换来标识图像中的前景像素。在一些实施方式中,将用于反转对
象模板像素的距离变换值与作为边界容限的第一值进行比较。如果
像素的距离变换值大于作为边界容限的第一值,则可以将该像素标
识为前景像素。该过程可以针对每个像素进行重复,以标识前景像
素。
在块512中,标度空间引擎120使用用于对象模板的距离变换
来标识图像中的背景像素。可以将用于对象模板像素的距离变换值
与作为边界容限的第二值进行比较。如果像素的距离变换值大于作
为边界容限的第二值,则可以将该像素标识为背景像素。该过程可
以针对每个像素进行重复,以标识背景像素。
在块514中,标度空间引擎120生成以前景像素和背景像素的
标识为基础的标签。在块510中标识的前景像素可以例如形成图7A
中所示的前景像素的子集。类似地,在块512中标识的背景像素可
以例如形成图7A中所示的背景像素的子集。未确定像素,即未被标
识为前景像素或者背景像素的像素,形成未知区域。标度空间引擎
120可以标识并且存储未知区域,以作为用于对象702的标签。图
7C描绘了用于对象702的标签(用黑色描绘)的示例。
作为边界容限的第一值和第二值可以这样选择,使得标签大到
足以包括对象702的实际边界。在一些实施方式中,对于对象的所
有边界使用相同的第一值和第二值。在其他实施方式中,对于对象
的边界使用非一致的第一值或者非一致的第二值或者非一致的的二
者。例如,变动第一值和第二值之一或二者可以得到具有变化宽度
的标签。
在块516中,标度空间引擎120输出标签。标签可以限定感兴
趣对象的边界周围的未知区域。标签可以用来确定未确定像素的位
势图,例如上文参照图3所描述的。在一些实施方式中,可以基于
位势图产生对象模板,并且该对象模板可以比原始模板更为准确。
在一些实施方式中,与图像一起被提供的标签是覆盖感兴趣对象边
界的带状。图7D描绘了对象702,如与原模板的边界706相比,该
对象具有输出的新对象模板的边界704。与原模板的边界706相比,
新对象模板的边界704更接近地标识对象702的实际边界。
在一些实施方式中,可以根据由对象模板计算出的初始标签来
生成更精确的标签。图6描绘了生成标签的一个实施方式。
在块602中,标度空间引擎120接收用于图像的对象模板。该
对象模板可以是图像的表示,其表示具有第一颜色的对象像素(前
景像素)和具有第二颜色的对象以外的像素(背景像素)。
在块604中,标度空间引擎120反转对象模板。例如,前景像
素可被反转为背景像素,并被指定以第二颜色。背景像素可被反转
为具有第一颜色的前景像素。
在块606中,标度空间引擎120收缩反转对象模板。收缩反转
对象模板可以包括使用形态细化使反转对象模板收缩以确定硬背景
约束,硬背景约束可以包括背景的部分骨架提取(skeletonization)。
硬背景约束可以防止该模板中的精细细节在进一步处理期间消失。
在一些实施方式中,硬背景约束被用作背景像素。
在块608中,标度空间引擎120收缩对象模板。在一些实施方
式中,通过使用形态细化使对象模板收缩以确定硬前景约束,硬前
景约束包括对象模板的部分骨架提取。硬前景约束可以防止该模板
中的精细细节在进一步处理期间消失。硬前景约束可被用作前景像
素。
在一些实施方式中,在细化之前按照两倍边界容限扩充对象模
板、再按照两倍边界容限使对象模板细化、然后按照两倍边界容限
解除对象模板的扩充以避免边缘效应并且支持针对未知区域计算约
束。可以保持在对象模板边界的容限内的约束。
在块610中,标度空间引擎120基于收缩的反转模板和收缩的
模板生成初始标签。收缩的反转模板可以由硬背景约束表示。收缩
的模板可以由硬前景约束表示。初始标签可以表示根据对象模板的
轮廓和硬约束对图像未知区域的估计。在一些实施方式中,特定的
前景像素是根据从形态细化获得的硬约束与模板的边界的部分的组
合而确定的。这一部分可以位于与通过形态细化获得的前景约束相
距容限的至少1/8处。除了通过形态细化确定的硬背景约束之外,还
可以将背景像素标识为与模板的边界相距大于容限的那些像素。
在块612中,标度空间引擎120使用初始标签来确定初始位势
图。例如,可以通过使用初始标签以与上文参照图3的块312和314
所述相同或者相似的方式确定初始位势图。
在块614中,标度空间引擎120使用初始位势图、收缩的反转
模板和收缩的模板来生成最终标签。收缩的反转模板和收缩的模板
可以由硬背景约束和硬前景约束表示。
在块616中,标度空间引擎120输出最终标签。最终标签的输
出可以与图像重叠,或用其它方式。在一些实施方式中,标度空间
引擎120通过输出它来接收最终标签并且可以将最终标签用于如参
照图3讨论的进一步处理。
使用位势图来处理图像的示例方法
根据本发明各种实施方式的位势图可以用来改进图像处理以
产生所需质量和处理效率。在一些实施方式中,位势图可以用来以
如下方法处理图像,这些方法需要为技术娴熟用户的用户接口。例
如,一种方法可以是一种交互方法,其使用位势图和来自用户的输
入一起来处理图像。
图8描绘了用于使用位势图和用户输入来处理图像的方法的
一个实施方式。参照图1中描绘的系统来描述图8的方法。然而其
他实施方式也是可行的。
在块802中,标度空间引擎120接收具有至少一个对象的图像。
该对象可以是实际物体的代表。该图像可以包括与该对象不同的背
景对象。例如,该对象可以是“感兴趣的对象”,而该背景对象可以
与对象不关联的其他背景像素视为同等。
在块804中,标度空间引擎120根据图像生成标度空间图像。
可以例如使用参照图2或者图3描述的方法来生成标度空间图像。
在块806中,标度空间引擎120接收关键点。关键点可以是通
过用户交互设备112从用户接收的在对象的边界上的点。例如,可
以在显示器114上向用户显示重叠标签的图像。用户可以使用鼠标
或者其他设备来标识位于对象的边界上的两个或者更多关键点。关
键点之间可以隔开特定的距离。关键点可以用来例如对标签进行改
善,或用于其它。标度空间引擎120也可以从用户接收与边界内部
相关联的区域和与边界外部相关联的区域的指示。
在块808中,标度空间引擎120基于关键点来计算标签。可以
通过估计连接关键点的线段或者样条段来计算标签。在一个实施方
式中,通过在关键点之间插值来估计线段或者样条段。可以向该段
指派边界容限值,以产生沿着该段延伸并且宽度与边界容限值相等
的标签。标签覆盖的区域可以由边界容限值来确定,该边界容限值
被选择以确保真正的边界像素被包含在得到的标签之中。如果所选
容限值超过了关键点之间的距离,则可以按比例减小容限值。标度
空间引擎120还可以确定标签的哪一侧与前景像素关联(在对象之
内)哪一侧与背景像素关联(在对象之外)。
在块810中,标度空间引擎120基于标签从图像剪切图像段。
例如,标度空间引擎120可以从图像隔离一图像段以进一步分析。
在块812中,标度空间引擎120确定位势图。可以根据图像段
来确定位势图。例如,可以使用如参照图2或者图3描述的方法来
确定位势图。
在块814中,标度空间引擎120根据位势图计算与对象的边界
相关联的边界点。在一些实施方式中,位势图被用来标识关键点之
间可能是对象边界的像素。该像素可以使用关键点和位势图来标识,
位势图标识在关键点之间的像素与对象的边界相关联的可能性。
标度空间引擎120可以在块816中接收边界点是否可接受的指
示。如果边界点在用户看来与对象的边界相关联,则边界点可以是
可接受的。如果一个或者多个点在用户看来并非与对象的边界相关
联,则这些点可以是不可接受的。
如果标度空间引擎120接收到点不可接受的指示,则该过程返
回到块806,在此,标度空间引擎120接收附加关键点。附加关键点
可以是通过用户交互设备112由用户标识的对象边界上的点。例如,
可以在显示器114上向用户显示重叠有标签的图像。用户可以使用
鼠标或者其他UI设备112来标识位于对象的边界上的附加关键点。
可以在块806中接收附加关键点,并且在块808中基于这些附加关
键点计算更准确的标签。可以重复这一过程直至在块816中发现边
界点被接受。如果标度空间引擎120接收到边界点可接受的指示,
则标度空间引擎120在块820中输出边界点以供进一步处理。在一
些实施方式中,可以通过将边界点重叠在图像上而向显示器114输
出边界点。
进一步处理可以包括各种过程。例如,边界点可以用来生成针
对关键点之间的图像段的对象模板。可以通过针对所有关键点配对
重复如图8中所述过程来生成完整的对象模板。
其他可以使用位势图的图像处理方法的示例包括(a)对现有
对象边界的半自动化改进和(b)插值帧中的边界的改进。
在半自动化改进方法中,对象的边界已经被确定并且与控制点
相关联。控制点可以视为“关键点”,并且参照图8描述的方法可以
用来生成控制点之间的像素准确的边界。可以为边界的每段或者样
条生成剪切框,并且可以将每个段或者样条的标记设置为与控制点
关联。可以与其他剪切框独立处理各剪切框。在一些实施方式中,
向所有剪切框一起施加标度空间变换。该过程可以得到替换的对象
边界。用户可以在原对象边界与替换对象边界之间选择。
在插值帧中的边界的改进方法中,可以移动插值点。在插值帧
中,可以扩展对象边界的每个段的未知区域,以按照特定的容限重
叠在插值点周围。未知区域的相交例如可被认为是要应用图8中方
法的未知区域。可以根据段边界的边界相交来确定前景和背景像素。
在应用图8的方法之后例如可以将插值点移向与在估计的边界上的
原位置最近的点,这一点可以按照需要不被用户考虑或者被用户修
改。
综述
尽管本主题内容已经参照其具体实施方式来具体描述,但是将
理解本领域技术人员在获得对前文的理解时可以容易产生对这样的
实施方式的更改、变化和等效实施方式。因而,应当理解本公开内
容已经出于举例而非限制的目的来呈现而且并不排除包括如本领域
普通技术人员将容易清楚的这样对本主题内容的修改、变化和/或添
加。