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) 基于直方图对比度的显著性的更多相关文章

  1. LBS(Location Based Service)(基于位置的服务)

    LBS(Location Based Service)(基于位置的服务) Android 中定位方式基本可以分为两种:GPS定位,网络定位. GPS定位的工作原理是基于手机内置的GPS硬件直接和卫星进 ...

  2. Poj 2136 Vertical Histogram(打印垂直直方图)

    一.Description Write a program to read four lines of upper case (i.e., all CAPITAL LETTERS) text inpu ...

  3. leetCode 84.Largest Rectangle in Histogram (最大矩形直方图) 解题思路和方法

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...

  4. 【sqli-labs】 less17 POST - Update Query- Error Based - String (基于错误的更新查询POST注入)

    这是一个重置密码界面,查看源码可以看到username作了防注入处理 逻辑是先通过用户名查出数据,在进行密码的update操作 所以要先知道用户名,实际情况中可以注册用户然后实行攻击,这里先用admi ...

  5. CVPR 2011 Global contrast based salient region detection

    Two salient region detection methods are proposed in this paper: HC AND RC HC: Histogram based contr ...

  6. 论文阅读:Review of Visual Saliency Detection with Comprehensive Information

    这篇文章目前发表在arxiv,日期:20180309. 这是一篇针对多种综合性信息的视觉显著性检测的综述文章. 注:有些名词直接贴原文,是因为不翻译更容易理解.也不会逐字逐句都翻译,重要的肯定不会错过 ...

  7. Global Contrast based Salient Region Detection (Ming ming Cheng)

    abstract: Automatic estimation of salient object regions across images, without any prior assumption ...

  8. Paper | Contrast Limited Adaptive Histogram Equalization

    目录 1. 背景 1.1. 对比度和直方图均衡HE 1.2. HE的问题 1.3. AHE 1.4. 底噪问题 2. CLAHE 2.1. 效果展示 2.2. 算法格式和细节 论文:Contrast ...

  9. 图像增强 | CLAHE 限制对比度自适应直方图均衡化

    1 基本概述 CLAHE是一个比较有意思的图像增强的方法,主要用在医学图像上面.之前的比赛中,用到了这个,但是对其算法原理不甚了解.在这里做一个复盘. CLAHE起到的作用简单来说就是增强图像的对比度 ...

  10. 【图像增强】CLAHE 限制对比度自适应直方图均衡化

    文章目录: 目录 1 基本概述 2 竞赛中的CLAHE实现 3 openCV绘制直方图 4 对比度Contrast 5 Contrast Stretching 6 Histogram Equaliza ...

随机推荐

  1. 关于页面 reflow 和 repaint

    什么是 reflow 和 repaint 浏览器为了重新渲染部分或整个页面,重新计算页面元素位置和几何结构(geometries)的进程叫做 reflow. 当确定了元素位置.大小以及其他属性,例如颜 ...

  2. js跳转页面方法整理

    1.window.location.href方式 window.location.href="http://www.zgw8.com"; 2.window.navigate方式跳转 ...

  3. 第八篇、UITableView常用功能(左滑出现多个按钮,多选删除等)

    1.左滑动出现多个按钮 /** * 只要实现了这个方法,左滑出现按钮的功能就有了 (一旦左滑出现了N个按钮,tableView就进入了编辑模式, tableView.editing = YES) */ ...

  4. 【pyhton】【转】修改递归次数

    import sys sys.setrecursionlimit(1500) # set the maximum depth as 1500 def recursion(n): if(n <= ...

  5. Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点

    1. Map集合的概述: public interface Map<K,V> 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请 ...

  6. 【开源】canvas图像裁剪、压缩、旋转

    前言 前段时间遇到了一个移动端对图像进行裁剪.压缩.旋转的需求. 考虑到已有各轮子的契合度都不高,于是自己重新造了一个轮子. 关于图像裁剪.压缩 在HTML5时代,canvas的功能已经非常强大了,可 ...

  7. Laravel 5.4.36 session 没有保存成功问题

    session使用注意点 工作中使用的是session默认的文件缓存  在使用过发现  session()->put("key","values")  发 ...

  8. MySQL 如何使用索引 较为详细的分析和例子

    在数据库表中,使用索引可以大大提高查询速度. 假如我们创建了一个 testIndex 表: CREATE TABLE testIndex(i_testID INT NOT NULL,vc_Name V ...

  9. 洛谷P3870开关题解

    我们先看题面,一看是一个区间操作,再看一下数据范围,就可以很轻松地想到是用一个数据结构来加快区间查询和修改的速度,所以我们很自然的就想到了线段树. 但是这个题还跟普通的线段树不一样,这个题可以说要思考 ...

  10. intel FPGA使用

    https://www.altera.com/documentation/swn1503506366945.html https://files.cnblogs.com/files/shaohef/o ...