WO2024136012A1 - 인공지능에 기반한 3차원 모션 객체 생성 방법 및 시스템 - Google Patents
인공지능에 기반한 3차원 모션 객체 생성 방법 및 시스템 Download PDFInfo
- Publication number
- WO2024136012A1 WO2024136012A1 PCT/KR2023/013842 KR2023013842W WO2024136012A1 WO 2024136012 A1 WO2024136012 A1 WO 2024136012A1 KR 2023013842 W KR2023013842 W KR 2023013842W WO 2024136012 A1 WO2024136012 A1 WO 2024136012A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- motion
- artificial intelligence
- module
- generating
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 393
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims abstract description 93
- 239000013598 vector Substances 0.000 claims description 126
- 238000004590 computer program Methods 0.000 claims description 34
- 239000000284 extract Substances 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 5
- 230000000306 recurrent effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 7
- 239000002131 composite material Substances 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- the present invention relates to a method and device for generating an object image. More specifically, it relates to a method and device for generating object images that can fully restore the entire appearance of an object by inferring hidden or cut off parts of the object based on artificial intelligence.
- the present invention relates to a method and device for calculating motion similarity of objects based on artificial intelligence. More specifically, it relates to a method and device for calculating motion similarity between objects based on 3D mesh objects.
- the present invention relates to a method and device for generating a motion image from a sentence. More specifically, it relates to a method and device for automatically generating a motion image corresponding to the meaning of the sentence by analyzing a sentence in text format.
- 3D imaging technology was mainly used in the gaming field, but recently, it has been expanded and applied to all industrial areas, expanding its scope of application to various content industries such as AR/VR, movies, animation, and broadcasting.
- the technical problem to be solved through embodiments of the present invention is to provide artificial intelligence that can calculate motion similarity more accurately by considering the physical characteristics of the object by comparing the pose and motion of the object using a 3D mesh model.
- the goal is to provide a method and device for calculating the behavioral similarity of objects based on the object.
- the step of generating the 3D modeling data includes extracting pose data of the object from the 2D image using a first artificial intelligence module and moving the object based on the pose data. It may include generating 3D motion data representing .
- the two-dimensional image includes a plurality of frames representing the movement of the object in time series
- the first artificial intelligence module extracts pose data of the object from a first frame among the plurality of frames. It includes a first sub-module based on a convolutional neural network, and a second sub-module based on a recurrent neural network that provides information about a second frame among the plurality of frames to the first sub-module.
- the second frame may be a frame preceding the first frame in the time series.
- generating the 3D motion image may include merging the 3D motion data with the 3D mesh object to generate a motion image expressing the movement of the 3D mesh object. there is.
- the fourth artificial intelligence module may be machine learned based on a Generative Adversarial Network model.
- the two-dimensional object image may be an image in which a partial area of the original image is cut out or replaced with random noise.
- An artificial intelligence-based object image generating device for solving the technical problem includes a processor, a memory for loading a computer program executed by the processor, and storage for storing the computer program, wherein the computer
- the program includes the operation of acquiring one object image and a UV map corresponding to the first object image, and a second object image in which a body part of the object is restored based on the first object image and the UV map. and instructions for performing an operation to generate, wherein the first object image may be an image in which a body part of the object is cropped, hidden, or blocked.
- an artificial intelligence-based object motion similarity calculation method is performed by a computing device, and includes the steps of inputting a source image and a target image, and Extracting a first feature vector from a first object and extracting a second feature vector from a second object corresponding to the target image, based on the first feature vector and the second feature vector, the first object and calculating motion similarity between the second object, wherein the first object and the second object are three-dimensional mesh objects, and the step of calculating motion similarity is machine learning based on metric learning.
- This may be a step in which the motion similarity is calculated using an artificial intelligence module.
- the first object may be a 3D mesh object created by inferring the volume of the object based on the object in the source image.
- the first feature vector and the second feature vector may be extracted from the first object and the second object using a Skinned Multi-Person Linear (SMPL) model.
- SMPL Skinned Multi-Person Linear
- the first feature vector may include a mesh vector each representing a plurality of meshes constituting the first object, and a trend vector representing a change trend of the mesh vector.
- the motion similarity may be calculated higher as the distance between the first feature vector and the second feature vector is closer.
- the method may further include providing the target image as a similar image search result of the source image based on the motion similarity.
- the step of providing the search results may include listing a plurality of target images including the target image based on their respective motion similarities.
- the 3D motion data of the second object is merged with the first object, and the first object is combined with the 3D motion data.
- a step of generating a motion image that moves along may be further included.
- the method may further include outputting a similarity score between the source image and the target image based on the motion similarity.
- an artificial intelligence-based object motion similarity calculation device includes a processor, a memory for loading a computer program executed by the processor, and the computer program. It includes storage for storing, wherein the computer program includes an operation in which a source image and a target image are input, a first feature vector is extracted from a first object corresponding to the source image, and a second feature vector is extracted from a second object corresponding to the target image.
- the first object and the second object are three-dimensional mesh objects, and the operation for which the motion similarity is calculated may be an operation for which the motion similarity is calculated using a machine-learned artificial intelligence module based on metric learning. there is.
- a method of generating a motion image from a sentence is performed by a computing device, comprising the steps of obtaining a sentence, identifying one or more words in the sentence, It may include searching a database for a partial image corresponding to one or more words, and generating a motion image corresponding to the sentence using the partial image.
- identifying the one or more words may include identifying a part of speech of the one or more words.
- the one or more words include a first word and a second word
- the searching from the database includes searching the database for a first partial image corresponding to the first word, and the first partial image corresponding to the first word. 2 It may include searching the database for a second partial image corresponding to a word.
- the one or more words further include a third word related to the first word
- the step of searching the first partial image from the database includes selecting a plurality of partial images from the database based on the first word. It may include searching for an image and selecting the first partial image among the plurality of partial images based on the third word.
- generating the motion image may include determining an arrangement order of the first partial image and the second partial image based on the context of the sentence.
- the first partial image is an image placed immediately before the second partial image
- the step of generating the motion image includes creating an intermediate image to be inserted between the first partial image and the second partial image. It may include a creation step.
- the intermediate image may be an image for connecting the pose of the object in the first frame of the first partial image and the pose of the object in the second frame of the second partial image.
- generating the intermediate image includes identifying a first location of a key point of the object from a first frame of the first partial image, and identifying a first location of a key point of the object from a second frame of the second partial image. Identifying a second location of the key point, and generating the intermediate image such that the location of the key point of the object within the intermediate image changes from the first location to the second location. there is.
- generating the motion image may include generating the motion image by sequentially connecting the first partial image, the intermediate image, and the second partial image.
- the step of obtaining the sentence may include obtaining the sentence based on text input through a user interface.
- the step of obtaining the sentence may be performed by converting a voice signal input through a voice input means into text.
- a device for generating a motion image from a sentence includes a processor, a memory for loading a computer program executed by the processor, and storing the computer program.
- Storage wherein the computer program includes an operation of obtaining a sentence, an operation of identifying one or more words in the sentence, an operation of searching a database for a partial image corresponding to the one or more words, and using the partial image to It may include instructions for executing an operation to generate a motion image corresponding to a sentence.
- a 3D motion image can be generated from a 2D image.
- the obscured or cut off body part can be automatically restored by inferring the entire body of the object based on artificial intelligence.
- motion similarity can be calculated more accurately by considering the physical characteristics of the object.
- FIG. 1 is a diagram showing an artificial intelligence-based 3D motion image generating device according to an embodiment of the present invention.
- FIG. 2 is a block diagram showing an exemplary configuration of the 3D motion image generating apparatus of FIG. 1 .
- Figure 3 is a flowchart showing an artificial intelligence-based 3D motion image generation method according to an embodiment of the present invention.
- FIG. 4 is a flowchart showing an embodiment embodying step S120 of FIG. 3.
- Figure 5 is a block diagram illustrating the detailed configuration of the first artificial intelligence module 110.
- Figure 6 is a block diagram illustrating the detailed configuration of the second artificial intelligence module 120.
- FIG. 7 is a flowchart showing an embodiment embodying step S130 of FIG. 3.
- FIG. 8 is a flowchart illustrating an embodiment of step S131 of FIG. 7 in more detail.
- FIG. 9 is a flowchart showing another embodiment embodying step S130 of Figure 3.
- FIG. 10 is a diagram illustrating an exemplary configuration of an object image generating device that infers a part of an object based on artificial intelligence, according to an embodiment of the present invention.
- Figure 11 is a flowchart showing a method for generating an object image for inferring a part of an object based on artificial intelligence, according to an embodiment of the present invention.
- FIG. 12 is a diagram for further explanation of step S210 of FIG. 11.
- FIG. 13 is a flowchart showing an embodiment embodying step S220 of FIG. 11.
- FIG. 14 is a diagram to further explain the embodiment of FIG. 13.
- Figure 15 is a flowchart illustrating the learning method of the third artificial intelligence module.
- FIG. 16 is a diagram to further explain the embodiment of FIG. 15.
- Figure 17 is a flowchart illustrating the learning method of the fourth artificial intelligence module.
- FIG. 18 is a diagram to further explain the embodiment of FIG. 17.
- Figure 19 is a diagram showing an exemplary configuration of an artificial intelligence-based object motion similarity calculation device according to an embodiment of the present invention.
- Figure 20 is a flowchart showing a method for calculating motion similarity of an object based on artificial intelligence, according to an embodiment of the present invention.
- Figures 21 and 22 are diagrams to explain the characteristics of using a 3D mesh model in comparing the motion similarity of objects.
- FIGS 23 and 24 are diagrams to further explain step S520 of Figure 20.
- FIGS 25 and 26 are diagrams to further explain step S530 of Figure 20.
- Figure 27 is a flowchart showing a method of calculating motion similarity of an object based on artificial intelligence, according to another embodiment of the present invention.
- FIG. 28 is a diagram for further explanation of step S540 of FIG. 27.
- Figure 29 is a flowchart showing a method of calculating motion similarity of an object based on artificial intelligence, according to another embodiment of the present invention.
- FIG. 30 is a diagram illustrating an exemplary configuration of a motion image generating device according to an embodiment of the present invention.
- Figure 31 is a flowchart showing a method for generating a motion image from a sentence, according to an embodiment of the present invention.
- FIG. 32 is a flowchart showing an embodiment embodying step S620 of FIG. 31.
- FIG. 33 is a diagram to further explain the embodiment of FIG. 32.
- FIG. 34 is a flowchart showing an embodiment embodying step S630 of FIG. 31.
- FIG. 35 is a diagram to further explain the embodiment of FIG. 34.
- FIG. 36 is a flowchart showing an embodiment embodying step S631 of FIG. 34.
- FIG. 37 is a diagram to further explain the embodiment of FIG. 36.
- FIG. 38 is a flowchart showing an embodiment embodying step S640 of FIG. 31.
- FIGS 39 and 40 are drawings to further explain the embodiment of Figure 38.
- FIG. 41 is a flowchart showing an embodiment specifying step S642 of FIG. 38.
- FIG. 42 is a diagram to further explain the embodiment of FIG. 41.
- Figure 43 is a block diagram showing an example hardware configuration of a computing device 500 on which various embodiments of the present invention are implemented.
- first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, sequence, or order of the component is not limited by the term.
- a component is described as being “connected,” “coupled,” or “connected” to another component, that component may be directly connected or connected to that other component, but there is another component between each component. It will be understood that elements may be “connected,” “combined,” or “connected.”
- FIG. 1 is a diagram showing an artificial intelligence-based 3D motion image generating device according to an embodiment of the present invention.
- the 3D motion image generating device 100 receives a 2D image through a user terminal 10 including a camera, and based on this, the movement of the 2D object 11 in the 2D image is simulated. A 3D motion image 20 is generated.
- device 100 may also be referred to as a system or platform.
- the 3D motion image 20 expresses the movement of a 3D mesh object 21 that simulates the movement of a 2D object 11, and the 3D mesh object 21 is a 2D object 11. It may be an object created in the shape of, or it may be a pre-stored object embodying a specific character.
- the user terminal 10 may be configured to communicate with the 3D motion image generating device 100 through a network (not shown).
- the network may be, for example, wired networks such as Ethernet, wired home network (Power Line Communication), telephone line communication devices and RS-serial communication, mobile communication networks, WLAN (Wireless LAN), Wi-Fi, etc. It may consist of wireless networks such as Fi, Bluetooth, and ZigBee, or a combination thereof.
- the user terminal 10 is a computing device capable of communicating with a network and may be equipped with hardware or applications for shooting, editing, or transmitting two-dimensional images.
- the user terminal 10 includes cameras, smartphones, mobile phones, navigation devices, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, and game consoles. ), wearable devices, IoT (internet of things) devices, VR (virtual reality) devices, AR (augmented reality) devices, and/or set-top boxes.
- FIG. 2 is a block diagram showing an exemplary configuration of the 3D motion image generating apparatus of FIG. 1 .
- the 3D motion image generating device 100 may include a first artificial intelligence module 110, a second artificial intelligence module 120, and a 3D motion image generating module 130.
- the first artificial intelligence module 110 is a module that extracts and analyzes the movement of objects in a 2D image and generates 3D motion data that simulates it, and may be a 3D motion data generation module.
- the first artificial intelligence module 110 is a module that includes one or more artificial neural networks machine learned based on a plurality of learning data, and may include an artificial neural network based on a convolutional neural network (CNN).
- CNN convolutional neural network
- the second artificial intelligence module 120 is a module that generates a 3D mesh object by estimating the texture and volume of the object by extracting and analyzing the shape of the object in the 2D image, and may be a 3D mesh object creation module.
- the second artificial intelligence module 120 is a module that includes one or more artificial neural networks machine learned based on a plurality of learning data, and may include an artificial neural network based on a convolutional neural network.
- the 3D motion image generation module 130 is a module that generates a 3D motion image based on the output results of the first artificial intelligence module 110 and the second artificial intelligence module 120.
- the 3D motion image generation module 130 applies the 3D motion data generated by the first artificial intelligence module 110 to the 3D mesh object generated by the second artificial intelligence module 120 to create the 3D mesh object.
- a 3D motion image expressing the movement of a mesh object can be created.
- the 3D motion image generation module 130 applies the 3D motion data generated by the first artificial intelligence module 110 to a pre-stored 3D character object to create a 3D image expressing the movement of the 3D character object.
- Motion images can be created.
- the 3D motion image generation module 130 may also be an artificial intelligence module based on a convolutional neural network.
- FIG. 3 is a flowchart showing an artificial intelligence-based 3D motion image generation method according to an embodiment of the present invention.
- the 3D motion image generating method of FIG. 3 may be performed by the 3D motion image generating apparatus 100 of FIG. 1 . Therefore, if the performing subject is omitted in the following steps, it is assumed that the performing subject is the 3D motion image generating device 100.
- a two-dimensional image is obtained from a user terminal, etc.
- a two-dimensional image is an image composed of a plurality of frames and may be a motion image (or video) expressing the motion or movement of an object or subject.
- step S120 an object is identified from a two-dimensional image using a machine-learned artificial intelligence module, and the movement of the identified object is analyzed to generate three-dimensional modeling data of the object.
- the 3D modeling data may include 3D motion data expressing the movement of the identified object and 3D mesh data expressing the shape and volume of the identified object.
- Generation of 3D modeling data can be performed using one or more machine-learned artificial intelligence.
- generation of 3D motion data and generation of 3D mesh data are performed using different artificial intelligence modules. It can be.
- a first artificial intelligence module that is machine-learned using a plurality of learning data may be provided in advance to extract the motion of a moving object in a 2-dimensional image as a 3-dimensional motion.
- the first artificial intelligence module may be a module that estimates the joints of an object from an object in a two-dimensional image and infers the movement of the object in the two-dimensional image into a three-dimensional movement based on the position of the estimated joint. .
- the first artificial intelligence module detects an object from the input two-dimensional image and then identifies the part corresponding to the object through object segmentation. And, the pose data of the object is extracted for each frame of the 2D image.
- Pose data is data that expresses the posture of an object with key points and lines, and may be skeleton data.
- the first artificial intelligence module merges the pose data extracted from each frame in chronological order, thereby generating three-dimensional motion data expressing continuous movement.
- a second artificial intelligence module that is machine-learned using a plurality of learning data may be provided in advance to extract the shape of an object in a 2-dimensional image in the form of a 3-dimensional mesh.
- the second artificial intelligence module may be a module that estimates the depth and volume of an object based on the volume and width of the object in the two-dimensional image.
- the second artificial intelligence module detects an object from the input two-dimensional image and then identifies the part corresponding to the object through object segmentation. Then, object pose data is extracted for each frame of the 2D image. In addition, the second artificial intelligence module can collect and merge pose data for each angle extracted from each frame, and generate 3D mesh data expressing the volume and texture of the object based on the merged result.
- generation of 3D mesh data may be performed based on 3-Dimensional Volume Metric.
- the 3D volume metric sets the location where the object is initially located in the 2D image as a reference point, and then estimates the size of the object by determining the location information of that location when the object moves to a different location within the 2D image. , which creates a volume in the form of a 3D mesh.
- step S130 a 3D motion image is created using the 3D modeling data previously generated.
- a 3D motion image is an image that expresses the motion of a 3D object by merging previously generated 3D motion data into a 3D object so that the 3D object moves according to the 3D motion data.
- the 3D object may be a 3D mesh object made from previously generated 3D mesh data, or may be a pre-stored 3D character object.
- 3D mesh object is created based on the shape of the object in the 2D image
- 3D objects that mimic the shape of the object in the 2D image are 2.
- a motion image that reproduces the movement of an object within a dimensional image can be created.
- the 3D character object when using a 3D character object that imitates a celebrity or a fictional character instead of the 3D mesh object, if 3D motion data is merged into the 3D character object, the 3D character object is an object in the 2D image. A motion image that reproduces movement can be created.
- FIG. 4 is a flowchart illustrating an embodiment of step S120 of FIG. 3 in more detail.
- each step is illustrated as being performed sequentially, but the scope of the present invention is not limited thereto.
- steps S122 and S124 may be performed simultaneously and in parallel.
- step S121 pose data of the object is extracted from the two-dimensional image using the first artificial intelligence module.
- step S122 3D motion data representing the movement of an object in a 2D image is generated based on the extracted pose data using the first artificial intelligence module.
- the 3D motion data may include key point data corresponding to joint parts of the object.
- FIG. 5 is a block diagram illustrating the detailed configuration of the first artificial intelligence module 110.
- the first artificial intelligence module 110 may include a first sub-module 111 and a second sub-module 112.
- the first artificial intelligence module 110 receives a two-dimensional image and outputs three-dimensional motion data representing the movement of an object in the two-dimensional image.
- the input two-dimensional image may include a plurality of frames representing the movement of the object in time series.
- the first sub-module 111 is a convolutional neural network module that extracts pose data of the object from each frame of a two-dimensional image.
- the second sub-module 112 is a recurrent neural network (RNN)-based module that provides information of the previous frame to the first sub-module 112.
- RNN recurrent neural network
- the first sub-module 111 detects an object from the frame 31 and then performs object segmentation. Through this, the part corresponding to the object is identified and pose data 32 is extracted from the identified object.
- the pose data 32 is data expressing the posture of an object with key points 32a and lines 32b, and may be skeleton data with three-dimensional coordinates (x, y, z). there is.
- the key point 32a is a component identified by analyzing the object in the frame 31 and representing the joint of the object.
- the line 32b is a component that represents the skeleton of the object identified by analyzing the object in the frame 31. One or both ends of the line 32b may be connected to each key point 32a.
- the first sub-module 111 extracts the pose data 32 from the frame 31, information on the previous frame provided by the second sub-module 112, for example, the n-1th frame Information (Fn-1) may be referenced.
- Fn-1th frame Information Fn-1
- 3D motion data can be viewed as the result of connecting continuous pose data, so if the pose data 32 of the nth frame does not match the pose data of the previous and previous frames, the movement of the generated 3D motion data It will become unnatural. Therefore, in order to implement the movement of 3D motion data more smoothly, when extracting the pose data 32 of the nth frame 31, the first sub-module 111 extracts the previous frame from the second sub-module 112. You can refer to this by receiving the information (Fn-1).
- step S123 shape information of the object is extracted from the two-dimensional image using the second artificial intelligence module.
- step S123 a 3D mesh object expressing the volume of the object is created based on the extracted shape information using the second artificial intelligence module.
- FIG. 6 is a block diagram illustrating the detailed configuration of the second artificial intelligence module 120.
- the second artificial intelligence module 120 may include a 3D reconstruction module 121 and a mesh modeling module 122.
- the second artificial intelligence module 120 receives a two-dimensional image and outputs the volume and texture of the object in the two-dimensional image as a three-dimensional mesh object.
- the input two-dimensional image may include a plurality of frames in which the shape of the object is expressed at various angles and/or positions.
- the 3D reconstruction module 121 analyzes key points and lines representing an object from a 2D image and generates a 3D point cloud as shape information of the object based on these.
- the mesh modeling module 122 creates a 3D mesh object by performing 3D mesh modeling and texture mapping based on the generated 3D point cloud.
- the 3D reconstruction module 121 tracks the key points of the object in the 2D image 41 and creates a 3D reconstruction based on the key points. Reconstruct shape information. At the same time, the 3D reconstruction module 121 reconstructs line-based 3D shape information by detecting and fitting the lines of the object in the 2D image 41. Predetermined reconstruction parameters may be used to reconstruct the 3D shape information of the 3D reconstruction module 121.
- the 3D reconstruction module 121 generates a 3D point cloud (PC) that estimates the 3D shape of the object in the 2D image using 3D shape information reconstructed based on key points and/or lines.
- the generated 3D point cloud (PC) is provided to the mesh modeling module 122.
- the mesh modeling module 122 performs 3D mesh modeling based on a 3D point cloud (PC).
- the results of performing 3D mesh modeling are output as mesh information (MI) representing the volume of a 3D object.
- Predetermined modeling parameters may be used for 3D mesh modeling of the mesh modeling module 122.
- the mesh modeling module 122 performs texture mapping based on the color image of the two-dimensional image 41.
- the result of performing texture mapping is output as texture information (TI) representing the texture of a 3D object.
- the mesh modeling module 122 configures 3D mesh data using mesh information (MI) and texture information (TI) and then creates a 3D mesh object 42 based on this.
- MI mesh information
- TI texture information
- Figure 7 is a flowchart showing another embodiment that further specifies step S130 of Figure 3.
- an embodiment of applying 3D motion data generated in step S122 to a pre-stored 3D character object is explained.
- step S131 a motion image expressing the movement of the 3D character object is generated by merging the 3D motion data with the pre-stored 3D character object.
- 3D motion data is data created based on an input 2D image
- 3D character objects are pre-stored objects independent of the 2D image, so incongruity may occur between 3D motion data and 3D character objects. You can.
- a re-targeting task is required to adjust 3D motion data to fit 3D character objects. This will be further explained with reference to FIG. 8.
- FIG. 8 is a flowchart illustrating an embodiment of step S131 of FIG. 7 in more detail.
- Figure 8 an embodiment of retargeting that adjusts the joint positions of 3D motion data to match the joint positions of a 3D character object is explained.
- step S131a based on the key point data of the 3D motion data, the joint positions of the 3D motion data are matched with the joint positions of the 3D character object.
- matching the joint positions of the 3D motion data with the joint positions of the 3D character object means, for example, that the joint positions of the 3D motion data match the joint positions of the 3D character object. It may mean adjusting the position.
- each joint position (i.e., key point) of the 3D motion data is adjusted to match the joint position (i.e., key point) of the 3D character object.
- the lines of the 3D motion data are also adjusted based on the adjusted key points of the 3D motion data. For example, assuming that in the original 3D motion data, there were key points K1(1,1,1), K2(2,2,2), and a line L1 connecting key points K1 and K2, retargeting When the key points K1 and K2 are adjusted to K1(1,2,2) and K2(2,3,3) respectively, the line L1 also changes to (1,2,2) and (2,3,3). It is adjusted by connecting lines.
- step S131b based on the joint positions of the matched 3D motion data, the movement of the 3D character object is implemented to simulate the movement of the 3D motion data.
- the movements of the 3D motion data for example, the positions of each key point and line, movement distance, range of motion, etc., are adjusted. You can. Then, the movement of the adjusted 3D motion data is merged into the 3D character object, and the movement of the 3D character object is implemented.
- the movement of the implemented 3D character object can be output and stored as a 3D motion image.
- FIG. 9 is a flowchart illustrating an embodiment of step S130 of FIG. 3 in more detail.
- Figure 9 an embodiment of applying the 3D motion data generated in step S122 to the 3D mesh object generated in step S124 is explained.
- step S132 a motion image expressing the movement of the 3D mesh object is generated by merging the 3D motion data with the previously created 3D mesh object.
- the 3D mesh object is a 3D object extracted from the original 2D image.
- 3D motion data is merged into the 3D mesh object, a 3D object that reflects the appearance of the object appearing in the 2D image is created into a 3D object. It becomes possible to create motion images.
- the joint positions of the 3D mesh object and the joint positions of the 3D motion data will match each other. Therefore, in this embodiment, the retargeting task can be omitted.
- the motion of an object can be extracted from a two-dimensional image based on artificial intelligence and implemented as a three-dimensional motion image.
- 3D mesh data of the object can be generated using a 2D image of the object based on artificial intelligence.
- in-painting technology technology for restoring a part of an image that has been obscured or cut
- out-painting technology if the part to be restored is outside the image.
- Inpainting technology fills in the area to be restored by referring to pixels surrounding the area to be restored, but in this case, it was difficult to distinguish between the object part and the background part in the image.
- condition information In conventional image restoration technology, semantic information such as a 2D segmentation mask or 2D key point is input as condition information.
- semantic information such as a 2D segmentation mask or 2D key point
- it was difficult to distinguish each part of the object making it difficult to restore the image in detail
- 2D key point it was difficult to predict the volume of the object and the distinction between the object and the background became unclear, resulting in There was a problem that the quality of the restored video was lowered.
- FIG. 10 is a diagram illustrating an exemplary configuration of an object image generating device that infers a part of an object based on artificial intelligence, according to an embodiment of the present invention.
- the object image generating device 200 includes a first artificial intelligence module 210, a second artificial intelligence module 220, a 3D motion image generation module 230, and a third artificial intelligence module 240. , a fourth artificial intelligence module 250, and a learning data generation module 260.
- the object image generating device 200 may have some of the same configuration as the 3D motion image generating device 100 of FIG. 2 .
- the first artificial intelligence module 210, the second artificial intelligence module 220, and the 3D motion image generation module 230 are the first artificial intelligence module 110 and the second artificial intelligence module of FIG. 2, respectively. It may have the same configuration as the module 120 and the 3D motion image generation module 130. Therefore, in order to avoid duplication of explanation, detailed description of the first artificial intelligence module 210, the second artificial intelligence module 220, and the 3D motion image generation module 230 in this embodiment will be omitted. .
- the third artificial intelligence module 240 is a UV map generation module that generates a UV map corresponding to the object image using a CNN-based artificial neural network for an object image in which a part of the object's body is cut off, obscured, or occluded. do. Since the specific definition and configuration of the UV map is widely known in the image processing field to which this technology belongs, detailed description thereof will be omitted here.
- the fourth artificial intelligence module 250 uses a CNN-based artificial neural network to generate an object image in which the body part is restored from the object image and UV map.
- the object image with the body part restored may be an image displaying the entire body of the object.
- the learning data generation module 260 generates learning data used for machine learning of the third artificial intelligence module 240 and/or the fourth artificial intelligence module 250.
- Figure 11 is a flowchart showing a method for generating an object image for inferring a part of an object based on artificial intelligence, according to an embodiment of the present invention.
- the object image generating method of FIG. 11 may be performed by the object image generating apparatus 200 of FIG. 10 . Therefore, when the performing subject is omitted in the following steps, it is assumed that the performing subject is the object image generating device 200.
- step S210 a first object image and a UV map corresponding to the first object image are obtained.
- the first object image may be an image in which a body part of the object is cropped, hidden, or blocked.
- the UV map may be acquired by the third artificial intelligence module 240.
- the third artificial intelligence module 240 For further explanation, please refer to FIG. 12.
- the third artificial intelligence module 240 when an image in which a body part of an object is lost (e.g., a body part of the object is cut off, obscured, or occluded) is input, the third artificial intelligence module 240 generates an image corresponding to the entire body of the object. It is an artificial intelligence module that has been machine learned to output a UV map, and may be an artificial intelligence module based on a convolutional artificial neural network.
- the third artificial intelligence module 240 when the first object image 41 with one arm of the object cut off is input to the third artificial intelligence module 240, the third artificial intelligence module 240 A UV map 42 corresponding to the entire body of the object is output using a neural network. Meanwhile, the machine learning method of the third artificial intelligence module 240 will be described later in FIG. 15 and below.
- a second object image in which a body part of the object is reconstructed is generated based on the first object image and the UV map.
- the second object image may be generated by the fourth artificial intelligence module 250.
- FIG. 13 is a flowchart showing an embodiment embodying step S220 of FIG. 11.
- a foreground image and a background image corresponding to the first object image are generated using the fourth artificial intelligence module.
- the foreground image may refer to an image displaying an object
- the background image may refer to an image displaying the background of the object.
- step S222 a second object image in which part of the object's body is restored is generated by combining the previously generated foreground image and background image.
- a second object image in which part of the object's body is restored is generated by combining the previously generated foreground image and background image.
- the fourth artificial intelligence module 250 may include an encoder 251, a foreground generator 252, a background generator 253, and/or a synthesizer 254.
- this shows an exemplary configuration of the fourth artificial intelligence module 250, and the scope of the present invention is not limited thereto.
- the fourth artificial intelligence module 250 may further include other components in addition to the encoder 251, foreground generator 252, background generator 253, and/or synthesizer 254 shown in FIG. 14.
- the encoder 251 receives the first object image 41 and the UV map 42 and extracts a feature vector (v) based on them.
- the foreground generator 252 generates the foreground image 43 corresponding to the first object image 41 using the first part (v1) of the feature vector (v).
- the background generator 253 generates the background image 44 corresponding to the first object image 41 using the second part (v2) of the feature vector (v).
- the first part (v1) may be half of the feature vector (v)
- the second part (v2) may be the other half of the feature vector (v).
- the synthesizer 254 synthesizes (or blends) the generated foreground image 43 and background image 44 to generate a second object image 45 in which part of the object's body is restored.
- the encoder, the foreground generator, and the background generator include a convolutional neural network, extract a feature vector based on an object image and a UV map, and generate a foreground using the first part of the feature vector. It may be a machine-learned configuration that generates an image and generates a background image using the second part of the feature vector.
- the fourth artificial intelligence module 250 when the first object image 41 and the UV map 42 are input to the fourth artificial intelligence module 250, the fourth artificial intelligence module 250 A foreground image 43 and a background image 44 corresponding to the first object image 41 are created using a neural network, and the generated foreground image 43 and background image 44 are blended to create an object. A second object image 45 in which the severed body part is restored is generated.
- the fourth artificial intelligence module 250 may be a machine learned module based on a generative adversarial network model.
- the machine learning method of the fourth artificial intelligence module 250 will be described later in FIG. 17 and below.
- Figure 15 is a flowchart illustrating the learning method of the third artificial intelligence module. This will be explained with reference to FIGS. 15 and 16 together.
- a first UV map corresponding to the 2D object image is generated by converting the 3D mesh object corresponding to the 2D object image.
- a two-dimensional object image 51 which is an original image including the entire body of the object.
- the two-dimensional object image 51 is input to the second artificial intelligence module 220, and the second artificial intelligence module 220 outputs a three-dimensional mesh object 52 corresponding to the two-dimensional object image 51 therefrom.
- the second artificial intelligence module 220 is a machine-learned artificial intelligence module that extracts and analyzes the shape of an object in a two-dimensional image and creates a three-dimensional mesh object that estimates the texture and volume of the object.
- the second artificial intelligence module ( The specific functions and operations of 220) have been described in detail previously, so their description will be omitted here.
- the 3D mesh object 52 is converted to generate a first UV map 53 corresponding to the 2D object image 51, which is the original image.
- converting a 3D mesh object and generating a corresponding UV map can be easily performed through a certain mathematical transformation, and the method is also widely known in the art. Therefore, description of the specific method of converting a 3D mesh object into a UV map will be omitted here.
- the first UV map 53 may be used as a pseudo ground truth to evaluate the inference result of the third artificial intelligence module 240.
- step S320 a plurality of learning data is obtained based on the 2D object image. Generation of the plurality of learning data may be performed using the learning data generation module 260.
- a plurality of learning data 54 can be obtained.
- step S330 a plurality of learning data is provided to the third artificial intelligence module, and a second UV map corresponding to the learning data is output by the third artificial intelligence module.
- the third artificial intelligence module 240 is a convolutional neural network-based artificial intelligence module designed to receive as input an image in which part of the object's body is cut, obscured, or occluded, and to infer and output a UV map corresponding to the entire body of the object. am.
- the third artificial intelligence module 240 When a plurality of learning data 54 is input to the third artificial intelligence module 240, the third artificial intelligence module 240 generates a second UV corresponding to the plurality of learning data 54 by the operation of the internal artificial neural network. Output map (55).
- step S340 the parameters of the third artificial intelligence module are updated based on the results of comparing the first UV map and the second UV map.
- the MSE loss is calculated by calculating the difference between the first UV map 53 and the second UV map 55 through a predetermined loss function, and a third artificial intelligence is applied based on the MSE loss. Parameters of module 240 may be updated.
- steps S310 to S340 may be repeated until the third artificial intelligence module 240 is sufficiently learned, or a predetermined number of times.
- FIG. 17 is a flowchart illustrating the learning method of the fourth artificial intelligence module. This will be explained with reference to FIGS. 17 and 18 together.
- step S410 a two-dimensional object image is created using the original image.
- the two-dimensional object image 62 is an image in which some area or body part of the original image 61 is randomly cut, obscured, or occluded, or the cut, obscured, or occluded portion is replaced with random noise. It could be one video.
- generation of a 2D object image may be performed using the learning data generation module 260.
- step S420 a UV map corresponding to the 2D object image is created.
- the UV map 63 may be an output of the third artificial intelligence module 240, which is generated by inputting the two-dimensional object image 62 into the third artificial intelligence module 240.
- step S430 a first feature vector is extracted based on the 2D object image and UV map.
- the encoder 251 corresponds to the two-dimensional object image 62 and the UV map 63 based on them. Output the first feature vector (v).
- the two-dimensional object image 62 and the UV map 63 may be input to the encoder 251 as concatenated data.
- step S440 a first foreground image corresponding to the two-dimensional object image is generated using the first part of the first feature vector.
- the foreground generator 252 uses the first part (v1) of the first feature vector (v) to reconstruct a body part of the object.
- a first foreground image 64 is generated.
- step S450 a first background image corresponding to the two-dimensional object image is generated using the second part of the first feature vector.
- the background generator 253 generates the first background image 65 displaying the background of the object using the second part (v2) of the first feature vector (v).
- the second part (v2) may be the remaining part of the first feature vector (v) excluding the first part (v1).
- step S460 a composite image is generated based on the first foreground image and the first background image.
- the synthesizer 254 may generate the composite image 66 by synthesizing (or blending) the first foreground image 64 and the first background image 65.
- step S470 the parameters of the fourth artificial intelligence module are updated based on the results of comparing the first foreground image, first background image, and/or composite image with the original image.
- segmentation loss may be calculated by calculating the difference between the feature vector (vf) of the first foreground image 64 and the feature vector (vo) of the original image 61. Segmentation loss (Lseg) may be used to update the parameters of the foreground generator 252.
- the patch loss (Lpatch) may be calculated by calculating the difference between the first background image 65 and the original image 61. Specifically, the distance between the patches (Pb, Po) at corresponding positions in the first background image 65 and the original image 61 can be calculated and calculated as a patch loss (Lpatch). The patch loss (Lpatch) can be used to update the parameters of the background generator 253.
- the reconstruction loss (Lrec) may be calculated based on the result of comparing the synthesized image 65 and the original image 61.
- Reconstruction loss (Lrec) is a loss value defined to make the inferred and output synthesized image 65 more similar to the original image 61.
- an adversarial loss may be calculated based on the result of the discriminator 270 determining whether the synthesized image 65 is authentic.
- Adversarial loss (Ladv) is a loss value defined to prevent the composite image 65 output by the fourth artificial intelligence module 250 from being blurred and to make the image more realistic.
- Reconstruction loss (Lrec) and adversarial loss (Ladv) may be used to update parameters of the fourth artificial intelligence module 250.
- steps S410 to S470 may be repeated until the third artificial intelligence module 240 is sufficiently learned, or a predetermined number of times.
- the obscured or cut body part can be automatically restored by inferring the entire body of the object based on artificial intelligence.
- UV maps which are two-dimensional data containing three-dimensional information
- UV maps which are two-dimensional data containing three-dimensional information
- Conventional artificial intelligence model-based object motion estimation technology is generally based on a 2D skeleton model. This is a model that extracts the joint points of the body and the lines connecting each joint point, and estimates the motion of the object based on the movement of the joint points and lines. It has the advantage of simply estimating and comparing the motion of the object, but it does not require facial expressions or facial expressions. There were limitations that made it difficult to distinguish hand shapes and recognize detailed movements.
- an artificial intelligence-based object motion similarity calculation method is used to recognize more detailed motion by considering the volume and physical characteristics of the object. and devices.
- Figure 19 is a diagram showing an exemplary configuration of an artificial intelligence-based object motion similarity calculation device according to an embodiment of the present invention.
- the object motion similarity calculation device 300 includes a first artificial intelligence module 310, a second artificial intelligence module 320, a 3D motion image generation module 330, and a feature vector extraction module 340. ), a fifth artificial intelligence module 350, and a search result provision module 360.
- the apparatus 300 for calculating the motion similarity of an object may have some of the same configuration as the 3D motion image generating apparatus 100 of FIG. 2 .
- the first artificial intelligence module 310, the second artificial intelligence module 320, and the 3D motion image generation module 330 are the first artificial intelligence module 110 and the second artificial intelligence module of FIG. 2, respectively. It may have the same configuration as the module 120 and the 3D motion image generation module 130. Therefore, in order to avoid duplication of explanation, detailed descriptions of the first artificial intelligence module 310, the second artificial intelligence module 320, and the 3D motion image generation module 330 will be omitted in this embodiment. .
- the feature vector extraction module 340 is a module that extracts a feature vector corresponding to a 3D mesh object.
- the feature vector is a value representing the pose and motion of the 3D mesh object, and may include values representing the direction and trend of each mesh data constituting the 3D mesh object.
- the fifth artificial intelligence module 350 is a module that calculates the degree of motion similarity between 3D mesh objects based on feature vectors extracted from a plurality of 3D mesh objects.
- the fifth artificial intelligence module 350 is a machine learned module based on learning data, and may be a machine learned module based on metric learning.
- the search result providing module 360 selects a target image with similar posture and motion to the source image and provides it as a search result, or provides the source image and the target image. This is a module that outputs the similarity between movements as a specific value or grade.
- Figure 20 is a flowchart showing a method for calculating motion similarity of an object based on artificial intelligence, according to an embodiment of the present invention.
- the method for calculating the motion similarity of an object in FIG. 20 may be performed by the apparatus 300 for calculating the motion similarity of an object in FIG. 19 . Therefore, when the performing subject is omitted in the following steps, it is assumed that the performing subject is the motion similarity calculation device 300 of the object.
- step S510 the source image and target image are input.
- the source image is an image that is the standard for motion comparison
- the target image is an image that is the target of motion comparison.
- the target image is an image pre-stored with other target images in the database within the object motion similarity calculation device 300, and is sequentially stored with the other target images from the database for motion comparison with the source image. It may be a video read by .
- step S520 a first feature vector is extracted from the first object corresponding to the source image, and a second feature vector is extracted from the second object corresponding to the target image.
- the first object and the second object may be 3D mesh objects.
- the first object may be an object in the source image, or may be a newly processed or created object based on an object in the source image.
- the second object may also be an object in the target image, or may be a newly processed or created object based on the object in the target image.
- the first feature vector is a vector representing the pose and motion of the first object.
- the first feature vector may include values indicating the direction and trend of each of the plurality of mesh data constituting the first object.
- the second feature vector is a vector representing the pose and motion of the second object, and may include values representing the direction and transition of each of the plurality of mesh data constituting the second object.
- step S530 motion similarity between the first object and the second object is calculated based on the first feature vector and the second feature vector.
- the motion similarity can be calculated using a machine-learned artificial intelligence module based on metric learning.
- the machine learning method based on metric learning and the calculation of motion similarity between objects using it will be described in more detail in FIG. 25 and below.
- Figures 21 and 22 are diagrams to explain the characteristics of using a 3D mesh model in comparing the motion similarity of objects.
- FIG. 21 an example of estimating a two-dimensional (or 2D) skeleton model 72 and estimating a three-dimensional (or 3D) mesh based on the original image 71 is shown.
- the two-dimensional skeleton model 72 is constructed by estimating a line connecting joint points from the original image 71.
- the 3D mesh model (73) is the same as estimating the line connecting the joint points from the original image (71), but in addition, it estimates the texture and depth of the object and converts them into a 3D mesh with volume. Compose.
- the motion of the object is estimated based on the positions and movements of joint points and lines.
- the motion of the object is estimated by considering mesh data in addition to joint points and lines. Therefore, when using the 3D mesh model 73, it is possible to recognize motion in more detail by considering the volume and physical characteristics of the object.
- Figure 22 shows the difference in recognition performance between using a 2D skeleton model and a 3D mesh model for arm rotation motion.
- Figure 22(a) shows the arm rotation motion in the original image.
- Figure 22 (b) shows a case in which the arm rotation motion is recognized based on a two-dimensional skeleton model
- Figure 22 (c) shows a case in which the arm rotation motion is recognized based on a three-dimensional mesh model.
- the two-dimensional skeleton model recognizes the motion of the object based on the joint points and lines, so the joint points and lines between before (74a) and after (74b) the motion, such as an arm rotation motion. In cases where there is little change in position, there is a problem in that the corresponding motion is not well recognized.
- the 3D mesh model recognizes the motion of the object by considering mesh data in addition to the joint points and lines, so even when there is little change in the positions of the joint points and lines, the 3D mesh model recognizes the motion of the object before the motion (75a) ) and the change in mesh data after the operation (75b) allows the corresponding operation to be well recognized.
- FIGS 23 and 24 are diagrams to further explain step S520 of Figure 20.
- a feature vector extraction module 340 is shown to extract feature vectors from a source image and a feature vector, respectively.
- a first feature vector is extracted from the first object corresponding to the source image.
- the first object may be an object in the source image or may be a newly created object based on the object in the source image.
- the first object may be an extracted 3D mesh object in the source image.
- the first object extracts the two-dimensional object from the source image and then estimates the texture and volume of the two-dimensional object using an artificial intelligence module. It may be a 3D mesh object created by doing so.
- the second artificial intelligence module 320 can be used to estimate and create a 3D mesh object.
- a second feature vector is extracted from the second object corresponding to the target image.
- the second object may also be an object in the target image or may be a newly created object based on an object in the target image.
- the second object may be a 3D mesh object extracted from the target image.
- the object in the target image is a two-dimensional object
- the second object is a three-dimensional mesh object created by extracting the two-dimensional object from the target image and then estimating the texture and volume of the two-dimensional object using an artificial intelligence module. You can. Even at this time, the second artificial intelligence module 320 can be used to estimate and create a 3D mesh object.
- the feature vector extraction module 340 may extract a first feature vector and a second feature vector from the first object and the second object, respectively, using a Skinned Multi-Person Linear (SMPL) model.
- the SMPL model is a solution used to estimate the pose of an object based on a 3D mesh model. Since specific technical details related to the SMPL model are widely known in the art, description thereof will be omitted here.
- the first feature vector may include a first mesh vector each representing the first plurality of meshes constituting the first object, and a first trend vector representing a change trend of the first mesh vector.
- the second feature vector may include a second mesh vector each representing a second plurality of meshes constituting the second object, and a second trend vector representing a change trend of the second mesh vector.
- Figure 24 (a) is a 3D mesh object and shows the arm part of the human body.
- Figure 24(b) shows a mesh vector indicating the directionality of each mesh data constituting a 3D mesh object.
- each mesh data (81a, 81b) is extracted by the feature vector extraction module 340.
- the corresponding mesh vectors (82a, 82b, 82c, 82d) are extracted.
- each mesh vector (82a, 82b, 82c, 82d) may be a normal vector of the corresponding mesh data (81a, 81b, 81c, 81d).
- the mesh vector 82a is an extracted normal vector of the mesh data 81a
- the mesh vector 82b is an extracted normal vector of the mesh data 81b
- the mesh vector 82c is the mesh data 81c.
- the mesh vector 82d may be the normal vector of the mesh data 81d.
- each mesh vector (82a, 82b, 82c, 82d) is illustrated as a normal vector of the mesh data (81a, 81b, 81c, 81d), but the scope of the present invention is not limited thereto.
- any vector that can represent the mesh data (81a, 81b, 81c, 81d) while indicating the direction of the mesh data (81a, 81b, 81c, 81d) can be a mesh vector.
- the feature vector extraction module 340 may further extract a trend vector indicating a change trend of the mesh vectors 82a, 82b, 82c, and 82d.
- the trend vector is a vector that represents a change in each mesh vector (82a, 82b, 82c, 82d) in successive frames of an image, and may be a vector that represents the change in size and direction.
- the mesh vector and trend vector extracted by the feature vector extraction module 340 may be extracted and provided as a feature vector of the object.
- FIGS 25 and 26 are diagrams to further explain step S530 of Figure 20.
- a fifth artificial intelligence module 350 is shown that calculates the motion similarity between the first object and the second object based on the first feature vector and the second feature vector.
- the fifth artificial intelligence module 350 receives the first feature vector extracted from the first object and the second feature vector extracted from the second object, and calculates the distance between the first feature vector and the second feature vector based on this. It is an artificial intelligence module that is machine-learned to output the motion similarity between the first object and the second object based on the calculated distance.
- the motion similarity may be calculated higher as the distance between the first feature vector and the second feature vector is closer.
- the fifth artificial intelligence module 350 may be a module that has been machine learned using a metric learning method.
- a representative method for calculating the motion similarity of existing objects is the cosine similarity method.
- motion similarity is judged based on absolute coordinates. Therefore, when comparing an adult's dancing movements with a child's dancing movements, even if the overall pose and movements are similar, the coordinates recognized from the adult object and the coordinates recognized from the child object are significantly different, so they are judged to be dissimilar. .
- the motion similarity of objects is judged using a model learned using a metric learning method
- the motion similarity is judged based on the direction and trend of each object, so if the overall pose and motion are similar, the adult's motion and the child's motion are similar.
- the movements are also judged to be similar.
- the learning method of the fifth artificial intelligence module 350 based on metric learning will be described with reference to FIG. 26.
- Machine learning based on metric learning determines similarity by focusing on whether the characteristics of two objects are similar or different. In other words, when learning an artificial intelligence module, 'classification' is not performed, but a metric is used to calculate the distance indicating whether something is similar or different. Since the specific technical details of metric learning are widely known in the technical field, their description is omitted here.
- the fifth artificial intelligence module 350 receives anchor data, positive data, and negative data as learning data.
- Anchor data is a value corresponding to the reference data (a) and may be a feature vector extracted from the reference data (a).
- Positive data is a value corresponding to data (b) similar to the reference data (a), and may be a feature vector extracted from the similar data (b).
- Negative data is a value corresponding to data (c) that is different from the reference data (a), and may be a feature vector extracted from the different data (c).
- the fifth artificial intelligence module 350 When anchor data, positive data, and negative data are input, the fifth artificial intelligence module 350 is trained so that the distance to similar positive data becomes closer and the distance to different negative data becomes farther based on the anchor data. That is, the fifth artificial intelligence module 350 learns features to recognize that anchor data and positive data are similar to each other and that anchor data and negative data are different from each other.
- the fifth artificial intelligence model 350 learned in this way can distinguish between similar and dissimilar poses and motions, and can also perform similarity analysis on poses and motions that have not been previously learned.
- Figure 27 is a flowchart showing a method of calculating motion similarity of an object based on artificial intelligence, according to another embodiment of the present invention.
- steps S510 to S530 are the same as steps S510 to S530 of FIG. 20 .
- step S540 and step S550 are further included.
- description of steps S510 to S530 is omitted.
- step S540 based on the motion similarity, the target image is provided as a similar image search result of the source image.
- Providing the search results may be performed by the search result providing module 360.
- the target image if the calculated motion similarity exceeds a predetermined threshold, the target image is determined to be a similar image to the source image, and accordingly, the target image is provided as a search result corresponding to the source image.
- the target image if the calculated motion similarity is less than a predetermined threshold, the target image is determined not to be a similar image to the source image, and accordingly, the target image is not provided as the search result.
- the search results may be provided in the form of listing a plurality of target images whose motion similarity to the source image exceeds a predetermined threshold.
- the target images 91, 92, 93, 94, 95, and 96 whose motion similarity exceeds a predetermined threshold are sorted and listed in order of the size of the motion similarity, and are stored as the source. It can be provided as a similar image search result of the image 90.
- step S550 based on the user's selection of the target image provided as a search result, the 3D motion data of the first object and the second object are merged to generate a motion image in which the first object moves according to the 3D motion data.
- the source image and the movement similarity are calculated by the method for calculating the movement similarity of an object according to the present invention.
- a target image that is greater than or equal to the threshold may be provided as a similar image search result.
- extraction of the user's appearance may be performed using the second artificial intelligence module 320, and extraction of motion data of the sample object may be performed using the first artificial intelligence module 310, Combination of the user's appearance and the motion data may be performed by the 3D motion image generation module 330.
- Figure 29 is a flowchart showing a method of calculating motion similarity of an object based on artificial intelligence, according to another embodiment of the present invention.
- steps S510 to S530 are the same as steps S510 to S530 of FIG. 20 .
- step S560 and step S550 are further included.
- description of steps S510 to S530 is omitted.
- step S560 a similarity score between the source image and the target image is output based on the motion similarity.
- the similarity score may be output as a score or a grade according to a section of the score.
- the similarity score may be output as a numeric score such as 76, 86, or 96, with 70 or more but less than 80 being grade C, 80 or more but less than 90 being grade B, and 90 or more being grade B. may be output as a grade according to the section of the score, such as grade A.
- the output of the similarity score can be used in applications such as games. For example, in the case of a game set to imitate the actions of a specific video, the user's actions that imitate the actions in the specific video are filmed, and the motions in the captured video are compared with the actions in the specific video to calculate the similarity between the actions. , the resulting similarity score can be output as the result of the user's game play.
- motion similarity can be calculated more accurately by considering the physical characteristics of the object.
- various motion images are created in advance and stored in the database, and when a sentence such as 'a person is walking' is input, a motion image showing a person walking is searched and output from the database. Each phrase of the input sentence is searched and output.
- FIG. 30 is a diagram illustrating an exemplary configuration of a motion image generating device according to an embodiment of the present invention.
- the motion image generating device 400 is a device that automatically generates a 3D motion image from a sentence, and includes a sentence acquisition module 410, a morpheme analysis module 420, an image search module 430, and a motion It may include an image generation module 440.
- the sentence acquisition module 410 is a module that acquires sentences used to generate 3D motion images.
- the sentence acquisition module 410 may receive the sentence directly in text form through a user interface, or may acquire the sentence by converting a voice signal input through a voice input means into text.
- the morpheme analysis module 420 is a module that analyzes the obtained sentence, distinguishes words in the sentence, and identifies the part of speech of each word.
- the image search module 430 is a module that searches a database for a partial image with a meaning corresponding to a word whose part of speech has been identified.
- the motion image generation module 440 is a module that generates a motion image corresponding to the overall meaning of the sentence obtained by combining the searched partial images. At this time, when combining partial images, the motion image generation module 440 may generate an intermediate image and insert it between partial images so that the partial images are naturally connected to each other.
- the sentence acquisition module 410, the morpheme analysis module 420, the image search module 430, and/or the motion image generation module 440 may include a machine-learned artificial intelligence module.
- the sentence acquisition module 410 may include a machine-learned artificial intelligence module to recognize speech and automatically convert the recognized speech into text
- the morpheme analysis module 420 may include each word of the sentence in text format. It may include a machine-learned artificial intelligence module to distinguish and identify the parts of speech of the separated words
- the image search module 430 is machine-learned to selectively search a database for partial images corresponding to the meaning of a specific word.
- the motion image generation module 440 determines the arrangement order of each partial image according to the context when generating an entire motion image by combining a plurality of partial images, and determines the first position of each partial image. It may include a machine-learned artificial intelligence module to generate an intermediate image to be inserted between partial images so that the end and end are naturally connected.
- Figure 31 is a flowchart showing a method for generating a motion image from a sentence, according to an embodiment of the present invention.
- the method of generating a motion image from the sentence of FIG. 31 can be performed by the motion image generating apparatus 400 of FIG. 30. Therefore, if the performing subject is omitted in the following steps, it is assumed that the performing subject is the motion image generating device 400.
- step S310 a sentence to generate a 3D motion image is obtained.
- the sentence may be obtained based on text entered through a user interface.
- the sentence may be obtained by converting a voice signal input through a voice input means into text based on an artificial intelligence model.
- the specific technical details of how to convert voice signals into text based on an artificial intelligence model are widely known in the technical field, so description thereof will be omitted here.
- step S320 one or more words in the sentence are identified. For a detailed explanation, refer to FIG. 32.
- FIG. 32 is a flowchart showing an embodiment embodying step S620 of FIG. 31.
- step S621 one or more words constituting the sentence are identified.
- step S622 each part of speech is identified for the identified one or more words.
- the identification of the one or more words and the identification of the parts of speech may be performed by a machine-learned artificial intelligence module for natural language processing.
- Figure 33 shows an example in which 'A Person sits down with crossed legs, before getting up' is entered as a sentence to generate a 3D motion image.
- each word of the sentence and its part of speech are identified by the morpheme analysis module 420, and the words can be distinguished and classified for each part of speech as shown in FIG. 33.
- step S330 partial images corresponding to the one or more words are searched from the database.
- the database may be configured to store a plurality of 3D motion images generated by the 3D motion image generation method described in FIGS. 1 to 9.
- the plurality of 3D motion images stored in the database can be used as partial images to generate a motion image corresponding to the meaning of the sentence.
- FIG. 34 for a more detailed description of the embodiment shown in FIG. 33.
- FIG. 34 is a flowchart showing an embodiment embodying step S630 of FIG. 31.
- a case is exemplified where at least two words are identified from a sentence, and partial images corresponding to each of the at least two words are searched.
- step S631 the first partial image corresponding to the first word is searched from the database.
- step S632 the second partial image corresponding to the second word is searched from the database.
- a first partial image 1011 corresponding to the first word 'sits down' and a second partial image 1021 corresponding to the second word 'getting up' is exemplified by each search from a database (not shown).
- the first partial image 1011 is an image corresponding to the meaning of the first word 'sits down' and is an image showing the motion of a person sitting down
- the second partial image 1021 is an image corresponding to the meaning of the second word 'getting up'.
- This video corresponds to the video that shows the motion of a person standing up.
- step S631a a plurality of partial images are searched from the database based on the first word. For example, when the first word is 'sits down', if a partial image that matches the meaning of the first word is searched, many partial images showing various types of sitting motions may be searched.
- Partial images 1010 may be searched. Since each of the searched partial images (1011, 1012, and 1013) all show an action corresponding to the meaning of 'sits down', 'sits down' alone is the most appropriate partial image among the partial images (1011, 1012, and 1013). It is difficult to specify.
- step S632b a first partial image among a plurality of partial images is selected based on the third word.
- the third word may be a word related to the first word. For explanation, refer again to FIG. 37.
- the third word 'with crossed legs' is identified as a related word to the first word 'sits down'.
- the related word may similarly be referenced when searching for the second partial image.
- Partial images may be specified and selected.
- step S640 a motion image corresponding to the sentence is generated using the partial image.
- a motion image corresponding to the sentence is generated using the partial image.
- FIG. 38 is a flowchart showing an embodiment embodying step S640 of FIG. 31.
- step S641 the arrangement order of the first partial image and the second partial image is determined based on the context of the sentence. In this embodiment, it is assumed that the first partial image is placed immediately before the second partial image, depending on the context.
- step S642 an intermediate image to be inserted between the first partial image and the second partial image is generated.
- the intermediate image may be an image created to naturally connect the pose of the object in the first frame of the first partial image and the pose of the object in the second frame of the second partial image.
- step S643 a 3D motion image corresponding to the overall meaning of the sentence is generated by sequentially connecting the first partial image, the intermediate image, and the second partial image.
- FIG. 39 an example is shown in which the arrangement order of each partial image is determined based on the context and an intermediate image is inserted between each partial image.
- an intermediate image 1031 is generated to create the first partial image 1011. ) and the second partial image 1021.
- FIG. 40 an example of generating a 3D motion image by sequentially connecting a first partial image, an intermediate image, and a second partial image is shown.
- the generated 3D motion image shows the action of a person sitting down with their legs crossed and then standing up again, consistent with the meaning of the sentence.
- the posture of the object is changed from the beginning of the first partial image 1011 to the end of the second partial image 1021. You can see that it is naturally connected continuously.
- FIG. 41 is a flowchart showing an embodiment specifying step S642 of FIG. 38.
- Figure 41 illustrates a specific method of generating an intermediate image.
- step S642a the first location of the key point of the object is identified from the first frame of the first partial image.
- step S642b the second location of the key point of the object is identified from the second frame of the second partial image.
- step S642c an intermediate image is generated so that the position of the key point of the object within the intermediate image changes from the first position to the second position.
- the key point location (first position, P1) and the second key point location of the object in the last frame 1011a of the first partial image 1011 The key point location (second location, P2) of the object within the first frame 1021a of the partial image 1021 is identified.
- the key point may be a point indicating a joint part of the object.
- the intermediate image 1031 is generated so that the key point position of the object changes from the first position (P1) to the second position (P2) within the intermediate image 1031.
- the creation of the intermediate image 1031 is performed by a machine-learned artificial intelligence module to generate a motion image that connects the posture of the object in the first frame to the posture of the object in the last frame, given the first and last frames. It can be.
- the first partial image 1011 and the second partial image are displayed through the intermediate image. (1021) can be naturally connected.
- the sentence when a sentence of content desired to be generated as a 3D motion image is input as text or voice, the sentence can be analyzed to automatically generate a motion image that matches the meaning.
- a full motion image can be created by combining partial images corresponding to the meaning of words in a sentence, and an appropriate intermediate image can be inserted so that the connection between each partial image is natural.
- the computing device 500 of FIG. 43 includes the 3D motion image generating device 100 of FIG. 4, the object image generating device 200 shown in FIG. 10, and the object motion similarity calculation device 300 of FIG. 19. ), may be the motion image generating device 400 of FIG. 30.
- 43 is an exemplary hardware configuration diagram showing the computing device 500.
- the computing device 500 loads one or more processors 510, a bus 550, a communication interface 570, and a computer program 591 performed by the processor 510. It may include a memory 530 that stores a computer program 591 and a storage 590 that stores a computer program 591.
- a memory 530 that stores a computer program 591
- a storage 590 that stores a computer program 591.
- the processor 510 controls the overall operation of each component of the computing device 500.
- the processor 510 is at least one of a Central Processing Unit (CPU), Micro Processor Unit (MPU), Micro Controller Unit (MCU), Graphic Processing Unit (GPU), or any type of processor well known in the art of the present invention. It can be configured to include. Additionally, the processor 510 may perform operations on at least one application or program to execute methods/operations according to various embodiments of the present invention.
- Computing device 500 may include one or more processors.
- the memory 530 stores various data, commands and/or information.
- the memory 530 may load one or more programs 591 from the storage 590 to execute methods/operations according to various embodiments of the present invention.
- An example of the memory 530 may be RAM, but is not limited thereto.
- Bus 550 provides communication functionality between components of computing device 500.
- the bus 550 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
- the communication interface 570 supports wired and wireless Internet communication of the computing device 500.
- the communication interface 570 may support various communication methods other than Internet communication.
- the communication interface 570 may be configured to include a communication module well known in the technical field of the present invention.
- Storage 590 may non-transitory store one or more computer programs 591.
- the storage 590 is a non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, a hard disk, a removable disk, or a device well known in the technical field to which the present invention pertains. It may be configured to include any known type of computer-readable recording medium.
- the computer program 591 may include one or more instructions implementing methods/operations according to various embodiments of the present invention.
- the computer program 591 operates to acquire a two-dimensional image, extracts pose data of an object from the two-dimensional image using a machine-learned artificial intelligence model, and based on the pose data, 3 It may include instructions for generating dimensional modeling data and generating a 3D motion image using the 3D modeling data.
- the computer program 591 may perform an operation of acquiring a first object image and a UV map corresponding to the first object image, and a body part of the object based on the first object image and the UV map. includes instructions for performing an operation for generating a restored second object image, wherein the first object image includes a body part of the object that is cropped, hidden, or blocked. It could be a video.
- the computer program 591 operates by inputting a source image and a target image, extracting a first feature vector from a first object corresponding to the source image, and extracting a second feature vector from a second object corresponding to the target image. Includes instructions for executing an operation in which a motion similarity between the first object and the second object is calculated based on the extracted operation, the first feature vector, and the second feature vector, and the first object and the second object.
- the second object is a 3D mesh object, and the operation for which the motion similarity is calculated may be an operation for which the motion similarity is calculated using a machine-learned artificial intelligence module based on metric learning.
- the computer program 591 may perform the following operations: acquiring a sentence, identifying one or more words in the sentence, searching a database for a partial image corresponding to the one or more words, and using the partial image to form the sentence. It may include instructions for executing an operation to generate a motion image corresponding to .
- the processor 510 can perform methods/operations according to various embodiments of the present invention by executing the one or more instructions.
- the technical idea of the present invention described so far can be implemented as computer-readable code on a computer-readable medium.
- the computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). You can.
- the computer program recorded on the computer-readable recording medium can be transmitted to another computing device through a network such as the Internet and installed on the other computing device, and thus can be used on the other computing device.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Graphics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
인공지능 기반의 3차원 모션 영상 생성 방법 및 장치가 제공된다. 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 방법은 컴퓨팅 장치에 의해 수행되고, 2차원 영상을 획득하는 단계, 기계학습 된 인공지능 모듈을 이용하여 상기 2차원 영상으로부터 객체를 식별하고 상기 식별된 객체의 움직임을 분석하여 상기 객체의 3차원 모델링 데이터를 생성하는 단계, 및 상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 단계를 포함할 수 있다. 발명에 따른 3차원 모션 영상 생성 방법에 의하면, 인공지능 기반으로 2차원 영상으로부터 객체의 동작을 추출하여 이를 3차원 모션 영상으로 구현할 수 있다. 또한, 객체의 2차원 영상을 이용하여 상기 객체의 3차원 메쉬 데이터를 생성할 수 있다.
Description
본 발명은, 인공지능 기반의 3차원 모션 객체 생성 방법 및 장치에 대한 것이다. 보다 자세하게는, 인공지능 기반으로 2차원 영상을 이용하여 3차원 모션 영상을 생성하는 방법 및 장치에 관한 것이다.
나아가, 본 발명은 객체 영상 생성 방법 및 장치에 관한 것이다. 보다 자세하게는, 인공지능 기반으로 객체의 가려지거나 잘린 일부를 추론함으로써 객체의 전체 모습을 온전히 복원할 수 있는 객체 영상 생성 방법 및 장치에 관한 것이다.
나아가, 본 발명은 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치에 관한 것이다. 보다 자세하게는, 3차원 메쉬 객체를 기반으로 객체 간 동작 유사도를 산출하는 방법 및 장치에 관한 것이다.
나아가, 본 발명은 문장으로부터 모션 영상을 생성하는 방법 및 장치에 관한 것이다. 보다 자세하게는, 텍스트 형식의 문장을 분석하여 문장의 의미에 대응되는 모션 영상을 자동 생성하는 방법 및 장치에 관한 것이다.
메타버스 시장의 성장과 함께 핵심 요소인 3D(3-Dimensional, 3차원) 영상 생성 기술에 대한 수요가 그와 동반하여 급증하고 있다. 국내외 기업들은 차세대 성장 동력으로 현실세계를 가상세계에 재현하는 메타버스에 주목하고 있으며, 메타버스의 핵심기술인 현실세계를 3D로 전환하여 가상세계에 표현하는 3D 이미징 기술에 대한 관심 또한 크게 증가하고 있다.
과거 3D 이미징 기술은 주로 게임 분야에 활용 되었으나, 최근에는 전 산업 영역으로 확장 적용되는 추세로, AR/VR, 영화, 애니메이션, 방송 등 다양한 컨텐츠 산업으로 그 적용 범위를 넓히고 있다.
그러나, 3D 이미징 기술에 대한 관심이 높은 것에 비해, 그 기술적 완성도는 부족한 상황이다. 가령, AI 휴먼을 생성하는 업체들의 경우 CG생성 방식 혹은 Deep Fake 생성 방식으로 가상 얼굴을 생성하는 것에만 기술 개발이 집중되어 있으며, 모션을 인식하여 이를 자연스러운 동작으로 재현하는 모션 재현에 대한 기술 개발은 부족한 상황이다.
또한, 3D 이미징 기술이 전 산업 영역에 확산 적용됨에 따라 3D 저작 도구 시장 또한 지속 성장하고 있으나, 현재의 3D 이미징 저작 도구들은 정적 객체(건축, 인테리어, 설비 등) 제작에만 초점이 맞춰져 있으며 움직이는 동적 객체를 3D로 전환하여 3차원 공간에 표현하는 기술에 대한 연구 및 개발은 부족한 실정이다.
본 발명의 실시예들을 통해 해결하고자 하는 기술적 과제는, 인공지능 기반으로 2차원 영상으로부터 객체의 동작을 추출하여 이를 3차원 모션 영상으로 구현할 수 있는 인공지능 기반의 3차원 모션 영상 생성 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 인공지능 기반으로 객체의 2차원 영상을 이용하여 상기 객체의 3차원 메쉬 데이터를 생성할 수 있는 인공지능 기반의 3차원 모션 영상 생성 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 기술적 과제는, 영상 내에서 객체의 신체 일부가 가려지거나 잘린 경우에도, 인공지능을 기반으로 객체의 전체 신체를 추론함으로써 상기 가려지거나 잘린 신체 부분을 자동 복원할 수 있는 객체 영상 생성 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 객체의 가려지거나 잘린 신체 부분을 복원하는데 있어 3차원 정보를 담고 있는 2차원 데이터인 UV 맵을 이용함으로써, 기존의 컨볼루션 신경망(Convolutional Neural Network) 기반 모델 기술을 활용하면서도 더욱 상세하고 사실적으로 신체 부분을 복원할 수 있는 객체 영상 생성 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 기술적 과제는, 3차원 메쉬 모델을 이용하여 객체의 포즈 및 동작을 상호 비교함으로써, 객체의 신체적 특성까지 고려하여 더욱 정확하게 동작 유사도를 산출할 수 있는, 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있는, 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 기술적 과제는, 텍스트 형식으로 제공되는 문장을 분석하여 문장의 의미에 대응되는 모션 영상을 자동 생성하는 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 문장 내 단어의 의미에 대응되는 부분 영상들을 조합하여 전체 모션 영상을 생성하되, 각 부분 영상간 연결이 자연스럽도록 적절한 중간 영상을 삽입할 수 있는 문장으로부터 모션 영상을 생성하는 방법 및 장치를 제공하는 것이다.
상기 기술적 과제를 해결하기 위한, 인공지능 기반의 3차원 모션 영상 생성 방법은 컴퓨팅 장치에 의해 수행되고, 2차원 영상을 획득하는 단계, 기계학습 된 인공지능 모듈을 이용하여 상기 2차원 영상으로부터 객체를 식별하고 상기 식별된 객체의 움직임을 분석하여 상기 객체의 3차원 모델링 데이터를 생성하는 단계, 및 상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 3차원 모델링 데이터를 생성하는 단계는, 제1 인공지능 모듈을 이용하여 상기 2차원 영상으로부터 상기 객체의 포즈(pose) 데이터를 추출하고 상기 포즈 데이터를 기초로 상기 객체의 움직임을 나타내는 3차원 모션 데이터를 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 2차원 영상은 상기 객체의 움직임을 시계열적으로 나타내는 복수의 프레임을 포함하고, 상기 제1 인공지능 모듈은 상기 복수의 프레임 중 제1 프레임으로부터 상기 객체의 포즈 데이터를 추출하는 컨볼루션 신경망(Convolutional Neural Network) 기반의 제1 서브 모듈, 및 상기 제1 서브 모듈에 상기 복수의 프레임 중 제2 프레임의 정보를 제공하는 순환 신경망(Recurrent Neural Network) 기반의 제2 서브 모듈을 포함하고, 상기 제2 프레임은 상기 시계열상에서 상기 제1 프레임보다 앞선 프레임일 수 있다.
일 실시예로서, 상기 3차원 모션 영상을 생성하는 단계는, 미리 저장된 3차원 캐릭터 객체에 상기 3차원 모션 데이터를 병합하여 상기 3차원 캐릭터 객체의 움직임이 표현된 모션 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 3차원 모션 데이터는 상기 객체의 관절 부위에 대응되는 키 포인트 데이터를 포함할 수 있다.
일 실시예로서, 상기 3차원 캐릭터 객체의 움직임이 표현된 모션 영상을 생성하는 단계는, 상기 키 포인트 데이터를 기초로 상기 3차원 모션 데이터의 관절 위치를 상기 3차원 캐릭터 객체의 관절 위치와 정합시키는 리타겟팅(retargeting) 단계를 포함할 수 있다.
일 실시예로서, 상기 3차원 모델링 데이터를 생성하는 단계는, 제2 인공지능 모듈을 이용하여 상기 2차원 영상으로부터 상기 객체의 형상 정보를 추출하고 상기 형상 정보를 기초로 상기 객체의 볼륨(volume)이 표현된 3차원 메쉬(mesh) 객체를 생성하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 3차원 모션 영상을 생성하는 단계는, 상기 3차원 메쉬 객체에 상기 3차원 모션 데이터를 병합하여 상기 3차원 메쉬 객체의 움직임이 표현된 모션 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 제2 인공지능 모듈은 상기 2차원 영상으로부터 상기 객체를 나타내는 3차원 포인트 클라우드를 생성하는 3차원 재구성 모듈, 및 상기 3차원 포인트 클라우드를 기초로, 3차원 메쉬 모델링 및 텍스쳐 매핑을 수행하여 상기 3차원 메쉬 객체를 생성하는 메쉬 모델링 모듈을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 인공지능 기반의 3차원 모션 영상 생성 장치는 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 2차원 영상을 획득하는 동작, 기계학습 된 인공지능 모델을 이용하여 상기 2차원 영상으로부터 객체의 포즈(pose) 데이터를 추출하고, 상기 포즈 데이터를 기초로 3차원 모델링 데이터를 생성하는 동작, 및 상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 인공지능 기반의 객체 영상을 생성하는 방법은 컴퓨팅 장치에 의해 수행되고, 제1 객체 영상, 및 상기 제1 객체 영상에 대응되는 UV 맵(UV map)을 획득하는 단계, 및 상기 제1 객체 영상 및 상기 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상을 생성하는 단계를 포함하고, 상기 제1 객체 영상은 상기 객체의 상기 신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상일 수 있다.
일 실시예로서, 상기 UV 맵을 획득하는 단계는 기계학습된 제3 인공지능 모듈을 이용하여 상기 제1 객체 영상으로부터 상기 UV 맵을 생성할 수 있다.
일 실시예로서, 상기 제3 인공지능 모듈은 2차원 객체 영상에 대응되는 3차원 메쉬 객체를 변환하여 상기 2차원 객체 영상에 대응되는 제1 UV 맵이 생성되는 단계, 상기 2차원 객체 영상에 기초하여 복수의 학습 데이터가 획득되는 단계, 상기 복수의 학습 데이터가 상기 제3 인공지능 모듈에 제공되어 상기 제3 인공지능 모듈에 의해 상기 학습 데이터에 대응되는 제2 UV 맵이 출력되는 단계, 및 상기 제1 UV 맵과 상기 제2 UV 맵을 비교한 결과에 기초하여, 상기 제3 인공지능 모듈의 파라미터(parameter)가 업데이트되는 단계를 포함하는 방법에 의해 기계학습된 것일 수 있다.
일 실시예로서, 상기 3차원 메쉬 객체는 상기 2차원 객체 영상으로부터 상기 3차원 메쉬 객체를 추출하도록 기계학습된 인공지능 모듈을 이용하여 생성될 수 있다.
일 실시예로서, 상기 제2 객체 영상을 생성하는 단계는 제4 인공지능 모듈을 이용하여 상기 제1 객체 영상에 대응되는 전경 영상 및 배경 영상을 각각 생성하는 단계, 및 상기 전경 영상 및 상기 배경 영상을 합성하여 상기 제2 객체 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 제4 인공지능 모듈은 상기 제1 객체 영상 및 상기 UV 맵에 기초하여 특징 벡터(feature vector)를 추출하는 인코더, 상기 특징 벡터의 제1 부분을 이용하여 상기 전경 영상을 생성하는 전경 생성기, 및 상기 특징 벡터의 제2 부분을 이용하여 상기 배경 영상을 생성하는 배경 생성기를 포함하고, 상기 인코더, 상기 전경 생성기, 및 상기 배경 생성기는 컨볼루션 신경망(Convolutional Neural Network)을 포함할 수 있다.
일 실시예로서, 상기 제4 인공지능 모듈은 적대적 생성 네트워크(Generative Adversarial Network) 모델을 기반으로 기계학습된 것일 수 있다.
일 실시예로서, 상기 제4 인공지능 모듈은 원본 영상을 이용하여 생성된 2차원 객체 영상, 및 상기 2차원 객체 영상에 대응되는 UV 맵을 기초로 제1 특징 벡터가 추출되는 단계, 상기 제1 특징 벡터의 제1 부분을 이용하여 상기 2차원 객체 영상에 대응되는 제1 전경 영상이 생성되는 단계, 상기 제1 특징 벡터의 제2 부분을 이용하여 상기 2차원 객체 영상에 대응되는 제1 배경 영상이 생성되는 단계, 상기 제1 배경 영상 및 상기 제1 전경 영상을 기초로 합성 영상이 생성되는 단계, 및 상기 제1 전경 영상, 상기 제1 배경 영상, 또는 상기 합성 영상을 상기 원본 영상과 비교한 결과에 기초하여, 상기 제4 인공지능 모듈의 파라미터가 업데이트되는 단계를 포함하는 방법에 의해 기계학습된 것일 수 있다.
일 실시예로서, 상기 2차원 객체 영상은 상기 원본 영상의 일부 영역을 잘라내거나, 랜덤 노이즈로 대체한 영상일 수 있다.
상기 기술적 과제를 해결하기 위한, 인공지능 기반의 객체 영상 생성 장치는, 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리,및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 1 객체 영상, 및 상기 제1 객체 영상에 대응되는 UV 맵(UV map)을 획득하는 동작, 및 상기 제1 객체 영상 및 상기 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상을 생성하는 동작을 수행하기 위한 인스트럭션들을 포함하고, 상기 제1 객체 영상은 상기 객체의 상기 신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상일 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 인공지능 기반의 객체의 동작 유사도 산출 방법은 컴퓨팅 장치에 의해 수행되고, 소스 영상 및 타겟 영상이 입력되는 단계, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 단계, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 단계를 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 단계는 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 단계일 수 있다.
일 실시예로서, 상기 제1 객체는 상기 소스 영상 내 객체를 기초로 상기 객체의 볼륨을 추론하여 생성된 3차원 메쉬 객체일 수 있다.
일 실시예로서, 상기 추출되는 단계는 SMPL(Skinned Multi-Person Linear) 모델을 이용하여, 상기 제1 객체 및 상기 제2 객체로부터 상기 제1 특징 벡터 및 상기 제2 특징 벡터가 추출될 수 있다.
일 실시예로서, 상기 제1 특징 벡터는 상기 제1 객체를 구성하는 복수의 메쉬를 각각 나타내는 메쉬 벡터, 및 상기 메쉬 벡터의 변화 추이를 나타내는 추이 벡터를 포함할 수 있다.
일 실시예로서, 상기 동작 유사도는 상기 제1 특징 벡터와 상기 제2 특징 벡터의 거리가 가까울수록 높게 산출될 수 있다.
일 실시예로서, 상기 동작 유사도에 기초하여 상기 타겟 영상을 상기 소스 영상의 유사 영상 검색 결과로서 제공하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 검색 결과로서 제공하는 단계는 상기 타겟 영상을 포함하는 복수의 타겟 영상을 각각의 동작 유사도에 기초하여 리스팅(listing)할 수 있다.
일 실시예로서, 상기 검색 결과로서 제공된 상기 타겟 영상에 대한 사용자 선택을 기초로, 상기 제1 객체에 상기 제2 객체의 3차원 모션 데이터를 병합하여, 상기 제1 객체가 상기 3차원 모션 데이터에 따라 움직이는 모션 영상을 생성하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 동작 유사도에 기초하여 상기 소스 영상과 상기 타겟 영상 간 유사도 점수를 출력하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 인공지능 기반의 객체의 동작 유사도 산출 장치는 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 소스 영상 및 타겟 영상이 입력되는 동작, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 동작, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 동작을 실행하기 위한 인스트럭션들(instructions)을 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 동작은 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 동작일 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 문장으로부터 모션 영상을 생성하는 방법은 컴퓨팅 장치에 의해 수행되고, 문장을 획득하는 단계, 상기 문장 내 하나 이상의 단어를 식별하는 단계, 상기 하나 이상의 단어에 대응되는 부분 영상을 데이터베이스로부터 검색하는 단계, 및 상기 부분 영상을 이용하여 상기 문장에 대응되는 모션 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 하나 이상의 단어를 식별하는 단계는 상기 하나 이상의 단어의 품사를 식별하는 단계를 포함할 수 있다.
일 실시예로서, 상기 하나 이상의 단어는 제1 단어 및 제2 단어를 포함하고, 상기 데이터베이스로부터 검색하는 단계는 상기 제1 단어에 대응되는 제1 부분 영상을 상기 데이터베이스로부터 검색하는 단계, 및 상기 제2 단어에 대응되는 제2 부분 영상을 상기 데이터베이스로부터 검색하는 단계를 포함할 수 있다.
일 실시예로서, 상기 하나 이상의 단어는 상기 제1 단어와 연관된 제3 단어를 더 포함하고, 상기 제1 부분 영상을 상기 데이터베이스로부터 검색하는 단계는 상기 제1 단어를 기초로 상기 데이터베이스로부터 복수의 부분 영상을 검색하는 단계, 및 상기 제3 단어를 기초로 상기 복수의 부분 영상 중 상기 제1 부분 영상을 선택하는 단계를 포함할 수 있다.
일 실시예로서, 상기 모션 영상을 생성하는 단계는 상기 문장의 컨텍스트(context)에 기초하여 상기 제1 부분 영상과 상기 제2 부분 영상의 배치 순서를 결정하는 단계를 포함할 수 있다.
일 실시예로서, 상기 제1 부분 영상은 상기 제2 부분 영상의 직전에 배치되는 영상이고, 상기 모션 영상을 생성하는 단계는 상기 제1 부분 영상과 상기 제2 부분 영상 사이에 삽입될 중간 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 중간 영상은 상기 제1 부분 영상의 제1 프레임 내 객체의 포즈와 상기 제2 부분 영상의 제2 프레임 내 상기 객체의 포즈를 연결하기 위한 영상일 수 있다.
일 실시예로서, 상기 중간 영상을 생성하는 단계는 상기 제1 부분 영상의 제1 프레임으로부터 상기 객체의 키 포인트의 제1 위치를 식별하는 단계, 상기 제2 부분 영상의 제2 프레임으로부터 상기 객체의 상기 키 포인트의 제2 위치를 식별하는 단계, 및 상기 중간 영상 내에서 상기 객체의 상기 키 포인트의 위치가 상기 제1 위치에서 상기 제2 위치로 변화하도록 상기 중간 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 모션 영상을 생성하는 단계는 상기 제1 부분 영상, 상기 중간 영상, 및 상기 제2 부분 영상을 차례로 연결하여 상기 모션 영상을 생성하는 단계를 포함할 수 있다.
일 실시예로서, 상기 문장을 획득하는 단계는 사용자 인터페이스를 통해 입력된 텍스트를 기초로 상기 문장을 획득할 수 있다.
일 실시예로서, 상기 문장을 획득하는 단계는 음성 입력 수단을 통해 입력된 음성 신호를 텍스트로 변환하여 상기 문장을 획득할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 문장으로부터 모션 영상을 생성하는 장치는 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 문장을 획득하는 동작, 상기 문장 내 하나 이상의 단어를 식별하는 동작, 상기 하나 이상의 단어에 대응되는 부분 영상을 데이터베이스로부터 검색하는 동작, 및 상기 부분 영상을 이용하여 상기 문장에 대응되는 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
본 발명에 따르면, 2차원 영상으로부터 3차원 모션 영상을 생성할 수 있다.
나아가, 본 발명에 따르면, 영상 내에서 객체의 신체 일부가 가려지거나 잘린 경우에도, 인공지능을 기반으로 객체의 전체 신체를 추론함으로써 상기 가려지거나 잘린 신체 부분을 자동 복원할 수 있다.
나아가, 본 발명에 따르면, 3차원 메쉬 모델을 이용하여 객체의 포즈 및 동작을 상호 비교함으로써, 객체의 신체적 특성까지 고려하여 더욱 정확하게 동작 유사도를 산출할 수 있다.
나아가 본 발명에 따르면, 텍스트 형식으로 제공되는 문장을 분석하여 문장의 의미에 대응되는 모션 영상을 자동 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 장치를 나타내는 도면이다.
도 2는 도 1의 3차원 모션 영상 생성 장치를 예시적인 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 방법을 나타내는 순서도이다.
도 4는 도 3의 S120 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 5는 제1 인공지능 모듈(110)의 상세 구성을 예시적으로 나타내는 블록도이다.
도 6은 제2 인공지능 모듈(120)의 상세 구성을 예시적으로 나타내는 블록도이다.
도 7은 도 3의 S130 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 8은 도 7의 S131 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 9는 도 3의 S130 단계를 구체화한 다른 일 실시예를 나타내는 순서도이다.
도 10은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 장치의 예시적인 구성을 나타내는 도면이다.
도 11은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법을 나타내는 순서도이다.
도 12는 도 11의 S210 단계를 부연설명하기 위한 도면이다.
도 13은 도 11의 S220 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 14는 도 13의 실시예를 부연설명하기 위한 도면이다.
도 15는 제3 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다.
도 16은 도 15의 실시예를 부연설명하기 위한 도면이다.
도 17은 제4 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다.
도 18은 도 17의 실시예를 부연설명하기 위한 도면이다.
도 19는 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 장치의 예시적인 구성을 나타내는 도면이다.
도 20은 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다.
도 21 및 도 22는 객체의 동작 유사도 비교에 있어서, 3차원 메쉬 모델을 이용하는 경우의 특징을 설명하기 위한 도면들이다.
도 23 및 도 24는 도 20의 S520 단계를 부연설명하기 위한 도면들이다.
도 25 및 도 26은 도 20의 S530 단계를 부연설명하기 위한 도면들이다.
도 27은 본 발명의 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다.
도 28은 도 27의 S540 단계를 부연설명하기 위한 도면이다.
도 29는 본 발명의 또 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다.
도 30은 본 발명의 일 실시예에 따른, 모션 영상 생성 장치의 예시적인 구성을 나타내는 도면이다.
도 31은 본 발명의 일 실시예에 따른, 문장으로부터 모션 영상을 생성하는 방법을 나타내는 순서도이다.
도 32는 도 31의 S620 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 33은 도 32의 실시예를 부연설명하기 위한 도면이다.
도 34는 도 31의 S630 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 35는 도 34의 실시예를 부연설명하기 위한 도면이다.
도 36은 도 34의 S631 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 37은 도 36의 실시예를 부연설명하기 위한 도면이다.
도 38은 도 31의 S640 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 39 및 도 40은 도 38의 실시예를 부연설명하기 위한 도면들이다.
도 41은 도 38의 S642 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 42는 도 41의 실시예를 부연설명하기 위한 도면이다.
도 43은 본 발명의 다양한 실시예들이 구현되는 컴퓨팅 장치(500)의 예시적인 하드웨어 구성을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
-2차원 영상을 이용한 3차원 모션 영상 생성-
본 실시예에서는 2차원 영상 내 객체의 움직임을 분석하여, 2차원 객체의 움직임을 3차원 객체의 모션 영상으로 구현해내는 방법을 제안한다.
도 1은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 장치를 나타내는 도면이다.
도 1에서 3차원 모션 영상 생성 장치(100)는 카메라 등이 포함된 사용자 단말(10)을 통해 2차원 영상을 수신하고, 이를 기초로 2차원 영상 내 2차원 객체(11)의 움직임이 모사된 3차원 모션 영상(20)을 생성한다.
본 발명에서 장치(100)는 시스템 또는 플랫폼이라고도 명명될 수 있다. 3차원 모션 영상(20)에는 2차원 객체(11)의 움직임을 모사한 3차원 메쉬(mesh) 객체(21)의 움직임이 표현되며, 상기 3차원 메쉬 객체(21)는 2차원 객체(11)의 형상을 본 따 만들어진 객체일 수도 있고, 특정 캐릭터를 형상화 한 미리 저장된 객체일 수도 있다.
일 실시예로서, 사용자 단말(10)은 네트워크(미도시)를 통해 3차원 모션 영상 생성 장치(100)와 상호 통신이 가능하도록 구성될 수 있다. 상기 네트워크는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다.
사용자 단말(10)은 네트워크와 통신 가능한 컴퓨팅 장치로서, 2차원 영상을 촬영, 편집, 또는 전송하기 위한 하드웨어 또는 애플리케이션을 구비할 수 있다. 예를 들어, 사용자 단말(10)은, 카메라, 스마트폰, 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스, 및/또는 셋톱 박스 등을 포함할 수 있다.
도 2는 도 1의 3차원 모션 영상 생성 장치를 예시적인 구성을 나타내는 블록도이다. 도 2를 참조하면, 3차원 모션 영상 생성 장치(100)는 제1 인공지능 모듈(110), 제2 인공지능 모듈(120), 및 3차원 모션 영상 생성 모듈(130)을 포함할 수 있다.
제1 인공지능 모듈(110)은 2차원 영상 내 객체의 움직임을 추출, 분석하여 이를 모사한 3차원 모션 데이터를 생성하는 모듈로서, 3차원 모션 데이터 생성 모듈일 수 있다. 제1 인공지능 모듈(110)은 다수의 학습 데이터를 기초로 기계학습된 하나 이상의 인공신경망을 포함하는 모듈로서, 컨볼루션 신경망(Convolutional Neural Network, 또는 CNN) 기반의 인공신경망을 포함할 수 있다.
제2 인공지능 모듈(120)은 2차원 영상 내 객체의 형상을 추출, 분석하여 객체의 질감 및 볼륨을 추정한 3차원 메쉬 객체를 생성하는 모듈로서, 3차원 메쉬 객체 생성 모듈일 수 있다. 제2 인공지능 모듈(120)은 다수의 학습 데이터를 기초로 기계학습된 하나 이상의 인공신경망을 포함하는 모듈로서, 컨볼루션 신경망 기반의 인공신경망을 포함할 수 있다.
3차원 모션 영상 생성 모듈(130)은 제1 인공지능 모듈(110) 및 제2 인공지능 모듈(120)의 출력 결과를 기초로 3차원 모션 영상을 생성하는 모듈이다.
가령, 3차원 모션 영상 생성 모듈(130)은 제1 인공지능 모듈(110)이 생성한 3차원 모션 데이터를 제2 인공지능 모듈(120)이 생성한 3차원 메쉬 객체에 적용하여, 상기 3차원 메쉬 객체의 움직임이 표현된 3차원 모션 영상을 생성할 수 있다. 또는, 3차원 모션 영상 생성 모듈(130)은 제1 인공지능 모듈(110)이 생성한 3차원 모션 데이터를 미리 저장된 3차원 캐릭터 객체에 적용하여, 상기 3차원 캐릭터 객체의 움직임이 표현된 3차원 모션 영상을 생성할 수 있다.
일 실시예로서, 3차원 모션 영상 생성 모듈(130) 또한 컨볼루션 신경망 기반의 인공지능 모듈일 수 있다.
이하에서는, 3차원 모션 영상 생성 장치(100)의 구체적인 동작 및 그것에 의한 3차원 모션 영상 생성 방법에 대해, 다양한 실시예를 참조하여 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 방법을 나타내는 순서도이다. 도 3의 3차원 모션 영상 생성 방법은 도 1의 3차원 모션 영상 생성 장치(100)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 3차원 모션 영상 생성 장치(100)인 것으로 가정한다.
S110 단계에서, 사용자 단말 등으로부터 2차원 영상이 획득된다. 일 실시예로서, 2차원 영상은 복수의 프레임으로 구성된 영상으로서, 객체 또는 피사체의 동작이나 움직임이 표현된 모션 영상(또는, 동영상)일 수 있다.
S120 단계에서, 기계학습 된 인공지능 모듈을 이용하여, 2차원 영상으로부터 객체를 식별하고, 식별된 객체의 움직임을 분석하여 객체의 3차원 모델링 데이터가 생성된다.
일 실시예로서, 상기 3차원 모델링 데이터는 상기 식별된 객체의 움직임이 표현된 3차원 모션 데이터 및 상기 식별된 객체의 형상 및 볼륨(volume)이 표현된 3차원 메쉬 데이터를 포함할 수 있다.
3차원 모델링 데이터의 생성은 기계학습된 하나 이상의 인공지능을 이용하여 수행될 수 있으며, 일 실시예로서, 3차원 모션 데이터의 생성 및 3차원 메쉬 데이터의 생성은 각각 다른 인공지능 모듈을 이용하여 수행될 수 있다.
가령, 2차원 영상에서 움직이는 객체의 동작을 3차원 모션으로 추출하도록, 다수의 학습 데이터를 이용하여 기계학습된 제1 인공지능 모듈이 미리 구비될 수 있다. 일 실시예로서, 제1 인공지능 모듈은 2차원 영상 내 객체로부터 객체의 관절을 추정하고, 추정된 관절의 위치를 기초로 2차원 영상 내 객체의 움직임을 3차원 움직임으로 추론하는 모듈일 수 있다.
2차원 영상이 제1 인공지능 모듈에 입력되면, 제1 인공지능 모듈은 입력된 2차원 영상으로부터 객체를 디텍팅(detecting)한 후 객체 세그멘테이션(object segmentation)을 통해, 객체에 해당하는 부분을 식별하고, 2차원 영상의 각 프레임에 대해 객체의 포즈(pose) 데이터를 추출한다. 포즈 데이터는 객체의 자세를 키 포인트와 선으로 표현한 데이터로서, 스켈레톤(skeleton) 데이터일 수 있다. 그리고, 제1 인공지능 모듈은 상기 각 프레임으로부터 추출된 포즈 데이터들을 시간 순서에 따라 병합하고, 그로써 연속된 움직임이 표현된 3차원 모션 데이터가 생성될 수 있다.
또한, 2차원 영상 내 객체의 형상을 3차원 메쉬 형태로 추출하도록, 다수의 학습 데이터를 이용하여 기계학습된 제2 인공지능 모듈이 미리 구비될 수 있다. 일 실시예로서, 제2 인공지능 모듈은 2차원 영상 내 객체의 부피, 너비 등을 기초로 객체의 깊이 및 볼륨을 추정하는 모듈일 수 있다.
2차원 영상이 제2 인공지능 모듈에 입력되면, 제2 인공지능 모듈은 입력된 2차원 영상으로부터 객체를 디텍팅(detecting)한 후 객체 세그멘테이션(object segmentation)을 통해, 객체에 해당하는 부분을 식별하고, 2차원 영상의 각 프레임에 대해 객체의 포즈 데이터를 추출한다. 그리고, 제2 인공지능 모듈은 상기 각 프레임으로부터 추출된 각도 별 포즈 데이터들을 모아서 병합하고, 병합한 결과를 기초로 객체의 볼륨 및 질감이 표현된 3차원 메쉬 데이터를 생성할 수 있다.
일 실시예로서, 3차원 메쉬 데이터의 생성은 3차원 볼륨 메트릭(3-Dimensional Volume Metric) 기반으로 수행될 수 있다. 3차원 볼륨 메트릭은 2차원 영상 내 객체가 처음에 위치한 곳을 기준점으로 설정한 후, 2차원 영상 내에서 객체가 다른 위치로 이동했을 때 해당 위치의 위치 정보를 파악함으로써 객체의 크기를 추정한 후, 이를 3차원 메쉬 형태로 볼륨을 생성한다.
S130 단계에서, 앞서 생성된 3차원 모델링 데이터를 이용하여 3차원 모션 영상이 생성된다.
3차원 모션 영상은 앞서 생성된 3차원 모션 데이터를 3차원 객체에 병합함으로써 3차원 객체가 3차원 모션 데이터에 따라 움직이도록 한, 3차원 객체의 모션이 표현된 영상이다.
이때, 상기 3차원 객체는 앞서 생성된 3차원 메쉬 데이터로 만들어진 3차원 메쉬 객체일 수도 있고, 미리 저장된 3차원 캐릭터 객체일 수도 있다.
가령, 상기 3차원 메쉬 객체는 2차원 영상의 객체의 형상을 기초로 만들어진 것이므로, 상기 3차원 메쉬 객체에 3차원 모션 데이터를 병합하면, 2차원 영상 내 객체의 형상을 모사한 3차원 객체가 2차원 영상 내 객체의 움직임을 재현하는 모션 영상이 생성될 수 있다.
또는, 상기 3차원 메쉬 객체 대신 유명인이나 가상의 캐릭터를 모사한 3차원 캐릭터 객체를 이용하는 경우, 상기 3차원 캐릭터 객체에 3차원 모션 데이터를 병합하면, 상기 3차원 캐릭터 객체가 2차원 영상 내 객체의 움직임을 재현하는 모션 영상이 생성될 수 있다.
도 4는 도 3의 S120 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 4의 실시예에서는, 각 단계가 순차적으로 수행되는 것으로 예시되었지만, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령, S122 단계 및 S124 단계는 서로 동시에 병행적으로 수행될 수도 있다.
S121 단계에서, 제1 인공지능 모듈을 이용하여, 2차원 영상으로부터 객체의 포즈 데이터가 추출된다.
S122 단계에서, 제1 인공지능 모듈을 이용하여, 상기 추출된 포즈 데이터를 기초로 2차원 영상 내 객체의 움직임을 나타내는 3차원 모션 데이터가 생성된다. 상기 3차원 모션 데이터는 상기 객체의 관절 부위에 대응되는 키 포인트 데이터를 포함할 수 있다.
이에 대한 부연설명을 위해 도 5를 참조한다.
도 5는 제1 인공지능 모듈(110)의 상세 구성을 예시적으로 나타내는 블록도이다. 도 5를 참조하면, 제1 인공지능 모듈(110)은 제1 서브 모듈(111) 및 제2 서브 모듈(112)을 포함할 수 있다.
제1 인공지능 모듈(110)은 2차원 영상을 입력받아, 2차원 영상 내 객체의 움직임을 나타내는 3차원 모션 데이터를 출력한다. 이때, 입력되는 2차원 영상은 객체의 움직임을 시계열적으로 나타내는 복수의 프레임을 포함할 수 있다.
제1 서브 모듈(111)은 2차원 영상의 각 프레임으로부터 상기 객체의 포즈 데이터를 추출하는 컨볼루션 신경망 모듈이다.
제2 서브 모듈(112)은 제1 서브 모듈(112)에 이전 프레임의 정보를 제공하는 순환 신경망(Recurrent Neural Network, 또는 RNN) 기반의 모듈이다.
2차원 영상의 복수의 프레임 중 n번째 프레임(31)이 제1 인공지능 모듈(110)에 입력되면, 제1 서브 모듈(111)은 상기 프레임(31)으로부터 객체를 디텍팅한 후 객체 세그멘테이션을 통해, 객체에 해당하는 부분을 식별하고, 식별된 객체로부터 포즈 데이터(32)를 추출한다.
앞서 언급한 바와 같이, 포즈 데이터(32)는 객체의 자세를 키 포인트(32a)와 선(32b)으로 표현한 데이터로서, 3차원 좌표(x, y, z)를 갖는 스켈레톤(skeleton) 데이터일 수 있다. 키 포인트(32a)는 상기 프레임(31) 내 객체를 분석하여 식별된, 객체의 관절을 나타내는 구성요소(component)이다. 선(32b)는 상기 프레임(31) 내 객체를 분석하여 식별된, 객체의 뼈대를 나타내는 구성요소이다. 선(32b)의 어느 한쪽 또는 양쪽 끝은 각각 키 포인트(32a)와 연결될 수 있다.
한편, 제1 서브 모듈(111)이 상기 프레임(31)으로부터 포즈 데이터(32)를 추출할 때, 제2 서브 모듈(112)이 제공하는 이전 프레임의 정보, 예를 들어 n-1번째 프레임의 정보(Fn-1)가 참조될 수 있다.
가령, 3차원 모션 데이터는 연속된 포즈 데이터를 연결한 결과물로 볼 수 있으므로, n번째 프레임의 포즈 데이터(32)가 전후 프레임의 포즈 데이터와 서로 정합되지 않으면, 생성되는 3차원 모션 데이터의 움직임이 부자연스럽게 될 것이다. 따라서, 3차원 모션 데이터의 움직임을 더욱 부드럽게 구현하기 위해, 제1 서브 모듈(111)은 n번째 프레임(31)의 포즈 데이터(32)를 추출할 때, 제2 서브 모듈(112)로부터 이전 프레임의 정보(Fn-1)를 제공받아 이를 참조할 수 있다.
다시 도 4로 돌아가서, S123 단계에서, 제2 인공지능 모듈을 이용하여, 2차원 영상으로부터 객체의 형상 정보가 추출된다.
S123 단계에서, 제2 인공지능 모듈을 이용하여, 상기 추출된 형상 정보를 기초로 상기 객체의 볼륨이 표현된 3차원 메쉬 객체가 생성된다.
이에 대한 부연설명을 위해 도 6을 참조한다.
도 6은 제2 인공지능 모듈(120)의 상세 구성을 예시적으로 나타내는 블록도이다. 도 6을 참조하면, 제2 인공지능 모듈(120)은 3차원 재구성 모듈(121) 및 메쉬 모델링 모듈(122)을 포함할 수 있다.
제2 인공지능 모듈(120)은 2차원 영상을 입력받아, 2차원 영상 내 객체의 볼륨 및 질감을 3차원 메쉬 객체를 출력한다. 이때, 입력되는 2차원 영상은 객체의 형상이 다양한 각도 및/또는 위치로 표현된 복수의 프레임을 포함할 수 있다.
3차원 재구성 모듈(121)은 2차원 영상으로부터 객체를 나타내는 키 포인트 및 선을 분석하고, 이를 기초로 객체의 형상 정보로서 3차원 포인트 클라우드를 생성한다.
메쉬 모델링 모듈(122)은 생성된 3차원 포인트 클라우드를 기초로, 3차원 메쉬 모델링(mesh modeling) 및 텍스쳐 매핑(texture mapping)을 수행하여 3차원 메쉬 객체를 생성한다.
2차원 영상(41)이 제2 인공지능 모듈(120)에 입력되면, 3차원 재구성 모듈(121)은 2차원 영상(41) 내 객체의 키 포인트를 트래킹(tracking)하여 키 포인트 기반의 3차원 형상 정보를 재구성한다. 그와 함께, 3차원 재구성 모듈(121)은 2차원 영상(41) 내 객체의 선을 디텍션(detection) 및 피팅(fitting)하여 선 기반의 3차원 형상 정보를 재구성한다. 3차원 재구성 모듈(121)의 3차원 형상 정보 재구성에는 미리 결정된 재구성 파라미터(reconstruction parameters)가 이용될 수 있다.
그리고, 3차원 재구성 모듈(121)은 키 포인트 및/또는 선 기반으로 재구성된 3차원 형상 정보를 이용하여 2차원 영상 내 객체의 3차원 형상을 추정한 3차원 포인트 클라우드(PC)를 생성한다. 생성된 3차원 포인트 클라우드(PC)는 메쉬 모델링 모듈(122)로 제공된다.
메쉬 모델링 모듈(122)은 3차원 포인트 클라우드(PC)를 기초로 3D 메쉬 모델링을 수행한다. 3D 메쉬 모델링을 수행한 결과는 3차원 객체의 볼륨을 나타내는 메쉬 정보(MI, mesh information)로서 출력된다. 메쉬 모델링 모듈(122)의 3차원 메쉬 모델링에는 미리 결정된 모델링 파라미터(modeling parameters)가 이용될 수 있다. 그와 함께, 메쉬 모델링 모듈(122)은 2차원 영상(41)의 컬러 영상을 기초로 텍스쳐 매핑을 수행한다. 텍스쳐 매핑을 수행한 결과는 3차원 객체의 질감을 나타내는 텍스쳐 정보(TI, texture information)로서 출력된다.
그리고, 메쉬 모델링 모듈(122)은 메쉬 정보(MI) 및 텍스쳐 정보(TI)를 이용하여 3차원 메쉬 데이터를 구성한 후, 이를 기초로 3차원 메쉬 객체(42)를 생성한다.
도 7은 도 3의 S130 단계를 더욱 구체화한 다른 일 실시예를 나타내는 순서도이다. 도 7에서는 S122 단계에서 생성된 3차원 모션 데이터를 미리 저장된 3차원 캐릭터 객체에 입히는 실시예가 설명된다.
S131 단계에서, 미리 저장된 3차원 캐릭터 객체에 3차원 모션 데이터를 병합하여, 3차원 캐릭터 객체의 움직임이 표현된 모션 영상이 생성된다.
한편, 3차원 모션 데이터는 입력된 2차원 영상을 기초로 만들어진 데이터이고, 3차원 캐릭터 객체는 상기 2차원 영상과 무관하게 미리 저장된 객체이므로, 3차원 모션 데이터와 3차원 캐릭터 객체 사이에 부조화가 발생할 수 있다. 상기 부조화를 해소하기 위해, 3차원 모션 데이터를 3차원 캐릭터 객체에 맞게 조정하는 리타게팅(re-targeting) 작업이 요구된다. 이에 대해 도 8을 참조하여 부연설명한다.
도 8은 도 7의 S131 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 8에서는 3차원 모션 데이터의 관절 위치를 3차원 캐릭터 객체의 관절 위치에 맞게 조정하는 리타게팅의 실시예가 설명된다.
S131a 단계에서, 3차원 모션 데이터의 키 포인트 데이터를 기초로, 3차원 모션 데이터의 관절 위치가 3차원 캐릭터 객체의 관절 위치와 정합된다. 여기서, 3차원 모션 데이터의 관절 위치가 3차원 캐릭터 객체의 관절 위치와 정합된다는 것은, 예를 들어, 3차원 모션 데이터의 관절 위치가 3차원 캐릭터 객체의 관절 위치와 일치하도록 3차원 모션 데이터의 관절 위치를 조정하는 것을 의미할 수 있다.
가령, 3차원 모션 데이터를 3차원 캐릭터 객체에 입힐 때, 3차원 모션 데이터의 기초가 된 2차원 객체의 신체 특성이 3차원 캐릭터 객체의 신체 특성과 다를 수 있다. 따라서, 객체 간 신체 특성 차이에서 오는 부조화를 제거하기 위해, 3차원 모션 데이터의 각 관절 위치(즉, 키 포인트)는 3차원 캐릭터 객체의 관절 위치(즉, 키 포인트)와 일치하도록 조정되게 된다.
이때, 3차원 모션 데이터의 선 또한, 3차원 모션 데이터의 조정된 키 포인트에 기초하여 함께 조정된다. 예를 들어, 오리지널 3차원 모션 데이터에서, 키 포인트 K1(1,1,1), K2(2,2,2), 및 키 포인트 K1과 K2 사이를 잇는 선 L1이 있었다고 가정하면, 리타게팅을 통해 상기 키 포인트 K1 및 K2가 각각 K1(1,2,2)와 K2(2,3,3)으로 조정되면, 상기 선 L1도 (1,2,2)와 (2,3,3)을 잇는 선으로 조정된다.
S131b 단계에서, 상기 정합된 3차원 모션 데이터의 관절 위치에 기초하여, 3차원 모션 데이터의 움직임을 모사하도록 3차원 캐릭터 객체의 움직임을 구현한다.
이를 위해, 3차원 모션 데이터의 조정된 관절 위치(즉, 키 포인트) 및 선에 기초하여, 3차원 모션 데이터의 움직임, 예를 들어, 각 키 포인트와 선의 위치, 이동 거리, 동작 범위 등이 조정될 수 있다. 그리고, 상기 조정된 3차원 모션 데이터의 움직임을 3차원 캐릭터 객체에 병합하여, 상기 3차원 캐릭터 객체의 움직임이 구현된다.
상기 구현된 3차원 캐릭터 객체의 움직임은 3차원 모션 영상으로서 출력, 저장될 수 있다.
도 9는 도 3의 S130 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 9에서는 S122 단계에서 생성된 3차원 모션 데이터를 S124 단계에서 생성된 3차원 메쉬 객체에 입히는 실시예가 설명된다.
S132 단계에서, 앞서 생성된 3차원 메쉬 객체에 3차원 모션 데이터를 병합하여, 3차원 메쉬 객체의 움직임이 표현된 모션 영상이 생성된다.
상기 3차원 메쉬 객체는 원본 2차원 영상으로부터 추출된 3차원 객체로서, 3차원 메쉬 객체에 3차원 모션 데이터를 병합하면, 2차원 영상에 등장하는 객체의 외형이 그대로 반영된 3차원 객체를 가지고 3차원 모션 영상을 생성할 수 있게 된다.
3차원 메쉬 객체 및 3차원 모션 데이터는 동일한 2차원 객체로부터 생성된 것이므로, 3차원 메쉬 객체의 관절 위치와 3차원 모션 데이터의 관절 위치는 서로 일치할 것이다. 따라서, 본 실시예에서는 리타게팅 작업이 생략될 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 인공지능 기반으로 2차원 영상으로부터 객체의 동작을 추출하여 이를 3차원 모션 영상으로 구현할 수 있다.
또한, 인공지능 기반으로 객체의 2차원 영상을 이용하여 상기 객체의 3차원 메쉬 데이터를 생성할 수 있다.
-전체 신체(Whole Body) 추론에 기초한 객체 영상 생성-
본 실시예에서는 영상 내에서 객체의 신체 일부가 가려지거나 잘린 경우에도, 인공지능을 기반으로 객체의 전체 신체를 추론함으로써 상기 가려지거나 잘린 신체 일부를 자동 복원하여 객체 영상으로 생성해내는 방법을 제안한다.
일반적으로, 가려지거나 잘린 영상의 일부를 복원하는 기술은 복원할 부분이 영상 내부에 있는 경우 인페인팅(in-painting) 기술, 영상의 바깥에 있는 경우 아웃페인팅(out-painting) 기술이라고 지칭한다. 인페인팅 기술에서는 복원할 부분의 주변 픽셀들을 참조하여 복원할 부분을 채워 넣는데, 이 경우, 영상 내 객체 부분과 배경 부분을 구분하는 것이 어려운 부분이었다.
이러한 문제를 효과적으로 해결하기 위해 객체의 시멘틱(semantic) 정보를 컨디션 정보로서 활용하였는데, 종래의 영상 복원 기술에서는 2D segmentation mask나 2D key point와 같은 시멘틱 정보를 컨디션 정보로 입력하였다. 그러나, 2D segmentation mask의 경우 객체를 구성하는 각 부분의 구분이 어려워 영상을 상세하게 복원하기 어려웠고, 2D Key point의 경우 객체의 볼륨을 예측하기 어렵고 객체와 배경의 구분이 불명확해지는 문제가 있어, 결과적으로 복원되는 영상의 품질이 낮아지는 문제점이 있었다.
이에, 본 실시예에서는 더욱 많은 정보를 내포한 3D 정보를 기반으로 영상을 복원함으로써, 더욱 상세하고 사실적인 영상 복원이 가능한 방법을 제안하고자 한다.
한편, 현재 널리 사용되는 인공지능 기반 영상 분석 기술은 2차원 데이터에 최적화 된 경우가 많다. 따라서, 본 실시예에서는 3차원 메쉬 모델과 같은 3차원 정보를 그대로 이용하지 않고, 3차원 정보를 담고 있는 2차원 데이터인 UV 맵을 이용하여 영상 복원을 수행한다. 이를 통해, 현재 사용되고 있는 다양한 인공지능 모델 설계 기술들을 활용할 수 있으면서 고품질의 사실적인 영상을 복원하는 방법을 제안하고자 한다.
도 10은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 장치의 예시적인 구성을 나타내는 도면이다. 도 10을 참조하면, 객체 영상 생성 장치(200)는 제1 인공지능 모듈(210), 제2 인공지능 모듈(220), 3차원 모션 영상 생성 모듈(230), 제3 인공지능 모듈(240), 제4 인공지능 모듈(250), 및 학습 데이터 생성 모듈(260)을 포함할 수 있다.
객체 영상 생성 장치(200)는 도 2의 3차원 모션 영상 생성 장치(100)와 일부 구성이 동일할 수 있다. 예를 들어, 제1 인공지능 모듈(210), 제2 인공지능 모듈(220), 및 3차원 모션 영상 생성 모듈(230)은 각각 도 2의 제1 인공지능 모듈(110), 제2 인공지능 모듈(120), 및 3차원 모션 영상 생성 모듈(130)과 동일한 구성일 수 있다. 따라서, 설명의 중복을 피하기 위해, 본 실시예에서 제1 인공지능 모듈(210), 제2 인공지능 모듈(220), 및 3차원 모션 영상 생성 모듈(230)에 대한 구체적인 설명은 생략하기로 한다.
제3 인공지능 모듈(240)은 UV 맵 생성 모듈로서 객체의 신체 일부가 잘리거나, 가려지거나, 폐색된 객체 영상에 대해, CNN기반의 인공 신경망을 이용하여 상기 객체 영상에 대응되는 UV 맵을 생성한다. UV 맵의 구체적인 정의 및 구성은 당해 기술이 속한 영상 처리 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 구체적인 설명을 생략한다.
제4 인공지능 모듈(250)은 CNN기반의 인공 신경망을 이용하여 상기 객체 영상과 UV 맵으로부터, 상기 신체 일부가 복원된 객체 영상을 생성한다. 일 실시예로서, 상기 신체 일부가 복원된 객체 영상은 객체의 전체 신체(whole body)가 표시된 영상일 수 있다.
학습 데이터 생성 모듈(260)은 제3 인공지능 모듈(240) 및/또는 제4 인공지능 모듈(250)의 기계학습에 이용되는 학습 데이터를 생성한다.
제3 인공지능 모듈(240), 제4 인공지능 모듈(250), 및 학습 데이터 생성 모듈(260)의 구체적인 기능 및/또는 학습 방법에 대해서는 도 11 이하를 참조하여 더욱 상세히 설명하기로 한다.
도 11은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법을 나타내는 순서도이다. 도 11의 객체 영상 생성 방법은 도 10의 객체 영상 생성 장치(200)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 객체 영상 생성 장치(200)인 것으로 가정한다.
S210 단계에서, 제1 객체 영상, 및 제1 객체 영상에 대응되는 UV 맵(UV map)이 획득된다. 이때, 제1 객체 영상은 객체의 신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상일 수 있다.
UV 맵은 제3 인공지능 모듈(240)에 의해 획득될 수 있다. 이에 대한 부연설명을 위해 도 12를 참조한다.
도 12에서, 제3 인공지능 모듈(240)은 객체의 신체 일부가 유실된(가령, 객체의 신체 일부가 잘리거나, 가려지거나, 폐색된) 영상이 입력될 때 해당 객체의 전체 신체에 대응되는 UV 맵을 출력하도록 기계학습된 인공지능 모듈로서, 컨볼루션 인공신경망 기반의 인공지능 모듈일 수 있다.
가령, 도 12에 도시된 것처럼, 객체의 한쪽 팔이 잘린 제1 객체 영상(41)이 제3 인공지능 모듈(240)에 입력되면, 제3 인공지능 모듈(240)은 내부의 기계학습된 인공신경망을 이용하여 객체의 전체 신체에 대응되는 UV 맵(42)을 출력한다. 한편, 제3 인공지능 모듈(240)의 기계학습 방법에 대해서는 도 15 이하에서 후술하기로 한다.
다시 도 11로 돌아가서, S220 단계에서, 제1 객체 영상 및 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상이 생성된다. 제2 객체 영상은 제4 인공지능 모듈(250)에 의해 생성될 수 있다. 이에 대한 부연설명을 위해 도 13을 참조한다.
도 13은 도 11의 S220 단계를 구체화한 일 실시예를 나타내는 순서도이다.
S221 단계에서, 제4 인공지능 모듈을 이용하여 제1 객체 영상에 대응되는 전경 영상(foreground image) 및 배경 영상(background image)이 각각 생성된다. 여기서, 전경 영상은 객체가 표시된 영상을 의미하고, 배경 영상은 상기 객체의 배경이 표시된 영상을 의미할 수 있다.
S222 단계에서, 앞서 생성된 전경 영상 및 배경 영상을 합성하여 객체의 신체 일부가 복원된 제2 객체 영상이 생성된다. 이에 대한 상세한 설명을 위해, 도 14를 참조한다.
도 14를 참조하면, 제4 인공지능 모듈(250)의 구체적인 구성이 도시된다. 제4 인공지능 모듈(250)은 인코더(251), 전경 생성기(252), 배경 생성기(253), 및/또는 합성기(254)를 포함할 수 있다. 다만, 이는 제4 인공지능 모듈(250)의 예시적인 구성을 도시한 것으로, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령, 제4 인공지능 모듈(250)은 도 14에 도시된 인코더(251), 전경 생성기(252), 배경 생성기(253), 및/또는 합성기(254) 외에 다른 구성들을 더 포함할 수 있다.
인코더(251)는 제1 객체 영상(41) 및 UV 맵(42)을 입력받고, 그에 기초하여 특징 벡터(feature vector, v)를 추출한다.
전경 생성기(252)는 특징 벡터(v)의 제1 부분(v1)을 이용하여 제1 객체 영상(41)에 대응되는 전경 영상(43)을 생성한다.
배경 생성기(253)는 특징 벡터(v)의 제2 부분(v2)을 이용하여 제1 객체 영상(41)에 대응되는 배경 영상(44)을 생성한다. 일 실시예로서, 상기 제1 부분(v1)은 특징 벡터(v)의 절반이고, 상기 제2 부분(v2)은 특징 벡터(v)의 다른 절반일 수 있다.
합성기(254)는 생성된 전경 영상(43) 및 배경 영상(44)을 합성(또는, 블렌딩)하여 객체의 신체 일부가 복원된 제2 객체 영상(45)을 생성한다.
일 실시예로서, 상기 인코더, 상기 전경 생성기, 및 상기 배경 생성기는 컨볼루션 신경망을 포함한 구성으로서, 각각 객체 영상 및 UV 맵을 기초로 특징 벡터를 추출하고, 특징 벡터의 제1 부분을 이용하여 전경 영상을 생성하고, 특징 벡터의 제2 부분을 이용하여 배경 영상을 생성하도록 기계학습된 구성일 수 있다.
이상에서 설명한 구성들에 의하면, 제4 인공지능 모듈(250)에 제1 객체 영상(41) 및 UV 맵(42)이 입력될 때, 제4 인공지능 모듈(250)은 내부의 기계학습된 인공신경망을 이용하여 제1 객체 영상(41)에 대응되는 전경 영상(43), 및 배경 영상(44)을 생성하고, 생성된 전경 영상(43) 및 배경 영상(44)을 합성(blending)하여 객체의 잘린 신체 일부가 복원된 제2 객체 영상(45)을 생성하게 된다.
일 실시예로서, 제4 인공지능 모듈(250)은 적대적 생성 네트워크(Generative Adversarial Network) 모델을 기반으로 기계학습된 모듈일 수 있다. 제4 인공지능 모듈(250)의 기계학습 방법에 대해서는 도 17 이하에서 후술하기로 한다.
도 15는 제3 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다. 이에 대해, 도 15와 도 16을 함께 참조하며 설명한다.
먼저, S310 단계에서, 2차원 객체 영상에 대응되는 3차원 메쉬 객체를 변환하여 상기 2차원 객체 영상에 대응되는 제1 UV 맵이 생성된다.
도 16을 참조하면, 객체의 전체 신체가 포함된 원본 영상인 2차원 객체 영상(51)가 도시된다. 2차원 객체 영상(51)은 제2 인공지능 모듈(220)로 입력되고, 제2 인공지능 모듈(220)은 그로부터 2차원 객체 영상(51)에 대응되는 3차원 메쉬 객체(52)를 출력한다. 제2 인공지능 모듈(220)은 2차원 영상 내 객체의 형상을 추출, 분석하여 객체의 질감 및 볼륨을 추정한 3차원 메쉬 객체를 생성하는 기계학습된 인공지능 모듈로서, 제2 인공지능 모듈(220)의 구체적인 기능 및 동작에 대해서는 앞에서 상세히 설명된 바 여기서는 그에 대한 설명을 생략한다.
그리고, 3차원 메쉬 객체(52)를 변환하여 원본 영상인 2차원 객체 영상(51)에 대응되는 제1 UV 맵(53)이 생성된다. 통상, 3차원 메쉬 객체를 변환하여 그에 상응하는 UV 맵을 생성하는 것은 소정의 수학적 변환을 통해 쉽게 수행될 수 있으며 그 방법 또한 당해 기술 분야에 널리 알려져 있다. 따라서, 여기서는 3차원 메쉬 객체를 UV 맵으로 변환하는 구체적인 방법에 대한 설명을 생략하기로 한다. 일 실시예로서, 제1 UV 맵(53)은 제3 인공지능 모듈(240)의 추론 결과를 평가하기 위한 의사 정답지(Pseudo Ground Truth)로서 이용될 수 있다.
S320 단계에서, 2차원 객체 영상에 기초하여 복수의 학습 데이터가 획득된다. 상기 복수의 학습 데이터의 생성은 학습 데이터 생성 모듈(260)을 이용하여 수행될 수 있다.
구체적으로, 2차원 객체 영상(51)의 일부 영역을 랜덤하게 자르거나(crop), 가리거나(hide), 폐색시키고(block), 상기 자르거나, 가리거나, 폐색된 부분을 랜덤 노이즈로 채우는 방식으로 복수의 학습 데이터(54)가 획득될 수 있다.
S330 단계에서, 복수의 학습 데이터가 제3 인공지능 모듈에 제공되어 제3 인공지능 모듈에 의해 학습 데이터에 대응되는 제2 UV 맵이 출력된다.
제3 인공지능 모듈(240)은 객체의 신체 일부가 잘리거나, 가려지거나, 폐색된 이미지를 입력으로 받아, 객체의 전체 신체에 대응되는 UV 맵을 추론, 출력하도록 설계된 컨볼루션 신경망 기반 인공지능 모듈이다.
제3 인공지능 모듈(240)에 복수의 학습 데이터(54)가 입력되면, 제3 인공지능 모듈(240)는 내부의 인공신경망의 동작에 의해 복수의 학습 데이터(54)에 대응되는 제2 UV 맵(55)을 출력한다.
S340 단계에서, 제1 UV 맵과 제2 UV 맵을 비교한 결과에 기초하여, 제3 인공지능 모듈의 파라미터(parameter)가 업데이트된다.
일 실시예로서, 소정의 손실 함수를 통해 제1 UV 맵(53)과 제2 UV 맵(55) 간 차이를 계산하여 MSE 손실(Loss)이 산출되고, 상기 MSE 손실에 기초하여 제3 인공지능 모듈(240)의 파라미터가 업데이트될 수 있다.
한편, S310 단계 내지 S340 단계는, 제3 인공지능 모듈(240)이 충분히 학습될 때까지, 또는 미리 결정된 횟수만큼 반복될 수 있다.
도 17은 제4 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다. 이에 대해, 도 17과 도 18을 함께 참조하며 설명한다.
먼저, S410 단계에서, 원본 영상을 이용하여 2차원 객체 영상이 생성된다.
2차원 객체 영상(62)은 원본 영상(61)의 일부 영역, 또는 신체 일부를 랜덤하게 자르거나, 가리거나, 폐색시킨 영상, 또는, 상기 자르거나, 가리거나, 폐색된 부분을 랜덤 노이즈로 대체한 영상일 수 있다. 일 실시예로서, 2차원 객체 영상의 생성은 학습 데이터 생성 모듈(260)을 이용하여 수행될 수 있다.
S420 단계에서, 2차원 객체 영상에 대응되는 UV 맵이 생성된다.
일 실시예로서, UV 맵(63)은 2차원 객체 영상(62)을 제3 인공지능 모듈(240)에 입력하여 생성되는, 제3 인공지능 모듈(240)의 출력일 수 있다.
S430 단계에서, 2차원 객체 영상 및 UV 맵을 기초로 제1 특징 벡터가 추출된다.
예를 들어, 2차원 객체 영상(62) 및 UV 맵(63)이 인코더(251)에 입력되면, 인코더(251)는 2차원 객체 영상(62) 및 UV 맵(63)을 기초로, 그에 대응되는 제1 특징 벡터(v)를 출력한다.
일 실시예로서, 2차원 객체 영상(62) 및 UV 맵(63)은 연관된(concatenated) 데이터로서, 인코더(251)에 입력될 수 있다.
S440 단계에서, 제1 특징 벡터의 제1 부분을 이용하여 2차원 객체 영상에 대응되는 제1 전경 영상이 생성된다.
예를 들어, 인코더(251)로부터 제1 특징 벡터(v)가 추출되면, 전경 생성기(252)는 제1 특징 벡터(v)의 제1 부분(v1)을 이용하여 객체의 신체 일부가 복원된 제1 전경 영상(64)을 생성한다.
S450 단계에서, 제1 특징 벡터의 제2 부분을 이용하여 2차원 객체 영상에 대응되는 제1 배경 영상이 생성된다.
예를 들어, 배경 생성기(253)는 제1 특징 벡터(v)의 제2 부분(v2)을 이용하여 객체의 배경이 표시된 제1 배경 영상(65)을 생성한다. 이때, 제2 부분(v2)은 제1 특징 벡ㅌ(v) 중 제1 부분(v1)을 제외한 나머지 부분일 수 있다.
S460 단계에서, 제1 전경 영상 및 제1 배경 영상을 기초로 합성 영상이 생성된다.
예를 들어, 합성기(254)는 제1 전경 영상(64)과 제1 배경 영상(65)을 합성(또는, 블렌딩)하여 합성 영상(66)을 생성할 수 있다.
S470 단계에서, 제1 전경 영상, 제1 배경 영상, 및/또는 합성 영상을 원본 영상과 비교한 결과에 기초하여 제4 인공지능 모듈의 파라미터가 업데이트 된다.
예를 들어, 제1 전경 영상(64)의 특징 벡터(vf)와 원본 영상(61)의 특징 벡터(vo) 간 차이를 계산하여 세그먼테이션 손실(Lseg)이 산출될 수 있다. 세그먼테이션 손실(Lseg)은 전경 생성기(252)의 파라미터를 업데이트하는 데 이용될 수 있다.
또는, 제1 배경 영상(65)과 원본 영상(61) 간 차이를 계산하여 패치 손실(Lpatch)이 산출될 수 있다. 구체적으로, 제1 배경 영상(65)과 원본 영상(61)에서 서로 대응되는 위치에 있는 패치들(Pb, Po) 간 거리를 계산하여 이를 패치 손실(Lpatch)로서 산출할 수 있다. 패치 손실(Lpatch)은 배경 생성기(253)의 파라미터를 업데이트하는 데 이용될 수 있다.
또는, 합성 영상(65)과 원본 영상(61)을 비교한 결과에 기초하여 리컨스트럭션 손실(Lrec)이 산출될 수 있다. 리컨스트럭션 손실(Lrec)은 추론, 출력된 합성 영상(65)이 원래의 원본 영상(61)과 더욱 유사하게 되도록 하기 위해 정의된 손실 값이다.
또는, 판별기(270)가 합성 영상(65)을 진본 여부를 판별한 결과에 기초하여 적대 손실(adversarial loss, Ladv)이 산출될 수 있다. 적대 손실(Ladv)은 제4 인공지능 모듈(250)에 의해 출력되는 합성 영상(65)이 흐릿해지는 것을 방지하고, 더욱 사실적인 영상이 되도록 하기 위해 정의된 손실 값이다. 리컨스트럭션 손실(Lrec) 및 적대 손실(Ladv)은 제4 인공지능 모듈(250)의 파라미터를 업데이트하는 데 이용될 수 있다.
한편, S410 단계 내지 S470 단계는, 제3 인공지능 모듈(240)이 충분히 학습될 때까지, 또는 미리 결정된 횟수만큼 반복될 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 영상 내에서 객체의 신체 일부가 가려지거나 잘린 경우에도 인공지능을 기반으로 객체의 전체 신체를 추론함으로써 상기 가려지거나 잘린 신체 부분을 자동 복원할 수 있다.
또한, 객체의 가려지거나 잘린 신체 부분을 복원하는데 있어 3차원 정보를 담고 있는 2차원 데이터인 UV 맵을 이용함으로써, 기존의 컨볼루션 신경망 기반 모델 기술을 활용하면서도 더욱 상세하고 사실적으로 신체 부분을 복원할 수 있다.
-메트릭 러닝에 기반한 3차원 메쉬 객체의 동작 유사도 산출-
본 실시예에서는, 소스 영상 내 객체의 동작을 3차원 메쉬 방식으로 인식하고, 객체의 동작 간 유사도를 메트릭 러닝(Metric Learning) 기술을 이용하여 산출하는 기술을 제안한다.
영상을 기반으로 객체, 특히 인간 객체의 자세나 동작을 추정하는 기술은 카메라 장비의 발달과 영상 컨텐츠 시장의 확대로 최근 활발히 연구되고 있다. 특히, 신체에 마커나 센서 등을 부착하지 않고 영상 내 이미지만을 인공지능 모델을 통해 분석하여 객체의 동작을 비교하거나 그 유사도를 산출하는 연구는 이제 막 시작되고 있는 상황이다.
종래의 인공지능 모델 기반 객체 동작 추정 기술은 일반적으로 2D 스켈레톤(skeleton) 모델에 기반한다. 이는 신체의 관절 포인트와 각 관절 포인트를 잇는 선을 추출하고, 관절 포인트와 선의 움직임을 중심으로 객체의 동작을 추정하는 모델로서, 객체의 동작을 간명하게 추정, 비교할 수 있는 장점은 있으나 얼굴 표정이나 손 모양을 구분하기 어렵고, 디테일한 동작을 인식하기 어려운 한계가 있었다.
이에, 본 실시예에서는, 3차원 메쉬 모델을 기반으로 객체의 동작을 추론함으로써, 객체의 볼륨이나 신체적 특성까지 고려하여 더욱 디테일한 동작까지 인식할 수 있는, 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치를 제공하고자 한다.
또한, 인공지능 모델을 구성함에 있어, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 기학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있는 방법을 제안하고자 한다.
도 19는 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 장치의 예시적인 구성을 나타내는 도면이다. 도 19를 참조하면, 객체의 동작 유사도 산출 장치(300)는 제1 인공지능 모듈(310), 제2 인공지능 모듈(320), 3차원 모션 영상 생성 모듈(330), 특징 벡터 추출 모듈(340), 제5 인공지능 모듈(350), 및 검색 결과 제공 모듈(360)을 포함할 수 있다.
객체의 동작 유사도 산출 장치(300)는 도 2의 3차원 모션 영상 생성 장치(100)와 일부 구성이 동일할 수 있다. 예를 들어, 제1 인공지능 모듈(310), 제2 인공지능 모듈(320), 및 3차원 모션 영상 생성 모듈(330)은 각각 도 2의 제1 인공지능 모듈(110), 제2 인공지능 모듈(120), 및 3차원 모션 영상 생성 모듈(130)과 동일한 구성일 수 있다. 따라서, 설명의 중복을 피하기 위해, 본 실시예에서 제1 인공지능 모듈(310), 제2 인공지능 모듈(320), 및 3차원 모션 영상 생성 모듈(330)에 대한 구체적인 설명은 생략하기로 한다.
특징 벡터 추출 모듈(340)은 3차원 메쉬 객체로부터 그와 대응되는 특징 벡터를 추출하는 모듈이다. 특징 벡터는 3차원 메쉬 객체의 포즈, 및 동작을 나타내는 값으로서, 3차원 메쉬 객체를 구성하는 각 메쉬 데이터의 방향성 및 그 추이를 나타내는 값을 포함할 수 있다.
제5 인공지능 모듈(350)은 복수의 3차원 메쉬 객체로부터 추출된 특징 벡터들에 기초하여, 상기 3차원 메쉬 객체 간 동작 유사도를 산출하는 모듈이다. 제5 인공지능 모듈(350)은 학습 데이터를 기초로 기계학습된 모듈로서, 메트릭 러닝 기반으로 기계학습된 모듈일 수 있다.
검색 결과 제공 모듈(360)은 제5 인공지능 모듈(350)이 산출한 동작 유사도를 기초로, 소스 영상과 자세 및 동작이 유사한 타겟 영상을 선택하여, 검색 결과로서 제공하거나, 소스 영상과 타겟 영상 간 동작 유사도를 구체적인 값 또는 등급으로서 출력하는 모듈이다.
특징 벡터 모듈(340), 제5 인공지능 모듈(350), 및 검색 결과 제공 모듈(360)의 구체적인 기능 및/또는 학습 방법에 대해서는 도 20 이하를 참조하여 더욱 상세히 설명하기로 한다.
도 20은 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다. 도 20의 객체의 동작 유사도 산출 방법은 도 19의 객체의 동작 유사도 산출 장치(300)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 객체의 동작 유사도 산출 장치(300)인 것으로 가정한다.
S510 단계에서, 소스 영상 및 타겟 영상이 입력된다.
여기서, 소스 영상은 동작 비교의 기준이 되는 영상이고, 타겟 영상은 동작 비교의 대상이 되는 영상이다. 예를 들어, 제1 영상을 획득한 후 제1 영상과 동작이 유사한 제2 영상을 찾아 그 동작 유사도를 산출하고자 하는 경우, 제1 영상이 소스 영상이 되고 제2 영상이 타겟 영상이 된다.
일 실시예로서, 타겟 영상은 객체의 동작 유사도 산출 장치(300) 내 데이터베이스에 다른 타겟 영상들과 함께 미리 저장된 영상으로서, 상기 소스 영상과의 동작 비교를 위해 데이터베이스로부터 상기 다른 타겟 영상들과 함께 순차적으로 읽어내는 영상일 수 있다.
S520 단계에서, 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출된다.
일 실시예로서, 제1 객체, 및 제2 객체는 3차원 메쉬 객체일 수 있다.
제1 객체는 소스 영상 내 객체이거나, 소스 영상 내 객체를 기초로 새롭게 가공 또는 생성된 객체일 수 있다. 유사하게, 제2 객체 또한 타겟 영상 내 객체이거나, 타겟 영상 내 객체를 기초로 새롭게 가공 또는 생성된 객체일 수 있다.
제1 특징 벡터는 제1 객체의 포즈 및 동작을 나타내는 벡터이다. 제1 특징 벡터는 제1 객체를 구성하는 복수의 메쉬 데이터 각각에 대해 그 방향성과 추이를 나타내는 값들을 포함할 수 있다.
마찬가지로, 제2 특징 벡터는 제2 객체의 포즈 및 동작을 나타내는 벡터로서, 제2 객체를 구성하는 복수의 메쉬 데이터 각각에 대해 그 방향성과 추이를 나타내는 값들을 포함할 수 있다.
제1 특징 벡터 및 제2 특징 벡터의 추출에 대해서는 도 23 이하에서 더욱 상세히 설명하기로 한다.
S530 단계에서, 제1 특징 벡터 및 제2 특징 벡터에 기초하여, 제1 객체와 제2 객체 간 동작 유사도가 산출된다.
일 실시예로서, 상기 동작 유사도는 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 산출될 수 있다. 메트릭 러닝에 기반한 기계학습 방법 및 이를 이용한 객체 간 동작 유사도 산출에 대해서는 도 25 이하에서 더욱 상세히 설명하기로 한다.
도 21 및 도 22는 객체의 동작 유사도 비교에 있어서, 3차원 메쉬 모델을 이용하는 경우의 특징을 설명하기 위한 도면들이다.
도 21을 참조하면, 원본 영상(71)을 기초로 2차원(또는, 2D) 스켈레톤 모델(72)을 추정하는 것과, 3차원(또는, 3D) 메쉬를 추정하는 경우의 예가 도시된다.
2차원 스켈레톤 모델(72)은 원본 영상(71)으로부터 관절 포인트와 관절 포인트를 잇는 선을 추정하여 구성된다. 3차원 메쉬 모델(73) 또한 원본 영상(71)으로부터 관절 포인트와 관절 포인트를 잇는 선을 추정하는 것은 동일하나, 그에 더하여 객체의 질감과 깊이를 추정한 후 이를 볼륨이 있는 3차원 메쉬의 형태로 구성한다.
객체의 동작을 추정할 때, 2차원 스켈레톤 모델(72)을 이용하는 경우 관절 포인트와 선의 위치 및 움직임을 기초로 객체의 동작을 추정한다. 반면에, 3차원 메쉬 모델(73)을 이용하는 경우, 관절 포인트, 선에 더해 메쉬 데이터까지 고려하여 객체의 동작을 추정하게 된다. 그로 인해, 3차원 메쉬 모델(73)을 이용하는 경우에, 객체의 볼륨이나 신체적 특성까지 고려하여 더욱 디테일하게 동작을 인식할 수 있게 된다.
이에 대한 부연 설명을 위해 도 22를 참조한다.
도 22는 팔 돌림 동작에 대해 2차원 스켈레톤 모델을 이용할 때와 3차원 메쉬 모델을 이용할 때의 인식 성능 차이를 도시한다.
도 22 (a)는 원본 영상에서의 팔 돌림 동작을 나타낸다. 도 22 (b)는 상기 팔 돌림 동작을 2차원 스켈레톤 모델을 기초로 인식한 케이스를 나타내고, 도 22 (c)는 상기 팔 돌림 동작을 3차원 메쉬 모델을 기초로 인식한 케이스를 나타낸다.
도 22 (b)를 참조하면, 2차원 스켈레톤 모델은 관절 포인트와 선을 기초로 객체의 동작을 인식하므로, 팔 돌림 동작과 같이 동작 전(74a)과 동작 후(74b) 사이에 관절 포인트 및 선의 위치 변화가 거의 없는 경우에는 해당 동작을 잘 인식하지 못하는 문제가 있다.
그에 반해, 도 22 (c)를 참조하면, 3차원 메쉬 모델은 관절 포인트와 선 외에 메쉬 데이터까지 고려하여 객체의 동작을 인식하므로, 관절 포인트 및 선의 위치 변화가 거의 없는 경우에도, 동작 전(75a)과 동작 후(75b)의 메쉬 데이터 변화를 통해 해당 동작을 잘 인식할 수 있게 된다.
도 23 및 도 24는 도 20의 S520 단계를 부연설명하기 위한 도면들이다.
도 23을 참조하면, 소스 영상 및 특징 벡터로부터 각각 특징 벡터를 추출하는 특징 벡터 추출 모듈(340)이 도시된다.
특징 벡터 추출 모듈(340)에 소스 영상이 입력되면, 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출된다.
이때, 제1 객체는 소스 영상 내 객체이거나, 소스 영상 내 객체를 기초로 새롭게 생성된 객체일 수 있다. 예를 들어, 소스 영상이 3차원 영상이고 소스 영상 내 3차원 메쉬 객체가 포함된 경우, 제1 객체는 소스 영상 내 3차원 매쉬 객체를 추출한 것일 수 있다. 반면에, 소스 영상이 2차원 영상이고 소스 영상 내 객체가 2차원 객체인 경우, 제1 객체는 소스 영상으로부터 2차원 객체를 추출한 후, 인공지능 모듈을 이용하여 2차원 객체의 질감 및 볼륨을 추정하여 생성된 3차원 메쉬 객체일 수 있다. 이때, 3차원 메쉬 객체의 추정, 생성에는 제2 인공지능 모듈(320)이 이용될 수 있다.
유사하게, 특징 벡터 추출 모듈(340)에 타겟 영상이 입력되면, 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출된다.
제2 객체도 타겟 영상 내 객체이거나, 타겟 영상 내 객체를 기초로 새롭게 생성된 객체일 수 있다. 가령, 타겟 영상 내 3차원 메쉬 객체가 포함된 경우, 제2 객체는 타겟 영상 내 3차원 매쉬 객체를 추출한 것일 수 있다. 또는, 타겟 영상 내 객체가 2차원 객체인 경우, 제2 객체는 타겟 영상으로부터 2차원 객체를 추출한 후, 인공지능 모듈을 이용하여 2차원 객체의 질감 및 볼륨을 추정하여 생성된 3차원 메쉬 객체일 수 있다. 이때에도, 3차원 메쉬 객체의 추정, 생성에는 제2 인공지능 모듈(320)이 이용될 수 있다.
일 실시예로서, 특징 벡터 추출 모듈(340)은 SMPL(Skinned Multi-Person Linear) 모델을 이용하여, 제1 객체 및 제2 객체로부터 제1 특징 벡터 및 제2 특징 벡터를 각각 추출할 수 있다. SMPL 모델은 3차원 메쉬 모델을 기초로 객체의 포즈를 추정하는 데 이용되는 솔루션으로서, SMPL 모델과 관련된 구체적인 기술 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.
한편, 제1 특징 벡터는, 제1 객체를 구성하는 제1 복수의 메쉬를 각각 나타내는 제1 메쉬 벡터, 및 상기 제1 메쉬 벡터의 변화 추이를 나타내는 제1 추이 벡터를 포함할 수 있다.
유사하게, 제2 특징 벡터는, 제2 객체를 구성하는 제2 복수의 메쉬를 각각 나타내는 제2 메쉬 벡터, 및 상기 제2 메쉬 벡터의 변화 추이를 나타내는 제2 추이 벡터를 포함할 수 있다.
이에 대해, 도 24를 참조하여 부연 설명한다.
도 24 (a)는 3차원 메쉬 객체로서, 인체의 팔 부분을 도시한다. 도 24 (b)는 3차원 메쉬 객체를 구성하는 각 메쉬 데이터의 방향성을 나타내는 메쉬 벡터를 도시한다.
설명의 간명화를 위해, 3차원 메쉬 객체를 구성하는 메쉬 데이터 중 4개의 메쉬 데이터(81a, 81b, 81c, 81d)만을 예로 들면, 특징 벡터 추출 모듈(340)에 의해 각 메쉬 데이터(81a, 81b, 81c, 81d) 각각에 대해 대응되는 메쉬 벡터(82a, 82b, 82c, 82d)가 추출된다.
일 실시예로서, 각 메쉬 벡터(82a, 82b, 82c, 82d)는 대응되는 메쉬 데이터(81a, 81b, 81c, 81d)의 법선 벡터일 수 있다. 예를 들어, 메쉬 벡터(82a)는 메쉬 데이터(81a)의 법선 벡터를 추출한 것이고, 메쉬 벡터(82b)는 메쉬 데이터(81b)의 법선 벡터를 추출한 것이고, 메쉬 벡터(82c)는 메쉬 데이터(81c)의 법선 벡터를 추출한 것이고, 메쉬 벡터(82d)는 메쉬 데이터(81d)의 법선 벡터를 추출한 것일 수 있다.
한편, 여기서는 각 메쉬 벡터(82a, 82b, 82c, 82d)가 메쉬 데이터(81a, 81b, 81c, 81d)의 법선 벡터인 것으로 예시되었지만, 본 발명의 범위는 이에 한정되지 않는다. 가령, 메쉬 데이터(81a, 81b, 81c, 81d)의 방향성을 나타내면서 메쉬 데이터(81a, 81b, 81c, 81d)를 대표할 수 있는 벡터라면 어떤 것도 메쉬 벡터가 될 수 있다.
한편, 특징 벡터 추출 모듈(340)는 메쉬 벡터(82a, 82b, 82c, 82d)의 변화 추이를 나타내는 추이 벡터를 더 추출할 수 있다. 일 실시예로서, 추이 벡터는 영상의 연속하는 프레임에서 각 메쉬 벡터(82a, 82b, 82c, 82d)가 변화되는 추이를 나타내는 벡터로서, 상기 추이를 크기와 방향으로써 나타내는 벡터일 수 있다.
특징 벡터 추출 모듈(340)에 의해 추출된 메쉬 벡터 및 추이 벡터는 객체의 특징 벡터로서 추출, 제공될 수 있다.
도 25 및 도 26은 도 20의 S530 단계를 부연설명하기 위한 도면들이다.
도 25를 참조하면, 제1 특징 벡터 및 제2 특징 벡터를 기초로 제1 객체와 제2 객체 간 동작 유사도를 산출하는 제5 인공지능 모듈(350)이 도시된다.
제5 인공지능 모듈(350)은 제1 객체로부터 추출된 제1 특징 벡터와 제2 객체로부터 추출된 제2 특징 벡터를 입력받고, 이를 기초로 제1 특징 벡터와 제2 특징 벡터 간 거리를 산출한 후, 산출한 거리에 기초하여 제1 객체와 제2 객체 간 동작 유사도를 출력하도록 기계학습된 인공지능 모듈이다.
일 실시예로서, 동작 유사도는 제1 특징 벡터와 제2 특징 벡터의 거리가 가까울수록 높게 산출될 수 있다.
앞서 언급한 바와 같이, 제5 인공지능 모듈(350)은 메트릭 러닝 방식으로 기계학습된 모듈일 수 있다.
기존의 객체의 동작 유사도를 산출하는 대표적인 방식으로 코사인 유사도 방식이 있다. 코사인 유사도 방식에서는 절대적인 좌표를 기준으로 동작 유사도를 판단한다. 때문에, 어른이 춤을 추는 동작과 아이가 춤을 추는 동작을 비교하면, 전체적인 포즈와 동작이 유사하더라도 어른 객체로부터 인식되는 좌표와 아이 객체로부터 인식되는 좌표가 크게 다르기 때문에 유사하지 않은 것으로 판정되게 된다.
그에 반해, 메트릭 러닝 방식으로 학습된 모델을 이용하여 객체의 동작 유사도를 판단하면, 각 객체의 방향성과 추이를 기준으로 동작 유사도를 판단하게 되므로, 전체적인 포즈와 동작이 유사하면 어른의 동작과 아이의 동작에 대해서도 서로 유사하다고 판단하게 된다.
메트릭 러닝에 기반한 제5 인공지능 모듈(350)의 학습 방법에 대해 도 26을 참조하여 설명한다.
메트릭 러닝 기반의 기계학습은 두 대상의 특성이 유사한지 혹은 다른지에 집중하여 유사도를 판단하도록 하는 것이다. 즉, 인공지능 모듈을 학습할 때 '분류'를 하지 않고, 유사한지 혹은 다른지를 나타내는 거리를 계산하는 메트릭을 이용한다. 메트릭 러닝에 대한 구체적인 기술 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.
도 26에서, 제5 인공지능 모듈(350)은 학습 데이터로서 앵커 데이터, 포지티브 데이터, 네거티브 데이터를 입력받는다. 앵커 데이터는 기준 데이터(a)에 대응되는 값으로서, 기준 데이터(a)로부터 추출된 특징 벡터일 수 있다. 포지티브 데이터는 기준 데이터(a)와 유사한 데이터(b)에 대응되는 값으로서, 유사한 데이터(b)로부터 추출된 특징 벡터일 수 있다. 네거티브 데이터는 기준 데이터(a)와 상이한 데이터(c)에 대응되는 값으로서, 상이한 데이터(c)로부터 추출된 특징 벡터일 수 있다.
앵커 데이터, 포지티브 데이터, 네거티브 데이터가 입력되면, 제5 인공지능 모듈(350)은 앵커 데이터를 기준으로 그와 유사한 포지티브 데이터와의 거리는 더 가깝게 되고 상이한 네거티브 데이터와의 거리는 더 멀어지게 되도록 학습된다. 즉, 제5 인공지능 모듈(350)은 앵커 데이터와 포지티브 데이터가 서로 유사한 것이고, 앵커 데이터와 네거티브 데이터가 서로 다른 것임을 인식하도록 특징들을 학습한다.
이렇게 학습된 제5 인공지능 모델(350)은 유사한 포즈 및 동작과 유사하지 않은 포즈 및 동작을 구분할 수 있게 되며, 기학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있게 된다.
도 27은 본 발명의 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다. 도 27의 실시예에서 S510 단계 내지 S530 단계는 도 20의 S510 단계 내지 S530 단계와 동일하다. 다만, S540 단계 및 도 S550 단계를 더 포함하는 점이 상이하다. 본 실시예에서, 설명의 중복을 피하기 위해, S510 단계 내지 S530 단계에 대한 설명은 생략된다.
S540 단계에서, 동작 유사도에 기초하여, 타겟 영상이 소스 영상의 유사 영상 검색 결과로서 제공된다. 상기 검색 결과 제공은 검색 결과 제공 모듈(360)에 의해 수행될 수 있다.
일 실시예로서, 산출된 동작 유사도가 미리 결정된 임계값을 초과하면 타겟 영상은 소스 영상의 유사 영상으로 판정되고, 그에 따라 타겟 영상이 소스 영상에 대응되는 검색 결과로서 제공된다. 반면에, 산출된 동작 유사도가 미리 결정된 임계값 미만이면 타겟 영상은 소스 영상의 유사 영상이 아닌 것으로 판정되고, 그에 따라 타겟 영상은 상기 검색 결과로서 제공되지 않는다.
한편, 상기 검색 결과는, 도 28에 도시된 바와 같이, 소스 영상과의 동작 유사도가 미리 결정된 임계값을 초과하는 복수의 타겟 영상을 리스팅하는 형태로 제공될 수 있다.
예를 들어, 데이터베이스에 복수의 타겟 영상이 저장되어 있고, 도 20 내지 도 26에서 설명된 방법에 의해, 각 타겟 영상마다 소스 영상(90)과의 동작 유사도가 산출되었다고 가정한다.
그 중, 동작 유사도가 미리 결정된 임계값을 초과하는 타겟 영상들(91, 92, 93, 94, 95, 96)을 그 동작 유사도의 크기 순서대로 정렬(sorting)하여 리스팅(listing)하고, 이를 소스 영상(90)의 유사 영상 검색 결과로서 제공할 수 있다.
S550 단계에서, 검색 결과로서 제공된 타겟 영상에 대한 사용자 선택을 기초로, 제1 객체에 제2 객체의 3차원 모션 데이터를 병합하여, 제1 객체가 상기 3차원 모션 데이터에 따라 움직이는 모션 영상 생성된다.
가령, 사용자가 자신의 움직임을 촬영하여 이를 소스 영상으로서 입력하고 데이터베이스에 저장된 타겟 영상들 중 그것과 동작이 유사한 영상을 검색하면, 본 발명에 따른 객체의 동작 유사도 산출 방법에 의해 소스 영상과 동작 유사도가 임계값 이상인 타겟 영상이 유사 영상 검색 결과로서 제공될 수 있다. 이때, 제공되는 사용자 인터페이스를 통해 타겟 영상이 선택되면, 소스 영상으로부터 추출된 사용자 외형(제1 객체에 해당)에 타겟 영상 내 샘플 객체(제2 객체에 해당)의 모션 데이터를 결합하여, 외형은 사용자이지만 동작은 샘플 객체의 동작을 따르는 모션 영상이 생성될 수 있다.
일 실시예로서, 사용자 외형의 추출은 각각 제2 인공지능 모듈(320)을 이용하여 수행될 수 있고, 샘플 객체의 모션 데이터 추출은 제1 인공지능 모듈(310)을 이용하여 수행될 수 있고, 사용자 외형과 상기 모션 데이터의 결합은 3차원 모션 영상 생성 모듈(330)에 의해 수행될 수 있다.
도 29는 본 발명의 또 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다. 도 29의 실시예에서 S510 단계 내지 S530 단계는 도 20의 S510 단계 내지 S530 단계와 동일하다. 다만, S560 단계 및 도 S550 단계를 더 포함하는 점이 상이하다. 본 실시예에서, 설명의 중복을 피하기 위해, S510 단계 내지 S530 단계에 대한 설명은 생략된다.
S560 단계에서, 동작 유사도에 기초하여, 소스 영상과 타겟 영상 간 유사도 점수가 출력된다.
일 실시예로서, 상기 유사도 점수는 스코어 또는 상기 스코어의 구간에 따른 등급으로써 출력될 수 있다.
예를 들어, 유사도 점수는 76점, 86점, 96점과 같이 숫자로 된 스코어로써 출력될 수도 있고, 70점 이상 80점 미만은 C등급, 80점 이상 90점 미만은 B등급, 90점 이상은 A등급과 같이 스코어에 구간에 따른 등급으로써 출력될 수도 있다.
유사도 점수의 출력은 게임 등의 애플리케이션에 이용될 수 있다. 예를 들어, 특정 영상의 동작을 따라하도록 설정된 게임의 경우, 특정 영상 내 동작을 모사하는 사용자 동작을 촬영하고, 촬영된 영상 내 동작을 상기 특정 영상 내 동작과 비교하여 상호간 동작 유사도를 산출한 후, 그에 따른 유사도 점수를 사용자의 게임 플레이 결과로서 출력할 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 3차원 메쉬 모델을 이용하여 객체의 포즈 및 동작을 상호 비교함으로써, 객체의 신체적 특성까지 고려하여 더욱 정확하게 동작 유사도를 산출할 수 있다.
또한, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있다.
입력 문장으로부터 3차원 모션 영상 생성
본 실시예에서는, 텍스트 형식의 입력 문장을 분석하여 입력 문장의 의미에 대응되는 3차원 모션 영상을 자동 생성하는 기술을 제안한다.
가령, 다양한 모션 영상을 미리 생성하여 데이터베이스에 저장하였다가, '사람이 걷는다'와 같은 문장이 입력되면 데이터베이스로부터 사람이 걷는 모습을 나타내는 모션 영상을 검색하여 출력하는 것과 같이, 입력 문장의 각 구문의 의미를 나타내는 모션 영상들을 데이터베이스로부터 검색하고, 검색된 모션 영상들을 조합하여 입력 문장의 전체 의미를 나타내는 3차원 모션 영상을 자동으로 생성하는 기술을 제안하고자 한다.
도 30은 본 발명의 일 실시예에 따른, 모션 영상 생성 장치의 예시적인 구성을 나타내는 도면이다. 도 30을 참조하면, 모션 영상 생성 장치(400)는 문장으로부터 3차원 모션 영상을 자동 생성하는 장치로서, 문장 획득 모듈(410), 형태소 분석 모듈(420), 영상 검색 모듈(430), 및 모션 영상 생성 모듈(440)을 포함할 수 있다.
문장 획득 모듈(410)은 3차원 모션 영상 생성에 이용되는 문장을 획득하는 모듈이다. 문장 획득 모듈(410)은 사용자 인터페이스를 통해 상기 문장을 텍스트 형태로 직접 입력받을 수도 있고, 음성 입력 수단을 통해 입력된 음성 신호를 텍스트로 변환하여 상기 문장을 획득할 수도 있다.
형태소 분석 모듈(420)은 획득된 문장을 분석하여, 문장 내 단어를 구분하고 각 단어의 품사를 식별하는 모듈이다.
영상 검색 모듈(430)은 품사가 식별된 단어에 대해, 그와 대응되는 의미를 갖는 부분 영상을 데이터베이스에서 검색하는 모듈이다.
모션 영상 생성 모듈(440)은 검색된 부분 영상들을 조합하여 획득된 문장의 전체 의미에 대응되는 모션 영상을 생성하는 모듈이다. 이때, 모션 영상 생성 모듈(440)은 부분 영상의 조합 시, 부분 영상들이 서로 자연스럽게 연결되도록 중간 영상을 생성하여 부분 영상 사이에 이를 삽입할 수 있다.
모션 영상 생성 모듈(440)의 구체적인 동작 방법에 대해서는 도 31을 참조하여 상세히 설명하기로 한다.
일 실시예로서, 문장 획득 모듈(410), 형태소 분석 모듈(420), 영상 검색 모듈(430), 및/또는 모션 영상 생성 모듈(440)은 기계학습된 인공지능 모듈을 포함할 수 있다. 예를 들어, 문장 획득 모듈(410)은 음성을 인식하여 인식된 음성을 텍스트로 자동 변환하도록 기계학습된 인공지능 모듈을 포함할 수 있고, 형태소 분석 모듈(420)은 텍스트 형식의 문장의 각 단어를 구분하고, 구분된 단어의 품사를 식별하도록 기계학습된 인공지능 모듈을 포함할 수 있고, 영상 검색 모듈(430)은 특정 단어의 의미에 대응되는 부분 영상을 데이터베이스에서 선택적으로 검색하도록 기계학습된 인공지능 모듈을 포함할 수 있고, 모션 영상 생성 모듈(440)은 복수의 부분 영상을 조합하여 전체 모션 영상을 생성할 때, 각 부분 영상의 배치 순서를 컨텍스트에 맞게 결정하고, 각 부분 영상의 처음과 끝이 자연스럽게 이어지도록 부분 영상 사이에 삽입될 중간 영상을 생성하도록 기계학습된 인공지능 모듈을 포함할 수 있다.
도 31은 본 발명의 일 실시예에 따른, 문장으로부터 모션 영상을 생성하는 방법을 나타내는 순서도이다. 도 31의 문장으로부터 모션 영상을 생성하는 방법은 도 30의 모션 영상 생성 장치(400)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 모션 영상 생성 장치(400)인 것으로 가정한다.
S310 단계에서, 3차원 모션 영상을 생성할 문장이 획득된다.
일 실시예로서, 상기 문장은 사용자 인터페이스를 통해 입력된 텍스트를 기초로 획득될 수 있다. 또는, 상기 문장은 인공지능 모델을 기초로, 음성 입력 수단을 통해 입력된 음성 신호를 텍스트로 변환함으로써 획득될 수도 있다. 인공지능 모델을 기초로 음성 신호를 텍스트로 변환하는 방법에 대한 구체적인 기술 내용은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
S320 단계에서, 상기 문장 내 하나 이상의 단어가 식별된다. 이에 대한 구체적인 설명을 위해 도 32를 참조한다.
도 32는 도 31의 S620 단계를 구체화한 일 실시예를 나타내는 순서도이다.
S621 단계에서, 문장을 구성하는 하나 이상의 단어가 식별된다.
S622 단계에서, 상기 식별된 하나 이상의 단어에 대해 각각의 품사가 식별된다.
일 실시예로서, 상기 하나 이상의 단어의 식별, 및 상기 품사의 식별은 자연어 처리를 위해 기계학습된 인공지능 모듈에 의해 수행될 수 있다.
이에 대한 부연설명을 위해 도 33을 참조한다.
도 33에는 3차원 모션 영상 생성을 위해 문장으로서,'A Person sits down with crossed legs, before getting up'이 입력된 예가 도시된다.
이때, 형태소 분석 모듈(420)에 의해 문장의 각 단어와 그 품사가 식별되어 도 33에 도시된 바와 같이 각 품사 별로 단어가 구분, 분류될 수 있다.
다시 도 31로 돌아가서, S330 단계에서, 상기 하나 이상의 단어에 대응되는 부분 영상이 데이터베이스로부터 검색된다. 일 실시예로서, 상기 데이터베이스는 도 1 내지 도 9에서 설명된 3차원 모션 영상 생성 방법에 의해 생성된 복수의 3차원 모션 영상들을 저장하는 구성일 수 있다. 상기 데이터베이스에 저장된 상기 복수의 3차원 모션 영상들은 문장의 의미에 대응되는 모션 영상 생성을 위한 부분 영상으로서 이용될 수 있다.
한편, 도 33에 도시된 실시예에 대한 더욱 구체적인 설명을 위해 도 34를 참조한다.
도 34는 도 31의 S630 단계를 구체화한 일 실시예를 나타내는 순서도이다.
본 실시예에서는, 문장으로부터 적어도 2개의 단어가 식별되고, 상기 적어도 2개의 단어 각각에 대해 대응되는 부분 영상이 검색되는 경우가 예시된다.
먼저, S631 단계에서, 제1 단어에 대응되는 제1 부분 영상이 데이터베이스로부터 검색된다.
다음으로, S632 단계에서, 제2 단어에 대응되는 제2 부분 영상이 데이터베이스로부터 검색된다.
이에 대한 부연설명을 위해 도 35를 참조한다.
도 35를 참조하면, 앞서 구분, 분류된 단어들 중 제1 단어인'sits down'에 대응되는 제1 부분 영상(1011)과 제2 단어인'getting up'에 대응되는 제2 부분 영상(1021)이 데이터베이스(미도시)로부터 각각 검색된 경우가 예시된다.
제1 부분 영상(1011)은 제1 단어인'sits down'의 의미에 대응되는 영상으로서 사람이 앉는 동작을 나타내는 영상이고, 제2 부분 영상(1021)은 제2 단어인'getting up'의 의미에 대응되는 영상으로서 사람이 일어서는 동작을 나타내는 영상이다.
한편, 각 단어의 의미에 대응되는 부분 영상을 찾을 때, 문맥에 더욱 부합하는 부분 영상을 찾기 위해 해당 단어와 연관되는 다른 단어가 더 참조될 수 있다. 이에 대한 부연설명을 위해 도 36 및 도 37을 함께 참조한다.
먼저, S631a 단계에서, 제1 단어를 기초로 데이터베이스로부터 복수의 부분 영상이 검색된다. 가령, 제1 단어가'sits down'인 경우, 제1 단어의 의미에 부합하는 부분 영상을 검색하면 다양한 방식의 앉는 동작을 나타내는 부분 영상들이 다수 검색될 수 있다.
예를 들어, 도 37에 도시된 것과 같이'sits down'에 대해, 다리를 교차 시켜 앉는 부분 영상(1011), 쪼그려 앉는 부분 영상(1012), 및 측면으로 모로 앉는 부분 영상(1013) 등 다수의 부분 영상들(1010)이 검색될 수 있다. 검색된 각 부분 영상들(1011, 1012, 1013) 모두'sits down'의 의미에 해당하는 동작을 나타내므로,'sits down'만으로는 부분 영상들(1011, 1012, 1013) 중 가장 적합한 어느 하나의 부분 영상을 특정하기가 어렵다.
S632b 단계에서, 제3 단어를 기초로 복수의 부분 영상 중 제1 부분 영상이 선택된다. 이때, 제3 단어는 제1 단어와 연관된 단어일 수 있다. 이에 대한 설명을 위해 다시 도 37을 참조한다.
도 37을 참조하면, 제1 단어인'sits down'의 연관 단어로서 제3 단어인'with crossed legs'가 식별된다. 앞서,'sits down'만으로는 부분 영상들(1011, 1012, 1013) 중 가장 적합한 부분 영상을 특정하기 어려웠지만, 'with crossed legs'를 함께 참조함으로써 문맥에 가장 적합한 부분 영상으로서 제1 부분 영상(1011)이 특정 및 선택될 수 있다.
한편, 연관 단어(즉, 제3 단어)의 참조가, 제1 부분 영상을 검색할 때 이용되는 경우를 예시하였지만, 유사하게 제2 부분 영상의 검색 시에도 연관 단어가 참조될 수 있다.
예를 들어, 문장 내에 제2 단어와 연관된 제4 단어가 있는 경우, 제2 단어에 대해 부분 영상이 복수 개가 검색되면, 제4 단어를 참조하여 상기 복수 개의 부분 영상 중 문맥에 가장 적합한 어느 하나의 부분 영상이 특정 및 선택될 수 있다.
이제 다시 도 31로 돌아가서, S640 단계에서, 부분 영상을 이용하여 문장에 대응되는 모션 영상이 생성된다. 이에 대한 구체적인 설명을 위해 도 38을 참조한다.
도 38은 도 31의 S640 단계를 구체화한 일 실시예를 나타내는 순서도이다.
S641 단계에서, 상기 문장의 컨텍스트(context)에 기초하여 제1 부분 영상과 제2 부분 영상의 배치 순서가 결정된다. 본 실시예에서는, 컨텍스트에 따라, 제1 부분 영상이 제2 부분 영상의 직전에 배치되는 것으로 가정한다.
S642 단계에서, 제1 부분 영상과 제2 부분 영상 사이에 삽입될 중간 영상이 생성된다. 이때, 상기 중간 영상은 제1 부분 영상의 제1 프레임 내 객체의 포즈와 제2 부분 영상의 제2 프레임 내 상기 객체의 포즈를 자연스럽게 연결하기 위해 생성된 영상일 수 있다.
S643 단계에서, 제1 부분 영상, 중간 영상, 및 제2 부분 영상을 차례로 연결하여 문장의 전체 의미에 대응되는 3차원 모션 영상이 생성된다.
이에 대한 부연설명을 위해 도 39 및 도 40을 참조한다.
도 39를 참조하면, 컨텍스트에 기초하여 각 부분 영상의 배치 순서가 결정되고, 각 부분 영상 사이에 중간 영상이 삽입되는 예가 도시된다.
도 39에서, 문장의 컨텍스트를 고려하면, 문장 내 전치사인'before'에 의해 시간적으로'sits down'동작이'getting up'동작보다 앞서는 것을 알 수 있다. 따라서, 'sits down'에 대응되는 제1 부분 영상(1011)이 앞에 배치되고, 'getting up'에 대응되는 제2 부분 영상(1021)이 뒤에 배치된다.
이때, 제1 부분 영상(1011)의 마지막 프레임(도 38의 제1 프레임)과 제2 부분 영상(1021)의 첫 프레임(도 38의 제2 프레임)을 살펴보면 객체의 포즈가 서로 달라 제1 부분 영상(1011)과 제2 부분 영상(1021)을 직접 연결하면, 부분 영상(1011, 1021)의 연결 지점에서 객체의 포즈가 불연속적인 형태가 되는 부자연스러움이 발생한다.
따라서, 제1 부분 영상(1011)의 마지막 프레임 내 객체의 포즈와 제2 부분 영상(1021)의 첫 프레임 내 객체의 포즈를 자연스럽게 연결하기 위해 중간 영상(1031)이 생성되어 제1 부분 영상(1011)과 제2 부분 영상(1021) 사이에 삽입된다.
도 40을 참조하면, 제1 부분 영상, 중간 영상, 및 제2 부분 영상을 차례로 연결하여 3차원 모션 영상을 생성한 예가 도시된다.
생성된 3차원 모션 영상은 문장의 의미에 부합하게, 사람이 다리를 교차시켜 앉다가 다시 일어나는 동작을 나타내게 된다.
이때, 제1 부분 영상(1011)과 제2 부분 영상(1021) 사이에 중간 영상(1031)을 삽입함으로써, 제1 부분 영상(1011)의 시작부터 제2 부분 영상(1021)의 끝까지 객체의 자세가 연속적으로 자연스럽게 이어지게 된 것을 알 수 있다.
도 41은 도 38의 S642 단계를 구체화한 일 실시예를 나타내는 순서도이다. 도 41에서는 중간 영상을 생성하는 구체적인 방법을 예시한다.
S642a 단계에서, 제1 부분 영상의 제1 프레임으로부터 객체의 키 포인트의 제1 위치가 식별된다.
S642b 단계에서, 제2 부분 영상의 제2 프레임으로부터 객체의 키 포인트의 제2 위치가 식별된다.
S642c 단계에서, 중간 영상 내에서 객체의 키 포인트의 위치가 제1 위치에서 제2 위치로 변화하도록 중간 영상이 생성된다.
이에 대한 부연설명을 위해 도 42를 참조한다.
제1 부분 영상(1011)과 제2 부분 영상(1021)을 자연스럽게 연결하기 위해, 제1 부분 영상(1011)의 마지막 프레임(1011a) 내 객체의 키 포인트 위치(제1 위치, P1) 및 제2 부분 영상(1021)의 첫번째 프레임(1021a) 내 객체의 키 포인트 위치(제2 위치, P2)가 식별된다. 여기서, 키 포인트는 객체의 관절 부분을 지칭하는 지점일 수 있다.
이때, 중간 영상(1031) 내에서 객체의 키 포인트 위치가 제1 위치(P1)에서 제2 위치(P2)로 변화하도록, 중간 영상(1031)이 생성된다. 상기 중간 영상(1031)의 생성은, 첫 프레임과 마지막 프레임이 주어졌을 때, 첫 프레임 내 객체의 자세를 마지막 프레임 내 객체의 자세로 연결하는 모션 영상을 생성하도록 기계학습된 인공지능 모듈에 의해 수행될 수 있다.
이러한 방법에 의하면, 제1 부분 영상(1011) 내 객체의 자세와 제2 부분 영상(1021) 내 객체의 자세가 불연속적인 경우에도, 중간 영상을 통해 제1 부분 영상(1011)과 제2 부분 영상(1021)을 자연스럽게 연결할 수 있게 된다.
이상에서 설명한 본 발명의 실시예들에 따르면, 3차원 모션 영상으로 생성하고 싶은 내용의 문장을 텍스트나 음성으로 입력하면, 해당 문장을 분석하여 그 의미에 맞는 모션 영상을 자동 생성할 수 있다.
또한, 문장 내 단어의 의미에 대응되는 부분 영상들을 조합하여 전체 모션 영상을 생성하되, 각 부분 영상간 연결이 자연스럽도록 적절한 중간 영상을 삽입할 수 있다.
이하에서는, 도 43을 참조하여 본 발명의 다양한 실시예에서 설명된 방법들이 구현되는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다. 예를 들어, 도 43의 컴퓨팅 장치(500)는 도 4의 3차원 모션 영상 생성 장치(100), 도 10에 도시된 객체 영상 생성 장치(200), 도 19의 객체의 동작 유사도 산출 장치(300), 도 30의 모션 영상 생성 장치(400)일 수 있다.
도 43은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 43에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 43에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 43에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 컴퓨터 프로그램(591)은 2차원 영상을 획득하는 동작, 기계학습 된 인공지능 모델을 이용하여 상기 2차원 영상으로부터 객체의 포즈(pose) 데이터를 추출하고, 상기 포즈 데이터를 기초로 3차원 모델링 데이터를 생성하는 동작, 및 상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
또는, 컴퓨터 프로그램(591)은 제1 객체 영상, 및 상기 제1 객체 영상에 대응되는 UV 맵(UV map)을 획득하는 동작, 및 상기 제1 객체 영상 및 상기 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상을 생성하는 동작을 수행하기 위한 인스트럭션들을 포함하고, 상기 제1 객체 영상은 상기 객체의 상기신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상일 수 있다.
또는, 컴퓨터 프로그램(591)은 소스 영상 및 타겟 영상이 입력되는 동작, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 동작, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 동작을 실행하기 위한 인스트럭션들을 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 동작은 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 동작일 수 있다.
또는, 컴퓨터 프로그램(591)은 문장을 획득하는 동작, 상기 문장 내 하나 이상의 단어를 식별하는 동작, 상기 하나 이상의 단어에 대응되는 부분 영상을 데이터베이스로부터 검색하는 동작, 및 상기 부분 영상을 이용하여 상기 문장에 대응되는 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (16)
- 컴퓨팅 장치에 의해 수행되는 3차원 모션 영상 생성 방법에 있어서,2차원 영상을 획득하는 단계;기계학습 된 인공지능 모듈을 이용하여, 상기 2차원 영상으로부터 객체를 식별하고 상기 식별된 객체의 움직임을 분석하여 상기 객체의 3차원 모델링 데이터를 생성하는 단계; 및상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 단계를 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제1 항에 있어서,상기 3차원 모델링 데이터를 생성하는 단계는,제1 인공지능 모듈을 이용하여, 상기 2차원 영상으로부터 상기 객체의 포즈(pose) 데이터를 추출하고 상기 포즈 데이터를 기초로 상기 객체의 움직임을 나타내는 3차원 모션 데이터를 생성하는 단계를 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제2 항에 있어서,상기 2차원 영상은 상기 객체의 움직임을 시계열적으로 나타내는 복수의 프레임을 포함하고,상기 제1 인공지능 모듈은,상기 복수의 프레임 중 제1 프레임으로부터 상기 객체의 포즈 데이터를 추출하는 컨볼루션 신경망(Convolutional Neural Network) 기반의 제1 서브 모듈; 및상기 제1 서브 모듈에 상기 복수의 프레임 중 제2 프레임의 정보를 제공하는 순환 신경망(Recurrent Neural Network) 기반의 제2 서브 모듈을 포함하고,상기 제2 프레임은 상기 시계열상에서 상기 제1 프레임보다 앞선 프레임인,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제2 항에 있어서,상기 3차원 모션 영상을 생성하는 단계는,미리 저장된 3차원 캐릭터 객체에 상기 3차원 모션 데이터를 병합하여, 상기 3차원 캐릭터 객체의 움직임이 표현된 모션 영상을 생성하는 단계를 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제4 항에 있어서,상기 3차원 모션 데이터는,상기 객체의 관절 부위에 대응되는 키 포인트 데이터를 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제5 항에 있어서,상기 3차원 캐릭터 객체의 움직임이 표현된 모션 영상을 생성하는 단계는,상기 키 포인트 데이터를 기초로, 상기 3차원 모션 데이터의 관절 위치를 상기 3차원 캐릭터 객체의 관절 위치와 정합시키는 리타겟팅(retargeting) 단계를 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제2 항에 있어서,상기 3차원 모델링 데이터를 생성하는 단계는,제2 인공지능 모듈을 이용하여, 상기 2차원 영상으로부터 상기 객체의 형상 정보를 추출하고 상기 형상 정보를 기초로 상기 객체의 볼륨(volume)이 표현된 3차원 메쉬(mesh) 객체를 생성하는 단계를 더 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제7 항에 있어서,상기 3차원 모션 영상을 생성하는 단계는,상기 3차원 메쉬 객체에 상기 3차원 모션 데이터를 병합하여, 상기 3차원 메쉬 객체의 움직임이 표현된 모션 영상을 생성하는 단계를 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 제7 항에 있어서,상기 제2 인공지능 모듈은,상기 2차원 영상으로부터 상기 객체를 나타내는 3차원 포인트 클라우드를 생성하는 3차원 재구성 모듈; 및상기 3차원 포인트 클라우드를 기초로, 3차원 메쉬 모델링 및 텍스쳐 매핑을 수행하여 상기 3차원 메쉬 객체를 생성하는 메쉬 모델링 모듈을 포함하는,인공지능 기반의 3차원 모션 영상 생성 방법.
- 프로세서;상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,2차원 영상을 획득하는 동작,기계학습 된 인공지능 모델을 이용하여 상기 2차원 영상으로부터 객체의 포즈(pose) 데이터를 추출하고, 상기 포즈 데이터를 기초로 3차원 모델링 데이터를 생성하는 동작, 및상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들을 포함하는,인공지능 기반의 3차원 모션 영상 생성 장치.
- 컴퓨팅 장치에 의해 수행되는 인공지능 기반의 객체 영상 생성 방법에 있어서,제1 객체 영상, 및 상기 제1 객체 영상에 대응되는 UV 맵(UV map)을 획득하는 단계; 및상기 제1 객체 영상 및 상기 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상을 생성하는 단계를 포함하고,상기 제1 객체 영상은,상기 객체의 상기 신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상인,인공지능 기반의 객체 영상 생성 방법.
- 프로세서;상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,제1 객체 영상, 및 상기 제1 객체 영상에 대응되는 UV 맵(UV map)을 획득하는 동작, 및상기 제1 객체 영상 및 상기 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상을 생성하는 동작을 수행하기 위한 인스트럭션들을 포함하고,상기 제1 객체 영상은,상기 객체의 상기신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상인,인공지능 기반의 객체 영상 생성 장치.
- 컴퓨팅 장치에 의해 수행되는 인공지능 기반의 객체의 동작 유사도 산출 방법에 있어서,소스 영상 및 타겟 영상이 입력되는 단계;상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 단계;상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 단계를 포함하고,상기 제1 객체 및 상기 제2 객체는,3차원 메쉬 객체이고,상기 동작 유사도가 산출되는 단계는,메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 단계인,인공지능 기반의 객체의 동작 유사도 산출 방법.
- 프로세서;상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,소스 영상 및 타겟 영상이 입력되는 동작,상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 동작,상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 동작을 실행하기 위한 인스트럭션들(instructions)을 포함하고,상기 제1 객체 및 상기 제2 객체는,3차원 메쉬 객체이고,상기 동작 유사도가 산출되는 동작은,메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 동작인,인공지능 기반의 객체의 동작 유사도 산출 장치.
- 컴퓨팅 장치에 의해 수행되는 문장으로부터 모션 영상을 생성하는 방법에 있어서,문장을 획득하는 단계;상기 문장 내 하나 이상의 단어를 식별하는 단계;상기 하나 이상의 단어에 대응되는 부분 영상을 데이터베이스로부터 검색하는 단계; 및상기 부분 영상을 이용하여 상기 문장에 대응되는 모션 영상을 생성하는 단계를 포함하는,문장으로부터 모션 영상을 생성하는 방법.
- 프로세서;상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,문장을 획득하는 동작,상기 문장 내 하나 이상의 단어를 식별하는 동작,상기 하나 이상의 단어에 대응되는 부분 영상을 데이터베이스로부터 검색하는 동작, 및상기 부분 영상을 이용하여 상기 문장에 대응되는 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들(instructions)을 포함하는,모션 영상 생성 장치.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220091389 | 2022-07-22 | ||
KR1020220181230A KR20240014012A (ko) | 2022-07-22 | 2022-12-22 | 인공지능 기반의 3차원 모션 영상 생성 방법 및 장치 |
KR10-2022-0181233 | 2022-12-22 | ||
KR10-2022-0181230 | 2022-12-22 | ||
KR10-2022-0181232 | 2022-12-22 | ||
KR10-2022-0181231 | 2022-12-22 | ||
KR1020220181231A KR20240013637A (ko) | 2022-07-22 | 2022-12-22 | 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법 및 장치 |
KR1020220181233A KR20240013639A (ko) | 2022-07-22 | 2022-12-22 | 문장으로부터 모션 영상을 생성하는 방법 및 장치 |
KR1020220181232A KR20240013638A (ko) | 2022-07-22 | 2022-12-22 | 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024136012A1 true WO2024136012A1 (ko) | 2024-06-27 |
Family
ID=89714973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/013842 WO2024136012A1 (ko) | 2022-07-22 | 2023-09-14 | 인공지능에 기반한 3차원 모션 객체 생성 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (4) | KR20240014012A (ko) |
WO (1) | WO2024136012A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220005271A1 (en) * | 2019-01-29 | 2022-01-06 | Realmotion Inc. | System, Device, and Method of Generating a Reduced-Size Volumetric Dataset |
US20220026992A1 (en) * | 2018-02-12 | 2022-01-27 | Avodah, Inc. | Automated gesture identification using neural networks |
US20220105389A1 (en) * | 2020-10-07 | 2022-04-07 | Christopher Lee Lianides | System and Method for Providing Guided Augmented Reality Physical Therapy in a Telemedicine Platform |
KR102397248B1 (ko) * | 2021-11-01 | 2022-05-13 | 주식회사 스위트케이 | 영상 분석 기반의 환자 동작 모니터링 시스템 및 그의 제공 방법 |
KR20220110453A (ko) * | 2020-01-03 | 2022-08-08 | 네이버 주식회사 | 입력 영상에 포함된 객체의 3차원 포즈를 추정하기 위한 데이터를 생성하는 방법 및 장치와 3차원 포즈 추정을 위한 추론 모델 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101327321B1 (ko) | 2009-12-11 | 2013-11-11 | 한국전자통신연구원 | 모션 캡쳐 데이터의 포즈 검색 장치 및 방법 |
-
2022
- 2022-12-22 KR KR1020220181230A patent/KR20240014012A/ko unknown
- 2022-12-22 KR KR1020220181231A patent/KR20240013637A/ko unknown
- 2022-12-22 KR KR1020220181233A patent/KR20240013639A/ko unknown
- 2022-12-22 KR KR1020220181232A patent/KR20240013638A/ko unknown
-
2023
- 2023-09-14 WO PCT/KR2023/013842 patent/WO2024136012A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220026992A1 (en) * | 2018-02-12 | 2022-01-27 | Avodah, Inc. | Automated gesture identification using neural networks |
US20220005271A1 (en) * | 2019-01-29 | 2022-01-06 | Realmotion Inc. | System, Device, and Method of Generating a Reduced-Size Volumetric Dataset |
KR20220110453A (ko) * | 2020-01-03 | 2022-08-08 | 네이버 주식회사 | 입력 영상에 포함된 객체의 3차원 포즈를 추정하기 위한 데이터를 생성하는 방법 및 장치와 3차원 포즈 추정을 위한 추론 모델 |
US20220105389A1 (en) * | 2020-10-07 | 2022-04-07 | Christopher Lee Lianides | System and Method for Providing Guided Augmented Reality Physical Therapy in a Telemedicine Platform |
KR102397248B1 (ko) * | 2021-11-01 | 2022-05-13 | 주식회사 스위트케이 | 영상 분석 기반의 환자 동작 모니터링 시스템 및 그의 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20240014012A (ko) | 2024-01-31 |
KR20240013638A (ko) | 2024-01-30 |
KR20240013639A (ko) | 2024-01-30 |
KR20240013637A (ko) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020190112A1 (en) | Method, apparatus, device and medium for generating captioning information of multimedia data | |
WO2021167394A1 (en) | Video processing method, apparatus, electronic device, and readable storage medium | |
WO2020171550A1 (en) | Image processing method and apparatus, electronic device and computer readable storage medium | |
WO2020159232A1 (en) | Method, apparatus, electronic device and computer readable storage medium for image searching | |
WO2020050499A1 (ko) | 객체 정보 획득 방법 및 이를 수행하는 장치 | |
WO2019107724A1 (en) | Method and system for providing recommendation information related to photography | |
WO2020138624A1 (en) | Apparatus for noise canceling and method for the same | |
WO2017039348A1 (en) | Image capturing apparatus and operating method thereof | |
WO2020054945A1 (ko) | 로봇 및 그 동작 방법 | |
WO2020141729A1 (ko) | 신체 측정 디바이스 및 그 제어 방법 | |
WO2019135621A1 (ko) | 영상 재생 장치 및 그의 제어 방법 | |
WO2015111840A1 (ko) | 프레임 클러스터링을 이용한 광고 삽입 장치 및 방법 | |
WO2017164640A1 (en) | System and method for editing video contents automatically technical field | |
WO2020085641A1 (en) | Display apparatus and operating method of the same | |
WO2019074339A1 (ko) | 신호 변환 시스템 및 신호 변환 방법 | |
WO2022075738A1 (ko) | 몰입감 있는 mixed reality를 제공하기 위한 mr 제공 장치 및 그 제어 방법 | |
WO2022154457A1 (en) | Action localization method, device, electronic equipment, and computer-readable storage medium | |
WO2019045521A1 (ko) | 전자 장치 및 그 제어 방법 | |
EP4367628A1 (en) | Image processing method and related device | |
WO2018023925A1 (zh) | 拍摄方法及系统 | |
WO2021040156A1 (ko) | 신체 측정 디바이스 및 그 제어 방법 | |
WO2024136012A1 (ko) | 인공지능에 기반한 3차원 모션 객체 생성 방법 및 시스템 | |
WO2022031041A1 (ko) | 단말에 3d 캐릭터 이미지를 제공하는 엣지 데이터 네트워크 및 그 동작 방법 | |
WO2021137671A1 (en) | Video generation apparatus and video generation method performed by the video generation apparatus | |
WO2022092451A1 (ko) | 딥러닝을 이용한 실내 위치 측위 방법 |
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: 23907299 Country of ref document: EP Kind code of ref document: A1 |