CN112287840B - 一种运动能力分析数据智能采集的方法和系统 - Google Patents
一种运动能力分析数据智能采集的方法和系统 Download PDFInfo
- Publication number
- CN112287840B CN112287840B CN202011186168.8A CN202011186168A CN112287840B CN 112287840 B CN112287840 B CN 112287840B CN 202011186168 A CN202011186168 A CN 202011186168A CN 112287840 B CN112287840 B CN 112287840B
- Authority
- CN
- China
- Prior art keywords
- frame
- human body
- static
- observed
- key points
- 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
Images
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
- 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
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
- G06V20/42—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
- G06V30/2268—Character recognition characterised by the type of writing of cursive writing using stroke segmentation
- G06V30/2272—Character recognition characterised by the type of writing of cursive writing using stroke segmentation with lexical matching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种运动能力分析数据智能采集的方法,其特征在于,通过摄像头采集的视频流通过多媒体处理工具FFmpeg,以视频推流的方式推送至后台RSTP服务器;利用人体姿态模型识别视频流中的人体目标边界框及人体动作,从视频流中提取处于静止状态的视频帧,从视频流中逐帧提取被观测者的静止帧,将静止帧按照时间顺序动态插入静止帧链中。达到满足不同运动对数据采集多方位的需求,实现对待观测人体目标的快速锁定及人体动作信息的全面采集;有效地从运动视频中筛选出人体运动量最低的关键帧,提高运动数据采集的效率;简化了繁杂人工采集数据并手动上传的过程,实现运动的自动化测试的效果。
Description
技术领域
本发明涉及人工智能应用领域,特别是涉及一种运动能力分析的数据智能采集方法和系统。
背景技术
合理的运动方式和运动量,是保持身体健康的重要方法之一。运动能力,是体育学的范畴,通俗说就是为更好的完成训练目标,个体所需要具备的运动素质,是人体生理功能在运动方面的外在表现。而我们的锻炼目标,通常是围绕健康需求出发的人体生理功能的表述,是生物学的范畴,指的是人体生理功能、结构的变化水平,衡量标准是医学指标,因此和人体健康有着密切的关系。如何制定合理、有效的运动方案是建立一种智能运动指导系统的主要目标。
如今,在互联网技术和移动互联网的基础上,各种健身软件纷纷出现,帮助用户完成各类健身和训练计划。不少健身软件的内容看似非常科学,但在缺乏对用户的身体基本状况了解的前提下,未必是正确的。每个人的身体情况不一样,不可能对每个人都设定一样的锻炼动作。如果想进行科学系统的锻炼,尤其是对肌肉锻炼有需求,则需要专业的测试和指导,最后制定针对性的健身计划。因此,需要一种能准确分析用户身体基本情况,特别是各关键部位运动能力的方法和系统,用于获取用户身体各部位的健康状况、运动能力等级,从而在此基础上,为用户提供针对性的健身方案或训练指导。
功能动作筛查(Functional Movement Screen,简称:FMS)是由Gary Cook(美国著名物理治疗师,体能训练专家)和Lee Burton(体能训练专家,博士,运动损伤防护专家)在1997年创造的,是一种革新性的动作模式质量评价系统,它简便易行,仅由7个动作构成。这种评价方法可以测评出受试者的一些基本运动能力,发现健康个体在完成基本动作模式时的局限性因素或均衡性,可以广泛用于各种人群的基础运动能力(灵活性和稳定性)评价。使用FMS进行测评的测试者不需要具有病理学认证证书,测试过程中所使用的测试工具和动作都是能够得到受测者和教练员的认同。测试结果可以作为可靠的制定运动训练计划的出发点。但是,目前FMS的测试都是需要教练员或健康师辅助完成的,这对于推广运动能力测试理念以及FMS这一类检测方法来说的是一个阻碍,如何将FMS检测过程智能化、自动化、轻量化,让每一个人都能随时随地自行的进行检测,是摆在我们面前一个迫切需要解决的问题。庆幸的是,随着人工智能技术,特别是计算机视觉技术的发展,目标检测和姿态识别等相关的技术的成熟,为我们实现这一目的提供了有力的工具。而运动能力分析数据的智能采集,作为这一过程的第一环,是极其重要的一环。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种运动能力分析数据智能采集的方法和系统,实现从运动视频中自动化地识别并采集人体运动量最低的视频帧,以为后续的运动分析逻辑提供数据基础,从而替代人工识别。
本发明提出的技术方案是:一种运动能力分析数据智能采集的方法,包括如下步骤:
步骤1:以被观测者为中心,在被观测者指定方位部署至少一个摄像头,所述摄像头高度为被观测者身高的1/2;所述摄像头与被观测者之间的距离d应满足其中h为被观测者身高,α为摄像头与垂直方向的夹角,β为摄像头与水平方向的夹角;所述摄像头采集的视频流通过多媒体处理工具FFmpeg,以视频推流的方式推送至后台RSTP服务器;
步骤2:根据不同的人体动作,从四个方位的摄像头中选取满足观测方位需求的摄像头,以帧为单位从摄像头中获取视频流,利用人体姿态模型识别视频流中的人体目标边界框及人体动作,所述人体目标边界框为包含人体目标的最小矩形框;识别视频流中的人体目标边界框及人体动作,所述人体目标边界框为包含人体目标的最小矩形框;计算人体目标边界框的面积、人体目标边界框中心点与帧中心点之间的距离,通过与相应的预设阈值比对,过滤非主要观测的人体目标,获取被观测者的人体目标边界框坐标及人体动作的关键点坐标;,输出内容包括:人体边界框左上角坐标、人体边界框右下角坐标、人体动作关键点坐标及关键点概率;所述关键点概率为人体动作关键点为人体真实关节点的概率;
步骤3:从视频流中提取处于静止状态的视频帧,具体为:以帧为单位,统计有效人体动作关键点的数目,若有效人体动作关键点的数目小于待观测人体动作关键点的总数,则判定为存在遮挡,否则判定为不存在遮挡;所述待观测人体动作关键点的总数指预设的人体动作关键点的标准数量,指将所述有效人体动作关键点的关键点概率与相应的预设阈值比对,如满足阈值,则判定为有效关键点,否则判定为无效关键点;计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量,计算指定时间内待观测人体动作关键点的平均偏移总量;所述指定时间取动作持续时间和视频帧速率的乘积;将偏移总量、平均偏移总量与相应的静止阈值比对,判断被观测者是否处于静止状态,仅当每个满足观测方位需求的摄像头采集的当前帧的被观测者均被判定处于静止状态,被观测者在当前帧判定为静止状态,提取当前帧为静止帧;
步骤4:从视频流中逐帧提取被观测者的静止帧,将静止帧按照时间顺序动态插入静止帧链中,所述静止帧链是由静止帧组合而成的链表,先进入静止帧链中的静止帧作为静止帧链链表头;预设滑动长度使滑动链表在静止帧链中移动,所述滑动链表长度为2,包含滑动链表头和滑动链表尾,其中滑动链表头始终指向静止帧链中的一个静止帧,取滑动长度的整数倍为滑动链表头在静止帧链中的索引位置;所述滑动长度为滑动链表在静止帧链中每次移动时需越过的静止帧的数目;
当新的静止帧插入静止帧链时,计算静止帧链的长度是否为滑动长度的整数倍,若静止帧链的长度是滑动长度的整数倍,满足滑动条件时,滑动链表尾移动至滑动链表头指向的静止帧,滑动链表头按照滑动长度移动至静止帧链当前的静止帧链链表头位置;若静止帧链的长度不是滑动长度的整数倍,则滑动链表头和滑动链表尾保持原始指向的静止帧不变;视频流中的静止帧全部提取完后,如果滑动链表尾不空,则将滑动链表尾指向的静止帧作为关键帧输出。
在所述步骤1中,所述指定方位是指在被观测者正前方、正左方、正后方和正右方分别部署一个摄像头;根据不同的人体动作,从四个方位的摄像头中选取满足观测方位需求的摄像头,所述步骤2中,所述人体姿态模型为2D人体姿态模型,所述2D人体姿态模型使用CenterNet模型训练学习。
所述步骤1中,所述视频推流使用MJPEG格式,帧率为25fps,像素为640*480,推流的编码方式为H264,码率为500k。
所述步骤2中,利用人体姿态模型识别视频流中的人体目标边界框的具体步骤包括:
步骤201:预设人体动作关键点的对应关系为:0-鼻子、1-左眼、2-右眼、3-左耳、4-右耳、5-左肩、6-右肩、7-左手肘、8-右手肘、9-左手腕、10-右手腕、11-左髋、12-右髋、13-左膝、14-右膝、15-左脚踝、16-右脚踝;
步骤202:计算视频帧中每个人体目标边界框的面积,过滤人体目标边界框面积小于阈值thr=66000的人体目标;经过滤,若剩余人体目标边界框个数为0,则当前帧为无效帧;若剩余的人体目标边界框个数为1,则选取人体目标边界框内的人体目标为被观测者;若剩余的人体目标个数大于1,则计算每个人体目标边界框中心点与当前帧中心点之间的距离,按照距离大小降序排列人体目标边界框,按照人体目标边界框面积大小进行升序排列,;将目标边界框按照面积降序和距离升序进行二级排序,选取人体目标边界框面积最大且中心点与当前帧中心点距离最小的人体目标边界框内,以选取的人体目标边界框内的人体目标为被观测者。
所述步骤3具体包括:
步骤301:通过人体识别模型获取人体动作关键点及关键点概率,筛选关键点概率满足(0,0.3)的人体动作关键点为有效关键点,统计有效关键点总数是否等于待观测人体动作关键点总数,若等于,继续步骤302;否则退出;
步骤302:计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量,具体为:
计算当前帧的人体动作关键点与上一帧对应的人体动作关键点的位移距离wj表示待观测的人体动作关键点中第j个关键点,t表示帧数,采用欧式距离公式计算位移距离;按照计算所有待观测人体动作关键点的偏移距离并求和,得到位移总距离(dhp)t;按照将位移总距离(dhp)t除以当前帧中人体目标边界框的面积,获得的值为当前帧相对于上一帧中人体动作关键点的偏移总量(dswp)t,其中,Areabboxt表示人体目标边界框的面积;
步骤301:通过人体识别模型获取人体动作关键点及关键点概率,筛选关键点概率满足(0,0.3)的人体动作关键点为有效关键点,统计有效关键点总数是否等于待观测人体动作关键点总数,若等于,继续步骤302;否则退出;
步骤302:计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量,具体为:
计算当前帧的人体动作关键点与上一帧对应的人体动作关键点的位移距离所述wj表示待观测的人体动作关键点中第j个关键点,t表示帧数,采用欧式距离公式计算位移距离;按照计算所有待观测人体动作关键点的偏移距离并求和,得到位移总距离(dhp)t;按照 将位移总距离(dhp)t除以当前帧中人体目标边界框的面积,获得的值为当前帧相对于上一帧中人体动作关键点的偏移总量(dswp)t,其中,Areabboxt表示人体目标边界框的面积;
步骤303:所述计算指定时间内待观测人体动作关键点的平均偏移总量,具体为:
步骤303-1:取指定时间作为检测窗口的长度window_len;按照 计算单个人体动作关键点在检测窗口中的平均移动距离,其中,所述avgshift为平均移动距离,,wpj表示所有待观测的人体动作关键点中表示w的第j个人体动作关键点,β为系数,β=1-1/window_len,β∈(0,1)andβ∈R,所述R为任意实数;
步骤303-2:按照计算所有待观测的人体动作关键点在检测窗口中的平均移动距离总和,其中(sumshift)t为平均移动距离总和,n表示所有待观测的人体动作关键点总数watched_points的列表长度;
步骤304:按照公式freezed_thr=first_thr*(len(watched_points)/len(human_points)),根据待观测的人体动作关键点总数,计算静止阈值,其中,所述freezed_thr为静止阈值,first_thr为基于人体动作关键点总数而预设的静止阈值,取值为4e-4,watched_points为指定动作的待观测的人体动作关键点总数,human_points为人体动作关键点总数;
若(sumshift)t<freezed_thr,且(dswp)t<freezed_thr,则当前帧中的人体目标被标记为静止。
所述步骤3中,还包括:获取每个摄像头在当前帧中的平均移动距离总和,所述平均移动距离总和的累加值作为待观测人体动作在当前帧中的平均位移总量;选取视频中平均位移总量最低的视频帧保存。
所述步骤4的具体包括:
步骤4-1:当第一个静止帧进入静止帧链中,滑动链表的链表头和链表尾均指向第一个静止帧;
步骤4-2:当新的静止帧插入静止帧链的链表头部后,计算静止帧链的长度是否为滑动长度的整数倍,所述滑动长度取检测窗口长度的1/3;
步骤4-3:当将所有的运动视频按步骤4-1和步骤4-2处理完毕后,如果滑动链表的链表尾不为空,则将链表尾指向的静止帧作为关键帧截屏输出。
所述步骤4中,若没有检测到关键帧输出,则选取步骤3中的平均位移总量最低的帧为关键帧截屏输出。
一种运动能力分析数据智能采集的系统,具体包括依次连接的视频流采集模块和运动状态追踪模块;
所述视频流采集模块中包括相连的视频采集阵列模块和推流服务模块;
所述视频采集阵列模块为相机阵列,用于采集被观测者接受运动能力测试时的运动影像数据;
所述推流服务模块为推流服务器,用于接受并缓存所述运动影像数据,并提供访问接口;
所述状态追踪模块包括依次连接的RSTP服务模块、姿态识别和目标过滤子模块、运动状态检测模块和关键帧提取模块,所述状态追踪模块用于从所述推流服务器中提取影像数据,通过实时分析获得被测试者的运动状态并记录存储;
所述RSTP服务模块与推流服务模块相连,用于远程提取所述运动影像数据;
所述姿态识别和目标过滤子模块,用于对提取的运动影像数据,逐帧进行目标和目标的关键点检测,并过滤不是被观测者的无效目标;所述运动状态检测模块,用于逐帧判断并标记各摄像头内的被观测者当前的运动状态;
所述关键帧提取模块,用于从所述状态追踪模块中提取各个时刻各摄像机记录的静止帧,并选取运动量最低的静止帧为关键帧。
本发明所达到的有益效果:
(1)本发明通过部署多方位相机阵列,满足不同运动对数据采集多方位的需求,并在视频数据采集过程自动完成人体运动目标过滤,将人体运动涉及的关键部位信息映射为人体运动关键点,实现对待观测人体目标的快速锁定及人体动作信息的全面采集;
(2)本发明通过以帧为单位,计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量、指定时间内待观测人体动作关键点的平均偏移总量,用以判断当前帧内的人体动作是否稳定,有效地从运动视频中筛选出人体运动量最低的关键帧,提高运动数据采集的效率;
(3)本发明通过摄像头采集视频数据,经目标过滤、静止检查及关键帧提取完成运动能力分析数据的采集,简化了繁杂人工采集数据并手动上传的过程,实现运动的自动化测试中重要一个环节。
附图说明
图1为本发明实施例中一种运动能力分析数据智能采集方法流程图;
图2为本发明实施例中被观测者静止状态监测流程示意图;
图3为本发明实施例中运动视频中关键帧提取流程示意图;
图4为本发明实施例中一种运动能力分析数据智能采集系统结构示意图;
图5为本发明实施例中视频采集阵列的部署示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和示例性实施例对本发明作进一步的说明。
本发明实施例用于获取功能性运动测试(Functional Movement Screen,简称为FMS测试)的运动视频数据,图1为本发明实施例中一种运动能力分析数据智能采集方法流程图,具体步骤包括:
步骤S1:按照被观测者身高、摄像头垂直方向及水平方向夹角,调整摄像头与被观测者间的距离,具体为:以被观测者为中心,在其正前方、正左方、正后方和正右方各部署一个摄像头,分别对应编号0~4。假设被观测者身高为h,摄像头垂直方向和水平方向的视角分别为α和β,摄像头的高度可取h/2,为了保证FMS各个测试动作中被测试者全身都能进入摄像头视野,摄像头距离被测试者的距离d应满足
FMS运动视频数据基于RSTP服务,采用推流的方式,借助ffmpeg将视频流实时的推送到后台RSTP服务器上。为保证视频帧的清晰度和动作的流畅度满足后续模型对运动量的实时监测,经过调试,视频推流使用mjpeg格式,帧率为25fps,像素为640*480,推流的编码方式为H264,码率为500k。
步骤S2:在视频采集过程中,以帧为单位,使用2D人体姿态模型实时对多摄像头采集的运动数据同步进行帧中目标姿态检测并过滤无效目标;具体包括:
步骤S201:提取视频帧并进行目标和目标的关键点检测:首先根据当前的FMS测试动作,提取到需要访问的摄像头编号,然后对应提取各个摄像头的当前帧送入2D姿态识别模型中,本实例中使用CenterNet模型作为姿态识别模型,其基础网络选择hourglass。该模型输出每帧中的目标的边界框(bounding box,下文简称bbox)以及关键点坐标信息。bbox检测到的被观测者的最小外接矩形,其信息由其左上角和右下角坐标构成,形如(x1,y1,x2,y2);模型输出的关键点的序号和人体部位的对应关系如表1所示:
表1
步骤S202:对模型识别的目标进行过滤:考虑到视频帧中可能存在多人情况,设置非主要目标过滤算法,利用模型输出的目标边界框信息,通过计算bbox的面积以及bbox中心点与当前帧中心点距离进行非主要目标的过滤。具体的,针对模型输出的某一帧中的多个目标信息:bbox1,bbox2,……,bboxn,计算其对应的面积A1,A2……,An,经过调试,设置阈值thr=66000,忽略Ai<thr的对应目标。如果剩余目标个数为0,则当前时刻所有的视频帧都为无效帧;如果剩余目标个数大于1,则计算剩余目标的bbox中心点和当前帧的中心点距离d1,d2……,dj,然后将目标按照面积Ak(1≤k≤j)降序和dk(1≤k≤j)距离升序进行二级排序,选择面积最大但是距离帧中心点距离最小的bbox对应的目标作为被观测者,其余全部忽略。
步骤S3:如果当前时刻帧有效,判断各个视频帧中识别到的被观测者是否静止;本发明实施例中静止判断如图2所示,具体步骤包括:
步骤S301:确认人体动作关键点没有被遮挡:根据当前的FMS动作选择需要使用的摄像头视频帧和对应的关注点(watched_points),关注点是模型输出的关键点集合(human_points,下文统一用缩写hp表示)的子集。每个动作的帧在进行静止相关的计算之前都会检查所需的关键点有没有被遮挡的情况,如果点不完全,直接退出静止检测。不同的FMS动作的需要的摄像头编号和对应需要的关注点坐标如下表2~8所示:
表2过顶深蹲视频采集元信息
表3单腿跨栏步视频采集元信息
表4直线弓箭步视频采集元信息
表5肩关节灵活性视频采集元信息
测试动作 | 摄像头列表 | 关注点列表 |
抬左手 | [2] | ‘2’:[5,6,9,10,11,12] |
抬右手 | [2] | ‘2’:[5,6,9,10,11,12] |
表6直腿抬高视频采集元信息
测试动作 | 摄像头列表 | 关注点列表 |
抬左腿 | [2] | '2’:[11,14,15] |
抬右腿 | [0] | '0':[12,13,16] |
表7躯干稳定性视频采集元信息
测试动作 | 摄像头列表 | 关注点列表 |
(无偏向) | [0] | ‘0’:[0,5,6,8,9,10,12,14,16] |
表8旋转稳定性视频采集元信息
步骤S302:计算当前时刻的视频帧相对于上一帧中待观测人体动作关键点的偏移总量:计算窗口中当前时刻t帧中关键点
与上一帧对应的人体关键点位移的距离wj表示watched_points(下文简称wp)中的j号元素,t表示帧数,距离计算采用欧式距离公式。对所有关注点运动距离求和得到帧间运动量之和(dhp)t。由于不同的机位的相机和被观测者的距离的不一样,所以其运动量描述的单位不一致,为了消除运动量对相机绝对位置的依赖,需要再将(dhp)t除以当前帧中目标的bbox的面积Areabbox,得到运动量最终的计算公式,其中,Areabboxt表示人体目标边界框的面积;
步骤S303:计算当前时刻的FMS动作关键点在过去一段时间内的平均偏移总量;设置检测窗口的目的是监测关注点的持续低强度的运动。窗口的长度为:
window_len=win_secs*framerate (公式4)
其中,win_secs是被观测者FMS动作持续的时间,单位是秒(s);framerate是视频的帧率,单位是帧/秒,即:fps。使用以下公式计算单个关键点在窗口中的平均移动距离avgshift,其中avgshift为平均移动距离,wpj表示所有待观测的人体动作关键点中表示w的第j个人体动作关键点,β为系数,β=1-1/window_len,β∈(0,1)andβ∈R,所述R为任意实数;
按照公式6计算所有待检测关键点的在t时刻的平均移动距离总和(sumshift)t,其中n表示所有待观测的人体动作关键点总数watched_points的列表长度;
步骤S304:按照公式freezed_thr=first_thr*(len(watched_points)/len(human_points)),根据待观测的人体动作关键点总数,计算静止阈值,其中first_thr为基于人体动作关键点总数而预设的静止阈值,取值为4e-4,watched_points为指定动作的待观测的人体动作关键点总数,human_points为人体动作关键点总数;若偏移总量和平均偏移总量小于静止阈值,即(sumshift)t<freezed_thr,且(dswp)t<freezed_thr,则当前帧中的人体目标被标记为静止。
如果当前FMS动作使用的所有摄像机的帧中的被观测者都被判断为静止,则被观测者在当前时刻为静止状态,否则是运动状态。
步骤S305:筛选运动视频中人体运动的平均位移总量最低的视频帧:获取待观测人体动作所涉及的每个摄像头在当前帧中的平均移动距离总和(sumshift)t,所述平均移动距离总和的累加值作为待观测人体动作在当前帧中的平均位移总量;选取运动视频中平均位移总量最低的帧保存;
步骤S4:从所有检测到被观测者为静止状态的帧中选择一帧作为关键帧截屏输出,如图3为本发明实施例中运动视频中关键帧提取流程示意图,具体的过程包括:
步骤S401:将判定为静止状态的帧按时间插入静止帧链;随着摄像头采集的视频流不停地向后端服务器推送,服务器按照步骤3会持续地检测出被观测者为静止状态的帧(以下简称静止帧),将静止帧按照时间顺序动态地插入静止帧链A中,所述静止帧链是由静止帧组合而成的链表,最新静止帧始终静止帧链链表头插入成为头结点,随着静止帧的不断产生,链表A也会不断被更新,链表A长度为A_len。
因为步骤S3中检测窗口的设置,使得被观测者的状态变化会有一定的惯性,从静止状态切换到运动状态中间会有若干过渡状态被识别为静止,这些状态相对于真正的静止状态,会有部分关键点发生了微小偏移,阈值难以筛除,但又能影响后续的FMS动作的打分逻辑。所以不取最终A的头指针作为截屏输出,而是设置滑动链表b,
步骤S402:设置滑动链表b在静止帧链中滑动遍历;滑动链表b长度为2,它以预设的滑动长度gap在静止帧链A中沿着时间轴正方向移动,所述滑动链表b只包含滑动链表头b_head和滑动链表尾b_tail,滑动链表头始终指向静止帧链A中的某一静止帧,并按公式:pindex=K*gap,(A_len-gap)<pindex≤A_len,K∈N+,取滑动长度gap的整数倍为滑动链表头b_head在静止帧链中索引位置;所述滑动长度gap为滑动链表在静止帧链中每次移动时需越过的静止帧的数目,取步骤3中的检测窗口长度的1/3;滑动长度gap选择1/3滑动窗口长度是从算法稳定性角度考虑的,实际检测过程中,存在被测试者可能无法维持动作win_len_secs秒,那么A_len就达不到滑动窗口的长度,那么取1/2的话可能会取到启动过渡的帧或者直接取不到。至于为什么不是比1/3更小的数值,是因为gap需要尽可能保证取到接近静止状态的中心位置的帧,经过实际的测试,取1/3是稳定的;
滑动链表尾(b_tail)在静止帧链中的位置距离滑动链表头b_head索引位置的长度为gap每当新的静止帧进入静止帧链时,判断A_len是否等于K*gap,K∈N+,若等于更新滑动链表b,使得滑动链表尾b_tail指向滑动链表头b_head,滑动链表头b_head指向静止帧链链表头A_head。
步骤S403:将所有的运动视频按步骤S401和步骤S402处理完毕后,如果滑动链表尾b_tail不为空,则将滑动链表尾b_tail指向的静止帧作为关键帧截屏输出;
步骤S404:若S403没有检测到关键帧输出,则选取步骤S3中的平均位移总量最低的帧为关键帧截屏输出。
图4为本发明实施例的一种运动能力分析数据智能采集系统的结构示意图,包括视频流采集模块41、运动状态追踪模块42;
所述视频流采集模块41,利用事先部署一套视频采集阵列,从正前方、正左方、正后方和正右方共4个方向采集被观测者在进行FMS测试时的视频流数据并通过推流设备推送到远程RSTP服务器;
所述运动状态追踪模块42,用于从上传的视频流中抽取合适的关键帧,作为被观测者当前FMS测试动作打分逻辑的输入;根据被观测者的实际运动情况,该模块包含姿态识别和无效目标过滤子模块42-1,运动状态监测子模块42-2,关键帧提取子模块42-3;所述姿态检测和无效目标过滤子模块42-1,用于对提取的视频帧进行人的识别和对应关键点检测,并过滤掉不是被观测者的干扰目标;所述运动状态检测子模块42-2,用于对各摄像头当前视频帧中的被观测者的运动状态进行标记;所述的关键帧提取子模块,用于根据当前帧中被观测者的状态,更新维护关键帧提取所需的数据结构实例,并在视频流分析结束后,以此为依据输出最终的关键帧。
图5为本发明实施例的视频采集阵列的部署示意图,首先确定测试区域,本实施例中测试区域长1.82米,宽0.68米,被观测者位于测试区域中心;以此为基准,以FMS的跨栏步动作为参考动作确定方位,该动作中,被测试者正面朝向布置0号摄像头cam_0,正左方为1号摄像头cam_1,正后方为2号摄像头cam_2,正右方为3号摄像头cam_3;
在保证所有FMS测试动作都能完整的捕捉被测试者轮廓前提下,得到如下距离参数:0号和2号摄像头分别距离测试区域的最近边缘距离为3.7米,1号和3号摄像头分别距离测试区域的最近边缘距离为2.84米;由于被观测者位于测试区域中心的,则0号和2号摄像头分别距离被观测目标的最近距离=3.7+测试区域长度/2=4.04米;1号和3号摄像头分别距离被观测目标的最近距离=2.84+测试区域长度/2=3.75米。
本发明所达到的有益效果:
(1)本发明通过部署多方位相机阵列,满足不同运动对数据采集多方位的需求,并在视频数据采集过程自动完成人体运动目标过滤,将人体运动涉及的关键部位信息映射为人体运动关键点,实现对待观测人体目标的快速锁定及人体动作信息的全面采集;
(2)本发明通过以帧为单位,计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量、指定时间内待观测人体动作关键点的平均偏移总量,用以判断当前帧内的人体动作是否稳定,有效地从运动视频中筛选出人体运动量最低的关键帧,提高运动数据采集的效率;
(3)本发明通过摄像头采集视频数据,经目标过滤、静止检查及关键帧提取完成运动能力分析数据的采集,简化了繁杂人工采集数据并手动上传的过程,实现运动的自动化测试中重要一个环节。
以上实施例不以任何方式限定本发明,凡是对以上实施例以等效变换方式做出的其它改进与应用,都属于本发明的保护范围。
Claims (9)
1.一种运动能力分析数据智能采集的方法,其特征在于,包括:
步骤1:以被观测者为中心,在被观测者指定方位部署至少一个摄像头,所述摄像头高度为被观测者身高的1/2;所述摄像头与被观测者之间的距离d应满足其中h为被观测者身高,α为摄像头与垂直方向的夹角,β为摄像头与水平方向的夹角;所述摄像头采集的视频流通过多媒体处理工具FFmpeg,以视频推流的方式推送至后台RSTP服务器;
步骤2:根据不同的人体动作,从四个方位的摄像头中选取满足观测方位需求的摄像头,以帧为单位从摄像头中获取视频流,利用人体姿态模型识别视频流中的人体目标边界框及人体动作,所述人体目标边界框为包含人体目标的最小矩形框;识别视频流中的人体目标边界框及人体动作,所述人体目标边界框为包含人体目标的最小矩形框;计算人体目标边界框的面积、人体目标边界框中心点与帧中心点之间的距离,通过与相应的预设阈值比对,过滤非主要观测的人体目标,获取被观测者的人体目标边界框坐标及人体动作的关键点坐标;输出内容包括:人体边界框左上角坐标、人体边界框右下角坐标、人体动作关键点坐标及关键点概率;所述关键点概率为人体动作关键点为人体真实关节点的概率;
步骤3:从视频流中提取处于静止状态的视频帧,具体为:以帧为单位,统计有效人体动作关键点的数目,若有效人体动作关键点的数目小于待观测人体动作关键点的总数,则判定为存在遮挡,否则判定为不存在遮挡;所述待观测人体动作关键点的总数指预设的人体动作关键点的标准数量,指将所述有效人体动作关键点的关键点概率与相应的预设阈值比对,如满足阈值,则判定为有效关键点,否则判定为无效关键点;计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量,计算指定时间内待观测人体动作关键点的平均偏移总量;所述指定时间取动作持续时间和视频帧速率的乘积;将偏移总量、平均偏移总量与相应的静止阈值比对,判断被观测者是否处于静止状态,仅当每个满足观测方位需求的摄像头采集的当前帧的被观测者均被判定处于静止状态,被观测者在当前帧判定为静止状态,提取当前帧为静止帧;
步骤4:从视频流中逐帧提取被观测者的静止帧,将静止帧按照时间顺序动态插入静止帧链中,所述静止帧链是由静止帧组合而成的链表,先进入静止帧链中的静止帧作为静止帧链链表头;预设滑动长度使滑动链表在静止帧链中移动,所述滑动链表长度为2,包含滑动链表头和滑动链表尾,其中滑动链表头始终指向静止帧链中的一个静止帧,取滑动长度的整数倍为滑动链表头在静止帧链中的索引位置;所述滑动长度为滑动链表在静止帧链中每次移动时需越过的静止帧的数目;
当新的静止帧插入静止帧链时,计算静止帧链的长度是否为滑动长度的整数倍,若静止帧链的长度是滑动长度的整数倍,满足滑动条件时,滑动链表尾移动至滑动链表头指向的静止帧,滑动链表头按照滑动长度移动至静止帧链当前的静止帧链链表头位置;若静止帧链的长度不是滑动长度的整数倍,则滑动链表头和滑动链表尾保持原始指向的静止帧不变;视频流中的静止帧全部提取完后,如果滑动链表尾不空,则将滑动链表尾指向的静止帧作为关键帧输出。
2.根据权利要求1所述的一种运动能力分析数据智能采集的方法,其特征在于,在所述步骤1中,所述指定方位是指在被观测者正前方、正左方、正后方和正右方分别部署一个摄像头;根据不同的人体动作,从四个方位的摄像头中选取满足观测方位需求的摄像头,所述步骤2中,所述人体姿态模型为2D人体姿态模型,所述2D人体姿态模型使用CenterNet模型训练学习。
3.根据权利要求2所述的一种运动能力分析数据智能采集的方法,其特征在于,所述步骤1中,所述视频推流使用MJPEG格式,帧率为25fps,像素为640*480,推流的编码方式为H264,码率为500k。
4.根据权利要求3所述的一种运动能力分析数据智能采集的方法,其特征在于,所述步骤2中,利用人体姿态模型识别视频流中的人体目标边界框的具体步骤包括:
步骤201:预设人体动作关键点的对应关系为:0-鼻子、1-左眼、2-右眼、3-左耳、4-右耳、5-左肩、6-右肩、7-左手肘、8-右手肘、9-左手腕、10-右手腕、11-左髋、12-右髋、13-左膝、14-右膝、15-左脚踝、16-右脚踝;
步骤202:计算视频帧中每个人体目标边界框的面积,过滤人体目标边界框面积小于阈值thr=66000的人体目标;经过滤,若剩余人体目标边界框个数为0,则当前帧为无效帧;若剩余的人体目标边界框个数为1,则选取人体目标边界框内的人体目标为被观测者;若剩余的人体目标个数大于1,则计算每个人体目标边界框中心点与当前帧中心点之间的距离,按照距离大小降序排列人体目标边界框,按照人体目标边界框面积大小进行升序排列;将目标边界框按照面积降序和距离升序进行二级排序,选取人体目标边界框面积最大且中心点与当前帧中心点距离最小的人体目标边界框内,以选取的人体目标边界框内的人体目标为被观测者。
5.根据权利要求4所述的一种运动能力分析数据智能采集的方法,其特征在于,所述步骤3具体包括:
步骤301:通过人体识别模型获取人体动作关键点及关键点概率,筛选关键点概率满足(0,0.3)的人体动作关键点为有效关键点,统计有效关键点总数是否等于待观测人体动作关键点总数,若等于,继续步骤302;否则退出;
步骤302:计算当前帧相对于上一帧中待观测人体动作关键点的偏移总量,具体为:
计算当前帧的人体动作关键点与上一帧对应的人体动作关键点的位移距离所述wj表示待观测的人体动作关键点中第j个关键点,t表示帧数,采用欧式距离公式计算位移距离;按照计算所有待观测人体动作关键点的偏移距离并求和,得到位移总距离(dhp)t;按照 将位移总距离(dhp)t除以当前帧中人体目标边界框的面积,获得的值为当前帧相对于上一帧中人体动作关键点的偏移总量(dswp)t,其中,表示人体目标边界框的面积;
步骤303:所述计算指定时间内待观测人体动作关键点的平均偏移总量,具体为:
步骤303-1:取指定时间作为检测窗口的长度window_len;按照 计算单个人体动作关键点在检测窗口中的平均移动距离,其中,所述avgshift为平均移动距离,wpj表示所有待观测的人体动作关键点中表示w的第j个人体动作关键点,β为系数,β=1-1/window_len,β∈(0,1)andβ∈R,所述R为任意实数;
步骤303-2:按照计算所有待观测的人体动作关键点在检测窗口中的平均移动距离总和,其中(sumshift)t为平均移动距离总和,n表示所有待观测的人体动作关键点总数watched_points的列表长度;
步骤304:按照公式freezed_thr=first_thr*(len(watched_points)/len(human_points)),根据待观测的人体动作关键点总数,计算静止阈值,其中,所述freezed_thr为静止阈值,first_thr为基于人体动作关键点总数而预设的静止阈值,取值为4e-4,watched_points为指定动作的待观测的人体动作关键点总数,human_points为人体动作关键点总数;
若(sumshift)t<freezed_thr,且(dswp)t<freezed_thr,则当前帧中的人体目标被标记为静止。
6.根据权利要求5所述的一种运动能力分析数据智能采集的方法,其特征在于,所述步骤3中,还包括:获取每个摄像头在当前帧中的平均移动距离总和,所述平均移动距离总和的累加值作为待观测人体动作在当前帧中的平均位移总量;选取视频中平均位移总量最低的视频帧保存。
7.根据权利要求6所述的一种运动能力分析数据智能采集的方法,其特征在于,所述步骤4的具体包括:
步骤4-1:当第一个静止帧进入静止帧链中,滑动链表的链表头和链表尾均指向第一个静止帧;
步骤4-2:当新的静止帧插入静止帧链的链表头部后,计算静止帧链的长度是否为滑动长度的整数倍,所述滑动长度取检测窗口长度的1/3;
步骤4-3:当将所有的运动视频按步骤4-1和步骤4-2处理完毕后,如果滑动链表的链表尾不为空,则将链表尾指向的静止帧作为关键帧截屏输出。
8.根据权利要求7所述的一种运动能力分析数据智能采集的方法,其特征在于,所述步骤4中,若没有检测到关键帧输出,则选取步骤3中的平均位移总量最低的帧为关键帧截屏输出。
9.一种根据权利要求1-8所述方法之一运行的运动能力分析数据智能采集的系统,具体包括依次连接的视频流采集模块和运动状态追踪模块;
所述视频流采集模块中包括相连的视频采集阵列模块和推流服务模块;
所述视频采集阵列模块为相机阵列,用于采集被观测者接受运动能力测试时的运动影像数据;
所述推流服务模块为推流服务器,用于接受并缓存所述运动影像数据,并提供访问接口;
所述状态追踪模块包括依次连接的RSTP服务模块、姿态识别和目标过滤子模块、运动状态检测模块和关键帧提取模块,所述状态追踪模块用于从所述推流服务器中提取影像数据,通过实时分析获得被测试者的运动状态并记录存储;
所述RSTP服务模块与推流服务模块相连,用于远程提取所述运动影像数据;
所述姿态识别和目标过滤子模块,用于对提取的运动影像数据,逐帧进行目标和目标的关键点检测,并过滤不是被观测者的无效目标;所述运动状态检测模块,用于逐帧判断并标记各摄像头内的被观测者当前的运动状态;
所述关键帧提取模块,用于从所述状态追踪模块中提取各个时刻各摄像机记录的静止帧,并选取运动量最低的静止帧为关键帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011186168.8A CN112287840B (zh) | 2020-10-30 | 2020-10-30 | 一种运动能力分析数据智能采集的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011186168.8A CN112287840B (zh) | 2020-10-30 | 2020-10-30 | 一种运动能力分析数据智能采集的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112287840A CN112287840A (zh) | 2021-01-29 |
CN112287840B true CN112287840B (zh) | 2022-07-22 |
Family
ID=74353613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011186168.8A Active CN112287840B (zh) | 2020-10-30 | 2020-10-30 | 一种运动能力分析数据智能采集的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287840B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583315A (zh) * | 2018-11-02 | 2019-04-05 | 北京工商大学 | 一种面向智能视频监控的多通道快速人体姿态识别方法 |
CN111104816A (zh) * | 2018-10-25 | 2020-05-05 | 杭州海康威视数字技术股份有限公司 | 一种目标物的姿态识别方法、装置及摄像机 |
-
2020
- 2020-10-30 CN CN202011186168.8A patent/CN112287840B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104816A (zh) * | 2018-10-25 | 2020-05-05 | 杭州海康威视数字技术股份有限公司 | 一种目标物的姿态识别方法、装置及摄像机 |
CN109583315A (zh) * | 2018-11-02 | 2019-04-05 | 北京工商大学 | 一种面向智能视频监控的多通道快速人体姿态识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112287840A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368810B (zh) | 基于人体及骨骼关键点识别的仰卧起坐检测系统及方法 | |
CN111437583B (zh) | 一种基于Kinect的羽毛球基本动作辅助训练系统 | |
Churchill et al. | RIVCAM: a simple video-based kinematic analysis for clinical disorders of gait | |
CN111883229B (zh) | 一种基于视觉ai的智能运动指导方法及系统 | |
CN107115102A (zh) | 一种骨关节功能评估方法与装置 | |
CN114100103B (zh) | 一种基于关键点识别的跳绳计数检测系统及方法 | |
CN114307117B (zh) | 基于视频的立定跳远成绩测量方法和装置 | |
CN112568898A (zh) | 一种基于视觉图像对人体运动动作自动进行伤病风险评估及动作矫正的方法、装置及设备 | |
Li et al. | Automated fine motor evaluation for developmental coordination disorder | |
CN114241375A (zh) | 一种用于运动过程中的监测方法 | |
CN112287840B (zh) | 一种运动能力分析数据智能采集的方法和系统 | |
CN117292288A (zh) | 体育测试方法、系统、电子设备、芯片及存储介质 | |
CN114264239B (zh) | 一种运动平台激光校准系统 | |
CN116543455A (zh) | 建立帕金森症步态受损评估模型、使用方法、设备及介质 | |
CN115690895A (zh) | 基于人体骨骼点检测的多人运动检测方法及装置 | |
CN115731563A (zh) | 一种远距离监控人员倒地识别方法 | |
CN113517052A (zh) | 商用健身场景下的多感知人机交互系统与方法 | |
CN111773651A (zh) | 一种基于大数据的羽毛球训练监控评估系统及方法 | |
CN114984540B (zh) | 一种基于人工智能的健身锻炼效果评价分析管理系统 | |
Boyle et al. | Machine learning and deep neural network architectures for 3D motion capture datasets | |
Hung et al. | A HRNet-based Rehabilitation Monitoring System | |
WO2022116860A1 (en) | Swimmer performance analysis system | |
CN118097780A (zh) | 一种基于关键点检测的康复训练动作评估方法 | |
KR20210158291A (ko) | 이동 로봇을 이용한 휴먼 자세 평가 장치 및 방법 | |
CN115814361A (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 |