擅长:python、mysql、java
<p>实际上,dlib的实现与您所想的非常相似。<a href="https://github.com/davisking/dlib/blob/f7f6f6761817f2e6e5cf10ae4235fc5742779808/tools/python/src/face_recognition.cpp#L244" rel="nofollow noreferrer">Here</a>是代码。它首先检查每个对,并拒绝距离大于阈值的对。这正是你提议的。但是它对结果进行了精细的聚类。那么,会有什么改变呢?在</p>
<p>如果数据点分离得很好,那么简单地按距离切断就可以了。但是,如果数据点彼此非常接近,这个问题就变得非常困难。想象一下1D特性。数据点是0到10之间的整数位置,如果两个数据点的距离最大为1.5,则需要将它们放在一个簇中。那么,你会怎么做?如果你从一对开始,你可以形成一个集群。但是如果你选择了一个相邻的点,你会发现它比你的阈值更接近簇中已有的一个点,而大于另一个点的阈值。聚类就是为了解决这种模糊性。在</p>