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

article/2025/10/12 10:51:25

一、传统的视频显著性检测

  1. 什么是视频显著性检测呢?

    我的理解是检测某一段视频的每一帧图片的显著性区域,那这样理解的话就相当于多个图片的显著性检测,所以他是依赖于输入视频帧的对比度、梯度以及纹理来进行相关计算。但既然是视频显著性检测,他和普通的图片显著性检测有没有什么区别呢?有。
    我们都知道一段视频大概率是连续的,他们每一帧的图片是有一定联系的,因此视频显著性检测更加需要提取相邻帧及远距离视频帧之间时间信息和空间特征之间的相关性。这也是视频显著性检测与图片显著性检测的区别。同时由于视频显著性检测想要更好应用就需要更适合人类,因此需要更相近于人类的注意力机制。

  2. 那么如何完成视频显著性检测呢?

    现阶段大多数都是用自下而上的机制,即利用低级特征(例如颜色,梯度,对比度及纹理)去检测视频中的突出对象,这种机制是利用光流法(光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法),但我们都知道,相邻的帧之间很可能会有些物体运动很小,而光流法则很难检测出来。并且这种传统的视频显著性检测没有记忆功能,不能将前后视频帧之间的序列内容相关联,因此这种方法在视频显著性检测中表现并不好。
    为了把运动的物体精确的检测出来,就需要将提取的空间信息和时间相关性融合利用(空间信息:显著目标的纹理信息、边缘信息、以及高级语义信息;时间信息:相邻帧之间的时间相干性),去提供帧之间的约束条件。而基于深度学习的视频显著性检测方法就可以达到这一要求。

二、文章改进

本文介绍了两个基于深度学习的视频显著性检测算法:基于多层次特征融合的视频显著性检测算法和基于空时边缘指导的视频显著性检测算法。

  1. 基于多层次特征融合的视频显著性检测算法:

    利用空间注意力机制,将注意力放在感兴趣的地方,同时利用卷积长短期记忆人工神经网络实现远距离视频帧的时间相关性提取,提高模型提取特征的能力。

  2. 基于空时边缘指导的视频显著性检测算法:

    目的1:保留目标的边缘并且增强目标的全局信息。 解决方法:利用浅层边缘信息和深层纹理信息具有相互促进的作用。解决过程:提出显著性特征和边缘特征双任务提取模块,去同时提取深层显著性特征和浅层边缘特征。
    目的2:为了解决视频显著性检测中边缘不清晰的问题。解决:提出边缘指导的空间模块,用提取出的边缘信息逐层指导显著性特征的提取,使视频显著性目标更加清晰。
    目的3:提取相邻帧之间的时间相关性信息。解决:提出边缘指导的时间网络,利用卷积长短期记忆人工神经网络的记忆功能,挖掘视频帧中的显著性特征和边缘特征。

三、一些名词解释与概念

1. 循环序列模型

由于传统的神经网络中,输入和输出在不同的样本中可以有不同的长度,虽然输入与输出的长度可以通过填充达到一致,但在实际应用中利用填充依然有一定的局限性。传统的卷积神经网络模型对同一个物体在某个位置学习到的特征在另一个位置不能共享。因此可用循环序列模型。

  1. 循环神经网络
    循环神经网络(RNN)善于处理前后具有连续性的信息,可以通过前面已知的信息来推测未来处理的数据(例如语音,从前面已经识别的句子推导整个句子的意思),它可处理可变长序列数据(即在不同时间点上搜集的数据),反映了某一事物随时间的变化状态或程度,例如文字序列、时间序列等。RNN有这个能力是因为它的网络结构包含由循环连接的节点组成的隐藏层,隐藏层可以记忆已经处理的信息,并对这些信息筛选保留。但RNN只能捕获顺序数据中的短期依赖关系,对于序列中长期的依赖关系依然没有办法捕捉。

  2. 长短期记忆网络
    LSTM是RNN的变形结构,它是一种时间循环神经网络,它对时间序列具有记忆功能。与RNN不同,LSTM可以记忆长期的信息。LSTM有三大模块:输入门,输出门,遗忘门。其中遗忘门可以利用权重控制将过去信息部分遗忘,是过去与未来信息之间的桥梁。

  3. 卷积LSTM
    他与普通的LSTM不同在于乘法运算换成了卷积运算,将卷积运算应用到序列模型中来控制各个输入的空间信息。主要作用于输入到状态的转换与状态到状态的转换,它的学习权重是三维矩阵。

2.注意力机制

该机制类似于人类视觉选择注意力机制,可对获取到的图像信号进行快速扫描,并准确的将模型关注的权重放在重要目标所在区域,将更多的注意力资源放在目标区域从而获得显著目标更多细节特征。并且在信息处理时可以抑制无用的信息。

  1. 软注意力
    可以自适应的将权重重新分配,但它完成此操作是在所有信息全部总结之前,将需要关注的区域分配更多的权重。软注意力机制有三种模型:基于通道域,基于空间域和基于混合域。这里介绍一下通道域:该算法主要通过一个SE-Net实现,该网络的原理在于对提取的特征根据重要程度进行重新分配,强化重要的特征并抑制无用信息来提高准确率。
    SE-Net可分为“压缩”和“激励”。其中压缩操作可利用全局平均池化,最终可将W×H×C的特征图压缩为一个1×1×C的实数数组,这样其实是每个二维的特征通道变为一个实数;而激励操作基于通道间的相关性,引入两个全连接层并为每个特征通道生成一个权重来表示特征通道在全局信息中的重要程度。
    (是否可理解为:SE-Net的作用其实就是为了对每个特征计算一个权重,我们提取到的特征是一个二维的特征图,每一类特征作为一层通道就组成了三维的特征图,先把这些二维特征图给压缩成一个数(这个压缩其实就是一个把二维矩阵计算为实数),而激励操作则利用该实数为每个通道设置一个权重)

  2. 硬注意力
    随机选择序列中输入概率最高的信息,但通常选取最高概率操作不可微,因此不能利用反向传播进行优化,所以在实际应用中效率较低。

四、基于多层次特征融合的视频显著性检测算法

写在前面,了解多层次特征融合:学习多层次特征融合

1.背景

在传统的视频显著性检测中,通常是利用自下而上的特征融合机制,但这样特征在聚合过程中并不能充分考虑显著性目标的定位信息,因此本文采用一个端到端的上下文聚合网络解决该问题(即自上而下和自下而上联合)。并且传统的视频显著性检测忽略了多层次特征之间的差异,没有利用适合于定位的空间细节,因此本文采用双层ConvLSTM来挖掘远距离视频帧中的语义特征。

2.实现过程

算法整体结构图如下:
在这里插入图片描述
从结构图可以看出,我们构成了特征图金字塔网络FPN,在特征融合过程中,既有自上而下的融合又有自下而上的融合,其中C2的自下而上输出为融合C1特征与C2特征得到P21,同时C2也有自上而下融合的特征P22为:P11经过SE重新分配权重后的特征与上一层的P32特征融合得到。其他同理。
(其中Pnm表示第n个部分的第m个融合输出)
这样最终把P51经过SE重新分配特征后和P42、P32、P22和P11整合。这样而来,我们就相对比较全面的考虑了多层次的特征,但我们为了检测更加准确,还要考虑远距离视频帧之间的联系,因此我们把整合的特征图经过双层ConvLSTM去提取当前帧的注意力状态。
由于ConvLSTM具有记忆的功能,因此我们可以利用ConvLSTM把每一帧联系起来,如图:
在这里插入图片描述
该模型会把每次ConvLSTM后的隐藏状态H和记忆状态M传递给下一帧,并将头部视频帧的与后面的每一帧进行结合。这样就能实现远距离帧的信息对比,预测远距离视频帧之间的动态显著信息,通过探索视频帧之间的动态转换,联合头部视频帧信息增强连续视频帧运动信息的表达。

3.总结

该算法的特点是:①充分考虑特征聚合过程中特征之间的差异,由于聚合过程如果只是自上而下或自下而上就容易忽略高分辨率低语义的下层部分或低分辨率高语义的上层部分。而该算法通过整合自上而下的输出和自下而上的输出,充分考虑各层次的特征差异。②利用双层ConvLSTM考虑了远距离帧之间的时间相关性。

五、基于空时边缘指导的视频显著性检测算法

1.背景

在完成视频显著性检测的时候,边缘信息也会对时空特征提取有一定影响,但一般没有考虑到这一点,因此在视频显著性检测时会出现边缘不清晰的情况。因此本文依靠提取边缘信息来指导空间显著特征和时间特征的提取,可以利用提取对象的边缘信息与显著对象的特征相互作用去增强视频的空间互补性,并且可以用边缘信息引导时间网络来挖掘边缘信息和连续帧之间的时间相关性。

2.实现过程

整体模型包括三部分:突出特征提取的双任务学习模块、边缘引导空间模块和边缘引导时间模块。
总体框架图如下:
在这里插入图片描述
从图中可以看出,第一个模块除了提取显著对象特征之外还提取了边缘特征,利用浅边特征和深层纹理信息的互补性,提高显著信息提取和边缘特征提取的准确率。
第二个模块是用第一个模块提取的边缘特征指导空间显著特征提取。
第三个模块是用第一个模块提取的边缘特征和第二个模块提取的高级空间特征作为双向输入到卷积LSTM中,去学习时间的相干性。

  1. 突出特征提取的双任务学习模块

在这里插入图片描述
这是使用ResNet-50作为整个算法框架的基础,由于在ResNet-50中C1保留更好的边缘信息,但浅层的卷积缺少丰富的全局和高级语义信息以及位置信息,因此这里使C1与C4、C5最显著的特征整合起来,得到互补的显著边缘特征和显著对象特征,去为另外两个模块做基础。
2. 边缘引导空间模块
在这里插入图片描述
第一个模块提取的边缘特征不仅包含丰富的目标边缘特征,还包括丰富的位置信息和全局信息。因此可用提取的边缘信息对ResNet-50剩余的边路径(C2、C3、S4、S5)提供一对一的边缘引导。这样可以使最终提取的空间显著特征包含更多的边缘细节和更准确的位置信息,最后将每个路径提取的特征链接起来,实现空间显著特征融合。
3. 边缘引导时间模块
在这里插入图片描述
这里用了两组卷积LSTM递归序列,第一组处理空间高级特征,建立空间特征的时间相干性;第二组处理空间边缘特征,增强显著对象的时间相干性、跳跃和位置信息,并增强了对象的边缘特征。(这里如何建立时间相干性呢?我理解为还是因为卷积LSTM的记忆细胞,可以与其他远距离帧相连接,传递,为远距离帧提高参考。)
最终联合两组卷积LSTM提取的特征,得到最终的显著性检测。

3.总结

该模型实际上是先提取更加丰富的边缘特征,接着用该特征引导空间,指导空间显著性的特征提取,最后用两组卷积LSTM分别处理空间高级特征和空间边缘特征,得到的结果融合达到视频显著性检测效果。
①空间多层次特征提取模块:进行双任务特征提取,同时提取空间高级特征和空间边缘特征。利用得到的边缘特征对后序空间特征提取进行边缘指令,有效的对符号目标进行位置确定。
②动态边缘指导双向卷积LSTM模块:从空间中提取的动态边缘特征来指导时间序列,增强时间的相关性,丰富检测到的显著对象的边缘细节。


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

相关文章

显著性检测—学习笔记

视觉显著性旨在模仿人类视觉系统选择视觉场景的某个子集的能力。而显著性物体检测(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版) 技术选型&…

postman进行http接口测试

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 HTTP的接口测试工具有很多&a…

【测试】详解接口测试(2)- HTTP接口用例设计与测试方法(拿B站练手)

文章目录 前言接口测试是什么HTTP接口的测试用例设计接口用例设计小结 HTTP接口的测试方法手工测试自动化测试 接口测试策略结束语 前言 大家好,我是洋子。在之前的文章《详解接口测试(1)-常见的网络通信协议》当中,我们介绍了接…

接口测试入门(一)-HTTP协议基础

- 接口功能测试算是测试工程师绕不过去的一个重要技能。 - 而掌握接口测试,需要先知道什么是HTTP协议。 - 原理虽然很枯燥,但是同时也很重要。打好基础的情况下,才能将知识体系建的更高、更扎实 目录 一、HTTP协议基础-定义与起源 二、HTTP…

接口测试(http协议,get和post请求和响应)

TCP/IP四层协议模型 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网 络协议。是基于TCP/IP模型的应用层协议。 为什么叫超文本?不但可以传输文本数据,还可以传输音频、视频、超链接、…