1.1.2 候选区域提取
R-CNN输入CNN的并不是原始图像,而是通过选择性搜索得到的候选区域,选择性搜索的核心思想是层次分组算法(hierarchical grouping algorithm)[11],其核心内容为:
[11] 参见Pedro F Felzenszwalb、Daniel P Huttenlocher的论文“Efficient Graph-Based Image Segmentation”。
● 将图像分成若干个小区域;
● 计算相似度,合并相似度较高的区域,直到小区域全部合并完毕;
● 输出所有存在过的区域,即候选区域。
选择性搜索伪代码区域的合并规则为:
● 优先合并颜色相近的;
● 其次合并纹理相近的;
● 再次合并在上述合并后总面积小的;
● 最后优先合并在上述合并后总面积在其边界框(bounding box,bbox)中所占比例大的。
图1.3所示是通过选择性搜索得到的候选区域,选择性搜索的核心内容如算法1所示。
图1.3 选择性搜索效果示意
算法1 选择性搜索
输入:(彩色)图像
输出:目标假设位置的集合L
1: 获取所有的区域
2: 初始化相似度集合
3: for 每一个邻居对do
4: 计算相似度
5:
6: end for
7: while S ≠ ∅ do
8: 计算最高相似度
9: 合并对应区域
10: 去除相似内容除了ri: S = S \ s(ri, r*)
11: 去除相似内容除了sj: S = S \ s(r*, rj)
12: 计算rt与其邻居之间的相似性集合St
13:
14:
15: end while
16: 从R的所有区域中提取对象位置框L