1.利用并查集合并检测结果窗口
使用SimilarRects来计算窗口相似度
定义好窗口相似性函数后,就可以利用并查集合并窗口函数了,大致过程如下:
-
调用Partiton方法进行窗口分组。在该方法中,首先建立Rect对象的并查集初始结构,然后遍历整个并查集,用SimilarRects::operator()判断每2个窗口相似性,若相似则将这2个窗口放入一个组;
-
运行完步骤1后会出现几个相互间不相似的窗口的组,当组中的窗口数量小于阈值minNeighbors时,丢弃该组(认为这是零散分布的误检);
- 之后剩下若干组由大量重叠窗口组成的比较大的组,分别求每个组中的所有窗口位置的平均值作为最终检测结果,每个组中通过stage的最大值以及最大的权重作为最终合并后的检测框的stage和权重。
资料参考来自:https://www.jianshu.com/p/0f2b949c4f9a
2.NMS方法
可以参考:https://blog.csdn.net/a362682954/article/details/82896142
3.基于最大后验(MAP)原理的子集优化公式(Based on the Maximum a Posteriori principle, we propose a novel subset optimization framework)
Zhang J, Sclaroff S, Lin Z, et al. Unconstrained salient object detection via