RT
前言
- 据说这是在工业界广泛使用的算法,经历过实践的考验
- 论文指导老师是人脸/聚类领域的巨佬, 学术新坑开启人:Anil K. Jain
浅析
总结来说:论文就是基于RO1做了少量改进, 提升了表现与性能。 (注意区分ARO, RO, ARO是改进版,也是这篇文章的主角)
ARO距离计算原理
建议先看看参考链接,解释的很清晰
文字版描述如下:
- 计算rank order
- 计算rank order distance : (d(A->B), d(B->A))
- 计算normalized pair distance between A & B, 利用step2 计算出来的距离
ARO改进1:
RO的算法流程:
上图的分析如下:
1.每张人脸N作为独立的分类, 构建N*N对pair(这里会有很多重复的pair(Ci, Cj)(Cj, Ci), 实现上可以去除 ),
迭代运行 step2 & step3:
2.然后计算pair之间距离得到candidate pair(同类的pair),
3.然后对candidate pairs进行merging. (每一个query 假设都有pairs对candidate pair, 时间复杂度O(pairs^2), 两次for循环. 过程中不断merge为新的cluster , 再去计算新的cluster之间的距离, 为什么要这么做? )
这里step3 合并成新的cluster之后, 作者定义了cluster level distance , 即cluster之间的距离(与单独两张个体图片的距离定义不同,大致如下图所示) 其实没有必要去定义/计算新的cluster 之间的距离, 直接算一遍step2, step3, 复杂度从O(C*N^2) 降为O(N^2)
(C is clusters)
ARO改进2:
1.rank order distance 公式(1.1采用了topk, 而不是遍历了所有的 neighbors 1.2 采用了Indicator (Ib)操作,只在乎是否存在, 而不是用rank_value)
图中1)公式为RO论文提出, 5)公式为ARO论文提出
效果与性能分析(TODO)
参考
- [1] zhu2011A Rank-Order Distance based Clustering Algorithm for Face Tagging