7

任何人都知道根据照片拍摄日期将照片分组为事件的算法。显然我可以按日期分组,但我想要一些更复杂的东西,它(可能)能够根据特定时间跨度内的频率对跨越多天的图片进行分组。考虑以下分组:

  • 2009 年 1 月 2 日 15 张照片
  • 2009 年 1 月 3 日 20 张照片
  • 2009 年 1 月 4 日 13 张照片
  • 2009 年 1 月 5 日 19 张照片
  • 2009 年 1 月 15 日 5 张照片

可能这些将分为两组:

  1. 2009 年 1 月 2 日 -> 2009 年 1 月 5 日
  2. 2009 年 1 月 15 日

显然,需要建立一些公差。

除了发明我自己的自上而下的方法之外,是否有任何成熟的方法可以做到这一点?

4

5 回答 5

7

您可以应用几乎任何标准的聚类技术,这只是正确定义距离函数的问题。当您制作照片之间的距离矩阵时,您应该考虑位置之间的物理距离(如果有的话)和它们的创建时间戳之间的时间距离的组合。 将它们归一化并将它们放在不同的维度上,您甚至可以采用常规的欧几里德距离。

祝你好运。

于 2009-03-06T08:31:46.233 回答
0

只需将连续几天(没有没有拍照的日子)拍摄的照片组合在一起。

于 2009-03-06T08:30:45.860 回答
0

您可能会尝试根据要创建的集群的数量或大小(绝对或百分比)动态计算容差。

于 2009-03-06T08:40:55.633 回答
0

要根据日期获得有用的图片聚类,您需要以下内容:

1) 聚类的数量应该是可变的,而不是先验固定的聚类

2)每个簇的直径不应超过特定数量。

最能满足这两个要求的聚类算法是QT(质量阈值)聚类算法。来自维基百科:

QT(质量阈值)聚类(Heyer,Kruglyak,Yooseph,1999)是一种替代数据分区方法,发明用于基因聚类。它比 k-means 需要更多的计算能力,但不需要先验指定簇的数量,并且运行多次时总是返回相同的结果。

虽然它主要用于基因聚类,但我认为它非常适合您的需求。

于 2009-03-06T08:45:10.630 回答
0

尝试检测间隙而不是集群。

于 2009-06-05T18:15:56.307 回答