3D手势识别(三)使用PCA寻找手的主方向:PCA的原理和实现

博客介绍了如何利用PCA(主成分分析)确定3D手势中指尖的位置。PCA通过降维找到数据的最大方差方向,将手的3D点云投影到主方向上,以此找到最前端的点作为指尖坐标。PCA的实现结合了Eigen库和深度图处理技术。
摘要由CSDN通过智能技术生成

为了确定指尖位置,首先将手的3D点云进行PCA,再在主方向上找最前点。


1、PCA原理:

PCA (主成分分析)算法提供了一种压缩数据的方式。我们也可以将 PCA 视为学习数据表示的无监督学习算法。 PCA 学习一种比原始输入维数更低的表示。它也学习了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统计独立标准的第一步。要实现完全独立性,表示学习算法也必须去掉变量间的非线性关系。

PCA 将输入 x 投影表示成 z,学习数据的正交线性变换,这种表示其实对应着数据的第一个主要成分。因此,我们可以用 PCA 作为保留数据尽可能多信息的降维方法(再次就最小重构误差平方而言)。

PCA 学习一种线性投影,使最大方差的方向和新空间的轴对齐。(左) 原始数据包含了x的样本。在这个空间中,方差的方向与轴的方向并不是对齐的。(右) 变换过的数据 z = x^{^{T}} W 在轴 z 1 的方向上有最大的变化。第二大变化方差的方向沿着轴 z 2 。

主成分元素特点:彼此无关。将数据 x 投影到 z 时,得到的数据表示的协方差矩阵是对角的(证明略),立刻可得 z 中的元素是彼此无关的。

2、PCA实现

使用了Eigen矩阵相关函数和深度图与世界坐标转化函数(见上上节),代码如下:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值