掌桥专利:专业的专利平台
掌桥专利
首页

一种基于单目多算法的悬浮触控方法

文献发布时间:2024-04-18 19:44:28


一种基于单目多算法的悬浮触控方法

技术领域

本发明属于触控技术领域,具体涉及一种基于单目多算法的悬浮触控方法。

背景技术

随着数字时代的迅速发展,人机交互技术已经融入人们日常的生产生活中。低成本,易上手的人机交互方法会节省使用者大量的资金投入和学习时间。然而,现有的人机交互方案多以触摸式电容、雷达传感器、双目视觉摄像头、深度立体摄像头为基础,这些方案高昂的物价成本使其难以普及到更多的用户群体。同时,现有的人机交互方法多以手势识别、动态手势捕捉、手部动作跟踪作为交互策略。然而,这些策略忽略了用户的使用习惯,通过将特定标注的固定姿态映射到指定机器指令的策略并不符合客户在人机交互时的使用习惯,在此过程中客户会缺失熟悉的触觉信息,大幅降低客户在人机交互过程的真实感、沉浸感。

传统的悬浮触控技术为上述问题提供了解决方案,该方案通过在一个触摸屏幕、同时运行自电容和互电容实现。利用现有的电容式触碰传感器,降低触碰录入的门槛,就能够区分悬浮触碰和接触触碰。然而,由于传统悬浮触控技术依赖于自电容,因此不可能实现悬浮多点触控。也就是说,当进行悬浮操作时,屏幕不支持多点触控。屏幕只能在接触触碰情况下实现多点触控。因此,传统的悬浮触碰虽然使用了更符合客户使用习惯的交互方式,但依然存在物料成本和传感器无法适配到移动设备上等诸多问题。

基于人机交互的无接触悬浮触控是一项热门的任务。现有的悬浮触控方案中,主要通过激光雷达和深度摄像头等高成本的硬件设备对手部在三维空间中进行定位。然而,基于低成本单目摄像头的悬浮触控系统却并未得到深入研究。在实际应用中,单目悬浮触控面临着四项挑战:首先,单目镜头无法有效应对镜头结构光畸变、镜头和被测手部之间姿态角混乱等问题;同时,由于手部结构的复杂性,一旦用户在悬浮触控过程中手部姿态变化剧烈,会对测距系统的精度和系统鲁棒性产生极大影响;其次,手部总是在微小的距离上进行剧烈的尺度变化,这使得模型需要拥有毫米级别的单目测距精度才能高效完成手部定位任务;最后,悬浮触控任务需要较高的系统实时性,并且其在移动终端设备上的需求远远高于其他平台。因此,较高的实时性和精简的模型大小也是完成悬浮触控任务的必要条件。

发明内容

本发明的目的是为了解决传统悬浮触碰依然存在物料成本和传感器无法适配到移动设备上等问题,提供一种基于单目多算法的悬浮触控方法。该方法通过定位手部在二维空间的坐标以实现设备上的悬浮功能,通过提取手部到镜头的三维距离以实现设备上的触控功能。该策略对单目视觉采集的图像进行处理,提出镜头位姿估计测距算法和手部位姿补偿算法,将二维手部图像映射到三维空间中以提取其到相机镜头和手部的相对距离和坐标方位信息,从而实现简易、经济、高效的悬浮触控应用系统。

为实现上述目的,本发明采取的技术方案如下:

一种基于单目多算法的悬浮触控方法,所述方法步骤为:

步骤一:构建实时手部姿态估计模型

基于Google的Mediapipe框架构建二维实时手部姿态估计模型,使用机器学习(ML)作为姿态估计方法;该步骤具体为(1)手部检测模型:以原始输入图像作为输入,分割手部与背景图像后,使用检测锚框定位手部;(2)使用手部关键点回归模型:以图像中的手部锚框作为输入,回归模型对检测到的21个手部关键点进行定位并实时回归其二维坐标;

步骤二:基于数据建模的函数拟合法的浅层测距网络

通过处理输入图像数据,对手部进行检测并回归二维坐标后;使用多项式曲线拟合法,构建浅层网络测距模型;在浅层网络中,使用最小二乘法进行多项式曲线拟合,通过样本集构造范德蒙德矩阵,将一元N次多项式非线性回归问题转化为N元一次线性回归问题;

步骤三:基于镜头位姿估计算法的深层测距网络

使用欧拉角描述相机姿态,把欧拉角转换为旋转矩阵将相机姿态统一转化为外旋,取得旋转姿态下的欧拉角并引入相机内外参数依次对x分量和y分量进行计算的方法构建深层网络;

步骤四:基于虚拟手型引导的手部位姿补偿算法

对手部姿态进行校准,获取手部的默认参数以用于虚拟手型的创建。

进一步地,所述步骤一具体为:在检测模块内,首先,图像经过数据限流计算单元处理;随后,将处理后的图像输出给手部检测模型进行锚框检测;最后,将绘制完成锚框的图像输入给验证模块;其中,检测模块的特点为仅在需要时运行,模型的触发由手部标记模型的输出进行控制,模型基于从前一帧中计算得出的手型推断出当前视频帧中的手部位置以实现该功能,从而避免了手部检测器的逐帧运行,在优化性能的同时节省了大量的计算成本;在验证模块内,首先,模块以绘制完成的图像作为输入进行图像剪裁操作;然后,将剪裁所得图像输出给手部标记模型计算输出标量;最后,根据得到手部标记模型额外输出的标量,以验证在裁剪操作后图像中手部锚框的存在和位置;在得到验证模块输出的标量后,当该标量计算得出的置信度低于某个阈值时,手部标记模型会判断手部丢失并触发重新检测,此时会触发检测模块并将其输出重新应用到下一帧;当该标量计算得出的置信度高于设定阈值时,将其同时进行标记锚框操作和注释渲染操作分别作为验证模块的输入与最终可视化的输出;通过以上的同步构建,从而实现ML管道的高性能和最佳吞吐量。

进一步地,所述步骤二具体为:

拟合过程基于最小二乘法(Least Square Method,LSM),通过最小化误差(也叫残差)的平方和寻找匹配数据的最优函数;

首先,给定一组样本集P(x,y),P内各数据点P

其中,m为样本维度,n为多项式阶数,θ

得到针对样本数据集P内各数据点的误差平方和为:

通过上式,拟合得到最优函数的各项系数θ

在代数法中,构造矩阵X和矩阵Y较为繁琐且计算量大,本发明将误差平方和S拆解为矩阵形式;令:

则误差平方和S可写成:

S=(X

X

即求得最优函数的多项式系数向量θ为:

基于所得系数向量θ代入原多项式,得到经验函数拟合的测距模型,构建浅层测距网络。

进一步地,步骤三中,在用欧拉角描述旋转姿态时,旋转角度(α、β、γ)、旋转顺序、内旋/外旋方式三个要素缺一不可;

由于描述姿态所给定的欧拉角必须严格遵循旋转顺序和内外旋方式条件;通过将内旋转化为外旋的方式统一相机姿态变化,以提取相机的欧拉角进行计算;

引入旋转矩阵对欧拉角进行处理;由于旋转矩阵很容易从欧拉角转换得到,通过旋转矩阵将欧拉角的内外旋姿态进行转换;

据上式可得,x-y-z外旋方式依次旋转α、β、γ角度和按照z-y-x内旋方式依次旋转α、β、γ角度最终看结果是等价的;

依据以上内容将相机姿态统一转化为旋转方式处理欧拉角;通过固定俯仰角,依次对相机欧拉角影响下,手部在y轴和x轴的偏移量进行计算。

进一步地,步骤三中,所述欧拉角描述旋转姿态的两种最常见方式:

(1)旋转角度为(α、β、γ),旋转顺序为(z-y-x),旋转方式为内旋;该方式为yaw-pitch-row顺序;

(2)旋转角度为(α、β、γ),旋转顺序为(x-y-z),旋转方式为外旋;该方式为row-pitch-yaw顺序。

进一步地,所述步骤四具体为:

根据姿态校准得到的21个手部关键点坐标参数,选取三个位于手掌部位的关键点,并使用测距算法分别计算关键点之间的实际长度σ,μ,η,每个指关节的角度以及相邻手指之间的夹角;将所得实际长度和角度作为手部的默认参数,输入到虚拟手型的补偿算法中。

进一步地,步骤四中,手部姿态校准算法如下所示:

(1)将RGB图像作为算法输入;

(2)当手部锚框置信度大于0.5时提取手部锚框坐标。此时判定手部锚框中心点是否与2维坐标系中心点重合;

(3)当判定为重合时,则输出当前21个手部关键点的坐标参数;当判定为不重合时则继续运行程序直到判定变为重合。

(4)对正位姿态校准输出的手部坐标参数进行比例计算,得到用户手部默认参数。

进一步地,步骤四中,虚拟手型的补偿算法流程如下;

(1)将实时手部跟踪网络回归的2D手部坐标参数与多层测距网络计算得到的距离参数作为输入;

(2)实时跟踪的关键点5-17、17-0、0-5计算长度并各自乘以对应的比例系数(姿态校准得到的默认参数)后取最大值作为基准边,根据此边创建其正位姿态的虚拟手型;

(3)将虚拟手型参数与实时手部参数对比计算,得到补偿以修正距离。

本发明相对于现有技术的有益效果为:本发明提出的基于单目多算法的悬浮触控方法不依赖任何外部硬件设备,仅需普通终端设备即可满足高精度、高鲁棒、高速率的运行条件。本方法在算法性能上,是先进并鲁棒的,其在5米的被测距离内能稳定达到3毫米级的精度,较传统测距方法提升了40%。在悬浮触控的应用上,仅1兆大小的超轻量级模型保证其部署在移动设备上时保持极高的速度。基于以上优点,本发明通过稳定的性能和良好的普适性可以将悬浮触控技术普及到每一位用户的便携设备上。

附图说明

图1为整体系统结构图;

图2为手部跟踪流程图;

图3为基于y轴偏移量的成像模型图;

图4为基于x轴偏移量的成像模型图;

图5为手部关键点示意图;

图6为虚拟手型与真实手型的可视化对比图;

图7为欧拉角、旋转矩阵的相互转换图;

图8为第一种手部复杂姿态下实验3算法的可视化测距结果图;

图9为第二种手部复杂姿态下实验3算法的可视化测距结果图;

图10为图8加入位姿补偿算法的可视化测距结果图;

图11为图9加入位姿补偿算法的可视化测距结果图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施方式,对本发明进行进一步的详细说明。应当理解的是,此处所描述的具体实施方式仅用以解释本发明,并不限定本发明的保护范围。

本发明的创新点有以下几点:

1、本发明提出了一种基于镜头位姿估计的测距算法。根据相机内旋和外旋之间的关系,将内旋转化为外旋的方式统一镜头姿态变化,计算相机在各方向上的偏移分量从而估计相机当前姿态,并对图像进行失真校正。该方法解决了相机镜头的结构光畸变问题,以及镜头和被测手部之间姿态角混乱的问题,可以实现手部和镜头间的精准测距。

2、本发明提出了一种基于虚拟手型的位姿补偿算法。根据手部姿态检测器检测位置结果创建正位姿态下的虚拟手型,提取其虚拟坐标和特定部位的参数数据并计算补偿误差。该算法解决了手部剧烈变化下测距算法的数值混乱问题,大幅提升了手部在特殊姿态或角度下的精度和鲁棒性。

3、本发明提出了一种基于单目多模态算法的悬浮触控方法。在深层网络中使用基于镜头位姿估计的测距算法(创新点1),将二维图像映射到三维坐标系提取目标距离;在浅层网络拟合经验函数并建立回归模型,根据手部图像尺度大小对目标方位进行自适应修正。最后,在决策层使用多模态融合策略集成深层网络和浅层网络两个测距模型,再结合基于虚拟手型的位姿补偿算法(创新点2)进行补偿,得到手部测距结果。

4、本发明对模型进行优化,压缩减枝为2兆大小的实时超轻量级多点触控模型,并将其部署到移动终端设备(Android系统)。实验表明,本发明方法在20-100cm的手部测距范围,利用低成本的单目镜头其平均误差小于0.25%,达到了毫米级精度,在大幅降低设备成本的基础上,提高了悬浮触控的精准度。

本发明在浅层网络拟合经验函数建立手部测距模型,在深层网络提出一种基于相机位姿估计的测距算法。然后使用数据融合策略集成两者构建多层网络,有效提升了手部测距的精度。最后,提出一种基于虚拟手型的位姿补偿算法,大幅提升了整体方法在手部复杂动作或角度下的精度和鲁棒性。实验表明,在手部测距算法上,本发明是先进并鲁棒的,其在20cm-100cm内的被测距离内能稳定达到毫米级精度,较传统测距方法减小了15.49%的平均误差。在悬浮触控的应用上,仅2兆大小的超轻量级模型保证其部署在低成本边缘设备上时保持极高的实时运行速度。基于以上的优点,本发明将模型部署到了移动终端设备上,其稳定的性能和良好的普适性可以将悬浮触控技术普及到每一位用户的便携设备上。

实施例1:

步骤一:构建实时手部姿态估计模型

本发明基于Google的Mediapipe框架构建二维实时手部姿态估计模型,使用机器学习(ML)作为姿态估计方法。该步骤分为两个阶段,第一阶段为手部检测模型。以原始输入图像作为输入,分割手部与背景图像后,使用检测锚框定位手部。第二阶段使用手部关键点回归模型。以图像中的手部锚框作为输入,回归模型对检测到的21个手部关键点进行定位并实时回归其二维坐标。

本发明的手部跟踪流程图如图2所示;该流程由两个模块组成,第一个模块用于检测手部,第二个模块用于验证锚框;在检测模块内,首先,图像经过数据限流计算单元处理;随后,将处理后的图像输出给手部检测模型进行锚框检测;最后,将绘制完成锚框的图像输入给验证模块;其中,检测模块的特点为仅在需要时运行,模型的触发由手部标记模型的输出进行控制,模型基于从前一帧中计算得出的手型推断出当前视频帧中的手部位置以实现该功能,从而避免了手部检测器的逐帧运行,在优化性能的同时节省了大量的计算成本;在验证模块内,首先,模块以绘制完成的图像作为输入进行图像剪裁操作;然后,将剪裁所得图像输出给手部标记模型计算输出标量;最后,根据得到手部标记模型额外输出的标量,以验证在裁剪操作后图像中手部锚框的存在和位置;在得到验证模块输出的标量后,当该标量计算得出的置信度低于某个阈值时,手部标记模型会判断手部丢失并触发重新检测,此时会触发检测模块并将其输出重新应用到下一帧;当该标量计算得出的置信度高于设定阈值时,将其同时进行标记锚框操作和注释渲染操作分别作为验证模块的输入与最终可视化的输出;通过以上的同步构建,从而实现ML管道的高性能和最佳吞吐量;

步骤二:基于数据建模的函数拟合法的浅层网络

通过处理输入图像数据,对手部进行检测并回归二维坐标后。本部分使用多项式曲线拟合法,构建浅层网络测距模型。在浅层网络中,本发明使用最小二乘法进行多项式曲线拟合,通过样本集构造范德蒙德矩阵,将一元N次多项式非线性回归问题转化为N元一次线性回归问题。

本发明拟合过程基于最小二乘法(Least Square Method,LSM),通过最小化误差(也叫残差)的平方和寻找匹配数据的最优函数。

首先,给定一组样本集P(x,y),P内各数据点P

其中,m为样本维度,n为多项式阶数,θ

可得到针对样本数据集P内各数据点的误差平方和为:

通过上式,拟合得到最优函数的各项系数θ

在代数法中,构造矩阵X和矩阵Y较为繁琐且计算量大,本发明将误差平方和S拆解为矩阵形式。令:

则误差平方和S可写成:

S=(X

X

即求得最优函数的多项式系数向量θ为:

基于所得系数向量θ代入原多项式,得到经验函数拟合的测距模型,构建浅层测距网络。

步骤三:基于欧拉角引导的相机位姿测距算法的深层网络

相机的运动过程可以看成三维空间的刚体运动,所谓刚体,就是运动物体的机械形状不随运动发生变化。假如以相机起始时刻的位姿建立世界坐标系,经过运动之后相机到达位姿,那么相机在世界坐标系下的相机到达位姿就可以看成相机起始经过旋转和平移的合成。因此,相机的位姿变化可以分解为三自由度旋转量和三自由度平移量的共同表示,一共为6个自由度。旋转量便是相机在空间中的朝向,具体表达形式包括欧拉角、旋转矩阵、四元数等;平移量表示相机在空间中的位置,也就是x、y、z坐标值。

在实验过程中,由于内外旋方式不同,任意切换旋转方式将会导致维度数据出现偏差,无法正确描述相机的旋转姿态。为了解决以上问题,本发明首先使用欧拉角描述相机姿态,然后把欧拉角转换为旋转矩阵将相机姿态统一转化为外旋,最后取得旋转姿态下的欧拉角并引入相机内外参数依次对x分量和y分量进行计算的方法构建深层网络。

如图7所示,在用欧拉角描述旋转姿态时,旋转角度(α、β、γ)、旋转顺序、内旋/外旋方式三个要素缺一不可。下面是欧拉角描述旋转姿态的两种最常见方式:

(1)旋转角度为(α、β、γ),旋转顺序为(z-y-x),旋转方式为内旋。该方式为yaw-pitch-row顺序。

(2)旋转角度为(α、β、γ),旋转顺序为(x-y-z),旋转方式为外旋。该方式为row-pitch-yaw顺序。

由于描述姿态所给定的欧拉角必须严格遵循旋转顺序和内外旋方式条件。本发明通过将内旋转化为外旋的方式统一相机姿态变化,以提取相机的欧拉角进行计算。

在内外旋转换中,欧拉角只适用于绝对姿态的直观表示,在需要相对姿态的场合(比如姿态插值计算、姿态增量计算)并不适用。为了解决该问题,本发明引入旋转矩阵对欧拉角进行处理。由于旋转矩阵很容易从欧拉角转换得到,我们通过旋转矩阵将欧拉角的内外旋姿态进行转换。

据上式可得,x-y-z外旋方式依次旋转α、β、γ角度和按照z-y-x内旋方式依次旋转α、β、γ角度最终看结果是等价的。

因此,我们依据以上内容将相机姿态统一转化为旋转方式处理欧拉角。通过固定俯仰角,依次对相机欧拉角影响下,手部在y轴和x轴的偏移量进行计算,基于该方法的成像模型如图3所示。

如图3所示,图3为相机基于y轴偏移量的成像模型图;其中,e点为被测对象在成像平面上的位置;已知相机外参α为pitch角、H为相机高度;相机内参焦距f为o点到o

式中,线段oAA与线段o

根据成像模型对γ角进行计算,可得:

点o

归纳整理,在旋转角度为(α、β、γ),旋转顺序为(x-y-z),依据row-pitch-yaw顺序,旋转方式为外旋的情况下;相机与被测目标在y轴的偏移量为d;

如图4所示,图4为相机基于x轴偏移量的成像模型图;其中,e

式中,线段oAA与线段o

根据成像模型对γ角进行计算,可得:

点o

归纳整理,在旋转角度为(α、β、γ),旋转顺序为(x-y-z),依据row-pitch-yaw顺序,旋转方式为外旋的情况下;相机与被测目标在x轴的偏移量为d

步骤四:基于虚拟手型引导的手部位姿补偿算法

在建立了多层网络的测距模型后,本步骤开始针对位姿设计参数补偿。由于不同用户的手部大小不一,需要收集手部的默认参数以提升整体系统的精度。本步骤首先对手部姿态进行校准,获取手部的默认参数以用于虚拟手型的创建。

手部姿态校准算法如下所示:

根据姿态校准得到的21个手部关键点坐标参数,选取图5中三个位于手掌部位的关键点0、5、17,并使用测距算法分别计算关键点5-17、0-17、0-5实际长度σ,μ,η,每个指关节的角度、以及相邻手指之间的夹角。将所得实际长度和角度作为手部的默认参数,输入到虚拟手型的补偿算法中。

虚拟手型的补偿算法流程如下。

(1)首先将实时手部跟踪网络回归的2D手部坐标参数与多层测距网络计算得到的距离参数作为输入。

(2)然后实时跟踪的关键点5-17、17-0、0-5计算长度并各自乘以对应的比例系数(姿态校准得到的默认参数)后取最大值作为基准边,根据此边创建其正位姿态的虚拟手型。

(3)最后,将虚拟手型参数与实时手部参数对比计算,得到补偿以修正距离。

图6为以b边为基准边时虚拟手型与真实手型的可视化;其中,深黑色实线为实时检测到的真实手型,浅灰色实线为基于真实手型计算得到的虚拟手型,A,B,C分别对应实时检测手型(深黑色实线)的5-17、17-0、0-5关键点之间的手部像素长度;a,b,c分别对应基于检测手型创建的虚拟手型(浅灰色实线)5-17、17-0、0-5关键点像素长度;

首先,将A,B,C各自乘以其在真实长度下的比例系数,并取ε对应的最大值边作为基准边。

此时分为三种情况。第一种情况,当ε等于A乘以其在真实长度下的比例系数时,

此时选取关键点5-17之间的线段作为基准边,令a=A,根据姿态校准的默认参数求解b和c。

最后,根据除基准边的剩余两边b、c,将其检测长度与虚拟长度进行对比计算并乘以基准边的真实长度以计算出手部测距的补偿距离。

同理。第二种情况,当ε等于B乘以其在真实长度下的比例系数时,

此时选取关键点17-0之间的线段作为基准边,令b=B,根据姿态校准的默认参数求解a和c。

最后,根据除基准边的剩余两边a、c,将其检测长度与虚拟长度进行对比计算并乘以基准边的真实长度以计算出手部测距的补偿距离。

第三种情况为,当ε等于C乘以其在真实长度下的比例系数时,

此时选取关键点0-5之间的线段作为基准边,令c=C,根据姿态校准的默认参数求解a和b。

最后,根据除基准边的剩余两边a、b,将其检测长度与虚拟长度进行对比计算并乘以基准边的真实长度以计算出手部测距的补偿距离。

以上实施例的结果如下:

(1)数据集及环境介绍

手部训练数据集采用室内数据集、室外数据集、合成数据集。

在室外数据集中,共6千张不同种类的图像,分别涵盖了不同室外背景、照明条件和手部外观等情况。

在室内数据集中,共1万张图像,涵盖了手部在大部分物理角度下的情况。

在合成数据集中,通过渲染一个高质量的手部模型,配备24块骨骼及5种不同肤色的纹理。以此创建手部姿势变换之间的视频序列,并从视频中抽取10万张图像用于网络训练。

训练和测试平台均在本地进行,使用RTX2080Ti11GGPU、i79700CPU和32GBRAM,基于Tensorflow模型框架进行开发。

安卓测试平台使用Mali-G72MP12GPU、海思麒麟970CPU和6GBRAM,基于Android11.0开发,向下兼容至安卓Android7.0。

实验数据采集使用IntelRealSenseD435立体深度相机与激光测距仪。

本发明设计了三组实验对模型进行了测试。首先,本发明使用了一些经典测距方法与本发明的方法进行了对比分析以体现本发明方法在手部测距任务上的适用性。其次,本发明设计了一组消融实验以体现不同模块为手部测距带来的具体性能对比分析。最后,本发明设计了一组针对多个具有挑战性的复杂手部姿态下的测距实验以体现本发明位姿补偿模块的精度和鲁棒性。

(2)手部跟踪模块的指标及性能

在检测端,本发明根据MediaPipe手部跟踪策略,通过将修剪过的手掌图像提供给手部标记模块,使模型减少了计算时间和图形处理单元的运算量。

在模型训练阶段,使用不同数据集对模型进行训练得到的实验结果如表1所示。

表1从不同数据集训练的模型的结果

表1为分别使用三种数据集训练下得到的实验结果。在总计一万六千张的真实世界数据集下的均方误差为16.1%,在添加了6万张模拟数据集混合训练后,均方误差降低至13.4%。除了性能提高外,添加大型合成数据集进行训练可以减少视频帧之间的视觉抖动,以减少摄像过程中产生的振动对视频的影响。结果表明,相较于在训练时分别使用真实世界下的数据集与合成数据集,将两者混合进行训练的策略具有更高的精度,能够有效完成前置检测任务。

在性能调整阶段,不同模型容量大小的性能参数如表2所示。

表2不同容量大小的手部标记模型性能特征

由于本发明主要目的为在移动设备上实现实时性能,于是对三种不同表示容量大小的模型进行了实验,分别为轻量模型、完整模型、大模型。如表2所示,实验表明,“完整”模型在性能和速度之间保持了良好的平衡。相较于完整模型,大模型使用了2倍于完整模型的参数量,却仅减小了0.233的均方误差(MSE),还大幅增加了模型的运行延时。因此,增加模型容量只会为性能带来微小的提升,但速度会显著降低。

基于以上的实验结果,本发明在手部跟踪模块训练数据集使用真实数据集+合成数据集,在模型的表示容量大小上使用完整大小的模型,通过这两个策略构建手部跟踪模块以检测并提取手部姿态信息并输出给测距模块。

(3)基于单目视觉估计的悬浮触控方法的实验结果及讨论

在构建了检测端对手部进行跟踪后,为了评估算法对手部距离测量的准确性,本实验在0.2米到1.0米的距离之间采集手部距离,使用IntelRealSenseD435立体深度相机的深度传感器获取镜头到手部距离的实际数据,使用相机的单目RGB镜头采集图像数据并使用本发明图像处理方法采集手部距离的测量数据。

在采集测量数据时,由于检测器的手掌检测锚框不稳定,会导致测量的距离距离数据会在一定范围内波动。因此最终在一段视频流上分别计算每个位置的平均误差作为最终误差,计算公式如下:

其中,k是视频帧数,f∈{1,…,k},pd

根据以上条件,本发明将参考传统三角测距算法的测距结果,表3为实验1与实验2的实验结果。

对比实验1与实验2的结果。可以看到随着实际距离的逐渐增加,传统三角测距算法中提出仅使用传统三角测距算法得到的测量误差也逐渐增加。而使用本发明方法,该情况得到了显著的改进,本发明提出的测距算法相较于传统三角测距算法方法在20-100cm的测量距离内减小了11.96%的平均误差。

为了分析该现象,本发明对深浅层网络各自进行了分析。在浅层网络中,由于手部姿态剧烈变换的现象,检测端得到的输出结果会存在一定误差,该情况会使得经验函数在拟合输出过程出现数据振荡现象,导致插值结果不稳定,对测距精度产生极大影响;在深层网络中,三角测距算法的测量精度受限于基线长度,基线越短,测量误差越小,但是可测范围也越小,而基线越长,测量误差越大,但是可测范围也越大。因此该算法存在基线长度和测量精度难以平衡的关系,导致测距精度存在误差。

为了解决深浅层网络在手部测距任务上各自存在的问题,本发明提出结合了深浅层网络的方法。通过聚合多层网络的输入及输出,对深浅层网络进行系数加权计算后取得最终的测距结果。通过多模态融合方法,不但消除了浅层网络经验函数方法震荡现象产生的异常输出误差,还极大减小了由于测距范围增加引起的长基线误差。可以看出,随着距离的不断增加,本发明提出的方法能更好的完成多种距离下的手部测距任务,

(4)基于相机位姿估计算法的测距结果及讨论

为了验证基于镜头位姿估计测距算法检测模型的结果,对比原相似三角形算法测距结果,实验结果如表4中的实验2与实验3。

实验结果如表4所示,在实验3使用了镜头位姿估计测距算法替换了实验2中的传统相似三角形算法后,测距性能提高了1.86%。在测距实验中,误差一般会随着距离不断增加,然而实验2中的数据波动并不符合该规律。为了分析该现象,本发明分别从镜头位姿与镜头畸变两方面进行讨论。

由于在实验过程中,手部会出现在图像中的任意位置甚至消失。因此,当手部远离图像中心点以或处于图像边缘时,会出现镜头位姿偏差与镜头光学畸变。

在镜头位姿偏差方面,传统的三角测距算法仅仅测量了手部的纵向距离,而在镜头位姿出现偏差、无法将手部置于图像中央的情况下,使用该方法会丢失被测手部在其他方向上的距离。而本发明提出的基于相机位姿估计的测距算法不仅测量了手部的纵向距离,还根据镜头位姿综合了多方向下的手部距离进行了测量,大幅消除了误差抵消和累计问题带来的影响,有效缓解了因镜头位姿偏差所带来的误差影响,从而对测距精度带来提升。

在镜头光学畸变方面,对运动中的手部图像进行捕捉时,相机位姿的剧烈变化会放大光学镜头的畸变问题,该问题属于成像的几何失真。在对画面中的手部进行捕捉时,检测器会对检测到的手部进行聚焦处理,若焦点位置位于屏幕边缘,几何失真形成的画面扭曲会尤为明显,传统的三角测距算法仅适用于平面或近似平面的测量,无法有效应对在镜头平面上不同区域图像放大率不同的问题。而本发明提出的基于相机位姿估计的测距算法通过统一镜头姿态变化的方法,根据得到镜头在各方向上的偏移分量估计相机当前姿态,从而对图像进行失真校正。以此对捕捉到的手部图像进行更为精准的测距计算。

(5)结合位姿补偿算法的数据结果及对比分析

实验3通过调整镜头位姿,使算法整体性能得到了一定提升。然而,在实验进程中,本发明发现复杂的手部姿态会对实验3使用方法的精度和鲁棒性产生影响。为了分析原因,本发明通过实时的数据可视化方案针对该现象进行了实际分析。图8和图9展示了在两种复杂手部姿态下使用实验3算法策略得到的可视化效果。在两幅图像中,图8与图9的左半部分为立体深度摄像头所测量的位于掌心位置十字光标到摄像头的实际距离,右半部分为普通RGB摄像头使用实验3算法策略所测量的掌心位置到摄像头的测量距离。可以看出,在该手部姿态下,测距结果出现了误差。

针对解决该问题,本发明提出了一种手部位姿补偿算法。首先通过手部姿态校准算法解决手部尺寸大小不一带来的计算误差,然后根据当前手部位置创建正为姿态的虚拟手形用以计算补偿以解决复杂手部姿态下误差较大的问题。

为了验证位姿补偿算法的有效性,对比加入位姿补偿算法前后的结果,实验结果见表5的实验3与实验4。

实验结果如表5所示,相比于实验3,实验4在加入了手部位姿补偿算法后进一步减小了测距误差。通过分析得出,仅仅使用实验3中的方法时,由于手部本身存在长度大小,原系统在检测复杂姿态下的手部时会忽略其本身的尺寸问题。并且不同手部尺寸不一的问题同样会带来误差。因此,仅仅使用实验3的方法难以有效应对复杂的手部姿态,手部在悬浮触控的剧烈运动过程中会不可避免的产生误差。同时,该类跳变误差还会影响深浅层网络的鲁棒性,随着使用过程中复杂手部姿态的逐渐增多,误差累积会对对整体方法的精度产生极大影响。

实验4的结果可以看出,在加入了位姿补偿算法后的模型可以为复杂姿态下的手部距离测量提供更加稳定的检测结果,使其在不同的位置计算的误差更加均衡,不会出现较大范围的误差。图10和图11展示了在实验4算法策略下的可视化效果。可以看出,相较于实验3使用的模型,在加入了位姿补偿算法后实验4的模型取得了更好的效果。通过该方法可以进一步提升手部测距精度和鲁棒性,能够有效的完成悬浮触控任务。

相关技术
  • 基于爬山算法的触控屏抗干扰方法、触控装置及移动终端
  • 一种触控面板及其驱动方法、触控装置
  • 一种触控面板及其制备方法、触控装置
  • 一种触控显示基板及其制备方法、触控显示装置
  • 一种触控终端控制方法和触控终端
  • 悬浮触控感测方法、悬浮触控感测系统及悬浮触控电子设备
  • 悬浮触控感测方法、悬浮触控感测系统及悬浮触控电子设备
技术分类

06120116302030