提取用于嵌入式人工智能机制的特征的方法、系统和电路与流程

文档序号:32944472发布日期:2023-01-14 10:08阅读:51来源:国知局
提取用于嵌入式人工智能机制的特征的方法、系统和电路与流程

1.本公开总体涉及在嵌入式应用中经常使用的类型的电子设备。更具体地但非排他地,本公开涉及提取传感器特征以用在人工智能机制中。


背景技术:

2.诸如智能电话的许多移动电子设备包括一个或多个惯性传感器,以检测电子设备的移动。从惯性传感器获得的惯性数据可以用于旋转显示屏、控制应用功能(例如,控制视频游戏应用中的角色或检测健身活动)、“唤醒”设备等。当用户保持/佩戴电子设备时,惯性数据还可以用于确定一个或多个移动活动。例如,惯性数据可以用于确定用户静止(不移动)、步行还是跑步。这种类型的移动活动可以基于惯性数据的特性来进行确定,诸如特定惯性数据的频率和振幅。这种移动活动确定可以用于改进用户和电子设备之间的交互。
3.通常,可以利用决策树、有限状态机或其他机器学习模型从惯性数据标识活动。利用这些学习机制,信号可以利用特征集合(例如,均值、方差、能量、频率响应)来表示,特征集合包含关于包含惯性传感器的设备的移动的信息。建立这些特征来开发学习机制通常是计算密集型过程,或者可能导致丢失特征。正是针对这些和其他考虑,做出了本文描述的实施例。


技术实现要素:

4.本文描述的实施例利用顺序输入惯性传感器数据来计算递归特征,以用于训练机器学习算法或用于将数据分类为已知类。基于当前数据样本值与先前递归特征值之间的比较,来计算当前数据样本的递归特征值。递归特征包括递归最大值、递归最小值、递归峰峰值、递归平均、递归均方根、以及递归方差。
5.其他特征提取方法和系统可以利用重叠数据窗口或顺序非重叠窗口。不幸的是,使用非重叠窗口的特征检测不太灵活,并且当事件发生在两个窗口之间时出现的单事件检测可能会出现问题。例如,如果用户双击界面,如果第一次点击出现在第一窗口期间并且第二次点击出现在第二非重叠窗口期间,则系统可能看到两个分开的单击并且错过双击。使用重叠窗口的特征检测使用滑动窗口来分析多个样本上的数据。尽管使用重叠窗口可以检测到大多数信号事件(例如,双击),但这种方法通常利用更多的存储器、计算时间和总体上更多的功耗。
6.本文描述的实施例产生与重叠窗口方法类似的益处,但利用更少的计算和更小的存储器占用空间,这导致更少的功耗。
附图说明
7.参考以下附图描述了非限制性和非穷举性实施例,其中贯穿各个视图,相同的标签指代相同的部分,除非上下文另有指示。附图中元件的尺寸和相对位置不一定按比例绘制。例如,各种元件的形状被选择、放大和定位以改进附图的易读性。为便于在附图中识别,
选择了所绘元件的特定形状。下面参考附图描述一个或多个实施例,其中:
8.图1是示出用于实现本文描述的实施例的示例计算设备的框图;
9.图2是示出根据本文描述的实施例的特征提取电路结构的一个示例的概念框图;
10.图3是示出根据本文描述的实施例的递归最大值电路结构的一个示例的概念框图;
11.图4是示出根据本文描述的实施例的递归最小值电路结构的一个示例的概念框图;
12.图5是示出用于在执行最小值函数和最大值函数之间进行选择并且根据本文描述的实施例的电路结构的一个示例的概念框图;
13.图6是示出根据本文描述的实施例的基于无限脉冲响应的电路结构的一个示例的概念框图;
14.图7示出了根据本文描述的实施例的用于从递归特征训练机器学习算法的概述过程的逻辑流程图;以及
15.图8示出了根据本文描述的实施例的用于递归地计算惯性传感器信号的特征的过程的逻辑流程图。
具体实施方式
16.在以下描述中,连同附图,阐述了某些细节以便提供对设备、系统、方法和物品的各种实施例的透彻理解。然而,本领域的技术人员将理解,可以在没有这些细节的情况下实施其他实施例。在其他情况下,在一些图中未详细示出或描述与例如电路(诸如晶体管、乘法器、加法器、除法器、比较器、集成电路、逻辑门、有限状态机、加速度计、陀螺仪、磁场传感器、存储器、总线系统等)相关联的公知的结构和方法,以避免不必要地混淆实施例的描述。此外,未示出或描述与本公开的环境相关联的公知的结构或组件(包括但不限于通信系统和网络),以便避免不必要地模糊实施例的描述。
17.除非上下文另有要求,否则贯穿随后的说明书和权利要求书,“包括”一词及其变型(诸如“包含”和“具有”)应当以开放、包含性的意义来解释,即“包括但不限于”。
18.贯穿说明书、权利要求书和附图,除非上下文另有明确规定,否则以下术语具有与本文明确相关联的含义。术语“本文”是指与当前申请相关联的说明书、权利要求和附图。短语“在一个实施例中”、“在另一个实施例中”、“在各种实施例中”、“在一些实施例中”、“在其他实施例中”及其其他变型是指本公开的一个或多个特征、结构、功能、限制或特性,并且不限于相同或不同的实施例,除非上下文另有明确规定。如本文所使用的,术语“或”是包含性“或”运算符,并且等同于短语“a或b,或两者”或“a或b或c,或其任何组合”,并且具有附加元素的列表被同样对待。术语“基于”不是排他性的,并且允许基于未描述的附加特征、功能、方面或限制,除非上下文另有明确规定。此外,贯穿说明书,“一”、“一个”和“该”的含义包括单数和复数。此外,在一个或多个实施例中可以以任何适当的方式组合特定特征、结构或特性以获得进一步的实施例。
19.图1是示出用于实现本文描述的实施例的示例计算设备108的框图。计算设备108包括mems 110、处理器112和输入/输出116。尽管未示出,但计算设备108可以具有其他计算组件。
20.mems 110获得各种传感器数据,该各种传感器数据被提供给处理器112以用于处理。mems 110可以包括被配置为感测与计算设备108相关联的移动或位置数据的加速度计或陀螺仪。虽然图1示出了mems的使用,但也可以使用其他感测技术或输入传感器。这种其他传感器可以包括但不限于gps系统、温度传感器、气体传感器、压力传感器、磁传感器、成像传感器等,或者它们的各种组合。
21.从mems 110获得的数据被提供给处理器112以用于附加处理。处理器112包括一个或多个处理核或电路。处理器可以包括例如一个或多个处理器、状态机、微处理器、可编程逻辑电路、分立电路系统、逻辑门、寄存器等,和/或它们的各种组合。处理器112可以控制计算设备108的整体操作、计算设备108对应用的执行等。
22.在一些实施例中,处理器112可以执行计算机可读指令以执行本文描述的实施例。在其他实施例中,处理器112可以包括可以实现本文描述的实施例的电路或逻辑。在又一些其他实施例中,与处理器112分离的其他电路或逻辑(未示出)可以用于实现本文描述的实施例。
23.计算设备108还包括一个或多个存储器(未示出),诸如一个或多个易失性或非易失性存储器或其组合,存储器例如可以存储与由计算设备108执行的应用和操作有关的指令和数据中的全部或部分指令和数据。例如,存储器可以存储计算机指令,该计算机指令在由处理器108执行时,执行本文描述的行动。存储器还存储用于执行本文描述的实施例的各种信息,包括输入数据、阈值或系数。
24.计算设备108还包括输入/输出116。输入/输出116可以被配置为输出由处理器112(诸如通过执行本文描述的实施例)获得或确定的信息或结果。在其他实施例中,输入/输出116可以被配置为从其他计算设备或外部传感器接收输入数据。
25.计算设备108还可以包括总线系统(未示出),该总线系统可以被配置为使得处理器、mems 110、输入/输出116、存储器或其他电路或电路系统(未示出)通信地相互耦合,以向其他组件发送或从其他组件接收数据,或者向其他组件发送并且从其他组件接收数据。总线系统可以包括电耦合到计算设备108的各种组件的数据总线、地址总线、功率总线或控制总线中的一个或多个或其某种组合。
26.尽管本文描述的实施例可以讨论标识输入信号数字以用于训练分类模型,但实施例不限于此。例如,计算设备108的处理器112(或分类模块(未示出))也可以被配置为使用本文描述的递归计算实施例(例如,计算递归最大值、递归最小值、递归峰峰值、递归平均、递归均方根或递归方差中的一个或多个),以标识多个输入信号特征,该多个输入信号特征可以与分类模块(例如,使用本文描述的递归计算实施例训练的分类模块)进行比较,以从多个已知类标识已知类。本文描述的递归计算的特征提供了输入信号的描述或表示。因此,递归计算的特征可以用于训练机器学习机制,或者递归计算的特征可以与先前训练的机器学习机制结合使用,以将输入信号标识或分类为已知类。
27.图2是示出根据本文描述的实施例的特征提取电路结构204的示例200的概念框图。电路结构204包括无限脉冲响应模块206、递归最大值模块208、递归最小值模块210和差模块212。特征提取电路结构204还与ram 202通信,ram 202可以存储由无限脉冲响应模块206、递归最大值模块208或递归最小值模块210使用的各种系数、阈值或其他信息或参数。
28.无限脉冲响应模块206接收输入数据信号x(i),诸如来自图1中的mems 110的惯性
传感器数据。无限脉冲响应模块206被配置为计算并且输出输入数据信号x(i)的递归平均220、输入数据信号x(i)的递归均方根222和输入数据信号x(i)的递归方差224。下面结合图6更详细地讨论无限脉冲响应模块206的附加细节。
29.递归最大值模块208也接收输入数据信号x(i)。递归最大值模块208被配置为计算并且输出输入数据信号x(i)的递归最大值226。下面结合图3更详细地讨论递归最大值模块208的附加细节。
30.递归最小值模块210接收输入数据信号x(i)。递归最小值模块210被配置为计算并且输出输入数据信号x(i)的递归最小值230。下面结合图4更详细地讨论递归最小值模块210的附加细节。
31.差模块212接收来自递归最大值模块208的递归最大值输出和来自递归最小值模块210的递归最小值输出。差模块212被配置为计算并且输出输入数据信号x(i)的峰峰值228。
32.图3是示出根据本文描述的实施例的递归最大值电路结构300的一个示例的概念框图。递归最大值电路结构300可以是图2中的递归最大值模块208的一个实施例。递归最大值电路结构300包括第一最大值函数模块304、第二最大值函数模块306、差模块312、乘法器模块314、加法器模块316和多路复用器模块318。
33.第一最大值函数模块304接收输入数据信号x(i)和先前递归最大值302。第一最大值函数模块304被配置为:确定输入数据信号x(i)的当前样本值是否大于先前递归最大值302。该确定作为选择信号被提供给多路复用器模块318。第一最大值函数模块304还输出输入信号x(i)的当前样本值与先前递归最大值之间的最大值302。
34.第二最大值函数模块306接收来自第一最大值函数模块304的最大值输出和阈值308。阈值是由用户或管理员设置以使递归最大值320不小于阈值的值。第二最大值函数模块306被配置为生成输出,该输出是从第一最大值函数模块304接收的最大值输出与阈值308之间的最大值。
35.差模块312接收阈值308和先前递归最大值302。差模块312被配置为生成输出,该输出是阈值308和先前递归最大值302之间的差。
36.乘法器模块314接收来自差模块312的输出和最大系数310。最大系数310由用户或管理员设置,以设置当输入信号x(i)的当前数据样本小于先前递归最大值302时,递归最大值320减小的速度。乘法器模块314被配置为生成输出,该输出是来自差模块312的输出与最大系数310的乘积。
37.加法器模块316接收阈值308和来自乘法器314的输出。加法器模块316被配置为生成输出,该输出是来自乘法器314的输出与阈值308的和。
38.多路复用器模块318接收来自第二最大值函数模块306的输出和来自加法器模块316的输出,作为输入数据线。多路复用器模块318还接收输入信号x(i)的当前数据样本是否大于先前递归最大值302的指示,作为选择输入线或控制输入线。多路复用器模块318被配置为:响应于来自第一最大值函数模块304的输出指示当前样本值大于先前递归最大值302,选择来自第二最大值函数模块306的输出作为递归最大值320。反之,多路复用器模块318被配置为:响应于来自第一最大值函数模块304的输出指示当前样本值不大于先前递归最大值302,选择来自加法器模块316的输出作为递归最大值320。
39.图4是示出根据本文描述的实施例的递归最小值电路结构400的一个示例的概念框图。递归最小值电路结构400可以是图2中的递归最小值模块210的一个实施例。递归最小值电路结构400包括第一最小值函数模块404、第二最小值函数模块406、第一差模块412、乘法器模块414、第二差模块416和多路复用器模块418。
40.第一最小值函数模块404接收输入数据信号x(i)和先前递归最小值402。第一最小值函数模块404被配置为:确定输入数据信号x(i)的当前样本值是否小于先前递归最小值402。该确定作为选择信号被提供给多路复用器模块418。第一最小值函数模块404还输出输入信号x(i)的当前样本值与先前递归最小值402之间的最小值。
41.第二最小值函数模块406接收来自第一最小值函数模块404的最小值输出和阈值408。阈值是由用户或管理员设置以使递归最小值420不大于阈值的值。第二最小值函数模块406被配置为生成输出,该输出是从第一最小值函数模块404接收的最小值输出与阈值408之间的最小值。
42.第一差模块412接收阈值408和先前递归最小值402。第一差模块412被配置为生成输出,该输出是阈值408和先前递归最小值402之间的差。
43.乘法器模块414接收来自第一差模块412的输出和最小系数410。最小系数410由用户或管理员设置,以设置当输入信号x(i)的当前数据样本大于先前递归最小值402时,递归最小值420增加的速度。乘法器模块414被配置为生成输出,该输出是来自第一差模块412的输出与最小系数410的乘积。
44.第二差模块416接收阈值408和来自乘法器414的输出。第二差模块416被配置为生成输出,该输出是阈值408与来自乘法器414的输出之间的差。
45.多路复用器模块418接收来自第二最小值函数模块406的输出和来自第二差模块416的输出,作为输入数据线。多路复用器模块418还接收输入信号x(i)的当前数据样本是否小于先前递归最小值402的指示,作为选择输入线。多路复用器模块418被配置为:响应于来自第一最小值函数模块404的输出指示当前样本值小于先前递归最小值402,选择来自第二最小值函数模块406的输出作为递归最小值420。反之,多路复用器模块418被配置为:响应于来自第一最小值函数模块404的输出指示当前样本值不小于先前递归最小值402,选择来自第二差模块416的输出作为递归最小值420。
46.图5是示出用于在执行最小值函数和最大值函数之间进行选择并且根据本文描述的实施例的电路结构502的一个示例500的概念框图。如上所述,图3中的递归最大值电路结构300利用所提到的两个最大值函数模块304和306,并且图4中的递归最小值电路结构400利用两个最小值函数模块404和406。在一些实施例中,电路结构502可以用于基于最小值/最大值选择输入来执行最小值或最大值确定。
47.电路结构502包括差模块504、xor模块506和多路复用器508。差模块504接收被标记为“a”和“b”的两个输入。在电路结构502是图3中的最大值函数模块304的一些情况下,输入a可以是图3中的输入信号x(i),并且输入b可以是图3中的先前递归最大值302;在电路结构502是图3中的最大值函数模块306的情况下,输入a可以是来自图3中的最大值函数模块304的输出,并且输入b可以是图3中的阈值308。在电路结构502是图4中的最小值函数模块404的其他情况下,输入a可以是图4中的输入信号x(i),并且输入b可以是图4中的先前递归最小值402;在电路结构502是图4中的最小值函数模块406的情况下,输入a可以是来自图4
中的最小值函数模块404的输出,并且输入b可以是图4中的阈值408。
48.差模块504被配置为:计算输入a和输入b之间的差(a-b),并且根据差的结果是正还是负来输出1或0。如果结果为正,则差模块504输出1,如果结果为负,则差模块504输出0。该符号位输出被提供给xor模块506。
49.xor模块506接收来自差模块504的符号位,并且接收最大值或最小值选择输入(0或1),这取决于是使用最小值函数还是使用最大值函数。在各种实施例中,当使用最大值函数(诸如图3中的最大值函数模块304或最大值函数模块306)时,输入0,当使用最小值函数(诸如图4中的最小值函数模块404或最小值函数模块406)时,输入1。xor模块506的输出指示输入a的值是否大于输入b的值,其中1指示输入a大于输入b。该输出被提供给多路复用器模块508作为选择输入位。
50.多路复用器模块508接收数据输入a和b,其中数据输入a与多路复用器模块508的选择输入1对齐,并且数据输入b与多路复用器模块508的选择输入0对齐。如果xor 506的输出是1,则从电路结构502输出数据输入a,如果xor 506的输出为0,则从电路结构502输出数据输入b。
51.图6是示出根据本文描述的实施例的基于无限脉冲响应的电路结构604的一个示例600的概念框图。基于无限脉冲响应的电路结构604包括第一无限脉冲响应滤波器模块608、第二无限脉冲响应滤波器模块610、第一平方模块606、第二平方模块612、差模块614,以及平方根模块616。
52.第一无限脉冲响应滤波器模块608接收数据输入x(i),并且被配置为计算第一无限脉冲响应输出信号。该输出信号是递归平均620。第一无限脉冲响应滤波器模块608还可以接收来自ram 602的各种参数或配置信息。
53.第一平方模块606也接收数据输入x(i),并且被配置为计算数据输入信号的平方,其被输出到第二无限脉冲响应滤波器模块610。第二无限脉冲响应滤波器模块610被配置为计算第二无限脉冲响应输出信号。第二无限脉冲响应滤波器模块610还可以接收来自ram 602的各种参数或配置信息。
54.平方根模块616接收来自第二无限脉冲响应滤波器模块610的输出信号。平方根模块616被配置为计算第二无限脉冲响应输出信号的平方根,即递归均方根624。
55.第二平方模块612接收来自第一无限脉冲响应滤波器模块608的第一无限脉冲响应输出信号。第二平方模块612被配置为计算第一无限脉冲响应输出信号的平方。
56.差模块614接收来自第二平方模块612的输出,并且接收来自第二无限脉冲响应滤波器模块610的第二无限脉冲响应输出信号。差模块614计算第一无限脉冲响应输出信号的平方与第二无限脉冲响应输出信号之间的差。差模块614的输出是递归方差622。
57.图2-图6中所示的组件、模块或其他特征可以包括一个或多个逻辑门或由一个或多个逻辑门组成,或者它们的功能可以由一个或多个处理单元执行。
58.现在将关于图7和图8描述一个或多个实施例的操作,并且为了方便起见,将关于上述图1-图6的实施例进行描述。在各种实施例中的至少一个实施例中,分别结合图7和图8描述的过程700和过程800可以由一个或多个计算设备(诸如图1中的计算设备108)实现或在其上执行。
59.图7示出了根据本文描述的实施例的用于从递归特征训练机器学习算法的概述过
程700的逻辑流程图。
60.在开始块之后,过程700在框702处开始,在框702中,随时间接收多个惯性传感器数据样本。如上所述,惯性传感器数据可以包括由加速度计、陀螺仪或其他惯性传感器以设置或预先确定时间间隔捕获的多个样本。多个惯性传感器数据样本也可以被称为输入信号或输入惯性数据信号。
61.过程700进行到框704,在框704中,基于从多个接收的惯性传感器数据样本获得的顺序样本,递归地计算多个特征,这将在下面结合图8更详细地描述。
62.过程700在框706处继续,在框706中,利用已知类来标记所接收的传感器数据样本。已知类的示例可以是步行、慢跑、骑自行车、休息等。在至少一个实施例中,用户或管理员提供输入,该输入利用已知类来标记传感器数据。
63.过程700接下来进行到框708,在框708中,机器学习算法或有限状态机被训练,以基于递归计算的特征来检测已知类。在各种实施例中,可以采用已知的机器学习训练技术,来基于递归计算的特征生成针对已知类的预测模型。
64.在框708之后,过程700终止或以其他方式返回到调用过程以执行其他行动。尽管未示出,但过程700可以循环到框702,以接收附加的惯性传感器数据,该附加的惯性传感器数据可以用于递归地计算针对其他已知类的特征。
65.图8示出了根据本文描述的实施例的用于递归地计算惯性传感器信号的特征的过程800的逻辑流程图。
66.在开始块之后,过程800在框802处开始,在框802中,选择当前惯性传感器数据样本。
67.过程800进行到框804,在框804中,获得先前样本递归最大值。在各种实施例中,使用本文描述的实施例,针对紧接在当前样本之前的惯性传感器数据样本计算先前样本递归最大值。
68.过程800在框806处继续,在框806中,针对当前样本计算递归最大值。在各种实施例中,基于先前样本递归最大值和当前样本的值,来计算该递归最大值。
69.例如,如果当前样本的值小于阈值,则将针对当前样本的递归最大值设置为阈值。如果当前样本的值大于先前样本的先前递归最大值,则将针对当前样本的递归最大值设置为当前样本的值。并且如果当前样本的值小于或等于先前递归最大值,则将针对当前样本的递归最大值设置为阈值与先前递归最大值减去阈值乘以最大系数的和。在各种实施例中,如果当前样本的值大于先前递归最大值,则将最大系数设置为默认系数值。并且如果当前样本的值小于或等于先前递归最大值,则将最大系数设置为最大系数与默认系数值的乘积。
70.这些计算和确定根据以下等式进行:
71.如果xi>max
i-1
,则:
72.maxi=xi73.c
max
=c
start
74.如果xi≤max
i-1
,则:
75.maxi=ths+(max
i-1-ths)
·cmax
76.c
max
=c
maxcstat
77.如果maxi<ths,则:
78.maxi=ths
79.其中,
80.xi是当前惯性传感器数据样本i的值;
81.ths是由管理员设置的阈值最大值;
82.maxi为当前惯性传感器数据样本i的递归最大值;
83.max
i-1
是先前惯性传感器数据样本i-1的先前递归最大值;
84.c
start
是由管理员设置的默认最大系数,用于指示递归最大值下降的速度,并且被设置在0和1之间;以及
85.c
max
是当前最大系数。
86.过程800进行到框808,在框808中,获得先前样本递归最小值。在各种实施例中,使用本文描述的实施例,针对紧接在当前样本之前的惯性传感器数据样本,计算先前样本递归最小值。
87.接下来,过程800进行到框81o,在框810中,针对当前样本计算递归最小值。在各种实施例中,基于先前样本递归最小值和当前样本的值,来计算该递归最小值。
88.例如,如果当前样本的值大于阈值,则将针对当前样本的递归最小值设置为阈值。如果当前样本的值小于先前样本的先前递归最小值,则将针对当前样本的递归最小值设置为当前样本的值。并且如果当前样本的值大于或等于先前递归最小值,则将针对当前样本的递归最小值设置为阈值与阈值减去先前递归最小值乘以最小系数的差。在各种实施例中,如果当前样本的值小于先前递归最小值,则将最小系数设置为默认系数值。并且如果当前样本的值大于或等于先前递归最小值,则将最小系数设置为最小系数与默认系数值的乘积。
89.这些计算和确定根据以下等式进行:
90.如果xi<min
i-1
,则:
91.mini=xi92.c
min
=c
start
93.如果xi≥min
i-1
,则:
94.mini=ths-(ths-min
i-1
)
·cmin
95.c
min
=c
mincstart
96.如果maxi>ths,则:
97.mini=ths
98.其中,
99.xi是当前惯性传感器数据样本i的值;
100.ths是由管理员设置的阈值最小值;
101.mini是当前惯性传感器数据样本i的递归最小值;
102.min
i-1
是先前惯性传感器数据样本i-1的先前递归最小值;
103.c
start
是由管理员设置的默认最小系数,用于指示递归最小值下降的速度,并且被设置在0和1之间;以及
104.c
min
是当前最小系数。
105.接下来,过程800在框812处继续,在框812中,针对当前样本计算递归峰峰值。在各种实施例中,递归峰峰值是针对当前样本的递归最大值与针对当前样本的递归最小值之间的差。
106.过程800进行到框814,在框814中,针对当前样本计算递归平均。在各种实施例中,在多个惯性传感器数据样本上使用无限脉冲响应低通滤波器,来计算递归平均。该计算和确定根据以下等式进行:
107.averagei=iir
lp
[xi]
[0108]
其中,
[0109]
average是当前惯性传感器数据样本i的递归平均;
[0110]
xi是当前惯性传感器数据样本i的值;以及
[0111]
iir
lp
是当前惯性传感器数据样本i的惯性数据信号上的无限脉冲响应低通滤波器。
[0112]
过程800在框816处继续,在框816中,针对当前样本计算递归均方根。在各种实施例中,在多个惯性传感器数据样本的平方上使用无限脉冲响应低通滤波器,来计算递归均方根。该计算和确定根据以下等式进行:
[0113][0114]
其中,
[0115]
rms是当前惯性传感器数据样本i的递归均方根;
[0116]
xi是当前惯性传感器数据样本i的值;以及
[0117]
iir
lp
是当前惯性传感器数据样本i的惯性数据信号上的无限脉冲响应低通滤波器。
[0118]
过程800在框818处继续,在框818中,针对当前样本计算递归方差。在各种实施例中,根据多个惯性传感器数据样本的平方上的第一无限脉冲响应低通滤波器与多个惯性传感器数据样本上的第二无限脉冲响应低通滤波器的平方之间的差,来计算递归方差。该计算和确定根据以下等式进行:
[0119]
variancei=iir
lp
[x
i2
]-iir
lp2
[xi]
[0120]
其中,
[0121]
variance是当前惯性传感器数据样本i的递归方差;
[0122]
xi是当前惯性传感器数据样本i的值;以及
[0123]
iir
lp
是当前惯性传感器数据样本i的惯性数据信号上的无限脉冲响应低通滤波器。
[0124]
接下来,过程800在判定框820处继续,在判定框820中,确定是否要选择另一个惯性传感器数据样本。在至少一个实施例中,如果正在或已经从惯性传感器接收到附加数据,则选择下一个惯性传感器数据样本。如果要选择另一个惯性传感器数据样本,则过程800流向框822;否则,过程800终止或以其他方式返回调用过程以执行其他行动;
[0125]
在框822处,将当前样本设置为先前样本。
[0126]
然后,过程800进行到框824,在框824中,选择下一个惯性传感器数据样本作为当前样本。
[0127]
过程800循环到框804,以计算针对新的当前样本的递归最大值、递归最小值、递归峰峰值、递归平均、递归均方根、以及递归方差。
[0128]
过程800继续循环,直到所有惯性传感器数据都被处理或直到被管理员或其他过程停止为止。
[0129]
尽管过程800被描述为以特定顺序的连续步骤,但实施例不限于此。例如,递归最大值、递归最小值、递归峰峰值、递归平均、递归均方根、以及递归方差中的两个或多个可以并行或按所示顺序以外的顺序进行确定。
[0130]
如上所述,图8中描述的递归最大值、递归最小值、递归峰峰值、递归平均、递归均方根、以及递归方差的计算也可以用于基于递归计算的特征与训练的分类模型或训练的机器学习机制之间的比较,将输入传感器数据信号分类为已知类。
[0131]
在前述描述中,阐述了某些特定细节以提供对各种公开实施例的透彻理解。然而,相关领域的技术人员应当认识到,实施例可以在没有这些特定细节中的一个或多个特定细节的情况下,或者利用其他方法、组件、材料等来实践。在其他情况下,与包括客户端和服务器计算系统的电子和计算系统以及网络相关联的公知的结构没有被详细示出或描述,以避免不必要地模糊实施例的描述。
[0132]
本文提供的公开内容的标题和摘要仅是为了方便,并不限制或解释实施例的范围或含义。
[0133]
一种方法,可以被概括为包括:随时间接收多个惯性传感器数据样本;基于对多个惯性传感器数据样本的顺序样本的分析,随时间递归地计算多个特征,包括:针对多个惯性传感器数据样本中的每个当前样本,基于针对对应特征的先前递归特征值与当前样本之间的比较,计算针对多个特征中的每个对应特征的当前特征值;利用已知类来标记多个惯性传感器数据样本;以及基于随时间的计算的多个特征,训练机器学习算法以检测已知类。随时间递归地计算多个特征可以包括计算多个惯性传感器数据样本上的递归最大值。
[0134]
计算递归最大值可以包括:响应于当前样本的值小于阈值,将针对当前样本的递归最大值设置为阈值;响应于当前样本的值大于针对多个惯性传感器数据样本的先前样本的先前递归最大值,将针对当前样本的递归最大值设置为当前样本的值;以及响应于当前样本的值小于或等于先前递归最大值,将针对当前样本的递归最大值设置为阈值与先前递归最大值减去阈值乘以最大系数的和。方法还可以包括:响应于当前样本的值大于先前递归最大值,将最大系数设置为默认系数值;以及响应于当前样本的值小于或等于先前递归最大值,将最大系数设置为最大系数与默认系数值的乘积。
[0135]
随时间递归地计算多个特征可以包括计算多个惯性传感器数据样本上的递归最小值。计算递归最小值可以包括:响应于当前样本的值大于阈值,将针对当前样本的递归最小值设置为阈值;响应于当前样本的值小于针对多个惯性传感器数据样本的先前样本的先前递归最小值,将针对当前样本的递归最小值设置为当前样本的值;以及响应于当前样本的值大于或等于先前递归最小值,将针对当前样本的递归最小值设置为阈值与阈值减去先前递归最小值乘以最小系数的差。方法还可以包括:响应于当前样本的值小于先前递归最小值,将最小系数设置为默认系数值;以及响应于当前样本的值大于或等于先前递归最小值,将最小系数设置为最小系数与默认系数值的乘积。
[0136]
随时间递归地计算多个特征可以包括:计算多个惯性传感器数据样本上的递归最
大值和递归最小值之间的递归峰峰值。
[0137]
随时间递归地计算多个特征可以包括:随时间计算多个惯性传感器数据样本的递归平均。计算递归平均可以包括:计算多个惯性传感器数据样本上的无限脉冲响应低通滤波器。
[0138]
随时间递归地计算多个特征可以包括:随时间计算多个惯性传感器数据样本的递归均方根。计算递归均方根可以包括:计算多个惯性传感器数据样本的平方上的无限脉冲响应低通滤波器的平方根。
[0139]
随时间递归地计算多个特征可以包括:随时间计算多个惯性传感器数据样本的递归方差。计算递归方差可以包括:计算多个惯性传感器数据样本的平方上的第一无限脉冲响应低通滤波器与多个惯性传感器数据样本上的第二无限脉冲响应低通滤波器的平方之间的差。
[0140]
一种系统,可以被概括为包括:无限脉冲响应模块,被配置为计算输入信号的递归平均、输入信号的递归均方根、以及输入信号的递归方差;递归最大值模块,被配置为计算输入信号的递归最大值;递归最小值模块,被配置为计算输入信号的递归最小值;以及差模块,被配置为从递归最大值和递归最小值,计算输入信号的递归峰峰值。
[0141]
系统还可以包括训练模块,该训练模块被配置为基于随时间从输入信号的递归平均、输入信号的递归均方根、输入信号的递归方差、输入信号的递归最大值、输入信号的递归最小值、以及输入信号的递归峰峰值而计算的多个特征,训练机器学习算法来检测已知类。
[0142]
无限脉冲响应模块可以包括:第一无限脉冲响应滤波器模块,可以被配置为从输入信号计算第一无限脉冲响应输出信号作为输入信号的递归平均;第一平方模块,可以被配置为计算输入信号的平方;第二无限脉冲响应滤波器模块,可以被配置为从平方输入信号计算第二无限脉冲响应输出信号;第二平方模块,可以被配置为计算第一无限脉冲响应输出信号的平方;第二差模块,可以被配置为计算第一无限脉冲响应输出信号的平方与第二无限脉冲响应输出信号之间的差,作为递归方差;以及平方根模块,可以被配置为计算第二无限脉冲响应输出信号的平方根,作为递归均方根。
[0143]
递归最大值模块可以包括:第一最大值函数模块,可以被配置为生成第一输出,第一输出是输入信号的当前样本值与先前递归最大值之间的最大值,并且被配置为生成第二输出,第二输出指示输入信号的当前样本值是否可以大于先前递归最大值;第二最大值函数模块,可以被配置为生成第三输出,第三输出可以是第一输出与阈值之间的最大值;第二差模块,可以被配置为生成第四输出,第四输出可以是阈值与先前递归最大值之间的差;乘法器模块,可以被配置为生成第五输出,第五输出可以是第四输出与最大系数的乘积;加法器模块,可以被配置为生成第六输出,第六输出可以是第五输出与阈值的和;以及多路复用器模块,可以被配置为:响应于第二输出指示当前样本值可以大于先前递归最大值,选择第三输出作为递归最大值,或者响应于第二输出指示当前样本值可以不大于先前递归最大值,选择第六输出作为递归最大值。
[0144]
递归最小值模块可以包括:第一最小值函数模块,可以被配置为生成第一输出,第一输出是输入信号的当前样本值与先前递归最小值之间的最小值,并且被配置为生成第二输出,第二输出指示输入信号的当前样本值是否可以小于先前递归最小值;第二最小值函
数模块,可以被配置为生成第三输出,第三输出可以是第一输出与阈值之间的最小值;第二差模块,可以被配置为生成第四输出,第四输出是阈值与先前递归最小值之间的差;乘法器模块,可以被配置为生成第五输出,第五输出可以是第四输出与最小系数的乘积;第三差模块,可以被配置为生成第六输出,第六输出可以是阈值与第五输出之间的差;以及多路复用器模块,可以被配置为:响应于第二输出指示当前样本值可以小于先前递归最小值,选择第三输出作为递归最小值,或者响应于第二输出指示当前样本值可以不小于先前递归最小值,选择第六输出作为递归最小值。
[0145]
一种非暂态计算机可读介质,具有配置微控制器以执行方法的内容,方法可以被概括为包括:接收来自惯性传感器的输入信号;接收标记数据,标记数据指示与输入信号相关联的已知类;基于对输入信号的分析,随时间递归地计算多个特征,包括:随时间生成输入信号的递归最大值;随时间生成输入信号的递归最小值;随时间从递归最大值和递归最小值生成输入信号的递归峰峰值;随时间生成输入信号的递归平均;随时间生成输入信号的递归均方根;以及随时间生成输入信号的递归方差;以及基于计算的多个特征,训练机器学习算法来检测已知类。
[0146]
一种方法,可以被概括为包括:随时间接收多个惯性传感器数据样本;对惯性传感器数据采用分类模型,以将惯性传感器数据分类为多个已知类中的已知类,包括:基于对多个惯性传感器数据样本的顺序样本的分析,随时间递归地计算多个特征,包括:针对多个惯性传感器数据样本中的每个当前样本,基于针对对应特征的先前递归特征值与当前样本之间的比较,计算针对多个特征中的每个对应特征的当前特征值;基于递归计算的多个特征与分类模型之间的比较,来标识已知类。
[0147]
随时间递归地计算多个特征可以包括:计算多个惯性传感器数据样本上的递归最大值。计算递归最大值可以包括:响应于当前样本的值小于阈值,将针对当前样本的递归最大值设置为阈值;响应于当前样本的值大于针对多个惯性传感器数据样本的先前样本的先前递归最大值,将针对当前样本的递归最大值设置为当前样本的值;以及响应于当前样本的值小于或等于先前递归最大值,将针对当前样本的递归最大值设置为阈值与先前递归最大值减去阈值乘以最大系数的和。方法还可以包括:响应于当前样本的值大于先前递归最大值,将最大系数设置为默认系数值;以及响应于当前样本的值小于或等于先前递归最大值,将最大系数设置为最大系数与默认系数值的乘积。
[0148]
随时间递归地计算多个特征可以包括:计算多个惯性传感器数据样本上的递归最小值。计算递归最小值可以包括:响应于当前样本的值大于阈值,将针对当前样本的递归最小值设置为阈值;响应于当前样本的值小于针对多个惯性传感器数据样本的先前样本的先前递归最小值,将针对当前样本的递归最小值设置为当前样本的值;以及响应于当前样本的值大于或等于先前递归最小值,将针对当前样本的递归最小值设置为阈值与阈值减去先前递归最小值乘以最小系数的差。方法还可以包括:响应于当前样本的值小于先前递归最小值,将最小系数设置为默认系数值;以及响应于当前样本的值大于或等于先前递归最小值,将最小系数设置为最小系数与默认系数值的乘积。
[0149]
随时间递归地计算多个特征可以包括:计算多个惯性传感器数据样本上的递归最大值和递归最小值之间的递归峰峰值。
[0150]
随时间递归地计算多个特征可以包括:随时间计算多个惯性传感器数据样本的递
归平均。计算递归平均可以包括:计算多个惯性传感器数据样本上的无限脉冲响应低通滤波器。
[0151]
随时间递归地计算多个特征可以包括:随时间计算多个惯性传感器数据样本的递归均方根。计算递归均方根可以包括:计算多个惯性传感器数据样本的平方上的无限脉冲响应低通滤波器的平方根。
[0152]
随时间递归地计算多个特征可以包括:随时间计算多个惯性传感器数据样本的递归方差。计算递归方差可以包括:计算多个惯性传感器数据样本的平方上的第一无限脉冲响应低通滤波器与多个惯性传感器数据样本上的第二无限脉冲响应低通滤波器的平方之间的差。
[0153]
一种计算设备,可以被概括为包括:无限脉冲响应模块,被配置为计算输入信号的递归平均、输入信号的递归均方根、以及输入信号的递归方差;递归最大值模块,被配置为计算输入信号的递归最大值;递归最小值模块,被配置为计算输入信号的递归最小值;以及差模块,被配置为从递归最大值和递归最小值,计算输入信号的递归峰峰值;以及分类模块,被配置为:基于输入信号的递归平均、输入信号的递归均方根、输入信号的递归方差、输入信号的递归最大值、输入信号的递归最小值、以及输入信号的递归峰峰值之间的比较,将输入信号分类为已知类。
[0154]
无限脉冲响应模块可以包括:第一无限脉冲响应滤波器模块,可以被配置为从输入信号计算第一无限脉冲响应输出信号作为输入信号的递归平均;第一平方模块,可以被配置为计算输入信号的平方;第二无限脉冲响应滤波器模块,可以被配置为从平方输入信号计算第二无限脉冲响应输出信号;第二平方模块,可以被配置为计算第一无限脉冲响应输出信号的平方;第二差模块,可以被配置为计算第一无限脉冲响应输出信号的平方与第二无限脉冲响应输出信号之间的差,作为递归方差;以及平方根模块,可以被配置为计算第二无限脉冲响应输出信号的平方根,作为递归均方根。
[0155]
递归最大值模块可以包括:第一最大值函数模块,可以被配置为生成第一输出,第一输出是输入信号的当前样本值与先前递归最大值之间的最大值,并且被配置为生成第二输出,第二输出指示输入信号的当前样本值是否可以大于先前递归最大值;第二最大值函数模块,可以被配置为生成第三输出,第三输出可以是第一输出与阈值之间的最大值;第二差模块,可以被配置为生成第四输出,第四输出可以是阈值与先前递归最大值之间的差;乘法器模块,可以被配置为生成第五输出,第五输出可以是第四输出与最大系数的乘积;加法器模块,可以被配置为生成第六输出,第六输出可以是第五输出与阈值的和;以及多路复用器模块,可以被配置为:响应于第二输出指示当前样本值可以大于先前递归最大值,选择第三输出作为递归最大值,或者响应于第二输出指示当前样本值可以不大于先前递归最大值,选择第六输出作为递归最大值。
[0156]
递归最小值模块可以包括:第一最小值函数模块,可以被配置为生成第一输出,第一输出可以是输入信号的当前样本值与先前递归最小值之间的最小值,并且被配置为生成第二输出,第二输出指示输入信号的当前样本值是否可以小于先前递归最小值;第二最小值函数模块,可以被配置为生成第三输出,第三输出可以是第一输出与阈值之间的最小值;第二差模块,可以被配置为生成第四输出,第四输出可以是阈值与先前递归最小值之间的差;乘法器模块,可以被配置为生成第五输出,第五输出可以是第四输出与最小系数的乘
积;第三差模块,可以被配置为生成第六输出,第六输出可以是阈值与第五输出之间的差;以及多路复用器模块,可以被配置为:响应于第二输出指示当前样本值可以小于先前递归最小值,选择第三输出作为递归最小值,或者响应于第二输出指示当前样本值可以不小于先前递归最小值,选择第六输出作为递归最小值。
[0157]
上述各种实施例可以被组合以提供进一步的实施例。如果需要,可以修改实施例的方面以采用各种专利、申请和公开的构思以提供更进一步的实施例。
[0158]
可以根据以上详细描述对实施例进行这些和其他改变。一般而言,在所附权利要求中,所使用的术语不应当被解释为将权利要求限制为在说明书和权利要求中公开的特定实施例,而是应当被解释为包括所有可能的实施例以及这种权利要求被赋予的等价物的全部范围。因此,权利要求不受本公开的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1