主动光刚体识别方法、装置、设备及存储介质与流程

文档序号:22916414发布日期:2020-11-13 15:58阅读:115来源:国知局
主动光刚体识别方法、装置、设备及存储介质与流程

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



背景技术:

动作捕捉技术作为一种可以实现虚拟现实仿真的技术,近年来在影视、娱乐、医疗、教育、科研等领域应用广泛。动作捕捉主要依托光学动捕摄像机来实现现实物体的动作捕捉和采集,然后通过计算机等数据处理终端对光学动捕摄像机所采集到的电子图像数据进行处理,在计算机中虚拟数据的形式将现实中物体还原为虚拟物体。

现有的光学动作捕捉系统可分为主动式和被动式。然而,由于被动式的刚体光点容易损耗,而且受制于散热和供电以及反射式的光路等问题,相机接收到的光源亮度并不高,降低了摄像机过滤外部冗余信息的能力和相机的工作距离,严重减少其使用寿命。此外,市面上一些主动式的产品,虽然降低了光点的损耗和相机生产成本,在一定程度上也能增加动捕相机的工作距离。然而,由于涉及到供电问题往往比被动式刚体更难制作,并且,这种主动式的产品仍需要将刚体配置成不同的三维形态,从而进一步增加批量生产和批量配置的难度。



技术实现要素:

有鉴于此,本申请提供一种主动光刚体识别方法、装置、终端设备、系统及存储介质,以解决刚体的配置效率过低且主动式光学动作捕捉系统对刚体的识别速度过慢的问题。

本发明第一方面提供了一种主动光刚体识别方法,包括:

获取光学动捕系统中,通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,所述待识别刚体包括多个光点,所述图像数据包括所述多个光点的质心坐标值;

根据预先标定好的所述多个光点的质心坐标值得到相邻的光点之间的距离值之和,将所述相邻的光点之间的距离值之和与所述光点的数量相除,得到所述待识别刚体的中心点信息;

根据所述中心点信息与获取的图像数据中包括的所述多个光点的质心坐标值,确定所述多个光点是否来自同一待识别刚体;

若来自同一待识别刚体,则根据一个所述识别周期内每帧图像中所述多个光点的编码数据和属于同一待识别刚体的所述多个光点的标识信息,获取对应刚体的编码信息;

将所述编码信息与预设的刚体编码信息进行比对,对所述待识别刚体进行识别。

可选地,在本发明第一方面的第一种实现方式中,所述获取光学动捕系统中,通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据之前,还包括:

对光学动捕系统中的相机进行标定,以获得真实的预先标定好的所述多个光点的质心坐标值。

可选地,在本发明第一方面的第二种实现方式中,所述根据所述中心点信息与获取的图像数据中包括的所述多个光点的质心坐标值,确定所述多个光点是否来自同一待识别刚体包括:

根据所述中心点信息与获取的图像数据中包括的所述多个光点的质心坐标值,分别获得所述中心点与所述获取的图像数据中包括的所述多个光点之间的第一距离值,以及所述中心点与所述预先标定好的所述多个光点之间的第二距离值,将所述第一距离值与所述第二距离值进行对比,通过确定对比结果是否在阈值范围内,确定所述多个光点是否来自同一待识别刚体。

可选地,在本发明第一方面的第三种实现方式中,所述若来自同一待识别刚体,则根据一个所述识别周期内每帧图像中所述多个光点的编码数据和属于同一待识别刚体的所述多个光点的标识信息,获取对应刚体的编码信息包括:

若确定对比结果在阈值范围内,则确定所述多个光点来自同一待识别刚体;

根据所述多个光点对应的关联域面积和/或关联域灰度数据确定一个所述识别周期内每帧图像中所述多个光点的编码数据;

根据所述属于同一待识别刚体的所述多个光点的质心坐标值确定属于同一所述光点的标识信息;

根据所述编码数据和标识信息,获取所述对应刚体的编码信息。

可选地,在本发明第一方面的第四种实现方式中,所述根据所述多个光点对应的关联域面积和/或关联域灰度数据确定一个所述识别周期内每帧图像中所述多个光点的编码数据包括:

根据所述识别周期内所述多个光点的关联域面积,计算所述识别周期内每一光点的关联域面积平均值,将所述平均值作为所述多个光点在所述识别周期内的关联域面积阈值;

将所述识别周期内所述多个光点每一帧的关联域面积与所述关联域面积阈值进行比较,并根据比较结果赋予一个所述识别周期内每帧图像中所述多个光点不同的编码数据;

和/或,

根据来自相机的所述识别周期内每帧图像中每一所述光点的关联域灰度数据,确定所述识别周期内每一光点的关联域灰度数据的平均值,并将所述关联域灰度数据的平均值作为当前识别周期的灰度值阈值,所述关联域灰度数据包括:关联域平均灰度值或关联域总灰度值;

根据所述灰度值阈值和每帧图像中每一所述光点的关联域灰度数据,分别确定一个所述识别周期内每帧图像中每一所述光点的编码数据。

可选地,在本发明第一方面的第五种实现方式中,所述根据所述属于同一待识别刚体的所述多个光点的质心坐标值确定属于同一所述光点的标识信息包括:

获取前一帧属于同一待识别刚体的图像数据中包括的所述多个光点的质心坐标值,并分别为每一所述光点赋予一标记信息;生成第一标记信息;

获取后一帧属于同一待识别刚体的图像数据中包括的所述多个光点的质心坐标值,并分别为每一所述光点赋予一标记信息;生成第二标记信息;

将所述第一标记信息与第二标记信息进行匹配,若匹配成功,令第一标记信息取代第二标记信息,则第一标记信息为属于同一所述光点的标识信息。

本发明第二方面提供了一种主动光刚体识别装置,包括:

获取模块,用于获取光学动捕系统中通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,所述待识别刚体包括多个光点,所述图像数据包括所述多个光点的质心坐标值;

处理模块,用于根据预先标定好的所述多个光点的质心坐标值得到相邻的光点之间的距离值之和,将所述相邻的光点之间的距离值之和与所述光点的数量相除,得到所述待识别刚体的中心点信息;根据所述中心点信息与获取的图像数据中包括的所述多个光点的质心坐标值,确定所述多个光点是否来自同一待识别刚体;若来自同一待识别刚体,则根据一个所述识别周期内每帧图像中所述多个光点的编码数据和属于同一待识别刚体的所述多个光点的标识信息,获取对应刚体的编码信息;

识别模块,用于将所述编码信息与预设的刚体编码信息进行比对,对所述待识别刚体进行识别。

本发明第三方面提供了一种主动光动捕系统,包括:服务器、基站、相机及刚体,所述基站用于生成同步触发信号并向所述刚体和所述相机发送所述同步触发信号;所述刚体包括多个光点,用于在接收到所述同步触发信号之后,从自身存储的编码信息中调用编码数据并分配给每个所述光点,以使每个所述光点能够根据所述编码信息控制所述光点的亮度;所述相机用于在接收到所述同步触发信号之后,对所述刚体进行曝光拍摄,以及将拍摄得到的图像数据发送至所述服务器;所述服务器用于采用权利要求1-6中任一项所述的方法对所述刚体进行识别。

本发明第四方面提供了一种主动光刚体识别设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;

所述至少一个处理器调用所述存储器中的所述指令,以使得所述刚体识别设备执行上述的主动光刚体识别方法。

本发明的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的主动光刚体识别方法。

本发明提供的技术方案中,获取光学动捕系统中同一识别周期内的待识别刚体的至少一帧图像数据,根据预先标定好的所述多个光点的质心坐标值得到相邻的光点之间的距离值之和,将相邻的光点之间的距离值之和与光点的数量相除,得到待识别刚体的中心点信息;根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值,确定多个光点是否来自同一待识别刚体;若来自同一待识别刚体,则根据一个识别周期内每帧图像中多个光点的编码数据和属于同一待识别刚体的多个光点的标识信息,获取对应刚体的编码信息;将待识别刚体对应的编码信息与预设的编码信息进行比对,对待识别刚体进行识别。本发明通过图像中待识别刚体对应的编码信息与预设的编码信息进行比对,无需将运用于主动式光学动作捕捉系统中的刚体配置成不同的三维形态,提高了刚体的配置效率和主动式光学动作捕捉系统对刚体的识别速度。

附图说明

图1为本发明实施例中主动光刚体识别方法的第一个实施例示意图;

图2为本发明实施例中主动光刚体识别方法的第二个实施例示意图;

图3为本发明实施例中主动光刚体识别方法的第三个实施例示意图;

图4为本发明实施例中主动光刚体识别装置的一个实施例示意图;

图5为本发明实施例中主动光动捕系统的一个实施例示意图;

图6为本发明实施例中主动光刚体识别设备的一个实施例示意图。

具体实施方式

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中主动光刚体识别方法的第一个实施例包括:

101、获取光学动捕系统中,通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,待识别刚体包括多个光点,图像数据包括多个光点的质心坐标值;

可以理解的是,本发明的执行主体可以为刚体识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

本实施例中,获取光学动捕系统中,通过同一个相机拍摄的在同一识别周期内放入包含有待识别刚体的图像数据,其中,这些图像数据中包含至少一帧图像,在每一帧图像中都有对应要识别的待识别刚体。每个刚体上至少有三个光点,该光点可为发光二极管(lightemittingdiode,led),简称为光点。

识别周期是指完成一次刚体识别所需的时间,识别周期与相机的曝光拍摄次数相关,一个识别周期通常包括多次曝光拍摄。而图像数据包括:相机拍摄到的包含光点的图像。

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

102、根据预先标定好的多个光点的质心坐标值得到相邻的光点之间的距离值之和,将相邻的光点之间的距离值之和与光点的数量相除,得到待识别刚体的中心点信息;

本实施例中,首先根据预先已知标定好的多个光点的质心坐标值得到多个光点的质心坐标值的平均值,即将相邻的光点之间的距离值之和与光点的数量相除,将该平均值坐标定义为待识别刚体的中心点信息。

103、根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值,确定多个光点是否来自同一待识别刚体;

本实施例中,需要说明的是,相机在进行曝光拍摄时,可能会拍摄同一刚体或不同刚体上的光点,也可能会拍摄到捕捉场地内的其他光点。因此,相机传来的关于光点的图像数据可能是不同刚体上光点的图像数据,也可能是捕捉场地内其他光点的图像数据。在识别刚体身份信息过程中,只需要分别捕捉同一待识别刚体上的光点图像数据即可完成识别,因此,服务器需要判断该光点的数据是来自场内的其他光点还是相同或不同刚体上的发光源即光点(led)。具体方法如下:

根据中心点坐标信息、预先已知标定好的多个光点的质心坐标值以及获取的图像数据中包括的多个光点的质心坐标值就可以分别计算出预先已知标定好的多个光点的质心坐标值以及获取的图像数据中包括的多个光点的质心坐标值与中心点坐标值的差值,根据这个差值就可以确定多个光点是否来自同一待识别刚体。

104、若来自同一待识别刚体,则根据一个识别周期内每帧图像中多个光点的编码数据和属于同一待识别刚体的多个光点的标识信息,获取对应刚体的编码信息;

在该步骤中,例如,计算出预先已知标定好的多个光点的质心坐标值与中心点坐标值的差值k1,同时计算出获取的图像数据中包括的对应多个光点的质心坐标值与中心点坐标值的差值k2,通过比较k1与k2绝对值的大小即可确定多个光点是否属于同一待识别刚体上的光点。需要说明的是,k1代表真实的同一待识别刚体上的光点数据与中心点数据之间的差值,因此,若k1与k2绝对值大小相近,则说明该多个光点来自同一待识别刚体。

在确定来自同一待识别刚体之后,就可根据一个识别周期内每帧图像中多个光点的编码数据和属于同一待识别刚体的多个光点的标识信息,获取对应刚体的编码信息,例如,可以依据一个识别周期内每帧图像中多个光点的灰度值和关联域面积等识别该多个光点的编码数据,然后结合属于同一待识别刚体的多个光点的标识信息,从而获得对应刚体的编码信息。

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

可选地,在生成预设编码信息时,具体可以包括:根据预设的编码长度和刚体的光点的数量生成编码信息。其中,预设的编码长度为:编码子集的编码长度与光点的数量的乘积。例如,假设一个刚体的编码子集的编码长度为16,光点的数量为8,则刚体对应的预设的编码长度是128。

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

105、将编码信息与预设的刚体编码信息进行比对,对待识别刚体进行识别。

本实施例中,判断预设的刚体编码信息是否包含识别出的刚体编码信息,若预设的刚体编码信息包含该识别出的编码信息,则确定该编码信息对应的刚体的名称或身份标识号(identification,id)。或者说,将该编码信息和预设的编码信息进行比对,根据比对结果对所述刚体进行识别,以确定刚体的名称或身份标识号。

请参阅图2,本发明实施例中主动光刚体识别方法的第二个实施例包括:

201、对光学动捕系统中的相机进行标定,以获得真实的预先标定好的多个光点的质心坐标值;

为了使光学动作捕捉结果更精确,在本实施例中,需要事先对整个光学动捕空间进行扫场,即对光学动捕系统中的相机预先进行标定,避免相机各个参数发生畸变等引起测量结果错误,由此,便可得到刚体真实的位置数据等,从而获得刚体上真实的预先标定好的多个光点的质心坐标值。

202、获取光学动捕系统中,通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,待识别刚体包括多个光点,图像数据包括多个光点的质心坐标值;

在实际采集环境中,获取的图像数据中的每帧图像中包含的待识别刚体上的光点数据,有可能受到空间中其他光点的干扰,因此,其与步骤201中标定过程中得到的光点数据很可能存在区别,下述步骤将详细讲解如何排除区别点。

203、根据预先标定好的多个光点的质心坐标值得到相邻的光点之间的距离值之和,将相邻的光点之间的距离值之和与光点的数量相除,得到待识别刚体的中心点信息;

本步骤中计算得出中心点信息就是为了便于区分步骤202中获取的光点数据与步骤201中标定的光点数据之间的区别,其中,中心点信息包括中心点坐标。

204、根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值,确定多个光点是否来自同一待识别刚体;

由于中心点与标定好的同一待识别刚体上的光点之间的相对位置是确定真实的,因此,只需要根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值来获得中心点与获取的光点之间的相对位置,进而和中心点与标定好的同一待识别刚体上的光点之间的相对位置进行对比,就可以确定多个光点是否来自同一待识别刚体。

205、若来自同一待识别刚体,则根据一个识别周期内每帧图像中多个光点的编码数据和属于同一待识别刚体的多个光点的标识信息,获取对应刚体的编码信息;

需要说明的是,在识别出来自同一待识别刚体之后,才能进行编码信息的识别,否则,若其他刚体上的光点数据或者空间中其他光点数据串到某一刚体上,则会发生串扰问题,因此,必须排除该串扰问题,首先确定出获取的光点数据是来自同一待识别刚体的。接下来,便开始识别一个识别周期内每一帧图像中多个光点的编码数据,在识别出一帧图像中的编码数据时,还需要将同一待识别刚体上相同的光点进行标记,以确定在下一帧图像中的光点数据是来自同一光点的,也就是确定属于同一待识别刚体的多个光点的标识信息,才能获取一个识别周期内对应刚体的编码信息。

206、将编码信息与预设的刚体编码信息进行比对,对待识别刚体进行识别。

请参阅图3,本发明实施例中主动光刚体识别方法的第三个实施例包括:

301、获取光学动捕系统中,通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,待识别刚体包括多个光点,图像数据包括多个光点的质心坐标值;

302、根据预先标定好的多个光点的质心坐标值得到相邻的光点之间的距离值之和,将相邻的光点之间的距离值之和与光点的数量相除,得到待识别刚体的中心点信息;

303、根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值,分别获得中心点与获取的图像数据中包括的多个光点之间的第一距离值,以及中心点与预先标定好的多个光点之间的第二距离值,将第一距离值与第二距离值进行对比,通过确定对比结果是否在阈值范围内,确定多个光点是否来自同一待识别刚体;

本实施例中,通过中心点坐标值与实际获得的光点质心坐标值就可以得到第一距离值,同样也可以得到中心点与预先标定的光点之间的第二距离值,其中,第二距离值代表真实的属于同一待识别刚体上对应的多个光点与中心点之间的相对位置关系,将第一距离值与第二距离值进行对比,只要对比结果在预设阈值范围内,就可以确定这些光点是属于同一待识别刚体上的光点。一般来说,若获取到的光点不是来自同一待识别刚体,则其与中心点之间的距离将超过第二距离值,使用该方法,可以准确排除串扰光点。

304、若来自同一待识别刚体,则根据一个识别周期内每帧图像中多个光点的编码数据和属于同一待识别刚体的多个光点的标识信息,获取对应刚体的编码信息;

305、将编码信息与预设的刚体编码信息进行比对,对待识别刚体进行识别。

本发明实施例中刚体识别方法的第四个实施例包括:

获取光学动捕系统中,通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,待识别刚体包括多个光点,图像数据包括多个光点的质心坐标值;

根据预先标定好的多个光点的质心坐标值得到相邻的光点之间的距离值之和,将相邻的光点之间的距离值之和与光点的数量相除,得到待识别刚体的中心点信息;

根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值,分别获得中心点与获取的图像数据中包括的多个光点之间的第一距离值,以及中心点与预先标定好的多个光点之间的第二距离值,将第一距离值与所述第二距离值进行对比,通过确定对比结果是否在阈值范围内,确定多个光点是否来自同一待识别刚体;

若确定对比结果在阈值范围内,则确定多个光点来自同一待识别刚体;

根据多个光点对应的关联域面积和/或关联域灰度数据确定一个识别周期内每帧图像中多个光点的编码数据;

根据属于同一待识别刚体的多个光点的质心坐标值确定属于同一光点的标识信息;

根据编码数据和标识信息,获取对应刚体的编码信息;

本实施例中,在确定多个光点来自同一待识别刚体之后,进行识别刚体过程。该待识别刚体包括至少3个光点,该光点可为发光二极管(lightemittingdiode,led),而编码信息包括与光点的数量相同的编码子集,每个编码子集包括一个光点一个识别周期内的编码数据,该编码数据包括0或1。识别周期是指完成一次刚体识别所需的时间,识别周期与相机的曝光拍摄次数相关,一个识别周期通常包括多次曝光拍摄。而图像数据包括:相机拍摄到的包含光点的图像一般地,相机一次曝光拍摄一帧图像数据,然后对拍摄的图像数据进行处理,以及将处理后的数据发送给服务器,然后再进入下一次拍摄。其中,图像数据具体可以包括:光点的关联域面积、关联域灰度数据和光点的质心坐标值,即相机发送给服务器的图像数据具体为:光点的关联域面积、关联域灰度数据和光点的质心坐标值。

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

因此,在另一个实施例中,根据多个光点对应的关联域面积和/或关联域灰度数据确定一个识别周期内每帧图像中多个光点的编码数据的具体方法可以是:根据识别周期内多个光点的关联域面积,计算识别周期内每一光点的关联域面积平均值,将平均值作为多个光点在识别周期内的关联域面积阈值;

将识别周期内多个光点每一帧的关联域面积与关联域面积阈值进行比较,并根据比较结果赋予一个识别周期内每帧图像中多个光点不同的编码数据;

和/或,

根据来自相机的识别周期内每帧图像中每一光点的关联域灰度数据,确定识别周期内每一光点的关联域灰度数据的平均值,并将关联域灰度数据的平均值作为当前识别周期的灰度值阈值,关联域灰度数据包括:关联域平均灰度值或关联域总灰度值;

根据灰度值阈值和每帧图像中每一光点的关联域灰度数据,分别确定一个识别周期内每帧图像中每一光点的编码数据;

本实施例中,确定每一光点的编码数据的方式例如可以是:判断光点的关联域面积和/或关联域灰度数据是否大于或者等于关联域面积和/或灰度值阈值,若光点的关联域面积和/或关联域灰度数据大于或者等于关联域面积和/或灰度值阈值,则将光点的编码数据确定为1,若光点的关联域面积和/或关联域灰度数据小于关联域面积和/或灰度值阈值,则将光点的编码数据确定为0,以此类推,便可确定出一个识别周期内每帧图像中每一光点的编码数据。同时根据属于同一待识别刚体的多个光点的质心坐标值确定属于同一光点的标识信息,获取对应刚体的编码信息。

需要说明的是,在另一实施例中,根据属于同一待识别刚体的多个光点的质心坐标值确定属于同一光点的标识信息的方式可以是:获取前一帧属于同一待识别刚体的图像数据中包括的多个光点的质心坐标值,并分别为每一光点赋予一标记信息,生成第一标记信息;

获取后一帧属于同一待识别刚体的图像数据中包括的多个光点的质心坐标值,并分别为每一光点赋予一标记信息,生成第二标记信息;

将第一标记信息与第二标记信息进行匹配,若匹配成功,令第一标记信息取代第二标记信息,则第一标记信息为属于同一光点的标识信息。

举例来说,若首次接收到图像数据包括光点t1和光点t2,且服务器为光点t1和光点t2赋予不同的标记信息k1和k2。此时,还将光点的2d坐标值、灰度值和关联域面积按照标记信息存储下来。当新收到一帧图像数据时,服务器依据新的图像数据中所有光点(如t3、t4)的2d坐标信息与存储下来的图像数据中光点(如t1、t2)的2d坐标根据距离关系对应匹配,若光点t1与光点t3两点之间的距离关系满足预设匹配条件,则认为两个光点(t3、t1)属于同一光点,并赋予新的光点t3以对应匹配光点t1的旧标记k1,即赋予匹配光点相同的标记信息;若光点t2与光点t4两点之间的距离关系不满足预设匹配条件,则认为两光点不匹配(t4、t2非同一观点),则赋予光点t4新标记k3,再将这一光点t4的2d坐标、灰度值和关联域面积根据标记存储下来,以此循环。从而生成了属于同一光点的标记信息,并将同一光点不同时间对应的图像数据按照标记信息存储下来,以便后续进行光点的运动轨迹追踪。

最后将编码信息与预设的刚体编码信息进行比对,对待识别刚体进行识别。

将得到的刚体的编码信息与预设的刚体的编码信息进行匹配的过程中,理想的状态下,可以识别到一个刚体上例如全部8个led灯,但由于使用过程中刚体会不可避免地被遮挡等不可抗力因素,可能很难达到如此完美的理想状态。其实,只要识别出4个led灯就可以识别出一个主动光刚体了,而且4个led灯也可以帮助我们计算得到主动光刚体的姿态信息了。刚体的姿态信息求解方法是,知道了主动光刚体上每个led灯的标记,也就直接得到了刚体三维坐标与led灯标记点二维坐标的匹配关系,然后利用梯度下降法就能够计算得到刚体的姿态信息了。

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

上面对本发明实施例中主动光刚体识别方法进行了描述,下面对本发明实施例中主动光刚体识别装置进行描述,请参阅图4,本发明实施例中主动光刚体识别装置的一个实施例包括:

获取模块401,用于获取光学动捕系统中通过相机连续拍摄的同一识别周期内的待识别刚体的至少一帧图像数据,其中,待识别刚体包括多个光点,图像数据包括多个光点的质心坐标值;

处理模块402,用于根据预先标定好的多个光点的质心坐标值得到相邻的光点之间的距离值之和,将相邻的光点之间的距离值之和与光点的数量相除,得到待识别刚体的中心点信息;根据中心点信息与获取的图像数据中包括的多个光点的质心坐标值,确定多个光点是否来自同一待识别刚体;若来自同一待识别刚体,则根据一个识别周期内每帧图像中多个光点的编码数据和属于同一待识别刚体的多个光点的标识信息,获取对应刚体的编码信息;

识别模块403,用于将编码信息与预设的刚体编码信息进行比对,对待识别刚体进行识别。

本发明实施例中,采用简单的识别装置,通过图像中待识别刚体对应的编码信息与预设的编码信息进行比对,无需将运用于主动式光学动作捕捉系统中的刚体配置成不同的三维形态,提高了刚体的配置效率和主动式光学动作捕捉系统对刚体的识别速度。

请参阅图5,进一步地,对本发明实施例中一种主动光动捕系统进行描述,具体包括:

服务器501、基站502、相机503、刚体504及交换机505,基站502用于生成同步触发信号并向刚体504和相机503发送同步触发信号;刚体504包括多个光点,用于在接收到同步触发信号之后,从自身存储的编码信息中调用编码数据并分配给每个光点,以使每个光点能够根据编码信息控制光点的亮度;相机503用于在接收到同步触发信号之后,对刚体504进行曝光拍摄,以及将拍摄得到的图像数据发送至服务器501;服务器501用于采用上述描述的识别方法对刚体进行识别。上述同步触发信号以及图像数据是通过交换机505进行传输的,交换机505具体作用是:实现服务器501与基站502之间的数据交换,实现基站502与相机503之间的数据交换,在服务器501生成唯一的编码信息之后,该编码信息可以通过交换机505发送给基站502,当然,交换机505还可以接收基站502发送的同步触发信号,并将同步触发信号发送至相机503。

本发明实施例中,通过采用主动光学动捕系统,由于主动光刚体带有编码信息,在进行刚体识别时,可以不再依赖于刚体结构,而是可以直接根据编码信息得到2d坐标与3d坐标的匹配关系,刚体的姿态运算更加快速的同时也更加精确。

上面图4和图5从模块化功能实体的角度对本发明实施例中的主动光刚体识别装置进行详细描述,下面从硬件处理的角度对本发明实施例中主动光刚体识别设备进行详细描述。

图6是本发明实施例提供的一种主动光刚体识别设备的结构示意图,该刚体识别设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对刚体识别设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在刚体识别设备600上执行存储介质630中的一系列指令操作。

刚体识别设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的主动光刚体识别设备结构并不构成对本申请提供的刚体识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述主动光刚体识别方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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