基于用户不可知的训练简档和用户边界的锻炼生成的制作方法

文档序号:32433722发布日期:2022-12-03 02:37阅读:125来源:国知局
基于用户不可知的训练简档和用户边界的锻炼生成的制作方法
基于用户不可知的训练简档和用户边界的锻炼生成
1.相关申请交叉引用
2.本技术主张美国专利申请no.16/795,133的优先权和利益,其标题为“基于用户不可知的训练简档和用户边界的锻炼生成”(律师卷宗no.122648-8005.us00),通过引用将其整体并入。本技术与美国临时专利申请no.62/609,298,标题为“具有不同参数的临界功率自适应训练”(律师卷宗no.122648-8001.us00)和美国专利申请no.16/192,733(标题为“具有不同参数的临界功率自适应训练”(律师卷宗no.122648-8001.us01)有关,其均以全文引用的方式并入本文。


背景技术:

3.数以百万计的人想要训练并获得更好的体形。对于许多人来说,这是困难的,因为缺乏时间或所涉及的努力。已经开发了许多系统来帮助人们开始训练或最大化他们的训练努力。例如,人们阅读健身杂志,遵循锻炼计划,参加课程,雇佣私人教练等。虽然这些计划中的一些是为个人定制的,但它们往往无法最大限度地发挥一个人的潜力,或者由于过度锻炼而导致沮丧。造成这种情况的原因之一是,这些计划中的许多都不是基于对一个人执行锻炼的潜力的测量。即使计划是使用一些以前的方法来针对个人定制的计划,这些方法也很难实现,结果也不准确。此外,基于这些测量开发的用户特定锻炼未能提供正确的强度和持续时间水平。
4.例如,vo2是一种测量系统,其确定一个人可以使用的最大氧气量。vo2通过将每分钟吸入的氧气量除以每分钟呼出的氧气量来测量。因此,基于vo2的评估需要用户被附接到能够测量空气输入和输出以及空气中氧气量的装置。此外,对于个体来说,vo2测量通常是静态的,并且没有明确的方法将vo2测量转化为用于训练的持续时间或强度水平。已经开发了一些技术来提供基于心率测量的锻炼指南。然而,这些仍然需要一个附接到人身上的专用心率监测器,这是不准确的,并且不能正确估计时间或强度训练指标的限制。
5.

技术实现要素:
概要
6.本技术提供了一种自适应训练系统和相关方法,其克服了现有技术的缺点,并提供了其他好处。在至少一个实施例中,该自适应训练系统可以通过将变换应用于用户不可知的训练简档以符合指定用户做功的能力的用户边界来生成用户特定锻炼。可以在训练空间中定义“用户不可知的训练简档”,在时域中指定功率曲线。因此,用户不可知的训练简档可以定义将训练课程映射到时间段的功率输出水平的训练课程的参数。例如,用户不可知的训练简档可以指定锻炼装置的设置(例如,阻力水平,倾斜度,重量等),用户移动速度(例如,每分钟转数,每小时英里数等)等,这产生特定功率输出。
7.可以在边界空间中定义用户边界,指定时间窗口大小域中用户产生的功的量。为了使用户不可知的训练简档符合用户边界,可以将用户不可知的训练简档转换为边界空间中的训练边界。该转换可以包括确定针对多种时间窗口大小的用户不可知的训练简档功率曲线下的最大面积,其中,用户不可知的训练简档功率曲线下的每个最大面积为该窗口大小域值产生用于训练边界的数据点。
8.在一些实施方式中,用户边界可以由自适应训练系统通过确定人的临界功率来确定,例如,该人在给定时间量内产生功率的无限能力,结合在其临界功率之上做功的一些有限能力(“有限功容量”)。用户临界功率和有限功容量的实际应用是使用它们以生成用户特定锻炼。用户特定锻炼可以是具有基于用户的临界功率和/或有限功容量确定的指定参数的单个训练课程或一系列训练课程。基于临界功率的用户特定锻炼是准确的,不需要特殊的心率或氧气测量设备,并且能够适应用户不断变化的能力水平。此外,可以针对多种类型的练习和时间范围提供对用户特定锻炼临界功率的变换。
9.一个或多个实施例的自适应训练系统包括应用临界功率分析的两个方面:(1)在不需要心率信息或使用侵入式测量装置的情况下确定特定用户的有限功容量和临界功率,以及(2)使用那些确定来生成任何给定锻炼参数集的用户特定锻炼。在确定用户的有限功容量和临界功率时,自适应训练系统可以接收来自用户的当前或先前锻炼或锻炼片段中的一个或多个统计数据,并且仅基于时间间隔和表示功率输出的测量来确定用户的有限功容量和临界功率。如本文所用,“功率测量”或“功率输出”等可指功率的实际测量值(例如,健身车输出的瓦特)或与功率高度相关的替代值,例如跑步速度,一段时间内执行的重复次数等。此外,随着用户记录附加的锻炼,这些有限的功容量和临界功率确定值可以被更新,并且可以为用户生成新的或经修改的用户特定锻炼。在一些实施方式中,与较旧的锻炼统计数据相比,较新的锻炼在确定这些测量值时具有更大的权重。例如,可以将标量衰减函数应用于锻炼数据,以基于年龄对其进行加权。
10.自适应训练系统可以通过从一个或多个锻炼统计数据集生成数据点来确定特定用户的有限功容量和临界功率。每个数据点可以是用户在特定长度的任何时间窗口的锻炼中所做的最大功的测量。对于特定的锻炼,可以使用不同的时间窗口长度获取多个数据点。每个数据点可以是通过对于给定时间窗口大小,基于时间提供功率的函数获取最大积分计算的功值。因此,对于与数据点的时间窗口大小匹配的任何间隔,该工作数据点将是功率函数下的最大面积。在使用多个锻炼的情况下,最终锻炼统计数据集仅保持针对来自多个锻炼的每个时间窗口大小的最大功值。自适应训练系统可以将来自一个或多个训练统计数据集的点拟合到能力函数(在一些例子中也可以是“用户边界”)。在一些实施方式中,能力函数可用于确定临界功率,其对应于能力函数的斜率,以及有限功容量,其对应于能力函数的y截距。替代地,自适应训练系统可以使用拟合所演示的功的函数作为能力函数(例如,将其用作未来用户特定锻炼的边界点)。关于确定用户能力函数和/或有限功容量和临界功率的附加细节将在下文中结合图3-5进行讨论。
11.在多种实施方式中,能力函数可由用户的功容量提供。在一些实施方式中,能力函数可以是拟合锻炼统计数据集的线性或非线性函数,如上所述。能力函数的斜率可以定义用户的临界功率,y截距可以定义用户有限的功容量。在一些实施方式中,一旦已确定了临界功率(cp)和有限功容量(w’),就可以修改能力函数以考虑现实环境,例如事实上给定时间为零,用户做功的能力也为零。这种修改可以包括将能力函数转变为线性和对数函数的组合。例如,能力函数可以被指定为w=cp*t+w'*log(t+1),其中w是功能力(因变量),t是给定的时间量(自变量)。在一些实施方式中,能力函数可以是用作用户特定锻炼的对应点的用户边界的锻炼统计数据集。
12.在一些实施方式中,用户边界可以是“估计函数”和“测量函数”的组合。估计函数
可以是拟合一组测量功值的函数,例如临界功率和有限功容量或其他能力函数。测量函数可以表示为连接测量功值的一系列线段和斜率为零,从最终测量值延续的一条线段。可以通过对估计函数和测量函数求平均来进行组合。在一些实施方式中,平均可以包括根据置信函数对函数进行加权,该置信函数由估计函数和测量函数之间的差指定。有关创建所组合用户边界的附加细节在下面结合图10和图12进行讨论。
13.一旦自适应训练系统已确定了用户边界(例如,具有有限功容量的能力函数和/或临界功率),自适应训练系统就可以使用它来生成用户特定锻炼。
14.在一些实施方式中,对于任何特定的锻炼类型,许多参数可以按照功和时间来描述锻炼。例如,在具有规则间隔的间隔锻炼中,可以按照五个参数定义锻炼:间隔数,间隔持续时间,间隔期间的功率输出,休息持续时间,休息期间的功率输出。这些参数中除一个之外的所有参数都可以由用户或基于锻炼的特征来指定。例如,对于跑步机上的锻炼,用户可以指定间隔持续时间和休息持续时间,并且可以基于跑步机设置(例如速度和角度)来确定间隔期间的功率输出和休息期间的功率输出。自适应训练系统然后可以基于用户的临界功率和有限功容量来计算最终参数,从而可以生成用户特定锻炼计划,该锻炼计划引导用户的练习接近但不超过力竭阈值。例如,间隔的数量可以被设置为使得基于按照工作/时间映射的五个参数来描述锻炼的函数不超过用户的能力函数。关于使用能力函数和/或临界功率和有限功容量为由参数定义的锻炼类型生成特定的用户特定锻炼的附加详细信息在下面结合图6和7进行讨论。
15.在其他实施方式中,自适应训练系统可以通过调整用户不可知的训练简档的参数来生成用户特定锻炼,以符合指定用户做功能力的用户边界。用户边界可以是临界功率和有限功容量或者是另一能力函数,其在具有时间窗口大小域和功范围的边界空间中被定义。自适应训练系统可以基于用户不可知的训练简档在边界空间中生成训练边界。该训练边界可以是边界空间中的函数,对于边界域中的给定时间窗口大小,该函数指定由用户不可知的训练简档的具有与时间窗口大小匹配的任何段的最大积分给出的范围值。训练边界可以被链接到用户不可知的训练简档,使得对一个的改变导致对另一个的相应改变。自适应训练系统然后可以将训练边界与用户边界进行比较,调整训练边界,例如,以最小化或最大化它们之间的面积,或者以最小化所感知的用户努力和锻炼潜力之间的平衡的损失函数。训练边界的改变可以导致用户不可知的训练简档的相应改变。所改变的用户不可知的训练简档可以是用户特定锻炼。通过将变换应用于用户不可知的训练简档来生成用户特定锻炼的附加细节在下面结合图9,11,13,和14进行讨论。
16.在多种实施方式中,自适应训练系统可以被实现为至少部分地在共享信息的锻炼机器网络中作为锻炼机器的集成组件,作为健身跟踪器中的“应用程序”,作为基于服务器的信息系统的一部分(例如,通过网页访问),或其任何组合。例如,自适应训练系统可以被集成到训练机中,该训练机被仪器化以获取表示功率输出的功测量(例如,阻力和每分钟转数,时间和距离等)。自适应训练系统可以使用这些测量来确定工作-时间数据点。这些数据点可用于计算用户的临界功率和有限功容量(例如,通过将它们拟合到能力函数)。自适应训练系统然后可以提供用户特定锻炼,该锻炼被配置为使用户在基于临界功率和有限功容量或能力函数确定的力竭点的阈值量内,但不超过该阈值量。用户特定锻炼可以被提供为具有建议锻炼参数的视觉输出。可选地或附加地,用户特定锻炼功率设置可以被提供为对
锻炼装置设置的自动调整(例如,跑步机速度,坡度,动感单车阻力等)。该配置的一个示例在下面结合图8a进行描述。
17.作为另一个示例,自适应训练系统可以在锻炼机器网络中实现。在该示例中,自适应训练系统可以基于提供给锻炼机器的认证数据或通过移动设备(例如通过网站或应用程序),通过扫描机器上的qr码等来识别用户。然后,在随后的锻炼期间,该机器上的测量数据点可以被添加到以前在其他机器上获取的测量的数据点,以维持更新的临界功率和有限的功容量或能力函数尺度(gauges)。这些可用于生成用户特定锻炼。用户特定锻炼可以包括锻炼建议或功率设置,其可以在联网机器或移动设备上被提供。可替换地或附加地,用户特定锻炼可以包括锻炼机器功率设置,自适应训练系统可以在机器上自动应用该设置。该配置的一个示例在下面结合图8b进行描述。
18.作为又一示例,自适应训练系统可以在移动设备或其他计算系统上被实施,例如,作为应用,通过网页,或作为智能手表或其他健身设备的功能。在一些实施方式中,自适应训练系统可以自动收集数据(例如,距离,时间量,速度,海拔变化等),或者用户可以手动输入数据(例如通过在跑步之后输入距离和时间)。自适应训练系统然后可以提供用户特定锻炼。在一些实施方式中,用户特定锻炼可以包括显示进一步的统计数据,例如临界功率或有限功容量随时间的变化。在一些实施方式中,用户特定锻炼可以提供建议的锻炼计划。建议的锻炼计划可以设置用户特定锻炼的方面以满足用户目标。在一些实施方式中,用户特定锻炼可以包括对用户不可知的训练简档的用户特定修改,例如,作为引导锻炼或其他训练建议或指令。该配置的一个示例在下面结合图8c进行描述。
19.与现有技术相比,当前技术提供了许多好处。例如,自适应训练系统可以确定能力函数,而无需心率监测器,氧气装置,或其他附接到用户的侵入式装置。此外,基于能力函数的用户特定锻炼提供了锻炼水平的基础,同时不受心率监测方法所遭受的不精确性的影响。此外,自适应训练系统可以使用低功率,低处理速度的装置来实现,并且只需要存储“最佳记录”数据,与需要大量相关数据来提出训练建议的现有技术系统相比,有效地减少了所需的存储容量。
20.在多种实施方式中,自适应训练技术可以被实现为方法,系统,或计算机可读存储介质。用于自动提供用户特定锻炼的锻炼机器系统可以包括锻炼装置,该锻炼装置利用给定参数实现特定类型的训练课程。锻炼机器系统还可以包括与锻炼装置集成的仪器系统,其获得表示功率输出的测量。锻炼机器系统还可以包括被配置为生成用户特定锻炼的处理组件。
21.当自适应训练技术被实现为一种方法时,它可以作为计算系统的操作来执行,或者可以通过执行存储在计算机可读存储介质中的指令产生的操作来体现。这些操作可以包括:识别表示功率输出的测量的多个窗口大小持续时间的每个特定窗口大小的功值。这可以通过识别由表示功率输出的测量指定的函数在与特定窗口大小匹配的间隔内的最大积分来实现。操作还可以包括将函数拟合到针对多个窗口大小持续时间识别的功值,作为能力函数。能力函数可以在边界空间中被定义,指定总时间窗口域中用户产生的功的量。操作还可以包括获得在训练空间中定义的,在时域中指定训练计划的功率曲线的用户不可知的训练简档。进一步,操作可以包括通过创建被转换为边界空间的用户不可知的训练简档的版本来创建训练边界。在一些例子中,用户不可知的训练简档被链接到训练边界,使得对一
个的改变提供对另一个的相应改变。然后可以将训练边界与用户边界进行比较。基于该比较,操作可以对训练边界进行多种修改,例如,变换训练边界以最大化或最小化训练边界和用户边界之间的总面积,或者最小化所感知的用户努力和锻炼潜力之间的平衡的损失函数,其中损失函数指定与训练边界和用户边界彼此匹配程度相关的数字。这些变换可导致用户不可知的训练简档的相应改变,将其改变为用户特定锻炼。最后,操作可以基于用户特定锻炼提供输出或自动锻炼设置。
22.在多种实施方式中,自适应训练技术可以由用户手动输入,通过可穿戴健身跟踪器获取的所记录的锻炼统计数据,或通过集成到锻炼装置中的仪器系统获得表示功率输出的测量。
23.在多种实施方式中,自适应训练技术可以由被连接到多个锻炼机器的服务器系统,一个或多个锻炼机器,或与锻炼装置的用户相关联的移动设备来实现。
24.在多种实施方式中,自适应训练技术可以与经由网络连接的多台锻炼机器相关地实现。表示功率输出的测量可以从联网锻炼机器中的第一个获取,而表示功率输出的第二组测量可以从联网锻炼机器的第二个获取。表示功率输出的该第二组测量可以被变换为对应窗口大小的附加功值,并且可以基于该第二组的测量值的年龄进行加权。当自适应训练技术将函数拟合到针对多个窗口大小持续时间所识别的功值时,它可以通过将函数拟合至附加功值来进一步实现这一点。在一些实施方式中,该拟合可以包括针对每个特定窗口大小选择功值中的最大值并拟合到对应于该特定窗口大小的附加功值;以及将函数拟合到针对窗口大小的所选择的最大值。
25.在一些实施方式中,自适应训练技术可以响应于包括表示用户或锻炼装置的代码的标识来生成用户特定锻炼。标识可以由用户,由与用户关联的移动设备,或由锻炼装置提供。在一些实施方式中,表示锻炼装置的代码可以通过移动设备上的图像捕获系统被提供给移动设备,该图像捕获系统捕获与锻炼装置连同显示的字母数字代码,条形码,或qr码。
26.自适应训练技术提供的输出或自动锻炼设置可以被输出到包括用户特定锻炼的表示的服务器系统或移动设备。在一些实施方式中,输出可以是到移动设备,该移动设备包括要在该移动设备上通过执行指令来操作的数据。该执行可以为用户提供显示器以实现用户特定锻炼。在一些实施方式中,输出可以是锻炼装置,其被配置为使得锻炼装置的显示器以基于用户特定锻炼提供指令。输出还可以包括自动锻炼设置,该自动锻炼设置使得锻炼装置自动实现用户特定锻炼。在一些实施方式中,可以将输出提供给服务器系统或移动设备,并且将输出与用户简档相关联地存储。用户简档可以包括多种信息,例如:所识别的功值,能力函数,用户特定锻炼的统计数据,训练课程期间的实际表现的测量,档案细节,或其任何组合。
27.在一些实施方式中,自适应训练技术可以提供可通过网络浏览器或移动设备应用访问的基于互联网的界面。基于互联网的界面可以提供由与用户执行的多个锻炼相关联的用户简档的访问。
28.在多种实施方式中,表示功率输出的测量可以包括一个或多个:速度,每分钟转数,阻力,坡度,距离,持续时间,重量,重复次数,或其任何组合。
29.在多种实施方式中,能力函数是线性或非线性函数。
30.在一些实施方式中,自适应训练技术可以由服务器系统实现,该服务器系统获得
与用户的用户简档相关联存储的附加功值,并生成用户特定锻炼,这两种都可以响应于用户的认证。
31.在一些实施方式中,生成用户特定锻炼可以包括选择数据以作为指令显示给用户,以基于至少一个先前未指定的参数执行锻炼。用户特定锻炼还可以指定输出或自动锻炼设置。
32.在一些实施方式中,当用户在执行用户特定锻炼时,自适应训练技术还可以在执行用户特定锻炼时接收表示功率输出的进一步测量。自适应训练技术可以基于表示功率输出的进一步测量来识别进一步的功值。自适应训练技术然后可以更新能力函数以进一步拟合进一步的功值;基于用户边界(来自用户不可知的训练简档)与所更新的能力函数的比较来更新用户特定锻炼;基于新的比较生成所更新的用户特定锻炼;并且基于所更新的用户特定锻炼来更新输出或自动锻炼设置。
33.在一些实施方式中,用户边界是拟合于针对特定时间窗口的一组用户功的测量的函数。在一些例子中,用户边界是所测量的用户边界,其中用户边界是连接针对特定时间窗口的用户功的测量的一系列线段。在其他例子中,用户边界是基于置信因子的所估计和所测量的用户边界之间的组合,其中用户边界是a)拟合于针对特定时间窗口的用户功的一组测量的函数和b)连接针对特定时间窗口的用户功的测量的一系列线段的组合。域中多个点处的组合可以基于为域中的多个点中的每个点指定的置信加权因子;并且对于域中的多个点中的每个特定点的置信加权因子可以基于在特定点处结束的域的部分的渐进测量,其中渐进测量测量x)拟合于域的部分中的一组测量的函数和y)域的部分中的一系列线段之间的累积差。
34.在一些实施方式中,可以在用户之间共享训练简档。这可以包括生成的用户特定锻炼,其是对应的第一用户边界的第一用户特定锻炼;并且所述用户不可知的训练简档被传送到地理上远程的系统;并且通过基于不同于所述第一用户边界的第二用户边界来调整所述用户不可知的训练简档,将所述用户不可知的训练简档变换为不同于所述第一特定用户锻炼的第二用户特定锻炼。
35.在多种实施方式中,对训练边界的调整包括最大化用户边界和训练边界之间的面积以最小化用户感知的努力,或者对训练边界的调整包括最小化用户边界和训练边界之间的面积以最大化锻炼潜力。在其他例子中,训练边界和用户边界之间的比较导致对训练边界的调整,该调整最小化在所感知的用户努力和锻炼潜力之间平衡的损失函数。在一些实施方式中,训练边界的调整至少部分地基于视频或音频媒体项目所确定的持续时间。在又一些例子中,训练边界的调整至少部分地基于视频或音频媒体项目的所确定的速度或节奏。
36.在多种实施方式中,可以基于用户特定锻炼自动提供锻炼装置的输出或设置。这可以包括一个或多个:向服务器系统提供输出,其包括用户特定锻炼的表示;向移动设备提供输出,其包括用户特定锻炼的表示;向移动设备提供所述输出,其包括用于将在所述移动设备上通过执行指令来操作的用户特定锻炼的数据,其中,所述移动设备执行指令为用户提供用于实现所述用户特定锻炼的显示;将输出提供给锻炼装置,所述输出被配置为使锻炼装置的显示器提供针对所述用户特定锻炼的指令;将设置提供给锻炼装置,其中锻炼装置自动实现用户特定锻炼;或其任意组合。
37.在一些实施方式中,用户不可知的训练简档可以基于提供给用户界面的一条或多条用户绘制的线,这些线被自动转换为用户不可知的训练简档。在一些例子中,可以从预定义的用户不可知的训练简档库中获得用户不可知的训练简档。
附图说明
38.图1是示出一些实施方式可以在其上操作的设备的概览框图。
39.图2是示出一些实施方式可以在其中操作的环境的概览框图。
40.图3是示出在一些实施方式中可以在采用所公开技术的系统中使用的组件的框图。
41.图4是示出在一些实施方式中使用的用于使用基于时间的功率输出统计数据来确定有限功容量和临界功率的过程的流程图。
42.图5a-e是示出加窗功率输出统计数据以确定最大功数据点的的示例的图。
43.图5f是示出具有拟合通过基于时间的功率输出统计数据的加窗确定的一系列数据点的函数的示例的图。
44.图5g是示出具有基于所确定的有限功容量和临界功率生成的组合线性和对数表现能力函数的示例的图。
45.图6是示出在一些实施方式中使用的用于基于锻炼参数将所确定的拟合函数转变为用户特定锻炼的过程的流程图。
46.图7是示出基于拟合函数参数通过确定参数以使锻炼函数保持在力竭点以下而计算的锻炼函数的代表示例的图。
47.图8a-c示出了实现自适应训练系统版本的示例系统配置。
48.图9是示出在一些实施方式中使用的用于基于与用户不可知的训练简档和用户边界生成用户特定锻炼的过程的流程图。
49.图10是示出在一些实施方式中使用的用于基于来自用户功测量的估计函数和来自用户功测量的测量函数的组合来计算用户边界的过程的流程图。
50.图11是示出将用户不可知的训练简档转换为训练边界的示例的图。
51.图12是示出基于估计函数和测量函数的组合来计算用户边界的示例的图。
52.图13a-13c是示出对训练边界的改变的示例的图,该改变导致对用户不可知的训练简档的相应改变。
53.图14a-14b是示出基于用户边界和训练边界之间的比较为用户特定锻炼选择参数的示例的图。
54.本文介绍的技术可以通过结合附图参考以下详细描述来更好地理解,其中相同的附图标记表示相同或功能相似的元件。
具体实施方式
55.现在转向附图,图1是示出所公开技术的一些实施方式可以在其上操作的设备的概览框图。设备可以包括设备100的硬件组件,该设备可以评估用户边界并使用该评估来生成用户特定锻炼。设备100可以包括一个或多个输入设备120,其向一个或多个cpu(处理器)110提供通知它事件的输入。事件可以由硬件控制器介导,该硬件控制器解释从输入设备接
收的信号并使用通信协议将信息传达到cpu110。输入设备120包括,例如,锻炼装置上的仪器,其测量表示功率输出的值(例如,转数,速度,坡度,阻力等),加速度计,计步器,触摸屏,红外传感器,可穿戴输入设备,基于相机或图像的输入设备,麦克风,鼠标,键盘,或其他用户输入设备。
56.cpu110可以是一个设备中的或者跨多个设备分布的单个处理单元或多个处理单元,。cpu110可以例如通过使用总线(例如pci总线或scsi总线)被耦合到其他硬件设备。cpu110可与设备的硬件控制器通信,例如用于控制锻炼机器的设置或向显示器130提供输出。显示器130可用于显示文本或图形。在多种实施方式中,显示器130在锻炼机器显示器上,电话显示器上,健身设备显示器上,或通过计算机监测器显示器上提供作为所建议锻炼的特征的用户特定锻炼。在一些实施方式中,显示器130包括作为显示器的一部分的输入设备,例如当输入设备是触摸屏或配备有眼睛方向监测系统时。在一些实施方式中,显示器与输入设备分离。显示设备的示例有:lcd显示屏,led显示屏,投影,全息,或增强现实显示器(例如平视显示设备或头戴式设备)等。其他输入/输出(“i/o”)设备140也可以被耦合到处理器,例如网卡,视频卡,声卡,usb,火线,或其他外部设备,相机,打印机,扬声器,cd-rom驱动器,dvd驱动器,磁盘驱动器,或蓝光设备。在一些实施方式中,其他i/o可以包括触觉反馈系统,例如通过移动设备或健身设备的振动,该振动可以提供用户特定锻炼的表示。在一些实施方式中,其他i/o可以包括直接或跨网络的连接,该连接提供基于所确定的用户特定锻炼向锻炼机器提供的自动控制和设置。
57.在一些实施方式中,设备100还包括能够与网络节点进行无线或有线通信的通信设备。通信设备可以使用例如tcp/ip协议通过网络与另一设备或服务器通信。设备100可以利用通信设备来跨多个网络设备分布操作。
58.cpu110可以访问一个设备中或跨多个设备分布的存储器150。存储器包括用于易失性和非易失性存储的多种硬件设备中的一个或多个,并且可以包括只读和可写存储器两者。例如,存储器可以包括随机存取存储器(ram),cpu寄存器,只读存储器(rom),和可写非易失性存储器,例如闪存,硬盘驱动器,软盘,cd,dvd,磁存储设备,磁带驱动器,设备缓冲器等。存储器不是脱离底层硬件的传播信号;因此,存储器是非暂时的。存储器150可以包括存储程序和软件的程序存储器160,例如操作系统162,自适应训练系统164,和其他应用程序166。存储器150还可以包括数据存储器170,其可以包括功率测量,加窗数据点,临界功率,和有限功容量确定或其他能力函数,基于能力函数的自适应锻炼程序,用户不可知的训练简档,训练边界,配置数据,设置,用户选项或偏好等,其可以被提供给程序存储器160或设备100的任何元件。
59.一些实施方式可以与许多其他计算系统环境或配置一起操作。可以适合与本技术一起使用的计算系统,环境,或配置的示例包括但不限于锻炼机器,个人计算机,服务器计算机,手持或膝上型设备,蜂窝电话,可穿戴电子设备,游戏控制台,平板设备,多处理器系统,基于微处理器的系统,机顶盒,可编程消费电子产品,网络pc,小型计算机,大型计算机,包括任何上述系统或设备的分布式计算环境等。
60.图2是示出所公开的技术的一些实施方式可以在其中操作的环境200的概览框图。环境200可以包括一个或多个计算使能的设备205a-d,其示例可以包括设备100。例如,计算使能的设备可以包括移动电话或可穿戴设备205a,膝上型电脑205b,台式机或服务器205c,
或锻炼装置205d中的任何一个,其可以是独立的或联网的并且被配置为收集锻炼数据。计算使能的设备205可以通过网络230使用逻辑连接210到一台或多台远程计算机(例如服务器计算设备)的联网环境中操作。
61.在一些实施方式中,服务器210可以是边缘服务器,其接收客户端请求并通过其他服务器(例如服务器220a-c)协调这些请求的履行。服务器计算设备210和220可以包括计算系统,例如设备100。虽然每个服务器计算设备210和220在逻辑上被显示为单个服务器,但是服务器计算设备每个都可以是涵盖位于相同或在地理上不同的物理位置的多个计算设备的分布式计算环境。在一些实施方式中,每个服务器220对应于一组服务器。
62.计算使能的设备205和服务器计算设备210和220的每个均可以充当其他服务器/客户端设备的服务器或客户端。服务器210可以连接到数据库215。服务器220a-c的每个均可以连接到对应的数据库225a-c。如上所述,每个服务器220可以对应于一组服务器,并且这些服务器中的每一个可以共享一个数据库或者可以具有它们自己的数据库。数据库215和225可以仓储(例如,存储)信息,例如以前的锻炼数据,用户简档数据,锻炼统计数据,历史临界功率,和有限功容量确定,用户不可知的训练简档等。虽然数据库215和225逻辑上作为单个单元被显示,数据库215和225每个均可以是涵盖多个计算设备的分布式计算环境,可以位于它们对应的服务器内,或者可以位于相同或地理上不同的物理位置。
63.网络230可以是局域网(lan)或广域网(wan),但也可以是其他有线或无线网络。网络230可以是互联网或一些其他公共或私人网络。计算使能的设备205可以通过网络接口被连接到网络230,例如通过有线或无线通信。虽然服务器210和服务器220之间的连接被示为分开的连接,但是这些连接可以是任何种类的本地,广域,有线,或无线网络,包括网络230或分开的公共或私人网络。
64.图3是示出组件300的框图,在一些实施方式中,组件300可以用于采用所公开技术的系统中。组件300包括硬件302,通用软件320,和专用组件340。如上所述,实施所公开技术的系统可以使用多种硬件,包括处理单元304(例如,cpu,gpu,apu等),工作存储器306,储存存储器308(本地储存或作为远程储存的接口,例如储存器215或225),以及输入和输出设备310。在多种实施方式中,储存存储器308可以是以下中的一个或多个:本地设备,到远程储存设备的接口,或其组合。例如,储存存储器308可以是可通过系统总线访问的一组一个或多个硬盘驱动器(例如,独立磁盘的冗余阵列(raid)),或者可以是可经由一个或多个通信网络访问的云储存提供者或其他网络储存(例如,网络可访问储存(nas)设备,例如储存器215或通过另一服务器220提供的储存器)。组件300可以在诸如计算使能设备205之类的计算使能设备中或在诸如服务器计算设备210或220之类的服务器计算设备上实现。
65.通用软件320可以包括多种应用,其包括操作系统322,本地程序324,和基本输入输出系统(bios)326。专用组件340可以是通用软件应用320的子组件,例如本地程序324。专用组件340可以包括临界功率(cp)和有限功容量(fwc)分析器344,训练边界生成器346,用户边界和训练边界比较器348,用户特定锻炼生成器350,以及可以用于提供用户接口的组件,传输数据,和控制专用组件,例如接口342。在一些实现方式中,组件300可以在跨多个计算设备分布的计算系统中,或者可以是到执行一个或多个专用组件340的基于服务器的应用的接口。
66.在一些实施方式中,临界功率和有限功容量分析器344可以例如通过接口342接收
用户的功率输出统计数据,并且可以使用它们来确定用户的临界功率和有限功容量。例如,在组件300是锻炼机器的一部分的情况下,i/o 310可以包括与锻炼机器集成的仪器系统,该仪器系统获取表示功率输出的测量。i/o 310然后可以使用接口342以将表示功率输出的测量作为功率输出统计数据提供给临界功率和有限功容量分析器344。作为另一个示例,在部件300是移动设备的一部分的情况下,i/o 310可以包括用户界面,该界面获取用户输入的表示功率输出的测量(例如,跑步时间和距离)。i/o 310然后可以使用接口342以将这些作为功率输出统计数据提供给临界功率和有限功容量分析器344。在一些实施方式中,临界功率和有限功容量分析器344可以通过确定最大功数据点来确定临界功率和有限功能量。每个最大功数据点可以对应于给定大小的任何窗口的功率输出统计数据图表下的最大面积。每个数据点都可以代表用户在给定时间范围内能够做功的量。然后,临界功率和有限功容量分析器344可以将时域工作范围内的函数拟合到锻炼期间每个窗口大小的最高数据点。在一些实施方式中,临界功率和有限功容量分析器344可以提供该所拟合函数来代替明确临界功率或有限功容量值。在所拟合函数是线性的一些实施方式中,临界功率可以是所拟合函数的斜率并且有限功容量可以是y截距。在一些实施方式中,一旦已经确定了临界功率(cp)和有限功能力(w'),能力函数就可以被转换成组合的线性和对数函数。例如,能力函数可以被指定为w=cp*t+w'*log(t+1),其中w是功容量(因变量),t是给定的时间量(自变量)。从功率输出统计中确定临界功率和有限做功容量的附加细节在下面结合图4和图5进行讨论。
67.训练边界生成器346可以获取用户不可知的训练简档(被定义在具有域中的时间和范围中的功率的训练空间中)并将其转换为训练边界(在具有域中的时间窗口大小并在范围中功的边界空间中定义)。训练边界生成器346可以经由接口342接收用户不可知的训练简档,例如,从为时间段指定功率水平的用户或从先前定义的用户不可知的训练简档的库中接收。训练边界生成器346可以通过确定对于给定时间窗口大小存在的最大功量(用户不可知的训练简档下的面积)来将所接收的用户不可知的训练简档转换为训练边界。每个时间窗口大小都可以成为训练边界的域值,针对该时间窗口大小的最大功值可以成为相应的范围值。在一些实施方式中,原始用户不可知的训练简档和所生成的训练边界被链接,使得对一个的改变导致对另一个的相应改变。例如,可以将变换(例如,线性变换)应用于用户不可知的训练简档的训练空间(时间-功率),并且可以在边界空间(时间窗口大小-功)中应用相应的变换,而无需必须重新计算训练边界。关于将用户不可知的训练简档转换为训练边界的附加细节在下面结合图9的框904和908以及结合图4,5,10,和13进行讨论。
68.用户边界和训练边界比较器348可以将由训练边界生成器346生成的训练边界与用户边界(例如,由临界功率和有限功容量分析器344确定的能力函数)进行比较。这种比较可以包括确定对训练边界的修改,例如,以最大化或最小化训练边界和用户边界之间的面积,或者以最小化所感知用户努力和锻炼潜力之间的平衡的损失函数。关于将训练边界与用户边界比较的附加细节在下面结合图9的框910以及结合图13和14进行讨论。
69.用户特定锻炼生成器350可以基于用户边界和训练边界之间的比较来生成用户特定锻炼。用户特定锻炼可以是由训练边界生成器346用来生成训练边界的用户不可知的锻炼,但是具有基于针对由用户边界和训练边界比较器348确定的训练边界的改变而做出的改变。在多种实施方式中,调整训练边界会导致用户不可知的训练简档发生相应的改变。例
如,对用户不可知的训练简档的时间和功率向量的某些线性变换可以在边界空间中具有已知的相应变换。在一些例子中,训练边界的改变会影响以下一项或多项:用户不可知的训练简档的功率值的移位,用户不可知的训练简档的功率值量级的功率标度(scale)变化,和/或用户不可知的训练简档的持续时间的时间标度变化。关于基于用户边界和训练边界之间的比较生成用户特定锻炼的附加细节在下面结合图9的框912和914以及结合图8和10-14进行讨论。
70.本领域技术人员将理解,上述图1-3中所示的组件以及以下讨论的每个流程图中的组件可以以多种方式变化。例如,可以重新安排逻辑的顺序,可以并行执行子步骤,可以省略所示的逻辑,可以包括其他逻辑等。在一些实施方式中,上述组件中的一个或多个可以执行下述过程的一个或多个。
71.图4是示出在一些实施方式中使用的,用于根据基于时间的功率输出统计数据确定能力函数或用户的有限功容量和临界功率的过程400的流程图。过程400在框402处开始并继续到框404。在一些实施方式中,过程400可以被连续执行,例如,在锻炼期间将锻炼信息馈送到自适应训练系统中。在一些实施方式中,例如,基于所接收的用户锻炼数据的日志可以提前执行过程400。
72.在框404处,过程400可以获得一个锻炼或一组锻炼的基于时间的功率输出统计。在多种实施方式中,可以从锻炼装置(例如,跑步机,椭圆机,自行车,健身追踪器等)上的仪器自动收集功率输出统计数据,可以通过用户界面输入(例如,输入跑步持续时间和距离),或者可以是一个或多个先前所记录的锻炼的日志。在一些实施方式中,功率数据可以基于诸如速度或距离和时间之类的测量的组合,其中锻炼类型的默认力可以用于估计单位时间的功,即功率。在一些实施方式中,该力也可以是,至少部分地,例如,基于阻力或坡度设置被测量。在一些实施方式中,在用户简档中提供诸如身高,体重,性别,和年龄的用户档案详情。这些用户档案可用于更准确地将多个锻炼测量(例如一段时间内的跑步距离)转换为一个功率测量。然而,过程400可以使用一些默认值基于用户的锻炼表现来确定功率测量,从而在没有用户档案的情况下生成用户的临界功率和有限的功容量。这允许用户使用这些版本的系统而不需要大量的简档创建过程,因此用户进入系统的门槛很低。在一些实施方式中,代替使用来自用户的功率输出,过程400可以获得具有功率曲线或功率测量的用户不可知的训练简档。这些可以是针对给定训练课程或训练方案的功率值。用户不可知的训练简档的附加细节在下面结合图9进行描述。
73.在框406-418之间的外循环中,过程400可以将功率输出统计数据迭代地划分为时域的段,或“窗口”,其中窗口大小在该外循环的每次迭代中增加增量。对于具有特定大小的所有窗口,在特定迭代中具有最大确定积分功率(功)值的窗口可以产生一个数据点。可以通过获取由该时间窗口中的功率输出统计数据定义的功率曲线下的面积来计算特定窗口的功值。对于特定大小的任何窗口,这些功测量中最大的一个是对用户在由窗口大小定义的时间量内可以做功的最大量的估计。所产生的数据点集可用于确定能力函数,该能力函数又可用于确定该用户的临界功率和有限做功容量。
74.在框406,过程400可以设置窗口大小和窗口增量。窗口大小可以是时间间隔,从该时间间隔单个数据点可以从所获得的功率输出统计数据中被提取。例如,如果所获得的功率输出统计数据提供了以30分钟锻炼为增量的功率输出值,则窗口大小可以是30分钟数据
集的多种“窗口”的大小。一个窗口将从具有相同大小的每组窗口中产生一个存储的数据点。窗口增量可以是一个值,通过该值,前一个窗口的开始和结束被递增以获得下一个窗口。在一些实施方式中,窗口可以重叠的,这意味着窗口增量被设置为小于窗口大小的值。在一些实施方式中,窗口可以是不重叠的,这意味着窗口大小和窗口增量被设置为相同的值。在框406-418之间的循环的每次迭代中,过程400可以生成对应于在该迭代中使用的窗口大小的单个数据点。在每个后续迭代中,在框406处选择新的窗口大小。在一些实施方式中,这些窗口大小可以以特定大小(例如,1秒,5秒等)开始,并在循环的每个后续迭代中增加被设置的量或比例。例如,第一窗口大小可以是1秒,并且在每个后续迭代中窗口大小增加10%,因此前五个窗口大小将是1秒,1.1秒,1.21秒,1.33秒,和1.46秒。作为另一个示例,第一个窗口大小可以是5秒,并且在每个后续迭代中窗口大小增加1秒,因此前五个窗口大小将是5秒,6秒,7秒,8秒,和9秒。
75.在框408处,过程400可以通过在所获得的基于时间的功率输出统计数据的开始处(例如,在time_zero处)开始窗口并且在所获得的基于时间的功率输出统计数据加上窗口大小(例如,time_zero+window_size)的开始处结束窗口,来为当前窗口大小设置初始窗口。在框410-414之间的内循环中,过程400可以在基于时间的功率输出统计数据上滑动当前窗口大小的窗口,以确定(在框416处)在哪个点处窗口大小内的定义功率输出统计数据的曲线下面积(功率的积分,即功)最大。虽然过程400以增量窗口的起点/终点来描述这一点,但可以使用其他过程来确定针对窗口大小间隔指定功值的曲线下的哪个面积最大。在框410,过程400可以记录来自当前窗口的积分功率(功)值,即所获得的基于功率的统计数据的功率/时间图形的曲线下的积分或面积。该过程的示例在下面结合图5a-e提供。每个记录值可以是具有以窗口大小(例如,秒)为x轴,以所做功(例如,焦耳)为y轴的点。
76.在框412处,过程400可以确定当前窗口的结束是否至少是所获得的基于时间的功率输出统计数据的结束。如果是,则已经分析了进入基于时间的功率输出统计中的当前窗口大小的每个窗口,框410-414之间的内循环完成,并且过程400继续到框416。如果不是,则尚未分析进入基于时间功率输出统计数据的至少一个窗口,则框410-424之间的内循环未完成,并且过程400继续到框414。在框414,过程400可以以当前窗口的开始和结束增量增加窗口增量。这在框410处为要记录的值创建新的当前窗口。
77.在框416处,过程400可以查看在框410处记录的当前窗口大小的所有值并存储与当前窗口大小相对应的最大值。该值表示用户在给定时间内可以做功的最大的测量。在一些实施方式中,对应于当前窗口大小存储的值可以是所记录值中的最大值,所记录值的顶部量(例如,前5或前10%)的平均值,或在所记录值的中位数的某标准偏差内的顶部值。在一些实施方式中,一旦在框416存储了值,就可以释放存储在框410处记录的值的存储器。
78.在框418处,过程400可以确定是否有附加的窗口大小以在框406-418之间的循环的进一步迭代中使用。例如,过程400可以使用指定数量的窗口大小,可以将窗口大小增量一定量直到达到阈值或直到窗口大小至少是基于时间的功率输出统计数据覆盖的总时间的指定百分比,或者可以具有一组指定的窗口大小以使用。如果存在附加的窗口大小以使用,则过程400继续返回到框406,在此设置下一个窗口大小。否则,过程400继续到框420。
79.在框420处,过程400可以将函数拟合到在框416处存储的值。该函数可以具有在x轴上的窗口大小(例如,秒)和在y轴上的功(例如,焦耳)。在多种实施方式中,该函数可以是
指定次数,例如,一次函数(线性的),二次函数(二次的),三次(三次的)等。在一些实施方式中,除了存储在框416处用于所获得的基于时间的功率输出统计数据的数据点,该函数可以被拟合到附加存储的数据点,例如,来自在类似于框404-418描述的过程中窗口化的其他锻炼统计数据。在一些实施方式中,过程400可以将函数拟合到不是来自加窗过程的数据点。例如,在不知道跨锻炼的多个点的功率输出统计数据的情况下,可以将来自单个锻炼实例的功-时间测量用作数据点,并且该函数被拟合到这组数据点。
80.在一些实施方式中,可以应用多种程序来调整所存储的功率输出值的年龄(age)或所存储的功率输出值中的异常。在一些实施方式中,这种调整可以包括平滑函数的曲线,例如,应用高斯核。在一些实施方式中,该调整可以包括限制针对给定窗口大小查看的数据点的数量。例如,仅使用不超过六周时长的窗口大小的数据点或仅使用最近的六个数据点。在一些实施方式中,每个数据点的值可以基于其年龄来加权(衰减)。可以使用多种衰减函数来完成加权,例如指数衰减。例如,每个数据点的值可以乘以.99^(age_in_weeks)。作为另一个示例,每个数据点都可以乘以e^(v*age),其中v可以是小于1的值,例如0.0004,并且年龄可以是多种增量,例如自从生成数据点的锻炼起的天数。
81.在一些实施方式中,对于单个窗口大小存在多个数据点的地方(例如,来自不同的锻炼),该函数可以仅被拟合到每个窗口大小的最大功数据点(或在任何所应用的加权之后的最大功数据点)。在一些实施方式中,一旦函数被拟合于存储的数据点,则可以释放存储未用作该拟合的一部分的数据点的存储器,例如,因为对于相同的窗口大小存在更大的功值。
82.拟合于代表用户在时间范围内的最大功率输出能力的数据点的函数可以为用户指定临界功率(cp)。该拟合函数还可以为用户指定有限的功容量(w')。临界功率可以是函数的斜率,或者在函数是非线性的地方,函数的两点之间的函数斜率。因此,临界功率可以代表在给定的任何指定的附加时间量的情况下用户可以做的附加功的量。有限做功容量可以是函数的y截距(功输出,例如焦耳,值)。因此,有限功容量代表用户在没有给定的另外时间的情况下可以做的初始功的量。
83.在一些实施方式中,所确定的临界功率和有限功容量可用于生成更准确地定义用户能力的新能力函数,特别是在锻炼的早期间隔中,例如在最初60秒中。例如,函数可以更准确地解释现实世界的情况,例如在给定零时间的情况下,用户做功的能力也为零。在一些实施方式中,该新能力函数可以是组合的线性和对数函数。例如,能力函数可以被指定为w=cp*t+w'*log(t+1),其中w是功容量(因变量),t是给定的时间量(自变量)。使用这种新的能力函数提供了更稳定和稳健的拟合优化,因为它解释了数据中随时间变化的曲率。
84.过程400可以返回这些所确定的临界功率或有限功容量值并在框422处结束。在一些实施方式中,可以返回与数据点拟合的函数,而不是确定和返回临界功率和有限功容量值。
85.图5a-e是示出加窗功率输出统计数据以确定最大功数据点的示例的图。然后可以使用这些最大功数据点来计算能力函数。图5a-e显示了框406-418之间的循环的实施方式的示例。图5a显示了该示例的步骤500,其中锻炼的功率输出统计数据已被绘制为函数502并且窗口大小已被设置为6秒。特定窗口504已被确定为对应于函数502下针对6秒窗口大小的最大面积506。在线506(6秒-窗口大小)和线510(360焦耳-面积506)的交点处,将对应于
该最大面积506的数据点添加到功-时间图形512。
86.图5b显示了本示例的步骤515。下一窗口518已被确定为对应于函数502下针对10秒窗口大小的最大面积520。在线522(10秒-窗口大小)和线524(400焦耳-面积520)的交点处,将对应于该最大面积520的数据点添加到功-时间图512。
87.图5c显示了本示例的步骤530。下一窗口534已被确定为对应于函数502下针对12秒窗口大小的最大面积536。在线538(12秒-窗口大小)和线540(500焦耳-面积536)的交点处,将对应于该最大面积536的数据点添加到功-时间图形512。
88.图5d显示了本示例的步骤545。下一窗口548已被确定对应于函数502下针对40秒窗口大小的最大面积550。在线552(40秒-窗口大小)和线554(1667焦耳-面积550)的交点处,将对应于该最大面积550的数据点添加到功-时间图形512。
89.图5e显示了本示例的步骤560。下一窗口562已被确定为对应于函数502下针对84秒的窗口大小的最大面积564。在线566(84秒-窗口大小)和线568(2065焦耳-面积564)的交点处,将对应于该最大面积564的数据点添加到功-时间图形512。
90.图5a-e中所识别的数据点一旦已知,它们就可以被用来定义能力函数。在一些实施方式中,功-时间图形512可以是用户的能力函数。在一些实施方式中,能力函数可以是由这些数据点指定的边界,其中边界可以限制最大锻炼参数,如结合图6所述。在一些实施方式中,另一个函数可以拟合于这些数据点以定义能力函数。在一些实施方式中,所拟合的函数然后可用于确定临界功率和有限功容量。图5a-e提供了来自单个锻炼的样本窗口大小。在其他实施例中,窗口大小可以更大或更小,或者可以更多或更少。接下来图5f中提供了一个示例,该示例使用来自多个锻炼的具有更多的窗口大小的其他数据点,以生成能力函数。
91.图5f是示出示例580的图,该示例580具有拟合于一组用于确定用户的临界功率和有限功容量的数据点的函数。该函数是通过确定一系列数据点的拟合来计算的,这些数据点是通过对基于时间的功率输出统计数据进行加窗而获得的,如图4所示。图5f显示了功582(y轴,以焦耳为单位)-时间584(x轴,以秒为单位)。
92.示例580包括一组数据点,例如数据点586。每个数据点是来自锻炼的一组可能的功值数据点中的最大功值数据点,每个可能的功值数据点对应于特定的窗口大小。在示例580中,在框410处以1150秒的窗口大小获取一组可能的数据点(未示出),并且在框416处存储代表在锻炼的1150秒窗口中的最大做功量的一个数据点(即功率输出曲线下的面积),作为数据点586。图5a-e中提供了该过程的示例。在数据点586上方和下方的1150秒标记处的附加数据点来自从其他锻炼中获取的统计数据。
93.在示例580中,线590是来自多种锻炼的每个窗口大小的最大数据点的最佳拟合。在一些实施方式中,过程400在框420处可以确定在初始阈值之后用户的表现边界在哪里作为位置,其中,进一步的数据点不再以相对一致的斜率增加值。在示例580中,该演示的表现边界由虚线段592示出。在表现边界开始处分割之前,线590的拟合被拟合到针对每个窗口大小的最大数据点。线590的斜率被用作临界功率。示例580还示出了在594处,线590与y轴582相交的位置,其被用作有限功容量。
94.图5g是示出基于所确定的有限功容量和临界功率生成的组合线性和对数表现能力函数的示例的图。在该示例中,已经确定了临界功率(cp)和有限功容量(w’)。这些值用于生成新的能力函数590,由公式w=cp*t+w'*log(t+1)定义,其中w是功能力(因变量),t是给
定的时间量(自变量)。该新的能力函数590更好地拟合于表现边界592,特别是在功数据的最初60秒中。
95.图6是示出在一些实施方式中使用的用于通过基于用户的所确定的临界功率或能力函数确定锻炼参数来确定用户特定锻炼的过程600的流程图。在一些实施方式中,过程600可以被连续地执行,例如,当锻炼信息在锻炼期间被馈送到自适应训练系统中时。在一些实施方式中,过程600可以被提前执行,例如,以在用户开始锻炼之前为用户生成训练课程。过程600从框602处开始并继续到框604。
96.用户特定锻炼可以包括一个或多个锻炼,并且每个锻炼可以由一组参数定义,这些参数将锻炼映射为给定时间的功值。例如,当为用户定义冲刺练习时,参数可以只是冲刺期间的持续时间和功率输出。作为另一个示例,对于具有规则间隔的间隔锻炼,参数可以是:间隔数,间隔持续时间,间隔期间的功率输出,休息持续时间,和休息期间的功率输出。作为进一步示例,对于具有“跳过间隔”的间隔锻炼,参数可以是:间隔数,间隔期间峰值功的持续时间,间隔内短时间休息的持续时间,间隔峰值期间的功率输出,间隔之间的休息持续时间,以及休息期间的功率输出。在一些实施方式中,锻炼还可以包括难度因子参数,该参数指定锻炼应给用户带来的与用户的最大功容量的接近程度。
97.在框604处,过程600可以接收用于锻炼的部分参数集。在一些实施方式中,在框604处所接收的参数可以是指定锻炼所需的参数中的除一个之外的所有参数。例如,对于具有规则间隔的间隔锻炼,可以提供除定义间隔数的参数之外的所有参数。在一些实施方式中,可以通过多种方法来设置一个或多个锻炼参数,例如通过用户输入,使用默认值,使用为进一步的某些目标而建立的值(例如,增加临界功率能力;增加有限功容量能力;通过进行更短,更高强度的锻炼来提高冲刺能力;或者通过进行更长,更低强度的锻炼提高耐力)等。在一些实施方式中,锻炼参数可以被限制为某些值,例如最大或最小时间或间隔数或持续时间等。这些限制可以是适当的,使得系统确定的剩余参数是现实的(即它不建议进行两天或十二秒的锻炼),或者使得基于该参数的锻炼更容易遵循(例如,间隔长度是整数)。
98.在框606处,过程600可以使用所接收的锻炼参数和用户能力指标,其包括以下一项或多项:用户的临界功率和有限功容量值,由拟合到一组功-时间中的锻炼统计数据的函数定义的“拟合函数”,这组或功-时间中的锻炼统计数据作为所定义的边界。在一些实施方式中,可以在每次需要用户的用户能力指标时例如通过执行过程400计算它们。在一些实施方式中,不是从所有可用的锻炼数据重新计算用户的能力指标,而是可以更新用户的能力指标的所存储的先前版本以考虑自生成所存储的能力指标以来所获得的新锻炼数据。例如,所存储的用户能力指标可以基于底层数据的年龄进行加权,并且可以随着每个锻炼集而更新。在多种实施方式中,可以执行该更新以在接收到新的锻炼数据时,在需要用户的能力指标的确定时,以给定的时间间隔(例如,每天,每周等),或基于可用资源(例如,在晚上服务器可用性通常很高时,根据服务器资源可用性的当前测量,等等)生成新的用户能力指标。
99.过程600然后可以使用锻炼参数和用户能力指标来计算将锻炼定义为特定于用户的缺失参数。对于每种类型的锻炼,可以确定变换以映射以功-时间的形式定义锻炼的函数(基于锻炼参数)。可以指定定义锻炼的函数,使其不超过用户的“能力线”,该“能力线”由所接收的用户能力指标定义。在多种实施方式中,能力线可以是能力函数,所定义的边界,或
通过将用户的临界功率设置为斜率并且将用户的有限功容量设置为y截距而确定的线。锻炼函数与能力线相交的点是力竭点,即预计用户不再能够以相同强度水平做任何功的点。下面结合图7和附录提供了这种参数化和比较的示例。在一些实施方式中,能力线可以被减小(y截距可以以相同的斜率被减小),使得仅预计用户进入总力竭点的阈值量内。在一些实施方式中,可以设置默认的y截距(例如,0)。例如,当只有用户的临界功率可用或锻炼时间特别长时,可以这样做。
100.在框608处,过程600可以基于现在完整的一组锻炼参数提供用户特定锻炼。例如,过程600可以表示锻炼持续时间,可以导致在锻炼机器上建立的设置,可以将锻炼集成到一组多个锻炼中,等等。在一些实施方式中,过程600可以在用户的锻炼期间持续监测功率输出,针对观察到的功率输出更新用户的能力函数,并相应地更新锻炼参数。过程600然后可以向用户提供进一步的更新,例如如果预计他们在锻炼计划结束之前达到他们的力竭点,则建议他们放慢速度,或者如果预计他们不会达到目标,则建议他们加快速度。
101.图7是示出代表用于用户特定锻炼的锻炼函数702的示例700的图。通过确定时间参数704来计算用户特定锻炼,该时间参数在锻炼期间保持锻炼函数702的所有值低于用户的能力线706。
102.在示例700中,用户的临界功率和有限的功容量是已知的,例如,通过过程400的执行。用户的能力线706通过将临界功率设置为斜率720并且将有限的功容量设置为y截距718来生成。
103.在示例700中,锻炼是具有规则间隔的间隔锻炼。休息时段710和高强度时段712的持续时间由用户通过用户界面设置并且在高强度段期间的线段714的斜率被设置为基于在这些高强度部分的预计跑步速率的第一默认值,在休息段期间的线段716的斜率被设置为基于在休息部分期间的另一个预计跑步速率的第二默认值。
104.自适应训练系统确定用户的能力线和代表锻炼的函数之间的交点,即力竭点708。力竭点的时间值704是针对这种锻炼确定的时间,使得用户达到她的力竭点。附录中提供了关于自适应训练系统如何执行这些操作的附加详细信息。
105.图8a-c示出了示例800,820,和860,其显示了实现自适应训练系统的版本的系统配置。在图8a中,示例800显示了自适应训练系统被集成到锻炼机器810中的配置。示例800以表示用户在锻炼课程期间被记录的功率输出的测量(例如速度和坡度)开始。在804,锻炼机器中的电路将功率测量变换为功值。然后,电路使用这些功值来确定用户的能力函数,并使用能力函数来生成用户特定锻炼。在一些实施方式中,可以使用过程400和600来完成步骤804。例如,锻炼机器810可以使用功率测量来确定功点,然后将该功点拟合到能力线。锻炼机器可以使用用户已为锻炼指定的能力线和参数来生成用户特定锻炼,该锻炼指定其他先前未知的使用户保持低于他或她的预计力竭点的锻炼参数。例如,用户可以指定诸如持续时间和间隔长度之类的参数,并且锻炼机器可以生成指定每个间隔的坡度的用户特定锻炼,该间隔的坡度使用户保持在他或她的预计力竭点以下。
106.在806处,用户特定锻炼可用于自动控制锻炼机器的功能,例如通过设置速度,持续时间,或坡度设置。附加地或替代地,在806处,可以使用得到的用户特定锻炼来在锻炼机器或相关联设备(例如,用户的配对移动设备)的显示器上提供输出。输出可以显示关于锻炼的统计数据,用于执行用户特定锻炼的指令等。虽然示例800可以在锻炼课程结束时结
束,但在一些实施方式中,来自锻炼课程的数据可以存储在808。例如,这个数据可以包括所确定的最大功点,能力函数,锻炼持续时间,速度,燃烧的卡路里等。该数据可以被发送到用户的移动设备或服务器。系统可以将该输出与用户简档相关联地存储。
107.在图8b中,示例820显示了其中自适应训练系统在锻炼机器的网络中被实现的配置,例如锻炼机器822和826。在示例820中,锻炼机器经由服务器系统824连接。在示例中820,用户先前使用过锻炼机器822。锻炼机器822可以在842将用户的标识和来自该锻炼的数据发送到服务器系统824。例如,该数据可以包括所确定的最大功点,能力函数,锻炼持续时间,速度,燃烧的卡路里等。在844,服务器系统可以使用所接收的锻炼数据来确定用户能力函数。在一些实施方式中,步骤844还可以包括为用户确定用户特定锻炼。
108.在步骤846,同一用户向另一台锻炼机器826认证他或她自己。例如,用户可以输入代码,使用她的移动设备(例如,移动设备828)扫描锻炼机器上的条形码,或锻炼机器可以获取读取,例如扫描用户呈现的代码,识别用户的移动设备或fob的呈现等。在848处,锻炼机器826和服务器系统824可以通信以确定针对经认证的用户的特定锻炼。在一些实施方式中,用户特定锻炼可以是在844处确定的锻炼,其可以进一步基于用户简档信息,例如可以包括持续时间,间隔数等的优选锻炼参数。在一些实施方式中,通信在848处可以包括用于用户下一次锻炼的一些参数,服务器系统824可以使用这些参数来生成用户特定锻炼,使得用户接近但不超过力竭点。
109.当用户执行用户特定锻炼时,该锻炼可以由锻炼机器826自动实现或者可以通过向用户提供的关于如何与锻炼机器交互的指令来完成(未示出),表示功率输出的附加测量可以在步骤850被获取。在一些实施方式中,锻炼机器826可以基于功率测量自动地更新用户特定锻炼或锻炼参数,类似于示例800中由锻炼机器810执行的功能。在一些实施方式中,可以在852处向服务器系统824提供功率测量。在854处,服务器系统可以更新用户所确定的能力函数。同样在854处,服务器系统可以基于所更新的用户能力函数来调整用户特定锻炼。在856处,服务器系统可以向锻炼机器826提供更新的用户特定锻炼或锻炼参数。在858处,锻炼机器826可以实现更新的锻炼参数,例如,通过在锻炼机器826上或在用户的移动设备828上提供更新的显示,或通过在锻炼机器828上自动实现设置。同样在858处,随着锻炼进行或当锻炼结束时,锻炼机器826可以提供锻炼数据,类似于示例800的步骤808。
110.在图8c中,示例860显示了自适应训练系统在移动设备864上实现的配置。示例860在移动设备864接收锻炼统计数据时开始。在示例860中,锻炼统计数据是从与健身跟踪器的通信中获得的,但是锻炼统计数据可以从其他来源获得,例如从与另一种类型的锻炼机器的通信,手动用户输入,存储在服务器系统上的日志等。在872处,移动设备864将锻炼统计数据(例如,功率测量)变换为功的形式,使用这些来确定用户的能力函数,并使用能力函数为用户生成用户特定锻炼。在一些实施方式中,可以使用过程400和600来完成步骤874。例如,移动设备864可以使用功率测量来确定功点,然后将功点拟合到能力函数。使用能力功能,移动设备可以生成用户特定锻炼,例如,以确定跑步持续时间或建议的速度,间隔长度等。在一些实施方式中,可以使用来自服务器系统(诸如服务器866)的处理来完成步骤874。
111.移动设备864可以存储所接收的锻炼统计数据,这些统计数据的变换,或产生的用户特定锻炼。虽然示例860可以在此结束,例如,用户数据被全部存储在移动设备上并且是
用户特定锻炼建议通过移动设备被提供,但是在一些实施方式中,可以在876处将该数据发送到其他设备866-870,例如,用于进一步分析(例如,在服务器系统866),用于锻炼装置870的自动控制,或由用户查看,例如,通过计算设备868处的网络界面。在多种实施方式中,这些交互可以通过与其他设备的通信(例如,通过通信874)相互联系或促进。
112.在多种实施方式中,可以组合来自示例800,820,和860中的任一个的配置的方面。例如,示例860中的输入872可以基于来自示例800和820的输出808或858;示例820中的服务器824可以用示例860中的移动设备864替换;示例820中的输出842可以基于示例800中的输出808或者可以是来自示例860的输出876。附加的配置,组合,替代,和添加也是被考虑的。尽管示例800,820,和860示出了几种类型的设备,但在一些实施方式中,由这些设备中的任何一个执行的功能可以由其他设备或由未明确叙述的设备来完成。
113.图9是示出在一些实施方式中使用的用于基于用户不可知的训练简档和用户边界来生成用户特定锻炼的过程900的流程图。在多种实施方式中,可以在锻炼期间或提前将锻炼信息馈入自适应训练系统时连续执行过程900,例如,以在用户开始锻炼之前为用户生成训练课程。过程900开始于框902并继续到框904。
114.在框904处,过程900可以获得在训练空间中定义的指定时域中的功率曲线的用户不可知的训练简档。用户不可知的训练简档可以定义用于训练课程的参数,其将训练课程映射到针对时间段的功率输出水平。例如,用户不可知的训练简档可以指定锻炼装置的设置(例如,阻力水平,倾斜度,重量等),用户移动速度(例如,每分钟转数,每小时英里数等)等,其产生特定的功率输出。应用用户不可知的训练简档通常允许跨用户定义锻炼,例如以获得特定的结果或用户体验,其然后可以针对特定的用户能力进行定制。在多种例子中,用户不可知的训练简档可以特定于特定的锻炼装置。在一些实施方式中,用户不可知的训练简档可以从一个或多个用户生成的线或基于用户指定的功率值来解释。例如,用户可以与用户界面交互以绘制或以其他方式生成显示每时间单位的功率输出水平的线,输入功率值作为数字,或以其他方式表示功率水平。自适应训练系统可以将这些功率水平解释为用于用户不可知的训练简档的功率曲线。在一些例子中,过程900可以从用户不可知的训练简档库中获得用户不可知的训练简档。例如,可以为特定锻炼(例如,骑自行车,跑步,椭圆机,划船,举重等)的特定目标(例如,减轻体重,改善心肺功能,改善特定活动等)定义用户不可知的训练简档,和/或用户可以定义他们认为有用的锻炼并与库共享。如本文所用,库可以是任何联网资源,例如公司提供的中央图书馆,可供多个用户使用的开源社区,可供会员使用的订阅服务,社交媒体组,发帖,或其他在线论坛,或例如,在来自朋友,教练,锻炼伙伴等的消息中直接分享。
115.在框906,过程900可以获得在边界空间中定义的用户边界。用户边界可以被定义在边界空间中,该边界空间定义了在给定总时间窗口域的情况下做功量的估计。例如,沿用户边界上的一个点可以指定,给定20秒的时间窗口,用户可以产生10千焦的功。在一些实施方式中,用户边界可以是上面讨论的能力函数或临界功率函数,它们是拟合于针对特定时间窗口的用户功的测量的函数(在本文中称为“估计函数”)。在其他实施方式中,用户边界可以是连接针对特定时间窗口的用户功的测量的一组线段(在本文中称为“测量函数”)。在其他实施方式中,用户边界可以是估计函数和测量函数的组合,其中该组合是基于用于估计函数的置信度值,该置信度值在对估计函数和测量函数求平均时用作加权因子。下面结
合图10和图12提供关于基于估计函数和测量函数确定所组合的用户边界的附加细节。
116.在框908,过程900可以计算训练边界。训练边界可以是用户不可知的训练简档的,被转换为在边界空间中的一个版本。在一些实施方式中,可以使用上面参考图4和5描述的相同过程来完成该转换,除了不使用用户功率输出-时间数据点,而是针对用户不可知的训练简档(其类似地提供了用于时域的功率曲线)来执行加窗。在一些实施方式中,训练边界可以被链接到用户不可知的训练简档,使得对一个的改变导致对另一个的相应改变。例如,改变训练边界的斜率会导致在用户不可知的训练简档中相应的垂直移位(或执行针对用户不可知的训练简档的垂直移位会导致训练边界的斜率相应的改变)。如下文所讨论的,这种改变的示例可以包括用户不可知的训练简档的功率值的移位,用户不可知的训练简档的功率值量级的功率标度变化,和/或在用户不可知的训练简档的持续时间内时间标度变化(或对训练边界的相应改变以导致这些用户不可知的训练简档的改变)。下面结合图13提供了有关训练边界和用户不可知的训练简档之间相应改变的附加详细信息。
117.在框910处,过程900可以计算在框908处所计算的训练边界和在框906处所获得的用户边界之间的比较。这种比较是可能的,因为用户边界和训练边界都在相同的边界空间中。框910的比较可以导致应用变换或以其他方式调整影响训练边界的一个或多个参数。在一些实施方式中,训练边界和用户边界之间的比较包括通过选择一个或多个参数以最大化训练边界和用户边界之间的总面积来进行调整以最小化用户所感知的努力。在其他实施方式中,训练边界和用户边界之间的比较包括通过最小化训练边界和用户边界之间的总面积来进行调整以最大化锻炼潜力。
118.在又一实施方式中,训练边界和用户边界之间的比较包括选择一个或多个参数以最小化用户所感知的努力和锻炼潜力之间的平衡的损失函数。损失函数可以给出一个数字,其指定训练边界和用户边界相互匹配的程度。在多种实施方式中,可以使用不同的损失函数。例如损失函数可以是l1损失(绝对误差之和),l2损失(平方误差之和),最小第二点偏差,交并比(训练边界和用户边界的交集面积,除以两个面积的并集),或冲刺/耐力损失(基于为特定目标(例如冲刺或耐力表现)创建优化的锻炼的时间加权误差)。冲刺损失的示例是sum(a/(x+a)*error^2),耐力损失的示例是sum(x/(x+a)*error^2);其中“a”是控制锻炼积极性的形状因子。
119.在框912处,过程900可以基于来自框910的比较将用户不可知的训练简档变换为用户特定锻炼。用户空间和边界空间之间的变换可以使用公式来完成,从而将变换应用于用户不可知的训练简档或训练边界中的一个都可以对另一个进行相应的变换。例如,以下公式可以影响用户空间和边界空间之间的这些转换:
120.[0121][0122]
其中*指定逐元素乘法;+指定逐元素加法;
·
指定点积;每个[t,p]对是从用户不可知的训练简档中到变换的一个点,其中t是时间,p是用户瞬时努力(例如功率)的测量;每个[t,w]对是从训练边界到变换的一个点,其中t是时间窗口大小,w是该时间窗口t上努力的最大积分;m和b是变换参数,m_time是时间标量,m_effort是努力标量,b_effort是努力移位或偏移。
[0123]
在一些实施方式中,过程900可以通过定义用户不可知的训练简档的数据结构和定义被链接的训练边界的数据结构(如上所述)自动完成变换,使得当对一个进行调整时(如结合框910所述,例如,以导致对训练边界的改变),使用上述公式对另一个进行相应调整(例如,也导致对用户不可知的训练简档的相应改变)。在其他例子中,数据结构可以不被链接。例如,可以对训练边界进行变换,以选择用于最大化锻炼潜力的调整,并且一旦确定了那些调整,就可以通过使用上述公式应用相应的变换来对用户不可知的训练简档进行相应的调整,从而将用户不可知的训练简档转换为用户特定锻炼。在多种实施方式中,调整训练边界可以导致影响以下一个或多个的相应改变:用户不可知的训练简档的功率值的移位,用户不可知的训练简档的功率值的量级的功率标度改变,和/或用户不可知的训练简档的持续时间的时间标度改变。
[0124]
在一些实施方式中,将用户不可知的训练简档变换为用户特定锻炼包括基于比较将变换应用到或以其他方式调整到训练边界。其他因素也可用于调整训练边界。例如,调整可以基于用户输入(例如,用户可以指定锻炼强度值,持续时间,锻炼装置类型,锻炼目标等)。作为另一示例,调整可以是将用户特定锻炼设置为具有与另一计划相匹配的持续时间,例如视频或音频媒体项目的所确定持续时间。作为又一示例,一个或多个调整可以是将用户特定锻炼设置为具有可变强度(例如,功率峰值和谷值),以匹配另一计划的节奏或速度,例如视频或音频媒体项目的所确定的节奏或速度。
[0125]
在框914处,过程900可以基于在框912处生成的用户特定锻炼提供输出或设置。例如,过程900可表示锻炼持续时间,可引起要在锻炼机器上建立的设置,可将用户特定锻炼集成到一组多个锻炼中,等等。在一些实施方式中,所述输出可以是锻炼装置,其被配置为使锻炼装置的显示以基于用户特定锻炼提供指令。输出还可以包括自动锻炼设置,该自动锻炼设置使锻炼装置自动实现用户特定锻炼。例如,过程900可以自动控制锻炼机器的功能,例如通过设置速度,持续时间,或坡度设置。附加地或替代地,过程900可以使用用户特定锻炼来在锻炼机器或相关联设备(例如,用户的配对移动设备)的显示器上提供输出。输出可以显示关于锻炼的统计数据,用于执行用户特定锻炼的指令等。在一些实施方式中,输出可以被提供给服务器系统或移动设备,并与用户简档相关联地被存储。
[0126]
在一些实施方式中,过程900可以在用户锻炼期间持续监测功率输出,并相应地更新用户特定锻炼。例如,过程900可以确定锻炼期间的用户活动与被禁止的用户特定锻炼的匹配程度以实现特定目标,并且可以调整锻炼机器设置或提出建议,以使锻炼的其余部分
符合目标。过程900可以提供锻炼的更新,例如如果预计用户在锻炼计划结束之前达到其力竭点,则建议用户减速或降低阻力,或者如果预计他们达不到目标,则建议他们应该加速或增加阻力。在一些例子中,还可以基于从当前锻炼中观察到的功率输出来更新用户边界,这可以导致相应的重新调整,使训练边界符合新的用户边界,进一步导致对所链接的训练简档(现在是用户特定锻炼)的相应改变。
[0127]
在一些例子中,过程900还可以包括将用户不可知的训练简档传送到地理上远程的系统,从而允许用户不可知的训练简档成为其他用户特定锻炼的基础。例如,如以上在框904所讨论的,可以基于用户针对时间段指定的功率水平来创建用户不可知的训练简档。然后,用户可能希望与其他用户共享该用户不可知的训练简档(例如,在发现她特别享受基于用户不可知的训练简档的用户特定锻炼之后)。用户不可知的训练简档可以由具有他们自己的用户边界的另一用户访问,从而允许基于该用户边界将该用户不可知的训练简档变换为第二用户的第二用户特定锻炼,其不同于针对创建该用户不可知的训练简档的用户的第一用户特定锻炼。作为另一示例,用户可以将用户不可知的训练简档(或用户特定锻炼)保存到她自己的存储库中,允许用户稍后和/或在不同的锻炼装置上访问该简档。过程900可以进行到框916,在那里它结束。
[0128]
图10是示出了在一些实施方式中使用的用于基于来自用户功测量的估计函数和来自用户功测量的测量函数的组合来计算用户边界的过程1000的流程图。在一些实施方式中,过程1000可以作为框906的子过程来执行。过程1000可以从框1002开始并继续到框1004。
[0129]
在框1004处,过程1000可以获得拟合于针对特定时间窗口的用户功的一组测量的估计函数。针对特定时间窗口的用户功的一组测量可以是用户功率输出测量的转换,如上文结合图4和图5所讨论的。在多种实施方式中,估计函数可以是线性或非线性函数,其已被拟合于针对特定时间窗口的用户功的测量。在多种实施方式中,估计函数可以是如上所述的具有有限功容量的能力函数或临界功率,或者可以是从针对特定时间窗口到针对没有测量可用的其他时间窗口的用户功的测量的外推法的另一函数。
[0130]
在框1006处,过程1000可以从一系列线段获得测量函数,这些线段连接针对特定时间窗口的用户功的测量。针对特定时间窗口的用户功的测量可以是用于创建框1004的估计函数的相同测量。测量函数可以是连接测量的一系列线段。最终的线段可以连接到最后的测量(对应于针对最大窗口大小的所测量的功率曲线的积分),并且具有零斜率。
[0131]
在框1008处,过程1000可以计算置信函数。对于域中的任何特定点,置信函数可以给出针对在该特定点结束的域的一部分的估计函数和测量函数之间的累积差。在多种实施方式中,置信函数可以使用针对从零开始,在从零偏移的设置点处,或在特定点下方的恒定距离处的每个特定点的域的一部分。例如,对于给定点,置信函数可以确定a)对应于域的一部分的间隔的估计函数的积分和b)对应于该域的一部分的间隔的测量函数的积分之间的差。
[0132]
在框1010处,过程1000可以基于置信函数组合估计函数和测量函数。在一些实施方式中,这种组合可以包括使用置信函数作为加权因子来平均估计函数和测量函数。例如,估计函数和测量函数之间的差越大,可以给予测量函数的权重就越大。过程1000然后可以结束(例如,返回到框906,提供框1010的组合结果作为用户边界)。
[0133]
图11是示出将用户不可知的训练简档转换为训练边界的示例1100的图。示例1100包括在训练空间1102中定义的用户不可知的训练简档1108。用户不可知的训练简档1108已被转换为在边界空间1150中定义的训练边界1158。训练空间1102具有单位时域1104和单位功率范围1106。边界空间1150具有窗口时域1154和功范围1106。如以上结合图4和图5所讨论的,用户不可知的训练简档1108到训练边界1158的转换可以通过确定针对域1104的给定大小(“窗口”)的用户不可知的训练简档1108的最大可能积分来执行。域1104窗口的大小变为针对训练边界1158的一点的域1154值,而对应的范围值(“功”)是针对该窗口大小确定的用户不可知的训练简档1108(功率曲线)的最大积分的值。
[0134]
图12是示出基于估计函数1202和测量函数1204的组合计算用户边界1210的示例1200的图。示例1200中的估计函数1204和测量函数120可以被定义在边界空间1150中。如上文结合图10所讨论的,估计函数1202和测量函数1204可以基于在给定时间的用户功率输出的测量(即,功率曲线),通过确定时间窗口的功率曲线的最大积分来转换为功值(该转换过程在上面结合图4和图5进行了讨论)。估计函数1202可以是拟合于测量的函数(在该例子中是线性函数,但是估计函数也可以是非线性的)。测量函数1204可以是连接测量的一系列线段。测量函数的最终一个线段连接到最后一个测量(在示例1200中,这是在1208处),并且具有零的斜率。
[0135]
在示例1200中,估计函数1202和测量函数1204的组合是基于置信函数1206的。置信函数1206可以基于估计函数1202和测量函数1204之间的差。在多种实施方式中,置信函数1206可以为任何给定点提供估计函数1202和测量函数1204之间的百分比差或绝对差。示例1200中的置信函数1206可以被定义为百分比,如置信率范围1212所示。
[0136]
可以使用置信函数1206作为加权因子,将用户边界1210计算为估计函数1202和测量函数1204的平均值。在示例1200中,对于给定的窗大小“w”,基于估计函数1202(“e()”),测量函数1204(“m()”),和置信函数1206(“c()”)定义用户边界1210(“u”)如下:u=e(w)*c(w)+m(w)*(1-c(w))。因此,随着置信函数1206的值减小,用户边界1210对测量函数1204的依赖性增大。
[0137]
图13a-13c是示出导致对所链接的用户不可知的训练简档相应改变的训练边界的改变的示例的图。在图13a-13c的每一个中,在不同空间中彼此对应的用户不可知的训练简档和训练边界用相同的虚线图案示出。在每个例子中,用户不可知的训练简档在训练空间1102中,并且相应的用户不可知的训练简档在边界空间1150中。
[0138]
图13a是示出训练边界的移位改变的第一示例1300的第一图,该移位改变导致所链接的用户不可知的训练简档的相应改变。示例1300显示了对应于训练边界1322-1328的用户不可知的训练简档的四个版本1302-1308。用户不可知的训练简档1302对应于训练边界1322,用户不可知的训练简档1304对应于训练边界1324,用户不可知的训练简档1306对应于训练边界1326,及用户不可知的训练简档1308对应于训练边界1328。具有不同斜率的训练边界1322-1328导致匹配的用户不可知的训练简档1302-1308的范围(功率)的相应移位。
[0139]
图13b是示出时间和功率标度改变到训练边界的的第二示例1340的第二图,该改变导致所链接的用户不可知的训练简档的相应改变。示例1340显示了对应于训练边界1362-1366的用户不可知的训练简档的三个版本1342-1346。用户不可知的训练简档1342对
应于训练边界1362,用户不可知的训练简档1344对应于训练边界1364,及用户不可知的训练简档1346对应于训练边界1366。具有不同斜率改变的训练边界1362-1366导致匹配的用户不可知的训练简档1342-1346的垂直(功率)值的相应改变。此外,具有不同最大窗口大小的训练边界1362-1366对于匹配的用户不可知的训练简档1342-1346具有对应的最大时间单元。
[0140]
图13c是示出训练边界的时间标度改变的第三示例1370的第三图,该改变导致所链接的用户不可知的训练简档的相应改变。示例1370显示了对应于训练边界1394-1398的用户不可知的训练简档的三个版本1374-1378,用户不可知的训练简档1374对应于训练边界1394,用户不可知的训练简档1376对应于训练边界1396,及用户不可知的训练简档1378对应于训练边界1398。具有不同最大窗口大小的训练边界1394-1398对于匹配的用户不可知的训练简档1374-1378具有对应的最大时间单元。
[0141]
图14a是示出基于用户边界和训练边界之间的比较为用户特定锻炼选择参数的第一示例1400的第一图。示例1400包括具有用户不可知的训练简档的多个版本1402和1404a-i的训练空间1102。示例1400还包括在边界空间1150中的训练边界1410和1414a-e,其对应于用户不可知的训练简档的多个版本1402和1404a-i。训练边界1410和1414a-e中的每一个是具有基于原始训练边界和用户边界的比较应用的改变的原始训练边界的版本(在示例1400中由区域1412示出)。在示例1400中,训练边界1410被选为最小化损失函数1426的训练边界,损失函数1426被定义在具有强度域和损失范围的空间中。确定最小点1428,其对应于训练边界1410,训练边界1410又对应于用户不可知的训练简档版本1402。因此,在示例1400中,用户不可知的训练简档版本1402被选为用户特定锻炼。
[0142]
图14b是示出基于用户边界和训练边界之间的比较为用户特定锻炼选择参数的第二示例1450的第二图。示例1450包括在边界空间1140中具有用户不可知的训练简档1452和所链接的训练边界1474的训练空间1102。边界空间中还有用户边界1472。在示例1400中,训练边界1474已经从原始版本被改变为最小化训练边界1474和用户边界1472之间的面积,同时始终保持训练边界1474低于用户边界1472的版本。对训练边界1474的这些改变导致对所链接的用户不可知的训练简档1452的相应改变。根据对所链接的训练边界1474的改变而改变的用户不可知的训练简档1452的修改版本将用户不可知的训练简档1452转换到用户特定锻炼。
[0143]
以下是所公开技术的附加示例的非详尽列表。
[0144]
1.一种用于自动提供用户特定锻炼的锻炼机器系统,所述系统包括:
[0145]
一个或多个处理器和存储指令的一个或多个存储器,当由所述一个或多个处理器执行所述指令时,执行操作包括:
[0146]
获得在训练空间中定义的,指定在时域中的功率曲线的用户不可知的训练简档;
[0147]
获得在边界空间中定义的,指定时间窗口域中用户产生的功的量的用户边界;
[0148]
计算训练边界,其是所述用户不可知的训练简档到所述边界空间的转换;和
[0149]
调整所示训练边界:
[0150]
其中,对所述训练边界的所述调整导致以下一个或多个:
[0151]
所述用户不可知的训练简档的功率值的移位,所述用户不可知的训练简档的所述功率值的量级的功率标度改变,所述用户不可知的训练简档持续时间中的时间标度改变,
或其任意组合;其中所述调整基于所述训练边界和所述用户边界之间的比较;和
[0152]
其中所述调整导致所述用户不可知的训练简档被变换成所述用户特定锻炼;
[0153]
其中基于所述用户特定锻炼自动提供锻炼装置的输出或设置。
[0154]
2.根据示例1所述的锻炼机器系统,其中,所述用户边界是拟合于针对特定时间窗口的一组用户功的测量的函数。
[0155]
3.根据示例1所述的锻炼机器系统,其中,所述用户边界是连接针对特定时间窗口的用户功的测量的一系列线段。
[0156]
4.根据示例1所述的锻炼机器系统,其中所述用户边界是a)拟合于针对特定时间窗口的一组用户功的测量的函数和b)连接针对特定的时间窗口的用户功的所述测量的一系列线段的组合。
[0157]
5.根据示例4的所述锻炼机器系统,
[0158]
其中,所述域中多个点处的所述组合基于为所述域中所述多个点的每一个指定的置信加权因子;和
[0159]
其中,对于所述域中的所述多个点的每个特定点,所述置信加权因子是基于在所述特定点处结束的所述域的一部分的渐进测量,其中所述渐进测量测量x)拟合于所述域的所述一部分中的一组所述测量的所述函数和y)在所述域的所述一部分中的所述一系列线段之间的累计差。
[0160]
6.根据示例1-5中任一项所述的锻炼机器系统,其中,所述用户不可知的训练简档特定于所述锻炼装置。
[0161]
7.根据示例1-6中任一项所述的锻炼机器系统,其中,所述训练边界被链接到所述用户不可知的训练简档,使得对所述用户不可知的训练简档的改变导致对所述训练边界的相应改变。
[0162]
8.根据示例1-7中任一项的所述锻炼机器系统,
[0163]
其中,所述用户特定锻炼是第一用户特定锻炼并且所述用户边界是第一用户边界;
[0164]
其中,所述操作还包括将所述用户不可知的训练简档传送到地理上远程系统;和
[0165]
其中,通过基于不同于所述第一用户边界的第二用户边界调整所述用户不可知的训练简档,将所述用户不可知的训练简档变换为不同于所述第一用户特定锻炼的第二用户特定锻炼。
[0166]
9.根据示例1-8中任一项所述的锻炼机器系统,其中,所述训练边界和所述用户边界之间的比较通过调整所述训练边界以最大化所述训练边界和所述用户边界之间的总面积来最小化用户所感知的努力。
[0167]
10.根据示例1-8中任一项所述的锻炼机器系统,其中,所述训练边界和所述用户边界之间的所述比较通过调整所述训练边界以最小化所述训练边界和所述用户边界之间的总面积来最大化锻炼潜力。
[0168]
11.根据示例1-8中任一项所述的锻炼机器系统,其中,所述训练边界与所述用户边界之间的所述比较导致对所述训练边界的调整,以最小化所感知的用户努力和锻炼潜力之间的平衡的损失函数。
[0169]
12.根据示例1-11中任一项所述的锻炼机器系统,其中所述自动提供所述锻炼装
置的所述输出或设置包括将所述输出提供给服务器系统,该输出包括所述用户特定锻炼的表示。
[0170]
13.根据示例1-12中任一项所述的锻炼机器系统,其中所述自动提供所述锻炼装置的所述输出或设置包括将所述输出提供给移动设备,该输出包括所述用户特定锻炼的表示。
[0171]
14.根据示例1-13中任一项所述的锻炼机器系统,其中所示自动提供所示锻炼装置的所示输出或设置包括将所示输出提供给移动设备,该输出包括通过要在所述移动设备上执行指令来操作的用于所述用户特定锻炼的数据,其中通过所述移动设备执行指令为用户提供显示以实现所述用户特定锻炼。
[0172]
15.根据示例1-14中任一项所述的锻炼机器系统,其中,所述自动提供所述锻炼装置的所述输出或设置包括向所述锻炼装置提供所述输出,所述输出被配置为使所述锻炼装置的显示器以提供用于所述用户特定锻炼的指令。
[0173]
16.根据示例1-15中任一项所述的锻炼机器系统,其中,所述自动提供所述锻炼装置的所述输出或设置包括向所述锻炼装置提供所述设置,其中所述锻炼装置自动实现所述用户特定锻炼。
[0174]
17.根据示例1-16中任一项所述的锻炼器器系统,其中,所述用户不可知的训练简档基于提供给用户界面的一条或多条用户绘制的线,所述线被自动转换成所述用户不可知的训练简档。
[0175]
18.根据示例1-17中任一项所述的锻炼机器系统,其中,所述用户不可知的训练简档是从预定义的用户不可知的训练简档的库中获得的。
[0176]
19.根据示例1-18中任一项的所述锻炼机器系统,
[0177]
其中,在所述调整所述训练边界之前,基于用户输入配置所述用户不可知的训练简档。
[0178]
20.根据示例1-19中任一项的所述锻炼机器系统,
[0179]
其中调整所述训练边界至少部分地基于视频或音频媒体项目的所确定的持续时间。
[0180]
21.根据示例1-20中任一项的所述锻炼机器系统,
[0181]
其中调整所述训练边界至少部分地基于视频或音频媒体项目的所确定的节奏或速度。
[0182]
22.根据示例1-21中任一项所述的锻炼机器系统,其中,所述用户边界基于通过以下方式获得的一系列功值:
[0183]
通过以下方式识别针对多个窗口大小持续时间的每个特定窗口大小的表示功率输出的测量的功值:
[0184]
针对匹配所述特定窗口大小的间隔,识别由表示功率输出的所述测量所指定的函数的最大积分。
[0185]
23.根据示例1-22中的任一项所述的锻炼机器系统,其中将所述用户不可知的训练简档转换为所述边界空间是通过以下方式执行的:
[0186]
通过识别匹配每个特定窗口大小的间隔的所述功率曲线的最大积分,从所述时域中的所述功率曲线识别针对特定窗口大小的功值。
[0187]
24.一种用于自动提供用户特定锻炼的方法,所述方法包括:
[0188]
获得在训练空间中定义的用户不可知的训练简档;
[0189]
获得在边界空间中定义的用户边界;
[0190]
计算训练边界,该边界是所述用户不可知的训练简档到所述边界空间的转换;和
[0191]
调整所述训练边界,其中所述调整:
[0192]
基于所述训练边界和所述用户边界之间的比较;和
[0193]
导致对所述用户不可知的训练简档进行相应的改变,将其转换为所述用户特定锻炼;
[0194]
其中,基于所述用户特定锻炼,自动提供锻炼装置的输出或设置。
[0195]
25.根据示例24所述的方法,其中所述调整导致以下至少一项:
[0196]
所述用户不可知的训练简档的功率值移位;
[0197]
所述用户不可知的训练简档的所述功率值所述量级的功率标度改变;
[0198]
所述用户不可知的训练简档的所述持续时间中的时间标度改变;或者
[0199]
其任何组合。
[0200]
26.根据示例24-25中任一项所述的方法,其中,所述用户边界是拟合于一组针对特定时间窗口的用户功的测量的函数。
[0201]
27.根据示例24-25中任一项的所述方法,
[0202]
其中,所述用户边界是a)拟合于一组针对特定时间窗口的用户功的测量的函数和b)连接针对特定时间窗口的用户功的所述测量的一系列线段的组合;
[0203]
其中,在所述边界空间的所述域中的多个点处的所述组合是基于为所述域中的所述多个点中的每一个指定的置信加权因子;和
[0204]
其中,对于所述域中的所述多个点的每个特定点,所述置信加权因子是基于在所述特定点处结束的所述域的一部分的渐进测量,其中所述渐进测量测量x)拟合于所述域的所述一部分中的一组所述测量的所述函数和y)在所述域的所述一部分中的所述一系列线段之间的累计差。
[0205]
28.根据示例24-27中任一项所述的方法,其中,所述用户不可知的训练简档特定于所述锻炼装置。
[0206]
29.根据示例24-28中任一项的所述方法,
[0207]
其中,所述用户特定锻炼是第一用户特定锻炼并且所述用户边界是第一用户边界;
[0208]
其中所述用户不可知的训练简档是在地理上远程的系统处接收的;和
[0209]
其中,对于所述地理上远程的系统,通过基于不同于所述第一用户边界的第二用户边界调整所述用户不可知的训练简档,将所述用户不可知的训练简档变换为不同于所述第一用户特定锻炼的第二用户特定锻炼。
[0210]
30.根据示例24-29中任一项的所述方法,
[0211]
其中,所述训练边界和所述用户边界之间的所述比较通过调整所述训练边界以最大化所述训练边界和所述用户边界之间的总面积来最小化用户所感知的努力;或者
[0212]
其中所述训练边界和所述用户边界之间的所述比较通过调整所述训练边界以最小化所述训练边界和所述用户边界之间的总面积来最大化锻炼潜力。
[0213]
31.根据示例24-29中任一项所述的方法,其中所述训练边界与所述用户边界之间的所述比较导致对所述训练边界的调整,以最小化所感知的用户努力和锻炼潜力之间的平衡的损失函数。
[0214]
32.根据示例24-31中任一项所述的方法,其中所述自动提供所述锻炼装置的所述输出或设置包括将所述输出提供给移动设备,该输出包括所述用户特定锻炼的表示。
[0215]
33.根据示例24-32中任一项所述的方法,其中所述自动提供所述锻炼装置的所述输出或设置包括将所述设置提供给所述锻炼装置,其中所述锻炼装置自动实现所述设置以实现所述用户特定锻炼。
[0216]
34.根据示例24-33中任一项所述的方法,其中所述训练边界的调整至少部分地基于视频或音频媒体项目的所确定的持续时间,节奏,速度。
[0217]
35.根据示例24-34中任一项所述的方法,
[0218]
其中,所述用户边界基于通过识别针对多个窗口大小持续时间的每个特定窗口大小的表示功率输出的测量的功值而获得的一系列功值,通过:
[0219]
针对匹配所述特定窗口大小的间隔,识别由表示功率输出的所述测量指定的函数的最大积分;和
[0220]
其中,通过识别匹配每个特定窗口大小的间隔的最大积分,从所述用户不可知的训练简档识别针对特定窗口大小的功值来执行所述用户不可知的训练简档到所述边界空间的所述转换。
[0221]
36.一种存储指令的计算机可读存储介质,所述指令在由计算系统执行时使所述计算系统执行用于自动提供用户特定锻炼的操作,所述操作包括:
[0222]
获得用户不可知的训练简档;
[0223]
获得在边界空间中定义的用户边界;
[0224]
计算训练边界,该边界是所述用户不可知的训练简档到所述边界空间的转换;和
[0225]
调整所述训练边界,其中所述调整:
[0226]
基于所述训练边界和所述用户边界之间的比较;和
[0227]
导致所述用户不可知的训练简档被变换为所述用户特定锻炼。
[0228]
37.根据示例36所述的计算机可读存储介质,其中导致所述用户不可知的训练简档被变换为所述用户特定锻炼包括以下至少一项:
[0229]
所述用户不可知的训练简档的功率值移位;
[0230]
所述用户不可知的训练简档的所述功率值的量级的功率标度改变;
[0231]
所述用户不可知的训练简档的持续时间的时间标度改变;或者
[0232]
其任何组合。
[0233]
38.根据示例36-37中任一项所述的计算机可读存储介质,
[0234]
其中,所述操作还包括基于所述用户特定锻炼提供锻炼装置的输出或设置;和
[0235]
其中,所述用户不可知的训练简档特定于所述锻炼装置。
[0236]
39.根据示例36-38中任一项所述的计算机可读存储介质,其中,所述用户边界是拟合于针对特定时间窗口的一组功值的函数。
[0237]
40.根据示例36-39中任一项所述的计算机可读存储介质,
[0238]
其中,所述训练边界和所述用户边界之间的所述比较通过调整所述训练边界以最
大化所述训练边界和所述用户边界之间的总面积来最小化用户所感知的努力;或者
[0239]
其中所述训练边界和所述用户边界之间的所述比较通过调整所述训练边界以最小化所述训练边界和所述用户边界之间的总面积来最大化锻炼潜力。
[0240]
41.根据示例36-40中任一项所述的计算机可读存储介质,
[0241]
其中,所述用户边界基于通过识别针对多个窗口大小持续时间的每个特定窗口大小的表示功率输出的测量的功值而获得的一系列功值,通过:
[0242]
针对匹配所述特定窗口大小的间隔,识别由表示功率输出的所述测量指定的函数的最大积分;和
[0243]
其中,通过识别与每个特定窗口大小匹配的间隔的最大积分,从所述用户不可知的训练简档识别针对特定窗口大小的功值来执行所述用户不可知的训练简档到所述边界空间的所述转换。
[0244]
上文参考附图描述了所公开技术的几种实施方式。可以在其上实现所述技术的计算设备可以包括一个或多个中央处理单元,存储器,输入设备(例如键盘和指点设备),输出设备(例如显示设备),存储设备(例如磁盘驱动器),和网络设备(例如网络接口)。存储器和储存设备是计算机可读存储介质,其可以存储实现所述技术的至少部分的指令。此外,数据结构和消息结构可以经由数据传输介质(例如通信链路上的信号)存储或传送。可以使用多种通信链路,例如互联网,局域网,广域网,或点对点拨号连接。因此,计算机可读介质可以包括计算机可读存储介质(例如,“非暂时”介质)和计算机可读传输介质。
[0245]
本说明书中对“实施方式”(例如,“一些实施方式”,“多种实施方式”,“一个实施方式”,“一实施方式”等)的引用意味着结合该实施方式描述的特定特征,结构,或特性包括在本公开的至少一个实施方式中。这些短语在说明书中多个位置的出现不一定都指同一实施方式,也不一定是与其他实施方式相互排斥的单独或替代实施方式。此外,描述了可以由一些实施方式而不是由其他实施方式展示的多种特征。类似地,描述了多种需求,这些需求可能是某些实施方式的需求,但不是其他实施方式的需求。
[0246]
如本文所用,高于阈值意味着比较中的项目的值高于指定的其他值,比较中的项目在具有最大值的某指定数量的项目之中,或者比较中的项目具有在指定的顶部百分比值内的值。如本文所使用的,低于阈值意味着比较中的项目的值低于指定的其他值,比较中的项目在具有最小值的某指定数量的项目中,或者比较中的项目具有在指定的底部百分比值内的值。如本文所用,在阈值内意味着比较中的项目的值在两个指定的其他值之间,比较中的项目在中间指定数量的项目中,或者比较中的项目具有在中间指定百分比范围内的值。相对术语,如高或不重要,当未另行定义时,可以理解为分配一个值并确定该值与所估计的阈值如何比较。例如,短语“选择快速连接”可以理解为意味着选择一个连接,该连接具有对应于高于阈值的连接速度的被分配的值。
[0247]
如本文所用,“或”一词指一组项目的任何可能排列。例如,短语“a,b,或c”指的是a,b,c中的至少一个,或其任何组合,例如以下任一个:a;b;c;a和b;a和c;b和c;a,b,和c;或任何项目的多个,例如a和a;b,b,和c;a,a,b,c,和c;等
[0248]
尽管已经用特定于结构特征或方法行为的语言描述了主题,但应当理解,所附权利要求中定义的主题不一定限于上述特定特征或行为。为了说明的目的,本文已描述了特定的实施例和实施方式,但是可以在不偏离实施例和实施方式的范围的情况下进行多种修
改。以上描述的特定特征和行为以作为实现以下权利要求的示例形式被公开。因此,除了所附权利要求之外,实施例和实施方式不受限制。
[0249]
上述任何专利,专利申请,和其他参考文献通过引用并入本文。如果需要,可以修改方面,以采用上述多种参考文献的系统,功能,和概念,以提供进一步的实施方式。如果通过引用并入的文件中的陈述或主题与本技术的陈述或主题相冲突,则以本技术为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1