Motion capture method and device using artificial neural network model

An artificial neural network model automates the detection of object entry and exit in motion capture systems, enhancing efficiency and accuracy by automatically managing skeleton data activation/deactivation, addressing inefficiencies in conventional systems.

WO2026146894A1PCT designated stage Publication Date: 2026-07-09WESTWORLD CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
WESTWORLD CO LTD
Filing Date
2025-11-27
Publication Date
2026-07-09

Smart Images

  • Figure KR2025019912_09072026_PF_FP_ABST
    Figure KR2025019912_09072026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is a method performed by a computing device for motion capture using an artificial neural network model according to an embodiment of the present disclosure. Specifically, according to the present disclosure, the computing device inputs a camera image to a first artificial neural network model, generates event information related to a change in one or more objects in a motion capture space on the basis of utilizing the first artificial neural network model, and generates first motion capture data for one or more objects related to the camera image on the basis of the event information.
Need to check novelty before this filing date? Find Prior Art

Description

Motion capture method and device using an artificial neural network model

[0001] The present disclosure relates to a motion capture method and apparatus utilizing an artificial neural network model. Specifically, it relates to a method and apparatus for generating motion capture data related to camera images based on detecting the appearance and exit of objects within a motion capture space using an artificial neural network model and determining whether to activate skeleton data corresponding to each object accordingly.

[0002] Motion capture technology is used in various industrial fields and plays an important role, particularly in film, games, virtual reality (VR), and augmented reality (AR). This technology uses cameras or sensors to track the movement of people or objects and is utilized to generate motion data that can be used in 3D animations or virtual environments.

[0003] In conventional motion capture systems, various problems can arise during the process of generating motion data. In particular, when multiple characters enter or exit the motion capture space, it is essential to accurately retarget skeleton data for each character to generate appropriate motion capture data. However, this process generally relies on manual work by engineers. If characters are frequently added or deleted, the process becomes cumbersome and inefficient because the activation status of skeleton data for each object must be set manually.

[0004] Furthermore, motion capture data generated using existing technology often contains movements that are physically impossible or unrealistic. Even in such cases, engineers must manually modify or correct the data, which requires significant time and effort. This manual intervention not only reduces the efficiency of motion capture operations but also makes it difficult to maintain the accuracy and reliability of the data.

[0005] Therefore, there is a demand in the industry for an improved method that can automatically activate or deactivate skeleton data even in situations involving the entry and exit of multiple objects, and generate more realistic and accurate motion capture data.

[0006] Korean registered patent KR 2517395 discloses a system and method for creating a metaverse character using bio-information.

[0007] The present disclosure is devised in response to the aforementioned background technology, and specifically aims to generate motion capture data related to camera images based on detecting the appearance and exit of objects within a motion capture space using an artificial neural network model and determining whether to activate skeleton data corresponding to each object accordingly.

[0008] Meanwhile, the technical problem that the present disclosure aims to solve is not limited to the technical problem mentioned above, and various technical problems may be included within the scope obvious to a person skilled in the art from the contents described below.

[0009] According to an embodiment of the present disclosure for realizing the aforementioned objectives, a motion capture method and apparatus utilizing an artificial neural network model are disclosed. The method may include the steps of: inputting a camera image into a first artificial neural network model; generating event information related to a change in one or more objects within a motion capture space based on utilizing the first artificial neural network model; and generating first motion capture data for one or more objects related to the camera image based on the event information.

[0010] In one embodiment, the event information may include one or more of: first event information related to a first object newly appearing in the motion capture space or second event information related to a second object exiting the motion capture space.

[0011] In one embodiment, the step of generating event information related to a change in one or more objects within a motion capture space based on utilizing the first artificial neural network model may include: performing one or more of the following: generating first event information when the first object newly appears in the motion capture space, or generating second event information when the second object exits the motion capture space.

[0012] In one embodiment, the step of generating first motion capture data for one or more objects associated with the camera image based on the event information may include: determining whether a skeleton asset corresponding to each of one or more objects in the motion capture space is activated based on the event information, and generating first motion capture data for one or more objects associated with the camera image based on the camera image and the currently activated skeleton asset.

[0013] In one embodiment, the step of determining whether to activate a skeleton asset corresponding to each of one or more objects in the motion capture space based on the event information may include: a step of activating a first skeleton asset, which is a skeleton asset corresponding to the first object, when the event information includes first event information; and a step of deactivating a second skeleton asset, which is a skeleton asset corresponding to the second object, when the event information includes second event information.

[0014] In one embodiment, the first artificial neural network model may be an artificial neural network model trained to generate event information when an object included in the motion capture space changes based on object detection.

[0015] In one embodiment, the first artificial neural network model may be a trained artificial neural network model comprising the steps of: generating a training data set based on reference camera image data capturing rotational motion for each object and label data corresponding to each object; and training the first artificial neural network model to identify and classify each object in the reference camera image based on the training data set.

[0016] In one embodiment, the step of generating first motion capture data for one or more objects associated with the camera image based on the event information may include: generating first verification data based on verifying the position of a marker for motion capture corresponding to an object included in the camera image, and generating alarm information if there is an abnormality in the first verification data.

[0017] In one embodiment, the method may further include the step of generating second motion capture data, which is corrected motion capture data, based on inputting the first motion capture data into a second artificial neural network model.

[0018] In one embodiment, the step of generating second motion capture data, which is corrected motion capture data, based on inputting the first motion capture data to the second artificial neural network model may include: a step of filtering data related to the contact point of an object included in the first motion capture data; a step of generating second verification data based on verifying the validity of the data related to the contact point of the object; and a step of generating the second motion capture data based on the second verification data.

[0019] In one embodiment, the step of generating second motion capture data, which is corrected motion capture data, based on inputting the first motion capture data into a second artificial neural network model may include: generating virtual motion capture data of one or more third objects included in the first motion capture data based on reference motion capture data, and generating second motion capture data based on inputting the virtual motion capture data of the one or more third objects and the first motion capture data into the second artificial neural network model.

[0020] In one embodiment, the step of generating virtual motion capture data of one or more third objects included in the first motion capture data based on reference motion capture data may include: a step of identifying one or more third objects included in the first motion capture data and a step of generating virtual motion capture data of the one or more third objects based on comparing the skeleton of the reference object included in the reference motion capture data with the skeleton of the one or more third objects.

[0021] According to an embodiment of the present disclosure for realizing the aforementioned objectives, a computer program stored in a computer-readable storage medium is disclosed, which enables a computing device to perform operations for motion capture using an artificial neural network model. The operations may include: an operation of inputting a camera image into a first artificial neural network model; an operation of generating event information related to a change in one or more objects within a motion capture space based on utilizing the first artificial neural network model; and an operation of generating first motion capture data for one or more objects related to the camera image based on the event information.

[0022] According to an embodiment of the present disclosure for realizing the aforementioned objectives, a computing device for motion capture utilizing an artificial neural network model is disclosed. The computing device includes one or more processors and a memory, wherein the one or more processors input a camera image into a first artificial neural network model, generate event information related to a change in one or more objects within a motion capture space based on utilizing the first artificial neural network model, and generate first motion capture data for one or more objects related to the camera image based on the event information.

[0023] The present disclosure enables the automatic detection of the entry and exit of objects within a motion capture space using an artificial neural network model, and determines whether to activate the skeleton data corresponding to each object, thereby significantly improving the efficiency and accuracy of motion capture operations. Furthermore, it eliminates the inconvenience of the work process by automating tasks that previously had to be handled manually by engineers, and enables stable data processing even in environments where characters are frequently added or deleted. Additionally, the present disclosure generates motion data that reflects only realistic movements, thereby minimizing the need for additional correction work caused by unrealistic motions.

[0024] Meanwhile, the effects of the present disclosure are not limited to those mentioned above, and various effects may be included within the scope obvious to a person skilled in the art from the contents described below.

[0025] FIG. 1 is a block diagram of a computing device for motion capture using an artificial neural network model according to one embodiment of the present disclosure.

[0026] FIG. 2 illustrates an exemplary structure of an artificial intelligence-based model according to one embodiment of the present disclosure.

[0027] FIG. 3 is a flowchart illustrating a process for motion capture using an artificial neural network model according to one embodiment of the present disclosure.

[0028] FIG. 4 is a conceptual diagram illustrating the process of generating first motion capture data according to one embodiment of the present disclosure.

[0029] FIG. 5 is a conceptual diagram illustrating the process of generating first motion capture data using an artificial neural network model when one or more objects newly appear in the motion capture space according to one embodiment of the present disclosure.

[0030] FIG. 6 is a conceptual diagram illustrating the process of generating first motion capture data using an artificial neural network model when one or more objects exit a motion capture space according to one embodiment of the present disclosure.

[0031] FIG. 7 is a conceptual diagram illustrating a process of generating corrected motion capture data based on inputting virtual motion capture data of an object and first motion capture data into a second artificial neural network model according to one embodiment of the present disclosure.

[0032] FIG. 8 is a conceptual diagram illustrating a process of generating corrected motion capture data based on filtering data related to the contact points of an object included in the first motion capture data according to one embodiment of the present disclosure.

[0033] FIG. 9 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

[0034] The present disclosure discloses a method and apparatus for generating motion capture data related to camera images, based on detecting the appearance and exit of objects within a motion capture space using an artificial neural network model and determining whether to activate skeleton data corresponding to each object accordingly.

[0035] Various embodiments are now described with reference to the drawings. In this specification, various descriptions are provided to provide an understanding of the present disclosure. However, it is evident that these embodiments can be practiced without such specific descriptions.

[0036] As used herein, terms such as “component,” “module,” “system,” etc. refer to computer-related entities, hardware, firmware, software, combinations of software and hardware, or executions of software. For example, a component may be a procedure executed on a processor, a processor, an object, an execution thread, a program, and / or a computer, but is not limited thereto. For example, both an application executed on a computing device and the computing device itself may be a component. One or more components may reside within a processor and / or an execution thread. One component may be localized within a single computer. In this disclosure, one or more components may be distributed between two or more computers, i.e., between execution environments. Additionally, these components may be executed from various computer-readable media having various data structures stored therein. Components may communicate through local and / or remote processes, for example, according to signals having one or more data packets (e.g., data from one component interacting with another component in a local system or distributed system, and / or data transmitted through signals to other systems and networks such as the Internet).

[0037] Furthermore, the term "or" is intended to mean an implicit "or" rather than an exclusive "or." That is, unless otherwise specified or evident from the context, "X uses A or B" is intended to mean one of the natural implicit substitutions. In other words, if X uses A; if X uses B; or if X uses both A and B, "X uses A or B" may apply to any of these cases. Additionally, the term "and / or" as used herein should be understood to refer to and include all possible combinations of one or more of the enumerated related items.

[0038] Additionally, the terms “comprising” and / or “comprising” should be understood to mean that such features and / or components are present. However, the terms “comprising” and / or “comprising” should be understood not to exclude the presence or addition of one or more other features, components and / or groups thereof. Furthermore, unless otherwise specified or clearly evident from the context to indicate a singular form, the singular in this specification and claims should generally be interpreted to mean “one or more.”

[0039] And, the term “at least one of A or B” should be interpreted to mean “a case including only A,” “a case including only B,” or “a combination of A and B.”

[0040] Those skilled in the art should recognize that the various exemplary logical blocks, configurations, modules, circuits, means, logics, and algorithmic steps described in connection with the embodiments disclosed herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly exemplify the interchangeability of hardware and software, various exemplary components, blocks, configurations, means, logics, modules, circuits, and steps have been generally described above in terms of their functionality. Whether such functionality is implemented in hardware or software depends on the specific application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each specific application. However, such decisions regarding implementation should not be construed as going beyond the scope of this disclosure.

[0041] Description of the presented embodiments is provided to enable those skilled in the art to use or practice the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein. The present disclosure should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

[0042] In the present disclosure, "production data" refers to data for producing content, which may mean data transmitted through a plurality of data streams included in a specific media protocol. For example, the production data of the present disclosure may be in the form of data streams satisfying the SMPTE 2110 protocol. In this case, the production data may include audio data streams, video data streams, ancillary data streams, and time data streams. Additionally, the production data of the present disclosure may include, in addition to data for producing content, incidental data related to the production of content, such as metadata of the content and lighting information in virtual production. However, the format of the production data and the types of data streams included in the present disclosure are not limited to a specific protocol and include various forms of data that can be used in a virtual production environment and / or a broadcast environment.

[0043]

[0044] FIG. 1 is a block diagram of a computing device for motion capture using an artificial neural network model according to one embodiment of the present disclosure.

[0045] The configuration of the computing device (100) illustrated in FIG. 1 is merely a simplified example. In one embodiment of the present disclosure, the computing device (100) may include other configurations for performing the computing environment of the computing device (100), and only some of the disclosed configurations may constitute the computing device (100).

[0046] The computing device (100) may include a processor (110), memory (130), and a network unit (150).

[0047] The processor (110) may be composed of one or more cores and may include a processor for data analysis and deep learning, such as a central processing unit (CPU) of a computing device, a general purpose graphics processing unit (GPGPU), or a tensor processing unit (TPU). The processor (110) may read a computer program stored in memory (130) and perform data processing for machine learning according to one embodiment of the present disclosure. According to one embodiment of the present disclosure, the processor (110) may perform calculations for learning a neural network. The processor (110) may perform calculations for learning a neural network, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating the weights of the neural network using backpropagation.

[0048] At least one of the CPU, GPGPU, and TPU of the processor (110) can process the learning of a network function. For example, the CPU and GPGPU can together process the learning of a network function and data classification using the network function. In addition, in one embodiment of the present disclosure, processors of a plurality of computing devices can be used together to process the learning of a network function and data classification using the network function. In addition, a computer program executed in a computing device according to one embodiment of the present disclosure may be a CPU, GPGPU, or TPU executable program.

[0049] In the present disclosure, a "motion capture space" may refer to a physical area where a motion capture system can track motion and collect data, that is, an actual space where the movement of a person or object can be detected within the range where motion capture equipment is installed. For example, a "motion capture space" may include a space detectable by multiple cameras and sensors installed to capture the movements of actors in a film production studio, or a specific area within a gymnasium that records the movements of athletes for sports analysis. Such a motion capture space is typically defined by the arrangement of cameras and sensors, environmental conditions, tracking range, etc., and may include settings for capturing not only human body movements but also the movement and interaction of objects.

[0050] The processor (110) may input camera images into a first artificial neural network model to generate motion capture data. In the present disclosure, camera images may refer to images obtained through cameras installed inside or outside the motion capture space.

[0051] In the present disclosure, the first artificial neural network model may be an artificial neural network model trained to generate event information when an object included in the motion capture space changes based on object detection. In the present disclosure, the first artificial neural network model may be trained based on a training data set generated based on reference camera image data and label data corresponding to each object included in the reference camera image data. For example, the reference camera image may include an image of a first character with a marker attached for motion capture. In this case, the label data may be 'first character', and the label data may be labeled only in the frame in the reference camera image where the first character appears. In this case, the training data may be in the form of a pair of reference camera image data-label data.

[0052] The first artificial neural network model can be trained based on a training dataset to generate event information at the point in time when a specific object appears in a reference camera image, or at the point in time when a specific object appears. For example, the first artificial neural network model may be an artificial neural network model trained to receive one or more frames of the reference image corresponding to each time point as input, and to output 'B' if there is no change in the object within the frame, output 'A' and the identifier (ID) of the object if a frame in which a new object appears is input, and output 'C' and the identifier of the object if a frame in which an existing object exits is input.

[0053]

[0054] The processor (110) can generate event information related to one or more changes within the motion capture space based on utilizing a first artificial neural network model. At this time, the event information may include one or more of first event information related to a first object newly appearing in the motion capture space or second event information related to a second object exiting the motion capture space. The processor (110) can generate first event information when a first object newly appears in the motion capture space. Additionally, the processor (110) can generate second event information when a second object exits the motion capture space. The specific process of the processor (110) generating event information will be described later with reference to FIG. 4.

[0055] The processor (110) can generate first motion capture data for one or more objects related to a camera image based on event information. For example, the processor (110) can generate first motion capture data corresponding to an image of a first object included in the camera image based on event information.

[0056] To generate motion capture data, the processor (110) can determine whether to activate a skeleton asset corresponding to each of one or more objects in the motion capture space based on event information. For example, the processor (110) can activate a first skeleton asset corresponding to the first object when a first event information is generated by the appearance of a first object in the motion capture space. On the other hand, the processor (110) can deactivate a second skeleton asset corresponding to the second object when a second event information is generated by the exit of a second object that was present in the motion capture space.

[0057] After determining whether to activate a skeleton asset based on event information, the processor (110) can generate motion capture data corresponding to an object included in the camera image based on the camera image and the currently activated skeleton asset. For example, when a first object appears in the camera image and a second object exits, the processor (110) can activate a first skeleton asset corresponding to the first object and deactivate a second skeleton asset corresponding to the second object, and then target the currently activated first skeleton asset to the first object included in the camera image.

[0058] In the present disclosure, the processor (110) generates first verification data based on verifying the position of a marker for motion capture corresponding to an object included in a camera image, and can generate alarm information if there is an abnormality in the first verification data.

[0059] For example, if it is identified that a first object is included in a camera image, the processor (110) can compare the marker information of the first object registered in the database with the marker information of the first object included in the camera image and generate first verification data based on the comparison. After that, if there is an anomaly in the first verification data, for example, if the marker information of the first object included in the camera image and the marker information of the first object registered in the database are inconsistent, the processor (110) can generate alarm information to warn the user that the identification of the object is incorrect.

[0060] The processor (110) can generate second motion capture data, which is corrected motion capture data, based on inputting first motion capture data into a second artificial neural network model. Below, a first embodiment and a second embodiment for generating second motion capture data will be described.

[0061] In the first embodiment of the present disclosure, the processor (110) may generate second verification data based on verifying the validity of the data related to the contact points of an object included in the first motion capture data after filtering the data related to the contact points. Then, the processor (110) may generate second motion capture data that corrects the first motion capture data based on the second verification data. A specific method for generating second motion capture data based on the validity of the data related to the contact points will be described later with reference to FIG. 8.

[0062] In the second embodiment of the present disclosure, the processor (110) may generate virtual motion capture data of a third object, which is an object included in the first motion capture data, based on reference motion capture data. At this time, the virtual motion capture data may be motion capture data generated by taking into account the difference in the ratio of the object of the reference motion capture data and the skeleton of the third object.

[0063] After that, the processor (110) can generate second motion capture data, which is corrected motion capture data, based on inputting both the first motion capture data, which includes virtual motion capture data of the third object and actual motion capture data of the third object, into the second artificial neural network model. A specific method for generating second motion capture data based on virtual motion capture data will be described later with reference to FIG. 7.

[0064] Through the present disclosure, the retargeting operation of manually retargeting skeleton assets corresponding to each object while an engineer monitors camera footage can be performed automatically using an artificial neural network model. As a result, the present disclosure provides a significant effect in that motion capture data can be generated efficiently.

[0065]

[0066] According to one embodiment of the present disclosure, the memory (130) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, a magnetic disk, and an optical disk. The computing device (100) may operate in conjunction with web storage that performs the storage function of the memory (130) on the internet. The description of the memory described above is merely an example and the present disclosure is not limited thereto.

[0067] A network unit (150) according to one embodiment of the present disclosure can use various wired communication systems such as a public switched telephone network (PSTN), xDSL (x Digital Subscriber Line), RADSL (Rate Adaptive DSL), MDSL (Multi Rate DSL), VDSL (Very High Speed ​​DSL), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and a local area network (LAN).

[0068] In addition, the network unit (150) presented in this specification may use various wireless communication systems such as CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier-FDMA), and other systems.

[0069] In the present disclosure, the network unit (150) may use any type of wired or wireless communication system.

[0070] The technologies described in this specification can be used not only in the networks mentioned above but also in other networks.

[0071]

[0072] FIG. 2 illustrates an exemplary structure of an artificial intelligence-based model according to one embodiment of the present disclosure.

[0073] Throughout this specification, artificial intelligence model, artificial intelligence-based model, computational model, neural network, network function, and neural network may be used interchangeably.

[0074] A neural network can be composed of a set of interconnected computational units that may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network is composed of at least one node. The nodes (or neurons) constituting neural networks may be interconnected by one or more links.

[0075] In a neural network, one or more nodes connected via links can form relative input and output node relationships. The concepts of input and output nodes are relative; any node in an output node relationship with respect to one node may be in an input node relationship with respect to another node, and vice versa. As described above, the input node versus output node relationship can be generated based on links. One or more output nodes may be connected to a single input node via links, and vice versa.

[0076] In a relationship between an input node and an output node connected through a single link, the value of the output node's data can be determined based on the data input to the input node. Here, the link interconnecting the input node and the output node may have a weight. The weight can be variable and can be varied by the user or an algorithm to enable the neural network to perform the desired function. For example, if one or more input nodes are interconnected to a single output node by respective links, the output node's value can be determined based on the values ​​input to the input nodes connected to the output node and the weights set on the links corresponding to each input node.

[0077] As described above, a neural network consists of one or more nodes interconnected through one or more links, forming input-output node relationships within the network. The characteristics of a neural network can be determined by the number of nodes and links within the network, the relationships between the nodes and links, and the weight values ​​assigned to each link. For example, if two neural networks exist with the same number of nodes and links but different weight values ​​for the links, the two neural networks may be recognized as different from each other.

[0078] A neural network can be composed of a set of one or more nodes. A subset of nodes constituting a neural network can form a layer. Some of the nodes constituting a neural network can form a layer based on their distances from an initial input node. For example, a set of nodes with a distance of n from an initial input node can form n layers. The distance from the initial input node can be defined by the minimum number of links that must be traversed to reach that node from the initial input node. However, this definition of a layer is arbitrary for illustrative purposes, and the degree of a layer within a neural network can be defined in a way different from that described above. For example, a layer of nodes may be defined by its distance from a final output node.

[0079] In one embodiment of the present disclosure, a set of neurons or nodes may be defined by the expression a layer.

[0080] Initial input nodes may refer to one or more nodes within a neural network to which data is directly input without passing through links in their relationships with other nodes. Alternatively, in terms of link-based relationships between nodes within the neural network, they may refer to nodes that do not have other input nodes connected by links. Similarly, final output nodes may refer to one or more nodes within a neural network that do not have output nodes in their relationships with other nodes. Furthermore, hidden nodes may refer to nodes constituting the neural network that are neither initial input nodes nor final output nodes.

[0081] A neural network according to one embodiment of the present disclosure may have the number of nodes in the input layer equal to the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases and then increases again as it progresses from the input layer to the hidden layer. Additionally, a neural network according to another embodiment of the present disclosure may have the number of nodes in the input layer less than the number of nodes in the output layer, and may be a neural network in which the number of nodes increases as it progresses from the input layer to the hidden layer. Additionally, a neural network according to yet another embodiment of the present disclosure may have the number of nodes in the input layer greater than the number of nodes in the output layer, and may be a neural network in which the number of nodes decreases as it progresses from the input layer to the hidden layer. A neural network according to yet another embodiment of the present disclosure may be a neural network in which the above-described neural networks are combined.

[0082] An artificial intelligence-based model according to one embodiment of the present disclosure may include a deep neural network (DNN). A deep neural network may refer to a neural network that includes a plurality of hidden layers in addition to an input layer and an output layer. By using a deep neural network, latent structures of data can be identified. That is, latent structures of photos, text, video, voice, protein sequence structures, gene sequence structures, peptide sequence structures, music (e.g., what objects are in the photo, what is the content and emotion of the text, what is the content and emotion of the voice, etc.), and / or binding affinity between peptides and MHCs can be identified. Deep neural networks may include convolutional neural networks (CNN), recurrent neural networks (RNN), autoencoders, restricted Boltzmann machines (RBM), deep belief networks (DBN), Q networks, U networks, Siamese networks, Generative Adversarial Networks (GAN), Transformers, etc. The description of deep neural networks described above is merely illustrative and the present disclosure is not limited thereto.

[0083] The artificial intelligence-based model of the present disclosure may be represented by a network structure of any structure described above, including an input layer, a hidden layer, and an output layer.

[0084] A neural network that can be used in an artificial intelligence-based model of the present disclosure may be trained in at least one of supervised learning, unsupervised learning, semi-supervised learning, transfer learning, active learning, or reinforcement learning. Training of a neural network may be a process of applying knowledge to the neural network to perform a specific operation.

[0085] Neural networks can be trained to minimize the error in their output. The training process involves repeatedly inputting training data into the network, calculating the error between the network's output and the target for the training data, and updating the weights of each node by backpropagating the error from the output layer to the input layer in a direction that reduces the error. In supervised learning, training data is used where the correct answer is labeled for each data point (i.e., labeled training data), whereas in unsupervised learning, the correct answer may not be labeled for each training data point. For instance, in the case of supervised learning for data classification, the training data may consist of data where each training point is labeled with a category. Labeled training data is input into the neural network, and the error can be calculated by comparing the network's output (category) with the labels of the training data. As another example, in the case of unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network's output. The calculated error is backpropagated in the neural network (i.e., from the output layer to the input layer), and through backpropagation, the connection weights of each node in each layer of the neural network can be updated. The amount of change in the connection weights of each node being updated can be determined by the learning rate. The neural network's calculation of the input data and the backpropagation of the error can constitute a learning cycle (epoch). The learning rate can be applied differently depending on the number of iterations of the neural network's learning cycle. For example, a high learning rate can be used in the early stages of training to quickly achieve a certain level of performance and increase efficiency, while a low learning rate can be used in the later stages to improve accuracy.

[0086] In the training of neural networks, the training data is generally a subset of the real-world data (i.e., the data intended to be processed using the trained neural network). Consequently, a training cycle may exist where errors decrease on the training data but increase on the real-world data. Overfitting is a phenomenon where the network learns excessively on the training data, leading to increased errors on the real-world data. For example, a neural network trained on yellow cats might fail to recognize cats when seeing anything other than yellow, which can be considered a type of overfitting. Overfitting can act as a cause for increased errors in machine learning algorithms. Various optimization methods can be used to prevent this overfitting. To prevent overfitting, methods such as increasing the training data, regularization, dropout (which disables some nodes in the network during training), and the use of batch normalization layers can be applied.

[0087] An AI-based model according to one embodiment of the present disclosure may include a Large Language Model (LLM). In the present disclosure, a Large Language Model may refer to an AI-based model trained using a vast amount of training data to perform Natural Language Processing. The Large Language Model may include a transformer, a transformer encoder family model, and / or a transformer decoder family model. A transformer encoder family model may correspond to an AI model using a transformer encoder structure. A transformer decoder family model may correspond to an AI model using a transformer decoder structure.

[0088] In one embodiment, the transformer may be composed of an encoder that encodes input data and a decoder that decodes the encoded data. The transformer may have a structure that takes a series of input data as input, undergoes encoding and decoding steps, and outputs a series of output data. In one embodiment, the series of input data may be processed into a form that the transformer can compute. The process of processing the series of input data into a form that the transformer can compute may include a tokenizing process and an embedding process. The tokenizing process may refer to the process of dividing the series of input data into tokens of a certain unit. For example, the certain unit may include word units. The embedding process may refer to the process of converting at least one token tokenized from the series of input data into an embedding vector.

[0089] In one embodiment, the transformer can obtain an embedding vector to be input to an encoder by combining a token embedding vector that embeds at least one token corresponding to a series of input data, a segment embedding vector that distinguishes sentences containing the tokens for each token, and a position embedding vector that reflects the position of the token. The encoder family model and the decoder family model of the transformer can also obtain embedding vectors by performing the same method.

[0090] In one embodiment, for the transformer to encode and decode a series of input data, the encoder and decoder within the transformer may utilize an attention algorithm. An attention algorithm may refer to an algorithm that, for a given query, calculates similarity by applying a softmax function to an attention score obtained by matrix multiplying the query with a key, and calculates an attention value for the query by matrix multiplying the calculated similarity with a value.

[0091] In one embodiment, the self-attention algorithm may refer to an attention algorithm that uses a query, a key, and a value generated by multiplying the same embedding vector by a query weight, a key weight, and a value weight, respectively. The cross-attention algorithm may refer to an attention algorithm that uses a query generated by multiplying a first embedding vector by a query weight, and a key and a value generated by multiplying a second embedding vector by a key weight and a value weight, respectively. The query weight, the key weight, and the value weight may be trainable parameters that are updated through the training process of a large-scale language model.

[0092] In one embodiment, the encoder of the transformer may include an embedding layer, a self-attention layer that applies a self-attention algorithm to an embedding vector, a normalization layer, and a feed-forward neural network (FFN). Additionally, the encoder may have a form in which N unit structures including a self-attention layer, a normalization layer, and a feed-forward neural network are connected. The decoder of the transformer may include an embedding layer, a masked self-attention layer, a normalization layer, a cross-attention layer that applies a cross-attention algorithm, and a feed-forward neural network. Additionally, the decoder may have a form in which N unit structures including a masked self-attention layer, a normalization layer, a cross-attention layer, and a feed-forward neural network are connected. The masked self-attention layer may correspond to a layer that calculates an attention value for each of the sequences in which words are sequentially included among a plurality of words included in a series of input data.

[0093] A transformer may include additional components such as a linear layer and a softmax layer, in addition to an encoder and a decoder. The encoder family model and the decoder family model of a transformer may also each include the aforementioned additional components in addition to the encoder and decoder. A method for constructing a transformer using an attention algorithm may include the method disclosed in Vaswani et al., Attention Is All You Need, 2017 NIPS, which is incorporated herein by reference.

[0094] In one embodiment, attention layers such as a self-attention layer, a masked self-attention layer, and a cross-attention layer may correspond to a multi-head attention layer that includes a plurality of attention layers in parallel. The multi-head attention layer may concatenate the attention values ​​output from each of the plurality of attention layers and output an output attention value by matrix multiplying the concatenated matrix by an output weight. The output attention value output from the multi-head attention layer may have the same size as the attention value output from a single attention layer.

[0095] In one embodiment, the transformer may be trained through a Masked Language Model (MLM) process, a Next Sentence Prediction (NSP) process, etc. The MLM process may refer to a training process that predicts a masked word through a series of training data in which some words are masked. The NSP process may refer to a training process that determines whether two sentences are connected sentences in a series of training data containing any two sentences.

[0096] In one embodiment, a large-scale language model can process various data formats, such as natural language text as well as image data, audio data, and video data. The large-scale language model can embed data to convert data of various data formats into a series of computationally operable data. The large-scale language model can process additional data that represents the relative positional or topological relationships between a series of input data. Alternatively, a series of input data may be embedded by additionally reflecting vectors that represent the relative positional or topological relationships between the input data. In one example, the relative positional relationships between a series of input data may include, but are not limited to, word order within a natural language sentence, the relative positional relationships of each segmented image, and the temporal order of segmented audio waveforms. The process of adding information that represents the relative positional or topological relationships between a series of input data may be referred to as positional encoding.

[0097] An example of a large-scale language model for processing image data (Vision Transformer, ViT) is disclosed in Dosovitskiy, et al., AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE, which is incorporated herein by reference.

[0098] An artificial intelligence model according to one embodiment of the present disclosure may include a multimodal large-scale language model. A multimodal large-scale language model may refer to a large-scale language model capable of understanding and processing relationships between different data formats, such as natural language text data, image data, audio data, and video data. A multimodal language model may include a plurality of encoders that encode input data corresponding to each data format. A multimodal language model may be trained to calculate similarity between embedding vectors encoded by encoders of each data format through training data containing data of different data formats, such that similarity between identical pairs is calculated to be higher and similarity between different pairs is calculated to be lower.

[0099] An example of a large-scale multimodal language model that understands and processes the relationship between image data and natural language text data (Contrastive Language-Image Pre-training, CLIP) is disclosed in Alec Radford, et al., *LEARNING TRANSFERABLE VISUAL MODELS FROM NATURAL LANGUAGE SUPERVISION*, which is incorporated herein by reference.

[0100]

[0101] FIG. 3 is a flowchart illustrating a process for motion capture using an artificial neural network model according to one embodiment of the present disclosure.

[0102] According to FIG. 3, a process for motion capture using an artificial neural network model of the present disclosure may include the step of inputting a camera image into a first artificial neural network model (S110), the step of generating event information related to a change in one or more objects within a motion capture space based on utilizing the first artificial neural network model (S130), and the step of generating first motion capture data for one or more targets related to the camera image based on the event information (S150).

[0103] In step S110, the processor (110) can input camera images into a first artificial neural network model. As previously mentioned with reference to FIG. 1, the first artificial neural network model in this disclosure may be an artificial neural network model trained to generate event information when an object included in the motion capture space changes based on object detection.

[0104] In step S130, the processor (110) can generate event information related to changes in one or more objects within the motion capture space based on utilizing a first artificial neural network model. The first artificial neural network model can generate first event information as an output indicating that an object has appeared when a new object appears within the motion capture space, or generate second event information as an output indicating that an object has exited when an object existing within the motion capture space exits.

[0105] In step S150, the processor (110) may generate first motion capture data for one or more targets associated with the camera image. For example, the processor (110) may target an activated skeleton asset for each target included in the camera image and generate motion data of the skeleton asset corresponding to the motion of each target included in the camera image as the first motion capture data. A specific method for generating the first motion capture data has been described above with reference to FIG. 1.

[0106]

[0107] FIG. 4 is a conceptual diagram illustrating the process of generating first motion capture data according to one embodiment of the present disclosure.

[0108] In the present disclosure, a plurality of cameras (411) are installed in the motion capture space (410) to capture images of an object (412).

[0109] The images captured by each camera (411) can be transmitted to the video processing unit (420). The video processing unit (420) integrates the images captured by each camera into one, and the marker data included in each image can be processed.

[0110] The motion capture unit (430) receives data from the video processing unit (420) and can generate first motion capture data (440) for each video. If an artificial neural network model is not used, an engineer can assign a skeleton asset corresponding to each object by looking at the motion capture markers attached to each object based on the camera image, and then the motion capture unit (430) can generate first motion capture data (440) corresponding to each object.

[0111]

[0112] FIG. 5 is a conceptual diagram illustrating the process of generating first motion capture data using an artificial neural network model when one or more objects newly appear in the motion capture space according to one embodiment of the present disclosure.

[0113] In the present disclosure, a plurality of cameras (511) are installed in the motion capture space (510) to capture images of a first object (512) that has newly appeared in the motion capture space. In the video processing unit (520), images captured by each camera are integrated into one, and marker data included in each image can be processed.

[0114] The artificial neural network model (550) receives an image transmitted from the video processing unit (520), identifies the frame in which the first object appears, and can generate first event information. At this time, the first event information may include information about the time when a new object appears, an identifier of the newly appeared object (in this case, the first object), and information about its location within the image.

[0115] The motion capture unit (530) receives first event information output by an artificial neural network, activates a skeleton asset corresponding to a newly appearing object in the camera image, i.e., a first object, and then targets the skeleton asset to the first object. After that, the motion capture unit (530) can generate first motion capture data (540) corresponding to an object included in the camera image based on the targeted skeleton asset and the camera image.

[0116]

[0117] FIG. 6 is a conceptual diagram illustrating the process of generating first motion capture data using an artificial neural network model when one or more objects exit a motion capture space according to one embodiment of the present disclosure.

[0118] In the present disclosure, a plurality of cameras (611) are installed in the motion capture space (610) to capture images of a second object (612) that has exited the motion capture space. In the video processing unit (620), images captured by each camera are integrated into one, and marker data included in each image can be processed.

[0119] The artificial neural network model (650) receives a video transmitted from the video processing unit (620) and can generate second event information by identifying a frame in which the second object no longer exists. At this time, the second event information may include information about the time when the second object exited and information about the identifier of the exited object (in this case, the second object).

[0120] The motion capture unit (630) receives second event information output by an artificial neural network and can deactivate a skeleton asset corresponding to an object that has disappeared from the camera image, i.e., a second object. After that, the motion capture unit (630) can generate first motion capture data (540) corresponding to an object included in the camera image based on the camera image and the skeleton asset that is currently activated and targeted to another object.

[0121]

[0122] FIG. 7 is a conceptual diagram illustrating a process of generating corrected motion capture data based on inputting virtual motion capture data of an object and first motion capture data into a second artificial neural network model according to one embodiment of the present disclosure.

[0123] In a second embodiment of the present disclosure, the reference motion capture data (720) may include accurate motion capture data generated to correspond to each movement of the motion capture actor, which was filmed in advance.

[0124] The processor (110) can generate virtual motion capture data (730) for one or more third objects included in the first motion capture data (710) generated based on camera images, based on reference motion capture data (720). Specifically, the processor (110) can generate virtual motion capture data (730) for the third objects by identifying one or more third objects included in the first motion capture data (710) and then comparing the skeleton of the reference object included in the reference motion capture data (720) with the skeleton of the third object. At this time, the virtual motion capture data (730) can be generated by reflecting the ratio difference between the skeleton of the reference object and the skeleton of the third object included in the camera images.

[0125] Afterward, the processor (110) can generate a second motion capture data (740), which is corrected motion capture data, based on inputting the virtual motion capture data (730) of the third object, generated by referring to the reference motion capture data (720), and the actual first motion capture data (710) into a second artificial neural network model. In this case, even if the first motion capture data initially captured contains errors that are inconsistent with the actual motion, the second motion capture data, which is corrected to be similar to the actual motion, can be generated by referring to the reference motion capture data (720) that recorded the accurate motion.

[0126]

[0127] FIG. 8 is a conceptual diagram illustrating a process of generating corrected motion capture data based on filtering data related to the contact points of an object included in the first motion capture data according to one embodiment of the present disclosure.

[0128] In the first embodiment of the present disclosure, the processor (110) can filter data related to contact points of an object included in the first motion capture data (810) generated based on camera images. For example, the processor (110) can identify in the first motion capture data (810) parts where an object contacts the floor, parts where contact occurs between different objects, and parts within the same object where contact is required or should not occur, and extract the corresponding data to generate filtered data (820).

[0129] After that, the processor (110) can generate second verification data based on verifying the validity of data related to the object's contact point in the filtered data (820). For example, the processor (110) can generate second verification data by identifying, based on the filtered data (820), cases where the object is floating off the floor, cases where the hand penetrates the waist while the object is in a position with the hand on the waist, cases where different objects overlap, etc., and determining that each motion capture data is invalid.

[0130] After that, the processor (110) can generate second motion capture data (830), which is motion capture data corrected based on the first motion capture data (810), by referring to the second verification data. In this case, the processor (110) can verify whether the motion capture data has been generated in accordance with reality by repeating the process of generating second verification data based on the second motion capture data (830).

[0131]

[0132] Meanwhile, a computer-readable medium storing a data structure is disclosed according to an embodiment of the present disclosure.

[0133] A data structure can refer to the organization, management, and storage of data that enables efficient access and modification of data. A data structure can refer to the organization of data for solving specific problems (e.g., data retrieval, data storage, data modification in the shortest possible time). A data structure may also be defined by physical or logical relationships between data elements designed to support specific data processing functions. Logical relationships between data elements may include connections between user-defined data elements. Physical relationships between data elements may include actual relationships between data elements physically stored on a computer-readable storage medium (e.g., a permanent storage device). Specifically, a data structure may include sets of data, relationships between data, and functions or instructions applicable to the data. Through an effectively designed data structure, a computing device can perform operations while minimizing the use of its resources. Specifically, through an effectively designed data structure, a computing device can increase the efficiency of operations, reading, insertion, deletion, comparison, exchange, and retrieval.

[0134] Data structures can be classified into linear and non-linear data structures based on their form. A linear data structure is one where only one piece of data is connected to the next. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a set of data that maintains an internal order. Lists can include linked lists. A linked list is a data structure where data is connected in a line, with each piece of data possessing a pointer. In a linked list, the pointer can contain information regarding the connection to the next or previous data. Depending on its form, a linked list can be represented as a singly linked list, a doubly linked list, or a circular linked list. A stack is a data arrangement structure that allows for restricted access to data. A stack can be a linear data structure where data can be processed (e.g., insertion or deletion) only at one end. Data stored in a stack can be a Last-In, First-Out (LIFO) data structure, meaning that the later an item is entered, the sooner it is retrieved. A queue is a data sequence structure that allows for limited access to data; unlike a stack, it can be a FIFO (First in First Out) data structure where data stored later is retrieved later. A deque is a data structure that can process data at both ends.

[0135] Non-linear data structures can be structures where multiple data are connected after a single piece of data. Non-linear data structures may include graph data structures. A graph data structure can be defined by vertices and edges, and an edge may include a line connecting two different vertices. Graph data structures may include tree data structures. A tree data structure may be a data structure where there is only one path connecting two different vertices among the multiple vertices included in the tree. In other words, it may be a data structure that does not form a loop in a graph data structure.

[0136] Throughout this specification, computational model, neural network, network function, and neural network may be used interchangeably. Hereinafter, the term neural network will be used consistently. A data structure may include a neural network. Furthermore, a data structure including a neural network may be stored on a computer-readable medium. A data structure including a neural network may also include data preprocessed for processing by the neural network, data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation functions associated with each node or layer of the neural network, loss functions for learning the neural network, etc. A data structure including a neural network may include any of the components disclosed above. That is, a data structure including a neural network may be configured to include all or any combination thereof, such as data preprocessed for processing by the neural network, data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation functions associated with each node or layer of the neural network, and loss functions for learning the neural network. In addition to the configurations described above, a data structure including a neural network may include any other information that determines the characteristics of the neural network. Furthermore, the data structure may include any form of data used or generated during the computational process of the neural network, and is not limited to the foregoing. A computer-readable medium may include a computer-readable recording medium and / or a computer-readable transmission medium. A neural network may be composed of a set of interconnected computational units that may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network is composed of at least one node.

[0137] A data structure may include data input to a neural network. A data structure including data input to a neural network may be stored on a computer-readable medium. Data input to a neural network may include training data input during the neural network learning process and / or input data input to a neural network after training is complete. Data input to a neural network may include pre-processed data and / or data subject to pre-processing. Pre-processing may include a data processing process for inputting data into a neural network. Accordingly, a data structure may include data subject to pre-processing and data generated by pre-processing. The aforementioned data structure is merely an example, and the present disclosure is not limited thereto.

[0138] The data structure may include weights of the neural network. (In this specification, weights and parameters may be used interchangeably.) The data structure including the weights of the neural network may be stored on a computer-readable medium. The neural network may include multiple weights. The weights may be variable and may be varied by a user or an algorithm to enable the neural network to perform a desired function. For example, if one or more input nodes are interconnected to a single output node by respective links, the output node may determine the data value output from the output node based on values ​​input to the input nodes connected to the output node and weights set on the links corresponding to each input node. The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0139] As an example rather than a limitation, weights may include weights that vary during the neural network learning process and / or weights for which neural network learning is completed. Weights that vary during the neural network learning process may include weights at the start of the learning cycle and / or weights that vary during the learning cycle. Weights for which neural network learning is completed may include weights for which the learning cycle is completed. Accordingly, a data structure containing the weights of a neural network may include a data structure containing weights that vary during the neural network learning process and / or weights for which neural network learning is completed. Therefore, the weights and / or combinations of each weight described above are included in the data structure containing the weights of a neural network. The aforementioned data structure is merely an example and the present disclosure is not limited thereto.

[0140] Data structures containing the weights of a neural network may be stored on a computer-readable storage medium (e.g., memory, hard disk) after undergoing a serialization process. Serialization may be a process of converting a data structure into a form that can be stored on the same or different computing devices and later reconstructed for use. A computing device may serialize the data structure to transmit and receive data over a network. A serialized data structure containing the weights of a neural network may be reconstructed on the same or different computing devices through deserialization. Data structures containing the weights of a neural network are not limited to serialization. Furthermore, data structures containing the weights of a neural network may include data structures designed to increase computational efficiency while minimizing the use of computing device resources (e.g., B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree in non-linear data structures). The foregoing is merely an example and the present disclosure is not limited thereto.

[0141] The data structure may include hyperparameters of the neural network. The data structure including the neural network hyperparameters may be stored on a computer-readable medium. The hyperparameters may be variables that are varied by the user. The hyperparameters may include, for example, a learning rate, a cost function, the number of learning cycle iterations, weight initialization (e.g., setting the range of weight values ​​subject to weight initialization), and the number of hidden units (e.g., the number of hidden layers, the number of nodes in the hidden layers). The aforementioned data structure is merely an example, and the present disclosure is not limited thereto.

[0142]

[0143] FIG. 9 is a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

[0144] Although the present disclosure has been described as generally being implementable by a computing device, a person skilled in the art will be well aware that the present disclosure may be implemented in combination with computer-executable instructions and / or other program modules that can be executed on one or more computers and / or as a combination of hardware and software.

[0145] Generally, a program module includes routines, programs, components, data structures, etc., that perform a specific task or implement a specific abstract data type. Furthermore, a person skilled in the art will be well aware that the method of the present disclosure can be implemented in other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc. (each of which may be connected to and operated with one or more associated devices).

[0146] The embodiments described in this disclosure may also be implemented in a distributed computing environment in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0147] Computers typically include various computer-readable media. Any medium accessible by a computer may be a computer-readable medium, and such computer-readable media include volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media. By example, but not limiting, computer-readable media may include computer-readable storage media and computer-readable transmission media. Computer-readable storage media include volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media implemented by any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD (digital video disk) or other optical disk storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other media that can be accessed by a computer and used to store desired information.

[0148] Computer-readable transmission media typically include all information transmission media that implement computer-readable instructions, data structures, program modules, or other data, etc., on a modulated data signal, such as a carrier wave or other transport mechanism. The term modulated data signal means a signal in which one or more of the characteristics of the signal are set or modified to encode information within the signal. By example, not limiting, computer-readable transmission media include wired media, such as wired networks or direct-wired connections, and wireless media, such as acoustic, RF, infrared, and other wireless media. Any combination of the media described above is also considered to be within the scope of computer-readable transmission media.

[0149] An exemplary environment for implementing various aspects of the present disclosure, including a computer (1102), is shown, wherein the computer (1102) includes a processing unit (1104), system memory (1106), and a system bus (1108). The system bus (1108) connects system components, including system memory (1106) (but not limited thereto), to the processing unit (1104). The processing unit (1104) may be any processor among various commercial processors. Dual processors and other multiprocessor architectures may also be used as the processing unit (1104).

[0150] The system bus (1108) may be any of several types of bus structures that can be additionally interconnected to a local bus using any of the memory bus, peripheral bus, and various commercial bus architectures. System memory (1106) includes read-only memory (ROM) (1110) and random access memory (RAM) (1112). The basic input / output system (BIOS) is stored in non-volatile memory (1110), such as ROM, EPROM, EEPROM, etc., and this BIOS includes basic routines that help transfer information between components within the computer (1102) at times such as during startup. The RAM (1112) may also include high-speed RAM, such as static RAM, for caching data.

[0151] The computer (1102) also includes an internal hard disk drive (HDD) (1114) (e.g., EIDE, SATA)—this internal hard disk drive (1114) may also be configured for external use within a suitable chassis (not shown)—a magnetic floppy disk drive (FDD) (1116) (e.g., for reading from or writing to a removable diskette (1118)), and an optical disk drive (1120) (e.g., for reading from a CD-ROM disk (1122) or reading from or writing to other high-capacity optical media such as a DVD). The hard disk drive (1114), the magnetic disk drive (1116), and the optical disk drive (1120) may each be connected to the system bus (1108) by a hard disk drive interface (1124), a magnetic disk drive interface (1126), and an optical drive interface (1128). The interface (1124) for implementing an external drive includes at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.

[0152] These drives and associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, etc. In the case of a computer (1102), the drives and media correspond to storing any data in a suitable digital format. Although the description of computer-readable media above refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, a person skilled in the art will know that other types of computer-readable media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, etc., may also be used in exemplary operating environments and that any of these media may contain computer-executable instructions for performing the methods of the present disclosure.

[0153] A number of program modules, including an operating system (1130), one or more application programs (1132), other program modules (1134), and program data (1136), may be stored in the drive and RAM (1112). All or part of the operating system, application, module and / or data may also be cached in RAM (1112). It will be well known that the present disclosure may be implemented in various commercially available operating systems or combinations of operating systems.

[0154] The user can input commands and information into the computer (1102) through one or more wired / wireless input devices, such as a pointing device like a keyboard (1138) and a mouse (1140). Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, etc. These and other input devices are often connected to the processing unit (1104) via an input device interface (1142) connected to the system bus (1108), but may also be connected via other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.

[0155] A monitor (1144) or other type of display device is also connected to the system bus (1108) via an interface such as a video adapter (1146). In addition to the monitor (1144), the computer generally includes other peripheral output devices (not shown), such as speakers, a printer, and so on.

[0156] The computer (1102) may operate in a networked environment using a logical connection to one or more remote computers, such as remote computer(s) (1148), via wired and / or wireless communication. The remote computer(s) (1148) may be a workstation, a computing device computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other conventional network node, and generally include many or all of the components described for the computer (1102), but for brevity, only the memory storage device (1150) is illustrated. The illustrated logical connection includes a wired / wireless connection to a local area network (LAN) (1152) and / or a larger network, e.g., a wide area network (WAN) (1154). Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a global computer network, e.g., the Internet.

[0157] When used in a LAN networking environment, the computer (1102) is connected to a local network (1152) via a wired and / or wireless communication network interface or adapter (1156). The adapter (1156) may facilitate wired or wireless communication to the LAN (1152), and the LAN (1152) may also include a wireless access point installed therein to communicate with the wireless adapter (1156). When used in a WAN networking environment, the computer (1102) may include a modem (1158), be connected to a communication computing device on the WAN (1154), or have other means to establish communication through the WAN (1154), such as through the Internet. The modem (1158), which may be an internal or external and a wired or wireless device, is connected to the system bus (1108) via a serial port interface (1142). In a networked environment, the program modules described for the computer (1102) or parts thereof may be stored in a remote memory / storage device (1150). It will be well known that the illustrated network connection is exemplary and that other means of establishing a communication link between computers may be used.

[0158] The computer (1102) operates to communicate with any wireless device or object that is deployed and operated via wireless communication, for example, a printer, scanner, desktop and / or portable computer, PDA (portable data assistant), communication satellite, any equipment or place associated with a wireless detectable tag, and a telephone. This includes at least Wi-Fi and Bluetooth wireless technologies. Accordingly, the communication may be a predefined structure as in a conventional network, or simply ad hoc communication between at least two devices.

[0159] Wi-Fi (Wireless Fidelity) enables connectivity to the Internet and other sources without wires. Wi-Fi is a wireless technology, similar to a cell phone, that allows devices, such as computers, to transmit and receive data indoors and outdoors—that is, anywhere within the coverage area of ​​a base station. Wi-Fi networks use a wireless technology called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in unlicensed 2.4 and 5 GHz wireless bands, for example, at data rates of 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual band).

[0160] Those skilled in the art of the present disclosure will understand that information and signals may be represented using any various different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0161] Those skilled in the art will understand that the various exemplary logic blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented by electronic hardware, various forms of programs or design code (referred to herein as software for convenience), or a combination of all such. To clearly illustrate this interoperability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in relation to their functions. Whether such functions are implemented as hardware or software depends on the design constraints imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementation decisions should not be interpreted as being outside the scope of this disclosure.

[0162] The various embodiments presented herein may be implemented as methods, devices, or articles manufactured using standard programming and / or engineering techniques. The term "article manufactured" includes a computer program, a carrier, or a medium accessible from any computer-readable storage device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical discs (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Additionally, the various storage media presented herein include one or more devices and / or other machine-readable media for storing information.

[0163] It should be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. It should be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure based on design priorities. The appended method claims provide elements of various steps in a sample order, but do not imply being limited to the specific order or hierarchy presented.

[0164] Description of the presented embodiments is provided so that a person skilled in the art may use or practice the present disclosure. Various modifications to these embodiments will be apparent to a person skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein, but should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

[0165] As described above, the relevant details have been described in the best mode for carrying out the invention.

Claims

1. A method performed on a computing device for motion capture using an artificial neural network model, A step of inputting camera images into a first artificial neural network model; Based on utilizing the above-mentioned first artificial neural network model, a step of generating event information related to the variation of one or more objects within a motion capture space; and A step of generating first motion capture data for one or more objects related to the camera image based on the above event information; including, method.

2. In Paragraph 1, The above event information is: First event information related to a first object newly appearing in the motion capture space; or Second event information related to the second object that exited the motion capture space; including one or more of, method.

3. In Paragraph 2, Based on utilizing the above-mentioned first artificial neural network model, the step of generating event information related to the variation of one or more objects within the motion capture space is: An action of generating first event information when the first object newly appears in the motion capture space; or An action of generating second event information when the second object exits the motion capture space; Steps to perform one or more of the following; including, method.

4. In Paragraph 3, Based on the above event information, the step of generating first motion capture data for one or more objects related to the camera image is: A step of determining whether to activate a skeleton asset corresponding to each of one or more objects in the motion capture space based on the above event information; and A step of generating first motion capture data for one or more objects associated with the camera image based on the camera image and the currently active skeleton asset; including, method.

5. In Paragraph 4, Based on the above event information, the step of determining whether to activate a skeleton asset corresponding to each of one or more objects in the motion capture space is: If the above event information includes the first event information, the step of activating the first skeleton asset, which is a skeleton asset corresponding to the first object; and If the above event information includes second event information, a step of deactivating a second skeleton asset, which is a skeleton asset corresponding to the second object; including, method.

6. In Paragraph 1, The above-mentioned first artificial neural network model is an artificial neural network model trained to generate event information when an object included in the motion capture space changes based on object detection, method.

7. In Paragraph 6, The above-mentioned first artificial neural network model is, A step of generating a training data set based on reference camera image data capturing rotational motion for each object and label data corresponding to each object; and A step of training the first artificial neural network model to identify and classify each object in the reference camera image based on the above training data set; An artificial neural network model trained including, method.

8. In Paragraph 1, Based on the above event information, the step of generating first motion capture data for one or more objects related to the camera image is: A step of generating first verification data based on verifying the position of a marker for motion capture corresponding to an object included in the camera image; and A step of generating alarm information if there is an abnormality in the above-mentioned first verification data; including, method.

9. In Paragraph 1, A step of generating second motion capture data, which is corrected motion capture data, based on inputting the first motion capture data into the second artificial neural network model; including, method.

10. In Paragraph 9, The step of generating second motion capture data, which is corrected motion capture data, based on inputting the first motion capture data into the second artificial neural network model is: A step of filtering data related to the contact points of an object included in the first motion capture data; A step of generating second verification data based on verifying the validity of data related to the contact point of the above object; and A step of generating the second motion capture data based on the second verification data; including, method.

11. In Paragraph 10, The step of generating second motion capture data, which is corrected motion capture data, based on inputting the first motion capture data into the second artificial neural network model is: A step of generating virtual motion capture data of one or more third objects included in the first motion capture data based on reference motion capture data; and A step of generating second motion capture data based on inputting virtual motion capture data of one or more third objects and the first motion capture data into a second artificial neural network model; including, method.

12. In Paragraph 10, Based on the reference motion capture data, the step of generating virtual motion capture data of one or more third objects included in the first motion capture data is: A step of identifying one or more third objects included in the first motion capture data; and A step of generating virtual motion capture data of one or more third objects based on comparing the skeleton of a reference object included in the reference motion capture data with the skeleton of one or more third objects; including, method.

13. A computer program stored on a computer-readable storage medium that enables a computing device to perform movements for motion capture using an artificial neural network model, wherein the movements are: The operation of inputting camera images into a first artificial neural network model; An operation to generate event information related to the variation of one or more objects within a motion capture space based on utilizing the above-mentioned first artificial neural network model; and An operation to generate first motion capture data for one or more objects related to the camera image based on the above event information; including, A computer program stored on a computer-readable storage medium.

14. In Paragraph 13, The above event information is: First event information related to a first object newly appearing in the motion capture space; or Second event information related to a second object exiting the motion capture space; including one or more of, A computer program stored on a computer-readable storage medium.

15. In Paragraph 14, Based on utilizing the above-mentioned first artificial neural network model, the operation of generating event information related to the variation of one or more objects within the motion capture space is: An action of generating first event information when the first object newly appears in the motion capture space; or An action of generating second event information when the second object exits the motion capture space; Actions that perform one or more of the following; including, A computer program stored on a computer-readable storage medium.

16. In Paragraph 15, Based on the above event information, the operation of generating first motion capture data for one or more objects related to the camera image is: An operation to determine whether to activate a skeleton asset corresponding to each of one or more objects in the motion capture space based on the above event information; and An operation to generate first motion capture data for one or more objects associated with the camera image based on the camera image and the currently active skeleton asset; including, A computer program stored on a computer-readable storage medium.

17. In Paragraph 16, Based on the above event information, the operation of determining whether to activate a skeleton asset corresponding to each of one or more objects in the motion capture space is: If the above event information includes the first event information, the operation of activating the first skeleton asset, which is a skeleton asset corresponding to the first object; and If the above event information includes second event information, an action of deactivating the second skeleton asset, which is a skeleton asset corresponding to the second object; including, A computer program stored on a computer-readable storage medium.

18. As a computing device for motion capture utilizing an artificial neural network model, One or more processors; and Memory; Includes, The above one or more processors, Input the camera image into the first artificial neural network model, and Based on utilizing the above-mentioned first artificial neural network model, event information related to the variation of one or more objects within the motion capture space is generated, and Based on the above event information, generating first motion capture data for one or more objects related to the camera image, Computing device.

19. In Paragraph 18, The above event information is: First event information related to a first object newly appearing in the motion capture space; or Second event information related to a second object exiting the motion capture space; including one or more of, Computing device.

20. In Paragraph 19, Based on utilizing the above-mentioned first artificial neural network model, generating event information related to the variation of one or more objects within the motion capture space is: An action of generating first event information when the first object newly appears in the motion capture space; or An action of generating second event information when the second object exits the motion capture space; Performing one or more of the following; including, Computing device.

21. In Paragraph 20, Generating first motion capture data for one or more objects related to the camera image based on the above event information is: Determining whether to activate a skeleton asset corresponding to each of one or more objects within the motion capture space based on the above event information; and Based on the camera image and the currently active skeleton asset, generating first motion capture data for one or more objects associated with the camera image; including, Computing device.

22. In Paragraph 21, Determining whether to activate a skeleton asset corresponding to each of one or more objects within the motion capture space based on the above event information is: If the above event information includes the first event information, activating the first skeleton asset, which is a skeleton asset corresponding to the first object; and If the above event information includes second event information, deactivating the second skeleton asset, which is a skeleton asset corresponding to the second object; including, Computing device.