Statistics AI/确定颜色名称的统计方法

Statistics AI/确定颜色名称的统计方法,statistics,artificial-intelligence,classification,bayesian,bayesian-networks,Statistics,Artificial Intelligence,Classification,Bayesian,Bayesian Networks,我正在考虑编写一个小库,从预先确定的候选列表中猜测一种(RGB值)颜色的名称 我的第一次尝试纯粹是基于三维RGB色彩空间的毕达哥拉斯距离——因为大部分命名的颜色点都是在空间的边缘(例如蓝色在0, 0, 255),所以这不是很大的成功,因此,对于空间中间的大多数颜色来说,它最近的命名颜色也是相当随意的。 因此,我正在考虑更好的方法,并提出了一些候选人 HSV颜色空间内的圆柱距离——这可能与上述问题类似,然而,HSV在人类意义上似乎比RGB更有意义,RGB可能是有用的 上述任意一种,但每个命名的颜

我正在考虑编写一个小库,从预先确定的候选列表中猜测一种(RGB值)颜色的名称

我的第一次尝试纯粹是基于三维RGB色彩空间的毕达哥拉斯距离——因为大部分命名的颜色点都是在空间的边缘(例如蓝色在0, 0, 255),所以这不是很大的成功,因此,对于空间中间的大多数颜色来说,它最近的命名颜色也是相当随意的。

因此,我正在考虑更好的方法,并提出了一些候选人

  • HSV颜色空间内的圆柱距离——这可能与上述问题类似,然而,HSV在人类意义上似乎比RGB更有意义,RGB可能是有用的

  • 上述任意一种,但每个命名的颜色点都用一个任意值加权,该值表示其对周围空间中的点的吸引力的强度。这样的模型有名字吗?我意识到这有点模糊,但对我来说,这似乎是一个相当直观的想法

  • 一个贝叶斯网络,它检查HSV颜色的属性并返回最可能的颜色名称(我想象的节点类似于,例如p(黑色|饱和度<10),p(红色|色调=0)然而,这似乎不太理想-例如,给定颜色为红色的概率与其色调接近于0的程度成正比,而不是离散值。是否有方法调整贝叶斯网络以处理在被测变量上连续的概率

  • 最后,我想知道在HSV或RGB颜色空间中是否存在某种基于支持向量机的分类,但我对它们不太熟悉,我不确定这是否比我最初尝试的基于毕达哥拉斯距离的方法有任何特别的优势,特别是因为我只处理三种颜色空间维度空间

因此,我想知道,你们中有没有人有过类似问题的经验,或者知道有什么资源可以帮助我决定一种方法?如果有人能给我指出正确的方向(无论是上面提到的,还是完全不同的),我将不胜感激

干杯

Tim似乎基于RGB和HSL值来确定名称,也许您可以使用类似的名称

快速查看脚本后,它似乎选择了最接近给定颜色的颜色(RGB和HSL)。它基本上只是一个预定义颜色的大地图,不做任何高级操作,例如加权值,但如果定义了大量颜色名称,它可能“足够好”,这取决于您的要求。

是否有一种适应贝叶斯网络的方法来处理在被测变量上连续的概率


是的。我不是回答如何做这件事的最佳人选,但应该有关于如何做这件事的现有信息。只需在搜索过程中使用“continuous”。

对于我的答案,我会跳出贝叶斯框架思考。如果我必须解决这个问题,我会尝试以下三种方法之一:

1) 模糊逻辑,可能基于从用户收集的经验数据。模糊逻辑可能比清晰的统计方法更好地捕捉并更容易自动推断人们谈论颜色时的意思。(也有将贝叶斯推理和模糊逻辑(IIRC)相结合的技术。)

2) 我曾经提出过使用Kohonen网络自动分类颜色的想法。我并没有走得太远,但早期的结果很有希望,因为网络往往会汇聚到从人类角度来看令人愉悦和直观的解决方案上。这些节点倾向于以类似“红色”、“橙色”等人类标签的模式聚集,并具有明显的过渡区,如“红橙色”


3) 我还做了一些实验,使用遗传算法为特定的图像开发优化的托盘。再一次,我没走多远,但最初的测试显示了希望。

我喜欢它:“作为一个典型的男人,我不知道薰衣草和淡紫色是什么颜色。所以我做了这个小应用……”啊,真有趣!关于设置大量颜色名称以便找到更接近的匹配项,这一点很好-将进行调查!