首页> 中国专利> 创建人体工学人体模型的姿势以及使用自然用户界面控制计算机辅助设计环境

创建人体工学人体模型的姿势以及使用自然用户界面控制计算机辅助设计环境

摘要

本发明涉及创建人体工学人体模型的姿势以及使用自然用户界面控制计算机辅助设计环境。计算机接收来自动作感应输入器件的一组空间坐标,该空间坐标描述人类模型的肢体的至少一个关节的位置。计算机向计算机辅助设计应用程序(132)发送该组空间坐标,该计算机辅助设计应用程序(132)基于由多个角度数据实例描述的肢体角度的变化表示人体工学人体模型(150)的运动。计算机接收来自计算机辅助设计应用程序(132)的角度规格,该角度规格对应于在至少一个三维平面中的肢体的角度。计算机根据接收到的角度规格将该组空间坐标转换为角度数据,该角度数据描述肢体定位。

著录项

  • 公开/公告号CN104102811A

    专利类型发明专利

  • 公开/公告日2014-10-15

    原文格式PDF

  • 申请/专利权人 波音公司;

    申请/专利号CN201410138191.8

  • 发明设计人 J·D·扎伊克;B·L·纳尔逊;

    申请日2014-04-08

  • 分类号G06F19/00;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国伊利诺伊州

  • 入库时间 2023-12-17 01:54:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-05

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20140408

    实质审查的生效

  • 2014-10-15

    公开

    公开

说明书

技术领域

本发明总体涉及人体工学人体模型的定位和控制它们的环境并且,具体地,本发明涉及定位结构模型和通过使用动作感应装置、算法和电脑辅助设计系统控制它们的设计环境的系统和方法,其中算法将空间坐标数据转换成角度数据,计算机辅助设计系统基于观察到的对象的动作创建模型。 

背景技术

人体工学人体模型使用在多种应用中,这些应用包括产品设计、建模、测试、虚拟环境的建立。运输车辆和其零部件制造商在碰撞安全测试以及乘客和驾驶员舒适和适用性中使用人体模型。工业工程师和办公空间设计师可以使用计算机生成的人体工学人体模型模拟和设计安全、富有成效的并吸引人的工作环境。 

人体工程人体模型可以被车间设计师用来模拟、表达和优化手动处理任务如升高、降低、推、拉和运载。他们可以使用简化的工作流程更快地分析设计并再次使用保存的分析设置。办公空间设计师还可以利用报表功能提供为人类设计和优化的产品并确保符合健康和安全准则及人体工学标准。 

逼真的人体模型可以被设计以提供对各种环境条件和事件的响应信息。此类人体模型可以用真实的人体测量学或人体尺寸建立。 

具有建立在存在的计算机辅助设计和计算机辅助制造工具中的功能的人体工学人体模型的手动定位可以是重复的和耗时的。替代方案可以包括使用更高成本的全身动作追踪和控制人体模型定位以开发安全和人体工学问题的意识。然而,手动设置包括计算机辅助系统的数字人体姿势内部工具可以是昂贵的和不精确的。在许多情况下,时间限制和手动定位人体模型或外包这些任务给此类服务的外部供应商的 成本可能是不切实际的。因此,可能期望有效的新技术和工具集成具有计算机辅助设计和其它工具的低成本感应装置。 

发明内容

说明性实施例提供用于定位结构模型和控制其设计环境的装置。该装置包括处理器和与该处理器通信的存储器。该装置包括动作感应输入器件,其与处理器通信并且被配置为跟踪对象的运动并且针对位于对象上至少一个点产生多组空间坐标数据。该装置包括存储在存储器中的应用程序,其中当处理器执行该应用程序时,该应用程序被配置为接收来自动作感应输入器件的至少一点的第一组空间坐标数据。该应用程序还被配置为向计算机辅助设计系统发送空间坐标数据,该计算机辅助设计系统根据位于对象上的点的动作来计算角度数据从而修正对象的模型的设计。说明性实施例还提供用于定位人体工学人体模型和控制人体模型设计环境的处理器实施方法。该方法包括计算机接收来自动作感应输入器件的一组空间坐标,该空间坐标描述人类模型肢体的至少一个关节的位置。该方法包括计算机向计算机辅助设计应用程序发送该组空间坐标,该计算机辅助设计应用程序基于由多个角度数据的实例描述的肢体角度的变化来表示人体工学人体模型的运动。该方法包括计算机接收来自计算机辅助设计应用程序的角度规格,该角度规格在至少一个三维平面中对应于肢体的角度。该方法包括计算机根据所接收的角度规格将该组空间坐标转换为角度数据,该角度数据描述肢体的位置。 

说明性实施例还提供将动作感应输入器件与计算机辅助设计应用程序集成在一起以便控制人体工学人体模型的处理器实施方法。该方法包括计算机在人类模型运动期间中接收表示骨骼关节定位的三维x、y和z坐标,该x、y和z坐标由动作感应输入器件捕获。该方法包括计算机接收指定在至少一个三维平面中描述肢体角度的自由度的信息。该方法包括计算机基于自由度和x、y和z坐标确定至少一个肢体角度,其中该确定的肢体角度指定人体工学人体模型的取向。该方法包括计算机提供该至少一个肢体角度到计算机辅助设计应用程序,以便用于表示该肢体的运动。 

特征、功能和优点可以在本公开的各种实施例中单独地实现,或可以在其它实施例中被组合,其中参见以下说明和附图可以看出进一步的细节。 

附图说明

在所附的权利要求中记载了被认为是表征了示例性实施例的新颖特征。然而,当结合附图阅读本公开示例性实施例的以下详细描述时,将更好地理解示例性实施例与优选的使用模式、进一步目的及其优势,其中: 

图1是根据说明性实施例的用于定位结构模型的装置的框图; 

图2a是示出根据说明性实施例的用于定位结构模型的方法的流程图; 

图2b是示出根据说明性实施例的用于定位结构模型的方法的流程图; 

图3是根据说明性实施例的用于定位结构模型的装置的框图; 

图4是示出根据说明性实施例的用于定位结构模型的工艺流程的流程图; 

图5是根据说明性实施例的用于定位结构模型的装置的框图; 

图6是示出根据说明性实施例的用于表示肢体角度的三维平面的图; 

图7是示出根据说明性实施例的用于定位人类肢体的坐标的图; 

图8是示出根据说明性实施例的用于定位人类肢体的坐标的图; 

图9是示出根据说明性实施例的关于人类模型的动作感应器件的坐标的图; 

图10是示出根据说明性实施例的接收自动作感应器件的坐标系统和点的图; 

图11是根据说明性实施例示出坐标系统以及人体工学人体模型的体段的图; 

图12是示出根据说明性实施例的用于人类肢体定位的坐标的图; 

图13是示出根据说明性实施例的用于人类肢体定位的坐标的图; 

图14是示出根据说明性实施例的用于人类肢体定位的坐标的图; 

图15是示出根据说明性实施例的用于人类肢体定位的坐标的图; 

图16是示出根据说明性实施例的用于跟踪相对于显示光标位置的手位置的坐标的图示; 

图17是根据说明性实施例的表示肢体角度的矢量的图; 

图18是提供根据说明性实施例的表示肢体角度的矢量的分析的图表; 

图19是根据说明性实施例的定义由计算机辅助设计应用程序指定的角度的表格,该应用程序用于平面和轴上的人体模型的体段的接收处理; 

图20是根据说明性实施例的定义由计算机辅助设计应用程序指定的角度的表格,该应用程序用于平面和轴上的人体模型的体段的接收处理; 

图21是根据说明性实施例的定义由计算机辅助设计应用程序指定的角度的表格,该应用程序用于平面和轴上的人体模型的体段的接收处理; 

图22是根据说明性实施例的定义由计算机辅助设计应用程序指定的角度的表格,该应用程序用于平面和轴上的人体模型的体段的接收处理; 

图23显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图24显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图25显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图26显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图27显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图28显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图29显示根据说明性实施例示出相关肢体的矢量的标准化的图 表; 

图30显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图31显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图32显示根据说明性实施例示出相关肢体的矢量的标准化的图表; 

图33是根据说明性实施例的样本查找表; 

图34显示根据说明性实施例示出肢体矢量的图表;以及 

图35是根据说明性实施例的数据处理系统的图示。 

具体实施方式

说明性实施例认识并考虑上述关于提供用于给人体工学人体模型摆姿势的功效追踪能力的问题。此种能力可以在适用于整个产品生命周期时提供设计和制造方法决议的更好的情况意识。说明性实施例可以允许用户进行如适当的姿势的工作,并且提供语音控制以能够控制计算机辅助设计环境而不使用鼠标、键盘、或其它手动输入器件。 

说明性实施例还提供无标记动作跟踪和捕获能力,其可以使用配合计算机辅助设计系统的低成本动作感应输入器件。这些跟踪和捕获能力可以使人体工学人体模型的相对低成本全身跟踪和控制以及其它三维几何结构和应用功能可行。 

外部输入器件如动作感应设备器件可以被用来控制人体工学人类模型的姿势和位置。这些装置可以与计算机辅助设计系统集成以执行先前由鼠标和键盘执行的基本观察功能。集成可以被执行以跟踪骨骼动作并输出用于多个骨骼关节的x、y和z坐标。集成还可以被执行以通过使用包含动作感应装置的话筒阵列识别语音指令。 

说明性实施例还提供被具有计算机辅助设计系统的动作感应装置捕获的内容的集成。集成可以使用与计算机辅助设计系统相关的应用程序编程界面以允许从动作感应装置收集到的数据的输入被本文提供的算法转换。该算法能够将收集到的数据转换成计算机辅助设计系统要求的格式以控制人体工学人体模型或计算机辅助设计环境。 

动作感应输入器件可以跟踪人类模型的动作并且针对位于人体模型上的点产生多组空间坐标数据。对象上的点可以由三维x、y和z笛卡尔坐标表示。在其它说明性实施例中可以使用其它坐标方案,诸如但不限于球面坐标。本文提供的算法可以将空间坐标数据转换为角度数据。该角度数据可被用来指定人体工学人体模型的取向和定位。计算机辅助设计系统计算角度数据并使用该角度数据定位和取向人体工学人体模型。用于人体模型肢体上多个关节的空间坐标数据可以在肢体的运动期间被收集。 

说明性实施例提供将动作感应输入器件与计算机辅助设计系统集成的多个算法。集成使计算机辅助设计系统能够将人体工学人体模型定位处于与人类模型所采取的并由动作感应输入器件捕获的姿势类似的姿势。说明性实施例能够使用语音控制以相对计算机辅助设计系创建的环境来转动人体模型。语音指令和身体动作的组合在计算机辅助设计系统的工作台环境还能够执行各种摄像头功能。 

说明性实施例可以在应用程序中使用,其中人体工学和安全分析被执行为产品开发和支持的一部分。汽车和其它机动车辆、重型设备和飞行器的制造商可以利用本文提供的系统和方法。说明性实施例可以使设计和制造工程师能够评估各种情景。工程师们可以在使用其配置控制产品和处理数据管理系统工作时执行这些任务。可以通过向工程师提供如何装配并使用产品的改进的态势感知来实现成本降低。当产品达到制造阶段时设计变更可被降低。 

现在将注意力转到附图上。图1是根据说明性实施例的用于定位结构模型的系统100的框图的图示。系统100包括数据传输服务器110、计算机辅助设计系统130、转换应用程序132、感应装置140和人体模型150。 

图1中示出的系统100可以使用可能在分布的或网络的环境中的一个或更多个数据处理系统来实现,并且可能通过称为“云”的一组远程管理数据处理系统来实现。实现系统100的一个或更多个数据处理系统中的每个均可以是关于图35中示出的数据处理系统3500或它的变型。系统100可以被表示为包括一个或更多个方框的特征。这些方框中的每个均可是独立的或者可以是整体构架的一部分。 

数据传输服务器110可以为计算机系统。服务器组件122在数据传输服务器110上执行。转换应用程序132在计算机辅助设计系统130上执行并且包括多个算法。转换应用程序132将由感应装置140捕获的内容与计算机辅助设计系统130的功能集成。虽然说明性实施例涉及感应装置140,但是说明性实施例考虑使用多个感应装置。因此,术语“感应装置”可以被当作是单数意义或复数意义。 

转换应用程序132可以将人体模型150定位处于与感应装置140实时跟踪的人类模型采取的姿势或者来自记录的数据的姿势相同或相似的姿势。转换应用程序132可以为了在分析中使用和重用而记录所需的姿势信息的数据。转换应用程序132可以执行用户提供的语音指令和手臂动作的组合以在由计算机辅助设计系统130提供的工作台环境中进行如摇摄、变焦、和转动的功能。此类语音指令可以被用来将用户的视图从一个预先设定的人体模型150的第二个人视角改变为过肩的人类模型的第一个人视角。语音控制可以被用来调整模型后方的第一个人视角的距离。 

转换应用程序132还可以提供语音控制的使用以相对计算机辅助设计系统130的环境转动人类模型。可以执行此类转动从而补偿由感应装置140提供的单个摄像头视图并且补偿对观察对准摄像头的个人要求。由转换应用程序132提供的语音控制可以实现在人体模型150的骨骼跟踪和控制以及用于由计算机辅助设计系统130提供的环境的手势控制的屏幕重叠菜单之间的切换。转换应用程序132还可以提供可视屏幕上的提示以支持用户发出的语音指令的正确理解。 

转换应用程序132还可以提供语音控制,其允许用来识别计算机辅助设计系统130的手势控制的屏幕重叠菜单的启动以及屏幕重叠和手势控制的消除之间切换,以允许进行中的会话期间的用户讨论。转换应用程序132还可以提供特定语音指令的使用,以在关闭作用以允许进行期间用于转换的其它语音指令和此后使用关键词重新启动语音控制功能之间切换。 

转换应用程序132包括多个组件。组件包括客户端组件134、指令组件136和对话组件138。在数据传输服务器110上执行的服务器组件122接收来自感应装置140的输入并且将数据流中的输入传输到客户端 组件134。服务器组件122可以解决感应装置140的需求和计算机辅助设计系统130的需求之间的不兼容性。例如,感应装置140可以使用32比特格式并且要求集成软件开发环境的一个版本。相比之下,计算机辅助设计系统130可以使用64比特格式并且要求不同的集成软件开发环境。服务器组件122可以解决这些不兼容性。 

服务器组件122可以显示由感应器件140捕获的用于可视化的摄像头的视频图像。服务器组件122还可以提供用于管理各种音频方面的控件。在实施例中,服务器组件122的元件以及转换应用程序132的元件、客户端组件134、指令组件136和对话组件138可以在不止一个物理计算机上执行。例如,服务器组件122的第一部分可以在数据传输服务器110上执行并且服务器组件122的第二部分可以在计算机托管(hosting)的计算机辅助设计系统130上执行。在另一个实施例中,转换应用程序132的多个部分可以在数据传输服务器110上执行。客户端组件134接收来自服务器组件122的数据流。客户端组件134可以根据需要允许独立于与感应装置140相关的任何软件开发工具包或任何软件工具而进行数据的处理。 

指令组件136扩展计算机辅助设计系统130的性能。指令组件136提供与计算机辅助设计系统130的应用程序编程界面集成的定制的指令。指令组件136集成客户端组件134以处理摄像头数据和其它输入数据。 

指令组件136可以提供两种操作状态和在两种状态之间转换的方法。指令组件136显示可以使得用户能够设置各种模式操作状态的对话。 

由指令组件136提供的第一操作状态是人体模型控制。人体模型控制可以使用接收自感应装置140的选择点数据以计算所需的各种角度从而指定由计算机辅助设计系统130设置的肢体取向和位置。如注意所提到的,客户端组件134接收由感应设备140产生的数据流内容。从服务器组件122实时或近乎实时接收数据流内容,使得人体模型150可以看上去有活力。人体模型控制的第二个性能是控制计算机辅助设计系统130的三维视点。此类控制可以允许从存在的视点观察人体模型150或者将观察点改变为第一视点或第二视点。 

由指令组件136提供的第二操作状态是使用手势的场景控制。场景控制和手势显示在计算机辅助设计系统130的一段时间上的重叠窗口。该重叠窗口可以包含能够控制由计算机辅助设计系统130提供的场景的三维视点的各种图标。例如,动作中用于身体部分的骨骼点数据可以被跟踪,并且重叠窗口中的光标可以被移动相应的距离和方向。例如,如果光标被放置在或悬停在图标上数秒,则只要将光标保持定位于图标上,图标的相应指令功能就可以被执行。 

指令影响由计算机辅助设计系统130提供的场景中的三维视点。实施的指令允许在上、下、左、和右方向上的摇摄。实施的指令还允许在视点目标点周围转动及目标点的缩放。对话组件138与指令组件136相关并显示图形用户界面,该图形用户界面允许用户控制和操纵数据传输服务器110和计算机辅助设计系统130的功能。 

感应器件140可以是捕获动作和声音的摄像头和音频阵列,但是可以是很少的感应器件或者也许是一个或更多个额外的或者不同的感应装置。感应器件140允许用户通过使用手势和语音指令的自然用户界面进行控制并交互而不需要物理触摸器件。感应器件140可以包括使能手势识别、面部识别和语音识别的深度摄像头和话筒。感应器件140可以使用通用串联总线连接与数据传输服务器110或其它器件进行连接。感应器件140的元件可以无线地连接到数据传输服务器110、彼此或者其它组件。虽然在说明性实施例中感应器件140可以使用红外技术来感测,然而也可以使用其它技术如声学技术和可见光技术。 

人体模型150可以包括肢体152、肢体154、肢体156和肢体158。在实施例中,关节和与肢体152、肢体154、肢体156和肢体158相关的其它组件的运动可以由感应器件140跟踪并捕获,并且如本文所描述的,关节和与肢体152、肢体154、肢体156和肢体158相关的其它组件的运动可以由转换应用程序132和计算机辅助设计系统130来处理。 

图1中示出的说明性实施例并非意在说明在其中可实施不同说明性实施例的方式的物理或结构上的限制。除了和/或取代示例的组件,还可以使用其它组件。在一些说明性实施例中,一些组件可能不是必须的。另外,方框被显示以示出一些功能组件。当在不同的说明性实 施例中实施方框时,可以将这些方框中的一个或更多个合并到和/或分割为不同的方框。图2a是示出根据说明性实施例的用于定位结构模型的方法的流程图。可以使用图1中的系统100来实施图2中示出的方法200。图2中示出的过程可以由处理器实施,如图35的处理器单元3504。图2中示出的过程可以是图1和图3至图34中示出的过程的变型。虽然图2中显示的操作被描述为由“过程”来进行,但是,如文本其它地方所述,可以由至少一个有形的处理器或者使用一个或更多个物理器件进行该操作。术语“过程”还包括存储在非暂时性计算机的可读存储介质上的计算机指令。 

方法200可以在过程接收来自动作感应输入器件的一组空间坐标时开始,该空间坐标描述人类模型肢体的至少一个关节的位置(操作202)。计算机向计算机辅助设计应用程序发送该组空间坐标,该计算机辅助设计应用程序基于由角度数据的多个实例描述的肢体角度中的变化来表示人体工学人体模型的运动(操作204)。该过程然后可以接收来自计算机辅助设计应用程序的角度规格,该角度规格对应于在至少一个三维平面中的肢体的角度(操作206)。该过程然后可以根据所接收的角度规格将该组空间坐标转换为角度数据,该角度数据描述肢体的位置(操作208)。之后该过程可以终止。图2a中示出的过程可以是各种各样的。例如,在说明性实施例中,动作感应输入器件可以是深度摄像头。在说明性实施例中,该深度摄像头可以至少被手势和语音指令控制。在说明性实施例中,计算机可以执行将动作感应输入器件与计算机辅助设计应用程序集成的多个算法,其中该算法实现全身跟踪和人体模型控制。 

在说明性实施例中,算法可以将由动作感应输入器件收集到的坐标变换成计算机辅助设计应用程序使用的坐标格式以控制人体工学人体模型和开发环境中至少一个。在说明性实施例中,算法可以解决动作感应输入器件和计算机辅助设计应用程序使用的数据格式之间的不兼容性。 

图2b是示出根据说明性实施例定位结构模型的方法的流程图。可以使用图1的系统100实施图2b中示出的方法210。还可以由处理器实施方法210,如图35的处理器单元3504。方法210可以是在图1和 图3至图34中示出的过程的变型。虽然图2b中显示的操作被描述为由“过程”进行,但是,如文本其它地方所述,可以由至少一个有形的处理器或使用一个或更多个物理装置进行该操作。术语“过程”还包括存储在非暂时性计算机的可读存储介质上的计算机指令。 

方法210可以开始于过程接收在人体模型运动期间表示骨骼关节的定位的三维x、y和z坐标,该x、y和z坐标由动作感应输入器件捕获(操作212)。该过程然后可以接收指定自由度的信息,该自由度在至少一个三维平面中描述肢体角度(操作214)。然后,该过程可以基于自由度和x、y和z坐标确定至少一个肢体角度,其中所确定的肢体角度指定人体工学人体模型的取向(操作216)。该过程然后可以向计算机辅助设计应用程序提供至少一个肢体角度,以便使用在表示肢体的运动中(操作218)。 

图3是根据说明性实施例的用于定位结构模型的装置的框图。图3的组件被提供在系统300中并且可以映射或对应于在图1和系统100中所示的以及本文结合图1和系统100所描述的那些组件。计算机310可以对应于图1中所示的数据传输服务器110。服务器组件322可以对应于图1中所示的服务器组件122。计算机辅助设计系统330可以对应于图1中所示的计算机辅助设计系统130。感应器件340可以对应于图1中所示的感应器件140。虽然计算机辅助设计系统130在图1中被示为与数据传输服务器110分离的组件,但是在实施例中,计算机辅助设计系统130的部分或整体可以在数据传输服务器110上执行。 

图4是示出根据说明性实施例用于定位结构模型的方法的流程图。图4中所示的用于方法400的动作和事件可以分别对应于图1和图3中描述的组件相关的动作和事件以及与图2中描述的方法200相关描述的操作,该动作和事件与系统100和系统300相关。 

虽然图4中显示的操作被描述为由“过程”进行,但是,如文本其它地方所述,可以由至少一个有形的处理器或使用一个或更多个物理装置进行该操作。术语“过程”还包括存储在非暂时性计算机的可读存储介质上的计算机指令。 

方法400可以在过程读取数据(文本数据或骨骼数据)时开始(操作402)。该过程然后确定该数据是否包含文本(操作404)。响应于 数据包含文本(“是”响应于操作404),该过程进行关于文本是否是“手势”的另外的确定(操作406)。可替换地,如果数据不包含文本(“否”响应于操作404),该过程然后进行关于数据是否在“手势模式”中的又一确定(操作408)。 

返回到操作404,如果文本是“手势”,则过程进行关于文本是否是手势的另一确定(操作406),如果文本不是手势,处理其它语音指令(操作416)。此后,该过程可以终止。 

在操作406处如果文本是“手势”,则切换为手势模式(操作410),然后过程确定手势模式是否开启(操作422)。如果手势模式开启,重叠图标被激活(操作426)。如果手势模式未开启,桌面上的重叠图标被去激活(操作428)。 

返回到操作408,该过程进行关于该数据是否在“手势模式”中的另一确定。如果数据在“手势模式”中,该过程基于右手位置修正屏幕光标(操作412)。该过程然后确定光标是否在图标上方(操作418)。如果光标不在图标上方,该过程返回到操作412。如果光标在图标上方,该过程执行与图标相关的功能(操作430)。此后,该过程可以终止。 

返回到操作408,如果数据不在“手势模式”中,该过程针对每个骨骼体段计算角度自由度(操作414)。该过程然后确定主体体段是否是左臂或右臂(操作420)。如果主体体段不是左臂或右臂,该过程修正人体模型体段的自由度(操作432)并重绘由计算机辅助设计系统130提供的场景(操作434)。此后,该过程可以终止。 

在操作420处,如果主体体段是左臂或右臂,该过程从预计算的手臂矢量表中查找手臂角度(操作424)。该过程然后修正人体模型体段的自由度(操作432),并重绘由计算机辅助设计系统130提供的场景(操作434)。此后,该过程可以终止。 

图5是根据说明性实施例的用于定位结构模型的装置的框图。图5的组件被提供在系统500中并且可以映射或对应在图1和系统100中所示的以及本文结合图1和系统100所描述的那些组件。图5的组件还可以对应于提供在图3和系统300中的那些组件。在图5中示出的系统500是上述这些系统的特定的非限制性的示例。 

例如,服务器组件522可以对应于系统100的服务器组件122。客 户端组件534可以对应于系统100的客户端组件134。指令组件536可以对应于系统100的指令组件136。对话组件538可以对应于系统100的对话组件138。在图5表示的实施例中,客户端组件534和对话组件538是指令组件536的子组件。计算机辅助设计系统530可以对应于系统100的计算机辅助设计系统130。感应器件540可以对应于系统100的感应器件140。操作系统560和话筒570分别是可以在数据传输服务器110上执行的计算机操作系统和用于接收语音和其它声音的器件。在实施例中,操作系统560是可以从微软公司商购的是微软公司的注册商标。 

图5中示出的实施例并非意在说明在其中可实施不同说明性实施例的方式的物理或结构上的限制。除了和/或取代示例的组件,还可以使用其它组件。在一些说明性实施例中,一些组件可能不是必须的。另外,方框被显示以示出一些功能组件。当在不同的说明性实施例中实施方框时,可以将这些方框中的一个或更多个合并到和/或分割为不同的方框。 

图6是示出根据说明性实施例的用于表示肢体角度的三维平面的图示。还结合图1,并使用其参考标记,说明性实施例提供了将感应器件140产生的骨骼点数据转换为计算机辅助设计系统130和其相关的应用程序编程界面需要的角度数据的算法。对于人体模型150的肢体152、肢体154、肢体156和肢体158中的每个,计算机辅助设计系统130均限定被称为自由度的两个或三个的角度规格。自由度对应于在笛卡儿坐标系中的三个主要平面中的一个中的肢体角度,诸如笛卡儿坐标系600,其包括X轴602、Y轴604和Z轴606。三个主要平面可以为XY平面608、YZ平面610或ZX平面612。然而,其它平面也可以被用作主要平面。说明性实施例提供计算这些肢体角度中一个或更多个的算法以从骨骼点数据指定人体模型150的取向。 

图7和图8可以被用来提供图6的进一步的说明。图7是示出根据说明性实施例的用于人类肢体定位的ZX坐标700的图示。图8是示出根据说明性实施例的用于人类肢体定位的ZY坐标800的图示。如图7所示,30度角度规格702用于ZX平面704中的弯曲/伸展自由度。如图8所示,45度角度规格802用于YZ平面804中的外展/内收自由度。 

图9是示出根据说明性实施例的针对人类模型的动作感应器件的坐标的图示。图9参考人体示出感应器件140的坐标系900。在坐标系900中,示出了X轴902、Y轴904和Z轴906。 

图10是示出根据说明性实施例接收自动作感应器件的坐标系和点的图示。图11是示出根据说明性实施例的用于人体工学人体模型的坐标系和体段的图示。如感应器件140所观察并处理的骨骼是由被标记在图10中所示的系统1000中的二十个点组成的:头部位置1002、右肩1004、肩膀中部1006、左肩1008、右肘1010、左肘1012、脊柱位置1014、右腕1016、左腕1018、右髋1020、髋部中部1022、左髋1024、右手1026、左手1028、右膝1030、左膝1032、右踝1034、左踝1036、右脚1038、和左脚1040。髋部中部点1022表示空间中骨骼位置的原点。计算机辅助设计系统130基于骨骼点之间的体段(或肢体152、肢体154、肢体156、和肢体158或骨头)的角度指定人体模型150的取向。图10具有被标记为头部1042、右臂1044、左臂1046、腰部1048、右前臂1050、左前臂1052、右手1054、左手1056、右大腿1058、左大腿1060、右腿1062、左腿1064、右脚1066和左脚1068的十四个体段。感应器件140的坐标系、点和体段在图10中示出。图10还示出了X轴1070、Y轴1072和Z轴1074。 

图11类似地示出人体的元件。将图11中示出的组件索引于图10中示出的组件。十四个体段构成系统1100,其被标记为头部1142、右臂1144、左臂1146、腰部1148、右前臂1150、左前臂1152、右手1154、左手1156、右大腿1158、左大腿1160、右腿1162、左腿1164、右脚1166、和左脚1168。在图11中示出感应器件140的坐标系、点和体段。图11还示出了X轴1170、Y轴1172和Z轴1174。 

图12、图13、图14和图15是示出根据说明性实施例的用于人类肢体的定位的坐标的图。在这些图中示出的人体模型可以为图1的人体模型150。如图12、图13、图14和图15中所示,在图12中示出的人体模型1200、在图13中示出的人体模型1300、在图14中描述的人体模型1400和在图15中描述的人体模型1500在面对人体模型150时可以由右手坐标系定义。人体模型150的默认取向可以是垂直竖立状态并且手臂和腿竖直向下。虽然可以使用其它长度单位,但是人体模型150的几何形状 可以按照毫米来测量。图12还示出Y轴1202和Z轴1204。图13还示出X轴1302和Z轴1304。图14还示出X轴1402和Z轴1404。图15还示出X轴1502和Y轴1504。 

本文提供的算法定义了将感应器件140的坐标系转换为计算机辅助设计系统130的坐标系的坐标变换。为了提供用于计算机辅助设计系统的标准长度,可以将坐标从一个测量单位转换为另一个测量单位,如从米到毫米。如下给出说明性变换: 

00-1-100010·xyz

图16是示出根据说明性实施例用于跟踪关于显示屏光标位置的手位置的坐标的图。图16示出用于右手的手势模式跟踪的屏幕坐标计算。在手势模式中,骨骼的右手位置被用来控制计算机显示器上的光标位置。右手骨骼点之前已经被变换为计算机辅助设计系统130的坐标空间。光标位置由处于像素单位的二维坐标来表示。 

当在手势模式中跟踪时,算法保持具有处理的最后右手位置的变量(P)。当获取新的手部位置(C)时,计算距离先前位置的位置增量或位置变化(D): 

D=C–P 

P=C 

增量矢量(D)1602正交投影到YZ平面1604上(即,忽略X坐标)。然后二维增量矢量从米转换为像素单位。该转换可以通过首先从米转换到英寸接着再乘以一英寸中的显示像素的数目完成。然后,屏幕光标位置通过从其当前位置值减去增量矢量来修正。由于屏幕坐标轴在YZ平面轴的相反方向,所以需要减去。 

图17是根据说明性实施例表示肢体角度的矢量图1700。图17示出如何通过将体段投影到一个或更多个主要平面上来计算肢体角度。肢体体段由两点定义:起点和终点。肢体152的方向是由如图17所示的终点-起点(terminal-base points)定义的矢量。投影是正交的,即垂直于该平面。 

图18是根据说明性实施例提供表示肢体角度的矢量的分析的图示。图18示出投影矢量。线段的投影矢量(终点’-起点’)具有分量u1802 和v1804,其分别与U1806和V1808轴平行。投影线的倾斜角度使用标准库函数atan2(v,u)计算,该倾斜角度作为三角形对侧和邻侧的辐角。 

关于标准化,例如,前臂和腿体段角度分别依赖于手臂和大腿体段的取向。本文教导的算法采取的方法是标准化手臂和大腿体段使得体段在Z方向上对齐。前臂和腿的同位角从转换的位置来计算。腰部可以是垂直的或竖立的。对于当前使用,可能不需要标准化上半身体段,但是本文提供的算法可以包含此类变换。 

图19、图20、图21和图22是根据说明性实施例定义如计算机辅助设计应用程序所说明的角度的表格,该角度用于平面和轴上的人体模型的体段的接收处理。图19、图20、图21和图22中示出的表格定义如计算机辅助设计应用程序所说明的可应用的平面和轴上的正在被处理的人体模型150的体段的正角。投影的体段的起点被示为处于原点。为了讨论的目的,假设所有依赖的体段已经被转换为它们的标准化的位置。图19中的矢量分量i1902、j1904和k1906表示投射到所指示的平面上的投影的体段矢量。矢量分量i1902、j1904和k1906是传递到如之前所述的atan2函数的符号值。图20、图21和图22中的矢量分量被索引于图19中示出的相应的分量。 

图23显示根据说明性实施例示出相关肢体的矢量的标准化的图表,前臂和腿体段角度分别依赖于手臂和大腿体段的取向。本文提供的算法标准化手臂和大腿体段使得体段在Z方向上对齐。前臂和腿的同位角从转换的位置计算。腰部是垂直的或竖立的。针对当前使用,可能不需要标准化上半身体段,但是本文提供的算法可以在需要处包含此类变换。图23示出右大腿和右腿的矢量,其中大腿在XZ平面2304中与Z轴2302对齐。(h)是髋部点2306,(k)是膝盖点2308,并且(a)是踝部点2310。素点(prime points)显示变换的位置。 

图24显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在YZ平面2404中绕着X轴转动从髋部点到变换的膝盖点(k’)的变换的大腿矢量以与ZX平面对齐。 

图25显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在ZX平面2506绕着Y轴将从髋部点(h)2502到膝盖点(k)2504的矢量转动到YZ平面2508上。 

图26显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在YZ平面2606绕着X轴转动从变换的膝盖点(k’)2602到变换的踝部点(a’)2604的大腿矢量以与ZX平面对齐。由于该角度与正YZ2606平面转动相反,所以该角度为负角。 

图27显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在ZX平面绕着Y轴将从肩部点(s)2702到肘部点(e)2704的手臂矢量转动到YZ平面2708上。 

图28显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在YZ平面2804绕着X轴转动从肩部点到变换的肘部点(e’)2802的变换的手臂矢量以与ZX平面2806对齐。 

图29显示根据说明性实施例示出相关肢体的矢量的标准化的图表。计算从变换的肘部点(e’)2902到变换的腕部点(w’)2904的变换的手臂矢量与X轴2906之间的角度(如果在XY平面2908绕着Z轴转动从变换的肘部点(e’)2902到变换的腕部点(w’)2904的变换的手臂矢量,从而与X轴对齐)。 

图30显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在ZX平面3006绕着Y轴将从肩部点(s)3002到肘部点(e)3004的矢量转动到YZ平面上。 

图31显示根据说明性实施例示出相关肢体的矢量的标准化的图表。在YZ平面3104绕着X轴转动从肩部点到变换的肘部点(e’)3102的变换的手臂矢量以与ZX平面对齐。由于该角度与正YZ平面转动相反,所以该角度为负角。 

图32显示根据说明性实施例示出相关肢体的矢量的标准化的图表。计算从变换的肘部点(e’)3202到变换的腕部点(w’)3204的变换的手臂矢量和X轴之间的角度(如果在XY平面3206绕着Z轴转动从变换的肘部点(e’)3202到变换的腕部点(w’)3204的变换的手臂矢量,从而与X轴对齐)。将该角度取负以用来计算左臂的内侧/外侧的转动。计算机辅助设计系统130的手臂角度的预计算表在XZ和YZ平面中可以与标准化的手臂矢量相关。该表中的条目处于如下形式:<θ,φ,i,j,k>,其中θ是ZX角,φ是YZ角并且i,j,k是标准化的手臂矢量分量。角度的范围由计算机辅助设计系统130施加限制。角度的增量为一度。由于左 臂的矢量可以由右臂的矢量通过将j分量取负来确定,所以该表格只需要计算右臂。用于计算机辅助设计系统130的应用程序编程界面提供SetValue函数和GetDirectionInGlobal函数,SetValue函数设定用于肢体152、肢体154、肢体156和肢体158中的至少一个的指定的自由度的姿势角度,GetDirectionInGlobal函数在指定的自由度处返回肢体的标准化矢量。 

图33是根据说明性实施例的样本查找表。通过计算骨骼手臂体段矢量然后通过查找表迭代并计算手臂矢量与预计算矢量的点积来进行查找。如果矢量方向相同,则点积为正值。如果它们完全匹配,点积将为1。如果矢量是垂直的,则点积将为零。如果矢量方向相反,则点积将为负值。这些情况在图34中示出,图34显示示出根据说明性实施例的肢体矢量的图表。 

最佳匹配可以为最大点积值(即,最接近1)。最佳匹配的相关的θ和φ角直接用来设定人体模型150的手臂姿势。本文提供的算法定义存储查找表的体段矢量和ZX平面和YZ平面的相关的角度自由度的数据结构。当指令被调用时,查找表文件内容被加载到数据结构中。 

给定骨骼体段矢量(xdir)和所需的自由度(ZX平面,dof=0或者YZ平面dof=1),本文提供的算法循环访问该数据结构并计算骨骼手臂矢量和预计算矢量的点积。算法可以持续跟踪所发现的最大点积值以确定最佳角度。 

现转到图35,示出根据说明性实施例的数据处理系统的说明。图35中的数据处理系统3500是数据处理系统的示例,其可被用来实施如图1的系统100或本文公开的任何其它模块或系统或过程的说明性实施例。在该说明性实例中,数据处理系统3500包括通信结构3502,其提供处理器单元3504、存储器3506、持久(persistent)存储器3508、通信单元3510、输入/输出(I/O)单元3512和显示器3514之间的通信。 

处理器单元3504用来执行可以加载到存储器3506中的软件的指令。处理器单元3504根据具体实施方式可以为一些处理器、多处理器核、或一些其它类型的处理器。如本文中参考项使用的数字是指一个或更多项。另外,处理器单元3504可以使用一些异构的处理器系统来实施,其中主处理器次级处理器一起存在于单个芯片上。作为另一个说明性示例,处 理器单元3504可以为包括多个同类型处理器的对称的多处理器系统。 

存储器3506和持久存储器3508是存储器件3516的示例。存储器件是能够存储信息的硬件中的任一件,诸如,例如而不限于数据、函数形式的程序代码、和/或在暂时基元(basis)或永久基元上的其它合适的信息。存储器件3516在这些示例中也可以被称为计算机可读存储器件。在这些示例中,存储器3506可以为例如随机存取存储器或任何其它合适的易失性或非易失性存储器件。持久存储器3508根据具体实施方式可以采用各种形式。 

例如,持久存储器3508可以包含一个或更多个组件或器件。例如,持久存储器3508可以为硬盘、闪存、可复写光盘、可复写磁带或以上的一些组合。持久存储器3508使用的介质还可以是可移动的。例如,移动硬盘可以被用于持久存储器3508。 

在这些示例中,通信单元3510提供与其它数据处理系统或器件的通信。在这些示例中,通信单元3510是网络接口卡。通信单元3510可以通过使用物理通信链路和无线通信链路中任一个或二者来提供通信。 

输入/输出(I/O)单元3512允许与可以被连接到数据处理系统3500的其它器件进行数据的输入和输出。例如,输入/输出(I/O)单元3512可以提供用于用户通过键盘、鼠标、和/或其它合适的输入器件输入的连接。另外,输入/输出(I/O)单元3512可以将输出发送到打印机。显示器3514提供向用户显示信息的机制。 

用于操作系统、应用程序、和/或程序的指令可以位于存储器件3516中,其通过通信结构3502与处理器单元3504通信。在这些说明性实施例中,在持久存储器3508上的指令为函数形式。这些指令可以被加载到存储器3506中用于处理器单元3504的执行。处理器单元3504使用计算机实施的指令可以进行不同实施例的过程,其可以位于存储器中,如存储器3506。 

这些指令被称为程序代码、计算机可用程序代码、或可以在处理器单元3504中被处理器读取或执行的计算机可读程序代码。在不同实施例中的程序代码可以在不同的物理或计算机可读存储介质上体现,如存储器3506或持久存储器3508。 

程序代码3518以函数形式位于计算机可读介质3520上,计算机可 读介质3520是选择性可移动的并且可以被加载到或转移到数据处理系统3500上,用于处理器单元3504的执行。在这些示例中,程序代码3518和计算机可读介质3520形成计算机程序产品3522。在一个示例中,计算机可读介质3520可以是计算机可读存储介质3524或计算机可读信号介质3526。计算机可读存储介质3524可以包括例如光盘或磁盘,其插入到或置于驱动器或作为持久存储器3508的一部分的其它器件中,用来转移到存储器件上,如作为持久存储器3508的一部分的硬盘。计算机可读存储介质3524还采取持久存储器的形式,如硬盘、U盘或闪存,其连接到数据处理系统3500。在一些例子中,计算机可读存储介质3524可能不能从数据处理系统3500中移动。 

可替换地,可以使用计算机可读信号介质3526将程序代码3518转移到数据处理系统3500。计算机可读信号介质3526可以为例如包含程序代码3518的传播数据信号。例如,计算机可读信号介质3526可以为电磁信号、光信号和/或任何其它合适类型的信号。这些信号可以在通信链路上传输,如无线通信链路、光纤电缆、同轴电缆、电线和/或任何其它合适类型的通信链路。换言之,在说明性示例中通信链路和/或连接可以是物理的或无线的。 

在一些说明性实施例中,可以通过计算机可读信号介质3526经过网络将程序代码3518从另一器件或数据处理系统下载到持久存储器3508,用于在数据处理系统3500内使用。例如,可以将存储在服务器数据处理系统中的计算机可读存储介质中的程序代码经过网络从服务器下载到数据处理系统3500。提供程序代码3518的数据处理系统可以为服务器计算机、客户端计算机或能够存储并传输程序代码3518的一些其他器件。 

所示的用于数据处理系统3500的不同组件并不旨在对实施不同实施例的方式提供结构上的限制。不同的说明性实施例可以被实施在数据处理系统中,该数据处理系统除了或者替代包括示出的用于数据处理系统3500的那些组件之外,还包括其他组件。图35中示出的其它组件可以随示出的说明性示例变化。可以使用任何能够运行程序代码的硬件器件或系统实施不同的实施例。作为一个示例,数据处理系统可以包括与无机组分集成的有机组分和/或可以完全由除人类以外的有机组分组成。例如,存储装置可以由有机半导体组成。 

在另一个说明性示例中,处理器单元3504可以采用硬件单元的形式,该硬件单元具有被制造或配置用于特定用途的电路。此类硬件可以进行操作而不需要将程序代码从被配置为进行操作的存储器器件加载到存储器中。 

例如,当处理器单元3504采用硬件单元的形式时,处理器单元3504可以为电路系统、专用集成电路(ASIC)、可编程逻辑器件、或一些被配置为进行一些操作的其它合适类型的硬件。利用可编程逻辑装置,该器件被配置为进行一些操作。该装置可以随后被重新配置或可以被永久地配置以进行一些操作。可编程逻辑装置的示例包括例如可编程逻辑阵列、可编程阵列逻辑、现场可编程逻辑阵列、现场可编程门阵列和其它合适的硬件装置。利用此类实施方式,因为在硬件单元中实现用于不同实施例的过程,所以可以省略程序代码3518。 

在另一个说明性实施例中,可以使用存在于计算机和硬件单元中的处理器的组合实施处理器单元3504。处理器单元3504可以具有被配置为运行程序代码3518的一些硬件单元和一些处理器。根据所述的示例,可以在一些硬件单元中实施一些过程,同时可以在一些处理器中实施其它过程。 

作为另一个示例,数据处理系统3500中的存储器件是可以存储数据的任何硬件装置。存储器3506、持久存储器3508、和计算机可读介质3520是有形形式的存储器件的示例。 

在另一个示例中,总线系统可以被用来实现通信结构3502并且可以由诸如系统总线或输入/输出总线的一个或多个总线组成。当然,可以使用任何合适类型的体系结构实施总线系统,该体系结构提供不同组件或附连到总线系统的器件之间的数据转移。此外,通信单元可以包括用来传输和接收数据的一个或更多个器件,如调制解调器或网络适配器。另外,存储器可以为例如存储器3506或高速缓存器,如可以存在于通信结构3502中存在的接口的存储控制集线器中。 

数据处理系统3500还可以包括相关性存储器3528。相关性存储器3528可以与通信结构3502通信。或在一些说明性实施例中,相关性存储器3528还可以与存储器件3516通信,或者被认为是存储器件3516的一部分。虽然示出了一个相关性存储器3528,但是也可以存在附加的相关 性存储器。 

在本文描述的一些特定的非限制性实施例中,说明性实施例可以使用以下软件进行:使用从商购的和软件,使用从可以使用开放源平台的商购的产品,使用从KICKSTART商购的感应解决方案,或使用其它产品。然而,其它方法可以用来获取骨骼数据,以及在说明性实施例中使用的其它数据。因此,说明性实施例并不限于关于上述产品或解决方案描述的具体实施,而是可以使用通用的系统、方法和装置如关于图1、图2a和图2b描述的。在类似的方法中,说明性实施例并不限于任何本文描述的具体实施。说明性实施例可以使用一下进行:从达索系统 商购的软件,从西门子商购的或产品、从PTC 商购的或或从欧特克(AUTODESK)商购的或其它产品。因此,除非明确要求,所要求保护的发明不应当作受到这些具体实施例的限制。然而,除非明确要求,所要求保护的发明可以理解为包括这些具体实施例。 

感应器件140和其它组件可以采用从许多不同制造商处商购的技术。虽然感应器件140可以为从商购的软件,如上所述,但也可以使用来自可以使用开放源平台的的产品,或来自KICKSTART的感应解决方案。可以使用其它基于结构光成像技术的解决方案或产品。结构光成像器的其它此类供应商可以被用来提供感应器件140,这些供应商包括MESA IMAGING OMEK INTERACTIVESOFTKINETICINTERNATIONALPMDTECHNOLOGIES和 结构光成像器额外的供应商包括LOGITECH 和NAM TAI以及的制造商。 

虽然结构光成像技术可以具有感应器件140,但本文的实施例还提供其它用于和感应器件140一起使用的感应技术。例如,可以使用飞行技术的时间,其中测量用于物体或颗粒,或用于声学的、电磁的、或其它波通过介质传播一定距离花费的时间量。使用可以与本文描述的说明性 实施例使用的飞行技术时间的产品包括从松下商购的 从SOFTKINETIC INTERNATIONAL商购的 产品,和从使用提供的补充金属-氧化物-半导体传感器的商购的产品。基于飞行技术时间的其它此类产品包括从PMDTECHNOLOGIES商购的从可以使用西门子提供的技术的ODOS IMAGING有限商购的 和从MESA IMAGING商购的产品,其涉及CENTRE SUISSE D’ELECTRONIQUE ETMICROTECHNIQUE,(CSEM)。基于飞行技术时间的额外的产品可以包括从IEE INTERNATIONAL ELECTRONICS&ENGINEERING商购的从STANLEY ELECTRIC有限商购的TOFCAM和从TRIDICAM商购的产品。因此,本文描述的所要求保护的发明并非必需受到任何具体说明性实施例的限制。此外,上述示例在其它产品和其它类型软件可以与说明性实施例配合使用的意义上是非限制性的。 

不同的说明性实施例可以采用整体硬件实施例、整体软件实施例或包含硬件和软件元件二者的实施例的形式。在软件中实施一些实施例,其包括但不限于以下形式,诸如,例如,固件、常驻软件和微代码。 

此外,不同的实施例可以采用从计算机可用或计算机可读介质可获得的计算机程序产品的形式,该计算机可用或计算机可读介质提供由执行指令的计算机或任何器件或系统使用的程序代码,或者该计算机可用或计算机可读介质与执行指令的计算机或任何器件或系统相连。为了本公开的目的,计算机可用或计算机可读介质一般可以为任何有形的装置,其可以包含、存储、通信、传播、或传送由指令执行系统、设备、或装置使用的程序,或与指令执行系统、设备、或装置结合。 

计算机可用或计算机可读介质可以为,例如但不限于电介质、磁性介质、光学介质、电磁介质、红外介质、或半导体系统或者传播介质。计算机可读介质的非限制性示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘、和光盘。光盘可以包括压缩磁盘-只读存储器(CD-ROM)、压缩磁盘-读/写(CD-R/W)和DVD。 

另外,计算机可用或计算机可读介质可以包含或存储计算机可读代码或计算机可用程序代码,使得当计算机可读程序代码或计算机可用程序代码在计算机上执行时,该计算机可读程序代码或计算机可用程序代码的执行引起计算机在通信链路上传输另一个计算机可读程序代码或计算机可用程序代码。该通信链路可以使用介质例如而不限于物理的或无线的介质。 

适用于存储和/或执行计算机可读程序代码或计算机可用程序代码的数据处理系统将包括通过如系统总线的通信结构直接或间接耦合到存储器元件的一个或更多个处理器。存储器元件可以包括在程序代码的实际执行期间使用的本地存储器、大容量存储器、和高速缓存存储器,其提供至少一些计算机可读或计算机可用程序代码的暂时存储以减少在代码执行期间可以从大容量存储器获取的代码的数目。 

输入/输出或I/O器件可以直接或通过中间I/O控制器耦合到系统。这些器件可以包括,例如而不限于,键盘、触屏显示器和定点器件。不同的通信适配器还可耦合到系统以使数据处理系统能够通过中间个人或公共网络耦合到其它数据处理系统或远程打印机或存储器件。调制解调器和网络适配器的非限制性示例只是少数当前可用类型的通信适配器。 

另外,本发明包括根据以下条款的实施例: 

条款1:一种用于定位结构模型并控制其设计环境的装置,其包括: 

处理器; 

与处理器通信的存储器(3506); 

动作感应输入器件,其与处理器通信并被配置为跟踪对象的动作并产生位于对象上的至少一点的多组空间坐标数据;以及 

存储在存储器(3506)中的应用程序,其中当应用程序(132)由处理器执行时,应用程序(132)被配置为: 

接收来自动作感应输入器件的至少一点的第一组空间坐标数据;以及 

向计算机辅助设计系统(130)发送空间坐标数据,计算机辅助设计系统(130)基于位于对象上点的动作计算角度数据以修正对象的模型设计。 

条款2:根据条款2的装置,其中对象是人体工学人体模型(150)。 

条款3:根据条款2的装置,其中位于对象上的点是人体工学人体模型(150)的肢体上的关节。 

条款4:根据条款3的装置,其中应用程序(132)被配置为使用一段时间内连续产生的空间坐标的多个观察值,该多个观察值在肢体的运动期间被捕获。 

条款5:根据条款3的装置,其中应用程序(132)从第一组空间坐标数据产生骨骼点数据。 

条款6:根据条款5的装置,其中应用程序(132)计算肢体角度以从骨骼点数据指定人体工学人体模型的取向。 

条款7:根据条款6的装置,其中肢体角度由三维空间中的三个主平面中的一个中的角度规格来描述。 

条款8:根据条款7的装置,其中角度规格由计算机辅助设计系统(130)来规定。 

条款9:根据条款6的装置,其中计算机辅助设计系统(130)基于由应用程序(132)计算的骨骼点之间的体段的角度来指定人体模型(150)的取向。 

条款10:一种用于定位人体工学人体模型(150)和控制人体模型设计环境的处理器实施方法,其包括: 

计算机接收(202)来自动作感应输入器件的一组空间坐标,空间坐标描述人类模型的肢体的至少一个关节的位置; 

计算机向计算机辅助设计应用程序(132)发送(204)一组空间坐标,计算机辅助设计应用程序(132)基于由角度数据的多个实例描述的肢体角度的变化来表示人体工学人体模型(150)的运动; 

计算机接收(206)来自计算机辅助设计应用程序(132)的角度规格,角度规格对应于至少一个三维平面中的肢体的角度;以及 

计算机根据接收到的角度规格将一组空间坐标转换(208)为角度数据,角度数据描述肢体的位置。 

条款11:根据条款10的方法,其中动作感应输入器件是深度摄像头。 

条款12:根据条款11的方法,其中深度摄像头至少由手势和语音指令控制。 

条款13:根据条款10的方法,其中计算机执行将所述动作感应输入器件与计算机辅助设计应用程序(132)集成在一起的多个算法,其中该算法实现全人身跟踪和人体模型(150)控制。 

条款14:根据条款13的方法,其中算法将由动作感应输入器件收集到的坐标变换为由计算机辅助设计应用程序(132)使用的坐标格式以控制人体工学人体模型(150)和开发环境中的至少一个。 

条款15:根据条款13的方法,其中算法解决动作感应输入器件和计算机辅助设计应用程序(132)使用的数据格式之间的不兼容性。 

条款16:一种集成动作感应输入器件与计算机辅助设计应用程序(132)以控制人体工学人体模型(150)的处理器实施方法,其包括: 

计算机接收(212)在人类模型运动期间表示骨骼关节的定位的三维x、y、和z坐标,该x、y、和z坐标由动作感应输入器件捕获; 

计算机接收(214)指定在至少一个三维平面描述关节角度的自由度的信息; 

计算机基于自由度和x、y、和z坐标指定(216)至少一个肢体角度,其中所确定的肢体角度指定人体工学人体模型(150)的取向;以及 

计算机向计算机辅助设计应用程序(132)提供(218)至少一个肢体角度,以便在表示肢体的运动中使用。 

条款17:根据条款16的方法,其中计算机执行多个算法,该多个算法将动作感应输入器件与计算机辅助设计应用程序(132)集成,从而至少能够由计算机辅助设计应用程序(132)以人类模型采用的并由动作感应输入器件捕获的相同姿势定位人体工学人体模型(150)。 

条款18:根据条款17的方法,其中通过多个算法将动作感应输入器件与计算机辅助设计应用程序(132)的集成进一步使得语音控制能够相对于计算机辅助设计应用程序(132)的环境转动人类模型。 

条款19:根据条款17的方法,其中通过多个算法将动作感应输入器件与计算机辅助设计应用程序(132)的集成进一步使得语音控制能够在骨骼跟踪和人体工学人体模型(150)控制和计算机辅助设计应用程序(132)环境的屏幕重叠菜单之间切换。 

条款20:根据条款17的方法,其中通过多个算法将动作感应输入器件与计算机辅助设计应用程序(132)的集成进一步使得语音指令和身体动作的组合的使用能够在计算机辅助设计应用程序(132)的工作台环境中执行包括摇摄、变焦和转动的功能。 

对不同示例性实施例进行描述是为了解释和说明,并且无意穷尽或限制于所公开的形式中的实施例。多种修改和变化对本领域技术人员是显而易见的。此外,不同的示例性实施例可以提供相比于其它示例性实施例不同的优点。选择并且描述选定的一个或更多个实施例,是为了更好地解释实施例的原理、实际应用,并使本领域技术人员能够理解具有适用于预期特定用途的各种修改的各种实施例的公开。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号