HC(Histogram-based Contrast) 基于直方图对比度的显著性
2021/10/13 23:15:21
本文主要是介绍HC(Histogram-based Contrast) 基于直方图对比度的显著性,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
HC(Histogram-based Contrast) 基于直方图对比度的显著性
来源于: 2011, Global contrast based salient region detection, ChengSaliencyCVPR2011.pdf (mmcheng.net)
详见作者主页: Global contrast based salient region detection – 程明明个人主页 (mmcheng.net)
显著性定义
图像中像素的显著性值可以它和图像中其它像素的对比度来定义, 具体公式为:
\[S(I_k) = S(c_l) = \sum_{j=1}^{n}{f_iD(c_l, c_j)} \]其中, \(c_l\) 为像素 \(I_k\) 的颜色, n为图像中所有颜色的总数, \(f_j\) 为 \(c_j\) 在图像I中出现的概率, \(D(c_l, c_j)\) 为颜色在Lab空间的距离.
使用上述公式就可以计算每个像素的显著性, 从而可以得到图像中目标的显著性.
但上述公式存在一个问题: 对于RGB颜色空间, 8bit数据的颜色总数为 \(255^3=16581375\), 这样会使得公式计算量大.
具体实现
优化加速
为了解决计算量大的问题, 作者对颜色进行了量化来减少计算量, 如将颜色量化到12个不同的值(在RGB颜色空间量化), 这样颜色总数为 \(12^3=1728\). 同时丢弃部分频率较小的颜色, 用相近的颜色代替(在Lab颜色空间计算距离).
最后, 对量化后的图像直方图进行操作, 避免对整幅图像进行处理, 从而提高效率.
颜色空间平滑
量化后虽然提高了效率, 但会带来负面影响, 因为相似的颜色会被量化为不同值, 这样相似的颜色会得到不同的显著性值. 为解决这个问题, 作者使用了颜色空间平滑, 对计算出来的显著性值进行平滑: 每个颜色的显著性值被替换为相似颜色的显著性值的加权平均, 具体公式为:
\[S^{'}(c)=\frac{1}{(m-1)T}\sum^{m}_{i=1}(T-D(c,c_i))S(c_i) \]其中, \(T=\sum^{m}_{i=1}D(c,c_i)\) 为颜色 c 和它最相似的 m 个颜色的距离之和.
实现效果
处理过程及效果如下所示:
从上可以看到, 基本实现了文章中的效果, 但与文章给出的效果还是有些出入的.
关键参数
算法中主要有3个参数: 量化参数, 平滑参数, 保留颜色比例, 下面分别说明.
量化参数
量化参数: 将每个颜色通道进行量化, 从而减少颜色数量, 量化参数为Q, 则量化后颜色的总数为 \(Q^3+Q^2+Q+1\), 对于量化参数, 有如下性质:
- Q越大, 量化后颜色数量越多, 算法执行越慢;
- Q越小, 量化后颜色数量越少, 算法执行越快;
- Q越大, 得到的显著性图像层次越丰富(如下图所示中的树叶), 但如果Q太大, 如下图中Q>64时, 目标显著性与背景的显著性区别不大(如下图所示中的人与天空), 则不能突出目标;
- Q越小, 得到的显著性图像越简单, 但如果Q太小, 如下图中Q<12时, 量化后颜色太少, 目标与背景颜色显著性区别不大, 不能突出目标;
- 对下图中测试图像, Q的取值在[12,32]较合适;
图中, 第一行分别为原始图像, 颜色量化后图像, 显著性图像, 第二行为对应的颜色显著性.
平滑参数
平滑参数: 取值[0, 1], 为比例控制参数R, 控制用于颜色平滑的数量(保留的颜色数量*R), 用于消除颜色量化带来的负面影响(相似颜色量化成不同的值得到不同的显著性), 对于平滑控制参数, 有如下性质:
- R越大, 目标和背景的颜色显著性越均匀, 目标和背景越容易区分, 但R>0.5时, 目标和背景的颜色显著性越来越接近, 显著性图像中, 目标与背景越难区分, 如下图中所示;
- R越小, 颜色显著性越分散, 目标的显著性越分散(可能会被划分为多个目标);
- 对于下图中测试图像, R<0.5比较合适;
图中, 第一行分别为原始图像, 颜色量化后图像, 显著性图像, 第二行为对应的颜色显著性.
保留颜色比例参数
保留颜色比例: 取值[0,1], 为保留颜色比例参数C, 用于控制保留下来的颜色数量(量化后实际出现的颜色数量*C), 用于消除颜色噪声带来的影响, 对于保留颜色比例参数, 有如下性质:
- C越大, 保留颜色越多, 目标显著性越完整;
- C越小, 保留颜色越少, 目标颜色保留的越少, 目标显著性越低;
- 对于下图中测试图像, C=0.95比较合适;
图中, 第一行分别为原始图像, 颜色量化后图像, 显著性图像, 第二行为对应的颜色显著性.
核心原理说明
对于文章中的显著性, 根据定义及公式可知, 有2个核心要素:
- 一是目标颜色出现的数量, 因而目标不能太大, 太大了就会成为背景, 如下图所示, 目标也不能太小, 否则就不是目标;
- 二是目标颜色与其他颜色区别要大, 否则就不会被当成目标, 显著性则会很低, 如下图所示;
这篇关于HC(Histogram-based Contrast) 基于直方图对比度的显著性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享