图像显著性目标检测
一、概述
1、定义
图像显著性检测(Saliency Detection,SD), 指通过智能算法模拟人的视觉系统特点,预测人类的视觉凝视点和眼动,提取图像中的显著区域(即人类感兴趣的区域),可以广泛用于目标识别、图像编辑以及图像检索等领域,是计算机视觉领域关键的图像分析技术。
示例如图所示,左图为原图,右图为经过显著性检测算法的结果图

2、方法分类
显著性目标检测主要可以分为两个阶段,分别是传统尺度空间手工特征的注意预测算法和基于深度学习的注意预测算法。
第一阶段为等传统尺度空间手工特征的注意预测算法。第二个阶段,随着计算机神经网络技术的革新和发展,基于深度学习的注意预测算法大量出现。
传统注意预测算法,指的是基于强度、颜色和方向等传统特征的算法,由于其特征提取和学习方法都以图像本身空间特征为基础,缺乏多语义等深度特征,相较于人眼仍然具有较大差距,很难检测到人眼注视信息包含的大量高级语义信息,在预测效果的提高上有局限。此外,不同人的注意力机制存在一定差异,在大部分传统模型中未加入先验信息,处理相对困难。
深度学习注意预测算法是近年来发展较为迅速的方法。由于深度学习算法需要大量的训练数据,同时神经网络的设计上针对不同任务需要不断变更,算法较复杂。另外,深度学习模型一般存在可解释性差的共性缺点。
# 二、算法模型
## 1、ITTI视觉显著性模型
TTI视觉显著性模型是根据早期灵长类动物的视觉神经系统设计的一种视觉注意模型[1]。该模型首先利用高斯采样方法构建图像的颜色、亮度和方向的高斯金字塔,然后利用高斯金字塔计算图像的亮度特征图、颜色特征图和方向特征图,最后结合不同尺度的特征图即可获得亮度、颜色和方向显著图,相加得到最终的视觉显著图,如下图所示(引用自原文)。该方法不需要训练学习的过程,仅通过纯数学方法,便可完成显著图的计算。

## 高斯金字塔的构建
高斯金字塔包括三部分,分别是亮度、颜色和方向。
首先要对r、g、b三个通道做高斯降采样,从而获得九个尺度下的三通道图像、、,其中。
然后即可构建亮度高斯金字塔,在九个尺度下计算获得,这里需要根据再对、、做归一化处理,以便将色调与亮度分离,原因在于低亮度下色调难以分辨。而每一个像素点的归一化仅对亮度的点进行,而其余的点将置零,其中表示点所处的尺度的图像中最大的亮度值。
接着即可构建颜色高斯金字塔,在九个尺度下计算

以上四个分别代表红、绿、蓝、黄的颜色高斯金字塔。
最后利用Gabor滤波器构建Gabor方向金字塔,其中,角度分别为0 、45、90、135 。
上述获得亮度、颜色和方向高斯金字塔后,利用Center-Surround方法(Center(c)即精细尺度,Surround(s)即粗尺度)计算对应的特征图。计算方法为:
其中c 为2 3 4,而s=c+3或s=c+3。再通过减法操作调整图片到同一大小,I表示亮度特征图,RG和BY表示颜色特征图,这是利用了大脑皮质的“颜色双对立”系统,O表示方向特征图。所以总共生成的特征图有6+12+6x4=42张特征图。
## 显著图的构建
模型在缺少自顶而下的监督机制的条件下,提出一个特征图归一化操作运算符
,该操作过程基于大脑皮质侧向抑制机智,可以增强存在少量活动峰(即尖锐值)的特征图,抑制存在大量活动峰的特征图。其操作方法如下:
(1)首先对输入的特征图归一化至统一范围[0...M];
(2)找到该特征图的全局最大值M所在位置并计算其他所有局部最大值的均值m,然后把整个特征图同乘以(M-m)^2;
如下图所示,中间列上图便是存在大量活动峰的特征图,经过操作后得到的特征图整体较为平滑,活动峰被抑制,中间列下图是存在少量活动峰的特征图,经过操作后得到的特征图在原有的活动峰处得到了增强。

通过以上操作符结合获得的42张特征图,即可计算最后的视觉显著图,计算方法如下:


一般在目标检测中,根据设定的阈值检测显著性目标,设定的阈值逐渐下降,得到的显著性目标就会逐渐增多,同时检测时间也会增加,论文实验如图所示。

## LC算法
LC算法的基本思想是:计算某个像素在整个图像上的全局对比度,即该像素与图像中其他所有像素在颜色上的距离之和作为该像素的显著值 [3] 。

HC算法
HC算法和LC算法没有本质的区别,HC算法相比于LC算法考虑了彩色信息,而不是像LC那样只用像素的灰度信息,由于彩色图像最多有256*256*256种颜色,因此直接采用基于直方图技术的方案不适用于彩色图片。但是实际上一幅彩色图像并不会用到那么多种颜色,因此提出了降低颜色数量的方案,将RGB各分量分别映射成12等份,则隐射后的图最多只有12*12*12种颜色,这样就可以构造一个较小的直方图用来加速,但是由于过渡量化会对结果带来一定的影响,因此又用了一个平滑的过程。 最后和LC不同的是,对图像处理在Lab空间进行的,而由于Lab空间和RGB并不是完全对应的,其量化过程还是在RGB空间完成的 [
AC

FT

# 参考
https://blog.csdn.net/weixin_42647783/article/details/82532179
https://baike.baidu.com/item/%E8%A7%86%E8%A7%89%E6%98%BE%E8%91%97%E6%80%A7%E6%A3%80%E6%B5%8B/22761214
相关文章:
图像显著性目标检测
一、概述 1、定义 图像显著性检测(Saliency Detection,SD), 指通过智能算法模拟人的视觉系统特点,预测人类的视觉凝视点和眼动,提取图像中的显著区域(即人类感兴趣的区域),可以广泛用于目标识别、图像编辑以及图像检索等领域&am…...
力扣-查找重复的电子邮箱
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:182. 查找重复的电子邮箱二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果总结…...
如何选择正规可靠的ISO认证机构?
ISO认证其实早已融入我们生活中,因为日常生活很多产品都有认证标识,企业办理ISO体系就需要找第三方认证公司,市面上这种公司也有不少,但找到合适可靠、认真负责的还是不易,尤其是体系认证有年审,如何留住客…...
React源码解读之更新的创建
React 的鲜活生命起源于 ReactDOM.render ,这个过程会为它的一生储备好很多必需品,我们顺着这个线索,一探婴儿般 React 应用诞生之初的悦然。 更新创建的操作我们总结为以下两种场景 ReactDOM.rendersetStateforceUpdate ReactDom.render …...
【程序人生】从土木专员到网易测试工程师,薪资翻3倍,他经历了什么?
转行对于很多人来说,是一件艰难而又纠结的事情,或许缺乏勇气,或许缺乏魄力,或许内心深处不愿打破平衡。可对于我来说,转行是一件不可不为的事情,因为那意味着新的方向、新的希望。我是学工程管理的…...
C++——C++11第二篇
目录 可变参数模板 lambda表达式 lambda表达式语法 捕获列表说明 可变参数模板 可变参数:可以有0到n个参数,如之前学过的 Printf C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板 模板参数包 // Args是一个模板参数包&…...
14.最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs ["flower","flow","flight"]输出:"fl"示例 2:输入&…...
【免费教程】 SWMM在城市水环境治理中的应用及案例分析
SWMMSWMM(storm water management model,暴雨洪水管理模型)是一个动态的降水-径流模拟模型,主要用于模拟城市某一单一降水事件或长期的水量和水质模拟。EPA(Environmental Protection Agency,环境保护署&am…...
SortableJS/Sortable拖拽组件,使用详细(Sortablejs安装使用)
简述 作为一名前端开发人员,在工作中难免会遇到拖拽功能,分享一个github上一个不错的拖拽js库,能满足我们在项目开发中的需要,支持Vue和React,下面是SortableJS的使用详细; 这个是sortableJS中文官方文档&…...
Heartbeat+Nginx实验
HeartbeatNginx实验 Heartbeat是什么? Heartbeat是 Linux-HA 工程的一个组件,自1999 年开始到现在,发布了众多版本,是目前开源 Linux-HA项 目成功的一个例子,在行业内得到了广泛的应用 构建规划: 两台后…...
JavaEE|网络编程之套接字 TCP
文章目录一、ServerSocket API构造方法常用方法二、Socket API构造方法常用方法注意事项三、TCP中的长短连接E1:一发一收(短连接)E2:请求响应(短连接)E3:多线程下的TCP回响服务器说明:这部分说实话有点懵&a…...
Robot Framework自动化测试---元素定位
不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API。比如笔者所处工作中,更多的是拿Robot framework来做数据库的接口测试…...
ASP.NET Core中的路由
传统路由 app.MapControllerRoute( name: "default", pattern: "{controllerHome}/{actionIndex}/{id?}"); MapControllerRoute用于创建单个路由。 单个路由命名为 default 路由 。大多数具有控制器和视图的应用都使用类似 default 路由的路由模板。 之所…...
VBA提高篇_26 Textbox多行_ListBox_ComboBox
文章目录1. 文本框多行换行2. ListBox: 列表框2.1 列表框中添加条目的三种方法:3. ComboBox 组合框: 属性方法等同于以上ListBox1. 文本框多行换行 MultiLine: 控制文本框多行自动换行() Enterkeybehevior: True 代表允许在文本框中使用回车键换行 WordWrap: True 代表自动换…...
python环境配置
python环境配置一、ADB环境配置1、ADB下载路径:2、点击下载3、解压并放到本地磁盘4、配置ADB环境变量二、Python环境配置1、Python下载路径:2、点击下载(默认下载最新的)3、解压并放到本地磁盘4、配置Python环境变量5、配置pip环境变量三、Pycharm安装1、pycharm下载路径:2、点…...
集算器连接外部库
1. 配置jar包将以下jar包从报表的类路径(【安装根目录】\report\lib或【安装根目录】\report\web\webapps\demo\WEB-INF\lib)中拷贝到集算器目录(【安装根目录】\esProc\ extlib\mongoCli);润乾外部库核心jar为:scu-mo…...
力扣刷题|216.组合总和 III、17.电话号码的字母组合
文章目录LeetCode 216.组合总和题目链接🔗思路LeetCode 17.电话号码的字母组合题目链接🔗思路LeetCode 216.组合总和 题目链接🔗 LeetCode 216.组合总和 思路 本题就是在[1,2,3,4,5,6,7,8,9]这个集合中找到和为n的k个数的组合。 相对于7…...
机器学习笔记之谱聚类(一)k-Means聚类算法介绍
机器学习笔记之谱聚类——K-Means聚类算法介绍引言回顾:高斯混合模型聚类任务基本介绍距离计算k-Means\text{k-Means}k-Means算法介绍k-Means\text{k-Means}k-Means算法示例k-Means\text{k-Means}k-Means算法与高斯混合模型的关系k-Means\text{k-Means}k-Means算法的…...
云原生周刊 | 2023 年热门:云 IDE、Web Assembly 和 SBOM | 2023-02-20
在 CloudNative SecurityCon 上,云原生计算基金会的首席技术官 Chris Aniszczyk 在 The New Stack Makers 播客的这一集中强调了 2023 年正在形成几个趋势: 随着 GitHub 的 Codespaces 平台通过集成到 GitHub 服务中获得认可,云 IDE…...
python 打包EXE
注: 从个人博客园 移植而来 环境: Windows7 Python 2.7 参考: 使用pyinstaller打包python程序 Pyinstaller 打包发布经验总结 Using PyInstaller 简介 使用python引用第三方的各种模块编写一个工具后,如果想发给其他人&…...
C++的std--ranges适配器视图迭代器有效性保证与悬垂引用检测
C20引入的std::ranges库彻底改变了序列操作的范式,其中适配器视图(如filter、transform)通过惰性求值实现了高效的管道式编程。这种延迟执行特性也带来了迭代器有效性风险——视图可能持有悬垂引用或失效迭代器,导致未定义行为。本…...
并查集・原理彻底讲透
0. 并查集到底是什么? 本质:用一棵 “树” 表示一个集合;树根 = 集合唯一标识。 两个点在同一棵树上 → 连通 两棵不同树 → 不连通 它只维护父子关系,不关心树的形状、顺序、大小,只关心谁跟谁是一伙的。 1. 基础结构:parent 数组 int parent[N];含义: parent[x] 表示…...
智能开门柜自动售货机哪里生产
当你考虑引入一台智能开门柜自动售货机时,脑海中浮现的第一个问题往往是:“这东西,哪里生产的靠谱?”这背后,是对设备质量、技术稳定性和长期服务的深度关切。今天,我们就来深入剖析智能开门柜的生产格局&a…...
健身私教AI:OpenClaw+Qwen3.5-9B定制个人训练计划与饮食建议
健身私教AI:OpenClawQwen3.5-9B定制个人训练计划与饮食建议 1. 为什么需要AI健身私教? 去年冬天体检报告上的"轻度脂肪肝"三个字,成了我决定认真健身的最后一根稻草。作为程序员,我试过各种健身APP,但总感…...
Python新年倒计时:用代码打造节日氛围的创意实践
1. 为什么用Python做新年倒计时? 每到年底,朋友圈就会被各种新年倒计时刷屏。你有没有想过用代码打造一个专属的倒计时工具?Python凭借其简洁的语法和丰富的库,特别适合这类创意编程项目。 我去年就用Python给团队做了个新年倒计时…...
ModTheSpire终极指南:5个技巧让杀戮尖塔模组加载零烦恼
ModTheSpire终极指南:5个技巧让杀戮尖塔模组加载零烦恼 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire 厌倦了每次想体验新模组都要手动修改游戏文件的繁琐操作吗ÿ…...
Kubernetes与多集群服务网格实践
Kubernetes与多集群服务网格实践 🔥 硬核开场 各位技术老铁,今天咱们聊聊Kubernetes与多集群服务网格实践。别跟我扯那些理论,直接上干货!在云原生时代,多集群部署已经成为常态,而服务网格是实现多集群服务…...
C#海康视觉VM4.1二次开发框架源码:多流程、运动控制卡、服务框架详解
C#基于海康视觉VM4.1的二次开发框架源码,有多流程框架 运动控制卡 服务框架 需要有海康VM的基础并且有海康威视VM开发狗GVM V2.7 代码功能说明引言本文旨在详细说明GVM V2.7版本软件的核心功能及其实现机制。GVM是一款基于海康威视VM4.1视觉平台进行二次开发的框架软…...
Agent 中的记忆系统:短期记忆、长期知识库与情境缓存最佳实践
Agent 中的记忆系统:短期记忆、长期知识库与情境缓存最佳实践 摘要/引言 开门见山:当我们说AI Agent要“有记忆”时,我们在说什么? 你有没有过这样的经历:和OpenAI的ChatGPT连续聊了20轮Python爬虫优化,…...
如何在iPhone 6s上解决内核利用失败问题:TrollInstallerX完全指南
如何在iPhone 6s上解决内核利用失败问题:TrollInstallerX完全指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否在使用TrollInstallerX越狱iPhone 6…...
