基于视觉实现手势识别的系统和方法技术方案

技术编号:22817590 阅读:16 留言:0更新日期:2019-12-14 13:19
基于视觉实现手势识别的系统,包括如下模块:手部检测模块、手部姿态估计模块和手部姿态估计模块;基于视觉实现手势识别的方法,包括下列操作步骤:(1)将对齐的RGB图片输入到手部检测模块中,得到手的边界框;(2)手部姿态估计模块截取深度图中对应的手的部分,得到手部关键关节点的3D坐标;(3)将所述手部关键关节点的3D坐标输入到手势识别模块,得到数字手势编码;(4)根据数字手势编码,对手势进行相似度度量,从而实现手势识别;本发明专利技术的系统和方法具有良好的准确率、实时性和鲁棒性。

System and method of gesture recognition based on vision

【技术实现步骤摘要】
基于视觉实现手势识别的系统和方法
本专利技术涉及一种基于视觉实现手势识别的系统和方法,属于信息
,特别是属于计算机视觉

技术介绍
随着计算机计算能力的大幅度提升与深度学习的蓬勃发展,人工智能在近年间展现了强大的生命力与发展前景,人脸识别、语音识别等技术的出现改变了人机交互的模式,但人们还在探索更准确、高效并且更符合人类使用习惯的交互模式,随着用户界面的演变,尤其是虚拟现实技术和增强现实技术的快速发展,用手势实现非接触式远距离人机交互被看作下一代最具代表性、创新性的交互方式。在智能家居领域,引入手势控制可以更方便地控制智能家电或机器人;在虚拟现实与增强现实领域可以通过手势操作这种更为自然的表达方式获得更强的真实感;在游戏和教育领域,可以大大增强用户体验等。最初手势识别通过手部穿戴设备采集信息,如数据手套和光学标记设备,直接检测手部主要关节的空间位置,检测效果良好,但价格昂贵,应用在常用领域性价比低。佩戴额外设备虽然可以保障手势识别的准确度和稳定性,但掩盖了手势自然表达的方式,对用户来说是额外的负担。近年来,深度成像和深度学习的进步使得基于深度数据的手部姿态估计取得了重要突破。首先,由于商用深度摄像头(如微软Kinect和英特尔Realsense)的广泛应用,手部姿态估计技术几乎转变为仅使用深度输入,深度信息解决了单目RGB输入中存在的模糊性问题。其次,深度学习从根本上解决了视觉领域任务的解决方式,特别是卷积神经网络(CNN)已经成为图像识别领域最先进的学习框架之一。其成功的关键是它们能从大量的标记数据中学习到现实世界物体的复杂外观,特别是通用视觉特征,这种视觉特征可以应用在如物体检测、语义分割、人体姿态估计及许多其他任务中。然而,当前基于深度数据的手部姿态估计解决方案大多数没有专门的手部检测模块,而是在深度图上通过传统图像处理方式找到距离摄像头最近的点,将这个点附近的区域确定为手,通过这种方式确定手的位置会使网络抗干扰能力差,鲁棒性低,对手所在位置有一定限制,不适用于前方有遮挡的情况,且当手部活动范围较大时,往往定位不够精确。手部检测与基于深度数据的3D手部姿态估计,进而实现手势识别成为计算机视觉、人机交互以及虚拟技术等领域一个亟待解决的技术难题。
技术实现思路
有鉴于此,本专利技术的目的是专利技术一种基于计算机视觉实现手势识别的系统和方法,实现用户无需借助第三方工具,直接与计算机或虚拟场景交互,获得沉浸式的用户体验的目的。为了达到上述目的,本专利技术提出了一种基于视觉实现手势识别的系统,所述系统包括如下模块:手部检测模块:该模块的功能是从输入的对齐的RGB图片中获得手的边界框;该模块基于SSD网络修改而成,该模块由三部分组成:基础网络子模块、附加层子模块和预测层子模块;基础网络子模块的主要功能是完成特征提取,并生成较大分辨率特征图,并利用所述的特征图生成设定尺寸和设定宽高比的默认边界框;该子模块基于VGG16网络修改而成,具体为:该子模块使用了VGG16网络的全部卷积层,并将VGG16网络的两个全连接层替换为两个普通的卷积层;附加层子模块由一系列卷积层组成,两个为一组,该子模块的主要功能是用于生成较小分辨率特征图,并利用所述的特征图生成设定尺寸和设定宽高比的默认边界框;预测层子模块由卷积层组成,该子模块的主要功能是对所述的每个特征图进行两个卷积滤波处理,并分别预测所述特征图上默认边界框的位置偏移和默认边界框的类别置信度,即默认边界框中包含手部的概率。预测默认边界框位置偏移的卷积层由4×q个大小为3×3×p的卷积核组成,其中参数q为特征图每个点上生成的默认边界框个数,参数p为特征图的通道数;预测默认边界框类别置信度的卷积层由c×q个大小为3×3×p的卷积核组成,其中参数c为预测的类别总数。手部姿态估计模块:该模块的功能是:利用手部检测模块所获得的手的边界框,对与所述的对齐的RBG图片对应的深度图进行数据预处理,截取所述深度图中对应的手的部分,输入到手部姿态估计网络中得到手部关键关节点的3D坐标;所述关键关节点的3D坐标是关节点在图像坐标系下的位置,可变换到相机坐标系下,当对相机进行标定后,相机坐标系即为世界坐标系;为了提高鲁棒性,当手部检测模块未检测到手时,手部姿态估计模块截取所述深度图一定深度阈值内的点作为手的部分;手部姿态估计模块直接使用Resnet18网络预测手的关键关节点在图像坐标系中的3D坐标,即(u,v,d);手势识别模块:该模块的功能是基于手部姿态估计模块的输出结果,即手的关键关节点在图像坐标系中的3D坐标,识别单根手指状态与指间关系,输出数字手势编码;识别精度主要取决于手部姿态估计模块的精度,对手掌与摄像头的角度、手掌大小等均有较强的鲁棒性;所述手部检测模块生成特征图并生成设定尺寸和设定宽高比的默认边界框的具体内容是:所述手部检测模块从各个卷积层中抽出多个分辨率不同的特征图,所述手部检测模块利用所述特征图在所述特征图的每个点上生成q个设定尺寸和设定宽高比的默认边界框。较低层级的特征图分辨率较大,生成的默认边界框较小,负责检测小物体;而较高层级的特征图分辨率较小,生成的默认边界框较大,负责检测大物体,组合各种尺寸的默认边界框,以提高系统对所检测物体尺寸的鲁棒性;所述当手部检测模块未检测到手时,手部姿态估计模块截取所述深度图一定深度阈值内的点作为手的部分的具体内容是:由于手部检测模块可能出现手部检测不完整或者检测不到手的情况,因此直接截取手的边界框内的深度值可能导致手的深度值缺失严重,所以需要根据手的边界框对深度图进行预处理,截取合理的手的区域;具体方法是:当手部检测不完整时,计算所述手的边界框的中心点坐标(uo,vo),计算手的边界框对应所述深度图区域内的各点的深度平均值do,构成一个图像坐标系下的点坐标(uo,vo,do),然后将该图像坐标系下的点坐标(uo,vo,do)变换到相机坐标系下,作为固定尺寸的立方体边界框的中心,手部姿态估计模块利用所述立方体边界框截取将手的区域截取出来,截取后框内的点保持原值,框外的点设置为背景点,而后将框内的点再变换到图像坐标系下作为手的区域进行手部姿态估计;所述的立方体边界框的尺寸可以根据需要设定,以便对不同形状的手都适用;当检测不到手时,采样距离摄像头最近的一些点作为手的区域进行手部姿态估计;所述手势识别模块根据手的关键关节点在图像坐标系中的3D坐标,识别单根手指状态与指间关系的具体内容是:单根手指的状态由手指上关键关节点的x、y、z坐标的方差和相对值确定,即:手指状态为向上时,手指上关键关节点的x、z坐标方差小,y坐标方差大;手指状态为弯曲时,手指上关键关节点的x坐标方差小,y、z坐标方差大;手指状态为向前时(针对除大拇指外的其他四指),手指上关键关节点的x,y坐标方差小,z坐标方差大;手指状态为侧边时(只针对大拇指),手指上关键关节点的x,y坐标方差较大,z坐标方本文档来自技高网
...

【技术保护点】
1.基于视觉实现手势识别的系统,其特征在于:所述系统包括如下模块:/n手部检测模块:该模块的功能是从输入的对齐的RGB图片中获得手的边界框;该模块基于SSD网络修改而成,该模块由三部分组成:基础网络子模块、附加层子模块和预测层子模块;/n基础网络子模块的主要功能是完成特征提取,并生成较大分辨率特征图,并利用所述的特征图生成设定尺寸和设定宽高比的默认边界框;该子模块基于VGG16网络修改而成,具体为:该子模块使用了VGG16网络的全部卷积层,并将VGG16网络的两个全连接层替换为两个普通的卷积层;/n附加层子模块由一系列卷积层组成,两个为一组,该子模块的主要功能是用于生成较小分辨率特征图,并利用所述的特征图生成设定尺寸和设定宽高比的默认边界框;/n预测层子模块由卷积层组成,该子模块的主要功能是对所述的每个特征图进行两个卷积滤波处理,并分别预测所述特征图上默认边界框的位置偏移和默认边界框的类别置信度,即默认边界框中包含手部的概率;/n预测默认边界框位置偏移的卷积层由4×q个大小为3×3×p的卷积核组成,其中参数q为特征图每个点上生成的默认边界框个数,参数p为特征图的通道数;/n预测默认边界框类别置信度的卷积层由c×q个大小为3×3×p的卷积核组成,其中参数c为预测的类别总数;/n手部姿态估计模块:该模块的功能是:利用手部检测模块所获得的手的边界框,对与所述的对齐的RBG图片对应的深度图进行数据预处理,截取所述深度图中对应的手的部分,得到手部关键关节点的3D坐标;所述关键关节点的3D坐标是关节点在图像坐标系下的位置,可变换到相机坐标系下,当对相机进行标定后,相机坐标系即为世界坐标系;为了提高鲁棒性,当手部检测模块未检测到手时,手部姿态估计模块截取所述深度图一定深度阈值内的点作为手的部分;手部姿态估计模块直接使用Resnet18网络预测手的关键关节点在图像坐标系中的3D坐标,即(u,v,d);/n手势识别模块:该模块的功能是基于手部姿态估计模块的输出结果,即手的关键关节点在图像坐标系中的3D坐标,识别单根手指状态与指间关系,输出数字手势编码;识别精度主要取决于手部姿态估计模块的精度,对手掌与摄像头的角度、手掌大小等均有较强的鲁棒性。/n...

【技术特征摘要】
1.基于视觉实现手势识别的系统,其特征在于:所述系统包括如下模块:
手部检测模块:该模块的功能是从输入的对齐的RGB图片中获得手的边界框;该模块基于SSD网络修改而成,该模块由三部分组成:基础网络子模块、附加层子模块和预测层子模块;
基础网络子模块的主要功能是完成特征提取,并生成较大分辨率特征图,并利用所述的特征图生成设定尺寸和设定宽高比的默认边界框;该子模块基于VGG16网络修改而成,具体为:该子模块使用了VGG16网络的全部卷积层,并将VGG16网络的两个全连接层替换为两个普通的卷积层;
附加层子模块由一系列卷积层组成,两个为一组,该子模块的主要功能是用于生成较小分辨率特征图,并利用所述的特征图生成设定尺寸和设定宽高比的默认边界框;
预测层子模块由卷积层组成,该子模块的主要功能是对所述的每个特征图进行两个卷积滤波处理,并分别预测所述特征图上默认边界框的位置偏移和默认边界框的类别置信度,即默认边界框中包含手部的概率;
预测默认边界框位置偏移的卷积层由4×q个大小为3×3×p的卷积核组成,其中参数q为特征图每个点上生成的默认边界框个数,参数p为特征图的通道数;
预测默认边界框类别置信度的卷积层由c×q个大小为3×3×p的卷积核组成,其中参数c为预测的类别总数;
手部姿态估计模块:该模块的功能是:利用手部检测模块所获得的手的边界框,对与所述的对齐的RBG图片对应的深度图进行数据预处理,截取所述深度图中对应的手的部分,得到手部关键关节点的3D坐标;所述关键关节点的3D坐标是关节点在图像坐标系下的位置,可变换到相机坐标系下,当对相机进行标定后,相机坐标系即为世界坐标系;为了提高鲁棒性,当手部检测模块未检测到手时,手部姿态估计模块截取所述深度图一定深度阈值内的点作为手的部分;手部姿态估计模块直接使用Resnet18网络预测手的关键关节点在图像坐标系中的3D坐标,即(u,v,d);
手势识别模块:该模块的功能是基于手部姿态估计模块的输出结果,即手的关键关节点在图像坐标系中的3D坐标,识别单根手指状态与指间关系,输出数字手势编码;识别精度主要取决于手部姿态估计模块的精度,对手掌与摄像头的角度、手掌大小等均有较强的鲁棒性。


2.根据权利要求1所述的基于视觉实现手势识别的系统,其特征在于:所述手部检测模块生成特征图并生成设定尺寸和设定宽高比的默认边界框的具体内容是:
所述手部检测模块从各个卷积层中抽出多个分辨率不同的特征图,所述手部检测模块利用所述特征图在所述特征图的每个点上生成q个设定尺寸和设定宽高比的默认边界框;
较低层级的特征图分辨率较大,生成的默认边界框较小,负责检测小物体;而较高层级的特征图分辨率较小,生成的默认边界框较大,负责检测大物体,组合各种尺寸的默认边界框,以提高系统对所检测物体尺寸的鲁棒性。


3.根据权利要求1所述的基于视觉实现手势识别的系统,其特征在于:所述当手部检测模块未检测到手时,手部姿态估计模块截取所述深度图一定深度阈值内的点作为手的部分的具体内容是:
由于手部检测模块可能出现手部检测不完整或者检测不到手的情况,因此直接截取手的边界框内的深度值可能导致手的深度值缺失严重,所以需要根据手的边界框对深度图进行预处理,截取合理的手的区域;
具体方法是:
当手部检测不完整时,计算所述手的边界框的中心点坐标(uo,vo),计算手的边界框对应所述深度图区域内的各点的深度平均值do,构成一个图像坐标系下的点坐标(uo,vo,do),然后将该图像坐标系下的点坐标(uo,vo,do)变换到相机坐标系下,作为固定尺寸的立方体边界框的中心,手部姿态估计模块利用所述立方体边界框截取将手的区域截取出来,截取后框内的点保持原值,框外的点设置为背景点,而后将框内的点再变换到图像坐标系下作为手的区域进行手部姿态估计;所述的立方体边界框的尺寸可以根据需要设定,以便对不同形状的手都适用;
当检测不到手时,采样距离摄像头最近的一些点作为手的区域进行手部姿态估计。


4.根据权利要求1所述的基于视觉实现手势识别的系统,其特征在于:所述手势识别模块根据手的关键关节点在图像坐标系中的3D坐标,识别单根手指状态与指间关系的具体内容是:
单根手指的状态由手指...

【专利技术属性】
技术研发人员:王敬宇孙海峰王晶戚琦黄伟亭任鹏飞穆正阳
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1