掌桥专利:专业的专利平台
掌桥专利
首页

用于手动装配线操作的自动重复步骤和循环检测的方法和系统

文献发布时间:2023-06-19 12:07:15


用于手动装配线操作的自动重复步骤和循环检测的方法和系统

技术领域

本公开总体上涉及人类运动感测,并且更特别地涉及针对定义过程的人类运动的自动分析。

背景技术

除非本文中另有指示,否则本部分中描述的材料不是本申请中的权利要求的现有技术,并且不通过包含在本部分中而被承认为现有技术。

人类移动的各方面可以例如对设计工具的方式、布局工作空间的方式或实行任务的方式产生重大影响。了解人体可以如何移动以及如何与对象和环境相互作用可以导致更符合人体工程学的工具、更高效导航的工作空间以及更直观实行的任务。然而,人类可能的运动和姿势范围很广,并且诸如举起杯子、指向方向或转动螺钉之类的简单任务往往由生物力学相互作用的复杂集合造成。这种由复杂移动造成的简单结果的关系可以使人类运动和姿势极其难以用有意义或实用的方式来量化或理解。

如本文中使用的,“移动”包括“运动”(即,身体部位的方位的相对改变)和“姿势”(即,身体部位的取向的相对改变)中的一个或多个。由于即使是简单动作下的生物力学相互作用的复杂性质,通常基于结果而不是对移动本身的分析来评估人类移动。例如,评估投手投掷的球、艺术家画的画等通常比评估为达到那些结果而执行的移动容易得多。然而,考虑结果在训练他人准确实行潜在移动方面可能具有有限的效用。

例如,手动以及甚至半自动装配线依赖于工人准确地实行复杂的移动序列,以便维持装配质量和生产率水平。准确地说,序列中的动作必须以正确的次序、在定义的时间段内,并且用正确的运动和姿势来实行。虽然考虑序列的结果是否准确可以简单地通过考虑装配是否在定义的时间段内无缺陷地完成来完成,但是计算运动和姿势是否是最佳的、或者例如标识装配何时以及如何偏离规定的序列可能明确起来难得多。

已经开发了帮助自动标识人类移动的技术。例如,运动捕捉技术和计算机视觉已被用于生成可用于标识姿态或方位的三维模型,并且检测姿态或方位的改变以标识运动或姿势。然而,仅仅标识特定的运动或姿势对于定量计算准确度而言具有有限的效用。

在示例中,智能装配工作场所为训练工人实行装配序列提供计算机支持的指令。在训练之前,有经验的工人实行装配序列所需的移动,并且输入数据,该数据包括装配的每个步骤的图像。然后,有经验的工人标识与数据相关联的装配步骤,以定义在每个步骤期间要采取的动作和工人的手的位置,以及完成该步骤的目标时间。使用该工作场所的无经验的工人可以基于为每一个步骤标识的动作被引导通过装配序列,如果他们的手在一步骤期间处于错误的方位,则可以被通知,并且可以通过将他们的执行时间与序列的目标时间进行比较来进行评估。

然而,记录有经验的工人的手在每个步骤处的方位是对运动或姿势的结果的观察,而不是对运动或姿势本身的观察。换句话说,标识出无经验的工人的手处于错误的方位中并不揭示工人的手何时或如何偏离为到达该方位而执行的移动,或者提供关于正确移动的指导。不准确方位的标识指示了不准确的运动或姿势,但是没有定量地评估运动或姿势何时以及如何偏离,并且因此在校正偏离的移动方面具有有限的效用。

因此,可以量化人类移动准确度的系统将是有益的。不需要大量训练数据收集并且当参考数据极其有限时、或者当移动难以描述或实行时可用的系统也将是有益的。为校正偏离的移动提供指导的系统也将是有益的。使得能够比较移动与多个步骤的系统、以及能够将参考数据中的步骤信息与测试数据相关的系统也将是有益的。

发明内容

为了确定测试移动如何偏离参考移动、如何校正测试移动、和/或偏离如何影响移动结果,计算测试移动相对于参考移动的定量准确度的方法包括:利用处理器接收包括参考移动和测试移动的运动捕捉数据。测试移动经由处理器与参考移动对准。处理器计算测试移动相对于参考移动的定量准确度,并且利用显示输出设备生成表示测试移动的可视化。所计算的测试移动相对于参考移动的准确度被编码到可视化中。

在一些实施例中,表示测试移动的可视化包括时间线。所计算的测试移动相对于参考移动的准确度被编码到时间线中,以便指示在沿着时间线的不同时间点的参考移动的准确度的定量值。

在一些实施例中,参考移动被表示为第一帧序列,其均包括对应于第一序列的相应时间间隔的运动捕捉数据,并且测试移动被表示为第二帧序列,其均包括对应于第二序列的相应时间间隔的运动捕捉数据。将测试移动与参考移动对准包括将用于测试移动的第二序列的每个帧映射到用于参考移动的第一序列的至少一个帧,使得在参考移动和测试移动的每一个中的所映射的帧相对于彼此的序列次序被保留。

在一些实施例中,用于测试移动的第二序列的帧经由动态时间扭曲对准过程被映射到用于参考移动的第一序列的帧,该动态时间扭曲对准过程计及在测试移动与参考移动之间的去同步(desynchronization)。

在一些实施例中,该方法进一步包括:利用处理器和显示输出设备生成表示参考移动的可视化,该可视化包括由第一序列的帧形成的第一时间线。表示测试移动的可视化包括由第二序列的帧形成的第二时间线。所计算的测试移动相对于参考移动的准确度被编码到时间线中,以便指示在沿着时间线的不同时间点的参考移动的准确度的定量值。

在一些实施例中,处理器进一步被配置成参照由动态时间扭曲过程产生的映射来扭曲第二时间线。该扭曲包括:增厚和压缩表示相对于参考移动的对应部分实行得较慢的测试移动的部分的第二时间线的部分。该增厚和压缩的定量的量基于对应部分之间的相对速率。该扭曲附加地包括:变薄和拉伸表示相对于参考移动的对应部分实行得较快的测试移动的部分的第二时间线的部分。变薄和拉伸的定量的量基于对应部分之间的相对速率。

在一些实施例中,运动捕捉数据包括:用于测试移动和参考移动中的每一个的描述了随时间的推移所实行的运动、姿势、取向和方位中的至少一个的记录。测试移动相对于参考移动的定量准确度是参照在测试移动与参考移动之间的运动、姿势、取向和方位中的至少一个随时间的定量差异来计算的。

在一些实施例中,运动捕捉数据包括多个个体测试移动,该多个个体测试移动包括该测试移动。

在一些实施例中,该多个个体测试移动采用连续的多移动循环的形式。处理器进一步被配置成当将测试移动与参考移动对准时,将连续的多移动循环拆分成个体测试移动。

在一些实施例中,处理器进一步被配置成计算每一个个体测试移动相对于参考移动的相应定量准确度。处理器进一步被配置成利用显示输出设备生成表示每一个个体测试移动的可视化,其中,所计算的测试移动相对于参考移动的准确度被编码到可视化中。

一种用于确定测试移动相对于参考移动的定量准确度的系统,包括:显示输出设备、存储器和处理器。存储器被配置成存储编程指令和运动捕捉数据,该运动捕捉数据包括参考移动和测试移动。处理器可操作地连接到显示输出设备和存储器。处理器被配置成执行编程指令,以确定测试移动相对于参考移动的定量准确度。准确度的确定包括:将测试移动与参考移动对准,计算测试移动相对于参考移动的定量准确度,以及利用显示输出设备生成表示测试移动的可视化,其中,所计算的测试移动相对于参考移动的准确度被编码到可视化中。

在一些实施例中,参考移动被表示为第一帧序列,其均包括对应于第一序列的相应时间间隔的运动捕捉数据。测试移动被表示为第二帧序列,其均包括对应于第二序列的相应时间间隔的运动捕捉数据。将测试移动与参考移动对准包括:将用于测试移动的第二序列的每个帧映射到用于参考移动的第一序列的至少一个帧,使得在参考移动和测试移动的每一个中的所映射的帧相对于彼此的序列次序被保留。

在一些实施例中,处理器进一步被配置成经由动态时间扭曲对准过程将用于测试移动的第二序列的帧映射到用于参考移动的第一序列的帧,该动态时间扭曲对准过程计及在测试移动与参考移动之间的去同步。

在一些实施例中,准确度的确定进一步包括:利用显示输出设备生成表示参考移动的可视化,该可视化包括由第一序列的帧形成的第一时间线。表示测试移动的可视化包括由第二序列的帧形成的第二时间线。所计算的测试移动相对于参考移动的准确度被编码到时间线中,以便指示在沿着时间线的不同时间点的参考移动的准确度的定量值。处理器进一步被配置成参照由动态时间扭曲过程产生的映射来扭曲第二时间线。该扭曲包括:增厚和压缩表示相对于参考移动的对应部分实行得较慢的测试移动的部分的第二时间线的部分。该增厚和压缩的定量的量基于对应部分之间的相对速率。该扭曲另外包括:变薄和拉伸表示相对于参考移动的对应部分实行得较快的测试移动的部分的第二时间线的部分。该变薄和拉伸的定量的量基于对应部分之间的相对速率。

在一些实施例中,该系统进一步包括:被配置成将运动捕捉数据传输到存储器的运动捕捉设备。

在一些实施例中,运动捕捉设备是一副运动捕捉手套。

本发明内容仅意图介绍与定量计算测试移动相对于参考移动的准确度有关的主题,其在具体实施方式、附图和权利要求中更详细地讨论,并且不意图以任何方式限制本公开的范围。

附图说明

在结合附图考虑的以下描述中解释了本公开的前述方面和其他特征。

图1是根据本公开的用于计算连续移动数据的准确度的系统的示例性实施例的示意图。

图2是描绘了图1的系统的功能组件的示例性实施例的功能框图。

图3是描绘了用于定量计算连续移动数据的准确度的方法的示例性实施例的流程图。

图4是描绘了用于接收移动数据的图1系统的图形用户界面(“GUI”)的示例性实施例的图像。

图5是描绘了用于比较移动数据的图1系统的GUI的示例性实施例的图像。

图6a是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

图6b是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

图7是使用动态时间扭曲来对准来自不同移动的移动数据的过程的示例性实施例的视觉描绘。

图8是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

图9a是描绘了用于将移动数据拆分开的图1系统的GUI的示例性实施例的图像。

图9b是描绘了在移动数据被拆分开之后的图9a的GUI的另一个示例性实施例的图像。

图10是移动时间、平均移动误差和运动捕捉数据的拆分置信度的图表,其中多个连续的移动随时间的推移而发生。

图11是运动捕捉数据的移动时间的图表,其中多个连续的移动随时间的推移而发生。

图12是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

图13是使用动态时间扭曲来对准来自不同移动的移动数据中的语义信息的过程的另一个示例性实施例的视觉描绘。

图14是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

图15是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

图16是描绘了用于比较移动数据的图1系统的GUI的另一个示例性实施例的图像。

具体实施方式

出于促进对本文中描述的实施例原理的理解的目的,现在参照以下书面说明书中的附图和描述。引用不意图对主题范围进行任何限制。本公开还包括对图示实施例的任何变更和修改,并且包括所描述的实施例的原理的另外应用,如本文档所属领域的技术人员将通常想到的那样。

在下面的实施例中,出于说明的目的,本公开的特征是关于与手动或半自动装配过程一起使用的系统来讨论的,尽管在其他实施例中设想到了其他用途。如上文讨论的,利用人类工人的装配过程的效率依赖于那些工人移动的准确度和精确性。因此,设计和/或维护高效过程的一个方面是评估工人表现的技术。与考虑移动结果的常规系统不同,根据本公开的系统定量计算移动本身的准确度。另外,虽然常规系统通常需要关于过程的重要信息以及训练数据,但是根据本公开的系统被配置成计算移动的准确度,而不需要关于移动的任何先验信息,并且具有非常少或者甚至仅一个样本移动作为参考。定量分析工人的移动的系统具有许多可能的应用。

例如,在一些实施例中,根据本公开的系统被用作训练工具,以教育工人用于完成过程的正确运动和姿势。在训练之前或在训练的时候,向系统添加正确移动和姿势的示例。然后,工人实行该过程的移动和姿势,并且在该过程期间接收到关于工人的移动准确度的即时和定量反馈。

在另一个示例中,在一些实施例中,根据本公开的系统用于定量评估工人随时间的移动。实行相同过程的工人的多个移动相对于参考移动进行定量比较,以便发现例如过程中有问题的步骤和过程中的低效率,或者将工人的速度和准确度与参考移动和/或与其他工人进行比较。

图1是用于计算连续移动数据的准确度的系统100的示例性实施例的示意图。在一些实施例中,系统100定量计算准确度,即,与规定的运动或姿势的偏离,以及与完成移动的目标时间段的偏离。系统100包括:可操作地连接到存储器120、输入设备150和显示输出设备154的处理器108。如下文更详细描述的,在操作期间,系统100(i)例如从存储器120、输入设备150或另一个源接收包括参考移动和测试移动的运动捕捉数据128,(ii)评估测试移动相对于参考移动的准确度,以及(iii)生成计算的输出可视化数据136,其包括指示测试移动的定量准确度的视觉提示或指导。

在系统100中,处理器108包括实现中央处理单元(CPU)112和图形处理单元(GPU)116的功能的一个或多个集成电路。在一些实施例中,处理器108是片上系统(SoC),其将CPU112和GPU 116以及可选地包括例如存储器120、网络设备和定位系统的其他组件的功能集成到单个集成设备中,而在其他实施例中,CPU 112和GPU 116经由外围连接设备(诸如PCI快速或其他合适的外围数据连接)彼此连接。在一个实施例中,CPU 112是商业上可获得的中央处理设备,其实现诸如x86、ARM、Power或MIPS指令集家族之一之类的指令集。GPU 116包括用于显示至少二维(2D)和可选的三维(3D)图形的硬件和软件。在一些实施例中,处理器108使用GPU 116中的硬件功能来执行包括驱动程序和其他软件指令的软件程序,以加速本文中描述的人类移动模型的图形描绘和定量计算的可视化的生成和显示。在操作期间,CPU 112和GPU 116执行从存储器120检索的所存储的程序指令132。所存储的程序指令132包括控制CPU 112和GPU 116的操作以基于本文中描述的实施例生成人类移动的图形描绘和定量计算的可视化的软件。虽然图1描绘了包括CPU 112和GPU 116的处理器108,但是替代实施例可以省略GPU 116,这是因为在一些实施例中,服务器中的处理器108仅使用CPU112生成输出可视化数据136,并且将输出可视化数据136传输到使用GPU和显示设备来显示图像数据的远程客户端计算设备。附加地,处理器108的替代实施例可以包括微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP),或者除了CPU 112和GPU 116之外或作为其替换的任何其他合适的数字逻辑设备。

在系统100中,存储器120包括非易失性存储器和易失性存储器设备两者。非易失性存储器包括固态存储器,诸如与非门闪速存储器、磁和光存储介质,或者当系统100被停用或断电时保留数据的任何其他合适的数据存储设备。易失性存储器包括静态和动态随机存取存储器(RAM),其在系统100的操作期间存储程序指令132和数据,包括运动捕捉数据128和可视化数据136。在一些实施例中,CPU 112和GPU 116均有权访问单独的RAM设备(例如,用于CPU 112的DDR SDRAM的变型和用于GPU 116的GDDR、HBM或其他RAM的变型),而在其他实施例中,CPU 112和GPU 116访问共享存储器设备。

存储器120分别以任何合适的格式存储运动捕捉数据128、程序指令132和输出可视化数据136中的每一个。在存储器120中,运动捕捉数据128包括原始移动数据,以及经处理的移动数据,诸如例如帧、步长、周期和时间信息,如下面进一步详细讨论的。输出可视化数据136包括系统100生成的一个或多个图像数据集合,以产生运动捕捉数据128的计算的图形输出。在一些实施例中,处理器108使用诸如JPEG、PNG、GIF等等的光栅化图像格式生成输出可视化数据136,而在其他实施例中,处理器108使用诸如SVG或另一种合适的矢量图形格式之类的矢量图像数据格式生成输出可视化数据136。可视化数据136还可以包括可由系统100使用的用户界面信息,以诸如经由图形用户界面(GUI)接收关于可视化数据136的指令,诸如例如所存储的程序指令132。

在系统100中,输入设备150包括使得系统100能够接收运动捕捉数据128、程序指令132和可视化数据136的任何设备。合适的输入设备的示例包括诸如键盘、鼠标、触摸屏、语音输入设备等等的人类界面输入,以及诸如例如相机、视觉传感器、红外传感器、超声波传感器、加速度计、压力传感器等等的运动捕捉设备。输入设备150的一个非限制性示例包括用户在实行循环运动时佩戴的一副数字手套。该数字手套包括捕捉用户的运动以生成存储在存储器120中的运动捕捉数据128的传感器。附加地,在一些实施例中,系统100将输入设备150实现为从另一台计算机或外部数据存储设备接收运动捕捉数据128的网络适配器或外围互连设备,这对于以高效的方式接收运动捕捉数据128的大集合可以是有用的。

在系统100中,显示输出设备154包括电子显示屏、投影仪、打印机或再现系统100基于运动捕捉数据128生成的输出可视化数据136的图形显示的任何其他合适的设备。在一些实施例中,系统100包括多个显示输出设备154,并且输出可视化数据136的不同部分显示在不同的显示输出设备154上。

虽然图1描绘了使用结合了显示输出设备154的单个计算设备实现的系统100,但系统100的其他实施例包括多个计算设备。例如,在一些实施例中,处理器108生成输出可视化数据136作为一个或多个图像数据文件,并且处理器108经由数据网络将输出可视化数据136传输到远程计算设备。远程计算设备然后显示输出可视化数据136,并且在该实施例中,处理器108可操作地间接(而不是经由图1中描绘的直接连接)连接到远程客户端计算设备中的显示设备。在一个非限制性示例中,处理器108在服务器计算设备中实现,该服务器计算设备执行所存储的程序指令132以实现经由数据网络将输出可视化数据136传输到远程客户端计算设备中的网络浏览器的网络服务器。客户端计算设备实现网络浏览器或其他合适的图像显示软件,以使用集成到客户端计算设备中的显示输出设备154来显示从服务器接收的输出可视化数据136。

图2是描绘了如由处理器108参照编程指令132实现的用于系统100的操作的功能组件200的示例性实施例的功能框图。功能组件可以包括硬件或者硬件和软件的组合。在下面的描述中,处理器108使用上面讨论的系统100的元件来执行被描述为由功能组件实行或利用功能组件实行的动作。

框202是数据同步组件,框212是数据收集和训练组件,框214是数据计算组件,框216是报告生成组件,并且框218是图形用户界面(“GUI”)组件,下面进一步详细讨论每一个组件。在系统100中,处理器108执行所存储的程序指令132,以使得CPU 112和GPU 116能够结合系统100中的其他组件实现数据同步组件202、数据收集和训练组件212、报告生成组件216和GUI 218的功能。如在图2中描绘的,系统100接收运动捕捉数据128,并且参照接收到的运动捕捉数据128生成输出可视化数据136。

数据同步组件202被配置成接收运动捕捉数据128。运动捕捉数据128包括:表示至少一个被跟踪项目或项目的部分随时间推移的位置的多个记录。例如,在不同的实施例中,运动捕捉数据128包括:身体部位上的参考点随时间的推移或以设置的时间间隔的方位的一个或多个记录、随时间的推移所取得的传感器数据、视频流或已经使用计算机视觉技术处理的视频流、指示随时间的推移的机器操作状态的数据等。

在不同的实施例中,经由来自不同源的数据同步组件202接收运动捕捉数据128。在图2中描绘的实施例中,运动捕捉数据128是从以下各项中的一个或多个接收的:视频流204,诸如来自相机的视频流;机器信号206,诸如指示机器或设备的操作状态的信号;运动捕捉设备208,诸如传感器(光学、红外、超声波、压力、加速度等);或者包括一个或多个这样的传感器的设备,诸如运动捕捉手套、包括所存储的运动捕捉数据的文件的数据存储设备210;以及任何其他可接受的外围设备211。在一些实施例中,一个或多个数据源通过有线连接或硬件连接与系统100连接。在一些实施例中,一个或多个数据源通过无线连接与系统100连接。在一些实施例中,运动捕捉数据128是经由网络连接(诸如互联网)接收的。

数据同步组件202进一步被配置成将从不同源接收的运动捕捉数据128同步到公共时间线上。例如,在一些实施例中,身体部位上的参考点的方位随时间的推移所取得的记录与随时间的推移所取得的传感器读数或其他形式的运动捕捉数据在时间上对准。

在一些实施例中,运动捕捉数据128包括表示多于一个连续移动的数据。在一些实施例中,数据同步组件202接收多个运动捕捉数据集128,其均表示不同的连续移动。每个单独移动的运动捕捉数据128与对应于该移动的相应时间线同步。

数据收集和训练组件212从数据同步组件202接收同步的运动捕捉数据128。出于计算人类运动的准确度的目的,运动捕捉数据128通常可以被分类到两个类别中的一个中——参考数据(即,基线移动)和测试数据(即,要比较和定量评估相对于基线移动的准确度的移动)。在一些实施例中,数据收集和训练组件212被配置成将来自运动捕捉数据128的第一接收到的移动分类为参考移动,并且将任何随后接收到的移动分类为测试移动。

在一些实施例中,数据收集和训练组件212被配置成将运动捕捉数据128分离成个体移动。在一些实施例中,数据收集和训练组件212迭代地和/或结合数据计算组件214进行操作,以计算运动捕捉数据128到个体移动的不同可能的分离,并且基于由数据计算组件214计算的准确度来选择分离。

在一些实施例中,运动捕捉数据128中的一个或多个移动包括:将移动分别分类为参考移动或测试移动的一个或多个标签。在一些实施例中,数据收集和训练组件212被配置成诸如经由GUI组件218从用户或从另一个源接收用于将一个或多个移动分类为参考移动或测试移动的指令。

在一些实施例中,数据收集和训练组件212被配置成将接收到的移动分离成帧,由此“帧”对应于离散的时间间隔。换句话说,移动的每一帧包括:与在该移动的时间线的相应间隔期间发生的移动的一部分相对应的运动捕捉数据128的一部分。在一些实施例中,对应于个体帧的间隔的持续时间是预设的。在一些实施例中,基于经由GUI组件218或另一个源从例如用户接收的指令,设置对应于个体帧的间隔的持续时间。在一些实施例中,参照运动捕捉数据128的一个或多个特性来设置对应于个体帧的间隔的持续时间。例如,在一些实施例中,对应于个体帧的间隔的持续时间是参照参考移动的持续时间、移动的总行进距离、移动内的个体运动或姿势的数量、移动的速度等中的一个或多个来设置的。通常,帧的持续时间的相同间隔被用于参考移动和要相对于参考移动进行评估的测试移动二者。

在一些实施例中,诸如其中作为所存储的运动捕捉数据的文件从数据存储设备210接收运动捕捉数据128的一些实施例,当由数据同步组件202和/或数据收集和训练组件212接收到时,运动捕捉数据128中的一个或多个移动被分离成帧。

数据收集和训练组件212进一步被配置成将测试移动的帧映射到参考移动的对应帧。如下面进一步详细讨论的,在一些实施例中,测试移动和参考移动被同步,使得测试移动的帧被映射到时间上对应的参考移动的帧,并且在一些实施例中,测试移动和参考移动在移动内的姿势和运动方面被对准,使得测试移动的帧被映射到参考移动的帧,该参考移动的帧相对于移动中实行的运动和/或姿势的序列而对应。

数据计算组件214从数据收集和训练组件212和/或数据同步组件202接收运动捕捉数据128,该运动捕捉数据128已经分别被分类为参考运动或测试运动,其已经被分离成帧并且已经被映射在一起。数据计算组件214被配置成计算一个或多个测试移动相对于参考移动的准确度,如下面进一步详细讨论的。

在一些实施例中,数据收集和训练组件212和数据计算组件214迭代地和/或彼此结合地进行操作,以将测试移动的帧映射到参考移动,并且计算所映射的帧的准确度。例如,如下面进一步详细讨论的,在一些实施例中,数据收集和训练组件212为测试移动的帧到参考移动的帧计算多个不同的映射,数据计算组件214为每个映射计算测试移动相对于参考移动的准确度,并且数据收集和训练组件212选择具有最高准确度的映射。

报告生成组件216从数据计算组件214接收运动捕捉数据128和所计算的测试移动的准确度,并且被配置成生成输出可视化数据136,如下面进一步详细讨论的。GUI组件218使得用户能够与系统100的各种组件交互,以便例如调整用于将运动分离成帧的参数,调整用于计算测试移动的准确度的参数,指示系统100添加、去除或拆分移动,向移动添加步骤标识,以及调整输出可视化数据136被如何显示,如下面进一步详细讨论的。

图3是描绘了用于定量计算测试移动相对于参考移动的准确度的方法300的示例性实施例的流程图。在下面的描述中,对实行功能或动作的过程300的引用是指处理器执行所存储的程序指令,以与图形显示系统中的其他组件相关联地实行功能或动作的操作。出于说明性目的,结合以上关于图1和图2所讨论的系统100和功能组件来描述过程300。

在框302,处理器108经由数据同步组件202接收运动捕捉数据,由此运动捕捉数据包括表示参考移动的数据。在框304,处理器108经由数据同步组件202接收附加的运动捕捉数据,由此附加的运动捕捉数据包括表示测试移动的数据。在框306,处理器108使用数据收集和训练组件212将测试移动映射到参考移动。在框308,处理器108使用数据计算组件214计算测试移动相对于参考移动的准确度。在框310,处理器108使用报告生成组件216参照所计算的测试移动相对于参考移动的准确度来生成输出可视化数据136,并且在框312,输出可视化数据136经由显示输出设备154输出给用户。下面讨论方法300中各种框的另外方面。

参照框302,其中处理器108接收包括表示参考移动的数据的运动捕捉数据,经由数据同步组件202从不同实施例中的各种各样的源接收运动捕捉数据128,如上文讨论的。在一些实施例中,从运动捕捉设备208接收运动捕捉数据128。在一些实施例中,运动捕捉设备208是一套手套(未示出),该套手套当被用户佩戴时,被配置成传输运动捕捉数据128,该运动捕捉数据128表示由每只手面向手掌的方向给出的用户的手的取向、由每只手的关节的关节角度给出的每只手的姿势、以及由每只手的三维线性加速度给出的移动。在一些实施例中,该套手套被配置成经由诸如例如蓝牙、Wi-Fi、无线电传输等的无线连接协议与系统100连接。在一些实施例中,该套手套208包括:使用诸如相机或红外跟踪系统之类的光学跟踪系统可跟踪的跟踪点。在一些实施例中,该套手套208包括诸如按钮或开关之类的一个或多个控件,其被配置成使得系统100开始捕捉由该套手套208传输的运动捕捉数据128,以及使得系统100停止捕捉运动捕捉数据128中的一个或多个。在一些实施例中,处理器108被配置成诸如响应于经由GUI组件218从用户接收的指令,将捕捉的运动捕捉数据128存储在数据存储设备210上的数据文件中。

在一些实施例中,作为数据文件从数据存储设备210接收运动捕捉数据128。例如,在一些实施例中,处理器108被配置成经由GUI组件218接收用户指令,以从数据存储设备210上的数据文件加载运动捕捉数据128。在一些实施例中,运动捕捉数据128的部分是从不同的源接收的。例如,在一些实施例中,从数据存储设备上的数据文件加载参考移动,并且使用运动捕捉设备208捕捉测试移动。

在一些实施例中,响应于接收到参考移动,处理器108进一步被配置成使用GUI组件218来生成表示接收到的移动的输出视觉数据136(例如,图3的框310和312)。图4描绘了GUI 400的图像,该GUI 400示出了在接收到的运动期间表示用户的手的三维动画402,以及接收到的移动的时间线表示404。在该实施例中,接收到的移动是系统100接收到的第一移动,并且数据收集和训练组件212已经将接收到的移动分类为参考移动。

GUI 400包括:使得用户能够与系统100交互的各种各样的工具。在该实施例中,GUI 400包括:指示系统100接收附加移动的输入移动按钮406、指示系统重新评估系统100接收到的移动的刷新按钮408、指示系统100如何可视化输出视觉数据136的可视化按钮410,以及指示系统100关于当计算系统100接收到的移动的准确度时如何权衡某些因素的权重调整工具412。

关于框304(图3),其中处理器108经由数据同步组件202接收包括表示测试移动的数据的运动捕捉数据,以与参考移动类似的方式、例如经由运动捕捉设备208从数据存储设备210等接收测试移动。在一些实施例中,响应于接收到测试移动,处理器108进一步被配置成使用GUI组件218来生成表示接收到的测试移动的另外的输出视觉数据136(例如,图3的框310和312)。图5描绘了在系统100已经接收到附加移动之后的GUI 400的图像。在该实施例中,数据收集和训练组件212已经将附加移动分类为测试移动。图5中的GUI 400附加地包括测试移动的时间线表示414。

在一些实施例中,处理器108接收运动捕捉数据128,该运动捕捉数据128包括参考移动,随后是一个或多个测试移动。如下面进一步详细讨论的,在一些实施例中,数据收集和训练组件212和数据计算组件214被配置成结合用于将测试移动映射到参考移动和计算测试移动的准确度的过程,将运动捕捉数据128分离成个体移动。

关于框306,其中处理器经由数据收集和训练组件212将测试移动映射到参考移动,处理器108将测试移动的帧映射到参考移动的帧,使得对应于测试移动的帧的运动捕捉数据可以与对应于参考移动的所映射的帧的运动捕捉数据进行比较。

在一些实施例中,处理器108在时间上将测试移动映射到参考移动。换句话说,参考移动的帧与测试移动的帧同步,使得相对于每个运动的开始在同一时间发生。如图5中描绘的,测试移动的时间线表示414在时间上与参考移动的时间线表示404对准。换句话说,测试移动的时间线表示414和参考移动的时间线表示404中的垂直对准的帧相对于每个移动的开始时间同时发生,并且时间线404和414以每帧时间间隔1帧的相同速率进行。

如上文讨论的,参考移动与测试移动之间的映射使得能够在相对于移动的开始的同一时间点发生的帧之间实现比较。换句话说,测试移动的移动、姿势、取向和定时与参考移动的移动、姿势、取向和定时可直接比较。在图5中,光标500用于通过沿着时间线404和414导航到水平位置来选择特定帧,使得GUI 400显示第一三维模型504和第二三维模型506,该第一三维模型504描绘在对应于所选帧的时间索引处的参考移动的方位和姿势,该第二三维模型506描绘在对应于所选帧的时间索引处的测试移动的方位和姿势,以便使得能够在沿着时间线404和414的不同时间处的参考移动与测试移动之间实行视觉比较。在一些实施例中,模型504和506可作为视频流播放,以便随着时间的推移来比较参考移动和测试移动。

参照框308(图3),其中处理器108使用数据计算组件214计算测试移动相对于参考移动的准确度,处理器108将对应于测试移动的帧的运动捕捉数据与对应于参考移动的所映射的帧的运动捕捉数据进行比较。在一些实施例中,由处理器108进行的比较是在沿着时间线404和414的每个所映射的帧的用户的手的方位、取向、姿势和运动中的一个或多个之间进行的。换句话说,对于每个所映射的帧,处理器108计算参考运动中相对于测试移动与参考移动之间的用户的手的方位、取向、姿势和运动中的一个或多个中的差异的误差。每个所映射的帧的所计算的误差表示测试移动相对于沿着测试移动的时间线414的每个帧的参考移动的准确度的定量测量结果。

在一些实施例中,处理器108将每个帧的总误差计算为用户的手的方位、取向、姿势和运动中的一个或多个中的差异的加权组合。在一些实施例中,处理器108基于GUI 400的权重调整工具412的设置来为差异分配相对权重。例如,用户的手的方位、取向、姿势和运动中的每一个中的误差可以用不同的幅度影响不同过程的最终结果。在一些过程中,用户的手的取向可能对最终结果具有很小的影响,而用户的手的姿势具有相对大的影响。在一些过程中,用户的手的运动可能具有很小的影响,而取向具有相对大的影响。

关于框310,其中处理器108参照所计算的参考移动相对于测试移动的准确度,经由报告生成组件216生成输出可视化数据136,以及关于框312,其中输出可视化数据136例如经由GUI组件218被输出给用户,处理器108将所计算的测试移动相对于参考移动的每个帧的准确度编码到参考移动的视觉表示中。如在图5中所示,在该实施例中,每个帧的准确度被编码为测试移动的时间线表示414的着色和阴影,如下面进一步详细讨论的。在其他实施例中使用了其他的准确度视觉指示,诸如数字标签、图案或图像填充、图表等。在该实施例中,从绿色到黄色到红色的着色和阴影指示沿着时间线414的帧,其中测试移动相对于参考移动分别为更准确、适度准确和不太准确。在其他实施例中使用了其他着色和阴影梯度。

在一些实施例中,处理器108被配置成诸如响应于计算参数的改变或经由GUI组件218从用户接收的指令,实行测试移动的准确度的附加计算。图6a描绘了GUI 400的图像,该图像描绘了在给定GUI 400的权重调整工具412的设置的特定参数的情况下,相对于由处理器108计算的参考移动604的多个测试移动602的输出可视化数据136。通过调整权重调整工具412的设置,并且激活刷新按钮408,用户可以指示系统100基于经调整的设置来重新计算测试移动602的准确度。图6b图示了在给定权重调整工具412’的不同设置的情况下,所计算的测试移动602的准确度如何改变。

虽然在时间线404和414在时间上彼此同步的情况下计算测试移动相对于参考移动的准确度(图5)提供了在任何给定时间点的参考移动与测试移动之间的直接比较,但这样的计算关于参考移动与测试移动之间的去同步可能不是鲁棒的。如本文使用的,参考移动与测试移动之间的“去同步”指代其中参考移动包括与参考移动相似的运动和姿势的表现、但是在不同的时间尺度上的实例。精确地实行参考移动的运动和姿势,但是稍微更快或更慢地这么做的参考移动在直接的时间比较下似乎具有较低的准确度,这是由于两个移动之间的运动和姿势的去同步。因此,对不同的移动速率鲁棒的计算技术将是有益的。

再次关于框306(图3),其中处理器经由数据收集和训练组件212将测试移动映射到参考移动,在一些实施例中,处理器108被配置成基于相似的运动和姿势来映射移动,而不管测试运动和参考运动是否是去同步的,使得相似的运动和姿势出现在不同的时间。换句话说,处理器108被配置成将测试移动的帧映射到参考移动的帧,该参考移动的帧对应于移动中实行的运动、姿势和/或取向的序列。

在一些实施例中,处理器108经由语义分析来确定去同步运动、姿势和/或取向之间的对应关系。换句话说,由于特定运动可能在参考运动中和测试运动中的不同时间发生,所以在一些实施例中,处理器108被配置成将帧中的运动捕捉数据分类为特定运动、姿势和/或取向,并且基于帧之间的类似分类将测试移动的帧映射到参考移动的帧。然而,将运动捕捉数据分类为特定的运动、姿势和/或取向不仅可能是计算密集型的,而且还可能需要训练数据,该训练数据本身组装起来可能是昂贵且耗时的。因此,用于确定去同步的运动、姿势和/或取向之间的对应关系的技术将是有益的,该技术关于运动、姿势和/或取向的语义是不可知的。

在一些实施例中,处理器108经由动态时间扭曲(“DTW”)对准过程来计算帧之间的映射,该动态时间扭曲对准过程是一种通过计算序列的离散部分之间的最佳匹配来比较在速度上可能有所不同的序列的技术。DTW包括计算“扭曲路径”,该“扭曲路径”对应于一个序列的一部分与以不同时间或速率出现的另一个序列的相似部分之间的映射。

图7是处理器108的示例性实施例的视觉描绘700,该处理器108使用DTW来确定测试移动702的扭曲路径映射,该测试移动702将测试移动702中的运动、姿势、方位和取向与参考移动704中的运动、姿势、方位和取向最佳地对准。处理器108使用DTW计算参考移动704与测试移动702之间的映射,而不需要时间线中的运动、姿势、方位和取向的语义知识。在没有时间线语义的先验知识的情况下,处理器108将测试移动702的端点和实行测试移动中的运动、姿势、方位和取向的速率视为未知。

如图7中所示,处理器108准备多个试验706a-d,每个试验均包括对作为终点的测试移动的帧的不同选择,并且因此包括移动之间的不同扭曲路径。在图7中,描绘了四个试验,但是在其他实施例中,可以使用任何数量的试验。图7还描绘了在给定每个试验的扭曲路径的情况下,参考移动704与测试移动702之间的平均运动差异的量化值。应当理解到,如本文中使用的,DTW的“扭曲”不导致测试移动或参考移动的速率的修改。相反,本情境中的“扭曲”意味着对具有相似运动、姿势和/或取向数据的去同步帧进行对准的扭曲路径的计算。

对于每个试验706a-d,处理器108确定测试移动702的帧到参考移动704的一个或多个帧的最佳映射,其保留了每个移动中的所映射的帧相对于彼此的序列次序。保留序列次序意味着映射的扭曲路径单调前进。例如,在第一次试验706a中,当测试移动702的第一帧708被映射到参考移动704的第一帧710时,测试移动702的第二帧712被映射到参考移动704的第四帧714。虽然帧712与714之间的第二映射不是时间上对准的(即,参考移动的帧714在时间上从测试移动中的帧712位移两个帧),第一所映射的帧708、710在第二所映射的帧712、714之前的此序列被保留。如试验706b-d中描绘的,虽然测试移动702的每个帧被精确地映射到参考移动704的一个帧,但是在一些映射中,测试移动702的多于一个帧被映射到参考移动704的单个帧。另外,如试验706a和706b中描绘的,在一些映射中,不是参考移动704的所有帧都被映射到测试移动702的帧。

在这里,试验与给定结束帧的最佳映射意味着来自该试验的可能映射当中的相对于参考移动具有最低平均误差的映射。对于每个映射,处理器108通过对在给定该特定映射的情况下的试验的测试移动702中的每个帧的个体误差取平均来计算试验的平均误差。在给定特定映射的情况下,测试移动的每个帧的误差被计算为测试移动的帧和映射到该帧的参考移动的帧中的运动、取向和/或姿势中的一个或多个之间的差异。因此,对于每个试验706a-d,图7中描绘的扭曲路径和平均运动差异对应于在给定每个试验706a-d的特定结束帧的情况下,测试移动702的最佳映射。

处理器108选择具有最低平均误差的试验作为在测试移动702和参考移动704中的运动、取向和姿势之间具有最接近的对应关系的试验。在图7中,试验706c具有最低的平均运动差异分数,其对应于观察到的测试运动序列中的最低误差水平,并且因此,在移动702与704之间具有最接近的对应关系。通过选择试验706c,处理器108还确定对应于参考移动704的结束的测试移动702的最佳结束帧。

为测试移动702确定的扭曲路径指示两个移动的相对速率。测试移动702中的多于一个帧被映射到参考移动704中的相同帧的实例指示测试移动702中实行得比参考移动慢的部分,并且参考移动702的帧没有被映射到测试移动704的帧的实例指示测试移动702中实行得比参考移动704快的部分。另外,帧之间的映射在时间上被移位(例如,图7中的扭曲路径线是倾斜的)的实例指示相似的运动、姿势和/或取向,尽管是去同步的,但它们也被映射在一起。

附加地,再次参照图3中的框308,其中处理器108计算测试移动相对于参考移动的准确度,测试移动的每个帧的误差由所选试验的每个帧的误差给出。因此,测试移动的每个帧的误差是测试移动相对于参考移动的准确度的定量评估,该定量评估对于以不同于参考移动的速率实行的测试移动的部分是鲁棒的。

再次参照图3中的框310,处理器108经由报告生成模块216生成输出可视化数据136,并且再次参照框312,在框312中,处理器108经由GUI组件218将输出可视化数据136输出到用户,在一些实施例中,处理器108以与上文讨论的方式相同的方式将所计算的测试移动相对于参考移动的每个帧的准确度编码到参考移动的视觉表示中。换句话说,在一些实施例中,处理器108经由GUI组件218将测试移动和参考移动的时间线描绘为时间上同步的,类似于图5、图6a和图6b中的描绘。然而,这样的描绘可能没有计及(一个或多个)测试移动与参考移动之间潜在的去同步。因此,计及去同步的测试移动的视觉描绘将是有益的。

如上文指出的,GUI 400包括:可视化按钮410,其使得用户能够选择测试移动的不同可视化。图8描绘了具有可经由可视化按钮410选择的可视化800的GUI 400,该可视化800视觉上计及了(一个或多个)测试移动与参考移动之间的潜在去同步。在图8中,处理器108已经参照经由DTW确定的扭曲路径映射压缩和扩展了测试移动802的时间线的可视化。其中测试移动比参考移动的对应部分实行得更快的时间线802的部分(诸如区域“A”)被水平拉伸,使得所述部分被水平对准,尽管速率上不同。此类部分的高度也对应于水平拉伸的量而降低。其中测试移动比参考移动的对应部分实行得更慢的时间线802的部分(诸如区域“B”)被水平压缩,使得所述部分水平对准,尽管速率上不同。此类部分的高度也对应于水平压缩量而增加。结果,实行部分测试移动的速率连同每个帧的准确度的编码被编码到可视化800中。

例如,“A”部分的标称绿色着色指示尽管被实行得更快(时间线变薄),但测试移动的该部分的运动、姿势和/或取向是相对于参考运动准确实行的。在另一个示例中,部分“B”的标称橙色和黄色着色指示尽管被实行得较慢(时间线变厚),但测试移动的该部分的运动、姿势和/或取向实行得不如参考运动准确。

进一步参照图3的框302和304,其中运动捕捉数据128由系统100接收,在一些实施例中,要评估的移动是“循环”,即,一个接一个重复的移动。例如,在许多制造过程中,工人将实行步骤集合,并且在完成该集合后,将从头开始重复该集合。因此,在一些实施例中,由系统100接收的运动捕捉数据128包括表示多于一个移动循环的数据。图9a描绘了系统100已经接收到参考移动902和多移动循环904之后的GUI 400。在该实施例中,多移动循环904是两个移动的连续组合,一个直接在另一个之后实行。

在一些实施例中,GUI 400使得用户能够手动将多移动循环拆分成单独的移动。例如,用户可以使用光标500来查看沿着多移动循环904的帧,并且标识多移动循环904内的第一移动的结束帧。如图9a中描绘的,用户选择所标识的结束帧,并且指示系统100(在该实施例中经由菜单选择906指示系统)在所选帧处拆分多移动循环904。图9b描绘了在多移动循环904已经被拆分成两个单独的移动908和910之后的GUI 400。注意,时间线的比例在图9a与图9b之间被改变,以更好地拟合拆分数据。

然而,在一些实施例中,多移动循环可以包括大量的移动。在一些实施例中,也可能难以在视觉上标识将一个移动与下一个移动分离的确切帧。因此,在多移动循环中自动标识和分离移动的系统将是有益的。

进一步参照框308(图3),其中处理器108计算测试移动的准确度,如上文讨论的,在其中处理器108使用DTW计算测试移动时间线与参考移动时间线之间的映射的实例中,处理器108将测试移动的端点视为未知的。在一些实施例中,测试移动时间线的帧被选择为端点,尽管在所选终点之后还有另外的帧。在其中测试移动时间线是多移动循环的一些实施例中,被选作端点的帧也指示将一个移动与下一个连续移动分离的帧。在一些实施例中,处理器108被配置成基于经由DTW确定的端点帧来拆分测试移动时间线。这样的拆分导致如上文讨论的被映射到参考移动的移动,以及剩余的移动。

在一些实施例中,处理器108连续地对剩余的移动实行DTW,以便在多移动循环内拆分连续的移动。以这种方式,处理器108被配置成将包括一个接一个地实行的多个移动的连续运动捕捉数据128拆分成单独的移动,其中用上文讨论的方式来计算单独的准确度。

从多移动循环中拆分出来的每个移动也具有用上文讨论的方式计算的相应的平均误差。在一些实施例中,处理器108进一步被配置成计算多移动循环的拆分中的置信度,由此“置信度(confidence)”意味着给定的拆分将两个移动彼此准确分离的可能性有多大。在一些实施例中,通过测量在给定拆分位置处的相邻帧处的误差的斜率(即,趋势)来计算置信度。在一些实施例中,用于比较循环中的移动和用于计算拆分的置信度的误差是从测试移动到参考移动的运动之间的误差。

进一步参照框310和312(图3),其中处理器108生成输出可视化数据136并且将数据136输出给用户,在一些实施例中,处理器108进一步被配置成生成描述所计算的准确度的附加方面的输出可视化数据136。

在一些实施例中,处理器108被配置成生成描述多移动循环的输出可视化数据136。图10描绘了移动时间、平均移动误差和拆分置信度的图表1000,该拆分置信度是针对在3500秒内实行的循环所取得的运动捕捉数据计算的,其中横轴上为总体时间,并且纵轴上为个体移动的时间。在图表1000中,符合参考移动的移动被着色为绿色,并且不符合参考移动的移动被着色为紫色。在一些实施例中,处理器108被配置成将具有相对低的误差和相对高的置信度的移动分类为符合,并且将具有相对高的误差和相对低的置信度的移动分类为不符合。图表1000使得用户能够一次批量分析大量循环的准确度。例如,每个移动的颜色编码允许用户快速标识作为不符合的特定移动,由此然后可以以上述方式定量分析该个体移动的准确度,以标识导致不符合的运动的特定运动、姿势、方位和/或取向。

图11描绘了在近似一个小时的时间段内所取得的连续移动时间的图表1100,其中横轴上为总体时间,并且纵轴上为个体移动的时间。在图表1100中,符合的移动被着色为蓝色,并且不符合的移动被着色为红色。在一些实施例中,处理器108被配置成将平均误差低于预定阈值的移动分类为符合,并且将平均误差处于或高于预定阈值的移动分类为不符合。图表1100允许用户从大批量数据中快速标识不符合的移动。

在一些实施例中,处理器108进一步被配置成生成描述移动的语义的输出可视化数据136。如上文指出的,处理器108被配置成以对移动中的运动、姿势、方位和/或取向的语义不可知的方式来计算测试移动的准确度。然而,移动中的个体运动、姿势、方位和/或取向的语义标签在标识移动偏离参考移动的原因中可能是有用的。因此,使得能够对移动进行语义比较的系统将是有益的。会关于语义不可知地计算移动准确度、同时仍然使得能够进行语义比较的系统也将是有益的。

图12描绘了在系统100已经接收到参考移动1202之后的GUI 400。GUI 400使得用户能够选择移动1202的时间线中的特定帧,并且将关键帧标签添加到所选帧,诸如关键帧标签l204a-c。在不同的实施例中,关键帧标签指示移动内的特定步骤、步骤内的特定姿态或与移动有关的其他信息。例如,用于制造装配线的循环可以包括连续重复的移动,它们均包括诸如以下各项的一系列步骤:步骤1——“用左手从螺杆的顶部拿起螺杆,其中所有的手指都接触螺杆”;步骤2——“用右手从注射器的侧面抓住注射器”等,并且关键帧标签可以用于标识参考移动中对应于特定步骤的开始、步骤的完成、步骤期间的关注点等的帧。在图12中,关键帧标签l204a-c均包括对应帧处的参考运动的模型504的图像。在其他实施例中,关键帧标签包括其他可视化,诸如例如步骤名称标签和/或描述、时间戳等。

通常,参考移动的语义的至少一部分是已知的。在许多情况下,参考移动是由有经验的工人或其他了解移动的正确运动、姿势和取向以及与移动相对应的过程中的重要步骤的个人来实行的。标识测试移动的语义也将是有益的。例如,如果过程中的某个步骤是重要的、危险的或困难的,那么在训练新工人时能够突出显示该步骤、评估该步骤特别地相对于过程其余部分如何被实行、或其他类似的任务将是有益的。然而,测试移动可能准确或可能不准确,并且可能由对移动的语义有先验理解的用户来实行或可能不由其实行。另外,在其中评估大量测试移动的实例中,手动输入每个移动的关键帧可能是耗时且复杂的。因此,不需要手工输入测试移动的语义的系统也将是有益的。

在一些实施例中,处理器108被配置成参照为测试移动到参考移动而计算的映射,将关键帧标签1204从参考移动传播到由系统100接收的测试移动(框306)。图13描绘了处理器108将关键帧标签从参考移动传播到测试移动的可视化。用于参考移动的步骤已经由用户用上文讨论的方式添加,由此第一关键帧标签1302指示步骤1的开始、第二关键帧标签1304指示步骤2的开始、第三关键帧标签1306指示步骤3的开始,并且第四关键帧标签1308指示移动结束。

参照在参考移动与测试移动之间的映射1310,处理器108被配置成标识测试移动中对应于参考移动中的关键帧标签1302-1308的帧,并且将关键帧标签传播到测试移动中的所标识的帧。在关键帧标签被添加到未被映射到测试移动的帧的参考移动中的帧的情况下,在一些实施例中,处理器108被配置成将关键帧标签传播到被映射到测试移动的附近帧。在关键帧标签被添加到被映射到测试运动中的多个帧的参考移动中的帧的情况下,在一些实施例中,处理器108被配置成将关键帧标签传播到测试移动中按时间顺序第一个(最左边)映射的帧。

因此,在一些实施例中,处理器108被配置成将关键帧或步长标签从参考移动传播到测试移动,而不需要手动标识测试移动中的任何帧。移动与参考移动的语义信息之间的映射用于计算关于测试移动的语义信息,而不需要测试移动的语义分析。

图14描绘了GUI 400,由此参考移动1404中的关键帧标签已经被传播到多个不同的测试移动1406。在图14中,如上文讨论的,移动在时间上被对准。在一些实施例中,通过将关键帧从参考移动1404传播到测试移动1406所计算的测试移动的语义信息被用于确定测试移动1406中的附加信息和/或趋势。例如,在图14中,第三步骤1408内的测试移动1406的部分被图示为比测试移动1406的其他部分更黄,并且因此不太准确。这指示第三步骤1408可能比该过程中的其他步骤更成问题。诸如平均步骤时间、有问题的步骤等的信息经由GUI400的视觉检查以类似的方式被确定。

在一些实施例中,不同的可视化被用于视觉地显示过程中的步骤的附加信息和趋势。图15描绘了具有不同可视化(例如,经由GUI 400的可视化按钮410可访问)的GUI 400,其中移动已经被分解,以便将每个移动中的关键帧标签彼此左对准。该可视化使得用户能够比较步长-时间-方差,即,完成特定步骤的时间的改变,这可能有助于标识工人花费过长时间才完成的步骤,或者可能需要比以前分配的时间更多或更少时间的步骤。该可视化还使得用户能够从特定步骤的表现中提取趋势。例如,图15中的区域“A”使工人完成步骤4花费越来越长的时间、同时展现该步骤的准确度随着时间的推移而降低的趋势可视化。图16描绘了具有另外可视化的GUI 400,其中参照在DTW期间由处理器108计算的对准,移动的时间线已经被扭曲。该可视化使得用户能够标识工人缓慢或不准确的问题步骤,以及工人准确和/或高效的步骤。

在图16中,光标500用于在具有高误差的移动中选择一帧,以便标识如在参考移动的模型504和在该帧处选择的测试移动的模型506中描绘的工人的手的姿势和取向中的差异。参考移动的模型504和所选测试移动的模型506的直接比较使得用户能够在视觉上标识过程中工人的移动何时偏离参考移动、偏离的性质以及对时间和过程准确度的影响。换句话说,在具有低准确度的部分期间比较模型504和506可以向工人提供直接的视觉反馈,其便于该过程的训练。例如,图16中的光标500是在步骤中选择一帧,该步骤在视觉上被指示为相对于参考移动具有低准确度。通过比较模型504和506,用户可以视觉上确定可以如何改变该过程的运动和姿势,以便校正偏离的动作。在图16中,测试移动的模型506中的右手被描绘为相对于模型504中的右手顺时针旋转,并且模型506中的左手相对于模型504中的左手向下倾斜。因此,将模型504和506进行比较的用户可以在视觉上确定在该过程的此部分期间,左手应该更向上倾斜,并且右手应该相对于模型506更逆时针转动。

在系统100的示例性使用案例中,有经验的工人记录制造任务的移动,并且无经验的工人此后记录相同移动的表现。然后,无经验的工人使用系统100将他们的表现与有经验的工人所记录的移动进行比较,以便标识表现中不符合和/或过慢的姿势、动作、取向和/或方位。无经验的工人还使用系统100作为指南来学习移动的准确姿势、动作、取向和/或方位。

在另一个示例性实施例中,根据本公开的系统包括:多线程数据接收和同步组件、姿势恢复组件、运动分析和识别组件,以及用户界面组件。用户界面组件包括手势可视化界面、机器操作界面和数据分析界面。

将领会到,上述和其他特征和功能的变型或其替代物可以合期望地组合到许多其他不同的系统、应用或方法中。本领域技术人员随后可以做出各种目前未预见或未预料到的替代、修改、变化或改进,这些也意图被本公开所涵盖。虽然上面讨论的几个实施例涉及制造和装配线生产,但是上述的变型也适用于其他用途,诸如例如,用于像运动、舞蹈等的娱乐活动的训练、武术、诸如物理治疗之类的医学用途以及任何其他可接受的用途。

相关技术
  • 用于手动装配线操作的自动重复步骤和循环检测的方法和系统
  • 用于上行链路多点协作信令的混合自动重复请求操作的方法和系统
技术分类

06120113170687