- 将图像划分成很多的小区域(regions),生成区域集R
- 计算区域集R里每个相邻区域的相似度S,相似度有很多衡量标准,如颜色相似度、纹理相似度、尺寸相似度等。
- 颜色相似度(color similarity)
将色彩空间转换为适合自己研究项目的色彩空间(例如HSV,如果是灰度图像,就只有一个通道了),每个通道以bins=25计算直方图,每个区域的颜色直方图共有75个。对直方图除以区域尺寸做归一化,计算相似度。
- 纹理相似度(texture similarity)
方差为1的高斯分布在8个方向做梯度统计(计算sift特征),将统计结果(尺寸与区域大小一致)以bins=10计算直方图。直方图区间数为8*3*10=240(假设使用RGB色彩空间)。
其中,是直方图中第k个bin的值。
- 尺寸相似度(size similarity)
要保证合并操作的尺度较为均匀,避免一个大区域陆续“吃掉”其他小区域。假设有区域a-b-c-d-e-f-g-h,较好的合并方式是ab-cd-ef-gh->abcd-efgh->abcdefgh。
- 交叠相似度(shape compatibility measure)
- 最终的相似度
3. 找出相似度最高的两个区域,将其合并为新集,添加进R
4. 从S中移除所有与3中子集有关的相似度
5. 计算新集与所有子集的相似度
6. 跳至3,直到S为空。(得到的就是候选区域)
算法描述如下所示: