申请/专利权人:中国科学技术大学
申请日:2024-04-22
公开(公告)日:2024-07-09
公开(公告)号:CN118314628A
主分类号:G06V40/20
分类号:G06V40/20;G06V10/84;G06V10/75;G06V10/764
优先权:
专利状态码:在审-实质审查的生效
法律状态:2024.07.26#实质审查的生效;2024.07.09#公开
摘要:本发明涉及一种基于改进动态时间规整算法的三维动态手势识别方法,属于机器人视觉领域。该方法的硬件系统包括互相平行的左相机、右相机和上位计算机;具体识别操作步骤如下:1静态手势识别,选取伸出一根手指的静态手势“一”作为识别停止指令,伸出五根手指的静态手势“五”作为识别启动指令;2剔除多余动作;3获取右手腕节点三维运动轨迹序列和右手肘节点三维运动轨迹序列;4根据已建立的三维动态手势分类模板库,完成三维动态手势识别。本发明的三维动态手势识别方法使得三维动态手势识别系统对复杂化的三维动态手势有了更高的识别准确率。
主权项:1.一种基于改进DTW算法的动态手势识别方法,实现该方法的硬件系统包括互相平行的左相机、右相机和上位计算机,左相机和右相机构成双目深度相机,双目深度相机连接上位计算机;上位计算机即为上位机;所述上位机内安装有支持深度学习的视觉处理器GPU;其特征在于:基于改进型DTW算法实现完整手势识别的具体操作步骤如下:1左手手势的静态手势识别1.1手势分割双目深度相机的左相机与右相机同时进行拍摄,并将拍摄得到的左画面和右画面传到上位机,上位机根据模仿人眼判断物体距离的原理,通过比较左画面和右画面的差异,计算出左画面内各点相对于左相机和右相机连线中点的三维坐标,得到包含三维坐标信息的三维点云;以所述三维点云为基础,当人体出现在左画面与右画面中时,获得人体三维点云;通过视觉处理器对人体三维点云进行深度学习实现人体骨骼识别,获取左画面中人体18个关节节点的三维坐标和18个关节节点在左画面中的像素坐标,即得到骨骼识别模型;从骨骼识别模型中,选择左手腕节点作为左手位置定位的依据,获取左手腕节点的三维坐标与在左画面中的像素坐标;在左画面中截取左手腕节点像素坐标上方一个矩形区域内的左手掌图像画面,将左手掌图像画面从左画面内分割出来,得到只包含左手的手掌部分的左手掌图像,完成静态手势识别的手势分割;1.2图像预处理上位机将所述左手掌图像的色域从红绿蓝三原色RGB转换为色相饱和度值HSV,将色相饱和度值中H=19、S=48、V40的像素视为皮肤像素,不满足皮肤像素的视为背景像素,实现左手掌图像二值化,以区分为皮肤像素和背景像素;再对二值化后的左手掌图像进行形态学膨胀,消除手掌中被误判为背景的皮肤像素;再进行中值滤波,消除手掌边缘的锯齿状轮廓,使边缘平滑化;最后进行轮廓提取,消除手掌边缘轮廓以外的皮肤像素和背景像素,得到完整且清晰的左手掌轮廓图片,完成图像预处理;1.3静态手势分类上位机对所述左手掌轮廓图片中轮廓上多个向内部凹陷的结构进行检测,向内部凹陷的结构称为凸包缺陷,记录所有凸包缺陷中大型凸包缺陷的数量,大型凸包缺陷的数量加一即为此左手掌轮廓中伸出手指的数量,按照伸出手指的数量对静态手势进行分类;选取伸出一根手指的静态手势“一”作为动态手势识别的停止指令,伸出五根手指的静态手势“五”作为动态手势识别的启动指令;2剔除多余动作在启动三维动态手势识别前,先启动对左手的静态手势识别,将伸出五根手指的静态手势“五”作为三维动态手势识别的启动指令,在测试者左手做出静态手势“五”后正式开始三维动态手势识别;将伸出一根手指的静态手势“一”作为三维动态手势识别的停止指令,在测试者左手做出静态手势“一”后停止三维动态手势识别;将这两个静态手势之间的动态动作视为需要进行识别的三维动态手势,忽略掉不希望被识别的多余动态手势;3获取右手腕节点三维运动轨迹序列和右手肘节点三维运动轨迹序列收到三维动态手势识别启动指令时,上位机持续接收双目深度相机传回的左视频画面和右视频画面,并通过与步骤1.1中的骨骼识别模型持续对左视频画面中的左肩节点、右肩节点、右手肘节点、右手腕节点进行识别与追踪,获取左肩节点、右肩节点、右手肘节点、右手腕节点的四条三维原始轨迹序列,对四条三维原始轨迹序列进行预处理,分别得到右手腕节点三维运动轨迹序列和右手肘节点三维运动轨迹序列,预处理操作步骤如下:3.1获取关节点三维原始轨迹序列双目深度相机的左相机与右相机同时持续拍摄,并将左视频画面和右视频画面持续传回上位机,上位机通过与步骤1.1中的骨骼识别模型,对左视频画面中的左肩节点、右肩节点、右手肘节点、右手腕节点这四个节点识别与追踪,一共选取连续的200帧图像作为后续处理图像;获取所述200帧图像中的每一帧图像中的四个三维坐标,分别为左肩节点、右肩节点、右手肘节点、右手腕节点相对于左相机和右相机连线中点的三维坐标,一个三维坐标代表一个序列点,分别获得左肩节点、右肩节点、右手肘节点、右手腕节点中每个节点的各200个序列点;将左肩节点的200个序列点按照在200帧图像中的时间顺序从前往后排列,获得左肩节点三维原始轨迹序列;将右肩节点的200个序列点按照在200帧图像中的时间顺序从前往后排,列获得右肩节点三维原始轨迹序列;将右手肘肩节点的200个序列点按照在200帧图像中的时间顺序从前往后排列,获得右手肘节点三维原始轨迹序列;将右手腕节点的200个序列点按照在200帧图像中的时间顺序从前往后排列,获得右手腕节点三维原始轨迹序列,总共获得四条三维原始轨迹序列;3.2获取右手腕节点三维相对轨迹序列和右手肘节点三维相对轨迹序列设置一个变量q,q初始值为1,以左肩节点三维原始轨迹序列中排在第q个的序列点和右肩节点三维原始轨迹序列中排在第q个的序列点的连线的水平投影为x轴,设竖直方向为z轴,根据笛卡尔坐标系右手法则构造一个右手笛卡尔坐标系作为第q个人体坐标系;通过坐标变换公式计算出右手腕节点三维原始轨迹序列中排在第q个的序列点在第q个人体坐标系中的相对坐标,代表右手腕节点三维相对轨迹序列的第q个序列点;通过坐标变换公式计算出右手肘节点三维原始轨迹序列中排在第q个的序列点在第q个人体坐标系中的相对坐标,代表右手肘节点三维相对轨迹序列的第q个序列点;不断将q值加一,并重复步骤3.2,直到q值达到200,分别得到右手腕节点的三维相对轨迹序列和右手肘节点的三维相对轨迹序列;3.3分别获取右手腕节点三维运动轨迹序列和右手肘节点三维运动轨迹序列计算右手腕节点三维相对轨迹序列中相邻序列点之间的腕距离,计算右手肘节点三维相对轨迹序列中相邻序列点之间的肘距离;根据腕距离计算右手腕节点三维相对轨迹序列中每一序列点的运动速度,以运动速度为依据通过聚类算法对右手腕节点的三维相对轨迹序列中的各序列点进行分类,分为高速点与低速点;根据肘距离计算右手肘节点三维相对轨迹序列中每一序列点的运动速度,以运动速度为依据通过聚类算法对右手肘节点的三维相对轨迹序列中的各序列点进行分类,分为高速点与低速点;将连续分布的低速点设为静止阶段,将连续分布的高速点设为运动阶段,剔除静止阶段,分别得到仅包含运动阶段的右手腕节点三维运动轨迹序列和仅包含运动阶段的右手肘节点三维运动轨迹序列;所述连续分布是指:右手肘节点三维相对轨迹序列中连续五个以上的点被同时划为低速点或同时划为高速点;或右手腕节点三维相对轨迹序列中连续五个以上的点被同时划为低速点或同时划为高速点;4三维动态手势识别根据已建立的三维动态手势分类模板库,三维动态手势识别的具体操作步骤如下:4.1获得最相似动态手势测试者做出一个待识别的三维动态手势,按照步骤2与步骤3获取右手腕节点三维运动轨迹序列、右手肘节点三维运动轨迹序列,并通过改进型动态时间规整算法将所述两个关节点的三维运动轨迹序列与三维动态手势分类模板库中每一个三维动态手势分类模板分别进行一次相似度匹配,相似度匹配的具体步骤如下:计算待识别的右手腕节点三维运动轨迹序列与三维动态手势分类模板中的右手腕节点精细模板轨迹序列的改进型动态时间规整距离,得到右手腕节点的改进型动态时间规整距离;计算待识别的右手肘节点三维运动轨迹序列与三维动态手势分类模板中的右手肘节点精细模板轨迹序列的改进型动态时间规整距离,得到右手肘节点的改进型动态时间规整距离;取右手腕节点的改进型动态时间规整距离和右手肘节点的改进型动态时间规整距离的平均值作为待识别的右手腕节点或右手肘节点的三维运动轨迹序列与三维动态手势分类模板的相似度评价值,相似度评价值越小则越相似;从三维动态手势分类模板库中筛选出与待识别的右手腕节点或右手肘节点的三维运动轨迹序列最相似的三维动态手势分类模板,将该三维动态手势分类模板对应的三维动态手势记为最相似动态手势,对应的相似度评价值称为最小动态时间规整距离;所述改进型动态时间规整算法是由动态时间规整算法加上修正操作步骤得到;4.2得出三维动态手势识别结果若最小动态时间规整距离值小于0.2m,认为成功识别出待识别的三维动态手势,此时最相似动态手势即为手势识别结果;若最小动态时间规整距离值大于0.2m,认为测试者做出的待识别的三维动态手势与最相似动态手势不属于同一动态手势,即测试者做出的动态手势还未记录在三维动态手势分类模板库中;所述三维动态手势分类模板库的建立操作如下:在正式开始三维动态手势识别操作前,测试者需要不断重复目标三维动态手势,并通过步骤2与步骤3不断提取出右手腕节点三维运动轨迹序列和右手肘节点三维运动轨迹序列,提取出的第一个右手腕节点三维运动轨迹序列设为右手腕节点粗糙模板轨迹序列,提取出的第一个右手肘节点三维运动轨迹序列设为右手肘节点粗糙模板轨迹序列;在测试者不断重复目标三维动态手势的过程中,上位机通过改进型动态时间规整算法和模板合成算法不断对两个粗糙模板轨迹序列进行模板合成与替换,完成200次模板合成与替换后的右手腕节点粗糙模板轨迹序列称为右手腕节点精细模板轨迹序列,完成200次模板合成与替换后的右手肘节点粗糙模板轨迹序列称为右手肘节点精细模板轨迹序列,两个精细模板轨迹序列合称为所述目标三维动态手势的三维动态手势分类模板;不断设计新的目标三维动态手势并获取三维动态手势分类模板,直到目标三维动态手势的数量达到四个以上,即获得四个以上的三维动态手势分类模板,四个以上的三维动态手势分类模板构成三维动态手势分类模板库,用作正式进行三维动态手势识别操作时的手势识别依据。
全文数据:
权利要求:
百度查询: 中国科学技术大学 一种基于改进动态时间规整算法的三维动态手势识别方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。