【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

人工智能25

[Abstract]

本文的工作解决了一个新的和具有挑战性的问题,即从单一RGB图像估计完整的3D手的形状和姿势。目前基于单目RGB图像的手的三维分析方法主要集中于估计手关键点的三维位置,但这不能充分表达手的三维形状。相反,本文提出了一种基于图卷积神经网络(Graph Convolutional Neural Network, Graph CNN)的方法来重建完整的手部三维网格 (mesh),其中包含了更丰富的手部三维形状和姿势信息。为了在完全监督下训练网络,本文创建了一个包含 GroundTruth 三维网格和三维姿态的大规模合成数据集。当在没有3D GroundTruth 数据的情况下对网络进行微调时,本文提出了一种弱监督方法,即利用深度图 (depth) 作为训练过程中的弱监督。通过对本文提出的新数据集和两个公共数据集的广泛评估,表明,我们所提出的方法可以产生精确和合理的三维手部网格,并可以实现优越的三维手部姿态估计精度,与最先进的方法相比。
(摘要指出之前的手部姿态估计方法大多止步于回归三维手部关键点的坐标,作者认为这种抽象后的手部关键点坐标并不能反映手部形态的细节,所以提出了本文的方法用于得到一个更准确的手部shape)

【Introduction】

基于视觉的三维手部分析在虚拟现实(VR)和增强现实(AR)中有着广泛的应用,是一个非常重要的课题。然而,尽管经过多年的研究,由于手的形状、姿势、手势、遮挡等的多样性和复杂性,它仍然是一个悬而未决的问题。在过去的十年中,我们见证了从深度图像中估计三维手部姿态的快速发展。考虑到RGB相机比深度相机更广泛,一些最近的工作开始从单目RGB图像中研究3D手部分析,主要集中在估计稀疏的3D手部关节位置,但忽略了密集的3D hand shape。然而,许多身临其境的VR和AR应用往往需要精确估计三维手的姿势和形状。

(从这一段的背景介绍以及应用意义来看,作者所提出的方法主要应用于AR/VR领域,在一些虚拟现实的应用中,的确需要更加逼真和精细化的手部模型。所以,作者顺势指出之前研究的痛点:仅仅得到关节点没有进一步得到3D hand shape)

这促使我们提出了一个更具挑战性的任务:如何从单个RGB图像中联合估计手部关节的三维位置,以及手部表面的完整三维网格?在这项工作中,我们开发了一个合理的解决方案,如下图所示。
(由下图可以看到,本文的方法不仅能获得2D和3D的手部关键点还能获得准确的2D和3D手部shape)
【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image
以前也有人研究过单视图三维手部姿态估计任务,但主要是在可控设置中,在这种情况下,深度传感器是可用的(之前的方法必须依赖深度传感器)。其基本思想是通过迭代优化,将生成式3D手模型拟合到输入深度图像中。相比之下,这里我们考虑从单目RGB图像估计三维手的形状,这还没有被广泛研究(没有被广泛研究,所以作者说他解决了一个新的问题)。在RGB图像中缺乏明确的深度线索,使得这项任务难以通过迭代优化方法解决。在这项工作中,我们采用端到端方式训练的深度神经网络,直接从单个RGB图像恢复3D手网格。具体地说,我们预先定义了一个代表手表面的三角形网格的拓扑结构,目的是利用深度神经网络估计网格中所有顶点的三维坐标。要实现这一目标,有几个挑战。

(这段作者大致讲了思路:首先有一个初始三维网格手模型,然后领用深度学习细化三维网格模型,使之精细化)

第一个挑战是三维手网格生成的输出空间的高维性。与稀疏的手骨架三维关节位置估计(如21个关节)相比,使用传统的CNN估计密集网格顶点(如1280个顶点)的三维坐标要困难得多。一个简单的解决方法是遵循人体形状估计中常用的方法,即回归预定义的可变形手模型的低维参数,如MANO。

在本文中,我们认为输出的三维手网格顶点实质上是图结构数据,因为一个三维网格可以很容易地表示为一个GRAPH。为了输出这样的图结构数据并更好地利用图中网格顶点之间的拓扑关系,受最近关于图卷积网络的研究的启发,我们提出了一种新的基于图卷积网络的方法。具体地说,我们采用带上采样和非线性激活的层次图卷积,从骨干网提取的图像特征中生成三维手网格顶点。有了这样一个端到端可训练的框架,我们的基于Graph cnn的方法可以更好地表示变化很大的三维手形,也可以更好地表达三维手形的局部细节。
除了模型上的挑战,另一个挑战是缺乏真实世界图像的GroundTruth 3D手网格训练数据。在真实世界的RGB图像上手动标注GroundTruth3D手网格是非常费力和耗时的。因此,我们选择创建一个包含三维手网格和三维手姿势的地面真实值的大规模合成数据集,以供训练。然而,由于它们之间的领域差距,在合成数据集上训练的模型通常对真实数据集产生不满意的估计结果。为了解决这个问题,受到启发,我们提出了一种新的弱监督方法,利用深度图作为一个弱监督的3D网格生成,因为深度图可以很容易地由RGB-D相机在收集GroundTruth训练数据时捕获。更具体地说,当对真实数据集进行微调时,我们将生成的3D手网格渲染到图像平面上的深度图,并将深度图相对于参考深度图的损失最小化,如图3所示。注意,在测试期间,我们只需要一个RGB图像作为输入来估计完整的3D手的形状和姿势。

(让我们来梳理一下作者解决问题的思路。作者想要解决目前尚未有许多人研究的基于单目RGB图像的手部形态的估计问题,解决问题需要数据和模型。数据方面,因为之前研究的人不多,所以没有现成可用的数据集,所以作者自己创建了一个数据集。因为采集真实数据集并标注并不好实现,所以作者选择使用合成数据集。作者又希望模型的泛化能力强,所以想出了使用弱监督来修正。模型方面呢,因为一般的手部shape估计大家为了方便基本上都用MANO,所以作者也使用了MANO)

; [Contributions]

① 提出了一个全新的端到端训练的卷积神经网络模型,实验结果证明该方法可以得到一个更细致的结果
②通过将生成的3D网格渲染到图像平面上的深度图,并利用参考深度图作为弱监督,我们提出了一个现实世界数据集上的弱监督训练pipeline,不需要对真实世界图像的3D手网格或3D手姿势进行任何注释。
③提出了一个大型合成数据集,包含3D关键点标注以及手部表面的3D hand mesh。

【Method】

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image
这篇论文的思路可以给手里数据集比较少的同学参考。
我们先把网络一分为二:直接监督pipeline与弱监督pipeline
直接监督pipeline很好理解,是一个端到端的网络。输入为single RGB Image输出为 3D hand mesh以及 3D hand pose。输出使用GroundTruth作为监督。
弱监督pipeline,其实跟直接监督相差不大,唯一的区别就是因为没有标注,网络生成的3D hand mesh无法使用GroundTruth作为监督,下一步是让生成的mesh映射到depthmap上,使用真实的depth map做监督。这样便可以达到指导 hand mesh网络学习的目的。

Original: https://blog.csdn.net/sunnyblogs/article/details/124274046
Author: sxxblogs
Title: 【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image



相关阅读1

Title: 基于matlab的语音信号处理

摘要

利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。

基于MATLAB的语音信号处理

语音信号的采集

录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。然后利用wavread对语音信号进行采样。我们一共选择了3段语音,其中

d.wav 真心英雄(周华健)(男声)

man.wav我的歌声里(自己录制)(男声)

girl.wav看的最远的地方(张韶涵)(女声)

语音信号的频谱分析

使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。这里我们分析的是d.wav,通过分析知道频率分布在0—10KHz,主要分布在低频。

数字滤波器设计

这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。

各滤波器的设计如下:

椭圆低通滤波器:fb=1 200 Hz,fc=1 400 Hz,As=100 dB,Ap=1 dB

椭圆高通滤波器:fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB

等波纹逼近法设计FIR带通滤波器

fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3000Hz,As=100dB,Ap=1dB

双线性变换法切比雪夫数字高通滤波器

fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB

滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。语音的低频部分沉稳,空间感较强;中频部分音质一般;高频部分音质非常尖锐,略微有尖音。此外中高频的幅度都不大,回放时音量较低。

语音变速播放

改变语音的播放速度也就是改变采样间隔(即改变了采样频率),但是这个频实现率依然要在2f(Nyquist rate)之上,否则就会产生失真。

%变速-慢放%

w=0.9;

M=w*fs; %w>1为快放,w

Original: https://blog.csdn.net/sunny_chenxi/article/details/120014766
Author: sunny_chenxi
Title: 基于matlab的语音信号处理

相关阅读2

Title: 了解音频频率范围和音频元器件

作者:Jeff Smoot 是 CUI Devices 应用工程和运动控制部门副总裁

从汽车到家庭再到便携式设备,音频无处不在,而且其应用只会越来越广。当涉及到音频系统设计时,尺寸、成本和质量是需要考虑的重要因素。影响质量的变化因素很多,但通常归结为针对给定设计重新构建必要音频的系统能力。在本文中,我们将了解更多关于音频范围及其子集的基础知识、外壳设计的影响,以及如何根据应用确定其可能需要的音频范围。

音频范围的基础知识

20 Hz 至 20,000 Hz 是常用音频参考范围。然而,普通人能听到的音频不超过 20 Hz 至 20 kHz,而且随着年龄的增长,这个可探测的范围还会持续缩小。通过音乐对音频的理解最为透彻。在音乐中,每一个随后的八度音都会使频率翻倍。钢琴的最低音 A 大约是 27 Hz,而最高音 C 则接近 4186 Hz。除这些常见频率之外,任何产生声音的物体或设备也会产生谐波频率。这些只是在较低振幅下的较高频率。例如,钢琴的 27 Hz"A"音也会产生 54 Hz 的谐波,81 Hz 的谐波,以此类推,每个谐波都比上一个更安静。在需要准确再现音源的高保真扬声器系统中,谐波将变得尤为重要。

音频的子集

下表列出了 20 Hz 至 20,000 Hz 频谱内的七个频率子集,这有助于定义音频系统设计中使用的目标范围。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

表 1:音频子集范围。(图片来源:CUI Devices)

频响图

频响图是直观了解蜂鸣器、麦克风或扬声器如何再现各种音频的好方法。由于蜂鸣器在一般情况下只输出可听音调,因此通常具有较窄的频率范围。另一方面,扬声器通常具有更宽的频率范围,因为扬声器通常用来重现声音和语音。

如扬声器、蜂鸣器等音频输出设备的频响图 Y 轴以声压级分贝 (dB SPL) 为单位,这根本上是设备的响度。音频输入设备的 Y 轴,如麦克风,则是以分贝为单位表示灵敏度,因为它们用于检测声音而不是产生声音。在下面的图 1 中,X 轴代表频率的对数刻度,Y 轴以分贝声压级列出,因此这是一个音频输出设备的图表。注意,因为 dBs 也是用对数表示,所以两个轴都用对数表示。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

图 1:基本频响图。(图片来源:CUI Devices)

该图表示在不同频率下输入恒定的功率会产生多少分贝的声压级,该图相对平坦,整个频谱范围内的变化最小。除了 70 Hz 以下的部分急剧下降外,该音频设备在相同输入功率下,会在 20 Hz 和 70 kHz 范围内产生稳定的声压级。任何低于 70 Hz 的设备都会产生较低的声压级 (SPL) 输出。

例如,CUI Devices 的 CSS-50508N 扬声器频响图(图 2)较好地说明了更典型的扬声器属性。该图包括不同的峰值和谷值,表示共振加强或减少输出的点。这款 41 mm × 41 mm 扬声器的规格书列出了 380 Hz±76 Hz 的共振频率,可以看作是频响图上的第一个主峰值。这在 600 Hz 至 700 Hz 左右迅速下降,但随后从大约 800 Hz 至 3000 Hz 之间达到稳定的声压级性能。由于扬声器的尺寸,设计者可推测 CSS-50508N 在低频范围内的表现不会超过高频范围,这一点在图中得到了证实。通过了解如何以及何时参考频响图,设计工程师可以确定扬声器或其他输出设备是否能够再现其目标频率。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

图 2:CUI Devices 的 CSS-50508N 41 mm x 41 mm 扬声器频响图。(图片来源:CUI Devices)

音频范围和外壳的注意事项

音频范围会在几个方面影响外壳设计,如下文所述。

扬声器尺寸

与大型扬声器相比,小尺寸扬声器的移动速度更快,使其能够在较少不必要谐波的情况下产生更高的频率。然而,当试图在较低频率下实现类似 SPL 输出时,就需要更大型的扬声器膜片来移动足够的空气,以便匹配与较高音调相同的感知 dB SPL。虽然较大的振膜要重得多,但在低频时通常不会造成问题,因为其移动速度很慢。

使用较小还是较大的扬声器最终将取决于应用需求,但较小的扬声器通常只需要较小的外壳,以降低成本、节省空间。浏览 CUI Devices 的博客,详细了解如何设计微型扬声器外壳。

共振频率

共振频率代表一个物体的自然振动频率。拨动吉他琴弦时,琴弦以其共振频率振动。这就是说,如果将扬声器放在吉他旁边并播放琴弦的共振频率,吉他琴弦就会开始振动,且振幅随着时间的推移增大。然而,当涉及到音频时,这种现象也会导致与周围物体产生不必要的异常声音。CUI Devices 关于共振及共振频率的博客就该主题提供了的更多信息。

为了避免扬声器同时具有非线性输出和不必要的谐波,在外壳设计中确认自然共振频率与预期的音频输出不在同一频谱范围内就显得尤其重要。

材料权衡

扬声器和麦克风设计在那些必须在移动期间保持静止、柔性和刚性的组件之间达到微妙的平衡。扬声器振膜(或纸盆)应很轻,以便快速响应,同时尽可能保持刚性,以防移动时发生变形。CUI Devices 的扬声器通常采用重量轻、质地硬的纸和麦拉膜。麦拉膜是塑料的一种,还具有防潮和防湿的优势。除了膜片外,还采用橡胶连接膜片和框架。为了防止在极端移动情况下发生断裂,这种材料必须既坚固又柔韧,从而不会限制膜片的移动。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

图 3:扬声器的基本构造。(图片来源:CUI Devices)

在比较麦克风技术时也可以看到相同的元器件之间的权衡。驻极体电容式麦克风和 MEMS 麦克风耐用性好、封装紧凑和功耗低,但频率和灵敏度更为有限。另一方面,带状话筒具有更好的灵敏度和频率范围,但同时也牺牲了耐用性。

材料也是外壳设计中的一个重要选择,会影响声音的共振和吸收。外壳的主要目标是抑制后方产生的非相位的声音,这意味着所选材料必须能有效地吸音。这在难以抑制非相位声音的较低频声音应用中尤其关键。

结语

归根结底,音频系统的数量有限,没有一个单独的音频输出设备能够以任何保真度跨越整个音频频谱。一般来说,大多数应用不需要这种保真度,而且可能不需要完全的线性输出。在为一个设计选择合适的音频组件时,了解音频频率范围仍将具有重要的作用。有了这种认识,工程师可以更好地在成本、尺寸和性能之间的进行权衡。CUI Devices 提供一系列频率范围不同的音频解决方案,以支持全套应用。

Original: https://blog.csdn.net/YFKlixiangning/article/details/123175156
Author: YFKlixiangning
Title: 了解音频频率范围和音频元器件

相关阅读3

Title: RRT算法原理和代码详解(快速扩展随机树)

文章目录

优缺点

优缺点先明说,优点RRT Star适用于任何地图,不像A Star,Dijkstra那样受限于栅格地图。
缺点:1.找到的路径可能不是最优的;2.路径可能不符合机器人的运动学动力学模型;3.效率问题。

伪代码

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

; 具体流程

  1. 给出起点和终点,以及设置好障碍物的地图,如下所示,将起点记作是根节点。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

  1. 进行空间撒点采样,在空间中随机选择一点Xrand。(这里对应伪代码当中的Sample()函数)

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

  1. 接着寻找距离Xrand最近的一个已知节点Xnear(这一步对应伪代码当中的near()函数)。因为当前只有一个根节点(起点),所以根节点即为Xnear。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

  1. "树的生长"(执行Steer函数)
    将Xnear与Xrand两节点连接起来作为"树"生长的方向。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

会设置一个步长作为"树枝"。
因为步长有长度,可能长度不会恰好等于Xnear到Xrand的距离。
所以称"树枝"的末端节点为Xnew。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

现在,"树枝"的长度就是从Xnear到Xnew的长度。
将在"树枝"上的点(Xnear到Xnew这之间无限的点)都归为节点。
得到Xnew之后,之前的Xrand就舍弃了,只保留了"树枝",之后重新进行采样。

  1. 重新采样

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

重新采样之后,发现连接的路径穿过了障碍物。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

碰到连线穿过障碍物的,就抛弃这一次采样,重新采样

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

发现,随着采样的进行,会越来越靠近终点。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

但是要使算法停止,就必须要随机采样点刚好是终点,这样的概率是非常小的。所以会设置一个提前停止的条件:

因为每一段树枝的末端都是Xnew,所以每产生一次Xnew节点,我们都判断一下Xnew与终点之间的距离,看这个距离是否小于步长,如果小于步长且没有经过障碍物,则就直接把Xnew与终点进行相连。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

综上,就能找到一条从起点到终点的路径。

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

效率问题

存在一个效率问题,如下图所示,按照每次Xnew之后进行Xnew与终点连线判断的情况,下图是可以直接按照这条轨迹到终点的。(因为在这没有碰到障碍物且只是步长不满足所给的条件)

【手部姿态估计】【论文精读】3D Hand Shape and Pose Estimation from a Single RGB Image

这时候,改进一下采样的范围,就是直接沿着这个线的周围进行采样,限定范围,就可以加快算法导向终点的速度,这就是我的下篇Blog所要详解的Informed RRT*算法。

; 代码

代码在我的github以及gitee当中可下载。

Original: https://blog.csdn.net/weixin_44673253/article/details/125344598
Author: 老板来两碗红烧肉盖饭
Title: RRT算法原理和代码详解(快速扩展随机树)

相关文章
Alsa-lib实现播放wav音频 人工智能

Alsa-lib实现播放wav音频

1.alsa-lib移植 例程中使用的alsa-lib库是1.2.6版本的,目前最新的release版本已经到1.2.7版本了,可以根据自身需求下载。 具体下载链接可以访问下面alsa官网的下载链接 ...
RNN - LSTM-GRU 人工智能

RNN – LSTM-GRU

文章目录 前言 为什么引入RNN? RNN * 1.RNN网络结构 2.RNN的两个主要应用 3.RNN的两个主要应用对应的不同的Loss 4.针对Loss进行反向传播 LSTM 总结 前言 为什么引...
Opencv c++(图像处理) 人工智能

Opencv c++(图像处理)

目录 一、图像读取与显示 二、图像预处理 高斯模糊的原理与算法 Canny边缘检测 三、图像裁剪 四、绘制形状和添加文本 五、透视变换 六、颜色检测 七、形状检测和轮廓检测 八、人脸识别 一、图像读取...