CN113269089B - 基于深度学习的实时手势识别方法及系统 - Google Patents
基于深度学习的实时手势识别方法及系统 Download PDFInfo
- Publication number
- CN113269089B CN113269089B CN202110574202.7A CN202110574202A CN113269089B CN 113269089 B CN113269089 B CN 113269089B CN 202110574202 A CN202110574202 A CN 202110574202A CN 113269089 B CN113269089 B CN 113269089B
- Authority
- CN
- China
- Prior art keywords
- hand
- gesture
- network
- frame
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Human Computer Interaction (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度学习的实时手势识别方法及系统,包括以下步骤:采集图像并利用目标检测网络提取所述图像中的手部深度图像;将手部深度图像转化成3D体素化数据,并输入到V2V‑PoseNet网络中获得手部关键点数据;所述V2V‑PoseNet网络为进行剪枝处理的V2V‑PoseNet网络;对手部关键点数据进行预处理后输入到分类网络进行手势动作分类得到手势类别。本发明提供的方法中结合前沿的深度学习模型,避免了引入人工定义特征,模型泛化能力和表达能力较强,扩展性良好。对于系统中使用到的现有模型根据任务的需要进行了剪枝和优化,在不影响精度的前提下提高了模型的速度。在数据集MSRAHand上的关键点检测和动作分类效果良好。
Description
技术领域
本发明涉及深度学习和手势识别技术领域,特别是一种基于深度学习的实时手势识别方法及系统。
背景技术
在人类科学技术取得了飞速发展的今天,人们的日常生活中已经广泛使用人机交互技术,并不断发展出更加丰富的应用。人机交互技术可以通过各种方式、各种语言使得人们和机器设备进行交流,其中就包括手势语言。手势是人们生活当中使用的一种自然而直观的人际交流模式,随着人机交互逐渐向以人为中心转移,对手势识别的研究逐渐成为研究的热点。它为使用者提供了虚拟环境之间自然交互的手段,这是最受欢迎的人机接口技术之一。然而,由于手势本身具有的多样性、多义性、以及时间和空间上的差异性等特点,加之人手是复杂变形体及视觉本身的不适定性,因此基于视觉的手势识别是一个极富挑战性的多学科交叉研究课题。随着图像处理和模式识别等相关技术的不断发展,以及自然人机交互的广泛应用,人们开始着重研究手势识别技术。
现有的手势识别技术存在某些缺陷和不足包括:精度低、速度慢、功耗高、算法不透明等。另外,有些方法在应用范围上有局限性。比如在静态手势识别时常用到的模板匹配的方法虽然速度快,但是却只能处理静态手势,无法识别多帧的视频构成的连续手势动作。
发明内容
有鉴于此,本发明的目的在于提供一种基于深度学习的实时手势识别方法及系统,该方法及系统能实时准确地进行手势动作识别,速度快,精度高。
为达到上述目的,本发明提供如下技术方案:
本发明提供的基于深度学习的实时手势识别方法,包括以下步骤:
采集图像并利用目标检测网络提取所述图像中的手部深度图像;
将手部深度图像转化成3D体素化数据,并输入到V2V-PoseNet网络中获得手部关键点数据;所述V2V-PoseNet网络为进行剪枝处理的V2V-PoseNet网络;
对手部关键点数据进行预处理后输入到分类网络进行手势动作分类得到手势类别。
进一步,所述手部深度图像是通过以下步骤获取的:
获取深度图像和RGB图像;
将RGB图像输入YOLOv3网络,获得手部包围框;
将深度图像与RGB图像对齐,根据手部包围框的坐标裁剪深度图像,分离手部区域和背景区域,得到手部深度图像。
进一步,所述手部关键点数据是通过以下步骤来实现的:
按照以下步骤进行3D体素化数据:将深度图像转化为3D体积形式,将点重新投射到3D空间,并将连续空间离散化,根据体素空间位置与目标对象设置个离散空间的体素值;
将3D体素化数据作为V2V-PoseNet网络的输入,计算每个关键点属于每个体素的似然,识别出每个关键点的最高似然对应的位置,并将其转化为真实世界的坐标,成为手部关键点数据。
进一步,所述预处理包括以下步骤:
确定初始位置:将第一帧手部图像的掌根点作为基准点;
确定手部大小:将手部图像的掌根到五指根的平均距离调整为预设值,并使得所有坐标按照以下公式等比例变换:
其中,yij为调整后第i帧第j个关节点的坐标,xij为调整前第i帧第j个关节点的坐标,x00为第0帧掌根的坐标,为第t个手指的指根索引。
进一步,所述手势动作分类按照以下步骤进行:
根据手部关键点数据将手势动作预定义为静态手势和动态手势;
建立静态手势分类网络和动态手势分类网络;
根据静态手势和动态手势选择对应的分类网络进行手势分类。
进一步,所述静态手势分类网络为全连接网络;所述动态手势分类网络为时空图卷积网络模型;所述时空图卷积网络模型按照以下步骤进行分类:建立多帧手部关节点时空图并输入时空图卷积网络模型得到全图特征向量;使用全连接网络得到分类结果。
进一步,所述多帧手部关节点时空图按照以下步骤建立:
获取连续的T帧手势图像,每个手势图像有N个关键点;
对多帧手部关节点构成时空图进行合并简化,通过一定的对应关系将节点信息合并,按照以下公式计算合并后节点值:
其中,yij为合并后第i帧第j个关节点的特征向量,Aj为第j个合并关节点所对应的合并前关节点的索引的集合,wα为该类对应的系数。
其中,每一节点的值按照以下公式计算:
其中,yij为下一层中第i帧第j个关节点的特征向量,Aijt为时空骨架图中与第i帧第j个关节点距离为t的点的索引的集合,wjt为对应的系数,h为预先指定的最大作用距离。
本发明还提供了一种基于深度学习的实时手势识别系统,包括手部深度图像提取单元、手部关键点检测单元、手势动作分类器;
所述手部深度图像提取单元,用于采集图像并利用目标检测网络提取所述图像中手部深度图像;所述手部深度图像是通过以下步骤获取的:获取深度图像和RGB图像;将RGB图像输入YOLOv3网络,获得手部包围框;将深度图像与RGB图像对齐,根据手部包围框的坐标裁剪深度图像,分离手部区域和背景区域,得到手部深度图像;
所述手部关键点检测单元,用于将手部深度图像转化成3D体素化数据,并输入到V2V-PoseNet网络中获得手部关键点数据;所述手部关键点数据是通过以下步骤来实现的:按照以下步骤进行3D体素化数据:将深度图像转化为3D体积形式,将点重新投射到3D空间,并将连续空间离散化,根据体素空间位置与目标对象设置个离散空间的体素值;将3D体素化数据作为V2V-PoseNet网络的输入,计算每个关键点属于每个体素的似然,识别出每个关键点的最高似然对应的位置,并将其转化为真实世界的坐标,成为手部关键点数据;
所述手势动作分类器,用于对手部关键点数据进行预处理后输入到分类网络进行手势动作分类得到手势类别;所述手势动作分类按照以下步骤进行:根据手部关键点数据将手势动作预定义为静态手势和动态手势;建立静态手势分类网络和动态手势分类网络;根据静态手势和动态手势选择对应的分类网络进行手势分类;所述静态手势分类网络为全连接网络;所述动态手势分类网络为时空图卷积网络模型;所述时空图卷积网络模型按照以下步骤进行分类:建立多帧手部关节点时空图并输入时空图卷积网络模型得到全图特征向量;使用全连接网络得到分类结果。
进一步,所述预处理包括以下步骤:
确定初始位置:将第一帧手部图像的掌根点作为基准点;
确定手部大小:将手部图像的掌根到五指根的平均距离调整为预设值,并使得所有坐标按照以下公式等比例变换:
其中,yij为调整后第i帧第j个关节点的坐标,xij为调整前第i帧第j个关节点的坐标,x00为第0帧掌根的坐标,为第t个手指的指根索引。
进一步,所述多帧手部关节点时空图按照以下步骤建立:
获取连续的T帧手势图像,每个手势图像有N个关键点;
对多帧手部关节点构成时空图进行合并简化,通过一定的对应关系将节点信息合并,按照以下公式计算合并后节点值:
其中,yij为合并后第i帧第j个关节点的特征向量,Aj为第j个合并关节点所对应的合并前关节点的索引的集合,wα为该类对应的系数。
其中,每一节点的值按照以下公式计算:
其中,yij为下一层中第i帧第j个关节点的特征向量,Aijt为时空骨架图中与第i帧第j个关节点距离为t的点的索引的的集合,wjt为对应的系数,h为预先指定的最大作用距离。
本发明的有益效果在于:
本发明提供的基于深度学习方法的实时手势识别方法及系统,主要分为三个部分:首先,对于深度摄像头采集的彩色及深度(RGBD)图像,基于RGB图像利用深度学习目标检测方法提取手部包围框,基于包围框和深度图像分离手部深度图像;其次,将深度信息转化为体素表示,利用三维卷积网络,检测手部关键点的位置;最后,根据关键点的位置,分别提出了静态和动态手势动作使用不同网络模型的分类方法。本发明提供的方法中结合前沿的深度学习模型,避免了引入人工定义特征,模型泛化能力和表达能力较强,扩展性良好。对于系统中使用到的现有模型根据任务的需要进行了剪枝和优化,在不影响精度的前提下提高了模型的速度。在数据集MSRAHand上的关键点检测和动作分类效果良好。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为系统框架图YOLOv3结构图V2V网络结构图ST-GCN示意图。
图2为手部检测流程示意图。
图3为单帧和多帧手势动作识别结果示意图。
图4为多帧手部关节点构成时空图。
图5为关节合并方法示意图。
图6为目标检测提取手部包围框示例示意图。
图7为在MSRA数据集第0子集上的测试示意图。
图8为多线程流水线加速处理结构示意图。
图中,1表示手部深度图像提取、2表示手部关键点检测、3表示基于关键点位置对手势进行动作分类;4表示手部检测的输入、5表示手部检测的处理、6表示手部检测的输出、7表示手部包围框。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例1
如图1所示,图1为系统框架图YOLOv3结构图V2V网络结构图ST-GCN示意图,本实施例提供的系统中的手势识别流程可分为三个主要阶段:手部深度图像提取、手部关键点检测、基于关键点位置对手势进行动作分类。
首先,从深度摄像头获得可以相互对齐的深度图像和RGB图像。将RGB图像输入YOLOv3网络,基于RGB图像利用深度学习目标检测方法提取手部包围框,获得手部包围框,基于包围框和深度图像分离手部深度图像;
然后,将深度信息转化为体素表示,利用三维卷积网络,检测手部关键点的位置;
将深度图像与RGB图像对齐,依据包围框坐标合理裁剪深度图像,利用阈值方法分离手部区域和背景区域,将手部深度图像作为下一阶段关键点检测输入。在关键点检测阶段,将2D深度图进行重投影和3D体素化,利用V2V网络预测深度图像中的手部关键点位置,输出是预测的手部关键点的三维坐标。
最后,在分类阶段,根据关键点的位置,分别提出了静态和动态手势动作使用不同网络模型的分类方法,将V2V网络预测到的关键点坐标输入到全连接网络或ST-GCN分类网络,输出手势的具体类别。
本实施例中使用的系统中结合了前沿的深度学习模型,避免了引入人工定义特征,模型泛化能力和表达能力较强,扩展性良好。对于系统中使用到的现有模型根据任务的需要进行了剪枝和优化,在不影响精度的前提下提高了模型的速度。在数据集MSRAHand上的关键点检测和动作分类效果良好。
采用这种结构使得三部分具备一定的独立性,可以独立进行各模块的分别优化,也可以考虑在模型串联时的改进工作。
本实施例中利用到目标检测模型YOLOv3来获得手部包围框,利用基于3D卷积的V2V网络检测手部关键点位置,在手势分类上则运用了时空图卷积网络(ST-GCN)的思想。根据问题对模型进行了剪枝和场景优化,在不影响精度的前提下提高了模型识别的速度。这使得本实施例中的模型具有实时性、精度高、稳定性好等优点。
其中,目标检测可分为两类,一类是两阶段的模型,这类模型需要先根据算法产生目标候选框,也就是目标位置,然后再对候选框做分类与回归;另一类是一阶段的模型,这类模型仅仅使用一个卷积神经网络CNN直接预测不同目标的类别与位置。第一类方法准确度较高,但是速度慢;第二类方法速度快,但是准确度较低。第一类模型以RossGirshick等人提出的R-CNN为基础。RossGirshick还对它做了改进,提出了FastR-CNN,该模型相比于R-CNN更快。KaimingHe等人在R-CNN的基础上又提出了MaskR-CNN,该模型准确率更高。第二类模型主要以WeiLiu等人提出的SSD以及JosephRedmon等人提出的YOLO为代表。
基于深度的3D手部关键点识别:手势识别方法可以被分类为生成方法、鉴别方法和混合方法。生成方法假设了一个预设的手部模型,并通过最小化手部生成的成本函数将其拟合到输入深度图像上。粒子游动优化(Particleswamoptimization,PSO),迭代最接近点(iterativeclosestpoint,ICP)以及他们的组合是常用的算法,用于获得最优的手部姿势结果。鉴别方法直接从输入深度图中定位手部关节。基于随机森林的方法提供了快速、准确的性能。然而,由于需要利用手工特征,被近期基于CNN的方法所取代。Tompson等人首先利用CNN通过估计每个手部关节的二维热度图来定位手部关键点。Ge等通过利用多视图CNN来估计每个视图的二维热图,扩展了这种方法。Ge等将二维输入深度图转化为三维形式,并通过三维CNN直接估计三维坐标。Guo等人提出了一种区域集合网络来精确估计手部关键点的三维坐标,Chen等人通过迭代细化估计姿态来改进该网络。混合方法结合了生成方法和鉴别方法。Oberweger等人训练了通过反馈循环,对鉴别性CNN和生成性CNN进行鉴别和生成。Zhou等人预先定义了一个手模型,并估计了模型的参数,而不是直接预测三维坐标。Ye等人利用了空间注意机制和层次化PSO。
分类算法:分类是在一群已经知道类别标号的样本中,训练一种分类器,让其能够对某种未知的样本进行分类。QiongWang等人提出的朴素贝叶斯分类方法逻辑简单、易于实现。Kotsiantis等人利用到了支持向量机(SVM)来进行分类,可以有效解决高维问题。利用决策树来进行分类适用于非线性问题。随着深度学习的发展,利用人工神经网络来进行分类逐渐成为了研究的热点。在基于关键点骨架序列的人体动作分类问题上,可以分为基于手工特征的方法和深度学习方法。第一种方法手工描述关节运动的动力学。第二种使用深度学习建立端到端的方式学习动作识别模型,为了提升精度同样需要对人体进行各部位建模。首次提出将骨架序列视为时空图,利用图卷积自动提取特征并分类,不再需要引入人工定义的遍历规则和身体部件定义,充分利用骨架序列特性。
实施例2
本实施例提供的基于深度学习的手势识别系统包括手部深度图像提取单元、手部关键点检测单元、手势动作分类器,具体如下:
手部深度图像提取单元:采用深度体感摄像头例如MicrosoftKinect进行姿势/手势检测,首先通过分割策略将人体/手部从背景中分离,接着通过机器学习模型识别具体部位,生成由关键点组成的骨架模型,再基于骨架完成动作的识别。
本实施例采用基于RGBD图像进行手部提取-关键点识别-动作识别。但对于第一步中提取、分离出待检测的手部,本实施例中使用了目标检测方法代替分割策略。
具体流程为:输入RGB图片,用目标检测的机器学习模型提取出手部的包围框,用包围框范围对RGB图片对应的深度图进行裁剪,再对裁剪后的深度图通过阈值方法,分离手部和背景区域,获取手部直接相关的深度信息。
采取目标检测方法的原因包括(1)检测包围框相较进行像素级分割的方法开销较小,目前基于机器学习的目标检测方法高效稳定;(2)关于背景和手部在深度上的分离,由于手势识别任务的特殊性,即手部通常最靠近摄像头、背景物体和手部距离通常较远,一般实际应用中可以直接使用深度阈值过滤的方法,或采取OTSU方法对深度图像进行二值化,形成手部的遮罩蒙版(mask),可用于去除背景,保留手部相关的深度信息。并且,在本实施例中使用的关键点检测方法中,可直接使用经裁剪的手部深度图和mask作为输入。
本实施例中采用的是目标检测网络YOLOv3,该网络兼具检测速度优势和较高的精度,是最广泛使用的目标检测模型之一。YOLOv3可以在三种尺度上进行预测,特别对于小尺度物体检测有较好的表现。为了进一步提高检测速度,使用了对模型进行channel剪枝的网络结构,在开源数据集OxfordHand上进行预训练,能够对RGB图片中的手部进行单目标的检测。实验中发现预训练模型对于大部分任务精度高,能够正确提取包围框。在检测出多个包围框的情况下,默认保留最大包围框的内容。模型仅对于小部分手部相对靠近摄像位置,即手部占据图片大部分的目标不敏感,对于这部分图片,可以省略包围框裁剪,直接对深度图进行深度过滤去除无关背景后作为下一阶段输入。
如图2所示,图2为手部检测流程,获取经过裁剪的手部深度图像后,可以通过手部关键点检测单元进行手部关键点检测,参考方法为V2V-PoseNet,关键点检测流程具体如下:首先,将2D深度图像转化为3D体积形式,将点重新投射到3D空间中去,并将连续空间离散化。在对2D图像进行体素化后,V2V网络将3D体素化数据作为输入,估计每个关键点属于每个体素的似然。接下来识别出每个关键点的最高似然对应的位置,并将其转化为真实世界的坐标,成为最终的结果并输出。
本实施例提供的模型V2V网络的整体架构如下:
输入数据的生成,V2V网络的输入数据生成过程:V2V网络将3D体素化数据作为模型的输入。体素是数字数据于三维空间上分割的最小单位,概念上类似于二维空间上的最小单位像素。像素可以用一个二维向量来表示它的坐标,因此体素也可以用一个三维向量来表示它的空间位置。
将得到手部的二维深度图上的像素根据相机参数重投影到三维空间,再将三维空间根据预先定义好的体素的大小分割成离散的空间。如果某一个体素的空间位置正好被目标对象占据了就将这个体素的输入值设为1,否则设为0。经过这一步骤后,所有的体素都被赋予了0或1来表示该体素所在的三维空间位置是否被目标对象所占据,这些体素值将作为V2V网络的输入来预测手部的关键点坐标。可以看到,V2V网络的输入数据是三维的体素数据,而现有的大部分利用深度学习进行手势识别的模型输入都是二维的深度图像数据。实际上,利用二维深度图直接回归三维关键点坐标有两个明显的缺点:其一是二维深度图像存在透视失真(perspectivedistortion)的问题,因此直接将其输入到神经网络中模型看到的是一个失真的手部;其二是二维深度图像与三维关键点坐标之间是一个高度非线性的对应关系,这种高度非线性对应关系阻碍了神经网络准确地预测关键点坐标。而将二维深度图像转化为三维体素数据后作为模型的输入就没有上述两个问题,因为三维体素数据它类似点云(pointcloud),用它来表示手部不会存在透视失真的问题,另外,三维体素与三维关键点坐标之间的对应关系相对来说更加简单,它们在维度上是一致的,非线性程度没有二维深度图像与三维关键点坐标之间高,因此这样的模型更好训练。
V2V网络构建,需要四种构件:第一个是体积基本块(volumetricbasicblock),由三维卷积、归一化和激活函数组成,这个块位于网络的第一个部分和最后一个部分;第二个块是由二维残差块衍生出来的体积残差块(volumetricresidualblock);第三种是体积下采样块(volumetricdownsamplingblock),与体积最大池化层相同;最后一个是体积上采样块(volumetricupsamplingblock),它由体积解卷积层、体积批归一化层和激活函数组成,在解卷积层中加入批归一化层和激活函数,有助于简化学习过程。
V2V网络执行的是体素到体素的预测。因此,它基于3D卷积网络架构,将Z轴作为一个额外的空间轴来处理。如图3所示,V2V网络首先是一个7×7×7的体积基本块和下采样块。在对特征图进行下采样后,用连续三个残差块提取有用的局部特征。体积残差块的输出要依次经过编码器、解码器。网络将编码解码器的输出输入到两个1×1×1的体积基本块和一个1×1×1的体积卷积层,最后得到关键点属于每一个体素的似然,这就是网络的输出,也是模型的最终目标。
V2V网络的剪枝:本实施例中使用到了V2V网络来预测关键点位置,然而,V2V网络虽然准确性高,预测的平均关键点误差较小,但是V2V网络中由于使用了3D卷积,导致预测时间较长,较难实现实时手势识别。因此,本实施例中在利用V2V网络来预测关键点位置时对V2V网络进行了一定的剪枝,来简化网络模型,提高模型的计算速度。本实施例提供的所述V2V-PoseNet网络进行剪枝处理,即所述V2V-PoseNet网络为进行剪枝处理的V2V-PoseNet网络;所述V2V-PoseNet网络剪枝处理是将V2V-PoseNet网络的编码器的输出维度被设置为低于原来设置的输出维度值,具体地,本实施例中修改了编码器的输出维度,原来的V2V网络编码器的输出维度是128维,本实施例中将编码器的输出维度减少到96维。相应地,解码器的输入维度也由原来的128维降低到96维,也可以根据实际确定解码器的输出维度。
经过测试,修改后的模型在保证精度的前提下提高了运算速度。
手势动作分类器:在获取手部关键点之后,可以基于手部关键点将手势分类为预先定义的动作语义。手势可分为两类,一类为静态手势,即单帧图片可形成一个包含语义的手势,如图3所示,图3为单帧和多帧手势动作识别结果示意图,图3中(a)和(b)手势取出任意一帧,可分别表示“1”和“2”;另一类为动态手势,即连续多帧的序列可形成包含语义的手势,而单帧无意义,如图3中(c)和(d)分别构成向左挥动与向右挥动动作,但取出任意一帧则可能无具体意义。在对这两类手势分类时,考虑到其各自特点,应采取不同的分类方式。图3中左列为单帧手势形成语义。右列为多帧手势形成语义而单帧无意义。
预处理:在手势识别问题中,手的初始位置和大小应不影响手势语义,但在现实中这些数据可能有很大不同,因此需要对手部关键点数据进行预处理。
为处理初始位置问题,将手势第一帧(若为静态手势则为唯一帧)的掌根点作为基准点,该帧及后续帧的所有关节点输入坐标为实际坐标相对基准点的坐标;为处理手的大小问题,将掌根到五指根的平均距离调整为1,并使得所有坐标等比例变换,如公式(1)所示。
其中,yij为调整后第i帧第j个关节点的坐标,xij为调整前第i帧第j个关节点的坐标,x00为第0帧掌根的坐标,为第t个手指的指根索引。
分类模型:针对静态手势,采用全连接网络进行分类。
针对动态手势,考虑到输入规模较大,在输入骨架为256帧、每帧包含手部21个关节点的三维坐标情况下,输入规模约16000,采用全连接会产生大量参数,严重影响效率,且难以训练。故将提出的图卷积方法用于手势分类问题。
将连续的T帧视作一个手势,每个手势有N个关键点,依如下规则建立多帧手部关节点时空图:每一帧的每个关节为一个节点,共T×N个;相邻帧的同一个关节点间有边连接;同一帧内,手部实际相邻的关节点间有边连接;可建立图结构如图4所示,图4为多帧手部关节点构成时空图。
传统图卷积方法一般不改变图的节点数和拓扑结构。然而当层数较多时,这可能在多次卷积后造成不相关的信息相互干扰严重,如在手势识别问题中,食指指尖的坐标应与小拇指指根的坐标不直接相关,而卷积经过多次节点间信息扩散,会导致节点的信息被记入不相关的节点中。因此,对图进行合并简化,依据现实中的先验知识对模型提供相关性参考。具体方法为,构造一个比起原图更简单的图,这个图依据现实中的连接关系产生但节点数少于总关节数,在卷积时通过一定的对应关系将节点信息合并,合并后节点值如公式(2):
其中,yij为合并后第i帧第j个关节点的特征向量,Aj为第j个合并关节点所对应的合并前关节点的索引的集合,由先验知识提供,wα为该类对应的系数。本次采用的合并图如图5所示,图5中(b)中的白、红、绿、黄、蓝、黑色节点分别包含图5中(a)的白、红、绿、黄、蓝、黑色节点信息。图5为关节合并方法示意图,图中可采用图卷积方法,每一节点的值按照以下公式(3)计算:
其中,yij为下一层中第i帧第j个关节点的特征向量,Aijt为时空骨架图中与第i帧第j个关节点距离为t的点的索引的的集合,wjt为对应的系数,h为预先指定的最大作用距离。在经多个图卷积层后,可以得到全图特征向量,最后使用全连接网络得到分类结果。
本实施例通过PyTorch实现手部检测,以下实验结果均在Nvidia1080TiGPU上测试。剪枝后的YOLOv3在原数据集的测试集上,目标检测的mAP可达到0.76。模型对于深度摄像头拍摄存在瑕疵的RGB图片上也可以进行正确的识别,由于此类测试缺少真实标注(GroundTruth),仅展示检测示例,图6中RGB图片示例选自NYUHand数据集。测试中,在使用CUDA加速时的检测时间可以保持在30ms左右。图6为目标检测提取手部包围框示意图。
在测试V2V网络预测关键点位置的准确性时,本实施例中利用到了MSRA手势数据集。MSRA手势数据集包含9个子集,每个子集包含17个手势类别,每个手部上一共有21个标注的关键点。在对模型预测关键点位置的准确性进行评估时,本实施例中利用到的性能指标是平均关键的误差。平均关键点误差指的是模型预测的手部关键点的位置与真实的手部关键点位置之间的距离,单位是毫米(mm)。
以下是V2V网络与其他当前较好的手部关键点预测模型在MSRA手势数据集上的测试结果的对比。
表1:V2V网络与其他模型在MSRA手势数据集上的平均关键点误差对比
从结果可以看到,multiview多视图;Occlusion被遮挡视图;crossingnets可统称为深度学习图像算法模型;DeepPrior++深度3D手姿态识别模型。
V2V网络在MSRA手势数据集上取得了良好的效果,它的平均关键点误差仅为7.49mm,远远小于其他的手部关键点预测模型。本实施例中的实验中,在第0子集作为测试集,1-8子集作为训练集时,取得了更好的结果,即平均关键点误差仅为7.38mm。图7展示了在数据集第0子集,允许的空间误差和预测值处在误差范围内关键点比例的关系。图7为在MSRA数据集第0子集上的测试。
另外,本实施例中对V2V网络进行了剪枝,在不影响精度的前提下提高了模型的计算速度。为了验证剪枝前后模型精度和速度的变化,本实施例中在MSRA手势数据集第3子集上做了测试,探究模型的平均关键点误差和平均时间。实验表明,剪枝前平均关键点误差为10.64mm,剪枝后平均关键点误差为11.02mm;剪枝前平均检测时间为0.485s,剪枝后平均检测时间为0.32s。从实验结果可以看到,经过剪枝操作,模型的准确性并没有降低太多,而检测速度有了较大幅度提升。
手势动作分类:在MSRA数据集训练并测试。精度如表2。表2中连续采样即将数据集中的500帧截取连续T帧,随机采样即随机选择数据集中的T帧连接作为一个手势。
表2:单帧与多帧手势分类精度
MSRA数据集本身为单帧手势,因此单帧精度较高;当连续采样时,模型能对手势类别进一步确定,因此连续采样多帧时精度也较高;由于数据集中帧间互相独立,当随机采样时手势较为混乱,可能产生意外的手势类别(如将手势为“1”和“2”的同向移动视作同一手势),因此多帧手势分类精度下降。此外注意到分类精度高度依赖坐标回归精度,因此本应将回归的关节点坐标作为输入进行测试。
在本实施例中,设计并实现了基于深度学习的实时手势识别系统,对于常规的流程进行了部分改进,提出了新的有效思路,如将提取手势的方法由分割转化为目标检测,将2D深度图转化为3D体素后进行处理,以及用时空图卷积进行特征提取。本实施例中将问题进行合理的划分,因此可以根据需求对各子问题进行分别优化,合理结合相关子问题上的当前最佳(Stateoftheart)深度学习方法到系统中,模型泛化能力和表达能力较强,扩展性良好。具体实现中,本实施例中根据任务的需求,对使用的现有网络进行了剪枝和使用方法上的优化,提高了模型效率和在手势识别问题上的精度,在实时性和准确性上取得进步。
本系统中,由于后一模块的输入数据来自前一模块的输出,使得后一模块的精度依赖于前一模块。针对这个问题,为了增强系统的鲁棒性,本实施例中考虑的改进是采用输入多用途的网络结构。例如,可以将第一部分手部检测产生的深度信息,在第三部分动作分类时作为补充信息,再次加以利用。
实验中,分类器模型速度较快而关键点检测时间较长,希望通过多线程提高系统的处理速度来加强实时性。并且对于多帧构成的手势,分类网络需要将多帧作为一组整体完成处理。针对系统实时性和多帧图片连续处理问题,设计了如图8所示的流水线工作方式。例如,假设分类前处理时间为每张图片采集时间的3倍,则使用4个线程,依次进行预处理,完成关键点检测,如图8中(a)中所示,其中最左向右,最左列为繁忙时间,第二列为空闲时间,第三列为繁忙时间,最右列为空闲时间,设置一定空闲余量防止冲突,然后在统一区域内对处理好的关键点骨架按时间先后进行堆叠产生时序数据,如图8中的(b)所示,最终输入分类模型。当空间较充足而前期处理速度较低时可采用该方法提高处理能力。图8为多线程流水线加速处理结构示意图。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (5)
1.一种基于深度学习的实时手势识别方法,其特征在于:包括以下步骤:
采集图像并利用目标检测网络提取所述图像中的手部深度图像;
将手部深度图像转化成3D体素化数据,并输入到V2V-PoseNet网络中获得手部关键点数据;所述V2V-PoseNet网络为进行剪枝处理的V2V-PoseNet网络;
对手部关键点数据进行预处理后输入到分类网络进行手势动作分类得到手势类别;
所述手势动作分类按照以下步骤进行:
根据手部关键点数据将手势动作预定义为静态手势和动态手势;
建立静态手势分类网络和动态手势分类网络;
根据静态手势和动态手势选择对应的分类网络进行手势分类;
所述静态手势分类网络为全连接网络;所述动态手势分类网络为时空图卷积网络模型;所述时空图卷积网络模型按照以下步骤进行分类:建立多帧手部关节点时空图并输入时空图卷积网络模型得到全图特征向量;使用全连接网络得到分类结果;
所述预处理包括以下步骤:
确定初始位置:将第一帧手部图像的掌根点作为基准点;
确定手部大小:将手部图像的掌根到五指根的平均距离调整为预设值,并使得所有坐标按照以下公式等比例变换:
其中,yij为调整后第i帧第j个关节点的坐标,xij为调整前第i帧第j个关节点的坐标,x00为第0帧掌根的坐标,为第t个手指的指根索引;
所述多帧手部关节点时空图按照以下步骤建立:
获取连续的T帧手势图像,每个手势图像有N个关键点;
对多帧手部关节点构成时空图进行合并简化,通过一定的对应关系将节点信息合并,按照以下公式计算合并后节点值:
其中,yij为合并后第i帧第j个关节点的特征向量,Aj为第j个合并关节点所对应的合并前关节点的索引的集合,wα为该类对应的系数;
其中,每一节点的值按照以下公式计算:
其中,yij为下一层中第i帧第j个关节点的特征向量,Aijt为时空骨架图中与第i帧第j个关节点距离为t的点的索引的的集合,wjt为对应的系数,h为预先指定的最大作用距离。
2.如权利要求1所述的基于深度学习的实时手势识别方法,其特征在于:所述手部深度图像是通过以下步骤获取的:
获取深度图像和RGB图像;
将RGB图像输入YOLOv3网络,获得手部包围框;
将深度图像与RGB图像对齐,根据手部包围框的坐标裁剪深度图像,分离手部区域和背景区域,得到手部深度图像。
3.如权利要求1所述的基于深度学习的实时手势识别方法,其特征在于:所述手部关键点数据是通过以下步骤来实现的:
按照以下步骤进行3D体素化数据:将深度图像转化为3D体积形式,将点重新投射到3D空间,并将连续空间离散化,根据体素空间位置与目标对象设置个离散空间的体素值;
将3D体素化数据作为V2V-PoseNet网络的输入,计算每个关键点属于每个体素的似然,识别出每个关键点的最高似然对应的位置,并将其转化为真实世界的坐标,成为手部关键点数据。
4.一种基于深度学习的实时手势识别系统,其特征在于:包括手部深度图像提取单元、手部关键点检测单元、手势动作分类器;
所述手部深度图像提取单元,用于采集图像并利用目标检测网络提取所述图像中手部深度图像;所述手部深度图像是通过以下步骤获取的:获取深度图像和RGB图像;将RGB图像输入YOLOv3网络,获得手部包围框;将深度图像与RGB图像对齐,根据手部包围框的坐标裁剪深度图像,分离手部区域和背景区域,得到手部深度图像;
所述手部关键点检测单元,用于将手部深度图像转化成3D体素化数据,并输入到V2V-PoseNet网络中获得手部关键点数据;所述手部关键点数据是通过以下步骤来实现的:按照以下步骤进行3D体素化数据:将深度图像转化为3D体积形式,将点重新投射到3D空间,并将连续空间离散化,根据体素空间位置与目标对象设置个离散空间的体素值;将3D体素化数据作为V2V-PoseNet网络的输入,计算每个关键点属于每个体素的似然,识别出每个关键点的最高似然对应的位置,并将其转化为真实世界的坐标,成为手部关键点数据;
所述手势动作分类器,用于对手部关键点数据进行预处理后输入到分类网络进行手势动作分类得到手势类别;所述手势动作分类按照以下步骤进行:根据手部关键点数据将手势动作预定义为静态手势和动态手势;建立静态手势分类网络和动态手势分类网络;根据静态手势和动态手势选择对应的分类网络进行手势分类;所述静态手势分类网络为全连接网络;所述动态手势分类网络为时空图卷积网络模型;所述时空图卷积网络模型按照以下步骤进行分类:建立多帧手部关节点时空图并输入时空图卷积网络模型得到全图特征向量;使用全连接网络得到分类结果;
所述多帧手部关节点时空图按照以下步骤建立:
获取连续的T帧手势图像,每个手势图像有N个关键点;
对多帧手部关节点构成时空图进行合并简化,通过一定的对应关系将节点信息合并,按照以下公式计算合并后节点值:
其中,yij为合并后第i帧第j个关节点的特征向量,Aj为第j个合并关节点所对应的合并前关节点的索引的集合,wα为该类对应的系数;
其中,每一节点的值按照以下公式计算:
其中,yij为下一层中第i帧第j个关节点的特征向量,Aijt为时空骨架图中与第i帧第j个关节点距离为t的点的索引的的集合,wjt为对应的系数,h为预先指定的最大作用距离。
5.如权利要求4所述的基于深度学习的实时手势识别系统,其特征在于:所述预处理包括以下步骤:
确定初始位置:将第一帧手部图像的掌根点作为基准点;
确定手部大小:将手部图像的掌根到五指根的平均距离调整为预设值,并使得所有坐标按照以下公式等比例变换:
其中,yij为调整后第i帧第j个关节点的坐标,xij为调整前第i帧第j个关节点的坐标,x00为第0帧掌根的坐标,为第t个手指的指根索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110574202.7A CN113269089B (zh) | 2021-05-25 | 2021-05-25 | 基于深度学习的实时手势识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110574202.7A CN113269089B (zh) | 2021-05-25 | 2021-05-25 | 基于深度学习的实时手势识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113269089A CN113269089A (zh) | 2021-08-17 |
CN113269089B true CN113269089B (zh) | 2023-07-18 |
Family
ID=77232935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110574202.7A Active CN113269089B (zh) | 2021-05-25 | 2021-05-25 | 基于深度学习的实时手势识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113269089B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114332977A (zh) * | 2021-10-14 | 2022-04-12 | 北京百度网讯科技有限公司 | 关键点检测方法、装置、电子设备及存储介质 |
CN114529949A (zh) * | 2022-03-18 | 2022-05-24 | 哈尔滨理工大学 | 一种基于深度学习的轻量级手势识别方法 |
CN114898457B (zh) * | 2022-04-11 | 2024-06-28 | 厦门瑞为信息技术有限公司 | 一种基于手部关键点和transformer的动态手势识别方法和系统 |
CN114926905B (zh) * | 2022-05-31 | 2023-12-26 | 江苏濠汉信息技术有限公司 | 基于带手套的手势识别的电缆附件工序判别方法和系统 |
CN115220636B (zh) * | 2022-07-14 | 2024-04-26 | 维沃移动通信有限公司 | 虚拟操作方法、装置、电子设备及可读存储介质 |
CN118230421B (zh) * | 2024-04-11 | 2024-10-25 | 广东保伦电子股份有限公司 | 一种基于深度学习的多模态手势识别方法及系统 |
CN118247850A (zh) * | 2024-05-27 | 2024-06-25 | 广州炫视智能科技有限公司 | 一种基于手势辨识的人机交互方法及其交互系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688391A (zh) * | 2017-09-01 | 2018-02-13 | 广州大学 | 一种基于单目视觉的手势识别方法和装置 |
CN110333783A (zh) * | 2019-07-10 | 2019-10-15 | 中国科学技术大学 | 一种用于鲁棒肌电控制的无关手势处理方法及系统 |
CN111209861A (zh) * | 2020-01-06 | 2020-05-29 | 浙江工业大学 | 一种基于深度学习的动态手势动作识别方法 |
CN112183198A (zh) * | 2020-08-21 | 2021-01-05 | 北京工业大学 | 肢体骨架和头手部件轮廓融合的手势识别方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636725B (zh) * | 2015-02-04 | 2017-09-29 | 华中科技大学 | 一种基于深度图像的手势识别方法与系统 |
CN104899600B (zh) * | 2015-05-28 | 2018-07-17 | 北京工业大学 | 一种基于深度图的手部特征点检测方法 |
CN106845335B (zh) * | 2016-11-29 | 2020-03-17 | 歌尔科技有限公司 | 用于虚拟现实设备的手势识别方法、装置及虚拟现实设备 |
CN107423698B (zh) * | 2017-07-14 | 2019-11-22 | 华中科技大学 | 一种基于并联卷积神经网络的手势估计方法 |
CN110852311A (zh) * | 2020-01-14 | 2020-02-28 | 长沙小钴科技有限公司 | 一种三维人手关键点定位方法及装置 |
CN112241204B (zh) * | 2020-12-17 | 2021-08-27 | 宁波均联智行科技股份有限公司 | 一种车载ar-hud的手势交互方法和系统 |
-
2021
- 2021-05-25 CN CN202110574202.7A patent/CN113269089B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688391A (zh) * | 2017-09-01 | 2018-02-13 | 广州大学 | 一种基于单目视觉的手势识别方法和装置 |
CN110333783A (zh) * | 2019-07-10 | 2019-10-15 | 中国科学技术大学 | 一种用于鲁棒肌电控制的无关手势处理方法及系统 |
CN111209861A (zh) * | 2020-01-06 | 2020-05-29 | 浙江工业大学 | 一种基于深度学习的动态手势动作识别方法 |
CN112183198A (zh) * | 2020-08-21 | 2021-01-05 | 北京工业大学 | 肢体骨架和头手部件轮廓融合的手势识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113269089A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113269089B (zh) | 基于深度学习的实时手势识别方法及系统 | |
CN110532920B (zh) | 基于FaceNet方法的小数量数据集人脸识别方法 | |
CN109948475B (zh) | 一种基于骨架特征和深度学习的人体动作识别方法 | |
Agarwal et al. | Sign language recognition using Microsoft Kinect | |
CN112800937B (zh) | 一种智能人脸识别方法 | |
CN107871106A (zh) | 人脸检测方法和装置 | |
CN112395442B (zh) | 移动互联网上的低俗图片自动识别与内容过滤方法 | |
CN110674741A (zh) | 一种基于双通道特征融合的机器视觉中手势识别方法 | |
Rao et al. | Sign Language Recognition System Simulated for Video Captured with Smart Phone Front Camera. | |
Raut | Facial emotion recognition using machine learning | |
CN108459785A (zh) | 一种视频多尺度可视化方法与交互方法 | |
CN113963032A (zh) | 一种融合目标重识别的孪生网络结构目标跟踪方法 | |
CN108073851A (zh) | 一种抓取手势识别的方法、装置及电子设备 | |
Saenko et al. | Practical 3-d object detection using category and instance-level appearance models | |
Gong et al. | Dark-channel based attention and classifier retraining for smoke detection in foggy environments | |
Li et al. | Egocentric action recognition by automatic relation modeling | |
Zerrouki et al. | Deep Learning for Hand Gesture Recognition in Virtual Museum Using Wearable Vision Sensors | |
CN114037666B (zh) | 一种数据集扩充和阴影图像分类辅助的阴影检测方法 | |
Cho et al. | Learning local attention with guidance map for pose robust facial expression recognition | |
Tian et al. | Deep supervised descent method with multiple seeds generation for 3-d tracking in point cloud | |
Srininvas et al. | A framework to recognize the sign language system for deaf and dumb using mining techniques | |
CN118230354A (zh) | 一种基于改进YOLOv5的复杂场景下手语识别方法 | |
Muthukumar et al. | Vision based hand gesture recognition for Indian sign languages using local binary patterns with support vector machine classifier | |
CN117058736A (zh) | 基于关键点检测的人脸误检识别方法、装置、介质和设备 | |
CN111191549A (zh) | 一种两级人脸防伪检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |