RCNN选择性搜索(Selective Search)
基于:
1)图片大小
2)颜色
3)纹理
4)附件
算法一:分组分类算法
输入:(图层颜色)图片
输出:对象位置假设集L
Obtain initial regions R = {r1,··· ,rn} using [13]
Initialise similarity set S = 空集
foreach Neighbouring region pair (ri,rj) do //遍历所有临近的像素对
Calculate similarity s(ri,rj) //计算所有像素对之间的相似度
S= S∪s(ri,rj) //把相应的相似度保存在集合S中
while S≠空集 do
Get highest similarity s(ri,rj) = max(S) //从集合S中取出相似度最高的像素对
Merge corresponding regions rt = ri ∪rj //把两个像素进行合并
Remove similarities regarding ri : S = S s(ri,r∗) //从集合S中除去和ri有关的相似度
Remove similarities regarding rj : S = S s(r∗,rj) //从集合S中除去和rj有关的相似度
Calculate similarity set St between rt and its neighbours //计算rt和临近像素点的相似度
S = S∪St //将相似度存入集合S中
R = R∪rt //将rt存入集合R中
Extract object location boxes L from all regions in R
优先合并以下四种区域:
- 颜色(颜色直方图)相近的
- 纹理(梯度直方图)相近的
- 合并后总面积小的
- 合并后,总面积在其BBOX中所占比例大的
第三条,保证合并操作的尺度较为均匀,避免一个大区域陆续“吃掉”其他小区域。(Get highest similarity s(ri,rj) = max(S)通过此处实现)
例:设有区域a-b-c-d-e-f-g-h。较好的合并方式是:ab-cd-ef-gh -> abcd-efgh -> abcdefgh。
不好的合并方法是:ab-c-d-e-f-g-h ->abcd-e-f-g-h ->abcdef-gh -> abcdefgh。
第四条,保证合并后形状规则。
例:左图适于合并,右图不适于合并。
上述四条规则只涉及区域的颜色直方图、纹理直方图、面积和位置。合并后的区域特征可以直接由子区域特征计算而来,速度较快。