绘图和绘画机器人的算法 - 任何提示?
Posted
技术标签:
【中文标题】绘图和绘画机器人的算法 - 任何提示?【英文标题】:An algorithm for a drawing and painting robot - any tips? 【发布时间】:2010-11-08 07:01:38 【问题描述】:绘图机器人的算法 -
你好
我想编写一个分析图像的软件,然后生成一个图像,该图像捕获人眼在原始图像中的感知,使用最少的颜色和不透明度变化的贝塞尔路径对象。
与最近的 twitter 超级压缩大赛不同(see: ***.com/questions/891643/twitter-image-encoding-challenge),我的目标不是创建一个忠实于图像的复制品,而是复制人类观看图像的体验.
例如,如果原始图像在左上角显示一个红色气球,而复制品的左上角有一个看起来像红色气球的东西,那么我将实现我的目标,即使气球在复制品的位置不完全相同,大小或颜色也不完全相同。
当我说“被人类感知”时,我的意思是非常有限的。我不是试图分析图像的含义,我不需要知道图像是什么,我只对人眼会注意到的关键视觉特征感兴趣,只要这可以由算法无法将其实际观察到的内容概念化。
为什么人们对摄影准确性的这种不同寻常的感知标准?
该软件将用于驱动绘图机器人,该机器人将与人类艺术家合作(see: video.google.com/videosearch?q=mr%20squiggle)。
算法不应将人为的不完美的标记视为必然错误,而应设法将画布上已有的内容合并到最终图像中。
因此,相对亮度、色调、饱和度、大小和位置比在照片上与原始照片相同更重要。保持特征的拓扑结构、色块、渐变、凸凹曲线将更重要的是这些特征的确切尺寸形状和颜色
还和我在一起吗?
我的问题是“当你有一把锤子时,一切看起来都像钉子”综合症。对我来说,这样做的方法似乎是使用遗传算法与 retrievr 使用的小波变换比较(参见:grail.cs.washington.edu/projects/query/)(参见:labs.systemone.at/retrievr/) /em> 选择合适的解决方案。
但我认为这是答案的主要原因是,这些是我所知道的技术,可能有更优雅的解决方案使用我现在不知道的技术。
考虑人类视觉系统分析图像的方式会特别有趣,因此可能需要特别注意直线、角度、高对比度边框和大块相似颜色。
您对我应该阅读的有关视觉、图像算法、遗传算法或类似项目的内容有什么建议吗?
谢谢
垫子
PS。上面的某些拼写对您和您的拼写检查来说可能是错误的。这只是国际拼写变化,可能与您所在国家/地区的标准有所不同:例如澳大利亚标准:颜色与美国标准:颜色
【问题讨论】:
为了新用户的利益,我想指出,如果今天发布,这个问题将不允许存在。它非常广泛,要求提供一般性建议,并且没有明确的答案。出于历史目的,它可能仍然存在,因此不要将其用作提出好问题的模板 【参考方案1】:有一个模型可以实现为算法来计算图像的显着性图,确定图像的哪些部分最能引起人类的注意。
该模型称为itti Koch模型 你可以找到一篇起始论文here 还有更多资源和c++源代码here
【讨论】:
metafilter 的一个好处是您可以分配多个正确答案,这里我只有一个选择。我会 (续)..本来想给每个人一个绿色的勾,但这个答案给了我最有趣的探索方向,感谢大家【参考方案2】:我不能直接回答你的问题,但你真的应该看看艺术家/程序员(Lisp)Harold Cohen的绘画机Aaron。
【讨论】:
像许多从事技术工作的先驱艺术家一样,他早在 70 年代就开始从事这项工作,我认为他已载入史册。如果你能设法在某个地方见到他,他愿意将这个过程告诉其他程序员。【参考方案3】:这是一项艰巨的任务。您可能对图像矢量化感兴趣(不知道它的正式名称),它用于获取光栅化图像(例如您用相机拍摄的照片)并输出一组近似的贝塞尔线(我认为)您输入的图像。由于好的算法通常会输出非常高质量(阅读:复杂)的线集,您也会对可以提供巨大帮助的简化算法感兴趣。
【讨论】:
感谢 rcix,我打算花三个月左右的时间,经验表明会更长。【参考方案4】:很遗憾,我不在图书馆旁边,或者我可以推荐一些关于知觉心理学的书籍。
您首先必须考虑的是人眼的生理特性,当我们检查图像或场景时,我们一次只能捕捉到非常小的片段,因为我们的眼睛会快速四处移动。我们的大脑将不同的部分拼凑在一起,试图形成一个整体。
您可能首先要找到一种算法来计算眼球在四周飞舞时的路径。也许它被对比所吸引?
接下来是我们的眼睛根据上下文调整“曝光”。就像那些高动态范围的图像,如果它们不是通过对整个场景进行多次曝光,而是通过许多小图像拼凑在一起,每个图像都独立平衡,而是融入周围环境,形成一个高动态范围。
现在在猴子的大脑中发现,如果在其视野的左上角有一条对角线,就会有一个神经元亮起。可以在猴子视野的各个区域的垂直线和水平线中找到类似的神经元。 “对角线”决定了神经元放电的频率。
人们可能会推测可能会发现其他神经元并将其映射到其他特性,例如发红、纹理和其他事物。
有些事情是人类可以做到的,而我从未见过计算机程序能够做到。这就是所谓的“关闭”,人类能够填写他们所看到的东西的信息,而这些信息实际上并不存在于图像中。一个例子:
*
* *
那是三角形吗?如果您提前知道它,那么您可能可以编写一个程序来连接这些点。但如果只是点呢?你怎么知道?我不会尝试这个,除非我有一些非常聪明的方法来处理那个。
还有许多其他关于人类感知的事实,您也许可以使用。祝你好运,你没有选择一个简单的任务。
【讨论】:
你给了我一个非常好的主意,如果我可以跟踪艺术家对源图像的注视,我可以确定图像中吸引注意力的关键区域、人脸等,并使用这是为了确定需要更加小心地复制图像的哪些部分。我想我会让三角形保持原样,三颗星,这表明了一种更好的方式来说明我的目标,以再现一个图像,该图像保留了传达图像大部分体验的特征。我不能希望绘制出看到图像的体验,我将把它留给观看者在三颗星中找到三角形【参考方案5】:我认为可以帮助您完成这项艰巨任务的是人类参与。我的意思是数据。就像你可以让很多人坐着盯着随机的点(就像上一篇文章中的一样),然后按照他们认为正确的方式连接它们。你可以利用这些数据。
【讨论】:
以上是关于绘图和绘画机器人的算法 - 任何提示?的主要内容,如果未能解决你的问题,请参考以下文章
AI绘画突然爆火?快速体验二次元画师NovelAI(diffusion)