找到图像上最受欢迎的区域

当我有一个具有N个样本大小选区的图像时,应该使用什么平均值统计方程?

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

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

  • 找到所有选择的平均中心点并将其选中。 - 非常简单,但不会那么准确。
  • 使用K Means或EM Clustering等算法,但我不知道哪一个算法最适合。
  • 期待能够解决我的问题

    有关此问题的更多信息:实际图像最有可能是1024x768图像,并且对其进行的选择将是最常见的手机分辨率。 目标是通过基于用户选择的智能学习自动生成手机壁纸。


    我相信你有两个明确的问题:

    ONE:点的识别

    为此,您需要制定某种启发式方法来确定是否应该考虑某个点。

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

    你可以做的任何事情来减少你的数据集将是有帮助的。


    二:点的聚类

    我相信K Means Clustering最适合这个特殊问题。 链接

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

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

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

    此外:

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

    希望这可以帮助!


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

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

    这段视频展示了缝制雕刻的实际效果,即使你不认为你会使用它,看起来也很酷。 不过,我认为这值得尝试,但之前我已经使用它来进行一些有趣的调整大小的应用程序,而且实现起来非常简单。

    链接地址: http://www.djcxy.com/p/60081.html

    上一篇: Find most favored area on an image

    下一篇: banana throttling events