2022-11-5学习记录

一、Temporal Action Segmentation(TAS)

  1. 任务定义
    定义一:给出一段帧长为T的视频片段,将它们划分为l小段,并为每一小段分类。
    定义二:二分类语义分割任务。

  2. 相关工作
    2.1 时序动作检测(定位)
    note:TAD/L和TAS的关系,可以类比目标检测和语义分割的关系。
    2.2 关键帧检测(Key-Frame Detection)
    复杂活动分类(Complex Activity Classification)
    2.3 序列分割任务(Sequence Segment Tasks)
    2.4 Temporal Action Parsing(TAP)
    note:在时序上出更细粒度的框,不出语义标签;看做TAS在弱监督下的特殊形式。
    2.5 Generic Event Boundary Detection(GEBD)
    任务之间的比较:
    2022-11-5学习记录_第1张图片

  3. 数据集(核心数据集)

    2022-11-5学习记录_第2张图片

  4. 评价指标
    Mean of Frames(MoF),Edit Score and F1 score

二、

目前fully supervised动作定位算法可以分为两类:top-down和bottom-up。top-down方法通过滑动不同尺度的窗口获取proposals,它的缺陷在于 生成的proposals通常在时间上不够精确或不够灵活,无法涵盖不同持续时间动作实例。bottom-up方法分为两个阶段 (1)定位时间边界并将边界合并为提案;(2)使用构造的提案特征评估每个提案的置信度。

三、MS-TCN基础框架

传统方法遵循两个步骤:

  1. 生成逐帧概率
  2. 提供给高级时间模型
    本文方法:
    引用多阶段结构,使用时间卷积直接对视频帧进行分类
    2022-11-5学习记录_第3张图片

四、C2F-TCN

时序卷积网络(TCNs)是在时序视频分割中通用的架构。然而TCNs存在过分割的错误并且需要额外的修正模型来确保平滑性和时序相关性。在这篇工作中,我们提出了一个新的时序编解码模型来处理序列碎片化的问题。特别的,解码部分采用了一个粗粒度到细粒度的结构,结构中将不同时序分辨率的输出融合到一起。这个融合过程会产生更加平滑的分割片段,这些片段更加准确并且经过更好的校准,不需要额外的修正模块。另外,我们设计了一个多分辨率特征增强策略来促进我们的训练,来提高变化的时序分辨率的鲁棒性。最后,配合我们提出的结构并且进一步加强序列之间的相关性,我们提出了一个动作损失函数来惩罚视频级别的标签误分类。实验表明我们提出的模型结构,加上特征增强策略和损失函数,在三个时序视频分割数据集benchmark上达到sota。

  1. Architecture

2022-11-5学习记录_第4张图片
解码部分对应的代码,结构中将不同时序分辨率的输出融合到一起:
2022-11-5学习记录_第5张图片

  1. multi-resolution feature augmentation
    设计算法随机初始化一个视频中切片的长度,选取每个切片中frame-level标签数量最多的类作为当前切片chunk的标签。
  2. 损失函数设计(第三个loss代码中并没有实现):
    三个损失函数的和,frame-level的cross-entropy loss, 希望相邻帧的标签一致的loss,以及希望属于同一视频中的所有动作概率变大、不属于同一视频帧中的动作概率减少的loss。

五、Global2Local-TAS(应用NAS)

在时序动作分割领域,模型的时序感受野起到很重要的作用。大感受野有助于构建视频片段之间的长时关系,小感受野有助于捕捉局部信息。现存的方法在构建模型的时候,每层人工设计感受野大小。我们是否能够设计有效地搜索算法,自动搜索感受野参数组合来替代手工设计的模式?为了回答这个问题,我们提出一个global-to-local的搜索步骤来寻找更好的感受野组合。我们的搜索算法同时探索了全局搜索来找到粗粒度的组合,以及局部搜索来进一步修正得到更细粒度的感受野参数组合。在全局搜索的基础上,我们提出了一个基于期望的迭代局部搜索步骤来有效地纠正组合。我们的global-to-local搜索可以和现存的时序动作分割模型相结合来达到更好的效果。
每次迭代:

  1. 全局搜索:
    1.1采用遗传算法(包括select、cross、multate、filter四个步骤)初始化模型dilation_rate参数(初始设置pop_num组参数),并在训练过程中利用遗传算法不断对参数组进行迭代更新(每次模型训练后得到的metric作为遗传算法的更新指标).
    1.2将模型模块中所有的torch.nn.Conv1d模块、torch.nn.Conv2d模块替换为Conv1dOp和Conv2dOp,将当前layer对应的dilation_rate扩展为3个,并生成3个权重系数,将layer的input通过三个不同的dilation_rate并加权求和。即修改为一个融合模块。
  2. 局部搜索:
    2.1 没有遗传算法,只有1.2的替换步骤,并通过调用Conv*dOp的estimate和expand函数对应更新相应的dilation_rate参数进行更新。

六、Temporal Action Segmentation from Timestamp Supervision

针对时序动作分割的方法最近非常成功。然而,对视频进行帧级别的标注来训练网络非常昂贵和耗费时间。尽管存在的弱监督方法只使用有序的动作列表作为标签进行训练可以大大减少标注成本,模型的表现仍然比全监督方法差。在本文中,针对时序动作分割任务,我们提出利用时间戳监督的方法。时间戳监督信号相比弱监督方法多一些标注成本,但是提供了一个更强的监督信号。为了展示时间戳监督信号的作用,我们提出了基于时间戳的方法的时序分割模型。我们的方法将模型输出和标注的时间戳相结合检测动作的变化,来生成帧级别的标签。我们进一步提出了一个置信度损失函数,使预测概率随着距离timestamp时间戳的增加而减少。这使得一个动作中所有的,而不仅仅是最具有区分性的帧在训练中被模型更充分地学到。在四个数据集上的评估表明,模型利用时间戳标注进行训练,相比于全监督方法可以达到不相上下的效果。

  1. introduction:
    视频时序动作分割任务相比于语义分割任务,所有的帧都需要被标注,并且不存在可以提取负样例的视频局部模块。另外,只利用高置信度的帧会造成许多属于一个动作的视频帧的丢弃,并且使模型只关注一个动作最具有区分度的关键帧,这样对于动作识别或者动作检测来说是足够的,但是对应动作分割是不够的。
  2. Segmentation Model M的结构
    首先两个single-stage并行,每个single-stage都运行完一套多层dilation_rate的结构;并行得到的结构直接相加融合。整个模块名为tower-model。
    在multi-stage模块中,首先运行tower-model结构,然后再串行运行多个single-stage,前一个stage的输出作为下一个stage的输入。将每个single-stage的结果cat起来作为最终的输出。
  3. 模型框架:(其中Segment Model M为MS-TCN)
    前30个epoch,只有实际标注的timestamp作为groundtruth和对应帧的预测,参与classification loss
    后面的epoch,利用forward和backword算法找到两个timestamps之间的boundary边界,并根据边界生成伪标签。这时整个groundtruth(timestamps只是每段从中随机提取出来的)和整个生成的伪标签参与classification loss的计算。

2022-11-5学习记录_第6张图片
4. 损失函数(在通常的cls_loss和mse_loss的基础上增加了一个confidence_loss)

七、IDT 改进的密集轨迹提升算法


此处可以注意到很大的一个问题,那就是图像中人的动作可能比较显著,人身上的匹配点对会使得投影矩阵的估计不准确。因此iDT算法中使用一个huaman detector检测人的位置框,并去除该框中的匹配点对。从而使得人的运动不影响投影矩阵的估计。

八、

benchmark一般是和同行中比较牛的算法比较,比牛算法还好,那你可以考虑发好一点的会议/期刊;
baseline一般是自己算法优化和调参过程中自己和自己比较,目标是越来越好,当性能超过benchmark时,可以发表了,当性能甚至超过SOTA时,恭喜你,考虑投顶会顶刊啦。

九、

Python数组中通过使用None增加数组的维度,增加维度的位置取决于None出现的位置。
2022-11-5学习记录_第7张图片

十、

Improving Action Segmentation via Graph Based Temporal Reasoning
在多个动作片段中的时序关系非常重要,特别是当观察受阻的时候(比如,动作被其他物体遮挡或者发生在镜头之外)。在这篇文章中,我们提出了一个名为基于图的时序推理模型(Graph-based Temporal Reasoning Module(GTRM)),可以在现存方法的基础上使用,在不同的时间跨度内学习多个动作片段的关系。我们使用两个图卷积网络来构建关系模型,图中每个结点代表一个动作片段。这两个图针对边界回归和分类任务,分别有两个不同的边属性。通过使用图卷积,我们可以根据每个节点和它的相邻结点之间的关系更新当前节点的表示。更新的表示用来修正动作分割。我们在具有挑战性的以自我为中心的数据集上EGTEA和EPIC-Kitchens数据集上进行评估,这些数据集由于视角受限只能观察到一部分。我们还在两个第三视角数据集50Salads和Breakfast数据集上测试,展示了我们模型的有效性。

你可能感兴趣的:(论文阅读笔记,杂记,学习,深度学习,人工智能)