A data processing method and device thereof

By introducing posture information that does not appear to be deformed as a supervision signal in human motion capture, the problem of possible movement deformities in the output of posture recognition models in the existing technology is solved, and the pixel-level alignment and posture of posture information and human objects in the image are achieved. Avoidance of deformities.

CN115376203BActive Publication Date: 2025-01-21HUAWEI TECH CO LTD

Patent Information

Application Number
CN202210857637.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-20
Publication Date
2025-01-21
Estimated Expiration
2042-07-20

AI Technical Summary

Technical Problem

The neural network used for human motion capture in the prior art builds losses based on two-dimensional projection information, resulting in the predicted posture with motion deformity and unreasonable problems.

Method used

By introducing posture information that does not or basically does not appear deformed as a supervision signal for training the posture recognition model, it is ensured that the posture information output by the updated posture recognition model can achieve pixel-level alignment with the posture of the human object in the image, and avoid posture deformity. .

Benefits of technology

It achieves pixel-level alignment between the posture information output by the posture recognition model and the posture of the human object in the image, while avoiding the appearance of posture deformities and improving the accuracy and reliability of motion capture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115376203B_ABST
    Figure CN115376203B_ABST
Patent Text Reader

Abstract

A data processing method relates to the field of artificial intelligence, including: processing a target image through a first posture recognition model to obtain first posture information of a target object in the target image; processing the target image through a second posture recognition model to obtain second posture information of the target object in the target image; the first posture information and the second posture information are used to describe the three-dimensional posture of the target object; the second posture information is used to determine the two-dimensional projection information of the predicted posture of the target object; and a loss is constructed according to the first posture information and the second posture information, as well as the two-dimensional projection information and the corresponding annotations, and the loss is used to update the second posture recognition model. The present application introduces a posture information that will not or basically will not be deformed as the prior information (first posture information) when training the posture recognition model to ensure that the posture determined by the posture information output by the updated posture recognition model will not be deformed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence, and in particular to a data processing method and device thereof. Background Art

[0002] Human motion capture technology is a commonly used technology in the film, television and game industries. This technology can process the input video stream to capture the posture of the human body in each frame of the image, thereby obtaining the movement information of the human body. Based on this technology, the posture data of the human body in motion can be extracted from massive videos, and it has a wide range of application scenarios, such as virtual character driving in augmented reality (AR) scenes and virtual reality (VR) scenes, remote conferencing, and the metaverse, etc.

[0003] At present, human motion capture can be realized based on AI technology. Specifically, for a certain image, the image can be processed by a trained neural network to obtain posture parameters, which can be used to determine the posture of the human body.

[0004] However, the neural network used in the prior art is updated only based on the loss constructed based on the two-dimensional projection information. Although pixel-level alignment between the predicted posture and the posture in the image or video can be achieved, the predicted posture will be deformed and unreasonable. Summary of the invention

[0005] The present application provides a data processing method, which introduces posture information that will not or basically will not be deformed as a supervisory signal (or referred to as prior information, that is, first posture information) when training a posture recognition model to ensure that, on the one hand, the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the person object in the image at the pixel level, and on the other hand, the determined posture will not be deformed (or basically will not be deformed).

[0006] In a first aspect, the present application provides a data processing method, comprising: acquiring a target image; processing the target image through a first posture recognition model to obtain first posture information of a target object in the target image; processing the target image through a second posture recognition model to obtain second posture information of the target object in the target image; the first posture information and the second posture information are used to describe the three-dimensional posture of the target object; the second posture information is used to determine two-dimensional projection information of the predicted posture of the target object; and constructing a loss based on the first posture information and the second posture information, as well as the two-dimensional projection information and corresponding annotations, and the loss is used to update the second posture recognition model.

[0007] In a possible implementation, for a posture recognition model that needs to be trained, information for describing the three-dimensional posture of the target object can usually be output in the feedforward process, and the information is optimized for two-dimensional key points, that is, two-dimensional projection information is obtained through a certain mapping method, and the posture recognition model is updated by the loss constructed by the difference between the obtained two-dimensional projection information and the corresponding annotation, so that the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the human object in the image at the pixel level, but this method will cause the determined posture to be deformed and abnormal. In the embodiment of the present application, by introducing a posture information that will not or basically will not be deformed as a supervisory signal (or prior information) when training the posture recognition model, it is ensured that on the one hand, the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the human object in the image at the pixel level, and on the other hand, the determined posture will not be deformed (or basically will not be deformed).

[0008] In a possible implementation, the supervisory signal (or referred to as prior information) introduced above may be provided by a first posture recognition model.

[0009] In a possible implementation, the first posture recognition model is obtained by training with a loss constructed according to the output posture information and corresponding annotations.

[0010] The first posture recognition model can obtain the posture information of the target object in the target image by processing the image in an end-to-end manner. The posture parameters are usually composed of two parts of parameters, one part of which is used to indicate the rotation angle of the target object relative to the camera, and the other part of which is used to indicate the angle between the joints of the target object itself. Optionally, the other part of the parameters can also be used to indicate the position of the three-dimensional coordinate point on the target object.

[0011] In a possible implementation, the first posture information may be used to describe the three-dimensional posture of the target object, for example, may indicate the angles between joints of the target object itself, or may be used to indicate the position of a three-dimensional coordinate point on the target object.

[0012] In a possible implementation, the target image is processed by a first posture recognition model to obtain first body shape information of a target object in the target image; the target image is processed by a second posture recognition model to obtain second body shape information of the target object in the target image; and the loss is constructed according to the first posture information and the second posture information, the key point position information and the corresponding annotation values, including: the loss is constructed according to the first posture information and the second posture information, the key point position information and the corresponding annotation values, and the first body shape information and the second body shape information.

[0013] The first body shape information may also be referred to as a shape parameter (shape), which indicates the three-dimensional shape of the target object. The displacement parameter indicates the magnitude of the target object in the target area and the offset of the target object in the target area (for example, the degree to which the target object is offset to the left or to the right with the center point of the target area as the reference point).

[0014] In one possible implementation, the target image is the image area where the target object is located in the original image. When calculating the two-dimensional projection information, the two-dimensional projection information is represented as the position of the two-dimensional projection of the predicted posture in the original image. That is to say, the reprojection error can be calculated on the entire image, which is closer to the projection process when the image is formed.

[0015] In a possible implementation, the target object is a person.

[0016] In a possible implementation, the method further includes: processing the target image through the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object.

[0017] In a possible implementation, after obtaining the updated second posture recognition model in the above manner, the target image can be processed by the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object. Similarly, for the remaining frame images in the video stream, the same operation as that performed on the target image can be performed to obtain multiple continuous postures of the target object to form the motion information of the target object.

[0018] In a possible implementation, after obtaining the third posture information, the posture of the target object obtained by processing the target image with the updated second posture recognition model may be sent to the user device; or the updated second posture recognition model may be sent to the user device.

[0019] In a possible implementation, the annotation is manually pre-annotated or obtained by processing the target image through a pre-trained model.

[0020] In a second aspect, the present application provides a data processing device, characterized in that it includes:

[0021] An acquisition module, used for acquiring a target image;

[0022] An image processing module, used to process the target image through a first posture recognition model to obtain first posture information of a target object in the target image;

[0023] The target image is processed by a second posture recognition model to obtain second posture information of a target object in the target image; the first posture information and the second posture information are used to describe the three-dimensional posture of the target object; the second posture information is used to determine two-dimensional projection information of a predicted posture of the target object;

[0024] A model updating module is used to construct a loss according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotations, and the loss is used to update the second posture recognition model.

[0025] In a possible implementation, the first posture recognition model is obtained by training with a loss constructed according to the output posture information and corresponding annotations.

[0026] In one possible implementation,

[0027] The target image is processed by the first posture recognition model to obtain first body shape information of the target object in the target image;

[0028] The target image is processed by the second posture recognition model to obtain second body shape information of the target object in the target image;

[0029] The model updating module is specifically used for:

[0030] A loss is constructed according to the first posture information and the second posture information, the key point position information and the corresponding annotation values, and the first body shape information and the second body shape information.

[0031] In one possible implementation, the target image is the image area where the target object is located in the original image. When calculating the two-dimensional projection information, the two-dimensional projection information is represented as the position of the two-dimensional projection of the predicted posture in the original image. That is to say, the reprojection error can be calculated on the entire image, which is closer to the projection process when the image is formed.

[0032] In a possible implementation, the target object is a person.

[0033] In a possible implementation, the image processing module is further used to:

[0034] The target image is processed by the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object.

[0035] In a possible implementation, the device further includes:

[0036] a sending module, configured to send to a user device the posture of the target object obtained by processing the target image with the updated second posture recognition model; or

[0037] The updated second gesture recognition model is sent to the user equipment.

[0038] In a possible implementation, the annotation is manually pre-annotated or obtained by processing the target image through a pre-trained model.

[0039] In a third aspect, an embodiment of the present application provides a data processing device, which may include a memory, a processor, and a bus system, wherein the memory is used to store programs, and the processor is used to execute the programs in the memory to perform the first aspect and any optional method thereof.

[0040] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer-readable storage medium is run on a computer, the computer executes the above-mentioned first aspect and any optional method thereof.

[0041] In a fifth aspect, an embodiment of the present application provides a computer program, which, when executed on a computer, enables the computer to execute the above-mentioned first aspect and any optional method thereof.

[0042] In a sixth aspect, the present application provides a chip system, which includes a processor for supporting an execution device or a training device to implement the functions involved in the above aspects, such as sending or processing the data involved in the above methods; or, information. In one possible design, the chip system also includes a memory, which is used to store program instructions and data necessary for the execution device or the training device. The chip system can be composed of chips, or it can include chips and other discrete devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1A A structural diagram of the main framework of artificial intelligence;

[0044] Figure 1B and Figure 2 It is a schematic diagram of the application system framework of the present invention;

[0045] Figure 3 A schematic diagram of an optional hardware structure of a terminal;

[0046] Figure 4 A schematic diagram of the structure of a server;

[0047] Figure 5 A system architecture diagram of the present application is shown below;

[0048] Figure 6 A process for a cloud service;

[0049] Figure 7 A process for a cloud service;

[0050] Figure 8 A flowchart of a data processing method provided in an embodiment of the present application;

[0051] Fig. 9 A schematic diagram of an application example of gesture recognition provided in an embodiment of the present application;

[0052] Fig.10 A result of a gesture recognition is shown;

[0053] Fig.11 A result of a gesture recognition is shown;

[0054] Fig. 12A It is a schematic diagram of a method for calculating the reprojection error;

[0055] Fig. 12B A schematic diagram of an application example of gesture recognition;

[0056] Fig. 12C A schematic diagram of an application example of gesture recognition;

[0057] Fig.13 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application;

[0058] Fig.14 A schematic diagram of the structure of an execution device provided in an embodiment of the present application;

[0059] Fig.15 A schematic diagram of the structure of a training device provided in an embodiment of the present application;

[0060] Fig.16 A schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0061] The embodiments of the present invention are described below in conjunction with the accompanying drawings in the embodiments of the present invention. The terms used in the implementation mode of the present invention are only used to explain the specific embodiments of the present invention, and are not intended to limit the present invention.

[0062] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0063] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0064] As used herein, the terms "substantially," "about," and the like are used as terms of approximation, not as terms of degree, and are intended to take into account the inherent deviations of measurements or calculations that one of ordinary skill in the art would know. In addition, the use of "may" when describing embodiments of the present invention means "one or more possible embodiments." As used herein, the terms "use," "using," and "used" may be considered synonymous with the terms "utilize," "utilizing," and "utilized," respectively. In addition, the term "exemplary" is intended to refer to an example or illustration.

[0065] First, the overall workflow of the artificial intelligence system is described. Figure 1A , Figure 1AThe figure shows a structural diagram of the main framework of artificial intelligence. The following is an explanation of the above artificial intelligence theme framework from the two dimensions of "intelligent information chain" (horizontal axis) and "IT value chain" (vertical axis). Among them, the "intelligent information chain" reflects a series of processes from data acquisition to processing. For example, it can be a general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, intelligent execution and output. In this process, the data has undergone a condensation process of "data-information-knowledge-wisdom". The "IT value chain" reflects the value that artificial intelligence brings to the information technology industry from the underlying infrastructure of human intelligence, information (providing and processing technology implementation) to the industrial ecology process of the system.

[0066] (1) Infrastructure

[0067] The infrastructure provides computing power support for the AI ​​system, enables communication with the outside world, and supports it through the basic platform. It communicates with the outside world through sensors; computing power is provided by smart chips (CPU, NPU, GPU, ASIC, FPGA and other hardware acceleration chips); the basic platform includes distributed computing frameworks and networks and other related platform guarantees and support, which can include cloud storage and computing, interconnected networks, etc. For example, sensors communicate with the outside world to obtain data, and these data are provided to the smart chips in the distributed computing system provided by the basic platform for calculation.

[0068] (2) Data

[0069] The data on the upper layer of the infrastructure is used to represent the data sources in the field of artificial intelligence. The data involves graphics, images, voice, text, and IoT data of traditional devices, including business data of existing systems and perception data such as force, displacement, liquid level, temperature, and humidity.

[0070] (3) Data processing

[0071] Data processing usually includes data training, machine learning, deep learning, search, reasoning, decision-making and other methods.

[0072] Among them, machine learning and deep learning can symbolize and formalize data for intelligent information modeling, extraction, preprocessing, and training.

[0073] Reasoning refers to the process of simulating human intelligent reasoning in computers or intelligent systems, using formalized information to perform machine thinking and solve problems based on reasoning control strategies. Typical functions are search and matching.

[0074] Decision-making refers to the process of making decisions after intelligent information is reasoned, usually providing functions such as classification, sorting, and prediction.

[0075] (4) General ability

[0076] After the data has undergone the data processing mentioned above, some general capabilities can be further formed based on the results of the data processing, such as an algorithm or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.

[0077] (5) Smart products and industry applications

[0078] Smart products and industry applications refer to the products and applications of artificial intelligence systems in various fields. They are the encapsulation of the overall artificial intelligence solution, which productizes intelligent information decision-making and realizes practical applications. Its application areas mainly include: smart terminals, smart transportation, smart medical care, autonomous driving, smart cities, etc.

[0079] First, the application scenarios of the present application are introduced. The present application can be applied to, but not limited to, applications including human motion capture and restoration functions based on images or videos (hereinafter referred to as motion capture applications) or cloud services provided by cloud-side servers, etc., which are introduced below:

[0080] 1. Motion Capture Applications

[0081] The product form of the embodiment of the present application can be a motion capture application. The motion capture application can be run on a terminal device or a server on the cloud side.

[0082] In one possible implementation, a motion capture application can implement the task of capturing and restoring human motion based on an image or video containing a human body, wherein the motion capture application can perform the task of capturing and restoring human motion in response to an input image or video, and obtain 3D posture information corresponding to the human body motion. Based on the 3D posture information, a virtual character can be restored, and the posture of the character is consistent or nearly consistent with the posture of the human body in the image or video.

[0083] In one possible implementation, a user can open a motion capture application installed on a terminal device and input images or videos (which can be actively input or passively collected, for example, collected by a camera on the terminal device). The motion capture application can capture and restore human motion in the images or videos through the method provided in an embodiment of the present application, and present the 3D posture information or a virtual character restored based on the 3D posture information to the user (the presentation method can be but is not limited to display, saving, uploading to the cloud, etc.).

[0084] In one possible implementation, a user can open a motion capture application installed on a terminal device and input images or videos (which can be active input or passive acquisition, for example, acquired through a camera on the terminal device). The motion capture application can send the images or videos to a server on the cloud side. The server on the cloud side captures and restores human motions on the images or videos using the method provided in an embodiment of the present application, and transmits the 3D posture information or information of a virtual character restored based on the 3D posture information back to the terminal device. The terminal device can present the 3D posture information or the virtual character restored based on the 3D posture information to the user (the presentation method can be but is not limited to display, saving, uploading to the cloud side, etc.).

[0085] In one possible implementation, the human motion capture and restoration functions implemented by motion capture applications can be specifically used to enable virtual character driving in application scenarios such as augmented reality (AR), virtual reality (VR), mixed reality (MR), remote conferencing, sports health, and the metaverse.

[0086] Next, the motion capture application in the embodiment of the present application is introduced from the functional architecture and the product architecture that realizes the function.

[0087] Reference Figure 1B , Figure 1B The functional architecture of the motion capture application in the embodiment of the present application is shown as follows:

[0088] In one possible implementation, Figure 1B As shown, a motion capture application 102 can receive input parameters 101 (e.g., an image or video containing a human body) and generate 3D pose information 103 (or information of a virtual character restored based on the 3D pose information). The motion capture application 102 can be executed on (for example) at least one computer system and includes computer codes, which, when executed by one or more computers, cause the computers to execute the data processing method described herein.

[0089] Reference Figure 2 , Figure 2 The following is a schematic diagram of the physical architecture for running a motion capture application in an embodiment of the present application:

[0090] See also Figure 2 , Figure 2 A schematic diagram of a system architecture is shown. The system may include a terminal 100 and a server 200. The server 200 may include one or more servers ( Figure 2In the example, one server is included, and the server 200 can provide motion capture function services for one or more terminals.

[0091] Among them, a motion capture application can be installed on the terminal 100, or a web page related to the motion capture function can be opened. The above application and web page can provide an interface. The terminal 100 can receive relevant parameters entered by the user on the motion capture function interface and send the above parameters to the server 200. The server 200 can obtain processing results based on the received parameters and return the processing results to the terminal 100.

[0092] It should be understood that in some optional implementations, the terminal 100 can also complete the action of obtaining the data processing result based on the received parameters by itself without the cooperation of the server, and the embodiments of the present application are not limited to this.

[0093] Next describe Figure 2 The product form of the mid-terminal 100;

[0094] The terminal 100 in the embodiment of the present application can be a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc., and the embodiment of the present application does not impose any limitation on this.

[0095] Figure 3 An optional hardware structure diagram of the terminal 100 is shown.

[0096] refer to Figure 3 As shown, the terminal 100 may include a radio frequency unit 110, a memory 120, an input unit 130, a display unit 140, a camera 150 (optional), an audio circuit 160 (optional), a speaker 161 (optional), a microphone 162 (optional), a processor 170, an external interface 180, a power supply 190 and other components. Those skilled in the art will appreciate that Figure 3 These are merely examples of terminals or multi-function devices and do not constitute limitations on the terminals or multi-function devices, which may include more or fewer components than those shown in the figures, or combinations of certain components, or different components.

[0097] The input unit 130 can be used to receive input digital or character information, and generate key signal input related to the user settings and function control of the portable multifunctional device. Specifically, the input unit 130 may include a touch screen 131 (optional) and / or other input devices 132. The touch screen 131 can collect the user's touch operations on or near it (such as the user's operation on or near the touch screen using any suitable object such as fingers, joints, stylus, etc.), and drive the corresponding connection device according to a pre-set program. The touch screen can detect the user's touch action on the touch screen, convert the touch action into a touch signal and send it to the processor 170, and can receive and execute the command sent by the processor 170; the touch signal at least includes the touch point coordinate information. The touch screen 131 can provide an input interface and an output interface between the terminal 100 and the user. In addition, the touch screen can be implemented using multiple types such as resistive, capacitive, infrared and surface acoustic wave. In addition to the touch screen 131, the input unit 130 can also include other input devices. Specifically, other input devices 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as a volume control button 132 , a switch button 133 , etc.), a trackball, a mouse, a joystick, and the like.

[0098] The input device 132 may receive input images or videos, etc.

[0099] The display unit 140 may be used to display information input by the user or provided to the user, various menus of the terminal 100, interactive interfaces, file display, and / or playback of any multimedia file. In an embodiment of the present application, the display unit 140 may be used to display an interface of a motion capture application, a virtual person obtained based on an image or video, and the like.

[0100] The memory 120 can be used to store instructions and data. The memory 120 can mainly include an instruction storage area and a data storage area. The data storage area can store various data, such as multimedia files, texts, etc.; the instruction storage area can store software units such as operating systems, applications, instructions required for at least one function, or their subsets and extensions. It can also include a non-volatile random access memory; provide the processor 170 with hardware, software and data resources including management of computing and processing equipment, and support control software and applications. It is also used for the storage of multimedia files, and the storage of running programs and applications.

[0101] The processor 170 is the control center of the terminal 100. It uses various interfaces and lines to connect various parts of the entire terminal 100. By running or executing instructions stored in the memory 120 and calling data stored in the memory 120, it executes various functions of the terminal 100 and processes data, thereby controlling the terminal device as a whole. Optionally, the processor 170 may include one or more processing units; preferably, the processor 170 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and application program, and the modem processor mainly processes wireless communication. It is understandable that the above-mentioned modem processor may not be integrated into the processor 170. In some embodiments, the processor and the memory may be implemented on a single chip, and in some embodiments, they may also be implemented separately on separate chips. The processor 170 may also be used to generate corresponding operation control signals, send them to corresponding components of the computing and processing device, read and process data in the software, especially read and process data and programs in the memory 120, so that each functional module therein performs corresponding functions, thereby controlling the corresponding components to act according to the requirements of the instructions.

[0102] Among them, the memory 120 can be used to store software codes related to the data processing method, the processor 170 can execute the steps of the chip data processing method, and can also schedule other units (such as the above-mentioned input unit 130 and display unit 140) to realize corresponding functions.

[0103] The radio frequency unit 110 (optional) can be used for receiving and sending information or receiving and sending signals during a call, for example, after receiving the downlink information of the base station, it is sent to the processor 170 for processing; in addition, the designed uplink data is sent to the base station. Generally, the RF circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (Low Noise Amplifier, LNA), a duplexer, etc. In addition, the radio frequency unit 110 can also communicate with network devices and other devices through wireless communication. The wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile communication (Global System of Mobile communication, GSM), General Packet Radio Service (General Packet Radio Service, GPRS), Code Division Multiple Access (Code Division Multiple Access, CDMA), Wideband Code Division Multiple Access (Wideband Code Division Multiple Access, WCDMA), Long Term Evolution (Long Term Evolution, LTE), email, Short Messaging Service (SMS), etc.

[0104] In this embodiment of the present application, the RF unit 110 can send images or videos to the server 200, and receive 3D posture information sent by the server 200 or information of a virtual character restored based on the 3D posture information.

[0105] It should be understood that the radio frequency unit 110 is optional and can be replaced by other communication interfaces, such as a network port.

[0106] The terminal 100 also includes a power supply 190 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 170 through a power management system, so that the power management system can manage functions such as charging, discharging, and power consumption.

[0107] The terminal 100 further includes an external interface 180 , which may be a standard Micro USB interface or a multi-pin connector, and may be used to connect the terminal 100 to communicate with other devices, or to connect a charger to charge the terminal 100 .

[0108] Although not shown, the terminal 100 may also include a flashlight, a wireless fidelity (WiFi) module, a Bluetooth module, sensors with different functions, etc., which are not described in detail here. Some or all of the methods described below may be applied in the following embodiments. Figure 3In the terminal 100 shown.

[0109] Next describe Figure 2 The product form of the server 200;

[0110] Figure 4 A structural diagram of a server 200 is provided, such as Figure 4 As shown, the server 200 includes a bus 201, a processor 202, a communication interface 203, and a memory 204. The processor 202, the memory 204, and the communication interface 203 communicate with each other via the bus 201.

[0111] The bus 201 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0112] The processor 202 may be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0113] The memory 204 may include a volatile memory, such as a random access memory (RAM). The memory 204 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard drive (HDD), or a solid state drive (SSD).

[0114] The memory 204 may be used to store software codes related to the data processing method, and the processor 202 may execute the steps of the data processing method of the chip, and may also schedule other units to implement corresponding functions.

[0115] It should be understood that the above-mentioned terminal 100 and server 200 can be centralized or distributed devices, and the processors in the above-mentioned terminal 100 and server 200 (such as processor 170 and processor 202) can be hardware circuits (such as application specific integrated circuit (ASIC), field-programmable gate array (FPGA), general-purpose processor, digital signal processor (DSP), microprocessor or microcontroller, etc.), or a combination of these hardware circuits. For example, the processor can be a hardware system with an instruction execution function, such as a CPU, DSP, etc., or a hardware system without an instruction execution function, such as an ASIC, FPGA, etc., or a combination of the above-mentioned hardware systems without an instruction execution function and hardware systems with an instruction execution function.

[0116] It should be understood that the steps related to the model reasoning process in the embodiments of the present application involve AI-related operations. When performing AI operations, the instruction execution architecture of the terminal device and the server is not limited to the processor combined with the memory architecture described above. Figure 5 The system architecture provided in the embodiments of the present application is introduced in detail.

[0117] Figure 5 This is a schematic diagram of the system architecture provided in the embodiment of the present application. Figure 5 As shown, the system architecture 500 includes an execution device 510 , a training device 520 , a database 530 , a client device 540 , a data storage system 550 , and a data collection system 560 .

[0118] The execution device 510 includes a calculation module 511, an I / O interface 512, a preprocessing module 513 and a preprocessing module 514. The calculation module 511 may include a target model / rule 501, and the preprocessing module 513 and the preprocessing module 514 are optional.

[0119] Among them, the execution device 510 can be a terminal device or a server that runs the above-mentioned character motion capture application.

[0120] The data acquisition device 560 is used to collect training samples. The training samples can be images or videos, as well as annotations of people in the images or videos (such as two-dimensional projection information), etc. After collecting the training samples, the data acquisition device 560 stores these training samples in the database 530.

[0121] The training device 520 can obtain the target model / rule 501 based on the training samples maintained in the database 530 for the neural network to be trained (such as the second posture recognition model in the embodiment of the present application).

[0122] It should be noted that, in actual applications, the training samples maintained in the database 530 may not all come from the data acquisition device 560, but may also be received from other devices. It should also be noted that the training device 520 may not train the target model / rule 501 entirely based on the training samples maintained in the database 530, but may also obtain training samples from the cloud or other places for model training. The above description should not be used as a limitation on the embodiments of the present application.

[0123] The target model / rule 501 obtained by training the training device 520 can be applied to different systems or devices, such as Figure 5 The execution device 510 shown may be a terminal, such as a mobile phone terminal, a tablet computer, a laptop computer, an augmented reality (AR) / virtual reality (VR) device, a vehicle terminal, etc., or a server, etc.

[0124] Specifically, the training device 520 may transfer the trained model to the execution device 510 .

[0125] exist Figure 5 In the embodiment, the execution device 510 is configured with an input / output (I / O) interface 512 for data interaction with an external device. A user can input data (such as images or videos in the embodiment of the present application) to the I / O interface 512 through a client device 540.

[0126] The preprocessing module 513 and the preprocessing module 514 are used to preprocess the input data received by the I / O interface 512. It should be understood that there may be no preprocessing module 513 and the preprocessing module 514 or only one preprocessing module. When there is no preprocessing module 513 and the preprocessing module 514, the computing module 511 may be directly used to process the input data.

[0127] When the execution device 510 preprocesses the input data, or when the computing module 511 of the execution device 510 performs calculations and other related processing, the execution device 510 can call the data, code, etc. in the data storage system 550 for corresponding processing, and can also store the data, instructions, etc. obtained from the corresponding processing into the data storage system 550.

[0128] Finally, the I / O interface 512 provides the processing result (eg, 3D posture information or information of a virtual character restored based on the 3D posture information, etc.) to the client device 540 , thereby providing it to the user.

[0129] exist Figure 5 In the case shown, the user can manually give input data, and the "manually given input data" can be operated through the interface provided by the I / O interface 512. In another case, the client device 540 can automatically send input data to the I / O interface 512. If the client device 540 is required to automatically send input data and needs to obtain the user's authorization, the user can set the corresponding authority in the client device 540. The user can view the results output by the execution device 510 on the client device 540, and the specific presentation form can be a specific method such as display, sound, action, etc. The client device 540 can also be used as a data acquisition terminal to collect the input data of the input I / O interface 512 and the output results of the output I / O interface 512 as shown in the figure as new sample data, and store them in the database 530. Of course, it is also possible not to collect through the client device 540, but the I / O interface 512 directly stores the input data of the input I / O interface 512 and the output results of the output I / O interface 512 as new sample data in the database 530.

[0130] It is worth noting that Figure 5 This is only a schematic diagram of a system architecture provided by an embodiment of the present application. The positional relationship between the devices, components, modules, etc. shown in the figure does not constitute any limitation. For example, in Figure 5 In the embodiment, the data storage system 550 is an external memory relative to the execution device 510. In other cases, the data storage system 550 may also be placed in the execution device 510. It should be understood that the execution device 510 may be deployed in the client device 540.

[0131] From the inference side of the model:

[0132] In the embodiment of the present application, the computing module 511 of the above-mentioned execution device 520 can obtain the code stored in the data storage system 550 to implement the steps related to the model reasoning process in the embodiment of the present application.

[0133] In an embodiment of the present application, the computing module 511 of the execution device 520 may include a hardware circuit (such as an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a general-purpose processor, a digital signal processor (DSP), a microprocessor or a microcontroller, etc.), or a combination of these hardware circuits. For example, the training device 520 may be a hardware system with an instruction execution function, such as a CPU, DSP, etc., or a hardware system without an instruction execution function, such as an ASIC, FPGA, etc., or a combination of the above-mentioned hardware systems without an instruction execution function and hardware systems with an instruction execution function.

[0134] Specifically, the computing module 511 of the execution device 520 can be a hardware system with an execution instruction function, and the steps related to the model reasoning process provided in the embodiment of the present application can be software codes stored in the memory. The computing module 511 of the execution device 520 can obtain the software code from the memory and execute the obtained software code to implement the steps related to the model reasoning process provided in the embodiment of the present application.

[0135] It should be understood that the computing module 511 of the execution device 520 can be a combination of a hardware system that does not have the function of executing instructions and a hardware system that has the function of executing instructions. Some of the steps related to the model reasoning process provided in the embodiments of the present application can also be implemented by the hardware system that does not have the function of executing instructions in the computing module 511 of the execution device 520, which is not limited here.

[0136] From the training side of the model:

[0137] In the embodiment of the present application, the training device 520 can obtain the memory ( Figure 5 Not shown in the figure, the code stored in the training device 520 (or deployed separately from the training device 520) can be integrated into the training device 520 to implement the steps related to model training in the embodiments of the present application.

[0138] In an embodiment of the present application, the training device 520 may include a hardware circuit (such as an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a general-purpose processor, a digital signal processor (DSP), a microprocessor or a microcontroller, etc.), or a combination of these hardware circuits. For example, the training device 520 may be a hardware system with an instruction execution function, such as a CPU, DSP, etc., or a hardware system without an instruction execution function, such as an ASIC, FPGA, etc., or a combination of the above-mentioned hardware systems without an instruction execution function and hardware systems with an instruction execution function.

[0139] It should be understood that the training device 520 can be a combination of a hardware system that does not have the function of executing instructions and a hardware system that has the function of executing instructions. Some of the steps related to model training provided in the embodiments of the present application can also be implemented by the hardware system that does not have the function of executing instructions in the training device 520, which is not limited here.

[0140] 2. Motion capture cloud services provided by the server:

[0141] In a possible implementation, the server may provide the terminal with a motion capture service through an application programming interface (API).

[0142] Among them, the terminal device can send relevant parameters (such as images or videos containing human bodies) to the server through the API provided by the cloud. The server can obtain processing results (such as 3D posture information or information of a virtual character restored based on the 3D posture information, etc.) based on the received parameters, and return the processing results to the terminal.

[0143] The description of the terminal and the server can be the same as that of the above embodiments, and will not be repeated here.

[0144] like Figure 6 The process of using a motion capture cloud service provided by a cloud platform is shown.

[0145] 1. Activate and purchase content review service.

[0146] 2. Users can download the software development kit (SDK) corresponding to the content review service. Usually, the cloud platform provides multiple development versions of the SDK for users to choose according to the requirements of the development environment, such as JAVA version SDK, Python version SDK, PHP version SDK, Android version SDK, etc.

[0147] 3. After the user downloads the corresponding version of the SDK to the local computer according to the needs, the SDK project is imported into the local development environment, and configuration and debugging are performed in the local development environment. The local development environment can also be used to develop other functions, so as to form an application that integrates motion capture functional capabilities.

[0148] 4. When the motion capture function is needed during the use of the motion capture application, the API call of the motion capture function can be triggered. When the application triggers the motion capture function, an API request is initiated to the running instance of the motion capture function service in the cloud environment, where the API request carries an image or video, and the running instance in the cloud environment processes the image or video to obtain the processing result (such as 3D posture information or information of a virtual character restored based on the 3D posture information, etc.).

[0149] 5. The cloud environment returns the processing results to the application, thereby completing a motion capture function service call.

[0150] 3. Model training cloud services provided by the server:

[0151] In a possible implementation, the server may provide a model of motion capture function adapted to the human object (or more generalized human) in the image or video based on the image or video provided by the client.

[0152] In a possible implementation, the server may provide the terminal with a service of restoring the image information through an application programming interface (API).

[0153] Among them, the terminal device can send relevant parameters (such as images or videos) to the server through the API provided by the cloud. The server can obtain processing results based on the received parameters and return the processing results (such as a model of motion capture function adapted to the person object (or more generalized person) in the image or video, etc.) to the terminal.

[0154] like Figure 7 The process of using a model training cloud service provided by a cloud platform is shown.

[0155] The description of the terminal and the server can be the same as that of the above embodiments, and will not be repeated here.

[0156] Since the embodiments of the present application involve the application of a large number of neural networks, in order to facilitate understanding, the relevant terms and related concepts such as neural networks involved in the embodiments of the present application are first introduced below.

[0157] (1) Neural Network

[0158] A neural network may be composed of neural units, and a neural unit may refer to an operation unit with xs and intercept 1 as input, and the output of the operation unit may be:

[0159]

[0160] Where s=1, 2, ...n, n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, which is used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into the output signal. The output signal of the activation function can be used as the input of the next convolution layer. The activation function can be a sigmoid function. A neural network is a network formed by connecting many of the above-mentioned single neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field. The local receptive field can be an area composed of several neural units.

[0161] (2) Deep Neural Networks

[0162] A deep neural network (DNN) can be understood as a neural network with many hidden layers. There is no special metric for "many" here. The multi-layer neural networks and deep neural networks we often talk about are essentially the same thing. According to the position of different layers of DNN, the neural network inside DNN can be divided into three categories: input layer, hidden layer, and output layer. Generally speaking, the first layer is the input layer, the last layer is the output layer, and the layers in between are all hidden layers. The layers are fully connected, that is, any neuron in the i-th layer must be connected to any neuron in the i+1-th layer. Although DNN looks complicated, the work of each layer is actually not complicated. Simply put, it is the following linear relationship expression: in, is the input vector, is the output vector, is the offset vector, W is the weight matrix (also called coefficient), and α() is the activation function. Each layer is just an input vector After such a simple operation, the output vector Since DNN has many layers, the coefficient W and the offset vector So how are the specific parameters defined in DNN? First, let's look at the definition of coefficient W. Take a three-layer DNN as an example, for example: the linear coefficient from the 4th neuron in the second layer to the 2nd neuron in the third layer is defined as The superscript 3 represents the layer number of the coefficient W, while the subscripts correspond to the third layer index 2 of the output and the second layer index 4 of the input. In summary, the coefficients from the kth neuron in the L-1th layer to the jth neuron in the Lth layer are defined as Note that the input layer does not have a W parameter. In a deep neural network, more hidden layers allow the network to better capture complex situations in the real world. In theory, a model with more parameters has higher complexity and greater "capacity", which means it can complete more complex learning tasks.

[0163] (3) Convolutional neural network (CNN) is a deep neural network with a convolutional structure. Convolutional neural network contains a feature extractor consisting of a convolution layer and a subsampling layer. The feature extractor can be regarded as a filter, and the convolution process can be regarded as using a trainable filter to convolve with an input image or convolution feature plane (feature map). The convolution layer refers to the neuron layer in the convolutional neural network that performs convolution processing on the input signal. In the convolution layer of the convolutional neural network, a neuron can only be connected to some neurons in the adjacent layer. A convolutional layer usually contains several feature planes, and each feature plane can be composed of some rectangularly arranged neural units. The neural units in the same feature plane share weights, and the shared weights here are the convolution kernels. Shared weights can be understood as the way to extract image information is independent of position. The implicit principle is that the statistical information of a part of the image is the same as that of other parts. This means that the image information learned in one part can also be used in another part. So for all positions on the image, we can use the same learned image information. In the same convolution layer, multiple convolution kernels can be used to extract different image information. Generally speaking, the more convolution kernels there are, the richer the image information reflected by the convolution operation.

[0164] The convolution kernel can be initialized in the form of a matrix of random size, and the convolution kernel can obtain reasonable weights through learning during the training process of the convolutional neural network. In addition, the direct benefit of shared weights is to reduce the connections between the layers of the convolutional neural network, while reducing the risk of overfitting.

[0165] (4) Back propagation algorithm

[0166] Convolutional neural networks can use the error back propagation (BP) algorithm to correct the size of the parameters in the initial super-resolution model during the training process, so that the reconstruction error loss of the super-resolution model becomes smaller and smaller. Specifically, the forward transmission of the input signal to the output will generate error loss, and the error loss information is back-propagated to update the parameters in the initial super-resolution model, so that the error loss converges. The back propagation algorithm is a back propagation movement dominated by error loss, aiming to obtain the optimal parameters of the super-resolution model, such as the weight matrix.

[0167] (5) Loss Function

[0168] In the process of training a deep neural network, because we hope that the output of the deep neural network is as close as possible to the value we really want to predict, we can compare the predicted value of the current network with the target value we really want, and then update the weight vector of each layer of the neural network according to the difference between the two (of course, there is usually an initialization process before the first update, that is, pre-configuring parameters for each layer in the deep neural network). For example, if the predicted value of the network is high, adjust the weight vector to make it predict a lower value, and keep adjusting until the deep neural network can predict the target value we really want or a value very close to the target value we really want. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value", which is the loss function or objective function, which are important equations used to measure the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, so the training of the deep neural network becomes a process of minimizing this loss as much as possible.

[0169] (6) Back propagation algorithm

[0170] Neural networks can use the error back propagation (BP) algorithm to correct the size of the parameters in the initial neural network model during the training process, so that the reconstruction error loss of the neural network model becomes smaller and smaller. Specifically, the forward transmission of the input signal to the output will generate error loss, and the parameters in the initial neural network model are updated by back propagating the error loss information, so that the error loss converges. The back propagation algorithm is a back propagation movement dominated by error loss, which aims to obtain the optimal parameters of the neural network model, such as the weight matrix.

[0171] Human motion capture technology is a commonly used technology in the film, television and game industries. This technology can process the input video stream to capture the posture of the human body in each frame of the image, thereby obtaining the movement information of the human body. Based on this technology, the posture data of the human body in motion can be extracted from massive videos, and it has a wide range of application scenarios, such as virtual character driving in augmented reality (AR) scenes and virtual reality (VR) scenes, remote conferencing, and the metaverse, etc.

[0172] At present, human motion capture can be realized based on AI technology. Specifically, for a certain image, the image can be processed by a trained neural network to obtain posture parameters, which can be used to determine the posture of the human body.

[0173] However, the neural network used in the prior art is updated only based on the loss constructed based on the two-dimensional projection information. Although pixel-level alignment between the predicted posture and the posture in the image or video can be achieved, the predicted posture will be deformed and unreasonable.

[0174] In order to solve the above problems, the present application provides a data processing method. The data processing method of the present application is described in detail below with reference to the accompanying drawings.

[0175] Reference Figure 8 , Figure 8 A data processing method according to an embodiment of the present invention is shown in FIG. Figure 8 As shown, a data processing method provided in an embodiment of the present application may include steps 801 to 804, and these steps are described in detail below.

[0176] 801. Acquire a target image.

[0177] In one possible implementation, when training a model for character motion capture (or posture recognition), it is necessary to obtain training samples, which may include images and annotations corresponding to the images, wherein the annotations may include two-dimensional projection information of a target object (e.g., a person) in a pre-annotated target image, and the corresponding annotations of the two-dimensional projection information may be manually pre-annotated, or obtained by processing the target image through a pre-trained neural network.

[0178] In addition, the annotation may also include information of the target object (such as posture information, body shape information, etc.) identified from the target image by a pre-trained neural network.

[0179] In this embodiment, the target image can be a frame image in a video stream or a single image. The target image usually presents the target object and the environment in which the target object is located. Then, the goal of gesture recognition is to obtain the gesture of the target object in the target image. Fig. 9 As shown ( Fig. 9 A schematic diagram of an application example of posture recognition provided in an embodiment of the present application) is shown in the target image. The content presented by the target image is the human body and the environment in which the human body is located. Therefore, the posture recognition goal of the target image is to recognize the posture presented by the human body in the target image.

[0180] After obtaining the target image, the target image can be detected to determine the target area in the target image. The position information of the target area in the target image can also be obtained and normalized.

[0181] In a possible implementation manner, the target object is a human body.

[0182] 802. Process the target image using a first posture recognition model to obtain first posture information of a target object in the target image.

[0183] In a possible implementation, for a posture recognition model that needs to be trained, information used to describe the three-dimensional posture of the target object can usually be output in the feedforward process, and the information is optimized for two-dimensional key points, that is, two-dimensional projection information is obtained through a certain mapping method, and the posture recognition model is updated through the loss constructed by the difference between the obtained two-dimensional projection information and the corresponding annotation, so that the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the person object in the image at the pixel level. However, this method may cause the determined posture to be deformed and abnormal. For example, it can be referred to Fig.10 shown.

[0184] In the embodiment of the present application, by introducing posture information that will not or basically will not be deformed as a supervisory signal (or so-called prior information) when training a posture recognition model, it is ensured that, on the one hand, the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the person object in the image at the pixel level, and on the other hand, the determined posture will not be deformed (or basically will not be deformed).

[0185] In a possible implementation, the supervisory signal (or referred to as prior information) introduced above may be provided by a first posture recognition model.

[0186] In a possible implementation, the first posture recognition model is obtained by training with a loss constructed according to the output posture information and corresponding annotations.

[0187] The first posture recognition model can obtain the posture information of the target object in the target image by processing the image in an end-to-end manner. The posture parameters are usually composed of two parts of parameters, one part of which is used to indicate the rotation angle of the target object relative to the camera, and the other part of which is used to indicate the angle between the joints of the target object itself. Optionally, the other part of the parameters can also be used to indicate the position of the three-dimensional coordinate point on the target object.

[0188] In a possible implementation, the first posture information may be used to describe the three-dimensional posture of the target object, for example, may indicate the angles between joints of the target object itself, or may be used to indicate the position of a three-dimensional coordinate point on the target object.

[0189] In the process of training the first posture recognition model, the loss can be constructed directly based on the difference between the posture information output by the first posture recognition model through processing the image and the corresponding annotation (that is, the true value of the posture information), so that the first posture recognition model can have the ability to recognize better posture information, and the posture determined by the posture information obtained based on the first posture recognition model is reasonable and not deformed (the so-called no deformity here can be understood as a normal human body can make the action). Of course, since the posture information output by the first posture recognition model is used to describe the three-dimensional posture of the target object, and during the training process, it is not optimized in two dimensions (for example, 2D key points are optimized), therefore, the posture finally determined may not be strictly aligned with the posture of the person in the image, for example, refer to 11.

[0190] In a possible implementation, the target image may be processed by a first posture recognition model to obtain first posture information of the target object in the target image.

[0191] In a possible implementation, the target image may be processed by a first posture recognition model to obtain first body shape information of the target object in the target image (optionally, a displacement parameter may also be output).

[0192] The first body shape information may also be referred to as a shape parameter (shape), which indicates the three-dimensional shape of the target object. The displacement parameter indicates the magnitude of the target object in the target area and the offset of the target object in the target area (for example, the degree to which the target object is offset to the left or to the right with the center point of the target area as the reference point).

[0193] In the process of using the first posture recognition model for model reasoning, the posture of the target object can be obtained based on the first posture information, shape parameters and displacement parameters output by the first posture recognition model. The posture of the target object can be represented by multiple three-dimensional key points (3D key points) of the target object. These three-dimensional key points can describe the orientation of the target object in the camera coordinate system (i.e., the orientation of the target object relative to the camera) and the limb behavior of the target object in the camera coordinate system (i.e., the movement of the target object in three-dimensional space), where the origin of the camera coordinate system is the camera that captures the target image. Still as in the above example, Fig. 9 As shown, after the posture recognition model outputs the first posture information θ, shape parameter β and displacement parameters S and T, these parameters can be calculated to obtain multiple 3D key points of the target object. These 3D key points are combined together to present the orientation of the target object in the camera coordinate system and the limb behavior of the target object in the camera coordinate system.

[0194] Optionally, in order to reduce the computational complexity of the first posture recognition model, the target image may be preprocessed. Specifically, the target image may be detected to determine the area where the target object is located in the target image, which may be referred to as the target area (also referred to as the detection frame). As in the above example, after the area where the human body is located in the target image is detected, the area where the human body is located may be determined as the target area (i.e., the detection frame). Fig. 9 area enclosed by the middle frame).

[0195] Furthermore, the position information of the target area in the target image can also be obtained, and the position information may exist in various situations: (1) The position information of the target area in the target image includes the coordinates of the center point of the target area in the image coordinate system and the size of the target area, and the image coordinate system is constructed based on the target image. Specifically, a certain vertex of the target image (for example, the vertex in the upper left corner of the target image) can be used as the origin of the image coordinate system, then the coordinates of the center point of the target area in the image coordinate system, as well as the length and width of the target area (which is equivalent to obtaining the size of the target area) can be determined, and this information can be used to indicate the position of the target area in the target image. (2) The position information of the target area in the target image includes the coordinates of the vertices of the target area in the image coordinate system, and the image coordinate system is constructed based on the target image. Specifically, a certain vertex of the target image (for example, the vertex in the upper left corner of the target image) can be used as the origin of the image coordinate system, then the coordinates of all vertices of the target area in the image coordinate system can be determined, and this information can be used to indicate the position of the target area in the target image, etc.

[0196] Furthermore, after obtaining the position information of the target area in the target image, the position information can also be normalized to obtain the position information of the target area in the target image after normalization. Specifically, let the position information of the target area in the target image be I, and the position information of the target area in the target image after normalization be I', then, I' = (I-mean(I)) / F, F = sqrt(w×w+h×h) where mean(I) is the mean of the target area, w is the width of the target area, h is the length of the target area, and F can represent the focal length. In one implementation, F can be calculated by the above formula, and in another implementation, F can be directly obtained from the parameters of the camera that takes the image. In this way, after obtaining the normalized information, it is conducive to realizing the gesture recognition operation of the subsequent model.

[0197] After obtaining the position information of the target area and the normalized target area in the target image, the position information of the target area and the normalized target area in the target image can be input into a first posture recognition model (which is a trained neural network) to process the position information of the target area and the normalized target area in the target image through the first posture recognition model (for example, a series of operations such as feature extraction) to obtain first posture information.

[0198] The first posture information can be used as a priori constraint for model training

[0199]

[0200] Among them, I is the target image.

[0201] 803. Process the target image through a second posture recognition model to obtain second posture information of the target object in the target image; the first posture information and the second posture information are used to describe the three-dimensional posture of the target object; the second posture information is used to determine the two-dimensional projection information of the predicted posture of the target object.

[0202] Among them, the second posture recognition model is a model that needs to be trained. In the feedforward process, the target image can be processed by the second posture recognition model to obtain the second posture information of the target object in the target image; the network structure of the second posture recognition model can be consistent with or similar to the network structure of the first posture recognition model. Unlike the first posture recognition model, the loss when training the second posture recognition model also includes the difference between the two-dimensional projection information obtained by optimizing the 2D key points of the second posture information output by the second posture recognition model, and the annotation value corresponding to the two-dimensional projection information.

[0203] In a possible implementation, the two-dimensional projection information may include 2D results such as 2D key points, component segmentation, and dense key point estimation of the target object in the target image.

[0204] 804 . Construct a loss according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotations, and the loss is used to update the second posture recognition model.

[0205] In one possible implementation, when training the second posture recognition model, the output of the feedforward process can be the second posture information and the two-dimensional projection information obtained based on the second posture information; accordingly, the first posture information can be used as a supervisory signal for the second posture information, and the annotation corresponding to the two-dimensional projection information can be used as a supervisory signal for the two-dimensional projection information, thereby constructing the loss.

[0206] In a possible implementation, a loss may be constructed based on (the difference between) the first posture information and the second posture information, and (the difference between) the two-dimensional projection information and the corresponding annotation, and the loss is used to update the second posture recognition model.

[0207] In one possible implementation, the information output by the first posture recognition model may also include first body shape information, and a loss may be constructed based on the first body shape information and the corresponding supervisory signal (second body shape information). That is, the loss may include the difference between the first posture information and the second posture information, the difference between the first body shape information and the corresponding supervisory signal (second body shape information), and the difference between the two-dimensional projection information and the corresponding annotation.

[0208] Exemplarily, the loss may be:

[0209]

[0210] in, Represents the difference between the 2D projection information and the corresponding annotation, It can represent the difference between the first posture information and the second posture information (optionally, it can also include the difference between the first body shape information and the corresponding supervisory signal (second body shape information)). Not very precise, but still follows a realistic and reasonable estimated distribution.

[0211] Then, the model parameters of the model to be trained (that is, the second posture recognition model in the embodiment of the present application) can be updated based on the loss, and the model to be trained with the updated parameters can be trained using the next batch of training samples until the model training conditions are met (for example, the target loss reaches convergence, or the number of training iterations reaches a preset number, etc.).

[0212] Through the above method, the 2D prediction results are used as weak supervision information and the reasoning results of the prior model (first posture recognition model) are used as constraints to fine-tune the reasoning model (second posture recognition model) on the target video to obtain the final fine-tuned model.

[0213] In one possible implementation, the target image is the image area where the target object is located in the original image. When calculating the two-dimensional projection information, the two-dimensional projection information is represented as the position of the two-dimensional projection of the predicted posture in the original image. That is to say, the reprojection error can be calculated on the entire image, which is closer to the projection process when the image is formed.

[0214] For details, please refer to Fig. 12A As shown, Fig. 12A (a) is the existing reprojection error calculation method. Fig. 12A (b) in the figure is a reprojection error calculation method provided in this application.

[0215] Optionally, the conversion formula for converting the weak perspective projection of the cropped image to the perspective projection of the full image can be exemplified as:

[0216]

[0217]

[0218]

[0219] It should be understood that if the target image is a frame image in a video stream, the same operations as those performed on the target image can be performed on the remaining frame images in the video stream to obtain multiple continuous postures of the target object and form motion information of the target object, thereby meeting various application needs of users.

[0220] In a possible implementation, after obtaining the updated second posture recognition model in the above manner, the target image can be processed by the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object. Similarly, for the remaining frame images in the video stream, the same operation as that performed on the target image can be performed to obtain multiple continuous postures of the target object to form the motion information of the target object.

[0221] In a possible implementation, after obtaining the third posture information, the posture of the target object obtained by processing the target image with the updated second posture recognition model may be sent to the user device; or the updated second posture recognition model may be sent to the user device.

[0222] Reference Fig. 12B and Fig. 12C , respectively show the specific schematic diagram of the data processing method provided by the present application. Among them, Fig. 12C The prior model in can be the first posture recognition model, the 2D human body estimation model is the second posture recognition model and the subsequent two-dimensional projection mapping, and the inference model is the updated second posture recognition model.

[0223] An embodiment of the present application provides a data processing method, including: acquiring a target image; processing the target image through a first posture recognition model to obtain first posture information of a target object in the target image; processing the target image through a second posture recognition model to obtain second posture information of the target object in the target image; the first posture information and the second posture information are used to describe the three-dimensional posture of the target object; the second posture information is used to determine two-dimensional projection information of the predicted posture of the target object; and constructing a loss based on the first posture information and the second posture information, as well as the two-dimensional projection information and corresponding annotations, and the loss is used to update the second posture recognition model.

[0224] For a posture recognition model that needs to be trained, information describing the three-dimensional posture of the target object can usually be output in the feedforward process, and the information is optimized for two-dimensional key points, that is, two-dimensional projection information is obtained through a certain mapping method, and the posture recognition model is updated by the loss constructed by the difference between the obtained two-dimensional projection information and the corresponding annotation, so that the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the person object in the image at the pixel level, but this method will cause the determined posture to be deformed and abnormal. In the embodiment of the present application, by introducing a posture information that will not or basically will not be deformed as a supervisory signal (or referred to as prior information, that is, the first posture information) when training the posture recognition model, it is ensured that on the one hand, the posture determined by the posture information output by the updated posture recognition model can be aligned with the posture of the person object in the image at the pixel level, and on the other hand, the determined posture will not be deformed (or basically will not be deformed).

[0225] Reference Fig.13 , Fig.13 A schematic diagram of the structure of a data processing device provided in an embodiment of the present application is shown in FIG. Fig.13 As shown, a data processing device 1300 provided in an embodiment of the present application includes:

[0226] An acquisition module 1301 is used to acquire a target image;

[0227] The specific description of the acquisition module 1301 can refer to the introduction of step 801 in the above embodiment, which will not be repeated here.

[0228] An image processing module 1302 is used to process the target image through a first posture recognition model to obtain first posture information of a target object in the target image;

[0229] The target image is processed by a second posture recognition model to obtain second posture information of a target object in the target image; the first posture information and the second posture information are used to describe the three-dimensional posture of the target object; the second posture information is used to determine two-dimensional projection information of a predicted posture of the target object;

[0230] The specific description of the image processing module 1302 can refer to the introduction of steps 802 and 803 in the above embodiment, which will not be repeated here.

[0231] The model updating module 1303 is used to construct a loss according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotations, and the loss is used to update the second posture recognition model.

[0232] The specific description of the model updating module 1303 may refer to the introduction of step 804 in the above embodiment, which will not be repeated here.

[0233] In a possible implementation, the first posture recognition model is obtained by training with a loss constructed according to the output posture information and corresponding annotations.

[0234] In one possible implementation,

[0235] The target image is processed by the first posture recognition model to obtain first body shape information of the target object in the target image;

[0236] The target image is processed by the second posture recognition model to obtain second body shape information of the target object in the target image;

[0237] The model updating module is specifically used for:

[0238] A loss is constructed according to the first posture information and the second posture information, the key point position information and the corresponding annotation values, and the first body shape information and the second body shape information.

[0239] In one possible implementation, the target image is the image area where the target object is located in the original image. When calculating the two-dimensional projection information, the two-dimensional projection information is represented as the position of the two-dimensional projection of the predicted posture in the original image. That is to say, the reprojection error can be calculated on the entire image, which is closer to the projection process when the image is formed.

[0240] In a possible implementation, the target object is a person.

[0241] In a possible implementation, the image processing module is further used to:

[0242] The target image is processed by the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object.

[0243] In a possible implementation, the device further includes:

[0244] a sending module, configured to send to a user device the posture of the target object obtained by processing the target image with the updated second posture recognition model; or

[0245] The updated second gesture recognition model is sent to the user equipment.

[0246] Next, an execution device provided by an embodiment of the present application is introduced. Fig.14 , Fig.14 A schematic diagram of the structure of an execution device provided in an embodiment of the present application, the execution device 1400 can be specifically manifested as a virtual reality VR device, a mobile phone, a tablet, a laptop, a smart wearable device, a monitoring data processing device or a server, etc., which is not limited here. Specifically, the execution device 1400 includes: a receiver 1401, a transmitter 1402, a processor 1403 and a memory 1404 (wherein the number of processors 1403 in the execution device 1400 can be one or more, Fig.14 In the example of FIG. 1403 , the processor 1403 may include an application processor 14031 and a communication processor 14032. In some embodiments of the present application, the receiver 1401, the transmitter 1402, the processor 1403 and the memory 1404 may be connected via a bus or other means.

[0247] The memory 1404 may include a read-only memory and a random access memory, and provides instructions and data to the processor 1403. A portion of the memory 1404 may also include a non-volatile random access memory (NVRAM). The memory 1404 stores processor and operation instructions, executable modules or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.

[0248] The processor 1403 controls the operation of the execution device. In a specific application, the various components of the execution device are coupled together through a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus, and a status signal bus, etc. However, for the sake of clarity, various buses are referred to as bus systems in the figure.

[0249] The method disclosed in the above embodiment of the present application can be applied to the processor 1403, or implemented by the processor 1403. The processor 1403 can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 1403. The above processor 1403 can be a general processor, a digital signal processor (digital signal processing, DSP), a microprocessor or a microcontroller, and can further include an application specific integrated circuit (application specific integrated circuit, ASIC), a field programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The processor 1403 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor are combined to execute. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1404, and the processor 1403 reads the information in the memory 1404 and completes the steps of the above method involving the model reasoning process in combination with its hardware.

[0250] The receiver 1401 can be used to receive input digital or character information and generate signal input related to the relevant settings and function control of the execution device. The transmitter 1402 can be used to output digital or character information through the first interface; the transmitter 1402 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; the transmitter 1402 can also include a display device such as a display screen.

[0251] The present application also provides a training device. Fig.15 , Fig.15 It is a structural diagram of a training device provided in an embodiment of the present application. Specifically, the training device 1500 is implemented by one or more servers. The training device 1500 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPU) 1515 (for example, one or more processors) and memory 1532, and one or more storage media 1530 (for example, one or more mass storage devices) storing application programs 1542 or data 1544. Among them, the memory 1532 and the storage medium 1530 can be short-term storage or permanent storage. The program stored in the storage medium 1530 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the training device. Furthermore, the central processing unit 1515 can be configured to communicate with the storage medium 1530 to execute a series of instruction operations in the storage medium 1530 on the training device 1500.

[0252] The training device 1500 may also include one or more power supplies 1526, one or more wired or wireless network interfaces 1550, one or more input and output interfaces 1558; or, one or more operating systems 1541, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0253] In the embodiment of the present application, the central processing unit 1515 is used to execute actions related to model training in the above embodiments.

[0254] Also provided in an embodiment of the present application is a computer program product which, when executed on a computer, enables the computer to execute the steps executed by the aforementioned execution device, or enables the computer to execute the steps executed by the aforementioned training device.

[0255] A computer-readable storage medium is also provided in an embodiment of the present application, which stores a program for signal processing. When the computer-readable storage medium is run on a computer, it enables the computer to execute the steps executed by the aforementioned execution device, or enables the computer to execute the steps executed by the aforementioned training device.

[0256] The execution device, training device or terminal device provided in the embodiments of the present application may specifically be a chip, and the chip includes: a processing unit and a communication unit, wherein the processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, a pin or a circuit, etc. The processing unit may execute the computer execution instructions stored in the storage unit so that the chip in the execution device executes the data processing method described in the above embodiment, or so that the chip in the training device executes the data processing method described in the above embodiment. Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, etc. The storage unit may also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.

[0257] For details, please refer to Fig.16 , Fig.16 A schematic diagram of the structure of a chip provided in an embodiment of the present application, the chip can be expressed as a neural network processor NPU 1600, NPU 1600 is mounted on the host CPU (Host CPU) as a coprocessor, and the host CPU assigns tasks. The core part of the NPU is the operation circuit 1603, which is controlled by the controller 1604 to extract matrix data in the memory and perform multiplication operations.

[0258] In some implementations, the operation circuit 1603 includes multiple processing units (Process Engine, PE) inside. In some implementations, the operation circuit 1603 is a two-dimensional systolic array. The operation circuit 1603 can also be a one-dimensional systolic array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the operation circuit 1603 is a general-purpose matrix processor.

[0259] For example, assume there is an input matrix A, a weight matrix B, and an output matrix C. The operation circuit takes the corresponding data of matrix B from the weight memory 1602 and caches it on each PE in the operation circuit. The operation circuit takes the matrix A data from the input memory 1601 and performs matrix operation with matrix B, and the partial result or final result of the matrix is ​​stored in the accumulator 1608.

[0260] The unified memory 1606 is used to store input data and output data. The weight data is directly transferred to the weight memory 1602 through the direct memory access controller (DMAC) 1605. The input data is also transferred to the unified memory 1606 through the DMAC.

[0261] BIU stands for Bus Interface Unit 1610 , which is used for the interaction between the AXI bus and the DMAC and the instruction fetch buffer (IFB) 1609 .

[0262] The bus interface unit 1610 (Bus Interface Unit, BIU for short) is used for the instruction fetch memory 1609 to obtain instructions from the external memory, and is also used for the storage unit access controller 1605 to obtain the original data of the input matrix A or the weight matrix B from the external memory.

[0263] DMAC is mainly used to transfer input data in the external memory DDR to the unified memory 1606 or to transfer weight data to the weight memory 1602 or to transfer input data to the input memory 1601.

[0264] The vector calculation unit 1607 includes multiple operation processing units, and further processes the output of the operation circuit 1603 when necessary, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. It is mainly used for non-convolutional / fully connected layer network calculations in neural networks, such as Batch Normalization, pixel-level summation, upsampling of feature planes, etc.

[0265] In some implementations, the vector calculation unit 1607 can store the processed output vector to the unified memory 1606. For example, the vector calculation unit 1607 can apply a linear function; or a nonlinear function to the output of the operation circuit 1603, such as linear interpolation of the feature plane extracted by the convolution layer, and then, for example, a vector of accumulated values ​​to generate an activation value. In some implementations, the vector calculation unit 1607 generates a normalized value, a pixel-level summed value, or both. In some implementations, the processed output vector can be used as an activation input to the operation circuit 1603, for example, for use in a subsequent layer in a neural network.

[0266] An instruction fetch buffer 1609 connected to the controller 1604 is used to store instructions used by the controller 1604;

[0267] Unified memory 1606, input memory 1601, weight memory 1602 and instruction fetch memory 1609 are all on-chip memories. External memories are private to the NPU hardware architecture.

[0268] The processor mentioned in any of the above places may be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the above program.

[0269] It should also be noted that the device embodiments described above are merely schematic, wherein 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 over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.

[0270] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0271] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0272] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.

Claims

1. A data processing method, characterized in that: include: Get the target image; Processing the target image through a first posture recognition model to obtain first posture information of a target object in the target image, wherein the first posture recognition model is obtained by loss training based on the output posture information and corresponding annotations, and the annotation corresponding to the posture information is the true value of the posture information; Processing the target image through a second posture recognition model to obtain second posture information of a target object in the target image; the first posture information and the second posture information are used to describe a three-dimensional posture of the target object; The second posture information is used to determine two-dimensional projection information of the predicted posture of the target object; A loss is constructed according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotations, and the loss is used to update the second posture recognition model.

2. The method according to claim 1, characterized in that The target image is processed by the first posture recognition model to obtain first body shape information of the target object in the target image; The target image is processed by the second posture recognition model to obtain second body shape information of the target object in the target image; The constructing the loss according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotation value includes: A loss is constructed according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotation values, and the first body shape information and the second body shape information.

3. The method according to claim 1, characterized in that The target image is an image region in the original image where the target object is located, and the two-dimensional projection information is represented as a position of the two-dimensional projection of the predicted posture in the original image.

4. The method according to any one of claims 1 to 3, characterized in that: The target object is a person.

5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The target image is processed by the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object.

6. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: sending to the user equipment the posture of the target object obtained by processing the target image with the updated second posture recognition model; or, The updated second gesture recognition model is sent to the user equipment.

7. The method according to any one of claims 1 to 3, characterized in that: The annotation is manually pre-annotated or obtained by processing the target image through a pre-trained model.

8. A data processing device, characterized in that: include: An acquisition module, used for acquiring a target image; An image processing module, used to process the target image through a first posture recognition model to obtain first posture information of a target object in the target image, wherein the first posture recognition model is obtained by loss training based on the output posture information and corresponding annotations, and the annotation corresponding to the posture information is the true value of the posture information; Processing the target image through a second posture recognition model to obtain second posture information of a target object in the target image; the first posture information and the second posture information are used to describe a three-dimensional posture of the target object; The second posture information is used to determine two-dimensional projection information of the predicted posture of the target object; A model updating module is used to construct a loss according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotations, and the loss is used to update the second posture recognition model.

9. The device according to claim 8, characterized in that The target image is processed by the first posture recognition model to obtain first body shape information of the target object in the target image; The target image is processed by the second posture recognition model to obtain second body shape information of the target object in the target image; The model updating module is specifically used for: A loss is constructed according to the first posture information and the second posture information, the two-dimensional projection information and the corresponding annotation values, and the first body shape information and the second body shape information.

10. The device according to claim 8, characterized in that The target image is an image region in the original image where the target object is located, and the two-dimensional projection information is represented as a position of the two-dimensional projection of the predicted posture in the original image.

11. The device according to any one of claims 8 to 10, characterized in that: The target object is a person.

12. The device according to any one of claims 8 to 10, characterized in that: The image processing module is further used for: The target image is processed by the updated second posture recognition model to obtain third posture information of the target object in the target image; the third posture information is used to determine the posture of the target object.

13. The device according to any one of claims 8 to 10, characterized in that: The device also includes: a sending module, configured to send to a user device the posture of the target object obtained by processing the target image with the updated second posture recognition model; or The updated second gesture recognition model is sent to the user equipment.

14. A computer storage medium, characterized in that: The computer storage medium stores one or more instructions which, when executed by one or more computers, cause the one or more computers to perform the operations of the method of any one of claims 1 to 7.

15. A computer program product, characterized in that The method comprises computer-readable instructions, and when the computer-readable instructions are executed on a computer device, the computer device is caused to execute the method according to any one of claims 1 to 7.

16. A data processing system, comprising at least one processor and at least one memory; the processor and the memory are connected via a communication bus and communicate with each other; The at least one memory is used to store code; The at least one processor is configured to execute the code to perform the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Posture recognition method and related equipment thereof

    CN114241597A

Cited By

  • Data processing method and device

    EP4546292A1

  • Data processing method and device

    WO2024017282A1