selective-search-nms
Selective Search and NMS
Selective Search
目标检测的第一步是将物体划分为不同的小区域,目标检测模型本质上在定位图像上的不同物体,选择的候选框的好坏直接决定目标检测的IoU。生成候选框主要要解决两个问题
- 如何将不同尺度的物体都包含在候选框中
- 如何保证输出的候选框数量不要太多
Hierarchical Grouping Algorithm
有两种做法用于生成初始分割框
- 基于滑动窗口,不断调整滑动窗口的步长和窗口的大小,在图片上移动(效率低)
- 基于区域(region proposal)进行划分,对纹理、颜色相似的相邻区域进行合并
生成一组图像的初始框 $R_1,R_2,\cdots,R_n$,采取下列方法进行合并
- 计算相邻区域的相似性
- 合并相似的相邻区域
- 再次回到1
通过这种方式生成一堆Bounding Box,可以看成根据纹理和颜色进行了一个grouping
Diversification Strategies
这一部分讨论用什么指标对两个区域的进行相似度度量
颜色
每个区域用三通道颜色直方图(25bins)表示,得到75向量
纹理
对每个颜色通道的8个不同方向做梯度统计
尺度
尽量小的区域优先合并
形状重合
合并后区域的bounding box优先合并
NMS
目标检测输出一系列框以及对应的置信度,NMS将会从中删除一些重叠的框
- 按照置信度排序,得到边界框列表
- 选择置信度最高的边界框加入输出列表,将其从边界框列表中移除
- 计算边界框面积
- 对于置信度最高的边界框,计算它和边界框中其它候选框的IoU
- 删除IoU大于阈值的框(重合度较高)
- 重复,直到边界框列表为空(取出列表,进行删除)