CN112069979B - 一种实时动作识别人机交互系统 - Google Patents
一种实时动作识别人机交互系统 Download PDFInfo
- Publication number
- CN112069979B CN112069979B CN202010913337.7A CN202010913337A CN112069979B CN 112069979 B CN112069979 B CN 112069979B CN 202010913337 A CN202010913337 A CN 202010913337A CN 112069979 B CN112069979 B CN 112069979B
- Authority
- CN
- China
- Prior art keywords
- sequence
- frame
- skeleton
- model
- action
- 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
- 230000009471 action Effects 0.000 title claims abstract description 91
- 230000003993 interaction Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000001133 acceleration Effects 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 238000010586 diagram Methods 0.000 claims abstract description 9
- 238000010606 normalization Methods 0.000 claims abstract description 5
- 230000000875 corresponding effect Effects 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 claims description 7
- 230000018109 developmental process Effects 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 2
- 210000000988 bone and bone Anatomy 0.000 abstract description 12
- 238000010801 machine learning Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 210000003414 extremity Anatomy 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- NVMMUAUTQCWYHD-ABHRYQDASA-N Asp-Val-Pro-Pro Chemical compound OC(=O)C[C@H](N)C(=O)N[C@@H](C(C)C)C(=O)N1CCC[C@H]1C(=O)N1[C@H](C(O)=O)CCC1 NVMMUAUTQCWYHD-ABHRYQDASA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种实时动作识别人机交互系统,该系统在AI加速模块上单独处理图像信息和进行动作识别模型推理,提高算法执行的效率,并且在获取人体骨骼关键点时先计算先验位置再准确定位,极大地降低计算量,使得交互系统具有实时性;并且使用Atlas 200DK进行模型推理时无需额外配置任何机器学习环境,只需将已有模型转换至其架构下即可使用;动作识别模型基于时空图卷积网络搭建,推理时采用变底数的softmax函数来对其进行指数和概率归一化计算,并设计动作状态切换逻辑,防止动作误识别,提高准确率;另外针对动作识别网络,给出一种采集数据集和归一化人体骨骼关键点数据的方法,使得整个交互系统具有可移植性和通用性。
Description
技术领域
本发明属于人体行为检测及人机交互领域,尤其涉及一种通过动作识别实现人机交互的方式。
背景技术
人机交互是人与机器人之间进行交流通信的一种方式,目前主流的人机交互方式包括语音交互、视觉交互、传感器交互、多通道交互等。
对于机器人来说,其目前的应用领域主要为安防巡检、物流运输等,这些领域主要位于室外或工厂、仓库等环境空旷且噪声嘈杂的场景,语音交互的方式容易受到干扰,很难达到实时准确的效果。而传感器交互的方式,虽然能够保证获取的数据准确,但需要人佩戴相应的传感设备,交互的通用性和便用性较差。从日常信息获取的方式来说,70%以上的信息都是由视觉获取,在人机交互过程中,通过视觉的方式,机器人可以获取更多维度的信息,同时也保证了可以远距离的进行人机交互,适用于户外的场景。近年来,随着基于视觉的人机交互研究的深入,其衍生出了很多领域,包括手势识别、人体姿势识别、动作识别、面部表情识别等。对于户外或者工厂环境内作业的机器人来说,人机交互过程要求具有较高的准确率,常用的交互方式为识别目标较大的人体姿势识别和动作识别。
随着视频采集设备的发展,获取的图像质量越来越好,高分辨率图像提高算法准确率的同时,为保证实时性,其对硬件的性能要求较高。在实际应用中,尤其是对于动作识别这种需要处理一段图像序列的应用,如何在软件层面快速处理高分辨率的图片,提高实时性,节省硬件资源,有很多需要探索的地方。另外,目前主流的图像识别方法都是基于机器学习实现的,而在机器学习的模型推理过程中需要高性能的图形处理器(GraphicsProcessing Unit,GPU)进行加速以达到实时识别的效果,但高性能的GPU通常价格比较昂贵且消耗功率较多,并且使用模型进行推理前需要配置相关的机器学习环境,技术门槛要求较高。
发明内容
本发明的目的在于针对现有技术的不足,提供一种实时动作识别人机交互系统。
本发明的目的是通过以下技术方案来实现的:一种实时动作识别人机交互系统,包括视频采集设备、主机、AI加速模块和机器人控制器;通过主机驱动视频采集设备获取视频流,将视频分解为图像帧序列;将获取的图像帧发送到AI加速模块,AI加速模块搭载人体骨骼关键点检测模型和动作识别模型,图像帧序列输入人体骨骼关键点检测模型得到所有骨骼关键点的位置以及关键点之间的连接关系,标准化骨骼关键点序列并输入动作识别模型推理得到动作ID,向机器人控制器发送对应动作指令;机器人控制器控制机器人执行对应动作。
进一步地,通过以下操作优化所述人体骨骼关键点检测模型:
(1.1)对输入的图像帧利用AI加速模块中的硬件解码方式进行解码;
(1.2)降低输入图像帧的像素大小;
(1.3)减少获取的骨骼关键点的数量;
(1.4)先对人体骨骼关键点检测模型原始输出heatmap提取局部最大值,获取到骨骼关键点的先验位置,再将heatmap的维度扩展为与输入图像帧相同,利用已知的先验位置得到对应骨骼关键点在输入图像帧的位置。
进一步地,所述标准化骨骼关键点序列具体为:
(2.1)统一序列帧数:将原始帧数或标准帧数分段,求解每段区间内需要删除或插值计算的帧数,通过查表的方式决定删除帧或者插值帧的索引;
(2.2)标准化序列数据:对于骨骼关键点序列的前k帧数据,选取某一个关键点在这k帧中的平均位置作为标准化后骨架序列的坐标原点,选取某两个相邻关键点之间长度在这k帧中的平均值作为标准化后骨架序列的单位长度,根据坐标原点和单位长度将原始骨架序列映射为标准骨架序列。
进一步地,所述统一序列帧数具体为:
(2.1.1)设原始骨骼关键点序列的帧数为Tori,标准的帧数为Tstd,则需要删除或者插值计算的总帧数为|Tori-Tstd|;
(2.1.2)令Tmax=MAX(Tori,Tstd),将Tmax分段,每段的帧数为Tinter,一共有个区间段,取整忽略最后一个非整区间段,/>表示向下取整;
(2.1.3)那么Tmax所代表序列的第i个区间段需要删除或插值计算的帧数change_numi为:
其中,表示对/>取余数。
(2.1.4)构建一个表数据table_listj,,一共有Tinter项,j∈{1,2,…,Tinter};且j的取值由决定,对第i个区间段,查找表数据中/>项,表示需要删除或插值的/>帧在本区间段中的位置索引;最后,原始骨骼序列中需要删除或者标准骨骼序列中需插值计算的帧位置索引t为:
其中,i表示区间段索引;k为中的元素,表示需要删除或者插值的帧在该区间段内的索引。
(2.1.5)Tori>Tstd时,需对原始骨骼序列删除帧,以求得的序列中待删除帧的索引,删除原始骨骼关键点序列中对应位置的数据;Tori<Tstd时,标准帧数骨骼序列中的某些帧需通过插值计算求得,先将原始骨骼序列依次赋值给标准骨骼序列的非插值帧索引位置,以上述求得的标准骨骼序列中需插值计算的帧的索引,计算插值帧索引位置前后最近的非插值帧的数据平均值进行插值。
进一步地,所述标准帧数为30帧。
进一步地,所述AI加速模块采用Atlas 200DK开发板。
进一步地,所述动作识别模型基于时空图卷积网络框架搭建,通过堆叠时空图卷积层来提高网络的特征提取能力和性能;网络中图卷积部分的骨架拓扑图使用固定的邻接矩阵来表示,不可学习,但是增加了有关肢体关键点参数的权重。
进一步地,基于训练好的运动识别模型通过以下操作进行优化用于预测阶段:
(a)将模型的输出节点设为训练网络softmax层的前一层,为一个n维向量,n表示动作类别数;在得到模型的输出后,添加一个底数为a的softmax函数来对其进行指数和概率归一化计算,降低n个动作概率值的标准差;a从1~e取值;
(b)根据实际情况对所有动作设置阈值,若在识别过程中,某一动作的概率值连续超过阈值预设次数,则动作的状态置为该动作;之后,在识别出另一动作之前,一直保持该动作状态,防止模型误识别。
进一步地,所述图像帧先保存在主机本地,然后通过安全外壳协议发送给AI加速模块;所述AI加速模块通过用户数据报协议将动作ID发送至机器人控制器。
进一步地,在采集动作识别模型的训练样本时,动作演示者在不同位置重复相同动作若干次;其中,对于动作类别的设计,除具有指令意义的动作外,还包括默认动作,用于表示无行为指令产生。
本发明的有益效果是:本发明在AI加速模块上单独处理图像信息和进行动作识别模型的推理,提高算法执行的效率,并且在获取人体骨骼关键点时先进行先验位置的计算再进行准确定位,极大地降低了计算量,使得交互系统具有实时性;并且使用Atlas 200DK进行模型推理时无需额外配置任何机器学习环境,只需将已有模型转换至其架构下即可使用;动作识别模型基于时空图卷积网络搭建,推理时采用变底数的softmax函数来对其进行指数和概率归一化计算,并设计动作状态切换逻辑,防止动作误识别,提高准确率;另外,针对动作识别网络,给出了一种采集数据集和归一化人体骨骼关键点数据的方法,使得整个交互系统具有可移植性和通用性。
附图说明
图1为本发明的人机交互系统的硬件结构图;
图2为本发明的人机交互系统的设计步骤和执行流程图;
图3为本发明的人体骨骼关键点示意图。
具体实施方式
在本发明介绍了一种基于人体骨骼关键点进行动作识别的人机交互系统的设计方案,实现了交互系统的实时性和准确性,并在四足机器人上进行了实验测试。
图1示例性的展示了本发明的系统结构,该系统结构可以分为待检测人体106以及四足机器人105,其中四足机器人发挥作用的主要构件为视频采集设备101、主机102、从机(AI加速模块)103和控制器104。其在本发明的使用示例中分为,视频采集设备:RealSenseD435i,主机:NUCi7BEH,从机(AI加速模块):Atlas 200Developer Kit(Atlas 200DK开发板)。
其中,主机102实时获取视频采集设备101的实时视频流数据,将其拆分成连续的图像帧序列,并发送到从机(AI加速模块)103,从机计算并获取到对应的动作ID后通过UDP向控制器104发送对应指令,控制器104控制四足机器人执行对应动作。本发明的图像处理和神经网络模型的推理都是在AI加速模块上实现的。
需要说明的是,上述图1所示的系统结构仅为本人机交互方法使用的示例,本发明对此不做限定。
基于上述描述,图2详细的展示了本发明在图1所示结构下实施的具体流程,进一步阐述本发明的技术内容和特点:
步骤S201,从视频采集设备的视频流中获取动作的图像帧序列。NUC板驱动RealSense D435i摄像头获取实时的、分辨率为640×480的视频流数据,并将其拆分成单独的图像帧,帧率为每秒30帧,按照图像帧获取的时间顺序,实时的传输至Atlas 200DK开发板;基于AI加速模块性能优势,进一步处理图像序列,提高实时性。
进一步的,所述图像帧需要先保存在NUC本地,然后通过安全外壳协议(SecureShell,SSH)发送给Atlas 200DK;
步骤S202,对图像帧序列中的每一帧图像检测骨骼关键点,得到动作的骨骼关键点序列。先在Atlas 200DK上部署OpenPose模型,对于输入的图像帧序列中每一帧图像,获取OpenPose模型计算出的热图heatmap以及亲和场(Part Affinity Fileds,PAF)。其中heatmap输出维度为16×16×19,其用16×16大小的矩阵表示18个骨骼关键点和背景在图像帧中的分布;PAF输出维度为16×16×38,其用38个16×16大小的矩阵表示相邻骨骼关键点之间的连接从属关系。通过对heatmap以及PAF做数据后处理,可以在即便多人存在的情况下找到待检测目标人体的所有骨骼关键点的位置以及关键点之间的连接关系。
进一步的,为了保证人机交互过程中的实时性,此步骤中进行了四步操作,分别为:
1、对于输入的图像利用Atlas 200DK中的数字视觉预处理(Digital Vision Pre-Processing,DVPP)进行硬件解码,得到可以用于计算的数据。相较于软件解码方式可以有效的提高图像数据与处理的速度。
2、降低输入图像的像素大小。对于OpenPose模型来说,其模型的输入大小为368×368,在将OpenPose转换成Atlas 200DK可以使用的模型过程中,将其输入大小更改为128×128,以提高人体骨骼关键点检测模型的识别速度。
3、降低获取的骨骼关键点的数量。从OpenPose模型计算出的heatmap中可以提出18个人体骨骼关键点,本发明中仅采用了前14个骨骼关键点来描述人体的动作特征,如图3所示。分别为“头301、颈302、双肩(303、304)、双肘(305、306)、双手(307、308)、双跨(309、310)、双膝(311、312)、双脚(313、314)”,该方法可以降低heatmap以及PAF后处理过程中的计算量。
4、在计算骨骼关键点位置的过程中,先对原始的16×16大小的heatmap提取局部最大值,获取所有骨骼关键点的先验位置,再将heatmap的维度扩展为与输入图像相同的128×128大小,利用已知的先验位置进一步精确骨骼关键点的位置。相较于传统的直接从128×128大小的矩阵中寻找局部最大值的方法,本方法可以显著降低计算过程中的时间复杂度。
上述改进极大地降低了计算量,提高交互系统的实时性。
进一步的,检测图像帧序列中所有图像帧的骨骼关键点序列,按照时间维度保存在矩阵中。
步骤S203,用户自行设计动作类别,制作训练数据集。制作动作识别模型训练数据集,包括标准化数据和数据增强等部分。
在采集样本时,每位动作演示者在不同位置重复所述5种动作10次,一共有12位动作演示者;截取2s时间长度的动作图像帧序列,依据所述获取动作骨骼关键点序列的方法,一共得到60帧长度的动作骨骼关键点序列,通过后续统一帧数的方法将其与动作识别模型时间维度统一;对每个动作类别,收集的原始样本数不低于60;训练数据集中包括了鼓掌、挥手、踢腿、双手平举、站立5种动作,其中站立为默认姿态,当识别为站立时,表示无行为指令;
进一步的,对采集的骨架信息,画出每一帧数据的关键点和关键点之间的连接骨骼,将其可视化为gif动图,查看该样本的动作是否合格,剔除不好的样本;
进一步的,可采用以下方法提高采集样本的效率和样本数量:
1、NUC连接两个RealSense相机,放置在距离人相同距离的不同位置上,主机同时读取多个视频采集装置的视频流,获取不同视角下的动作样本,提高数据集的多样性。
2、本实例设计的五种动作无左右侧区分,可将动作的骨骼关键点序列在空间上左右对称,增加样本数量。
对所述的人体动作骨骼关键点序列,用下列方法统一序列帧数和标准化骨架序列数据:
将标准帧数与原始帧数中较大的分段,求解每段区间内需要删除或插值计算的帧数,通过查表的方式决定删除帧或者插值帧的索引,该方法能够保证得到的标准帧数骨骼序列尽可能的平滑。采用分段查表的方式求得所述删除帧或者插值帧的索引具体为:
设原始骨骼关键点序列的帧数为Tori,标准的帧数为Tstd,则需要删除或者插值计算的总帧数为|Tori-Tstd|;
令Tmax=MAX(Tori,Tstd),将Tmax分段,每段的帧数为Tinter,一共有个区间段,取整忽略最后一个区间段,/>表示向下取整;
那么Tmax所代表序列的第i个区间段需要删除或插值计算的帧数为:
其中,表示对/>取余数。
构建一个表数据table_listj,,一共有Tinter项,j∈{1,2,…,Tinter};且j的取值由决定,对第i个区间段,查找表数据中/>项,表示需要删除或插值的/>帧在本区间段中的位置索引;如本实例中Tinter为10,具体表数据为表1所示,例如若某个10区间需要删除4帧,那么要删除的帧在该区间的索引为2,4,6,8;
表1:采用10区间分段标准化骨架序列时对应的数据表
最后,骨骼序列需要删除或者插值的帧位置索引t为:
其中,i表示区间段索引,k表示需要删除或者插值的帧在该区间内的索引。
Tori>Tstd时,需对原始骨骼序列删除帧,以上述求得的序列中待删除帧的索引,删除原始骨骼关键点序列中对应位置的数据;Tori<Tstd时,标准帧数骨骼序列中的某些帧需通过插值计算求得,先将原始骨骼序列依次赋值给标准骨骼序列的非插值帧索引位置,以上述求得的标准骨骼序列中需插值计算的帧的索引,计算插值帧索引位置前后最近的非插值帧的数据平均值进行插值。
本实例,根据动作识别模型的时间维度,将骨架序列的帧数统一为30帧;
计算动作骨架序列中“双跨”和“颈”这3个关键点前5帧的平均坐标值作为映射后标准骨架的原点,计算前5帧“颈”和“双跨”中心位置的垂直距离的平均值作为标准化骨架序列的单位长度,以所述的方法将原始骨架信息映射为标准骨架序列数据。
对于每个样本,以CTV的形式保存在txt文件中,并在其命名时标记其类别信息,其中C表示坐标信息的维度,值为2,T表示帧数统一后的时间序列数,值为30,V表示骨架的关节点数,值为14;
利用本实例所述采集数据集和标准化骨骼数据的方法,用户可在本发明提供的框架下自行设计动作,调整骨架序列数,使得整个交互系统具有可移植性和通用性。
步骤S204,搭建和训练动作识别模型。基于时空图卷积网络(Spatial TemporalGraph Convolutional Networks,ST-GCN)框架搭建动作识别模型,通过堆叠时空卷积层来提高模型的特征提取能力和性能;模型的输入格式为32×2×30×14,分别代表:训练时的batch大小为32,关键点的二维坐标值,骨骼关键点序列帧数为30帧,骨骼关键点的个数14个;30帧骨架序列在尽可能保证模型识别精度同时,又能在实际使用时快速刷新实时的动作骨架序列,保证实时性;
进一步的,网络中图卷积部分的骨架拓扑图使用固定的邻接矩阵A来表示,不可学习,A的维度信息为14×14×3,3表示有三个子图,分别为自身连接关系、关键点的物理内连接和外连接,因为本实例的动作都是关于肢体的动作,所以增加了内外连接的中肢体连接部分的参数权重,设置为1.2。
将训练数据集以3:1的比例分为训练集和测试集,训练动作识别模型,调整模型参数,使模型在测试机上识别准确率在95%以上,将模型固化,保存为pb文件;
步骤S205,部署动作识别模型至AI加速模块。在Atlas 200DK上部署动作识别模型,利用Atlas开发工具MindStudio,将固化模型的pb文件转化为om文件,移植到Atlas200DK上,无需额外配置任何机器学习环境,置于人体骨骼关键点检测模型后,实现模型的快速推理。
步骤S206,实时获取待检测人体动作的骨骼关键点序列,将其输入到动作识别模型,得到对应的动作类别。依据s202步骤中的获取动作骨骼关键点序列的方法和s203步骤中的标准化骨架关键点序列数据,获取实时的获取待检测人体动作的骨骼关键点序列,将其输入到所述部署好的动作识别模型中推理;
进一步的,对于所述获得的骨架关节点信息中部分关节点未识别到的情况,利用语音或者文字输出的方式输出,提醒做动作者调整其位置,提高人机交互性,也可选择进一步判断是哪些关节点信息缺失,从而给出人体移动方向的提示。
进一步的,为了提高模型识别的准确度以保证整体的稳定性,在此步骤利用训练好的运动识别模型进行推理时进行了两步操作,有效防止了动作误识别,提高准确率:
1、将模型的输出节点设为训练网络softmax层的前一层,为一个5维向量,一共有5个动作的类别数;在得到模型的输出后,添加一个底数为1.4的softmax函数来对其进行指数和概率归一化计算,以此方式来降低5动作概率值的标准差,提高动作动作识别的可信度,降低误识别率。具体计算概率的公式为:
假设模型输出的5维向量为X=[x1,x2,…,x5],则5个动作类别对应的概率为:
该改进的优点可由以下公式解释:假设模型输出的n维向量为X=[x1,x2,…,xn],则训练网络softmax层所得到的第i个动作概率值pi为:
其中,i=1~n;改进后,得到的第i个动作概率值pi′为:
假设输出向量对应的最大值是xk,其经过底数替换后的概率值变小了:
其中,pk为原第k个动作概率值,pk′为改进后第k个动作概率值;已知xk>xj,又1<a<e,所以pk>pk′,概率值减小。同理,若xk对应输出向量的最小值则/>pk<pk′,概率值增加。
2、根据实际情况对所有动作设置阈值,若在识别过程中,某一动作的概率值连续超过阈值i次,则动作的状态置为该动作;在本示例中,不同动作对应的阈值分别为,站立:0.5,鼓掌:0.9,双手平举:0.95,挥手:0.8,踢腿:0.9,且需连续识别2次后则认为当前处于此动作状态。
步骤S207,发送结果至机器人控制器,执行相应的指令。将动作识别模型计算出的动作id通过用户数据报协议(User Data Protocol,UDP)发送至运动控制主机,控制机器人执行相应的动作。
Claims (8)
1.一种实时动作识别人机交互系统,其特征在于,包括视频采集设备、主机、AI加速模块和机器人控制器;通过主机驱动视频采集设备获取视频流,将视频分解为图像帧序列;将获取的图像帧发送到AI加速模块,AI加速模块搭载人体骨骼关键点检测模型和动作识别模型,图像帧序列输入人体骨骼关键点检测模型得到所有骨骼关键点的位置以及关键点之间的连接关系,标准化骨骼关键点序列并输入动作识别模型推理得到动作ID,向机器人控制器发送对应动作指令;机器人控制器控制机器人执行对应动作;
所述标准化骨骼关键点序列具体为:
(2.1)统一序列帧数:将原始帧数或标准帧数分段,求解每段区间内需要删除或插值计算的帧数,通过查表的方式决定删除帧或者插值帧的索引;
(2.2)标准化序列数据:对于骨骼关键点序列的前k帧数据,选取某一个关键点在这k帧中的平均位置作为标准化后骨架序列的坐标原点,选取某两个相邻关键点之间长度在这k帧中的平均值作为标准化后骨架序列的单位长度,根据坐标原点和单位长度将原始骨架序列映射为标准骨架序列;
所述统一序列帧数具体为:(2.1.1)设原始骨骼关键点序列的帧数为Tori,标准的帧数为Tstd,则需要删除或者插值计算的总帧数为|Tori-Tstd|;
(2.1.2)令Tmax=Max(Tori,Tstd),将Tmax分段,每段的帧数为Tinter,一共有个区间段,取整忽略最后一个非整区间段,/>表示向下取整;
(2.1.3)那么Tmax所代表序列的第i个区间段需要删除或插值计算的帧数change_numi为:
其中,表示对/>取余数;
(2.1.4)构建一个表数据table_list,table_listj为表数据的第j行,表示需要删除或插值的j帧对应的帧位置索引,其中j=1~Tinter;对第i个区间段,查表时j的取值由步骤(2.1.3)得到的决定,查找表数据中的/>项,表示第i个区间段中需要删除或插值的/>帧的位置索引;最后,原始骨骼序列中需要删除或者标准骨骼序列中需插值计算的帧位置索引t为:
其中,i表示区间段索引;k为中的元素;
(2.1.5)Tori>Tstd时,需对原始骨骼序列删除帧,以求得的序列中待删除帧的索引,删除原始骨骼关键点序列中对应位置的数据;Tori<Tstd时,标准帧数骨骼序列中的某些帧需通过插值计算求得,先将原始骨骼序列依次赋值给标准骨骼序列的非插值帧索引位置,以上述求得的标准骨骼序列中需插值计算的帧的索引,计算插值帧索引位置前后最近的非插值帧的数据平均值进行插值。
2.如权利要求1所述实时动作识别人机交互系统,其特征在于,通过以下操作优化所述人体骨骼关键点检测模型:
(1.1)对输入的图像帧利用AI加速模块中的硬件解码方式进行解码;
(1.2)降低输入图像帧的像素大小;
(1.3)减少获取的骨骼关键点的数量;
(1.4)先对人体骨骼关键点检测模型原始输出heatmap提取局部最大值,获取到骨骼关键点的先验位置,再将heatmap的维度扩展为与输入图像帧相同,利用已知的先验位置得到对应骨骼关键点在输入图像帧的位置。
3.如权利要求1所述实时动作识别人机交互系统,其特征在于,所述标准帧数为30帧。
4.如权利要求1所述实时动作识别人机交互系统,其特征在于,所述AI加速模块采用Atlas200DK开发板。
5.如权利要求1所述实时动作识别人机交互系统,其特征在于,所述动作识别模型基于时空图卷积网络框架搭建,通过堆叠时空图卷积层来提高网络的特征提取能力和性能;网络中图卷积部分的骨架拓扑图使用固定的邻接矩阵来表示,不可学习,但是增加了有关肢体关键点参数的权重。
6.如权利要求1所述实时动作识别人机交互系统,其特征在于,基于训练好的运动识别模型通过以下操作进行优化用于预测阶段:
(a)将模型的输出节点设为训练网络softmax层的前一层,为一个n维向量,n表示动作类别数;在得到模型的输出后,添加一个底数为a的softmax函数来对其进行指数和概率归一化计算,降低n个动作概率值的标准差;a从1~e取值;
(b)根据实际情况对所有动作设置阈值,若在识别过程中,某一动作的概率值连续超过阈值预设次数,则动作的状态置为该动作;之后,在识别出另一动作之前,一直保持该动作状态,防止模型误识别。
7.如权利要求1所述实时动作识别人机交互系统,其特征在于,所述图像帧先保存在主机本地,然后通过安全外壳协议发送给AI加速模块;所述AI加速模块通过用户数据报协议将动作ID发送至机器人控制器。
8.如权利要求1所述实时动作识别人机交互系统,其特征在于,在采集动作识别模型的训练样本时,动作演示者在不同位置重复相同动作若干次;其中,对于动作类别的设计,除具有指令意义的动作外,还包括默认动作,用于表示无行为指令产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010913337.7A CN112069979B (zh) | 2020-09-03 | 2020-09-03 | 一种实时动作识别人机交互系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010913337.7A CN112069979B (zh) | 2020-09-03 | 2020-09-03 | 一种实时动作识别人机交互系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112069979A CN112069979A (zh) | 2020-12-11 |
CN112069979B true CN112069979B (zh) | 2024-02-02 |
Family
ID=73666556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010913337.7A Active CN112069979B (zh) | 2020-09-03 | 2020-09-03 | 一种实时动作识别人机交互系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069979B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113838218B (zh) * | 2021-09-24 | 2023-10-13 | 厦门大学 | 一种感知环境的语音驱动虚拟人姿态合成方法 |
CN117009729B (zh) * | 2023-10-08 | 2024-01-26 | 之江实验室 | 基于softmax的数据处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446927A (zh) * | 2018-10-11 | 2019-03-08 | 西安电子科技大学 | 基于先验知识的双人交互行为识别方法 |
CN109948459A (zh) * | 2019-02-25 | 2019-06-28 | 广东工业大学 | 一种基于深度学习的足球动作评估方法与系统 |
CN110135375A (zh) * | 2019-05-20 | 2019-08-16 | 中国科学院宁波材料技术与工程研究所 | 基于全局信息整合的多人姿态估计方法 |
CN110222551A (zh) * | 2018-03-02 | 2019-09-10 | 杭州海康威视数字技术股份有限公司 | 识别动作类别的方法、装置、电子设备及存储介质 |
CN110992454A (zh) * | 2019-11-29 | 2020-04-10 | 南京甄视智能科技有限公司 | 基于深度学习的实时动作捕捉和三维动画生成方法与装置 |
CN111401106A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种行为识别方法、装置及设备 |
CN111476181A (zh) * | 2020-04-13 | 2020-07-31 | 河北工业大学 | 一种人体骨架动作的识别方法 |
-
2020
- 2020-09-03 CN CN202010913337.7A patent/CN112069979B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222551A (zh) * | 2018-03-02 | 2019-09-10 | 杭州海康威视数字技术股份有限公司 | 识别动作类别的方法、装置、电子设备及存储介质 |
CN109446927A (zh) * | 2018-10-11 | 2019-03-08 | 西安电子科技大学 | 基于先验知识的双人交互行为识别方法 |
CN111401106A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种行为识别方法、装置及设备 |
CN109948459A (zh) * | 2019-02-25 | 2019-06-28 | 广东工业大学 | 一种基于深度学习的足球动作评估方法与系统 |
CN110135375A (zh) * | 2019-05-20 | 2019-08-16 | 中国科学院宁波材料技术与工程研究所 | 基于全局信息整合的多人姿态估计方法 |
CN110992454A (zh) * | 2019-11-29 | 2020-04-10 | 南京甄视智能科技有限公司 | 基于深度学习的实时动作捕捉和三维动画生成方法与装置 |
CN111476181A (zh) * | 2020-04-13 | 2020-07-31 | 河北工业大学 | 一种人体骨架动作的识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112069979A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135319B (zh) | 一种异常行为检测方法及其系统 | |
Gao et al. | Dynamic hand gesture recognition based on 3D hand pose estimation for human–robot interaction | |
WO2020108362A1 (zh) | 人体姿态检测方法、装置、设备及存储介质 | |
CN110135249B (zh) | 基于时间注意力机制和lstm的人体行为识别方法 | |
CN105550678B (zh) | 基于全局显著边缘区域的人体动作特征提取方法 | |
CN107341442B (zh) | 运动控制方法、装置、计算机设备和服务机器人 | |
US20180186452A1 (en) | Unmanned Aerial Vehicle Interactive Apparatus and Method Based on Deep Learning Posture Estimation | |
CN110688965A (zh) | 基于双目视觉的ipt模拟训练手势识别方法 | |
CN112069979B (zh) | 一种实时动作识别人机交互系统 | |
CN110135237B (zh) | 一种手势识别方法 | |
CN110135277B (zh) | 一种基于卷积神经网络的人体行为识别方法 | |
JP2022553252A (ja) | 画像処理方法、画像処理装置、サーバ、及びコンピュータプログラム | |
CN113255514B (zh) | 基于局部场景感知图卷积网络的行为识别方法 | |
CN112926475B (zh) | 一种人体三维关键点提取方法 | |
CN112183506A (zh) | 一种人体姿态生成方法及其系统 | |
CN117671738B (zh) | 基于人工智能的人体姿态识别系统 | |
CN115147488B (zh) | 一种基于密集预测的工件位姿估计方法与抓取系统 | |
CN112199994B (zh) | 一种实时检测rgb视频中的3d手与未知物体交互的方法和装置 | |
CN112381045A (zh) | 一种面向物联网移动端设备的轻量级人体姿态识别方法 | |
CN116092178A (zh) | 一种面向移动端的手势识别和跟踪方法及系统 | |
CN117475518A (zh) | 一种同步人体运动识别与预测方法及系统 | |
CN118230415A (zh) | 一种图注意力网络驱动的人体异结构动作数据预测方法 | |
CN115880332A (zh) | 一种低空飞行器视角的目标跟踪方法 | |
Zhang et al. | Object detection based on deep learning and b-spline level set in color images | |
Liang et al. | Interactive Experience Design of Traditional Dance in New Media Era Based on Action Detection |
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 |