CN110796701A - Identification method, device and equipment of mark points and storage medium - Google Patents

Identification method, device and equipment of mark points and storage medium Download PDF

Info

Publication number
CN110796701A
CN110796701A CN201911000266.5A CN201911000266A CN110796701A CN 110796701 A CN110796701 A CN 110796701A CN 201911000266 A CN201911000266 A CN 201911000266A CN 110796701 A CN110796701 A CN 110796701A
Authority
CN
China
Prior art keywords
pixel point
point
pixel
motion image
object motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911000266.5A
Other languages
Chinese (zh)
Other versions
CN110796701B (en
Inventor
吴昆临
许秋子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Realis Multimedia Technology Co Ltd
Original Assignee
Shenzhen Realis Multimedia Technology Co Ltd
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 Shenzhen Realis Multimedia Technology Co Ltd filed Critical Shenzhen Realis Multimedia Technology Co Ltd
Priority to CN202210461999.4A priority Critical patent/CN114820689A/en
Priority to CN201911000266.5A priority patent/CN110796701B/en
Publication of CN110796701A publication Critical patent/CN110796701A/en
Priority to PCT/CN2020/117606 priority patent/WO2021077982A1/en
Application granted granted Critical
Publication of CN110796701B publication Critical patent/CN110796701B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

The invention discloses a method for identifying a mark point, which comprises the following steps: acquiring an object motion image acquired by a camera, and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image; calling a graphics processor, and creating n-1 thread groups in the graphics processor; in the created ith thread group, judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image through parallel execution threads, wherein i, j is the serial number of the pixel point, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i; and if the track intersection exists between the pixel point i and the pixel point j in the object motion image, acquiring the position of the intersection point, and taking the position of the intersection point as the position of the motion capture mark point. The invention also discloses a device and equipment for identifying the mark points and a storage medium. The invention improves the identification efficiency of the motion capture mark points and reduces the time consumption of calculation.

Description

Identification method, device and equipment of mark points and storage medium
Technical Field
The present invention relates to the field of motion capture technologies, and in particular, to a method, an apparatus, a device, and a storage medium for identifying a marker.
Background
Currently, motion capture technology is widely applied to Virtual Reality (VR) games or some motion sensing games. The motion capture means that a tracker (such as a light reflection mark point) is arranged at a key part of a moving object, and data of three-dimensional space coordinates are obtained by capturing the position of the tracker and processing the tracker by a computer. After the data is identified by the computer, the method can be applied to the fields of animation production, gait analysis, biomechanics, human-machine engineering and the like.
In the existing optical motion capture system, motion gesture recognition and trajectory tracking of the target object are generally achieved by capturing the motion trajectory of the reflective marker points. In the process, the optical motion capture system needs to rely on the two-dimensional coordinates of the pixel points of more than two cameras around the mark points, the three-dimensional position coordinates of the mark points are calculated according to the two-dimensional coordinates, specifically, the projection track is calculated through the postures of the cameras and the two-dimensional coordinates of the pixel points, if two tracks are crossed, the cross point is the position of the mark points, the combination of all two pixel points needs to calculate whether the projection tracks of the two pixel points are crossed, the number of the pixel points is more, and the required calculation amount is larger. The problems that exist are: when the number of the mark points or the number of the cameras is large, since the number of the pixel points is increased, it takes time to calculate the three-dimensional position coordinates of each mark point.
Disclosure of Invention
The invention mainly aims to provide a method, a device, equipment and a storage medium for identifying a mark point, aiming at improving the identification efficiency of a motion capture mark point and reducing the time consumption of calculation.
In order to achieve the above object, the present invention provides a method for identifying a mark point, comprising the steps of:
acquiring an object motion image acquired by a camera, and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image;
calling a graphics processor, and creating n-1 thread groups in the graphics processor;
in the created ith thread group, judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image through parallel execution threads, wherein i, j is the serial number of the pixel point, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i;
and if the track intersection exists between the pixel point i and the pixel point j in the object motion image, acquiring the position of the intersection point, and taking the position of the intersection point as the position of the motion capture mark point.
Optionally, the step of determining, in the created ith thread group, whether there is a track intersection between a pixel i and a pixel j in the object motion image through threads executed in parallel includes:
creating i threads which are executed in parallel in the ith thread group;
and judging whether track intersection exists between the pixel point i and the pixel point j in the object motion image or not through the i parallel execution threads.
Optionally, the step of determining, through the i parallel threads, whether there is a track intersection between a pixel i and a pixel j in the object motion image includes:
in each parallel execution thread, reading the coordinate data of the pixel point i and the corresponding camera posture from the shared memory of the ith thread group, and reading the coordinate data of the pixel point j and the corresponding camera posture from a preset global memory;
and judging whether track intersection exists between the pixel point i and the pixel point j according to the coordinate data and the corresponding camera posture of the pixel point i read from the shared memory and the coordinate data and the corresponding camera posture of the pixel point j read from the global memory.
Optionally, before the step of determining, through a thread executed in parallel, whether there is a track intersection between a pixel i and a pixel j in the object motion image, the method further includes:
reading the coordinate data of the pixel point i and the corresponding camera posture from the global memory;
and writing the coordinate data of the pixel point i read from the global memory and the corresponding camera posture into a shared memory of the ith thread group.
Optionally, before the step of determining, in the created ith thread group, whether there is a track intersection between a pixel i and a pixel j in the object motion image through threads executed in parallel, the method further includes:
respectively defining an atomic variable with an initial value of 0 in the shared memory of each thread group;
after the step of obtaining the position of the intersection point and using the position of the intersection point as the position of the motion capture marker point, the method further comprises the following steps:
and adding one to the value of an atomic variable defined in the shared memory of the ith thread group.
In addition, to achieve the above object, the present invention also provides an apparatus for identifying a mark point, the apparatus including:
the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is used for acquiring an object motion image acquired by a camera and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image;
the creating module is used for calling a graphics processor and creating n-1 thread groups in the graphics processor;
the judging module is used for judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image in the created ith thread group through parallel execution threads, wherein i and j are serial numbers of the pixel points, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i;
and the identification module is used for acquiring the position of the cross point if the track intersection exists between the pixel point i and the pixel point j in the object motion image, and taking the position of the cross point as the position of the motion capture mark point.
In addition, to achieve the above object, the present invention also provides an apparatus for identifying a marker, the apparatus including: the identification program of the mark point realizes the steps of the identification method of the mark point when being executed by the processor.
In addition, to achieve the above object, the present invention further provides a storage medium having stored thereon a marker point identification program, which when executed by a processor, implements the steps of the marker point identification method as described above.
The method comprises the steps of acquiring an object motion image acquired by a camera, and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image; calling a graphics processor, and creating n-1 thread groups in the graphics processor; in the created ith thread group, judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image through parallel execution threads, wherein i, j is the serial number of the pixel point, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i; and if the track intersection exists between the pixel point i and the pixel point j in the object motion image, acquiring the position of the intersection point, and taking the position of the intersection point as the position of the motion capture mark point. The image processor is divided into a plurality of thread groups, each thread group is used for calculating whether track intersection exists between one pixel point in the object motion image and all pixel points with smaller numbers, the threads in each thread group can execute calculation in parallel, so that the position of the motion capture mark point can be calculated quickly, and when the number of the pixel points is large, compared with the calculation only through a CPU, the method can improve the identification efficiency of the motion capture mark point and reduce the calculation time.
Drawings
FIG. 1 is a schematic diagram of an apparatus architecture of a hardware operating environment according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart illustrating a first embodiment of a mark point identification method according to the present invention;
fig. 3 is a schematic block diagram of an identification apparatus for marking points according to an embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As shown in fig. 1, fig. 1 is a schematic device structure diagram of a hardware operating environment according to an embodiment of the present invention.
The identification equipment of the marking point of the embodiment of the invention can be a computer or a server.
As shown in fig. 1, the apparatus may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, a communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Those skilled in the art will appreciate that the configuration of the apparatus shown in fig. 1 is not intended to be limiting of the apparatus and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
As shown in fig. 1, a memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a marker recognition program.
In the terminal shown in fig. 1, the network interface 1004 is mainly used for connecting to a backend server and performing data communication with the backend server; the user interface 1003 is mainly used for connecting a client (user side) and performing data communication with the client; and the processor 1001 may be configured to call the identification program of the marker stored in the memory 1005 and perform the operations in the embodiments of the marker identification method described below.
Based on the hardware structure, the invention provides various embodiments of the identification method of the mark point.
Referring to fig. 2, fig. 2 is a schematic flow chart of a first embodiment of the identification method of the mark point of the present invention, and the method includes:
step S10, acquiring an object motion image acquired by a camera, and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image;
in the existing optical motion capture system, motion gesture recognition and trajectory tracking of a target object are generally achieved by capturing a motion trajectory of a reflective marker point (which refers to a marker whose surface is covered with a special reflective material, and is commonly used for capturing a moving object, and the shape of the marker is spherical, hemispherical, or the like). In order to quickly identify the position of the mark point, the present embodiment provides a method for identifying the mark point based on a Graphics Processing Unit (GPU).
In this embodiment, a device that executes the marker point identification method is taken as an example of a server. Firstly, a camera deployed in a moving capture space collects an object motion image and sends the object motion image to a server, the server receives the object motion image collected by the camera and numbers pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image, namely, each pixel point is numbered as 0, 1, … and n-1.
Step S20, calling a graphics processor, and creating n-1 thread groups in the graphics processor;
after the pixel points are numbered, the server calls a GPU (graphics processing unit), and n-1 thread groups (classes of management threads formed by threads) are created in the GPU, wherein each thread group is used for calculating whether track cross exists between one pixel point (except the pixel point with the number of 0) in the object motion image and all the pixel points with the numbers smaller than the pixel point.
Step S30, in the created ith thread group, judging whether track intersection exists between a pixel point i and a pixel point j in an object motion image through parallel execution threads, wherein i and j are serial numbers of the pixel points, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i;
specifically, the server may calculate, in the 1 st thread group, whether there is a track intersection between a pixel point numbered 1 and a pixel point numbered 0 in the object motion image through parallel threads, and in the 2 nd thread group, calculate whether there is a track intersection between a pixel point numbered 2 and a pixel point numbered 0 and 1 in the object motion image through parallel threads, … …, and so on, may calculate a pairwise intersection condition of all pixel points in the object motion image.
It should be noted that, compared to the CPU, the GPU has an advantage that a large number of threads can be generated for parallel computation, thereby reducing the total computation time.
If there is a track crossing between the pixel point i and the pixel point j in the object motion image, step S40 is executed to obtain the position of the crossing point, and the position of the crossing point is used as the position of the motion capture mark point.
When the server judges that the track intersection exists between the pixel point i and the pixel point j in the object motion image, the position of the intersection point is obtained and is used as the position of the motion capture mark point, and therefore the mark point in the object motion image is identified. The position of the intersection point may be represented in a three-dimensional coordinate manner, and a specific manner of obtaining the three-dimensional position coordinate of the intersection point may refer to related prior art, which is not described herein again.
In this embodiment, the graphics processor is divided into a plurality of thread groups, each thread group is used to calculate whether there is a track intersection between one pixel point in the object motion image and all the pixel points with smaller numbers, and since the threads in each thread group can perform calculation in parallel, the position of the motion capture mark point can be calculated quickly.
Further, based on the first embodiment of the identification method of the mark point of the present invention, a second embodiment of the identification method of the mark point of the present invention is provided.
In this embodiment, the step S30 may include: creating i threads which are executed in parallel in the ith thread group; and judging whether track intersection exists between the pixel point i and the pixel point j in the object motion image through the i parallel execution threads.
Specifically, the server may create 1 thread in the 1 st thread group, determine whether there is a track intersection between a pixel point 1 and a pixel point 0 in the object motion image by executing the thread, create 2 threads in the 2 nd thread group, determine whether there is a track intersection between a pixel point 2 and a pixel point 0, a pixel point 1 in the object motion image respectively through the 2 threads, … …, and so on, and may calculate the pairwise intersection condition of all pixel points in the object motion image.
Further, the step of determining whether there is a track intersection between a pixel point i and a pixel point j in the object motion image through i parallel execution threads may further include: in each parallel execution thread, reading coordinate data of a pixel point i and a corresponding camera posture from a shared memory of an ith thread group, and reading coordinate data of a pixel point j and a corresponding camera posture from a preset global memory; and judging whether track intersection exists between the pixel point i and the pixel point j according to the coordinate data of the pixel point i and the corresponding camera posture read from the shared memory and the coordinate data of the pixel point j and the corresponding camera posture read from the global memory.
For a thread group in the GPU, there will be a small amount of shared memory that can only be accessed by the threads in the thread group, whereas global memory can be accessed by the threads in all thread groups. The difference between the shared memory and the global memory is that the read-write speed of the shared memory is higher, the threads in the same thread group can perform data interaction, but the capacity is smaller; all data can only be stored in the global memory, and the shared memory can be used temporarily during calculation.
Based on the above characteristics, for a thread group, when it is determined whether a trajectory intersection exists between a pixel point i and a pixel point j in an object motion image, each thread needs to use the coordinate data of the pixel point i and the corresponding camera pose, so that the coordinate data of the pixel point i and the corresponding camera pose can be written into the shared memory of the thread group at first, and each thread can directly read from the shared memory, thereby improving the data reading efficiency.
In the specific implementation, in the ith thread group, the server reads the coordinate data of the pixel point i and the corresponding camera posture from the shared memory of the thread group i in each parallel execution thread, reads the coordinate data of the pixel point j and the corresponding camera posture from the preset global memory, and then judges whether track intersection exists between the pixel point i and the pixel point j according to the coordinate data of the pixel point i and the corresponding camera posture read from the shared memory and the coordinate data of the pixel point j and the corresponding camera posture read from the global memory. The coordinate data of the pixel point i and the corresponding camera posture are directly read from the shared memory, so that the calculation efficiency is further improved, and the calculation time is reduced.
Further, before the step of determining whether there is a track intersection between a pixel i and a pixel j in an object motion image through a parallel execution thread, the method may further include: reading coordinate data of a pixel point i and a corresponding camera attitude from a global memory; and writing the coordinate data of the pixel point i read from the global memory and the corresponding camera posture into the shared memory of the ith thread group.
In this embodiment, before calculating whether there is a track intersection between a pixel i and a pixel j in an object motion image, the server may first read the coordinate data of the pixel i and the corresponding camera pose from the global memory, and then write the read coordinate data of the pixel i and the corresponding camera pose into the shared memory of the ith thread group. Therefore, a precondition guarantee is provided for subsequently and directly reading the coordinate data of the pixel point i and the corresponding camera posture from the shared memory.
Further, a third embodiment of the identification method of the mark points is proposed based on the first and second embodiments of the identification method of the mark points of the present invention.
In this embodiment, before step S30, the method may further include: respectively defining an atomic variable with an initial value of 0 in the shared memory of each thread group; correspondingly, after the step of acquiring the position of the intersection point and using the position of the intersection point as the position of the motion capture mark point, the method further comprises the following steps: and adding one to the value of an atomic variable defined in the shared memory of the ith thread group.
The atomic variable refers to a variable which only allows one thread to operate the atomic variable at the same time, and the atomic variable can guarantee the accuracy of data under the condition of simultaneous multi-thread writing. In this embodiment, the atomic variable is used to record the number of motion capture mark points calculated in the ith thread group, and since the reading and writing of the atomic variable is time-consuming, the atomic variable can be defined in the shared memory to improve the reading and writing efficiency.
Specifically, an atomic variable with an initial value of 0 may be defined in the shared memory of each thread group, and when the server determines that there is a trajectory intersection between a pixel point i and a pixel point j in an object moving image each time, the position of the intersection is obtained, the position of the intersection is taken as the position of the motion capture marker point, and the value of the atomic variable defined in the shared memory of the ith thread group is incremented by one.
By the method, the positions and the number of the motion capture mark points are recorded.
The invention also provides a device for identifying the mark points. Referring to fig. 3, fig. 3 is a block diagram of an embodiment of a device for identifying a mark point according to the present invention. In this embodiment, the device for identifying the mark point includes:
the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is used for acquiring an object motion image acquired by a camera and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image;
the creating module is used for calling a graphics processor and creating n-1 thread groups in the graphics processor;
the judging module is used for judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image in the created ith thread group through parallel execution threads, wherein i and j are serial numbers of the pixel points, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i;
and the identification module is used for acquiring the position of the cross point if the track intersection exists between the pixel point i and the pixel point j in the object motion image, and taking the position of the cross point as the position of the motion capture mark point.
Further, the determining module is further configured to:
creating i threads which are executed in parallel in the ith thread group;
and judging whether track intersection exists between the pixel point i and the pixel point j in the object motion image or not through the i parallel execution threads.
Further, the determining module is further configured to:
in each parallel execution thread, reading the coordinate data of the pixel point i and the corresponding camera posture from the shared memory of the ith thread group, and reading the coordinate data of the pixel point j and the corresponding camera posture from a preset global memory;
and judging whether track intersection exists between the pixel point i and the pixel point j according to the coordinate data and the corresponding camera posture of the pixel point i read from the shared memory and the coordinate data and the corresponding camera posture of the pixel point j read from the global memory.
Further, the apparatus further comprises:
the reading module is used for reading the coordinate data of the pixel point i and the corresponding camera posture from the global memory;
and the writing module is used for writing the coordinate data of the pixel point i read from the global memory and the corresponding camera posture into the shared memory of the ith thread group.
Further, the apparatus further comprises:
the definition module is used for respectively defining an atomic variable with an initial value of 0 in the shared memory of each thread group;
and the recording module is used for adding one to the value of the atomic variable defined in the shared memory of the ith thread group if the track intersection exists between the pixel point i and the pixel point j in the object motion image.
The method for realizing each program module and the beneficial effects can refer to the embodiment of the identification method of the mark point of the invention, and are not described again here.
The invention also provides a storage medium.
The storage medium of the present invention stores an identification program of the marker, which when executed by the processor implements the steps of the identification method of the marker as described above.
The method implemented when the identification program of the marker running on the processor is executed may refer to each embodiment of the identification method of the marker of the present invention, and will not be described herein again.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A method for identifying a mark point is characterized by comprising the following steps:
acquiring an object motion image acquired by a camera, and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image;
calling a graphics processor, and creating n-1 thread groups in the graphics processor;
in the created ith thread group, judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image through parallel execution threads, wherein i, j is the serial number of the pixel point, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i;
and if the track intersection exists between the pixel point i and the pixel point j in the object motion image, acquiring the position of the intersection point, and taking the position of the intersection point as the position of the motion capture mark point.
2. The method for identifying the mark point according to claim 1, wherein the step of determining whether there is a track intersection between a pixel point i and a pixel point j in the object moving image in the created ith thread group by parallel threads comprises:
creating i threads which are executed in parallel in the ith thread group;
and judging whether track intersection exists between the pixel point i and the pixel point j in the object motion image or not through the i parallel execution threads.
3. The method for identifying the mark point according to claim 2, wherein the step of determining whether there is a track crossing between the pixel point i and the pixel point j in the object motion image through the i threads executed in parallel comprises:
in each parallel execution thread, reading the coordinate data of the pixel point i and the corresponding camera posture from the shared memory of the ith thread group, and reading the coordinate data of the pixel point j and the corresponding camera posture from a preset global memory;
and judging whether track intersection exists between the pixel point i and the pixel point j according to the coordinate data and the corresponding camera posture of the pixel point i read from the shared memory and the coordinate data and the corresponding camera posture of the pixel point j read from the global memory.
4. The method for identifying a mark point according to claim 3, wherein before the step of determining whether there is a track intersection between a pixel point i and a pixel point j in the object moving image by parallel threads, the method further comprises:
reading the coordinate data of the pixel point i and the corresponding camera posture from the global memory;
and writing the coordinate data of the pixel point i read from the global memory and the corresponding camera posture into a shared memory of the ith thread group.
5. The method for identifying the mark point according to any one of claims 1 to 4, wherein before the step of determining whether there is a track intersection between a pixel point i and a pixel point j in the object moving image by parallel threads in the created ith thread group, the method further comprises:
respectively defining an atomic variable with an initial value of 0 in the shared memory of each thread group;
after the step of obtaining the position of the intersection point and using the position of the intersection point as the position of the motion capture marker point, the method further comprises the following steps:
and adding one to the value of an atomic variable defined in the shared memory of the ith thread group.
6. An apparatus for identifying a mark point, the apparatus comprising:
the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is used for acquiring an object motion image acquired by a camera and numbering pixel points in the object motion image from 0 to n-1, wherein n is the number of the pixel points in the object motion image;
the creating module is used for calling a graphics processor and creating n-1 thread groups in the graphics processor;
the judging module is used for judging whether track intersection exists between a pixel point i and a pixel point j in the object motion image in the created ith thread group through parallel execution threads, wherein i and j are serial numbers of the pixel points, i is more than or equal to 1 and less than or equal to n-1, and j is more than or equal to 0 and less than i;
and the identification module is used for acquiring the position of the cross point if the track intersection exists between the pixel point i and the pixel point j in the object motion image, and taking the position of the cross point as the position of the motion capture mark point.
7. The apparatus for identifying the mark point as recited in claim 6, wherein the determining module is further configured to:
creating i threads which are executed in parallel in the ith thread group;
and judging whether track intersection exists between the pixel point i and the pixel point j in the object motion image or not through the i parallel execution threads.
8. The apparatus for identifying the mark point as recited in claim 7, wherein the determining module is further configured to:
in each parallel execution thread, reading the coordinate data of the pixel point i and the corresponding camera posture from the shared memory of the ith thread group, and reading the coordinate data of the pixel point j and the corresponding camera posture from a preset global memory;
and judging whether track intersection exists between the pixel point i and the pixel point j according to the coordinate data and the corresponding camera posture of the pixel point i read from the shared memory and the coordinate data and the corresponding camera posture of the pixel point j read from the global memory.
9. An apparatus for identifying a marked point, the apparatus comprising: memory, processor and a program for identifying markers stored on the memory and executable on the processor, the program for identifying markers implementing the steps of the method for identifying markers as claimed in any one of claims 1 to 5 when executed by the processor.
10. A storage medium, characterized in that the storage medium has stored thereon a marker point identification program, which when executed by a processor implements the steps of the marker point identification method according to any one of claims 1 to 5.
CN201911000266.5A 2019-10-21 2019-10-21 Identification method, device and equipment of mark points and storage medium Active CN110796701B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210461999.4A CN114820689A (en) 2019-10-21 2019-10-21 Mark point identification method, device, equipment and storage medium
CN201911000266.5A CN110796701B (en) 2019-10-21 2019-10-21 Identification method, device and equipment of mark points and storage medium
PCT/CN2020/117606 WO2021077982A1 (en) 2019-10-21 2020-09-25 Mark point recognition method, apparatus and device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911000266.5A CN110796701B (en) 2019-10-21 2019-10-21 Identification method, device and equipment of mark points and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210461999.4A Division CN114820689A (en) 2019-10-21 2019-10-21 Mark point identification method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN110796701A true CN110796701A (en) 2020-02-14
CN110796701B CN110796701B (en) 2022-06-07

Family

ID=69439458

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911000266.5A Active CN110796701B (en) 2019-10-21 2019-10-21 Identification method, device and equipment of mark points and storage medium
CN202210461999.4A Pending CN114820689A (en) 2019-10-21 2019-10-21 Mark point identification method, device, equipment and storage medium

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210461999.4A Pending CN114820689A (en) 2019-10-21 2019-10-21 Mark point identification method, device, equipment and storage medium

Country Status (2)

Country Link
CN (2) CN110796701B (en)
WO (1) WO2021077982A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112525109A (en) * 2020-12-18 2021-03-19 成都立鑫新技术科技有限公司 Method for measuring object motion attitude angle based on GPU
WO2021077982A1 (en) * 2019-10-21 2021-04-29 深圳市瑞立视多媒体科技有限公司 Mark point recognition method, apparatus and device, and storage medium
CN113679402A (en) * 2020-05-18 2021-11-23 西门子(深圳)磁共振有限公司 Image presentation method and system in interventional therapy, imaging system and storage medium
WO2022001739A1 (en) * 2020-07-02 2022-01-06 深圳市瑞立视多媒体科技有限公司 Mark point identification method and apparatus, and device and storage medium
CN116350352A (en) * 2023-02-23 2023-06-30 北京纳通医用机器人科技有限公司 Surgical robot marker bit identification positioning method, device and equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751485A (en) * 2015-03-20 2015-07-01 安徽大学 GPU adaptive foreground extracting method
CN104881848A (en) * 2015-05-14 2015-09-02 西安电子科技大学 Parallel optimization method of low-illumination image enhancement based on CUDA
CN106600627A (en) * 2016-12-07 2017-04-26 成都通甲优博科技有限责任公司 Rigid body motion capturing method and system based on mark point
CN108830132A (en) * 2018-04-11 2018-11-16 深圳市瑞立视多媒体科技有限公司 A kind of sphere points distributing method and capture ball, system for optical motion capture
CN108830861A (en) * 2018-05-28 2018-11-16 上海大学 A kind of hybrid optical motion capture method and system
CN109857543A (en) * 2018-12-21 2019-06-07 中国地质大学(北京) A kind of streamline simulation accelerated method calculated based on the more GPU of multinode

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1876412B1 (en) * 2005-04-15 2012-03-28 The University of Tokyo Motion capture system and method for three-dimensional reconfiguring of characteristic point in motion capture system
CN102201122B (en) * 2011-05-16 2014-04-23 大连大学 Motion capture system, data noise reduction method and system of motion capture
CN104732560B (en) * 2015-02-03 2017-07-18 长春理工大学 Virtual video camera image pickup method based on motion capture system
CN110134532A (en) * 2019-05-13 2019-08-16 浙江商汤科技开发有限公司 A kind of information interacting method and device, electronic equipment and storage medium
CN110796701B (en) * 2019-10-21 2022-06-07 深圳市瑞立视多媒体科技有限公司 Identification method, device and equipment of mark points and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751485A (en) * 2015-03-20 2015-07-01 安徽大学 GPU adaptive foreground extracting method
CN104881848A (en) * 2015-05-14 2015-09-02 西安电子科技大学 Parallel optimization method of low-illumination image enhancement based on CUDA
CN106600627A (en) * 2016-12-07 2017-04-26 成都通甲优博科技有限责任公司 Rigid body motion capturing method and system based on mark point
CN108830132A (en) * 2018-04-11 2018-11-16 深圳市瑞立视多媒体科技有限公司 A kind of sphere points distributing method and capture ball, system for optical motion capture
CN108830861A (en) * 2018-05-28 2018-11-16 上海大学 A kind of hybrid optical motion capture method and system
CN109857543A (en) * 2018-12-21 2019-06-07 中国地质大学(北京) A kind of streamline simulation accelerated method calculated based on the more GPU of multinode

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTIAN RAU等: "《GPU-accelerated Real-timeMarkerless Human Motion Capture》", 《GRAPP 2013 - INTERNATIONAL CONFERENCE ON COMPUTER GRAPHICS THEORY AND APPLICATIONS》 *
陈为昊: "《基于光学的人体运动捕捉系统》", 《福建电脑》 *
黄波士等: "《一种改进算法的光学运动捕捉系统》", 《同济大学学报(自然科学版)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021077982A1 (en) * 2019-10-21 2021-04-29 深圳市瑞立视多媒体科技有限公司 Mark point recognition method, apparatus and device, and storage medium
CN113679402A (en) * 2020-05-18 2021-11-23 西门子(深圳)磁共振有限公司 Image presentation method and system in interventional therapy, imaging system and storage medium
CN113679402B (en) * 2020-05-18 2024-05-24 西门子(深圳)磁共振有限公司 Image presentation method and system in interventional therapy, imaging system and storage medium
WO2022001739A1 (en) * 2020-07-02 2022-01-06 深圳市瑞立视多媒体科技有限公司 Mark point identification method and apparatus, and device and storage medium
CN112525109A (en) * 2020-12-18 2021-03-19 成都立鑫新技术科技有限公司 Method for measuring object motion attitude angle based on GPU
CN116350352A (en) * 2023-02-23 2023-06-30 北京纳通医用机器人科技有限公司 Surgical robot marker bit identification positioning method, device and equipment
CN116350352B (en) * 2023-02-23 2023-10-20 北京纳通医用机器人科技有限公司 Surgical robot marker bit identification positioning method, device and equipment

Also Published As

Publication number Publication date
CN114820689A (en) 2022-07-29
CN110796701B (en) 2022-06-07
WO2021077982A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
CN110796701B (en) Identification method, device and equipment of mark points and storage medium
EP2745237B1 (en) Dynamic selection of surfaces in real world for projection of information thereon
KR101616591B1 (en) Control system for navigating a principal dimension of a data space
US8442307B1 (en) Appearance augmented 3-D point clouds for trajectory and camera localization
CN111328396A (en) Pose estimation and model retrieval for objects in images
JP7059318B2 (en) Learning data generation method and system for classifier learning with regional characteristics
US20110216090A1 (en) Real-time interactive augmented reality system and method and recording medium storing program for implementing the method
CN106875431B (en) Image tracking method with movement prediction and augmented reality implementation method
US20230206565A1 (en) Providing augmented reality in a web browser
JP6609640B2 (en) Managing feature data for environment mapping on electronic devices
US9189892B2 (en) Systems and methods for activities solver development in augmented reality applications
CN111821025B (en) Space positioning method, device, equipment, storage medium and navigation bar
CN104571604A (en) Information processing apparatus and method
CN101553843A (en) Interacting with 2D content on 3D surfaces
CN111209774A (en) Target behavior recognition and display method, device, equipment and readable medium
CN110428394B (en) Method, apparatus and computer storage medium for target movement detection
CN112284394A (en) Map construction and visual positioning method and device
WO2006073287A1 (en) Method of processing three-dimensional image in mobile device
CN112882576A (en) AR interaction method and device, electronic equipment and storage medium
CN114332648B (en) Position identification method and electronic equipment
EP3940561B1 (en) Biometric recognition attack test methods, apparatuses and devices
CN116245915A (en) Target tracking method based on video
CN112016609B (en) Image clustering method, device, equipment and computer storage medium
CN114494960A (en) Video processing method and device, electronic equipment and computer readable storage medium
CN114510142B (en) Gesture recognition method based on two-dimensional image, gesture recognition system based on two-dimensional image and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant