CN108022270A - 使用基于预言的概率采样的图像补丁匹配 - Google Patents
使用基于预言的概率采样的图像补丁匹配 Download PDFInfo
- Publication number
- CN108022270A CN108022270A CN201710576025.XA CN201710576025A CN108022270A CN 108022270 A CN108022270 A CN 108022270A CN 201710576025 A CN201710576025 A CN 201710576025A CN 108022270 A CN108022270 A CN 108022270A
- Authority
- CN
- China
- Prior art keywords
- patch
- image patch
- image
- approximate
- patches
- 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
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000004422 calculation algorithm Methods 0.000 claims description 84
- 238000005070 sampling Methods 0.000 claims description 43
- 238000004458 analytical method Methods 0.000 claims description 24
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000009471 action Effects 0.000 description 67
- 238000003860 storage Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000000919 ceramic Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000005315 stained glass Substances 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- AXDJCCTWPBKUKL-UHFFFAOYSA-N 4-[(4-aminophenyl)-(4-imino-3-methylcyclohexa-2,5-dien-1-ylidene)methyl]aniline;hydron;chloride Chemical compound Cl.C1=CC(=N)C(C)=CC1=C(C=1C=CC(N)=CC=1)C1=CC=C(N)C=C1 AXDJCCTWPBKUKL-UHFFFAOYSA-N 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000010981 turquoise Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开指向用于图像补丁匹配的系统和方法。具体地,本文描述的系统和方法对图像补丁进行采样来标识与目标图像补丁匹配的那些图像补丁。本文描述的系统和方法基于预言而概率性地接受图像补丁提议作为潜在的匹配。预言进行评估在计算上是廉价的,但是比相似度启发法更近似。系统和方法使用预言来快速地将搜索引导到更可能具有匹配的搜索空间的区域。当标识可能包括匹配的区域时,系统和方法使用更精确的相似度函数来标识补丁匹配。
Description
背景技术
存在许多软件应用程序来帮助用户使用各种编辑工具创建和编辑图像和视频。这些工具的功能范围从初步调整大小和裁剪到更复杂的灯光调整和对象操纵。补丁匹配是图像编辑软件中经常使用的一个过程。补丁匹配搜索共享一个或多个属性的图像的部分。补丁匹配技术允许从图像中去除不需要的对象、绘制新对象以匹配图像、立体匹配、纹理合成以及以各种方式改变数字图像。
补丁匹配基于空间相干性搜索类似的图像补丁。具体地,常规补丁匹配是基于使用随机采样来找到良好的匹配并且使用图像中的自然一致性将这种匹配快速传播到周围区域。常规的补丁匹配在数字图像的相应的图像补丁上进行扫描,并计算距离或相似度得分。一个这种相似度得分涉及像素值之间的平方和距离。相同的补丁(即匹配)具有零的平方和距离。通常,为图像中每个像素的找到最佳补丁匹配需要大量的平方和距离的评估。
虽然补丁匹配比强力搜索更快,但常规补丁匹配技术存在问题。例如,常规补丁匹配在大型搜索空间中较慢。由于搜索空间的高维度,当允许补丁旋转和缩放(即,使用广义补丁匹配)时,常规补丁匹配的速度进一步减慢。
发明内容
本文所描述的一个或多个实施例利用以更高速度提供图像补丁匹配的系统和方法提供了优点并解决了本领域中的一个或多个前述或其他问题。具体地,本文描述的系统和方法通过采用预言(oracle)来提高查找补丁匹配的收敛速度。预言进行评估在计算上是廉价的,但是比诸如平方和距离的相似度函数更近似。系统和方法使用预言来快速地将搜索引导到更有可能具有匹配的搜索空间的区域。更具体地,系统和方法使用在基于预言的概率的基础上接受图像补丁的概率算法来从图像中采样补丁,以进一步进行评估。基于预言的概率算法使得系统和方法花费更多的时间来探索搜索空间中可能匹配的区域。当标识出可能包含匹配的区域时,系统和方法使用更准确的相似度启发法(heuristic)来标识补丁匹配。
本申请的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过实践这些示例性实施例来了解。
附图说明
本公开将通过参考附图以额外的明确性和细节来描述本发明的一个或多个实施例。以下段落简要地描述了这些图,其中:
图1图示了计算设备上的屏幕,其示出了根据一个或多个实施例的标识出与目标图像补丁匹配的图像补丁的补丁匹配系统的示例;
图2图示了示意图,其示出了根据一个实施例的近似相似度启发法引导朝向可能的补丁匹配的搜索的方式;
图3图示了示例数字图像,其示出了根据一个或多个实施例的其中补丁匹配系统标识图像补丁匹配的采样的简化示例;
图4A-图4B图示了示出根据一个或多个实施例的广义补丁匹配的结果与由补丁匹配系统产生的结果的比较的示例重建图像;
图5图示了量化图4A和图4B的结果的误差绘图;
图6图示了根据一个或多个实施例的补丁匹配系统的示意图;
图7图示了根据一个或多个实施例的补丁匹配系统在其中操作的示例环境;
图8图示了根据一个或多个实施例的标识图像补丁匹配的方法中的一系列动作的流程图;
图9图示了根据一个或多个实施例的基于近似相似度启发法来执行用于概率性地接受所选择的提议图像补丁中的图像补丁的步骤的算法的图;以及
图10图示了根据一个或多个实施例的示例计算设备的框图。
具体实施方式
本文描述的一个或多个实施例利用补丁匹配系统来提供优点并且解决本领域中的一个或多个前述或其他问题,该补丁匹配系统提供了更快收敛到匹配的图像补丁匹配搜索。本文描述的补丁匹配系统通过使用预言将采样偏向更可能包含匹配的搜索空间的那些部分来提高查找补丁匹配的收敛速度。具体地,补丁匹配系统使用预言概率性地标识具有匹配目标图像补丁的高可能性的图像补丁。补丁匹配系统对所标识的图像补丁进行更深入的分析,以确定概率性地标识的图像补丁中的任何一个是否与目标图像补丁实际匹配。
如上所述,补丁匹配系统使用预言随机分析数字图像,以搜索与目标图像补丁相匹配的数字图像的图像补丁。通常,预言是用作快速标识可能具有匹配的图像区域的方位的近似相似度启发法。补丁匹配系统使用近似相似度启发法来确定图像的图像补丁的近似相似度得分。补丁匹配系统随机或均匀地选择提议补丁,并基于确定的近似相似度得分概率性地确定是否接受提议补丁。通常,补丁匹配系统使用与近似相似度得分成反比的接受概率接受具有近似相似度得分的提议补丁。补丁匹配系统然后使用相似度启发法来确定所标识的图像补丁的相似度得分。补丁匹配系统然后基于所确定的相似度得分标识与目标图像补丁匹配的一个或多个图像补丁。
如本文所使用的,相似度启发法或距离函数是输出相似度得分的算法(或多个算法的组合)。两个图像补丁的相似度得分允许确定两个图像补丁是否匹配。示例相似度启发法包括平方和距离、L2距离、归一化相关性、补丁的描述符之间的距离等。
如本文所使用的,预言或近似相似度启发法是输出近似相似度得分的算法或函数(或多个算法或函数的组合)。两个图像补丁的近似相似度得分允许近似确定两个图像补丁是否匹配。近似相似度启发法没有相似度启发法复杂,并且不如相似度启发法那样精确。换句话说,近似相似度启发法要求较少的计算功率/时间来进行确定。
补丁匹配系统使用不太复杂的近似相似度启发法来决定是否评估更复杂和更精确的相似度启发法。换句话说,补丁匹配系统使用近似相似度启发法来快速标识不太可能匹配的补丁,并避免花费时间和计算功率来评估更复杂的相似度启发法。沿着相关的思路,补丁匹配系统使用近似相似度启发法来快速标识更可能是匹配的补丁,然后评估更复杂的相似度启发法以验证所标识的补丁是否确实与目标图像补丁匹配。
更具体地,补丁匹配系统通过随机或均匀地对搜索空间进行采样来选择提议图像补丁。补丁匹配系统然后基于近似相似度启发法(即,预言)概率性地来确定是否接受提议图像补丁作为近似补丁匹配。在一个或多个实施例中,补丁匹配系统使用基于与相似度启发法粗略成正比的访问搜索空间的预言的概率采样算法对搜索空间进行采样。概率采样算法创建一个马尔可夫链,其值接近来自后验分布(例如,相似度启发法)中的样本。补丁匹配系统使用概率采样算法从提议分布(例如,近似相似度启发法)中采样,其尝试通过接受/拒绝样本以标识后验分布的样本而收敛于后验分布。在一些实施例中,图像的概率分布是有条件的,即补丁提议的接受的概率是基于接受之前补丁提议的概率。在其他实施例中,概率分布独立于(即,不依赖于)先前的补丁提议。在任何情况下,补丁匹配系统将搜索偏向于更可能(例如,具有更高概率)包含补丁匹配的图像的那些区域。
补丁匹配系统比其他备选的系统更快地执行图像补丁匹配。通过使用基于预言的概率采样算法,补丁匹配系统更快速地对图像补丁进行采样和测试,以绘制在图像内的任何给定区域中找到实际补丁匹配的可能性。另外,使用基于预言的概率采样算法使系统能够在更为复杂的搜索空间(即在直接采样困难的图像中,诸如高分辨率图像、多维图像和/或当允许补丁旋转和缩放时)创建这种概率模型。在这些实施例的每一个中,补丁匹配系统通过使用补丁的近似相似度得分(例如,预言)以引导搜索补丁匹配,而不需要进行逐像素计算,来节省计算时间。补丁匹配系统只对接受的补丁(即,由概率采样算法接受的那些补丁)执行更精确的相似度得分的详细分析。
该补丁匹配系统比其他补丁匹配系统使用更少的存储器。通过使用基于预言概率采样算法来查找可能包含精确补丁匹配的区域,补丁匹配系统执行更少且更简单的计算,因此通过不必计算和存储与更复杂的相似度得分相关联的逐像素计算而使用更少的存储器。同样地,补丁匹配系统也通过更有效的补丁匹配使用更少的计算功率。
现在将参考附图提供关于补丁匹配系统的更多细节。图1示出了在计算设备102上经由触摸屏104显示的数字图像100。图1图示了目标图像补丁108和提议图像补丁106,补丁匹配系统分析提议图像补丁106来确定是否进一步进行分析。如本文所使用的,图像补丁是数字图像的可定义的部分。例如,图像补丁是p像素×n像素的图像的部分。具体地,图像补丁可以包括7像素×7像素、10像素×5像素等的图像的一部分。在其他实施例中,图像补丁是没有统一尺寸的不规则形状,直到并包括整个图像。在其他实施例中,图像补丁是图像的正方形部分。此外,目标图像补丁108是用户选择或由补丁匹配系统选择的需要匹配的图像补丁。换句话说,目标图像补丁是补丁匹配系统的输入,补丁匹配系统尝试为其找到匹配的补丁。
如上所述,为了确定提议图像补丁106是否与目标图像补丁108匹配,补丁匹配系统评估相似度启发法。例如,补丁匹配系统使用相似度启发法来确定提议图像补丁106和目标图像补丁108的相似度得分。然后,补丁匹配系统比较提议图像补丁106和目标图像补丁108的相似度得分。例如,补丁匹配系统确定提议图像补丁106的相似度得分和目标图像补丁108的相似度得分之间的距离。具体地,如果提议图像补丁106的相似度得分和目标图像补丁108的相似度得分之间的距离为零,则补丁匹配系统确定提议图像补丁106与目标图像补丁108匹配。如果相似度得分之间的距离不为零,则补丁匹配系统确定提议图像补丁106与目标图像补丁108不匹配。
作为示例,补丁匹配系统使用差方和(SSD)作为相似度启发法。在这种情况下,补丁匹配系统将目标图像补丁108的每个像素与提议图像补丁106的对应像素进行比较,以确定提议图像补丁106是否与目标图像补丁108匹配。在至少一个实施例中,评估相似度启发法(即,确定相似度得分)的成本随所选的补丁的宽度的平方增长(例如,7×7像素的补丁需要对49个像素之间的差进行求和与平方)。对于以其他方式难以很详细分析的一个或多个高分辨率图像(例如,当启用补丁旋转和/或缩放时),评估相似度启发法在计算上可能是昂贵的。
如上所述,补丁匹配系统通过使用预言减少了收敛到与目标图像补丁匹配的图像补丁的时间。如图1所示,在一些实施例中,补丁匹配系统搜索整个搜索空间中与目标图像补丁108近似匹配的图像补丁。在一些实施例中,补丁匹配系统在搜索空间中搜索图像补丁匹配,搜索空间为整个图像、与已知补丁匹配或近似补丁匹配空间相干的图像部分或包括多个图像的搜索空间(诸如图像的数据库)。通常,补丁匹配系统概率性地搜索与目标图像补丁108大致相似的图像补丁。补丁匹配系统利用基于近似相似度启发法的概率采样算法来概率性地确定是否接受图像补丁106作为目标图像补丁108的近似补丁匹配。
如上所述,近似相似度启发法可以被称为引导补丁匹配系统更快速地找到近似图像补丁匹配的预言。在一些实施例中,补丁匹配系统使用近似距离度量的形式的近似相似度启发法来引导数字图像100的搜索。在这些实施例中,补丁匹配系统计算目标图像补丁与补丁匹配系统当前正在测试的图像补丁之间的近似距离(例如,像素值的差)。
为了说明,图像100描绘具有与目标补丁108匹配的补丁的特定分布的城市天际线。然而,如上所述并在下文进一步详细讨论的,确定真实分布可能代价较高。为了近似该分布,补丁匹配系统使用近似该真实分布的近似相似度启发法。换句话说,补丁匹配系统随机或均匀地选择图像100内的提议图像补丁,然后根据概率采样算法,补丁匹配系统确定是否接受提议图像补丁作为目标图像补丁108的近似匹配。确定是否接受提议图像补丁是根据概率采样算法并且基于近似相似度启发法。简而言之,补丁匹配系统由概率算法驱动,概率算法随机选择提议图像补丁并还将提议图像补丁标识为近似补丁匹配,其中标识近似补丁匹配的概率是基于提议图像补丁的近似相似度得分。因此,补丁匹配系统找到近似补丁匹配(例如,近似补丁匹配106),其可能看起来很像或可能看起来不很像目标补丁108,但否则需要更详细地确定图像补丁106是否是与目标补丁108的匹配。
如上所述,补丁匹配系统使用近似相似度启发法作为在搜索空间(例如,图像100)搜索图像补丁匹配的引导。例如,在一些实施例中,近似相似度启发法是基于颜色的。在其他实施例中,近似相似度启发法基于图像图案、纹理或对象(例如,一系列水平线、圆形对象、带露水的绿叶等)。作为示例,参考图1,在知道目标补丁108是具有水平窗台的灰色建筑物的补丁的情况下,补丁匹配系统可以将近似相似度启发法设置为目标图像补丁108的平均颜色。在这种实施例中,补丁匹配系统将花费更少的时间评估蓝天或白色建筑,并且花费更多的时间评估图像100的灰色或其他暗区域的部分。备选地,补丁匹配系统可以将近似相似度启发法设置为补丁中的水平边缘的存在。再次在该实施例中,补丁匹配系统将花费更少的时间评估图像100中的天空或树木,并且将聚焦在包括建筑物(即,包括边缘)的图像的部分上。在另外的实施例中,补丁匹配系统使用多个启发法(例如,灰色并包括水平边缘的补丁)作为近似相似度启发法。
简而言之,近似相似度启发法可以使用数字图像的任何属性来引导对数字图像的搜索,近似相似度启发法是更复杂的相似度启发法的近似。在一些实施例中,用户定义近似相似度启发法,而在其他实施例中,补丁匹配系统定义近似相似度启发法。在相同或其他实施例中,近似相似度启发法是动态的(例如,可调节或适应性的)。在这些实施例中,补丁匹配系统根据搜索到的图像内的属性或特征,或者响应于更精细的搜索的用户指示(例如,补丁匹配系统应当只返回与目标图像补丁非常精确或完全匹配的那些图像补丁的指示)来调整近似相似度启发法。在这些或其他实施例中,补丁匹配系统通过基于图像内的特征或属性创建和/或调整近似相似度启发法来从图像中进行学习。例如,在一些实施例中,补丁匹配系统基于所搜索的图像内的模式或其他属性改变近似相似度启发法,以更有效地标识图像内可能包含补丁匹配的那些部分或区域(例如,与目标图像补丁匹配的图像补丁),并且还标识可能不包含补丁匹配的那些区域。
在其他实施例中,补丁匹配系统学习一个或多个数字图像的一个或多个图像特征或属性,以用作近似相似度启发法来引导对图像补丁匹配的数字图像的搜索。例如,补丁匹配系统可以使用机器学习来分析具有真相补丁匹配的一组数字图像补丁。补丁匹配系统可以学习指示补丁可能与目标补丁匹配的数字图像的特征。然后,补丁匹配系统可以使用这种学到的特征的标识作为近似相似度启发法。类似地,补丁匹配系统可以学习更全面的相似度启发法。作为更具体的示例,补丁匹配系统可以使用卷积神经网络来学习图像补丁的特征,其指示图像补丁与给定目标图像补丁匹配的高可能性。在一个实施例中,补丁匹配系统可以使用来自高级卷积层的特征作为近似相似度启发法并且使用来自全连接层的特征作为更复杂但更准确的相似度启发法。
在任何情况下,补丁匹配系统利用预言来花费更多的时间来评估与目标补丁(例如,目标补丁108)近似匹配的数字图像100的补丁。是目标补丁108的近似补丁匹配的图像补丁比不是目标补丁108的近似补丁匹配的图像补丁更可能与目标补丁108精确匹配。在一些实施例中,如上文所讨论的,补丁匹配系统使用近似相似度启发法来实质测量提议图像补丁(例如,补丁106)和目标图像补丁108之间的相似度。
如本文所使用的,近似相似度得分是分配给图像内的图像补丁的得分。在一些实施例中,近似相似度得分是数字,而在其他实施例中,近似相似度得分是二进制判定(例如,相似或不相似)。在一个或多个实施例中,近似相似度得分是补丁(例如,补丁106或目标补丁108)的平均像素值。在其他实施例中,近似相似度得分是近似距离计算。在一个或多个其他实施例中,补丁匹配系统将近似相似度得分(例如,在1到10之间、1到100之间等)分配给图像内的各个补丁(例如,补丁106)。在其他实施例中,补丁匹配系统将平均像素值分配给图像100内的目标补丁108以及每个提议补丁(例如补丁106)。在其他实施例中,补丁匹配系统标识图像补丁106的模式或属性并将那些模式或属性与目标补丁108的那些进行比较,以确定每个提议补丁106是否是近似匹配。
在至少一个实施例中,近似相似度得分是给定图像补丁的平均像素值。为了说明,平均像素值是给定补丁(例如,目标补丁108或补丁106)中的所有像素的平均值。例如,在这些或其他实施例中,7像素×7像素的补丁具有代表该特定图像补丁内的49个像素中的每一个的值的平均值的单个平均像素值。在一些实施例中,平均像素值是补丁内每个像素的红绿蓝(RGB)值的平均值,而在其他实施例中,平均像素值是给定补丁(例如,补丁106或目标补丁108)内的像素的青洋红黄黑(CMYK)值、彩通配色系统(PMS)值、任何其他彩色空间值(例如,LAB、HSL、HSV、YUV等)、灰度值、亮度值或任何其他值的平均。在其他实施例中,近似相似度得分是给定补丁的每个像素的更准确的得分。在其他实施例中,近似相似度得分是补丁内的特定位置中的一个或多个像素的值(例如,RGB值)。
在一些实施例中,补丁匹配系统遵循概率采样算法来标识与目标图像补丁108近似匹配的那些图像补丁(例如,补丁106)。在这些或其他实施例中,近似相似度得分为给定的图像补丁(例如,补丁106)影响图像补丁将被接受为如由概率采样算法确定的近似匹配的概率。具有更好(例如较低)近似相似度得分的图像补丁更可能被接受为近似补丁匹配,而具有更差(例如更高)近似相似度得分的图像补丁较不可能被接受为近似补丁匹配。换句话说,由于近似相似度得分实质上是距离计算,并且由于两个补丁之间的零距离意味着那些补丁匹配,因此图像补丁的较低近似相似度得分(即,距离)意味着图像补丁是与目标图像补丁更接近的匹配。在一个或多个实施例中,补丁匹配系统由概率采样算法驱动,以根据分布来选择图像100内的提议图像补丁。以这种方式,补丁匹配系统在不忽略或丢失图像的部分的情况下以某种程度上对图像100进行采样。在任何情况下,在选择提议图像补丁之后,补丁匹配系统根据概率采样算法确定是否接受提议图像补丁,即,接受提议图像补丁是概率性的。如由概率采样算法定义的,每个提议图像补丁具有被接受的概率。另外,被接受的概率基于如上所述的近似相似度启发法。因此,根据近似相似度启发法,补丁匹配系统更可能接受具有更好的近似相似度得分的提议图像补丁。然而,在一些实施例中,根据概率采样算法,补丁匹配系统接受具有低近似相似度得分的提议图像补丁。
如上所述,补丁匹配系统通过使用近似相似度启发法比备选技术更快地收敛于图像补丁匹配。通过遵循近似相似度启发法,补丁匹配系统更快地标识可能包含补丁匹配的搜索空间(例如,图像100)的那些部分。在这样做时,补丁匹配系统使用近似相似度启发法来缩小搜索空间,即减少补丁匹配系统必须执行更精确的相似度评估(例如,计算相似度得分)的图像补丁的数目。当补丁匹配系统标识数字图像100的作为近似补丁匹配的那些补丁时,补丁匹配系统将更仔细地分析那些近似补丁匹配以找到与目标图像补丁108匹配的一个或多个补丁,如将在下文更详细描述的。
为了标识提议图像补丁,补丁匹配系统基于近似相似度启发法(即,预言)概率性地对搜索空间的图像补丁进行采样。在一个或多个实施例中,如上文所描述的,补丁匹配系统使用基于预言的概率采样算法对搜索空间进行采样,预言与相似度启发法大致成比例地访问搜索空间。概率采样算法创建马尔可夫链,马尔可夫链的值接近来自后验分布(例如,相似度启发法)的样本。补丁匹配系统使用概率采样算法从提议分布(例如,近似相似度启发法)中采样,提议分布尝试通过接受/拒绝样本来收敛于后验分布,以标识后验分布的样本。在一个或多个实施例中,概率采样算法是马尔可夫链蒙特卡洛。更具体地,在至少一个实施例中,概率采样算法包括梅特罗波利斯-黑斯廷斯(Metropolis Hastings)算法。
现在转到图2,其示出了使用基于使用梅特罗波利斯-黑斯廷斯马尔可夫链蒙特卡洛来近似概率分布202的近似相似度启发法204的概率采样算法的概念表示。在开始对一个或多个数字图像(例如,图像100)执行图像补丁匹配操作时,期望的分布函数202(例如,相似度函数)通常是未知的/未确定的。然而,为了说明的目的,图2中示出了期望的分布202以对理解基于近似相似度启发法204的概率采样算法提供参考。分布函数202表示例如包含特定特征或属性的图像补丁在搜索空间(例如,图像100)上的分布。分布202可以通过对图像100的详细分析(诸如通过常规方法(例如,差方和的计算))来精确确定。然而,可以理解,这种详细的计算成本高并且耗时。通过使用近似相似度启发法204,补丁匹配系统执行更不昂贵(例如,更快)的计算来得出真实分布202的近似。重要的是,图2将分布202和近似相似度启发法204描绘成连续分布。然而,在其他实施例中,分布202和近似相似度启发法204也可以是包括个体样本的离散分布。也如图2所示,所描绘的分布202和近似相似度启发法204是二维的,但这仅仅是代表性的。可以理解,函数(例如,分布202和近似相似度启发法204)可以是对应于搜索空间(即,图像)的维度和/或复杂度的任意数目的维度中的任何函数。
如在图2中所示,补丁匹配系统利用近似相似度启发法204来近似分布函数202。例如,补丁匹配系统获取数字图像100的样本补丁来近似图像(例如,图像100)内的特定属性的分布202,而不是通过逐像素计算的方式来计算精确分布202。
在一些实施例中,补丁匹配系统遵循马尔可夫链蒙特卡洛算法。马尔可夫链蒙特卡洛算法是从概率分布(例如,数字图像内的补丁)采样以近似给定函数的期望值的算法。从图2中说明,补丁匹配系统从具有一个或多个数字图像的补丁的概率分布中采样,以确定每个补丁的近似相似度得分。通常,马尔可夫链蒙特卡洛基于构建马尔可夫链来采样概率分布。马尔可夫链是描述可能事件的序列的随机模型,其中每个事件的概率取决于先前事件的状态。本质上,马尔可夫链蒙特卡洛是一种“游走”通过概率分布(例如,数字图像内的一系列补丁)的算法,生成和测试候选(例如,提议图像补丁)来在搜索空间内标出近似图像补丁匹配的位置。具体地,在至少一个实施例中,本文描述的补丁匹配系统使用梅特罗波利斯-黑斯廷斯马尔可夫链蒙特卡洛来查找近似补丁匹配。为了理解的目的,梅特罗波利斯-黑斯廷斯算法是一种特定的马尔可夫链蒙特卡洛方法,并且在特别复杂的搜索空间(诸如,非常高分辨率的图像)中或者当对图像或图像内的补丁启用旋转、缩放或其他操作时有效。
为了说明的目的,可以使用伪码来描述梅特罗波利斯-黑斯廷斯算法。以下是用于实施用于图像补丁匹配的梅特罗波利斯-黑斯廷斯算法的一个实施例的示例伪码。
算法1:M-H补丁选择
其中:Pi是初始补丁;Pj是目标补丁的当前匹配;Pk是一个新的补丁提议;πi(Pk)是新提议是匹配的概率;A是算法定义的接受概率;qi是近似相似度启发法或预言函数;以及u是如由算法定义的定义变量。值得注意的是,在该伪码中,新提议的概率是有条件的,即后续状态(例如,补丁提议)的概率取决于补丁匹配系统的当前状态(例如,补丁提议),因为补丁匹配系统逐补丁地搜索与目标图像补丁匹配的图像补丁。
算法1产生马尔可夫链,其值与来自某个后验分布的样本近似。补丁匹配系统寻求的后验分布将产生遵循预言的匹配位置序列。当预言是相似度启发法的良好近似时,补丁匹配系统花费更多的时间访问更有可能是良好匹配的位置。因此,预言允许补丁匹配系统快速测试补丁来看它们是否可能是良好匹配。然而,一个问题是,直接从预言生成适当分布的归一化项是未知的。幸运的是,MH算法允许补丁匹配系统避免计算归一化因子的需要。更具体地说,预言(误差估计器)与后验相似度启发法成比例就足够了。
算法1通过计算新的补丁位置,然后基于一些接受概率A接受或拒绝该位置来工作。接受概率A是后验概率和提议概率之比,具体为:
和
在至少一个实施例中,补丁匹配系统使用补丁平均的差作为预言,并将其传递通过高斯,因此:
其中μ(.)表示补丁的平均值。注意,相对于基础补丁Pi而给出πi。因为补丁匹配系统采用比例来计算后验概率,因此函数πi不需要在域上进行归一化。
如上文所讨论的,补丁匹配系统可以针对提议分布(即,预言或近似相似度启发法)选择任意数目的启发法。例如,补丁匹配系统可以选择qi(Pj|Pk)作为以Pj为中心的高斯函数。
在至少一个实施例中,补丁匹配系统使用域上的均匀分布来简化提议的分布。在这种实施例中,梅特罗波利斯-黑斯廷斯算法是独立的,其中新提议的概率不依赖于当前或先前的提议或状态/补丁。通过选择均匀采样,比率:变为1。以下伪码说明了独立梅特罗波利斯-黑斯廷斯的示例实施例。
算法2:独立M-H补丁选择
现在看图3,补丁匹配系统使用梅特罗波利斯-黑斯廷斯马尔可夫链蒙特卡洛算法来采样图像300的图像补丁,以寻找作为目标补丁302的近似补丁匹配的那些补丁(诸如,补丁304和补丁310)。如图3所描绘的,补丁匹配系统在具有瓷砖墙的浴室的图像300中搜索与目标补丁302匹配的图像补丁。补丁匹配系统实施梅特罗波利斯-黑斯廷斯马尔可夫链蒙特卡洛算法来概率性地遵循如参考图2在上文所描述的搜索空间(例如,图像300)的分布。具体地,补丁匹配系统随机或均匀地提议图像300内的补丁(例如,补丁304、补丁306、补丁308或补丁310),并且根据梅特罗波利斯-黑斯廷斯马尔可夫链蒙特卡洛算法概率性地接受提议图像补丁。
在一些实施例中,补丁匹配系统随机地提议数字图像300的第一补丁304。补丁匹配系统确定补丁304的近似相似度得分,并基于所确定的得分概率性地确定是否接受补丁304作为目标图像补丁302的近似匹配。补丁匹配系统测试所提议的补丁304,以通过遵循基于如上文所描述的近似相似度启发法的概率性接受确定来确定所提议的补丁304是否是近似。在一些实施例中,补丁匹配系统确定所提议的补丁304的近似相似度得分,这又影响确定是否接受所提议的补丁304的概率。如果近似相似度得分较低(即,所提议的补丁304与目标补丁302相对相似),则补丁匹配系统更可能接受所提议的补丁304。相反,如果近似相似度得分较高,则补丁匹配系统不太可能接受所提议的补丁304(即,接受的概率较低)。不管补丁匹配系统是否接受所提议的补丁304作为近似补丁匹配,补丁匹配系统仍然通过随机地提议下一个补丁306来继续该算法。因此,如果下一个提议的补丁306具有相对较高的近似相似度得分,那么补丁匹配系统将接受下一个提议的补丁306的概率必然较低。换句话说,根据梅特罗波利斯-黑斯廷斯算法,接受的概率与近似相似度得分成反比。
仍然遵循梅特罗波利斯-黑斯廷斯算法,补丁匹配系统继续提议图像300的后续补丁(例如,补丁308和补丁310),以测试与目标补丁302的相似度,如上文所描述的。在一些实施例中,补丁匹配系统在图像300上以均匀分布来提议候选补丁。在其他实施例中,补丁匹配系统在整个搜索空间(即,图像300)中随机地提议候选补丁。在实施例中,补丁匹配系统执行有条件的梅特罗波利斯-黑斯廷斯算法,即接受后续补丁提议的概率取决于当前或之前的补丁提议的梅特罗波利斯-黑斯廷斯算法,如上述算法1所示的。在其他实施例中,补丁匹配系统执行独立的梅特罗波利斯-黑斯廷斯算法,其中接受后续补丁提议的概率不依赖于当前或先前的补丁提议,如上所描述并在算法2中示出的。
通常,补丁匹配系统不对第一补丁提议304使用梅特罗波利斯-黑斯廷斯算法标识近似补丁匹配。此外,在这些实施例中,补丁匹配系统在更长的时间段内随机采样多个图像补丁,而不标识任何近似匹配。因此,补丁匹配系统可以在标识第一个近似补丁匹配之前遍历多个补丁提议(例如,补丁304、补丁306、补丁308和/或补丁310)。在一些实施例中,补丁匹配系统可能需要一些时间才能通过马尔可夫链蒙特卡洛采样收敛于可接受的近似补丁匹配,通常取决于第一个补丁提议304的位置和/或近似相似度启发法的定义(例如,宽松的近似可能比更接近的近似更快找到)。这种现象有时被称为启动误差。如图2中所示,近似相似度启发法204在近似变得更接近真实分布202之前在曲线的开始附近经历启动误差。由于补丁匹配系统可能需要一些时间才开始寻找近似补丁匹配,所以补丁匹配系统可能需要“预烧”期。换句话说,补丁匹配系统可能需要在初始化时段游走通过梅特罗波利斯-黑斯廷斯算法,才开始更有效地查找可接受的补丁匹配(例如,补丁304和补丁310)。尽管如此,由于近似相似度启发法的评估时间如此之低,以致预烧并不会明显影响收敛速度。实际上,尽管在一些实施例中需要预烧时段,但由于上文描述的近似确定所获得的效率,梅特罗波利斯-黑斯廷斯补丁匹配系统仍然比广义补丁匹配系统更快地收敛到补丁匹配上。
现在回到图3,随着补丁匹配系统“游走”通过梅特罗波利斯-黑斯廷斯算法(如在上文描述并在图2中图示的),在接受提议补丁(例如补丁304和/或补丁310)时,补丁匹配系统继续提议数字图像300的附加补丁。应当注意,图3中的补丁302、304、306、308和/或310仅仅是说明性的,并且图像补丁可以是任何形状、尺寸或维度,如上文所描述的。在图3中,补丁匹配系统执行如上文所描述的梅特罗波利斯-黑斯廷斯算法,以找到与目标补丁302匹配的数字图像300的那些补丁。如可以在图3中看到,图像补丁304和图像补丁310比图像补丁306和图像补丁308更接近地匹配目标图像补丁302。具体地,目标补丁302包含在外观上与补丁304和补丁310内包含的浴室墙瓷砖的部分相似的浴室墙瓷砖的部分。作为梅特罗波利斯-黑斯廷斯算法的示例,在图3所示的一些实施例中,补丁匹配系统接受第一个补丁304作为近似补丁匹配,拒绝第二个补丁提议306,拒绝第三个补丁提议308,并接受第四个补丁提议310。
在一些实施例中,当补丁匹配系统已执行梅特罗波利斯-黑斯廷斯算法并且在整个图像300中已标识出近似补丁匹配时,补丁匹配系统对所标识的近似补丁匹配(例如,补丁304和补丁310)进行更细粒度的分析。在这些或其他实施例中,补丁匹配系统确定每个近似补丁匹配304和310的相似度得分,并且标识相似度得分与目标补丁302的相似度得分相匹配的那些补丁,即,所接受的补丁304和/或310与目标补丁302之间的距离为零。在一些实施例中,补丁匹配系统将潜在图像补丁匹配(例如,近似补丁匹配304和310)的每个像素与目标补丁302的对应像素进行比较,以确定潜在补丁匹配确实是目标补丁302的匹配。更具体地,补丁匹配系统执行差方和的计算以确定近似补丁匹配304和/或310与目标补丁302的相似度得分(即,距离)。
如上所述,相似度得分是用于确定给定补丁是否是目标补丁302的图像补丁匹配的得分。在一些实施例中,相似度得分是通过在给定补丁(例如,目标补丁302和/或近似补丁匹配304和/或310)内的所有像素上进行迭代并且计算给定补丁与目标补丁相比的均方误差而确定的差方和的计算。该计算可以例如通过下式建模:
其中是给定补丁内的像素并且Yi是目标补丁的对应像素。在其他实施例中,相似度得分是提议补丁(例如,补丁304和/或310)与目标补丁302的属性的详细比较,以确定提议补丁是否是目标补丁302的匹配。
如上文所讨论的,补丁匹配系统基于近似相似度启发法对搜索空间概率性地采样。换句话说,当对搜索空间进行采样时,补丁匹配系统基于与近似相似度得分成反比的概率接受或拒绝每个样本。这导致补丁匹配系统在可能包含匹配的搜索空间的区域中花费更多的时间。同时,补丁匹配系统仍然采样不太可能包含匹配的搜索空间的区域,只是以较低的频率。因此,补丁匹配系统经由概率采样来避免错过补丁匹配。
现在看图4A和图4B,其示出了广义补丁匹配和梅特罗波利斯-黑斯廷斯补丁匹配的比较。如图所示,图4A和4B说明了使用梅特罗波利斯-黑斯廷斯图像补丁匹配的有效性。图4A描绘了具有缺失部分和各种缺陷的彩色玻璃窗的图像400a。图4B描绘了彩色玻璃窗的相同图像的清理版本400b。图像400a和图像400b已经被补丁匹配以填充/替换图像400a和400b的不良部分。图4A示出了广义补丁匹配的结果,而图4B示出了根据本文描述的梅特罗波利斯-黑斯廷斯补丁匹配系统的一个或多个实施例的结果。图4A和图4B描绘了使用不同的方法在给定时间间隔(例如,400秒)之后的清理的图像400a和图像400b的结果。例如,在图4A中,在分配的时间(例如,400秒)内,彩色玻璃窗的图像400a具有较低质量,具有还没有被补丁匹配的各种缺失部分或污渍部分。在图4B中,补丁匹配结果显示图像400b的更大比例更清晰并更多地被填充(即,“被清理”)。因此,可以从图4A和图4B中看出,本文描述的补丁匹配系统通过基于近似相似度启发法对搜索空间的图像补丁概率采样,导致更快的补丁匹配并导致更快地收敛到期望的最终结果上。
结合图4A和4B,图5描绘了在400秒范围内的广义补丁匹配(GPM)与使用梅特罗波利斯-黑斯廷斯的广义补丁匹配(GPM+MH)的均方误差(MSE)比较的图形表示。从图5中可以看出,梅特罗波利斯-黑斯廷斯补丁匹配具有较小的均方误差,并且比广义补丁匹配更快地接近零均方误差。一并观察图4A、图4B和图5,可以在一个特定实施例中看出广义补丁匹配和梅特罗波利斯-黑斯廷斯补丁匹配的差异。
现在转到图6,其提供了关于补丁匹配系统的一个实施例的组件和功能的附加细节。具体地,图6图示了示例性补丁匹配系统600(例如,上面提到的补丁匹配系统)的实施例。如图所示,补丁匹配系统600可以包括但不限于预言管理器602、补丁提议生成器604、近似补丁分析管理器606、补丁匹配分析管理器608、数字图像引擎610、补丁匹配标识管理器612和存储管理器614。
如刚才所提到的并且如图6中所示,补丁匹配系统600包括预言管理器602。预言管理器602可以创建、修改、修正和/或确定一个或多个近似相似度启发法或预言。例如,预言管理器602可以基于整个数字图像中的补丁的近似相似度得分来创建数字图像的分布。此外,预言管理器602可以基于上文描述的多个图像的分析来学习近似相似度启发法。
如在图6中所示,补丁匹配系统600还包括补丁提议生成器604。补丁提议生成器604可以随机或均匀地生成提议补丁以测试与目标补丁的相似度。例如,补丁提议生成器604通过随机生成候选补丁而执行通过概率采样算法的“游走”。换句话说,补丁提议生成器604可以对图像补丁进行采样。
如在图6中所示,补丁匹配系统600还包括近似补丁分析管理器606。近似补丁分析管理器606可以分析采样的图像补丁来确定每个提议补丁(例如,由补丁提议生成器604提议的补丁)是否是目标补丁的近似匹配。例如,近似补丁分析管理器606可以基于近似相似度得分来确定每个提议补丁是否是目标补丁的近似匹配。换句话说,近似补丁分析管理器606基于概率来确定是否基于近似相似度启发法接受或拒绝采样的图像补丁。
此外,如在图6中所示,补丁匹配系统600还包括补丁匹配分析管理器608。补丁匹配分析管理器608可以分析所接受的补丁以确定它们是否是目标补丁的匹配。例如,补丁匹配分析管理器608可以分析近似补丁匹配(例如,由近似补丁分析管理器606标识为近似补丁匹配的那些补丁),以确定近似补丁匹配是否是精确/准确的补丁匹配。具体地,补丁匹配分析管理器608可以使用相似度启发法(诸如上述的平方和距离)来评估所接受的补丁以确定所接受的补丁是否与目标补丁匹配。
如在图6中所示,补丁匹配系统600还包括数字图像引擎610。数字图像引擎610可以生成、创建、修改、渲染和/或为显示器提供一个或多个数字图像。具体地,数字图像引擎610可以通过使用标识的与目标图像补丁匹配的图像补丁来操纵输入数字图像的像素来生成修改的数字图像。
如进一步在图6中所示的,补丁匹配系统600还包括补丁匹配标识管理器612。补丁匹配标识管理器612可以在一个或多个图像中标识与目标补丁匹配的补丁。例如,补丁匹配标识管理器可以响应于精确补丁分析管理器608的分析来标识与目标补丁匹配的补丁。
而且,如在图6中所示,补丁匹配系统600包括存储管理器614。存储管理器614维护数据以执行补丁匹配系统600的功能。因此,存储管理器614可以包括如下所述的存储器。如图所示,存储管理器614包括预言属性616、近似相似度得分618、精确相似度得分620、近似补丁匹配622以及精确补丁匹配624。
补丁匹配系统600的每个组件602-624及其对应的元件(如图6所示)可以使用任何合适的通信技术彼此通信。将认识到,尽管在图6中示出补丁匹配系统600的组件602-624及其对应的元件是分开的,但是组件602-624及其对应的元件中的任一个可以组合成更少的组件(诸如组合成单个设备或模块)、分成更多的组件或者可以配置成如可以服务特定实施例的不同的组件。
补丁匹配系统600的组件602-624及其对应的元件可以包括软件、硬件或两者。例如,组件602-624及其对应的元件可以包括存储在计算机可读存储介质上并且可由一个或多个计算设备的处理器执行的一个或多个指令。当由一个或多个处理器执行时,补丁匹配系统600的计算机可执行指令可以使客户端设备和/或服务器设备执行本文描述的方法。备选地,组件602-624及其对应的元件可以包括硬件,诸如执行某个功能或某组功能的专用处理设备。另外,组件602-624及其对应的元件可以包括计算机可执行指令和硬件的组合。
此外,组件602-624可以例如实施成一个或多个操作系统、一个或多个独立应用、应用的一个或多个模块、一个或多个插件、可被其他应用程序调用的一个或多个库函数和/或作为云计算模型。因此,组件602-624可以被实施为诸如桌面应用或移动应用的独立应用。此外,组件602-624可以被实施为远程服务器上托管的一个或多个基于web的应用。组件602-624也可以在一组移动设备应用中实施。为了说明,组件602-624可以在应用中实现,包括但不限于 或软件。“ADOBE”、“PHOTOSHOP”和“PREMIERE”是奥多比系统股份有限公司在美国和/或其他国家的注册商标或商标。
图7示出了补丁匹配系统600在其中操作的示例性环境700的一个实施例的示意图。在一个或多个实施例中,示例性环境700包括客户端设备702、网络704和一个或多个服务器706。网络704可以是计算设备可以通过其通信的任何合适的网络。
如图7所示,环境700可以包括客户端设备702。客户端设备702可以包括任何计算设备(例如,计算设备102)。例如,在一个或多个实施例中,客户端设备702包括以下关于图10描述的任何计算设备。
另外,环境700还可以包括服务器706。服务器706可以生成、存储、接收和发送任何类型的数据,包括预言属性616、近似相似度得分618、精确相似度得分620、近似补丁匹配622和/或精确补丁匹配624。例如,服务器706可以向客户端设备(诸如,客户端设备702)发送数据。服务器706还可以在环境700的一个或多个用户之间发送电子消息。在一个示例实施例中,服务器706包括内容服务器。服务器706还可以包括通信服务器或web托管服务器。
如图所示,在一个或多个实施例中,服务器706可以包括补丁匹配系统600的全部或一部分。具体地,补丁匹配系统600可以包括在服务器上运行的应用或者可以从服务器706下载的软件应用的一部分。例如,补丁匹配系统600可以包括允许客户端设备702与在服务器706上托管的内容进行交互的web托管应用。为了说明,在示例性环境700的一个或多个实施例中,客户端设备702可以访问由服务器706支持的网页。具体地,客户端设备702可以运行应用以允许用户访问、查看服务器706处托管的网页或网站和/或与其交互。
尽管图7图示了客户端设备702、网络704和服务器706的特定布置,然而各种额外的布置是可能的。例如,尽管图7示出了单独的客户端设备702经由网络704与服务器706通信,然而在一个或多个实施例中,单个客户端设备可以绕过网络704直接与服务器706通信。
类似地,尽管图7的环境700被描绘为具有各种组件,然而环境700可以具有附加的或备选的组件。例如,补丁匹配系统可以在单个计算设备上实施。具体地,补丁匹配系统可以整体由客户端设备702实施,或者补丁匹配系统可以整体由服务器706实施。备选地,补丁匹配系统可以跨多个设备或组件来实施(例如,利用客户端设备702和服务器706)。
以示例的方式,在一个或多个实施例中,客户端设备702向服务器706发送请求以执行补丁匹配操作。例如,客户端设备702可以向定义图像内的目标补丁的服务器706提供用户输入。服务器706可以基于用户输入生成一系列补丁匹配(例如,通过补丁提议生成器604、近似补丁分析管理器606、精确补丁分析管理器608和补丁匹配标识管理器612)。客户端设备702可以向服务器706发送请求以搜索目标补丁的补丁匹配。作为响应,服务器706可以在整个图像中提议并测试补丁以标识与目标补丁最匹配的补丁(例如,经由近似补丁分析管理器606、精确补丁分析管理器608和补丁匹配标识管理器612)。服务器706还可以向客户端设备702提供用于在客户端设备702上执行全部或部分补丁匹配操作的指令。在补丁匹配操作完成后,服务器706还可以提供一个或多个数字图像以用于显示在客户端设备702上。
此外,客户端设备702可以提供与数字图像内的补丁相关的用户输入,并向服务器706发送请求以缩小或细化从服务器706返回的补丁匹配结果。服务器706可以经由预言管理器602调整预言或近似相似度启发法。
图1-图7、对应的文本和示例提供了一些执行图像补丁匹配的多种不同的系统和方法。除了上述之外,还可以根据包括用于实现特定结果的方法中的动作和步骤的流程图描述实施例。例如,图8图示了根据一个或多个实施例的示例性方法的流程图。关于图8描述的方法可以用更少或更多的步骤/动作,或者可以以不同的顺序执行步骤/动作。另外,本文描述的步骤/动作可以重复地或彼此并行地或与相同或相似步骤/动作的不同实例并行地执行。
图8图示了图像补丁匹配的方法800中的一系列动作的流程图。在一个或多个实施例中,方法800在用于执行数字图像修改或数字图像对象标识中的一个或多个的数字媒体环境中执行(即由在一个或多个计算设备上运行的软件执行)。方法800旨在说明根据本公开的一种或多种方法,而不旨在限制潜在的实施例。备选的实施例可以包括与图8中说明的那些相比更多、更少或不同的步骤。
如图8所示,方法800包括选择提议图像补丁的动作810。例如,动作810可以涉及随机或均匀地选择提议补丁,然后使用基于与相似度启发法粗略成比例地访问搜索空间的近似相似度启发法的概率采样算法来接受提议补丁。例如,动作810可以涉及使用马尔可夫链蒙特卡洛算法进行采样。更具体地,动作810可以涉及创建值近似于后验分布(例如,相似度启发法)的马尔可夫链。动作810可以涉及基于尝试收敛在后验分布上的近似相似度启发法从提议分布中采样。具体地,动作810可以涉及使用梅特罗波利斯-黑斯廷斯算法进行采样。在一个或多个实施例中,动作810涉及基于接受先前补丁提议的概率来选择后续图像补丁。备选地,动作810涉及独立于接受先前的补丁提议的概率或不以接受先前的补丁提议的概率为条件来选择后续的图像补丁。
另外,方法800还包括确定所选的提议图像补丁的近似相似度得分的动作820。具体地,动作820包括通过评估所采样的图像补丁的近似相似度启发法来确定相似度得分。例如,动作820可以涉及通过对所采样的图像补丁内的像素值进行平均、确定所采样的图像补丁的平均颜色、确定所采样的图像补丁的纹理、检测所采样的图像补丁中的边缘、确定所采样的图像补丁的平均值和方差、确定所采样的图像补丁的空间位置或确定旋转不变的补丁距离来确定平均像素值中的一个或多个。
而且,如图8所示,方法800还包括基于与近似相似度得分成反比的概率来接受图像补丁的动作830。具体地,动作830包括遵循上文描述的概率函数,以在选择提议图像补丁之后,概率性地确定是否接受所选择的提议图像补丁作为目标图像补丁的近似匹配。动作830可以涉及将采样的图像补丁的近似相似度得分与目标图像补丁的近似相似度得分进行比较。例如,动作830可以涉及将每个所采样的图像补丁的平均像素值与目标图像补丁的平均像素值比较。动作830可以涉及根据近似相似度启发法来标识具有与目标图像补丁匹配的高概率的所选择的提议图像补丁。例如,动作830可以涉及接受和/或拒绝如由概率算法确定的提议图像补丁,其中接受提议图像补丁的概率以上文描述的方式基于相应的提议图像补丁的近似相似度得分。
另外,方法800包括确定所标识的采样的图像补丁的相似度得分的动作840。具体地,动作840可以涉及确定被接受为近似补丁匹配(例如,如上面的动作830定义的)的所选择的提议图像补丁的相似度得分。在至少一个实施例中,动作840包括针对每个所标识的图像补丁确定其与目标图像补丁的差方和,如上文更详细描述的。在其他实施例中,动作840包括确定采样的图像补丁和目标图像补丁之间的误差(例如,每个像素的累积差、作为一组的一个或多个像素的平均差等)。在任何情况下,动作840可以涉及与先前确定的近似相似度得分相比,做出图像补丁是否与目标图像补丁匹配的更精确的确定。在一个或多个实施例中,动作840涉及针对不被概率性地接受的图像补丁,不确定相似度得分。
此外,方法800包括标识与目标图像补丁匹配的图像补丁的动作850。例如,动作850涉及使用所确定的相似度得分作为用于标识与目标图像补丁匹配的一个或多个图像补丁的基础。具体地,动作850包括确定具有与目标图像补丁的距离为零的相似度得分的采样图像补丁。换句话说,动作850包括指定与目标补丁的距离为零或接近零的那些图像补丁(即,近似相似度得分非常低的那些图像补丁)作为目标补丁的匹配。
在一些实施例中,方法800包括通过使用所标识的与目标图像补丁匹配的图像补丁来操纵输入数字图像的像素而生成修改的数字图像的附加动作。具体地,在一些实施例中,补丁匹配系统使用所标识的与目标图像补丁匹配的图像补丁,通过操纵像素来纠正图像缺陷、填充空白空间、清晰化图像、去除图像失真、涂装等而生成修改的数字图像。
在相同或其他实施例中,方法800包括分析包括已知的图像补丁匹配的多个数字图像,学习与图像补丁匹配对应的一个或多个图像特征,以及使用基于所学习的一个或多个特征作为近似相似度启发法的启发法的附加动作。具体地,补丁匹配系统使用基于所学习的一个或多个特征的启发法来标识在概率采样时可能是近似补丁匹配的采样的图像补丁(例如,当与基于所学习的一个或多个特征的启发法相比,更可能被根据概率采样算法的补丁匹配系统接受的图像补丁)。
现在看图9,示出了图示执行基于近似相似度启发法概率性地接受所选择的提议图像补丁中的图像补丁的步骤的动作910-950的算法。另外,图9还包括用于将提议图像补丁标识为目标图像补丁的匹配的动作960-980。
在图9中,动作910涉及选择提议数字图像补丁。具体地,补丁匹配系统随机或均匀地选择提议图像补丁。为了说明,补丁匹配系统通过一次选择一个图像补丁开始搜索与目标图像补丁匹配的图像补丁。补丁匹配系统提议一个样本图像补丁来测试与目标图像补丁的相似度。补丁匹配系统随机提出补丁。
另外,图9图示了确定所选择的提议图像补丁的近似相似度得分的动作920。具体地,动作920包括将近似相似度启发法应用于搜索空间以计算提议图像补丁与目标补丁的近似距离。例如,动作920可以包括使用上述任何近似相似度启发法来确定近似相似度得分。
进一步看图9,动作930包括确定是否概率性地接受提议图像补丁。具体地,动作930涉及基于概率来接受提议图像补丁,所述概率又基于如上文描述的近似相似度启发法。
图9还图示了包括接受提议图像补丁的动作940。具体地,如前所述,在梅特罗波利斯-黑斯廷斯算法内接受提议图像补丁的概率是基于提议图像补丁的近似相似度得分。接受提议图像补丁(动作940)表示所接受的提议图像补丁有资格进行额外测试,以确定所接受的提议数字图像是否具有与目标图像补丁匹配的相似度得分(例如,下文描述的动作960和动作970)。
图9进一步示出了基于近似相似度启发法概率性地接受所选择的提议图像补丁中的图像补丁的步骤包括基于如上描述的概率性确定而拒绝提议图像补丁的动作950。具体地,如果提议图像补丁具有差的(例如,大距离)近似相似度得分,则根据梅特罗波利斯-黑斯廷斯算法,补丁匹配系统确定拒绝提议图像补丁(动作950)的概率较大。通过拒绝提议图像补丁(动作950),补丁匹配系统确定提议图像补丁没有获准对提议图像补丁执行确定补丁是否与目标图像补丁匹配的附加测试。
在一个或多个实施例中,接受或拒绝提议数字图像补丁是基于接受概率。例如,接受概率可以是后验概率和提议概率的比率。在一个或多个实施例中,补丁匹配系统使用通过高斯函数的补丁均值的差。此外,由于补丁匹配系统使用比率来确定后验概率,所以补丁匹配系统可以不使用归一化因子。
图9图示了响应于接受提议图像补丁来确定提议图像补丁的相似度得分的动作960。具体地,动作960包括利用上述任意的相似度启发法的补丁匹配系统。例如,动作960可以涉及执行所接受的提议图像补丁和目标图像补丁之间的差方和的计算,如上文更详细地描述的。在其他实施例中,补丁匹配系统通过计算提议图像补丁和目标图像补丁的每个对应的像素的差来确定所接受的提议图像补丁的相似度得分(动作960)。
图9还图示了确定相似度得分是否与目标图像补丁匹配的动作970。在一些实施例中,补丁匹配系统通过确定提议图像补丁的相似度得分是否与目标图像的相似度得分相同或几乎相同(即,零或接近零的距离)来确定提议图像补丁的相似度得分是否与目标图像补丁相匹配,如上文所描述的。
图9中进一步示出了响应于确定提议图像补丁的相似度得分与目标图像补丁匹配,将提议图像补丁标识为目标图像补丁的匹配的动作980。换句话说,如果补丁匹配系统确定提议图像补丁的相似度得分与目标图像补丁匹配(动作970),那么补丁匹配系统将提议图像补丁标识为目标图像的匹配(动作980)。
响应于确定提议图像补丁的相似度得分与目标图像补丁不匹配,补丁匹配系统拒绝提议图像补丁(动作950)。换句话说,如果补丁匹配系统确定提议图像补丁的相似度得分与目标图像补丁不匹配,则补丁匹配系统拒绝提议图像补丁。也就是说,补丁匹配系统将提议图像补丁标识为与目标图像补丁不匹配。
如上所述,图9示出了迭代算法,其指示补丁匹配系统重复执行其中描述的动作,直到补丁匹配系统通过标识与目标图像补丁匹配的至少一个图像补丁而结束该算法。在其他实施例中,补丁匹配系统重复算法直到补丁匹配系统已经完全搜索图像(例如,补丁匹配系统已经提议并测试了每个近似图像补丁匹配)。在上文描述的或备选的实施例中,响应于拒绝提议图像补丁(动作950)或将提议图像补丁标识为目标图像补丁的匹配(动作980),补丁匹配系统通过重复选择另一个提议图像补丁的动作910再次循环通过该算法。补丁匹配系统进一步执行动作920-980直到算法结束。
本公开的实施例可以包括或利用包括计算机硬件(诸如,例如,一个或多个处理器和系统存储器)的专用或通用计算机,如下文更详细地讨论的。在本公开范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文描述的一个或多个过程可以至少部分地实施成在非瞬态计算机可读介质中具体化并且可由一个或多个计算设备(例如,本文描述的任何媒体内容访问设备)执行的指令。通常,处理器(例如,微处理器)从非瞬态计算机可读介质(例如,存储器等)接收指令,并执行那些指令,从而执行一个或多个过程(包括本文所述的一个或多个过程)。
计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬态的计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同种类的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
非瞬态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置或其他磁存储设备,或可用来存储处于计算机可执行指令或数据结构的形式的所需程序代码部件并且可以由通用或专用计算机访问的任何其他介质。
此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码部件可以自动从传输介质传输到非瞬态计算机可读存储介质(设备)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“NIC”)内的RAM中,然后最终传送到计算机系统RAM和/或计算机系统中的更不易挥发的计算机存储介质(设备)。因此,应当理解,也可以在(甚至主要地)利用传输介质的计算机系统组件中包括非瞬态计算机可读存储介质(设备)。
计算机可执行指令包括例如在处理器处执行时使通用计算机、专用计算机或专用处理设备执行某个功能或某组功能的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令以将通用计算机转变成实施本公开的要素的专用计算机。计算机可执行指令可以是例如二进制文件、诸如汇编语言的中间格式指令或者甚至是源代码。虽然主题已经用具体到结构特征和/或方法动作的语言描述,但是应当理解,所附权利要求中限定的主题不一定限于上述所描述的特征或动作。相反,所描述的特征和动作作为实施权利要求的示例形式而被公开。
本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、笔记本计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实施,其中通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可能位于本地和远程存储设备二者中。
本公开的实施例还可以在云计算环境中实现。在本描述中,“云计算”被定义为用于实现对可配置的计算资源的共享池的按需网络访问的模型。例如,云计算可以在市场中使用以提供对可配置的计算资源的共享池的无处不在和方便的按需访问。可配置的计算资源的共享池可以经由虚拟化而被快速提供,并以低的管理努力或低的服务提供方交互发布,然后相应地扩大规模。
云计算模型可以由各种特征组成,诸如,例如,按需自助服务、广泛的网络访问、资源池、快速弹性、测量服务等等。云计算模型还可以暴露各种服务模型,诸如,例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)以及基础架构即服务(“IaaS”)。还可以使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)部署云计算模型。在本描述和权利要求书中,“云计算环境”是其中采用云计算的环境。
图10以框图形式图示了可以被配置为执行上述过程中的一个或多个的示例性计算设备1000。可以理解,补丁匹配系统1000可以包括计算设备1000的实现。如由图10所示,计算设备可以包括处理器1002、存储器1004、存储设备1006、I/O接口1008和通信接口1010。在某些实施例中,计算设备1000可以包括比在图10所示的更少或更多的计算设备1000的组件。现在将详细描述图10中示出的计算设备1000的组件。
在特定实施例中,处理器1002包括用于执行指令(诸如构成计算机程序的那些指令)的硬件。作为示例而非以限制的方式,为了执行指令,处理器1002可以从内部寄存器、内部高速缓存、存储器1004或存储设备1006取回(或获取)指令,并对其进行解码和执行。
计算设备1000包括耦合到处理器1002的存储器1004。存储器1004可以用于存储用于由处理器执行的数据、元数据和程序。存储器1004可以包括一个或多个易失性和非易失性存储器,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储装置。存储器1004可以是内部存储器或分布式存储器。
计算设备1000包括存储设备1006,其包括用于存储数据或指令的存储装置。作为示例而非以限制的方式,存储设备1006可以包括上述非瞬态存储介质。存储设备1006可以包括硬盘驱动器(HDD)、闪存、通用串行总线(USB)驱动器或这些或其他存储设备的组合。
计算设备1000还包括一个或多个输入或输出(“I/O”)设备/接口1008,其被提供以允许用户向计算设备1000提供输入(例如用户笔画)、从计算设备1000接收输出以及向计算设备1000传送数据或从计算设备1000传送数据。这些I/O设备/接口1008可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描器、网络接口、调制解调器、其他已知的I/O设备或这些I/O设备/接口1008的组合。触摸屏可以用触笔或手指激活。
I/O设备/接口1008可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏幕)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,设备/接口1008被配置成向显示器提供图形数据以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可用于特定实施方式的任何其他图形内容。
计算设备1000还可以包括通信接口1010。通信接口1010可以包括硬件、软件或两者。通信接口1010可以在计算设备与一个或多个其他计算设备1000或一个或多个网络之间提供用于通信(例如,基于分组的通信)的一个或多个接口。作为示例而非以限制的方式,通信接口1010可以包括用于与以太网或其他基于有线的网络或无线NIC(WNIC)或用于与无线网络(诸如WI-FI)通信的无线适配器通信的网络接口控制器或网络适配器。计算设备1000还可以包括总线1012。总线1012可以包括将计算设备1000的组件彼此耦合的硬件、软件或两者。
在前述说明书中,已经参照具体示例性实施例描述了本发明。参考本文讨论的细节描述了本发明的各种实施例和方面,并且附图图示了各种实施例。上面的描述和附图是对本发明的说明,而不应被解释为限制本发明。描述了众多具体细节以提供对本发明的各种实施例的透彻理解。
在不脱离本发明的精神或实质特征的情况下,可以以其他具体形式实施本发明。无论从哪方面,所描述的实施例仅应当被认为是说明性的而非限制性的。例如,可以用更少或更多的步骤/动作来执本文描述的方法,或者可以以不同的顺序执行步骤/动作。另外,本文描述的步骤/动作可以彼此并行地或与相同或相似步骤/动作的不同实例并行地重复或执行。因此,本发明的范围由所附权利要求而不是前面的描述来表示。在权利要求的等同物的含义和范围内的所有改变将被包括在其范围内。
Claims (20)
1.一种在用于执行数字图像修改或数字图像对象识别中的一个或多个的数字媒体环境中进行图像补丁匹配的计算机实现的方法,包括:
选择提议图像补丁;
用于基于近似相似度启发法,概率性地接受所选择的提议图像补丁中的图像补丁的步骤;
确定所接受的图像补丁的相似度得分;以及
基于所确定的相似度得分来标识与所述目标图像补丁匹配的图像补丁。
2.根据权利要求1所述的计算机实现的方法,还包括通过使用与所述目标图像补丁匹配的所标识的图像补丁来操纵输入数字图像的像素,来生成修改的数字图像。
3.根据权利要求2所述的计算机实现的方法,其中确定所标识的图像补丁的相似度得分包括:对于没有被概率性地接受的图像补丁,不确定相似度得分。
4.根据权利要求1所述的计算机实现的方法,其中用于基于所述近似相似度启发法,概率性地接受所选择的图像补丁中的图像补丁的步骤包括:确定所选择的图像补丁的近似相似度得分。
5.根据权利要求4所述的计算机实现的方法,其中用于基于所述近似相似度启发法,概率性地接受所选择的图像补丁中的图像补丁的步骤包括:使用马尔可夫链蒙特卡洛算法进行采样。
6.根据权利要求5所述的计算机实现的方法,其中使用马尔可夫链蒙特卡洛算法进行采样包括:使用梅特罗波利斯-黑斯廷斯算法进行采样。
7.根据权利要求1所述的计算机实现的方法,其中所述近似相似度启发法包括平均像素启发法。
8.一种在用于执行数字图像修改或数字图像对象识别中的一个或多个的数字媒体环境中进行图像补丁匹配的计算机实现的方法,包括:
选择提议图像补丁;
确定所选择的提议图像补丁的近似相似度得分;
基于与所述近似相似度得分成反比的概率接受来自所选择的提议图像补丁的图像补丁以进一步进行评估;
确定所接受的图像补丁的相似度得分;以及
基于所确定的相似度得分来标识与目标图像补丁匹配的图像补丁。
9.根据权利要求8所述的方法,还包括通过使用与所述目标图像补丁匹配的所标识的图像补丁来操纵输入数字图像的像素,来生成修改的数字图像。
10.根据权利要求9所述的方法,其中选择提议图像补丁包括从搜索空间随机选择所述提议图像补丁。
11.根据权利要求10所述的方法,其中,基于与所述近似相似度得分成反比的概率接受来自所选择的提议图像补丁的图像补丁以进一步进行评估包括:使用马尔可夫链蒙特卡洛算法进行采样。
12.根据权利要求11所述的方法,其中使用马尔可夫链蒙特卡洛算法算法进行采样包括:使用梅特罗波利斯-黑斯廷斯算法进行采样。
13.根据权利要求12所述的方法,其中基于与所述近似相似度得分成反比的概率接受来自所选择的提议图像补丁的图像补丁以进一步进行评估包括:基于当前提议图像补丁来接受后续提议图像补丁。
14.根据权利要求13所述的方法,其中基于当前提议图像补丁来接受后续提议图像补丁包括:基于作为后验概率和提议概率之比的接受概率来选择所述后续提议图像补丁。
15.根据权利要求12所述的方法,其中基于与所述近似相似度得分成反比的概率接受来自所选择的提议图像补丁的图像补丁以进一步进行评估包括:独立于当前提议图像补丁,接受后续提议图像补丁。
16.根据权利要求8所述的方法,其中确定所选择的图像补丁的近似相似度得分包括确定以下项中的一个或多个:通过对所采样的图像补丁内的像素值进行平均来确定平均像素值、确定所采样的图像补丁的平均颜色、确定所采样的图像补丁的纹理、确定所采样的图像补丁中的边缘、确定所采样的图像补丁的平均值和方差、确定所采样的图像补丁的空间位置或确定旋转不变补丁距离。
17.根据权利要求9所述的方法,还包括:
分析包括已知图像补丁匹配的多个数字图像;
学习与图像补丁匹配相对应的一个或多个图像特征;以及
使用基于所学习的一个或多个图像特征的启发法来确定所述近似相似度得分。
18.一种用于执行数字图像修改或数字图像对象识别中的一个或多个的系统,包括:
存储器,包括:
相似度启发法,允许确定图像补丁是否匹配;以及
近似相似度启发法,没有所述相似度启发法计算密集;以及
服务器设备,包括其上的指令,所述指令在由至少一个处理器执行时,使所述服务器设备:
标识提议图像补丁;
使用所述近似相似度启发法确定所述提议图像补丁的近似相似度得分;
基于与所述近似相似度得分成反比的接受概率来接受提议图像补丁以进一步进行评估;
使用所述相似度启发法确定符合所述接受概率的所接受的提议图像补丁的相似度得分;以及
基于所确定的相似度得分,标识与目标图像补丁相匹配的一个或多个图像补丁。
19.根据权利要求18所述的系统,其中当由所述至少一个服务器执行时,所述指令使所述系统避免确定不符合所述接受概率的提议图像补丁的相似度得分。
20.根据权利要求18所述的系统,其中当由所述至少一个服务器执行时,所述指令使所述系统使用梅特罗波利斯-黑斯廷斯算法来接受提议图像补丁。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/342,793 | 2016-11-03 | ||
US15/342,793 US10489676B2 (en) | 2016-11-03 | 2016-11-03 | Image patch matching using probabilistic sampling based on an oracle |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108022270A true CN108022270A (zh) | 2018-05-11 |
CN108022270B CN108022270B (zh) | 2022-11-22 |
Family
ID=59771661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710576025.XA Active CN108022270B (zh) | 2016-11-03 | 2017-07-14 | 使用基于预言的概率采样的图像补丁匹配 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10489676B2 (zh) |
CN (1) | CN108022270B (zh) |
AU (1) | AU2017206289B2 (zh) |
DE (1) | DE102017006563A1 (zh) |
GB (1) | GB2555673B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409388A (zh) * | 2018-11-07 | 2019-03-01 | 安徽师范大学 | 一种基于图形基元的双模深度学习描述子构造方法 |
WO2021068175A1 (en) * | 2019-10-10 | 2021-04-15 | Suzhou Aqueti Technology Co., Ltd. | Method and apparatus for video clip compression |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489676B2 (en) | 2016-11-03 | 2019-11-26 | Adobe Inc. | Image patch matching using probabilistic sampling based on an oracle |
US10699453B2 (en) * | 2017-08-17 | 2020-06-30 | Adobe Inc. | Digital media environment for style-aware patching in a digital image |
US10672164B2 (en) | 2017-10-16 | 2020-06-02 | Adobe Inc. | Predicting patch displacement maps using a neural network |
US10614557B2 (en) | 2017-10-16 | 2020-04-07 | Adobe Inc. | Digital image completion using deep learning |
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 |
US10755391B2 (en) | 2018-05-15 | 2020-08-25 | Adobe Inc. | Digital image completion by learning generation and patch matching jointly |
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 |
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 |
US20240071050A1 (en) * | 2021-02-11 | 2024-02-29 | Carnegie Mellon University | System and method for domain-agnostic bias reduction with selected sampling for few-shot learning |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080152225A1 (en) * | 2004-03-03 | 2008-06-26 | Nec Corporation | Image Similarity Calculation System, Image Search System, Image Similarity Calculation Method, and Image Similarity Calculation Program |
US20120230591A1 (en) * | 2009-11-20 | 2012-09-13 | Nec Corporation | Image restoration system, image restoration method, and image restoration program |
US20130163874A1 (en) * | 2010-08-16 | 2013-06-27 | Elya Shechtman | Determining Correspondence Between Image Regions |
US8737737B1 (en) * | 2012-03-23 | 2014-05-27 | A9.Com, Inc. | Representing image patches for matching |
US20150071545A1 (en) * | 2013-09-09 | 2015-03-12 | Adobe Systems Incorporated | Image Enhancement Using Self-Examples and External Examples |
US20150178943A1 (en) * | 2013-12-21 | 2015-06-25 | Qualcomm Incorporated | System and method to stabilize display of an object tracking box |
CN106023089A (zh) * | 2016-01-19 | 2016-10-12 | 河南理工大学 | 一种基于块匹配的图像修复方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100104158A1 (en) * | 2006-12-21 | 2010-04-29 | Eli Shechtman | Method and apparatus for matching local self-similarities |
KR101075716B1 (ko) | 2009-01-14 | 2011-10-21 | 삼성전자주식회사 | 이미지 복원 장치 및 방법 |
US8885898B2 (en) * | 2010-10-07 | 2014-11-11 | Siemens Medical Solutions Usa, Inc. | Matching of regions of interest across multiple views |
US9251433B2 (en) * | 2012-12-10 | 2016-02-02 | International Business Machines Corporation | Techniques for spatial semantic attribute matching for location identification |
US9165217B2 (en) * | 2013-01-18 | 2015-10-20 | International Business Machines Corporation | Techniques for ground-level photo geolocation using digital elevation |
US9607391B2 (en) * | 2015-08-04 | 2017-03-28 | Adobe Systems Incorporated | Image object segmentation using examples |
US10489676B2 (en) | 2016-11-03 | 2019-11-26 | Adobe Inc. | Image patch matching using probabilistic sampling based on an oracle |
-
2016
- 2016-11-03 US US15/342,793 patent/US10489676B2/en active Active
-
2017
- 2017-07-11 DE DE102017006563.2A patent/DE102017006563A1/de active Pending
- 2017-07-14 CN CN201710576025.XA patent/CN108022270B/zh active Active
- 2017-07-20 GB GB1711706.0A patent/GB2555673B/en active Active
- 2017-07-23 AU AU2017206289A patent/AU2017206289B2/en active Active
-
2018
- 2018-10-01 US US16/148,166 patent/US10546212B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080152225A1 (en) * | 2004-03-03 | 2008-06-26 | Nec Corporation | Image Similarity Calculation System, Image Search System, Image Similarity Calculation Method, and Image Similarity Calculation Program |
US20120230591A1 (en) * | 2009-11-20 | 2012-09-13 | Nec Corporation | Image restoration system, image restoration method, and image restoration program |
US20130163874A1 (en) * | 2010-08-16 | 2013-06-27 | Elya Shechtman | Determining Correspondence Between Image Regions |
US8737737B1 (en) * | 2012-03-23 | 2014-05-27 | A9.Com, Inc. | Representing image patches for matching |
US20150071545A1 (en) * | 2013-09-09 | 2015-03-12 | Adobe Systems Incorporated | Image Enhancement Using Self-Examples and External Examples |
US20150178943A1 (en) * | 2013-12-21 | 2015-06-25 | Qualcomm Incorporated | System and method to stabilize display of an object tracking box |
CN106023089A (zh) * | 2016-01-19 | 2016-10-12 | 河南理工大学 | 一种基于块匹配的图像修复方法 |
Non-Patent Citations (2)
Title |
---|
CHUNXIA XIAO 等: "Fast_Exact_Nearest_Patch_Matching_for_Patch-Based_Image_Editing_and_Processing", 《IEEE》 * |
PAN QI 等: "Single-frame image super-resolution based on in-place patch match model", 《IEEE》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409388A (zh) * | 2018-11-07 | 2019-03-01 | 安徽师范大学 | 一种基于图形基元的双模深度学习描述子构造方法 |
CN109409388B (zh) * | 2018-11-07 | 2021-08-27 | 安徽师范大学 | 一种基于图形基元的双模深度学习描述子构造方法 |
WO2021068175A1 (en) * | 2019-10-10 | 2021-04-15 | Suzhou Aqueti Technology Co., Ltd. | Method and apparatus for video clip compression |
CN113196779A (zh) * | 2019-10-10 | 2021-07-30 | 无锡安科迪智能技术有限公司 | 视频片段压缩的方法与装置 |
CN113196779B (zh) * | 2019-10-10 | 2022-05-20 | 无锡安科迪智能技术有限公司 | 视频片段压缩的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
US10546212B2 (en) | 2020-01-28 |
GB201711706D0 (en) | 2017-09-06 |
CN108022270B (zh) | 2022-11-22 |
US20180121754A1 (en) | 2018-05-03 |
AU2017206289A1 (en) | 2018-05-17 |
AU2017206289B2 (en) | 2021-07-01 |
US20190042875A1 (en) | 2019-02-07 |
GB2555673A (en) | 2018-05-09 |
DE102017006563A1 (de) | 2018-05-03 |
GB2555673B (en) | 2020-06-10 |
US10489676B2 (en) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108022270A (zh) | 使用基于预言的概率采样的图像补丁匹配 | |
US9741137B2 (en) | Image-based color palette generation | |
KR101176649B1 (ko) | 동적 프로그래밍에 의한 경계선 매팅 | |
US9552656B2 (en) | Image-based color palette generation | |
US9177391B1 (en) | Image-based color palette generation | |
US9311889B1 (en) | Image-based color palette generation | |
CN110379020B (zh) | 一种基于生成对抗网络的激光点云上色方法和装置 | |
US20110216976A1 (en) | Updating Image Segmentation Following User Input | |
US20120092357A1 (en) | Region-Based Image Manipulation | |
WO2008039693A2 (en) | Improving image masks | |
Sun et al. | ICycleGAN: Single image dehazing based on iterative dehazing model and CycleGAN | |
US8855411B2 (en) | Opacity measurement using a global pixel set | |
US11605156B2 (en) | Iterative image inpainting with confidence feedback | |
Ganguly et al. | Single image haze removal with haze map optimization for various haze concentrations | |
Borkar et al. | Single image dehazing by approximating and eliminating the additional airlight component | |
Chen et al. | Structure-preserving and color-restoring up-sampling for single low-light image | |
CN114170227A (zh) | 产品表面缺陷检测方法、装置、设备及存储介质 | |
US20220405899A1 (en) | Generating image masks from digital images via color density estimation and deep learning models | |
CN111598803B (zh) | 一种基于变分辨率体素格网与稀疏卷积的点云滤波方法 | |
Xu et al. | Generative image completion with image-to-image translation | |
CN108229270B (zh) | 用于从遥感图像中识别道路的方法、装置和电子设备 | |
Gaber et al. | The role of artificial intelligence and machine learning in preserving cultural heritage and art works via virtual restoration | |
Janardhana Rao et al. | MABC‐EPF: Video in‐painting technique with enhanced priority function and optimal patch search algorithm | |
Peng et al. | Detail enhancement for infrared images based on propagated image filter | |
Liu et al. | Video cloning for paintings via artistic style transfer |
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 |