一种基于人体姿态学习的射击训练分析方法与流程

文档序号:29039063发布日期:2022-02-25 20:03阅读:210来源:国知局
一种基于人体姿态学习的射击训练分析方法与流程

1.本发明涉及视觉分析技术领域,更具体地,涉及一种基于人体姿态学习的射击训练分析方法。


背景技术:

2.人类视觉系统具有独特功能,可以感知现实三维情景,因此可以通过传感器和计算机的软硬件去模拟仿真人类视觉系统,再现真实三维场景,例如对三维环境图像的采集、分析、处理和学习能力,并将这些能力植入到计算机中,以使计算机和机器人系统具有智能化的视觉功能。计算机视觉系统主要由图像采集、图像处理及分析、图像显示输出等组成。可以将计算机视觉技术运用于运动队、军警院校以及射击俱乐部的射击训练,以帮助射击人员找出射击过程中的不足,纠正错误,提高射击成绩,还可以结合大数据、人工智能等现代新一代信息技术,让射击变得更加简单、易学,实现“教、学、评”一体化。
3.在射击训练过程中,存在很多瞬间变化情况,当两帧画面切换时间高于1/24秒时,人眼无法进行分辨,这时教练员或者指导老师就无法针对射击训练过程中出现的问题进行有效的分析指导。而由于射击整个过程都是瞬间完成的,这些细节信息如果没法获得,会对纠正射击过程中的错误姿态产生影响。目前已有激光模拟射击训练,以及射击过程中的简单数据分析,但没有针对射击过程中最影响结果的项目进行重点解析和判断,不能从根本上纠正射击过程中的错误。
4.目前,射击训练应用比较广泛的是激光模拟射击训练,模拟仿真实战射击训练也是一种流行的射击训练辅助手段,但都存在着一些问题,如激光模拟射击训练的激光模拟指示点与实弹射击时的弹着点差距较大;缺乏真实感,无法弥补实弹射击时环境、心理状态对成绩的影响;射击数据利用不够充分,导致反馈、计算、校正不够迅速;射手无法得到实弹射击过程中的精准反馈,不能及时纠正错误动作。


技术实现要素:

5.本发明的目的是克服上述现有技术的缺陷,提供一种基于人体姿态学习的射击训练分析方法。该方法包括以下步骤:
6.步骤s1:根据识别的射击枪方位,捕获子弹击发时枪口的火光信息,以确定射击时间;
7.步骤s2:对射击过程的视频流进行分析,并以所述射击时间为参考,确定射击枪在前一帧平面中的x轴与y轴坐标信息以及在后一帧平面中的x轴与y轴坐标信息,进而通过坐标的偏移来判断手部抖动信息;
8.步骤s3:以所述射击时间为参考,对子弹击发时刻的视频流进行采集并识别用于描述人体骨架结构的关键点,进而通过对人体骨架进行角度计算确定站姿偏移信息;
9.步骤s4:对射击后的弹点轨迹进行分析,获得弹点分布信息,其中所述弹点分布信息反映弹着点与射击靶中心之间的方位信息;
10.步骤s5:利用所述手部抖动信息、所述站姿偏移信息和所述弹点分布信息生成射击过程诊断结果。
11.与现有技术相比,本发明的优点在于,针对射击过程中因射击动作以及身体姿态不规范而导致的命中率不高,射击成绩不理想的问题,本发明运用计算机视觉的动作捕捉,采集射手真实射击过程中的图像数据,捕捉每发子弹的弹着点,通过海量数据分析,判断射手在射击过程中存在的错误动作,并进行精准反馈,使射手对环境刺激做出正确应答,进而及时纠正错误动作。
12.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
13.被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
14.图1是根据本发明一个实施例的基于人体姿态学习的射击训练分析方法的整体过程图;
15.图2是根据本发明一个实施例的基于人体姿态学习的射击训练分析方法的流程图;
16.图3是根据本发明一个实施例的faster-rcnn的网络架构图;
17.图4是根据本发明一个实施例的识别手部抖动的示意图;
18.图5是根据本发明一个实施例的识别站姿偏移的示意图;
19.附图中,conv-卷积层;pooling-池化层;relu-激活层;full-connection-全连接层;roi-region of interest;feature map-特征图。
具体实施方式
20.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
21.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
22.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
23.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
24.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
25.本发明提供的基于人体姿态学习的射击训练分析方法,采用高速摄像机对整个射击过程进行捕捉,然后通过对视频流进行每一帧的对比处理,通过算法自动找出射击过程中的不足,并且对动作标准进行辅导,以纠正错误。例如,在本发明的技术方案中,首先将影响射击结果的动作分为三点要素进行重点分析,包括:第一要素,射击过程中对击发瞬间手
部姿势稳定性判断;第二要素,针对射击过程中人体站姿角度的判断,通过人体骨架判断射击过程中站姿是否稳定;第三要素,对射击结果进行数据判断,通过分析弹点分布状况来识别射击过程中击发瞬间手部用力的方向。
26.在一个实施例中,本发明采用高速相机拍摄真实射击的整个动态过程,然后通过计算机的图像识别技术以及智能算法对图片进行比对分析,找出射击过程中的不足,并且通过设定参数自动给出诊断报告。整个射击训练分析过程整体上包括两部分。第一部分是通过硬件设备采集数据,如采用二部摄像机分别采集射击过程中的数据,运用高速高清摄像机采集射击过程手部抖动以及火焰捕捉,运用高清摄像机捕获人体骨架姿态信息。另一部分进行算法计算和智能分析反馈。例如,主要针对射击过程中的三个最影响射击成绩的要素进行单独的分析,包括击发瞬间的手部抖动稳定性分析、击发瞬间人体站姿的稳定性分析以及对最后射击结果的弹点分布进行分析等。如图1所示,整个技术方案的架构分为基础管理、动作识别分析两大模块,基础管理主要支撑平台的运行核心功能包括用户信息管理、评分与建议、射击标准定义、射击数据管理,动作识别分析主要是针对射击过程中的动作规范识别分析,包括射击时间捕获、手部抖动分析、射击站姿分析以及弹点分布分析等。
27.具体地,结合图1和图2所示,所提供的基于人体姿态学习的射击训练分析方法包括以下步骤。
28.步骤s210,捕获射击时间
29.例如,通过faster rcnn框架对射击手枪进行识别,得出手枪的模型,然后在射击过程中自动识别手枪方位,并且在击发瞬间捕获射击时枪口的火焰,以此来判断每次击发瞬间的时间点。
30.具体地,参见图3所示,运用faster-rcnn训练手枪模型包括以下步骤:
31.步骤s211,输入手枪测试图像,图片大小可以是任意尺寸,如pxq;
32.步骤s212,将整张图片输入cnn(例如包括13个卷积层、13个relu层和4个池化层),进行特征提取,获得特征图(feature map);
33.步骤s213,用rpn(区域生成网络)生成建议窗口(proposals),例如每张图片生成300个建议窗口;
34.步骤s214,将建议窗口映射到cnn的最后一层卷积feature map上;
35.步骤s215,通过roi pooling层使每个roi生成固定尺寸的feature map;
36.步骤s216,利用softmax loss(探测分类概率)和smooth l1 loss(探测边框回归)对分类概率和边框回归(bounding box regression)联合训练。
37.在手枪模型训练完成后,在射击训练时,可以采用高速高清摄像机捕获整个射击的过程,然后运用opencv对视频流进行处理,读取每一帧的图片信息,然后将图片输入模型库中判断是否存在手枪,如果存在表示开始射击准备中并且开始记录视频流保存在内存中,继续每帧读取分析,进而运用图片对比前后帧区别,直到出现击发瞬间的火光时记录射击时刻的时间戳,以确定射击时间。
38.步骤s220,识别手部抖动
39.例如,运用opencv对高速高清视频流进行分析,捕获击发瞬间,手枪在前一帧平面中的x轴与y轴坐标信息和后一帧平面中的x轴与y轴坐标信息,通过坐标的偏移来判断手部抖动情况。
40.具体地,在确定射击时间后,对这个时间点采集视频流的前后帧图片进行分析,运用opencv获取手枪在平面中的x轴与y轴坐标信息,将前一帧的x轴坐标减去后一帧x轴坐标得到的差值,得到手枪在射击瞬间的左右晃动的幅度,并将前一帧的y轴坐标减去后一帧y轴坐标得到的差值就是手枪在射击瞬间的上下晃动的幅度,然后根据预设的参数阈值来判断抖动幅度是否合理。例如,可以将抖动幅度设置为3个区间等级并设置各区间的分值,第一级射击正常抖动幅度,第二级射击轻度抖动幅度,第三级射击剧烈抖动幅度(本级需要人为纠正措施),如图4是射击过程中击发瞬间的开火时间以及x轴、y轴坐标值。
41.步骤s230,识别站姿偏移
42.在该步骤中,捕获击发瞬间人体的骨架信息,然后通过角度函数对其进行判断,进而推断人体在射击过程中的偏移。
43.具体地,运用高清摄像机,在手枪射击过程中对击发瞬间的视频数据进行采集,然后再根据人体骨骼关键点检测,即姿态估计(pose estimation),如检测人体的一些关键点,如关节,五官等,通过关键点描述人体骨骼信息。例如,关于人体骨骼关键点的数据集,包含单帧关键点检测、多帧关键点检测、多于500个视频序列,帧数超过20k,关键点个数为15。对于仅仅静态(非移动)射击训练的人体而言是具有高可信度的实弹分析度。如图5是人体骨架采集效果图。
44.在射击过程中防止子弹飞出击中摄像机,可以将摄像机放置在射击人员的后方,主要用于检测判断射击过程中击发瞬间人体的站姿的稳定情况,是否发生人体倾斜等情况影响射击结果。在一个实施例中,采用openpose模型对视频中的人体主要骨架信息进行采集,核心算法包括损失函数、关键点检测、关节连接等。
45.1)、损失函数
46.例如,损失函数设置为:
[0047][0048]
其中是真实部分置信度图,是真实部分亲和向量场,w是二进制掩码,c为检测到的肢体,p为图像位置,当图像位置p处缺少注释时,w(p)=0。如果某个关键点标注缺失则不计算该点。掩码用于避免在训练期间惩罚真正的正预测。每个阶段的中间监督通过定期补充梯度来解决梯度消失问题。总体目标是:
[0049][0050]
2)、关键点检测
[0051]
通过图像中标注的2d点x
j,k
计算s的groundtruth(s
*
),其中x
j,k
表示图片中第k个人的第j种关节(k为检测到的人)。具体计算方法是:符合正态分布,当像素点p接近注释点x
j,k
时,达到正态曲线的峰值,则每张图像中第j种关节的s,为图像中k个人的正态分布峰
值。首先为每个人k生成个人置信度图让x
j,k
∈r2是图像中人k的身体部位j的真实位置。中的位置p∈r2处的值定义为
[0052][0053]
3)、关节连接
[0054]
如果点p位于肢体上,则处的值是从点x
j,1
指向x
j,2
的单位向量;对于所有其他点,向量为零值。
[0055]
评估方程式中的f
l
在训练期间,图像点p处的真实部分亲和向量场定义为:
[0056][0057]
其中如果p在第k个人的肢体c上等于v,否则等于0
[0058]
最后,对提取完成的人体骨架信息,运用opencv图片处理技术对人体骨架图片进行角度计算。例如,主要检测腿部倾斜角度以及肩部的倾斜角度,正常射击肢体腿部和臀部骨架角度在90度左右,如果提取完成后,结果大于90度或者小于90度表示人体有倾斜。在一个实施例中,可以将倾斜角度设置三个区间等级,分别是射击站姿正常、射击站姿轻微倾斜、射击站姿严重倾斜,并针对三种不同的倾斜等级,给予不同的应对方法。肩部的倾斜角度主要是判断肩部是否在同一水平面,如果在同一水平面上在,则肩部和腰椎角度在90度左右,否则表示存在一定的倾斜。在一个实施例中,也可以设置三个区间等级,分别是射击肩部正常、射击肩部轻微倾斜、射击肩部严重倾斜,针对三种结果给予不同的应对方法,上述判断主要针对平行式射击,射击要点参见下表1。
[0059]
表1:射击要点
[0060][0061][0062]
步骤s240,弹点分布分析
[0063]
在该步骤中,基于射击弹点分布情况来判断射击过程中手部作用力的方向是否稳定。
[0064]
弹点分布分析主要是对射击完成后的结果进行比对分析。例如,通过高清相机采集射击完成后的弹点轨迹照片,运用图像处理opencv对每个弹点的分布坐标进行采集,如
果弹点都分布在左上方或者右上方(以射击靶的中心作为参考),则表示射击过程中手部有抬枪的作用力,如果弹点都分布在左下方或者右下方,则表示射击过程中手部有压枪的作用力。
[0065]
步骤s250,生成射击过程诊断报告
[0066]
在进行上述分析后,根据设定的参数值,自动形成分析报告,并且给出射击建议。分析包括中可包括射击要点是否标准、偏离程度以及建议的调整策略等。上述步骤需要确保读取视频流的保存的服务器时间保持一致,这样才能确保射击时击发时刻的动作是完整的。
[0067]
需要说明的是,在违背本发明精神和范围的前提下,本领域技术人员可对上述实施例进行适当的改变或变型,例如,除采用faster-rcnn外,可以采用其他的深度学习模型进行目标检测,如ssd和yolo等。或者采用除openpose外其他的姿态估计模型。此外,本发明对各模型的具体结构不进行限制。
[0068]
综上所述,本发明提供基于人体姿态学习的射击模型及方法的一整套方案,根据手部抖动、站姿偏移、弹点分布等三个要素进行汇总分析,并且针对三个要素本身的等级情况给予不同的参数配置,在射击完成后自动汇总射击的诊断报告,对于射击过程中不同的问题给出不同的意见建议,帮助射击人员提高成绩,最后射击人员可以回放整个射击过程,通过opencv对前期视频的剪辑,可以将射击过程中出现的问题在视频中进行标识,使射击人员一目了然发现问题所在。
[0069]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0070]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0071]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0072]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如
smalltalk、c++、python等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0073]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0074]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0075]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0076]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0077]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1