CN110782492B - Pose tracking method and device - Google Patents
Pose tracking method and device Download PDFInfo
- Publication number
- CN110782492B CN110782492B CN201910950626.1A CN201910950626A CN110782492B CN 110782492 B CN110782492 B CN 110782492B CN 201910950626 A CN201910950626 A CN 201910950626A CN 110782492 B CN110782492 B CN 110782492B
- Authority
- CN
- China
- Prior art keywords
- freedom
- pose
- posture
- tracked object
- degree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
提供一种位姿跟踪方法及装置。该位姿跟踪方法包括:获取跟踪对象的图像,其中,跟踪对象上设置有以特定频率闪烁的标记;从获取的图像中获取亮度变化的像素;基于获取的像素计算跟踪对象的6自由度姿态,从而降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。
Provided are a pose tracking method and device. The pose tracking method includes: acquiring an image of a tracking object, wherein the tracking object is provided with a marker that flickers at a specific frequency; acquiring pixels with brightness changes from the acquired image; and calculating a 6-degree-of-freedom attitude of the tracking object based on the acquired pixels , thereby reducing the dependence of pose tracking on the specific layout of LED markers, reducing the latency of pose tracking, and improving the accuracy and efficiency of pose tracking.
Description
技术领域Technical Field
本公开涉及计算机视觉技术领域。更具体地,本公开涉及一种位姿跟踪方法及装置。The present disclosure relates to the field of computer vision technology. More specifically, the present disclosure relates to a posture tracking method and device.
背景技术Background Art
近几年,多种6自由度位姿估计的方法被提出并且广泛应用于机器人抓取、虚拟现实/增强现实和人机交互等领域。虚拟现实和增强现实对系统延迟有很高的要求。如果系统对于头部运动反应较迟钝,那么就会导致用户眩晕、恶心。维尔福(Valve)的系统的延迟在7-15毫秒。目前商用的虚拟现实(VR)追踪产品最低的延迟是15毫秒,还不能让用户拥有完美的沉浸式体验。In recent years, a variety of 6-DOF pose estimation methods have been proposed and widely used in fields such as robot grasping, virtual reality/augmented reality, and human-computer interaction. Virtual reality and augmented reality have high requirements for system latency. If the system is slow to respond to head movements, it will cause users to feel dizzy and nauseous. The delay of Valve's system is 7-15 milliseconds. The lowest delay of current commercial virtual reality (VR) tracking products is 15 milliseconds, which still cannot provide users with a perfect immersive experience.
当前很多光学跟踪系统都是基于互补金属氧化物半导体(CMOS)相机的。但是这种消费机的CMOS相机延迟一般都大于16.7毫秒(60FPS)。硬件的限制导致这些方法不能够及时的将用户的动作输入显示在屏幕上,不能满足VR的低延迟要求。Many current optical tracking systems are based on complementary metal oxide semiconductor (CMOS) cameras. However, the latency of CMOS cameras in consumer devices is generally greater than 16.7 milliseconds (60FPS). Due to hardware limitations, these methods cannot display the user's action input on the screen in a timely manner, and cannot meet the low latency requirements of VR.
在一些方案中也使用主动式发光二极管(LED)标记来恢复物体的6自由度姿态。但是这些方法都有一些限制,要么LED灯的数目必须是四个且是共面的,要么计算量比超过预设偏差阈值不能应用于实时的系统。仅仅有4个LED灯会影响位姿跟踪的精度和系统的健壮性,这是因为如果其中有一个灯没有被检测到,那么位姿解算就会失败。另外,暴力求解2D/3D点集的对应关系非常耗时,不能够应用于LED灯较多的情况下和实时系统中。Some schemes also use active light-emitting diode (LED) markers to recover the 6-DOF posture of the object. However, these methods have some limitations. Either the number of LED lights must be four and coplanar, or the computational effort exceeds the preset deviation threshold and cannot be applied to real-time systems. Having only four LED lights will affect the accuracy of pose tracking and the robustness of the system, because if one of the lights is not detected, the pose solution will fail. In addition, brute force solution of the correspondence between 2D/3D point sets is very time-consuming and cannot be applied to cases with a large number of LED lights and real-time systems.
发明内容Summary of the invention
本公开的示例性实施例在于提供一种位姿跟踪方法及装置,以降低位姿跟踪对LED标记特定布局的依赖性,同时降低位姿跟踪的延迟,并且提高位姿跟踪的精度和效率。An exemplary embodiment of the present disclosure is to provide a posture tracking method and device to reduce the dependence of posture tracking on the specific layout of LED markers, while reducing the latency of posture tracking and improving the accuracy and efficiency of posture tracking.
根据本公开的示例性实施例,提供一种位姿跟踪方法,包括:获取跟踪对象的图像,其中,所述跟踪对象上设置有以特定频率闪烁的标记;从获取的图像中获取亮度变化的像素;基于获取的像素计算所述跟踪对象的6自由度姿态,从而降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。According to an exemplary embodiment of the present disclosure, there is provided a posture tracking method, comprising: acquiring an image of a tracked object, wherein a marker flashing at a specific frequency is provided on the tracked object; acquiring pixels with brightness changes from the acquired image; and calculating a 6-DOF posture of the tracked object based on the acquired pixels, thereby reducing the dependence of posture tracking on a specific layout of an LED marker, while reducing the latency of posture tracking, and improving the accuracy and efficiency of posture tracking.
可选地,基于获取的像素计算所述跟踪对象的6自由度姿态的步骤可包括:获取所述跟踪对象的惯性测量单元数据,基于获取的惯性测量单元数据估计所述跟踪对象的3自由度姿态,其中,所述3自由度姿态是在所述跟踪对象的本体坐标系下绕x、y、z三个坐标轴旋转的姿态;基于所述3自由度姿态和获取的像素计算所述跟踪对象的6自由度姿态,其中,所述6自由度姿态是在所述跟踪对象的本体坐标系下沿x、y、z三个坐标轴方向的姿态和绕x、y、z三个直角坐标轴旋转的姿态,从而提高了位姿跟踪的精度和效率。Optionally, the step of calculating the 6-degree-of-freedom posture of the tracked object based on the acquired pixels may include: acquiring inertial measurement unit data of the tracked object, and estimating the 3-degree-of-freedom posture of the tracked object based on the acquired inertial measurement unit data, wherein the 3-degree-of-freedom posture is a posture rotating around the three coordinate axes x, y, and z in the body coordinate system of the tracked object; and calculating the 6-degree-of-freedom posture of the tracked object based on the 3-degree-of-freedom posture and the acquired pixels, wherein the 6-degree-of-freedom posture is a posture along the three coordinate axes x, y, and z and a posture rotating around the three rectangular coordinate axes x, y, and z in the body coordinate system of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,基于所述3自由度姿态和获取的像素计算所述跟踪对象的6自由度姿态的步骤可包括:基于所述3自由度姿态和获取的像素,求解所述标记的2D点集与3D点集的对应关系,得到所述标记的关于2D点集与3D点集的匹配对,其中,所述2D点集中包括所述标记的像素坐标,所述3D点集中包括所述标记在所述跟踪对象的本体坐标系下的坐标;基于所述匹配对,计算所述跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。Optionally, the step of calculating the 6-degree-of-freedom posture of the tracked object based on the 3-degree-of-freedom posture and the acquired pixels may include: based on the 3-degree-of-freedom posture and the acquired pixels, solving the correspondence between the 2D point set and the 3D point set of the mark, and obtaining matching pairs of the 2D point set and the 3D point set of the mark, wherein the 2D point set includes the pixel coordinates of the mark, and the 3D point set includes the coordinates of the mark in the body coordinate system of the tracked object; based on the matching pairs, calculating the 6-degree-of-freedom posture of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,计算所述跟踪对象的6自由度姿态的步骤可包括:从所述匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作,得到所述跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。Optionally, the step of calculating the 6-degree-of-freedom posture of the tracked object may include: removing pixels whose reprojection deviation exceeds a preset deviation threshold from the matching pair, and calculating the 6-degree-of-freedom posture based on the remaining pixels after removal; performing a reprojection error minimization operation on the calculated 6-degree-of-freedom posture to obtain the 6-degree-of-freedom posture of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,计算所述跟踪对象的6自由度姿态的步骤可包括:从所述匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作;根据所述3自由度姿态对最小化重投影误差操作后的6自由度位姿进行优化,得到所述跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。Optionally, the step of calculating the 6-degree-of-freedom posture of the tracked object may include: removing pixels whose reprojection deviation exceeds a preset deviation threshold from the matching pair, and calculating the 6-degree-of-freedom posture based on the remaining pixels after removal; performing a reprojection error minimization operation on the calculated 6-degree-of-freedom posture; and optimizing the 6-degree-of-freedom posture after the reprojection error minimization operation based on the 3-degree-of-freedom posture to obtain the 6-degree-of-freedom posture of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,得到所述跟踪对象的6自由度姿态之后,所述位姿跟踪方法还可包括:根据所述跟踪对象的6自由度姿态对所述匹配对中的重投影误差超过预设偏差阈值的像素进行重新匹配,以用于后续的位姿跟踪。Optionally, after obtaining the 6-DOF posture of the tracked object, the posture tracking method may further include: re-matching pixels in the matching pair whose reprojection error exceeds a preset deviation threshold according to the 6-DOF posture of the tracked object for subsequent posture tracking.
根据本公开的示例性实施例,提供一种位姿跟踪装置,包括:图像获取单元,被配置为获取跟踪对象的图像,其中,所述跟踪对象上设置有以特定频率闪烁的标记;像素获取单元,被配置为从获取的图像中获取亮度变化的像素;和姿态计算单元,被配置为基于获取的像素计算所述跟踪对象的6自由度姿态,从而降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。According to an exemplary embodiment of the present disclosure, there is provided a posture tracking device, comprising: an image acquisition unit, configured to acquire an image of a tracked object, wherein a mark flashing at a specific frequency is provided on the tracked object; a pixel acquisition unit, configured to acquire pixels with brightness changes from the acquired image; and a posture calculation unit, configured to calculate the 6-DOF posture of the tracked object based on the acquired pixels, thereby reducing the dependence of posture tracking on a specific layout of LED marks, while reducing the delay of posture tracking, and improving the accuracy and efficiency of posture tracking.
可选地,姿态计算单元可被配置为:获取所述跟踪对象的惯性测量单元数据,基于获取的惯性测量单元数据估计所述跟踪对象的3自由度姿态,其中,所述3自由度姿态是在所述跟踪对象的本体坐标系下绕x、y、z三个坐标轴旋转的姿态;基于所述3自由度姿态和获取的像素计算所述跟踪对象的6自由度姿态,其中,所述6自由度姿态是在所述跟踪对象的本体坐标系下沿x、y、z三个坐标轴方向的姿态和绕x、y、z三个直角坐标轴旋转的姿态,从而提高了位姿跟踪的精度和效率。Optionally, the posture calculation unit can be configured to: obtain inertial measurement unit data of the tracked object, and estimate the 3-degree-of-freedom posture of the tracked object based on the acquired inertial measurement unit data, wherein the 3-degree-of-freedom posture is a posture rotating around the three coordinate axes x, y, and z in the body coordinate system of the tracked object; calculate the 6-degree-of-freedom posture of the tracked object based on the 3-degree-of-freedom posture and the acquired pixels, wherein the 6-degree-of-freedom posture is a posture along the three coordinate axes x, y, and z and a posture rotating around the three rectangular coordinate axes x, y, and z in the body coordinate system of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,姿态计算单元还可被配置为:基于所述3自由度姿态和获取的像素,求解所述标记的2D点集与3D点集的对应关系,得到所述标记的关于2D点集与3D点集的匹配对,其中,所述2D点集中包括所述标记的像素坐标,所述3D点集中包括所述标记在所述跟踪对象的本体坐标系下的坐标;基于所述匹配对,计算所述跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。Optionally, the posture calculation unit can also be configured to: based on the 3-degree-of-freedom posture and the acquired pixels, solve the correspondence between the 2D point set and the 3D point set of the mark, and obtain matching pairs of the 2D point set and the 3D point set of the mark, wherein the 2D point set includes the pixel coordinates of the mark, and the 3D point set includes the coordinates of the mark in the body coordinate system of the tracked object; based on the matching pairs, calculate the 6-degree-of-freedom posture of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,姿态计算单元还可被配置为:从所述匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作,得到所述跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。Optionally, the posture calculation unit can also be configured to: remove pixels whose reprojection deviation exceeds a preset deviation threshold from the matching pair, and calculate the 6-degree-of-freedom posture based on the remaining pixels after removal; perform a reprojection error minimization operation on the calculated 6-degree-of-freedom posture to obtain the 6-degree-of-freedom posture of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,姿态计算单元还可被配置为:从所述匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作;将所述3自由度姿态与最小化重投影误差操作后的6自由度位姿进行融合,得到所述跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。Optionally, the posture calculation unit can also be configured to: remove pixels whose reprojection deviation exceeds a preset deviation threshold from the matching pair, and calculate the 6-degree-of-freedom posture based on the remaining pixels after removal; perform a reprojection error minimization operation on the calculated 6-degree-of-freedom posture; and fuse the 3-degree-of-freedom posture with the 6-degree-of-freedom posture after the reprojection error minimization operation to obtain the 6-degree-of-freedom posture of the tracked object, thereby improving the accuracy and efficiency of posture tracking.
可选地,所述位姿跟踪装置还可包括:重新匹配单元,被配置为在得到所述跟踪对象的6自由度姿态之后,根据所述跟踪对象的6自由度姿态对重投影误差超过预设偏差阈值的像素进行重新匹配,以用于后续的位姿跟踪。Optionally, the posture tracking device may also include: a re-matching unit, which is configured to re-match pixels whose reprojection errors exceed a preset deviation threshold according to the 6-degree-of-freedom posture of the tracked object after obtaining the 6-degree-of-freedom posture of the tracked object, for subsequent posture tracking.
根据本公开的示例性实施例,提供一种电子装置,包括:相机,用于获取跟踪对象的图像,并且从获取的图像中获取亮度变化的像素,其中,所述跟踪对象上设置有以特定频率闪烁的标记;处理器,用于基于所述相机获取的像素计算所述跟踪对象的6自由度姿态,从而降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。According to an exemplary embodiment of the present disclosure, there is provided an electronic device, comprising: a camera, for acquiring an image of a tracked object, and acquiring pixels of brightness changes from the acquired image, wherein a mark flashing at a specific frequency is provided on the tracked object; and a processor, for calculating a 6-DOF posture of the tracked object based on the pixels acquired by the camera, thereby reducing the dependence of posture tracking on a specific layout of LED marks, while reducing the delay of posture tracking, and improving the accuracy and efficiency of posture tracking.
根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的位姿跟踪方法。According to an exemplary embodiment of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the posture tracking method according to the exemplary embodiment of the present disclosure is implemented.
根据本公开的示例性实施例,提供一种计算装置,包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的位姿跟踪方法。According to an exemplary embodiment of the present disclosure, there is provided a computing device, including: a processor; and a memory storing a computer program, wherein when the computer program is executed by the processor, a posture tracking method according to an exemplary embodiment of the present disclosure is implemented.
根据本公开的示例性实施例的位姿跟踪方法及装置,通过获取跟踪对象的图像,从获取的图像中获取亮度变化的像素,基于获取的像素计算跟踪对象的6自由度姿态,从而降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。According to the posture tracking method and device of the exemplary embodiments of the present disclosure, by acquiring an image of the tracked object, pixels with brightness changes are acquired from the acquired image, and the 6-DOF posture of the tracked object is calculated based on the acquired pixels, thereby reducing the dependence of posture tracking on the specific layout of the LED marker, while reducing the latency of posture tracking and improving the accuracy and efficiency of posture tracking.
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。Additional aspects and/or advantages of the present general inventive concept will be set forth in part in the following description and in part will be clear from the description or may be learned through practice of the present general inventive concept.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
通过下面结合示例性地示出实施例的附图进行的描述,本公开示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:The above and other objects and features of the exemplary embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings which exemplarily illustrate the embodiments, in which:
图1示出根据本公开示例性实施例的位姿跟踪方法的流程图;FIG1 shows a flow chart of a posture tracking method according to an exemplary embodiment of the present disclosure;
图2示出跟踪对象的2D主动式LED标记跟踪结果;FIG2 shows the 2D active LED marker tracking result of the tracked object;
图3示出根据本公开示例性实施例的位姿跟踪装置的框图;FIG3 shows a block diagram of a posture tracking device according to an exemplary embodiment of the present disclosure;
图4示出根据本公开示例性实施例的电子装置的示意图;和FIG. 4 illustrates a schematic diagram of an electronic device according to an exemplary embodiment of the present disclosure; and
图5示出根据本公开示例性实施例的计算装置的示意图。FIG. 5 shows a schematic diagram of a computing device according to an exemplary embodiment of the present disclosure.
具体实施方式DETAILED DESCRIPTION
现将详细参照本公开的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。Reference will now be made in detail to exemplary embodiments of the present disclosure, examples of which are shown in the accompanying drawings, wherein like reference numerals refer to like parts throughout. The embodiments will be described below with reference to the drawings in order to explain the present disclosure.
图1示出根据本公开示例性实施例的位姿跟踪方法的流程图。图1中示出的位姿跟踪方法适用于设置有多个以特定频率闪烁的标记的跟踪对象,其中,以特定频率闪烁的标记可以是例如主动式LED。在以下说明中,以LED灯作为标记的示例进行说明,但是应理解本发明不限于此。本领域的技术人员可根据实施例的需要采用其他形式的标记。FIG1 shows a flow chart of a posture tracking method according to an exemplary embodiment of the present disclosure. The posture tracking method shown in FIG1 is applicable to a tracking object provided with a plurality of markers flashing at a specific frequency, wherein the marker flashing at a specific frequency may be, for example, an active LED. In the following description, an LED lamp is used as an example of a marker, but it should be understood that the present invention is not limited thereto. Those skilled in the art may adopt other forms of markers according to the needs of the embodiment.
参照图1,在步骤S101,获取跟踪对象的图像。1 , in step S101 , an image of a tracked object is acquired.
在本公开的示例性实施例中,可以通过DVS相机来获取跟踪对象的图像。图1中示出的位姿跟踪方法可适用于具有能够获取亮度变化的像素的相机和能够进行计算的主机的电子装置,或者可适用于由能够获取亮度变化的像素的相机和能够进行计算的主机组成的系统。In an exemplary embodiment of the present disclosure, an image of a tracked object may be acquired by a DVS camera. The pose tracking method shown in FIG1 may be applicable to an electronic device having a camera capable of acquiring pixels of brightness changes and a host capable of performing calculations, or may be applicable to a system consisting of a camera capable of acquiring pixels of brightness changes and a host capable of performing calculations.
在步骤S102,从获取的图像中获取亮度变化的像素。In step S102, pixels with brightness changes are obtained from the acquired image.
在本公开的示例性实施例中,DVS相机在步骤S101获得图像后不是直接将图像传输到主机,而是在步骤S102从获取的图像中获取亮度变化的像素,之后,将获取的像素传输到主机以用于位姿跟踪,从而减少了传输的数据量和用于计算的数据量,降低了位姿跟踪的延迟。In an exemplary embodiment of the present disclosure, after the DVS camera obtains the image in step S101, it does not directly transmit the image to the host, but obtains pixels with brightness changes from the obtained image in step S102, and then transmits the obtained pixels to the host for posture tracking, thereby reducing the amount of data transmitted and the amount of data used for calculation, and reducing the delay of posture tracking.
具体来说,当标记(例如,主动式LED灯)闪烁的时候,DVS能够产生对应的on和off事件。这些事件通过LED闪烁的频率可以很容易与其它事件区分开。这些筛选出来的事件可以分成不同的簇,每一簇代表一个LED灯。然后可使用一个基于区域生长的聚类算法和轻量级的投票算法来处理这些筛选出来的事件,将簇中密度最高的点识别为标记的中心。另外,可以使用全局最近邻跟踪方法和基于匀速模型的卡尔曼滤波来跟踪多个标记,从而降低了标记的漏检和错检的概率。Specifically, when a marker (e.g., an active LED light) flashes, DVS can generate corresponding on and off events. These events can be easily distinguished from other events by the frequency of the LED flashing. These filtered events can be divided into different clusters, each cluster representing an LED light. Then, a region growing-based clustering algorithm and a lightweight voting algorithm can be used to process these filtered events, and the point with the highest density in the cluster is identified as the center of the marker. In addition, a global nearest neighbor tracking method and a Kalman filter based on a uniform velocity model can be used to track multiple markers, thereby reducing the probability of missed detection and false detection of markers.
在步骤S103,基于获取的像素计算跟踪对象的6自由度姿态。这里,6自由度姿态表示的是在跟踪对象的本体坐标系下沿x、y、z三个坐标轴方向的姿态和绕x、y、z三个直角坐标轴旋转的姿态。In step S103, the 6-DOF posture of the tracked object is calculated based on the acquired pixels. Here, the 6-DOF posture represents the posture along the three coordinate axes x, y, and z and the posture rotated around the three rectangular coordinate axes x, y, and z in the body coordinate system of the tracked object.
在本公开的示例性实施例中,仅仅使用由于运动引起的亮度变化的那些像素来计算跟踪对象的6自由度姿态,从而降低了位姿跟踪的延迟。In an exemplary embodiment of the present disclosure, only those pixels whose brightness changes due to motion are used to calculate the 6-DOF pose of the tracked object, thereby reducing the latency of pose tracking.
在本公开的示例性实施例中,在基于获取的像素计算跟踪对象的6自由度姿态时,可首先获取跟踪对象的惯性测量单元(IMU)数据,基于获取的惯性测量单元(IMU)数据估计跟踪对象的3自由度姿态(即,在跟踪对象的本体坐标系下绕x、y、z三个坐标轴旋转的姿态),然后基于3自由度姿态和获取的像素计算跟踪对象的6自由度姿态,从而提高了位姿跟踪的精度和效率。In an exemplary embodiment of the present disclosure, when calculating the 6-DOF posture of a tracked object based on acquired pixels, the inertial measurement unit (IMU) data of the tracked object can be first acquired, and the 3-DOF posture of the tracked object (i.e., the posture rotating around the three coordinate axes x, y, and z in the body coordinate system of the tracked object) can be estimated based on the acquired inertial measurement unit (IMU) data, and then the 6-DOF posture of the tracked object is calculated based on the 3-DOF posture and the acquired pixels, thereby improving the accuracy and efficiency of posture tracking.
在本公开的示例性实施例中,在基于3自由度姿态和获取的像素计算跟踪对象的6自由度姿态时,可首先基于3自由度姿态和获取的像素,求解标记的2D点集与3D点集的对应关系,得到标记的关于2D点集与3D点集的匹配对,然后基于匹配对,计算跟踪对象的6自由度姿态。这里,2D点集中包括各个标记的像素坐标,3D点集中包括各个标记在跟踪对象的本体坐标系下的坐标。In an exemplary embodiment of the present disclosure, when calculating the 6-DOF posture of a tracked object based on the 3-DOF posture and the acquired pixels, the corresponding relationship between the 2D point set and the 3D point set of the marker can be solved based on the 3-DOF posture and the acquired pixels, and the matching pairs of the 2D point set and the 3D point set of the marker can be obtained, and then the 6-DOF posture of the tracked object can be calculated based on the matching pairs. Here, the 2D point set includes the pixel coordinates of each marker, and the 3D point set includes the coordinates of each marker in the body coordinate system of the tracked object.
具体来说,在基于3自由度姿态和获取的像素计算跟踪对象的6自由度姿态时,可定义pIA、pIB分别是图像上已经去畸变的两个LED灯(LED灯A和LED灯B)的像素坐标,pA、pB分别是LED灯A、LED灯B在物体本体坐标系下的坐标。跟踪对象的3自由度姿态矩阵R=[r1,r2,r3]T可以由航姿参考系统通过IMU数据估计出来,r1、r2和r3分别表示R的第一行、第二行和第三行的行向量。t=[tx,ty,tz]T是未知的平移向量,其中,tx,ty,tz分别表示沿x、y、z三个坐标轴方向的位移。通过小孔成像原理,可以得到以下方程:Specifically, when calculating the 6-DOF posture of the tracked object based on the 3-DOF posture and the acquired pixels, p IA and p IB can be defined as the pixel coordinates of the two LED lights (LED light A and LED light B) that have been dedistorted on the image, and p A and p B are the coordinates of LED light A and LED light B in the object's body coordinate system. The 3-DOF posture matrix R = [r 1 , r 2 , r 3 ] T of the tracked object can be estimated by the attitude reference system through IMU data, and r 1 , r 2 and r 3 represent the row vectors of the first, second and third rows of R, respectively. t = [t x , ty , t z ] T is an unknown translation vector, where t x , ty , t z represent the displacements along the three coordinate axes of x, y and z, respectively. Through the pinhole imaging principle, the following equation can be obtained:
其中,xA、yA分别表示LED灯A在图像上的x坐标和y坐标。xB、yB分别表示LED灯B在图像上的x坐标和y坐标。上述方程只有t是未知的,4个方程,3个未知量,解方程可得:Among them, x A and y A represent the x-coordinate and y-coordinate of LED light A on the image. x B and y B represent the x-coordinate and y-coordinate of LED light B on the image. Only t is unknown in the above equations. There are 4 equations and 3 unknown quantities. Solving the equations yields:
t=AzpIA-RpA (3)t= AzpIA - RpA (3)
其中, in,
可通过DVS相机检测和聚类算法,得到LED灯在图像的像素坐标点集O和已知的LED灯在物体本体坐标系下的坐标点集L。从点集O、L中任意选择两个点(o,l)进行配对,那么可以通过(3)式计算得到平移t。通过上述操作,可以得到可能的平移向量列表T。其中有些无效的平移向量(向量各个元素太大或者tz是负的)可以删除,一些近似相等的平移向量可以合并。对于T中任意一个有效的平移向量tvalid,可以通过Moller-Trumbore射线相交算法确定可见其对应的可见LED灯的点集Lv:如果某个LED灯与相机的确定的射线与物体相交的第一个点是此LED灯,那么这个LED灯就是可见的,否则这个LED灯在此位姿下是不可见的。确定可见的LED灯点集对于多个LED灯的情况可以减少计算量和误匹配的情况。然后将可见点集Lv用对应的6自由度位姿和相机内参投影到像平面P上。这样就可以使用Kuhn-Munkres算法来求解可见点集Lv和观测点集O的最佳匹配和匹配误差。遍历可能的平移向量列表T,匹配误差最小的那组匹配就是正确的关于2D点集与3D点集的匹配对。Through DVS camera detection and clustering algorithm, we can obtain the pixel coordinate point set O of the LED light in the image and the coordinate point set L of the known LED light in the object body coordinate system. We can select any two points (o, l) from the point sets O and L for pairing, and then we can calculate the translation t by formula (3). Through the above operation, we can get a list of possible translation vectors T. Some invalid translation vectors (the elements of each vector are too large or t z is negative) can be deleted, and some approximately equal translation vectors can be merged. For any valid translation vector t valid in T, we can determine the point set L v of the visible LED light corresponding to it by the Moller-Trumbore ray intersection algorithm: if the first point where the ray determined by the camera intersects with the object is this LED light, then this LED light is visible, otherwise this LED light is invisible in this posture. Determining the visible LED light point set can reduce the amount of calculation and the situation of mismatching for multiple LED lights. Then the visible point set L v is projected onto the image plane P using the corresponding 6-DOF posture and camera intrinsic parameters. In this way, the Kuhn-Munkres algorithm can be used to solve the best match and matching error between the visible point set L v and the observation point set O. Traversing the possible translation vector list T, the set of matches with the smallest matching error is the correct matching pair of the 2D point set and the 3D point set.
在本公开的示例性实施例中,在计算跟踪对象的6自由度姿态时,可首先从匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿,然后对计算得到的6自由度位姿进行最小化重投影误差操作,得到跟踪对象的6自由度姿态,从而进一步提高了位姿跟踪的精度和效率。In an exemplary embodiment of the present disclosure, when calculating the 6-DOF posture of a tracked object, pixels whose reprojection deviation exceeds a preset deviation threshold can be first removed from the matching pair, and the 6-DOF posture can be calculated based on the remaining pixels after removal. The calculated 6-DOF posture is then subjected to a reprojection error minimization operation to obtain the 6-DOF posture of the tracked object, thereby further improving the accuracy and efficiency of posture tracking.
在本公开的示例性实施例中,在计算跟踪对象的6自由度姿态时,可首先从匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿,然后对计算得到的6自由度位姿进行最小化重投影误差操作,之后根据3自由度姿态对最小化重投影误差操作后的6自由度位姿进行优化,得到跟踪对象的6自由度姿态,从而进一步提高了位姿跟踪的精度和效率。In an exemplary embodiment of the present disclosure, when calculating the 6-DOF posture of a tracked object, pixels whose reprojection deviation exceeds a preset deviation threshold can be first removed from the matching pair, and the 6-DOF posture can be calculated based on the remaining pixels after the removal. The calculated 6-DOF posture is then subjected to a reprojection error minimization operation, and then the 6-DOF posture after the reprojection error minimization operation is optimized based on the 3-DOF posture to obtain the 6-DOF posture of the tracked object, thereby further improving the accuracy and efficiency of posture tracking.
在本公开的示例性实施例中,在得到跟踪对象的6自由度姿态之后,还可根据跟踪对象的6自由度姿态对匹配对中的重投影误差超过预设偏差阈值的像素进行重新匹配。此外,还可以更新新观测到的标记(例如,主动式LED灯)的2D点集与3D点集的对应关系或者2D点集与3D点集的匹配对,从而进一步提高了位姿跟踪的精度和效率。In an exemplary embodiment of the present disclosure, after obtaining the 6-DOF posture of the tracked object, the pixels in the matching pair whose reprojection error exceeds a preset deviation threshold may be re-matched according to the 6-DOF posture of the tracked object. In addition, the correspondence between the 2D point set and the 3D point set of the newly observed marker (e.g., active LED light) or the matching pair of the 2D point set and the 3D point set may be updated, thereby further improving the accuracy and efficiency of posture tracking.
具体来说,在得到2D点集与3D点集的对应关系之后,可首先利用随机抽样一致(Random Sample Consensus,简称RANSAC)算法去除匹配对中的重投影偏差超过预设偏差阈值的点,然后用有效透视n点定位(Efficient Per Efficient Perspective-n-Pointspective-n-Point,简称EPnP)算法求解6自由度位姿。接着用光束法平差(BundleAdjustment,简称BA)算法对EPnP算法求解得到的粗糙的位姿进一步优化,这样就能得到更为精确的位姿。可利用这个精确的位姿对匹配对中的重投影误差超过预设偏差阈值的点进行重新匹配并更新新观测到的LED的匹配关系。最后可基于扩展卡尔曼滤波器的传感器融合算法对上述得到的6自由度位姿与IMU中的3自由度姿态进行融合,得到更为光滑和一致的6自由度位姿(即,融合后的6自由度位姿)。此外,还可利用融合后的6自由度位姿对重投影误差超过预设偏差阈值的点进行重新匹配并更新新观测到的LED匹配关系。Specifically, after obtaining the correspondence between the 2D point set and the 3D point set, the Random Sample Consensus (RANSAC) algorithm can be used to remove the points in the matching pair whose reprojection deviation exceeds the preset deviation threshold, and then the Efficient Per Efficient Perspective-n-Pointspective-n-Point (EPnP) algorithm is used to solve the 6-DOF pose. Then, the rough pose obtained by the EPnP algorithm is further optimized using the Bundle Adjustment (BA) algorithm, so that a more accurate pose can be obtained. This accurate pose can be used to re-match the points in the matching pair whose reprojection error exceeds the preset deviation threshold and update the matching relationship of the newly observed LED. Finally, the sensor fusion algorithm based on the extended Kalman filter can be used to fuse the above-obtained 6-DOF pose with the 3-DOF pose in the IMU to obtain a smoother and more consistent 6-DOF pose (i.e., the fused 6-DOF pose). In addition, the fused 6-DOF pose can be used to rematch points whose reprojection errors exceed the preset deviation threshold and update the newly observed LED matching relationship.
根据本公开的示例性实施例的位姿跟踪方法,降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。According to the pose tracking method of the exemplary embodiment of the present disclosure, the dependence of pose tracking on the specific layout of LED markers is reduced, while the latency of pose tracking is reduced and the accuracy and efficiency of pose tracking are improved.
用于获得跟踪对象的运动而引起亮度变化的像素的DVS相机可以是例如三星的三代VGA设备,其分辨率为640*480,并且可通过USB3.0与主机进行连接。DVS相机能够对相对光照强度变化的像素点产生事件。每个事件用元组<t,x,y,p>来表示,其中t是事件发生的时间戳(微秒级的解析度),x,y是事件对应的像素坐标,p∈{0,1}是事件的极性,其中,当LED灯亮的时候,会产生<t,x,y,1>的事件,当LED灯灭的时候,会产生<t,x,y,0>的事件。The DVS camera used to obtain pixels that cause brightness changes due to the movement of the tracking object can be, for example, a third-generation VGA device from Samsung, which has a resolution of 640*480 and can be connected to the host via USB3.0. The DVS camera can generate events for pixels with changes in relative light intensity. Each event is represented by a tuple <t,x,y,p>, where t is the timestamp of the event (with microsecond resolution), x,y are the pixel coordinates corresponding to the event, and p∈{0,1} is the polarity of the event, where when the LED light is on, an event of <t,x,y,1> is generated, and when the LED light is off, an event of <t,x,y,0> is generated.
位姿跟踪方法中需要应用到一些固定的参数(相机内参)和转移矩阵(IMU到手柄本体,DVS相机到头盔等)。本公开的示例性实施例中使用OptiTrack光学运动跟踪系统来校准这些固定的参数和转移矩阵,同时OptiTrack光学运动跟踪系统也用来提供手柄位姿真值对位姿跟踪的精度进行评价。当校准完成后,用户的实际使用过程中,OptiTrack光学运动跟踪系统是不需要的。The pose tracking method requires the application of some fixed parameters (camera intrinsic parameters) and transfer matrices (IMU to handle body, DVS camera to helmet, etc.). In the exemplary embodiment of the present disclosure, the OptiTrack optical motion tracking system is used to calibrate these fixed parameters and transfer matrices. At the same time, the OptiTrack optical motion tracking system is also used to provide the true value of the handle pose to evaluate the accuracy of pose tracking. After the calibration is completed, the OptiTrack optical motion tracking system is not needed in the actual use of the user.
在OptiTrack光学运动跟踪系统中存在多个坐标系,例如相机(C)坐标系、头盔(H)坐标系、世界(W)坐标系、IMU(I)坐标系、手柄本体(B)坐标系、手柄模型(M)坐标系和OptiTrack(O)坐标系。为了简化OptiTrack光学运动跟踪系统,可将手柄本体坐标系和手柄模型坐标系对齐,将世界坐标系和OptiTrtack坐标系进行对齐。所以要求解的运动手柄的6自由度位姿可以表示为 是手柄模型坐标系到相机坐标系的旋转矩阵,CPM是模型坐标系原点在相机坐标系下的表示。需要提前标定DVS相机的内参和一些固定的转移矩阵 There are multiple coordinate systems in the OptiTrack optical motion tracking system, such as the camera (C) coordinate system, the helmet (H) coordinate system, the world (W) coordinate system, the IMU (I) coordinate system, the handle body (B) coordinate system, the handle model (M) coordinate system, and the OptiTrack (O) coordinate system. In order to simplify the OptiTrack optical motion tracking system, the handle body coordinate system and the handle model coordinate system can be aligned, and the world coordinate system and the OptiTrtack coordinate system can be aligned. Therefore, the 6-DOF pose of the motion handle to be solved can be expressed as is the rotation matrix from the handle model coordinate system to the camera coordinate system, and CPM is the representation of the origin of the model coordinate system in the camera coordinate system. The intrinsic parameters of the DVS camera and some fixed transfer matrices need to be calibrated in advance.
由于DVS的光学特性与普通CMOS相机是相同的,因此可以用标准的小孔成像模型来确定相机内参(例如,焦距、投影中心和畸变参数)。DVS相机与普通相机的区别是DVS相机不能看到没有光照变化的东西,所以可以用一个闪烁的棋盘格来校准DVS。Since the optical properties of DVS are the same as those of ordinary CMOS cameras, the standard pinhole imaging model can be used to determine the camera internal parameters (for example, focal length, projection center and distortion parameters). The difference between DVS cameras and ordinary cameras is that DVS cameras cannot see things without lighting changes, so a flashing chessboard can be used to calibrate DVS.
可以用OptiTrack小球来校准一些固定的转移矩阵。在3D模型中,手柄模型的原点是手柄顶端大圆的圆心。可以将OptiTrack小球固定在大圆的圆周,并对应标记模型中X、Y、Z轴的方向,这样就可以在OptiTrack光学运动跟踪系统中确定运动手柄的模型坐标系。将OptiTrack小球固定在IMU芯片处,并利用IMU的读数确定X、Y、Z轴的方向,这样就在OptiTrack光学运动跟踪系统中确定了IMU坐标系。OptiTrack光学运动跟踪系统能够实时记录IMU坐标系和模型坐标系的位姿,那么可以计算运动手柄的模型坐标系与IMU坐标系之间的转换关系。而且头盔到相机的转换矩阵也可以通过那些特定模式的闪烁LED来确定:其中,和都由OptiTrack光学运动跟踪系统来提供,可以通过用EPnP算法计算得到(特定模式的点集匹配关系是固定的)。计算得到的两个矩阵例如可如下所示:The OptiTrack ball can be used to calibrate some fixed transfer matrices. In the 3D model, the origin of the handle model is the center of the large circle at the top of the handle. The OptiTrack ball can be fixed to the circumference of the large circle, and the directions of the X, Y, and Z axes in the marked model can be marked accordingly. This way, the model coordinate system of the motion handle can be determined in the OptiTrack optical motion tracking system. Fix the OptiTrack ball to the IMU chip, and use the IMU readings to determine the directions of the X, Y, and Z axes. This way, the IMU coordinate system is determined in the OptiTrack optical motion tracking system. The OptiTrack optical motion tracking system can record the position and posture of the IMU coordinate system and the model coordinate system in real time, so the conversion relationship between the model coordinate system of the motion handle and the IMU coordinate system can be calculated. Moreover, the transformation matrix from the helmet to the camera It can also be determined by the LEDs flashing in a specific pattern: in, and All are provided by the OptiTrack optical motion tracking system and can be calculated using the EPnP algorithm (The point set matching relationship of a specific pattern is fixed.) The two calculated matrices can be shown as follows, for example:
主动式LED标记闪烁间隔可以通过on-off-on、off-on-off的事件确定。如果一个像素的闪烁间隔处于[800μs,1200μs]区间,那么就可以断定这个事件是由LED闪烁引起的。然后使用区域生长算法和投票方法来确定LED的中心位置。可以使用全局最近邻和卡尔曼滤波对多个LED灯进行跟踪。图2示出跟踪对象的2D主动式LED标记跟踪结果。在图2中,每一条连续的线条表示一个标记(例如,LED)的运动轨迹,小空心圈表示运动轨迹的起始点,内有实心圆的大圈表示运动轨迹的终点。The flashing interval of the active LED marker can be determined by the on-off-on, off-on-off events. If the flashing interval of a pixel is in the interval [800μs, 1200μs], it can be concluded that the event is caused by the LED flashing. Then the region growing algorithm and voting method are used to determine the center position of the LED. Multiple LED lights can be tracked using global nearest neighbor and Kalman filtering. Figure 2 shows the 2D active LED marker tracking results of the tracked object. In Figure 2, each continuous line represents the motion trajectory of a marker (e.g., LED), the small hollow circle represents the starting point of the motion trajectory, and the large circle with a solid circle inside represents the end point of the motion trajectory.
此外,为了提高BA算法的性能,可将BA算法的优化窗口设定为10,而且每4帧才执行一次优化。不用每次都更新匹配关系,仅有当已匹配的LED灯的数目与所有观测到的LED灯的数目的比值小于预设值例如0.6的时候才对匹配关系进行更新,从而提高了BA算法的效率。启动阶段初始化后,整个处理流程仅需要花费1.23毫秒。因此加上LED灯闪烁事件的筛选时间(1毫秒),那么整个延迟是2.23毫秒。In addition, in order to improve the performance of the BA algorithm, the optimization window of the BA algorithm can be set to 10, and the optimization is performed once every 4 frames. The matching relationship does not need to be updated every time. The matching relationship is updated only when the ratio of the number of matched LED lights to the number of all observed LED lights is less than a preset value, such as 0.6, thereby improving the efficiency of the BA algorithm. After the startup phase is initialized, the entire processing flow only takes 1.23 milliseconds. Therefore, adding the screening time of the LED light flashing event (1 millisecond), the total delay is 2.23 milliseconds.
以上已经结合图1至图2对根据本公开示例性实施例的位姿跟踪方法进行了描述。在下文中,将参照图3对根据本公开示例性实施例的位姿跟踪装置及其单元进行描述。The posture tracking method according to the exemplary embodiment of the present disclosure has been described above in conjunction with Figures 1 to 2. Hereinafter, the posture tracking device and its units according to the exemplary embodiment of the present disclosure will be described with reference to Figure 3.
图3示出根据本公开示例性实施例的位姿跟踪装置的框图。FIG. 3 shows a block diagram of a posture tracking apparatus according to an exemplary embodiment of the present disclosure.
参照图3,位姿跟踪装置包括图像获取单元31、像素获取单元32和姿态计算单元33。3 , the posture tracking device includes an
图像获取单元31被配置为获取跟踪对象的图像,其中,跟踪对象上设置有以特定频率闪烁的标记。The
像素获取单元32被配置为从获取的图像中获取亮度变化的像素。The
姿态计算单元33被配置为基于获取的像素计算跟踪对象的6自由度姿态。The
在本公开的示例性实施例中,姿态计算单元33可被配置为:获取跟踪对象的惯性测量单元数据,基于获取的惯性测量单元数据估计跟踪对象的3自由度姿态,这里,3自由度姿态是在跟踪对象的本体坐标系下绕x、y、z三个坐标轴旋转的姿态;基于3自由度姿态和获取的像素计算跟踪对象的6自由度姿态,这里,6自由度姿态是在跟踪对象的本体坐标系下沿x、y、z三个坐标轴方向的姿态和绕x、y、z三个直角坐标轴旋转的姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,姿态计算单元33还可被配置为:基于3自由度姿态和获取的像素,求解标记的2D点集与3D点集的对应关系,得到标记的关于2D点集与3D点集的匹配对,这里,2D点集中包括各个标记的像素坐标,3D点集中包括各个标记在跟踪对象的本体坐标系下的坐标;基于匹配对,计算跟踪对象的6自由度姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,姿态计算单元33还可被配置为:从匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作,得到跟踪对象的6自由度姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,姿态计算单元33还可被配置为:从匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作;根据3自由度姿态对最小化重投影误差操作后的6自由度位姿进行优化,得到跟踪对象的6自由度姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,位姿跟踪装置还可包括:重新匹配单元,被配置为在得到所述跟踪对象的6自由度姿态之后,根据跟踪对象的6自由度姿态对重投影误差超过预设偏差阈值的像素进行重新匹配。In an exemplary embodiment of the present disclosure, the posture tracking device may further include: a re-matching unit, which is configured to re-match pixels whose reprojection errors exceed a preset deviation threshold according to the 6-degree-of-freedom posture of the tracked object after obtaining the 6-degree-of-freedom posture of the tracked object.
图4示出根据本公开示例性实施例的电子装置的示意图。FIG. 4 is a schematic diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure.
参照图4,电子装置4包括:相机41和处理器42。4 , the electronic device 4 includes a
其中,相机41用于获取跟踪对象的图像,并且从获取的图像中获取亮度变化的像素,其中,跟踪对象上设置有以特定频率闪烁的标记。处理器42用于基于相机获取的像素计算跟踪对象的6自由度姿态。The
在本公开的示例性实施例中,处理器42可用于获取跟踪对象的惯性测量单元数据,基于获取的惯性测量单元数据估计跟踪对象的3自由度姿态,这里,3自由度姿态是在跟踪对象的本体坐标系下绕x、y、z三个坐标轴旋转的姿态;基于3自由度姿态和获取的像素计算跟踪对象的6自由度姿态,这里,6自由度姿态是在跟踪对象的本体坐标系下沿x、y、z三个坐标轴方向的姿态和绕x、y、z三个直角坐标轴旋转的姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,处理器42可用于基于3自由度姿态和获取的像素,求解标记的2D点集与3D点集的对应关系,得到标记的关于2D点集与3D点集的匹配对,这里,2D点集中包括各个标记的像素坐标,3D点集中包括各个标记在跟踪对象的本体坐标系下的坐标;基于匹配对,计算跟踪对象的6自由度姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,处理器42可用于从匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作,得到跟踪对象的6自由度姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,处理器42可用于从匹配对中去除重投影偏差超过预设偏差阈值的像素,并根据去除后剩余的像素计算6自由度位姿;对计算得到的6自由度位姿进行最小化重投影误差操作;根据3自由度姿态对最小化重投影误差操作后的6自由度位姿进行优化,得到跟踪对象的6自由度姿态。In an exemplary embodiment of the present disclosure, the
在本公开的示例性实施例中,处理器42可用于在得到所述跟踪对象的6自由度姿态之后,根据跟踪对象的6自由度姿态对重投影误差超过预设偏差阈值的像素进行重新匹配。In an exemplary embodiment of the present disclosure, the
此外,根据本公开的示例性实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现根据本公开的示例性实施例的位姿跟踪方法。In addition, according to an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a computer program is stored. When the computer program is executed, the posture tracking method according to the exemplary embodiment of the present disclosure is implemented.
作为示例,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:获取跟踪对象的图像,其中,跟踪对象上设置有以特定频率闪烁的标记;从获取的图像中获取亮度变化的像素;基于获取的像素计算跟踪对象的6自由度姿态。As an example, the computer-readable storage medium may carry one or more programs, and when the computer program is executed, the following steps may be implemented: acquiring an image of a tracked object, wherein a mark flashing at a specific frequency is provided on the tracked object; acquiring pixels with brightness changes from the acquired image; and calculating a 6-DOF posture of the tracked object based on the acquired pixels.
计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。计算机可读存储介质可以包含在任意装置中;也可以单独存在,而未装配入该装置中。The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In an embodiment of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a computer program that may be used by or in conjunction with an instruction execution system, device or device. The computer program contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof. The computer-readable storage medium may be contained in any device; it may also exist alone without being assembled into the device.
以上已经结合图3和图4对根据本公开示例性实施例的位姿跟踪装置和电子装置进行了描述。接下来,结合图5对根据本公开的示例性实施例的计算装置进行描述。The posture tracking device and the electronic device according to the exemplary embodiment of the present disclosure have been described above in conjunction with Figures 3 and 4. Next, a computing device according to the exemplary embodiment of the present disclosure will be described in conjunction with Figure 5.
图5示出根据本公开示例性实施例的计算装置的示意图。FIG. 5 shows a schematic diagram of a computing device according to an exemplary embodiment of the present disclosure.
参照图5,根据本公开示例性实施例的计算装置5,包括存储器51和处理器52,所述存储器51上存储有计算机程序,当所述计算机程序被处理器52执行时,实现根据本公开的示例性实施例的位姿跟踪方法。5 , a
作为示例,当所述计算机程序被处理器52执行时,可实现以下步骤:获取跟踪对象的图像,其中,跟踪对象上设置有以特定频率闪烁的标记;从获取的图像中获取亮度变化的像素;基于获取的像素计算跟踪对象的6自由度姿态。As an example, when the computer program is executed by the
图5示出的计算装置仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。The computing device shown in FIG. 5 is merely an example and should not limit the functionality and scope of use of the embodiments of the present disclosure.
以上已参照图1至图5描述了根据本公开示例性实施例的位姿跟踪方法及装置。然而,应该理解的是:图3中所示的位姿跟踪装置及其单元可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图5中所示的计算装置并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。The posture tracking method and device according to the exemplary embodiments of the present disclosure have been described above with reference to Figures 1 to 5. However, it should be understood that the posture tracking device and its units shown in Figure 3 can be respectively configured as software, hardware, firmware or any combination of the above items to perform specific functions, and the computing device shown in Figure 5 is not limited to including the components shown above, but some components can be added or deleted as needed, and the above components can also be combined.
根据本公开的示例性实施例的位姿跟踪方法及装置,通过获取跟踪对象的图像,从获取的图像中获取亮度变化的像素,基于获取的像素计算跟踪对象的6自由度姿态,从而降低了位姿跟踪对LED标记特定布局的依赖性,同时降低了位姿跟踪的延迟,并且提高了位姿跟踪的精度和效率。According to the posture tracking method and device of the exemplary embodiments of the present disclosure, by acquiring an image of the tracked object, pixels with brightness changes are acquired from the acquired image, and the 6-DOF posture of the tracked object is calculated based on the acquired pixels, thereby reducing the dependence of posture tracking on the specific layout of the LED marker, while reducing the latency of posture tracking and improving the accuracy and efficiency of posture tracking.
尽管已经参照其示例性实施例具体显示和描述了本公开,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本公开的精神和范围的情况下,可以对其进行形式和细节上的各种改变。While the present disclosure has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the following claims.
Claims (11)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950626.1A CN110782492B (en) | 2019-10-08 | 2019-10-08 | Pose tracking method and device |
KR1020200114552A KR20210042011A (en) | 2019-10-08 | 2020-09-08 | Posture tracking method and apparatus performing the same |
US17/063,909 US11610330B2 (en) | 2019-10-08 | 2020-10-06 | Method and apparatus with pose tracking |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950626.1A CN110782492B (en) | 2019-10-08 | 2019-10-08 | Pose tracking method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110782492A CN110782492A (en) | 2020-02-11 |
CN110782492B true CN110782492B (en) | 2023-03-28 |
Family
ID=69384884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910950626.1A Active CN110782492B (en) | 2019-10-08 | 2019-10-08 | Pose tracking method and device |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20210042011A (en) |
CN (1) | CN110782492B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462179B (en) * | 2020-03-26 | 2023-06-27 | 北京百度网讯科技有限公司 | Three-dimensional object tracking method and device and electronic equipment |
CN111949123B (en) | 2020-07-01 | 2023-08-08 | 青岛小鸟看看科技有限公司 | Multi-sensor handle controller hybrid tracking method and device |
CN112306271B (en) * | 2020-10-30 | 2022-11-25 | 歌尔光学科技有限公司 | Focus calibration method, device and related equipment for handle controller |
CN112991556B (en) * | 2021-05-12 | 2022-05-27 | 航天宏图信息技术股份有限公司 | AR data display method and device, electronic equipment and storage medium |
CN113370217B (en) * | 2021-06-29 | 2023-06-16 | 华南理工大学 | Object gesture recognition and grabbing intelligent robot method based on deep learning |
US12205328B2 (en) * | 2021-07-28 | 2025-01-21 | Htc Corporation | System for tracking camera and control method thereof |
CN114549578B (en) * | 2021-11-05 | 2025-01-17 | 北京小米移动软件有限公司 | Target tracking method, device and storage medium |
CN114170308A (en) * | 2021-11-18 | 2022-03-11 | 上海鱼微阿科技有限公司 | All-in-one machine pose true value calculating method and device, electronic equipment and storage medium |
CN114565669B (en) * | 2021-12-14 | 2025-06-13 | 华人运通(上海)自动驾驶科技有限公司 | A field-side multi-camera fusion positioning method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103607541A (en) * | 2013-12-02 | 2014-02-26 | 吴东辉 | Method and system for obtaining information by way of camera shooting, camera shooting device and information modulation device |
CN105844659A (en) * | 2015-01-14 | 2016-08-10 | 北京三星通信技术研究有限公司 | Moving part tracking method and device |
CN106068533A (en) * | 2013-10-14 | 2016-11-02 | 瑞尔D股份有限公司 | The control of directional display |
CN108596980A (en) * | 2018-03-29 | 2018-09-28 | 中国人民解放军63920部队 | Circular target vision positioning precision assessment method, device, storage medium and processing equipment |
CN109474817A (en) * | 2017-09-06 | 2019-03-15 | 原相科技股份有限公司 | Optical sensing device, method and optical detection module |
CN110036258A (en) * | 2016-12-08 | 2019-07-19 | 索尼互动娱乐股份有限公司 | Information processing unit and information processing method |
CN110120099A (en) * | 2018-02-06 | 2019-08-13 | 广东虚拟现实科技有限公司 | Localization method, device, recognition and tracking system and computer-readable medium |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012178202A1 (en) * | 2011-06-23 | 2012-12-27 | Oblong Industries, Inc. | Adaptive tracking system for spatial input devices |
EP2728375A1 (en) * | 2012-10-31 | 2014-05-07 | Leica Geosystems AG | Method and device for determining the orientation of an object |
FR3013487B1 (en) * | 2013-11-18 | 2017-04-21 | Univ De Nice (Uns) | METHOD OF ESTIMATING THE SPEED OF MOVING A CAMERA |
US20160247293A1 (en) * | 2015-02-24 | 2016-08-25 | Brain Biosciences, Inc. | Medical imaging systems and methods for performing motion-corrected image reconstruction |
US9934592B1 (en) * | 2016-11-15 | 2018-04-03 | Carl Zeiss Industrielle Messtechnik Gmbh | Method and system for determining a 6-DOF-pose of an object in space |
EP3447448B1 (en) * | 2017-07-24 | 2021-01-06 | Trifo, Inc. | Fault-tolerance to provide robust tracking for autonomous and non-autonomous positional awareness |
US10529074B2 (en) * | 2017-09-28 | 2020-01-07 | Samsung Electronics Co., Ltd. | Camera pose and plane estimation using active markers and a dynamic vision sensor |
CN108648215B (en) * | 2018-06-22 | 2022-04-15 | 南京邮电大学 | SLAM motion blur pose tracking algorithm based on IMU |
-
2019
- 2019-10-08 CN CN201910950626.1A patent/CN110782492B/en active Active
-
2020
- 2020-09-08 KR KR1020200114552A patent/KR20210042011A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106068533A (en) * | 2013-10-14 | 2016-11-02 | 瑞尔D股份有限公司 | The control of directional display |
CN103607541A (en) * | 2013-12-02 | 2014-02-26 | 吴东辉 | Method and system for obtaining information by way of camera shooting, camera shooting device and information modulation device |
CN105844659A (en) * | 2015-01-14 | 2016-08-10 | 北京三星通信技术研究有限公司 | Moving part tracking method and device |
CN110036258A (en) * | 2016-12-08 | 2019-07-19 | 索尼互动娱乐股份有限公司 | Information processing unit and information processing method |
CN109474817A (en) * | 2017-09-06 | 2019-03-15 | 原相科技股份有限公司 | Optical sensing device, method and optical detection module |
CN110120099A (en) * | 2018-02-06 | 2019-08-13 | 广东虚拟现实科技有限公司 | Localization method, device, recognition and tracking system and computer-readable medium |
CN108596980A (en) * | 2018-03-29 | 2018-09-28 | 中国人民解放军63920部队 | Circular target vision positioning precision assessment method, device, storage medium and processing equipment |
Non-Patent Citations (2)
Title |
---|
Outside-in monocular IR camera based HMD pose estimation via geometric optimization;Pavel A. Savkin 等;《the 23rd ACM Symposium on Virtual Reality Software and Technology》;20171108;全文 * |
适用于昼夜视觉的微光CIS;潘京生 等;《红外技术》;20161231;第38卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110782492A (en) | 2020-02-11 |
KR20210042011A (en) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110782492B (en) | Pose tracking method and device | |
US11741624B2 (en) | Method and system for determining spatial coordinates of a 3D reconstruction of at least part of a real object at absolute spatial scale | |
CN110702111B (en) | Simultaneous Localization and Mapping (SLAM) using dual event cameras | |
JP6821714B2 (en) | Improved camera calibration system, target, and process | |
US9207773B1 (en) | Two-dimensional method and system enabling three-dimensional user interaction with a device | |
Labbé et al. | Single-view robot pose and joint angle estimation via render & compare | |
US9344707B2 (en) | Probabilistic and constraint based articulated model fitting | |
JP2018522348A (en) | Method and system for estimating the three-dimensional posture of a sensor | |
JP2018511098A (en) | Mixed reality system | |
CN108519102B (en) | A binocular visual odometry calculation method based on secondary projection | |
KR20110097639A (en) | Image processing apparatus, image processing method, program and image processing system | |
CN115410233A (en) | A Gesture Pose Estimation Method Based on Kalman Filter and Deep Learning | |
WO2022174594A1 (en) | Multi-camera-based bare hand tracking and display method and system, and apparatus | |
CN116222543B (en) | Multi-sensor fusion map construction method and system for robot environment perception | |
CN110517284B (en) | A Target Tracking Method Based on LiDAR and PTZ Camera | |
JP6894707B2 (en) | Information processing device and its control method, program | |
CN113052898B (en) | A real-time localization method of point cloud and strong reflective target based on active binocular camera | |
WO2023116430A1 (en) | Video and city information model three-dimensional scene fusion method and system, and storage medium | |
JP6129363B2 (en) | Interactive system, remote control and operation method thereof | |
CN116576850A (en) | A pose determination method, device, computer equipment and storage medium | |
Pandey et al. | Efficient 6-dof tracking of handheld objects from an egocentric viewpoint | |
CN108803861B (en) | Interaction method, equipment and system | |
WO2017163648A1 (en) | Head-mounted device | |
CN117630892A (en) | Joint calibration method and system for visible light camera, infrared camera and lidar | |
CN106204604A (en) | Projection touch control display apparatus and exchange method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |