我敢肯定很多人已经看到演示的使用遗传算法产生的一个影像匹配的一个样品图像。你开始有噪音,逐步谈到类似的目标的图像更多和更加紧密,直到你有一个或多或少精确复制。

所有的例子我已经看过,但是,使用相当简单的象素的像素比较,从而在一个相当可预见的'消失在'的最终的图像。我在寻找什么是更多的东西的小说:健身的措施,更接近我们看到作为'类似',比天真的做法。

我没有一个具体结果记-我只是在寻找一些更有趣的'于默认。建议?

有帮助吗?

解决方案

我假设你在谈论类似 Roger Alsing的计划

我实现了这个版本,所以我也对替代健身功能感兴趣,尽管我从提高性能而不是美学的角度来看它。我希望总会有一些“淡入”的元素。由于进化过程的性质(虽然调整进化算子可能会影响它的外观)。

逐像素比较对于除小图像之外的任何东西都是昂贵的。例如,我使用的200x200像素图像具有40,000像素。每个像素有三个值(R,G和B),这120,000个值必须包含在单个图像的适应度计算中。在我的实现中,我在进行比较之前缩小图像,以便减少像素数。权衡稍微降低了演化图像的准确性。

在调查替代健身功能时,我遇到了一些使用 YUV颜色空间的建议因为这与人类的感知更紧密地联系在一起。

我的另一个想法是仅比较随机选择的像素样本。我不确定如果不尝试它会有多好。由于每次评估所比较的像素不同,因此可以保持人口中的多样性。

除此之外,你处于计算机视觉领域。我希望这些依赖于特征提取的技术对于每个图像来说会更昂贵,但是如果它们导致需要更少的代来获得可接受的结果,它们总体上可能更快。您可能需要调查 PerceptualDiff 库。此外,此页面显示了一些Java可用于根据特征而不是像素比较图像的相似性的代码。

其他提示

  

健身措施更接近于我们所认为的“相似”而不是天真的方法。

在软件中实施这样的措施绝对不是一件容易的事。 Google的“人类视觉模型”,某些起点的“感知错误指标”。您可以回避这个问题 - 只需将候选图像呈现给人类以选择最佳图像,尽管对人类来说可能有点无聊。

我还没有看到这样一个演示(也许你可以链接,一个)。但几个原始想法从你desription可能触发一个有趣的一:

  • 三个不同的算法行运行,也许RGB或单纯疱疹病毒。
  • 移动,旋转,或以其他方式改变目标的图像略在运行。
  • 健身根据对比值之间的差异素,但不知道实际的颜色。
  • ...然后"总理"单一像素的正确的颜色?

我同意其他贡献者的说法,这是非平凡的。我还补充一点,它在商业上是非常有价值的 - 例如,那些希望保护其视觉IP的公司非常乐意能够在互联网上搜索与他们的徽标相似的图像。

我对此的处理方法是在多个图像上训练模式识别器,每个图像都是从目标图像生成的,并且应用了一个或多个变换:无论如何都要旋转几度;无论如何翻译几个像素;同一图像的不同尺度;各种模糊和效果(卷积面具在这里很好)。我还会为每个图像添加一些随机噪声。样本越多越好。

培训都可以离线完成,因此不应该导致运行时性能出现问题。

一旦你训练了模式识别器,就可以将它指向GA群体图像,并从识别器中获得一些标量分数。

就个人而言,我喜欢 Radial Basis Networks 。快速训练。我从太多的输入开始,并通过主成分分析(IIRC)将其缩小。输出可能只是一种相似度量和不相似度量。

最后一件事;无论你采取什么方法 - 你可以在博客上发表演讲,发布演示,等等;让我们知道你是怎么做的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top