IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 时序动作检测《BMN: Boundary-Matching Network for Temporal Action Proposal Generation》 -> 正文阅读

[人工智能]时序动作检测《BMN: Boundary-Matching Network for Temporal Action Proposal Generation》

温馨提示:本文仅供自己参考(勿捧杀),如有理解错误,有时间再改!

????????BMN算法是对BSM算法的改进,有关BSN算法的详细介绍,请参考上一篇文章。一个高质量的proposal生成方法应当具备生成的proposal长度灵活可变、proposal边界精确、proposal可靠的置信度。

BSN算法的缺点:

? ? ? ? 1、BSN算法中PEG模块对于候选proposal的特征构建和置信度评估是分开进行的,效率低

? ? ? ? 2、在BSN算法中的TEM模块对每个时刻采用局部上下文信息进行特征建模,proposal特征的构建缺少丰富的时序上下文信息

? ? ? ? 3、BSN算法中包含多个处理步骤:视频特征提取、TEM、PGM、PEM等,是一个多阶段的算法模型,不是一个统一的网络模型

视频特征提取

????????BMN算法中对于视频的形式化定义以及视频时序特征的提取方法和BSN算法相同。

Boundary-Matching Mechanism

????????在BM机制中,一个proposal被表示为一对开始边界点和结束边界点,然后将这个(开始,结束)转换为(开始,持续时长),然后使用一个二维的BM置信度图来表示所有可能的proposal的(开始,持续时长)对,其中横轴表示proposal的不同开始时间点,纵轴表示proposal的持续长度。在BM机制中,首先定义一个BM层用来从输入的特征序列中生成BM特征图,在BM特征图中,包含每个proposal丰富的特征和上下文信息,然后对于BM特征图使用卷积层来计算得到BM置信度图。

BM置信度图

?

????????BM置信度图要点解释:

? ? ? ? 1、BM置信度图上每一行上的proposal具有相同的持续时间,不同的开始时间位置

? ? ? ? 2、BM置信度图上每一列上的proposal具有相同的开始时间位置,但是具有不同的持续时间长度

????????3、BM置信度图上平行于45度线上的proposal具有不同的开始时间点和持续时间长度,但是具有相同的结束时间点

? ? ? ? 4、BM置信度图的右下角区域的proposal是无效的,因为此区域的proposal的开始时间+持续时间可能会超过视频的总时长

????????假设将BM置信度图表示为,对于置信度图中的任一proposal的坐标,位于第行,第列,其对应的proposal表示为, 表示这个proposal以为开始位置,持续时间,以为结束位置的置信度。通过BM置信度图,可以生成所有可能的proposal的预测置信度值。

?

Bounding-Matching LayerBM特征图)

????????Bounding-Matching Layer模块将提取到的视频特征序列转换为BM置信度图。首先,定义提取到的视频特征序列为,对于每个proposal ,在其开始时间和结束时间范围内,采样N个点特征点,得到每个proposal的特征,对每个proposal 都进行同样的采样过程,就得到了BM特征图:

?????????其中,是原始特征序列的输入通道数,是在每个proposal上的采样点数,是定义的proposal最大持续时长超参数,是输入的原始特征序列长度。

?

BM特征采样需要解决的问题:

? ? ? ? 1、如何在开始时间和结束时间范围内采样N个特征点,这些特征点可能不会刚好落在整数位置上,需要定义非整数位置的特征点采样方法,(BSN算法中采用的是线型插值均匀采样,类似于RoI Align,这种计算方式这能对每个proposal进行单独计算,效率低)

? ? ? ? 2、如何同时提取BM置信度图上所有proposal的特征点,以提高计算效率

?

proposal特征采样实现方法:

????????首先对于proposal 的边界进行扩充,为起始边界点,为结束边界点,,对该区间进行均匀采样N个点,并且生成采样点对应的权重矩阵,然后根据每个均匀采样点的权重以及与之对应的时序特征加权计算每个采样点的特征,权重矩阵计算公式如下:

????????对于在proposal片段内采样的N个点,假如第n个采样点,那么表示这个采样点落在时间序列之间,通过采样点的小数部分来衡量采样点和时间序列之间的靠近程度,并使用的加权结果来表示位置的采样结果,的小数部分越大,表明越远,时刻的权重就越小,时刻t+1的权重就越大。

????????将权重矩阵和时序特征点乘就得到proposal的特征。以上计算方式只是BM置信度图上一个proposal的特征计算方法,然后将其扩展到二维BM置信度图上,扩展后的权重矩阵为,使用权重矩阵和时序特征进行点乘,得到BM特征图

????????重点:在BSN算法中,每个proposal的特征采样采用线型插值得到,对于每个proposal都要单独计算插值结果得到特征,效率低。在BMN算法中,在时序长度和采样点数量都确定的情况下,每个proposal中的N个采样点的位置也是确定的,所以N个采样点对应的权重矩阵也是确定的,可以事先计算得到,并且可以使用矩阵点乘的方式实现,实现方式更优美,大大提升计算速度。

BMN算法结构

Base Model

????????BMN算法在Base Model提取序列特征方面与BSN方法一致,均采用固定大小的滑动窗口实现,使用固定大小的滑动窗口,也就确定了时序特征的序列长度T,从而也就能确定BM层的权重矩阵了。Base Model采用了两个1D卷积来增加时序维度的感受野:?

?

Temporal Evaluation Module (TEM)

????????TEM模块与BSN算法的TEM模块的作用相同,计算方法不同。TEM模块使用概率预测的方式输出输入的时序特征的每个时序位置是动作开始和动作结束的概率,这个概率使用sigmoid函数来计算:

????????TEM在每个时序位置输出两个通道,然后使用sigmoid转换为概率值,分别表示开始概率和结束概率。

Proposal Evaluation Module (PEM)

????????PEM模块根据TEM模块的预测结果,生成BM特征图和BM置信度图。PEM模块中每个proposal采样32个特征点,然后使用3D卷积在特征点维度上将32个特征点进行压缩到1个特征点从而消除采样特征维度。最终再通道维度上的输出为2,表示输出proposal的两个置信度,一个置信度是使用分类损失计算得到的,一个置信度是使用回归损失计算得到的

模型训练

????????使用重叠度50%的滑窗来截取固定大小的特征序列,并且滑窗中至少包含一个动作实例。

TEM训练数据构建

????????BMN算法中的TEMBSN算法中的TEM计算类似,都是先确定一下GT动作实例开始和结束位置的region区间,然后计算时序位置的区间分别与GT开始位置区间和结束位置区间重叠度的IoR,将得到的IoR的最大值分别作为时序位置作为开始位置的GT标签和结束位置的GT标签。IoR的定义就是区间region的重叠度。

?

PEM训练数据构建

????????计算BM置信度图中每个proposal与窗口中所有标注动作实例GT的IoU的最大值作为这个proposal的置信度GT标签。

?

损失函数

TEM损失

????????TEM损失和BSN算法一样,采用加权的逻辑斯蒂回归损失。

PEM损失

????????PEM模块由于同时输出两个预测概率,一个用于分类,一个用于回归,分类损失采用逻辑斯蒂回归损失,回归损失采用L2损失。

?

整体损失

?

BMN算法推理

????????与BSN算法类似,BMN算法先使用TEM的预测结果得到候选的开始节点序列和结束节点序列,以及组合得到的候选proposal序列,然后再BM置信度图上计算每一对候选开始节点、结束阶段的分类置信度和回归置信度,然后基于proposal的开始节点概率、结束节点概率、分类置信度、回归置信度计算得到proposal的置信度值,最后使用Soft-NMS进行过滤:

?

参考:https://zhuanlan.zhihu.com/p/75444151

参考:https://github.com/open-mmlab/mmaction2

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 00:15:18  更:2021-07-28 00:15:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/9 7:02:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码