一个绘画机器人的算法 -
你好
我想编写一款软件,它可以分析图像,然后使用最少数量的不同颜色和透明度的贝塞尔路径对象,生成一个捕捉到原始图像中人眼所感知的图像。
与最近的Twitter超级压缩比赛不同(请参阅:stackoverflow.com/questions/891643/twitter-image-encoding-challenge),我的目标不是创建一个忠实于图像的复制品,而是复制人类观察图像的体验。
例如,如果原始图像在左上角显示一个红色气球,并且复制品在左上角有一个看起来像红色气球的东西,那么我就达到了目标,即使复制品中的气球位置、大小或颜色与原图并不完全相同。
当我说“由人类感知”,我的意思非常有限。我并不试图分析图像的含义,也不需要知道图像是什么,我只对人眼会注意到的关键视觉特征感兴趣,以至于这可以被一个没有能力概念化其实际观察对象的算法自动化处理。为什么要选择人类感知而非照片的精确性呢?
这个软件将用于驱动一台绘画和绘图机器人,与人类艺术家合作(请参见: video.google.com/videosearch?q=mr%20squiggle)。
与其将人类制造的不完美照片看作是错误,该算法应尝试将已经存在于画布上的元素纳入最终图像中。
因此,相对亮度、色调、饱和度、大小和位置比与原始图像在摄影上完全相同更重要。保持特征的拓扑结构、颜色块、渐变、凸曲线和凹曲线的形状比这些特征的确切大小、形状和颜色更为重要。
还跟上我吗?
我的问题是我有点遭受“当你手里只有一把锤子,看什么都像钉子”的综合症。对我来说,使用类似于小波变换比较(参见:grail.cs.washington.edu/projects/query/)和Retriever使用的某些东西的遗传算法似乎是做这个的方法(参见:labs.systemone.at/retrievr/),以选择适合的解决方案。
但我认为这是答案的主要原因是,这些是我知道的技术,可能有更优雅的解决方案,使用我不了解的技术。
特别有趣的是考虑到人类视觉系统分析图像的方式,因此可能需要特别注意直线、角度、高对比度边界和大块相似颜色。
您有任何关于视觉、图像算法、遗传算法或类似项目的建议吗?
谢谢
Mat
提示:上面的一些拼写可能对您和您的拼写检查来说似乎是错误的。这只是国际拼写变体,可能与您所在国家的标准不同:例如,澳大利亚标准:colour vs 美国标准:color