WO2023214602A1 - 훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체 - Google Patents

훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
WO2023214602A1
WO2023214602A1 PCT/KR2022/006495 KR2022006495W WO2023214602A1 WO 2023214602 A1 WO2023214602 A1 WO 2023214602A1 KR 2022006495 W KR2022006495 W KR 2022006495W WO 2023214602 A1 WO2023214602 A1 WO 2023214602A1
Authority
WO
WIPO (PCT)
Prior art keywords
hit
neural network
data
response
electronic device
Prior art date
Application number
PCT/KR2022/006495
Other languages
English (en)
French (fr)
Inventor
박수환
이남일
임인섭
이효일
이제희
Original Assignee
주식회사 엔씨소프트
서울대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔씨소프트, 서울대학교 산학협력단 filed Critical 주식회사 엔씨소프트
Priority to PCT/KR2022/006495 priority Critical patent/WO2023214602A1/ko
Publication of WO2023214602A1 publication Critical patent/WO2023214602A1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Definitions

  • the descriptions below relate to a method for generating a shot response based on a trained neural network and a computer readable storage medium.
  • reaction to being hit In order to improve the visual quality of battles in the game, the quality of the response to being hit, which is the reaction to an attack, is important. However, research on reaction to being hit was insufficient. In most games, response to being hit is implemented in the form of outputting a random hit animation according to set conditions. Movements resulting from being hit are affected by relatively diverse conditions compared to other general movements. For example, the movement following a hit is affected by not only spatial conditions but also physical conditions.
  • a neural network may refer to a model that has the ability to solve problems by changing the coupling strength of synapses based on training nodes that form a network through the coupling of synapses.
  • the neural network can be trained through supervised learning or unsupervised learning.
  • a computer readable storage medium stores one or more programs, and when the one or more programs are executed by a processor of an electronic device, the first program for learning the operations of an object Provide first training data to a neural network, identify second training data by performing data sampling on the hit response data, and train the second neural network to learn the hit response of the object. It may include instructions that provide data and cause the electronic device to obtain a result of a hit response of the object when the object is hit based on the output of the first neural network and the output of the second neural network.
  • a method executed in an electronic device includes providing first training data to a first neural network for learning movements of an object and performing data sampling on hit response data, 2 An operation of identifying training data and an operation of providing the second training data to a second neural network for learning the response of the object to being hit, and based on the output of the first neural network and the output of the second neural network, the object When being hit, it may include an operation of obtaining the result of the hit response of the object.
  • the apparatus and method according to embodiments of the present disclosure can efficiently train a neural network for hit response and provide various hit responses by sampling the generated hit response data and identifying training data.
  • FIG. 1 shows an example of a hit-reaction according to embodiments.
  • FIG. 2 shows an example of a functional configuration of an electronic device according to embodiments.
  • FIG. 3 illustrates an operation flow of an electronic device for deriving a result of a hit response based on an adaptive hit response neural network according to embodiments.
  • FIG. 4 illustrates an operation flow of an electronic device for deriving a result of a hit response based on an adaptive hit response neural network according to embodiments.
  • FIG. 5 illustrates an operational flow of an electronic device for learning an adaptive hit response neural network according to embodiments.
  • Figure 6 shows an example of generating response data based on raw data according to an embodiment.
  • FIG. 7A shows an example of sampling of hit response data according to embodiments.
  • FIG. 7B shows an example of sampling based on change in hit response data according to embodiments.
  • FIG. 7C shows an example of initial posture-based sampling of hit response data according to embodiments.
  • Figure 8 shows an example of an adaptive hit response neural network according to embodiments.
  • FIG. 10 shows an example of comparison according to whether or not to sample hit response data according to embodiments.
  • Figure 11 shows an example of performance improvement of an adaptive hit response neural network according to embodiments.
  • the present disclosure relates to an apparatus and method for generating an appropriate attack response operation according to various attack conditions in real time in a wireless communication system. Specifically, the present disclosure describes a technique for efficiently outputting reaction actions to being hit through a neural network for learning hit reaction data.
  • expressions of more or less may be used to determine whether a specific condition is satisfied or fulfilled, but this is only a description for expressing an example and does not exclude descriptions of more or less. It's not. Conditions written as ‘more than’ can be replaced with ‘more than’, conditions written as ‘less than’ can be replaced with ‘less than’, and conditions written as ‘more than and less than’ can be replaced with ‘greater than and less than’.
  • variables related to movement e.g., target object, method of being hit, means of being hit, part of the hit
  • components of the device e.g., neural network, generator
  • first, second, first or second can modify the corresponding components regardless of order or importance, and are only used to distinguish one component from another component.
  • the components are not limited.
  • a component e.g., a first component
  • another component e.g., a second component
  • An element may be connected directly to the other component, or may be connected through another component (eg, a third component).
  • module used in this disclosure includes a unit comprised of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example.
  • a module may be an integrated part, a minimum unit that performs one or more functions, or a part thereof.
  • a module may be comprised of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Electronic devices may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of the present disclosure are not limited to the above-mentioned devices.
  • Embodiments of the present disclosure include software (e.g., one or more instructions stored in a storage medium (e.g., internal memory or external memory) that can be read by a machine (e.g., electronic device 210). : It can be implemented as a program).
  • the processor of the device may call at least one instruction among one or more instructions stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called.
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • FIG. 1 shows an example of a hit-reaction according to embodiments.
  • terms are defined to describe a neural network for learning a response to being hit according to the present disclosure and procedures for obtaining results for a response to being hit through the neural network.
  • the reaction to being hit means the reaction of the object corresponding to the hit 102 when the object 101 is hit 102.
  • the means of attack may be a gun, sword, cannon, arm, or foot.
  • an object 101 is being hit 102 by a gun.
  • the reaction of the object 101 in response to gunfire may be referred to as a shot reaction.
  • a response to being hit may mean a reaction action when an object 101 in a virtual environment (eg, a game) is attacked by another object by being hit 102 .
  • response to attacks is required to be natural (plausibility).
  • the present disclosure describes learning about being hit by an object 101, a neural network for the learning, and an apparatus and method using the neural network.
  • the state of the object 101 may change depending on the conditions of being hit.
  • the state of the object 101 may include the location of the object 101.
  • the location of the object 101 may change from a first location to a second location based on an attack 102 by another object.
  • the state of the object 101 may include the direction of movement.
  • the direction of the object 101 may change from the first direction to the second direction.
  • the state of the object 101 may include the posture of the object 101.
  • the posture of the object 101 may change from the first posture to the second posture based on the attack of the other object.
  • the attack 102 of the other object may be used in the virtual environment to change at least one of the position, direction, or posture of the object 101.
  • the state of the object 101 may include external factors such as the facial expression of the object 101, whether the object 101 is bleeding, and a change in the clothing of the object 101.
  • Object 101 may have multiple states.
  • the plurality of states may be represented within the virtual environment through the motion of the object 101.
  • the motion of the object 101 means that the state of the object 101 changes.
  • the states that constitute the motion of the object 101 are required to be more numerous and accurate.
  • the current state of the object 101 is the first state.
  • the object 101 may be attacked.
  • object 101 may transition from the first state to a second state through at least one third state.
  • the motion of transitioning from the first state to the second state through at least one third state is referred to as a hit response.
  • the response to being hit may include a walking state as the first state, a state with the shoulder tilted as the third state, and a state lying on the floor as the second state.
  • the third state can be variously composed of one or more states depending on the degree of distortion and pushing of the shoulder.
  • the reaction to being hit may vary depending on the conditions of being hit.
  • the hit condition may include an attack condition.
  • the attack condition may include an attack means.
  • an object can be attacked with a gun or sword.
  • object 101 may be attacked from a body such as a hand or a foot.
  • an adaptive response to being hit is required depending on what object is being attacked.
  • the attack condition may include attack strength.
  • the response to being hit may vary depending on whether the hit is performed with a force greater than the reference value for determining a fall.
  • the hit condition may include an object condition.
  • Object conditions may include the hit area, hit range, and initial posture of the object.
  • the response to being hit when another object attacks the shoulder of the object 101 (102) may be different from the response to being hit when another object attacks the waist of the object 101 (102).
  • the response to being hit when another object attacks one shoulder of the object 101 (102) may be different from the response to being hit when another object attacks both shoulders of the object 101 (102).
  • the response to being hit when attacking 102 with a force that does not knock off the shoulder of the object 101 and the response to being hit with a force that causes the object 101 to fall over are different. You can.
  • the response to being hit when another object attacks (102) the standing object (101) may be different from the response to being hit when another object attacks (102) the running object (101).
  • a neural network may refer to a model that has the ability to solve problems by changing the coupling strength of synapses based on training nodes that form a network through the coupling of synapses.
  • the neural network can be trained through supervised learning or unsupervised learning.
  • the supervised learning may mean learning performed by providing a label (or correct answer). Because the supervised learning requires the label, it may require fewer resources compared to the unsupervised learning to evaluate the reliability of output data derived from the neural network. On the other hand, since the supervised learning requires the label, it may require resources (eg, time resources) to obtain the label.
  • the unsupervised learning may mean learning performed without labels. Since the unsupervised learning does not require the label, it may not require resources to obtain the label. On the other hand, because the unsupervised learning does not require the label, it may require more resources than the supervised learning to evaluate the reliability of output data derived from the neural network.
  • the present disclosure focuses on the response to being hit rather than the overall motion of the object, and proposes output of the response to being hit using a neural network to separately learn only the response to being hit.
  • FIG. 2 components of an electronic device for implementing the neural network of the present disclosure will be described through FIG. 2.
  • FIG. 2 shows an example of a functional configuration of an electronic device 210 according to embodiments.
  • the configuration illustrated in FIG. 2 may be understood as a configuration of the electronic device 210 for outputting a response of an object when the object is hit, as mentioned in FIG. 1 .
  • Terms such as 'jdeungbu' and 'jeotgi' used hereinafter refer to a unit that processes at least one function or operation, and may be implemented as hardware, software, or a combination of hardware and software.
  • the electronic device 210 may include a memory 230, a processor 250, and a transceiver 270.
  • the memory 230 may store data such as basic programs, application programs, and setting information for operation of the electronic device 210.
  • the memory 230 may be referred to by other terms having the same technical meaning, such as a storage unit or a storage medium.
  • the memory 230 may be comprised of volatile memory, non-volatile memory, or a combination of volatile memory and non-volatile memory. Additionally, the memory 230 may provide stored data upon request from the processor 250.
  • the memory 230 may store attack response data for operations and learning for the electronic device 210 to drive an adaptive attack response neural network according to embodiments.
  • Embodiments of the present disclosure include software (e.g., one or more instructions stored in a storage medium (e.g., internal memory or external memory) that can be read by a machine (e.g., electronic device 210). : It can be implemented as a program).
  • a processor e.g., processor 250
  • a device e.g., electronic device 210
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • the processor 250 may control overall operations of the electronic device 210. For example, the processor 250 can write and read data into the memory 230. Additionally, the processor 250 may transmit and receive signals through the transceiver 270. Additionally, the processor 250 can perform protocol stack functions required by communication standards. To this end, the processor 250 may include at least one sub-processor. Depending on embodiments, the processor 250 may be configured to enable the electronic device 210 to perform an output operation according to an adaptive hit response neural network and a learning operation of the neural network according to embodiments.
  • the transceiver 270 can perform functions for transmitting and receiving signals in a wired communication environment.
  • the transceiver 270 may include a wired interface for controlling direct connection between devices through a transmission medium (e.g., copper wire, optical fiber).
  • a transmission medium e.g., copper wire, optical fiber
  • the transceiver 270 may transmit an electrical signal to another device through a copper wire or perform conversion between an electrical signal and an optical signal.
  • the transceiver 270 may perform functions for transmitting and receiving signals through a wireless channel. For example, the transceiver 270 may perform a conversion function between a baseband signal and a bit stream according to the physical layer standard of the system. For example, when transmitting data, the transceiver 270 may generate complex symbols by encoding and modulating the transmission bit stream. Additionally, when receiving data, the transceiver 270 can restore the received bit stream through demodulation and decoding of the baseband signal. Additionally, the transceiver 270 may up-convert a baseband signal into a radio frequency (RF) band signal and transmit it through an antenna, and down-convert the RF band signal received through the antenna into a baseband signal. To this end, the transceiver 270 may include a transmission filter, a reception filter, an amplifier, a mixer, an oscillator, a digital-to-analog converter (DAC), an analog-to-digital converter (ADC), etc.
  • RF radio frequency
  • the transceiver 270 may include multiple transmission and reception paths. Furthermore, the transceiver 270 may include at least one antenna array comprised of multiple antenna elements. In terms of hardware, the transceiver 270 may be composed of a digital unit and an analog unit, and the analog unit is composed of a number of sub-units depending on operating power, operating frequency, etc. It can be.
  • Transceiver 270 can transmit and receive signals as described above. Accordingly, all or part of the transceiver 270 may be referred to as a 'transmitter', 'receiver', or 'transceiver'. Additionally, in the following description, transmission and reception performed through a wireless channel may be used to mean that processing as described above is performed by the transceiver 270.
  • the configuration of the electronic device 210 shown in FIG. 2 is only an example, and examples of electronic devices that perform various embodiments of the present disclosure are not limited to the configuration shown in FIG. 2 . That is, some configurations may be added, deleted, or changed according to various embodiments. For example, in the case of a device that performs both learning about the response to being hit and deriving results about the response to being hit within the electronic device 210, the transceiver 270 may be omitted from the electronic device 210.
  • a neural network and a set of parameters related to the neural network may be stored in the memory 230 of the electronic device 210 according to one embodiment.
  • a neural network is a recognition model implemented in software or hardware that imitates the computational ability of a biological system using a large number of artificial neurons (or nodes). Neural networks can perform human cognitive functions, learning processes, or training through artificial neurons. Parameters related to a neural network may represent, for example, a plurality of nodes included in the neural network and/or weights assigned to connections between the plurality of nodes.
  • processor 250 may train a neural network.
  • the neural network may be trained through unsupervised learning.
  • processor 250 may provide input data to a neural network to train the neural network.
  • the input data may be training data generated through sampling reaction data.
  • a neural network may include multiple layers.
  • a neural network may include an input layer, one or more hidden layers, and an output layer. Signals generated at each node in the input layer based on the input data may be transmitted from the input layer to one or more hidden layers.
  • the output layer may obtain output data of the neural network based on one or more signals received from one or more hidden layers.
  • the input layer, one or more hidden layers, and the output layer may include a plurality of nodes.
  • One or more hidden layers may be a convolution filter or a fully connected layer in a CNN (convolution neural network), or may be various types of filters or layers connected based on specified functions or characteristics. there is.
  • one or more hidden layers may be a layer based on a recurrent neural network (RNN) whose output value is re-input to the hidden layer at the current time.
  • RNN recurrent neural network
  • one or more hidden layers may be configured in plural, and may form a deep neural network. For example, training a neural network that includes one or more hidden layers that form at least part of a deep neural network may be referred to as deep learning.
  • a node included in one or more hidden layers may be referred to as a hidden node.
  • Nodes included in the input layer and one or more hidden layers may be connected to each other through a connection line with a connection weight, and nodes included in one or more hidden layers and an output layer may also be connected to each other through a connection line with a connection weight.
  • Tuning and/or training a neural network may mean changing the connection weights between nodes included within each of the layers included within the neural network (e.g., an input layer, one or more hidden layers, and an output layer). For example, tuning or training of a neural network may be performed based on unsupervised learning.
  • the method according to the embodiments of the present disclosure may be included and provided in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • a computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store), or on two user devices (e.g. : Smartphones) can be distributed (e.g. downloaded or uploaded) directly or online.
  • a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • Figure 3 shows an example of learning an adaptive hit reaction according to embodiments.
  • the operations of FIG. 3 are described as being performed by the processor 250 of the electronic device 210 of FIG. 2, but embodiments of the present disclosure are not limited thereto.
  • some of the operations described below are performed by the processor 250 of the electronic device 210, and other operation(s) are performed by the transceiver 270 of the electronic device 210. It can be performed through an external device (e.g., OTA (over the air) server).
  • some of the operations described later may be implemented in advance in the memory 230 of the electronic device 210, and some other operation(s) may be implemented in advance in the processor (s) of the electronic device 210. 250).
  • learning of an adaptive hit response can be performed through generating a hit response, data sampling, and learning a hit response.
  • the processor 250 may obtain raw data 301.
  • the processor 250 may obtain raw data 301 from the memory 230.
  • the processor 250 may obtain raw data 301 from an external server.
  • Raw data 301 may refer to all data related to an object.
  • raw data 301 may include motion capture data.
  • the processor 250 may generate a hit response.
  • the instructions performed by the processor 250 to generate a hit response or the operation of the processor 250 to generate a hit response can be understood as a function of the hit response generator 303.
  • the hit response generator 303 may generate a hit response based on the raw data 301. In order to learn data that has the characteristic of greatly increasing the diversity of motion at the moment of being hit, hit reaction data is required.
  • the hit response generator 303 may generate various hit responses to obtain the data.
  • the hit response generator 303 can generate various hit response data under given hit conditions through the raw data 301.
  • the hit response generator 303 may output hit response data based on raw data 301, which is motion data.
  • raw data 301 may include motion data according to a designated attack angle.
  • the raw data 301 may include motion data according to a designated target area (eg, head).
  • the hit response generator 303 may generate a hit response based on a recognition response mechanism.
  • the hit response generator 303 can implement motion using physical simulation during a defined time after impact, and find and output a suitable motion from a motion database after the defined time.
  • raw data may be motion capture data of the head being struck.
  • the shot angle (eg, vertical), and the shot part (eg, head) are input data
  • the shot response generator 303 may generate shot response data based on the input data.
  • the hit response generator 303 may generate hit reaction data based on the instantaneous hit response and the subsequent hit reaction.
  • the hit response generator 303 may generate hit response data by connecting the instantaneous hit response when the head moves by force during a defined time and the subsequent hit response through motion matching after the instant hit response.
  • data on reaction to being hit may be a movement in which the head falls back first in an instantaneous reaction state, and then falls while struggling with one's hands to keep one's balance in a subsequent reaction state.
  • the shot response generator 303 may generate a shot response for continuous shot conditions based on shot response data for discrete shot conditions. For example, when the hit response generator 303 only has hit reaction data for the condition of hitting the shoulder with a first force and hit reaction data for the condition of hitting the shoulder with a second force, Hit response data can be generated for the condition of hitting with a third force between the first force and the second force. For example, if there is only hit response data for the condition of attacking the shoulder with a sword with a first length and hit response data for the condition of attacking the shoulder with a sword with a second length, the first length and the second length It is possible to generate hit response data for the conditions of attacking with a sword of the third length between the lengths.
  • hit reaction data for the condition of attacking the first part of the head For example, if there is only hit reaction data for the condition of attacking the first part of the head and hit reaction data for the condition of attacking the second part of the head, there is a third part between the first part and the second part. It is possible to generate hit reaction data for the conditions of attacking.
  • Data sampling 305 refers to the process of identifying training data 307 from hit response data.
  • the burden on the adaptive hit response neural network 309 increases.
  • the processor 250 can exclude hit response data that does not meet at least one standard from the training data 307 in order to efficiently learn the adaptive hit response neural network 309.
  • data sampling 507 may be performed through an algorithm to exclude hit reaction data for at least one of the initial posture, attack site, attack range, and/or attack intensity that has a change amount below a reference value. .
  • the adaptive hit response neural network 309 may be composed of at least one neural network.
  • the adaptive hit response neural network 309 may be referred to as a diversity-adaptive refinement network.
  • the adaptive hit response neural network 309 may be composed of an object motion learning neural network 311 and a hit response learning neural network 313.
  • the object motion learning neural network 311 is a neural network for learning the motion of an object.
  • the object motion learning neural network 311 may be referred to as a first subneural network, a first neural network, or a regular subnetwork.
  • the hit response learning neural network 313 is a neural network for learning the hit response.
  • a neural network with this structure can output more accurate and rich response to being hit.
  • the adaptive hit response neural network 309 has a gating module that combines the output results of the object motion learning neural network 311 and the hit response learning neural network 313. More may be added.
  • FIG. 4 illustrates an operation flow of an electronic device for deriving a result of a hit response based on an adaptive hit response neural network according to embodiments.
  • the electronic device exemplifies the electronic device 210 of FIG. 2 . At least some of the operations in FIG. 4 may be executed by the processor 250 of the electronic device 210.
  • raw data refers to data about the operation of an object.
  • raw data may include motion capture data.
  • the raw data may be motion capture data of an object being hit on the shoulder and falling.
  • the electronic device 210 may perform learning of an adaptive hit response neural network. Neural network training based on raw data may include the content shown in FIG. 5. For example, the electronic device 210 generates at least one hit response data based on raw data (505). Thereafter, the electronic device 210 may generate training data through a process of sampling the hit response data (509) and learn a hit response learning neural network based on the training data (511).
  • the electronic device 210 may input a shot condition to an adaptive hit response neural network.
  • the electronic device 210 may provide the hit condition as input data to the learned neural network (405) and obtain the result of the object's hit response based on the neural network output (407).
  • the hit condition may be information about attack conditions, object conditions, etc.
  • a hit condition may be input to the neural network.
  • the hit condition which is input data
  • the processor 250 may analyze the motion and extract information about the hitting conditions. If the input data is a motion of shooting an object in a standing state from the front perpendicular to the plane forming the human body, the processor 250 may extract that the initial posture is a standing state. Additionally, the processor 250 can extract that the method of attack is shooting and that the angle of attack is forward and perpendicular to the plane forming the human body.
  • the electronic device 210 may obtain a shot response result from the adaptive hit response neural network.
  • the adaptive hit response neural network may be composed of at least one neural network.
  • the adaptive hit response neural network 309 may be composed of an object motion learning neural network 311 and a hit response learning neural network 313.
  • the adaptive hit response neural network 309 determines the hit response result in the action 407 by considering the weight assigned to the output of the object motion learning neural network 311 and the output of the hit response learning neural network 313. You can.
  • the weight assignment may be performed based on the combining gating module 805.
  • Gating module 805 may be a neural network.
  • the gating module 805 may be a neural network that receives a hit condition as input data and outputs weights assigned to the output of the object motion learning neural network 311 and the output of the hit response learning neural network 313.
  • the gating module 805 may determine weights assigned to the output of the object motion learning neural network 311 and the output of the striking response learning neural network 313 based on the striking intensity. For example, the stronger the intensity of the attack, the higher the weight assigned to the output of the attack response learning neural network 313 can be determined.
  • the gating module may assign a higher weight to the output of the object motion learning neural network 311 than the output of the hitting response learning neural network 313 as the intensity of the striking is lower. In this case, the response to being hit is that the person does not fall even if the shoulder is attacked, and the size of the struggling motion may be reduced.
  • the output result of the hit response learning neural network can be considered to obtain the hit response result only when there is an attack motion of another object.
  • the output results of the hit response learning neural network may not be considered.
  • the output value of the hit response learning neural network may not be considered when generating the object's response.
  • operations 401, 403, 405, and 407 are shown to be performed sequentially, but embodiments of the present disclosure are not limited thereto. According to one embodiment, operations 401 and 403 for learning the reaction to being hit may be performed in parallel with operations 405 and 407 for outputting the results for the reaction to being hit. According to another embodiment, operations 401 and 403 are performed periodically, but operations 405 and 407 may be performed only when an object is hit.
  • FIG. 5 illustrates an operational flow of an electronic device for learning an adaptive hit response neural network according to embodiments.
  • the electronic device exemplifies the electronic device 210 of FIG. 2 .
  • At least some of the operations in FIG. 5 may be executed by the processor 250 of the electronic device 210.
  • the operations in FIG. 5 can be understood as specific operations of learning the adaptive hit response neural network in operation 403 of FIG. 4 .
  • the electronic device 210 may provide first training data to an object motion learning neural network for learning motions of an object.
  • An object motion learning neural network may refer to a neural network for learning all motions of an object.
  • the first training data may include data related to the operations of the object, such as movement of the object, state of the object, and environment of the object, as well as data on the response to being hit.
  • the electronic device 210 may learn an object motion learning neural network using first training data.
  • the first training data may be general motion capture data.
  • the hit response learning neural network may be divided into an object motion learning neural network and a hit response learning neural network.
  • an object motion learning neural network for learning all motions of an object can be trained using first training data.
  • the electronic device 210 may generate various hit response data based on raw data.
  • the hit reaction data may include instantaneous hit reaction data and subsequent hit reaction data based on the recognition reaction mechanism.
  • the instantaneous response to being hit may mean a response to being hit according to the force applied to the object.
  • the follow-up response to being hit may mean a response to being hit according to an input from an object.
  • the electronic device 210 may generate second training data by performing data sampling on response data to being hit.
  • the electronic device 210 may perform data sampling according to embodiments to efficiently extract training data.
  • data sampling may be performed through an algorithm for excluding hit response data with a change amount less than a reference value.
  • data sampling may be performed through an algorithm to exclude shot response data for a shot area with a change amount below a reference value. If there is already a lot of reaction data where the shot area is the shoulder in the training data, the shot reaction data where the hit area is the shoulder may no longer be added to the training data.
  • data sampling may be performed through an algorithm for excluding hit response data for a shot range that has a change amount below a reference value.
  • the range of attack may vary depending on the length of the sword. If the difference between the length of the sword in the secured hit response data and the length of the sword in the target hit response is less than or equal to the reference value, the target hit response data may not be added to the training data. For example, data sampling may be performed through an algorithm for excluding hit response data for the hit area and hit intensity that have a change amount below a reference value. For example, if the training data contains at least one hit response data for attacking the shoulder of an object in a standing state, train the hit response data for attacking the shoulder of an object in a standing state with a hit intensity below the reference value. It may not be added to the data.
  • the electronic device 210 may train a hit response learning neural network using second training data.
  • the second training data may be different from the first training data.
  • the second training data may be data sampled from hit response data. Efficient learning is possible by extracting and sampling only data related to response to being hit.
  • operations 501 to 511 are shown as being performed sequentially, but embodiments of the present disclosure are not limited thereto.
  • operations 501 and 503 for learning an object motion learning neural network are operations 505, 507, 509, and 511 for learning a hit response learning neural network. can be performed in parallel.
  • Hit reaction data refers to information related to the reaction of an object when the object is hit.
  • the electronic device 210 may generate hit reaction data.
  • the state before being hit by an object may be referred to as an idle state 601. Afterwards, from the point when the object is hit (603), the state of the object transitions from the idle state (601) to the reactive state. After the reactive state, the object may transition back to the idle state 609.
  • the reaction state may include an instantaneous reaction state (605) and a subsequent reaction state (607).
  • the distinction between the instantaneous response state 605 and the subsequent response state 607 may be based on the recognition response mechanism.
  • the recognition response mechanism is the principle that when a living organism receives an unexpected and sudden shock, it responds after a delay time of about 100 to 200 ms.
  • the instantaneous reaction state 605 may be a state in which an action by physical force occurs for a certain period of time immediately after being hit (603).
  • the above operation may be referred to as an instantaneous striking operation.
  • the subsequent reaction state 607 may be a state in which an action based on the will and characteristics of the living entity occurs after the instantaneous reaction state 605.
  • the operation may be referred to as a follow-up shooting operation.
  • the hit response data may include data related to the above-described instantaneous hit action and subsequent hit action.
  • a hit reaction may be generated through a motion matching algorithm based on motion data.
  • the hit response generator 303 of the electronic device 210 may find a motion corresponding to being hit from a motion database and output the motion.
  • reaction data may include the head falling back first in the instantaneous reaction state 605 and falling while struggling with the hands to maintain balance in the subsequent reaction state 607. You can.
  • the attack response generator 303 can generate various attack response data.
  • FIG. 7A shows an example 700 of sampling of hit response data according to embodiments.
  • Data sampling refers to the process of extracting some data from the entire data. Resource efficiency can be increased by learning some of the extracted data instead of learning all the data. In order to output more accurate results, selection of some data that meets the purpose is required.
  • the electronic device 210 may identify data for learning instead of all data on response to being hit through sampling.
  • the electronic device 210 may generate hit response data 701 for efficient learning of the adaptive hit response neural network. Thereafter, the electronic device 210 may acquire training data 703 through sampling of the hit response data 701.
  • the electronic device 210 may perform sampling based on whether the amount of change in the initial posture of the object after being hit is greater than or equal to a reference value. For example, the electronic device 210 may perform sampling to exclude hit response data in which the amount of change in the initial posture of the object when hit is less than a reference value. If the amount of change in the initial posture is less than the standard value, the effectiveness of the data for learning response to being hit can be considered relatively low.
  • the electronic device 210 may perform sampling based on whether the amount of change in the attack range is greater than or equal to a reference value. For example, the electronic device 210 may perform sampling to exclude hit response data in which the change in the object's attack range is less than the reference value. If the attack range change is less than the standard value, the effectiveness of the data for learning response to being hit can be considered relatively low.
  • the electronic device 210 may perform sampling based on whether the amount of change in the attack area is greater than or equal to a reference value. For example, the electronic device 210 may perform sampling to exclude attack response data in which the change in the object's attack area is less than a reference value. If the amount of change in the attack area is less than the standard value, the effectiveness of the data for learning response to being hit can be considered relatively low.
  • the electronic device 210 may perform sampling based on whether the amount of change in response to being hit is greater than or equal to a reference value. For example, the electronic device 210 may perform sampling to exclude hit response data in which the change in the object's hit response is less than a reference value. If the amount of change in response to being hit is less than the standard value, the effectiveness of the data for learning response to being hit can be considered relatively low.
  • the electronic device 210 may perform sampling and obtain training data 703 based on parameters related to at least one of the initial posture of being hit, attack range, attack area, and response to being hit.
  • the loss of the neural network output results can be reduced.
  • a decrease in the loss value of the neural network output result may mean that the accuracy of the hit response output by the neural network increases.
  • FIG. 7B illustrates an example 710 of sampling based on change in response to being hit data according to embodiments.
  • FIG. 7B an example of a hit response for an algorithm that excludes hit response data with a change amount below a reference value is shown among the sampling methods for hit response data.
  • the electronic device 210 may exclude hit response data with a change amount below a reference value from the training data to improve the efficiency of neural network learning.
  • the operation state 711, the operation state 713, and the operation state 715 are hit response data for an action of attacking the chin.
  • the reaction to being hit may include an action in which the object's chin turns backwards and the object falls.
  • the electronic device 101 has secured response data for the jaw attack, the response corresponding to the operating state 711, 713, and 715 has a change amount below the reference value. Therefore, the operation state 711, operation state 713, and operation state 715 can be excluded from the training data. If the amount of change in the response to being hit is less than the standard value, the validity of the data for learning the response to being hit can be considered relatively low.
  • FIG. 7C shows an example 720 of initial posture-based sampling of hit response data according to embodiments.
  • FIG. 7C an example of an initial posture for an algorithm that excludes hit response data for an initial posture with a change amount below a reference value is shown among the sampling methods for hit response data.
  • the operation state 721, operation state 723, operation state 725, operation state 727, and operation state 729 which are the states immediately before being hit by the object, are shown in FIG. 7C.
  • the operation state 721 is a running and turning posture
  • the operation state 723 is a running posture
  • the operation state 725 is a shoulder shrug posture
  • the operation state 727 is a squatting posture.
  • the operating state 729 may be a standing position.
  • the electronic device 210 may exclude from the training data the hit reaction data in which the posture immediately before being hit has a change amount below the reference value. For example, since there is a lot of response data in the training data in which the posture immediately before being shot is a standing posture, the operating state 729 in which the posture immediately before being shot is a standing posture may be excluded from the training data. If the reference value is set high because the training data contains a lot of attack response data in which the posture immediately before being shot is a standing posture, the motion state 725 may be treated as a standing posture, and the motion state 725 may be excluded from the training data. If the reference value is set low, the operating state 725 may be treated as not being a standing posture and included in the training data.
  • the validity of the data for learning response to being hit can be considered relatively low.
  • Figure 8 shows an example 800 of an adaptive hit response neural network according to embodiments.
  • the hit response neural network is a neural network for generating the hit response.
  • Figure 8 illustrates the structure of the adaptive hit response neural network 309 of Figure 3.
  • sub-neural networks of the hit response neural network are described.
  • the adaptive hit response neural network 800 may include an object motion learning neural network 801 and a hit response learning neural network 803.
  • the electronic device 210 may train an object motion learning neural network 801 for learning all motions of an object using first training data (503).
  • the electronic device 210 may train the hit response learning neural network 803 for learning the hit response of an object using second training data (511).
  • the second training data may be obtained by sampling (507) the hit response data (505) generated based on raw data.
  • the electronic device 210 can efficiently learn the response to being hit.
  • the first training data may be general motion capture data as well as response data to being hit.
  • the adaptive hit response neural network 800 may include a gating module 805.
  • the gating module 805 may be a module for determining the final output for the hit response based on the output of the object motion learning neural network 801 and the output of the hit response learning neural network 803.
  • the adaptive hit response neural network 800 includes a first output of the object motion learning neural network 801, a first weight assigned to the first output, a second output of the hit response learning neural network 803, A hit response result may be generated by considering the second weight assigned to the second output.
  • allocation of the first weight eg, a value greater than 0
  • the allocation of the second weight eg, a value greater than 0
  • the gating module 805 may receive a hit condition as input data and provide weights assigned to the output of the object motion learning neural network 803 and the output of the hit response learning neural network 801 to the adaptive hit response neural network 800. there is.
  • the gating module 805 may determine weights assigned to the output of the object motion learning neural network 801 and the output of the hitting response learning neural network 803 based on the intensity of the hit. For example, the stronger the intensity of the attack, the higher the weight assigned to the output of the attack response learning neural network 803 can be determined.
  • the gating module 805 may assign a higher weight to the output of the object motion learning neural network 801 than the output of the hitting response learning neural network 803 as the intensity of the striking is lower. In this case, the response to being hit is that the person does not fall even if the shoulder is attacked, and the size of the struggling motion may be reduced.
  • the adaptive hit response neural network 800 may include an object motion learning neural network 801 and a hit response learning neural network 803.
  • the electronic device 210 may train the object motion learning neural network 801 for learning all motions of an object using first training data (eg, operation 503 of FIG. 5).
  • the electronic device 210 may train the hit response learning neural network 803 for learning the hit response of an object using second training data (e.g., operation 511 of FIG. 5 ).
  • the second training data may be obtained through sampling from hit response data 505 generated based on raw data.
  • the first training data may include general motion capture data as well as hit reaction data. Meanwhile, the second training data may be data sampled from hit response data.
  • Figure 9 shows examples 910 of response to being hit according to embodiments.
  • the response to being hit may vary depending on the hit and attack conditions.
  • Attack conditions may include attack means.
  • Figure 9 shows examples of responses to being hit according to attack means among attack conditions.
  • the operation state 901 represents the state of an object being hit by kickboxing.
  • the operation state 903 represents the state of an object being hit by a sword.
  • the operation state 905 represents the state of an object being hit by a gun. It can be confirmed that various response to being hit can be obtained by using the present invention.
  • Example Data size(s) Action types Gun 2, 484 idle, walk, hit Kickboxing 256 idle, walk, run, turn, dodge, punch, kick, hit Sword 2, 021 idle, walk, run, turn, swing, hit
  • Table 1 shows various action types and action response data sizes according to attack conditions (example).
  • An object hit by a gun shows three types of response to being hit.
  • Objects hit by kickboxing show eight types of hit reactions.
  • An object hit with a sword shows six types of response to being hit.
  • the types of responses to being hit vary depending on the attack method.
  • Table 1 it can be seen that the size of the hit response data varies for each attack method.
  • FIG. 10 illustrates an example 1000 of comparison depending on whether or not to sample hit response data according to embodiments.
  • a graph 1001 represents the average loss value of a neural network when hit when a data sampling method for hit response data is not performed.
  • the graph 1003 shows the average loss value of the neural network when hit when a data sampling method is performed on hit reaction data.
  • each point represents the average loss value of the network for 10 frames after a shot occurs in a specific shot posture. The lighter the color of the area, the relatively greater the loss. A large loss means that the learning of the neural network was relatively insufficient.
  • the average loss value of the neural network is relatively small compared to the case where data sampling is not performed. Accordingly, the learning effect of the adaptive hit response neural network of the present disclosure can be maximized through data sampling described in FIGS. 7A to 7C.
  • FIG. 11 shows an example 1100 of performance improvement of an adaptive hit response neural network according to embodiments.
  • a shot response in a situation using an adaptive shot response neural network according to embodiments is compared with a shot response in a situation in which the adaptive shot response neural network is not used.
  • the operating state 1101 is a state before being hit based on a single neural network
  • the operating state 1103 is a state before being hit based on an adaptive hit response neural network
  • the operating state 1105 is a state before being hit based on a single neural network.
  • the operation state 1107 is a state after being hit based on an adaptive hit response neural network.
  • the posture before and after the attack did not differ significantly.
  • the action state 1107 in which the neural network structure consists of a hit response learning neural network and an object motion learning neural network, the difference in the details of the posture before and after the attack can be confirmed. This means that the neural network learned better due to changes in the neural network structure according to one embodiment.
  • the processor can efficiently generate a hit action with limited resources. Another problem is that it is difficult to synthesize attack response behavior under arbitrary conditions from attack response data under limited conditions.
  • the present invention can generate appropriate response actions to being hit according to arbitrary attack conditions.
  • the processor can synthesize reaction actions to secondary or multiple hits that are difficult to synthesize through motion capture.
  • the present invention can improve consistency and richness in generated imagery.
  • a computer readable storage medium stores one or more programs, and when the one or more programs are executed by a processor of an electronic device, the operations of the object are performed.
  • the one or more programs include additional instructions that, when executed by a processor of the electronic device, cause the electronic device to generate the hit response data, where the hit response data is applied to the object. It may include instructions that cause the electronic device to include instantaneous hit response data according to force and subsequent hit response data according to the input of the object.
  • the data is based on an algorithm for excluding hit response data with a change amount below a reference value in order to identify the second training data. and instructions that cause the electronic device to perform sampling.
  • the amount of change includes the amount of change in at least one of the initial posture, the area hit, the posture immediately before being hit, the range of the shot, and the intensity of the shot. May contain instructions that cause device operation.
  • the initial posture, attack site, attack range, and/or attack having a change amount below a reference value are used to identify the second training data. and instructions that cause the electronic device to perform data sampling based on an algorithm for excluding hit response data for at least one of the intensities.
  • the result of the hit response of the object is may include instructions that cause the electronic device to acquire.
  • the second neural network may be activated when an attack motion of another object is detected in the second training data.
  • the second neural network may be activated when the intensity of being hit in the second training data is greater than or equal to a reference value.
  • the method of an electronic device includes providing first training data to a first neural network for learning the movements of an object and performing data sampling on the hit response data. , an operation of identifying second training data and an operation of providing the second training data to a second neural network for learning a response to being hit by the object, and based on the output of the first neural network and the output of the second neural network,
  • the operation may include obtaining a result of the object's hit response.
  • a method of an electronic device includes an operation of generating the hit reaction data, wherein the hit reaction data includes instantaneous hit reaction data according to a force applied to the object and an input of the object. It may include actions generated based on subsequent hit reaction data.
  • the operation of identifying the second training data may include performing the data sampling based on an algorithm for excluding hit reaction data with a change amount less than the reference value. .
  • the amount of change may include the amount of change in at least one of the initial posture, the area hit, the posture immediately before being hit, the range of the shot, and the intensity of the shot.
  • the operation of identifying the second training data includes receiving reaction data for at least one of an initial posture, attack part, attack range, and/or attack intensity with a change amount of less than or equal to a reference value.
  • An operation of performing the data sampling based on an algorithm for exclusion may be included.
  • the method of the electronic device includes an operation of obtaining a result of a hit response of the object when the object is hit based on the output of the first neural network and the output of the second neural network. can do.
  • the second neural network may be activated when an attack motion of another object is detected in the second training data.
  • the second neural network may be activated when the intensity of being hit in the second training data is greater than or equal to a reference value.
  • the device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components.
  • the devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable logic unit (PLU).
  • ALU arithmetic logic unit
  • FPGA field programmable gate array
  • PLU programmable logic unit
  • It may be implemented using one or more general-purpose or special-purpose computers, such as a logic unit, microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • OS operating system
  • a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
  • a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • the software and/or data may be embodied in any type of machine, component, physical device, computer storage medium or device for the purpose of being interpreted by or providing instructions or data to the processing device. there is.
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the medium may continuously store a computer-executable program, or temporarily store it for execution or download.
  • the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)

Abstract

일 실시예에 따른 컴퓨터 판독가능 저장매체(computer readable storage medium)는, 하나 이상의 프로그램들을 저장하고, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하고, 피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하고, 상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하고, 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 이외에 다양한 실시예들이 가능하다.

Description

훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체
아래의 설명들은 훈련된 신경망(neural network)에 기반하여 피격 반응을 생성하는 방법과 컴퓨터 판독가능 저장 매체(computer readable storage medium)에 관한 것이다.
게임 속 전투의 시각적 품질 향상을 위해 공격에 대한 반응 동작인 피격 반응의 품질은 중요하다. 그러나, 피격 반응에 대한 연구는 미흡했다. 대부분의 게임들에서는 정해진 조건에 따라 임의의 피격 애니메이션을 출력하는 형태로 피격 반응이 구현되었다. 피격에 따른 동작은 다른 일반적인 동작들에 비해 상대적으로 다양한 조건들에 영향을 받는다. 예를 들어, 피격에 따른 동작은 공간적 조건뿐만 아니라 물리적인 조건에 영향을 받는다.
모션 캡쳐 방식으로 확보된 데이터로 신경망을 훈련시킴으로써, 동작을 자연스럽게 합성시키기 위한 노력이 있었다. 그러나 실시간 스트리밍 상황에서 모션 캡쳐 방식만으로는 제한적인 시간으로 인해 훈련이 용이하지 않다.
신경망(neural network)은, 시냅스들의 결합을 통해 네트워크를 형성하는 노드들을 훈련하는 것에 기반하여 상기 시냅스들의 결합 세기를 변경함으로써, 문제를 해결하는 능력을 가지는 모델을 의미할 수 있다. 상기 신경망은, 지도 학습(supervised learning) 또는 비지도 학습(unsupervised learning)을 통해 훈련될 수 있다.
본 개시의 실시예들은, 피격 반응 학습을 위한 신경망을 통해, 피격 반응에 따른 결과를 보다 정확하게 도출하기 위한 장치 및 방법을 제공한다. 본 개시의 실시예들은, 피격 반응 학습 위한 데이터를 식별함으로써, 효율적으로 피격 반응에 대한 학습을 수행하기 위한 장치 및 방법을 제공한다.
본 개시에서 이루고자 하는 기술적 과제는 상술한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 따른 컴퓨터 판독가능 저장 매체(computer readable storage medium)는, 하나 이상의 프로그램들을 저장하고, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하고, 피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하고, 상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하고, 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
일 실시예에 따른 전자 장치내에서 실행되는 방법은, 객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하는 동작과 피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하는 동작과 상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하는 동작과 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하는 동작을 포함할 수 있다.
본 개시의 실시예들에 따른 장치 및 방법은, 생성된 피격 반응 데이터를 샘플링하여 훈련 데이터를 식별함으로써 피격 반응에 대한 신경망을 효율적으로 훈련시키고, 다양한 피격 반응들을 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 상술한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 실시예들에 따른 피격 반응(hit-reaction)의 예를 도시한다.
도 2는 실시예들에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 3은 실시예들에 따른 적응적 피격 반응 신경망(neural-network)에 기반한 피격 반응의 결과를 도출하기 위한 전자 장치의 동작 흐름을 도시한다.
도 4는 실시예들에 따른 적응적 피격 반응 신경망(neural-network)에 기반한 피격 반응의 결과를 도출하기 위한 전자 장치의 동작 흐름을 도시한다.
도 5는 실시예들에 따른 적응적 피격 반응 신경망의 학습을 위한 전자 장치의 동작 흐름을 도시한다.
도 6은 실시예에 따른 로우 데이터(raw data)에 기반한 피격 반응 데이터 생성의 예를 도시한다.
도 7a는 실시예들에 따른 피격 반응 데이터의 샘플링의 예를 도시한 것이다.
도 7b는 실시예들에 따른 피격 반응 데이터의 변화량 기반 샘플링의 예를 도시한다.
도 7c는 실시예들에 따른 피격 반응 데이터의 초기 자세 기반 샘플링의 예를 도시한다.
도 8은 실시예들에 따른 적응적 피격 반응 신경망의 예를 도시한다.
도 9는 실시예들에 따른 피격 반응의 예들을 도시한다.
도 10은 실시예들에 따른 피격 반응 데이터에 대한 샘플링 여부에 따른 비교의 예를 도시한다.
도 11은 실시예들에 따른 적응적 피격 반응 신경망의 성능 향상의 예를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
이하 본 개시는 무선 통신 시스템에서 실시간으로 다양한 피격 조건들에 따라 적절한 피격 반응 동작을 생성하기 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는, 피격 반응 데이터의 학습을 위한 신경망을 통해, 효율적으로 피격에 대한 반응 동작을 출력하기 위한 기술을 설명한다. 본 개시에서, 특정 조건의 만족(satisfied), 충족(fulfilled) 여부를 판단하기 위해, 초과 또는 미만의 표현이 사용될 수 있으나, 이는 일 예를 표현하기 위한 기재일 뿐 이상 또는 이하의 기재를 배제하는 것이 아니다. '이상'으로 기재된 조건은 '초과', '이하'로 기재된 조건은 '미만', '이상 및 미만'으로 기재된 조건은 '초과 및 이하'로 대체될 수 있다.
이하 설명에서 사용되는 움직임에 관련된 변수(예: 대상 객체, 피격 방법, 피격 수단, 피격 부위)을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어(예: 신경망, 생성기) 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
본 개시의 다양한 실시예들 및 이에 사용된 용어들은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 개시에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소 (예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다.
본 개시에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 개시의 실시예들은 기기(machine)(예: 전자 장치(210))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
도 1은 실시예들에 따른 피격 반응(hit-reaction)의 예를 도시한다. 도 1에서는 본 개시의 피격 반응의 학습을 위한 신경망과 상기 신경망을 통해 피격 반응에 대한 결과를 얻기 위한 절차들을 설명하기 위한 용어들이 정의된다.
도 1을 참조하면, 피격 반응이란, 객체(101)가 피격(102)을 받는 경우, 상기 피격(102)에 대응하는 객체의 반응을 의미한다. 이때, 피격 수단은 총이나, 검, 대포, 팔이나 발일 수 있다. 예를 들어, 도 1에서 객체(101)는 총에 의해 피격(102) 받고 있다. 총격에 대응하는 객체(101)의 반응을 피격 반응이라 수 있다. 예를 들어, 피격 반응은 가상 환경(virtual environment)(예: 게임) 내의 객체(101)가 피격(102)에 의해 다른 객체로부터 공격받을 경우의 반응 동작을 의미할 수 있다. 가상 환경에서 제공되는 서비스의 높은 품질을 위해, 피격 반응은 자연스러움(plausibility)이 요구된다. 본 개시에서는 객체(101)가 피격에 대응하여 적절한 피격 반응을 출력하기 위한 장치 및 방법이 서술된다. 특히, 본 개시에서는 객체(101)의 피격에 대한 학습, 상기 학습을 위한 신경망, 그리고 상기 신경망을 이용하는 장치 및 방법이 서술된다. 피격 조건에 따라 객체(101)의 상태가 변경될 수 있다. 예를 들면, 객체(101)의 상태는, 객체(101)의 위치를 포함할 수 있다. 예를 들면, 객체(101)의 위치는, 다른 객체의 공격(102)에 기반하여, 제1 위치로부터 제2 위치로 변경될 수 있다. 예를 들면, 객체(101)의 상태는 이동 방향을 포함할 수 있다. 예를 들면, 다른 객체의 공격(102)에 기반하여, 객체(101)의 방향은 제1 방향으로부터 제2 방향으로 변경될 수 있다. 예를 들면, 객체(101)의 상태는 객체(101)의 자세(posture)를 포함할 수 있다. 객체(101)의 자세는 상기 다른 객체의 공격에 기반하여, 제1 자세로부터 제2 자세로 변경될 수 있다. 다시 말해, 상기 다른 객체의 공격(102)은 객체(101)의 위치, 방향, 또는 자세 중 적어도 하나를 변경하기 위해 가상 환경에서 이용될 수 있다. 도 1에는 도시되지 않았으나, 객체(101)의 상태는 객체(101)의 표정, 객체(101)의 출혈 여부, 객체(101)의 의상 변화와 같은 외부적인 요인을 모두 포함할 수 있다.
객체(101)는 복수의 상태들을 가질 수 있다. 상기 복수의 상태들은 객체(101)의 모션을 통해 가상 환경 내에서 표현될 수(represent) 있다. 객체(101)의 모션은, 객체(101)의 상태가 전환되는 것을 의미한다. 가상 환경에서 제공되는 서비스의 높은 품질을 위해 객체(101)의 모션을 구성하는 상태들이 보다 많고, 정확할 것이 요구된다.
피격 반응을 설명하기 위해, 객체(101)의 현재 상태가 제1 상태라고 가정하자. 제1 상태에서 객체(101)는 공격을 받을 수 있다. 공격에 대응하여, 객체(101)는 상기 제1 상태로부터 적어도 하나의 제3 상태를 통해 제2 상태로 전환될 수 있다. 상기 제1 상태로부터 적어도 하나의 제3 상태를 통해 제2 상태로 전환되는 모션은 피격 반응이라고 지칭된다. 예를 들면, 걸어가던 객체(101)의 어깨가 피격된 경우, 피격 반응은 제1 상태로서 걷는 상태, 제3 상태는 어깨가 기울어진 상태, 제2 상태로서 바닥에 누운 상태를 포함할 수 있다. 이 때, 제3 상태는 어깨의 뒤틀림 정도와 밀려나는 정도 등에 따라 하나 이상의 상태들로 다양하게 구성될 수 있다.
피격 반응은 피격 조건에 따라 달라질 수 있다. 피격 조건은 공격 조건을 포함할 수 있다. 일 실시예에 따라, 공격 조건은 공격 수단을 포함할 수 있다. 예를 들면, 객체는 총이나 검을 통해 공격받을 수 있다. 다른 예를 들면, 객체(101)는 손이나 발과 같은 신체로부터 공격받을 수 있다. 피격에 대응하는 자연스러운 모션을 위해서는, 어떠한 객체를 통해 공격받는지에 따라, 적응적인 피격 반응이 요구된다. 일 실시예에 따라, 공격 조건은 공격 세기를 포함할 수 있다. 예를 들어, 넘어짐을 결정하기 위한 기준 값보다 큰 세기로 가격 되었는지 여부에 따라, 피격 반응이 달라질 수 있다.
피격 조건은 객체 조건을 포함할 수 있다. 객체 조건은 피격 부위, 피격 범위, 객체의 초기 자세를 포함할 수 있다. 예를 들면, 상기 객체(101)의 어깨를 다른 객체가 공격(102)하는 경우의 피격 반응은 상기 객체(101)의 허리를 다른 객체가 공격(102)하는 경우의 피격 반응과 다를 수 있다. 상기 객체(101)의 한쪽 어깨를 다른 객체가 공격(102)하는 경우의 피격 반응은 상기 객체(101)의 양쪽 어깨를 다른 객체가 공격(102)하는 경우의 피격 반응과 다를 수 있다. 상기 객체(101)의 어깨를 넘어지지 않을 정도의 세기로 공격(102)하는 경우의 피격 반응과 상기 객체(101)의 어깨를 넘어질 정도의 세기로 공격(102)하는 경우의 피격 반응은 다를 수 있다. 서 있는 상기 객체(101)를 다른 객체가 공격(102)하는 경우의 피격 반응은 뛰어가는 상기 객체(101)를 다른 객체가 공격(102)하는 경우의 피격 반응과 다를 수 있다.
본 개시는 도 1에서 언급된 피격 반응을 보다 정확하고 효과적으로 출력하기 위해, 피격 반응 학습(learning)을 위한 신경망을 제안한다. 신경망(neural network)은, 시냅스들의 결합을 통해 네트워크를 형성하는 노드들을 훈련하는 것에 기반하여 상기 시냅스들의 결합 세기를 변경함으로써, 문제를 해결하는 능력을 가지는 모델을 의미할 수 있다. 상기 신경망은, 지도 학습(supervised learning) 또는 비지도 학습(unsupervised learning)을 통해 훈련될 수 있다. 예를 들어, 상기 지도 학습은, 레이블(또는 정답)을 제공함으로써 수행되는 학습을 의미할 수 있다. 상기 지도 학습은, 상기 레이블을 요구하기 때문에, 상기 신경망으로부터 도출되는 출력 데이터의 신뢰도를 평가하기 위해 상기 비지도 학습에 비하여 적은 자원들을 요구할 수 있다. 반면, 상기 지도 학습은, 상기 레이블을 요구하기 때문에, 상기 레이블을 획득하기 위한 자원들(예: 시간 자원들)을 요구할 수 있다. 다른 예를 들어, 상기 비지도 학습은, 레이블 없이 수행되는 학습을 의미할 수 있다. 상기 비지도 학습은, 상기 레이블을 요구하지 않기 때문에, 상기 레이블을 획득하기 위한 자원들을 요구하지 않을 수 있다. 반면, 상기 비지도 학습은, 상기 레이블을 요구하지 않기 때문에, 상기 신경망으로부터 도출되는 출력 데이터의 신뢰도를 평가하기 위해 상기 지도 학습에 비하여 많은 자원들을 요구할 수 있다.
상술된 바와 같이, 객체의 반응에 대한 효과적인 출력을 얻기 위해서는 상대적으로 많은 양의 학습 데이터가 요구된다. 그러나, 특정 장치 내의 스트리밍 환경과 같이 제한된 상황에서는 충분한 학습이 용이하지 않다. 따라서, 본 개시는 객체의 전체 동작이 아닌 피격 반응에 초점을 두어, 피격 반응에 대한 학습만을 별도로 수행하기 위한 신경망을 이용한 피격 반응의 출력을 제안한다. 이하, 도 2를 통해 본 개시의 신경망을 구현하기 위한 전자 장치의 구성요소들이 서술된다.
도 2는 실시예들에 따른 전자 장치(210)의 기능적 구성의 예를 도시한다. 도 2에 예시된 구성은 도 1에서 언급된 바와 같이, 객체가 피격되는 경우, 객체의 반응을 출력하기 위한 전자 장치(210)의 구성으로서 이해될 수 있다. 이하 사용되는 '쪋부', '쪋기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2를 참조하면, 전자 장치(210)는 메모리(230), 프로세서(250), 송수신기(270)를 포함할 수 있다. 메모리(230)는 전자 장치(210)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장할 수 있다. 메모리(230)는 저장부(storage unit) 혹은 저장 매체(storage medium)과 같은 동일한 기술적 의미를 가지는 다른 용어로 지칭될 수 있다. 메모리(230)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 메모리(230)는 프로세서(250)의 요청에 따라 저장된 데이터를 제공할 수 있다. 실시예들에 따라, 메모리(230)는 전자 장치(210)가 실시예들에 따른 적응적 피격 반응 신경망을 구동 시키기 위한 동작들 및 학습을 위한 피격 반응 데이터를 저장할 수 있다.
본 개시의 실시예들은 기기(machine)(예: 전자 장치(210))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(210))의 프로세서(예: 프로세서(250))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
프로세서(250)는 전자 장치(210)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(250)는 메모리(230)에 데이터를 기록하고 읽을 수 있다. 또한, 프로세서(250)는 송수신기(270)를 통해 신호를 송신 및 수신할 수 있다. 그리고, 프로세서(250)는 통신 규격에서 요구하는 프로토콜 스택(protocol stack)의 기능들을 수행할 수 있다. 이를 위해, 프로세서(250)는 적어도 하나의 서브-프로세서(sub-processor)를 포함할 수 있다. 실시예들에 따라, 프로세서(250)는 전자 장치(210)가 실시예들에 따른 적응적 피격 반응 신경망에 따른 출력 동작 및 상기 신경망의 학습 동작을 수행하도록 구성될 수 있다.
송수신기(270)는 유선 통신 환경에서, 신호를 송수신하기 위한 기능들을 수행할 수 있다. 송수신기(270)는 전송 매체(transmission medium)(예: 구리선, 광섬유)를 통해 장치와 장치 간의 직접적인 연결을 제어하기 위한, 유선 인터페이스를 포함할 수 있다. 예를 들어, 송수신기(270)는 구리선을 통해 다른 장치에게 전기적 신호를 전달하거나, 전기적 신호와 광신호간 변환을 수행할 수 있다.
송수신기(270)는 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행할 수 있다. 예를 들어, 송수신기(270)는 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터 송신 시, 송수신기(270)는 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성할 수 있다. 또한, 데이터 수신 시, 송수신기(270)는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열로 복원할 수 있다. 또한, 송수신기(270)는 기저대역 신호를 RF(radio frequency) 대역 신호로 상향 변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환할 수 있다. 이를 위해, 송수신기(270)는 송신 필터, 수신 필터, 증폭기, 믹서, 오실레이터, DAC(digital-to-analog converter), ADC(analog-to-digital converter) 등을 포함할 수 있다.
또한, 송수신기(270)는 다수의 송수신 경로(path)를 포함할 수 있다. 나아가, 송수신기(270)는 다수의 안테나 요소(element)들로 구성된 적어도 하나의 안테나 어레이를 포함할 수 있다. 하드웨어 측면에서, 송수신기(270)는 디지털 유닛(digital unit) 및 아날로그 유닛(analog unit)으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛(sub-unit)들로 구성될 수 있다.
송수신기(270)는 상술된 바와 같이 신호를 송신 및 수신할 수 있다. 이에 따라, 송수신기(270)의 전부 또는 일부는 '송신부', '수신부' 또는 '송수신부'로 지칭될 수 있다. 또한, 이하 설명에서, 무선 채널을 통해 수행되는 송신 및 수신은 송수신기(270)에 의해 상술된 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용될 수 있다.
도 2에 도시된 전자 장치(210)의 구성은, 일 예시일 뿐, 도 2에 도시된 구성으로부터 본 개시의 다양한 실시예들을 수행하는 전자 장치의 예가 한정되지 않는다. 즉, 다양한 실시예들에 따라, 일부 구성이 추가, 삭제, 변경될 수 있다. 예를 들어, 전자 장치(210) 내부에서 피격 반응에 대한 학습 및 피격 반응에 대한 결과 도출 모두를 수행하는 장치의 경우, 송수신기(270)가 전자 장치(210)에서 생략될 수 있다.
일 실시예에 따른 전자 장치(210)의 메모리(230) 내에 신경망 및 신경망과 관련된 파라미터들의 집합이 저장될 수 있다. 신경망은 많은 수의 인공 뉴런(또는 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델이다. 신경망은 인공 뉴런들을 통해 인간의 인지 작용, 학습과정, 또는 트레이닝을 수행할 수 있다. 신경망과 관련된 파라미터들은, 예를 들어, 신경망 내에 포함된 복수의 노드들 및/또는 상기 복수의 노드들 사이의 연결에 할당되는 가중치를 나타낼 수 있다.
일 실시예에서, 프로세서(250)는 신경망을 트레이닝 할 수 있다. 일 실시예에서 신경망은 비지도 학습을 통해 트레이닝 될 수 있다. 일 실시예에서 프로세서(250)는, 신경망을 트레이닝하기 위해 입력 데이터를 신경망에게 제공할 수 있다. 예를 들면, 입력 데이터는 피격 반응 데이터 샘플링을 거쳐 생성된 훈련 데이터일 수 있다.
예를 들어 신경망은 복수의 레이어들을 포함할 수 있다. 예를 들면 신경망은, 입력 레이어, 하나 이상의 히든 레이어들 및 출력 레이어를 포함할 수 있다. 입력 데이터에 기반하여 입력 레이어 내 노드들 각각에서 야기된 신호들은 입력 레이어로부터 하나 이상의 히든 레이어들에게 송신될 수 있다. 출력 레이어는 하나 이상의 히든 레이어들로부터 수신된 하나 이상의 신호들에 기반하여, 신경망의 출력 데이터를 획득할 수 있다.
한편, 입력 레이어, 하나 이상의 히든 레이어들, 및 출력 레이어는 복수의 노드들을 포함할 수 있다. 하나 이상의 히든 레이어들은 CNN(convolution neural network)에서의 컨벌루젼 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특정(specified) 기능이나 특징을 기준으로 연결된 다양한 종류들의 필터 또는 레이어일 수 있다. 일 실시예에서, 하나 이상의 히든 레이어들은 출력 값이 현재 시간의 히든 레이어에 재차 입력되는 RNN(recurrent neural network)에 기반된 레이어일 수 있다. 일 실시예에서 하나 이상의 히든 레이어들은 복수로 구성될 수 있으며, 딥 신경망 (deep neural network)을 형성할 수 있다. 예를 들면, 딥 신경망의 적어도 일부를 형성하는 하나 이상의 히든 레이어들을 포함하는 신경망을 트레이닝하는 것은, 딥 러닝(deep learning)으로 참조될 수 있다.
하나 이상의 히든 레이어들 내에 포함되는 노드는, 히든 노드로 참조될 수 있다.
입력 레이어 및 하나 이상의 히든 레이어들 내에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 하나 이상의 히든 레이어들 및 출력 레이어 내에 포함된 노드들도 연결 가중 치를 가지는 연결선을 통해 서로 연결될 수 있다. 신경망을 튜닝 및/또는 트레이닝하는 것은, 신경망 내에 포함된 레이어들(예: 입력 레이어, 하나 이상의 히든 레이어들 및 출력 레이어) 각각 내에 포함된 노드들 사이의 연결 가중치를 변경하는 것을 의미할 수 있다. 예를 들면, 신경망의 튜닝 또는 트레이닝은, 비지도 학습(unsupervised learning)에 기반하여 수행될 수 있다.
일 실시예에 따르면, 본 개시의 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM(compact disc read only memory))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
도 3은 실시예들에 따른 적응적(adaptive) 피격 반응(hit reaction)의 학습의 예를 도시한다. 이하, 도 3의 동작들은 도 2의 전자 장치(210)의 프로세서(250)가 수행하는 것으로 서술되나, 본 개시의 실시예들은 이에 한정되지 않는다. 다른 일 실시예에 따라, 후술하는 동작들 중 일부 동작(들)은 전자 장치(210)의 프로세서(250)에 의해 수행되고, 다른 일부 동작(들)은 전자 장치(210)의 송수신기(270)를 통해 외부 장치(예: OTA(over the air) 서버))를 통해 수행될 수 있다. 다른 일 실시예에 따라, 후술하는 동작들 중 일부 동작(들)은 전자 장치(210)의 메모리(230)에 미리 구현될 수 있고, 다른 일부 동작(들)은 전자 장치(210)의 프로세서(250)에 의해 수행될 수 있다.
도 3을 참조하면, 적응적 피격 반응의 학습은 피격 반응 생성, 데이터 샘플링 및 피격 반응 학습을 통해 수행될 수 있다.
프로세서(250)는 로우 데이터(301)를 획득할 수 있다. 예를 들어, 프로세서(250)는 메모리(230)로부터 로우 데이터(301)를 획득할 수 있다. 다른 예를 들어, 프로세서(250)는 외부 서버로부터 로우 데이터(301)를 획득할 수 있다. 로우 데이터(301)는 객체와 관련된 모든 데이터를 의미할 수 있다. 예를 들어, 로우 데이터(301)는 모션 캡쳐 데이터를 포함할 수 있다.
프로세서(250)는 피격 반응을 생성할 수 있다. 프로세서(250)가 피격 반응을 생성하도록 수행하는 명령어 혹은 피격 반응을 생성하는 프로세서(250)의 동작은 피격 반응 생성기(303)의 기능으로 이해될 수 있다. 피격 반응 생성기(303)는 로우 데이터(301)에 기반하여 피격 반응을 생성할 수 있다. 피격 순간에 동작의 다양성이 크게 증가하는 특징을 갖는 데이터를 학습하기 위해, 피격 반응 데이터가 요구된다. 피격 반응 생성기(303)는 상기 데이터를 획득하기 위하여, 다양한 피격 반응들을 생성할 수 있다. 피격 반응 생성기(303)는 로우 데이터(301)를 통해, 주어진 피격 조건 상에서 다양한 피격 반응 데이터를 생성할 수 있다.
일 실시예에 따라, 피격 반응 생성기(303)는 모션 데이터인 로우 데이터(301)에 기반하여 피격 반응 데이터를 출력할 수 있다. 예를 들면, 로우 데이터(301)는 지정된 피격 각도에 따른 모션 데이터를 포함할 수 있다. 예를 들면, 로우 데이터(301)는 지정된 피격 부위(예: 머리)에 따른 모션 데이터를 포함할 수 있다.
일 실시예에 따라, 피격 반응 생성기(303)는 인식 반응 메커니즘에 기반해 피격 반응을 생성할 수 있다. 예를 들어, 피격 반응 생성기(303)는 충격 이후 정의된 시간 동안에는 물리 시뮬레이션을 이용해 동작을 구현하고, 정의된 시간 이후에는 모션 데이터베이스로부터 적합한 모션을 찾아서 출력할 수 있다. 예를 들어, 로우 데이터는 상기 머리를 가격하는 모션 캡쳐 데이터일 수 있다. 로우 데이터, 피격 각도(예: 수직), 및 피격 부위(예: 머리)가 입력 데이터인 경우, 피격 반응 생성기(303)는 입력 데이터에 기반하여 피격 반응 데이터를 생성할 수 있다. 피격 반응 생성기(303)는 순간 피격 반응과 후속 피격 반응에 기반하여 피격 반응 데이터를 생성할 수 있다. 예를 들어, 피격 반응 생성기(303)는 정의된 시간 동안에 머리가 힘에 의해 이동하는 순간 피격 반응과 순간 피격 반응 이후에는 모션 매칭을 통해 후속 피격 반응을 연결하여 피격 반응 데이터를 생성할 수 있다. 예를 들어, 피격 반응 데이터는 순간 반응 상태에서는 머리가 먼저 뒤로 넘어가고 후속 반응 상태에서는 중심을 잡기 위해 손을 허우적대며 넘어지는 동작일 수 있다.
피격 반응 생성기(303)는 이산적 피격 조건에 대한 피격 반응 데이터에 기반하여 연속적인 피격 조건들에 대한 피격 반응을 생성할 수 있다. 예를 들어, 피격 반응 생성기(303)는, 어깨를 제1 힘의 크기로 내려치는 조건에 대한 피격 반응 데이터와 어깨를 제2 힘의 크기로 내려치는 조건에 대한 피격 반응 데이터만 존재하는 경우, 제1 힘의 크기와 제2 힘의 크기 사이의 제3 힘의 크기로 내려치는 조건에 대한 피격 반응 데이터를 생성할 수 있다. 예를 들어, 어깨를 제1 길이를 가진 검으로 공격하는 조건에 대한 피격 반응 데이터와 어깨를 제2 길이를 가진 검으로 공격하는 조건에 대한 피격 반응 데이터만 존재하는 경우, 제1 길이와 제2 길이 사이의 제3 길이의 검으로 공격하는 조건에 대한 피격 반응 데이터를 생성할 수 있다. 예를 들어, 머리 내의 제1 부위를 공격하는 조건에 대한 피격 반응 데이터와 머리 내의 제2 부위를 공격하는 조건에 대한 피격 반응 데이터만 존재하는 경우, 제1 부위와 제2 부위 사이의 제3 부위를 공격하는 조건에 대한 피격 반응 데이터를 생성할 수 있다.
데이터 샘플링(305)은 피격 반응 데이터에서 훈련 데이터(307)를 식별하는 과정을 의미한다. 적응적 피격 반응 신경망(309)에 피격 반응 데이터 모두를 입력하는 경우, 적응적 피격 반응 신경망(309)에 부담이 증가한다. 많은 데이터를 학습시킬수록 프로세서(250)의 자원이 상대적으로 많이 소모된다. 뿐만 아니라, 스트리밍과 같이 실시간성 출력이 요구되는 경우, 제한된 시간 내에 학습에 따른 결과를 출력하는 것이 용이하지 않을 수 있다. 따라서, 데이터 샘플링(305)을 통해, 프로세서(250)는 적응적 피격 반응 신경망(309)을 효율적으로 학습시키기 위해, 적어도 하나 이상의 기준에 미달한 피격 반응 데이터를 훈련 데이터(307)에서 제외할 수 있다. 예를 들면, 데이터 샘플링(507)은 기준 값 이하의 변화량을 갖는 초기 자세, 공격 부위, 공격 범위, 및/또는 공격 세기 중 적어도 하나에 대한 피격 반응 데이터를 제외하기 위한 알고리즘을 통해 수행될 수 있다.
적응적 피격 반응 신경망(309)은 적어도 하나의 신경망으로 구성될 수 있다. 적응적 피격 반응 신경망(309)은 다양성-적응형 개선 신경망(Diversity-Adaptive Refinement Network)이라 지칭될 수 있다. 실시예들에 따라, 적응적 피격 반응 신경망(309)은 객체 동작 학습 신경망(311)과 피격 반응 학습 신경망(313)으로 구성될 수 있다. 객체 동작 학습 신경망(311)이란, 객체의 동작을 학습하기 위한 신경망이다. 객체 동작 학습 신경망(311)은 제1 부신경망, 제1 신경망 내지 고정 부신경망(regular subnetwork)으로 지칭될 수 있다. 피격 반응 학습 신경망(313)이란, 피격 반응을 학습하기 위한 신경망이다. 제2 부신경망, 제2 신경망 내지 피격 반응 부신경망(hit reaction subnetwork) 또는 피격 부신경망(hit subnetwork)으로 지칭될 수 있다. 적응적 피격 반응 신경망(309)이 객체 동작 학습 신경망(311)과 피격 반응 학습 신경망(313)으로 구성되는 것은 정확한 결과값을 얻기 위함이다. 이런 구조의 신경망은 더 정확하고 풍부한 피격 반응을 출력할 수 있다.
도 3에는 도시되지 않았으나, 일 실시예에 따라, 적응적 피격 반응 신경망(309)은 객체 동작 학습 신경망(311)과 피격 반응 학습 신경망(313)의 출력 결과를 결합하는 게이팅 모듈(gating module)이 더 추가될 수 있다.
도 4는 실시예들에 따른 적응적 피격 반응 신경망(neural network)에 기반한 피격 반응의 결과를 도출하기 위한 전자 장치의 동작 흐름을 도시한다. 전자 장치는 도 2의 전자 장치(210)을 예시한다. 도 4의 동작들 중에서 적어도 일부는 전자 장치(210)의 프로세서(250)에 의해 실행될 수 있다.
도 4를 참조하면, 동작(401)에서, 전자 장치(210)는, 피격 반응 데이터 생성 위해, 로우 데이터를 획득할 수 있다. 로우 데이터는 객체의 동작에 대한 데이터를 의미한다. 예를 들어, 로우 데이터는 모션 캡쳐 데이터를 포함할 수 있다. 예를 들어, 로우 데이터는 어깨를 공격당한 객체의 넘어지는 모션 캡쳐 데이터일 수 있다.
동작(403)에서, 전자 장치(210)는 적응적 피격 반응 신경망의 학습을 수행할 수 있다. 로우 데이터에 기반한 신경망 훈련은 도 5에 도시된 내용을 포함할 수 있다. 예를 들어, 전자 장치(210)는, 로우 데이터를 기반으로 적어도 하나 이상의 피격 반응 데이터를 생성(505)한다. 이후, 전자 장치(210)는, 피격 반응 데이터를 샘플링 하는 과정을 거쳐 훈련 데이터를 생성(509)하고, 훈련 데이터에 기반하여 피격 반응 학습 신경망을 학습(511)시킬 수 있다.
동작(405)에서, 전자 장치(210)는 적응적 피격 반응 신경망에 피격 조건을 입력할 수 있다. 전자 장치(210)는, 피격 조건을 입력 데이터로 상기 학습된 신경망에 제공(405)하고, 신경망 출력에 기반하여 객체의 피격 반응 결과를 획득(407)할 수 있다. 예를 들어, 피격 조건은 공격 조건, 객체 조건 등에 대한 정보일 수 있다.
일 실시예에 의하면, 동작(405)에서, 객체가 피격되는 경우, 신경망에 피격 조건이 입력될 수 있다. 여기서, 입력 데이터인 피격 조건은 모션으로 주어질 수 있다. 프로세서(250)는 모션을 분석하여 피격 조건에 대한 내용을 추출할 수 있다. 입력 데이터가 기립 상태의 객체를 인체를 이루고 있는 평면과 수직하게 전방에서 총격하는 모션인 경우, 프로세서(250)는 초기 자세가 기립 상태라는 점을 추출해 낼 수 있다. 또한, 프로세서(250)는 피격 방법은 총격이며, 피격 각도는 인체를 이루고 있는 평면과 수직 전방임을 추출해 낼 수 있다.
동작(407)에서, 전자 장치(210)는 상기 적응적 피격 반응 신경망으로부터 피격 반응 결과를 획득할 수 있다. 상기 적응적 피격 반응 신경망은 적어도 하나 이상의 신경망으로 구성될 수 있다. 예를 들어, 적응적 피격 반응 신경망(309)은 객체 동작 학습 신경망(311)과 피격 반응 학습 신경망(313)으로 구성될 수 있다. 예를 들어, 적응적 피격 반응 신경망(309)이, 객체 동작 학습 신경망(311)의 출력과 피격 반응 학습 신경망(313)출력에 할당되는 가중치를 고려하여 동작(407)에서 피격 반응 결과를 결정한 것일 수 있다.
상기 가중치 할당은 결합하는 게이팅 모듈(805)에 기반하여 수행될 수 있다. 게이팅 모듈(805)은 신경망일 수 있다. 게이팅 모듈(805)은 입력 데이터로 피격 조건을 수신하고, 객체 동작 학습 신경망(311)의 출력과 피격 반응 학습 신경망(313) 출력에 할당되는 가중치를 출력하는 신경망일 수 있다.
일 실시예에서, 동작(407)에서, 게이팅 모듈(805)은 피격 세기에 기반하여 객체 동작 학습 신경망(311)의 출력과 피격 반응 학습 신경망(313) 출력에 할당되는 가중치를 결정할 수 있다. 예를 들어, 피격 세기가 강할수록 피격 반응 학습 신경망(313)의 출력에 할당되는 가중치를 높게 결정할 수 있다. 객체가 다른 객체로부터 어깨를 공격당하는 경우, 게이팅 모듈은, 피격 세기가 낮을수록 객체 동작 학습 신경망(311)의 출력에 피격 반응 학습 신경망(313)의 출력보다 높은 가중치를 배당할 수 있다. 이 경우, 피격 반응은 어깨를 공격당했더라도 넘어지지 않고, 허우적 대는 모션의 동작의 크기가 적어질 수 있다. 예를 들어, 동작(407)에서, 다른 객체의 공격 동작이 있는 경우에만 상기 피격 반응 학습 신경망의 출력 결과를 고려하여 피격 반응 결과를 획득하게 할 수 있다. 예를 들면, 객체가 환경과 상호작용할 때는 피격 반응 학습 신경망의 출력결과를 고려하지 않을 수 있다. 예를 들면, 캐릭터에 수직전방으로 강한 바람이 부는 경우, 객체의 반응 생성시 피격 반응 학습 신경망의 출력 값을 고려하지 않을 수 있다.
도 4에서는 동작(401), 동작(403), 동작(405), 및 동작(407)이 순차적으로 수행되는 것으로 도시되었으나, 본 개시의 실시예들은 이에 한정되지 않는다. 일 실시예에 따라, 피격 반응을 학습하는 동작(401)과 동작(403)은 피격 반응에 대한 결과를 출력하기 위한 동작(405)과 동작(407)와 병렬적으로 수행될 수 있다. 다른 일 실시예에 따라, 동작(401)과 동작(403)는 주기적으로 수행되나, 동작(405)과 동작(407)은 객체 피격 시에만 수행될 수 있다.
도 5는 실시예들에 따른 적응적 피격 반응 신경망의 학습을 위한 전자 장치의 동작 흐름을 도시한다. 전자 장치는 도 2의 전자 장치(210)을 예시한다. 도 5의 동작들 중에서 적어도 일부는 전자 장치(210)의 프로세서(250)에 의해 실행될 수 있다. 도 5의 동작들은, 도 4의 동작(403)의 적응적 피격 반응 신경망의 학습의 구체적인 동작들로 이해될 수 있다.
도 5를 참조하면, 동작(501)에서, 전자 장치(210)는 객체의 동작들의 학습을 위한 객체 동작 학습 신경망에게 제1 훈련 데이터를 제공할 수 있다. 객체 동작 학습 신경망은, 객체의 모든 동작을 학습하기 위한 신경망을 의미할 수 있다. 제1 훈련 데이터는 피격 반응에 대한 데이터뿐만 아니라, 객체의 움직임, 객체의 상태, 객체의 환경과 같은 객체의 동작들과 관련된 데이터를 포함할 수 있다.
동작(503)에서, 전자 장치(210)는 제1 훈련 데이터로 객체 동작 학습 신경망을 학습할 수 있다. 제1 훈련 데이터는 일반적인 모션 캡쳐 데이터 일 수 있다. 상기 로우 데이터에 기반해 피격 반응 학습 신경망 훈련을 할 때, 상기 피격 반응 학습 신경망은 객체 동작 학습 신경망과 피격 반응 학습 신경망으로 나누어 구성될 수 있다. 일 실시예에 의하면 객체의 모든 동작의 학습을 위한 객체 동작 학습 신경망을 제1 훈련 데이터로 학습시킬 수 있다.
동작(505)에서, 전자 장치(210)는 로우 데이터에 기반하여 다양한 피격 반응 데이터를 생성할 수 있다. 피격 반응 데이터는 인식 반응 메커니즘에 기반하여 순간 피격 반응 데이터와 후속 피격 반응 데이터를 포함할 수 있다. 순간 피격 반응은 객체에 적용되는 힘에 따른 피격 반응을 의미할 수 있다. 후속 피격 반응은 객체의 입력에 따른 피격 반응을 의미할 수 있다.
동작(507)에서, 전자 장치(210)는, 피격 반응 데이터를 데이터 샘플링 하여 제2 훈련 데이터를 생성할 수 있다. 전자 장치(210)는 효율적인 훈련 데이터를 추출하기 위해, 실시예들에 따른 데이터 샘플링을 수행할 수 있다. 일 실시예에 의하면, 데이터 샘플링은 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 제외하기 위한 알고리즘을 통해 수행될 수 있다. 예를 들면, 데이터 샘플링은 기준 값 이하의 변화량을 갖는 피격 부위에 대한 피격 반응 데이터를 제외하기 위한 알고리즘을 통해 수행될 수 있다. 피격 부위가 어깨인 피격 반응 데이터가 이미 훈련 데이터에 많다면, 피격 부위가 어깨인 피격 반응 데이터를 훈련 데이터에 더 이상 추가하지 않을 수 있다. 예를 들면, 데이터 샘플링은 기준 값 이하의 변화량을 갖는 피격범위에 대한 피격 반응 데이터를 제외하기 위한 알고리즘을 통해 수행될 수 있다. 검으로 베는 동작의 경우, 검의 길이에 따라 피격범위가 달라질 수 있다. 확보된 피격 반응 데이터의 검의 길이와 대상 피격 반응의 검의 길이의 차이가 기준 값 이하인 경우, 대상 피격 반응 데이터를 훈련 데이터에 추가하지 않을 수 있다. 예를 들면, 데이터 샘플링은 기준 값 이하의 변화량을 갖는 피격 부위 및 피격 세기에 대한 피격 반응 데이터를 제외하기 위한 알고리즘을 통해 수행될 수 있다. 예를 들면, 훈련 데이터에 적어도 하나 이상의 기립 상태의 객체의 어깨를 공격하는 경우의 피격 반응 데이터가 있다면, 기준 값 이하의 피격 세기로 기립 상태의 객체의 어깨를 공격하는 경우의 피격 반응 데이터를 훈련 데이터에 추가하지 않을 수 있다.
동작(511)에서, 전자 장치(210)는, 제2 훈련 데이터로 피격 반응 학습 신경망을 학습시킬 수 있다. 제2 훈련 데이터는 제1 훈련 데이터와 다를 수 있다. 제2 훈련 데이터는 피격 반응 데이터로부터 샘플링 된 데이터일 수 있다. 피격 반응과 관련된 데이터만을 추출 및 샘플링함으로써, 효율적인 학습이 가능하다.
도 5에서는 동작(501) 내지 동작(511)이 순차적으로 수행되는 것으로 도시되었으나, 본 개시의 실시예들은 이에 한정되지 않는다. 일 실시예에 따라, 객체 동작 학습 신경망을 학습하는 동작(501)과 동작(503)은 피격 반응 학습 신경망을 학습하기 위한 동작(505), 동작(507), 동작(509), 동작(511)과 병렬적으로 수행될 수 있다.
도 6은 실시예들에 따른 로우 데이터(raw data)에 기반한 피격 반응 데이터 생성의 예를 도시한다. 피격 반응 데이터는, 객체가 피격을 당하는 경우, 객체의 반응과 관련된 정보를 의미한다. 전자 장치(210)은 피격 반응 데이터를 생성할 수 있다.
도 6을 참조하면, 객체의 피격 전 상태는 유휴 상태(idle state)(601)로 지칭될 수 있다. 이후, 객체가 피격(603)을 당하는 시점부터, 객체의 상태는 유휴 상태(601)에서 반응 상태로 천이한다. 반응 상태 이후, 객체는 다시 유휴 상태(609)로 천이할 수 있다. 반응 상태는 순간 반응 상태(605)와 후속 반응 상태(607)를 포함할 수 있다. 순간 반응 상태(605)와 후속 반응 상태(607)의 구별은 인식반응 메커니즘에 기반할 수 있다. 인식반응 메커니즘이란, 생명체가 예측하지 못한 갑작스러운 충격을 받을 경우, 약 100 - 200ms의 지연시간 후에 반응하게 된다는 원리이다.
순간 반응 상태(605)는 피격(603) 직후의 일정 시간 동안 물리적 힘에 의한 동작이 발생하는 상태일 수 있다. 상기 동작은 순간 피격 동작으로 지칭될 수 있다. 후속 반응 상태(607)는 순간 반응 상태(605) 이후, 생명체의 의지와 특성에 기반한 동작이 발생하는 상태일 수 있다. 상기 동작은 후속 피격 동작으로 지칭될 수 있다. 피격 반응 데이터는, 상술된 순간 피격 동작과 후속 피격 동작과 관련된 데이터를 포함할 수 있다.
후속 반응 상태(607)에서, 피격 반응은 모션 데이터에 기반하여 모션 매칭 알고리즘을 통해 생성될 수 있다. 전자 장치(210)의 피격 반응 생성기(303)는 모션 데이터베이스(database)로부터, 피격에 대응하는 모션을 찾고, 상기 모션을 출력할 수 있다. 예를 들어, 객체가 머리를 공격당한 경우의 피격 반응 데이터는 순간 반응 상태(605)에서는 머리가 먼저 뒤로 넘어가고 후속 반응 상태(607)에서는 중심을 잡기 위해 손을 허우적대며 넘어지는 동작을 포함할 수 있다. 도 6의 피격 반응 데이터 생성 방식을 이용하면, 피격 반응 생성기(303)는 다양한 피격 반응 데이터들을 생성할 수 있다.
도 7a는 실시예들에 따른 피격 반응 데이터의 샘플링(sampling)의 예(700)를 도시한다. 데이터의 샘플링이란, 전체 데이터에서 일부 데이터를 추출하는 과정을 의미한다. 전체 데이터를 모두 학습하는 대신 추출된 일부 데이터를 학습함으로써, 자원 효율이 높아질 수 있다. 보다 정확한 결과를 출력하기 위해서는, 목적에 부합하는 일부 데이터의 선별이 요구된다.
도 7a를 참조하면, 실시예들에 따른 전자 장치(210)는 샘플링을 통해, 피격 반응에 대한 전체 데이터 대신 학습을 위한 데이터를 식별할 수 있다.
전자 장치(210)는, 효율적인 상기 적응적 피격 반응 신경망 학습을 위해, 피격 반응 데이터(701) 생성할 수 있다. 이후 전자 장치(210)는 피격 반응 데이터(701)에 대한 샘플링을 통해, 훈련 데이터(703)를 획득할 수 있다.
일 실시예에 따라, 전자 장치(210)는, 객체의 피격 초기 자세의 변화량이 기준 값 이상인지 여부에 기반하여, 샘플링을 수행할 수 있다. 예를 들어, 전자 장치(210)는 객체의 피격 초기 자세의 변화량이 기준 값 미만인 피격 반응 데이터는 제외하도록 샘플링을 수행할 수 있다. 초기 자세의 변화량이 기준 값 미만이라면 피격 반응 학습을 하기 위한 해당 데이터의 실효성이 상대적으로 낮다고 볼 수 있기 때문이다.
일 실시예에 따라, 전자 장치(210)는, 공격 범위 변화량이 기준 값 이상인지 여부에 기반하여, 샘플링을 수행할 수 있다. 예를 들어, 전자 장치(210)는 객체의 공격 범위 변화량이 기준 값 미만인 피격 반응 데이터는 제외하도록 샘플링을 수행할 수 있다. 공격 범위 변화량이 기준 값 미만이라면 피격 반응 학습을 하기 위한 해당 데이터의 실효성이 상대적으로 낮다고 볼 수 있기 때문이다.
일 실시예에 따라, 전자 장치(210)는, 공격 부위 변화량이 기준 값 이상인지 여부에 기반하여, 샘플링을 수행할 수 있다. 예를 들어, 전자 장치(210)는 객체의 공격 부위 변화량이 기준 값 미만인 피격 반응 데이터는 제외하도록 샘플링을 수행할 수 있다. 공격 부위 변화량이 기준 값 미만이라면 피격 반응 학습을 하기 위한 해당 데이터의 실효성이 상대적으로 낮다고 볼 수 있기 때문이다.
일 실시예에 따라, 전자 장치(210)는, 피격 반응 변화량이 기준 값 이상인지 여부에 기반하여, 샘플링을 수행할 수 있다. 예를 들어, 전자 장치(210)는 객체의 피격 반응 변화량이 기준 값 미만인 피격 반응 데이터는 제외하도록 샘플링을 수행할 수 있다. 피격 반응 변화량이 기준 값 미만이라면 피격 반응 학습을 하기 위한 해당 데이터의 실효성이 상대적으로 낮다고 볼 수 있기 때문이다.
전자 장치(210)는, 피격 초기 자세, 공격 범위, 공격 부위, 피격 반응 중 적어도 하나와 관련된 파라미터에 기반하여 샘플링을 수행하고, 훈련 데이터(703)를 획득할 수 있다. 샘플링이 완료된 훈련 데이터(703)로 신경망을 학습시킴으로써 신경망 출력결과의 손실이 감소할 수 있다. 신경망 출력 결과의 손실 값의 감소는 신경망이 출력한 피격 반응의 정확도가 높아짐을 의미할 수 있다.
도 7b는 실시예들에 따른 피격 반응 데이터의 변화량 기반 샘플링의 예(710)를 도시한다. 도 7b를 참조하면, 피격 반응 데이터에 대한 샘플링 방식 중 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 제외시키는 알고리즘에 대한 피격 반응의 예시를 도시한 것이다.
전자 장치(210)는, 신경망 학습의 효율을 위해 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 훈련 데이터에서 제외시킬 수 있다. 예를 들어, 동작 상태(711), 동작 상태(713) 및 동작 상태(715)는 턱을 공격하는 동작에 대한 피격 반응 데이터이다. 여기서, 피격 반응은 객체의 턱이 뒤쪽으로 향하고, 객체가 넘어지는 동작을 포함할 수 있다. 전자 장치(101)이 턱을 공격하는 동작에 대한 피격 반응 데이터가 확보되어 있다면, 동작 상태(711)과 동작 상태(713), 동작 상태(715)에 해당하는 피격 반응은 기준 값 이하의 변화량을 가지므로, 동작 상태(711), 동작 상태(713), 동작 상태(715)를 훈련 데이터에서 제외시킬 수 있다. 피격 반응의 변화량이 기준 값 미만이라면 피격 반응 학습을 하기 위해 해당 데이터의 유효성이 상대적으로 낮다고 볼 수 있기 때문이다.
도 7c는 실시예들에 따른 피격 반응 데이터의 초기 자세 기반 샘플링의 예(720)를 도시한다.
도 7c를 참조하면, 피격 반응 데이터에 대한 샘플링 방식 중 기준 값 이하의 변화량을 갖는 초기 자세에 대한 피격 반응 데이터를 제외시키는 알고리즘에 대한 초기 자세의 예시를 도시한 것이다.
객체의 피격 직전 상태인, 동작 상태(721), 동작 상태(723), 동작 상태(725), 동작 상태(727), 동작 상태(729)가 도 7c를 통해 도시된다. 동작 상태(721)은 뛰어가며 선회하는 자세, 동작 상태(723)는 뛰는 자세, 동작 상태(725)는 어깨를 으쓱(shrug)하는 자세, 동작 상태(727)은 쪼그려 앉은 자세. 동작 상태(729)는 기립 자세일 수 있다.
전자 장치(210)(예: 프로세서(250))는 신경망 학습의 효율을 위해 피격 직전 자세가 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 훈련 데이터에서 제외시킬 수 있다. 예를 들면, 피격 직전 자세가 기립 자세인 피격 반응 데이터가 훈련데이터에 많으므로, 피격 직전 자세가 기립 자세인 동작 상태(729)는, 훈련 데이터에서 제외될 수 있다. 피격 직전 자세가 기립 자세인 피격 반응 데이터가 훈련 데이터에 많으므로 기준 값이 높게 설정된 경우, 동작 상태(725)는 기립 자세로 취급되어, 동작 상태(725)는 훈련 데이터에서 제외될 수 있다. 기준 값이 낮게 설정된 경우, 동작 상태(725)는, 기립 자세가 아닌 것으로 취급되어 훈련 데이터에 포함될 수 있다.
초기 자세의 변화량이 기준 값 미만이라면 피격 반응 학습을 하기위해 해당 데이터의 유효성이 상대적으로 낮다고 볼 수 있기 때문이다.
도 8은 실시예들에 따른 적응적 피격 반응 신경망의 예(800)를 도시한다. 피격 반응 신경망은 피격 반응을 생성하기 위한 신경망이다. 도 8은 도 3의 적응적 피격 반응 신경망(309)의 구조를 예시한다. 도 8에서는 피격 반응 신경망의 부 신경망들이 서술된다.
도 8을 참조하면, 적응적 피격 반응 신경망(800)은 객체 동작 학습 신경망(801)과 피격 반응 학습 신경망(803)을 포함할 수 있다. 일 실시예에 의하면, 전자 장치(210)는 객체의 모든 동작의 학습을 위한 객체 동작 학습 신경망(801)을 제1 훈련 데이터로 학습(503)시킬 수 있다. 전자 장치(210)는 객체의 피격 반응의 학습을 위한 피격 반응 학습 신경망(803)을 제2 훈련 데이터로 학습(511)시킬 수 있다. 상기 제2 훈련 데이터는 로우 데이터를 기반으로 생성한 피격 반응 데이터(505)를 샘플링(507)하여 획득될 수 있다. 피격 반응 데이터의 학습에 전용적인(dedicated) 신경망이 별도로 구비됨에 따라, 전자 장치(210)는 피격 반응의 학습을 효율적으로 수행할 수 있다. 제1 훈련 데이터는 피격 반응 데이터뿐만 아니라 일반적인 모션 캡쳐 데이터일 수 있다.
적응적 피격 반응 신경망(800)은 게이팅 모듈(805)을 포함할 수 있다. 게이팅 모듈(805)는 객체 동작 학습 신경망(801)의 출력과 피격 반응 학습 신경망(803)의 출력에 기반하여, 피격 반응에 대한 최종적인 출력을 결정하기 위한 모듈일 수 있다. 예를 들어, 적응적 피격 반응 신경망(800)은, 객체 동작 학습 신경망(801)의 제1 출력, 상기 제1 출력에 할당되는 제1 가중치, 피격 반응 학습 신경망(803)의 제2 출력, 상기 제2 출력에 할당되는 제2 가중치를 고려하여 피격 반응 결과를 생성할 수 있다. 여기서, 제1 가중치(예: 0 이상의 값) 할당 및 제2 가중치(예: 0 이상의 값) 할당은 게이팅 모듈(805)에 의해 수행될 수 있다. 게이팅 모듈(805)은 입력 데이터로서 피격 조건을 수신하고, 객체 동작 학습 신경망(803)의 출력과 피격 반응 학습 신경망(801) 출력에 할당되는 가중치를 적응적 피격 반응 신경망(800)에게 제공할 수 있다.
일 실시예에 따라, 게이팅 모듈(805)은 피격 세기에 기반하여 객체 동작 학습 신경망(801)의 출력과 피격 반응 학습 신경망(803) 출력에 할당되는 가중치를 결정할 수 있다. 예를 들어, 피격 세기가 강할수록 피격 반응 학습 신경망(803)의 출력에 할당되는 가중치를 높게 결정할 수 있다. 객체가 어깨를 공격당하는 경우, 게이팅 모듈(805)은, 피격 세기가 낮을수록 객체 동작 학습 신경망(801)의 출력에 피격 반응 학습 신경망(803)의 출력보다 높은 가중치를 배당할 수 있다. 이 경우, 피격 반응은 어깨를 공격당했더라도 넘어지지 않고, 허우적 대는 모션의 동작의 크기가 적어질 수 있다.
도 8의 피격 반응 신경망은 도 3의 구성요소들과 연결될 수 있다. 도 3 및 도 5를 참조하면, 적응적 피격 반응 신경망(800)은 객체 동작 학습 신경망(801)과 피격 반응 학습 신경망(803)을 포함할 수 있다. 일 실시예에 의하면, 전자 장치(210)는 객체의 모든 동작의 학습을 위한 객체 동작 학습 신경망(801)을 제1 훈련 데이터로 학습시킬 수 있다(예: 도 5의 동작(503)). 전자 장치(210)는 객체의 피격 반응의 학습을 위한 피격 반응 학습 신경망(803)을 제2 훈련 데이터로 학습시킬 수 있다(예: 도 5의 동작(511)). 상기 제2 훈련 데이터는 로우 데이터를 기반으로 생성한 피격 반응 데이터(505)로부터 샘플링을 통해 획득될 수 있다. 제1 훈련 데이터는 피격 반응 데이터뿐만 아니라 일반적인 모션 캡쳐 데이터를 포함할 수 있다. 한편, 제2 훈련 데이터는 피격 반응 데이터로부터 샘플링된 데이터일 수 있다.
도 9는 실시예들에 따른 피격 반응의 예들(910)을 도시한다. 피격 반응은 피격 조건과 공격 조건에 따라 달라질 수 있다. 공격 조건은 공격 수단을 포함할 수 있다. 도 9는 공격 조건 중 공격 수단에 따른 피격 반응의 예들을 도시한 것이다.
도 9를 참조하면, 동작 상태(901)는 킥복싱에 의해 피격되는 객체의 상태를 나타낸다. 동작 상태(903)는 검에 의해 피격되는 객체의 상태를 나타낸다. 동작 상태(905)는 총에 의해 피격되는 객체의 상태를 나타낸다. 본 발명을 이용하면 다양한 피격 반응을 획득할 수 있음을 확인할 수 있다.
Example Data size(s) Action types
Gun 2, 484 idle, walk, hit
Kickboxing 256 idle, walk, run, turn, dodge, punch, kick, hit
Sword 2, 021 idle, walk, run, turn, swing, hit
표 1은 공격 조건(example)에 따른 다양한 피격 반응 유형(action type)들과 피격 반응 데이터 크기를 나타낸다. 총에 의해 피격당한 객체는 3가지 유형의 피격 반응들을 나타낸다. 킥복싱에 의해 피격당한 객체는 8가지 유형의 피격 반응들을 나타낸다. 검으로 피격당한 객체는 6가지 유형의 피격 반응들을 나타낸다. 즉, 공격 수단에 따라, 피격 반응들의 유형이 달라짐이 확인될 수 있다. 뿐만 아니라, 표 1을 통해, 각 공격 수단 별로 피격 반응 데이터의 크기가 달라짐이 확인될 수 있다.
도 10은 실시예들에 따른 피격 반응 데이터에 대한 샘플링 여부에 따른 비교의 예(1000)를 도시한다.
도 10을 참조하면, 그래프(1001)는 피격 반응 데이터에 대한 데이터 샘플링 방식을 수행하지 않은 경우, 피격 시 신경망의 평균 손실 값을 나타낸다. 그래프(1003)는 피격 반응 데이터에 대한 데이터 샘플링 방식을 수행한 경우, 피격 시 신경망의 평균 손실 값을 나타낸다. 그래프 (1001) 및 그래프(1003)에서, 각 점은 특정 피격자세에서 피격이 발생한 후 10프레임간 네트워크의 평균 손실 값을 나타낸다. 해당 영역의 색이 연할수록 손실이 상대적으로 큼을 의미한다. 큰 손실은 신경망의 학습이 상대적으로 충분하게 수행되지 못하였음을 의미한다. 데이터 샘플링을 수행했을 때, 신경망의 평균 손실 값이 데이터 샘플링을 수행하지 않은 경우에 비해 상대적으로 적음을 확인할 수 있다. 따라서, 본 개시의 적응적 피격 반응 신경망의 학습의 효과는 도 7a 내지 도 7c를 통해 서술된 데이터 샘플링을 통해 보다 극대화될 수 있다.
도 11은 실시예들에 따른 적응적 피격 반응 신경망의 성능 향상의 예(1100)를 도시한다. 도 11에서는 실시예들에 따른 적응적 피격 반응 신경망을 사용하는 상황에서의 피격 반응과 상기 적응적 피격 반응 신경망을 사용하지 않는 상황에서의 피격 반응이 비교된다.
도 11을 참조하면, 동작 상태(1101)는 단일 신경망에 기반한 피격되기 전 상태이고, 동작 상태(1103)는 적응적 피격 반응 신경망에 기반한 피격되기 전 상태이고, 동작 상태(1105)는 단일 신경망에 기반한 피격된 후 상태이고, 동작 상태(1107)는 적응적 피격 반응 신경망에 기반한 피격된 후 상태이다.
신경망 구조가 단일한 동작 상태(1105)의 경우, 공격 전과 후의 자세가 크게 달라지지 않았다. 반면, 신경망 구조가 피격 반응 학습 신경망과 객체 동작 학습 신경망으로 이뤄져 있는 동작 상태(1107)의 경우, 공격 전과 후 자세의 디테일의 차이점을 확인할 수 있다. 이는 일 실시예에 따른 신경망 구조 변경으로 인해 신경망의 학습이 더 잘 되었음을 의미한다.
신경망이 많은 양의 학습 데이터로 학습할 경우, 신경망은, 자연스러운 피격 반응을 생성할 수 있다. 그러나 문제는 자원이 충분하지 않은 것이다. 특히 시간적 자원의 유한함으로 인해, 피격 반응 생성 속도(speed)는 온라인 게임상의 주요 이슈이다. 본 개시의 실시예들에 따른 적응적 피격 반응 신경망을 이용하면 프로세서는, 한정된 자원으로 효율적으로 피격 동작을 생성할 수 있다. 또 다른 문제점은 한정된 조건의 피격 반응 데이터로부터 임의 조건의 피격 반응 동작을 합성하기 어려운 것이다. 본 발명은 임의의 공격 조건에 따라 적절한 피격 반응 동작을 생성할 수 있다. 특히 모션 캡쳐를 통해 합성하기 어려운 2차 이상의 다중 피격에 대한 반응 동작들도 프로세서는 합성할 수 있다. 본 발명은 생성된 이미지의 일관성과 풍부함(consistency and richness in generated imagery)을 증진할 수 있다.
상술한 바와 같은, 일 실시예에 따른 컴퓨터 판독가능 저장매체(computer readable storage medium)는, 하나 이상의 프로그램들을 저장하고, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하고, 피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하고, 상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하고, 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 피격 반응 데이터를 생성하도록 상기 전자 장치를 야기하는 추가 인스트럭션들을 포함하고, 상기 피격 반응 데이터는 상기 객체에 적용되는 힘에 따른 순간 피격 반응 데이터와 상기 객체의 입력에 따른 후속 피격 반응 데이터를 포함하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 제2 훈련 데이터를 식별하기 위해서 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 상기 데이터 샘플링을 수행하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 변화량은 초기 자세, 피격 부위, 피격 직전 자세, 피격 범위, 피격 세기 중 적어도 하나에 대한 변화량을 포함하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 제2 훈련 데이터를 식별하기 위해서 기준 값 이하의 변화량을 갖는 초기 자세, 공격 부위, 공격 범위, 및/또는 공격 세기 중 적어도 하나에 대한 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 데이터 샘플링을 수행하는 과정을 포함하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
예를 들어, 상기 제2 신경망은, 상기 제2 훈련 데이터에서 다른 객체의 공격 동작이 검출되는 경우, 활성화될 수 있다.
예를 들어, 상기 제2 신경망은, 상기 제2 훈련 데이터에서 피격 세기가 기준 값 이상인 경우, 활성화될 수 있다.
상술한 바와 같은, 일 실시예에 따른 전자 장치의 방법은, 객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하는 동작과 피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하는 동작과 상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하는 동작과 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하는 동작을 포함할 수 있다.
예를 들어, 일 실시예에 따른 전자 장치의 방법은 상기 피격 반응 데이터를 생성하는 동작을 포함하고, 상기 피격 반응 데이터는 상기 객체에 적용되는 힘에 따른 순간 피격 반응 데이터와 상기 객체의 입력에 따른 후속 피격 반응 데이터에 기반하여 생성되는 동작을 포함할 수 있다.
예를 들어, 일 실시예에 따른 상기 제2 훈련 데이터를 식별하는 동작은 상기 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 상기 데이터 샘플링을 수행하는 동작을 포함할 수 있다.
예를 들어, 일 실시예에 따른 상기 변화량은 초기자세, 피격 부위, 피격 직전 자세, 피격 범위, 피격 세기 중 적어도 하나에 대한 변화량을 포함할 수 있다.
예를 들어, 일 실시예에 따른 상기 제2 훈련 데이터를 식별하는 동작은, 기준 값 이하의 변화량을 갖는 초기 자세, 공격 부위, 공격 범위, 및/또는 공격 세기 중 적어도 하나에 대한 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 상기 데이터 샘플링을 수행하는 동작을 포함할 수 있다.
예를 들어, 일 실시예에 따른 전자 장치의 방법은, 상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하는 동작을 포함할 수 있다.
예를 들어, 상기 제2 신경망은, 상기 제2 훈련 데이터에서 다른 객체의 공격 동작이 검출되는 경우, 활성화될 수 있다.
예를 들어, 상기 제2 신경망은, 상기 제2 훈련 데이터에서 피격 세기가 기준 값 이상인 경우, 활성화될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체(computer readable storage medium)에 있어서,
    상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하고,
    피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하고,
    상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하고,
    상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하도록,
    상기 전자 장치를 야기하는 인스트럭션들을 포함하는, 컴퓨터 판독가능 저장매체.
  2. 청구항 1에 있어서,
    상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
    상기 피격 반응 데이터를 생성하도록 상기 전자 장치를 야기하는 추가 인스트럭션들을 포함하고,
    상기 피격 반응 데이터는 상기 객체에 적용되는 힘에 따른 순간 피격 반응 데이터와 상기 객체의 입력에 따른 후속 피격 반응 데이터를 포함하는, 컴퓨터 판독가능 저장매체.
  3. 청구항 1에 있어서,
    상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
    상기 제2 훈련 데이터를 식별하기 위해서 피격 반응 데이터가 기준 값 이하의 변화량을 갖는 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 상기 데이터 샘플링을 수행하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함하는, 컴퓨터 판독가능 저장매체.
  4. 청구항 1에 있어서,
    상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
    상기 제2 훈련 데이터를 식별하기 위해서 기준 값 이하의 변화량을 갖는 초기 자세, 공격 부위, 공격 범위, 및/또는 공격 세기 중 적어도 하나에 대한 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 데이터 샘플링을 수행하는 과정을 포함하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함하는, 컴퓨터 판독가능 저장매체.
  5. 청구항 1에 있어서,
    상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
    상기 제1 신경망의 출력에 할당되는 가중치와 상기 제2 신경망의 출력에 할당되는 가중치를 결정하는 게이팅 모듈에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함하는, 컴퓨터 판독가능 저장매체.
  6. 청구항 1에 있어서,
    상기 제2 신경망은, 상기 제2 훈련 데이터에서 다른 객체의 공격 동작이 검출되는 경우, 활성화되는, 컴퓨터 판독가능 저장매체.
  7. 청구항 1에 있어서, 상기 제2 신경망은, 상기 제2 훈련 데이터에서 피격 세기가 기준 값 이상인 경우, 활성화되는, 컴퓨터 판독가능 저장매체.
  8. 전자 장치(electronic device)에 의해 수행되는 방법에 있어서,
    객체의 동작들의 학습을 위한 제1 신경망에게 제1 훈련 데이터를 제공하는 동작과,
    피격 반응 데이터에 대한 데이터 샘플링(data sampling)을 수행함으로써, 제2 훈련 데이터를 식별하는 동작과,
    상기 객체의 피격 반응의 학습을 위한 제2 신경망에게 상기 제2 훈련 데이터를 제공하는 동작과,
    상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하는 동작을 포함하는 방법.
  9. 청구항 8에 있어서,
    상기 피격 반응 데이터를 생성하는 동작을 포함하고,
    상기 피격 반응 데이터는 상기 객체에 적용되는 힘에 따른 순간 피격 반응 데이터와 상기 객체의 입력에 따른 후속 피격 반응 데이터에 기반하여 생성되는 방법.
  10. 청구항 8에 있어서, 상기 제2 훈련 데이터를 식별하는 동작은,
    기준 값 이하의 변화량을 갖는 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 상기 데이터 샘플링을 수행하는 동작을 포함하는 방법.
  11. 청구항 8에 있어서, 상기 제2 훈련 데이터를 식별하는 동작은,
    기준 값 이하의 변화량을 갖는 초기 자세, 공격 부위, 공격 범위, 및/또는 공격 세기 중 적어도 하나에 대한 피격 반응 데이터를 제외하기 위한 알고리즘에 기반하여 상기 데이터 샘플링을 수행하는 동작을 포함하는 방법.
  12. 청구항 8에 있어서,
    상기 제1 신경망의 출력 및 상기 제2 신경망의 출력에 기반하여 상기 객체가 피격되는 경우, 상기 객체의 피격 반응 결과를 획득하는 동작을 포함하는 방법.
  13. 청구항 8에 있어서,
    상기 제2 신경망은, 상기 제2 훈련 데이터에서 다른 객체의 공격 동작이 검출되는 경우, 활성화되는 방법.
  14. 청구항 8에 있어서,
    상기 제2 신경망은, 상기 제2 훈련 데이터에서 피격 세기가 기준 값 이상인 경우, 활성화되는 방법.
PCT/KR2022/006495 2022-05-06 2022-05-06 훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체 WO2023214602A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/006495 WO2023214602A1 (ko) 2022-05-06 2022-05-06 훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/006495 WO2023214602A1 (ko) 2022-05-06 2022-05-06 훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체

Publications (1)

Publication Number Publication Date
WO2023214602A1 true WO2023214602A1 (ko) 2023-11-09

Family

ID=88646526

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/006495 WO2023214602A1 (ko) 2022-05-06 2022-05-06 훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체

Country Status (1)

Country Link
WO (1) WO2023214602A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173452B1 (ko) * 2019-07-05 2020-11-03 넷마블 주식회사 데이터 처리 방법
KR20210053739A (ko) * 2019-11-04 2021-05-12 주식회사 마인즈랩 게임 플레이 콘텐츠 제작 장치
KR102344804B1 (ko) * 2021-10-19 2021-12-29 주식회사 큐로드 인공지능 기반 모니터링 기술을 이용한 유저 피드백 정보 관리방법
JP2022509485A (ja) * 2018-10-31 2022-01-20 株式会社ソニー・インタラクティブエンタテインメント クロスドメインバッチ正規化を使用したニューラルネットワークにおけるドメイン適応のためのシステム及び方法
JP2022510793A (ja) * 2018-12-14 2022-01-28 バルブ コーポレーション ビデオゲーム状態を動的に制御するためのプレイヤーバイオフィードバック

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022509485A (ja) * 2018-10-31 2022-01-20 株式会社ソニー・インタラクティブエンタテインメント クロスドメインバッチ正規化を使用したニューラルネットワークにおけるドメイン適応のためのシステム及び方法
JP2022510793A (ja) * 2018-12-14 2022-01-28 バルブ コーポレーション ビデオゲーム状態を動的に制御するためのプレイヤーバイオフィードバック
KR102173452B1 (ko) * 2019-07-05 2020-11-03 넷마블 주식회사 데이터 처리 방법
KR20210053739A (ko) * 2019-11-04 2021-05-12 주식회사 마인즈랩 게임 플레이 콘텐츠 제작 장치
KR102344804B1 (ko) * 2021-10-19 2021-12-29 주식회사 큐로드 인공지능 기반 모니터링 기술을 이용한 유저 피드백 정보 관리방법

Similar Documents

Publication Publication Date Title
CN109107161B (zh) 一种游戏对象的控制方法、装置、介质以及设备
Zhao et al. Deep reinforcement learning with experience replay based on SARSA
WO2022050792A1 (ko) 테니스 자율훈련 시스템
US20160206955A1 (en) Techniques for providing non-verbal speech recognition in an immersive playtime environment
CN108712661A (zh) 一种直播视频处理方法、装置、设备及存储介质
WO2024075958A1 (ko) 인공지능을 이용한 사용자 수련 수준에 따른 태권도 겨루기 평가 방법
CN110989839B (zh) 人机对战的系统和方法
US20200289938A1 (en) Systems and methods for training an artificial intelligence model for competition matches
Lee et al. Live demonstration: Gesture-based remote control using stereo pair of dynamic vision sensors
EP3186599B1 (en) Feedback provision system
CN110149553A (zh) 图像的处理方法和装置、存储介质及电子装置
WO2023214602A1 (ko) 훈련된 신경망에 기반한 피격 반응 생성 방법 및 컴퓨터 판독가능 저장 매체
KR102471192B1 (ko) 인공지능을 이용한 태권도 겨루기 동작 평가 방법 및 장치
Fujii et al. Adaptive action supervision in reinforcement learning from real-world multi-agent demonstrations
CN108404410A (zh) 对象的控制方法和装置、存储介质、电子装置
Di Giambattista et al. On field gesture-based robot-to-robot communication with NAO soccer players
Nabil et al. Usability study of a comprehensive table tennis ar-based training system with the focus on players’ strokes
US20210365122A1 (en) Device and method for generating haptic data, and device and method for providing haptic effect
WO2023243754A1 (ko) 지정된 모션이 캡쳐된 시점을 추출하는 전자 장치 및 방법
CN106390444A (zh) 球类游戏系统及其控制方法
CN108905201A (zh) 一种模拟操作的游戏算法系统及方法
CN110478891B (zh) 一种动作序列识别方法及动作捕捉数据处理系统
CN113599802A (zh) 数据处理方法、装置和系统
CN109729399B (zh) 视频播放系统、可穿戴设备及物理联动组件的控制方法
Gabel et al. I Know What You're Doing: A Case Study on Case-Based Opponent Modeling and Low-Level Action Prediction.

Legal Events

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

Ref document number: 22940843

Country of ref document: EP

Kind code of ref document: A1