| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 时序动作检测《BSN: Boundary Sensitive Network for Temporal Action Proposal Generation》 -> 正文阅读 |
|
[人工智能]时序动作检测《BSN: Boundary Sensitive Network for Temporal Action Proposal Generation》 |
温馨提示:本文仅供自己参考(勿捧杀),如有理解错误,有时间再改! 时序行为检测 ????????两段式目标检测方法如Faster RCNN先使用RPN网络生成proposal,然后再使用Fast RCNN网络对proposal进行精炼,得到更加准确的结果。两段式时序行为检测方法跟两段式目标检测方法类似,先生成时序行为的proposal候选片段,然后再使用时序动作识别方法对proposal进行行为分类。所以生成的proposal的准确性严重影响时序行为检测的性能,高质量的proposal应该具备两个重要属性: ????????1、proposal对于GT的召回率和重合度要足够高 ????????2、在实现高的召回率和重合度的前提下,使用的proposal要足够少 ????????一个高质量的proposal方法应该能够灵活的生成不同时序长度,且边界准确的proposal,同时给出proposal中包含动作行为的置信度,这和Faster RCNN网络中的RPN思想基本一致。 ????????BSN使用local to global局部到全局的方式生成高质量的proposal,首先通过局部连接的方式组合具有高置信度的开始和结束位置,构成可能的proposal,然后使用proposal-level特征全局检索过滤高置信度的proposal,BSN算法一共有三步: ????????Step 1:BSN在视频片段的每个时间位置都预测输出当前时间点属于一个动作的开始概率、结束概率,以及当前时间点属于某个动作的概率,生成一个<start prob, end prob, action prob>的时间序列作为局部信息。 ????????Step 2:使用自下而上的方式直接组合具有高预测概率值的开始点(如下图中红色实线的2个峰值点)和结束点(如下图中蓝色虚线的1个峰值点),从而可以生成不同长度不同边界准确性的proposal(如下图中2个开始点和1个结束点组成2个可能的proposal)。 ????????Step 3:BSN利用proposal内部和周围的action prob组成的特征,通过评估proposal是否包含action的置信度来进一步从step 2的输出结果中检索具有高置信度的proposal。这些proposal-level的特征为更好的评估提供了全局信息 问题定义 ????????视频定义: ????????其中,表示视频中的某一帧,表示视频的总帧数。 ????????视频action的GT标签定义: ????????其中表示视频中的一个动作片段,分别表示动作片段的开始位置和结束位置,表示视频中包含的标注动作GT的数量。 ????????不同于时序动作识别和时序动作检测任务,时序动作proposal生成方法并不关注生成的proposal中的具体action类别,只关注proposal中是否包含action,所以是一个二分类问题,和Faster RCNN的RPN模块类似,RPN只识别出可能包含目标物体的区域,然后丢给下一级网络去进一步确定目标物体的类别以及目标的准确位置。 视频特征提取 ????????BSN算法中使用Two-Stream双流网络提取视频特征,双流网络一路提取图像的空间特征,一路提取光流的时序运动特征。在视频片段的每个位置提取图像特征和光流特征,表示如下: ?????????其中,表示视频中的第 t 帧图像,表示以视频第 t 帧图像为中心的连续图像计算的光流,然后将和分别输入到Two-stream双流网络提取特征,然后将双流网络的两路输出特征进行concat融合得到。对视频的每个时间位置都计算得到和,并提取特征,从而得到视频的时序特征,BSN算法在进行视频特征提取时,为了降低计算量,采用步长为的间隔采样,所以采样的特征序列总帧数为。在视频特征提取方面,BSN算法和上一篇中讲到的SSAD算法有较大区别,具体参见上一篇博客。 BSN算法主要模块 Temporal Evaluation Module(TEM) ????????TEM是一个三层的时序卷积网络,网络的输入是上一步视频特征编码中使用双流网络提取的时序特征,然后TEM预测输入的时序特征每个时序位置是一个动作开始点的概率,结束点的概率,以及这个时序位置属于一个动作的概率,从而输出starting开始点的时序概率,ending结束点的时序概率,以及每个点是否属于一个动作的时序概率,starting、ending以及action的概率预测都是二分类问题。网络结构是Conv(512; 3; Relu) -> Conv(512; 3; Relu) -> Conv(3; 1; Sigmoid),最终输出3通道表示计算3个概率值。 ????????TEM输出的三个概率序列表示如下: Proposal Generation Module(PGM) ????????PGM组合TEM模块输出的具有高置信度概率值的starting开始点和ending结束点,生成可能的proposal片段,然后基于各个proposal中各个时间序列位置的动作概率构造BSP特征。 筛选开始时间和结束时间点: ????????根据starting序列概率选择开始时间点:选择的点或者峰值点(比两边都大的凸起点)。Ending时间点采用同样的方式选择。 构造候选proposal: ????????将上一步选择出的开始时间点和结束时间点进行两两组合,并且组合的时间点满足设置的视频最大和最小长度参数,。其中是训练集中标注的动作GT的最大和最小长度大小。 候选proposal特征提取: ????????上一步提取的候选proposal表示为,将之间的片段定义为中间区域,将以为中心的片段定义为,将以为中心的片段定义为。在片段内的动作概率序列上采用线型插值方式均匀采样16个特征点得到,在和片段内的动作概率序列上采用线型插值方式分别均匀采样8个特征点得到和。将采样的特征点进行concat得到这个proposal的BSP特征。 Porposal Evaluation Module(PEM) ????????PEM使用多层感知机(多个全连接层)对PGM中每个候选proposal提取的BSP特征进行处理,得到候选proposal与GT的重合置信度。到目前为止,一个候选proposal就可以被表示为下式: ????????其中,表示这个proposal的开始位置和结束位置,表示这个proposal开始和结束位置的概率置信度,表示这个proposal与GT的重合置信度。在模型预测阶段,使用这些置信度来共同决定模型的预测输出结果。 模型训练 Temporal Evaluation Module(TEM)训练 训练数据构造: ????????在特征序列上F使用长度为的不重叠滑窗,窗口表示为。是窗口内的特征序列,是窗口内的GroundTruth实例,每个GT实例表示为, 表示GT实例的开始位置和结束位置。定义GT开始位置区域、结束位置区域以及动作实例区域如下: ????????对于窗口内的序列特征,TEM网络输出每个序列位置的开始概率、结束概率、动作概率,定义序列位置的区域表示如下: ?????????是特征序列中连续两个snippet的时序间隔(这个时序间隔是不是提取视频特征时使用的???)。计算每个与所有的IoP比率,IoP定义为snippet区间与某一阶段的重叠部分比上snippet区域的比值。时间点的特征可以表示如下: ????????其中,是时间点的开始、结束以及动作概率,是tn时间区域与窗口中所有GT的?的IoP的最大值。就是TEM的输出结果以及监督信号,其中是TEM的预测输出结果,是监督信号。 损失函数: ????????TEM处理的是三个二分类问题,其损失函数是三个二分类的加权Logistic Regression损失的加权和。 ????????其中是符号函数,是超参数阈值,同时加入平衡正负样本。 Proposal Evaluation Module(PEM)训练: 训练数据构造: ????????对于TEM的输出结果,PEG模块生成了候选的proposal已经proposal的BSP特征,候选proposal表示如下: ?????????将特征输入到PEM网络,得到预测置信度,同时计算该proposal与窗口内所有GT的IoU值。然后一个proposal可以表示为: ????????设置为positive,为negative。其中是PEM的预测结果,是回归模型的监督信号。 损失函数: ????????PEM网络使用回归损失: Post-Processing(后处理): ????????在预测阶段的输出结果如下: ????????是预测的动作开始和结束位置,是预测的开始和结束位置的概率置信度,是预测的动作的置信度。对结果进行非极大化抑制,从而去除重叠的结果。采用了soft-nms算法来通过降低分数的方式来抑制重叠的结果。处理后的结果即为BSN算法最终生成的时序动作Proposal。 参考:https://zhuanlan.zhihu.com/p/39327364 开源代码:https://github.com/wzmsltw/BSN-boundary-sensitive-network |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/17 20:28:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |