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) 基于直方图对比度的显著性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程