[0062] 该下采样使得所有较粗略的层在结构上是相同的(即,对于1≤c,MSSIM(Dlxl,xl-1)=1)。由于 在步骤1中被最大化,并且下采样保留了亮度和对比度,因此对于较粗略层1
[0063] 结构转移
[0064] 粗略和精细图像通常来自不同的成像或摄像源,因此,这两个图像中的细节结构通常不会精确地对齐。因此,任意线性混合操作有效地创建了来自这两个图像的特征的重叠。
[0065] 为了解决这个重影问题,使用来自较精细图像的细节。作出这个选择的动机是图像通常在获取分辨率设备的极限处被捕捉,并且可因此具有任意数量的缺陷(诸如,彩色畸变、传感器噪声、或去镶嵌差错)这一事实。通过使用高质量的下采样来组合较精细图像的许多像素,可减少这些缺陷。
[0066] 因此,本技术可发现新的粗略图像xc,该图像对(1)经下采样的精细图像 的结构细节和(2)原始粗略图像 的局部色彩分布进行组合。等式 和 分别是指结构和色彩图像。
[0067] 在下面的讨论中,将分开地处理图像的每个色彩通道。对于每个色彩通道,可在两个图像的每个像素的邻近区域构建色彩的局部分布的模型,并且可以相对于结构图像S中的中央像素的邻近区域来使用中央像素的属性,以选择色彩图像C的邻近区域中的相同属性的色彩值。如图4所示,可用于这种计算的两个属性可以是统计的z-分数和排序属性。可为每个色彩通道分开地执行计算。
[0068] 将首先讨论等级处理。为了转移等级,可为每个像素计算累积分布函数(CDF)和 以分别得到图像邻近区域S和C中的值。对于每个像素,在结构图像S中查找像素的值v并将输出像素值设为 该本地等级转移可作为有窗口的直方图转移操作来查看,其旨在精确地再现C中的色彩通道分布。虽然等级处理是有用的,但该过程可能引入额外的噪声。
[0069] 窗口转换的另一个方法是Z-分数。可通过转移像素窗口的z-分数(即,近似本地高斯概率分布函数)来获得有用的结果。在数学上,计算结构图像中邻近区域的均值μS和标准偏差σS。接着,可确定z-分数:z=(v-μS)/σS其中,v是中央像素的色彩,并且新的色彩可被获得作为v′=μC+zσC,其中μC和σC是色彩图像中的邻近区域统计数据。在这两种情况下,可使用2D高斯对窗口中的像素分布进行加权。在一个示例实施例中,可用2
(23个像素窗口上的)5个像素的标准偏差来获得有用的结果。
[0070] z-分数转移近似于等式(2)的最大化,因为z-分数转移在更改与结构图像S相关的细节(z-分数)的同时保留了色彩图像C的局部亮度(均值μ)和对比度(σ)。该z-分数技术是贪婪近似,其中该技术独立地处理每个像素,而忽略如何同时修改邻近的像素值。在其他实施例中,可以使用更加集成或不那么贪婪的转换过程。
[0071] 图5是示出使用用于生成图像的结构转移的方法的示例过程,该图像包括来自精细图像的图像结构细节以及来自粗略图像的色彩。在框510,可从计算机存储器获得图像,该图像作为被定义对象的粗略图像被捕捉。在框520,可从计算机存储器获得另一个图像,该图像已作为粗略图像中的被定义对象的精细图像被捕捉。粗略图像的一个示例是卫星照片,而精细图像的一个示例是航空照片。在框530,可对精细图像进行下采样以创建临时图像。
[0072] 在框540,可选择该临时图像中的目标像素。接着,在框550,可在逐个通道的基础上为目标像素的像素窗口计算目标色彩直方图。类似地,在框560,可使用计算机处理器在逐个通道的基础上为粗略图像中对应像素的像素窗口确定源色彩直方图。可在“逐个通道”的基础上为具有多个色彩通道的图像执行结构转移算法。该图像也可被转换成与图像的原始色彩空间不同的色彩空间,以改进结构转移的结果。例如,输入图像可位于RGB(红、绿、蓝)色彩空间中,并且该图像随后可被转换成Lab色彩空间以改进结构转换。一般而言,可在任何色彩空间中执行结构转移。
[0073] 在框570,可参考目标色彩直方图来计算目标像素的统计数据。例如,可以为临时图像的像素窗口在累计分布函数中标识目标像素的等级。发现目标色彩直方图以及对应像素窗口的源色彩直方图允许对临时图像中的多个目标像素执行本地化窗口直方图转移操作,并且允许用来自粗略图像的源色彩代替目标像素色彩。在框580,可用统计数据来计算源色彩直方图中的源色彩。例如,可使用粗略图像中像素窗口的累计分布函数中的目标像素的排序来选择源色彩,并且可将排序应用到临时图像中的目标像素,以选择被应用到目标像素的源色彩。在框590,随后可用源色彩来代替目标像素元素。
[0074] 或者,可通过应用来自粗略图像中的相关像素的色彩来标识要被应用到目标像素的源色彩,该粗略图像在像素窗口中具有与临时图像中的目标像素相同的标准偏差。可使用色彩概率分布函数,诸如高斯概率分布函数。另外,可以为局部像素窗口计算色彩概率分布函数中目标像素的色彩的z-分数。随后,该z-分数可被应用到粗略图像中对应像素的源的局部像素窗口的色彩概率分布函数,以便从粗略图像中选择被应用到目标像素的源色彩。
[0075] 金字塔构造
[0076] 如前面所讨论的,为了创建临时图像{xl|c<l<f},对连续层之间的像素差异进行最小化:
[0077]
[0078] 均方误差项MSE(xl,xl+1)的精确定义是相关的。可考虑两个定义。第一个方法对应于简单形式的线性插值并导致不期望的模糊。在此被定义为拉普拉斯混合的第二个方法更能保留图像细节。
[0079] 由于等式(4)定义了稀疏的线性系统,因此可使用迭代解算器对该线性系统求解。然而,通过对下采样过滤器D和上采样过滤器U应用特定的约束,可使用更高效的算法直接获得等式(4)的全局最小值。一个具体的约束是过滤器被假设成彼此正交且互为转置:
[0080] 以及
[0081] 满足这两个约束的一个低通过滤器是箱式过滤器,而该箱式过滤器由于其不合乎需要的频率特性而不适于图像的重新采样。幸运的是,在此定义的快速构造方法在结合更高阶过滤器时引入非常小的近似误差,更高阶过滤器具有更好的频率响应但不是严格正交的,并且因此不能满足假设。此处描述的假设和/或约束用于使分析更容易。实际上,这个假设(或约束)不为真,但由于该不正确的假设而引入的误差可被示出是小的。
[0082] 简单的线性插值
[0083] 首先,可将较精细图像与经上采样的较粗略图像之间的层间MSE定义为:-1 2
[0084] MSE(xl,xl+1)=4 ||xl+1-Ulxl||. (5)-1
[0085] 在此,因子4 说明在计算平均误差时层l的像素数量。直观上,最小化等式(5)寻求使得较精细图像的每个像素看起来像是放大版本的较粗略图像。
[0086] 为了使用等式(5)来发现最小化等式(4)的图像{xl},参考层xl来取部分偏差并将其设为0:
[0087]
[0088]
[0089] 定义 和DlUl-1=I使 被重写为4Dl+1Ul=4I,以获得局部约束:
[0090]
[0091] 换言之,给定层的图像应当等于其相邻层(近似重新采样)的平均。
[0092] 通过对原始粗略和精细图像的简单线性重新采样和插值来发现该变分问题的直接解。
[0093] 其中
[0094] 然而,这个解不那么合乎需要,因为精细图像的细节通过模糊对粗略图像的采样被衰减。
[0095] 经修剪的拉普拉斯混合
[0096] 在经修剪的拉普拉斯方法中,层间视觉差异可被定义为经下采样的较精细图像与较粗略图像之间的MSE:-1 2
[0097] MSE(xl,xl+1)=4 ||Dl+1xl+1-xl||. (8)
[0098] 这个对目标函数的小改动根本上更改了结果。具体而言,下采样约束需求更少。鉴2
于等式(5)中之前的函数寻求使较精细图像的全部n个像素看起来是放大的较粗略图像,
2
改进的等式(8)寻求使较精细图像的(n/2)个经加权的均值看起来是较粗略图像。
[0099] 为了使用等式(8)来发现最小化等式(4)的{xl},参考层xl来取部分偏差并将其设为0:
[0100]
[0101] 两侧预先乘以 获得结果:
[0102]
[0103] 使用恒等式 得到下面:
[0104]
[0105]
[0106] 因此,发现局部约束:
[0107]
[0108] 换言之,对每个图像的下采样应当是下一个较粗略图像与经两次下采样的下一个较精细图像的混合组合。
[0109] 存在满足局部约束(9),并因此全局地最小化等式(9)的高效构造。这被称为拉普拉斯金字塔方法,该方法将以三个连续的更高效的计算形式来呈现。
[0110] 解形式1。如先前定义的,首先形成图像xf的高斯金字塔 和拉普拉斯金字塔并从粗略图像类似地构造 为了形成每个中间图像Xl,通过从根层(最粗略层)到粗略图像层混合两个图像的对应拉普拉斯层来创建新的拉普拉斯金字塔
[0111]
[0112] 其中α1如在等式(7)中那样被定义。如图6所示,该过程可被称为经修剪的拉普拉斯混合。经修剪的拉普拉斯混合通过在迭代地添加完整的精细细节的同时对拉普拉斯金字塔的各粗略层进行平滑地过渡,来创建中间像素图像。如果跨全部层来混合两个拉普拉斯金字塔,则这将重新创建所描述的使用简单线性插值的不那么有效的解决方案。
[0113] 每个临时图像可被重新构建为:
[0114]
[0115]
[0116] 解形式2。还可通过线性地混合粗略图像与粗略版本 的精细图像,并添加回精细图像的拉普拉斯细节 来获得相同的解决方案:
[0117]
[0118] 解形式3。最后,表达式可被再次转换以获得避免必须计算并将拉普拉斯金字塔存储在一起的甚至更简单的形式。我们从等式(13)获得
[0119]
[0120]
[0121] 如图7所示,在该形式中,计算粗略图像与经下采样的精细图像之间的差异dc,将该差异上采样到中间层,并且经上采样的差异被淡入到高斯金字塔中。图7示出该过程作为具有3个步骤的高效混合算法:(1)下采样以形成高斯金字塔710,(2)计算粗略层差异720,以及(3)将差异淡入到金字塔730。
[0122] 等式(14)的解提供了简单的重现,该重现使所有层在两次通过金字塔结构的高效序列中被评估。该过程的结果比简单线性插值的前一方法尖锐得多。以下是该方法的伪代码清单:
[0123] (xc+1...xf-1)←ClippedLaplacianBlend(xc,xf){
[0124] //通过连续的精细-到-粗略的
[0125] for l=f-1...c //下采样操作
[0126] //来创建Xf的高斯金字塔。
[0127] //计算粗略差异。
[0128] for l=c+1...f-1//遍历高斯金字塔,
[0129] d=Ul-1d //对差异图像进行上采样,
[0130] αl=(l-c)/(f-c)//并在每层添加
[0131] //被淡化的部分。
[0132] }
[0133] 图8是示出用于生成在跨多个查看比例的视觉转移中使用的多分辨率图像金字塔的高效操作的流程图。在框810和820,可从计算机存储器获得被定义对象的粗略图像和精细图像。在框830,可使用精细图像来生成具有多个经下采样的图像的高斯图像金字塔。
[0134] 在框840,临时图像可被定义为高斯图像金字塔内具有与粗略图像相同的分辨率的层,并且可定义中间图像,该中间图像是临时图像的副本。在框850,结构转移操作随后可被应用到该临时图像,以将色彩细节从粗略图像转移到中间图像。对结构转移操作的使用是图8中虚线所示的过程的可选部分,并且可与结构转移方法相独立地使用经修剪的拉普拉斯混合方法。
[0135] 另外,在框860,可根据具有结构转移细节的中间图像与临时图像之间的差异来生成或计算差异图像。随后,差异图像可被上采样到高斯图像金字塔的连续较精细层中。可以为每个金字塔层对差异图像进行上采样,并且可在高斯图像金字塔的每层将经上采样的差异图像混合到每个图像中。
[0136] 另外,在框870,可用阿尔法混合(即,线性插值)将差异图像混合到高斯图像金字塔中。阿尔法混合可以是分级量的阿尔法混合,并且该分级的阿尔法混合可随着高斯图像金字塔中经下采样图像的大小降低而增加。每层的分级量的阿尔法混合可由 来定义;其中l是正被混合的高斯图像金字塔的层的索引值,f是精细图像的层索引值,并且c是粗略图像的层索引值。
[0137] 图9示出了用于生成在视觉过渡中使用的多分辨率图像金字塔的系统。下面描述的模块中的每一个可以是执行所指定的过程的硬件模块。或者,模块中的每一个可以是服务器,其具有多个被联网到一起以执行该模块所期望的过程的处理器。其一个示例可以是刀片服务器或计算场。
[0138] 获取模块910可被配置成获得被定义对象的粗略图像。粗略图像可具有被指定的分辨率大小。获取模块还可获得与被定义对象的视图相对应的被定义对象的精细图像。如之前所讨论的,这些图像可以是卫星和航空图像,或者图像可以是纹理的不同分辨率级。
[0139] 下采样模块920可对精细图像进行下采样以创建具有粗略图像大小的临时图像。一旦已经执行了下采样,结构转移模块930可对临时图像应用结构转移操作,以将色彩从粗略图像转移到临时图像,以便构成中间图像。结构转移可保留来自临时图像的结构细节。
[0140] 图像差异模块940可根据具有结构转移细节的中间图像与临时图像之间的差异来计算差异图像。上采样和混合模块950可使用差异图像与高斯图像金字塔的混合,来将差异图像上采样到高斯图像金字塔的连续较精细层中,该高斯图像金字塔具有用于图像层的分级层的阿尔法混合。
[0141] 虽然已经使用正交过滤器描述了该技术,但该过程还可与非正交过滤器一起使用。在前述部分中开发的快速算法假设使用正交的上/下采样过滤器。然而,我们已经选择的立方过滤器不是严格正交的,并且将因此引入一些少量的误差。现在将讨论所描述的技术中的用于使用非正交过滤器的误差分析。可将根据本技术得出的结果与通过使用高斯-塞德尔迭代法对等式(4)直接最小化所获得的参考解进行比较。为两个结果集测量等式(4)中的误差项,经修剪的拉普拉斯混合结果与参考图像通常相差不到1%,最大差异在3%以下。在主观上,结果在视觉上是无法区分的。
[0142] 本技术的示例应用是地理映射。由于图像可能是非常大的(例如,可能覆盖地球),因此图像通常被分割成小块,以供高效的处理和通过因特网的快速递送。幸运的是,所讨论的技术(结构转移和经修剪的拉普拉斯混合)可操作仅访问本地数据。
[0143] 可将图像 维护在与输入相对应的数千个小块中。成本昂贵的磁盘访问的最小化也是有价值的。然而,在处理大的图像金字塔的处理过程中,一些小块被临时地存储到磁盘,而新的小块被计算。为了有效地管理这个问题,可针对所描述的过程的访问模式来定制小块高速缓存。
[0144] 可提前知道小块访问次序,因此可采用经优化的高速缓存策略。该策略是驱逐未来最远需要的小块。此外,小块访问次序可用于将小块预先高速缓存到背景线程中。对于任何给定的小块,小块数据依赖性次序通常是已知的。因此,在已经计算了小块之后,可检查小块的依赖性,并且不需要其来计算未来小块的那些小块可被立即驱逐。按照希尔伯特曲线次序生成最精细级的小块还提供有效的高速缓存性能。
[0145] 示例数据集可以是对墨卡托(Mercator)投影中常规网格采样的地球表面的图像。2
在图像金字塔中,最粗略的分辨率(0级)包含单个256文件小块。最精细的级(20级)在
40
概念上包含2 个这种小块,但被相当稀疏地定义。可从包括以下各项的若干源获得示例输入图像:8层(4-G像素)可以是卫星图像,13层(4-T像素)可以是“Landsat”卫星图像,并且14层及以上可包含稀疏地定义的航空照片。因此,在大多数区域,存在两个跨比例的不连续的过渡:从8层到9层,并且从13层到14层。
[0146] 所描述的技术可改进这两种过渡。在该示例中,可针对8到9层的全部地球、以及针对13到14层的若干区域进行校正。为了校正8到9层的外观不连续,8层可用作粗略图像 并且11层作为精细图像 经修改的层有8到10层。可用经结构转移的结果xc来代替8层。为了校正从13到14层的不连续,13和17层可被分别用作 和 在该示例情形中,由于这些图像资源之间外观上的较大差异,增加从3层到4层的过渡层的数量可能是有益的。在稀疏地定义精细尺度内容的情况下,修改细节结构不会引起有害的空间裂缝。
[0147] 已经描述了允许根据不相似的图像来快速创建平滑的视觉金字塔的技术,并且已经针对具有各种内容的大的数据集演示了实际结果。视觉上连续的图像金字塔能对不同比例的不同的图像数据源进行组合。
[0148] 本说明书中描述的功能单元中的一些被标记为模块以更具体地强调它们的实现独立性。例如,模块可被实现为硬件电路,该硬件电路包括自定义VLSI电路或门阵列,诸如逻辑芯片、晶体管等现货半导体,或其他分立组件。模块还可用可编程硬件器件来实现,如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。
[0149] 模块也可以用由各种类型的处理器来执行的软件来实现。所标识的可执行代码的模块例如包括计算机指令的一个或多个块,该计算机指令可被组织成对象、过程、或函数。然而,所标识的模块的可执行代码不必在物理上位于一处,而是可包括存储在不同位置的不同指令,当这些指令在逻辑上联合在一起时组成该模块并实现该模块的规定目的。
[0150] 确实,可执行代码的模块可以是单个指令或许多指令,并且甚至可分布在若干不同的代码段、不同的程序、以及若干存储器设备之间。类似地,可以标识操作数据并在模块内示出,并且可以用任何合适的形式来实现且被组织在任何合适类型的数据结构内。操作数据可以作为单个数据集来收集,或可以分布在多个位置,包括分布在多个存储器设备中。各模块可以是被动的或主动的,包括可操作来执行所需功能的代理。
[0151] 而且,在一个或多个实施例中,可以用任何合适的方式组合所描述的特征、结构或特性。在以上描述中,提供了众多具体细节,如各种配置的示例,以提供对本发明各实施例的全面理解。然而,本领域技术人员会认识到本发明也可在没有一个或多个具体细节的情况下实施,或者采用其他方法、组件、设备等来实现。为了避免模糊本发明的各方面,在其他情况下,未示出和描述公知的结构或操作。
[0152] 尽管已经用结构特征和/或操作专用的语言描述了本主题,但要理解,所附权利要求书中定义的主题不必限于所描述的具体特征或操作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。在不背离本发明的精神和范围的情况下,可以作出许多修改和替换安排。