网站大量收购独家精品文档,联系QQ:2885784924

Meta手势识别算法实现.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

手势识别算法pipeline

以MegaTrack为例

1.鱼眼摄像头拍摄图像

4.裁剪并修正手部图片

5.神经网络算法输出2D手势的21个骨骼点和深度图

6.基于骨骼点和深度图算法输出3D手势模型及空间位置

下面对每个步骤详细阐述

1.摄像头布置

CV?vsRGB

OculusQuest2使用灰度摄像头,并没有采用RGB彩色摄像头,因为灰度摄像头有更高信噪比,在弱光情况下更容易看清手部。

Fov

每个摄像头覆盖150°(宽度)、120°(高度)和175°(对角线)FOV,覆盖区域如下。顶部摄像头是针对天花板,以便做SLAM跟踪。手势识别主要依赖朝下两个摄像头。但是整套算法中,四路图像都会使用到,只是说上面两路摄像头跟踪手势效果相对较差。四个摄像头朝外布置方式主要是为了扩大交互面积。

分辨率

Quest2单个摄像头分辨率是640X480,更高分辨率虽说可行,但关键环节不在这里。同时没有使用tof,考虑到tof体积更大,增加功耗,交互面积受限。而且tof对复杂的手部自遮挡或者双手动作识别能力不确定,它更多应用在SLAM定位。随着AVP和Quest3增加TOF能力,行业更关心整个手势训练集如何搭建的问题。增加sensor是提升识别精度的必要条件,但数据训练集是提升识别精度的充分条件。

拍摄频率

摄像头拍摄频率默认是60hz。一般情况下,30hz针对手势的灰度图像,30hz针对controller红外图像。在PICO最新无环手柄资料看到,摄像头是交替拍摄手势图像和手柄IR红外光,实现多模态跟踪定位。(题外话)

2.ISP图像处理

在弱光或强光等环境影响下,手势并不容易看得清楚。因此ISP负责图片的白平衡、噪声过滤和锐化等工作。图像虽然存在噪声,但这里并不是影响手势识别的关键环节。而且在训练模型的时候,会故意增加噪声增强识别鲁棒性。

3.文件传输

VR一体机一般走MIPI,传输速度大概1~2ms,假如是眼镜和计算单元分体式结构产品,走usb3,传输速度大概5ms。

4.2D图像处理

在640x480图像中,并不会将整张图片导入算法模型,而是提前做手势裁剪及畸变修正。当手势处于camerafov边缘时候,ppd出现较大下降,这对算法输出提出较大挑战。

在MegaTrack中,这步由DetNet模型来处理。在首次识别情况下,并非4个摄像头并行DetNet模型,而是轮询单个摄像头捕捉手掌包围盒。当单个摄像头捕捉手掌后,就开始多目摄像头开始采集,且基于过去历史数据为参照,跟踪新的手势包围盒。

手掌距离及手掌大小优先通过多目视差判断,当仅有单个摄像头捕捉到手势才会通过自动校准程序判断手掌距离。

5.2D手势识别

卷积神经网络(CNN)

图像是一个高纬数据集,需划分多个Layer层,改变先验结构。再通过各层级的回归方程,达到降维压缩数据及特征抽取等目的。

KeyNet

一个CNN卷积神经网络,当手势包围盒划定出来后,通过FTL对图像做特征层抽取,输出2D手势21个骨骼点及深度图。步骤如下:

a.Sampling。手势算法一般先下取样,识别手掌。再上取样,识别手指骨骼。

b.各层回归方程识别图像多种潜在特征,如边缘、几何图形、颜色等。

c.不同的手势特征在潜空间投射聚类,作为新手势骨骼点判断依据。

以MNIST手写数字为例,1~9手写体征在潜空间投射如下,有明显的聚类特征。

6.3D手势识别

当KeyNet输出2D手势图和深度图后,结合运动学等先验规则,算法再算出3D手势骨骼坐标。再结合手势模型输出handmesh。

在老算法中,2D手势图和3D手势图是一一对应关系,逐帧换算。这导致缺失连贯性,容易造成较大抖动。后来umetrack加上时间序列特征,优化这个问题。同时经历DetNet、KeyNet和2D3D手势转换,因整个层级过多,容易出现overshoot情况,即手势在快速移动的时候改变方向,手势图像未能跟随真实手产生转向。

7.预测补偿

在megatrack里面使用过去2帧输出结果作为DetNet手势截图和KeyNet骨骼点识别的先验数据,起到一定平滑作用,特别出现自遮挡时。同时因为手势M2P延时50ms以上,猜测会做一定预测补偿。

8.相位同步

因为摄像头拍摄频率30hz,系统渲染大概60~90hz,那意味着手势频率和系统渲染频率是不同步。最理想状态,就是获得GPU或DSP权限,知道每个手势输出时间,立即转到系统实现首帧合拍,第二帧复用前一帧手势数据。若不合拍,将会增加M2P延时。

9.UNITY渲染

在Quest2,手势数据通过iHand查询。系统根据手势骨骼点位置打出射线,并增加一欧元滤波降低异常值。一欧元滤波在低速时有较强抑制作用,在高速时候快速消除抑制作用。当手势做出特定动作时,通过interaction(如pinch,

文档评论(0)

外卖人-小何 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档