Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习

论文题目:Hierarchically Self-Supervised Transformer for Human Skeleton Representation Learning

论文下载地址:https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136860181.pdf

代码地址:https://github.com/yuxiaochen1103/Hi-TRS/tree/main


层级式建模

整个建模骨架点视频序列的网络架构由三个 Transformer 组成:

  • 对关节点建模空间信息的 Frame-level Transformer (F-TRS)
  • 对序列片段建模短期时序信息的 Clip-leve Transformer (C-TRS)
  • 对整段骨架点视频序列建模长期时序信息的 Video-leve Transformer (V-TRS)

数据在其中是串行流动,即 F-TRS 的输出作为 C-TRS 的输入,以此类推。

Frame-level Transformer (F-TRS)

大家可能更加熟悉对图片进行建模的 Transformer:以 patch 为单位进行 Attention。

在这里,每个 joint 就相当于一个 patch,所以该 Transformer 做的是 joint 和 joint 之间的 Attention。

同时,该 Transformer 还为每个 joint 加上了可学习的位置编码(1D learnable positional embedding)。

Clip-leve Transformer (C-TRS)

在这个 Transformer 里,clip 里的每一帧的每个 joint 都相当于一个 patch。注意和上面的区别,这里 clip 里第 1 帧的左手节点和第 2 帧的左手节点会被认为是不同的 patch。

所以,该 Transformer 的可学习位置编码是二维的(2D learnable positional embedding)。

同时,作者为每个 clip 加上一个 [CLS] token,该 token 就汇聚了 clip 里所有帧里所有节点的信息。这个 token 也就作为该 clip 的 embedding。

Video-leve Transformer (V-TRS)

在这个 Transformer 里,每个 clip 相当于一个 patch,所以该 Transformer 做的是 clip 和 clip 之间的 Attention。

同样,该 Transformer 为每个 clip 加上了可学习的位置编码(1D learnable positional embedding)。

同时,作者为每个 video 加上一个 [CLS] token,该 token 就汇聚了 video 里所有 clips 的信息。这个 token 也就作为该 video 的 embedding。


层级式自监督学习 

可以从上图可知,论文针对不同层级 Transformer 的输出做了不同代理任务的设计。

 

Spatial Pretext task

  • 作用于 Frame-level Transformer 的输出 embeddings
  • 任务类似于 MAE,用不同的策略掩盖掉 15% 的关节点 embeddings。再接上一个全连接层,回归预测出被掩盖掉关节点的坐标。
  • 该任务使用 L1-Loss 去约束预测值与真实值之间的差距。

Temporal Pretext task

  • 分别作用于 Clip-leve Transformer  Video-leve Transformer 的输出 embeddings
  • 简单的二分类任务,判断时序正确与否。当作用于 Clip-leve Transformer 时,可能打乱 clip 中任意两帧 embeddings,也有可能不打乱,再接上一个全连接层,让其判断打乱与否;当作用于 Video-leve Transformer 时,可能打乱任意两个 clip embeddings 的顺序,也有可能不打乱,再接上一个全连接层,让其判断打乱与否;
  • 用交叉熵损失函数约束任务的进行。

Discriminative Pretext task 

  • 作用于 Video-level Transformer 的输出 embeddings
  • 该任务是生成式任务,结合前几个 clip 的 embeddings 去预测最后一个 clip 的 embedding。同样通过接上一个全连接层,让其回归出最后一个 clip 的 embedding。
  • 使用 InfoNCE Loss 来约束任务的进行。正样本对为最后一个 clip 的预测 embedding 和真实 embedding;负样本为同一个 batch 里其他 skeleton sequences 最后一个 clip 的真实 embedding


如果觉得有帮到你的话,可以点击右下方的“打赏”按钮~您的支持是我创作的最大动力呀~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/98166.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dodaf架构的学习分享

一.Dodaf的内容 Dodaf的背景 DODAF(Department of Defense Architecture Framework)起源于美国国防部,是一个用于支持复杂系统设计、规划和实施的架构框架。以下是DODAF的背景和起源: 复杂系统需求:在军事和国防领域&…

0102垂直分片-jdbc-shardingsphere

1 前言 垂直分片分为垂直分库于垂直分表,但是实际应用中数据库表会根据业务需要提前做好规划,垂直分表的情况很少使用。但是随着业务增长,某些重点业务数据库压力增大,可能考虑需要考虑垂直分库的情况。 垂直分库,简…

阿里云故障洞察提效 50%,全栈可观测建设有哪些技术要点?

本文根据作者在「TakinTalks 稳定性社区 」公开分享整理而成 #一分钟精华速览# 全栈可观测是一种更全面、更综合和更深入的观测能力,能协助全面了解和监测系统的各个层面和组件,它不仅仅是一个技术上的概念,更多地是技术与业务的结合。在“…

Dockerfile创建 LNMP 服务+Wordpress 网站平台

文章目录 一.环境及准备工作1.项目环境2.服务器环境3.任务需求 二.Linux 系统基础镜像三.docker构建Nginx1.建立工作目录上传安装包2.编写 Dockerfile 脚本3.准备 nginx.conf 配置文件4.生成镜像5.创建自定义网络6.启动镜像容器7.验证 nginx 四.docker构建Mysql1. 建立工作目录…

【C++奇遇记】构造函数 | 初始化列表

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

Yellowbrick新手入门简介:用于Python机器学习模型可视化的工具库

Yellowbrick 是一个新的 Python 库,它扩展了 Scikit-Learn API,将可视化合并到机器学习工作流程中。 Yellowbrick需要依赖诸多第三方库,包括Scikit-Learn,Matplotlib,Numpy等等。 Yellowbrick 是一个开源的纯 Python…

uploadifive php上传进度条插件 解决动态传参数问题

uploadifive默认只能在加载时,静态传递参数.如果想让用户输入参数.再动态读取.传到后端,是没有直接的办法的 效果图 但我们可以通过settings.formData 来修改配置的方式传参数,完整演示 <form id"file_form{$v.id}" style"display:none"><hr/>…

开源后台管理系统Geekplus Admin

本系统采用前后端分离开发模式&#xff0c;后端采用springboot开发技术栈&#xff0c;mybatis持久层框架&#xff0c;redis缓存&#xff0c;shiro认证授权框架&#xff0c;freemarker模版在线生成代码&#xff0c;websocket消息推送等&#xff0c;后台管理包含用户管理&#xf…

rn和flutter出现“Running Gradle task ‘assembleDebug

在第一次运行rn和flutter时&#xff0c;会卡在Running Gradle task assembleDebug&#xff0c;可以使用阿里的镜像&#xff0c;如下图&#xff1a; maven { url https://maven.aliyun.com/repository/google/ } google() maven { url https://maven.aliyun.com/repository/jcen…

【NAS群晖drive异地访问】使用cpolar远程访问内网Synology Drive「内网穿透」

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 前言 群晖作为专业的数据存储中心&…

无涯教程-TensorFlow - 分布式计算

本章将重点介绍如何开始使用分布式TensorFlow&#xff0c;目的是帮助开发人员了解重复出现的基本分布式TF概念&#xff0c;如TF服务器。无涯教程将使用Jupyter Notebook分布式TensorFlow。 第1步 - 导入分布式计算必需的必要模块- import tensorflow as tf 第2步 - …

Linux 系统编程拾遗

Linux 系统编程拾遗 进程的创建 进程的创建 fork()、exit()、wait()以及execve()的简介 创建新进程&#xff1a;fork()

Python自动化小技巧18——自动化资产月报(word设置字体表格样式,查找替换文字)

案例背景 每月都要写各种月报&#xff0c;经营管理月报&#xff0c;资产月报.....这些报告文字目标都是高度相似的&#xff0c;只是需要替换为每个月的实际数据就行&#xff0c;如下&#xff1a; (打码是怕信息泄露.....) 可以看到&#xff0c;这个报告的都是高度模板化&…

超实用的两款截图工具(FastStone Capture 和 Snipaste)

文章目录 一、概述1&#xff09;FastStone Capture2&#xff09;Snipaste 二、FastStone Capture 和 Snipaste 截图软件安装 一、概述 "FastStone Capture" 和 "Snipaste" 都是计算机上常用的截图工具&#xff0c;用于捕捉屏幕截图、编辑图像以及进行屏幕…

vite打包配置以及性能优化

vite打包配置以及性能优化 安装插件 首先该安装的插件&#xff0c;你要安装一下吧 这三个是基本的插件&#xff0c;其他优化的插件下面会介绍到 "vite": "4.4.6","vite-plugin-html": "^3.2.0","vitejs/plugin-vue": &qu…

【最新可用】VMware中ubuntu与主机window之间使用共享文件夹传输大文件

一、VMware设置共享文件夹 &#xff08;1&#xff09;虚拟机关机情况下&#xff0c;创建一个共享文件夹 &#xff08;2&#xff09;ubuntu中挂载共享文件夹 1、如果之前已经挂载 hgfs&#xff0c;先取消挂载 sudo umount /mnt/hgfs2、重新使用以下命令挂载 sudo /usr/bin/vmh…

Ubuntu安装Apache+Php

环境&#xff1a;ubuntu 22.04 虚拟机 首先更新一下 sudo apt-get update sudo apt-get upgrade安装Apache2&#xff1a; sudo apt-get install apache2 输入y&#xff0c;继续。等着他恐龙抗浪抗浪的下载安装就好了 打开浏览器访问http://localhost/ 安装php&#xff1a; …

Dockerfile概念、镜像原理、制作及案例讲解

1.Docker镜像原理 Linux文件操作系统讲解 2.镜像如何制作 3.Dockerfile概念 Docker网址&#xff1a;https://hub.docker.com 3.1 Dockerfile关键字 4.案例

pytest的fixture梳理

fixture特性 夹具是在测试中用于提供共享资源、设置测试环境或模拟行为的工具。 1. 可以重复使用&#xff0c;多个用例可以使用同一个fixture 2. 一个测试用例可以使用多个装置 import pytest # Arrange pytest.fixture def first_entry():return "a"# Arrange pyt…

DNNGP、DeepGS 和 DLGWAS模型构成对比

一、DNNGP DNNGP 是基于深度卷积神经网络&#xff0c;这个结构包括一个输入层&#xff0c;三个卷积层&#xff0c;一个批标准化层&#xff0c;两个dropout层&#xff0c;一个平坦化层&#xff0c;一个 dense层。 dropout层&#xff1a;在神经网络中,dropout层是一个非常有效的正…