CN106709871A - 利用活动掩码的图像合成 - Google Patents
利用活动掩码的图像合成 Download PDFInfo
- Publication number
- CN106709871A CN106709871A CN201610827271.3A CN201610827271A CN106709871A CN 106709871 A CN106709871 A CN 106709871A CN 201610827271 A CN201610827271 A CN 201610827271A CN 106709871 A CN106709871 A CN 106709871A
- Authority
- CN
- China
- Prior art keywords
- patch
- pixel
- synthetic technology
- packet
- target area
- 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.)
- Granted
Links
- 230000015572 biosynthetic process Effects 0.000 title abstract description 16
- 238000003786 synthesis reaction Methods 0.000 title abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 62
- 238000005516 engineering process Methods 0.000 claims description 102
- 230000000694 effects Effects 0.000 claims description 40
- 238000004458 analytical method Methods 0.000 claims description 16
- 230000002194 synthesizing effect Effects 0.000 claims description 11
- 230000007797 corrosion Effects 0.000 claims description 7
- 238000005260 corrosion Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 11
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 description 48
- 230000000875 corresponding effect Effects 0.000 description 32
- 230000015654 memory Effects 0.000 description 15
- 238000013507 mapping Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008439 repair process Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008521 reorganization Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G06T5/77—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4007—Interpolation-based scaling, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/155—Segmentation; Edge detection involving morphological operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Abstract
本发明的各实施例总体上涉及利用活动掩码的图像合成。具体地,本发明的实施例提供用于在利用活动掩码的图像合成处的系统、方法和计算机存储介质。在一个实施例中,接收识别图像内的要被合成的目标区域的输入。补丁合成技术能够之后被执行以基于由补丁合成技术识别的源区域的部分来合成目标区域。在实施例中,补丁合成技术包括针对至少一次迭代,生成将目标区域的一个或多个部分指示为不活动的活动掩码。该活动掩码能够由补丁合成技术的至少一个过程利用以忽略如由针对补丁合成技术的至少一次迭代的活动掩码指示为不活动的一个或多个部分。可以描述和/或要求保护其他实施例。
Description
技术领域
本发明各实施例总体上涉及图像处理,具体地涉及利用活动掩码的图像合成。
背景技术
数字图像编辑已经随着数字图像捕获设备已经在某种程度上变得普遍存在而变得越来越流行。个体例如可以携带移动电话、专用相机、或者个体能够用于捕获感兴趣的场景(例如,风景、房间、运动事件、等等)的数字图像的类似装置。在一些实例中,这些数字图像不能如期望地捕获场景。在这样的实例中,数字图像编辑技术能够被用于修改数字图像以实现期望的结果。这些数字图像编辑技术中的一些利用能够被用于合成数字图像的区域的补丁合成技术。这些补丁合成技术通常执行迭代分析以识别在来自一幅或多幅图像的要被合成的区域与对应的区域之间的对应关系。这些对应的区域可以包括出现在要被合成的区域的外部的数字图像本身的对应的区域。这些对应的区域能够之后被用于生成经合成的区域。这样的数字图像编辑技术可以包括例如图像修复、图像重组、或纹理合成。
传统补丁合成技术执行大量计算,其可能需要大量时间和计算资源来完成。因此,传统补丁合成技术可能对于用户而言不是充分交互的并且可能不容易能够在具有有限计算功率的设备(例如,移动电话)上执行。
发明内容
本发明的实施例涉及利用活动掩码来识别目标区域内的仍然活动的或者尚未收敛的那些像素以及目标区域内的不再活动的或者已经收敛的那些像素。利用该活动掩码结合补丁合成技术的一次或多次迭代能够将针对那些一次或多次迭代的对位于目标区域内的像素的处理限制于活动掩码内的被指示为活动的那些像素。因此,能够通过防止对不会从额外的处理获益的像素的额外处理来节省大量处理时间和资源。
提供本发明内容从而以简化的形式介绍下面在具体实施方式中进一步描述的一系列概念。本发明内容不旨在确定要求保护的主题的关键特征或必要特征,也不旨在用作确定要求保护的主题的范围的辅助。
附图说明
本专利或申请文件包含以彩色执行的至少一个附图。具有(一幅或多幅)彩色附图的本专利或专利申请公布的副本将在请求和必要的费用的支付后由官方提供。
图1图示了表示根据本公开内容的各种实施例的示例数字图像编辑技术的一般概述的视觉序列。
图2描绘了根据本公开内容的各种实施例的说明性图形编辑环境的各方面。
图3图示了根据本公开内容的各种实施例的描绘了示例补丁合成技术的过程流程。
图4图示了根据本公开内容的各种实施例的描绘了示例近似最近邻搜索的过程流程。
图5图示了根据本公开内容的各种实施例的描绘了示例活动掩码生成的过程流程。
图6A到图6C示出了根据本公开内容的各种实施例的作为补丁合成技术的一部分而被执行的搜索过程的说明性示例。
图7是根据本公开内容的各种实施例的补丁合成技术的一次迭代的各方面的视觉描绘。
图8是根据本公开内容的各种实施例的补丁合成技术的一次迭代的各方面的另一视觉描绘。
图9是图示了在其中可以采用本公开内容的各实施例的示例计算设备的框图。
具体实施方式
数字图像编辑技术时常被用于修改数字图像以实现期望的结果。这些数字图像编辑技术中的一些实现如以上提到的能够被用于合成数字图像的区域的补丁合成技术。这样的数字图像编辑技术可以包括例如图像修复、图像重组、纹理合成、图像重定向、图像扭曲、图像融合、纹理插值、图像调和、风格转变、按编号的纹理或者利用补丁合成技术的任何其他数字图像编辑技术。
作为这些数字图像编辑技术中的一个的示例,在一些实例中,对象可以出现在不期望的所捕获的数字图像内(例如,电力传输线或杆、人、汽车、等等)。在这样的实例中,图像修复可以用于填充、或替换包含不期望的对象的数字图像的部分。为了完成该图像修复,通过将对象从数字图像中移除而产生的洞能够利用补丁合成技术来填充以找到数字图像的一个或多个对应的部分或单独的数字图像。这些对应的部分能够由补丁合成技术在填充洞时利用。这样的补丁合成技术可以包括搜索图像中与图像的位于洞内的部分相对应的源补丁。一旦已经找到了对应的部分,就能够开始通过利用这些对应的部分确定洞内的每个像素的颜色的投票过程来填充洞。该过程能够被重复许多次以逐渐地找到更好的对应的部分并且由此得到针对洞的最好的填充。在补丁合成技术的这些迭代中的每次迭代中,洞内的所有像素被单个地处理。这是甚至在个体像素已经收敛或者达到其中不能够找到针对像素的更好的颜色的状态的情况。因此,在当前技术状态下,在这些补丁合成技术中针对不能从由这些补丁合成技术进行的进一步处理获益的像素进行大量不必要的处理。该问题在补丁合成技术的其中相对大量的像素可能已经收敛并且相对少量的像素将仍然从额外的处理获益的稍后阶段中被放大。
本发明的实施例大体涉及生成和/或利用活动掩码来将对目标区域(例如,以上描述的洞)内的像素的处理限制于尚未收敛的那些像素。活动掩码被用于在目标区域内的仍然活动的或者尚未收敛的那些像素与目标区域内的不再活动的或者已经收敛的那些像素之间进行区分。在补丁合成技术的一次或多次迭代中利用这样的活动掩码能够将对位于目标区域内的像素的处理限制于活动掩码内的被区分为活动的那些像素。为了这么做,跳过将已经在当前技术状态下被应用的对已经收敛的那些像素的处理,其能够节省大量处理时间和资源。
在实施例中,活动掩码能够通过将已经被确定为已经收敛的像素的分组识别为不活动来生成。在一些实施例中,识别已经收敛的像素的分组能够基于如下面广泛地讨论的一致性分析。这样的活动掩码的剩余部分将识别尚未收敛并且因此仍然活动的那些像素。本文描述的补丁合成技术能够被配置为利用这样的活动掩码并且不再处理在活动掩码内被识别为不活动的那些像素的分组。
图1图示了表示根据本公开内容的各种实施例的示例数字图像编辑技术的广泛的一般概述的序列100。将认识到,因为序列100的意图是提供广泛的一般概述,所以从该讨论中省略了许多具体细节。然而,参考剩余的附图来讨论这些具体细节。
如所描绘的,序列100在102a处利用数字图像104开始。数字图像104表示以数字格式被存储的图像。这样的数字格式能够例如为联合照片专家组(JPEG)格式、位图(BMP)格式、标记图像文件格式(TIFF)、便携式网络图形(PNG)格式、图形交换格式(GIF)、或任何其他适当的格式。数字图像104包括目标区域106。如本文中所使用的,数字图像的目标区域是指要利用已经通过补丁合成技术合成的区域替换的数字图像的区域。如所描绘的,目标区域106描绘数字图像104的利用作为源的数字图像104的剩余部分的部分填充的区域。因此,在目标区域106外部的区域能够在本文中被称为源区域。将认识到,在其他实施例中,源区域能够为一个或多个额外的数字图像。
目标区域106能够利用使用例如本文广泛地描述的那些能够识别源区域内的与目标区域中的补丁相对应的补丁的补丁合成技术生成的经合成的区域来填充。如本文中所使用的,补丁能够是指数字图像中的像素的区段或分组。该区段可以具有固定形状或变化的形状。例如,补丁可以被定义为固定形状5x5或7x7,其中尺寸指示由补丁覆盖的像素的数量(例如,7x7补丁覆盖7x7像素的区域,或者总计49个像素)。每个补丁能够以单个像素为中心并且能够与以相邻像素为中心的补丁交叠。因此,每个像素能够被多个交叠的补丁覆盖。例如,考虑尺寸7x7的补丁,每个像素将被总计49个交叠的补丁覆盖。
移动到102b,已经执行补丁合成技术的迭代搜索过程以从源区域中识别与目标补丁110a-110d相对应的源补丁108a-108d。在一些实施例中,该迭代搜索过程是在一个图像区域(例如,源区域)中的所有补丁的重复搜索以找到与另一图像区域(例如,目标区域106)最相似的补丁。该最相似的补丁能够在本领域中被称为最近邻或近似最近邻。补丁的相似度能够利用任何补丁距离度量(例如Lp)来比较。下面参考图2至图4和图6讨论这样的搜索过程的额外的细节。一旦已经识别了源补丁108a-108d,目标区域106就能够开始通过补丁合成技术的投票过程来填充。这样的投票过程能够被用于利用源补丁108a-108d来确定针对位于目标区域106内的像素的颜色。如所描绘的,通过搜索数字图像104的源区域找到的源补丁108a-108d是理想源补丁,其可能不能够在被应用的补丁合成技术的任何进一步迭代中被改进。因此,这些部分的目标区域106能够被认为是已经收敛,并且因此将不会从补丁合成技术的任何进一步处理中获益。然而,补丁合成技术将通过许多额外的迭代继续以便生成能够填充目标区域106的经合成的区域。在这些迭代中的每个中,在当前技术状态下,已经收敛的目标区域的部分将再次通过补丁合成技术的搜索和投票过程而被处理,尽管不会对这些已收敛的部分发生变化。
在防止在补丁合成技术中对这些已收敛的部分的这种重复性处理中的至少一些的工作中,在102c处生成活动掩码112。活动掩码112识别已经被确定为已经收敛为不活动区域116a-116d的像素的分组。下面参考图2、图3和图5更详细地讨论对已经收敛的像素的确定。活动掩码112的剩余部分识别活动区域114。补丁合成技术能够被配置为利用活动掩码112并且不再处理在活动掩码112内被识别为位于不活动区域116a-116d的那些像素的分组。将认识到,随着补丁合成技术进行,已经被确定为已经收敛的像素的分组将继续增长。因此,随着补丁合成技术继续,活动掩码能够被持续地更新以反映这种增长。因此,在补丁合成技术的稍后的迭代中活动掩码对处理速度和资源的影响可能被放大。
图2描绘了根据本公开内容的各种实施例的说明性图形编辑环境200的各方面。如所描绘的,图形编辑环境200包括图形编辑器202。图形编辑器202能够是任何适当的图形编辑器,例如Illustrator或Photoshop(两者都可以从加利福尼亚州的圣何塞市的Adobe系统公司获得)。除了其他方面,图形编辑器202能够被配置为提供在操纵数字图像(例如,数字图像204)时方便图形编辑器202的用户的用户界面。
数字图像204表示以数字格式存储的图像(例如,JPEG、BMP、TIFF、PNG、GIF、等等)。数字图像204能够被数字地存储为描绘由数字图像捕获的对象或场景的像素的二位数组。这些像素中的每个被分配以特定信息,例如颜色信息。例如,在一些实施例中,每个像素被分配以红、绿、蓝(RGB)颜色域中的值。RGB颜色域(在本领域中也被称为RGB颜色模型)是颜色的加性表示。在RGB颜色域中,每个像素将通过将红、绿和蓝的量分配给各自的像素而被分配以颜色,在下文中被称为RGB颜色值。该RGB颜色值的组合将表示数字图像内的像素的颜色。将认识到,RGB颜色域仅仅旨在为可能的颜色域的示例,并且本公开内容的教导能够在不脱离本公开内容的范围的情况下被应用到任何颜色域或者颜色的表示。在各种实施例中,数字图像204能够由图像捕获设备产生或捕获。这样的数字图像捕获设备能够例如为文档扫描器、数字相机(视频或静止)、或任何其他适当的数字图像捕获设备。在其他实施例中,数字图像204可以整体地在数字领域(例如,计算机生成的影像库(CGI))中被产生。
图形编辑器202包括图形用户界面(GUI)206。在实施例中,GUI 206被配置为在执行对数字图像204的数字图像编辑技术时方便图形编辑器202的用户。为了实现这一点,GUI206能够被配置为将数字图像204显示给用户并且被配置为接受来自用户的关于数字图像的输入。在实施例中,该输入能够为用户期望利用从源区域汇集的经合成的区域替换的目标区域的选择。GUI 206能够利用该输入来生成能够被用于识别关于数字图像204的目标区域的目标区域信息208。作为示例,用户可以利用GUI 206结合输入设备(例如,触摸传感器、触笔、鼠标、等等)来识别用户期望利用图像修复过程从数字图像204中移除的对象或者识别用户期望利用图像重组过程移动到数字图像内的另一位置的数字图像204的一部分。在一些实施例中,目标区域信息208能够采取能够被用于识别数字图像204内的所选择的目标区域的掩码的形式。在其他实施例中,目标区域信息208能够利用能够被用于识别数字图像204内的所选择的目标区域的一系列坐标的形式(例如,界定框的拐角坐标,或者针对目标区域中的每个像素的坐标)。将认识到,目标区域信息208的这些实施例仅仅旨在说明用于识别数字图像204内的所选择的目标区域的可能的机制以及能够识别能够在不脱离本公开内容的范围的情况下被利用的目标区域的任何其他机制。
为了完成数字图像编辑技术,图形编辑器202包括图像编辑引擎212。图像编辑引擎212包括获取数字图像204和目标区域信息208作为输入。在实施例中,图像编辑引擎212能够包括补丁对应关系搜索模块214、投票模块216和活动掩码模块218。在实施例中,这些模块可以联合地用于迭代地执行如本文中所描述的补丁合成技术。
补丁对应关系搜索模块214能够被配置为执行迭代搜索以针对目标区域中的每个补丁(例如,图1的目标补丁110a-110d)找到数字图像204中的源区域内的最接近的或最相似的补丁(例如,图1的源补丁108a-108d)。在实施例中,该迭代搜索能够采取近似最近邻搜索的形式。近似最近邻搜索的示例包括基于补丁匹配的搜索(例如,PatchMatch)、基于哈希的搜索(例如,一致性敏感哈希(CSH))、基于树的搜索(例如,kd树)、或任何其他适当的近似最近邻搜索。近似最近邻搜索的结果能够被记录在被称为最近邻场(NNF)的映射图中。最近邻场能够被认为是从目标区域中的补丁的集合A到源区域中的补丁的集合B的映射。该映射能够由f:A→B表示。在一些实施例中,最近邻场能够被存储为坐标的集合(例如,被存储在缓冲器或其他适当的介质中)。例如,能够使用符号法使得源区域中的补丁P1被定义为P1=S(i,j),其中,‘i’和‘j’例如反映源区域S中的补丁P的左上角的坐标S。利用该符号法,目标区域中的补丁P2能够被类似地定义为P2=T(k,l)。在这样的符号法中,在补丁S(i,j)与T(k,l)之间的偏移能够被定义为(k-i,l-j)。在其他实施例中,仅仅偏移可以被存储在最近邻场中。
近似最近邻搜索是期望优化或最小化最近邻场的能量函数的迭代优化搜索。这样的能量函数‘E.’能够由方程表示,其中‘D’表示距离函数(例如,L2距离、Lp距离、等等),‘a’表示补丁A的集合中的补丁,并且NN(a)能够由方程argmin D(a,b),表示,其中‘D’同样表示距离函数,‘b’表示补丁B的集合中的补丁,并且argmin表示数学上的最小值的论证的概念。因此,近似最近邻搜索期望找到具有距A中的目标补丁的对应的集合的总计最小距离的源补丁B的集合。
为了完成以上讨论的能量函数的优化,近似最近邻搜索可以在一些实施例中以最近邻场的初始群体开始。该初始群体能够被随机地分配,根据来自先前迭代的最近邻场来导出,或者否则利用针对近似最近邻搜索的初始开始点来填充。在图6A中描绘了随机初始填充。在实施例中,在最近邻场被初始填充的情况下,迭代搜索能够被执行以找到源区域内的改进最近邻场的初始群体的补丁的集合。在一些实施例中,该迭代搜索能够具有两个阶段。第一阶段为传播阶段或线性搜索阶段,其中通过线性搜索(例如,扫描线顺序或反向扫描线顺序)来散播针对目标区域中的相邻像素的良好解(例如,源补丁和相应的目标补丁具有相对小的距离)。在图6B中描绘了这样的传播阶段。第二阶段是随机搜索阶段,其中随机补丁搜索能够在源区域上的同心邻域中被执行以确定这些随机源补丁中的任何是否具有比当前选择的源补丁更小的距离。该随机阶段能够有益于防止近似最近邻搜索陷入极小值。在图6C中描绘了这样的随机阶段。
一旦已经经由近似最近邻搜索找到源补丁的集合B,这些补丁就能够被传递到投票模块216。投票模块216能够被配置为获取源补丁B并且利用这些补丁来确定针对目标区域中的每个像素的颜色。这能够通过考虑与单个像素交叠以将颜色分配给该单个像素的补丁的融合操作来完成。该融合操作的计算成本能够由方程N2*K表示,其中N是补丁的尺寸,假设均匀方形尺寸,而K表示目标区域的像素的数量。在一些实施例中,该融合操作能够是加权融合操作,其中来自最近邻场的所有交叠的补丁的加权和被用于到达针对每个像素的最终颜色。
以上讨论的补丁对应关系搜索模块214和投票模块216能够被用于迭代地细化最近邻场以更好地近似目标区域的所估计的颜色。在一些实施例中,这能够以多分辨率的方式来完成。因此,数字图像204可以在被补丁对应关系搜索模块214和投票模块216处理之前首先从原始分辨率被降采样到预定义分辨率。在已经以该降采样的分辨率执行了足够数量的迭代之后,数字图像204能够被上采样到下一尺度并且处理能够被重复,直到最终数字图像204被上菜样以再次满足原始分辨率。
如果目标区域的区域由相关的源补丁重建,则针对目标区域的对应的像素的值将与源补丁的像素基本上相同,除了在其中不同的相关的源补丁可能交叠的边界处。如本文中所使用的,补丁的一致性意指最近邻场中的移位(例如,偏移)对应于源区域中的等同移位。例如,假设(x,y)是被合成的第一目标补丁的坐标,并且(x’,y’)是与最近邻场中的第一目标补丁相对应的第一源补丁的坐标。也就是说,(x’,y’)是到目前为止已经找到的针对第一目标补丁的最好的源补丁的坐标。如果第二目标补丁由坐标(x+1,y)指示并且对应于由坐标(x’+1,y)指示的第二源补丁,则第一目标补丁和第二目标补丁被认为是相关的。常常在地面真值最近邻场中观察到最近邻场的这种性质。作为副作用,由补丁对应关系搜索模块214返回的近似最近邻场可以包括具有相同的最近邻场偏移的大的相关的区域。因此,经重建的区域常常由大的相关的区域来形成。在一些实例中,这些相关的区域能够以较高的分辨率覆盖大百分比的经合成的区域(例如,处理的稍后迭代)。如以上所提到的,由补丁对应关系搜索模块214实现的近似最近邻搜索是迭代优化搜索,其中每次迭代试图找到针对每个目标补丁的更好的源补丁匹配(例如,较低的距离)。然而,在理想的相关区域中,补丁精确地匹配并且补丁距离通常为零,因此不能够找到更好的补丁。因此,这些相关区域或其中的像素能够被认为是已经收敛。因此,以上讨论的补丁合成技术能够通过在由补丁对应关系搜索模块214和/或投票模块216执行的处理中跳过相关区域来加速。在最后几个越精细的尺度处获得的增益越大,其中花费了算法时间中的大部分。
活动掩码模块218能够被配置为生成活动掩码,活动掩码识别目标区域内的尚未收敛的并且仍然是活动的那些像素和目标区域内的已经收敛的并且不再活动的那些像素。在一些实施例中,活动掩码能够以二元二维数组的形式来存储,该二元二维数组存储针对经合成的目标区域内的每个像素的‘1’或‘0’值。‘1’或‘0’值能够被用于在目标区域内的仍然活动的那些像素与目标区域内的不活动的那些像素之间进行区分。例如,在活动掩码内的坐标(c,d)处的值‘0’能够指示在目标区域内的对应位置处的像素是仍然活动的,而在活动掩码内的坐标(e,f)处的值‘1’能够指示在目标区域内的对应位置处的像素是不活动的。将认识到,这些值还能够被反转,其中‘0’指示活动,并且‘1’指示不活动,而不改变活动掩码的效果。还将认识到,二元掩码仅仅旨在为说明性示例并且不应当被当作对本公开内容的限制。在本文中明确地预见到用于在活动像素与不活动像素之间进行区分的任何其他适当的机制。
为了生成活动掩码,活动掩码模块218能够被配置为将目标区域内的已经收敛的像素的分组识别为不活动区域。在一些实施例中,为了识别目标区域内的已经收敛的这些像素的分组,活动掩码模块218能够被配置为执行对由补丁对应关系搜索模块214产生的最近邻场的一致性分析。例如,在一个实施例中,针对目标区域中的坐标(x,y),邻居的最近邻场一致性能够被评估以确定在目标区域中的位置(x,y)处的像素是活动的还是不活动的。例如,在一些实施例中,对角邻居(例如,(x-1,y-1)、(x+1,y-1)、(x-1,y+1)和(x+1,y+1))最近邻场一致性能够如下面在算法1中呈现的伪代码中描绘的来评估。如能够在下面的算法1的说明性伪代码中看到的,如果相关邻居的数量为3或更大,则在坐标处的像素(x,y)被标记为不活动的,在坐标处的像素(x,y)被标记为活动的。将认识到,来自算法1的activeThreshold值3仅仅旨在为说明性的并且不应当被当作限制性的。作为另一示例,在一些实施例中,紧邻的邻居((x+1,y)、(x-1,y)、(x,y+1)和(x,y-1))的最近邻场一致性能够以与以上描述的方式相似的方式来评估。作为另一示例,在一些实施例中,紧邻的邻居和对角邻居的最近邻场一致性能够结合与以上描述的方式相似的方式来评估。将认识到,以上示例仅仅旨在为说明性的。存在用于建立像素是活动的还是不活动的许多方式,并且本公开内容不应当基于像素以其被确定为活动的或者不活动的方式来限制。
在一些实施例中,活动掩码模块218还能够被配置为通过将在活动掩码内的不活动区域的边缘处的那些像素标记为活动的来腐蚀不活动区域或膨胀活动区域。在这样的实施例中,补丁合成技术的补丁的大小能够被用于确定各像素中的距离以从边缘腐蚀。这能够说明其中不同的相关源补丁的边界可以交叠的实例。例如,考虑为7的补丁宽度。其全部49(例如,7x7)个像素与它们的(例如,对角或紧邻的)四个邻居相关的补丁是源图像中的其最近邻补丁的精确副本(例如,距离=0)。这样的补丁应当不再改变并且因此整个补丁能够被声明为不活动并且针对该补丁的搜索过程和针对该补丁的像素颜色的投票过程能够停止。相反,在这样的示例中,触摸在3个像素的补丁宽度或近似1/2的距离处的活动像素的任何补丁不能够被保证尚未完全收敛并且可能仍然在补丁合成技术的下一迭代中改变。结果,活动掩码内的不活动区域能够在更好地定义活动掩码内的不活动区域的工作中由3个像素腐蚀并且该活动掩码能够被用于下一搜索和/或投票步骤。
由活动掩码模块218生成的活动掩码不需要限于平移域。如本文中所使用的,平移域是指尚未(例如,经由旋转、反射、缩放、透视、等等)被操纵的补丁。平移是在几何中常用的用于描述将对象移动特定距离的函数的术语。在本文讨论的近似最近邻搜索的上下文中,平移专门是指搜索距给定点特定水平和垂直距离的新候选。活动掩码能够同样适用于变换域,其中补丁已经以特定方式来操纵。然而,将认识到,在活动掩码被应用到变换域的情况下,类似的变换域将被应用到以上讨论的一致性分析。例如,如果源补丁已经被旋转90度,则以上讨论的一致性分析还将需要被旋转90度。
一旦已经生成了活动掩码,其就能够由图像编辑引擎212、补丁对应关系搜索模块214和/或投票模块216用于限制由活动掩码识别的不活动像素的进一步处理并且由此减少在补丁合成技术中执行的计算的数量。因此,这些组件中的每个能够被配置为在以上参考这些组件中的每个描述的处理中利用活动掩码。在一些实施例中,活动掩码能够被用于防止对由活动掩码指示为不活动的那些像素的投票。在其他实施例中,来自补丁合成技术的先前迭代的活动掩码能够被用于限制被执行的近似最近邻搜索。在另外的其他实施例中,活动掩码能够甚至被上采样以被用作针对下一向上的尺度的初始活动掩码。下面参考图4的框420更详细地讨论这样的情形。在一些实施例中,能够生成针对每次迭代在补丁合成技术的每个尺度处的活动掩码。在其他实施例中,活动掩码能够用于补丁合成技术内的具体迭代。例如,如早前所提到的,通过利用活动掩码来限制对不活动像素的进一步处理实现的增益在其中花费了处理时间的大部分的最后的几个较精细的尺度处获得更大。因此,活动掩码能够仅仅被使用在这些最后的几个较精细的尺度中。
一旦图像编辑引擎212已经完成了图像编辑技术,得到的经合成的数字图像220就能够被输出(例如,被输出到显示器、打印机、等等)。能够从本文描述的利用活动掩码来减少处理的技术获益的这样的非限制性示例包括:图像修复、图像重组、图像纹理合成、图像重定向、图像扭曲、图像融合、图像纹理插值、图像调和、图像风格转变、按编号的纹理、或操纵最近邻场的任何其他数字图像编辑技术。将认识到,尽管以上的讨论集中于数字图像编辑技术,但是本文讨论的实施例也能够被扩展到空间时间以也被应用到视频应用。因此,本文讨论的实施例能够被扩展到视频修复、视频重组、视频重定向、图像扭曲、视频融合、视频纹理插值、视频调和、视频风格转变、按编号的视频纹理、或包含对最近邻场的操纵的任何其他视频编辑过程。本文中的描述的到这些视频编辑技术的扩展将容易由本领域普通技术理解。
图3图示了根据本公开内容的各种实施例的描绘了示例补丁合成技术的过程流程300。过程流程300能够例如由图2的图形编辑器202执行。如所描绘的,过程流程300能够在框302处开始,其中接收数字图像(例如,图2的数字图像204)。在框304处,还能够接收数字图像的用户期望合成的目标区域的指示。在这样的实施例中,这样的指示能够为(例如,经由图2的GUI 206的)用户期望从源区域合成的目标区域的选择。作为示例,用户能够识别用户期望利用图像修复过程从数字图像中移除的对象或者识别用户期望利用图像重组过程移动到数字图像内的另一位置的数字图像的一部分。
在一些实施例中,补丁合成技术能够以多分辨率的方式来执行。以这样的多分辨率方式,处理可以以低分辨率图像开始并且能够在补丁合成技术中增大分辨率直到实现数字图像的原始分辨率。因此,在框306处,将数字图像的分辨率从原始分辨率降采样到进一步的处理的预期中的预定义分辨率。
能够在框310处执行迭代搜索以针对所选择的目标区域中的每个目标补丁(例如,图1的目标补丁110a-110d)找到数字图像的源区域内的最接近的或最相似的源补丁(例如,图1的源补丁108a-108d)。在实施例中,该迭代搜索能够采取参考图2和图4详细讨论的近似最近邻搜索的形式。
在框312处,能够基于迭代搜索的结果来生成或更新活动掩码。如先前讨论的,活动掩码在目标区域内的尚未收敛的并且因此仍然是活动的那些像素和目标区域内的已经收敛的并且因此不再活动的那些像素之间进行区分。为了生成活动掩码,目标区域内的像素能够(例如,经由以上参考图1讨论的一致性分析)被分析以确定已经收敛的像素的分组。将认识到,活动掩码无需在过程流300的每次迭代中被产生或更新。因此,能够针对一些迭代跳过或省略框312并且针对其他迭代实施框312。参考图1和图5广泛地讨论活动掩码的生成。
基于迭代搜索的结果,能够在框314处执行投票过程以确定针对目标区域中的每个像素的颜色。这能够通过考虑与每个像素交叠以将颜色分配给每个单个像素的源补丁的融合操作来完成。在一些实施例中,该融合操作能够是加权融合操作,其中来自最近邻场的所有交叠的补丁的加权和被用于到达针对每个像素的最终颜色。在其中在框312处生成活动掩码的迭代中,投票过程还能够考虑由活动掩码指示为不活动的那些像素。因此,投票过程将忽略目标区域内的由活动掩码指示为不活动的那些像素,由此消除与那些不活动像素相关联的处理成本。
在框316处,如果存在要以当前尺度执行的更多的迭代,则过程返回到框310,其中上述过程被重复。在一些实施例中,在已经在一次迭代处生成了活动掩码的情况下,可以在框310处在下一迭代中利用活动掩码。在这样的实施例中,在框310处执行的迭代搜索过程将忽略目标区域内的由活动掩码指示为不活动的那些像素,由此消除与那些不活动像素相关联的处理成本。
另一方面,如果不存在要以当前尺度执行的更多的迭代,则过程从框316前进到框318。在框318处,如果存在要处理的更多的尺度,则过程前进到框320,其中数字图像被上采样到下一尺度。在一些实施例中,活动掩码还能够在框320处被上采样。在这样的实施例中,最近的迭代的最近邻场被上采样。这能够是精密的过程,因为无效的像素可以是源/目标映射的结果。然而,为了从活动掩码获得额外的益处,可以期望随着我们从一个尺度到下一尺度维持利用针对第一迭代的现有活动掩码开始的能力。这针对最后的几个尺度能够是尤为重要的,其中可能花费计算预算的大部分。因此,当前的最近邻场能够被上采样并且能够根据该经上采样的最近邻场来生成活动掩码。还将认识到,来自当前尺度的活动掩码能够被用于减少在将图像上采样到下一尺度中进行的处理。一旦数字图像被上采样,处理就返回到框310。如果不存在要处理的更多尺度,则处理能够前进到框322,其中能够输出具有经修改的或经合成的目标区域的最终图像(例如,输出到显示器、打印机、等等)。
图4图示了根据本公开内容的各种实施例的描绘了用于查找以找到来自源区域的具有距针对目标区域的目标补丁的对应的集合的最小可能距离的源补丁的集合的示例近似最近邻搜索的过程流程400。过程流程400能够例如由图2的补丁对应关系搜索模块202执行。如所描绘的,过程流程400能够在框402处开始,其中在所描绘的实施例中,最近邻场以随机的方式来初始地填充。在其他实施例中,该初始填充能够根据来自(例如,图3的过程300的)先前迭代的最近邻场来导出,或者否则利用针对近似最近邻搜索的初始开始点来填充。在图6A中描绘了随机初始填充。从最近邻场的该初始填充,在框404处,迭代搜索能够被执行以找到源区域内的改进最近邻场的初始群体的补丁的集合。在一些实施例中,该迭代搜索能够具有两个阶段。第一阶段为传播阶段或线性搜索阶段,其中通过线性搜索(例如,扫描线顺序或反向扫描线顺序)来散播针对目标区域中的相邻像素的良好解(例如,源补丁和相应的目标补丁具有相对小的距离)。在图6B中描绘了这样的传播阶段。第二阶段是随机搜索阶段,其中随机补丁搜索能够在源区域上的同心邻域中被执行以确定这些随机源补丁中的任何是否具有比当前选择的源补丁更小的距离。该随机阶段能够有益于防止近似最近邻搜索陷入极小值。在图6C中描绘了这样的随机阶段。
在框406处,做出关于最近邻场是否可从先前迭代获得的确定。如果最近邻场不可从先前迭代获得,则处理前进到框410,其中存储在框404处产生的最近邻场。另一方面,如果最近邻场可从先前迭代获得,则处理能够前进到框408,其中针对最近邻场内的每个位置选择具有距当前最近邻场和先前最近邻场内的每个位置的更小的距离。处理能够前进到框410。
在框410处,在框404处执行的迭代搜索能够在进一步细化最近邻场的尝试中被重复。从框410,过程流程能够前进到框412,其中存储最近邻场。将认识到,在过程流程400中,处理目标区域内的每个像素。因此,在其中活动掩码可获得的实施例中,过程流程400能够被配置为忽视由活动掩码指示为不活动的那些像素的处理,其能够节省处理时间并加快近似最近邻搜索。
图5图示了根据本公开内容的各种实施例的描绘了针对目标区域的示例活动掩码生成的过程流程500。过程流程500能够例如由图2的活动掩码模块218执行。如所描绘的,过程流程500能够在框502处开始,其中识别目标区域的已经收敛的部分。在一些实施例中,为了识别目标区域的已经收敛的这些部分,能够对目标区域的最近邻场执行例如参考图1讨论的一致性分析。
在框504处,基于已经被确定为目标区域的已经收敛的那些部分来填充活动掩码。在一些实施例中,这能够包括填充二元二维数组,该二元二维数组存储针对目标区域内的每个像素的‘1’或‘0’值。‘1’或‘0’值能够被用于在目标区域内的仍然活动的那些像素与目标区域内的不活动的那些像素之间进行区分。还将认识到,二元掩码仅仅旨在为说明性示例并且不应当被当作对本公开内容的限制。在本文中明确地预见到用于在活动像素与不活动像素之间进行区分的任何其他适当的机制。
在框506处,能够通过将在活动掩码内的不活动区域的边缘处的那些像素标记为活动的来腐蚀活动掩码的不活动区域。在这样的实施例中,在处理目标区域中利用的补丁合成技术的补丁的大小能够被用于确定各像素中的距离以从边缘腐蚀。这能够说明其中不同的相关源补丁的边界可以交叠的实例。例如,考虑为7的补丁宽度。其全部49(例如,7x7)个像素与它们的(例如,对角或紧邻的)四个邻居相关的补丁被保证为源图像中的其最近邻补丁的精确副本(例如,距离=0)。这样的补丁应当不再改变并且因此整个补丁能够被声明为不活动并且针对该补丁的另外的搜索和/或投票过程能够停止。相反,在这样的示例中,触摸在3个像素的补丁宽度或近似1/2的距离处的活动像素的任何补丁不能够被保证尚未完全收敛并且可能仍然在补丁合成技术的下一迭代中改变。结果,活动掩码内的不活动区域能够在更好地定义活动掩码内的不活动区域的工作中由3个像素腐蚀并且该活动掩码能够被用于下一搜索和/或投票步骤。
图6A到图6C示出了根据本公开内容的各种实施例的作为补丁合成技术的部分而被执行的搜索过程的说明性示例。图6A描绘用于填充图像A的目标区域602的搜索过程的随机初始化阶段。如图6A中所描绘的,针对由604统一表示的目标补丁中的每个的最近邻场已经被随机地初始化以映射到如由连接各个补丁的箭头指示的源补丁608a-c。这些映射能够在近似最近邻搜索的一次或多次迭代中被改进,其中的示例被描绘在图6B和图6C中。
在一些实施方式中,传播阶段能够如图6B所图示的来执行。例如,假设图像A中的补丁604已经被映射到如箭头所指示的图像B中的补丁608。补丁604中的每个的相邻补丁能够现在被评估以确定它们具有什么映射,并且这些映射中的任何能够被应用到补丁604中的任何以获得更好的结果(例如,更小的距离)。在一些实施方式中,算法能够检查四个紧邻像素或者定义的直径(例如,2或4)的圆形或方形邻域中的所有像素,和/或在其处进行传播的像素的固定距离内的像素的任何子集,仅仅举出几例。术语传播指示针对一个补丁的良好映射能够被传播到相邻补丁以改进它们的映射。因此,例如,如果对应关系的局部极小值存在于补丁604周围的邻域的映射中,则其能够在传播阶段中被检测到。
在一些情形下,传播阶段可能找不到全局地最好映射并且可能陷入极小值。因此能够如图6C中示意性地图示地使用诸如随机搜索阶段的扰动。这里,由604表示的个体补丁被初始地映射到610,例如从图6C中描绘的传播阶段得到的。一个或多个随机地选择的补丁能够之后被评估。例如,能够在图像B中随机地选择补丁X、Y和Z。在一些实施方式中,补丁X-Z被选择以已经逐渐地增大或减小距图像B中的原始映射目标的位置的距离。例如,能够使用包括相邻位置(例如,补丁Y)和更远的位置(例如,补丁Z)的随机分布,其中分布经由分布函数对相邻位置的距离比将从均匀采样获得的距离放置更大权重。补丁X-Z能够被评估以确定这些补丁中的任何具有与补丁604的更好的对应关系(例如,更小的距离)。
图7是根据本公开内容的各种实施例的补丁合成技术(例如以上详细描述的补丁合成技术)的一次迭代700的各方面的视觉描绘。如所描绘的,在具有目标区域704的图像702上执行补丁合成技术。迭代700是以新的尺度的第一迭代。在706处,随机地初始化针对所描绘的迭代的初始最近邻场。在图6A中描绘了这样的随机初始化。在708处,执行具有两个阶段(线性阶段和随机阶段)的迭代搜索以改进随机地分配的最近邻场。参考图2和图4详细讨论这样的迭代搜索并且在图6B至图6C中描绘了这样的迭代搜索。在710处,选择在来自先前迭代712的最近邻场与当前迭代的最近邻场之间的最好解,在其之后执行另一迭代搜索。在714处,如以上详细地描述的生成活动掩码。活动掩码的黑色区域反映被初始地认为是不活动的那些像素,而白色区域反映被认为是活动的那些像素。在716处,对活动掩码的黑色区域的边缘进行腐蚀(即,对不活动区域进行腐蚀)。在718处,对在活动掩码中被指示为活动的那些像素执行诸如本文其他地方描述的投票过程。因此,在活动掩码中被指示为不活动的那些像素不在投票过程中被处理,并且因此减少利用活动掩码的处理时间。
图8是根据本公开内容的各种实施例的补丁合成技术(例如,以上详细描述的补丁合成技术)的一次迭代800的各方面的另一视觉描绘。如关于图7所描述的,在具有目标区域704的图像702上执行补丁合成技术。为清楚起见,不再图8中重新产生图像702和目标区域704。迭代800描绘补丁合成技术的以新的尺度的利用来自第一迭代的活动掩码804的补丁合成技术的第二迭代。迭代800中描绘的尺度是比图7的迭代800中描绘的尺度更靠后的尺度。在806处,随机地初始化初始最近邻场。在图6A中描绘了这样的随机初始化。如能够从随机地初始化的最近邻场的平滑区域看到的,在806处不处理位于活动掩码804的不活动的黑色的区域内的那些像素。在808处,执行具有两个阶段(线性阶段和随机阶段)的迭代搜索以改进随机地分配的最近邻场。参考图2和图4详细讨论了这样的迭代搜索并且在图6B至图6C中描绘了这样的迭代搜索。将认识到,尽管不可在所描绘的图像中检测到,但在808处不处理位于活动掩码804的不活动的黑色的区域内的那些像素。在810处,选择在来自先前迭代的最近邻场与当前迭代的最近邻场之间的最好解,在其之后执行另一迭代搜索。同样,将认识到,尽管不可在所描绘的图像中检测到,但在810处不处理位于活动掩码804的不活动的黑色的区域内的那些像素。在812处,生成针对当前迭代的活动掩码。同样,在812处生成的活动掩码的黑色区域反映被初始地认为是不活动的那些像素,而白色区域反映被认为是活动的那些像素。在814处,对在812处生成的活动掩码的黑色区域的边缘进行腐蚀。在816处,对在812处生成的活动掩码中被指示为活动的那些像素执行诸如本文其他地方描述的投票过程。因此,在活动掩码中被指示为不活动的那些像素不在投票过程中被处理,并且因此减少利用活动掩码的处理时间。
如以上所描述的,来自先前迭代的活动掩码804已经被用于减少在具有单星号的这些过程中的全部中包含的处理,而来自当前迭代的活动掩码被用于减少在如由双星号描绘的投票过程中包含的处理。因此,对活动掩码的使用的计算节省乘以这些过程中的每个。在这样的补丁合成技术的最终尺度中,例如,不活动的像素的数量能够为像素的70%或更多。在这样的水平中利用活动掩码能够得到在单单这样的最后水平上的35%或更多的计算节省。尽管已经在迭代800的过程806-810和816中的每个中利用了活动掩码,但是将认识到这不是要求的并且仅仅例示活动掩码能够被用于计算节省的示例过程。在这些过程中的甚至一个过程中对活动掩码的使用将得到计算节省,并且因此,这些过程中的任何一个或多个过程能够与活动掩码一起使用。
已经描述了本发明的实施例,下面描述本发明的实施例可以被实现在其中的示例操作环境以便提供针对本发明的各个方面的总体背景。参考图9,示出了用于实现本发明的实施例的说明性操作环境并且一般地将其指定为计算设备900。计算设备900仅仅是适当的计算环境的一个示例并且不旨在暗示对本发明的使用或功能的范围的任何限制。计算设备900不应当被解释为具有与图示的组件中的任何一个或组合相关的任何依赖性或要求。
本发明的实施例可以在计算机代码或机器可使用指令的总体背景下来描述,计算机代码或机器可使用指令包括诸如程序模块的计算机可执行指令,其由计算机或诸如智能电话或其他手持设备的其他机器运行。一般地,包括例程、程序、对象、组件、数据结构、等等的程序模块或引擎是指执行特定任务或实现特定抽象数据类型的代码。本发明的实施例可以在各种系统配置中来实践,各种系统配置包括手持设备、消费电子、通用计算机、更专用的计算设备、等等。本发明的实施例还可以在分布式计算环境中来实践,其中任务由通过通信网络链接的远程处理设备执行。
参考图9,计算设备900包括直接地或间接地耦合以下设备的总线910:存储器912、一个或多个处理器914、一个或多个呈现组件916、输入/输出端口918、输入/输出组件920、和说明性电源922。总线910表示什么是一个或多个总线(例如,地址总线、数据总线或其组合)。尽管为了清楚起见利用清楚勾画的线市场了图9的各个框,但是实际上这样的勾画不是如此清楚的并且这些线可以交叠。例如,也可以将诸如显示设备的呈现组件任务是I/O组件。此外,处理器一般具有形式为缓存的存储器。我们识别到这种是技术的本质,并且对图9的示意图的迭代仅仅说明能够结合本公开内容的一个或多个实施例使用的示例计算设备。不再诸如“工作站”、“服务器”、“笔记本电脑”、“手持设备”、等等的种类之间进行区分,因为其全部被预见在图9的范围内并且称为“计算设备”。
计算设备900通常包括各种计算机可读介质。计算机可读介质能够是能够由计算设备900访问的任何可用介质并且包括易失性存储器和非易失性存储器、可移动存储器和不可移动存储器两者。通过举例而非限制性的方式,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括在任何方法或技术中实现的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的易失性介质和非易失性介质、可移动介质和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多用盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能够被用于存储期望的信息并且能够由计算设备100访问的任何其他介质。计算机存储介质包括信号本身。
通信介质通常实现计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的经调制的数据信号中的其他数据并且包括任何信息递送介质。术语“经调制的数据信号”意指具有以使得将信息编码在信号中的方式来设置或改变的其特性中的一个或多个特性的信号。通过举例而非限制性的方式,通信介质包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学介质、RF介质、红外介质和其他无线介质)。以上中的任何的组合还应当被包含在计算机可读介质的范围内。
存储器912包括以易失性存储器和/或非易失性存储器的形式的计算机存储介质。如所描绘的,存储器912包括指令924。当由(一个或多个)处理器914运行时,指令924被配置为使计算设备执行本文参考以上讨论的附图描述的操作中的任何或者被配置为实现本文描述的任何程序模块。存储器可以是可移动的、不可移动的或其组合。说明性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器、等等。计算设备900包括从诸如存储器912或I/O组件920的各种实体读取数据的一个或多个处理器。(一个或多个)呈现组件916将数据指示呈现给用户或其他设备。说明性呈现组件包括显示设备、扬声器、打印组件、振动组件、等等。
I/O端口918允许计算设备900被逻辑地耦合到包括I/O组件920的其他设备,其中的一些可以被内置。说明性组件包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、打印机、无线设备、等等。
已经参考旨在在所有方面为说明性而非限制性的特定实施例中描述了本文呈现的实施例。本公开内容涉及的不脱离其范围的备选实施例对于本领域普通技术人员而言将变得显而易见。
从上文中,将看到本公开内容非常适于获得上文阐述的所有目的和目标以及显而易见的并且结构固有的其他优点。
将理解,特定特征和子组合是通用的并且可以在没有引用其他特征或子组合的情况下来采用。这由权利要求的范围预见到并且在权利要求的范围内。
在前面的详细描述中,对附图进行参考,附图形成其部分,其中类似的附图标记在其中指代类似的部分,并且其中通过说明的方式示出了可以实践的实施例。应理解,可以在不脱离本公开内容的范围的情况下利用其它实施例并且可以进行结构或逻辑改变。因此,前面的详细描述不应当在限制性的意义上来理解,并且各实施例的范围由随附权利要求和其等价要件限定。
已经使用由本领域技术人员常用的术语描述了说明性实施例的各个方面以将他们的工作的实质内容传达给本领域技术人员。然而,对于本领域技术人员而言将显而易见的是备选实施例可以利用所描述的方面中的一些方面来实践。为了解释的目的,阐述了具体数量、材料和配置以便提供对说明性实施例的透彻理解。然而,对于本领域技术人员而言将显而易见的是备选实施例可以在没有具体细节的情况下来实践。在其他实例中,公知的特征已经被省略或简化以便不使说明性实施例模糊不清。
各种操作已经被描述为多个分立的操作,继而,在最有助于理解说明性实施例的方式中;然而,描述的顺序不应当被理解为暗示这些操作必需是顺序相关的。具体地,这些操作无需按呈现的顺序来执行。另外,将各操作描述为单独的操作不应当被理解为要求各操作必需独立地和/或由单独的实体执行。将各实体和/或各模块描述为单独的模块应当同样地不应被理解为要求各模块是单独的和/或执行单独的操作。在各种实施例中,所图示的和/或所描述的操作、实体、数据和/或模块可以被合并、被分解成另外的子部分和/或被省略。
短语“在一个实施例中”或“在实施例中”被重复地使用。该短语一般不是指相同的实施例;然而,其可以是指相同的实施例。术语“包括”、“具有”和“包含”是同义词,除非上下文另行指出。短语"A/B"意指"A或B"。短语"A和/或B"意指"(A)、(B)或(A和B)"。短语“A、B和C中的至少一个”意指“(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)”。
Claims (20)
1.一个或多个其上存储有指令的计算机可读存储介质,所述指令当由计算设备的一个或多个处理器运行时,向所述计算设备提供图形编辑器,所述图形编辑器用于:
接收识别图像内的要被合成的目标区域的输入;
执行补丁合成技术以基于由所述补丁合成技术识别的源区域的部分来合成所述目标区域,所述补丁合成技术的至少一次迭代包括:
生成活动掩码,所述活动掩码将所述目标区域的一个或多个部分指示为不活动的,所述一个或多个部分由已经收敛的像素的分组组成,其中所述补丁合成技术的至少一个过程忽略由针对所述补丁合成技术的所述至少一次迭代的所述活动掩码指示为不活动的所述一个或多个部分。
2.根据权利要求1所述的一个或多个计算机可读存储介质,其中生成活动掩码还包括:
执行对所述目标区域的个体像素的一致性分析;以及
至少部分地基于所述一致性分析来识别已经收敛的像素的所述分组。
3.根据权利要求2所述的一个或多个计算机可读存储介质,其中识别已经收敛的像素的分组基于在像素的所述分组内所确定的每个像素的相邻像素的集合的一致性。
4.根据权利要求2所述的一个或多个计算机可读存储介质,其中生成活动掩码还包括:
基于所述一致性分析来识别已经潜在收敛的像素的分组,其中所述识别已经收敛的像素的所述分组进一步基于由预定数量的像素对已经潜在收敛的像素的所述分组的腐蚀。
5.根据权利要求4所述的一个或多个计算机可读存储介质,其中所述预定数量的像素基于在所述补丁合成技术中利用的补丁大小。
6.根据权利要求1所述的一个或多个计算机可读存储介质,其中执行补丁合成技术包括:
执行近似最近邻搜索过程以识别要在合成所述目标区域中利用的、所述源区域的部分;以及
基于所识别的所述源区域的部分执行投票过程以生成针对所述目标区域内的个体像素的颜色。
7.根据权利要求6所述的一个或多个计算机可读存储介质,其中忽略由所述活动掩码指示为不活动的所述一个或多个部分的所述补丁合成技术的所述至少一个过程包括所述投票过程。
8.根据权利要求6所述的一个或多个计算机可读存储介质,其中所述补丁合成技术的所述至少一次迭代利用来自所述补丁合成技术的先前迭代的活动掩码,并且其中对所述近似最近邻搜索过程的执行忽略在来自所述先前迭代的所述活动掩码内的被识别为不活动的那些像素。
9.一种用于合成数字图像的计算机实现的方法,包括:
接收识别图像内的要利用经合成的区域替换的目标区域的输入;
执行补丁合成技术以基于由所述补丁合成技术识别的源区域的部分来合成所述目标区域,所述补丁合成技术的至少一次迭代包括:
执行对所述目标区域内的像素的一致性分析;以及
基于所述一致性分析的结果来生成活动掩码,所述活动掩码将经合成的区域的一个或多个部分指示为不活动的,所述一个或多个部分由已经被确定为已经收敛的像素的分组组成,其中所述补丁合成技术的至少一个过程忽略由针对所述补丁合成技术的至少一次迭代的所述活动掩码指示为不活动的所述一个或多个部分。
10.根据权利要求9所述的计算机实现的方法,还包括:
基于在像素的所述分组内所确定的每个像素的相邻像素的集合的一致性来识别已经收敛的像素的所述分组。
11.根据权利要求9所述的计算机实现的方法,其中生成活动掩码还包括:
基于所述一致性分析来识别已经潜在收敛的像素的分组;以及
基于由预定数量的像素对已经潜在收敛的像素的所述分组的腐蚀来识别已经收敛的像素的所述分组。
12.根据权利要求9所述的计算机实现的方法,其中执行补丁合成技术包括:
执行近似最近邻搜索过程以识别要在合成所述目标区域中利用的、所述源区域的部分;以及
通过投票过程、基于所识别的所述源区域的部分来生成针对所述目标区域内的个体像素的颜色。
13.根据权利要求12所述的计算机实现的方法,其中忽略由所述活动掩码指示为不活动的所述一个或多个部分的所述补丁合成技术的所述至少一个过程包括所述投票过程。
14.根据权利要求12所述的计算机实现的方法,其中所述补丁合成技术的所述至少一次迭代利用来自所述补丁合成技术的先前迭代的活动掩码,并且其中对所述近似最近邻搜索过程的执行忽略在来自所述先前迭代的所述活动掩码内的被识别为不活动的那些像素。
15.一种用于合成数字图像的计算系统,包括:
一个或多个处理器;以及
一个或多个其上存储有指令的计算机可读存储介质,其与所述一个或多个处理器耦合,所述指令当由所述一个或多个处理器运行时,向所述计算系统提供图形编辑器,所述图形编辑器用于:
接收识别图像内的要被合成的目标区域的输入;
执行补丁合成技术以基于由所述补丁合成技术识别的源区域的部分来合成所述目标区域,所述补丁合成技术的至少一次迭代包括:
生成活动掩码,所述活动掩码将所述目标区域的一个或多个部分指示为不活动的,所述一个或多个部分由已经收敛的像素的分组组成,其中所述补丁合成技术的至少一个过程忽略由针对所述补丁合成技术的所述至少一次迭代的所述活动掩码指示为不活动的所述一个或多个部分。
16.根据权利要求15所述的计算系统,其中生成活动掩码还包括:
执行所述目标区域的个体像素的一致性分析;以及
至少部分地基于所述一致性分析来识别已经收敛的像素的所述分组。
17.根据权利要求16所述的计算系统,其中识别已经收敛的像素的分组基于在像素的所述分组内所确定的每个像素的相邻像素的集合的一致性。
18.根据权利要求16所述的计算系统,其中生成活动掩码还包括:
基于所述一致性分析来识别已经潜在收敛的像素的分组,其中所述识别已经收敛的像素的所述分组进一步基于由预定数量的像素对已经潜在收敛的像素的所述分组的腐蚀。
19.根据权利要求15所述的计算系统,其中执行补丁合成技术包括:
执行近似最近邻搜索过程以识别要在合成所述目标区域中利用的所述源区域的部分;以及
执行基于所识别的所述源区域的部分来生成针对所述目标区域内的个体像素的颜色的投票过程,其中忽略由所述活动掩码指示为不活动的所述一个或多个部分的所述补丁合成技术的所述至少一个过程包括所述投票过程。
20.根据权利要求19所述的计算系统,其中所述补丁合成技术的所述至少一次迭代利用来自所述补丁合成技术的先前迭代的活动掩码,并且其中对所述近似最近邻搜索过程的执行忽略在来自所述先前迭代的所述活动掩码内的被识别为不活动的那些像素。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/945,308 | 2015-11-18 | ||
US14/945,308 US9710898B2 (en) | 2015-11-18 | 2015-11-18 | Image synthesis utilizing an active mask |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106709871A true CN106709871A (zh) | 2017-05-24 |
CN106709871B CN106709871B (zh) | 2021-11-05 |
Family
ID=57234412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610827271.3A Active CN106709871B (zh) | 2015-11-18 | 2016-09-14 | 利用活动掩码的图像合成的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9710898B2 (zh) |
CN (1) | CN106709871B (zh) |
AU (1) | AU2016225944B2 (zh) |
DE (1) | DE102016011380A1 (zh) |
GB (1) | GB2544590B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276818A (zh) * | 2018-03-14 | 2019-09-24 | 奥多比公司 | 用于自动合成内容感知填充的交互式系统 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10115032B2 (en) * | 2015-11-04 | 2018-10-30 | Nec Corporation | Universal correspondence network |
US9870638B2 (en) * | 2016-02-24 | 2018-01-16 | Ondrej Jamri{hacek over (s)}ka | Appearance transfer techniques |
US9852523B2 (en) | 2016-02-24 | 2017-12-26 | Ondrej Jamri{hacek over (s)}ka | Appearance transfer techniques maintaining temporal coherence |
US10558342B2 (en) * | 2016-07-28 | 2020-02-11 | Troy Plota | Automated pixel shifting within a digital image |
US10621469B2 (en) * | 2016-07-28 | 2020-04-14 | Troy Plota | Automated pixel shifting within a video file |
US10453253B2 (en) | 2016-11-01 | 2019-10-22 | Dg Holdings, Inc. | Virtual asset map and index generation systems and methods |
US10930086B2 (en) | 2016-11-01 | 2021-02-23 | Dg Holdings, Inc. | Comparative virtual asset adjustment systems and methods |
EP3649618A1 (en) | 2017-07-03 | 2020-05-13 | Artomatix Ltd. | Systems and methods for providing non-parametric texture synthesis of arbitrary shape and/or material data in a unified framework |
US10699453B2 (en) * | 2017-08-17 | 2020-06-30 | Adobe Inc. | Digital media environment for style-aware patching in a digital image |
US10614557B2 (en) | 2017-10-16 | 2020-04-07 | Adobe Inc. | Digital image completion using deep learning |
US10672164B2 (en) | 2017-10-16 | 2020-06-02 | Adobe Inc. | Predicting patch displacement maps using a neural network |
US11037019B2 (en) | 2018-02-27 | 2021-06-15 | Adobe Inc. | Generating modified digital images by identifying digital image patch matches utilizing a Gaussian mixture model |
US10586311B2 (en) * | 2018-03-14 | 2020-03-10 | Adobe Inc. | Patch validity test |
US10755391B2 (en) | 2018-05-15 | 2020-08-25 | Adobe Inc. | Digital image completion by learning generation and patch matching jointly |
KR20200080926A (ko) * | 2018-12-27 | 2020-07-07 | 삼성전자주식회사 | 영상 처리 장치 및 그 영상 처리 방법 |
US10762680B1 (en) | 2019-03-25 | 2020-09-01 | Adobe Inc. | Generating deterministic digital image matching patches utilizing a parallel wavefront search approach and hashed random number |
CN110766625B (zh) * | 2019-10-15 | 2022-04-19 | 中国科学院光电技术研究所 | 一种数字图像掩模的快速填充方法 |
US11449974B2 (en) | 2019-11-08 | 2022-09-20 | Adobe Inc. | Generating modified digital images utilizing nearest neighbor fields from patch matching operations of alternate digital images |
FR3106014A1 (fr) * | 2020-01-02 | 2021-07-09 | Orange | Synthèse itérative de vues à partir de données d’une vidéo multi-vues |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080310755A1 (en) * | 2007-06-14 | 2008-12-18 | Microsoft Corporation | Capturing long-range correlations in patch models |
CN202172173U (zh) * | 2011-06-29 | 2012-03-21 | 富士康(昆山)电脑接插件有限公司 | 电子卡连接器 |
US20130163884A1 (en) * | 2010-10-27 | 2013-06-27 | Adobe Systems Incorporated | Image Processing Using Image Web |
US20150023539A1 (en) * | 2012-07-17 | 2015-01-22 | Starkey Laboratories, Inc. | System and method for embedding conductive traces into hearing assistance device housings |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8861868B2 (en) * | 2011-08-29 | 2014-10-14 | Adobe-Systems Incorporated | Patch-based synthesis techniques |
WO2014155913A1 (ja) | 2013-03-25 | 2014-10-02 | パナソニック株式会社 | 画像補間装置、画像処理装置および画像補間方法 |
-
2015
- 2015-11-18 US US14/945,308 patent/US9710898B2/en active Active
-
2016
- 2016-09-09 GB GB1615368.6A patent/GB2544590B/en active Active
- 2016-09-12 AU AU2016225944A patent/AU2016225944B2/en active Active
- 2016-09-14 CN CN201610827271.3A patent/CN106709871B/zh active Active
- 2016-09-20 DE DE102016011380.4A patent/DE102016011380A1/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080310755A1 (en) * | 2007-06-14 | 2008-12-18 | Microsoft Corporation | Capturing long-range correlations in patch models |
US20130163884A1 (en) * | 2010-10-27 | 2013-06-27 | Adobe Systems Incorporated | Image Processing Using Image Web |
CN202172173U (zh) * | 2011-06-29 | 2012-03-21 | 富士康(昆山)电脑接插件有限公司 | 电子卡连接器 |
US20150023539A1 (en) * | 2012-07-17 | 2015-01-22 | Starkey Laboratories, Inc. | System and method for embedding conductive traces into hearing assistance device housings |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276818A (zh) * | 2018-03-14 | 2019-09-24 | 奥多比公司 | 用于自动合成内容感知填充的交互式系统 |
Also Published As
Publication number | Publication date |
---|---|
GB2544590A (en) | 2017-05-24 |
DE102016011380A1 (de) | 2017-05-18 |
AU2016225944A1 (en) | 2017-06-01 |
GB2544590B (en) | 2019-10-09 |
CN106709871B (zh) | 2021-11-05 |
AU2016225944B2 (en) | 2021-04-01 |
GB201615368D0 (en) | 2016-10-26 |
US20170140514A1 (en) | 2017-05-18 |
US9710898B2 (en) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106709871A (zh) | 利用活动掩码的图像合成 | |
Berger et al. | A survey of surface reconstruction from point clouds | |
RU2424561C2 (ru) | Обучение сверточных нейронных сетей на графических процессорах | |
US8861869B2 (en) | Determining correspondence between image regions | |
US11232632B2 (en) | Learning-based 3D model creation apparatus and method | |
JP2018514031A (ja) | DeepStereo:実世界の画像から新たなビューを予測するための学習 | |
TWI549094B (zh) | 區塊消除之裝置與方法 | |
Lu et al. | Learning ego 3d representation as ray tracing | |
US20170213396A1 (en) | Virtual changes to a real object | |
US9800852B1 (en) | Color reconstruction | |
CN111667030A (zh) | 基于深度神经网络实现遥感图像目标检测的方法、系统及其存储介质 | |
Couturier et al. | Image denoising using a deep encoder-decoder network with skip connections | |
CN112562001B (zh) | 一种物体6d位姿估计方法、装置、设备及介质 | |
Martin et al. | MaterIA: Single Image High‐Resolution Material Capture in the Wild | |
Song et al. | Weakly-supervised stitching network for real-world panoramic image generation | |
US11200645B2 (en) | Previewing a content-aware fill | |
WO2023196057A1 (en) | Repairing image depth values for an object with a light absorbing surface | |
Dey | Image Processing Masterclass with Python: 50+ Solutions and Techniques Solving Complex Digital Image Processing Challenges Using Numpy, Scipy, Pytorch and Keras (English Edition) | |
CN111696056B (zh) | 一种基于多任务迁移学习的数字档案图像的矫正方法 | |
KR102085334B1 (ko) | 회전된 사물 인식 방법 및 장치 | |
Schindler | Geometry and construction of straight lines in log-polar images | |
US10586311B2 (en) | Patch validity test | |
Bielski et al. | Order independent image compositing | |
Kehl et al. | Mapping field photographs to textured surface meshes directly on mobile devices | |
US11854131B2 (en) | Content-specific-preset edits for digital images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |