一种基于3D数据的自动手势分割算法的制作方法

文档序号:23386794发布日期:2020-12-22 13:51阅读:87来源:国知局
一种基于3D数据的自动手势分割算法的制作方法

本发明涉及一种基于3d数据的自动手势分割算法,属于图像识别技术领域。



背景技术:

人机交互(hci,human–computerinteraction)是指人与计算机之间相互交互和影响的方式。随着计算机技术的发展,人类的生活也发生了日新月异的改变,人机交互也变得频繁。为了提高人机交互的效率,使得人机交互更符合人类的交流方式,众多人机交互的手段孕育而生,这些手段主要通过语音、人脸、手势和肢体动作进行识别。其中手势是人类常用的交流方式,把手势引入到计算机视觉领域内,基于计算机视觉的手势识别成为人机交互新的研究方向。随着现代汽车电子产业的快速发展,传统汽车的人机交互以中控屏为核心,界面设计老旧,按钮和触屏的交互方式安全性较低,已经难以满足行车驾驶需求。机器视觉被广泛应用于汽车辅助驾驶系统和无人驾驶,大大提高了车辆驾驶的安全性,减少了安全事故的发生。此外无人驾驶汽车成为研究的热点,而手势识别也成为重要的组成成分。

在智能驾驶座舱内,手势交互是控制车辆信息娱乐系统的最新方式。而手势分割通常是交互系统中的关键一步,手势分割的好坏直接影响后续手势识别的好坏。从交互的角度看,可以分为静态手势和动态手势。汽车内的手势控制系统是通过对一段时间流上的手部特征变化分析出用户的手势操作,再将手势信号发送给车载系统的控制单元,由控制单元下达相应的操作指令。而这种模式相机安装在中控台的上方,车内物体大都处在一个静态背景下,当有手势进入时,通过背景差分法能快速的分割出运动目标,并对分割出的运动目标进行去噪和形态学处理等操作,即可检测出运动目标。

而背景中固定对象的移动和外界光照条件的变化会使背景模板发生变化,需要及时对背景模板进行更新,以适应这种变化。

现在的摄像头是安装在显示屏中,背景是动态的,而手势也是动态的,动态手势是由一系列静态手势组成的与时间和空间相关的手势序列,而动态手势没有一个明确的开始和结束,所以对于动态场景下动态手势的分割,基于背景差分法无法进行背景和前景的分割。



技术实现要素:

针对上述存在的技术问题,本发明的目的是:提出了一种基于3d数据的自动手势分割算法,该算法首先结合阈值分割和深度直方图信息完成3d数据的初步分割,后续通过轮廓优化算法截取手掌、手指部分,完成对手部区域的精准分割。

本发明的技术解决方案是这样实现的:一种基于3d数据的自动手势分割算法,包括如下步骤:

s100,首先通过深度信息与灰度值的转换方程将输入的深度数据转换为灰度图像;

s200,根据深度数据转换后的灰度图像构建灰度直方图,确定阈值区间;

s300,通过自适应阈值区间进行初步分割,将阈值分割后的像素点簇分为多个连通区域,再提取最大的连通域,确定手部区域;

s400,进行手部区域轮廓优化,通过迭代手部区域的像素点找到连通域中最大的内切圆,通过最大内切圆算法提取掌心,确定手掌区域;

s500,使用凸包检测算法提取轮廓中的所有凸点;

s600,计算距离掌心最远的凸点,确定手的主轴方向θ;

s700,通过主轴方向θ计算与手掌的最大内切圆的两个交点,确定手腕中心点的位置;

s800,通过主轴方向θ和手腕中心点,构建手腕中心点的切线方程,只保留手指和手掌部分,切除手臂部分,完成对手部区域的精准分割。

优选的,在s100中,转换方程如下所示:

grayi,j=(currentdisti,j-neardist)/(fardist-neardist)*255

其中,currentdisti,j为当前像素点的深度值,neardist为深度相机的最小工作距离,fardist为深度相机的最大工作距离,grayi,j为深度值转换后的灰度值。

优选的,在s200中,阈值分割区间的宽度由人手的物理厚度进行设置,阈值分割的区间宽度设置为8-10cm,对应到灰度值为:(width-neardist)/(fardist-neardist)*255,其中,width为阈值分割的区间宽度,neardist为深度相机的最小工作距离,fardist为深度相机的最大工作距离。

优选的,在s500中,算法分为点集排序和栈扫描,首先点集排序计算所有轮廓点与纵坐标最小点的幅角,并按照从小到大的顺序进行排列,接着通过栈扫描依次判定该点是不是凸包上点。

优选的,在s600中,手指向的方向θ:

其中,m1为掌心点,m2为最远凸点,θ为倾斜角度,x和y分别为点的x轴坐标和y轴坐标。

优选的,在s700中,在已知主轴方向计算与手掌的最大内切圆的两个交点,其计算公式为:

c1·x=m1·x+sin(θ)*r,c1·y=m1·y+cos(θ)*r;

c2·x=m1·x-sin(θ)*r,c2·y=m1·y-cos(θ)*r;

其中,c1、c2为主轴方向与最大内切圆的两个交点,r为最大内切圆的半径,m1为最大内切圆的圆心。

由于上述技术方案的运用,本发明与现有技术相比具有下列优点:

本发明的一种基于3d数据的自动手势分割算法,通过深度信息与灰度值的转换方程将输入的深度数据转换为灰度图像;根据深度数据转换后的灰度图像构建灰度直方图,确定阈值区间;通过自适应阈值进行分割,将阈值分割后的像素点簇分为多个连通区域,再提取最大的连通域,确定手部区域;进行手部区域轮廓优化,通过迭代手部区域的像素点找到连通域中最大的内切圆,通过最大内切圆算法提取掌心,确定手掌区域;使用凸包检测算法提取轮廓中的所有凸点;通过主轴方向θ计算与手掌的最大内切圆的两个交点,确定手腕中心点的位置;通过主轴方向θ和手腕中心点,构建手腕中心点的切线方程,只保留手指和手掌部分,切除手臂部分,完成对手部区域的精准分割;该算法首先结合阈值分割和深度直方图信息完成3d数据的初步分割,后续通过轮廓优化算法截取手掌、手指部分,完成对手部区域的精准分割。

附图说明

下面结合附图对本发明技术方案作进一步说明:

图1为本发明的一种基于3d数据的自动手势分割算法的转换后的灰度图像;

图2为本发明的一种基于3d数据的自动手势分割算法的灰度直方图;

图3为本发明的一种基于3d数据的自动手势分割算法的阈值分割结果示意图;

图4为本发明的一种基于3d数据的自动手势分割算法的手部区域轮廓示意图;

图5为本发明的一种基于3d数据的自动手势分割算法的手掌区域示意图;

图6为本发明的一种基于3d数据的自动手势分割算法的检测出的凸点示意图;

图7为本发明的一种基于3d数据的自动手势分割算法的手指向的方向示意图;

图8为本发明的一种基于3d数据的自动手势分割算法的手腕中心点示意图;

图9为本发明的一种基于3d数据的自动手势分割算法的手部区域精准分割示意图。

具体实施方式

下面结合附图来说明本发明。

如图1-9所示为本发明所述的一种基于3d数据的自动手势分割算法,包括如下步骤:

s100,首先通过深度信息与灰度值的转换方程将输入的深度数据转换为灰度图像;在s100中,转换方程如下所示:

grayi,j=(currentdisti,j-neardist)/(fardist-neardist)*255

其中,currentdisti,j为当前像素点的深度值,neardist为深度相机的最小工作距离,fardist为深度相机的最大工作距离,grayi,j为深度值转换后的灰度值。

s200,根据深度数据转换后的灰度图像构建灰度直方图,确定阈值区间;计算灰度直方图中的第一个波峰的索引与高度值,而阈值分割区间的宽度根据人手的物理厚度(2-3cm)进行设置,由于图像中存在噪声和手部倾斜的影响,阈值分割的区间宽度设置为8-10cm,对应到灰度值为:(width-neardist)/(fardist-neardist)*255,其中,width为阈值分割的区间宽度,neardist为深度相机的最小工作距离,fardist为深度相机的最大工作距离。

s300,通过自适应阈值进行分割,剩余的像素部分包括手部区域(手指、手掌、手臂)和同深度的其他噪声区域;将阈值分割后的像素点簇分为多个连通区域,再提取最大的连通域,确定手部区域;

s400,进行手部区域轮廓优化,通过迭代手部区域的像素点找到连通域中最大的内切圆,通过最大内切圆算法提取掌心,确定手掌区域;基于3d数据的深度信息进行手部分割的,图像中会存在手臂,因此需要进行轮廓优化,截取手指和手掌部分为最终的手部区域,通过最大内切圆算法提取掌心,由于手掌部分是一个近似的圆,通过迭代手部区域的像素点找到手部区域中最大的内切圆即为手掌区域。

s500,使用凸包检测算法提取轮廓中的所有凸点,其算法分为点集排序和栈扫描;首先点集排序计算所有轮廓点与纵坐标最小点的幅角,并按照从小到大的顺序进行排列,接着通过栈扫描依次判定该点是不是凸包上点。

s600,计算距离掌心最远的凸点,确定手的主轴方向θ:

其中,m1为掌心点,m2为最远凸点,θ为倾斜角度,x和y分别为点的x轴坐标和y轴坐标。

s700,通过主轴方向θ计算与手掌的最大内切圆的两个交点,确定手腕中心点的位置;两个交点中必有一个点为手腕中心,根据主轴方向以及手腕中心点与掌心的空间位置关系,得到手腕中心点的位置;其计算公式为:

c1·x=m1·x+sin(θ)*r,c1·y=m1·y+cos(θ)*r;

c2·x=m1·x-sin(θ)*r,c2·y=m1·y-cos(θ)*r;

其中,c1、c2为主轴方向与最大内切圆的两个交点,r为最大内切圆的半径,m1为最大内切圆的圆心。

s800,通过主轴方向θ和手腕中心点,构建手腕中心点的切线方程,只保留手指和手掌部分,切除手臂部分,完成对手部区域的精准分割。

本发明的一种基于3d数据的自动手势分割算法,通过通过深度信息与灰度值的转换方程将输入的深度数据转换为灰度图像;根据深度数据转换后的灰度图像构建灰度直方图,确定阈值区间;通过自适应阈值进行分割,将阈值分割后的像素点簇分为多个连通区域,再提取最大的连通域,确定手部区域;进行手部区域轮廓优化,通过迭代手部区域的像素点找到连通域中最大的内切圆,通过最大内切圆算法提取掌心,确定手掌区域;使用凸包检测算法提取轮廓中的所有凸点,其算法分为点集排序和栈扫描;通过主轴方向θ计算与手掌的最大内切圆的两个交点,确定手腕中心点的位置;通过主轴方向θ和手腕中心点,构建手腕中心点的切线方程,只保留手指和手掌部分,切除手臂部分,完成对手部区域的精准分割;该算法首先结合阈值分割和深度直方图信息完成3d数据的初步分割,后续通过轮廓优化算法截取手掌、手指部分,完成对手部区域的精准分割。

上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1