2012-06-04 34 views
7

当我使用N号选择样本大小的图像时,应该使用什么平均值统计方程?在图像上查找最受欢迎的区域

我有一个独特的问题,我希望得到一些建议,以便我不会错过任何事情。 问题:根据用户选择不同选择比例的区域,找到图像上最受欢迎/喜欢/重要的区域。

场景:考虑一个Image of a dog,并且数百个用户在不同的分辨率下选择该图像上的区域,在大多数选择中明显的焦点区域将是包含该狗的区域。我可以记录x1,x2,y1,y2坐标,并将它们放入一个分贝,现在如果我想在一组分辨率中自动生成这个图像的版本,我应该能够识别该区域的最大吸引力用户。 我认为可以工作的方法有:

  1. 找到所有选择的平均中心点,并以此为基础进行选择。 - 非常简单,但不会那么准确。
  2. 使用像K Means或EM Clustering这样的算法,但我不知道哪一个最适合。

期待一些辉煌的解决我的问题

的问题更多信息: 实际影像将会是最有可能是1024×768的图像,并在其上做出的选择将是最常见的手机解决方案。目标是通过基于用户选择的智能学习自动生成手机壁纸。

+0

你希望实现和呈现的结果是什么? 5个机顶盒区域,彩色“热点”区域还是其他? –

+0

实际的图像分辨率会高得多,我希望能够自动为使用用户输入的手机生成壁纸。 – Suyash

+0

如果2个角落同样受欢迎的选择区域,您会喜欢什么结果?采取其中一个角落或他们之间的区域? –

回答

2

我相信你有上面标识2个不同的问题:

ONE:鉴定点

对于这一点,你需要开发某种启发式的识别是否点应被考虑与否。

我相信你提到过成百上千的用户将成为这个图像的选择位置?数百个可能是很多要集群的点。考虑排除异常值(通过删除在特定距离内没有特定数量邻居的点)

任何可以减少数据集的操作都将有所帮助。


二:点

我相信,K均值聚类是最适合这一特定问题的群集。 LINK

您的特定问题似乎与用于解释此算法的标准笛卡尔坐标聚类示例非常相似。

你想要做的似乎是NP-Hard,但应该通过古典近似来满足。

聚类之后,您可以对该聚类中的点进行平均,以获得相当准确的近似值。

另外:

您的数据集听起来就已经被紧密集群。 (即大多数人会选择狗的脸,而不是躯干的一侧)。您需要了解当地的最低标准。 LINK这些确实会让你的算法陷入困境。尤其是少数几个群集。请注意,您可能需要一些动态编程来解决这个问题。通常可以在算法中引入一些方差,从而允许平均点“跳出”这些局部最小值。 Local Minima/Maxima

希望这有助于!

+0

在我可以实现这个功能之前,我将不得不做很多的学习工作,但是我非常想的,还有更多! – Suyash

+0

哈哈,我知道你的意思。我是一名主修机器人工程和计算机科学的学生,专注于人工智能。所以,如果你有50万美元的年份,我会在学校给你一个好消息 – Peaches491

+1

大声笑..如果我有50万美元的年份,我不会问这个问题,会聘请一个现在团队..:P – Suyash

2

我想你可能会以不同的方式来处理你的问题。如果您还没有听说过Seam Carving,那么我建议您检查一下,因为您可以使用的数据非常适合它。这个想法是,而不是裁剪一个图像来调整它的大小,而是可以删除不一定在一条直线上的像素路径。这允许您在保留更多“有趣”信息的同时调整图像大小。

通常你选择能量最少的路径,这里的能量是沿路径上色调/强度变化的一些度量。当你有一个非常重要的图像区域(如狗的脸)时,这将失败,但这些区域的能量不一定非常高。由于您有用户数据指示图像的哪些部分非常重要,因此每次有人选择具有该像素的区域时,都可以通过向像素明确添加一点能量来确保在图像的这些区域周围雕刻。

This video显示接缝雕刻的行动,即使你不认为你会使用它,看起来很酷。不过,我认为这值得尝试,但之前我已经使用它来进行一些有趣的调整大小的应用程序,而且实现起来非常简单。

+0

非常非常有趣!然而,大多数图像将包含主要面孔和人类,这种调整会扭曲他们的脸。但肯定适用于我想到的更多东西!非常感谢! – Suyash

+0

@Suyasha:但这就是为什么你的情况如此之好,如果你有人类告诉你图像的哪些区域是重要的,那么你可以避免这个问题。 –

+0

我会在图像上运行一些测试,如果它的工作,那么真棒!我目前正在查找它的PHP实现,但没有发现任何使用.. – Suyash