CN117423166B - 一种根据人体姿态图像数据的动作识别方法及系统 - Google Patents
一种根据人体姿态图像数据的动作识别方法及系统 Download PDFInfo
- Publication number
- CN117423166B CN117423166B CN202311713262.8A CN202311713262A CN117423166B CN 117423166 B CN117423166 B CN 117423166B CN 202311713262 A CN202311713262 A CN 202311713262A CN 117423166 B CN117423166 B CN 117423166B
- Authority
- CN
- China
- Prior art keywords
- human body
- structured
- image frame
- human
- face
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000009471 action Effects 0.000 claims description 127
- 238000001514 detection method Methods 0.000 claims description 50
- 230000008859 change Effects 0.000 claims description 45
- 210000000988 bone and bone Anatomy 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006978 adaptation Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 abstract description 61
- 238000012545 processing Methods 0.000 abstract description 17
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000004044 response Effects 0.000 abstract description 2
- 210000003128 head Anatomy 0.000 description 79
- 230000036544 posture Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 23
- 210000002310 elbow joint Anatomy 0.000 description 13
- 210000003127 knee Anatomy 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 210000004247 hand Anatomy 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 210000001508 eye Anatomy 0.000 description 4
- 210000000887 face Anatomy 0.000 description 4
- 210000002683 foot Anatomy 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008921 facial expression Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 210000001331 nose Anatomy 0.000 description 3
- 210000000056 organ Anatomy 0.000 description 3
- 210000003423 ankle Anatomy 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000000214 mouth Anatomy 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 208000025978 Athletic injury Diseases 0.000 description 1
- 206010041738 Sports injury Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 210000001513 elbow Anatomy 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 210000003141 lower extremity Anatomy 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000002832 shoulder Anatomy 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 210000005010 torso Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 210000000689 upper leg Anatomy 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 210000000707 wrist Anatomy 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
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based 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/20—Image preprocessing
- G06V10/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Psychiatry (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及图像数据处理技术领域。本发明公开了一种根据人体姿态图像数据的动作识别方法及系统,该方法包括:通过获取训练者的图像数据流,定位人体图像,拆分第一帧得到人体部位,追踪其他帧的人体部位得到结构化人体组,输入到骨骼动作识别模型中得到人体骨骼动作,再根据骨骼动作判断确定反应策略,能够捕捉到训练者更加细节、具体的连续的动态姿态变化,使得识别训练者的动作是否标准的结果更加准确。
Description
技术领域
本发明涉及图像数据处理技术领域,尤其是涉及一种根据人体姿态图像数据的动作识别方法及系统。
背景技术
在训练者进行体育运动训练时,动作是否标准是一个非常重要的问题。一个标准的动作可以确保训练者在进行运动时得到最大的效益,减少受伤的风险。所以对训练者进行动作识别,判断其动作是否标准,具有重要的实际意义。
在对训练者进行动作识别的过程中,通常基于摄像头拍摄的运动图片的识别技术和基于人体关节运动信息的识别技术对训练者进行识别,包括对包含人训练者运动的图片进行图像识别、模版匹配,来判断其动作的标准性,但这种方法无法捕捉到训练者的更加具体的动态动作和姿势变化,导致了对于判断其动作是否标准不够准确。
发明内容
本申请提供了一种根据人体姿态图像数据的动作识别方法及系统,用于通过获取训练者的图像数据流,定位人体图像,拆分第一帧得到人体部位,追踪其他帧的人体部位得到结构化人体组,输入到骨骼动作识别模型中得到人体骨骼动作,再根据骨骼动作判断确定反应策略,能够捕捉到训练者更加细节、具体的连续的动态姿态变化,使得识别训练者的动作是否标准的结果更加准确。
第一方面,本申请提供了一种根据人体姿态图像数据的动作识别方法,该方法包括:
获取训练者的图像数据流,该图像数据流包含连续的图像帧;
对每一个该图像帧中训练者的人体图像进行定位,得到仅包括人体图像的人体图像帧组;
拆分第一人体图像帧中的人体图像得到全部人体部位,该第一人体图像帧为该人体图像帧组中的第一帧;
对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组,该其他人体图像帧组为该人体图像帧组中除该第一人体图像帧外的其他人体图像帧;
将该结构化人体组输入到骨骼动作识别模型中,得到人体骨骼动作,该人体骨骼动作包括该人体图像帧组的人体骨骼姿态;
根据该人体骨骼动作与标准规范范围的判断结果确定反应策略。
通过采用上述技术方案,通过获取训练者的图像数据流,定位人体图像,拆分第一帧得到人体部位,追踪其他帧的人体部位得到结构化人体组,输入到骨骼动作识别模型中得到人体骨骼动作,再根据骨骼动作判断确定反应策略,能够捕捉到训练者更加细节、具体的连续的动态姿态变化,使得识别训练者的动作是否标准的结果更加准确。
结合第一方面的一些实施例,在一些实施例中,该根据该人体骨骼动作与标准规范范围的判断结果确定反应策略的步骤,该步骤具体包括:
在确定初始图像帧存在运动器材的情况下,确定该初始图像帧中运动器材的位置特征,该初始图像帧为该图像数据流的第一帧;
对其他图像帧组中的运动器材进行追踪,得到位置特征组;该其他图像帧组为该图像数据流中除该初始图像帧外的其他图像帧;
确定该人体骨骼动作与该位置特征组之间的第一变化状态;
确定该人体骨骼动作的第二变化状态;
根据该第一变化状态和该第二变化状态与标准规范范围的判断结果确定反应策略。
通过采用上述技术方案,在训练者使用运动器材时,通过定位和追踪运动器材的位置特征,判断训练者骨骼动作与运动器材位置变化关系以及骨骼动作自身变化,从两方面判断动作是否在标准范围内从而确定反应策略,相比现有技术中仅能对训练者本身的动作进行判断,能够对使用运动器材的训练者的训练动作作出更加准确的判断。
结合第一方面的一些实施例,在一些实施例中,该根据该人体骨骼动作与标准规范范围的判断结果确定反应策略的步骤,该步骤具体包括:
根据该训练者的身体部位距离值确定标定平均值;
根据该标定平均值和标准规范范围确定适配规范范围;
根据该人体骨骼动作与该适配规范范围判断结果确定反应策略。
通过采用上述技术方案,根据训练者身体部位距离确定标定平均值,再根据平均值确定个性化的适配规范范围,最后将骨骼动作与适配规范范围进行判断,能够考虑到不同训练者之间的体型差异,相比统一的标准规范范围的判断能够做出更加适配个体训练者的判断结果,也使得判断结果更加准确。
结合第一方面的一些实施例,在一些实施例中,该对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组的步骤,该步骤具体包括:
拆分其他人体图像帧组中的人体图像得到全部人体部位;
计算该第一人体图像帧中的结构化人头与第二人体图像帧中全部人体部位的重叠度;该第二人体图像帧为该人体图像帧组中的第二帧;
将重叠度最高的人体部位确定为该第二人体图像帧的结构化人头;
计算该当前人体图像帧中的结构化人头与后续人体图像帧中人体部位组的重叠度;该后续人体图像帧为该当前人体图像帧的下一帧;
将重叠度最高的人体部位确定为该后续人体图像帧的结构化人头;
统计全部结构化人头得到结构化人头组;
对该其他人体图像帧组中的脸部和身体进行追踪,得到结构化人脸组和结构化身体组;
根据该结构化人头组、该结构化人脸组和该结构化身体组得到结构化人体组。
通过采用上述技术方案,通过计算结构化人头与其他人体图像帧中的人体部位的重叠度,从而确定结构化人头组,对脸部和身体执行相同操作,最终得到结构化人体组,能够准确地获取训练者在不同帧中对应的人体部位,从而组成结构化人体组,为后续的人体骨骼动作判断提供支持。
结合第一方面的一些实施例,在一些实施例中,该拆分第一人体图像帧中的人体图像得到全部人体部位的步骤之前,该步骤还包括:
根据人头检测模型对该人体部位中的头部进行确定,得到结构化人头;
根据人脸检测模型对该人体部位中的脸部进行确定,得到结构化人脸;
根据身体检测模型对该人体部位中的身体进行确定,得到结构化身体;
将该结构化人头、该结构化人脸和该结构化身体进行融合,得到第一人体图像帧的结构化人体。
通过采用上述技术方案,通过对人体部位中的头部、脸部和身体进行定位,获取结构化人头、结构化人脸和结构化身体,并进行融合得到第一图像帧中的结构化人体,使用检测模型提高了对人体各部位的识别精度,从而能够构建出高质量的结构化人体。
结合第一方面的一些实施例,在一些实施例中,该根据人脸检测模型对该人体部位中的脸部进行确定,得到结构化人脸的步骤,该步骤具体包括:
根据人脸关键点检测模型对脸部的人脸关键点进行检测得到结构化人脸关键点;
根据人脸姿态检测模型对该脸部的人脸朝向进行检测得到结构化人脸姿态;
将该结构化人脸关键点和该结构化人脸姿态进行融合,得到第一人体图像帧的结构化人脸。
通过采用上述技术方案,通过人脸关键点模型和人脸姿态模型分别得到结构化人脸关键点和人脸姿态,进行融合构建结构化人脸,能够更加全面、准确地获得结构化人脸。
结合第一方面的一些实施例,在一些实施例中,该根据该结构化人头组、该结构化人脸组和该结构化身体组得到该结构化人体组的步骤之后,该步骤还包括:
对该结构化人脸组中的每个结构化人脸进行打分得到人脸得分;
对超过预设人脸得分阈值的结构化人脸进行特征识别得到图像特征;
将该图像特征与预设人脸特征数据库中的人脸特征进行比对;
根据比对结果确定该训练者的身份信息。
通过采用上述技术方案,得到结构化人脸组后,会对每个结构化人脸进行打分,对打分超过阈值的人脸进行特征提取,并与预设人脸特征数据库进行比对,最终确定训练者身份信息,能对训练者的身份进行识别,从而实现个性化、定制化的训练运动的评估和反馈。
第二方面,本申请实施例提供一种根据人体姿态图像数据的动作识别系统,该动作识别系统包括:获取模块,生成模块,第一评估模块,选择模块,第二评估模块,循环模块。
获取模块,获取训练者的图像数据流,该图像数据流包含连续的图像帧;
定位模块,对每一个该图像帧中训练者的人体图像进行定位,得到仅包括人体图像的人体图像帧组;
拆分模块,拆分第一人体图像帧中的人体图像得到全部人体部位,该第一人体图像帧为该人体图像帧组中的第一帧;
追踪模块,对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组,该其他人体图像帧组为该人体图像帧组中除该第一人体图像帧外的其他人体图像帧;
输入模块,将该结构化人体组输入到骨骼动作识别模型中,得到人体骨骼动作,该人体骨骼动作包括该人体图像帧组的人体骨骼姿态;
确定模块,根据该人体骨骼动作与标准规范范围的判断结果确定反应策略。
第三方面,本申请实施例提供了一种根据人体姿态图像数据的动作识别系统,该系统包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该系统执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第四方面,本申请实施例提供一种根据人体姿态图像数据的动作识别系统可读存储介质,包括指令,当上述指令在系统上运行时,使得上述系统执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1.本申请通过获取训练者的图像数据流,定位人体图像,拆分第一帧得到人体部位,追踪其他帧的人体部位得到结构化人体组,输入到骨骼动作识别模型中得到人体骨骼动作,再根据骨骼动作判断确定反应策略,能够捕捉到训练者更加细节、具体的连续的动态姿态变化,使得识别训练者的动作是否标准的结果更加准确。
2.本申请通过在训练者使用运动器材时,通过定位和追踪运动器材的位置特征,判断训练者骨骼动作与运动器材位置变化关系以及骨骼动作自身变化,从两方面判断动作是否在标准范围内从而确定反应策略,相比现有技术中仅能对训练者本身的动作进行判断,能够对使用运动器材的训练者的训练动作作出更加准确的判断。
3.本申请通过根据训练者身体部位距离确定标定平均值,再根据平均值确定个性化的适配规范范围,最后将骨骼动作与适配规范范围进行判断,能够考虑到不同训练者之间的体型差异,相比统一的标准规范范围的判断能够做出更加适配个体训练者的判断结果,也使得判断结果更加准确。
附图说明
图1是本申请实施例中一种根据人体姿态图像数据的动作识别系统的交互场景示意图。
图2是本申请实施例中一种根据人体姿态图像数据的动作识别方法的一个流程示意图。
图3是本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个流程示意图。
图4是本申请实施例中一种根据人体姿态图像数据的动作识别方法的一个实景示意图。
图5是本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个实景示意图。
图6是本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个流程示意图。
图7是本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个流程示意图。
图8是本申请实施例中一种根据人体姿态图像数据的动作识别系统的功能模块结构示意图。
图9是本申请实施例中一种根据人体姿态图像数据的动作识别系统的实体装置结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先对相关技术的应用场景进行介绍:可以理解的是,随着人们对健康意识的提高,越来越多的人开始进行各类体育运动的训练,以达到强身健体的目的。但是许多初学者在自主训练时,由于缺乏专业指导,常常会出现动作不标准的情况,不仅影响训练效果,还可能导致运动损伤。
例如,学校每学期会对学生进行体育测试,以评估学生的身体素质。这些测试项目包括篮球运球、立定跳远、引体向上等,需要学生完成规定动作。但是许多学生由于长期训练不足,在测试中不能正确完成标准动作,导致成绩不佳。
针对这个问题学校使用了一款基于单帧图片识别的体测识别软件,能够拍摄学生训练过程中的图片,与标准的动作库进行对比,但这种方法仅匹配单个关键帧对训练者的动作进行识别,对训练者的训练动作判断不准确,且训练者在进行引体向上等需要运动器材的训练动作时,这款软件并不能准确识别单杠的位置,导致识别出错,无法对训练者的训练进行有效的指导,且在做仰卧起坐等动作时,由于不同训练者的体型差异较大,经常对不同的训练者进行误判。
接下来对本申请中的应用场景进行介绍:
如图1所示,为本申请实施例中一种根据人体姿态图像数据的动作识别系统的一个交互场景示意图。该动作识别系统包括摄像头传感器,图像处理单元和骨骼动作识别模型,在摄像头传感器获取到训练者训练动作的图像数据流后,图像处理单元将对图像数据流进行分析和处理得到每一帧中的结构化人体,组成结构化人体组,并将结构化人体组输入到骨骼动作识别模型中得到人体骨骼动作,将人体骨骼动作与标准规范范围进行对比,且能够对需要运动器材和不需要运动器材的训练动作进行识别,最后根据判断结果做出决策。
上述是本申请实施例中一种根据人体姿态图像数据的动作识别系统的一个交互场景示意图,下面结合图2,对本申请根据人体姿态图像数据的动作识别方法的方案进行描述:
如图2所示,为本申请实施例中一种根据人体姿态图像数据的动作识别方法的一个流程示意图。
S201、获取训练者的图像数据流。
当训练者开始做出训练动作时,通过摄像头传感器对训练者进行拍摄,捕捉摄像头前人体的图像,得到训练者的图像数据流,该图像数据流包含训练者在做出训练动作时的连续图像帧。
在获取到摄像头传感器中的视频后,首先对视频进行编解码获得视频中的图像帧,再对每个图像帧进行预处理。
可以理解的是,在系统中,摄像头获取到的图像进行传输使用的技术是基于UVC传输协议,与边缘计算设备进行视频数据传输。其中,边缘计算设备包含摄像头传感器、图像处理单元和骨骼识别动作模型以及若干IO外设接口。摄像头传感器用于捕捉摄像头前人体的图像。图像处理单元负责对图像进行预处理 ,如人体检测和图像增强。骨骼识别动作模型通过训练得到的模型,推理出人体的骨骼姿态。有线IO外设负责传输分发后处理的图像数据以及推理结果,在另一些实施例中,还可以采取其他的方式,此处不做限定。
UVC是建立在USB(Universal Serial Bus)接口上的协议。USB是一种常见的硬件接口标准,用于连接各种外部设备,包括键盘、鼠标、打印机和摄像头。UVC协议使摄像头设备能够通过USB接口与计算机通信,而无需安装特定的驱动程序。UVC定义了一组标准化的视频格式,包括常见的分辨率和帧率选项。在系统中使用H264/MJPEG格式作为压缩方式,以降低传输数据量,提高传输效率,达到实时渲染的效果。
例如,若摄像头传感器的采集频率是25帧/秒,训练者作引体向上运动持续10秒,则系统将获取包含250帧图像的图像序列。
可以理解的是,摄像头传感器拍摄到的画面也可以通过可实时预览图像的高清屏幕进行显示,并可以将图像进行录像保存,使得训练者能够重复观察自己的训练动作。
在获取到图像数据流之后,需要对图像数据流进行传输,本系统使用RNDIS协议对数据进行传输,RNDIS(Remote Network Driver Interface Specification)是一种用于在计算机和嵌入式系统之间共享网络连接的通信协议。它的主要目的是允许计算机通过USB连接与嵌入式设备通信,从而实现网络连接共享。移动平台终端是通过USB接口与边缘计算设备进行通讯,在边缘计算设备通过RNDIS协议,将其自身模拟成网络适配器(通常是以太网适配器)与UVC传输模块共享同一个USB连接通道,该网络适配器与物理以太网适配器类似,具有独立的IP地址和子网掩码,通过自动配置方式,可实现一台终端连接多台边缘计算设备。通过这种网络共享通讯过程,我们可以实现边缘设备通过模型推理得到的智能化数据结果,以RNDIS协议可以简单方便的输送给移动平台终端中。
S202、对每一个该图像帧中训练者的人体图像进行定位,得到仅包括人体图像的人体图像帧组。
可以理解的是,原始采集到的图像帧中通常会包含背景、其他人员等无关区域,首先对所有图像帧进行预处理,例如对图像帧进行裁剪,对图像帧的画面进行增强等,再使用人体检测算法提取出仅包含训练者人体的图像区域,例如使用特征检测算法或深度学习算法检测出所有包含人体的区域,对图像帧进行分割,根据人体位置坐标提取出仅包含人体的矩形或多边形的图像区域,并移除不包含人体的背景区域,最终得到一个仅包括人体图像的人体图像帧组。
例如,输入的原图像分辨率为1280x720,经过定位后输出的仅包含人体的图像帧大小为480x320。人体定位可以去除无关背景区域,提高后续分析的准确性和针对性。
S203、拆分第一人体图像帧中的人体图像得到全部人体部位。
获取到仅包括人体图像的人体图像帧组之后,对第一人体图像帧中的人体进行进一步拆分,拆分为多个部位,包括脸部、头部和身体部位等,得到第一人体图像帧中的全部人体部位。
例如,使用卷积神经网络对人体图像进行像素级分割,将图像中的每个像素分类到不同的人体部位,或使用图模型描述人体部位之间的关系,将人体分割成具有结构信息的部位。
S204、对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组。
在处理完第一帧后,需要建立其他帧中的人体部位与第一帧部位的对应关系,计算当前帧中的每个部位与下一帧的重合情况,重合度最大的即为对应部位。
例如,将人体图像帧的第一帧的头部区域与第二帧全部部位计算重叠度,选择最大重叠度的部位作为第二帧的头部。以此类推,完成所有帧的部位追踪,建立结构化人体组数据。
在得到结构化人体组的同时,能够对结构化人体组中的结构化人脸进行特征识别得到图像特征,并将图像特征与预设人脸特征数据库中的人脸特征进行比对,确定训练者的身份。例如,通过识别训练者人脸得出训练者姓名、学号信息、性别等,并能够在训练结束后生成每位训练者的训练报告或成绩报告。
S205、将该结构化人体组输入到骨骼动作识别模型中,得到人体骨骼动作。
首先对骨骼动作识别模型进行训练,准备大量包含不同人体动作的图像序列或视频数据,并对每个样本进行骨骼关键点标注,得到对应的骨骼动作标签。标注内容包括每个关键时间点的骨骼关键点坐标、骨骼连接关系、骨骼角度等信息。
再构建卷积神经网络模型,通过三维卷积神经网络处理视频信息,卷积神经网络模型包括特征提取模块和时序建立模型等,可以输出预测的人体骨骼动作的具体信息。
通过标注过的动作数据训练卷积神经网络,比较网络输出结果与标注结果,不断更新网络参数,并在独立的验证集上测试网络性能,最后将得到最终训练好的模型,进行序列化和导出,完成骨骼动作识别模型的搭建。
然后将结构化人体组输入到骨骼动作识别模型中,分析得出每个时序帧下人体部位的位置关系,生成人体骨骼结构,判断各骨骼间的角度等信息,最终输出完整的骨骼动作描述结果。
其中,人体骨骼动作包含每个人体图像帧中的人体骨骼姿态,这些人体骨骼姿态组成了一个连续的人体骨骼动作,人体骨骼姿态中包括:
骨骼关键点坐标,如肩、肘、腕、躯干、膝等关键点的位置序列,例如在做跳远运动时,踝关节的关键点在起跳和落地时的位置信息。
骨骼连接关系,骨骼关键点之间的连接情况,如手肘关节是否弯曲超过范围,例如在做伸展运动时,查看手肘关节在运动过程中是否保持伸直,反映肘部骨骼连接是否正常。
骨骼相对角度,骨骼间的相对角度信息,如肘部角度、膝部角度等,例如,例如在做仰卧起坐运动时,判断躯干和大腿的角度大小是否在标准范围内。
关节相对位置,关节间的相对位置关系,如肩颈的距离、肘部高度等,例如在做引体向上时,判断手的着力点与肩关节的水平距离是否保持在一个标准范围内。
骨骼运动轨迹,骨骼关键点在人体图像帧中的移动轨迹,例如在做仰卧起坐运动时,分析头部在运动过程中的轨迹,根据头部的骨骼关键点坐标序列,可以计算出头部的移动轨迹曲线。
可以理解的是,在得到人体骨骼动作后,组合人体骨架骨骼点,人脸关键点,双手关键点绘制成透明图层,输出到高清屏幕上进行显示,首先对人体骨骼动作中的几何信息进行处理,包括顶点坐标的变换、顶点着色、光照计算等,定义了人体骨骼的形状、位置和方向;再将几何处理的结果转化为图像像素,为每个像素计算其颜色值,包括对光照、材质属性等进行计算;再对生成的像素进行各种操作,如深度测试、融合、遮挡检测等,以确定最终的像素颜色。最后最终的人体骨骼数据被传递到屏幕上,使得训练者或其他用户能够看到人体骨骼的具体姿态。
对人体骨骼动作进行绘制的实现方法具体包括:接收摄像头传感器传输过来的格式为H.264的视频裸流,解码器对接收到的裸流进行解码;智能数据组合人体骨架骨骼点,人脸关键点,双手关键点绘制成透明图层,通过离屏渲染技术,绘制到GPU显存缓冲区;解码出来的每一帧图像通过离屏渲染技术,绘制到GPU显存缓冲区;把所有缓冲区的图像合并为一个图层,通过渲染流程,绘制到高清屏幕上。
S206、根据该人体骨骼动作与标准规范范围的判断结果确定反应策略。
将人体骨骼动作数据与标准规范范围进行比较,如果全部在标准范围内,则判断训练动作正确;如果存在超出范围的情况,则判断为训练动作错误需要纠正。
例如,在判断引体向上运动时,预设了标准规范范围中肘关节的规范范围:
起始位置时,肘关节处于完全伸直状态;向上运动期间,肘关节保持伸直,不出现明显弯曲;顶点位置时,肘关节允许略微弯曲不超过15度;下落阶段时,肘关节再次完全伸直。
当训练动作为错误时,系统将发出声音提示信息,提示训练者动作错误,例如,当训练者正在做仰卧起坐动作时,由于身体逐渐移动,训练者的脚部离地,系统将发出声音提示信息:“102号脚部离地”,以提示学号为102号的训练者纠正训练动作。
上述方案主要是对训练者动作进行识别并判断的方案,下文对具体将训练者动作与标准规范范围进行对比的方案进行描述。
上述是本申请实施例中一种根据人体姿态图像数据的动作识别方法的一个流程示意图,下面结合图3,对本申请中具体将训练者动作与标准规范范围进行对比的方案进行描述:
如图3所示,为本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个流程示意图。
S301、在确定该初始图像帧存在运动器材的情况下,确定该初始图像帧中运动器材的位置特征。
对初始图像帧进行检测,将图像帧中检测到的物品与预设的运动器材数据库进行对比,确定运动器材的种类信息。
使用目标检测算法对该运动器材进行定位,通过提取运动器材在图像帧中的位置特征信息,例如,在引体向上中的单杠的在目标检测中的坐标框为[x1,y1,x2,y2]。
S302、对其他图像帧组中的运动器材进行追踪,得到位置特征组。
在得到初始图像帧中的中运动器材的位置特征后,对其他图像帧组中的运动器材进行追踪。
首先确定初始图像帧中的运动器材位置特征所对应的边界框,将初始图像帧中的运动器材区域对应的边界框与第二帧中的全部区域对应的所有边界框计算重叠度,选择最大重叠度的部位作为第二帧中的运动器材区域,以此类推,完成对所有图像帧组中的运动器材的追踪,最后得到该运动器材的位置特征组信息。
S303、确定该人体骨骼动作与该位置特征组之间的第一变化状态。
当人体骨骼动作的关键点位置特征发生变化时,运动器材与人体骨骼的相对位置将发生变化,将人体骨骼动作中人体骨骼的关键点位置特征与运动器材的位置特征组之间的相对位置变化确定为第一变化状态。
例如,检测到在进行引体向上时人体部位中的手臂关键点呈上升趋势,确定为“身体向上移动”,同时,检测到单杠的关键部位节点与人体身体关键点的相对位置呈下降趋势,确定为“运动器材相对向下移动”,则将人体身体关键点与运动器材的位置变化关系确定为第一变化状态。
例如,检测到训练者在进行举重运动时,人体人体部位中的手臂关键点呈上升趋势,确定为“身体向上移动”,同时,检测到杠铃的关键部位节点呈上升趋势,确定为“运动器材向上移动”,则将人体身体关键点与运动器材的位置变化关系确定为第一变化状态。
S304、确定该人体骨骼动作的第二变化状态。
当训练者在运动器材上做出训练动作时,训练者的人体骨骼动作的关键点位置特征也会发生变化,将人体骨骼动作的位置特征变化确定为第二变化状态。
S305、根据该第一变化状态和该第二变化状态与标准规范范围的判断结果确定反应策略。
将第一变化状态和第二变化状态与规定的标准规范范围进行对比,判断是否在标准规范范围内。
如果两种状态变化均在标准规范范围内,则训练者的训练动作为标准训练动作,拓如果两种状态变化中有一种不在标准规范范围内,则训练者的训练动作不为标准训练动作,系统将发出声音提示信息。
在一些实施例中,在训练者完成一个引体向上动作的判断过程中,首先判断训练者的人脸关键点中的下巴关键点的位置特征与单杠之间的位置特征的相对位置变化关系,该相对位置变化关系即为第一变化状态,是否处在标准规范范围内,其次,判断训练者在下落过程中,头部、躯干、手臂等部分关键点连接线的角度变化是否处在标准规范范围内,该角度变化即为第二变化状态,通过将第一变化状态和第二变化状态与规定的标准规范范围进行,判断训练者的动作是否标准。
上述是确定反应策略的具体方案,根据人体骨骼动作和运动器材与标准规范范围的判断结果确定反应策略后,还需要考虑到不同的训练者的体型之间所有差异。
以下是考虑到训练者体型后确定反应策略的方案,该方案包括S306~S308。
S306、根据该训练者的身体部位距离值确定标定平均值。
通过对人体图像帧中的训练者的身体部位进行分析,然后计算这两个关键点在整个序列中的欧式距离,跟踪距离值的变化。最后统计所有距离值,计算出训练者特定身体部位距离的平均值,即标定平均值。这可以表示训练者身体部位距离特征的个性化特点。例如,训练者头部和左手掌关键点距离的标定平均值是18像素。
S307、根据该标定平均值和标准规范范围确定适配规范范围。
在标准规范范围中,存在某些训练动作需要检测身体部位之间的距离。
例如正常左手相对头部的距离范围是10-25像素。同时计算得到当前训练者的标定平均值,如18像素。则可以在标准范围上加上一定误差调整,得到适合此训练者的适配规范范围。例如,设定训练者的适配范围为标定平均值18像素正负5像素,即[13,23]像素。
S308、根据该人体骨骼动作与该适配规范范围判断结果确定反应策略。
若人体骨骼动作在适配规范范围内,则训练者的训练动作正确,若人体骨骼动作不在适配规范范围内,则训练者的训练动作错误,将发出声音提示信息。
上述是具体如何将人体骨骼动作与标准规范范围对比确定反应策略的方案,下面结合图4和图5对将人体骨骼动作与标准规范范围对比确定的具体应用场景进行描述:
如图4所示,为本申请实施例中一种根据人体姿态图像数据的动作识别方法的一个场景示意图。
在图4中,为与摄像头连接的可实时预览图像的高清屏幕的显示画面,同时显示画面与智能化移动平台终端相连接,该智能化移动平台终端包含了计算软件,该平台终端包含一组高性能处理器,带宽达5Gbps的IO传输接口,多个显示输出接口,方便扩展产品形态,支持外接边缘计算设备,也可统一集成,该平台终端则部署于低功耗,高性能且基于Linux系统的可移动便携终端,能够使得训练者可以随时随地进行训练,克服时间和空间限制。
左上角显示了时间信息,并显示了训练者正在做的训练动作类型,右上角显示了目前平台终端未处于录像状态,且目前平台终端已进行互联网连接,左下角显示了当前平台终端的音量信息,使用者能够调整平台终端的提示音量,右下角显示了当前平台终端的电量信息和信号信息。
通过摄像头传感器拍摄到的画面可以得知,画面中有两位训练者正在进行引体向上的训练动作,左边的训练者标号为1,右边的训练者标号为2。训练者人体图像旁边的数字表示训练者已做的引体向上的数量。
可以理解的是,此时平台终端为测试模式,所以并未对训练者的人脸图像进行采集,并未显示训练者的学号信息。
通过在得到人体骨骼动作后,能够对训练者人体对应的人体骨骼动作进行绘制,并显示在高清屏幕上,同时也包括单杠的位置特征,同样进行绘制;通过对人体骨骼动作的绘制,可以清楚地看出训练者手臂夹角的角度变化。
当训练者或其他用户点击高清屏幕上的“开始”控件时,则平台终端开始运行,同时也可以点击“停止控件”使得平台终端停止运行。
可以理解的是,当自动识别到单杠的位置特征后,训练者或使用者也可以通过平台终端内的控件手动调整单杠的识别位置。
在引体向上的过程中,训练者人体需要上行和下行。开始时,训练者位于高低杠杆下方,双手握住杠杆,下巴低于肘关节。随着身体上行,人脸关键点的位置与身体部位的相对位置发生上下变化,最终完成一个引体向上。
在对训练者完成一个引体向上动作的判断过程中,首先判断训练者是否处在单杠上,通过检测训练者手部的位置特征和单杠的位置特征之间的相对关系,判断训练者手部与单杠的距离是否在标准规范范围内,从而判断训练者是否处在单杠上;若训练者不处在单杠上,则通过声音提示训练者未处于单杠上。
当训练者已处于单杠上时,开始进行引体向上的训练动作,首先对训练者的人脸关键点中的下巴关键点的位置特征与单杠之间的位置特征的相对位置关系是否处在标准规范范围内。例如,当训练者完成一个符合标准的引体向上动作时,由于身体向上移动,下巴关键点的y坐标会比单杠顶点的y坐标增加一个正常的变化量范围,例如增加10-15cm,该变化范围对应S303中的第一变化范围。
同时,在身体下行时,如果测试者只进行很小幅度下落然后上拉,会形成作弊情况,还需要判断下落过程中,头部、躯干、手臂等部分关键点连接线的角度变化。例如,标准下落过程中,连接肩点、髋点和踝点的三角形角度会在下落时变大,对应角度增量在20-60度,该变化范围对应S304中的第二变化范围。从而判断为完成了一次正确的引体向上运动。
并且,在进行引体向上时,训练者不得采用反手的方式进行,例如,取头部中心点的坐标(x1,y1)。同时获取左右手掌的关键点坐标,假设左手掌中心点为(x2,y2),右手掌中心点为(x3,y3)。然后对两手掌点分别与头部点的相对位置关系进行判断:如果左手中心点x2坐标值大于头部点x1,且右手中心点x3坐标值小于头部点x1,则可以判定为左手反手抓杆,右手正手抓杆。反之,如果右手中心点x3坐标大于头部点x1,且左手中心点x2坐标小于头部点x1,则可以判断为右手反手抓杆,左手正手抓杆。
除了不得反手外,训练者每次引体向上的间隔时间不能太长,系统将会对训练者的训练时间进行计时,并且训练者腿部摆动幅度应当符合标准规范范围。
如图5所示,为本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个场景示意图。
在图5中,与图4类似,为与摄像头连接的可实时预览图像的高清屏幕的显示画面。
通过摄像头传感器拍摄到的画面可以得知,画面中有两位训练者正在进行一分钟仰卧起坐的训练动作,左边的训练者标号为1,右边的训练者标号为2。
可以理解的是,此时已对训练者进行人脸识别,获取到他们的学号信息,并显示在屏幕上。由图可知,左边的训练者学号为101,右边的训练者学号为102。且两位训练者都处于摄像头检测到的检测框内,检测框的右上角的数字表示训练者已完成的仰卧起坐的个数。通过对人体骨骼动作的绘制,可以清楚地看出训练者大小腿夹角的角度变化。
可以理解的是,一分钟仰卧起坐运动过程是测试者肩背反复上行和下行的体育运动,要求测试者必须双手抱头,人体骨架关键点下肢部分的数学计算结果在合理的范围内,且每次仰卧起坐肘关节必须超过膝盖才算合格,限时一分钟。
首先通过分析身体部位的关键点,判断身体部位的角度是否接近于180度,近似于平行于水平面,例如大于170度就判定为基本躺平。
在训练者坐起过程中,取左右肘点和膝盖点的关键点坐标,通过比较y值大小判断肘点是否高于膝点,即肘关节是否超过膝盖。例如,在一次坐起中,左膝点y坐标为180,左肘点y坐标为200,则可以判定左肘关节超过左膝盖。对右侧肢体同理。
重复判断每次坐起的肘膝位置关系,统计超过膝盖的次数,判断是否符合标准规范范围。
在训练者进行仰卧起坐的过程中,要求训练者必须双手抱头,由于不同的训练者的体型存在差异,使用相同的标准规范范围将会使得判断结果不够准确。在双手抱头检测中,首先通过计算训练者手掌关键点在连续六十帧视频图片中与训练者耳朵关键点的距离平均值,并将该值添加到标准规范范围中,得到针对于每个用户的适配规范范围。
对训练者训练过程的数据进行记录,当训练者完成训练后,根据识别到的训练者身份信息,能够生成针对于每个训练者的个体化的训练分析报告和训练计划。例如,在训练者做引体向上的过程中,检测到训练者的向上移动距离平均值偏小,即可以判断出训练者可能存在核心力量不足等问题,从而生成该训练者的训练分析报告,并根据训练者的问题制定出训练者的未来训练计划。
上述是对将人体骨骼动作与标准规范范围对比确定的具体应用场景,在了解了本方案的具体应用场景后,还需要了解本方案中的人体图像的具体处理过程,接下来对人体骨骼动作与标准规范范围对比确定反应策略的方案中,具体是如何确定结构化人体的方案进行描述:
如图6所示,为本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个流程示意图。
S601、拆分其他人体图像帧组中的人体图像得到全部人体部位。
在拆分第一人体图像帧中的人体图像得到全部人体部位后,对其他人体图像帧组中的人体图像进行拆分,与步骤S203类似,此处不再赘述。
S602、计算该第一人体图像帧中的结构化人头与第二人体图像帧中全部人体部位的重叠度。
拆分完成后,需要建立不同帧中同一人体部位之间的对应关系。
在人体图像帧中拆分出的人体部位用边界框进行表示,边界框是用于表示物体位置的矩形框,通常由左上角和右下角的坐标确定。
重叠度指的是两个边界框之间交集区域的面积,然后将其除以两个边界框的并集区域的面积。重叠度的取值范围在0到1之间,其中0表示没有重叠,1表示完全重叠。当重叠度大于等于重叠度阈值时,如0.5或0.75时,则表示上下两帧之间的边界框的内容是为同一人体部位。
在一些实施例中,重叠度的计算方式如下:
假设有连续的帧1和帧2,在帧1中检测到目标人物的头部区域A,坐标为[(x1,y1),(x2,y2)];在帧2中检测到两个头部候选区域B和C,坐标分别为:B:[(x3,y3),(x4,y4)],C:[(x5,y5),(x6,y6)]。然后计算区域A与区域B、C的交集面积:A∩B的面积S1,A∩C的面积S2,同时计算它们的并集面积:A∪B的面积S3,A∪C的面积S4,根据重叠度的计算公式,有:A与B的重叠度=S1/S3,A与C的重叠度=S2/S4。
假设计算结果为:A与B的重叠度=0.7,A与C的重叠度=0.5,因为A与B的重叠度更大,所以确定帧2中与帧1的头部A最匹配的区域是B。这样就建立起了帧1和帧2中同一人物头部的对应关系。
S603、将重叠度最高的人体部位确定为该第二人体图像帧的结构化人头。
当计算完第一人体图像帧中的结构化人头和第二人体图像帧中全部人体部位的重叠度之后,将第二帧中重叠度最高的边界框对应的人体部位与第一帧的结构化人头关联起来,即与第一帧头部区域重合面积比例最大的部位,作为第二帧中该目标人体对应的头部区域,完成两帧间该人体头部的对应关系建立,确定第二帧中重叠度最高的边界框中的人体部位为结构化人头。
S604、计算该当前人体图像帧中的结构化人头与后续人体图像帧中人体部位组的重叠度。
在匹配完成第一帧和第二帧之间的目标人体头部对应关系后,需要建立当前帧和后续帧中同一人体头部的对应。
例如已知第三帧为当前帧,将该帧中的头部区域与第四帧中分割得到的全部人体部位逐一计算区域重叠度,计算方式与S602的计算方法相同。
S605、将重叠度最高的人体部位确定为该后续人体图像帧的结构化人头。
根据当前帧人头与下一帧各部位的重叠度计算结果,直接选择重叠度数值最大的部位作为下一帧中的对应人头。
S606、统计全部结构化人头得到结构化人头组。
对每一帧中的人头进行确认后,依次建立起各个时间相邻帧间人体头部的对应关系,每个帧的人头都找到了匹配对。在全部图像帧序列中,统计出了该人体头部区域在每个时间点上的匹配结果,最终形成一个时间顺序的结构化人头组,完成人体头部的结构化表示。
通过对每一个人体图像帧中人头部位的确认,最终可以得到人头部位的运动轨迹以及其他相关信息,如速度、方向、停留时间等。
S607、对该其他人体图像帧组中的脸部和身体进行追踪,得到结构化人脸组和结构化身体组。
提取第一帧中目标人体的脸部和身体区域,然后分别与第二帧中的所有部位计算区域重叠度,选择重叠度最大的部位作为第二帧对应的脸部和身体。采用同样策略处理后续帧,最终获得结构化的人脸位置组和人体位置组。
S608、根据该结构化人头组、该结构化人脸组和该结构化身体组得到结构化人体组。
根据人体结构知识,根据之前生成的结构化人头组、结构化人脸组和结构化身体组,判断三个组的坐标框空间关系,将它们进行拼接,确定最终身体各部分的位置和范围,并引入额外的部位信息进行补充,比如小腿、足部的坐标框,最终输出了一个包含全部人体部位的时序结构化表示,即结构化人体组。
获得包含多个时序帧的人体运动图像数据后,输出了一个结构化的时序人体部位数据,为下一步的骨骼动作识别及判断提供结构信息支持。
例如输出了人体头部、手部、足部等在各时刻的坐标点序列,以及判断脸部方向、躯干角度等运动信息。
可以理解的是,在获得结构化人体组后,能够进行进一步的边界框过滤:
通过设置人体部位内每个边界框的过滤阈值,该过滤阈值可以根据业务需求设置,比如人脸边界框大小和目标重叠度高低阈值信息。
对跟踪过程中存在重复和冗余的人体部位检测框,会根据已分配的ID等信息进行过滤。
例如,在跟踪人体运动时,会分别给图像序列里检测到的不同人体部位标记不同的ID,如人头标记为ID 1,身体标记为ID 2。在跟踪过程中,同一个部位会在不同帧中被重复检测到,这时系统可以根据已经分配的ID来判断这些重复的检测框是否属于同一目标。
删除重复项,得到处理优化后的结果,最后输出满足过滤条件的人体部位组成的结构化人体组。
通过基于规则的过滤能够输出更高质量的结构化人体组,为后续的精确骨骼动作分析提供支持。
上述是对人体图像帧中的人体部位进行追踪的具体方案,在完成对人体部位的追踪后,将得到结构化人脸组,此时可以通过结构化人脸组对训练者的身份进行识别。
以下是对训练者身份进行识别的方案,该方案包括S609~S612。
S609、对该结构化人脸组中的每个结构化人脸进行打分得到人脸得分。
在获取图像序列中的所有结构化人脸后,对每个结构化人脸进行打分,给出一个表示人脸质量的得分。
通过使用人脸评分算法,从人脸的完整度、姿态角度、遮挡程度、模糊程度等方面对每个结构化人脸进行评价,得到一个0到1之间的人脸质量得分。这个得分可以用来衡量该人脸的识别价值,过滤掉得分过低的低质量人脸。
S610、对超过预设人脸得分阈值的结构化人脸进行特征识别得到图像特征。
首先预设一个人脸得分阈值,例如设置为0.8。当一个结构化人脸的得分超过这个阈值时,说明该人脸质量良好,适合进行下一步特征提取。
再对这样的高质量人脸使用人脸特征提取算法,获取人脸的特征向量,作为该人脸的图像特征表示,通常包含100-1000维的数字向量,以表示该人脸的个体信息。
S611、将该图像特征与预设人脸特征数据库中的人脸特征进行比对。
通过预先采集多个已知身份人脸图片,并提取图像特征存入人脸特征数据库。在得到未知人脸的特征后,系统会与数据库中的所有人脸特征依次进行计算距离,获得最匹配的已知人脸特征。在一些实施例中,比对算法有欧氏距离、余弦相似度等,此处不作限定。
S612、根据该比对结果确定该训练者的身份信息。
根据最终比对结果,即与未知人脸特征距离最近的已知人脸特征,来确定该未知人脸对应的训练者身份信息。
若数据库中不存在匹配的已知特征,则表示无法识别出该人脸对应的身份。若数据库中存在匹配的已知特征,则输出比对后的训练者姓名、学号和性别等身份信息。
上述是具体如何得到全部人体图像帧内的结构化人体组的方案,在获取到全部人体图像帧内的结构化人体组之后,还需要对如何获得第一人体图像帧内的结构化人体进行具体说明,下面对获得第一人体图像帧内的结构化人体的方案进行描述。
如图7所示,为本申请实施例中一种根据人体姿态图像数据的动作识别方法的另一个流程示意图。
S701、根据人头检测模型对该人体部位中的头部进行确定,得到结构化人头。
在获取包含人体的图像后,为了定位关键部位,需要使用人头检测模型来定位头部区域。
该人头检测模型是基于深度学习的目标检测模型,使用了FasterR-CNN框架,在大量头部图像上训练,学习提取头部的特征,将输入图像送入该模型,模型会输出一系列候选头部区域作为检测框,并给出置信度分数。系统根据置信度阈值选择高置信度头部区域作为最终头部检测框,表示为结构化人头。
可以理解的是,FasterR-CNN是一种两阶段目标检测模型,FasterR-CNN通过RPN提议网络快速生成可能的目标区域,然后分类网络预测每个区域是否包含目标,同时输出置信度评价检测质量。
置信度是目标检测结果中每个检测框包含目标的概率,取值在0到1之间。置信度越高表示检测结果越可靠,根据置信度对检测框进行过滤。
S702、根据人脸关键点检测模型对该脸部的人脸关键点进行检测得到结构化人脸关键点。
可以理解的是,人脸关键点检测模型的构建过程与S701中的人头检测模型类似,此处不再赘述。
在定位出头部区域后,将头部区域作为输入送入人脸关键点检测模型,定位出人脸上的语义关键点,如眼睛、鼻子、嘴巴等,并得到每个关键点的坐标位置,这些关键点组成了结构化的人脸关键点描述,标注出主要脸部器官位置。
S703、根据该人脸姿态检测模型对该脸部的人脸朝向进行检测得到结构化人脸姿态。
可以理解的是,人脸姿态检测模型的构建过程与S701中的人头检测模型类似,此处不再赘述。
除了人脸关键点之外,还可以检测脸部的三维朝向,即面部角度。通过人脸姿态检测模型,分析人脸表情特征,拟合面部平面,计算角度。最终输出结构化的人脸姿态描述,给出面部表情、脸部转角等参数。
S704、将该结构化人脸关键点和该结构化人脸姿态进行融合,得到第一人体图像帧的结构化人脸。
首先获取到了该人体图像第一帧的结构化人脸关键点信息,这标注出了人脸区域中的眼睛、鼻子、嘴巴等语义位置;同时,也得到了第一帧人脸的结构化姿态描述,给出了人脸朝向以及面部表情特征。
首先创建一个人脸部位,标注出眼睛、鼻子等器官的坐标范围。
然后,将结构化人脸关键点的坐标映射到整个人脸部位上,确定器官位置;同时结合人脸姿态中的面部角度、表情参数,一起确定人脸部位的三维姿态。例如,结构化人脸关键点参数可以表示为眼睛坐标点(x1,y1)、嘴部中心(x2,y2)以及面部笑容概率80%、偏转角度30度等结构化参数。
从而将得到的结构化人脸关键点和结构化人脸姿态进行融合,输出第一帧中的结构化人脸,包括人脸关键点位置、姿态细节。
可以理解的是,通过摄像头传感器拍摄的视频获取到视频流,并转为图像数据流,从图像帧中对人脸进行检测,并对人脸中的人脸关键点和人脸姿态进行检测,并在获取到结构化人脸后对训练者的人脸进行打分和人脸特征提取,这些过程构成了一个完整的构建一个完整的人脸业务工作流程,在一些应用场景中,同时支持多个视频流的处理和多个人脸业务工作流程同时进行处理。
S705、根据身体检测模型对该人体部位中的身体进行确定,得到结构化身体。
可以理解的是,身体检测模型的构建过程与S701中的人头检测模型类似,此处不再赘述。
将第一帧图像输入身体检测模型中,输出一系列置信度检测框标注身体位置,选择置信度最高的身体检测框进行输出,最后得到第一人体图像帧中完整的结构化人体部位。
例如,给出的结构化身体参数为:身体框坐标[x1,y1,x2,y2]和身体像素面积S。
S706、将该结构化人头、该结构化人脸和该结构化身体进行融合,得到第一人体图像帧的结构化人体。
在已经获得了当前帧的结构化人头、结构化人脸和结构化身体三个部位后,将这三个部分的结构化信息整合在一起,组成该帧图像中人体部位的完整结构化表示。
具体来说,首先创建一个人体,标注头、脸、身体区域的坐标范围。然后将三个部位的结构化参数映射到该人体中对应的区域,得到当前时刻人体的整体结构化描述,包括关键部位的精确定位、表情、姿态等多方面信息,完成对第一人体图像帧中结构化人体的输出。
在获取到第一人体图像帧中的结构化人体后,能够根据第一图像帧中的结构化人体部位对后续的人体图像帧中的人体部位进行追踪。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
下面从模块角度介绍本申请实施例中的系统:
请参阅图8,为本申请实施例中一种根据人体姿态图像数据的动作识别系统的功能模块结构示意图,该系统包括:
获取模块801,获取训练者的图像数据流,该图像数据流包含连续的图像帧;
定位模块802,对每一个该图像帧中训练者的人体图像进行定位,得到仅包括人体图像的人体图像帧组;
拆分模块803,拆分第一人体图像帧中的人体图像得到全部人体部位,该第一人体图像帧为该人体图像帧组中的第一帧;
追踪模块804,对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组,该其他人体图像帧组为该人体图像帧组中除该第一人体图像帧外的其他人体图像帧;
输入模块805,将该结构化人体组输入到骨骼动作识别模型中,得到人体骨骼动作,该人体骨骼动作包括该人体图像帧组的人体骨骼姿态;
确定模块806,根据该人体骨骼动作与标准规范范围的判断结果确定反应策略。
上面从模块化功能实体的角度对本申请实施例中的系统进行描述,下面从硬件处理的角度对本发明申请实施例中的系统进行描述,请参阅图9,为本申请实施例中一种根据人体姿态图像数据的动作识别系统的实体装置结构示意图。
需要说明的是,图9示出的系统的结构仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,系统包括中央处理单元(CentralProcessingUnit,CPU)901,其可以根据存储在只读存储器(Read-OnlyMemory,ROM)902中的程序或者从存储部分908加载到随机访问存储器(RandomAccessMemory,RAM)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM903中,还存储有系统操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(Input/Output,I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括摄像头、红外传感器等的输入部分906;包括液晶显示器(LiquidCrystalDisplay,LCD)以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN(LocalAreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在系统可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明中限定的各种功能。
具体的,本实施例的系统包括处理器和存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现上述实施例提供的动作识别方法。
作为另一方面,本发明还提供了一种系统可读的存储介质,该存储介质可以是上述实施例中描述的系统中所包含的;也可以是单独存在,而未装配入该系统中。上述存储介质承载有一个或者多个计算机程序,当上述一个或者多个计算机程序被一个该系统的处理器执行时,使得该系统实现上述实施例中提供的方法。
Claims (9)
1.一种根据人体姿态图像数据的动作识别方法,其特征在于,所述方法包括:
获取训练者的图像数据流,所述图像数据流包含连续的图像帧;
对每一个所述图像帧中训练者的人体图像进行定位,得到仅包括人体图像的人体图像帧组;
拆分第一人体图像帧中的人体图像得到全部人体部位,所述第一人体图像帧为所述人体图像帧组中的第一帧;
对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组,所述其他人体图像帧组为所述人体图像帧组中除所述第一人体图像帧外的其他人体图像帧,所述结构化人体组为结构化的时序人体部位数据;所述对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组的步骤,具体包括:
拆分其他人体图像帧组中的人体图像得到全部人体部位;
计算所述第一人体图像帧中的结构化人头与第二人体图像帧中全部人体部位的重叠度;所述第二人体图像帧为所述人体图像帧组中的第二帧;
将重叠度最高的人体部位确定为所述第二人体图像帧的结构化人头;
计算当前人体图像帧中的结构化人头与后续人体图像帧中人体部位组的重叠度;所述后续人体图像帧为所述当前人体图像帧的下一帧;
将重叠度最高的人体部位确定为所述后续人体图像帧的结构化人头;
统计全部结构化人头得到结构化人头组;
对所述其他人体图像帧组中的脸部和身体进行追踪,得到结构化人脸组和结构化身体组;
根据所述结构化人头组、所述结构化人脸组和所述结构化身体组得到结构化人体组;
将所述结构化人体组输入到骨骼动作识别模型中,得到人体骨骼动作,所述人体骨骼动作包括所述人体图像帧组的人体骨骼姿态;
根据所述人体骨骼动作与标准规范范围的判断结果确定反应策略。
2.根据权利要求1所述的方法,其特征在于,所述根据所述人体骨骼动作与标准规范范围的判断结果确定反应策略的步骤,具体包括:
在确定初始图像帧存在运动器材的情况下,确定所述初始图像帧中运动器材的位置特征,所述初始图像帧为所述图像数据流的第一帧;
对其他图像帧组中的运动器材进行追踪,得到位置特征组;所述其他图像帧组为所述图像数据流中除所述初始图像帧外的其他图像帧;
确定所述人体骨骼动作与所述位置特征组之间的第一变化状态;
确定所述人体骨骼动作的第二变化状态;
根据所述第一变化状态和所述第二变化状态与标准规范范围的判断结果确定反应策略。
3.根据权利要求1所述的方法,其特征在于,所述根据所述人体骨骼动作与标准规范范围的判断结果确定反应策略的步骤,具体包括:
根据所述训练者的身体部位距离值确定标定平均值;
根据所述标定平均值和标准规范范围确定适配规范范围;
根据所述人体骨骼动作与所述适配规范范围判断结果确定反应策略。
4.根据权利要求1所述的方法,其特征在于,所述拆分第一人体图像帧中的人体图像得到全部人体部位的步骤之前,所述方法还包括:
根据人头检测模型对所述人体部位中的头部进行确定,得到结构化人头;
根据人脸检测模型对所述人体部位中的脸部进行确定,得到结构化人脸;
根据身体检测模型对所述人体部位中的身体进行确定,得到结构化身体;
将所述结构化人头、所述结构化人脸和所述结构化身体进行融合,得到第一人体图像帧的结构化人体。
5.根据权利要求4所述的方法,其特征在于,所述根据人脸检测模型对所述人体部位中的脸部进行确定,得到结构化人脸的步骤,具体包括:
根据人脸关键点检测模型对脸部的人脸关键点进行检测得到结构化人脸关键点;
根据人脸姿态检测模型对所述脸部的人脸朝向进行检测得到结构化人脸姿态;
将所述结构化人脸关键点和所述结构化人脸姿态进行融合,得到第一人体图像帧的结构化人脸。
6.根据权利要求1所述的方法,其特征在于,所述根据所述结构化人头组、所述结构化人脸组和所述结构化身体组得到所述结构化人体组的步骤之后,所述方法还包括:
对所述结构化人脸组中的每个结构化人脸进行打分得到人脸得分;
对超过预设人脸得分阈值的结构化人脸进行特征识别得到图像特征;
将所述图像特征与预设人脸特征数据库中的人脸特征进行比对;
根据比对结果确定所述训练者的身份信息。
7.一种根据人体姿态图像数据的动作识别系统,其特征在于,所述系统包括:
获取模块,获取训练者的图像数据流,所述图像数据流包含连续的图像帧;
定位模块,对每一个所述图像帧中训练者的人体图像进行定位,得到仅包括人体图像的人体图像帧组;
拆分模块,拆分第一人体图像帧中的人体图像得到全部人体部位,所述第一人体图像帧为所述人体图像帧组中的第一帧;
追踪模块,对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组,所述其他人体图像帧组为所述人体图像帧组中除所述第一人体图像帧外的其他人体图像帧,所述结构化人体组为结构化的时序人体部位数据;所述对其他人体图像帧组中的人体部位进行追踪,得到结构化人体组的步骤,具体包括:拆分其他人体图像帧组中的人体图像得到全部人体部位;计算所述第一人体图像帧中的结构化人头与第二人体图像帧中全部人体部位的重叠度;所述第二人体图像帧为所述人体图像帧组中的第二帧;将重叠度最高的人体部位确定为所述第二人体图像帧的结构化人头;计算当前人体图像帧中的结构化人头与后续人体图像帧中人体部位组的重叠度;所述后续人体图像帧为所述当前人体图像帧的下一帧;将重叠度最高的人体部位确定为所述后续人体图像帧的结构化人头;统计全部结构化人头得到结构化人头组;对所述其他人体图像帧组中的脸部和身体进行追踪,得到结构化人脸组和结构化身体组;根据所述结构化人头组、所述结构化人脸组和所述结构化身体组得到结构化人体组;
输入模块,将所述结构化人体组输入到骨骼动作识别模型中,得到人体骨骼动作,所述人体骨骼动作包括所述人体图像帧组的人体骨骼姿态;
确定模块,根据所述人体骨骼动作与标准规范范围的判断结果确定反应策略。
8.一种根据人体姿态图像数据的动作识别系统,其特征在于,包括:一个或多个处理器和存储器;
所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述动作识别系统执行如权利要求1-6中任一项所述的方法。
9.一种根据人体姿态图像数据的动作识别系统可读存储介质,包括指令,其特征在于,当所述动作识别系统上运行时,使得所述动作识别系统执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311713262.8A CN117423166B (zh) | 2023-12-14 | 2023-12-14 | 一种根据人体姿态图像数据的动作识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311713262.8A CN117423166B (zh) | 2023-12-14 | 2023-12-14 | 一种根据人体姿态图像数据的动作识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117423166A CN117423166A (zh) | 2024-01-19 |
CN117423166B true CN117423166B (zh) | 2024-03-26 |
Family
ID=89523313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311713262.8A Active CN117423166B (zh) | 2023-12-14 | 2023-12-14 | 一种根据人体姿态图像数据的动作识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117423166B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147717A (zh) * | 2019-04-03 | 2019-08-20 | 平安科技(深圳)有限公司 | 一种人体动作的识别方法及设备 |
CN110633004A (zh) * | 2018-06-21 | 2019-12-31 | 杭州海康威视数字技术股份有限公司 | 基于人体姿态估计的交互方法、装置和系统 |
CN111488773A (zh) * | 2019-01-29 | 2020-08-04 | 广州市百果园信息技术有限公司 | 一种动作识别方法、装置、设备及存储介质 |
WO2021184619A1 (zh) * | 2020-03-19 | 2021-09-23 | 南京未艾信息科技有限公司 | 一种人体运动姿态识别评价方法及其系统 |
CN114724241A (zh) * | 2022-03-29 | 2022-07-08 | 平安科技(深圳)有限公司 | 基于骨骼点距离的动作识别方法、装置、设备及存储介质 |
CN115862136A (zh) * | 2022-12-06 | 2023-03-28 | 上海承飞航空特种设备有限公司 | 基于骨骼关节的轻量级加油员行为识别方法及装置 |
-
2023
- 2023-12-14 CN CN202311713262.8A patent/CN117423166B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633004A (zh) * | 2018-06-21 | 2019-12-31 | 杭州海康威视数字技术股份有限公司 | 基于人体姿态估计的交互方法、装置和系统 |
CN111488773A (zh) * | 2019-01-29 | 2020-08-04 | 广州市百果园信息技术有限公司 | 一种动作识别方法、装置、设备及存储介质 |
CN110147717A (zh) * | 2019-04-03 | 2019-08-20 | 平安科技(深圳)有限公司 | 一种人体动作的识别方法及设备 |
WO2021184619A1 (zh) * | 2020-03-19 | 2021-09-23 | 南京未艾信息科技有限公司 | 一种人体运动姿态识别评价方法及其系统 |
CN114724241A (zh) * | 2022-03-29 | 2022-07-08 | 平安科技(深圳)有限公司 | 基于骨骼点距离的动作识别方法、装置、设备及存储介质 |
CN115862136A (zh) * | 2022-12-06 | 2023-03-28 | 上海承飞航空特种设备有限公司 | 基于骨骼关节的轻量级加油员行为识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117423166A (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109191588B (zh) | 运动教学方法、装置、存储介质及电子设备 | |
CN108734104B (zh) | 基于深度学习图像识别的健身动作纠错方法及系统 | |
CN108764120B (zh) | 一种人体规范动作评价方法 | |
CN113762133A (zh) | 基于人体姿态识别的自重健身辅助教练系统、方法、终端 | |
EP2203896B1 (en) | Method and system for selecting the viewing configuration of a rendered figure | |
KR20220028654A (ko) | 미러 디스플레이를 이용하여 태권도 동작 코칭 서비스를 제공하는 장치 및 방법 | |
WO2017161734A1 (zh) | 通过电视和体感配件矫正人体动作及系统 | |
Zhao et al. | An intelligent augmented reality training framework for neonatal endotracheal intubation | |
CN111967407B (zh) | 动作评价方法、电子设备和计算机可读存储介质 | |
CN114022512A (zh) | 运动辅助方法、装置及介质 | |
CN113409651B (zh) | 直播健身方法、系统、电子设备、存储介质 | |
CN111539245A (zh) | 一种基于虚拟环境的cpr技术训练评价方法 | |
CN115131879A (zh) | 一种动作评价方法及装置 | |
CN115188074A (zh) | 一种互动式体育训练测评方法、装置、系统及计算机设备 | |
Jan et al. | Augmented tai-chi chuan practice tool with pose evaluation | |
CN117423166B (zh) | 一种根据人体姿态图像数据的动作识别方法及系统 | |
Pai et al. | Home Fitness and Rehabilitation Support System Implemented by Combining Deep Images and Machine Learning Using Unity Game Engine. | |
CN116271757A (zh) | 一种基于ai技术的篮球练习的辅助系统和方法 | |
KR20170140756A (ko) | 동작 교본 저작 장치, 동작 자가 학습 장치 및 방법 | |
CN115690895A (zh) | 基于人体骨骼点检测的多人运动检测方法及装置 | |
CN114360052A (zh) | 一种基于AlphaPose和关节点角度匹配算法的智能体感教练系统 | |
Palanimeera et al. | Yoga posture recognition by learning spatial-temporal feature with deep learning techniques | |
Li et al. | Fitness coach: Design and implementation of a smart mirror based on automatic image recognition and action model comparison | |
CN113569743B (zh) | 基于肢体识别技术的健身评估方法及系统 | |
US11992731B2 (en) | AI motion based smart hometraining platform |
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 |