
# 背手姿态：基于手背形变网络的腕戴式摄像头3D手部姿态估计

作者：Wu, E；Yuan, Y；Yeo, HS；Quigley, A；Koike, H；Kitani, KM

出版详情：

UIST 2020：第33届年度ACM用户界面软件与技术研讨会论文集

第1147–1160页

<tel:9781450375146>（ISBN）

## 会议详情

第33届年度ACM用户界面软件与技术研讨会论文集

电子网络会议

2020-10-20 - 2020-10-23

出版日期：

2020-10-20

出版商DOI：<https://doi.org/10.1145/3379337.3415897>

## 许可

<https://creativecommons.org/licenses/by-nc-nd/4.0/>

点击链接查看许可内容，了解使用该资源时允许进行的操作。

于2026年10月19日从<http://hdl.handle.net/1959.4/unworks_74915>经<https://unworks.unsw.edu.au>下载

---

## 背手姿态：基于手背形变网络的腕戴式摄像头3D手部姿态估计

Erwin Wu $^{1,2}$、Ye Yuan $^{1}$、Hui-Shyong Yeo $^{3}$、Aaron Quigley $^{4}$、Hideki Koike $^{2}$、Kris M. Kitani $^{1}$

$^{1}$卡内基梅隆大学、$^{2}$东京工业大学、$^{3}$圣安德鲁斯大学、$^{4}$新南威尔士大学 <mailto:wu.e.aa@m.titech.ac.jp>、<mailto:yyuan2@cs.cmu.edu>、<mailto:hsy@st-andrews.ac.uk>、<mailto:a.quigley@unsw.edu.au>、<mailto:koike@c.titech.ac.jp>、<mailto:kkitani@cs.cmu.edu>

![Image](images/68c6ffb5641fc76a7651532e1ce17302f538a39dd45a4958a07acd076bffb695.jpg)

<div style="text-align: center;">Figure 1. Overall flow of this system, 3D hand pose is estimated in real-time only using a camera looking at the back of the hand.</div>

### 摘要

在自然场景下自动识别人们使用手和手指的方式——无需对手指进行额外设备植入——对许多移动计算应用而言都极具价值。为实现此类交互界面，我们提出了一种基于腕戴式摄像头的视觉型3D手部姿态估计框架。主要挑战在于腕戴式摄像头的倾斜角度会导致手指难以被观察到。为解决这一问题，需要一种专门用于检测手背形变的网络。我们推出了DorsalNet，这是一种双流卷积神经网络，能够利用手背区域（骨骼、肌肉和肌腱的运动）的时空特征来推算手指关节角度。本研究是首个利用手背区域的视觉特征实现实时3D手部姿态估计的视觉型系统。我们的系统在针对特定用户的模型中，平均关节角度误差为$8.81^{\circ}$；在通用模型中，该误差为$9.77^{\circ}$。进一步评估表明，该系统在动态手势识别方面的准确率比以往研究高出20%，在识别11种不同抓握类型时的准确率可达75%。我们还展示了三种应用案例，分别将我们的系统用作控制设备、输入设备和抓取物体识别器。

### 作者关键词

腕戴式设备；3D手部姿态估计；手背

### CCS概念

•以人为中心的计算 $\rightarrow$ 手势输入；

•计算方法 $\rightarrow$ 人工智能；

### 引言

在受控环境中，人类的手通常用作数字输入设备（如鼠标、键盘或控制器）的主要操控工具，但由于便携性有限、会妨碍自然操作（例如笨重的数据手套）或感应范围受限（例如VR控制器），这些设备在移动环境下难以使用。因此，研发能够在移动环境下捕捉人手动作的新技术至关重要，这类传感设备应能自然佩戴或手持（如腕带、手表、领针式摄像头、智能眼镜或智能手机）。基于此，我们提出了一种基于摄像头的腕戴式3D手部姿态识别系统，其外形类似于智能手表。

利用自然手势作为计算机输入已有悠久的历史[^29] [^30] [^44]，相关技术从基于手套的方式发展到基于标记的方式，再到无标记的视觉追踪方案。针对不同的应用场景，研究人员已经探索了多种手部追踪方法——不仅限于桌面交互领域，还包括虚拟现实（VR）和可穿戴计算领域。不过，正如我们在相关工作部分将详细阐述的那样，现有方法存在诸多问题。在此我们重点指出以下几个主要问题：

- 便携性差——需要依赖环境中的外部摄像头。

---

• 视野范围有限——当手超出摄像头视野时就会无法追踪。

体积庞大——需要佩戴手套、外置摄像头等设备，或者手持大型控制器，这些都会限制手指的活动。

• 需要定制传感器，比如肌电图传感器、近红外传感器、超声波传感器等。

与上述方法不同，本研究认为需要采用更简单、更自然的设计方案。我们的目标是利用可嵌入智能手表或其他腕戴设备侧面的微型摄像头来估算3D手部姿态，该摄像头仅需观测手背区域（我们将其称为“手背”区域）。然而在这种配置下，摄像头的倾斜角度和摆放位置使得基于关键点的计算机视觉技术（如OpenPose [^42]）难以应用，因为手指不会出现在摄像头的视野中。

事实上，研究表明，利用手背区域的形状或视觉特征有助于理解手部姿态。例如，直接在手背区域安装应变计[^33]或光电二极管[^45]传感器，就能测量皮肤和肌腱运动的细微变化，进而推断手部姿态。Yeo等人[^53]也在手势识别领域借鉴了这一思路：他们使用红外摄像头从几厘米外观测该区域，无需直接接触测量。不过，上述研究都仅试图识别少数静态手部姿态或手指敲击手势，并未探索3D手部姿态估算的可能性。

受先前研究的启发，我们认为利用类似的装置来估计完整的3D手部姿态是可行的，具体来说就是在腕戴设备侧面安装微型鱼眼摄像头。然而，与以往仅局限于离散手部姿态或手势评估的研究不同，我们致力于解决完整的3D手部姿态估计任务，该任务能够连续追踪手指的弯曲程度。我们提出了一种基于双流卷积循环神经网络的实时3D手部姿态估计算法。首先，我们将摄像头采集的图像预处理为带掩码的手部图像，并计算运动历史图像 [^6]。接着，将这两类图像（带掩码的手部图像和运动图像）输入残差卷积网络以提取空间特征，随后通过基于长短期记忆（LSTM）网络的卡尔曼滤波器（KF）来获取时间特征。最后，这些特征被映射为特定的3D手部表示形式，并转换为3D手部网格以供可视化展示。

为了展示我们系统的潜力，我们实现了三种应用场景。第一种应用是一种控制系统，可用于与智能手表、智能手机交互，甚至可作为支持裸手操作的虚拟现实控制器。第二种应用是基于手部的输入系统，可充当虚拟鼠标或键盘，无需手持实体控制器即可操控计算设备。最后，利用抓取识别方法的结果，我们构建了物体检测系统，用于识别用户正在抓取的特定物品（如笔、可乐罐或胶带卷），这在隐蔽且直观的交互或康复场景中极具实用价值。

本文的主要贡献总结如下：

1. 我们提出了一种新颖的双流残差LSTM-KF网络，这是首个能够基于手背图像重建基于角度的手部姿态的视觉架构。

2. 我们通过具有代表性的基线模型对3D手部姿态估计性能进行了评估，验证了该方法在不同用户和光照条件下的鲁棒性；同时开展了消融实验以验证各技术组件的有效性。

3. 我们对手势和抓取识别功能进行了评估与分析，以证明该系统的实用性。

4. 我们展示了三种应用场景，以体现本研究的潜在用途。

相关视频、数据集以及训练好的模型将在 <https://github.com/erwinwu211/Back-Hand-Pose> 发布。

### 相关工作

我们的研究与手部姿态估计领域密切相关，该领域在多个研究方向均有探讨。例如，手部姿态估计是计算机视觉社区内的热门研究课题 [^11]，但大多数相关研究都依赖于环境中的外部跟踪设施。由于无法在本文中全面涵盖这些主题，我们建议读者参考相应的综述文献 [^29] [^30] 以获取更多细节。在此，我们将研究重点限定在采用可穿戴设备的方法上，这些方法大致可分为两类：手部佩戴式和非手部佩戴式。

### 非手部佩戴式方法

非手持式方案包括佩戴头戴式显示器（如HoloLens或Oculus Quest）或肩扛式摄像头[^43]，这些设备能够通过基于视觉的技术来支持完整的手部姿态估计。不过，这类方案要求手部必须始终处于摄像头的视野范围内才能被追踪。这意味着手部需要被抬高到一定高度并保持一段时间，从而容易导致疲劳。事实上，疲劳正是长时间使用此类输入方式时面临的主要问题之一，这种现象通常被称为“大猩猩臂”现象[^22]。

### 手持式方案

相比之下，基于手持设备的方案旨在无论手部是抬起还是放下都能持续工作。这类手持设备可进一步分为两类：i) 手套和控制器设备；ii) 内置传感器的腕带和臂环。

### 手套与控制器设备

过去曾提出过许多用于将手势转换为计算机输入的手套。相关综述可参见[^16] [^44]。这类手套设备虽然能够提供高精度的手部姿态估计以及实时的位置和方向信息，但存在体积庞大且成本高昂的问题。不仅佩戴它们需要花费大量时间，而且佩戴手套还会降低指尖的触觉敏感度，甚至由于摩擦而限制手指活动。主流的VR控制器（如Oculus Touch、Valve Knuckle）也能通过接近传感器和电容传感器来推断部分手部姿态[^48]。最近，Arimatus和Mori [^3]也针对手持设备提出了类似的手部姿态估计技术，该技术利用

---

接近传感器。同样，握持控制器会限制手部的自然运动，使其无法完成完全抓握动作。

### 内置传感器的腕带与臂环

可以嵌入或附着在腕带或臂环上的传感器种类繁多。利用肌电图（EMG）[^2] [^37]、压力[^14] [^36]、光学[^18] [^34] [^38]以及电容传感器[^31] [^40] [^47]的方法，能够测量手腕或手臂表面的变化以推断手部姿态或手势。利用生物声学传感[^1] [^15] [^28]、超声成像[^35] [^41]以及电阻抗断层扫描[^56]的方法，则能测量人体内部的变动来推断手部姿态和手势。这类方案的一个缺点是它们所需的传感器与RGB摄像头相比更难以集成到可穿戴设备中。不过，主要的局限性在于这类方案的追踪精度通常仅限于几种固定的手部姿态或手势，Amma等人[^2]的研究除外，但他们的研究需要高密度的EMG阵列。

### 手背测量

与本文提出的方法较为接近的是BackHand [^33]、Behind the Palm [^45] [^27]以及e-Skin Patch [^24]中介绍的方案。这些方法需要将传感器直接贴在手背上来测量肌腱运动和皮肤形变，比如柔性粘贴垫、光电二极管或可拉伸的电子皮肤贴片。不过，这些方法也仅能适用于几种固定的手部姿势。

### 佩戴于手部的摄像设备

另一种常见的方案是将摄像头（RGB、红外或深度摄像头）佩戴在手上。例如，WristCam [^50]、Digits [^26]和DigiTap [^39]将摄像头安装在手腕内侧，用于追踪手部姿势或手指敲击动作。WristCam [^50]仅需普通摄像头即可，但支持的手势种类有限。Digits [^26]能够重建手指姿势，不过需要红外激光线投影仪；而DigiTap [^39]则需要与加速度计同步的LED闪光灯来检测手指敲击时产生的振动。CyclopsRing [^9]采用佩戴在手部网状结构上的小型鱼眼镜头，可识别七种手部手势。将摄像头安装在手臂或手的内侧能简化追踪问题，因为这样就能部分看到手指。

而在手臂另一侧，将摄像头安装在手腕外侧的方案——比如可嵌入智能手表中的那种——会因手指无法被摄像头捕捉到而出现严重的遮挡问题。为解决这一遮挡难题，Chen等人 [^10]采用了抬高的摄像头来追踪10种ASL手部姿势，不过这种方案可能较为笨重。Yeo等人 [^53]利用广角红外摄像头，通过观察手背来追踪11种ASL姿势和5种手指敲击手势，即便手指被遮挡也能实现。最近，Hu等人 [^20]使用安装在手腕周围的4个热成像摄像头来重建完整的手部姿势。受他们研究的启发，我们的方法同样聚焦于手背处的视觉特征，但我们进一步将其扩展以支持更丰富的完整手部姿势估计。

### 基于深度学习的姿势估计方法

我们的方法也受到了计算机视觉领域手部及身体姿势估计研究的启发，尤其是那些运用深度学习技术来处理严重遮挡问题或仅依赖间接特征的研究。

例如，研究表明，将单个鱼眼镜头安装在头部 [^52]或胸部 [^21]时，训练有素的网络即便在身体大部分区域不在摄像头视野内的情况下，也能重建全身姿势。如前所述，已有大量利用头戴式、肩戴式或胸戴式摄像头进行以自我为中心的手部追踪或手势识别的方案 [^43]。这些方法依赖于相对意义上的“第三人称视角”（TPV），这种视角几乎能覆盖整个手部。Zhou等人 [^59]提出了一种采用TPV RGB摄像头的先进实时手部姿势估计方法。他们利用ResNet生成手部姿势回归的特征图，并设计了新型的IK-net来训练逆运动学参数，从而根据关节位置重建手部关节角度。

不过，与TPV回归不同，我们的目标应被视为一种基于手背间接特征的“第一人称视角”自我中心式手部追踪器。Yuan等人[^54] [^55]提出了一种网络，该网络仅利用安装在头部、面向环境的摄像头所拍摄的图像，就能估计全身姿态；其原理是基于光流和双向LSTM的模仿学习。他们的研究很好地说明了如何提取间接的时间特征并将其映射到姿势上。

与我们研究最为接近的是Yeo等人[^53]的工作，他们采用双流（TS）CNN来学习手背的时间形变，以分类静态和动态手部姿势。他们的研究使用红外相机来帮助从背景中分割出手部。但红外相机很难集成到智能手表中，因为它们在阳光下几乎无法正常工作。此外，他们对动态手势识别的准确率非常有限（$\sim$50%），实用性较差。

### 方法论

我们的最终目标是提取手背上的视觉特征，比如皮肤形变、静脉或肌腱的变化，并构建神经网络来学习如何将这些特征映射为各手指的运动。毕竟，我们的目标不仅仅是手势识别，而是完整的手部姿态估计。

在3D手部表示方面，我们没有采用基于位置的三维坐标，而是对除拇指外的4根手指采用基于相对关节角的表示方法[^25]；拇指的关节角是独立估计的。

![Image](images/3162c461d6fcacd443bead45c85335c3881a6fdf7096493ee6ea16e99ab4800f.jpg)

<div style="text-align: center;">Figure 2. Our 3D hand model representations, the thumb is represented by a single 3D vector and the other 4 fingers are using joint angle.</div>

---

![Image](images/003256f77fd4072ea233284e4bb57a0ca8cd5348d58208ed930b7eeff92de379.jpg)

<div style="text-align: center;">Figure 3. Comparison with commercial smartwatch, (top) the hardware comparison and (bottom) the cropped images from our camera and the raw images from both Zeblaze.</div>

这种独立估计是通过端点位置来实现的（如图2所示，M、P、D分别代表特定手指的掌指关节、远端指间关节和近侧指间关节，而v和h则表示掌指关节的垂直和水平弯曲）。这是因为在我们初步的研究中发现，除拇指外，每个关节的角度在一定程度上都与手背特定区域的形变相关，这能使回归手指关节角的任务变得更简单。对于拇指而言，由于相关形变主要发生在手臂侧面，因此更难检测。经过多次试验后，我们决定单独处理拇指：让网络从手背的边缘信息中估计出拇指尖端的3D向量，然后再通过逆向运动学恢复拇指关节角[^32]。我们采用的关节角误差是3D手部姿态估计中常用的指标，已被广泛运用[^49] [^58]。

在硬件方面，我们采用了广角RGB摄像头，这类摄像头受到的环境限制更少，也比红外摄像头（以往研究中使用[^53]）更有可能被集成到智能手表中；红外摄像头会受到太阳散射红外光的影响。不过，与红外摄像头不同，RGB摄像头无法借助简单的背景分割功能来分离手部与背景。

因此，我们采用手部分割方法来减少背景噪声。此外，从单帧图像中很难观察到手背上的细微形变（见图4）。在本文中，我们提出了一种新颖的双流LSTM网络与卡尔曼滤波器架构（即DorsalNet，如图5所示）。其核心思路是从手背图像中提取时序形变信息，以实现三维手部姿态估计。摄像头采集的输入图像会经过预处理，从而得到掩膜后的RGB手部图像和运动历史图像。随后，网络会从空间和时间输入中回归出手部关节角度，最终借助手部模拟器以及拇指逆运动学算法来重建三维手部姿态。在我们的仿真实验中，这一过程能以约每秒20帧的交互速率连续进行，这一速度足以满足大多数可穿戴设备应用的需求。

![Image](images/cc78f7349511b1789e37aa93ded2c3a41e967452d46ddaf0cb643c0d70a9dc3a.jpg)

<div style="text-align: center;">Figure 4. Image Preprocessing: this figure shows how images of 5 different gestures are preprocessed by the auto encoder and motion history.</div>

### 硬件与软件

市面上有一些商用现成（COTS）智能手表内置了用于拍摄的侧置摄像头$^{1}$。需要注意的是，这类侧置摄像头的视场角通常较小，且略微向上倾斜、垂直放置，仅能拍摄到手部的部分区域，如图3（右）所示。为了简化实现流程并确保足够的视场角以及清晰的手部成像效果，本文在原型制作阶段采用了USB鱼眼摄像头。该摄像头型号为ELP-USBFHD01M-L21，拥有170度的视场角（我们将其裁剪为120度），焦距为2.1毫米。

不过，我们预计未来可以将视场角更宽的摄像头集成到智能手表中，例如通过加装或更换鱼眼镜头来实现。例如，CyclopsRing[^9]利用直径14毫米、高度15毫米的微型摄像头搭配鱼眼镜头，就能实现185度的视场角，且该设备可嵌入手指间隙中。如今市面上也有不少配备120度广角镜头的智能手机。如图3（左）所示，我们的摄像头模块向下倾斜8°，镜头长度为11毫米，距皮肤表面的测量高度为9毫米。由于PCB板的存在，摄像头模块的最高部位达到24毫米；未来制造过程中可以进一步缩小这一尺寸，或者像Hu等人[^20]的做法那样，将摄像头模块从PCB板上拆卸下来。作为对比，Chen等人[^10]使用的摄像头位置较高，其镜头距皮肤表面达55毫米；而Yeo等人[^53]使用的Leap Motion摄像头，镜头距皮肤表面15毫米，模块高度则为32毫米。

其他硬件包括用于采集真实手部姿态数据的Leap Motion摄像头，训练和评估模型时使用的是搭载NVIDIA RTX 2080 Ti显卡和i7-9700 CPU的计算机。实时测试则采用配备GTX 1070（Max-Q）显卡和i7-8750h处理器的笔记本电脑。软件方面，图像由OpenCV 4.1处理，摄像头曝光时间设置为1/50秒。所有训练工作均使用Python 3.7、TensorFlow 1.15和Keras 2.31完成。Unity 3D编辑器则用于计算拇指的逆运动学数据，并可视化三维手部网格。

### 数据预处理

为确保算法的鲁棒性和实用性，我们执行了多项预处理步骤，包括数据增强、手部分割和运动图像处理。由于腕戴式设备……

---

![Image](images/88f83099d526734036d56d94ec7d5a260f63a118baa36b0ccb9051bb12901fc3.jpg)

<div style="text-align: center;">Figure 5. DorsalNet overview, consists of 3 part: the preprocessing stage with the encoder-decoder network for hand masking and the motion image computation; the two-stream LSTM CNN with the KF as an feature extractor; and the hand simulator which reconstructs the finger angle to 3D hand pose.</div>

由于设备并非始终紧密固定在手臂上，摄像头可能会围绕手臂产生轻微旋转。因此，对于每张输入图像，我们通过以不同角度顺时针旋转图像来增强数据，旋转角度范围从 $-10^{\circ}$ 到 $10^{\circ}$，步长为 $5^{\circ}$，且对应的真实标签保持不变。这样便得到了原始数据量5倍的数据，从而提升模型在不同设备位置下的鲁棒性。

手部分割是通过微调编码器-解码器网络 [^4] 来生成手部掩码。在我们的实验设置中，由于摄像头固定在手臂上且正对手背，图像的下半部分主要被手部占据（如图4所示）。因此，将手部从背景中分离出来相对容易。作为第一步，我们从6名参与者（1名女性，年龄25-30岁）那里收集了用于分割的数据，这些参与者来自东亚、地中海和欧洲种族。他们均为两所不同国家大学计算机专业的学生。研究人员要求他们佩戴我们的设备，在实验室中自然行走约2分钟，最终共收集到9,600张图像。随后利用OpenCV根据颜色范围和轮廓对这些图像进行掩码处理。之后，为了增强数据多样性，还改变了图像的亮度和手部颜色。在HSV色彩模型中，每张图像的H值会随机增减一定数值，从而生成包括原始图像在内的10种不同颜色的图像；同时，每张图像的亮度（V值）也会分别调整为-20%、-10%、10%和20%。最终，我们训练自编码器生成了包含480,000张图像的手部掩码（相当于原始数据量的50倍）。我们将数据集随机分为训练集（80%）和测试集（20%），测试结果显示生成的手部掩码在像素级别上的平均精确度达到了98.9%。

如前所述，训练双流网络需要时序运动图像，这类图像需由相邻帧对生成。我们测试了常见的稠密光流（OF）（KV-L1）、Lattice OF [^51]、Ego-Pose [^46] 中使用的PWC-Net [^55]，以及Opisthenar [^5] 所用的运动历史图像（MHI）[^53]。由于需要实时捕捉像素级的形变，最终发现图4所示的改进版MHI是最佳解决方案——它既能保证高精度，又具备快速的计算速度。与Opisthenar [^53] 不同，我们改进的版本采用了参数 $\alpha = 0.2$，这意味着它会参考过去5帧的加权和。另一个可能出现的问题是，网络可能会过度关注手部轮廓的运动而非皮肤形变，从而影响其泛化能力。因此，我们对手部掩码进行了腐蚀处理以滤除外部边缘，同时增强手部内部的强度，从而引导网络专注于手背处的内部运动。

### 网络架构

对于长度为T的每个训练序列（在本文中，我们使用$T=5$），预处理后的数据包括掩蔽的手部图像$I_{1:T}$、运动历史图像（MHI）$X_{1:T}$以及手部姿态标签$y_{1:T}$。每种手部姿态$y_{t}$都包含食指、中指、无名指和小指的关节角度$\alpha_{t}^{1}$、$\alpha_{t}^{2}$、$\alpha_{t}^{3}$、$\alpha_{t}^{4}$，以及拇指尖端的3D位置$e_{t}$。如图2所示，每个手指的关节角度$\alpha_{t}^{i}$包含四个元素($M_{v}^{i}, M_{h}^{i}, P^{i}, D^{i}$)，其中$M_{v}^{i}, M_{h}^{i}$对应第一关节的垂直和水平旋转，而$P^{i}, D^{i}$分别对应第二和第三关节的旋转角度。我们的目标是训练一个基于神经网络的回归器$\tilde{y}_{1:T} = f(I_{1:T}, X_{1:T})$，它将输入的掩蔽图像$I_{1:T}$和MHI$X_{1:T}$映射为一系列估计出的手部姿态$\tilde{y}_{1:T} = f(I_{1:T}, X_{1:T})$。

为此，我们提出了DorsalNet——一种基于双流LSTM的网络，其架构如图5所示。在每个时间步t，使用两个ResNet18[^19]分别从掩蔽的手部图像$I_t$和MHI$X_t$中提取视觉特征。随后将这两个视觉特征拼接起来，并通过全连接层形成统一的视觉特征$\phi_t$。以往的研究[^53]已经表明，简单的双流CNN不足以提取手背的时间特征。因此，我们使用LSTM层将视觉特征序列$\phi_{1:T}$处理成时间特征序列，事实证明这在3D姿态估计中十分有效[^51] [^55]。另一方面，我们注意到大多数手指运动都是简单的线性运动，这些运动可以通过卡尔曼滤波器（KF）来规整化。然而，KF需要预先指定运动模型和测量模型，而这些往往只是对现实的粗略近似。在Coskun等人的研究[^12]中，他们引入了基于LSTM的KF，利用LSTM来学习运动模型和噪声模型，在模拟人类动力学方面显示出良好的效果。因此，我们借鉴这一架构来获得更稳定的时间特征序列$\psi_{1:T}$。我们还添加了残差连接，以绕过卡尔曼滤波器，实现更直接的特征提取。

---

这种处理方式使得网络能够根据手部运动情况决定是否使用卡尔曼滤波器进行特征学习。对于每一帧t，时间特征$\psi_t$现在包含了来自过往帧的信息，从而有助于进行手部姿态预测。最后，再添加一个全连接层，将时间特征$\psi_t$映射为估计出的手部姿态$\tilde{y}_t$。我们使用单个LSTM而非之前研究[^12]中的三个LSTM，是因为双流CNN架构计算量较大；我们致力于简化整个网络结构以实现实时推理。这也是为何选用ResNet18而非ResNet50或ResNet101等更深层的CNN架构的原因。最终，如硬件部分所述，在中等配置的笔记本电脑上运行整个网络时，推理时间约为38毫秒。为了给DorsalNet的训练提供监督信号，我们定义了如下损失函数：

 $$ L(y_{t},\hat{y}_{t})=L_{\mathrm{f i n g e r s}}+L_{\mathrm{t h u m b}}, $$

 $$ L_{\mathrm{f i n g e r s}}=\frac{1}{16}\sum_{i=1}^{4}\left\|\alpha_{t}^{i}-\tilde{\alpha}_{t}^{i}\right\|^{2}, $$

 $$ L_{\mathrm{t h u m b}}=\frac{1}{\pi^{2}}\operatorname{a r c c o s}^{2}\left(\frac{e_{t}\cdot\tilde{e}_{t}}{|e_{t}||\tilde{e}_{t}|}\right), $$

我们使用带有波浪号的符号来表示网络的估计输出，而用不带波浪号的符号表示真实值。由于手指和拇指的姿态表达方式不同，我们为它们采用了不同的损失函数。对于手指，如公式（2）所示，我们使用均方误差（MSE）作为关节角的损失函数；而对于拇指，我们计算估计的拇指顶端向量与真实向量之间的夹角，以此作为损失函数（公式3）。

### 手部模拟

一旦DorsalNet训练完成，便可利用它从给定视频中提取估计的手部姿态序列$\tilde{y}_{1:T}$。为了可视化手部姿态序列，我们使用了一种能够将手部姿态$\tilde{y}_t$映射为3D网格的手部模拟器，该网格可通过图形管线进行渲染。由于模拟器在描述拇指姿态时同样采用关节角表示方式，因此我们运用逆向运动学（IK）算法，根据估计的拇指顶端位置$\tilde{e}_t$来求解拇指的关节角。最后，我们采用模拟器的平滑函数来过滤掉噪声结果。该模拟器的推理时间为10毫秒，加上网络的推理时间后总计41毫秒，这一速度足以满足我们的实时应用需求。

至此，我们便能重建完整的3D手部姿态，唯独缺少手腕旋转信息。作为一种简单的实现方式，我们利用图像的矩来计算被遮挡手部的质心，并将其映射到手腕的屈伸及尺侧-桡侧偏移运动中。由于摄像头固定在用户手臂上，因此此处并未考虑旋前-旋后运动。

### 评估

### 参与者与数据收集

我们从三个不同角度对系统进行评估：手部姿态估计、手势识别以及抓握识别。数据来源于参与先前分割研究的6名参与者中的5人。与以往研究[^53]类似，我们收集了美国手语（ASL）数字（0-9）的静态手势数据以及手指敲击的动态手势数据。研究过程中，要求参与者将右臂放在扶手上，并用魔术贴固定摄像头以完成相应动作。

整个数据收集过程包含针对全部15种手势（静态和动态）的5个会话。每个会话中，用户需重新佩戴摄像头，从放松的手部姿势开始重复执行特定手势（对于静态手势，每次完成后需回到放松姿势）。我们要求用户以正常速度执行手势，但频率由他们自行控制，大约每3秒采集1个ASL手势，每秒采集1次敲击动作。

我们编写了一个用于多线程处理Leap Motion API和摄像头图像采集的自动标注程序，该程序经过校准后可将拇指根部设为坐标原点，如图2所示。我们还将摄像头帧率固定为20 FPS，以简化同步过程并使其与推理帧率保持一致。针对每种手势的每次测试，我们均采集了时长为30秒、帧率为20 FPS的视频数据。最终，每位参与者针对全部15种手势各采集了5次视频，每次视频包含600帧，总计225,000帧。这些数据被用于手部姿态估计与手势识别的训练和评估。对于握持动作识别任务，我们仅利用上述数据进行预训练，而微调与评估则采用另一数据集（相关内容将在后续章节中介绍）。此外，我们还采集了不同光照条件下的单用户数据集，该数据集的相关内容将在“光照条件研究”章节中阐述。在所有章节中，训练集与测试集的划分比例均设定为8:2。

### 3D手部姿态估计

### 流程说明

手部姿态估计的评估包含三项独立研究。我们首先利用单个用户的数据训练网络，以评估个性化模型的性能。此举旨在分析各个关节和手指的精度，为后续改进提供参考。作为对比，由于我们的工作是首个基于佩戴在手腕上的 Egocentric 摄像头的实时手部姿态估计系统，因此选取了一些同类研究中用于直接/间接姿态估计的先进网络作为基准模型。此外，我们还开展了光照条件研究，以检验网络的鲁棒性；同时基于所提出的方法，对不同网络架构及输入方式进行了消融研究。

### 手指与关节误差研究

我们首先针对单个受试者训练网络，以分析各手指和关节的精度。我们针对每位特定用户的数据训练并评估了五个个性化模型，其中随机保留该用户20%的数据（即9000帧）用于测试。表1展示了五个个性化模型的平均结果，为使结果更直观，所有数值均已转换为角度单位（单位为度）。前四行分别显示了四个手指各关节的平均绝对误差（MAE）及其标准差（SD），同时给出了各关节的平均结果。各列对应不同的手指关节旋转角度，最后一行则为拇指的矢量角度误差。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Joint\Finger</td><td colspan="2">Index (1)</td><td colspan="2">Middle (2)</td><td colspan="2">Ring (3)</td><td colspan="2">Pinky (4)</td><td style='text-align: center; word-wrap: break-word;'>Joint Avg.</td><td colspan="2">Thumb (0)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>SD</td><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>SD</td><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>SD</td><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>SD</td><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>SD</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MCPv</td><td style='text-align: center; word-wrap: break-word;'>$7.05^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.40$</td><td style='text-align: center; word-wrap: break-word;'>$6.32^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.54$</td><td style='text-align: center; word-wrap: break-word;'>$6.3^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.39$</td><td style='text-align: center; word-wrap: break-word;'>$6.92^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 1.21$</td><td style='text-align: center; word-wrap: break-word;'>$6.65^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MCPh</td><td style='text-align: center; word-wrap: break-word;'>$7.94^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.75$</td><td style='text-align: center; word-wrap: break-word;'>$7.87^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.62$</td><td style='text-align: center; word-wrap: break-word;'>$7.17^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.64$</td><td style='text-align: center; word-wrap: break-word;'>$9.78^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 1.99$</td><td style='text-align: center; word-wrap: break-word;'>$8.14^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DIP</td><td style='text-align: center; word-wrap: break-word;'>$6.92^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.59$</td><td style='text-align: center; word-wrap: break-word;'>$6.78^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.76$</td><td style='text-align: center; word-wrap: break-word;'>$6.70^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.70$</td><td style='text-align: center; word-wrap: break-word;'>$9.80^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 1.73$</td><td style='text-align: center; word-wrap: break-word;'>$7.55^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$12.69^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 2.26$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PIP</td><td style='text-align: center; word-wrap: break-word;'>$8.47^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.92$</td><td style='text-align: center; word-wrap: break-word;'>$7.85^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.98$</td><td style='text-align: center; word-wrap: break-word;'>$7.66^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 0.87$</td><td style='text-align: center; word-wrap: break-word;'>$11.11^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$\pm 1.33$</td><td style='text-align: center; word-wrap: break-word;'>$8.77^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Finger Avg.</td><td colspan="2">$7.60^{\circ}$</td><td colspan="2">$7.20^{\circ}$</td><td colspan="2">$6.96^{\circ}$</td><td colspan="2">$9.40^{\circ}$</td><td colspan="3">\n—</td></tr></table>

<div style="text-align: center;">Table 1. Average result of the individual model of each joint/finger (metrics: MAE(SD) unit: degree).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>Individual</td><td style='text-align: center; word-wrap: break-word;'>General</td><td style='text-align: center; word-wrap: break-word;'>Leave-1-user</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Nearest N.[^13]</td><td style='text-align: center; word-wrap: break-word;'>$18.44^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$21.78^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$20.89^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Direct(ResNet18)</td><td style='text-align: center; word-wrap: break-word;'>$18.39^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$22.09^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$29.11^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Yuan et al. [^55]</td><td style='text-align: center; word-wrap: break-word;'>$12.48^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$14.40^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$14.53^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Yeo et al. [^53]</td><td style='text-align: center; word-wrap: break-word;'>$16.67^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$18.52^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$20.24^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Zhou et al. [^59]</td><td style='text-align: center; word-wrap: break-word;'>$15.95^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$20.06^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$21.06^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/o KF)</td><td style='text-align: center; word-wrap: break-word;'>$9.28^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$10.33^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$10.71^{\circ}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/ KF)</td><td style='text-align: center; word-wrap: break-word;'>$8.81^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$9.77^{\circ}$</td><td style='text-align: center; word-wrap: break-word;'>$9.72^{\circ}$</td></tr></table>

<div style="text-align: center;">Table 2. Comparison with baseline methods, Our methods are divided into with/without Kalman filter (KF).</div>

### 对比研究

接下来，为了展示我们的网络与基线模型相比的效果，在本研究中，我们针对每个网络既训练了五个个性化模型，也训练了一个通用模型。具体而言，对于个性化模型和通用模型，我们分别留出某一特定会话的数据（单个受试者为9000帧，通用模型为45000帧）来研究系统的跨会话泛化能力；同时采用留一用户法，即排除某一位用户的数据，来进行跨用户验证。

基线：如“实验流程”一节所述，由于缺少可对比的相同研究工作，我们选取了一些典型的标准或类似网络作为基线。其中，直接回归模型（ResNet18）是指直接将原始摄像头图像逐帧映射为3D表示结果的模型，可视为基准条件。此外，我们还纳入了最近邻搜索方法[^13]，也就是k近邻算法（k=1），因为它是姿态估计领域的常用标准。由于我们采用的CNN-LSTM架构与Yuan等人的研究[^55]较为相似，因此也将他们的工作作为基线；尽管他们使用的是双向LSTM，意味着其网络属于离线模型。另一个基线来自Yeo等人的研究[^53]，我们对其进行了后续研究。虽然他们的系统并非专为全手姿态回归设计，但我们调整了其网络的输出层，并用我们的数据集对其进行微调。我们并未使用Leap Motion摄像头，而是采用单色遮罩手部图像作为输入。Zhou等人[^59]的研究采用了基于单目摄像头的实时3D手部捕捉最先进方法。他们的网络利用位置图来提取位置特征，进而回归手部的3D关节位置。他们还使用了IK-Net来学习逆向运动学，从而将关节位置转换为关节角度，并使输出结果与MANO手部模型相匹配。为了与该研究进行对比，我们将其网络调整为以我们的原始手部背侧图像为输入，随后进行微调。

![Image](images/09d9728fd242a684f4e5b3b9675ec18acd882841b00459ffe23fefef40f56ec5.jpg)

<div style="text-align: center;">Figure 6. Images of camera under different lighting conditions.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Base(In-Light)</td><td style='text-align: center; word-wrap: break-word;'>Out-Day</td><td style='text-align: center; word-wrap: break-word;'>In-Dark</td><td style='text-align: center; word-wrap: break-word;'>Out-Night</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MAE</td><td style='text-align: center; word-wrap: break-word;'>7.93°</td><td style='text-align: center; word-wrap: break-word;'>7.77°</td><td style='text-align: center; word-wrap: break-word;'>8.46°</td><td style='text-align: center; word-wrap: break-word;'>8.21°</td></tr></table>

<div style="text-align: center;">Table 3. Comparing the accuracy of our method in different lighting condition (Out-Sun removed due to lack of ground truth).</div>

除了上述5个基线外，我们还分析了采用/不采用卡尔曼滤波器的我们的方法。所有结果均采用基于关节角度的表示方法；而Zhou等人的基线[^59]还会输出完整的拇指关节旋转数据，因为他们使用了MANO手部模型。因此，我们需要根据他们的输出重新计算拇指向量，这可能会导致一定误差。不过我们认为整体性能仍具有可比性。

### 光照条件研究

我们的研究主要在室内荧光灯照明条件下开展。为了展示网络在不同光照下的性能，我们还在图6中对比了不同条件下的角度平均绝对误差（MAE）。我们请一名参与者在基础条件（室内光照）之外的其他4种光照条件下采集数据，这些条件包括：

• 室外白天：多云天气下的自然日光。

• 室外晴天：晴朗天气下的强烈阳光。

• 室内黑暗：关闭灯具后仅由电脑显示器发出的散射光。

• 室外夜晚：夜间仅有路灯照明。

在所有条件下，我们从参与者那里采集的数据量与以往研究一致，每种光照条件下均获得45000帧数据。不过，在室外晴天条件下，由于红外光强度过高，无法使用Leap Motion采集真实值数据，因此仅对另外4种条件进行评估。室外晴天的定性性能表现可在我们的视频中查看。

### 消融研究

我们从最基础的两种CNN网络（VGG16和ResNet18）出发，通过逐步添加其他模型组件来分析网络的影响。这项消融研究主要…

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Architecture (Input)</td><td colspan="2">Angle Error</td><td rowspan="2">Inference Time (ms)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Individ.</td><td style='text-align: center; word-wrap: break-word;'>General</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGG16 (RGB)</td><td style='text-align: center; word-wrap: break-word;'>16.07</td><td style='text-align: center; word-wrap: break-word;'>18.19</td><td style='text-align: center; word-wrap: break-word;'>54</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResN18 (RGB)</td><td style='text-align: center; word-wrap: break-word;'>16.11</td><td style='text-align: center; word-wrap: break-word;'>18.70</td><td style='text-align: center; word-wrap: break-word;'>17</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResN18+LSTM (RGB)</td><td style='text-align: center; word-wrap: break-word;'>11.95</td><td style='text-align: center; word-wrap: break-word;'>14.01</td><td style='text-align: center; word-wrap: break-word;'>35</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResN18+LSTM (Motion)</td><td style='text-align: center; word-wrap: break-word;'>9.29</td><td style='text-align: center; word-wrap: break-word;'>10.69</td><td style='text-align: center; word-wrap: break-word;'>33</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ResN18+LSTM (TS)</td><td style='text-align: center; word-wrap: break-word;'>9.28</td><td style='text-align: center; word-wrap: break-word;'>10.13</td><td style='text-align: center; word-wrap: break-word;'>40</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/o Data Aug.)</td><td style='text-align: center; word-wrap: break-word;'>9.35</td><td style='text-align: center; word-wrap: break-word;'>11.11</td><td style='text-align: center; word-wrap: break-word;'>40</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (TS)</td><td style='text-align: center; word-wrap: break-word;'>8.81</td><td style='text-align: center; word-wrap: break-word;'>9.77</td><td style='text-align: center; word-wrap: break-word;'>41</td></tr></table>

<div style="text-align: center;">Table 4. Results of ablation study of different network architecture and input data. The metrics of Angle Error is MAE (degree), TS stands for two-stream input, 'Ours' stands for ResN18+LSTM+KF (TS).</div>

比较不同的输入以及不同的时间特征提取方式对手部追踪精度的影响，且使用相同的数据进行比较研究。研究中对比了三种不同类型的输入，以及有无数据增强的情况，同时网络结构也分为有无LSTM或卡尔曼滤波器两种情况。如表4所示，共对比了7种条件，同时也记录了使用笔记本电脑进行推理的时间（毫秒）以供参考。需要注意的是，此处采用的ResNet18（RGB）方法与此前研究中的Direct（ResNet）方法不同，该方法使用的是经本系统预处理的带掩码的手部图像，而非原始图像。

### 3D手部姿态结果

手指与关节误差研究：结果（表1）显示，食指、中指和无名指的精度更高（平均绝对误差约为7），因为变形发生在图像中部；而小指的表现最差（平均绝对误差=9.40）。在关节方面，令人有些意外的是掌骨近端关节的表现也不佳（平均绝对误差=8.14），甚至比远端指间关节（平均绝对误差=7.55）更差，其中近端指间关节的表现最差（平均绝对误差=8.77）。

对比研究：与其他基线方法相比（表2），采用卡尔曼滤波器的所提方法优势明显。（平均绝对误差：个体模型=8.81，通用模型=9.77，留一用户模型=9.72）。即便是不采用卡尔曼滤波器的所提方法，其平均误差也约为4度，仍优于基线方法。在基线方法中，Yuan等人的研究成果最佳（平均绝对误差：个体模型=12.48，通用模型=14.40，留一用户模型=14.53）。此外，与其他方法不同的是，所提方法在通用模型、一级用户模型和个体模型之间的表现差异不大，这可证明我们网络的通用性。

光照条件研究：从表3可以看出，光线越暗，性能越差。不过最佳情况（室外白天，平均绝对误差=7.77）和最差情况（室内黑暗环境，平均绝对误差=8.46）之间的差异相对较小。

消融研究：观察结果（表4）可知，在第一行和第二行中，VGG16和ResNet18的结果相近，但ResNet18的推理速度更快。对比第3至5行的不同输入方式，运动输入（平均绝对误差：个体模型=9.29，通用模型=10.69）在推理时间更少的情况下就能获得更高的精度，优于RGB输入（平均绝对误差：个体模型=11.95，通用模型=14.01）；而双流输入在通用模型中能获得更高的精度（运动输入：通用模型平均绝对误差=10.69；时序输入：通用模型平均绝对误差=10.33），不过推理时间略长。在网络架构方面，对比第2行和第3行可知，有无LSTM会导致4度的误差差异。另外，对比第5行和第7行可以发现，基于LSTM的卡尔曼滤波器比普通LSTM的精度更高。总体而言，采用双流输入和更复杂的网络时，精度会更高。最后，第6行和第7行的差异表明，使用数据增强能大幅提升通用模型的精度（从11.11降至9.77，提升幅度达12%）。

### 手势识别

### 实验流程

为了验证本研究的实用性，我们还将其与前沿研究成果Opisthenar [^53]进行了对比，后者利用手背视觉特征进行手势分类。具体做法是在DorsalNet的末端添加多层感知机（MLP），并使用softmax激活函数进行分类。参考他们论文中的研究[^53]，除了在个体模型和通用模型评估中采用的留一会话拆分方式外，我们还为通用模型增加了留一用户拆分的评估，以展示跨用户的准确率。

### 基线

由于本次评估的目标是和Opisthenar [^53]进行比较，我们仅将采用ResNet18的最近邻法和直接回归法作为另外两种基线。与基于RGB输入的其他视觉类最先进手势识别方法进行比较并无实际意义，因为这类方法大多针对第三人称视角设计，且针对遮挡问题进行了优化，并不适用于本研究——本研究主要提取图像的形变特征。

### 手势识别结果

结果分为静态手势（ASL0-9）和动态手势（敲击动作0-4），具体见表5和表6。表中的指标为平均百分比，个体列和总体列的定义与此前一致。“留一用户”结果是指留出某一位特定用户的数据用于测试，该过程对所有用户重复进行（共5次），最终取平均值作为结果。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</td><td colspan="3">Static ASL Gesture Accuracy</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Individ.</td><td style='text-align: center; word-wrap: break-word;'>General</td><td style='text-align: center; word-wrap: break-word;'>Leave-1-user</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Nearest N. [^13]</td><td style='text-align: center; word-wrap: break-word;'>44.6%</td><td style='text-align: center; word-wrap: break-word;'>37.4%</td><td style='text-align: center; word-wrap: break-word;'>33.4%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Direct Regression</td><td style='text-align: center; word-wrap: break-word;'>71.2%</td><td style='text-align: center; word-wrap: break-word;'>69.0%</td><td style='text-align: center; word-wrap: break-word;'>57.2%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Yeo et al. [^53]</td><td style='text-align: center; word-wrap: break-word;'>88.6%</td><td style='text-align: center; word-wrap: break-word;'>82.5%</td><td style='text-align: center; word-wrap: break-word;'>70.4%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/o KF)</td><td style='text-align: center; word-wrap: break-word;'>91.4%</td><td style='text-align: center; word-wrap: break-word;'>88.8%</td><td style='text-align: center; word-wrap: break-word;'>84.8%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/ KF)</td><td style='text-align: center; word-wrap: break-word;'>90.2%</td><td style='text-align: center; word-wrap: break-word;'>88.8%</td><td style='text-align: center; word-wrap: break-word;'>83.0%</td></tr></table>

<div style="text-align: center;">Table 5. Accuracy of static gestures (ASL0-9) classification.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</td><td colspan="3">Dynamic Tapping Accuracy</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Individ.</td><td style='text-align: center; word-wrap: break-word;'>General</td><td style='text-align: center; word-wrap: break-word;'>Leave-1-user</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Nearest N. [^13]</td><td style='text-align: center; word-wrap: break-word;'>47.8%</td><td style='text-align: center; word-wrap: break-word;'>40.0%</td><td style='text-align: center; word-wrap: break-word;'>28.4%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Direct Regression</td><td style='text-align: center; word-wrap: break-word;'>51.0%</td><td style='text-align: center; word-wrap: break-word;'>50.4%</td><td style='text-align: center; word-wrap: break-word;'>39.8%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Yeo et al. [^53]</td><td style='text-align: center; word-wrap: break-word;'>59.6%</td><td style='text-align: center; word-wrap: break-word;'>62.2%</td><td style='text-align: center; word-wrap: break-word;'>55.0%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/o KF)</td><td style='text-align: center; word-wrap: break-word;'>85.2%</td><td style='text-align: center; word-wrap: break-word;'>85.0%</td><td style='text-align: center; word-wrap: break-word;'>77.6%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours (w/ KF)</td><td style='text-align: center; word-wrap: break-word;'>89.4%</td><td style='text-align: center; word-wrap: break-word;'>86.8%</td><td style='text-align: center; word-wrap: break-word;'>79.8%</td></tr></table>

<div style="text-align: center;">Table 6. Accuracy of dynamic gestures (5 finger-tappings) classification.</div>

---

在静态手势识别结果中，我们的两种方法均优于Yeo等人提出的Opisthenar方法 [^53]。令我们惊讶的是，未使用卡尔曼滤波器的所提方法表现最佳：在个体模型中准确率可达91.4%，在“留一用户”模型中准确率也达到84.8%。在总体模型中，我们的两种方法均取得88.8%的相同准确率。一种可能的解释是：静态手势中的周期性运动较少，这可能会导致卡尔曼滤波器在预测时出现误差。不过，两类结果均显示出较高的手势检测精度，且不存在明显的过拟合现象。相比之下，我们发现Opisthenar方法在个体模型中的准确率虽高达88.6%，但在总体模型和“留一用户”模型中的准确率却大幅下降（分别为82.5%和70.4%），这可能表明该方法存在对用户数据的过拟合问题。

与静态结果中的小幅提升不同，我们的方法整体准确率比Yeo等人的方法高出25%。使用卡尔曼滤波器的方法在所有三种场景下表现最优：个体模型准确率为89.4%，总体模型为86.8%，“留一用户”模型为79.8%。这些结果体现了我们的网络识别动态手部姿态的能力，有望拓展该系统的应用场景。此外，我们的方法在动态场景下的结果与静态场景下的结果相近，这表明手背形变特征同时适用于动态和静态分类任务。

### 握持识别

### 流程说明

在开发该系统期间，我们发现了利用手背特征识别多种握持类型的潜力。因此，在本研究中，我们收集了如图7所示的不同握持类型数据集。新收集的数据用于对所提网络进行微调，微调时会将网络的最后一层替换为带有softmax激活函数的全连接层，输出维度设为11，以实现类别估计。由于输入序列长度固定为T=5，对于大小为$T_g$（$T_g \geq 5$）的握持输入，我们会采用步长为1的窗口滑动机制，最终得到$T_g - T + 1$个预测输出。所有输出会经过阈值处理并取平均值，从而得到Top-1结果。由于数据中还存在一些手部未握持物体的接近帧和保持帧，我们手动将这些帧标记为“其他”类别以减少噪声干扰。测试时，我们首先过滤掉包含“其他”类别的输出，仅对不含“其他”帧的输入进行评估。

### 握持数据集

握持方式可以根据其用途或形状进行分类。在本文中，我们参考Cai等人的研究[^7] [^8] [^17]，选取了11种不同的握持类别（如图7所示）。原始的拇指-手指握持方式被替换为拇指-食指（T1F）、拇指-中指（T2F）和拇指-无名指（T3F）握持方式，以便更精确地体现不同手指的作用（由于拇指-小指的动作范围有限，故未将其纳入考虑）。在本研究中，我们从另外5名参与者那里收集数据（其中3人也是手部姿态数据集的受试者）。为确保参与者能正确完成握持动作，我们准备了与握持类型相匹配的特定物品供他们手持。针对每个人的每种握持方式，我们进行了5轮数据采集，每轮可采集10次握持动作。

![Image](images/e8cd8c8f1cff5cc1d6267096427da2fa517d210a1c6bec9d1f11a1724d88670f.jpg)

<div style="text-align: center;">Figure 7. The 11 grasp types used in the grasp recognition evaluation.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>T\P</td><td style='text-align: center; word-wrap: break-word;'>LW</td><td style='text-align: center; word-wrap: break-word;'>SW</td><td style='text-align: center; word-wrap: break-word;'>IF</td><td style='text-align: center; word-wrap: break-word;'>PowS</td><td style='text-align: center; word-wrap: break-word;'>ET</td><td style='text-align: center; word-wrap: break-word;'>WT</td><td style='text-align: center; word-wrap: break-word;'>T1F</td><td style='text-align: center; word-wrap: break-word;'>T2F</td><td style='text-align: center; word-wrap: break-word;'>T3F</td><td style='text-align: center; word-wrap: break-word;'>PreS</td><td style='text-align: center; word-wrap: break-word;'>LP</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1W</td><td style='text-align: center; word-wrap: break-word;'>44</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>n</td><td style='text-align: center; word-wrap: break-word;'>37</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>38</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>n</td><td style='text-align: center; word-wrap: break-word;'>35</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>6</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>49</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>n</td><td style='text-align: center; word-wrap: break-word;'>40</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>29</td><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>32</td><td style='text-align: center; word-wrap: break-word;'>6</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr></table>

<div style="text-align: center;">Figure 8. Confusion matrix for the grasp recognition result.</div>

（每次握持约15帧）用于每种握持方式的数据采集。最终，我们获得了约40000张用于微调的图像。在评估阶段，我们仍保留了一轮数据（每位用户10次握持，共50次握持）作为测试集，其余数据则用于训练。

### 握持识别结果

图8展示了每种握持类型的50次测试的混淆矩阵热图。整体准确率为75.1%，其中准确率最高的是伸展型握持（用于握持盘子），正确分类次数达49次（准确率98%）。不过正如我们所料，T1F、T2F和T3F握持方式的准确率分别仅为58%、64%和58%。该矩阵表明这三种握持方式外观相似，容易让网络产生混淆。但我们仍能看到利用手背特征区分这些细微差异的潜力。除了这3种动作外，食指伸展（IF）也经常被误分类为小包裹握持，占比高达22%。

### 应用场景

基于评估结果，我们还开发了几种应用来展示系统的实用性（见图9）。

智能设备控制：作为交互系统的典型应用，我们为智能手表开发了一个控制器（图9（左））。以往的研究[^53]也提及了类似基于手势识别的应用，但受限于可用的手势种类。由于我们的系统能够估算完整的手部姿态，因此像根据手指角度调节时间这样的线性控制成为可能。类似的应用还可扩展为VR/MR控制器，作为一种无需佩戴设备的手部追踪器。此外，完整的手部姿态还支持虚拟物体的3D操作，或用于远程协作中的表情化交流。

虚拟鼠标与键盘：与第一种应用类似，这种手部追踪器也可用作单手输入设备，如鼠标或键盘。即便不手持真实的鼠标，

---

![Image](images/d969d0ff6764d82449f2a0828f0e621eaf9835713872c13990482239f05d345e.jpg)

智能手表控制

![Image](images/438a0d9018799341ff6ac776f4ba1244dbe5dd7669dd34d212bc0a4cb93bf5a3.jpg)

虚拟鼠标

![Image](images/24ce85ef87a288e1bf5c7a6636f434c46005b335817875bd984d9bf859758649.jpg)

抓取物体检测

<div style="text-align: center;">Figure 9. Three types of different demo applications.</div>

用户也能通过手腕旋转来控制指针位置，并模拟真实鼠标的点击操作。在打字输入方面，我们没有采用常规的QWERTY键盘，而是开发了一个简单的8键键盘，其工作原理类似于智能手机上的10键键盘（详见视频演示）。

物体抓取识别器：另一项应用基于抓取识别技术（图9（右））。由于评估结果证实，能够从手背图像中分类不同的抓取类型，因此该技术也应能用于有限物体集的抓取识别。例如，Gripmarks [^57] 和 Metaphoric Hand [^23] 只需改变手部姿势即可调用不同工具。这一过程无需切换模式或工具，因此能够实现快速且自然的交互。

### 讨论

通过对三种应用场景开展六项研究，我们获得了诸多有趣的发现，具有说服力的定量结果也证明了该方法的可行性。本研究的主要创新点在于开发了一种全新的网络架构，用于从以自我为中心的背侧手视图中估算手部姿态。尽管以往的研究已经识别出手背上的特征并将其应用于手势识别，但实时三维手部姿态跟踪更具挑战性，同时也提供了更广泛的应用前景。

从四项手部姿态估计研究的结果来看，我们可以清晰地了解其性能表现：其角度误差几乎仅为其他基准方法的一半。需要注意的是，此处我们仅与基于视觉的技术进行比较，因为本研究的核心目标是开发能够自然嵌入可穿戴设备的系统。各关节的结果显示，利用手背特征估算食指、中指和无名指的姿态时，准确率相对较高。此外，单个手指的平均角度误差为 $8.81^{\circ}$，整体平均误差为 $9.77^{\circ}$，这一结果甚至优于某些使用TPV相机 [^58] 且能清晰看到手指的方法。光照条件研究和消融研究的结果也能为开发用于提取时间形变特征的鲁棒网络提供有益参考。

将我们的方法应用于手势识别时，结果显示该系统在动态手指敲击检测方面的准确率比以往研究 [^53] 高出近30%（总体准确率为86.8%）。这一准确率拓宽了应用范围，使得识别高频手势（如键盘输入和钢琴演奏）成为可能。另一方面，静态手势识别结果仅略优于以往研究，看来卡尔曼滤波器会导致非周期性手势的准确率下降。

对于单个模型而言，11类物体的抓取识别平均准确率为75.1%，这表明利用手背特征识别抓取类型具有一定潜力；不过不同手指的抓取动作之间容易混淆。然而，在物品种类有限的情况下（如虚拟现实或远程协作场景），该技术仍能发挥重要作用。我们还发现，抓取识别在康复领域也可能大有用处，比如用于分析有/无缺指症人群的抓取情况。

在手部分割任务中，我们通过改变手背的颜色或亮度来增强数据，从而取得了较高的准确率。不过，若不在不同用户身上进行测试，还不足以证明我们的网络对各种类型的手部具有鲁棒性。影响结果的因素有很多，比如肤色、皮肤厚度、毛发量、手形等。需要注意的是，从消融实验可以看出，仅使用运动信息的输入方式与双流输入的效果非常接近，且优于仅使用RGB信息的输入方式。由此可以判断，网络更关注整体的形变而非手部的颜色信息。此外，我们的一名参与者皮肤多毛，但特征仍能被成功提取（不过这还不足以证明其普适性）。不过，在佩戴个人智能手表的使用场景中，系统无需具备极强的普适性，只需通过收集少量数据并对模型进行微调，就能为用户定制出准确率更高的个性化模型，该模型甚至还能利用手背信息实现身份识别。

最后，该系统在手腕关节的处理上存在困难。当手腕向上/向下倾斜到极端角度时，由于无法看到手背，系统会暂时无法追踪手部姿态。这一问题仅在手腕垂直旋转的特定角度下出现，而由于人类手腕的水平活动范围有限，水平旋转并不会导致此问题。此外，在大多数应用场景中，我们假设当用户与其他物体交互或手部处于自然平放状态时，手背会出现在摄像头视野中。

### 局限性与未来工作

从研究结果和讨论中，我们对这种方法有了深入的了解。不过，该研究仍存在一定局限性，我们将在此处予以说明并概述未来的计划。

第一个局限性是本研究中的用户数量（N=5）。由于当前疫情的影响，我们难以招募更多样化的参与者。未来我们计划开展涉及更大样本量的研究，涵盖更广泛的肤色、皮肤年龄、瑕疵或疤痕以及毛发特征，同时设置更细致的任务。

其次，除了前文提到的手腕角度问题外，快速的手腕运动还会导致相机运动模糊，进而影响我们用于计算运动历史的预处理流程（该流程需要5帧图像）。虽然我们设想采用帧率更高、曝光时间更短的相机可以缓解这个问题，但在常见使用场景中，涉及快速手腕运动的情况并不多见。

---

不过，也可以利用分层网络来检测稳定的手部运动，以此作为系统的触发条件。

我们采用了一种基于图像矩的简单方法来估算手腕旋转角度，在测试案例中效果令人满意。未来的研究应对比和评估基于深度神经网络的方法。此外，我们的系统目前无法估算旋前-旋后（滚动）运动。这一问题可以通过融合智能手表中的陀螺仪数据，或通过背景运动来计算相机旋转来解决。

在光照条件研究中，即使在光线较暗的环境中，手部检测器也能良好工作——在这种环境下手部几乎难以被捕捉到；而在强日光条件下同样表现不错（如图6和视频所示）。不过，该检测器在完全黑暗的环境下无法正常工作。红外相机或许能解决这一问题，但在户外使用时容易受阳光干扰。未来的解决方案可以是根据昼夜情况在RGB相机与红外相机之间切换，或者添加小型照明设备。

最后，这种方法仍需针对实际应用进一步改进。我们确实使用配备侧置摄像头的真实智能手表拍摄的图像进行了测试（见图3），通过填充图像使其适配我们的网络输入，结果显示该系统能在一定程度上追踪食指、中指和无名指的位置，尽管该模型是用其他摄像头采集的数据训练的。在未来的工作中，我们将直接从智能手表采集数据集并评估其有效性。

### 结论

在本文中，我们介绍了DorsalNet——一种通过检测手背变形来实现3D手部姿态估计的网络。我们采用安装在手腕外侧的摄像头，该技术未来可进一步集成到腕戴式设备中。

尽管特征提取存在诸多困难，比如由于摄像头位置导致的手指遮挡问题，我们仍成功设计出能够回归间接特征并将其映射为手指角度的网络。我们开展了6项研究，结果表明：我们的系统在追踪3D手部姿态方面精度很高（针对单个用户/通用场景/留一用户测试的MAE分别为8.81°/9.77°/9.72°）；在识别静态手势（通用场景下准确率为88.8%）和动态手势（通用场景下准确率为86.8%）方面表现优异；在不同用户和光照条件下，抓取类型检测的准确率可达75.1%。

最后，我们列举了一些应用示例来展示系统的潜力。尽管该方法与系统仍有改进空间，也是我们未来希望探索的方向，但我们相信当前的研究结果、相关数据以及网络架构，能为如何基于以自我为中心的背手视角设计手部姿态估计器提供有益参考。

### 致谢

我们感谢审稿人和评审专家提出的建设性意见，这些意见帮助完善了本手稿。本研究由日本科学技术振兴机构（JST）CREST项目资助，项目编号为JPMJCR17A3；同时由JST AIP Acceleration项目资助，项目编号为JPMJCR20U1。

### 参考文献

[^1]: Brian Amento, Will Hill, and Loren Terveen. 2002. The Sound of One Hand: A Wrist-Mounted Bio-Acoustic Fingertip Gesture Interface. In CHI '02 Extended

《人机交互系统中的人体因素摘要》（CHI EA '02）。美国计算机协会，纽约，724–725页。DOI: <http://dx.doi.org/10.1145/506443.506566>

[^2]: Christoph Amma, Thomas Krings, Jonas Börer, and Tanja Schultz. 2015. Advancing Muscle-Computer Interfaces with High-Density Electromyography. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems (CHI '15). Association for Computing Machinery, New York, NY, USA, 929–938. DOI: <http://dx.doi.org/10.1145/2702123.2702501>

[^3]: Kazuyuki Arimatsu and Hideki Mori. 2020. Evaluation of Machine Learning Techniques for Hand Pose Estimation on Handheld Device with Proximity Sensor. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (CHI '20). Association for Computing Machinery, New York, NY, USA, 1–13. DOI: <http://dx.doi.org/10.1145/3313831.3376712>

[^4]: V. Badrinarayanan, A. Kendall, and R. Cipolla. 2017. SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence 39, 12 (Dec 2017), 2481–2495. DOI: <http://dx.doi.org/10.1109/TPAMI.2016.2644615>

[^5]: A. F. Bobick and J. W. Davis. 2001. The recognition of human movement using temporal templates. IEEE Transactions on Pattern Analysis and Machine Intelligence 23, 3 (March 2001), 257–267. DOI: <http://dx.doi.org/10.1109/34.910878>

[^6]: G. R. Bradski and J. Davis. 2000. Motion segmentation and pose recognition with motion history gradients. In Proceedings Fifth IEEE Workshop on Applications of Computer Vision. 238–244. DOI: <http://dx.doi.org/10.1109/WACV.2000.895428>

[^7]: M. Cai, K. M. Kitani, and Y. Sato. 2017. An Ego-Vision System for Hand Grasp Analysis. IEEE Transactions on Human-Machine Systems 47, 4 (Aug 2017), 524–535. DOI: <http://dx.doi.org/10.1109/THMS.2017.2681423>

[^8]: Minjie Cai, Kris M. Kitani, and Yoichi Sato. 2018. Understanding hand-object manipulation by modeling the contextual relationship between actions, grasp types and object attributes. CoRR abs/1807.08254 (2018). <http://arxiv.org/abs/1807.08254>

[^9]: Liwei Chan, Yi-Ling Chen, Chi-Hao Hsieh, Rong-Hao Liang, and Bing-Yu Chen. 2015. CyclopsRing: Enabling Whole-Hand and Context-Aware Interactions Through a Fisheye Ring. In Proceedings of the 28th Annual ACM Symposium on User Interface Software &#38; Technology (UIST '15). ACM, New York, NY, USA, 549–556. DOI: <http://dx.doi.org/10.1145/2807442.2807450>

## [^10]: Feiyu Chen, Jia Deng, Zhibo Pang, Majid Baghaei Nejad, Huayong Yang, and Geng Yang. 2018. Finger Angle-Based Hand Gesture Recognition for

---

基于可穿戴腕戴式摄像头的智能基础设施。《应用科学》第8卷第3期（2018年）。DOI: <http://dx.doi.org/10.3390/app8030369>

[^11]: Xinghao Chen. 2020. Awesome Hand Pose Estimation, A curated list of related resources for hand pose estimation. (2020). <https://github.com/xinghaochen/awesome-hand-pose-estimation>.

[^12]: H. Coskun, F. Achilles, R. DiPietro, N. Navab, and F. Tombari. 2017. Long Short-Term Memory Kalman Filters: Recurrent Neural Estimators for Pose Regularization. In 2017 IEEE International Conference on Computer Vision (ICCV). 5525–5533. DOI: <http://dx.doi.org/10.1109/ICCV.2017.589>

[^13]: Pádraig Cunningham and Sarah Jane Delany. 2007. k-Nearest Neighbour Classifiers. (2007).

[^14]: Artem Dementyev and Joseph A. Paradiso. 2014. WristFlex: Low-power Gesture Input with Wrist-worn Pressure Sensors. In Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology (UIST '14). ACM, New York, NY, USA, 161–166. DOI: <http://dx.doi.org/10.1145/2642918.2647396>

[^15]: T. Deyle, S. Palinko, E. S. Poole, and T. Starner. 2007. Hambone: A Bio-Acoustic Gesture Interface. In 2007 11th IEEE International Symposium on Wearable Computers. 3–10. DOI: <http://dx.doi.org/10.1109/ISWC.2007.4373768>

[^16]: L. Dipietro, A. M. Sabatini, and P. Dario. 2008. A Survey of Glove-Based Systems and Their Applications. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews) 38, 4 (July 2008), 461–482. DOI: <http://dx.doi.org/10.1109/TSMCC.2008.923862>

[^17]: T. Feix, R. Pawlik, H. Schmiedmayer, J. Romero, and D. Kragic. 2009. A Comprehensive Grasp Taxonomy. In Robotics, Science and Systems: Workshop on Understanding the Human Hand for Advancing Robotic Manipulation.

[^18]: Rui Fukui, Masahiko Watanabe, Tomoaki Gyota, Masamichi Shimosaka, and Tomomasa Sato. 2011. Hand Shape Classification with a Wrist Contour Sensor: Development of a Prototype Device. In Proceedings of the 13th International Conference on Ubiquitous Computing (UbiComp '11). Association for Computing Machinery, New York, NY, USA, 311–314. DOI: <http://dx.doi.org/10.1145/2030112.2030154>

[^19]: K. He, X. Zhang, S. Ren, and J. Sun. 2016. Deep Residual Learning for Image Recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 770–778. DOI: <http://dx.doi.org/10.1109/CVPR.2016.90>

[^20]: Fang Hu, Peng He, Songlin Xu, Yin Li, and Cheng Zhang. 2020. FingerTrak: Continuous 3D Hand Pose Tracking by Deep Learning Hand Silhouettes Captured by Miniature Thermal Cameras on Wrist. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 4, 2,

第71篇文章（2020年6月），共24页。DOI: <http://dx.doi.org/10.1145/3397306>

[^21]: D. Hwang, K. Aso, and H. Koike. 2019. MonoEye: Monocular Fisheye Camera-based 3D Human Pose Estimation. In 2019 IEEE Conference on Virtual Reality and 3D User Interfaces (VR). 988–989. DOI: <http://dx.doi.org/10.1109/VR.2019.8798267>

[^22]: Sujin Jang, Wolfgang Stuerzlinger, Satyajit Ambike, and Karthik Ramani. 2017. Modeling Cumulative Arm Fatigue in Mid-Air Interaction Based on Perceived Exertion and Kinetics of Arm Motion. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (CHI '17). Association for Computing Machinery, New York, NY, USA, 3328–3339. DOI: <http://dx.doi.org/10.1145/3025453.3025523>

[^23]: Y. Jang, I. Jeon, T. Kim, and W. Woo. 2017. Metaphoric Hand Gestures for Orientation-Aware VR Object Manipulation With an Egocentric Viewpoint. IEEE Transactions on Human-Machine Systems 47, 1 (Feb 2017), 113–127. DOI: <http://dx.doi.org/10.1109/THMS.2016.2611824>

[^24]: S. Jiang, L. Li, H. Xu, J. Xu, G. Gu, and P. B. Shull. 2020. Stretchable e-Skin Patch for Gesture Recognition on the Back of the Hand. IEEE Transactions on Industrial Electronics 67, 1 (Jan 2020), 647–657. DOI: <http://dx.doi.org/10.1109/TIE.2019.2914621>

[^25]: Jintae Lee and T. L. Kunii. 1995. Model-based analysis of hand posture. IEEE Computer Graphics and Applications 15, 5 (Sep. 1995), 77–86. DOI: <http://dx.doi.org/10.1109/38.403831>

[^26]: David Kim, Otmar Hilliges, Shahram Izadi, Alex D. Butler, Jiawen Chen, Iason Oikonomidis, and Patrick Olivier. 2012. Digits: Freehand 3D Interactions Anywhere Using a Wrist-worn Gloveless Sensor. In Proceedings of the 25th Annual ACM Symposium on User Interface Software and Technology (UIST '12). ACM, New York, NY, USA, 167–176. DOI: <http://dx.doi.org/10.1145/2380116.2380139>

[^27]: Wakaba Kuno, Maki Sugimoto, and Yuta Sugiura. 2019. Finger Posture Estimation by Measuring Skin Deformation on Back of Hand. The Journal of The Institute of Image Information and Television Engineers 73, 3 (2019), 595–601. DOI: <http://dx.doi.org/10.3169/itej.73.595>

[^28]: Gierad Laput, Robert Xiao, and Chris Harrison. 2016. ViBand: High-Fidelity Bio-Acoustic Sensing Using Commodity Smartwatch Accelerometers. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology (UIST '16). ACM, New York, NY, USA, 321–333. DOI: <http://dx.doi.org/10.1145/2984511.2984582>

## [^29]: Joseph J. LaViola. 1999. A Survey of Hand Posture and Gesture Recognition Techniques and Technology. Technical Report. USA

---

[^30]: Rui Li, Zhenyu Liu, and Jianrong Tan. 2019. A survey on 3D hand pose estimation: Cameras, methods, and datasets. Pattern Recognition 93 (2019), 251 – 272. DOI: <http://dx.doi.org/https://doi.org/10.1016/j.patcog.2019.04.026>

[^31]: X. Liang, H. Heidari, and R. Dahiya. 2017. Wearable Capacitive-Based Wrist-Worn Gesture Sensing System. In 2017 New Generation of CAS (NGCAS). 181–184. DOI: <http://dx.doi.org/10.1109/NGCAS.2017.80>

[^32]: Cheng-Chang Lien and Chung-Lin Huang. 1998. Model-based articulated hand motion tracking for gesture recognition. Image and Vision Computing 16, 2 (1998), 121–134. DOI: <http://dx.doi.org/https://doi.org/10.1016/S0262-8856(97)00041-3>

[^33]: Jhe-Wei Lin, Chiuan Wang, Yi Yao Huang, Kuan-Ting Chou, Hsuan-Yu Chen, Wei-Luan Tseng, and Mike Y. Chen. 2015. BackHand: Sensing Hand Gestures via Back of the Hand. In Proceedings of the 28th Annual ACM Symposium on User Interface Software &amp; Technology (UIST '15). ACM, New York, NY, USA, 557–564. DOI: <http://dx.doi.org/10.1145/2807442.2807462>

[^34]: Jess McIntosh, Asier Marzo, and Mike Fraser. 2017a. SensIR: Detecting Hand Gestures with a Wearable Bracelet Using Infrared Transmission and Reflection. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology (UIST '17). ACM, New York, NY, USA, 593–597. DOI: <http://dx.doi.org/10.1145/3126594.3126604>

[^35]: Jess McIntosh, Asier Marzo, Mike Fraser, and Carol Phillips. 2017b. EchoFlex: Hand Gesture Recognition Using Ultrasound Imaging. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems (CHI '17). ACM, New York, NY, USA, 1923–1934. DOI: <http://dx.doi.org/10.1145/3025453.3025807>

[^36]: Jess McIntosh, Charlie McNeill, Mike Fraser, Frederic Kerber, Markus Löchtefeld, and Antonio Krüger. 2016. EMPress: Practical Hand Gesture Classification with Wrist-Mounted EMG and Pressure Sensing. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (CHI '16). ACM, New York, NY, USA, 2332–2342. DOI: <http://dx.doi.org/10.1145/2858036.2858093>

[^37]: Leap Motion. 2019. LeapUVC Documentation. (2019). <https://github.com/leapmotion/leapuvc/blob/master/LeapUVC-Manual.pdf>.

[^38]: Santiago Ortega-Avila, Bogdana Rakova, Sajid Sadi, and Pranav Mistry. 2015. Non-Invasive Optical Detection of Hand Gestures. In Proceedings of the 6th Augmented Human International Conference (AH '15). Association for Computing Machinery, New York, NY, USA, 179–180. DOI: <http://dx.doi.org/10.1145/2735711.2735801>

[^39]: Manuel Pratorius, Dimitar Valkov, Ulrich Burgbacher, and Klaus Hinrichs. 2014. DigiTap: An Eyes-free VR/AR Symbolic Input Device. In Proceedings of the

第20届ACM虚拟现实软件与技术研讨会（VRST'14）。美国计算机协会，纽约，9–18页。DOI: <http://dx.doi.org/10.1145/2671015.2671029>

[^40]: Jun Rekimoto. 2001. GestureWrist and GesturePad: Unobtrusive Wearable Interaction Devices. In Proceedings of the 5th IEEE International Symposium on Wearable Computers (ISWC '01). IEEE Computer Society, Washington, DC, USA, 21-. <http://dl.acm.org/citation.cfm?id=580581.856565>

[^41]: S. Sikdar, H. Rangwala, E. B. Eastlake, I. A. Hunt, A. J. Nelson, J. Devanathan, A. Shin, and J. J. Pancrazio. 2014. Novel Method for Predicting Dexterous Individual Finger Movements by Imaging Muscle Activity Using a Wearable Ultrasonic System. IEEE Transactions on Neural Systems and Rehabilitation Engineering 22, 1 (Jan 2014), 69–76. DOI: <http://dx.doi.org/10.1109/TNSRE.2013.2274657>

[^42]: T. Simon, H. Joo, I. Matthews, and Y. Sheikh. 2017. Hand Keypoint Detection in Single Images Using Multiview Bootstrapping. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 4645–4653. DOI: <http://dx.doi.org/10.1109/CVPR.2017.494>

[^43]: Mohamed Soliman, Franziska Mueller, Lena Hegemann, Joan Sol Roo, Christian Theobalt, and Jürgen Steimle. 2018. FingerInput: Capturing Expressive Single-Hand Thumb-to-Finger Microgestures. In Proceedings of the 2018 ACM International Conference on Interactive Surfaces and Spaces (ISS '18). Association for Computing Machinery, New York, NY, USA, 177–187. DOI: <http://dx.doi.org/10.1145/3279778.3279799>

[^44]: D. J. Sturman and D. Zeltzer. 1994. A survey of glove-based input. IEEE Computer Graphics and Applications 14, 1 (Jan 1994), 30–39. DOI: <http://dx.doi.org/10.1109/38.250916>

[^45]: Y. Sugiura, F. Nakamura, W. Kawai, T. Kikuchi, and M. Sugimoto. 2017. Behind the palm: Hand gesture recognition through measuring skin deformation on back of hand by using optical sensors. In 2017 56th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE). 1082–1087. DOI: <http://dx.doi.org/10.23919/SICE.2017.8105457>

[^46]: D. Sun, X. Yang, M. Liu, and J. Kautz. 2018. PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume. In 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. 8934–8943. DOI: <http://dx.doi.org/10.1109/CVPR.2018.00931>

## [^47]: Hoang Truong, Shuo Zhang, Ufuk Muncuk, Phuc Nguyen, Nam Bui, Anh Nguyen, Qin Lv, Kaushik Chowdhury, Thang Dinh, and Tam Vu. 2018. CapBand: Battery-Free Successive Capacitance Sensing Wristband for Hand Gesture Recognition. In Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems (SenSys '18). Association for Computing Machinery, New York, NY, USA, 54–67. DOI: <http://dx.doi.org/10.1145/3274783.3274854>

---

[^48]: Valve. 2020. Valve Index Controllers. (2020). <https://www.valvesoftware.com/en/index/controllers>.

[^49]: Josien C. van den Noort, Henk G. Kortier, Nathalie van Beek, DirkJan H. E. J. Veeger, and Peter H. Veltink. 2016. Measuring 3D Hand and Finger Kinematics—A Comparison between Inertial Sensing and an Opto-Electronic Marker System. PLOS ONE 11, 11 (11 2016), 1–16. DOI: <http://dx.doi.org/10.1371/journal.pone.0164889>

[^50]: Andrew Vardy, John Robinson, and Li-Te Cheng. 1999. The WristCam As Input Device. In Proceedings of the 3rd IEEE International Symposium on Wearable Computers (ISWC '99). IEEE Computer Society, Washington, DC, USA, 199–. <http://dl.acm.org/citation.cfm?id=519309.856464>

[^51]: E. Wu and H. Koike. 2019. FuturePose - Mixed Reality Martial Arts Training Using Real-Time 3D Human Pose Forecasting With a RGB Camera. In 2019 IEEE Winter Conference on Applications of Computer Vision (WACV). 1384–1392. DOI: <http://dx.doi.org/10.1109/WACV.2019.00152>

[^52]: W. Xu, A. Chatterjee, M. Zollhöfer, H. Rhodin, P. Fua, H. Seidel, and C. Theobalt. 2019. Mo2Cap2: Real-time Mobile 3D Motion Capture with a Cap-mounted Fisheye Camera. IEEE Transactions on Visualization and Computer Graphics 25, 5 (May 2019), 2093–2101. DOI: <http://dx.doi.org/10.1109/TVCG.2019.2898650>

[^53]: Hui-Shyong Yeo, Erwin Wu, Juyoung Lee, Aaron Quigley, and Hideki Koike. 2019. Opisthenar: Hand Poses and Finger Tapping Recognition by Observing Back of Hand Using Embedded Wrist Camera. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology (UIST '19). Association for Computing Machinery, New York, NY, USA, 963–971. DOI: <http://dx.doi.org/10.1145/3332165.3347867>

[^54]: Ye Yuan and Kris Kitani. 2018. 3D Ego-Pose Estimation via Imitation Learning. In Computer Vision – ECCV 2018, Vittorio Ferrari, Martial Hebert, Cristian Sminchisescu, and Yair Weiss (Eds.). Springer International Publishing, Cham, 763–778.

[^55]: Y. Yuan and K. Kitani. 2019. Ego-Pose Estimation and Forecasting As Real-Time PD Control. In 2019 IEEE/CVF International Conference on Computer Vision (ICCV). 10081–10091. DOI: <http://dx.doi.org/10.1109/ICCV.2019.01018>

[^56]: Yang Zhang and Chris Harrison. 2015. Tomo: Wearable, Low-Cost Electrical Impedance Tomography for Hand Gesture Recognition. In Proceedings of the 28th Annual ACM Symposium on User Interface Software &amp; #38; Technology (UIST '15). ACM, New York, NY, USA, 167–173. DOI: <http://dx.doi.org/10.1145/2807442.2807480>

[^57]: Qian Zhou, Sarah Sykes, Sidney Fels, and Kenrick Kin. 2020b. Gripmarks: Using Hand Grips to Transform In-Hand Objects into Mixed Reality Input. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (CHI '20). Association for Computing Machinery, New York, NY, USA, 1–11. DOI: <http://dx.doi.org/10.1145/3313831.3376313>

[^58]: Xingyi Zhou, Qingfu Wan, Wei Zhang, Xiangyang Xue, and Yichen Wei. 2016. Model-Based Deep Hand Pose Estimation. In Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI'16). AAAI Press, 2421–2427.

[^59]: Yuxiao Zhou, Marc Habermann, Weipeng Xu, Ikhsanul Habibie, Christian Theobalt, and Feng Xu. 2020a. Monocular Real-time Hand Shape and Motion Capture using Multi-modal Data. (2020).
