绘图和绘画机器人的算法 - 任何提示?

时间:2009-07-06 03:56:18

标签: image-processing artificial-intelligence computer-vision robotics

绘图和绘画机器人的算法 -

你好

我想编写一个分析图像的软件,然后生成一个图像,该图像使用不同颜色和不透明度的最小贝塞尔路径对象来捕获人眼在原始图像中感知的内容。

与最近的推特超级压缩比赛see: stackoverflow.com/questions/891643/twitter-image-encoding-challenge不同,我的目标不是创建一个忠实于图像的复制品,而是复制人类看待的体验图像。

例如,如果原始图像在左上角显示一个红色气球,并且再现在左上角看起来像一个红色的气球,那么我将实现我的目标,即使气球在复制的位置并不完全相同,大小或颜色也不尽相同。

当我说“被人类感知”时,我的意思是非常有限。我不是试图分析图像的意义,我不需要知道图像是什么,我只对人眼会注意到的关键视觉特征感兴趣,只要这可以通过算法无法概念化实际观察的内容。

为什么这种不同的人类感知标准会超出摄影准确度?

该软件将用于驱动绘图和绘画机器人,该机器人将与人类艺术家合作see: video.google.com/videosearch?q=mr%20squiggle

算法应该寻求将画布上已经存在的内容合并到最终图像中,而不是将人类制作的标记视为不完美的错误。

因此相对亮度,色调,饱和度,大小和位置比照片上与原始相同重要得多。保持特征的拓扑结构,颜色块,渐变,凸凹曲线对于这些特征的确切尺寸形状和颜色将更为重要

还在我身边吗?

我的问题是,我从“当你有一把锤子看起来像钉子”综合症时会受到一点点痛苦。对我来说,似乎这样做的方法是使用遗传算法,比如检索使用的小波变换(参见:grail.cs.washington.edu/projects/query/(参见:{{3 }})选择合适的解决方案。

但我认为这是答案的主要原因是,这些是我所知道的技术,可能有更优雅的解决方案使用我现在没有的技术。

考虑到人类视觉系统分析图像的方式会特别有趣,因此可能需要特别注意直线,角度,高对比度边框和类似颜色的大块。

对于我应该阅读的有关视觉,图像算法,遗传算法或类似项目的内容,您有什么建议吗?

谢谢

PS。上面的一些拼写可能对你和你的拼写检查有误。这只是国际拼写版本的变化,可能与您所在国家/地区的标准不同:例如:澳大利亚标准:颜色与美国标准:颜色

5 个答案:

答案 0 :(得分:3)

我不能直接回答你的问题,但是你应该看看艺术家/程序员(Lisp)Harold Cohen的绘画机Aaron

答案 1 :(得分:3)

有一种模型可以作为算法来实现,以计算图像的显着性图,确定图像的哪些部分最能引起人的注意。

该模型称为itti koch模型
你可以找到一篇文章here 更多资源和c ++源代码here

答案 2 :(得分:1)

这是一项非常重要的任务。您可能对图像矢量化感兴趣(不知道它正式称为什么),它用于拍摄光栅化图像(例如您用相机拍摄的照片)并输出一组贝塞尔线(我认为)近似于你输入的图像。由于好的算法通常会输出非常高质量(读取:复杂)的行集,所以你也会对简化算法感兴趣,这种算法可以提供很大的帮助。

答案 3 :(得分:1)

不幸的是,我不在我的图书馆旁边,或者我可以推荐一些关于感性心理学的书籍。

你必须考虑的第一件事是人眼的生理学是这样的,当我们检查一个图像或场景时,我们一次只捕捉非常小的一点,因为我们的眼睛迅速飞来飞去。我们的思想将不同的部分放在一起,试图形成一个整体。

你可能会首先找到一个眼球路径的算法。也许它被对比吸引了?

接下来是我们的眼睛根据背景调整“曝光”。它就像那些高动态范围的图像,如果它们不是通过整个场景的多次曝光而是一起调制,而是通过许多小图像,每个图像单独平衡,但混合到其周围环境中以形成高动态范围。

现在在猴脑中发现,如果在视野的左上方有一条对角线,就会有一个神经元点亮。对于垂直线和在猴子视野的各个区域中的水平线,可以找到类似的神经元。 “对角线”决定了神经元发射的频率。

有人可能会推测其他神经元可能会被发现并映射到其他品质,如发红,纹理和其他东西。

人类可以做的事情,我没有看到计算机程序能够做到的事情。它是一种叫做“封闭”的东西,人类能够填写他们所看到的东西的信息,这些信息实际上并不存在于图像中。一个例子:

          *






*                    *
那是一个三角形吗?如果你知道它是提前的,那么你可能会制作一个连接点的程序。但如果它只是点?你怎么知道的?除非我有一些非常聪明的方法来处理那个,否则我不会尝试这个。

还有很多关于人类感知的其他事实,你可以使用它们。祝你好运,你没有选择直截了当的任务。

答案 4 :(得分:0)

我认为可以帮助你完成这项艰巨任务的是人类参与。我是指数据。就像你可以让很多人坐在那里盯着随机点(就像上一篇文章一样)并按照他们看到的正确连接它们。你可以利用这些数据。