我有一个独特的问题,我希望得到一些建议,这样我就不会错过任何事情.
问题:基于用户选择不同选择比的区域,在图像上找到最喜欢/喜欢/重要的区域.
场景:考虑一个Image of a dog,数百名用户以不同的分辨率选择该图像上的区域,大多数选择中明显的焦点区域将是包含狗的区域.我可以记录x1,x2,y1,y2坐标并将它们放入数据库中,现在如果我想在一组分辨率中自动生成此图像的版本,我应该能够识别具有最大吸引力的区域用户.
我认为可行的方法是:
>找到所有选择的平均中心点,并将选择基于该选择. – 非常简单,但不会那么准确.
>使用一些算法,如K Means或EM Clustering,但我不知道哪一个最适合.
期待我的问题的一些出色的解决方案
有关该问题的更多信息:
实际图像很可能是1024×768图像,其上的选择将是最常见的手机分辨率.目标是根据用户选择通过智能学习自动生成手机壁纸.
ONE:积分识别
为此,您需要开发某种启发式方法来识别是否应该考虑一个点.
我相信您提到过数百名用户将成为此图片的选择位置?数百可能是聚集的很多点.考虑排除异常值(通过删除在特定距离内没有一定数量邻居的点)
您可以采取的任何措施来减少数据集.
二:点的聚类
我相信K Means Clustering最适合这个特殊问题.
LINK
您的特定问题似乎与解释此算法时使用的标准笛卡尔坐标聚类示例非常相似.
你想要做的似乎是NP-Hard,但应该通过经典近似来满足.
一旦聚类,您可以获取该聚类中的平均值,以获得相当准确的近似值.
此外:
你的数据集听起来已经很紧密了. (即大多数人会选择狗的脸,而不是它的躯干侧面.)你需要了解当地的最小值. LINK这些可能会给你的算法带来麻烦.特别是少数集群.请注意,您可能需要一些动态编程来解决这个问题.您通常可以在算法中引入一些方差,允许平均点“弹出”这些局部最小值. Local Minima/Maxima
希望这可以帮助!