WO2021093593A1 - Method and apparatus for calibrating motion data, terminal device and storage medium - Google Patents

Method and apparatus for calibrating motion data, terminal device and storage medium Download PDF

Info

Publication number
WO2021093593A1
WO2021093593A1 PCT/CN2020/124669 CN2020124669W WO2021093593A1 WO 2021093593 A1 WO2021093593 A1 WO 2021093593A1 CN 2020124669 W CN2020124669 W CN 2020124669W WO 2021093593 A1 WO2021093593 A1 WO 2021093593A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion data
frame
frames
data
transformation matrix
Prior art date
Application number
PCT/CN2020/124669
Other languages
French (fr)
Chinese (zh)
Inventor
吴迪云
许秋子
Original Assignee
深圳市瑞立视多媒体科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市瑞立视多媒体科技有限公司 filed Critical 深圳市瑞立视多媒体科技有限公司
Publication of WO2021093593A1 publication Critical patent/WO2021093593A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Definitions

  • This application belongs to the field of computer technology, and particularly relates to sports data calibration methods, devices, terminal equipment, and storage media.
  • Virtual reality interaction is a technology that combines computer-generated virtual scenes with real world scenes. It acquires the movement trajectory of physical objects in the real world, realizes the natural interaction between the real scene and the virtual scene, and presents users with a new kind of The human-computer interaction experience environment.
  • rigid bodies and inertial devices are set on VR props to indirectly simulate the position and posture of VR props in space.
  • the way that rigid bodies and inertial devices process data is different, resulting in the data collected by rigid bodies and inertia
  • the data collected by the body is not synchronized, and there is currently no way to calibrate the delay relationship between rigid body data and inertial device data.
  • the embodiments of the present application provide a method, device, terminal device, and storage medium for calibrating motion data, which can solve the current problem that there is no way to calibrate the delay relationship between rigid body data and inertial device data.
  • an embodiment of the present application provides a method for calibrating motion data, which is applied to a terminal device, the terminal device is provided with a rigid body and an inertial device, and the method includes:
  • first motion data sequentially intercept multiple sets of third motion data with the same number of frames as the second frame number, and record the difference between the third start frame and the second start frame of each group of the third motion data
  • the number of offset frames between each of the third start frames, each of the third start frames is between the first start frame and the second start frame, and the difference between each of the third start frames and the previous third start frame
  • the difference is one frame
  • the transformation matrix with the smallest error and the number of offset frames corresponding to the transformation matrix are used as a calibration result.
  • a plurality of sets of third motion data with the same number of frames as the second frame number are sequentially intercepted to obtain Multiple delay frames between the first motion data and the second motion data, and align the first motion data and the second motion data frame by frame; calculate the transformation matrix from the second motion data to the third motion data, and calculate each The error of the transformation matrix is obtained, and the approximate value of the transformation matrix of the first motion data and the second motion data under each delay frame is obtained, and the error of the approximate value of the transformation matrix corresponding to each delay frame is obtained.
  • the transformation matrix with the smallest error and The offset frame number corresponding to the transformation matrix is used as the calibration result, so as to obtain the offset frame number and transformation matrix of the delay frame closest to the first motion data and the second motion data, thereby realizing the extension of the calibrated rigid body data and inertial device data.
  • Time relationship and attitude relationship solve the problem that there is no way to calibrate rigid body data and inertial device data.
  • an exercise data calibration device including:
  • the acquiring module is used to acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data and the second motion data of the rigid body
  • the difference between the second start frames corresponding to the second motion data is a preset number of frames, and the difference between the first number of frames and the second number of frames is the preset number of frames;
  • the interception module is used to intercept multiple sets of third motion data with the same number of frames as the second frame from the first motion data, and record the third start frame and the first frame of each third motion data
  • the number of offset frames between the second start frames, each of the third time frames is between the first start frame and the second start frame, and each of the third start frames is different from the previous first frame.
  • the difference between the three starting frames is one frame;
  • a calculation module configured to calculate a transformation matrix from the second motion data to the third motion data, and calculate the error corresponding to the transformation matrix
  • the calibration module is configured to use the transformation matrix with the smallest error and the offset frame number corresponding to the transformation matrix as the calibration result.
  • an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and running on the processor.
  • the processor executes the computer program, The exercise data calibration method described in any one of the above-mentioned first aspects is realized.
  • an embodiment of the present application provides a computer-readable storage medium that stores a computer program that, when executed by a processor, implements any one of the above-mentioned aspects of the first aspect Calibration method of sports data.
  • the embodiments of the present application provide a computer program product, which when the computer program product runs on a terminal device, causes the terminal device to execute the exercise data calibration method described in any one of the above-mentioned first aspects.
  • FIG. 1 is a schematic flowchart of a method for calibrating exercise data according to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a method for calibrating exercise data provided by another embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for calibrating exercise data according to another embodiment of the present application.
  • FIG. 4 is a schematic flowchart of a method for calibrating exercise data provided by another embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a sports data calibration method provided by another embodiment of the present application.
  • FIG. 6 is a schematic flowchart of an exercise data calibration method provided by another embodiment of the present application.
  • FIG. 7 is a schematic diagram of exercise data provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of an exercise data calibration device provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
  • the term “if” can be construed as “when” or “once” or “in response to determination” or “in response to detecting “.
  • the phrase “if determined” or “if detected [described condition or event]” can be interpreted as meaning “once determined” or “in response to determination” or “once detected [described condition or event]” depending on the context ]” or “in response to detection of [condition or event described]”.
  • references described in the specification of this application to "one embodiment” or “some embodiments”, etc. mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in conjunction with the embodiment. Therefore, the sentences “in one embodiment”, “in some embodiments”, “in some other embodiments”, “in some other embodiments”, etc. appearing in different places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless it is specifically emphasized otherwise.
  • the terms “including”, “including”, “having” and their variations all mean “including but not limited to”, unless otherwise specifically emphasized.
  • the rigid body and inertial device are set on the VR props to indirectly simulate the position and posture of the VR props in the space.
  • the rigid body and the inertial device collect data in different ways.
  • the data is calculated by the optical camera, and the data of the inertial device is calculated by the integration of the host computer.
  • the data collected by the rigid body is not synchronized with the data collected by the inertial body, so that the virtual space display picture is made by the VR props
  • There is a delay in the action and the user experience is very poor.
  • there is currently no way to calibrate the delay relationship between the rigid body data and the inertial device data so it is difficult to synchronize the data collected by the rigid body and the inertial device.
  • the embodiment of the present application provides a method for calibrating motion data to obtain the first motion data of the inertial device and the second motion data of the rigid body, offset the frames of the motion data of the two by different frames, and calculate the difference
  • the error of the transformation matrix obtained by the offset of the frame number is the process of taking the transformation matrix with the smallest error and the number of offset frames as the calibration result, so as to realize the delay relationship between the data of the inertial device and the data of the rigid body.
  • the above-mentioned inertial device may be an inertial measurement unit (IMU), which is a device for measuring the three-axis attitude angle (or angular velocity) and acceleration of an object.
  • IMU inertial measurement unit
  • inertial devices include a three-axis accelerometer and a three-axis gyroscope.
  • the accelerometer detects the acceleration signal of an object in the independent three-axis coordinate system of the carrier
  • the gyroscope detects the angular velocity signal of the carrier relative to the navigation coordinate system, thereby measuring the object Angular velocity and acceleration in three-dimensional space, and calculate the posture of the object based on this.
  • the inertial device may only include a three-axis gyroscope, such as a gyroscope.
  • the above-mentioned rigid body refers to an object whose shape and size remain unchanged during movement and after being subjected to a force, and the relative positions of internal points remain unchanged.
  • the rigid body data can be calculated by the optical camera.
  • the acquired first motion data of the inertial device and the second motion data of the rigid body are both rotation change matrices.
  • Each frame of the first motion data and the second motion data has a temporal sequence, but the time interval between every two frames is not unique.
  • the motion data calibration method provided by the embodiments of this application can be applied to mobile phones, tablet computers, wearable devices, in-vehicle devices, augmented reality (AR)/virtual reality (VR) equipped with inertial devices and rigid bodies.
  • the virtual reality device when the terminal device is a virtual reality device, the virtual reality device is not only a hardware device, but also implements powerful functions through software support, data interaction, and cloud interaction.
  • Virtual reality devices include full-featured, large-sized, complete or partial functions that can be realized without relying on smartphones, such as VR headsets.
  • wearable technology can be applied to intelligently design the above-mentioned virtual reality devices to develop a device with the function of collecting EEG signals, that is, the combination of the virtual reality device and the EEG signal collecting device is designed to be a kind of EEG collecting device. Signals and portable devices with virtual reality capabilities.
  • the inertial device and the rigid body are fixedly arranged in the aforementioned terminal equipment, and there is a fixed positional relationship between the inertial device and the rigid body.
  • the inertial device can be deformed, and the rigid body will not deform (it should be understood that the rigid body may deform in microseconds, rather than the absolute rigid body is not deformed at all).
  • Both the acquired first motion data of the inertial device and the second motion data of the rigid body are rotation change matrices.
  • the inertial device takes a gyroscope as an example, and the three-axis angular velocities collected by the gyroscope are W x , W y , and W z , and the unit is radians/second.
  • the rotation change matrix of the k-th frame in the carrier coordinate system in the gyroscope is That is to say, the rotation change of the gyroscope from the k-1th frame to the kth frame, then:
  • dt(k) is the time difference between the k-th frame data and the k-1th frame data.
  • a gyroscope will output a timestamp and obtain the time difference between two frames based on the timestamp. If the gyroscope does not output a time stamp, the time difference is calculated by the arrival time of each frame of data.
  • the attitude of the gyroscope is relative to the attitude change when the host computer obtains the first frame of data:
  • the subscript of R represents the rotation change matrix from subscript to superscript
  • the subscript c represents the rigid body
  • b represents the gyroscope
  • k represents the k-th frame
  • 0 represents the initial frame
  • w represents the world coordinates.
  • Equation 10 by collecting more than 10 frames of first motion data and second motion data, a zero-space solution can be obtained, that is, the rotation quaternion of the rigid body data transformed into the carrier coordinate system where the gyroscope is located.
  • Fig. 1 shows a schematic flowchart of the exercise data calibration method provided by the present application.
  • the method can be applied to the above-mentioned virtual reality device.
  • the method includes steps S101-S104, and each step is specifically explained below.
  • the first motion data includes the rotation change matrix of the inertial device in each frame relative to the previous frame
  • the second motion data includes the rotation change matrix of the rigid body of each frame relative to the previous frame
  • the preset number of frames is a preset offset frame used for data offset.
  • the above-mentioned acquisition process is a process in which the terminal device performs data processing on the original data collected by the inertial device and the rigid body, and stores the motion data. It is understandable that the terminal device always performs data processing on the original data. Only when the acquisition operation is performed, the motion data processed at the current time is acquired and the motion data is stored, while the motion data processed before the acquisition operation is Do not store.
  • the preset number of frames is 50 frames
  • A is the frame number sequence of the first motion data
  • B is the frame number sequence of the second motion data
  • the second motion data is after the 50 frames of the first motion data are acquired.
  • the above-mentioned frame number sequence has a time sequence. Specifically, for the motion data acquired first, the time corresponding to the frame number is first, and the motion data acquired later has the time corresponding to the frame number last.
  • S102 From the first motion data, sequentially intercept multiple sets of third motion data with the same number of frames as the second frame, and record the third start frame and the second start of each group of the third motion data.
  • the number of offset frames between frames, each of the third starting frames is between the first starting frame and the second starting frame, and each of the third starting frames is different from the previous third starting frame.
  • the frame difference is one frame;
  • the third motion data of 50 frames is acquired, the data from the 0th frame to the 50th frame in the first motion data can be intercepted for the first time, and the first motion data can be intercepted for the second time. From the first frame of data to the 51st frame of data in the data, until the 49th to the 99th frame of the first motion data is intercepted, 50 sets of third motion data are finally obtained, and each group of third motion data has 50 Frame data. At the same time, the number of offset frames for each intercepted data is recorded. The number of offset frames for the first interception of data is 50 frames, the number of offset frames for the second interception of data is 49 frames, and the number of offset frames for the last time is 1 frame. .
  • the above transformation matrix is the rotation quaternion in the process of transforming the second motion data into the third motion data, that is, the aforementioned zero-space solution
  • the transformation matrix is calculated by the aforementioned formula 10. Since the first motion data and second motion data of multiple frames are calculated by formula 10, the zero-space solution is calculated. Therefore, there is an error between the first motion data and second motion data of each frame and the final calculated zero-space solution.
  • the null-space solution and the multi-frame first motion data and second motion data for calculating the null-space solution are substituted into Equation 10 again to calculate the average error corresponding to the null-space solution.
  • FIG. 2 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application.
  • the first motion data includes fourth motion data and fifth motion data.
  • the above step S101 specifically includes S201 and S202. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1, and will not be repeated here, please refer to the foregoing.
  • the fourth motion data of the preset frame number is used as the data calculated after the frame number is offset, and the specific value can be set according to the frequency of the inertial device and the rigid body collecting data. For example, if the gyroscope data update frequency is 100Hz, the rigid body data refresh rate is also set to 100Hz, that is, the interval between two frames of data is 0.01 second, then 50 frames of data is 0.5 seconds, and the delay between the rigid body and the gyroscope is estimated to be within 0.5 seconds , So you can set the preset number of frames to 50 frames.
  • the time when the fifth motion data and the second motion data are acquired are the same, and the number of acquired data frames is also the same, but the speed of the optical camera calculation and the integration calculation of the host computer is different, so although The time when the fifth movement data and the second movement data are acquired are the same, but the collection time of the original data corresponding to the two is different.
  • FIG. 3 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application.
  • the above step S201 specifically includes S301 and S302. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1 and will not be repeated here, please refer to the foregoing.
  • S301 Collect first attitude angle change data of the inertial device or the rigid body
  • the first attitude angle change data is the change angle of a certain moment relative to the initial moment, which can be calculated according to the rotation change matrix of a certain frame relative to the initial frame.
  • the first preset angle may be 20°, that is, when the change angle of the gyroscope or rigid body is greater than 20°, the fourth motion data will be acquired to avoid other reasons causing the gyroscope or rigid body to appear tiny Unnecessary data is acquired when the angle is changed.
  • the fourth movement data is acquired.
  • FIG. 4 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application.
  • the above step S202 specifically includes S401-S403. It should be noted that the steps are the same as those in the embodiment shown in FIG. 2 and will not be repeated here, please refer to the foregoing.
  • S401 Collect a preset number of groups of the second attitude angle change data of the inertial device or the rigid body;
  • the second attitude angle change data is a change angle at a certain time relative to the initial time, and the preset number of groups may be 50 groups.
  • the second preset angle when the second preset angle is 5-10°, there is a better calibration effect, for example, 7°. It should be understood that the second preset angle is not limited to 5-10°. Since the terminal device is moving, it may be a small movement, and the difference between such data in the real space and the virtual space is very small, so you can choose not to use the data during the small movement, only when the second attitude angle change data is greater than 7° , The corresponding motion data is acquired, and when the second attitude angle change data is less than 7°, the corresponding motion data is not acquired. In order to ensure that the collected motion data is sufficient for calibration, it is divided into multiple groups for acquisition.
  • FIG. 5 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application.
  • the above step S102 specifically includes S501 and S502. It should be noted that the steps are the same as those in the embodiment shown in FIG. 2 and will not be repeated here, please refer to the foregoing.
  • each frame of the fourth motion data is shifted by one frame in a direction close to the second starting frame, until the offset The total number of frames reaches the preset number of frames;
  • the fourth starting frame is the 0th frame
  • each frame of the fourth motion data is moved to the right by one frame as a whole, then in time, each frame is moved to the right One frame, but the first motion data remains unchanged.
  • the first motion data corresponding to the 0th frame is x
  • the first motion data corresponding to the 1st frame is y.
  • the 0th frame replaces the original 1st frame
  • the 0th frame corresponds to The first movement data of becomes y, and so on.
  • FIG. 6 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application.
  • step S102 specifically includes S601 and S602. It should be noted that the steps are the same as those in the embodiment shown in FIG. 2 and will not be repeated here, please refer to the foregoing.
  • each frame of the fifth motion data is shifted by one frame in a direction away from the second starting frame, until the offset The total number of frames reaches the preset number of frames;
  • the fifth starting frame is the 500th frame, and each frame of the fifth motion data is moved one frame to the left as a whole, then in time, each frame is moved to the left One frame, but the first motion data remains unchanged.
  • an embodiment of another exercise data calibration method provided in the embodiment of the present application.
  • the calculation of the transformation matrix for transforming the second motion data into each group of the third motion data in the above step S103 specifically includes S1031. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1 and will not be repeated here, please refer to the foregoing.
  • the third motion data and the second motion data of the corresponding frame can be substituted into the aforementioned formula 10. Then the third motion data and the second motion data of more than 10 frames can be calculated to obtain the zero-space solution, that is, the corresponding Transformation matrix.
  • an embodiment of another exercise data calibration method provided in the embodiment of the present application.
  • the calculation of the error corresponding to the transformation matrix in the foregoing step S103 specifically includes S1032. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1 and will not be repeated here, please refer to the foregoing.
  • S1032 Calculate the error of each transformation matrix according to each transformation matrix, the corresponding first motion data and the second motion data.
  • each of the transformation matrix, the corresponding first motion data and the second motion data can be substituted into the foregoing formula 10, because each group of the first motion data and the second motion data has multiple frames Data, therefore, according to Equation 10, we can get:
  • n is the number of offset frames
  • i is set according to the number of offset frames
  • j is set according to the rotation interval after the i frame.
  • FIG. 6 shows a structural block diagram of the exercise data calibration device 800 provided in an embodiment of the present application. For ease of description, only the parts related to the embodiment of the present application are shown. .
  • the device includes:
  • the acquiring module 801 is configured to acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data and the second motion data of the rigid body
  • the difference between the second starting frames corresponding to the second motion data is a preset number of frames, and the difference between the first number of frames and the second number of frames is the preset number of frames;
  • the interception module 802 is configured to intercept multiple sets of third motion data with the same number of frames as the second frame from the first motion data, and record the third start frame of each third motion data and the The number of offset frames between the second start frames, each of the third time frames is between the first start frame and the second start frame, and each of the third start frames is different from the previous one.
  • the difference of the third starting frame is one frame;
  • a calculation module 803 configured to calculate a transformation matrix from the second motion data to the third motion data, and calculate an error corresponding to the transformation matrix
  • the calibration module 804 is configured to use the transformation matrix with the smallest error and the offset frame number corresponding to the transformation matrix as the calibration result.
  • FIG. 9 is a schematic structural diagram of a terminal device provided by an embodiment of the application.
  • the terminal device 9 of this embodiment includes: at least one processor 90 (only one is shown in FIG. 9), a processor, a memory 91, and a processor stored in the memory 91 and capable of being processed in the at least one processor.
  • the terminal device 9 may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server, specifically, such as the aforementioned virtual reality device.
  • the terminal device may include, but is not limited to, a processor 90 and a memory 91.
  • FIG. 9 is only an example of the terminal device 9 and does not constitute a limitation on the terminal device 9. It may include more or less components than shown in the figure, or a combination of certain components, or different components. , For example, can also include input and output devices, network access devices, and so on.
  • the so-called processor 90 may be a central processing unit (Central Processing Unit, CPU), and the processor 90 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), and application specific integrated circuits (Application Specific Integrated Circuits). , ASIC), ready-made programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory 91 may be an internal storage unit of the terminal device 9 in some embodiments, such as a hard disk or memory of the terminal device 9. In other embodiments, the memory 91 may also be an external storage device of the terminal device 9, such as a plug-in hard disk equipped on the terminal device 9, a smart media card (SMC), and a secure digital (Secure Digital, SD) card, flash card (Flash Card), etc. Further, the memory 91 may also include both an internal storage unit of the terminal device 9 and an external storage device. The memory 91 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program. The memory 91 can also be used to temporarily store data that has been output or will be output.
  • a boot loader BootLoader
  • the embodiments of the present application also provide a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in each of the foregoing method embodiments can be realized.
  • the embodiments of the present application provide a computer program product.
  • the steps in the foregoing method embodiments can be realized when the mobile terminal is executed.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the computer program can be stored in a computer-readable storage medium.
  • the computer program can be stored in a computer-readable storage medium.
  • the steps of the foregoing method embodiments can be implemented.
  • the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file, or some intermediate forms.
  • the computer-readable medium may at least include: any entity or device capable of carrying the computer program code to the photographing device/terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), and random access memory (RAM, Random Access Memory), electric carrier signal, telecommunications signal and software distribution medium.
  • ROM read-only memory
  • RAM random access memory
  • electric carrier signal telecommunications signal and software distribution medium.
  • U disk mobile hard disk, floppy disk or CD-ROM, etc.
  • computer-readable media cannot be electrical carrier signals and telecommunication signals.
  • the disclosed apparatus/network equipment and method may be implemented in other ways.
  • the device/network device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units.
  • components can be combined or integrated into another system, or some features can be omitted or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the objectives of the solutions of the embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Gyroscopes (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

A method for calibrating motion data, which is applicable to the technical field of computers, comprising: acquiring first motion data of a first number of frames of an inertial device and second motion data of a second number of frames of a rigid body (S101), wherein the difference between a first starting frame corresponding to the first motion data and a second starting frame corresponding to the second motion data is a preset number of frames; from the first motion data, sequentially intercepting multiple groups of third motion data with the same number of frames as the second number of frames, and recording the number of offset frames between a third starting frame and the second starting frame of each group of the third motion data (S102); calculating a transformation matrix in which the second motion data is transformed into each group of the third motion data, and calculating an error corresponding to the transformation matrix (S103); and using the transformation matrix that has the smallest error and the number of offset frames corresponding to the transformation matrix as a calibration result (S104). The delay relationship and attitude relationship between calibration rigid body data and inertial device data are achieved, and the problem in which there is currently no way to calibrate rigid body data and inertial device data is solved.

Description

运动数据标定方法、装置、终端设备及存储介质Movement data calibration method, device, terminal equipment and storage medium 技术领域Technical field
本申请属于计算机技术领域,尤其涉及运动数据标定方法、装置、终端设备及存储介质。This application belongs to the field of computer technology, and particularly relates to sports data calibration methods, devices, terminal equipment, and storage media.
背景技术Background technique
随着虚拟现实(Virtual Reality,VR)技术的发展,虚实交互逐渐成为研究热点和难点。虚实交互是将计算机生成的虚拟场景与真实世界场景相互融合的一种技术,它是获取真实世界中物理对象的运动轨迹,实现真实场景和虚拟场景之间的自然交互,呈现给用户一种全新的人机交互体验环境。With the development of virtual reality (Virtual Reality, VR) technology, virtual-real interaction has gradually become a research hotspot and difficulty. Virtual reality interaction is a technology that combines computer-generated virtual scenes with real world scenes. It acquires the movement trajectory of physical objects in the real world, realizes the natural interaction between the real scene and the virtual scene, and presents users with a new kind of The human-computer interaction experience environment.
在大空间虚实交互中,将刚体和惯性器件设置在VR道具上,以间接模拟VR道具在空间中的位置和姿态,但是刚体和惯性器件处理数据的方式不同,导致刚体采集到的数据与惯性体采集到的数据不同步,而目前没有标定刚体数据和惯性器件数据的延迟关系的方式。In the virtual-real interaction of large spaces, rigid bodies and inertial devices are set on VR props to indirectly simulate the position and posture of VR props in space. However, the way that rigid bodies and inertial devices process data is different, resulting in the data collected by rigid bodies and inertia The data collected by the body is not synchronized, and there is currently no way to calibrate the delay relationship between rigid body data and inertial device data.
发明内容Summary of the invention
本申请实施例提供了运动数据标定方法、装置、终端设备及存储介质,可以解决目前没有标定刚体数据和惯性器件数据的延迟关系的方式的问题。The embodiments of the present application provide a method, device, terminal device, and storage medium for calibrating motion data, which can solve the current problem that there is no way to calibrate the delay relationship between rigid body data and inertial device data.
第一方面,本申请实施例提供了一种运动数据标定方法,应用于终端设备,所述终端设备设有刚体和惯性器件,所述方法包括:In the first aspect, an embodiment of the present application provides a method for calibrating motion data, which is applied to a terminal device, the terminal device is provided with a rigid body and an inertial device, and the method includes:
获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;Acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data corresponds to the second motion data The difference between the second starting frame is a preset frame number, and the difference between the first frame number and the second frame number is the preset frame number;
从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,并记录每组所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;From the first motion data, sequentially intercept multiple sets of third motion data with the same number of frames as the second frame number, and record the difference between the third start frame and the second start frame of each group of the third motion data The number of offset frames between each of the third start frames, each of the third start frames is between the first start frame and the second start frame, and the difference between each of the third start frames and the previous third start frame The difference is one frame;
计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;Calculating a transformation matrix for transforming the second motion data into each group of the third motion data, and calculating an error corresponding to the transformation matrix;
将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。The transformation matrix with the smallest error and the number of offset frames corresponding to the transformation matrix are used as a calibration result.
本申请实施例通过获取惯性器件的第一运动数据和刚体的第二运动数据,从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,以得到第一运动数据与第二运动数据之间的多个延迟帧,并逐帧对齐第一运动数据和第二运动数据;计算第二运动数据变换到第三运动数据的变换矩阵,以及计算每个变换矩阵的误差,从而得到每个延时帧下第一运动数据与第二运动数据的变换矩阵的近似值,并得到每个延时帧对应变换矩阵的近似值的误差,将误差最小的变换矩阵以及变换矩阵对应的偏移帧数作为标定结果,从而得到最接近第一运动数据与第二运动数据的延时帧的偏移帧数和变换矩阵,进而实现了标定刚体数据和惯性器件数据的延时关系和姿态关系,解决了目前没有标定刚体数据和惯性器件数据的方式的问题。In this embodiment of the application, by acquiring the first motion data of the inertial device and the second motion data of the rigid body, from the first motion data, a plurality of sets of third motion data with the same number of frames as the second frame number are sequentially intercepted to obtain Multiple delay frames between the first motion data and the second motion data, and align the first motion data and the second motion data frame by frame; calculate the transformation matrix from the second motion data to the third motion data, and calculate each The error of the transformation matrix is obtained, and the approximate value of the transformation matrix of the first motion data and the second motion data under each delay frame is obtained, and the error of the approximate value of the transformation matrix corresponding to each delay frame is obtained. The transformation matrix with the smallest error and The offset frame number corresponding to the transformation matrix is used as the calibration result, so as to obtain the offset frame number and transformation matrix of the delay frame closest to the first motion data and the second motion data, thereby realizing the extension of the calibrated rigid body data and inertial device data. Time relationship and attitude relationship solve the problem that there is no way to calibrate rigid body data and inertial device data.
第二方面,本申请实施例提供了一种运动数据标定装置,包括:In the second aspect, an embodiment of the present application provides an exercise data calibration device, including:
获取模块,用于获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;The acquiring module is used to acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data and the second motion data of the rigid body The difference between the second start frames corresponding to the second motion data is a preset number of frames, and the difference between the first number of frames and the second number of frames is the preset number of frames;
截取模块,用于从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,并记录每个所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三时间帧在所述第一开始帧与所述第二开始帧之 间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;The interception module is used to intercept multiple sets of third motion data with the same number of frames as the second frame from the first motion data, and record the third start frame and the first frame of each third motion data The number of offset frames between the second start frames, each of the third time frames is between the first start frame and the second start frame, and each of the third start frames is different from the previous first frame. The difference between the three starting frames is one frame;
计算模块,用于计算所述第二运动数据变换到所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;A calculation module, configured to calculate a transformation matrix from the second motion data to the third motion data, and calculate the error corresponding to the transformation matrix;
标定模块,用于将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。The calibration module is configured to use the transformation matrix with the smallest error and the offset frame number corresponding to the transformation matrix as the calibration result.
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的运动数据标定方法。In a third aspect, an embodiment of the present application provides a terminal device, including a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, The exercise data calibration method described in any one of the above-mentioned first aspects is realized.
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的运动数据标定方法。In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium that stores a computer program that, when executed by a processor, implements any one of the above-mentioned aspects of the first aspect Calibration method of sports data.
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的运动数据标定方法。In the fifth aspect, the embodiments of the present application provide a computer program product, which when the computer program product runs on a terminal device, causes the terminal device to execute the exercise data calibration method described in any one of the above-mentioned first aspects.
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。It can be understood that, for the beneficial effects of the second aspect to the fifth aspect described above, reference may be made to the related description in the first aspect described above, and details are not repeated here.
附图说明Description of the drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly describe the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only of the present application. For some embodiments, those of ordinary skill in the art can obtain other drawings based on these drawings without creative labor.
图1是本申请一实施例提供的运动数据标定方法的流程示意图;FIG. 1 is a schematic flowchart of a method for calibrating exercise data according to an embodiment of the present application;
图2是本申请另一实施例提供的运动数据标定方法的流程示意图;2 is a schematic flowchart of a method for calibrating exercise data provided by another embodiment of the present application;
图3是本申请另一实施例提供的运动数据标定方法的流程示意图;FIG. 3 is a schematic flowchart of a method for calibrating exercise data according to another embodiment of the present application;
图4是本申请另一实施例提供的运动数据标定方法的流程示意图;4 is a schematic flowchart of a method for calibrating exercise data provided by another embodiment of the present application;
图5是本申请另一实施例提供的运动数据标定方法的流程示意图;FIG. 5 is a schematic flowchart of a sports data calibration method provided by another embodiment of the present application;
图6是本申请另一实施例提供的运动数据标定方法的流程示意图;FIG. 6 is a schematic flowchart of an exercise data calibration method provided by another embodiment of the present application;
图7是本申请一实施例提供的运动数据的示意图;FIG. 7 is a schematic diagram of exercise data provided by an embodiment of the present application;
图8是本申请一实施例提供的运动数据标定装置的结构示意图;FIG. 8 is a schematic structural diagram of an exercise data calibration device provided by an embodiment of the present application;
图9是本申请实施例提供的终端设备的结构示意图。FIG. 9 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
具体实施方式Detailed ways
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。In the following description, for the purpose of illustration rather than limitation, specific details such as a specific system structure and technology are proposed for a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from obstructing the description of this application.
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that when used in the specification and appended claims of this application, the term "comprising" indicates the existence of the described features, wholes, steps, operations, elements and/or components, but does not exclude one or more other The existence or addition of features, wholes, steps, operations, elements, components, and/or collections thereof.
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。It should also be understood that the term "and/or" used in the specification and appended claims of this application refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。As used in the description of this application and the appended claims, the term "if" can be construed as "when" or "once" or "in response to determination" or "in response to detecting ". Similarly, the phrase "if determined" or "if detected [described condition or event]" can be interpreted as meaning "once determined" or "in response to determination" or "once detected [described condition or event]" depending on the context ]" or "in response to detection of [condition or event described]".
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。In addition, in the description of the specification of this application and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the description, and cannot be understood as indicating or implying relative importance.
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着 在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。References described in the specification of this application to "one embodiment" or "some embodiments", etc. mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in conjunction with the embodiment. Therefore, the sentences "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. appearing in different places in this specification are not necessarily All refer to the same embodiment, but mean "one or more but not all embodiments" unless it is specifically emphasized otherwise. The terms "including", "including", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized.
如背景技术相关介绍,在大空间虚实交互中,将刚体和惯性器件设置在VR道具上,以间接模拟VR道具在空间中的位置和姿态,但是刚体和惯性器件采集数据的方式不同,其中刚体的数据是通过光学相机计算得到的,惯性器件的数据是通过上位机积分计算得到的,导致刚体采集的数据与惯性体采集的数据不同步,这样虚拟空间展示的画面与VR道具所做出的动作存在延迟,用户体验非常差。而目前没有标定刚体数据和惯性器件数据的延迟关系的方式,因此很难对刚体和惯性器件采集的数据进行数据同步。As related to the background technology, in the large-space virtual-real interaction, the rigid body and inertial device are set on the VR props to indirectly simulate the position and posture of the VR props in the space. However, the rigid body and the inertial device collect data in different ways. The data is calculated by the optical camera, and the data of the inertial device is calculated by the integration of the host computer. As a result, the data collected by the rigid body is not synchronized with the data collected by the inertial body, so that the virtual space display picture is made by the VR props There is a delay in the action and the user experience is very poor. However, there is currently no way to calibrate the delay relationship between the rigid body data and the inertial device data, so it is difficult to synchronize the data collected by the rigid body and the inertial device.
因此,本申请实施例提供一种运动数据标定方法,实现获取惯性器件的第一运动数据和刚体的第二运动数据,对两者的运动数据的帧进行不同帧数的偏移,并计算不同帧数的偏移得到的变换矩阵的误差,将误差最小的变换矩阵和偏移帧数作为标定结果的过程,从而实现标定惯性器件的数据和刚体的数据的延迟关系。Therefore, the embodiment of the present application provides a method for calibrating motion data to obtain the first motion data of the inertial device and the second motion data of the rigid body, offset the frames of the motion data of the two by different frames, and calculate the difference The error of the transformation matrix obtained by the offset of the frame number is the process of taking the transformation matrix with the smallest error and the number of offset frames as the calibration result, so as to realize the delay relationship between the data of the inertial device and the data of the rigid body.
其中,上述惯性器件可以是惯性测量单元(Inertial measurement unit,IMU),其是测量物体三轴姿态角(或角速率)以及加速度的装置。一般的,惯性器件包括三轴的加速度计和三轴的陀螺,其中加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号,从而测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。可以理解的是,惯性器件可以仅包含三轴的陀螺,例如陀螺仪。The above-mentioned inertial device may be an inertial measurement unit (IMU), which is a device for measuring the three-axis attitude angle (or angular velocity) and acceleration of an object. Generally, inertial devices include a three-axis accelerometer and a three-axis gyroscope. The accelerometer detects the acceleration signal of an object in the independent three-axis coordinate system of the carrier, and the gyroscope detects the angular velocity signal of the carrier relative to the navigation coordinate system, thereby measuring the object Angular velocity and acceleration in three-dimensional space, and calculate the posture of the object based on this. It is understandable that the inertial device may only include a three-axis gyroscope, such as a gyroscope.
其中,上述刚体是指在运动中和受力作用后,形状和大小不变,而且内部个点的相对位置不变的物体。可以通过光学相机计算得到刚体数据。Among them, the above-mentioned rigid body refers to an object whose shape and size remain unchanged during movement and after being subjected to a force, and the relative positions of internal points remain unchanged. The rigid body data can be calculated by the optical camera.
其中,获取的惯性器件的第一运动数据和刚体的第二运动数据均为旋转变化矩阵。第一运动数据和第二运动数据的每一帧存在时间上的先后顺序,但是每两帧之间的时间间隔不唯一。Wherein, the acquired first motion data of the inertial device and the second motion data of the rigid body are both rotation change matrices. Each frame of the first motion data and the second motion data has a temporal sequence, but the time interval between every two frames is not unique.
本申请实施例提供的运动数据标定方法,可以应用于设有惯性器件和刚体的手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可移动的终端设备上,本申请实施例对终端设备的具体类型不作任何限制。The motion data calibration method provided by the embodiments of this application can be applied to mobile phones, tablet computers, wearable devices, in-vehicle devices, augmented reality (AR)/virtual reality (VR) equipped with inertial devices and rigid bodies. Devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (personal digital assistants, PDAs) and other mobile terminal devices, the embodiments of this application do not make specific types of terminal devices. Any restrictions.
作为示例而非限定,当所述终端设备为虚拟现实设备时,虚拟现实设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。虚拟现实设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如VR头显等。可选地,可以应用穿戴式技术将上述虚拟现实设备进行智能化设计、开发出具有采集脑电信号的功能的设备,即虚拟现实设备与脑电信号采集设备结合设计为一种可采集脑电信号和具备虚拟现实功能的便携式设备。As an example and not a limitation, when the terminal device is a virtual reality device, the virtual reality device is not only a hardware device, but also implements powerful functions through software support, data interaction, and cloud interaction. Virtual reality devices include full-featured, large-sized, complete or partial functions that can be realized without relying on smartphones, such as VR headsets. Optionally, wearable technology can be applied to intelligently design the above-mentioned virtual reality devices to develop a device with the function of collecting EEG signals, that is, the combination of the virtual reality device and the EEG signal collecting device is designed to be a kind of EEG collecting device. Signals and portable devices with virtual reality capabilities.
需要说明的是,惯性器件与刚体固定设于上述终端设备中,惯性器件与刚体间有固定的位置关系。在终端设备运动过程或运动后,惯性器件可以变形,刚体不会变形(应理解,刚体可能出现微秒变形,而非绝对刚体的完全不变形)。获取的惯性器件的第一运动数据和刚体的第二运动数据均为旋转变化矩阵。It should be noted that the inertial device and the rigid body are fixedly arranged in the aforementioned terminal equipment, and there is a fixed positional relationship between the inertial device and the rigid body. In the process or after the movement of the terminal device, the inertial device can be deformed, and the rigid body will not deform (it should be understood that the rigid body may deform in microseconds, rather than the absolute rigid body is not deformed at all). Both the acquired first motion data of the inertial device and the second motion data of the rigid body are rotation change matrices.
在本申请实施例中,惯性器件以陀螺仪为例,陀螺仪采集的三轴角速度分别为W x、W y、W z,单位为弧度/秒。设陀螺仪中载体坐标系中第k帧的旋转变化矩阵为
Figure PCTCN2020124669-appb-000001
即表示陀螺仪从第k-1帧到第k帧的旋转变化,则有:
In the embodiment of the present application, the inertial device takes a gyroscope as an example, and the three-axis angular velocities collected by the gyroscope are W x , W y , and W z , and the unit is radians/second. Suppose the rotation change matrix of the k-th frame in the carrier coordinate system in the gyroscope is
Figure PCTCN2020124669-appb-000001
That is to say, the rotation change of the gyroscope from the k-1th frame to the kth frame, then:
Figure PCTCN2020124669-appb-000002
Figure PCTCN2020124669-appb-000002
其中,
Figure PCTCN2020124669-appb-000003
为欧拉角旋转矩阵计算,dt(k)为采集到第k帧数据相对于第 k-1帧数据的时间差。一般陀螺仪会输出时间戳,并根据时间戳获得两帧的时间差。若陀螺仪未输出时间戳,则通过每帧数据到达时间计算时间差。
among them,
Figure PCTCN2020124669-appb-000003
For Euler angle rotation matrix calculation, dt(k) is the time difference between the k-th frame data and the k-1th frame data. Generally, a gyroscope will output a timestamp and obtain the time difference between two frames based on the timestamp. If the gyroscope does not output a time stamp, the time difference is calculated by the arrival time of each frame of data.
陀螺仪的姿态相对于上位机获得第一帧数据时的姿态变化:The attitude of the gyroscope is relative to the attitude change when the host computer obtains the first frame of data:
Figure PCTCN2020124669-appb-000004
Figure PCTCN2020124669-appb-000004
在软件中获取刚体在世界坐标系中的旋转和位移,设刚体在世界坐标系中的旋转变化矩阵为
Figure PCTCN2020124669-appb-000005
其中,R的上下标表示下标到上标的旋转变化矩阵,下标c表示刚体、b表示陀螺仪,k代表第k帧,0代表初始帧,w代表世界坐标。
Obtain the rotation and displacement of the rigid body in the world coordinate system in the software, and set the rotation change matrix of the rigid body in the world coordinate system as
Figure PCTCN2020124669-appb-000005
Among them, the subscript of R represents the rotation change matrix from subscript to superscript, the subscript c represents the rigid body, b represents the gyroscope, k represents the k-th frame, 0 represents the initial frame, and w represents the world coordinates.
已知:A known:
Figure PCTCN2020124669-appb-000006
Figure PCTCN2020124669-appb-000006
Figure PCTCN2020124669-appb-000007
Figure PCTCN2020124669-appb-000007
Figure PCTCN2020124669-appb-000008
Figure PCTCN2020124669-appb-000008
其中,式5中
Figure PCTCN2020124669-appb-000009
为刚体到陀螺仪坐标系的旋转矩阵,根据式3、式4和式5,可得:
Among them, in formula 5
Figure PCTCN2020124669-appb-000009
Is the rotation matrix from the rigid body to the gyroscope coordinate system. According to formula 3, formula 4 and formula 5, we can get:
Figure PCTCN2020124669-appb-000010
Figure PCTCN2020124669-appb-000010
根据式6,可得:According to Equation 6, we can get:
Figure PCTCN2020124669-appb-000011
Figure PCTCN2020124669-appb-000011
由于刚体和陀螺仪的位置关系是固定的,所以在任何时刻都存在同一个旋转关系,即
Figure PCTCN2020124669-appb-000012
进一步地,根据式7,可得:
Since the positional relationship between the rigid body and the gyroscope is fixed, the same rotation relationship exists at any time, namely
Figure PCTCN2020124669-appb-000012
Further, according to Equation 7, we can get:
Figure PCTCN2020124669-appb-000013
Figure PCTCN2020124669-appb-000013
为了便于计算,将式8转换为四元数形式:In order to facilitate the calculation, the formula 8 is converted into a quaternion form:
Figure PCTCN2020124669-appb-000014
Figure PCTCN2020124669-appb-000014
进一步地,通过四元数的左乘和右乘,根据式9,可得:Further, by multiplying left and right quaternions, according to Equation 9, we can get:
Figure PCTCN2020124669-appb-000015
Figure PCTCN2020124669-appb-000015
其中,
Figure PCTCN2020124669-appb-000016
为刚体到陀螺仪的旋转四元数,即在世界坐标系中的刚体数据变换为陀螺仪所在载体坐标系的陀螺仪数据的变换矩阵。根据式10,可通过采集10帧以上的第一运动数据和第二运动数据,可获得零空间解,即得到刚体数据变换到陀螺仪所在载体坐标系的旋转四元数。
among them,
Figure PCTCN2020124669-appb-000016
It is the rotation quaternion of the rigid body to the gyroscope, that is, the transformation matrix of the rigid body data in the world coordinate system into the gyroscope data of the carrier coordinate system where the gyroscope is located. According to Equation 10, by collecting more than 10 frames of first motion data and second motion data, a zero-space solution can be obtained, that is, the rotation quaternion of the rigid body data transformed into the carrier coordinate system where the gyroscope is located.
图1示出了本申请提供的运动数据标定方法的示意性流程图,作为示例而非限定,该方法可以应用于上述虚拟现实设备中。如图1所示,该方法包括步骤S101-S104,下面具体对各个步骤进行解释。Fig. 1 shows a schematic flowchart of the exercise data calibration method provided by the present application. As an example and not a limitation, the method can be applied to the above-mentioned virtual reality device. As shown in Fig. 1, the method includes steps S101-S104, and each step is specifically explained below.
S101,获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;S101. Acquire first motion data of a first frame number of the inertial device and second motion data of a second frame number of the rigid body, and the first start frame and the second motion data corresponding to the first motion data The difference between the second start frames corresponding to the data is a preset frame number, and the difference between the first frame number and the second frame number is the preset frame number;
在上述S101中,第一运动数据包括每一帧相对于上一帧的惯性器件的旋转变化矩阵
Figure PCTCN2020124669-appb-000017
第二运动数据包括每一帧相对于上一帧的刚体的旋转变化矩阵
Figure PCTCN2020124669-appb-000018
预设帧数为预设的用于数据偏移的偏移帧。上述获取过程为得到终端设备对惯性器件和刚体采集的原始数据进行数据处理后的运动数据,并对运动数据进行存储的过程。可以理解的是,终端设备一直对原始数据进行数据处理,只有在进行获取操作时,获取当前时刻下处理得到的运动数据,并对运动数据进行存储,而在获取操作之前处理得到的运动数据则不进行存储。
In the above S101, the first motion data includes the rotation change matrix of the inertial device in each frame relative to the previous frame
Figure PCTCN2020124669-appb-000017
The second motion data includes the rotation change matrix of the rigid body of each frame relative to the previous frame
Figure PCTCN2020124669-appb-000018
The preset number of frames is a preset offset frame used for data offset. The above-mentioned acquisition process is a process in which the terminal device performs data processing on the original data collected by the inertial device and the rigid body, and stores the motion data. It is understandable that the terminal device always performs data processing on the original data. Only when the acquisition operation is performed, the motion data processed at the current time is acquired and the motion data is stored, while the motion data processed before the acquisition operation is Do not store.
如图7所示,预设帧数为50帧,A为第一运动数据的帧数顺序,B为第二运动数据的帧数顺序,第二运动数据在开始获取50帧第一运动数据之后才开始获取。上述帧数顺序在时间上存在先后顺序,具体地,先获取的运动数据,其帧数对应的时间在前,后获取的运动数据,其帧数对应的时间在后。As shown in Figure 7, the preset number of frames is 50 frames, A is the frame number sequence of the first motion data, B is the frame number sequence of the second motion data, and the second motion data is after the 50 frames of the first motion data are acquired. Just started to get it. The above-mentioned frame number sequence has a time sequence. Specifically, for the motion data acquired first, the time corresponding to the frame number is first, and the motion data acquired later has the time corresponding to the frame number last.
S102,从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,并记录每组所述第三运动数据的第三开始帧与所述第二开始帧之间 的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;S102. From the first motion data, sequentially intercept multiple sets of third motion data with the same number of frames as the second frame, and record the third start frame and the second start of each group of the third motion data. The number of offset frames between frames, each of the third starting frames is between the first starting frame and the second starting frame, and each of the third starting frames is different from the previous third starting frame. The frame difference is one frame;
在上述S102中,如图7所示,例如获取50帧的第三运动数据,则第一次可以截取第一运动数据中的第0帧数据到第50帧数据,第二次截取第一运动数据中的第1帧数据到第51帧数据,直至截取第一运动数据中的第49帧数据到第99帧数据为止,则最终得到50组第三运动数据,每组第三运动数据有50帧数据。同时记录每次截取数据的偏移帧数,第一次截取数据的偏移帧数为50帧,第二次截取数据的偏移帧数为49帧,最后一次的偏移帧数为1帧。In the above S102, as shown in FIG. 7, for example, if the third motion data of 50 frames is acquired, the data from the 0th frame to the 50th frame in the first motion data can be intercepted for the first time, and the first motion data can be intercepted for the second time. From the first frame of data to the 51st frame of data in the data, until the 49th to the 99th frame of the first motion data is intercepted, 50 sets of third motion data are finally obtained, and each group of third motion data has 50 Frame data. At the same time, the number of offset frames for each intercepted data is recorded. The number of offset frames for the first interception of data is 50 frames, the number of offset frames for the second interception of data is 49 frames, and the number of offset frames for the last time is 1 frame. .
应理解,上述数据截取方式仅用于举例说明,不作为限定本申请实施例的具体实施手段。It should be understood that the foregoing data interception method is only used for illustration, and is not used as a specific implementation means for limiting the embodiments of the present application.
S103,计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;S103: Calculate a transformation matrix for transforming the second motion data into each group of the third motion data, and calculate an error corresponding to the transformation matrix;
在上述S103中,上述变换矩阵为第二运动数据变换为第三运动数据过程的旋转四元数,即前述的零空间解
Figure PCTCN2020124669-appb-000019
可选地,通过前述公式10计算该变换矩阵。由于根据多帧第一运动数据和第二运动数据通过公式10求算的是零空间解,所以每帧第一运动数据和第二运动数据与最终求算的零空间解存在误差,则可以将零空间解和求算零空间解的多帧第一运动数据和第二运动数据重新代入公式10,以求算该零空间解对应的平均误差。
In the above S103, the above transformation matrix is the rotation quaternion in the process of transforming the second motion data into the third motion data, that is, the aforementioned zero-space solution
Figure PCTCN2020124669-appb-000019
Optionally, the transformation matrix is calculated by the aforementioned formula 10. Since the first motion data and second motion data of multiple frames are calculated by formula 10, the zero-space solution is calculated. Therefore, there is an error between the first motion data and second motion data of each frame and the final calculated zero-space solution. The null-space solution and the multi-frame first motion data and second motion data for calculating the null-space solution are substituted into Equation 10 again to calculate the average error corresponding to the null-space solution.
S104,将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。S104. Use the transformation matrix with the smallest error and the number of offset frames corresponding to the transformation matrix as a calibration result.
在上述S104中,当误差越小时,说明根据对应延迟帧(偏移帧数)的第一运动数据和第二运动数据计算得到的变换矩阵越准确,即在对应延迟帧下,刚体数据与惯性器件数据最接近同步,则对应的标定结果越准确。In the above S104, when the error is smaller, it means that the transformation matrix calculated based on the first motion data and the second motion data of the corresponding delayed frame (offset frame number) is more accurate, that is, under the corresponding delayed frame, the rigid body data and the inertia If the device data is closest to synchronization, the corresponding calibration result is more accurate.
在图1所示实施例的基础上,图2示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。第一运动数据包括第四运动数据和第五运动数据,如图2所示,上述步骤S101具体包括S201和S202。需要说明的是,与图1所 示实施例相同步骤,在此不再赘述,请参见前述。On the basis of the embodiment shown in FIG. 1, FIG. 2 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application. The first motion data includes fourth motion data and fifth motion data. As shown in FIG. 2, the above step S101 specifically includes S201 and S202. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1, and will not be repeated here, please refer to the foregoing.
S201,获取所述惯性器件的预设帧数的第四运动数据;S201: Acquire fourth motion data of a preset number of frames of the inertial device;
在上述S201中,预设帧数的第四运动数据用于帧数偏移后进行计算的数据,其具体数值可根据惯性器件和刚体采集数据的频率进行设定。例如,陀螺仪数据更新频率为100Hz,刚体数据刷新率也设置为100Hz,即两帧数据之间的间隔为0.01秒,则50帧数据为0.5秒,预估刚体和陀螺仪延迟在0.5秒以内,所以可将预设帧数设置为50帧。In the above S201, the fourth motion data of the preset frame number is used as the data calculated after the frame number is offset, and the specific value can be set according to the frequency of the inertial device and the rigid body collecting data. For example, if the gyroscope data update frequency is 100Hz, the rigid body data refresh rate is also set to 100Hz, that is, the interval between two frames of data is 0.01 second, then 50 frames of data is 0.5 seconds, and the delay between the rigid body and the gyroscope is estimated to be within 0.5 seconds , So you can set the preset number of frames to 50 frames.
S202,在所述第四运动数据对应的结束帧之后,获取所述惯性器件的所述第五运动数据和所述刚体的第二运动数据,所述第五运动数据的帧数与所述第二运动数据的帧数相同。S202. After the end frame corresponding to the fourth motion data, acquire the fifth motion data of the inertial device and the second motion data of the rigid body, and the number of frames of the fifth motion data is the same as that of the first motion data. The number of frames of the second motion data is the same.
在上述S202中,开始获取第五运动数据与第二运动数据时的时刻是相同的,且获取到的数据帧数也是相同的,但是因光学相机计算和上位机积分计算的速度不同,所以虽然获取到第五运动数据和第二运动数据时的时刻相同,但是两者分别对应的原始数据的采集时刻是不一样的。In the above S202, the time when the fifth motion data and the second motion data are acquired are the same, and the number of acquired data frames is also the same, but the speed of the optical camera calculation and the integration calculation of the host computer is different, so although The time when the fifth movement data and the second movement data are acquired are the same, but the collection time of the original data corresponding to the two is different.
在图2所示实施例的基础上,图3示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图3所示,上述步骤S201具体包括S301和S302。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。Based on the embodiment shown in FIG. 2, FIG. 3 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application. As shown in FIG. 3, the above step S201 specifically includes S301 and S302. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1 and will not be repeated here, please refer to the foregoing.
S301,采集所述惯性器件或所述刚体的第一姿态角度变化数据;S301: Collect first attitude angle change data of the inertial device or the rigid body;
在上述S301中,第一姿态角度变化数据为某个时刻相对于初始时刻的变化角度,可根据某一帧相对初始帧的旋转变化矩阵计算得到。In the above S301, the first attitude angle change data is the change angle of a certain moment relative to the initial moment, which can be calculated according to the rotation change matrix of a certain frame relative to the initial frame.
S302,当所述姿态角度变化数据大于第一预设角度时,获取所述惯性器件的预设帧数的第四运动数据。S302: When the posture angle change data is greater than a first preset angle, obtain fourth motion data of the inertial device with a preset number of frames.
在上述S302中,上述第一预设角度可以是20°,即陀螺仪或刚体的变化角度大于20°时,则开始获取第四运动数据,以避免因其他原因导致陀螺仪或刚体出现微小的变化角度时就获取不必要的数据。例如,摆动终端设备,陀螺仪或刚体的姿态角度相对于初始时刻的变化角度大于20°时,开始获取第四运 动数据。In the above S302, the first preset angle may be 20°, that is, when the change angle of the gyroscope or rigid body is greater than 20°, the fourth motion data will be acquired to avoid other reasons causing the gyroscope or rigid body to appear tiny Unnecessary data is acquired when the angle is changed. For example, when the attitude angle of a swing terminal device, a gyroscope or a rigid body is greater than 20° from the initial moment, the fourth movement data is acquired.
在图2所示实施例的基础上,图4示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图4所示,上述步骤S202具体包括S401-S403。需要说明的是,与图2所示实施例相同步骤,在此不再赘述,请参见前述。On the basis of the embodiment shown in FIG. 2, FIG. 4 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application. As shown in Fig. 4, the above step S202 specifically includes S401-S403. It should be noted that the steps are the same as those in the embodiment shown in FIG. 2 and will not be repeated here, please refer to the foregoing.
S401,采集预设组数的所述惯性器件或所述刚体的第二姿态角度变化数据;S401: Collect a preset number of groups of the second attitude angle change data of the inertial device or the rigid body;
在上述S401中,上述第二姿态角度变化数据为某个时刻相对于初始时刻的变化角度,上述预设组数可以为50组。In the foregoing S401, the second attitude angle change data is a change angle at a certain time relative to the initial time, and the preset number of groups may be 50 groups.
S402,获取每组所述第二姿态角度变化数据大于第二预设角度时的所述惯性器件的第六运动数据和所述刚体的第七运动数据,其中每次获取的所述第六运动数据的帧数与所述第七运动数据的帧数相同;S402. Acquire the sixth movement data of the inertial device and the seventh movement data of the rigid body when each set of the second attitude angle change data is greater than a second preset angle, wherein the sixth movement acquired each time The number of frames of data is the same as the number of frames of the seventh motion data;
在上述S402中,第二预设角度为5-10°时有较好的标定效果,例如7°。应理解,第二预设角度不限于5-10°。由于终端设备运动时,有可能是微小的运动,这样的数据在现实空间与虚拟空间中的差异很小,所以可以选择不要微小运动时的数据,只有在第二姿态角度变化数据大于7°时,才获取对应的运动数据,第二姿态角度变化数据小于7°时,则不获取对应的运动数据。为了保证采集的运动数据足够用于标定,则分成多组进行获取。In the above S402, when the second preset angle is 5-10°, there is a better calibration effect, for example, 7°. It should be understood that the second preset angle is not limited to 5-10°. Since the terminal device is moving, it may be a small movement, and the difference between such data in the real space and the virtual space is very small, so you can choose not to use the data during the small movement, only when the second attitude angle change data is greater than 7° , The corresponding motion data is acquired, and when the second attitude angle change data is less than 7°, the corresponding motion data is not acquired. In order to ensure that the collected motion data is sufficient for calibration, it is divided into multiple groups for acquisition.
S403,将所有所述第六运动数据组成所述第五运动数据,以及将所有所述第七运动数据组成所述第二运动数据。S403, composing all the sixth movement data into the fifth movement data, and composing all the seventh movement data into the second movement data.
在上述403中,根据获取到第六运动数据和第五运动数据时的时间先后顺序,将所有所述第六运动数据组成所述第五运动数据,以及将所有所述第七运动数据组成所述第二运动数据。In the above 403, according to the chronological order when the sixth motion data and the fifth motion data are acquired, all the sixth motion data are formed into the fifth motion data, and all the seventh motion data are formed into all the The second movement data.
在图2所示实施例的基础上,图5示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图5所示,上述步骤S102具体包括S501和S502。需要说明的是,与图2所示实施例相同步骤,在此不再赘述,请参见前述。On the basis of the embodiment shown in FIG. 2, FIG. 5 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application. As shown in FIG. 5, the above step S102 specifically includes S501 and S502. It should be noted that the steps are the same as those in the embodiment shown in FIG. 2 and will not be repeated here, please refer to the foregoing.
S501,以所述第四运动数据的第四开始帧为起点,每次将所述第四运动数据的每一帧向靠近所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达 到所述预设帧数;S501. Taking the fourth starting frame of the fourth motion data as a starting point, each frame of the fourth motion data is shifted by one frame in a direction close to the second starting frame, until the offset The total number of frames reaches the preset number of frames;
S502,以每次偏移后的第四开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。S502, taking the fourth starting frame after each offset as a starting point, and using the first motion data of the same number of frames as the second number of frames as the third motion data.
在上述S501和S502中,如图7所示,第四开始帧为第0帧,将第四运动数据的每一帧整体向右移一帧,则在时间上,每一帧都向右移了一帧,但是第一运动数据保持不变。例如,第0帧对应的第一运动数据为x,第1帧对应的第一运动数据为y,则每一帧右移后,第0帧代替了原来的第1帧,则第0帧对应的第一运动数据变为y,以此类推。In the above S501 and S502, as shown in FIG. 7, the fourth starting frame is the 0th frame, and each frame of the fourth motion data is moved to the right by one frame as a whole, then in time, each frame is moved to the right One frame, but the first motion data remains unchanged. For example, the first motion data corresponding to the 0th frame is x, and the first motion data corresponding to the 1st frame is y. After each frame is shifted to the right, the 0th frame replaces the original 1st frame, and the 0th frame corresponds to The first movement data of becomes y, and so on.
在图2所示实施例的基础上,图6示出了本申请实施例提供的另一种运动数据标定方法的流程示意图。如图6所示,上述步骤S102具体包括S601和S602。需要说明的是,与图2所示实施例相同步骤,在此不再赘述,请参见前述。Based on the embodiment shown in FIG. 2, FIG. 6 shows a schematic flowchart of another exercise data calibration method provided by an embodiment of the present application. As shown in FIG. 6, the above step S102 specifically includes S601 and S602. It should be noted that the steps are the same as those in the embodiment shown in FIG. 2 and will not be repeated here, please refer to the foregoing.
S601,以所述第五运动数据的第五开始帧为起点,每次将所述第五运动数据的每一帧向远离所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;S601. Taking the fifth starting frame of the fifth motion data as a starting point, each frame of the fifth motion data is shifted by one frame in a direction away from the second starting frame, until the offset The total number of frames reaches the preset number of frames;
S602,以每次偏移后的第五开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。S602, taking the fifth starting frame after each offset as a starting point, and using the first motion data of the same number of frames as the second number of frames as the third motion data.
在上述S601和S602中,如图7所示,第五开始帧为第500帧,将第五运动数据的每一帧整体向左移一帧,则在时间上,每一帧都向左移了一帧,但是第一运动数据保持不变。In the above S601 and S602, as shown in Figure 7, the fifth starting frame is the 500th frame, and each frame of the fifth motion data is moved one frame to the left as a whole, then in time, each frame is moved to the left One frame, but the first motion data remains unchanged.
在图1所示实施例的基础上,本申请实施例提供的另一种运动数据标定方法的实施例。上述步骤S103中的计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,具体包括S1031。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。On the basis of the embodiment shown in FIG. 1, an embodiment of another exercise data calibration method provided in the embodiment of the present application. The calculation of the transformation matrix for transforming the second motion data into each group of the third motion data in the above step S103 specifically includes S1031. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1 and will not be repeated here, please refer to the foregoing.
S1031,根据一组所述第三运动数据中的每帧所述第三运动数据和对应帧的所述第二运动数据,计算得到一个所述变换矩阵,所述第三运动数据有多组,则得到多个所述变换矩阵。S1031: Calculate one transformation matrix according to each frame of the third motion data in a set of the third motion data and the second motion data of the corresponding frame, and there are multiple sets of the third motion data, Then, multiple transformation matrices are obtained.
在上述S1031中,可将第三运动数据和对应帧的第二运动数据代入前述公式10,则10帧以上的第三运动数据和第二运动数据即可求算得到零空间解,即对应的变换矩阵。In the above S1031, the third motion data and the second motion data of the corresponding frame can be substituted into the aforementioned formula 10. Then the third motion data and the second motion data of more than 10 frames can be calculated to obtain the zero-space solution, that is, the corresponding Transformation matrix.
在图1所示实施例的基础上,本申请实施例提供的另一种运动数据标定方法的实施例。上述步骤S103中的计算所述变换矩阵对应的误差,具体包括S1032。需要说明的是,与图1所示实施例相同步骤,在此不再赘述,请参见前述。On the basis of the embodiment shown in FIG. 1, an embodiment of another exercise data calibration method provided in the embodiment of the present application. The calculation of the error corresponding to the transformation matrix in the foregoing step S103 specifically includes S1032. It should be noted that the steps are the same as those in the embodiment shown in FIG. 1 and will not be repeated here, please refer to the foregoing.
S1032,根据每个所述变换矩阵、对应的所述第一运动数据和所述第二运动数据,计算得到每个所述变换矩阵的误差。S1032: Calculate the error of each transformation matrix according to each transformation matrix, the corresponding first motion data and the second motion data.
在上述S1032中,可以将每个所述变换矩阵、对应的所述第一运动数据和所述第二运动数据重新代入前述公式10,由于每组第一运动数据和第二运动数据有多帧数据,因此,根据公式10可得:In the above S1032, each of the transformation matrix, the corresponding first motion data and the second motion data can be substituted into the foregoing formula 10, because each group of the first motion data and the second motion data has multiple frames Data, therefore, according to Equation 10, we can get:
Figure PCTCN2020124669-appb-000020
Figure PCTCN2020124669-appb-000020
其中,n为偏移帧数,i根据偏移帧数设置,j根据i帧后的旋转间隔设定。Among them, n is the number of offset frames, i is set according to the number of offset frames, and j is set according to the rotation interval after the i frame.
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that the size of the sequence number of each step in the foregoing embodiment does not mean the order of execution. The execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
对应于上文实施例所述的运动数据标定方法,图6示出了本申请实施例提供的运动数据标定装置800的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。Corresponding to the exercise data calibration method described in the above embodiment, FIG. 6 shows a structural block diagram of the exercise data calibration device 800 provided in an embodiment of the present application. For ease of description, only the parts related to the embodiment of the present application are shown. .
参照图8,该装置包括:Referring to Figure 8, the device includes:
获取模块801,用于获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;The acquiring module 801 is configured to acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data and the second motion data of the rigid body The difference between the second starting frames corresponding to the second motion data is a preset number of frames, and the difference between the first number of frames and the second number of frames is the preset number of frames;
截取模块802,用于从所述第一运动数据中,截取与第二帧数相同帧数的 多组第三运动数据,并记录每个所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三时间帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;The interception module 802 is configured to intercept multiple sets of third motion data with the same number of frames as the second frame from the first motion data, and record the third start frame of each third motion data and the The number of offset frames between the second start frames, each of the third time frames is between the first start frame and the second start frame, and each of the third start frames is different from the previous one. The difference of the third starting frame is one frame;
计算模块803,用于计算所述第二运动数据变换到所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;A calculation module 803, configured to calculate a transformation matrix from the second motion data to the third motion data, and calculate an error corresponding to the transformation matrix;
标定模块804,用于将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。The calibration module 804 is configured to use the transformation matrix with the smallest error and the offset frame number corresponding to the transformation matrix as the calibration result.
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。It should be noted that the information interaction and execution process between the above-mentioned devices/units are based on the same concept as the method embodiment of this application, and its specific functions and technical effects can be found in the method embodiment section. I won't repeat it here.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and conciseness of description, only the division of the above functional units and modules is used as an example. In practical applications, the above functions can be allocated to different functional units and modules as required. Module completion, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist alone physically, or two or more units can be integrated into one unit. The above-mentioned integrated units can be hardware-based Formal realization can also be realized in the form of software functional units. In addition, the specific names of the functional units and modules are only used to facilitate distinguishing from each other, and are not used to limit the protection scope of the present application. For the specific working process of the units and modules in the foregoing system, reference may be made to the corresponding process in the foregoing method embodiment, which will not be repeated here.
图9为本申请一实施例提供的终端设备的结构示意图。如图9所示,该实施例的终端设备9包括:至少一个处理器90(图9中仅示出一个)处理器、存储器91以及存储在所述存储器91中并可在所述至少一个处理器90上运行的计算机程序92,所述处理器90执行所述计算机程序92时实现上述任意各个运动数据标定方法实施例中的步骤。FIG. 9 is a schematic structural diagram of a terminal device provided by an embodiment of the application. As shown in FIG. 9, the terminal device 9 of this embodiment includes: at least one processor 90 (only one is shown in FIG. 9), a processor, a memory 91, and a processor stored in the memory 91 and capable of being processed in the at least one processor. A computer program 92 running on the processor 90, when the processor 90 executes the computer program 92, the steps in any of the foregoing motion data calibration method embodiments are implemented.
所述终端设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等 计算设备,具体地,如上述虚拟现实设备。该终端设备可包括但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的举例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。The terminal device 9 may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server, specifically, such as the aforementioned virtual reality device. The terminal device may include, but is not limited to, a processor 90 and a memory 91. Those skilled in the art can understand that FIG. 9 is only an example of the terminal device 9 and does not constitute a limitation on the terminal device 9. It may include more or less components than shown in the figure, or a combination of certain components, or different components. , For example, can also include input and output devices, network access devices, and so on.
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),该处理器90还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The so-called processor 90 may be a central processing unit (Central Processing Unit, CPU), and the processor 90 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), and application specific integrated circuits (Application Specific Integrated Circuits). , ASIC), ready-made programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
所述存储器91在一些实施例中可以是所述终端设备9的内部存储单元,例如终端设备9的硬盘或内存。所述存储器91在另一些实施例中也可以是所述终端设备9的外部存储设备,例如所述终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述终端设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。The memory 91 may be an internal storage unit of the terminal device 9 in some embodiments, such as a hard disk or memory of the terminal device 9. In other embodiments, the memory 91 may also be an external storage device of the terminal device 9, such as a plug-in hard disk equipped on the terminal device 9, a smart media card (SMC), and a secure digital (Secure Digital, SD) card, flash card (Flash Card), etc. Further, the memory 91 may also include both an internal storage unit of the terminal device 9 and an external storage device. The memory 91 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program. The memory 91 can also be used to temporarily store data that has been output or will be output.
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。The embodiments of the present application also provide a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in each of the foregoing method embodiments can be realized.
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。The embodiments of the present application provide a computer program product. When the computer program product runs on a mobile terminal, the steps in the foregoing method embodiments can be realized when the mobile terminal is executed.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的 硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the implementation of all or part of the processes in the above-mentioned embodiment methods in this application can be accomplished by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. The computer program can be stored in a computer-readable storage medium. When executed by the processor, the steps of the foregoing method embodiments can be implemented. Wherein, the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file, or some intermediate forms. The computer-readable medium may at least include: any entity or device capable of carrying the computer program code to the photographing device/terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), and random access memory (RAM, Random Access Memory), electric carrier signal, telecommunications signal and software distribution medium. For example, U disk, mobile hard disk, floppy disk or CD-ROM, etc. In some jurisdictions, according to legislation and patent practices, computer-readable media cannot be electrical carrier signals and telecommunication signals.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail or recorded in an embodiment, reference may be made to related descriptions of other embodiments.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。A person of ordinary skill in the art may realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。In the embodiments provided in this application, it should be understood that the disclosed apparatus/network equipment and method may be implemented in other ways. For example, the device/network device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units. Or components can be combined or integrated into another system, or some features can be omitted or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。The above-mentioned embodiments are only used to illustrate the technical solutions of the present application, not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, a person of ordinary skill in the art should understand that it can still implement the foregoing The technical solutions recorded in the examples are modified, or some of the technical features are equivalently replaced; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the application, and should be included in Within the scope of protection of this application.

Claims (11)

  1. 一种运动数据标定方法,其特征在于,应用于终端设备,所述终端设备设有刚体和惯性器件,所述方法包括:A method for calibrating motion data, characterized in that it is applied to a terminal device, the terminal device is provided with a rigid body and an inertial device, and the method includes:
    获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;Acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data corresponds to the second motion data The difference between the second starting frame is a preset frame number, and the difference between the first frame number and the second frame number is the preset frame number;
    从所述第一运动数据中,依次截取多组与第二帧数相同帧数的第三运动数据,并记录每组所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;From the first motion data, sequentially intercept multiple sets of third motion data with the same number of frames as the second frame number, and record the difference between the third start frame and the second start frame of each group of the third motion data The number of offset frames between each of the third start frames, each of the third start frames is between the first start frame and the second start frame, and the difference between each of the third start frames and the previous third start frame The difference is one frame;
    计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;Calculating a transformation matrix for transforming the second motion data into each group of the third motion data, and calculating an error corresponding to the transformation matrix;
    将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。The transformation matrix with the smallest error and the number of offset frames corresponding to the transformation matrix are used as a calibration result.
  2. 如权利要求1所述的运动数据标定方法,其特征在于,所述第一运动数据包括第四运动数据和第五运动数据,所述获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,包括:The motion data calibration method of claim 1, wherein the first motion data includes fourth motion data and fifth motion data, and the first motion data of the first frame number of the inertial device is acquired And the second motion data of the second frame number of the rigid body, including:
    获取所述惯性器件的预设帧数的第四运动数据;Acquiring the fourth motion data of the preset frame number of the inertial device;
    在所述第四运动数据对应的结束帧之后,获取所述惯性器件的所述第五运动数据和所述刚体的第二运动数据,所述第五运动数据的帧数与所述第二运动数据的帧数相同。After the end frame corresponding to the fourth motion data, the fifth motion data of the inertial device and the second motion data of the rigid body are acquired, and the number of frames of the fifth motion data is different from the second motion data. The number of frames of data is the same.
  3. 如权利要求2所述的运动数据标定方法,其特征在于,所述获取所述惯性器件的预设帧数的第四运动数据,包括:The method for calibrating motion data according to claim 2, wherein said obtaining the fourth motion data of the preset frame number of the inertial device comprises:
    采集所述惯性器件或所述刚体的第一姿态角度变化数据;Collecting the first attitude angle change data of the inertial device or the rigid body;
    当所述姿态角度变化数据大于第一预设角度时,获取所述惯性器件的预设帧数的第四运动数据。When the posture angle change data is greater than the first preset angle, the fourth motion data of the preset frame number of the inertial device is acquired.
  4. 如权利要求2所述的运动数据标定方法,其特征在于,所述获取所述惯性器件的所述第五运动数据和所述刚体的第二运动数据,包括:3. The motion data calibration method according to claim 2, wherein said acquiring said fifth motion data of said inertial device and said second motion data of said rigid body comprises:
    采集预设组数的所述惯性器件或所述刚体的第二姿态角度变化数据;Collecting a preset number of groups of the second attitude angle change data of the inertial device or the rigid body;
    获取每组所述第二姿态角度变化数据大于第二预设角度时的所述惯性器件的第六运动数据和所述刚体的第七运动数据,其中每次获取的所述第六运动数据的帧数与所述第七运动数据的帧数相同;Acquire the sixth motion data of the inertial device and the seventh motion data of the rigid body when each set of the second attitude angle change data is greater than the second preset angle, where the sixth motion data acquired each time is The number of frames is the same as the number of frames of the seventh motion data;
    将所有所述第六运动数据组成所述第五运动数据,以及将所有所述第七运动数据组成所述第二运动数据。All the sixth motion data are composed of the fifth motion data, and all the seventh motion data are composed of the second motion data.
  5. 如权利要求2所述的运动数据标定方法,其特征在于,所述从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,包括:The method for calibrating motion data according to claim 2, wherein the intercepting multiple sets of third motion data with the same number of frames as the second frame number from the first motion data comprises:
    以所述第四运动数据的第四开始帧为起点,每次将所述第四运动数据的每一帧向靠近所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;Taking the fourth starting frame of the fourth motion data as a starting point, each frame of the fourth motion data is shifted by one frame toward the direction of the second starting frame each time, until the shifted total frame The number reaches the preset number of frames;
    以每次偏移后的第四开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。Taking the fourth starting frame after each offset as a starting point, the first motion data of the same number of frames as the second number of frames is used as the third motion data.
  6. 如权利要求2所述的运动数据标定方法,其特征在于,所述从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,包括:The method for calibrating motion data according to claim 2, wherein the intercepting multiple sets of third motion data with the same number of frames as the second frame number from the first motion data comprises:
    以所述第五运动数据的第五开始帧为起点,每次将所述第五运动数据的每一帧向远离所述第二开始帧的方向整体偏移一帧,直至偏移的总帧数达到所述预设帧数;Taking the fifth starting frame of the fifth motion data as a starting point, each frame of the fifth motion data is shifted by one frame in a direction away from the second starting frame each time, until the shifted total frame The number reaches the preset number of frames;
    以每次偏移后的第五开始帧为起点,将与所述第二帧数相同帧数的所述第一运动数据作为所述第三运动数据。Taking the fifth starting frame after each offset as a starting point, the first motion data of the same number of frames as the second number of frames is used as the third motion data.
  7. 如权利要求1所述的运动数据标定方法,其特征在于,所述计算所述第二运动数据变换到每组所述第三运动数据的变换矩阵,包括:The method for calibrating motion data according to claim 1, wherein said calculating a transformation matrix for transforming said second motion data into each group of said third motion data comprises:
    根据一组所述第三运动数据中的每帧所述第三运动数据和对应帧的所述第二运动数据,计算得到一个所述变换矩阵,所述第三运动数据有多组,则得到多个所述变换矩阵。According to each frame of the third motion data in a set of the third motion data and the second motion data of the corresponding frame, a transformation matrix is obtained by calculation, and there are multiple sets of the third motion data, then A plurality of said transformation matrices.
  8. 如权利要求1所述的运动数据标定方法,其特征在于,所述计算所述变换矩阵对应的误差,包括:The method for calibrating sports data according to claim 1, wherein said calculating the error corresponding to said transformation matrix comprises:
    根据每个所述变换矩阵、对应的所述第一运动数据和所述第二运动数据,计算得到每个所述变换矩阵的误差。According to each transformation matrix, the corresponding first motion data and the second motion data, the error of each transformation matrix is calculated.
  9. 一种运动数据标定装置,其特征在于,所述装置包括刚体和惯性器件,所述装置还包括:A motion data calibration device, characterized in that the device includes a rigid body and an inertial device, and the device further includes:
    获取模块,用于获取所述惯性器件的第一帧数的第一运动数据和所述刚体的第二帧数的第二运动数据,所述第一运动数据对应的第一开始帧与所述第二运动数据对应的第二开始帧之间的差值为预设帧数,所述第一帧数与所述第二帧数的差值为所述预设帧数;The acquiring module is used to acquire the first motion data of the first frame number of the inertial device and the second motion data of the second frame number of the rigid body, and the first start frame corresponding to the first motion data and the second motion data of the rigid body The difference between the second start frames corresponding to the second motion data is a preset number of frames, and the difference between the first number of frames and the second number of frames is the preset number of frames;
    截取模块,用于从所述第一运动数据中,截取与第二帧数相同帧数的多组第三运动数据,并记录每个所述第三运动数据的第三开始帧与所述第二开始帧之间的偏移帧数,每个所述第三开始帧在所述第一开始帧与所述第二开始帧之间,每个所述第三开始帧与上一个所述第三开始帧的差值为一帧;The interception module is used to intercept multiple sets of third motion data with the same number of frames as the second frame from the first motion data, and record the third start frame and the first frame of each third motion data The number of offset frames between the second start frame, each of the third start frames is between the first start frame and the second start frame, and each of the third start frames is different from the previous first The difference between the three starting frames is one frame;
    计算模块,用于计算所述第二运动数据变换到所述第三运动数据的变换矩阵,以及计算所述变换矩阵对应的误差;A calculation module, configured to calculate a transformation matrix from the second motion data to the third motion data, and calculate the error corresponding to the transformation matrix;
    标定模块,用于将所述误差最小的所述变换矩阵以及该变换矩阵对应的所述偏移帧数作为标定结果。The calibration module is configured to use the transformation matrix with the smallest error and the offset frame number corresponding to the transformation matrix as the calibration result.
  10. 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。A terminal device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program as claimed in claims 1 to 8. The method of any one.
  11. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一 项所述的方法。A computer-readable storage medium storing a computer program, wherein the computer program implements the method according to any one of claims 1 to 8 when the computer program is executed by a processor.
PCT/CN2020/124669 2019-11-12 2020-10-29 Method and apparatus for calibrating motion data, terminal device and storage medium WO2021093593A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911099283.9A CN110956666B (en) 2019-11-12 2019-11-12 Motion data calibration method and device, terminal equipment and storage medium
CN201911099283.9 2019-11-12

Publications (1)

Publication Number Publication Date
WO2021093593A1 true WO2021093593A1 (en) 2021-05-20

Family

ID=69977280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/124669 WO2021093593A1 (en) 2019-11-12 2020-10-29 Method and apparatus for calibrating motion data, terminal device and storage medium

Country Status (2)

Country Link
CN (1) CN110956666B (en)
WO (1) WO2021093593A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113503898A (en) * 2021-07-09 2021-10-15 广州幻境科技有限公司 Real-time calibration method and device for inertial motion data
CN113739819A (en) * 2021-08-05 2021-12-03 上海高仙自动化科技发展有限公司 Verification method and device, electronic equipment, storage medium and chip

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110956666B (en) * 2019-11-12 2023-05-12 深圳市瑞立视多媒体科技有限公司 Motion data calibration method and device, terminal equipment and storage medium
CN112945231A (en) * 2021-01-28 2021-06-11 深圳市瑞立视多媒体科技有限公司 IMU and rigid body posture alignment method, device, equipment and readable storage medium
CN112923923A (en) * 2021-01-28 2021-06-08 深圳市瑞立视多媒体科技有限公司 Method, device and equipment for aligning posture and position of IMU (inertial measurement Unit) and rigid body and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307213A1 (en) * 2006-07-10 2011-12-15 Yang Zhao System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices
CN108492316A (en) * 2018-02-13 2018-09-04 视辰信息科技(上海)有限公司 A kind of localization method and device of terminal
CN109040525A (en) * 2018-08-31 2018-12-18 腾讯科技(深圳)有限公司 Image processing method, device, computer-readable medium and electronic equipment
CN109146965A (en) * 2017-06-16 2019-01-04 精工爱普生株式会社 Information processing unit and computer program
CN110956666A (en) * 2019-11-12 2020-04-03 深圳市瑞立视多媒体科技有限公司 Motion data calibration method and device, terminal equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6474159B1 (en) * 2000-04-21 2002-11-05 Intersense, Inc. Motion-tracking
US9124780B2 (en) * 2010-09-17 2015-09-01 Certusview Technologies, Llc Methods and apparatus for tracking motion and/or orientation of a marking device
CN104796596B (en) * 2014-01-20 2018-07-06 联想(北京)有限公司 A kind of information processing method and electronic equipment
CN109541570B (en) * 2017-09-21 2021-12-14 腾讯科技(深圳)有限公司 Method and device for calibrating millimeter wave scanning device
CN108629793B (en) * 2018-03-22 2020-11-10 中国科学院自动化研究所 Visual inertial ranging method and apparatus using on-line time calibration
US10284752B1 (en) * 2018-05-22 2019-05-07 BioForce Analytics LLC Method for determining a start offset between a video recording device and an inertial measurement unit for use in synchronizing motion data of an object collected by the inertial measurement unit attached to the object with video frames captured by an image sensor of the video recording device of the object in motion
CN110345936B (en) * 2019-07-09 2021-02-09 上海有个机器人有限公司 Track data processing method and processing system of motion device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307213A1 (en) * 2006-07-10 2011-12-15 Yang Zhao System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices
CN109146965A (en) * 2017-06-16 2019-01-04 精工爱普生株式会社 Information processing unit and computer program
CN108492316A (en) * 2018-02-13 2018-09-04 视辰信息科技(上海)有限公司 A kind of localization method and device of terminal
CN109040525A (en) * 2018-08-31 2018-12-18 腾讯科技(深圳)有限公司 Image processing method, device, computer-readable medium and electronic equipment
CN110956666A (en) * 2019-11-12 2020-04-03 深圳市瑞立视多媒体科技有限公司 Motion data calibration method and device, terminal equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PURPLE POTATO RADISH: "MSCKF those things (9) algorithm improvement 2: time synchronization and synchronization error estimation", ZHIHU - VIO/VSLAM THEORY AND ACTUAL COMBAT, 13 August 2019 (2019-08-13), XP055812279, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/77996744> [retrieved on 20210609] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113503898A (en) * 2021-07-09 2021-10-15 广州幻境科技有限公司 Real-time calibration method and device for inertial motion data
CN113739819A (en) * 2021-08-05 2021-12-03 上海高仙自动化科技发展有限公司 Verification method and device, electronic equipment, storage medium and chip
CN113739819B (en) * 2021-08-05 2024-04-16 上海高仙自动化科技发展有限公司 Verification method, verification device, electronic equipment, storage medium and chip

Also Published As

Publication number Publication date
CN110956666A (en) 2020-04-03
CN110956666B (en) 2023-05-12

Similar Documents

Publication Publication Date Title
WO2021093593A1 (en) Method and apparatus for calibrating motion data, terminal device and storage medium
CN108205679B (en) Multi-scale weighted matching and sensor fusion for dynamic visual sensor tracking
CN107747941B (en) Binocular vision positioning method, device and system
US11715224B2 (en) Three-dimensional object reconstruction method and apparatus
TWI766282B (en) Calibration method, electronic equipment and storage medium
CN110784651B (en) Anti-shake method and electronic equipment
CN106657455B (en) Electronic equipment with rotatable camera
EP4105766A1 (en) Image display method and apparatus, and computer device and storage medium
WO2022100189A1 (en) Method and apparatus for calibrating parameters of visual-inertial system, and electronic device and medium
WO2019226296A1 (en) Correlation of video stream frame timestamps based on a system clock
WO2022206127A1 (en) Attitude calibration method and apparatus, storage medium, and electronic device
JP2022531186A (en) Information processing methods, devices, electronic devices, storage media and programs
WO2023020468A1 (en) Wallpaper display method and apparatus, and electronic device
US20220221941A1 (en) Gesture detection using external sensors
CN109361864B (en) Shooting parameter setting method and terminal equipment
WO2021244650A1 (en) Control method and device, terminal and storage medium
WO2023273923A1 (en) 3d background replacement method and apparatus, storage medium, and terminal device
JP5947999B2 (en) Method, electronic device and computer program for improving operation accuracy for touch screen
WO2022033445A1 (en) Interactive dynamic fluid effect processing method and device , and electronic device
CN112950726B (en) Camera orientation calibration method and related product
CN115880719A (en) Gesture depth information generation method, device, equipment and computer readable medium
CN113900920A (en) Data processing method and device, electronic equipment and computer readable storage medium
EP3848778A1 (en) Fingertip detection method, fingertip detection means, fingertip detection device, and medium
CN111156964A (en) Height measuring method, system, mobile terminal and storage medium
CN114323010B (en) Initial feature determination method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20887422

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20887422

Country of ref document: EP

Kind code of ref document: A1