刚体识别方法、装置、系统及终端设备与流程

文档序号:20922467发布日期:2020-05-29 14:19阅读:251来源:国知局
刚体识别方法、装置、系统及终端设备与流程

本申请属于动作捕捉技术领域,具体涉及一种刚体识别方法、装置、终端设备、系统及计算机可读存储介质。



背景技术:

动作捕捉是测量、记录物体在真实三维空间中的运动轨迹或者姿态,并在虚拟三维空间中重建运动物体状态的高新技术。

现有的光学动作捕捉系统可分为主动式和被动式。被动式的刚体光学标记点容易损耗,而且受制于散热和供电以及反射式的光路等问题,相机接收到的光源亮度并不高,这降低了摄像机过滤外部冗余信息的能力,也降低了相机的工作距离。此外,被动式的刚体需要被设置成不同的三维形态来区分各自的不同,从而导致难以批量生产和难以批量配置。

市面上一些主动式的产品仅仅将原本被动式刚体的反光光学标记点替换成发光二极管等自身会发光的发光源,并免去了相机自带的光源,这虽然降低了光学标记点的损耗和相机生产成本,在一定程度上也能增加动捕相机的工作距离。然而,主动式刚体由于涉及到供电问题往往比被动式刚体更难制作得多,并且,这种主动式的产品仍需要将刚体配置成不同的三维形态,从而进一步增加批量生产和批量配置的难度。



技术实现要素:

有鉴于此,本申请提供一种刚体识别方法、装置、终端设备、系统及计算机可读存储介质,以解决现有技术需将运用于主动式光学动作捕捉系统中的刚体配置成不同的三维形态,导致刚体的配置效率过低且主动式光学动作捕捉系统对刚体的识别速度过慢的问题。

本申请第一方面提供一种刚体识别方法,包括:

根据来自相机的一个识别周期内的图像数据获取对应刚体的编码信息;

根据所述编码信息和预设的刚体编码信息对所述刚体进行识别。

本申请第二方面提供一种刚体识别装置,包括:

编码信息获取单元,用于根据来自相机的一个识别周期内的图像数据获取对应刚体的编码信息;

识别单元,用于根据所述编码信息和预设的刚体编码信息对所述刚体进行识别。

本申请第三方面提供一种刚体识别系统,其特征在于,包括服务器、基站、相机及刚体,所述基站用于向所述刚体和所述相机发送同步触发信号;所述刚体包括多个发光源,用于在接收到所述同步触发信号之后,从自身存储的编码信息中调用编码数据并分配给每个所述发光源,以使每个所述发光源能够根据所述编码数据控制所述发光源的亮度;所述相机用于在接收到所述同步触发信号之后,对所述刚体进行曝光拍摄,以及将拍摄得到的图像数据发送至所述服务器;所述服务器用于根据一个识别周期内的所述图像数据获取对应刚体的编码信息,以及根据所述编码信息和预设的刚体编码信息对所述刚体进行识别。

本申请第四方面提供一种终端设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述第一方面或者上述第一方面的任一可能实现方式中提及的刚体识别方法。

本申请第五方面提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述第一方面或者上述第一方面的任一可能实现方式中提及的刚体识别方法。

本申请实施例与现有技术相比存在的有益效果是:首先根据来自相机发送的一个识别周期内的图像数据获取对应刚体的编码信息,然后根据所述编码信息和预设的刚体编码信息对所述刚体进行识别。由于整个所述刚体识别方法与刚体的三维形态无关,因此不需要将主动式光学动作捕捉系统中的刚体配置成不同的三维形态,从而大大提高了刚体的配置效率和主动式光学动作捕捉系统对刚体的识别能力。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种刚体识别方法的实现流程示意图;

图2为本申请提供的编码信息的示意图;

图3为本申请提供的一种刚体识别装置的示意图;

图4为本申请提供的一种刚体识别系统的示意图;

图5为本申请提供的一种信号时序图的示意图;

图6为本申请提供的终端设备一个实施例结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例一

下面对本申请实施例提供的一种刚体识别方法进行描述,请参阅图1,本申请实施例中的刚体识别方法包括:

步骤101,根据来自相机的一个识别周期内的图像数据获取对应刚体的编码信息。

其中,该刚体包括至少3个发光源,该发光源可为发光二极管(lightemittingdiode,led),而编码信息包括与发光源的数量相同的编码子集,每个编码子集包括一个发光源一个识别周期内的编码数据,该编码数据包括0或1。识别周期是指完成一次刚体识别所需的时间,识别周期与相机的曝光拍摄次数相关,一个识别周期通常包括多次曝光拍摄。而图像数据包括:相机拍摄到的包含发光源的图像。

具体实现时,步骤101可以包括:根据相机发送的一个识别周期内的图像数据确定属于同一刚体的发光源的标识信息和发光源的编码数据,根据同一刚体的发光源的标识信息和发光源的编码数据获取对应刚体的编码信息。

一般地,相机一次曝光拍摄一帧图像数据,然后对拍摄的图像数据进行处理,以及将处理后的数据发送给服务器,然后再进入下一次拍摄。其中,图像数据具体可以包括:发光源的关联域灰度数据和发光源的质心坐标值。即相机发送给服务器的图像数据具体为:发光源的关联域灰度数据和发光源的质心坐标值。

服务器在确定刚体上发光源的编码数据时,操作方式例如可以是:在同一识别周期内,根据来自相机的每帧图像中每一发光源的关联域灰度数据,确定该识别周期内每一发光源的关联域灰度数据的平均值,并将所述关联域灰度数据的平均值作为当前识别周期内该发光源的灰度值阈值。所述关联域灰度数据包括:关联域平均灰度值或关联域总灰度值;然后,服务器根据灰度值阈值和每帧图像中每一发光源的关联域灰度数据,分别确定一个所述识别周期内每帧图像中每一所述发光源的编码数据;根据所述相机发送的一个所述识别周期内每帧图像的每一所述发光源的质心坐标值,确定属于同一刚体的所述发光源的标识信息;根据一个所述识别周期内每帧图像中每一所述发光源的编码数据和属于同一刚体的所述发光源的标识信息,获取对应刚体的编码信息。

其中,该关联域灰度数据包括:关联域平均灰度值或关联域总灰度值,关联域平均灰度值为发光源的关联域的灰度值的平均值,关联域总灰度值为发光源的关联域的灰度值的总和。

其中,确定每一发光源的编码数据的方式例如可以是:判断发光源的关联域灰度数据是否大于或者等于灰度值阈值,若发光源的关联域灰度数据大于或者等于灰度值阈值,则将发光源的编码数据确定为1,若发光源的关联域灰度数据小于灰度值阈值,则将发光源的编码数据确定为0,以此类推,服务器44便可确定出一个识别周期内每帧图像中每一发光源的编码数据。

其中,在确定属于同一刚体的发光源的标识信息时操作方式例如可以是:服务器可以通过发光源的质心坐标值,确定发光源之间的相对距离,将相对距离小于预设距离阈值的发光源确定为属于同一刚体的发光源,以得到该属于同一刚体的发光源的标识信息。

可选地,在所述步骤101之前,还可以包括:生成编码信息;发送所述编码信息至对应的刚体,指示所述刚体根据所述编码信息控制所述刚体的发光源的亮度。具体地,可以根据预设编码规则生成编码信息,该预设编码规则可包括以下任意一种:设置帧头、奇偶校验码编码规则、汉明码编码规则。而编码信息可为经过二进制编码后得到的二进制编码。编码信息可以包括:与发光源的数量对应的编码子集。举例来说,若一个刚体包括n个发光源,则该刚体的编码信息则包括n个编码子集。其中,一个编码子集内存储有一个发光源一个识别周期内的编码数据。需要说明的是,在预先为每个刚体生成唯一的编码信息的过程中,服务器确定不同刚体的编码信息所包括的编码子集时应遵守的原则是:尽量使编码子集不一样,即尽量保证每个编码子集的唯一性。

可选地,在生成编码信息时,具体可以包括:根据预设的编码长度和刚体的发光源的数量生成编码信息。其中,预设的编码长度为:编码子集的编码长度与发光源的数量的乘积。例如,假设一个刚体的编码子集的编码长度为16,发光源的数量为8,则刚体对应的预设的编码长度是128,编码信息可以如图2所示,编码信息的每一行编码数据构成一个发光源对应的编码子集。可以理解的是,图2所示的编码信息仅仅是所述编码信息的一种呈现形式而已。

在生成编码信息之后,还将编码信息发送至交换机,交换机再将编码信息发送至基站,基站通过无线传输技术将所述编码信息发送至编码信息对应的刚体,并寄存在刚体的寄存器中,指示所述刚体根据所述编码信息控制所述刚体的发光源的亮度,无线传输技术可包括以下任意一种:无线保真(wi-fi)、紫蜂(zigbee)。

步骤102,根据编码信息和预设的刚体的编码信息对所述刚体进行识别。

可选地,步骤102可以包括:判断预设的刚体编码信息是否包含编码信息,若所述预设的刚体编码信息包含所述编码信息,则确定所述编码信息对应的刚体的名称或身份标识号(identification,id)号。或者说,将所述编码信息和预设的编码信息进行比对,根据比对结果对所述刚体进行识别,以确定刚体的名称或身份标识号(identification,id)号。

本申请实施例中,通过相机发送的一个识别周期内的图像数据获取对应刚体的编码信息,然后根据所述编码信息和预设的刚体编码信息对所述刚体进行识别,由于整个所述刚体识别方法与刚体的三维形态无关,因此不需要将运用于主动式光学动作捕捉系统中的刚体配置成不同的三维形态,从而大大提高了刚体的生产效率和主动式光学动作捕捉系统对刚体的识别能力。

实施例二

与上述实施例一对应,图3示出了本申请实施例提供的一种刚体识别装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:

该刚体识别装置包括:编码信息获取单元301、识别单元302。其中:

编码信息获取单元301,用于根据来自相机的一个识别周期内的图像数据获取对应刚体的编码信息。

可选地,编码信息获取单元301,具体用于根据来自相机的一个识别周期内的图像数据确定属于同一刚体的发光源的标识信息和该发光源的编码数据,并根据同一刚体的发光源的标识信息和所述发光源的编码数据获取对应刚体的编码信息。关于根据图像数据确定发光源的标识信息和编码数据的操作方式,在方法实施例中已经有描述,此处不再赘述。

识别单元302,用于根据所述编码信息和预设的刚体编码信息对所述刚体进行识别。具体实现时,识别单元302将确定出的编码信息和预设的刚体的编码信息进行比对,根据比对结果对所述刚体进行识别。

可选地,该刚体识别装置还包括:编码信息生成单元和编码信息发送单元。

编码信息生成单元用于:生成编码信息;编码信息发送单元用于:发送所述编码信息至对应的刚体,指示所述刚体根据所述编码信息控制所述刚体的发光源的亮度。其中,编码信息生成单元具体可以用于根据预设的编码长度和刚体的发光源的数量生成编码信息。

本申请实施例中,通过根据来自相机发送的一个识别周期内的图像数据获取对应刚体的编码信息,然后根据所述编码信息和预设的刚体编码信息对所述刚体进行识别,由于整个所述刚体识别方法与刚体的三维形态无关,不需要将运用于主动式光学动作捕捉系统中的刚体配置成不同的三维形态,从而大大提高了刚体的生产效率和主动式光学动作捕捉系统对刚体的识别能力。

实施例三

本申请实施例还提供一种刚体识别系统,如图4所示,为了便于说明,仅示出了与本申请实施例相关的部分:

该刚体识别系统包括:基站41、刚体42、相机43及服务器44。下面,将分别对刚体识别系统中的每个部件做详细说明。

首先,服务器44的作用主要有:第一:为每个刚体42生成唯一的编码信息,并通过基站41下发至每个刚体42;第二:接收来自相机43的图像数据,并根据一个识别周期内的图像数据获取对应刚体的编码信息,以及根据编码信息和预设的刚体编码信息对刚体42进行识别。

其中,在系统配置阶段,服务器44在为每个刚体生成唯一的编码信息时,服务器44可以根据预设的编码长度和刚体的发光源的数量为每个刚体生成唯一的编码信息。其中,预设的编码规则可包括以下任意一种:设置帧头、奇偶校验码编码规则、汉明码编码规则。而编码信息具体可以为二进制编码信息。编码信息可以包括:与发光源的数量对应的编码子集。举例来说,若一个刚体包括n个发光源,则该刚体的编码信息则包括n个编码子集。其中,一个编码子集内存储有一个发光源一个识别周期内的编码数据。在每一识别周期内,发光源依序根据编码信息的指示控制光源亮度。即发光源的光源亮度,一个识别周期循环一次。需要说明的是,在预先为每个刚体生成唯一的编码信息的过程中,服务器44确定不同刚体的编码信息所包括的编码子集时应遵守的原则是:尽量使编码子集不一样,即尽量保证每个编码子集的唯一性。

其中,预设的编码长度为:编码子集的编码长度与发光源的数量的乘积。假定一个刚体的编码子集的编码长度为16,发光源的数量为8,则该刚体对应的预设的编码长度是128,该编码信息可以如图2所示,编码信息的每一行编码数据构成一个发光源对应的编码子集。可以理解的是,图2所示的编码信息仅仅是编码信息的一种呈现形式而已。

其中,在系统运行阶段,服务器44还用于接收来自相机的图像数据,并根据一个识别周期内的图像数据获取对应刚体的编码信息,以及根据编码信息和预设的刚体的编码信息对刚体42进行识别。例如服务器44可以将编码信息和预设的编码信息进行比对,根据比对结果对所述刚体进行识别,如可以根据比对结果确定刚体的名称或身份标识号(identification,id)号。

具体进行刚体识别时,服务器44可以根据相机43发送的一个识别周期内每帧图像中每一发光源的关联域灰度数据,确定一个识别周期内每一发光源的关联域灰度数据的平均值,并将该关联域灰度数据的平均值作为每一发光源当前识别周期内的灰度值阈值。以及根据该灰度值阈值和每帧图像中对应的每一发光源的关联域灰度数据,分别确定一个识别周期内每帧图像中每一发光源的编码数据。确定每一发光源的编码数据的方式例如可以是:

判断发光源的关联域灰度数据是否大于或者等于灰度值阈值,若发光源的关联域灰度数据大于或者等于灰度值阈值,则将发光源的编码数据确定为1,若发光源的关联域灰度数据小于灰度值阈值,则将发光源的编码数据确定为0,以此类推,服务器44便可确定出一个识别周期内每帧图像中每一发光源的编码数据。

在确定每一发光源的编码数据之后,服务器44还可以根据相机43发送的一个识别周期内每帧图像的每一发光源的质心坐标值,确定属于同一刚体的发光源的标识信息;以及服务器44还根据一个识别周期内每帧图像中每一发光源的编码数据和属于同一刚体的发光源的标识信息,确定对应刚体的编码信息。在确定发光源的标识信息时,操作方式例如可以是:服务器44根据一个识别周期内每帧图像的每一发光源的质心坐标值,确定属于同一刚体的发光源的标识信息,例如,可以通过发光源的质心坐标值,确定发光源之间的相对距离,并确定距离较近的发光源属于同一刚体。

需要说明的是,由于不同识别周期内同一识别周期内不同发光源的关联域灰度数据的平均值是会变化的,那么相应地,不同发光源的灰度值阈值在相同或不同的识别周期中也是动态变化的。服务器44在根据发光源的质心坐标值确定属于同一刚体的发光源的标识信息时,操作方式例如可以是:根据每一发光源的质心坐标值,确定各个发光源之间的相对距离,将相对距离小于预设距离阈值的发光源确定为属于同一刚体的发光源,确定属于同一刚体的发光源的标识信息;根据属于同一刚体的发光源的标识信息和每一发光源的编码数据,确定对应刚体的编码信息。

其次,介绍基站41,其作用有:生成同步触发信号,以及实现系统部件间信息的传输。例如,基站41按照预定的间隔周期生成同步触发信号,并把生成的同步触发信号同时下发给刚体42和相机43,以使得刚体42能够根据同步触发信号,控制刚体42上发光源的亮度,同时又使得相机43能够根据同步触发信号,捕捉到刚体上发光源的图像数据。具体实现时,基站41可以通过无线传输技术同时向刚体42和相机43发送同步触发信号。其中,无线传输技术可包括以下任意一种:无线保真(wi-fi)、紫蜂(zigbee)。

在进行部件间信息的传输时,基站41将接收到的来自服务器44的多个编码信息随机分配给多个刚体42,每个刚体42在收到编码信息之后,将编码信息寄存在刚体42的寄存器中。

再次,介绍刚体42,刚体42包括多个发光源,其作用有:第一:接收来自基站41下发的刚体的编码信息并寄存在刚体的寄存器中;第二:接收到来自基站41的同步触发信号之后,从自身存储的编码信息中调用编码数据并分配给每个发光源,以使每个发光源能够根据编码数据控制发光源的亮度。

其中,该刚体识别系统中刚体42的数量可以是1个或多个,并不限于图4中示意的3个。而发光源可为发光二极管(lightemittingdiode,led),而编码数据可以包括0或1。即本申请实施例是通过发光源的亮度来标识相应的编码数据为1或为0。刚体42上的发光源数量与编码信息包括的编码子集数量相同,而每个编码子集内存储有一个发光源一个识别周期内的编码数据;刚体42每接收到一次同步触发信号进行一次编码数据分配时,具体是在接收到同步触发信号之后,分别从自身存储的n个编码子集中依序选取一位编码数据发送给对应的发光源。即一次同步信号触发之后,每个发光源只收到1位编码数据。当刚体42接收到下一次同步触发信号之后,再从寄存器存储的n个发光源的编码信息中分别选取下一位编码数据并发送给对应的发光源,以此类推,自此完成一个识别周期的发光。当一个识别周期完成之后,即发光源的编码信息已经完成一轮分配之后,当再次接收到同步触发信号之后,刚体42循环使用发光源的编码信息,开始下一识别周期的编码数据分配。

最后,介绍相机43,其用于在接收到来自基站41的同步触发信号之后,对刚体42进行曝光拍摄,以及将拍摄得到的图像数据发送至服务器44。其中,一个相机43能够拍摄多个刚体42的图像。需要说明的是,刚体42上发光源的亮度变化与相机43的曝光拍摄是同步进行的,即刚体42每接收到一次同步触发信号即进行一次编码数据分配;而相机43每接收到一次同步触发信号即进行一次曝光拍摄。由于同步触发信号是同步发送给刚体和相机的,因此能够保证相机能够捕捉到发光源的亮度变化。例如,如图5所示,刚体每接收到一次上升沿同步触发信号即进行一次编码数据分配;相机43每接收到一次上升沿同步触发信号即进行一次曝光拍摄。以此保证发光源如led灯的亮度发生变化时,相机能够同步捕捉到。

可以理解的是,相机43发送给服务器44的图像数据可以包括:每一发光源的关联域灰度数据和每一发光源的质心坐标值。因此在发送图像数据至服务器44之前,相机43还需要确定曝光拍摄的每帧图像中每一发光源的关联域灰度数据和每一发光源的质心坐标值;以及将每一发光源的关联域灰度数据和每一发光源的质心坐标值发送给服务器44。可选地,关联域灰度数据可以包括:关联域平均灰度值或关联域总灰度值。

具体地,相机43在每进行一次曝光拍摄之后,即立即确定曝光拍摄的每帧图像中每一发光源的关联域灰度数据和每一发光源的质心坐标值,并将当前确定得到的每一发光源的关联域灰度数据和每一发光源的质心坐标值立即发送给服务器44。假定一个识别周期内包括f次拍摄,根据接收到的f次同步触发信号,相机进行f次曝光拍摄,即一个识别周期内,相机43发送f次图像数据(包括)给服务器44。

可选地,该刚体识别系统还可以包括:交换机45,如图4所示,其作用是:实现服务器44与基站41之间的数据交换,实现基站41与相机43之间的数据交换。在服务器44生成唯一的编码信息,该编码信息可以通过交换机45发送给基站41。当然,交换机45还可以接收基站41发送的同步触发信号,并将同步触发信号发送至相机43。

需要说明的一点是,刚体42上的发光源数量n与编码信息包括的编码子集数量相同,而每个编码子集内存储有一个发光源一个识别周期内的编码数据。一个识别周期内的曝光拍摄次数与编码子集的编码长度f取值相同。编码子集的编码长度例如可以为f,f为等于或者大于二的正整数。对于f的取值,f越小,可编码的范围较小,相应地可识别的刚体数量比较少,f取值越大,则一次识别周期的曝光拍摄次数较多,所耗费的时间也会越多,这样则会降低刚体的识别速度。具体实现时,f可以选为16。

假设n为8,f为16,即刚体42包括8个发光源,编码信息包括8个编码子集,刚体42在接收到第一次同步触发信号之后,则分别从所有编码子集中选取第一位编码数据,并将选取出的第一位编码数据分别发送至对应的发光源。在接收到第二次同步触发信号之后,则分别从所有编码子集中选取第二位编码数据,并将选取出的所有第二位编码数据发送至对应的发光源,如此循环往返,直到一个识别周期内完成16次同步触发信号的接收以及16次编码数据的分配。

下面,将详细描述该刚体识别系统的运行过程。

本发明实施例的刚体识别系统在工作时,大体可以分为两个阶段,即配置阶段和运行识别阶段,下面将进行详细描述。

在配置阶段,服务器44根据预设的编码长度和刚体的发光源的数量,按照预设的编码规则为每个刚体42生成唯一的编码信息。在服务器44为每个刚体42生成唯一的编码信息之后,需要将预设的多个刚体的编码信息发送至每个刚体42。具体实现时,服务器44通过交换机45发送给基站41,基站41在接收到预设的编码信息之后,再通过无线传输技术将预设的多个刚体的编码信息随机分配给多个刚体42。每个刚体42在收到编码信息之后,将接收得到的编码信息寄存在自身的寄存器中。

在运行阶段,基站41通过无线传输技术(比如无线wifi、zigbee等无线通讯技术)向所有刚体42广播同步触发信号。每接收到一个同步触发信号,刚体42就从寄存器里编码信息包括的每个编码子集中按顺序分别调用1位编码数据分别分配给相应发光源(若发光源数为n,则共调用n位编码数据,每个发光源收到1位编码数据)。发光源接收到编码数据之后,根据编码数据的指示,来控制自身的发光强度,即是说,本发明实施例是通过发光源的明或暗来展示相应编码为1或为0。与此同时,同样的同步触发信号也会由基站41发送到交换机45并传送给相机43,相机43接收到该同步触发信号之后,即进行一次曝光拍摄。即是说,刚体每接收到到一次同步触发信号即进行一次编码数据分配,相机每接收到一次同步触发信号即进行一次曝光拍摄。

相机43在进行曝光拍摄之后,需要将拍摄得到的图像数据发送给服务器44。具体地,图像数据包括发光源的关联域灰度值及质心坐标值。因此,相机43首先需要确定曝光拍摄的每帧图像中每一发光源的关联域灰度值和每一发光源的质心坐标值。在确定每帧图像中每一发光源的关联域灰度值,可以将发光源关联域的平均灰度值或总灰度值作为发光源的关联域灰度值。在确定每帧图像中每一发光源的关联域灰度值之后,相机43还需要将确定出的当前帧图像中每一发光源的关联域灰度值和每一发光源的质心坐标值发送给服务器44。需要说明的是,相机每进行一次曝光拍摄之后,即需要立即将当前次曝光拍摄得到的图像帧中每一发光源的关联域灰度值和每一发光源的质心坐标值发送给服务器44。假定一个识别周期内包括f次拍摄,通过发送完f次同步触发信号,相机进行f次曝光,即一个识别周期内,相机发送f次图像数据给服务器44。

服务器44在接收到一个识别周期内f帧图像中每一发光源的关联域灰度值和每一发光源的质心坐标值之后。根据一个识别周期内f帧图像中每一发光源的关联域灰度值,计算一个识别周期内每一发光源的关联域灰度值平均值,并将该关联域灰度值平均值作为当前识别周期的灰度值阈值。然后根据灰度值阈值和每帧图像中每一发光源的关联域灰度值,分别确定一个识别周期内每帧图像中每一发光源的编码信息。需要说明的是,不同的识别周期,不同发光源的灰度阈值是动态变化的。

在根据灰度值阈值和每帧图像中每一发光源的关联域灰度值,分别确定一个识别周期内每帧图像中每一发光源的编码信息时,具体操作方式可以是:确定出的灰度值阈值为m,若发光源的关联域灰度值大于等于m,则确定发光源的编码信息为1,若发光源的关联域灰度值小于m,则确定发光源的编码信息为0。如此,服务器44便可确定出一个识别周期内每一帧图像中每一发光源的编码信息。在运行阶段的信号时序图可以通过图5来表示。

服务器44还可以根据一个识别周期内每帧图像的每一发光源的质心坐标值,确定属于同一刚体的发光源的标识信息,例如,可以通过发光源的质心坐标值,确定发光源之间的相对距离,并确定距离较近的发光源属于同一刚体。

最后,服务器44根据确定出的属于同一刚体的发光源信息和每一发光源的编码信息,便可确定出一个识别周期内每一刚体的编码信息。服务器44将确定的刚体的编码信息和预设的编码信息进行比对,根据比对结果对刚体进行识别,从而确定出刚体的名称或id号。即是说,本发明实施例通过记录到一个识别周期内不同刚体多个发光源明或暗的形式展现的多帧图像数据,即可通过不同的编码区分出不同的发光源,从而区分出不同的刚体。由于本发明的刚体识别系统的刚体识别过程与刚体的三维形态无关,因此不需要将主动式光学动作捕捉系统中的刚体配置成不同的三维形态,从而大大提高了刚体的生产效率和主动式光学动作捕捉系统对刚体的识别能力。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例四

图6是本申请一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如刚体识别程序。所述处理器60执行所述计算机程序62时实现上述各个刚体识别方法实施例中的步骤,例如图1所示的步骤102至102。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图3所示单元301至302的功能。

示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成编码信息获取单元、识别单元,各单元具体功能如下:编码信息获取单元,用于根据来自相机发送的一个识别周期内的图像数据获取对应刚体的编码信息;识别单元,用于根据所述编码信息和预设的刚体编码信息对所述刚体进行识别。

所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器61还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已输出或将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1