CN114882588A - 基于神经网络的肢体语言识别系统 - Google Patents

基于神经网络的肢体语言识别系统 Download PDF

Info

Publication number
CN114882588A
CN114882588A CN202210480760.1A CN202210480760A CN114882588A CN 114882588 A CN114882588 A CN 114882588A CN 202210480760 A CN202210480760 A CN 202210480760A CN 114882588 A CN114882588 A CN 114882588A
Authority
CN
China
Prior art keywords
image
key points
feature
limb
hand
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.)
Pending
Application number
CN202210480760.1A
Other languages
English (en)
Inventor
陈益强
蒋鑫龙
李宜兵
姜怀臣
邓新新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Zhongke Ubiquitous Intelligent Computing Research Institute
Original Assignee
Jinan Zhongke Ubiquitous Intelligent Computing Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Zhongke Ubiquitous Intelligent Computing Research Institute filed Critical Jinan Zhongke Ubiquitous Intelligent Computing Research Institute
Priority to CN202210480760.1A priority Critical patent/CN114882588A/zh
Publication of CN114882588A publication Critical patent/CN114882588A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Public Health (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了基于神经网络的肢体语言识别系统,包括:获取模块,其被配置为:获取待识别对象的图像;特征提取模块,其被配置为:从待识别对象的图像中提取肢体特征关键点和手部特征关键点;在关键点提取过程中根据设定的肢体语言要求,删除无效图像以及无效图像对应的关键点;数据预处理模块,其被配置为:对异常特征关键点进行置零;特征融合模块,其被配置为:将肢体特征关键点与手部特征关键点进行特征融合,得到融合特征;分类模块,其被配置为:采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果。本发明通过对无效图像进行删除和对异常特征关键点进行置零操作,保证数据的无噪声,为肢体语言的精准识别打下基础。

Description

基于神经网络的肢体语言识别系统
技术领域
本发明涉及肢体语言识别技术领域,特别是涉及基于神经网络的肢体语言识别系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
孤独症谱系障碍(Autism Spectrum Disorder;ASD)是一组较为严重的儿童神经发育障碍性疾病,患者难以发展正常社交关系,并表现出受限或重复行为。有研究表明早发现、早干预能够显著改善孤独症患儿的预后。有效、精准的评估方法可以为孤独症的辅助诊断和孤独症儿童后期康复提供可靠的科学客观依据。临床上,医生可以通过与儿童互动社交相关游戏或动作,然后根据经验知识评测儿童在社交行为上是否存在障碍,作为诊断儿童是否患有孤独症疾病的一个指标。然而医生亲自对儿童互动评估很耗费医生时间和精力,并且可能会由于医生过于劳累等主观因素未能注意到一些微小的差别,根据经验的主观评测可能会与实际情况有一些误差。如果可以利用现有的科学技术方法可以高效、精准地对肢体语言进行识别,客观、准确地评价儿童是否可以完成正常社交行为,不仅可以为医生节省宝贵的时间,同时也可以更准确地对儿童的行为进行评估,这为孤独症的辅助诊断有着很大帮助。
现有技术的肢体语言识别是针对几种特定环境或者几种特定应用场景对肢体语言进行识别,例如摄像头智能识别人的动作是否有危险行为;智能识别学生在课堂中举手发言、上课是否交头接耳、上课听讲是否认真等课堂相关行为;智能识别人的情绪种类等,但是对于社交行为动作的智能识别这一应用场景,暂未有精准、高效的方法可以使用。
现有技术可以通过给儿童肢体佩戴相关传感器然后对传感器采集到的数据进行分析处理,然后进行肢体语言识别,但是识别过程对儿童有一定约束性,仪器等设备也有着一定的成本代价;而且,现有技术采集的数据有很大噪声,对儿童肢体语言识别的准确度很低。
发明内容
为了解决现有技术的不足,本发明提供了基于神经网络的肢体语言识别系统;本发明通过对无效图像进行删除和对异常特征关键点进行置零操作,保证数据的无噪声,为肢体语言的精准识别打下基础。
第一方面,本发明提供了基于神经网络的肢体语言识别系统;
基于神经网络的肢体语言识别系统,包括:
获取模块,其被配置为:获取待识别对象的图像;
特征提取模块,其被配置为:从待识别对象的图像中提取肢体特征关键点和手部特征关键点;在关键点提取过程中根据设定的肢体语言要求,删除无效图像以及无效图像对应的关键点;
数据预处理模块,其被配置为:对异常特征关键点进行置零;
特征融合模块,其被配置为:将肢体特征关键点与手部特征关键点进行特征融合,得到融合特征;
分类模块,其被配置为:采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果。
与现有技术相比,本发明的有益效果是:
本发明解决了传感器等依赖佩戴传感器等设备采集数据并分析的繁琐程序。仅需摄像头采集图像即可进行肢体语言的预测。
本发明解决了拍摄背景对肢体语言识别的影响和干扰问题。图像经过特征提取之后将特征向量输入网络,无需将整幅图像输入网络,不仅极大简化了模型的复杂度、运行速度,而且排除了背景变化对肢体语言识别的干扰。
本发明解决了大型模型未能在保证精确度前提下轻便移植到边缘端及终端的问题。本发明所提出的方法非常精简,在保证精确度前提下模型权重仅9kb,解决了移植到边缘端的速度和占用内存问题。
本发明提出的基于神经网络的肢体语言识别方法可以有效对保持安静、打招呼、赞佩、思考(疑惑)、社交动作、拒绝、无奈、无动作这7类社交动作进行识别,训练好的模型在测试集准确率为97%,可以快速、精准地摄像机实时检测肢体动作类别,该方法在保证精度的前提下实现了内存小、识别速度快且方便移植到实际应用中。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为实施例一的系统功能框图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本实施例所有数据的获取都在符合法律法规和用户同意的基础上,对数据的合法应用。
实施例一
本实施例提供了基于神经网络的肢体语言识别系统;
如图1所示,基于神经网络的肢体语言识别系统,包括:
获取模块,其被配置为:获取待识别对象的图像;
特征提取模块,其被配置为:从待识别对象的图像中提取肢体特征关键点和手部特征关键点;在关键点提取过程中根据设定的肢体语言要求,删除无效图像以及无效图像对应的关键点;
数据预处理模块,其被配置为:对异常特征关键点进行置零;
特征融合模块,其被配置为:将肢体特征关键点与手部特征关键点进行特征融合,得到融合特征;
分类模块,其被配置为:采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果。
上述系统还包括:
孤独症判别模块,其被配置为:根据肢体语言识别结果,给出孤独症辅助判别结果,以辅助医生进行诊断。
进一步地,获取待识别对象的图像,是指,获取待识别对象做出若干种指定社交动作的视频,将视频转换为图像。
进一步地,所述若干种指定社交动作,分别是指保持安静、打招呼、赞佩、思考、拒绝、无奈和无动作。
进一步地,所述从待识别对象的图像中提取肢体特征关键点和手部特征关键点;采用BlazePose模型提取人体的肢体特征关键点,采用BlazePlam模型提取人体的手部特征关键点。
应理解地,对给定图像,使用深度学习blaze模型提取图像中人体特征关键点,并将提取到的关键点保存为csv文件,从csv文件中提取关键点数据并训练分类模型。
应理解地,Blaze模型,包括:BlazeFace、BlazePose和BlazePlam三个模型,分别用来检测人体的脸部、姿态、手掌的关键点。
BlazeFace模型,是在MobileNet基础上提出的一种更为紧凑的轻量级特征提取方法、结合适用于移动端GPU高效运行的新型锚框机制,以及代替非极大值抑制的加权方法保证检测结果的稳定性,可以在移动端上实现超高速的高性能人脸检测。BlazeFace模型在MobileNet基础上做了一些改进,提升了MobileNet中深度可分离卷积的计算效率和感受野,基于此构建了有效的特征抽取器、改进锚框机制后处理过程,网络输出预测到的468个人脸关键点位置。
BlazePose模型,采用热图、偏移量和回归相结合的方法堆叠了一个小型的基于编码器-解码器热图的网络和随后的回归编码器网络,只在训练阶段使用热图和偏移损失,并在运行推理之前从模型中删除相应的输出层,网络各阶段之间使用跳跃连接以实现高、低级特征之间的平衡。该模型采用相对刚性的人脸的检测(用BlazeFace网络)来代替人体的检测,这使得网络可以更轻量级地检测肢体。该模型有效地使用一个编码器-解码器网络结构预测所有关节点的热图,然后再用另外一个编码器直接回归出所有关节点的坐标,即检测到的人体33个关键点。
BlazePlam模型,包括手掌检测器和手部关键点模型,同样实现了在移动CPU上的实时推理速度和高预测质量。
检测手部是一个相对较为复杂的任务,因为有各种尺寸的手部大小、多种遮挡情况,为解决这些问题,该模型中检测器在以下几个方面做了改进:
(11)训练手掌检测器,不包含手指:由于检测手掌比检测包含手指的全部手部信息要更简单一些,手掌相对更“小”,在应用非极大值抑制(Non-Maximum Suppression,NMS)时副作用也更小,比如握手的情况,两个手掌比两只手更不容易被NMS过滤掉;
(12)使用类似FPN(Feature Pyramid Networks)的encoder-decoder,可以提取多尺度信息,即使对于小物体检测,也是用较大的场景上下文。
(13)采用Focal Loss来应对巨大尺度变化引起的超量锚框。手部关键点位置通过回归模型精细检测出21个landmark关键点,模型一共有三个输出:
(21)21个landmark关键点信息,包括x,y以及depth(也就是z);
(22)表示是否有手的hand flag;
(23)左手还是右手,一个二分类标志。
使用Blaze模型可以提取468个face关键点、33个pose关键点和21个lefthand关键点和21个righthand关键点的3D坐标。这里的3D坐标为每个点在图像中的相对坐标值(x,y,z),这里的x,y为关键点在图像中的相对位置,分别按图像宽度和高度归一化为0-1之间的坐标,z为关键点在图像中的深度信息,以臀部中点处的深度为原点,数值越小,标志距离摄像机越近,z的大小和x的比例大致相同。这里的33个pose关键点、21个lefthand关键点和21个righthand关键点是作为三种特征一起预测的,即只要检测到人体形态,则一定会有33个pose关键点,若检出图像中存在左手或右手,一定会有21个lefthand关键点或21个righthand关键点,若不存在左手时,lefthand关键点的值都为None,即21个点的值均为None,不会存在只要一个或部分关键点检测到的情况。
进一步地,所述在关键点提取过程中根据设定的肢体语言要求,删除无效图像以及无效图像对应的关键点;具体包括:
对“保持安静”、“打招呼”以及“赞佩”三种类别的肢体语言动作,如果图像中检测到左右两只手同时存在、左右两只手同时不存在或者两个手腕点同时存在,则表示当前图像为无效图像,予以删除;
对“拒绝”或“无奈”两种类别的肢体语言动作,如果在图像中检测到左右两只手同时存在,则将当前图像视为有效图像,其余图像均视为无效图像;
对“思考”或“疑虑”两种类别的肢体语言动作,如果在图像中两只手腕点都未检测到,则将当前图像视为无效图像,予以删除;
对“无动作”类别的肢体语言动作,如果在图像中检测到任意一只手,则表示当前图像为无效图像,予以删除。
上述技术方案的有益效果是,去除对肢体语言识别无用的无效图像,避免无效图像影响后续肢体语言的准确识别,以实现孤独症的准确评估。
示例性地,在使用图像提取肢体语言关键点时,受拍摄环境以及动作规范度的影响,特征提取网络在部分图像上表现较差,例如在打招呼类型的图像上并未检测出左手或右手的关键点,网络返回值为None,即前期采集到的图像存在不合格情况。针对这类由于特征提取在原始图像存在误差的情况,按照以下原则对原始图像进行筛选。
(31)对‘保持安静’、‘打招呼’、‘赞佩’三种类别,当检测到lefthand、righthand关键点中两只手同时存在、face关键点中两只手同时不存在、pose关键点中两只手腕点同时存在时,视为无效图像删除。
(32)对‘拒绝’,‘无奈’两种类别,当检测到lefthand、righthand关键点两只手同时存在时保存图像,其他视为无效图像删除。
(33)对‘思考、疑惑’类别,当face关键点中两只手腕点都未检测到时,视为无效图像删除。
(34)对‘无动作’类别,若lefthand、righthand关键点中检测到任意一只手,视为无效图你片删除。
对‘保持安静’、‘打招呼’、‘赞佩’三种类别,上半身图像中理论上应该只出现一只手,所以这里对两只手同时存在、两只手同时不存在、两只手腕点同时存在的情况视为不合格图像;
对‘拒绝’,‘无奈’两种类别,当且仅当两只手都检测到时图像为合格图像,其他情形均视为不合格图像;
对‘思考、疑惑’类别,由于思考状态下人的手多为紧握或蜷缩在一起,手部特征检测器对于这类手的检测准确度有限,然而思考时的肢体动作与其他动作的左右胳膊关键点位置有较大的差异,这里pose特征点为主要区分关键点。
对于pose特征,‘思考、疑惑’类别的pose关键点中必须检测到手腕点,对于两只手腕点都未检测到的情形,视为不合格图像;
对‘无动作’类别,由于拍摄背景影响,部分图像误检出左右手腕的关键点,这减小了由于误检对后续区分‘无动作’和‘思考’类别的影响。
进一步地,所述对异常特征关键点进行置零;具体包括:
当待识别对象处于无动作状态时,图像中未检测到关键点,则对未检测到的特征值采取归零处理;
当待识别对象处于赞佩或打招呼动作状态时,图像中未检测到左手的特征关键点,则对左手关键点的特征值元素设置为零。
上述技术方案的有益效果是将异常特征关键点进行置零操作,避免异常特征关键点的噪声影响后续肢体语言的精确识别。
示例性地,对于采集到的上半身图像提取关键点时,并不是所有的图像都能检测到左手或右手。
例如无动作时双手自然垂下,上半身图像中无法检测到双手的存在;在保持安静、思考、赞佩、打招呼动作下,上半身图像中可以检测到一只手,另一只手是无法检测到的;只有在拒绝、无奈这两种动作下,上半身图像可以同时检测到双手。
对于上述未能检测到的情况,使用Blaze模型提取关键点信息时,若未检测到相关特征,则提取到的特征为None。
本发明中对未检测到的None值采取归零处理,即若图像中未检出左手的关键点,则对其对应的21个关键点坐标x,y,z统一设置为0,也就是该图像对应向量的左手关键点的63个坐标值元素都设置为0。
进一步地,所述将肢体特征关键点与手部特征关键点进行特征融合,得到融合特征;所述特征融合采用拼接方式进行特征融合。
按照一张图存为一行向量的形式。每张图像的pose特征为33*3=99维,hand特征为42*3=126维,即一张图的特征点对应225维向量。
存取数据采取第一个维度的值为标签(即0-6中的某一数字),即一张图存为一个226维的行向量,其中第1维是标签,第2至226维是特征点坐标。
将图像的特征点保存为csv文件供后续训练模型时调用。每张图像提取到的特征向量按照如下的格式存入csv文件中。
表2特征向量存储表格
Figure BDA0003627690920000101
进一步地,所述采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果;其中,分类器选择全连接神经网络或一维卷积神经网络。
进一步地,所述采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果;其中,训练后的分类器;训练过程包括:
构建训练集;其中,训练集为已知肢体语言识别标签的肢体动作图像;
从训练集中提取肢体特征关键点和手部特征关键点;
将肢体特征关键点和手部特征关键点进行特征融合;
将融合特征输入到分类器中对分类器进行训练,得到训练后的分类器。
进一步地,使用TFLite对分类器进行转化、部署和优化。
进一步地,所述肢体语言识别标签,包括:保持安静、打招呼、赞佩、思考(疑惑)、社交动作、拒绝、无奈、无动作这7类。
表1
Figure BDA0003627690920000111
这7类社交动作主要涉及双手及左右胳膊的姿势,因此此处仅采集上半身图像,通过对上半身图像进行特征提取和训练模型达到识别这7类肢体语言的目的。
针对上述7类动作,使用摄像头采集7段视频,视频中包含各个角度的每类动作。随后通过OpenCV将视频取帧并保存为图像的方法将7段视频转为图像,使用感知哈希算法将上述得到的图像进行去重,一段视频得到的图像保存为一个文件夹,并用标签命名。
应理解地,本申请之所以选择从待识别对象的图像中提取肢体特征关键点和手部特征关键点;是因为:
使用blaze网络提取到的特征包括图像中的face、pose、lefthand、righthand特征,其中face特征有468个关键点,pose特征有33个关键点,lefthand、righthand各有21个关键点。
对于肢体语言分类任务,为了选择合适的特征进行训练,进行实验确定关键点可分性。由于face特征的关键点个数多,但是处理肢体语言分类任务时面部关键点变化幅度相对肢体动作变化幅度而言过小,为简化关键点的选择,去掉468个face关键点。
仅使用33个pose关键点和42个lefthand和righthand关键点进行肢体语言的分类任务。
实验证明了仅用pose、lefthand和righthand的关键点即可对这7类肢体语言进行分类。
下表是使用简单的机器学习中支持向量机(Support Vector Machine,SVM)方法对使用全部关键点和使用pose和hand关键点的精确度对比。
表3对使用全部关键点和使用pose和hand关键点的精确度对比
Figure BDA0003627690920000121
可以看到对于SVM方法,取部分pose和hand关键点比取所有face、pose、lefthand和righthand的关键点精度更高,这里分析可能是在肢体语言动作变化时,面部特征的关键点变化幅度相对于肢体的变化显得微不足道,并且面部特征有468个关键点,相比于肢体的33个关键点和hand的42个关键点信息,面部过多的关键点对肢体识别可能会产生无关干扰。
考虑到想完成的分类任务在肢体动作上差别较大,所以选取部分代表性关键点,将部分关键节点距离作为特征(例如两只手之间距离、手到肩膀的距离等),在SVM方法上,相比较所有特征的x y z特征、pose和hand特征的所有关键点这两种特征选取方法来说精确度增加了。
综合以上分析,在后续实验中去除face关键点数据,仅使用pose、lefthand和righthand这三种关键点作为训练数据来进行模型的训练和选择。
由于SVM方法的达到精度有限,且该方法无法保存和移植到安卓端,在实际应用方面受限制较大,考虑采用现在应用很广泛的神经网络模型来代替SVM方法训练模型。
在使用全连接网络训练模型时,选择不同的关键点对网络精度的影响情况,如表4所示:
表4不同的关键点对网络精度的影响情况
Figure BDA0003627690920000131
前面的实验分析中,无需face关键点特征,pose和hand关键点特征可以完成该分类任务。上述实验对比表明相比较前面选取的pose、hand特征的部分关键点,pose、hand特征的所有关键点的精确度更高。因此,在下面的实验中,均使用pose、hand特征的所有x,y,z特征用于训练分类模型。
在选择模型训练的过程中,一共尝试选择了三个模型:支持向量机模型、四层全连接网络、一层一维卷积神经网络。
支持向量机模型(SVM)是一个二分类模型,基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面,其学习策略便是间隔最大化,最终化为一个凸二次规划问题的求解。对于多分类任务,通过组合多个二分类器来实现多分类器的构造,常见的方法有one-against-one和one-against-all两种。
一对一法(OVO SVMs):在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。
一对多法(OVR SVMs):训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样本就构造出了k个SVM。分类时将未知样本分类为具有最大分类函数值的那类。
由于一对多法的训练集是1:M,这种情况下容易存在偏差,因而在实际应用中采用一对一法更实用,本实验中采用的就是一对一法。
全连接神经网络的结构由输入层、隐藏层、输出层组成,由于所做的分类任务输入为225维向量,输入向量的维度比起直接输入图像的向量维度是比较少的,因此在设置神经网络层数不用过多。在本发明中网络设置为包含4层隐藏层和一层输出层的5层全连接神经网络,其中第一层是20个结点,第二层和第三层都是40个结点,第四层是7个结点,最后经过一个softmax层预测出图像分别属于7类的概率值。在模型训练过程中,选择relu函数作为隐藏层的激活函数,在模型优化方面选择RMSProp算法对训练过程进行优化,RMSProp算法可以抑制梯度的锯齿下降,与Momentum相比,RMSProp不需要手动配置学习率超参数,由算法自动完成。模型的损失函数选择为常见的交叉熵损失函数。
在二分类的情况下,模型最后需要预测的结果只有两种情况,对于每个类别我们的预测得到的概率为p和1-p,此时表达式为:
Figure BDA0003627690920000141
多分类的情况是二分类的拓展:
Figure BDA0003627690920000142
其中:M——类别的数量;yic——符号函数(0或1),如果样本i的真实类别等于c取1,否则取0;pic——观测样本i属于类别c的预测概率
交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。交叉熵在分类问题中常常与softmax是标配,softmax将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。
在模型训练过程中,为模型防止过拟合,在第一层、第二层、第三层全连接网络后加入dropout层,实验中第一层的dropout参数选择为0.1,第二层和第三层的dropout参数选择为0.3。
全卷积神经网络的结构由输入层、卷积层和输出层组成,一维卷积神经网络与全连接神经网络相比,最大的优点是参数共享,使得参数更少,保存的模型占用内存更小。在本发明中经过多次实验表明,相比于多层一维卷积网络,一层一维卷积网络经过更多的epoch之后就可以很好地完成分类任务,一层网络就可以达到三层网络所能达到的精度值。
由于SVM方法的达到精度有限,且该方法无法保存和移植到安卓端,在实际应用方面受限制较大,考虑采用现在应用很广泛的神经网络模型来代替SVM方法训练模型。分别采用上面提到的一维卷积神经网络和一维卷积网络进行训练。使用Keras网络框架搭建上述提到的一维全连接神经网络和一维卷积神经网络。经过特征提取器得到的训练集数据分布情况为:训练集每类样本200个,测试集每类样本约为100个。采取上面构建的全连接网络和一维卷积网络分别对数据进行训练,设置batchsize为32,将训练集中的百分之二十作为验证集在训练过程中对网络性能进行评价,一维卷积网络模型训练100个epoch即可收敛。在训练过程中使用checkpoint对训练过程中的最佳模型参数进行保存,判断最佳模型的标准为验证集的精确度。在训练结束之后,加载并保存训练过程中的最佳模型在测试集进行测试。两种网络在测试集上达到的精确度和模型经过TFLite加速之后保存的大小如表5所示。
表5两种网络经过TFLite加速之后保存的大小
Figure BDA0003627690920000161
使用TFLite对模型进行转化、部署和优化。TFLite是为了将深度学习模型部署在移动端和嵌入式设备的工具包,可以把训练好的TF模型通过转化、部署和优化三个步骤,达到提升运算速度,减少内存、显存占用的效果。TFlite主要由Converter和Interpreter组成。Converter负责把TensorFlow训练好的模型转化,并输出为.tflite文件(FlatBuffer格式)。转化的同时,还完成了对网络的优化,如量化。Interpreter则负责把.tflite部署到移动端,嵌入式(embedded linux device)和microcontroller,并高效地执行推理过程,同时提供API接口给Python,Objective-C,Swift,Java等多种语言,有利于模型移植。
Keras搭建的模型保存可以为Pb或者h5格式,TFLite可以将这些类型的模型文件打包为.tflite文件。实验表明明显缩小了模型的大小,本发明中一维卷积网络在优化前大小为45kb,优化后仅9kb,同时推理速度也有一定的提高。下图为同一个模型经过TFLite加速之前和加速之后保存文件的占用内存大小对比。
上述模型训练结果精度高、占用内存小,可以实现网络接口的便捷调用。实验者无需佩戴任何辅助工具,仅需在电脑程序开启时,面向摄像头做出这7类社交动作,无需刻意慢动作,摄像头实时捕捉图像画面送入特征提取器中提取关键点信息,随后将提取到的关键点数据实时输入网络预测出动作类型。
在已有的实时检测demo上,训练好的模型可以实现实时打开摄像头对捕捉到的动作进行实时识别,并在窗口显示出正在进行的动作识别结果。已经训练好的模型精确度为0.97,占用内存大小仅9kb,在实时检测demo中不卡顿、精确度高。
本发明提出的方法在已有的摄像头实时预测程序中算法流程图,如图1所示。
在代码运行时,首先由摄像头捕捉画面中的帧图像,将图像出入特征提取器中提取关键点特征,将特征输入训练好的网络模型中预测肢体语言结果,再将结果返回并显示在画面中。
本发明是针对保持安静、打招呼、赞佩、思考(疑惑)、社交动作、拒绝、无奈、无动作这7类社交动作训练分类模型的,仍有许多类似动作例如挠头、捂脸、比划数字等未包含在其中但同样可以通过本方案这种检测关键点并分类的方法完成分类算法的训练。
本发明的主要思路是对于肢体语言先检测关键点后选择分类模型进行分类。实验证明本发明中选择的关键点可以完成所做的分类任务,但是不排除选用其他关键点(未在本方案的实验中)仍能达到类似的效果。
本发明对原始图像进行的数据清洗和筛选方法为判断关键点是否满足条件,不排除有不完全相同但类似的数据筛选方法达到同样的效果。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.基于神经网络的肢体语言识别系统,其特征是,包括:
获取模块,其被配置为:获取待识别对象的图像;
特征提取模块,其被配置为:从待识别对象的图像中提取肢体特征关键点和手部特征关键点;在关键点提取过程中根据设定的肢体语言要求,删除无效图像以及无效图像对应的关键点;
数据预处理模块,其被配置为:对异常特征关键点进行置零;
特征融合模块,其被配置为:将肢体特征关键点与手部特征关键点进行特征融合,得到融合特征;
分类模块,其被配置为:采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果。
2.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,获取待识别对象的图像,是指,获取待识别对象做出若干种指定社交动作的视频,将视频转换为图像;所述若干种指定社交动作,分别是指保持安静、打招呼、赞佩、思考、拒绝、无奈和无动作。
3.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,所述从待识别对象的图像中提取肢体特征关键点和手部特征关键点;采用BlazePose模型提取人体的肢体特征关键点,采用BlazePlam模型提取人体的手部特征关键点。
4.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,所述在关键点提取过程中根据设定的肢体语言要求,删除无效图像以及无效图像对应的关键点;具体包括:
对“保持安静”、“打招呼”以及“赞佩”三种类别的肢体语言动作,如果图像中检测到左右两只手同时存在、左右两只手同时不存在或者两个手腕点同时存在,则表示当前图像为无效图像,予以删除;
对“拒绝”或“无奈”两种类别的肢体语言动作,如果在图像中检测到左右两只手同时存在,则将当前图像视为有效图像,其余图像均视为无效图像;
对“思考”或“疑虑”两种类别的肢体语言动作,如果在图像中两只手腕点都未检测到,则将当前图像视为无效图像,予以删除;
对“无动作”类别的肢体语言动作,如果在图像中检测到任意一只手,则表示当前图像为无效图像,予以删除。
5.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,所述对异常特征关键点进行置零;具体包括:
当待识别对象处于无动作状态时,图像中未检测到关键点,则对未检测到的特征值采取归零处理;
当待识别对象处于赞佩或打招呼动作状态时,图像中未检测到左手的特征关键点,则对左手关键点的特征值元素设置为零。
6.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,所述将肢体特征关键点与手部特征关键点进行特征融合,得到融合特征;所述特征融合采用拼接方式进行特征融合。
7.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,所述采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果;其中,分类器选择全连接神经网络或一维卷积神经网络。
8.如权利要求1所述的基于神经网络的肢体语言识别系统,其特征是,所述采用训练后的分类器对融合特征进行分类,得到肢体语言识别结果;其中,训练后的分类器;训练过程包括:
构建训练集;其中,训练集为已知肢体语言识别标签的肢体动作图像;
从训练集中提取肢体特征关键点和手部特征关键点;
将肢体特征关键点和手部特征关键点进行特征融合;
将融合特征输入到分类器中对分类器进行训练,得到训练后的分类器。
9.如权利要求8所述的基于神经网络的肢体语言识别系统,其特征是,使用TFLite对分类器进行转化、部署和优化。
10.如权利要求8所述的基于神经网络的肢体语言识别系统,其特征是,所述肢体语言识别标签,包括:保持安静、打招呼、赞佩、思考、社交动作、拒绝、无奈、无动作。
CN202210480760.1A 2022-05-05 2022-05-05 基于神经网络的肢体语言识别系统 Pending CN114882588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210480760.1A CN114882588A (zh) 2022-05-05 2022-05-05 基于神经网络的肢体语言识别系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210480760.1A CN114882588A (zh) 2022-05-05 2022-05-05 基于神经网络的肢体语言识别系统

Publications (1)

Publication Number Publication Date
CN114882588A true CN114882588A (zh) 2022-08-09

Family

ID=82673685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210480760.1A Pending CN114882588A (zh) 2022-05-05 2022-05-05 基于神经网络的肢体语言识别系统

Country Status (1)

Country Link
CN (1) CN114882588A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115457518A (zh) * 2022-08-30 2022-12-09 淮阴工学院 基于姿态感知与几何约束下的驾驶员行为识别方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115457518A (zh) * 2022-08-30 2022-12-09 淮阴工学院 基于姿态感知与几何约束下的驾驶员行为识别方法及系统
CN115457518B (zh) * 2022-08-30 2024-01-26 淮阴工学院 基于姿态感知与几何约束下的驾驶员行为识别方法及系统

Similar Documents

Publication Publication Date Title
Yang et al. An emotion recognition model based on facial recognition in virtual learning environment
Markou et al. A neural network-based novelty detector for image sequence analysis
CN107909005A (zh) 基于深度学习的监控场景下人物姿态识别方法
KR20080104943A (ko) 얼굴 인식 방법 및 시스템
Anishchenko Machine learning in video surveillance for fall detection
Halkias et al. Classification of mysticete sounds using machine learning techniques
Ding et al. Facial action recognition using very deep networks for highly imbalanced class distribution
Vadlapati et al. Facial recognition using the OpenCV Libraries of Python for the pictures of human faces wearing face masks during the COVID-19 pandemic
CN114882588A (zh) 基于神经网络的肢体语言识别系统
CN111860056A (zh) 基于眨眼的活体检测方法、装置、可读存储介质及设备
CN113627391A (zh) 一种考虑个体差异的跨模式脑电信号识别方法
KR101313103B1 (ko) 지능로봇의 얼굴인식 성능평가 시스템 및 평가 방법
CN117198468A (zh) 基于行为识别和数据分析的干预方案智慧化管理系统
Jindal et al. Sign Language Detection using Convolutional Neural Network (CNN)
CN111191598A (zh) 一种基于智能陪伴机器人的人脸表情识别方法
CN116484290A (zh) 一种基于Stacking集成的抑郁症识别模型构建方法
WO2022120532A1 (en) Presentation attack detection
Mohammed et al. Iris recognition based biometric identification using neural networks
Sowmya et al. Machine learning model for emotion detection and recognition using an enhanced Convolutional Neural Network
CN114120370A (zh) 基于cnn-lstm的人体跌倒检测实现方法及系统
CN109034079B (zh) 一种用于人脸非标准姿态下的面部表情识别方法
CN113705339A (zh) 基于对抗性域适应策略的跨用户人体行为识别方法
CN110555342B (zh) 一种图像识别方法、装置和图像设备
Rao et al. Novel approach of Using Periocular and Iris Biometric Recognition in the Authentication of ITS
Girn et al. Gender Classification Hand Recognition System Using Key-Point Detection with Deep Neural Network

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