当前位置: 首页 > news >正文

图像显著性目标检测

一、概述
 1、定义

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

2、方法分类

显著性目标检测主要可以分为两个阶段,分别是传统尺度空间手工特征的注意预测算法和基于深度学习的注意预测算法。
第一阶段为等传统尺度空间手工特征的注意预测算法。第二个阶段,随着计算机神经网络技术的革新和发展,基于深度学习的注意预测算法大量出现。
传统注意预测算法,指的是基于强度、颜色和方向等传统特征的算法,由于其特征提取和学习方法都以图像本身空间特征为基础,缺乏多语义等深度特征,相较于人眼仍然具有较大差距,很难检测到人眼注视信息包含的大量高级语义信息,在预测效果的提高上有局限。此外,不同人的注意力机制存在一定差异,在大部分传统模型中未加入先验信息,处理相对困难。
深度学习注意预测算法是近年来发展较为迅速的方法。由于深度学习算法需要大量的训练数据,同时神经网络的设计上针对不同任务需要不断变更,算法较复杂。另外,深度学习模型一般存在可解释性差的共性缺点。

# 二、算法模型

## 1、ITTI视觉显著性模型
TTI视觉显著性模型是根据早期灵长类动物的视觉神经系统设计的一种视觉注意模型[1]。该模型首先利用高斯采样方法构建图像的颜色、亮度和方向的高斯金字塔,然后利用高斯金字塔计算图像的亮度特征图、颜色特征图和方向特征图,最后结合不同尺度的特征图即可获得亮度、颜色和方向显著图,相加得到最终的视觉显著图,如下图所示(引用自原文)。该方法不需要训练学习的过程,仅通过纯数学方法,便可完成显著图的计算。
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d4aa20cb67e4ffc9f2364ac1867fc54.png)
## 高斯金字塔的构建
高斯金字塔包括三部分,分别是亮度、颜色和方向。

首先要对r、g、b三个通道做高斯降采样,从而获得九个尺度下的三通道图像、、,其中。

然后即可构建亮度高斯金字塔,在九个尺度下计算获得,这里需要根据再对、、做归一化处理,以便将色调与亮度分离,原因在于低亮度下色调难以分辨。而每一个像素点的归一化仅对亮度的点进行,而其余的点将置零,其中表示点所处的尺度的图像中最大的亮度值。

接着即可构建颜色高斯金字塔,在九个尺度下计算
![请添加图片描述](https://img-blog.csdnimg.cn/8e0e6da3aaf84cdcafabd73d2a8e8a34.jpeg)

以上四个分别代表红、绿、蓝、黄的颜色高斯金字塔。

最后利用Gabor滤波器构建Gabor方向金字塔,其中,角度分别为0 、45、90、135 。

上述获得亮度、颜色和方向高斯金字塔后,利用Center-Surround方法(Center(c)即精细尺度,Surround(s)即粗尺度)计算对应的特征图。计算方法为:![请添加图片描述](https://img-blog.csdnimg.cn/2986b337d8734df8acb8fe5b8e54f7e4.jpeg)
其中c 为2 3 4,而s=c+3或s=c+3。再通过减法操作调整图片到同一大小,I表示亮度特征图,RG和BY表示颜色特征图,这是利用了大脑皮质的“颜色双对立”系统,O表示方向特征图。所以总共生成的特征图有6+12+6x4=42张特征图。

## 显著图的构建
模型在缺少自顶而下的监督机制的条件下,提出一个特征图归一化操作运算符![请添加图片描述](https://img-blog.csdnimg.cn/59d20cf9ea0e412bac2ab4451e87dee2.gif)
,该操作过程基于大脑皮质侧向抑制机智,可以增强存在少量活动峰(即尖锐值)的特征图,抑制存在大量活动峰的特征图。其操作方法如下:

(1)首先对输入的特征图归一化至统一范围[0...M];

(2)找到该特征图的全局最大值M所在位置并计算其他所有局部最大值的均值m,然后把整个特征图同乘以(M-m)^2;

如下图所示,中间列上图便是存在大量活动峰的特征图,经过![请添加图片描述](https://img-blog.csdnimg.cn/29bddedac5ca41208d996d3418eb8daa.gif)操作后得到的特征图整体较为平滑,活动峰被抑制,中间列下图是存在少量活动峰的特征图,经过操作后得到的特征图在原有的活动峰处得到了增强。

![在这里插入图片描述](https://img-blog.csdnimg.cn/a9898d62def34afe9ec28b4b5bf24114.png#pic_center)
通过以上操作符结合获得的42张特征图,即可计算最后的视觉显著图,计算方法如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc97c2be1b2a4d11b4ec4562f7097b3a.jpeg#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/ad99f51818644ab085cbc7809b64eba4.jpeg#pic_center)
一般在目标检测中,根据设定的阈值检测显著性目标,设定的阈值逐渐下降,得到的显著性目标就会逐渐增多,同时检测时间也会增加,论文实验如图所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/ccfc6249072f42bbb17cdc04d80d7950.png#pic_center)

## LC算法
LC算法的基本思想是:计算某个像素在整个图像上的全局对比度,即该像素与图像中其他所有像素在颜色上的距离之和作为该像素的显著值 [3]  。
![在这里插入图片描述](https://img-blog.csdnimg.cn/d9700cc1896445a392fd4fad7a0894a1.jpeg#pic_center)
HC算法
HC算法和LC算法没有本质的区别,HC算法相比于LC算法考虑了彩色信息,而不是像LC那样只用像素的灰度信息,由于彩色图像最多有256*256*256种颜色,因此直接采用基于直方图技术的方案不适用于彩色图片。但是实际上一幅彩色图像并不会用到那么多种颜色,因此提出了降低颜色数量的方案,将RGB各分量分别映射成12等份,则隐射后的图最多只有12*12*12种颜色,这样就可以构造一个较小的直方图用来加速,但是由于过渡量化会对结果带来一定的影响,因此又用了一个平滑的过程。 最后和LC不同的是,对图像处理在Lab空间进行的,而由于Lab空间和RGB并不是完全对应的,其量化过程还是在RGB空间完成的 [

AC
![在这里插入图片描述](https://img-blog.csdnimg.cn/1d70952780fb43448d9997240f40a000.jpeg#pic_center)
FT

![在这里插入图片描述](https://img-blog.csdnimg.cn/fa131be057a1465d9a1ffd16924a8f6e.jpeg#pic_center)

# 参考
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倍,他经历了什么?

转行对于很多人来说,是一件艰难而又纠结的事情,或许缺乏勇气,或许缺乏魄力,或许内心深处不愿打破平衡。可对于我来说,转行是一件不可不为的事情,因为那意味着新的方向、新的希望。我是学工程管理的&#xf…...

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来做数据库的接口测试&#xf…...

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&#xf…...

python 打包EXE

注: 从个人博客园 移植而来 环境: Windows7 Python 2.7 参考: 使用pyinstaller打包python程序 Pyinstaller 打包发布经验总结 Using PyInstaller 简介 使用python引用第三方的各种模块编写一个工具后,如果想发给其他人&…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...