一种基于人体姿态估计的视频教学方法、系统和存储介质转让专利
申请号 : CN202210228951.9
文献号 : CN114333071B
文献日 : 2022-05-06
发明人 : 徐天禹 , 王丙海 , 郑贝贝
申请人 : 天津市天泽恒升科技有限公司
摘要 :
权利要求 :
1.一种基于人体姿态估计的视频教学方法,其特征在于,包括:检测到有教学视频上传,调用FFmpeg库获取所述教学视频每一帧的时间戳,并对所有时间戳进行编号并保存,生成时间戳‑编号文件;
在第一程序中加载所述教学视频,并预先加载所述时间戳‑编号文件,ffpyplayer库加载每一帧视频画面,ffpyplayer库除了返回每一帧图像,还将返回其对应的时间戳,根据时间戳‑编号文件中时间戳与编号的对应关系,获取该帧的编号,并将编号发送至第二程序;
在所述第二程序中,首先加载上传阶段保存的所述教学视频,然后启动摄像头采集实时动作视频,读取每一帧实时画面并接收来自第一程序的编号,接收编号这一过程即建立了教学视频帧与实时画面帧间的对应关系;
按帧分析实时动作视频,对实时动作进行姿态估计,生成姿态数据;
根据编号读取教学视频中对应的图像帧,获取标准姿态数据;
分析姿态数据与标准姿态数据,生成姿态对比结果;
根据姿态对比结果对实时动作视频中的图像帧添加标记,多种颜色的标记表示多种对比结果;
其中,进行姿态估计的具体步骤包括:采用人体目标检测模型处理实时动作视频的图像,得到人体目标;采用人体姿态检测算法检测人体目标的姿态。
2.根据权利要求1所述的基于人体姿态估计的视频教学方法,其特征在于,所述得到人体目标的步骤,具体包括:
根据目标检测模型的输出结果,得到多个人体框;
建立对全部人体框的跟踪并得到各自的id;
设置参数track_ID用于保存所需跟踪的id;
其中,参数track_ID初始状态为空,因此完成建立跟踪关系的第一帧需要根据预先设置的筛选条件对人体框进行筛选,只保留满足条件的人体框送入接下来的姿态估计网络,同时,所保留人体框的id将做为track_ID保存,下一帧图像的全部人体框经过目标跟踪算法匹配后只需要根据track_ID决定送入下一环节的人体框。
3.根据权利要求1所述的基于人体姿态估计的视频教学方法,其特征在于,检测人体姿态的具体步骤包括:
采用bottleneck堆叠结构,利用PixelShuffle方法做上采样,PixelUnshuffle方法做下采样,其中,大幅减少了网络中的通道数,bottleneck结构中的expansion参数从4降为1;
引入深度可分离卷积的思想,利用Depthwise卷积,降低参数量;引入GC block结构,应用于每个bo ttleneck中;激活函数为Hard Swish。
4.根据权利要求1所述的基于人体姿态估计的视频教学方法,其特征在于,还包括:将所述第一程序中的教学视频以及所述第二程序中的实时动作视频显示在同一界面中,其中,所述实时动作视频带有标记。
5.根据权利要求1所述的基于人体姿态估计的视频教学方法,其特征在于,还包括:在采用人体姿态检测算法检测人体目标姿态之前引入卡尔曼滤波算法对目标检测模型输出的人体框进行补偿和修正。
6.根据权利要求1所述的基于人体姿态估计的视频教学方法,其特征在于,所述生成姿态对比结果的步骤,具体包括:
根据所述姿态数据,获取人体关节点;
计算每一对相邻关节点的连线的角度;
关节点连线角度与教学视频中对应的标准关节点连线角度之间的差值作为姿态对比结果。
7.根据权利要求1至6中任一项所述的基于人体姿态估计的视频教学方法,其特征在于,还包括:
接收标准动作视频,对所述标准动作视频中的人体动作进行姿态估计,生成标准姿态数据;
根据所述标准姿态数据获取人体在画面中的最大活动范围,并根据所述最大活动范围裁剪所述标准动作视频;
裁剪后的标准动作视频作为所述教学视频。
8.根据权利要求1至6中任一项所述的基于人体姿态估计的视频教学方法,其特征在于,使用TensorRT引擎对姿态检测过程中所利用的网络模型进行转换,以提升运算速度。
9.一种基于人体姿态估计的视频教学系统,其特征在于,包括:图像采集器,用于采集实时动作;
显示器,用于显示视频;
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的所述程序指令以实现如权利要求1至8中任一项所述的基于人体姿态估计的视频教学方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码用于实现如权利要求1至8中任一项所述的基于人体姿态估计的视频教学方法。
说明书 :
一种基于人体姿态估计的视频教学方法、系统和存储介质
技术领域
背景技术
与自身理解等方式对动作的标准程度进行判断。由于教师精力有限,无法做到对每一位学
员进行实时指导,指导过程中也会有不够直观的问题出现。在学员视频学习的过程中,由于
只是跟随视频进行学习,一些技巧性动作的展示不够直观性、学习效率低下,且极易做错动
作,造成肌肉损伤。
发明内容
准视频的同时实时检测使用者的姿态,并与对应视频数据进行对比,最终达到方便教学的
目的。
并保存,生成时间戳‑编号文件;在第一程序中加载教学视频,并预先加载时间戳‑编号文
件,ffpyplayer库加载每一帧视频画面,ffpyplayer库除了返回每一帧图像,还将返回其对
应的时间戳,根据时间戳‑编号文件中时间戳与编号的对应关系,获取该帧的编号,并将编
号发送至第二程序;在第二程序中,首先加载上传阶段保存的教学视频,然后启动摄像头采
集实时动作视频,读取每一帧实时画面并接收来自第一程序的编号,接收编号这一过程即
建立了教学视频帧与实时画面帧间的对应关系;按帧分析实时动作视频,对实时动作进行
姿态估计,生成姿态数据;根据编号读取教学视频中对应的图像帧,获取标准姿态数据;分
析姿态数据与标准姿态数据,生成姿态对比结果;根据姿态对比结果对实时动作视频中的
图像帧添加标记,多种颜色的标记表示多种对比结果;其中,进行姿态估计的具体步骤包
括:采用人体目标检测模型处理实时动作视频的图像,得到人体目标;采用人体姿态检测算
法检测人体目标的姿态。
采集的每一帧实时画面并接收来自另一路的编号,接收编号这一过程即建立了两路间的对
应关系,每一帧在完成姿态估计后将与标准数据中编号对应数据进行比对,实时展示动作
准确度,有助于提升教学质量。此外,检测学习者动作并与标准动作(教学视频)进行比较需
要就有一定实时性,人体检测模型选择网络最大输入尺寸为1×3×480×480,在NVIDIA
GTX 1050平台上使用COCO 2017 val数据集进行测试,每张图片推断用时仅10.8ms(不含图
片前、后处理时间)。
踪并得到各自的id;设置参数track_ID用于保存所需跟踪的id;其中,参数track_ID初始状
态为空,因此完成建立跟踪关系的第一帧需要根据预先设置的筛选条件对人体框进行筛
选,只保留满足条件的人体框送入接下来的姿态估计网络,同时,所保留人体框的id将做为
track_ID保存,下一帧图像的全部人体框经过目标跟踪算法匹配后只需要根据track_ID决
定送入下一环节的人体框。
进行人体框筛选可能会导致人体框的跳变,这将带来不需要的人体姿态估计结果。因此,该
技术方案设计了人体框筛选环节,该环节位于目标检测器与姿态估计网络之间,对目标检
测模型输出的人体框跟踪与筛选。能够使系统在边缘计算设备上也能做到具有一定实时
性,提升了系统的处理速度。
PixelShuffle方法做上采样,PixelUnshuffle方法做下采样。其中,大幅减少了网络中的通
道数,bottleneck结构中的expansion参数从4降为1;引入深度可分离卷积的思想,利用
Depthwise卷积,降低参数量;引入GC block结构,应用于每个bo ttleneck中;激活函数采
用的是Hard Swish。对于步长为2的bottleneck,输入的特征图首先经过卷积核尺寸为1×1
的标准卷积处理,再经由PixelUnshuffle与卷积核尺寸为3×3的Depthwise卷积处理实现
降采样,经1×1的标准卷积处理后再由GC block处理,特征图还将与shortcut路径的特征
图的数据相加,最终经激活函数处理得到bottleneck结构的输出。
FPEstimation网络仅需约8毫秒,大幅提升了网络速率。
带有标记。
框进行补偿和修正。
较大变动,在视觉上体现为抖动。而人体姿态估计网络输入的是根据人体框坐标扩展、剪裁
与缩放的图像,人体框的抖动会加剧关节点检测结果的抖动,因此引入卡尔曼滤波算法对
目标检测模型输出的人体框进行补偿和修正,能够减小人体框抖动对关节点带来的影响。
度;关节点连线角度与教学视频中对应的标准关节点连线角度之间的差值作为姿态对比结
果。
响。采用关节点连线角度作为动作评判标准能够快速准确地对实时动作进行评价。
数据获取人体在画面中的最大活动范围,并根据最大活动范围裁剪标准动作视频;裁剪后
的标准动作视频作为教学视频。
算力较低设备时依旧能够实现实时姿态估计。
调用存储器中存储的程序指令以实现如上述任一技术方案的基于人体姿态估计的视频教
学方法。
法。
用者的姿态,并与对应视频数据进行对比,实现教学指导。为避免画面中人物过小对教学视
频画面进行剪裁,提升教学视频与实时视频的同屏展示效果。本发明还改进了姿态估计算
法网络,使其满足轻量化要求。
附图说明
具体实施方式
施例的限制。
人体姿态估计方法,先检测人体,再根据得到的人体目标检测其姿态。
去另一路;另一路流程首先加载保存于本地的标准教学视视频数据,然后启动摄像头、读取
的每一帧实时画面并接收来自另一路的编号,接收编号这一过程即建立了两路间的对应关
系,每一帧在完成姿态估计后将与标准数据中编号对应数据进行比对;最后,两路流程的图
像将一起在界面中呈现。本发明采用关节点连线角度作为动作评判标准,通过比较每帧学
员图像中的关节点连线角度与标准动作数据中的对应连线角度,实现对用户动作的评判,
并根据差值大小用不同颜色绘制用户关节点连线,以直观表现各躯干动作是否到位。
法做下采样。其中,大幅减少了网络中的通道数,bottleneck结构中的expansion参数从4降
为1;引入深度可分离卷积的思想,利用Depthwise卷积,降低参数量;引入GC block结构,应
用于每个bo ttleneck中;激活函数采用的是Hard Swish。
实现降采样,经1×1的标准卷积处理后再由GC block处理,特征图还将与shortcut路径的
特征图的数据相加,最终经激活函数处理得到bottleneck结构的输出。
的结果按类别筛选只保留人体框。将全部人体框进行处理,建立对全部人体框的跟踪并得
到各自的id。系统设置了参数track_ID用于保存所需跟踪的学员id,其初始状态为空
(None),因此完成建立跟踪关系的第一帧需要根据预先设置的筛选条件对人体框进行筛
选,只保留满足条件的学员人体框送入接下来的姿态估计网络,同时,所保留人体框的id将
做为track_ID保存,下一帧图像的全部人体框经过目标跟踪算法匹配后只需要根据track_
ID决定送入下一环节的人体框。
在偏差,因此在展示效果上呈现出抖动。图像中的随机噪声与运动模糊是导致这一现象的
主要原因,即使帧与帧间人物动作相对静止,但由于随机噪声与模糊的存在,人体检测网络
特征提取结果存在差异,导致了人体框的位置与尺寸的差异,系统将人体框范围的图片剪
裁送入姿态估计网络,最终姿态估计结果出现抖动。由于在非专业摄像头拍摄的图像中随
机噪声与运动模糊很常见,他们影响了深度学习网络的特征提取结果,导致帧与帧间人体
框相关坐标可能会出现较大变动,在视觉上体现为抖动。而人体姿态估计网络输入的是根
据人体框坐标扩展、剪裁与缩放的图像。于是,人体框的抖动加剧了关节点检测结果的抖
动,因此加入对人体框的抖动抑制环节很有必要。本发明针对这种情况,引入卡尔曼滤波对
目标检测网络输出的人体框进行补偿和修正,减小人体框抖动对关节点带来的影响。
练习进行对比。考虑到在教学阶段需要同时展示两幅视频画面,因此教学视频的呈现空间
有限,同时部分标准视频画面较大而人物较小,这样在有限区域呈现时会出现人物过小的
情况;因此,在完成这个视频检测后,将对得到的数据进行筛选,得到人物在画面中的最大
活动范围,并以此为标准对视频帧进行剪裁,这样确保了不会因画面人物过小影响教学训
练过程。
推断时,需要不断调用CUDA核心进行计算,CUDA核心计算速度本身很快,但是对各个CUDA核
心的启动和对网络中各层输入/输出张量的读写操作却占用了大量时间。TensorRT首先将
卷积层、激活层、bias层合并成CBR层,再将输入相同且执行相同操作的CBR层进行合并,最
后取消了concat层。这样实现了对网络中张量与层的融合(Layer & Tensor fusion),这提
高了GPU利用效率,减少了网络的数据读写次数,使网络推断过程更加高效。本发明将人体
检测与姿态估计的原始模型(darknet模型、pytorch模型)先转为onnx格式文件,再转化为
TensorRT的trt格式文件,通过调用TenosrRT的python API实现对优化后模型的调用。
理器,用于调用存储器中存储的程序指令以实现如上述实施例的基于人体姿态估计的视频
教学方法。
方法。
究并建立一套视频学习系统,其可应用于视频教育、康复训练等领域。关于视频学习系统的
建立,首先针对最核心的动作指导问题,提出了用户动作检测、比对反馈流程,使得学习者
或训练者可以在进行视频学习或练习时,实时得到自己动作与标准动作的比对结果图像,
对比的依据采用相邻关节点连线的对地夹角。其次是系统进行功能上的完善,包括添加新
视频课程、获得新课程标准数据、多课程管理等功能,采用PyQt5框架实现系统界面。姿态估
计算法优化方面,本发明着重对算法进行了速度优化,本发明设计了一种FPEstimation网
络的轻量化模型进行姿态估计,并采用TensorRT工具实现算法模型的格式转换与量化,以
实现进一步的轻量化。
Memory,ROM) 、随机存储器(Random Access Memory,RAM) 、可编程只读存储器
(Programmable Read‑only Memory,PROM) 、可擦除可编程只读存储器
(ErasableProgrammable Read Only Memory,EPROM) 、一次可编程只读存储器(One‑
timeProgrammable Read‑Only Memory,OTPROM) 、电子抹除式可复写只读存储器
(Electrically‑Erasable Programmable Read‑Only Memory,EEPROM) 、只读光盘
(CompactDisc Read—Only Memory,CD‑ROM) 或其他光盘存储器、磁盘存储器、磁带存储
器、或者能够用于携带或存储数据的可读的任何其他介质。
改、等同替换、改进等,均应包含在本发明的保护范围之内。