阜新网站设计/集合竞价口诀背熟6句
摘要
在计算机视觉中,从单个图像的三维姿态估计是一个具有挑战性的任务。我们提出了一种弱监督的方法来估计3D姿态点,仅给出2D姿态地标。我们的方法不需要2D和3D点之间的对应关系来建立明确的3D先验。我们利用一个对抗性的框架,强加在3D结构上的先验,仅从他们的随机2D投影。给定一组2D姿态界标,生成器网络假设它们的深度以获得3D骨架。我们提出了一种新的随机投影层,它随机投影生成的3D骨架,并将产生的2D姿态发送到鉴别器。鉴别器通过区分所生成的姿态和来自2D姿态的真实的分布的姿态样本来改进。训练不需要发生器或鉴别器的2D输入之间的对应关系。我们将我们的方法应用于三维人体姿态估计的任务。Human3.6M数据集的结果表明,我们的方法优于许多以前的监督和弱监督方法。
引言
我们提出了一个弱监督学习算法来估计三维人体骨架从二维姿势地标。与以前的方法不同,我们不通过3D数据或利用显式的2D-3D对应来明确地学习先验。我们的系统可以生成3D骨架,只观察2D姿势。本文的贡献如下:
1.我们提出并证明,可以仅通过观察2D姿势来学习潜在的3D姿势分布,而不需要从3D数据进行任何回归。
2.我们提出了一个新的随机投影层,并利用它与对抗训练沿着从2D投影中强制执行3D结构的先验。
我们方法背后的关键直觉:给定输入2D姿态,存在无限数量的3D配置,其投影匹配该视图中的2D界标的位置。然而,从另一个随机选择的视点来看,不可信的3D骨架不太可能看起来真实。相反,准确估计的3D姿态的随机2D投影更可能符合真实的2D姿态分布,而不管观看方向如何。我们利用这个属性来学习3D上的先验通过2D投影。为了使3D姿态估计准确,(a)3D姿态到原始相机上的投影应当接近检测到的2D界标,以及(b)3D姿态到随机相机上的投影应当产生适合真实的2D界标的分布的2D界标。
生成对抗网络(GAN)[12]提供了一个自然的框架来学习分布而无需显式监督。我们的方法通过2D姿势间接学习潜在分布(3D姿势先验)。给定2D姿态,生成器假设关节位置的相对深度以获得3D人体骨骼。生成的3D骨架的随机2D投影与实际2D姿态样本一起被馈送到鉴别器(参见图2)。馈送到发生器和鉴别器的2D姿态在训练期间不需要任何对应。鉴别器从2D投影中学习先验,并使生成器能够最终产生逼真的3D骨架。

其中生成器(用于深度预测)
2D姿态到3D骨架的弱监督提升
在本节中,我们将描述我们的弱监督学习方法,以将2D人体姿势点提升到3D骨架。对抗性网络是出了名的难以训练,我们讨论了导致稳定训练的设计选择。为了与生成对抗网络命名约定的一致性,我们将3D姿态估计网络称为生成器。为了简单起见,我们在相机坐标系中工作,其中具有单位焦距的相机以世界坐标系的原点(0,0,0)为中心。设xi =(xi,yi),i = 1。..N表示N个2D姿势界标,其中根关节(髋关节之间的中点)位于原点处。因此,2D输入姿态由x = [x1,..xN]。对于数值稳定性,我们的目标是生成3D骨架,使得从头部顶部到根部关节的距离约为1个单位。
生成器Generator
生成器G被定义为输出每个点xi的深度偏移oi的神经网络
其中θG是在训练期间学习的发生器的参数。每个点的深度定义为
其中d表示相机与3D骨架之间的距离。注意,d的选择是任意的,只要d > 1。将zi约束为大于1可确保将点投影到摄影机前面。实际上,我们使用d = 10个单位。
接下来,我们定义反向投影和随机投影层,负责生成3D骨架并将其投影到其他随机视图。
背面投影层Back Projection Layer
反投影层采用输入2D点xi和预测的zi以计算3D点Xi = [zixi,ziyi,zi]。注意,我们使用精确透视投影代替近似,例如正投影或旁透视投影。
随机投影层 Random Projection Layer
假设的(生成的)3D骨架使用随机生成的相机取向被投影到2D姿态,以被馈送到鉴别器。为了简单起见,我们随机旋转3D点(原地)并应用透视投影以获得假2D投影。设R是随机旋转矩阵,T = [0,0,d]。令Pi = [Px i,Pyi,Pz i ] = R(Xi-T)+T表示应用随机旋转之后的3D点。这些点被重新投影以获得假2D点pi = [pxi,py i ] = [Px i /Pz i,Py i /Pz i ]。旋转的点Pi也应该在相机前面。为了确保这一点,我们还强制Pz i ≥ 1。设p = [p1],..,pN]表示2D投影姿态。
注意透视投影中存在固有的模糊性;将3D骨架的尺寸和距照相机的距离加倍将导致相同的2D投影。因此,预测绝对3D坐标的生成器在批次中的每个训练样本的预测大小和距离之间具有附加的自由度。这可能潜在地导致生成器输出和批次内的梯度幅度的大的变化,并且导致训练中的收敛问题。我们通过预测相对于恒定深度d的深度偏移并围绕它旋转来消除这种模糊性,从而实现稳定的训练。在第4节中,我们为我们的方法定义了一个简单的基线,该基线假设所有点的深度恒定(深度偏移等于零,平坦的人体骨骼输出),并表明我们的方法可以预测有意义的深度偏移
判别器 Discriminator
鉴别器D被定义为神经网络,其消耗假2D姿态p(从生成的3D骨架随机投影)或真实的2D姿态r(经由相机或合成视图的真实3D骨架的一些投影),并分别将它们分类为假(目标概率为0)或真实(目标概率为1)。
其中θD是在训练期间学习的鉴别器的参数,并且u表示2D姿态。注意,对于任何训练样本X,我们不要求r与X或其任何多视图对应相同。在学习过程中,我们使用标准的GAN损失[12],定义为
先验的3D骨架,如肢体长度和关节角度的比例隐式学习,只使用随机的2D投影。
在我们的生成器和鉴别器架构中使用的残差块
Training
对于训练,我们通过使用根关节将2D姿势标志居中并缩放像素坐标来归一化2D姿势标志,使得训练数据上的平均头根距离是2D中的1/d单位。虽然我们可以在GPU内存中容纳整个数据,但我们使用的批处理大小为32,768。我们使用Adam优化器[21],生成器和鉴别器网络的起始学习率为0.0002。我们在实验中将批量在8,192和65,536之间变化,但对性能没有任何显著影响。8个TitanX GPU的训练时间为每批0.4秒。
生成器结构
生成器接受表示14个2D关节位置的28维输入。输入连接到全连接层以将维度扩展到1024,然后馈送到后续残差块中。与[26]类似,残差块由一对完全连接的层组成,每个层有1024个神经元,然后是批量归一化[16]和RELU(见图3)。通过全连接层减小最终输出以产生14维深度偏移(每个姿势关节一个)。在生成器中采用总共4个残差块。
鉴别器架构
类似于生成器,鉴别器还从真实2D姿态数据集或从假设的3D骨架投影的假2D姿态获取表示14个2D关节位置的28个输入。这经过大小为1024的全连接层以馈送如上文所定义的后续3个残余块。最后,鉴别器的输出是一个2类softmax层,表示输入是真实的的还是假的概率。
随机旋转
随机投影层通过从[0,20]度随机采样仰角φ和从[0,360]度随机采样方位角θ来创建随机旋转。这些角度被选择作为一种启发,以粗略地模拟大多数“在当时的野生”图像将具有的可能视点。
实验结果
基线
我们定义了一个平凡的基线与天真的算法,预测一个恒定的深度为每个2D姿势点。这相当于输出恒定深度偏移的生成器。对于使用地面实况2D点的协议2,这种方法的MPJPE是127.3mm。我们在实践中实现了更低的错误率,加强了我们的生成器能够按照预期学习现实的3D姿势的事实。
相关文章:

2018ECCV Can 3D Pose be Learned from2D Projections Alone?
摘要 在计算机视觉中,从单个图像的三维姿态估计是一个具有挑战性的任务。我们提出了一种弱监督的方法来估计3D姿态点,仅给出2D姿态地标。我们的方法不需要2D和3D点之间的对应关系来建立明确的3D先验。我们利用一个对抗性的框架,强加在3D结构…...

干旱演变研究:定义及研究方法
在水文系统中,每个组分之间互相关联,包气带水、地下水和河川径流相互响应,水文循环处于动态平衡的状态。 降水作为水文系统的输入量,对水文循环具有重要的影响。降水短缺通过水文循环导致水文系统不同组分(包气带、地下水和地表水)发生干旱,降水不足导致土壤含水量减少,…...

【LeetCode-中等题】114. 二叉树展开为链表
文章目录 题目方法一:前序遍历(构造集合) 集合(构造新树)方法二:原地构建方法三:前序遍历--迭代(构造集合) 集合(构造新树) 题目 方法一&#x…...

【题解】JZOJ6645 / 洛谷P4090 [USACO17DEC] Greedy Gift Takers P
洛谷 P4090 [USACO17DEC] Greedy Gift Takers P 题意 n n n 头牛排成一列,队头的奶牛 i i i 拿一个礼物并插到从后往前数 c i c_i ci 头牛的前面,重复无限次,问多少奶牛没有礼物。 题解 发现若一头牛无法获得礼物,那么它后…...

Vue 项目中的错误如何处理的?
1、 组件中的处理:使用 errorCaptured 钩子 作用:可以捕获来自后代组件的错误 父组件(errorCaptured) -> 子组件 (errorCaptured) -> 当孙子组件出错时,错误会一直向上抛,也就是先触发子组件的 errorCaptured,…...

网络分层的真实含义
复杂的程序都要分层,这是程序设计的要求。比如,复杂的电商还会分数据库层、缓存层、Compose 层、Controller 层和接入层,每一层专注做本层的事情。 当一个网络包从一个网口经过的时候,你看到了,首先先看看要不要请进来…...

RT-Thread 线程间同步
线程间同步 在多线程实时系统中,一项工作的完成往往可以通过多个线程协调的方式共同来完成,那么多个线程之间如何 “默契” 协作才能使这项工作无差错执行?下面举个例子说明。 例如一项工作中的两个线程:一个线程从传感器中接收…...

Python元类再解释
Python元类再解释 元类是什么? 你可以把元类看作是“生产类的工厂”。就像类是用来生产对象的,元类是用来生产类的。 为什么需要元类? 考虑一个场景:假设你正在编写一个框架,你希望框架中的所有类都有某些特定的方…...

常用的Spring Boot 注解及示例代码
简介:Spring Boot 是一个用于快速构建基于 Spring 框架的应用程序的工具,通过提供一系列的注解,它使得开发者可以更加轻松地配置、管理和控制应用程序的各种行为。以下是一些常用的 Spring Boot 注解,以及它们的功能和示例代码&am…...

react app教程
react app教程 环境准备 下载node 下载npx npm install npx创建app npx create-react-app automedia cd automedia npm start构建发布版本 npm run build安装调试工具 # .vscode/launch.json {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了…...

在vue项目中用vue-watermark快捷开发屏幕水印效果
我们先引入一个第三方依赖 npm install vue-watermark然后 因为这只是个测试工具 我就直接代码写 App.vue里啦 参考代码如下 <template><div><vue-watermark :text"watermarkText"></vue-watermark><!-- 正常的页面内容 --></div…...

无涯教程-Android - Activity
Activity代表具有用户界面的单个屏幕,就像Java的窗口或框架一样。Android Activity 是ContextThemeWrapper类的子类。 如果您使用过C,C或Java编程语言,那么您一定已经看到您的程序从 main()函数开始。与之非常相似,Android系统以 …...

vue项目前端展示数学公式(在表格中渲染)
现有需求为 将实验数据录入表格中,需要表格呈现物理公式,使用Mathjax在vue2中 进行呈现 1.安装 npm i --save mathjax-vue 2.全局注册(main.js中) import MathJax, { initMathJax, renderByMathjax } from mathjax-vuefunction onMathJaxReady() {const el document.getEl…...

java八股文面试[数据库]——MySQL索引的数据结构
知识点: 【2023年面试】mysql索引的基本原理_哔哩哔哩_bilibili 【2023年面试】mysql索引结构有哪些,各自的优劣是什么_哔哩哔哩_bilibili...

python3.11教程2:基础数据类型(数字和字符串)、组合数据类型(集合、元组、列表、字典)
文章目录 五、基本数据类型5.1 整数和浮点数5.1.1 整数和浮点数的类型5.1.2 进制和进制转换5.1.3 round函数 5.2 运算符5.2.1 常用运算符、运算符函数和逻辑运算符5.2.2 位运算符5.2.3 运算符的优先级及其进阶使用 5.3 布尔类型5.4 字符串5.3.1 字符串的基本操作5.3.2 字符串函…...

剑指 Offer 44. 数字序列中某一位的数字(中等)
题目: class Solution { //本题单纯找规律,要注意通过n%digits来判断有几个位数为digits的数 public:int findNthDigit(int n) {long base 9, digits 1; //digits代表位数while(n-base*digits>0){ //该循环是为了确定目标数字所在…...

SpringBoot中HttpClient的学习
一、介绍 HttpClient是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包。 HttpClient 是一个HTTP通信库、一个工具包,它只提供一个通用浏览器应用程序所期望的功能子集,与浏览…...

JVM-内存溢出的原因、CPU占满的原因
1.内存溢出的原因 OOM的排查思路_oom排查_java排坑日记的博客-CSDN博客 每个进程的内存(限制,譬如2G)最大堆容量最大方法区容量程序计数器虚拟机栈和本地方法栈。多线程下每个线程栈越大,越容易OOM. 1.堆内存溢出(OO…...

如何做好银行统一报送系统UI设计
北京蓝蓝设计公司是一支由清华美院毕业的专业团队组成的设计公司。我们的设计师们在金融银行软件领域拥有12年的工作经验和丰富的行业知识。 在工作中我们常常思考银行金融反洗钱软件用户使用痛点是什么?我们发现用户的使用痛点往往是: 1功能入口不清晰…...

988. 从叶结点开始的最小字符串
988. 从叶结点开始的最小字符串 C代码:DFS /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/// 叶子节点// 每一层用一个pathTop、遇到叶子节点就判断一次;…...

RealSense D455启动教程
环境: ubuntu20.04 ros:noetic 视觉传感器:Intel RealSense D455 通过命令安装不成功后改为下面源码安装 1. 安装Intel RealSense SDK 2.0 1.1源码安装 1. 下载源码git clone https://github.com/IntelRealSense/librealsense cd librealsense…...

docker与phpstudy两种方式部署wordpress 并 开启伪静态
实际测试,可能是docker内存限制的缘故,docker部署的会比较卡 下载 wordpress phpstudy phpstudy中伪静态配置 伪静态 正常访问 WordPress 文章页的 URL 地址为 http://asa/index.php?p123。变成伪静态就是http://asa/123.html 。 伪静态是相对真实静…...

网站搭建最简化的引导操作 | 云服务器的购买选用 | 域名的选用 | 网站的上线和备案。
本文章面向对象为网站搭建的初次操作者,主要是一些自主使用的网站,为小白做为引导的教程。 一, 网站搭建的流程 1,服务器的租赁 2,购买域名 3,对域名进行备案 4,网站内部的搭建,上线…...

Spring Cloud Foundry上使用通配符模式匹配进行的安全绕过漏洞 CVE-2023-20873
文章目录 0.前言1.参考文档2.基础介绍描述如果满足以下任一条件,应用程序就不会有太大风险:受影响的Spring产品和版本 3.解决方案3.1. 升级版本3.2. 替代方案 0.前言 背景:公司项目扫描到 Spring Cloud Foundry上使用通配符模式匹配进行的安全…...

简述SpringMVC
一、典型的Servlet JSP JavaBean UserServlet看作业务逻辑处理(Controller)User看作模型(Model)user.jsp看作渲染(View) 二、高级MVC 由DispatcherServlet对请求统一处理 三、SpringMVC MVC与Spr…...

vue竖向步骤条
效果图: 弹框组件代码: <template><el-dialog:visible.sync"dialogVisible":append-to-body"true":close-on-click-modal"false":close-on-press-escape"false"titlewidth"8.2rem"custom-c…...

java八股文面试[多线程]——Synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁
1.锁膨胀 (就是锁升级) 我们先来回顾一下锁膨胀对 synchronized 性能的影响,所谓的锁膨胀是指 synchronized 从无锁升级到偏向锁,再到轻量级锁,最后到重量级锁的过程,它叫锁膨胀也叫锁升级。 JDK 1.6 之前…...

【数据结构】队列---C语言版(详解!!!)
文章目录 🐸一、队列的概念及结构🍄1、队列的概念定义🍄2、动图演示 🐸二、队列的实现🐸三、链表结构队列详解🍎创建队列的结构⭕接口1:定义结构体(QNode、Queue)⭕接口2…...

java:详解http模块request对象
文章目录 背景继承关系获取数据request获取请求行数据获取请求头数据获取请求体数据 示例:防盗链其他功能获取请求参数通用方式请求转发共享数据获取ServletContext 背景 在 Java 中,HTTP 模块的 request 对象和 response 对象分别表示客户端向服务器发…...

力扣20. 有效的括号
20. 有效的括号 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应…...