Content-Aware如何填充?

时间:2010-03-27 18:34:52

标签: algorithm graphics image-processing artificial-intelligence photoshop

在即将推出的Photoshop版本中,有一项名为Content-Aware fill的功能。

此功能将根据周围的图像填充一个图像选择 - 它可以生成灌木和云,同时与周围的图像无缝。

有关我正在谈论的Photoshop功能的预览,请参阅http://www.youtube.com/watch?v=NH0aEp1oDOI

我的问题是: 此功能如何在算法上运行?

7 个答案:

答案 0 :(得分:34)

我是此前提到的PatchMatch论文的合着者,我带领开发了Photoshop中的原始内容感知填充功能,以及创意技术实验室中的Ivan Cavero Belaunde和Eli Shechtman以及Jeff Chien在Photoshop团队中。

Photoshop的内容感知填充使用PatchMatch论文中描述的算法的高度优化的多线程变体,以及称为" SpaceTime视频完成的旧方法。"这两个论文在以下技术页面上引用了该功能:

http://www.adobe.com/technology/projects/content-aware-fill.html

您可以在Adobe Research网页上找到有关我们的更多信息。

答案 1 :(得分:13)

我猜测,对于较小的洞,他们正在抓住围绕该区域的类似纹理补丁以填充它。这在Connelly Barnes和其他人在SIGGRAPH 2009中题为“PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing”的论文中有所描述。如“Scene Completion Using Millions of Photographs”中所述,他们可以利用更大的洞来利用具有类似全局统计或纹理的大型图片数据库。如果他们以某种方式融合了两者,我认为它应该像在视频中一样工作。

答案 2 :(得分:8)

很长一段时间GIMP的算法非常相似。它被称为resynthesizer,您可能应该能够找到它的来源(可能在project site

修改
ubuntu repository上还有来源 在这里,您可以看到使用GIMP处理相同的图像:http://www.youtube.com/watch?v=0AoobQQBeVc&feature=related

答案 3 :(得分:4)

嗯,他们不会说出明显的原因。该技术的一般名称是“修复”,你可以查看它。

具体来说,如果你看看Criminisi在微软http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.9407期间所做的事情以及Todor Georgiev现在在Adobe http://www.tgeorgiev.net/Inpainting.html所做的事情,你将能够做出很好的猜测。我敢说,90%的猜测应该足够好了。

答案 4 :(得分:2)

我处理类似的问题。根据我的阅读,他们一般使用“PatchMatch”或“非参数补丁采样”。

PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing

答案 5 :(得分:1)

一般方法称为缝线雕刻。 Ariel Shamir的小组负责这里的开创性工作,该工作已在SIGGRAPH 2007上展示。请参阅: http://www.faculty.idc.ac.il/arik/site/subject-seam-carve.asp

答案 6 :(得分:0)

作为猜测(这就是它的全部)我希望它能对图像进行一些频率分析(有些像傅里叶变换)。通过仅查看选择边缘的图像并忽略中间,可以将其推回到中间。如果设计师选择了正确的颜色平原,那么它们应该能够生成一种纹理,可以无缝地融合到边缘的图像中。


编辑:查看视频中的最后一个示例;如果你看到任一边缘上原始图像的顶部,你会看到选择线在云中的“间隙”向下运行,而在中间则有一个“凹凸”。如果我的猜测是正确的,这些是我期望看到的文物。 (OTOH,我也希望看到它们在选择范围内使用某种形式的镜像。)