技术领域
[0001] 本发明涉及极限滑板车领域,具体而言,涉及一种极限滑板车运动辅助方法及记录实时运动状态的极限滑板车。
相关背景技术
[0002] 极限滑板车是一种用于特技表演和极限运动的滑板车,适合在城市街道、滑板公园等场地进行各种花式动作和跳跃。其丰富的特技动作深受年轻人的喜爱,但同时也十分考验用户的身体协调性、平衡感和运动能力,对于想上手这项运动的新手来说并不友好。现有的极限滑板车通常只有简单的机械结构,新用户只能对照学习视频进行模仿学习。
具体实施方式
[0046] 以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
[0047] 这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
[0048] 考虑到以下描述,本说明书的这些特征和其他特征,以及结构的相关元件的操作和功能,以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。
[0049] 本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
[0050] 图1示出了根据本申请的实施例提供的极限滑板车运动辅助方法的流程P100的示意图。包括:
[0051] S110:建立标准运动数据库并搭建极限滑板车动作轨迹模型。
[0052] 极限滑板车运动中有着大量已被用户开发并基本标准化的动作,例如Bunny Hop/海豚跳/兔子跳(一种基础跳跃动作,通过弯曲膝盖和用脚推动滑板车来实现跳跃)、Tail Whip/神龙摆尾(这是一种在跳跃过程中,通过车手的脚部动作使车把快速旋转的动作)、G‑turn/前轮点地扭转180(在滑行中,前轮点地并扭转180度,同时车手和滑板车完成转向)等。在本申请的一些实施例中,标准运动数据库的建立来自专业极限滑板车运动员的动作捕捉,即采集数据的过程:首先让专业运动员穿着带有特定标记点(Markers)的着装,在运动员执行上述一些标准动作的过程中,通过多个高速相机从不同角度捕捉目标上的标记点,然后通过计算机处理得到三维空间坐标的数据,这样就可以记录下运动员完整的运动轨迹,如此大量采集不同套标准运动动作,即可建立起来一个极限滑板车标准运动轨迹的数据库。然而在用户端,用户自己依靠动作捕捉手段获得自身的动作轨迹并进行学习辅助是不现实的,而依靠多路传感器实时监测极限滑板车在空中的运动姿态并输出最终的运动轨迹的方法虽然可行,但是不免会提高极限滑板车的成本,也难以保证多路传感器在极限滑板车的工况下可以稳定地运行。在本申请的实施例中,仅采用一路传感器配合机器学习的方法来解决这个问题。即利用前文所建立的极限滑板车标准运动轨迹数据库作为训练集进行极限滑板车运动轨迹模型的训练。具体的原理可以简述为:采集运动员运动过程中n个一维初始标准数据构成标准数据集,这里的一维指的是所采集的数据由同一类型的数据构成,因此所述一维初始标准数据由一路传感器采集即可,可以是运动员运动过程中极限滑板车上某一点的速度、加速度、角动量等。理论上该标准数据集与所述标准运动轨迹数据库存在某种映射关系,则理论上也可以采用深度学习的方法获得输入初始数据即可得到最终轨迹的数学模型。在本申请的一些实施例中,为了保证模型的准确性,需要对采集的初始数据进行去噪处理。
[0053] 由于所述初始数据例如速度、加速度等都是向量,因此采集数据过程中采集的n个一维标准数据组成的标准数据集可以由以下算法得到,参照图2,包括:确定一初始k值,对应于复平面上的一点o,针对n个初始的一维标准数据x1,x2,...,xn;计算可达距离:reach‑dist(x,o)=max(dist(x,o),kd(o)),其中,dist(x,o)是点x到点o的真实距离,kd(o)是点o的k距离(即点o到第k个近邻的距离);计算xi的k近邻可达密度:则每一个所述初始的一维标准数据对应的判定阈值为:
[0054] 判定:若M(xi)>1,则该点为坏点,将其剔除出所述标准数据集;
[0055] 若M(xi)≤1,则该点为正常点,将其纳入所述标准数据集。
[0056] 从以上算法可以看出,在数据采集的过程中,其判定的是采集的每一个数据点与其最近邻的数据的距离,也即将每个点的密度与其邻居(周围其他点)的密度进行比较,因此十分适合排除向量数据集中的坏点。以所述一维标准数据为速度举例,通常来说极限滑板车的运动速度一般不会超过30km/h,对应于k值应当小于20,优选地,k值取15。
[0057] 在获得符合要求的初始数据之后,以不同初始标准数据xi为自变量,视觉采集的极限滑板车标准轨迹数据为所需预测变量的真实值,借助PyTorch框架进行深度神经网络(DNN)训练即可获得所述极限滑板车轨迹模型。
[0058] 在本申请的一些实施例中,还可以利用运动员在动作捕捉过程中作出的相似动作以及实际轨迹进行差值校准,即不同批次的初始运动数据对应于一个相同的运动轨迹,将隶属于相同动作的不同初始运动数据带入所述轨迹模型后,与动作捕捉的视觉轨迹三者进行差值校准,执行如下算法:
[0059] 建立分段损失函数:
[0060] 其中yi代表实际值,即所述视觉采集的极限滑板车实物轨迹数据,f(xi)为所述轨迹模型给出的轨迹值,δ为阈值参数,即所述分段损失函数的变点。从上述算法可以看出δ的取值决定了上述损失函数的值,由于极限滑板车运动中既可能出现较为标准的动作(小误差)和偏离较大的动作(大误差),δ值的存在可以人为地调整这个损失函数对误差的敏感性,在本申请的一些实施例中,δ优选为4。所述校准过程为使得训练过程中使得上述损失函数最小的步骤。
[0061] 图3示出了所述极限滑板车在出厂之前采集运动轨迹并训练获得模型的全部流程。
[0062] 需要说明的是,由于上述步骤可以在厂家的测试阶段完成,不需要具体用户的参与,所以上述步骤可以在极限滑板车交付给用户之前完成,并存储在云端或者借助存储介质存储在每一台出厂的极限滑板车上,用户可以随时调用并使用所述动作轨迹模型。S120:采集用户运动的特征数据集,并基于动作轨迹模型获得用户的运动轨迹。
[0063] 在本申请的一些实施例中,当用户使用极限滑板车进行动作时,所述极限滑板车会采集用户运动的特征数据并组成特征数据集。图4示出了本申请的一些实施例中所述的一种极限滑板车100,至少包含车把110、底板120、车轮130。以速度传感器为例,在极限滑板车动作中,至少需要在车把110、底板120、车轮130三个位置布置速度传感器,分别对应于“转车把”、“空中姿态调整”、“地面加速”三个基础动作以及三个基础动作组合的运动状态速度监控。本申请的发明人在长期的研究中发现,仅仅依靠速度传感器结合前文所述的运动轨迹模型,在一个运动动作的过程中,就可以实时得出完整的运动轨迹,轨迹的精度则取决于采样点的数量。
[0064] 在本申请的一些实施例中,采集用户单次运动的m个一维运动特征数据组成的特征数据集,并基于此特征数据借助所述模型就可以获得用户的运动轨迹,由于用户的轨迹数据通常会用来和前文所述的标准轨迹数据比较,因此m≤n。
[0065] S130:判别用户运动轨迹与标准轨迹的差异,并反映于用户运动的特征数据。
[0066] 在获得用户的运动轨迹之后,需要将该运动轨迹与标准轨迹相比较,以告知用户自己的动作相比与标准动作的差异之处。然而考虑到标准运动轨迹数据库中庞杂的标准动作轨迹,就需要找到与用户单次动作最接近的标准轨迹进行比较。该过程由以下步骤得到:
[0067] 计算所述用户运动轨迹与所述标准模型库中的标准轨迹模型的余弦相似度,步骤如下:
[0068] 定义所述用户运动轨迹数据g(xj),其中xj为用户运动过程中采集的m个一维运动特征数据,而f(xi)为所述轨迹模型库中任一轨迹值,在整个运动轨迹区间内将、都离散化为数值向量:g(xj)、f(xi)都离散化为数值向量:F=[f(x1),f(x2),...,f(xm)]、G=[g(x1),g(x2),...,g(xm)],相当于将两个轨迹函数都重新离散化为m组自变量和因变量的映射的集合,采用余弦相似度来判定用户的单次运动轨迹与所述轨迹模型库中任一轨迹值的接近程度,从而确定用户想要完成的动作。
[0069] 二者的余弦相似度可以表示为:
[0070]
[0071] 判定所述余弦相似度的值,如果两者完全相同,余弦相似度为1,余弦距离为0;如果两者完全相反,余弦相似度为‑1,余弦距离为2。在本申请的实施例中,判定若存在使得余弦相似度>0.95的标准轨迹模型,则给出所有符合的标准轨迹模型,若不存在使得余弦相似度>0.95的标准轨迹模型,则给出使得余弦相似度最大的一个标准轨迹模型。采用余弦相似度的原因在于该指标更关注于向量的方向对结果带来的影响,对于本申请包含向量自变量的轨迹模型更加适用。
[0072] S140:基于反映射的数据给出用户运动姿态调整建议。
[0073] 在找到与用户动作最接近的标准运动轨迹模型之后,需要寻找用户运动与标准运动之间差异的来源,作为辅助校准用户动作的依据,即将所述差异反映射于用户单次运动过程中的特征数据集中的至多m个运动特征数据,包括如下算法:
[0074] 计算两个数值向量的差值的绝对值:
[0075] Z=|F‑Y|,
[0076] 向量Z即二者中对应位置的元素的差的绝对值组成的向量,将Z中的每个元素进行大小排序获得新的向量:
[0077] Z’=(z1,z2,...,zm,...,zn),
[0078] 前m个元素所对应m个用户运动特征数据(x1,x2,...,xm),即为所述至多m个运动特征数据。在经过反映射得到所述至多m个运动特征数据后,获取对应于该至m个运动特征数据的特定用户姿态,再根据该特定用户姿态对应用户运动轨迹与标准轨迹模型的差异告知用户运动姿态调整建议。
[0079] 以Bunny Hop(通过弯曲膝盖和用脚推动滑板车来实现跳跃)动作为例,一个完整的极限滑板车动作辅助过程P200为:
[0080] S210:用户开始动作,传感器实时采集用户运动的运动参数。
[0081] 用户执行一个完整的Bunny Hop动作的过程包括:蹬地加速、屈膝带动起跳、空中维持姿态,落地减速并停下。以布置在极限滑板车上的速度传感器为例,速度传感器会在上述四个动作区间中至少每一个动作区间采集一组速度数据,并将采集到的速度数据带入所述轨迹模型中,得到用户本次运动的轨迹模型。
[0082] S220:将本次运动数据上传到标准运动轨迹数据库并完成动作比对。
[0083] 当用户发出动作辅助指令时,极限滑板车会将模型得出的用户本次运动的轨迹模型上传到标准运动轨迹数据库,并得出用户本次执行的是Bunny Hop动作,然后分析用户动作与标准Bunny Hop动作之间的差异。
[0084] S330:分析差异,给出用户运动建议。
[0085] 经过分析得出,用户本次Bunny Hop动作轨迹与标准Bunny Hop动作轨迹最大差异落在最初始的动作的区间,即蹬地加速阶段,对应所述运动特征数据即为蹬地加速阶段的初始速度,反馈到用户端的建议即为:“建议蹬地时更加用力,以获得更大的初始速度”。
[0086] 本申请还提供一种记录实时运动状态的滑板车,借助于设置在其上的一路传感器实时监控用户的运动状态并执行前文所述的极限滑板车运动辅助方法。为了实现这一目的,所述记录实时运动状态的滑板车还设置有一用户交互界面,用户可以借助该用户交互界面执行前文所述的极限滑板车运动辅助方法,在一些实施例中,所述记录实时运动状态的滑板车可以通过蓝牙协议无线通讯技术、无线局域网通信技术(Wi‑Fi)等与用户的移动终端如手机、个人电脑等相连,用户通过所述移动终端即可执行前文所述的极限滑板车运动辅助方法。
[0087] 在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算机设备上运行时,所述程序代码用于使计算机程序执行本说明书所述的一种基于BIM技术的车间可视化运维方法。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD‑ROM)包括程序代码,并可以在计算机设备或者服务器设备上运行。然而,本说明书的程序产品不限于此,在本说明书中,所述非暂时性存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储芯片。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。
[0088] 上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。