显著性检测——GR模型

article/2025/10/12 9:10:38

显著性检测——GR模型

  • 1. Introduction
  • 2. Saliency Model
    • 2.1 Initial Saliency Map
    • 2.2 Saliency Map Refining With Graph Regularization
  • 3. Experiments
  • 4. Conclusion
  • 参考文献

本人最近在做视觉显著性检测相关的工作,决定把自己的学习经历形成文字,希望对读者有所帮助。
笔者才疏学浅,文章中如有不当之处,还请读者指正,在此表示感谢。

本文主要参考 Graph-Regularized Saliency Detection With Convex-Hull-Based Center Prior,Chuan Yang, Lihe Zhang, and Huchuan Lu
本文中所有图片和公式均来源于该论文。
附上原文下载地址。

1. Introduction

这篇论文主要研究自下而上(bottom-up)的显著性检测方法。自下而上的方法主要为数据驱动型,因此需要依靠提前定义的假设(priors)。比如:
contrast prior: 假定显著目标与背景之前存在很大的差异。可能带来的问题是,整个目标区域没有被统一的标记出来,或者背景区域没有被有效的抑制。
center prior:假设显著目标通常在图像中心附近。这可能会导致远离中心的显著区域被抑制,或靠近中心的背景区域被加强。
此外,一般的方法通常会单独地计算每个图像元素(image element),忽略邻近元素之间的关联。

为了克服以上这些可能存在的缺点,这篇论文提出了convex-hull-based center prior和smoothness prior。前者用来确定显著区域的中心位置,后者将邻近的图像元素建立联系。

2. Saliency Model

这篇论文提出的方法主要依靠超像素(superpixel)作为显著性估计的元素,因此先使用SLIC方法1获取给定图像的超像素。

2.1 Initial Saliency Map

A) Contrast Prior Map :对于任意超像素 i i i,计算其在CIE LAB空间下的颜色均值(color mean) c i c_i ci 和已经归一化到[0,1]的平均坐标(average position) p i p_i pi 。则每个超像素的显著值可以由以下公式得到:

S c o ( i ) = ∑ j ≠ i ∥ c i − c j ∥ ⋅ e x p ( − ∥ p i − p j ∥ 2 2 σ p 2 ) S_{co}(i)=\sum_{j \neq i}^{ }\left \|c_i-c_j\right \|\cdot exp(-\frac{\left \| p_i-p_j \right \|^2}{2\sigma _p^2} ) Sco(i)=j̸=icicjexp(2σp2pipj2)

其中 σ p \sigma_p σp为权重。可以将上式中乘号前后看作两部分,乘号前面判断颜色是否相似,颜色差异越大,对应值越大,最终显著值越大;乘号后面判断两超像素间的距离,距离越远则对应值越小,同时减弱前面颜色差异的权重。

B) Convex-Hull-Based Center Prior Map:为了解决显著区域有可能远离图像中心的问题,这篇论文首先计算出一个包含感兴趣区域的convex hull2来估计显著区域,并用convex hull的中心坐标( x 0 , y 0 x_0,y_0 x0,y0)代替传统算法中的图像中心坐标。此时每个超像素的显著值计算公式如下:
S c e ( i ) = e x p ( − ∥ x i − x 0 ∥ 2 2 σ x 2 − ∥ y i − y 0 ∥ 2 2 σ y 2 ) S_{ce}(i)=exp(-\frac{\left \| x_i-x_0 \right \|^2}{2\sigma_x^2}-\frac{\left \| y_i-y_0 \right \|^2}{2\sigma_y^2} ) Sce(i)=exp(2σx2xix022σy2yiy02)
其中 x i , y i x_i,y_i xi,yi分别为超像素 i i i归一化到[0,1]后的水平坐标均值和垂直坐标均值,并且令 σ x = σ y \sigma_x=\sigma_y σx=σy。上式可简单理解为距离显著区域中心越远,其显著值越低;相反,越靠近显著区域中心,显著值越高。

C) Integration:最终,通过整合上述两种显著图,得到初始显著图(initial saliency map):
S i n ( i ) = S c o ( i ) × S c e ( i ) S_{in}(i)=S_{co}(i)\times S_{ce}(i) Sin(i)=Sco(i)×Sce(i)
图一,采用convex-hull based center prior 的好处
通过图一可以看出,使用convex hull所估计的显著区域在向日葵处(红色边缘标出),如果只使用contrast prior,右下角显著值也很高。在使用convex-hull-based center prior后,向日葵部分被增强了,同时右下角部分被有效抑制。

算法到此处有一些小问题,在计算 S c e ( i ) S_{ce}(i) Sce(i)的公式中,我们令 σ x = σ y \sigma_x=\sigma_y σx=σy。如果显著目标的形状或者尺度发生变化,可能会使初始显著图 S i n ( i ) S_{in}(i) Sin(i)计算不准确。(例如,显著目标为长方形,那么在水平方向和垂直方向设定相同的权重显得不合理。)为此,这篇论文引入了smoothness prior来考虑图像元素之间的关联,从而得到改进显著图(refined saliency map)。

2.2 Saliency Map Refining With Graph Regularization

我们根据原图设计一个连通图 G = ( V , E ) G=(V,E) G=(V,E),其中节点(nodes) V V V为超像素,边(edges) E E E 为两相邻超像素的连接。两个节点之间的权重为 w i j ∈ W w_{ij}\in W wijW,计算公式如下:

w i j = e x p ( − ∥ c i − c j ∥ 2 σ w 2 ) w_{ij}=exp(-\frac{\left \| c_i-c_j \right \|}{2\sigma_w^2}) wij=exp(2σw2cicj)
c i 和 c j c_i和c_j cicj为对应超像素在CIE LAB颜色空间中的颜色均值, σ w \sigma_w σw为权重。
在此,我们定义显著性损失函数(saliency cost function)为:

E ( S ) = ∑ i ( S ( i ) − S i n ( i ) ) 2 + λ ∑ i , j w i j ( S ( i ) − S ( j ) ) 2 E(S)=\sum_{i}^{ }(S(i)-S_{in}(i))^2+\lambda\sum_{i,j}^{ }w_{ij}(S(i)-S(j))^2 E(S)=i(S(i)Sin(i))2+λi,jwij(S(i)S(j))2

其中 S ( i ) 和 S ( j ) S(i)和S(j) S(i)S(j)为最终显著图中对应节点 i , j i,j i,j的显著值, λ \lambda λ为正则化参数(regularization parameter)。等式右边的第一项为fitting constraint,意味着一个好的显著图不能和初始显著图 S i n ( i ) S_{in}(i) Sin(i)差太多。第二项为smoothness constraint,意味着一个好的显著图中相邻的超像素之间差距不能太大。则最优显著图可以通过最小化损失函数得到。可以令 E ( S ) E(S) E(S)导数为0得到解为:

S ∗ = μ ( D − W + μ I ) − 1 S i n S^{*}=\mu (D-W+\mu I)^{-1}S_{in} S=μ(DW+μI)1Sin

其中 D D D为对角矩阵, d i i = ∑ j ( w i j ) d_{ii}=\sum_{j}(w_{ij}) dii=j(wij) μ = 1 / ( 2 λ ) \mu=1/(2\lambda) μ=1/(2λ)

图二,λ对显著图的影响

图二给出了不同 λ \lambda λ下最终显著图的结果。 λ \lambda λ越小,表明初始显著图越重要, λ \lambda λ越大,表明相邻节点之间的关系更重要。

3. Experiments

这篇论文在MSRA-1000数据集上进行测试,该数据集包含有1000张图片及对应的真值(ground truth)。并且使用PR曲线(precision-recall curve)来评估算法。

A) Experimental Setup:这篇论文在计算超像素部分,设置超像素节点数(number of superpixel nodes)为N=200。这篇论文提出的模型共有五个参数: σ p , σ x , σ y , σ w , λ \sigma_p,\sigma_x,\sigma_y,\sigma_w,\lambda σp,σx,σy,σw,λ。根据经验选取 σ p 2 = 0.2 , σ x 2 = σ y 2 = 0.15 , σ w 2 = 0.05 , λ = 25 \sigma_p^2=0.2,\sigma_x^2=\sigma_y^2=0.15,\sigma_w^2=0.05,\lambda=25 σp2=0.2,σx2=σy2=0.15,σw2=0.05,λ=25。图三展示了参数设置对于模型的影响。
在这里插入图片描述
B) Compared With Other Methods:这篇论文和其他五种图像显著性检测的模型(FT,CA,RC,CB,SF)进行对比。图四展示了不同模型的PR曲线对比(其中PBS为本文提出的模型)。

在这里插入图片描述
C) Validation of Center and Smoothness Priors:为了展示convex-hull-based center prior的有效性,图五( a )展示了三种情况下的初始显著图的PR曲线。图五( b )和( c )表明对其他模型添加smoothness prior同样能够提高其模型表现。
在这里插入图片描述
D) Run Time:表一对比了PBS(本文提出的模型)和其他模型的运行时间,可以发现PBS相比于其他用matlab执行的模型运行时间要短很多。
在这里插入图片描述

4. Conclusion

这篇论文提出了一种利用contrast,center和smoothness prior的自下而上的显著性检测模型。通过实验表明该模型能够有效的增强目标区域同时抑制背景区域。

以下给出该模型的大致流程图。

Created with Raphaël 2.2.0 Image Input Superpixel Contrast Prior Map & Convex-Hull-Based Center Prior Map Initial Saliency Map & Affinity Matrix W Final Salinecy Map

参考文献


  1. R. Achanta, K. Smith, A. Lucchi, P. Fua, and S. Susstrunk, “SLIC Superpixels,” Tech. Rep. EPFL, 2010, Tech.Rep. 149300. ↩︎

  2. Y. L. Xie and H. C. Lu, “Visual saliency detection based on Bayesian model,” in ICIP, 2011. ↩︎


http://chatgpt.dhexx.cn/article/cmuXtLPJ.shtml

相关文章

视频显著性检测----《Flow Guided Recurrent Neural Encoder for Video Salient Object Detection》

本文将重点与大家探讨和分享发表于CVPR2018上的视频显著性检测文章–《Flow Guided Recurrent Neural Encoder for Video Salient Object Detection》,在讨论之前,先带领大家简单回顾一下什么是显著性检测,目前图片显著性检测的常用方法&…

计算机视觉——图像视觉显著性检测

目录 系列文章目录 零、问题描述 一、图像显著性检测 1.定义 2.难点 二、常用评价标准和计算方法 1.综述 2.ROS曲线详述 2.1 混淆矩阵 2.2 ROC曲线简介 2.3 ROC曲线绘制及其判别标准 2.4 ROC曲线补充 三、Fast and Efficient Saliency (FES) 1.算法简介 2.项目导…

显著性检测后处理

将显著性检测图像后处理,绘出一个矩形框,方便使用 先通过边缘检测,然后通过opencv接口实现 结果如下: # --coding:utf # -8-*- import osimport cv2 as cv import numpy as np# canny边缘检测 def canny_demo(image):t 50cann…

基于深度学习的视频显著性检测学习(入门)

一、传统的视频显著性检测 什么是视频显著性检测呢? 我的理解是检测某一段视频的每一帧图片的显著性区域,那这样理解的话就相当于多个图片的显著性检测,所以他是依赖于输入视频帧的对比度、梯度以及纹理来进行相关计算。但既然是视频显著性检…

显著性检测—学习笔记

视觉显著性旨在模仿人类视觉系统选择视觉场景的某个子集的能力。而显著性物体检测(SOD)则侧重于检测场景中吸引最多注意力的物体,然后逐像素的提取物体的轮廓。SOD的优点在于它在许多计算机视觉任务中均有广泛的应用,包括&#xf…

显著性检测

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_32493539/article/details/79530118 转载请附链接,注明出处。 显著性对象检测综述…

在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具

最近发现一个超好用的“在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具”。 链接在此奉上:在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具 很好的一点就是我们只要QQ登录后,就可以记住请求地址,包括请求参数,包括请求co…

https协议的接口测试

用jmeter测试https接口: 和传统的http协议套路不太一样. 注意细节: 1、取样器正常选择http请求,端口号:为443(具体根据接口文档我刚开始用的80端口所以错了) 2、请求方法,一定一句接口文档&…

接口测试HTTP请求

一、Get请求与Post请求的区别 1.get请求没有请求体,post请求有请求体 2.get请求的参数(需要传递的数据)要放在URL中发送。大小有限制 post请求的参数可以放在URL后传递,也可以放在请求体中(大小不受限制&#xff09…

Jmeter进行http接口测试,这一篇就搞定

jmeter-http接口测试脚本 jmeter进行http接口测试的主要步骤 (1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL,路径,请求方式,参数 4.添加查看结果树 5.调用接口,查看返回值) 针对接口添加…

http接口测试——Jmeter接口测试实例讲解

一、测试需求描述 1、 本次测试的接口为http服务端接口 2、 接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有关联性,比较有代表性;…

http接口测试工具-Advanced-REST-client

非常好用的http接口测试工具 相信作为一个java开发人员,大家或多或少的要写或者接触一些http接口。而当我们需要本地调试接口常常会因为没有一款好用的工具而烦恼。今天要给大家介绍一款非常好用、实用且方便的http接口测试工具。本人认为这是目前我用过的最好http…

http接口测试:了解协议、请求方法、响应状态码

http接口测试:了解协议、请求方法、响应状态码 接口在各个系统间的重要性无需重申,主要体现在外部系统与系统之间以及内部各子系统之间的交互点。通过这些特定的交互点和一些特殊的规则标准(协议)来进行系统数据之间的交互&#…

如何用postman进行http接口测试?好好看好好学

目录 优点: 1、什么是POSTMAN 2、新建一个项目 2、新增一个用例 3、添加请求信息 4、post请求参数 5、添加头信息 6、预处理和结果检查 7、全局变量与环境变量 8、导出用例为代码 9、批量执行用例 HTTP的接口测试工具有很多,可以进行http请求…

如何用postman进行http接口测试,这篇文章绝对会颠覆你的认知

目录 前言 优点: 1、什么是POSTMAN 2、新建一个项目 2、新增一个用例 3、添加请求信息 4、post请求参数 5、添加头信息 6、预处理和结果检查 7、全局变量与环境变量 8、导出用例为代码 9、批量执行用例 前言 HTTP的接口测试工具有很多,可以进…

http接口测试工具

http接口测试工具 工具图形界面特点postmanY图形界面,功能齐全curlN可用于下载,但更侧重于模拟各种http请求,与网站API的交互wgetN专注于下载,支持断点,支持递归(可用于全站下载)httpieN采用Pt…

接口测试——HttpClient

这里写目录标题 Get请求Post请求HttpClient设置代理FastJson的应用示例常用的代码块正则表达式(提取)封装后的一个demo HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包…

jmeter之接口测试(http接口测试)

基础知识储备 一、了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服务器--服务器 二、了解基础接口知识: 1、什么是接口:前端与后台之间的…

http post请求接口测试

http post请求接口测试 单纯的http post请求,请求参数为json格式的接口测试总结。 方法一Postman(推荐): 最简单的方法是用Postman (可做post请求模拟工具用)。真的超级简单,下面是操作方法&…

秒懂HTTPS接口(接口测试篇)

文章目录 一、前言二、具体实现1、引包2、采用绕过证书验证测试HTTPS接口3、采用设置信任自签名证书测试HTTPS接口4、验证数据库 三、完整项目结构 一、前言 下面我们来测试下我们秒懂HTTPS接口(实现篇)写的HTTPS接口(Java版) 技术选型&…