Nothing Special   »   [go: up one dir, main page]

WO2023048347A1 - 3차원 객체모델 생성 장치 및 그 방법 - Google Patents

3차원 객체모델 생성 장치 및 그 방법 Download PDF

Info

Publication number
WO2023048347A1
WO2023048347A1 PCT/KR2022/001020 KR2022001020W WO2023048347A1 WO 2023048347 A1 WO2023048347 A1 WO 2023048347A1 KR 2022001020 W KR2022001020 W KR 2022001020W WO 2023048347 A1 WO2023048347 A1 WO 2023048347A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
skeleton information
deep learning
skeleton
learning module
Prior art date
Application number
PCT/KR2022/001020
Other languages
English (en)
French (fr)
Inventor
윤광열
박해윤
이상기
장우일
김명현
Original Assignee
주식회사 넥스트도어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥스트도어 filed Critical 주식회사 넥스트도어
Priority to JP2024519589A priority Critical patent/JP2024537799A/ja
Priority to US18/696,147 priority patent/US20240394968A1/en
Publication of WO2023048347A1 publication Critical patent/WO2023048347A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Definitions

  • the present disclosure relates to an apparatus and method for generating a 3D object model, and more particularly, to an apparatus for generating a 3D model of a target object from a 2D image and a method performed by the apparatus.
  • a 3D model is used, the posture and motion of a target object can be more precisely and accurately analyzed. Accordingly, an attempt is made to analyze the accuracy of a user's motion (eg, a swing motion, a rehabilitation exercise motion) using a 3D model of a person in fields such as golf and rehabilitation. In addition, as part of this, research on a method of generating a 3D model of a person from a 2D image of a person's motion is being actively conducted.
  • a user's motion eg, a swing motion, a rehabilitation exercise motion
  • the proposed method acquires a plurality of 2D images by photographing a target object while rotating a camera, and generates a 3D model of the target object by synthesizing the acquired 2D images.
  • the proposed method requires multiple 2D images taken at different rotation angles, it is difficult to be widely used in various fields, and there is a clear limitation that a 3D model cannot be generated from a 2D image at a single viewpoint. .
  • a technical problem to be solved through some embodiments of the present disclosure is to provide a device capable of accurately generating a 3D model of a target object from a 2D image and a method performed by the device.
  • Another technical problem to be solved through some embodiments of the present disclosure is to provide a method for accurately converting 2D skeleton information into 3D skeleton information.
  • Another technical problem to be solved through some embodiments of the present disclosure is to provide a deep learning module capable of accurately converting 2D skeleton information into 3D skeleton information.
  • an apparatus for generating a 3D object model includes a memory for storing one or more instructions, and by executing the one or more stored instructions, 2 of a target object An operation of acquiring 2D skeleton information extracted from a dimensional image, an operation of converting the 2D skeleton information into 3D skeleton information through a deep learning module, and a 3D model for the target object based on the 3D skeleton information. It may include a processor that performs an operation of generating.
  • the deep learning module is a GCN (Graph Convolutional Networks) based module, receives the 2D skeleton information and extracts feature data, and decodes the extracted feature data to generate the 3D skeleton.
  • GCN Graph Convolutional Networks
  • the processor further acquires object information other than the 2D skeleton information from the 2D image, and the transforming operation includes the 2D skeleton information and the other object information to the deep learning module. It may include an operation of obtaining the 3D skeleton information by inputting.
  • the deep learning module is learned based on an error between 3D skeleton information predicted from 2D skeleton information for learning and correct answer information, and the error is center of gravity error, bone length error, and joint angle error. may include at least one of them.
  • the deep learning module is learned using 2D skeleton information corrected based on domain information of an object, and the correction includes at least one of adding a new connection line between key points constituting the skeleton and reinforcing the connection line.
  • the domain may be defined to be classified based on the operational characteristics of the object.
  • the processor further obtains object information other than the 2D skeleton information from the 2D image and corrects a 3D model generated based on the other object information
  • the correcting operation may include extracting 3D skeleton information from the generated 3D model, correcting the extracted 3D skeleton information according to the other object information, and based on the corrected 3D skeleton information.
  • An operation of regenerating a 3D model of the target object may be included.
  • a method for generating a 3D object model is a method performed in a computing device, which includes obtaining 2D skeleton information extracted from a 2D image of a target object.
  • the method may include converting the 2D skeleton information into 3D skeleton information through a deep learning module and generating a 3D model of the target object based on the 3D skeleton information.
  • a computer program is combined with a computing device, obtaining 2D skeleton information extracted from a 2D image of a target object, and a deep learning module. Converting the 2D skeleton information into 3D skeleton information and generating a 3D model for the target object based on the 3D skeleton information may be stored in a computer readable recording medium to execute the steps. .
  • a 3D model of a target object may be accurately generated using various object information extracted from a 2D image of the target object.
  • a 3D model of the target object may be accurately generated by using posture information, shape information, bone information, joint information, and body part information of the target object.
  • the pose, motion, etc. of the target object may be more accurately analyzed through the generated 3D model.
  • a 3D model of the target object may be accurately generated from a 2D image of a single viewpoint.
  • 2D skeleton information may be converted into 3D skeleton information, and a 3D model of a target object may be generated based on the 3D skeleton information and object information. Accordingly, a 3D model of the target object may be more accurately generated. For example, even when some errors exist in the 2D skeleton information due to occlusion or distortion in the 2D image, a 3D model of the target object can be accurately generated through the 3D skeleton information. In addition, even if there are few errors in the 2D skeleton information, a more complete 3D model can be created by further using depth-dimensional skeleton information.
  • conversion accuracy of skeleton information can be greatly improved by learning the conversion module based on various errors such as center of gravity errors, bone length errors, joint angle errors, and the like.
  • conversion accuracy of skeleton information can be further improved by learning the conversion module using 2D skeleton information corrected by reflecting the operating characteristics of the domain.
  • a 3D model of the target object may be more elaborately created.
  • FIG. 1 is an exemplary diagram for explaining an apparatus for generating a 3D object model and input/output data thereof according to some embodiments of the present disclosure.
  • FIG. 2 is an exemplary flowchart schematically illustrating a method for generating a 3D object model according to a first embodiment of the present disclosure.
  • FIG 3 is an exemplary diagram for amplifying a method for generating a 3D object model according to the first embodiment of the present disclosure.
  • FIG. 4 is an exemplary diagram for explaining a method of extracting 2D skeleton information according to some embodiments of the present disclosure.
  • FIG. 5 is an exemplary flowchart schematically illustrating a method for generating a 3D object model according to a second embodiment of the present disclosure.
  • FIG. 6 is an exemplary diagram for amplifying a method for generating a 3D object model according to a second embodiment of the present disclosure.
  • 7 to 10 are exemplary diagrams for explaining a structure and a learning method of a conversion module according to some embodiments of the present disclosure.
  • FIG. 11 is an exemplary diagram for explaining a method for improving conversion accuracy of skeleton information according to the first embodiment of the present disclosure.
  • FIG. 12 is an exemplary diagram for explaining a method for improving conversion accuracy of skeleton information according to a second embodiment of the present disclosure.
  • FIG. 13 is an exemplary flowchart schematically illustrating a method for generating a 3D object model according to a third embodiment of the present disclosure.
  • FIG. 14 is an exemplary diagram for amplifying a method for generating a 3D object model according to a third embodiment of the present disclosure.
  • FIG. 15 illustrates an exemplary computing device capable of implementing a 3D object model generating device according to some embodiments of the present disclosure.
  • 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 corresponding component is not limited by the term.
  • FIG. 1 is an exemplary diagram for explaining a 3D object model generating apparatus 1 and input/output data thereof according to some embodiments of the present disclosure.
  • a 3D object model generating device 1 receives a 2D image 3 of a target object and generates and outputs a 3D model 5 of the target object.
  • the 3D object model generating apparatus 1 may generate a 3D mesh model 5 of the target object from a 2D image 3 of the target object.
  • a specific method of generating the 3D model 5 by the 3D object model generating apparatus 1 will be described in detail later with reference to FIG. 2 and the following drawings.
  • the 3D object model generating device 1 will be abbreviated as "generating device 1".
  • the 2D image 3 is an image of a target object and may be a video image composed of a plurality of consecutive frame images (see 30 in FIG. 3), a specific frame image, or a single image.
  • the 2D image 3 may be a video image obtained by photographing the motion of the target object with a video camera or an image of a specific frame constituting the video image.
  • the type of target object may be a human as shown, but the scope of the present disclosure is not limited thereto, and the target object may be another type of object (eg, animal). However, in order to provide convenience of understanding, the following description will continue assuming that the type of target object is "human”.
  • the type of the 3D model 5 may be a mesh model as shown, but the scope of the present disclosure is not limited thereto, and the 3D model 5 may be a different type of model (eg, a voxel model). It could be. However, in order to provide convenience of understanding, the following description will continue assuming that the type of the 3D model 5 is a "mesh model".
  • the generating device 1 may analyze the motion of the target object using the 3D model 5 .
  • the generating device 1 may continuously generate a 3D model (e.g. 5) that simulates the motion of the target object from a video image (ie, a plurality of frame images) in which the motion of the target object is captured.
  • the generating device 1 may analyze the 3D model (e.g. 5) to more precisely and accurately determine the operation of the target object.
  • the generating device 1 may determine the accuracy of the motion by analyzing the 3D model (eg 5) that simulates the motion of the human object.
  • the generating device 1 may determine the accuracy of an exercise motion performed by a person, such as a golf motion or a rehabilitation exercise motion. In addition, when the accuracy is less than the reference value, the generating device 1 may generate and provide a 3D model that simulates an accurate exercise motion.
  • FIG. 1 shows that the generating device 1 is implemented as one computing device as an example, the generating device 1 may be implemented as a plurality of computing devices.
  • a first function of the generating device 1 may be implemented in a first computing device and a second function may be implemented in a second computing device.
  • specific functions of the generating device 1 may be implemented in a plurality of computing devices.
  • the computing device may be, for example, a notebook, a desktop, a laptop, etc., but is not limited thereto, and may include any type of device having a computing function. Reference is made to FIG. 15 for an example of a computing device.
  • the generating device 1 according to some embodiments of the present disclosure and its input/output data have been described.
  • a method of generating a 3D object model that can be performed in the generation device 1 will be described in detail with reference to the drawings below in FIG. 2 .
  • Each step of the 3D object model generation method may be implemented as one or more instructions that can be executed by a processor of the computing device (e.g. 1).
  • each step of the method described below may be implemented as one or more instructions that may be executed by a processor of the generating device 1 .
  • description will be continued on the assumption that all steps of the method to be described later are performed by the generating device 1 illustrated in FIG. 1 . Therefore, when the subject of a specific step (action) is omitted, it can be understood as being performed by the generating device 1 . However, in some cases, some steps of the method to be described later may be performed in another computing device.
  • FIG. 2 is an exemplary flowchart schematically illustrating a method for generating a 3D object model according to a first embodiment of the present disclosure.
  • this is only a preferred embodiment for achieving the object of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.
  • the method according to the present embodiment may start at step S120 of extracting object information from a 2D image.
  • the generating device 1 may extract various object information 32 from the 2D image 31 of the target object through the extraction module 10 .
  • the 2D image 31 may be, for example, one of a plurality of frame images constituting the video image 30 .
  • the object information 32 may include, for example, pose information, shape information, orientation information, body part information, motion information, bone information, joint information, etc. It is not limited to this.
  • the posture information may include, for example, information about a posture class, a 2D skeleton, and the like, but is not limited thereto.
  • the 2D skeleton information may include, for example, 2D positional coordinates of key-points corresponding to parts such as joints and connection information of the keypoints, but is not limited thereto.
  • the shape information may include information about the shape or volume of the entire body or part, but is not limited thereto.
  • the direction information may include information about a target object or a direction of a camera, but is not limited thereto.
  • the body part information may include information about the area of each body part, the center of gravity, etc., but is not limited thereto.
  • the motion information may include information about motion classes, movement speeds of keypoints, etc., but is not limited thereto.
  • the bone information may include information about the length and direction of the bone, but is not limited thereto.
  • the length of the bone may be calculated based on, for example, the distance between key points constituting the 2D skeleton, but is not limited thereto.
  • the joint information may include information about the angle of the joint, but is not limited thereto.
  • the angle of the joint may be calculated based on the angle formed by the key points constituting the 2D skeleton, but is not limited thereto.
  • the extraction module 10 is a module having an extraction function for the object information 32, and may be implemented in any way.
  • the extraction module 10 may be implemented as a CNN (Convolutional Neural Networks)-based deep learning module specialized in image analysis, or may be implemented as an image analysis module (eg, edge detection module, etc.) not based on deep learning. .
  • CNN Convolutional Neural Networks
  • image analysis module eg, edge detection module, etc.
  • the extraction module 10 may be composed of a plurality of modules.
  • the extraction module 10 may be configured to include a module for extracting posture information (eg, 2D skeleton information) of a target object, a module for extracting body part information, and the like.
  • posture information eg, 2D skeleton information
  • the extraction module 10 may include a convolutional pose machine (CPM)-based deep learning module 11, and the generating device 1 may include a deep learning module 11 ), it is possible to extract the 2D skeleton information 35 by detecting a plurality of key points (e.g. 34) corresponding to joints in the 2D image 31.
  • the 2D skeleton information 35 may be information composed of the detected keypoint (e.g. 34) and its 2D coordinates (e.g. X1, Y1).
  • a 3D model of the target object may be generated based on the extracted object information. Specifically, as shown in FIG. 3 , the generating device 1 may generate a 3D model 33 of the target object from object information 32 through the generating module 20 .
  • the generation module 20 is a model that generates a 3D model based on the object information 32, and may be implemented in any way.
  • the generation module 20 may be a module that generates (renders) a 3D mesh model for a target object by using the object information 32 as a parameter.
  • the generation module 20 may be, for example, a skinned multi-person linear model (SMPL) based module.
  • SMPL skinned multi-person linear model
  • a 3D model for a target object is obtained by extracting various object information such as posture information (e.g. 2D skeleton information), body part information, and shape information from a 2D image and using the extracted object information. can be created accurately.
  • posture information e.g. 2D skeleton information
  • body part information e.g. 2D skeleton information
  • shape information e.g. 2D shape information
  • FIG. 5 is an exemplary flowchart schematically illustrating a method for generating a 3D object model according to a second embodiment of the present disclosure.
  • this is only a preferred embodiment for achieving the object of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.
  • the method according to the present embodiment relates to a method of more accurately generating a 3D model of a target object by converting 2D skeleton information into 3D skeleton information.
  • the method according to the present embodiment may also start at step S220 of extracting object information from a 2D image of a target object.
  • the generating device 1 may extract object information 52 from the 2D image 51 through the extraction module 10 .
  • This step S220 is the same as the step S120 described above, so a description thereof will be omitted.
  • 2D skeleton information may be converted into 3D skeleton information.
  • the generating device 1 may convert 2D skeleton information into 3D skeleton information through the conversion module 40 .
  • the generating device 1 may input 2D skeleton information and object information 52 to the conversion module 40 and obtain 3D skeleton information from the conversion module 40 .
  • the 3D skeleton information may mean skeleton information in which the location coordinates of keypoints are 3D coordinates (ie, depth information is further included).
  • the conversion module 40 may be a deep learning module trained to convert 2D skeleton information into 3D skeleton information.
  • the structure and learning method of the conversion module 40 will be described in detail later with reference to FIGS. 7 to 12 .
  • a 3D model of the target object may be generated based on the 3D skeleton information and other object information.
  • the generation device 1 may generate a 3D model 53 of a target object from 3D skeleton information and other object information 52 through the generation module 20. there is.
  • the 3D model 53 of the target object can be generated more accurately, because 3D skeleton information can provide additional information (ie, depth information), and 2D skeleton information can be converted into 3D skeleton information.
  • 3D skeleton information can provide additional information (ie, depth information)
  • 2D skeleton information can be converted into 3D skeleton information.
  • errors included in the 2D skeleton information can be corrected during the conversion process. For example, if there is occlusion or distortion in the 2D image, some errors may be included in the 2D skeleton information, and the conversion module 40 reflects the object information 52 to generate 3D skeleton information In this error information can be corrected.
  • Step S260 is almost the same as step S140 described above, so further explanation will be omitted.
  • the conversion module 40 may be a deep learning module trained to convert 2D skeleton information into 3D skeleton information. Specifically, the conversion module 40 may be a deep learning module learned to convert 2D skeleton information into 3D skeleton information in consideration of object information (ie, object information other than 2D skeleton information; feature of FIG. 6 ). .
  • object information ie, object information other than 2D skeleton information; feature of FIG. 6 .
  • the conversion module 40 may be implemented with various types of deep learning modules.
  • the transformation module 41 may be implemented as a deep learning module based on Graph Convolutional Networks (GCN).
  • GCN Graph Convolutional Networks
  • the 2D skeleton information 61 may be input to the conversion module 41 in the form of an adjacency matrix 63 (Adj-M) and a feature matrix 62 (Fea-M).
  • keypoint connection information may be input in the form of an adjacency matrix 63
  • location coordinates of keypoints may be input in the form of a feature matrix 62
  • various object information e.g. 52
  • object information may also be input to the conversion module 41 in the form of a feature matrix (e.g. 62).
  • a detailed structure of the conversion module 40 may be designed and implemented in various ways.
  • the transform module 42 may be implemented as a deep learning module having an encoder (E) and a decoder (D) structure.
  • a deep learning module may include an auto-encoder, a variational autoencoder (VAE), a U-net, a W-net, and the like, but the scope of the present disclosure is not limited thereto.
  • the encoder E may extract feature data (e.g. latent vector) from input 2D skeleton information 71 and object information (not shown), and the decoder D may extract the extracted feature data.
  • 3D skeleton information 72 may be output by decoding.
  • the encoder (E) and/or the decoder (D) may be based on GCN.
  • the encoder U E and the decoder U D constituting the transform module 43 may conceptually have a U-shaped structure.
  • the encoder (U E ) and/or the decoder (U D ) may be based on GCN.
  • the encoder ( UE ) extracts a plurality of feature data (eg 73 to 75) having different abstraction levels by performing a down-sampling process on the input 2D skeleton information and object information. can For example, the encoder U E repeatedly performs a graph convolution operation through a plurality of GCN blocks (layers), thereby generating data having more intensive features (eg, feature data 75 is more intensive than feature data 74).
  • the decoder U D may perform an up-sampling process on the extracted plurality of extracted data (eg 73 to 75).
  • the transformation module 43 utilizes the feature data (eg 73 to 75) extracted by the encoder ( UE ) and the feature data (eg 76, 77) generated by the decoder ( UD ) together. High conversion accuracy can be guaranteed.
  • the conversion module 43 may have a W-shaped structure in which the U-shaped structure illustrated in FIG. 9 is repeatedly formed.
  • the transformation module 40 may consist of one or more deep learning modules.
  • transform module 40 may consist of one deep learning module.
  • the conversion module 40 may be a deep learning module trained to receive 2D skeleton information and various object information (e.g. bone information, joint information, body part information, etc.) and output 3D skeleton information.
  • object information e.g. bone information, joint information, body part information, etc.
  • the conversion module 40 can convert 2D skeleton information into 3D skeleton information by comprehensively considering various object information.
  • the transformation module 40 may be composed of a plurality of deep learning modules receiving different object information.
  • the conversion module 40 includes a first deep learning module 44 and a second deep learning module 45 that receive different object information 72 and 74. can be configured.
  • the first deep learning module 44 may receive the 2D skeleton information 81 and the first object information 82 (e.g. bone information) and output 3D first skeleton information 83
  • the 2 deep learning module 45 may output 3-dimensional second skeleton information 85 by receiving the 2-dimensional skeleton information 81 and second object information 84 (eg joint information).
  • the generation device 1 may calculate 3D skeleton information to be input to the generation module 20 by synthesizing (eg, averaging, etc.) the first skeleton information 83 and the second skeleton information 85 .
  • the object information 82 and 84 may be input to the deep learning modules 44 and 45 in the form of a feature matrix.
  • the conversion module 40 may be trained using learning data composed of 2D skeleton information for learning, object information for learning, and correct answer information (ie, 3D skeleton correct answer information).
  • the transformation module 40 may be trained in a direction to reduce an error between 3D skeleton information predicted from 2D skeleton information for learning and object information for learning (hereinafter, abbreviated as "prediction information") and correct answer information.
  • prediction information 3D skeleton correct answer information predicted from 2D skeleton information for learning and object information for learning
  • specific types of errors may vary depending on embodiments.
  • transform module 40 may be learned based on the center of gravity error.
  • the center of gravity error may be calculated based on the difference between the center of gravity calculated from prediction information and the center of gravity calculated from correct answer information.
  • the center of gravity error may be calculated based on the difference between the center of gravity calculated from the two-dimensional skeleton information for learning input to the conversion module 40 and the center of gravity calculated from prediction information.
  • the center of gravity error may be calculated for each body part, but the scope of the present disclosure is not limited thereto.
  • the conversion module 40 can predict 3D skeleton information by further considering the center of gravity of the input 2D skeleton information.
  • transform module 40 may be learned based on bone length error.
  • the bone length error may be calculated based on the difference between the bone length calculated from prediction information and the bone length calculated from correct answer information.
  • the bone length can be calculated based on the distance between keypoints.
  • the conversion module 40 can predict 3D skeleton information by further considering the bone length according to the input 2D skeleton information or bone information.
  • the transform module 40 may be learned based on the angular error of the joint.
  • the angle error of the joint may be calculated based on the difference between the joint angle calculated from the prediction information and the joint angle calculated from the correct answer information.
  • the conversion module 40 can predict 3D skeleton information by further considering joint angles according to input 2D skeleton information or joint information.
  • transform module 40 may be learned based on the symmetry error. For example, when the 2-dimensional skeleton for learning input to the conversion module 40 has a symmetric structure (e.g. vertical symmetry, left-right symmetry), the conversion module in the direction of reducing the error based on the degree of symmetry of the predicted 3-dimensional skeleton ( 40) can be learned. According to this embodiment, conversion accuracy for a two-dimensional skeleton having a symmetrical structure can be further improved.
  • a symmetric structure e.g. vertical symmetry, left-right symmetry
  • transform module 40 may be learned based on projection error.
  • the projection error may be calculated based on a difference between 2D skeleton information generated from prediction information through a projection operation and 2D skeleton information for learning input to the transformation module 40 .
  • the performance of the transformation module 40 can be further improved by further learning the projection error.
  • the conversion module 40 may be trained based on a combination of various embodiments described above.
  • the present embodiment is a method for improving the conversion accuracy of skeleton information by training the conversion module 46 using the two-dimensional skeleton information 91 corrected using the operating characteristics of the domain. it's about
  • the domain of the target object may be defined to be classified based on the operating characteristics of the target object.
  • objects sharing common operating characteristics may belong to the same domain.
  • the domain of the target object may be classified into soccer (ie, an object related to a soccer motion), golf, and rehabilitation treatment.
  • the domain of the target object may be divided into a foot motion (ie, an object related to a foot motion), a hand motion, and the like.
  • the domain of the target object may be defined in a more subdivided form, such as a first motion related to golf and a second motion related to golf.
  • the 2D skeleton information 91 for learning may be corrected based on the operating characteristics of the domain.
  • the performance of the conversion module 46 can be improved by training the conversion module 46 using the corrected 2D skeleton information 92 .
  • the correction of the 2D skeleton information 91 may include, for example, adding a new connection line between key points constituting the skeleton, reinforcing the connection line (eg, amplifying the adjacent matrix value representing the connection line), etc., but the scope of the present disclosure is limited to this. It is not limited.
  • the domain of the target object is golf.
  • a new connection line 93 is added between key points corresponding to both hands in the two-dimensional skeleton information 91, or a connection line between key points corresponding to the hand part is strengthened.
  • Calibration may be performed.
  • the transformation module 46 may be learned using the corrected 2D skeleton information 92 .
  • the performance of the conversion module 46 ie, conversion accuracy of the skeleton information
  • the 2D skeleton information is corrected based on the domain information of the target object, and the corrected 2D skeleton information may be input to the conversion module 46.
  • the present embodiment relates to a method of improving conversion accuracy of skeleton information by constructing conversion modules 47 and 48 for each domain of a target object.
  • the first conversion module 47 may be built by learning training data belonging to the first domain
  • the second conversion module 48 may be built by learning training data belonging to the second domain.
  • the first conversion module 47 can convert the input 2D skeleton information 94 into 3D skeleton information 95 in which the characteristics of the first domain (e.g. motion characteristics) are reflected
  • the second conversion The module 48 can convert the input 2D skeleton information 96 into 3D skeleton information 97 in which the characteristics of the second domain are reflected.
  • the generating device 1 determines a transformation module corresponding to the domain of the target object from among a plurality of transformation modules 47 and 48, and converts 2D skeleton information into 3D skeleton information through the determined transformation module. can do.
  • This embodiment relates to a method for improving conversion accuracy of skeleton information by training the conversion module 40 with training data including domain information.
  • the conversion module 40 may be learned using learning data composed of 2D skeleton information for learning, object information, domain information, and correct answer information.
  • 2-dimensional skeleton information for learning, object information, and domain information are input to the conversion module 40, and the conversion module 40 in the direction of reducing the error between the 3-dimensional skeleton information and correct answer information predicted by the conversion module 40 this can be learned.
  • the conversion module 40 can convert 2D skeleton information into 3D skeleton information by reflecting the domain characteristics (eg, motion characteristics) of the target object.
  • domain information of a target object may be input to the conversion module 40 .
  • the present embodiment relates to a method for improving conversion accuracy of skeleton information by training the conversion module 40 using 2-dimensional skeleton information corrected based on the movement speed of keypoints constituting the skeleton.
  • the movement speed of the keypoint may be extracted along with the 2D skeleton information.
  • the conversion module 40 may be learned using 2D skeleton information for learning generated by correcting (eg, adding a new connection line, reinforcing a connection line) between key points having a moving speed equal to or greater than a reference value. In this case, since the conversion module 40 can predict 3D skeleton information by concentrating on a body part with a relatively large movement, conversion accuracy of skeleton information can be improved.
  • the 2D skeleton information is corrected based on the moving speed of the keypoint, and the corrected 2D skeleton information is It can be input to the conversion module 40.
  • 2D skeleton information is converted into 3D skeleton information through the conversion module 40, and a 3D model may be generated based on the 3D skeleton information and object information. Accordingly, a 3D model of the target object may be more accurately generated. For example, even when some errors exist in the 2D skeleton information due to occlusion or distortion in the 2D image, a 3D model of the target object can be accurately generated. In addition, even if there are few errors in the 2D skeleton information, a more complete 3D model can be generated by further providing depth-dimensional skeleton information to the generation module 20 .
  • 2D skeleton information can be accurately converted into 3D skeleton information.
  • conversion accuracy of skeleton information can be greatly improved by learning the conversion module based on various errors such as center of gravity errors, bone length errors, joint angle errors, and the like.
  • conversion accuracy of the skeleton information can be further improved by correcting the 2D skeleton information by reflecting the operating characteristics of the domain and learning the conversion module using the corrected 2D skeleton information.
  • FIG. 13 is an exemplary flowchart schematically illustrating a method for generating a 3D object model according to a third embodiment of the present disclosure.
  • this is only a preferred embodiment for achieving the object of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.
  • the method according to the present embodiment relates to a method of more accurately generating a 3D model of a target object by correcting the 3D model using object information extracted from a 2D image.
  • Steps S320 to S360 are the same as steps S220 to S260 described above, respectively, so descriptions thereof will be omitted.
  • step S380 the 3D model of the target object may be calibrated.
  • a specific correction method may vary according to embodiments.
  • a 3D model 113 is formed based on object information 112 (e.g. 2D skeleton information, bone information, joint information) extracted from the 2D image 111.
  • object information 112 e.g. 2D skeleton information, bone information, joint information
  • the generating device 1 may extract 3D skeleton information from the 3D model 113 and correct the 3D skeleton information through the correction module 100 .
  • the generation device 1 may regenerate the 3D model 113 of the target object by providing the corrected 3D skeleton information and the object information 112 to the generation module 20 .
  • the correction module 100 may perform a function of correcting the input 3D skeleton information to match the input object information.
  • the accuracy of the 3D model 113 can be further improved by correcting the 3D model 113 to conform to the object information 112 extracted from the 2D image 111 .
  • the object information 112 is information directly extracted from the 2D image 111, it is information with relatively high accuracy.
  • an error may occur in the process of generating the 3D model 113 by the generation module 20 based on it. Therefore, if a process of correcting the 3D model 113 conforms to the object information 112 is further performed, the error of the generation module 20 is minimized and a more sophisticated 3D model 113 can be generated. .
  • the correction module 100 may be implemented as a deep learning module or other types of modules.
  • the correction module 100 may be implemented as a deep learning module trained to receive 3D skeleton information and object information 112 and output calibrated 3D skeleton information.
  • the correction module 100 may have the same or similar structure as the conversion module 40 described above, and may be implemented by learning in the same or similar manner.
  • the correction module 100 may be implemented as a module that performs a predetermined correction logic on 3D skeleton information input according to the object information 112 .
  • 3D object information (e.g. 3D skeleton information, 3D bone information, 3D joint information, 3D body part information, etc.) extracted from a 3D model (e.g. 113) Based on this, the 3D model (e.g. 113) can be calibrated.
  • the generation device 1 may correct input 3D object information using a deep learning-based correction module (e.g. 100).
  • the correction module (e.g. 100) may be a deep learning module that has learned training data composed of 3D skeleton information before correction, 3D object information, and corrected 3D skeleton information.
  • the correction module (e.g. 100) according to the present embodiment may also have the same or similar structure as the above-described conversion model 40 and may be implemented by learning in the same or similar manner.
  • the generation device 1 may determine the generation accuracy of the 3D model, and may perform the correction step S380 in response to the determination that the determined accuracy is equal to or less than a reference value. For example, the generation device 1 may extract 3D skeleton information from a 3D model and convert the 3D skeleton information into 2D skeleton information through a projection operation. Also, the generating device 1 may determine generation accuracy of the 3D model based on a difference between the converted 2D skeleton information and the 2D skeleton information extracted from the 2D image. According to this embodiment, by performing the correction step S380 only when the generation accuracy of the 3D model is equal to or less than the reference value, the computing cost input to the generation device 1 can be reduced.
  • a 3D model of a target object may be more elaborately created by correcting the 3D model using object information extracted from a 2D image.
  • 15 is an exemplary hardware configuration diagram illustrating computing device 120 .
  • the computing device 120 includes one or more processors 121, a bus 123, a communication interface 124, and a memory (loading) a computer program executed by the processor 121 ( 122) and a storage 125 for storing the computer program 126.
  • the computing device 120 may further include various components other than the components shown in FIG. 15 .
  • the computing device 120 may be configured in a form in which some of the components shown in FIG. 15 are omitted.
  • each component of the computing device 120 will be described.
  • the processor 121 may control overall operations of each component of the computing device 120 .
  • the processor 121 may include at least one of a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphic Processing Unit (GPU), or any type of processor well known in the art of the present disclosure. can be configured to include Also, the processor 121 may perform an operation for at least one application or program for executing an operation/method according to embodiments of the present disclosure.
  • Computing device 120 may include one or more processors.
  • the memory 122 may store various data, commands and/or information.
  • Memory 122 may load one or more programs 126 from storage 125 to execute operations/methods according to embodiments of the present disclosure.
  • Memory 122 may be implemented with volatile memory such as RAM, but the scope of the present disclosure is not limited thereto.
  • the bus 123 may provide a communication function between components of the computing device 120 .
  • the bus 123 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.
  • the communication interface 124 may support wired and wireless Internet communication of the computing device 120 . Also, the communication interface 124 may support various communication methods other than Internet communication. To this end, the communication interface 124 may include a communication module well known in the art of the present disclosure. In some cases, the communication interface 124 may be omitted.
  • storage 125 may non-temporarily store one or more computer programs 126 .
  • the storage 125 may be a non-volatile memory such as read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, etc., a hard disk, a removable disk, or a device well known in the art. It may be configured to include any known type of computer-readable recording medium.
  • computer program 126 may include one or more instructions that when loaded into memory 122 cause processor 121 to perform operations/methods in accordance with various embodiments of the present disclosure. That is, the processor 121 may perform an operation/method according to various embodiments of the present disclosure by executing one or more instructions.
  • the computer program 126 may include an operation of obtaining 2D skeleton information extracted from a 2D image of a target object, an operation of converting 2D skeleton information into 3D skeleton information through a deep learning module, and an operation of converting 3D skeleton information into 3D skeleton information. It may include instructions that perform an operation of generating a 3D model of the target object based on the information.
  • the generating device 1 according to some embodiments of the present disclosure may be implemented through the computing device 120 .
  • the technical idea of the present disclosure described with reference to FIGS. 1 to 15 so far may 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 disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk).
  • ROM, RAM, computer-equipped hard disk can
  • the computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.

Landscapes

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

Abstract

3차원 객체모델 생성 장치 및 그 방법이 제공된다. 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치는, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하고, 딥러닝 모듈을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하며, 변환된 3차원 스켈레톤 정보를 기초로 대상 객체에 대한 3차원 모델을 생성할 수 있다. 이에 따라, 2차원 이미지로부터 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다.

Description

3차원 객체모델 생성 장치 및 그 방법
본 개시는 3차원 객체모델 생성 장치 및 그 방법에 관한 것으로, 보다 상세하게는 2차원 이미지로부터 대상 객체에 대한 3차원 모델을 생성하는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.
3차원 모델을 이용하면 대상 객체의 자세, 동작 등이 보다 정밀하고 정확하게 분석될 수 있다. 이에 따라, 골프, 재활 치료 등의 분야에서 사람의 3차원 모델을 이용하여 사용자 동작(e.g. 스윙 동작, 재활 운동 동작)의 정확도를 분석하려는 시도가 이루어지고 있다. 또한, 이에 대한 일환으로, 사람의 동작을 촬영한 2차원 이미지로부터 사람에 대한 3차원 모델을 생성하는 방법에 대한 연구도 활발하게 이루어지고 있다.
최근에는, 복수의 2차원 이미지를 이용하여 대상 객체를 3차원으로 모델링하는 방법이 제안된 바 있다. 제안된 방법은 카메라를 회전시키면서 대상 객체를 촬영하여 복수의 2차원 이미지를 획득하고, 획득된 2차원 이미지들을 종합하여 대상 객체에 대한 3차원 모델을 생성하고 있다. 그러나, 제안된 방법은 서로 다른 회전 각도로 촬영된 다수의 2차원 이미지를 요구하므로, 다양한 분야에서 폭넓게 활용되기 어려우며, 단일 시점의 2차원 이미지로부터는 3차원 모델을 생성할 수 없다는 명확한 한계가 있다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 2차원 이미지로부터 대상 객체에 대한 3차원 모델을 정확하게 생성할 수 있는 장치 및 그 장치에서 수행되는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 정확하게 변환할 수 있는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 정확하게 변환할 수 있는 딥러닝 모듈을 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작, 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및 상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 프로세서를 포함할 수 있다.
몇몇 실시예들에서, 상기 딥러닝 모듈은, GCN(Graph Convolutional Networks) 기반의 모듈이고, 상기 2차원 스켈레톤 정보를 입력받아 특징 데이터를 추출하는 인코더와 상기 추출된 특징 데이터를 디코딩하여 상기 3차원 스켈레톤 정보를 출력하는 디코더를 포함할 수 있다.
몇몇 실시예들에서, 상기 프로세서는 상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고, 상기 변환하는 동작은, 상기 2차원 스켈레톤 정보와 상기 다른 객체 정보를 상기 딥러닝 모듈에 입력하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함할 수 있다.
몇몇 실시예들에서, 상기 딥러닝 모듈은 학습용 2차원 스켈레톤 정보로부터 예측된 3차원 스켈레톤 정보와 정답 정보 간의 오차에 기초하여 학습된 것이고, 상기 오차는 무게 중심 오차, 뼈 길이 오차 및 관절의 각도 오차 중 적어도 하나를 포함할 수 있다.
몇몇 실시예들에서, 상기 딥러닝 모듈은 객체의 도메인 정보에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 학습된 것이고, 상기 보정은 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가 및 연결선 강화 중 적어도 하나를 포함할 수 있다. 이때, 상기 도메인은 객체의 동작 특성에 기초하여 구분되도록 정의된 것일 수 있다.
몇몇 실시예들에서, 상기 프로세서는, 상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고, 상기 다른 객체 정보를 기초로 생성된 3차원 모델을 보정하는 동작을 더 수행하되, 상기 보정하는 동작은, 상기 생성된 3차원 모델로부터 3차원 스켈레톤 정보를 추출하는 동작, 상기 다른 객체 정보에 따라 상기 추출된 3차원 스켈레톤 정보를 보정하는 동작 및 상기 보정된 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 다시 생성하는 동작을 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 방법은, 컴퓨팅 장치에서 수행되는 방법으로서, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계, 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계 및 상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계, 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계 및 상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
상술한 본 개시의 몇몇 실시예들에 따르면, 대상 객체의 2차원 이미지에서 추출된 다양한 객체 정보를 이용하여 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 예를 들어, 대상 객체의 자세 정보, 모양 정보, 뼈 정보, 관절 정보, 신체 부위 정보 등을 이용함으로써 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 나아가, 생성된 3차원 모델을 통해 대상 객체의 자세, 동작 등이 보다 정확하게 분석될 수 있다.
또한, 단일 시점의 2차원 이미지로부터 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다.
또한, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 변환되고, 3차원 스켈레톤 정보와 객체 정보를 기초로 대상 객체에 대한 3차원 모델이 생성될 수 있다. 이에 따라, 대상 객체에 대한 3차원 모델이 보다 정확하게 생성될 수 있다. 가령, 2차원 이미지에 폐색 또는 왜곡이 존재하는 등의 이유로 2차원 스켈레톤 정보에 일부 오류가 존재하는 경우에도, 3차원 스켈레톤 정보를 통해 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 또한, 2차원 스켈레톤 정보에 오류가 거의 없더라고 하더라도, 깊이 차원의 스켈레톤 정보를 더 이용함으로써 보다 완성도 높은 3차원 모델이 생성될 수 있다.
또한, 그래프 구조의 데이터에 적합한 GCN(Graph Convolutional Networks) 기반의 변환 모듈을 이용함으로써, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 정확하게 변환될 수 있다.
또한, 무게 중심 오차, 뼈 길이 오차, 관절 각도 오차 등과 같은 다양한 오차에 기초하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 크게 향상될 수 있다.
또한, 도메인의 동작 특성을 반영하여 보정된 2차원 스켈레톤 정보를 이용하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 더욱 향상될 수 있다.
또한, 2차원 이미지에서 추출된 객체 정보 등을 이용하여 3차원 모델을 보정함으로써, 대상 객체에 대한 3차원 모델이 더욱 정교하게 생성될 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 2는 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 3은 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법을 부연 설명하기 위한 예시적인 도면이다.
도 4는 본 개시의 몇몇 실시예들에 따른 2차원 스켈레톤 정보 추출 방식을 설명하기 위한 예시적인 도면이다.
도 5는 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 6은 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법을 부연 설명하기 위한 예시적인 도면이다.
도 7 내지 도 10은 본 개시의 몇몇 실시예들에 따른 변환 모듈의 구조 및 학습 방법을 설명하기 위한 예시적인 도면이다.
도 11은 본 개시의 제1 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법을 설명하기 위한 예시적인 도면이다.
도 12는 본 개시의 제2 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법을 설명하기 위한 예시적인 도면이다.
도 13은 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 14는 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법을 부연 설명하기 위한 예시적인 도면이다.
도 15는 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 또 다른 구성요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 개시에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예들에 따른 3차원 객체모델 생성 장치(1)와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 1에 도시된 바와 같이, 3차원 객체모델 생성 장치(1)는 대상 객체(target object)의 2차원 이미지(3)를 입력받고 대상 객체에 대한 3차원 모델(5)을 생성하여 출력하는 컴퓨팅 장치일 수 있다. 예를 들어, 3차원 객체모델 생성 장치(1)는 대상 객체를 촬영한 2차원 이미지(3)로부터 대상 객체에 대한 3차원 메쉬(mesh) 모델(5)을 생성할 수 있다. 3차원 객체모델 생성 장치(1)가 3차원 모델(5)을 생성하는 구체적인 방법에 관하여서는 추후 도 2 이하의 도면을 참조하여 상세하게 설명하도록 한다. 이하에서는, 설명의 편의상 3차원 객체모델 생성 장치(1)를 "생성 장치(1)"로 약칭하도록 한다.
2차원 이미지(3)는 대상 객체에 관한 이미지로서, 연속된 복수의 프레임 이미지로 구성된 비디오 이미지(도 3의 30 참조), 특정 프레임 이미지, 단일 이미지 등이 될 수 있다. 예를 들어, 2차원 이미지(3)는 대상 객체의 동작을 비디오 카메라로 촬영함으로써 획득된 비디오 이미지 또는 비디오 이미지를 구성하는 특정 프레임의 이미지일 수 있다.
대상 객체의 유형은 도시된 바와 같이 사람일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니며, 대상 객체는 다른 유형의 객체(e.g. 동물)가 될 수도 있다. 다만, 이해의 편의를 제공하기 위해, 이하에서는 대상 객체의 유형이 "사람"인 것을 가정하여 설명을 이어가도록 한다.
3차원 모델(5)의 유형은 도시된 바와 같이 메쉬 모델일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니며, 3차원 모델(5)은 다른 유형의 모델(e.g. 복셀(voxel) 모델)이 될 수도 있다. 다만, 이해의 편의를 제공하기 위해, 이하에서는 3차원 모델(5)의 유형이 "메쉬 모델"인 것을 가정하여 설명을 이어가도록 한다.
몇몇 실시예들에서는, 생성 장치(1)가 3차원 모델(5)을 이용하여 대상 객체의 동작을 분석할 수도 있다. 구체적으로, 생성 장치(1)는 대상 객체의 동작이 촬영된 비디오 이미지(즉, 복수의 프레임 이미지)로부터 대상 객체의 동작을 모사하는 3차원 모델(e.g. 5)을 연속적으로 생성할 수 있다. 그리고, 생성 장치(1)는 3차원 모델(e.g. 5)을 분석하여 대상 객체의 동작을 보다 정밀하고 정확하게 판단할 수 있다. 가령, 생성 장치(1)는 사람 객체의 동작을 모사하는 3차원 모델(e.g. 5)을 분석함으로써 동작의 정확도를 판단할 수 있다. 보다 구체적인 예로서, 생성 장치(1)는 골프 동작, 재활 운동 동작 등과 같이 사람이 행하는 운동 동작의 정확도를 판단할 수 있다. 또한, 정확도가 기준치 이하인 경우, 생성 장치(1)는 정확한 운동 동작을 모사하는 3차원 모델을 생성하여 제공할 수도 있다.
한편, 도 1은 생성 장치(1)가 하나의 컴퓨팅 장치로 구현된 것을 예로써 도시하고 있으나, 생성 장치(1)는 복수의 컴퓨팅 장치로 구현될 수도 있다. 예를 들어, 생성 장치(1)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수 있다. 또는, 생성 장치(1)의 특정 기능이 복수의 컴퓨팅 장치에서 구현될 수도 있다.
컴퓨팅 장치는 예를 들어 노트북, 데스크톱(desktop), 랩탑(laptop), 등이 될 수 있으나, 이에 한정되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 컴퓨팅 장치의 일 예시에 관하여서는 도 15를 참조하도록 한다.
지금까지 도 1을 참조하여 본 개시의 몇몇 실시예들에 따른 생성 장치(1)와 그의 입출력 데이터에 대하여 설명하였다. 이하에서는, 도 2 이하의 도면을 참조하여 생성 장치(1)에서 수행될 수 있는 3차원 객체모델 생성 방법에 대하여 상세하게 설명하도록 한다.
이하에서 후술될 3차원 객체모델 생성 방법의 각 단계는 컴퓨팅 장치(e.g. 1)의 프로세서에 의해 실행될 수 있는 하나 이상의 인스트럭션들(instructions)로 구현될 수 있다. 예를 들어, 후술될 방법의 각 단계는 생성 장치(1)의 프로세서에 의해 실행될 수 있는 하나 이상의 인스트럭션들로 구현될 수 있다. 이하에서는, 이해의 편의를 제공하기 위해, 후술될 방법의 모든 단계가 도 1에 예시된 생성 장치(1)에 의해 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계(동작)의 주어가 생략된 경우 생성 장치(1)에 의하여 수행되는 것으로 이해될 수 있다. 다만, 경우에 따라 후술될 방법의 일부 단계는 다른 컴퓨팅 장치에서 수행될 수도 있다.
도 2는 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 2에 도시된 바와 같이, 본 실시예에 따른 방법은 2차원 이미지에서 객체 정보를 추출하는 단계 S120에서 시작될 수 있다. 구체적으로, 도 3에 도시된 바와 같이, 생성 장치(1)는 추출 모듈(10)을 통해 대상 객체의 2차원 이미지(31)에서 다양한 객체 정보(32)를 추출할 수 있다. 2차원 이미지(31)는 예를 들어 비디오 이미지(30)를 구성하는 복수의 프레임 이미지 중 하나일 수 있다.
객체 정보(32)는 예를 들어 자세(pose) 정보, 모양(shape) 정보, 방향(orientation) 정보, 신체 부위(body part) 정보, 동작 정보, 뼈 정보, 관절 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
자세 정보는 예를 들어 자세의 클래스(class), 2차원 스켈레톤 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 2차원 스켈레톤 정보는 예를 들어 관절 등의 부위에 대응되는 키포인트(key-point)의 2차원 위치 좌표와 키포인트의 연결 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 모양 정보는 신체 전체 또는 부위의 모양 또는 부피 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 방향 정보는 대상 객체 또는 카메라의 방향 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 신체 부위 정보는 신체 부위 별 면적, 무게 중심 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 동작 정보는 동작 클래스, 키포인트의 이동 속도 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 뼈 정보는 뼈의 길이, 방향성 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 뼈의 길이는 예를 들어 2차원 스켈레톤을 구성하는 키포인트 사이의 거리에 기초하여 산출될 수 있을 것이나, 이에 한정되는 것은 아니다.
또한, 관절 정보는 관절의 각도 등에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 관절의 각도는 예를 들어 2차원 스켈레톤을 구성하는 키포인트가 이루는 각도에 기초하여 산출될 수 있을 것이나, 이에 한정되는 것은 아니다.
추출 모듈(10)은 객체 정보(32)에 대한 추출 기능을 구비한 모듈로서, 어떠한 방식으로 구현되더라도 무방하다. 가령, 추출 모듈(10)은 이미지 분석에 특화된 CNN(Convolutional Neural Networks) 기반의 딥러닝 모듈로 구현될 수도 있고, 딥러닝에 기반하지 않은 이미지 분석 모듈(e.g. 에지 검출 모듈 등)로 구현될 수도 있다.
또한, 추출 모듈(10)은 복수개의 모듈로 구성될 수도 있다. 가령, 추출 모듈(10)은 대상 객체의 자세 정보(e.g. 2차원 스켈레톤 정보)를 추출하는 모듈, 신체 부위 정보를 추출하는 모듈 등을 포함하도록 구성될 수도 있다.
보다 구체적인 예로서, 도 4에 도시된 바와 같이, 추출 모듈(10)은 CPM(Convolutional Pose Machine) 기반의 딥러닝 모듈(11)을 포함할 수 있고, 생성 장치(1)는 딥러닝 모듈(11)을 통해 2차원 이미지(31)에서 관절 등에 대응되는 복수의 키포인트(e.g. 34)를 검출함으로써 2차원 스켈레톤 정보(35)를 추출할 수 있다. 앞서 언급한 바와 같이, 2차원 스켈레톤 정보(35)는 검출된 키포인트(e.g. 34)와 이의 2차원 좌표(e.g. X1, Y1)로 구성된 정보일 수 있다. 당해 기술 분야의 종사자라면, CPM의 구조 및 동작 원리에 대하여 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.
다시 도 2를 참조하여 설명한다.
단계 S140에서, 추출된 객체 정보를 기초로 대상 객체에 대한 3차원 모델이 생성될 수 있다. 구체적으로, 도 3에 도시된 바와 같이, 생성 장치(1)는 생성 모듈(20)을 통해 객체 정보(32)로부터 대상 객체에 대한 3차원 모델(33)을 생성할 수 있다.
생성 모듈(20)은 객체 정보(32)를 기초로 3차원 모델을 생성하는 모델로서, 어떠한 방식으로 구현되더라도 무방하다. 가령, 생성 모듈(20)은 객체 정보(32)를 파라미터로 이용하여 대상 객체에 대한 3차원 메쉬 모델을 생성(렌더링)하는 모듈일 수 있다. 보다 구체적인 예로서, 대상 객체가 사람인 경우, 생성 모듈(20)은 예를 들어 SMPL(Skinned Multi-Person Linear Model) 기반의 모듈일 수 있다. 그러나, 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, SMPL에 대해 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.
지금까지 도 2 내지 도 4를 참조하여 본 개시의 제1 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 2차원 이미지에서 자세 정보(e.g. 2차원 스켈레톤 정보), 신체 부위 정보, 모양 정보 등과 같은 다양한 객체 정보를 추출하고, 추출된 객체 정보를 이용함으로써 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다.
이하에서는, 도 5 내지 도 12를 참조하여 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.
도 5는 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 5에 도시된 바와 같이, 본 실시예에 따른 방법은 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환함으로써 대상 객체에 대한 3차원 모델을 보다 정확하게 생성하는 방법에 관한 것이다.
도시된 바와 같이, 본 실시예에 따른 방법 또한 대상 객체의 2차원 이미지에서 객체 정보를 추출하는 단계 S220에서 시작될 수 있다. 구체적으로, 도 6에 도시된 바와 같이, 생성 장치(1)는 추출 모듈(10)을 통해 2차원 이미지(51)에서 객체 정보(52)를 추출할 수 있다. 본 단계 S220은 상술한 단계 S120과 동일한 바, 이에 대한 설명은 생략하도록 한다.
단계 S240에서, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 변환될 수 있다. 구체적으로, 도 6에 도시된 바와 같이, 생성 장치(1)는 변환 모듈(40)을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환할 수 있다. 예를 들어, 생성 장치(1)는 2차원 스켈레톤 정보와 객체 정보(52)를 변환 모듈(40)에 입력하고 변환 모듈(40)로부터 3차원 스켈레톤 정보를 획득할 수 있다. 여기서, 3차원 스켈레톤 정보는 키포인트의 위치 좌표가 3차원 좌표(즉, 깊이 정보를 더 포함함)로 이루어진 스켈레톤 정보를 의미할 수 있다.
본 개시의 다양한 실시예들에서, 변환 모듈(40)은 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하도록 학습된 딥러닝 모듈일 수 있다. 변환 모듈(40)의 구조 및 학습 방법에 관하여서는 추후 도 7 내지 도 12를 참조하여 상세하게 설명하도록 한다.
다시 도 5를 참조하여 설명한다.
단계 S260에서, 3차원 스켈레톤 정보와 그 외의 다른 객체 정보를 기초로 대상 객체에 대한 3차원 모델이 생성될 수 있다. 구체적으로, 도 6에 도시된 바와 같이, 생성 장치(1)는 생성 모듈(20)을 통해 3차원 스켈레톤 정보와 다른 객체 정보(52)로부터 대상 객체에 대한 3차원 모델(53)을 생성할 수 있다. 이러한 경우, 대상 객체의 3차원 모델(53)이 더욱 정확하게 생성될 수 있는데, 이는 3차원 스켈레톤 정보가 추가 정보(즉, 깊이 정보)를 제공할 수 있고, 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서 2차원 스켈레톤 정보에 포함된 오류가 보정될 수 있기 때문이다. 가령, 2차원 이미지에 폐색(occlusion) 또는 왜곡이 존재하는 경우 2차원 스켈레톤 정보에 일부 오류가 포함될 수 있는데, 변환 모듈(40)이 객체 정보(52)를 반영하여 3차원 스켈레톤 정보를 생성하는 과정에서 이러한 오류 정보가 보정될 수 있다.
단계 S260은 상술한 단계 S140과 거의 동일한 바, 더 이상의 설명은 생략하도록 한다.
이하에서는, 도 7 내지 도 12를 참조하여 변환 모듈(40)의 구조, 학습 방법 및 변환 정확도 향상 방법에 관한 다양한 실시예들에 대하여 설명하도록 한다. 또한, 이해의 편의를 제공하기 위해, 도면에 따라 변환 모듈(40)의 참조 번호가 변경해가며 설명을 이어가도록 한다.
상술한 바와 같이, 변환 모듈(40)은 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하도록 학습된 딥러닝 모듈일 수 있다. 구체적으로, 변환 모듈(40)은 객체 정보(즉, 2차원 스켈레톤 정보 외의 객체 정보; 도 6의 Feature)를 고려하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하도록 학습된 딥러닝 모듈일 수 있다.
변환 모듈(40)은 다양한 유형의 딥러닝 모듈로 구현될 수 있다.
몇몇 실시예들에서는, 도 7에 도시된 바와 같이, 변환 모듈(41)이 GCN(Graph Convolutional Networks) 기반의 딥러닝 모듈로 구현될 수 있다. 이러한 경우, 변환 모듈(41)의 성능(즉, 변환 정확도)이 크게 향상될 수 있는데, 이는 2차원 스켈레톤 정보(61)가 그래프 구조를 갖기 때문에, GCN을 이용하면 2차원 스켈레톤 정보(61)에 내포된 특징들이 잘 추출될 수 있기 때문이다. 또한, 객체 정보(e.g. 52)도 키포인트(즉, 그래프의 노드) 또는 키포인트 간의 관계(즉, 그래프의 간선)에 관한 특징 정보이기 때문에(e.g. 뼈 정보는 간선의 특징 정보로 볼 수 있음), GCN을 이용하면 2차원 스켈레톤 정보(61)와 객체 정보(e.g. 52)를 종합적으로 고려하여 정보 변환에 필요한 특징들이 잘 추출될 수 있기 때문이다. 당해 기술 분야의 종사자라면, GCN의 구조 및 동작 원리에 대하여 충분히 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다. 본 실시예에서, 2차원 스켈레톤 정보(61)는 인접 매트릭스(63; Adj-M)와 피처 매트릭스(62; Fea-M)의 형태로 변환 모듈(41)에 입력될 수 있다. 가령, 키포인트의 연결 정보는 인접 매트릭스(63) 형태로 입력되고, 키포인트의 위치 좌표는 피처 매트릭스(62)의 형태로 입력될 수 있다. 또한, 다양한 객체 정보(e.g. 52)도 피처 매트릭스(e.g. 62)의 형태로 변환 모듈(41)에 입력될 수 있다.
변환 모듈(40)의 세부 구조는 다양하게 설계 및 구현될 수 있다.
몇몇 실시예들에서는, 도 8에 도시된 바와 같이, 변환 모듈(42)이 인코더(E; Encoder) 및 디코더(D; Decoder) 구조의 딥러닝 모듈로 구현될 수 있다. 이러한 딥러닝 모듈의 예로는 오토인코더(auto-encoder), VAE(Variational AutoEncoder), U-net, W-net 등을 들 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에서, 인코더(E)는 입력된 2차원 스켈레톤 정보(71)와 객체 정보(미도시)로부터 특징 데이터(e.g. 잠재 벡터)를 추출할 수 있고, 디코더(D)는 추출된 특징 데이터를 디코딩하여 3차원 스켈레톤 정보(72)를 출력할 수 있다. 그리고, 인코더(E) 및/또는 디코더(D)는 GCN 기반으로 이루어질 수 있다.
또한, 몇몇 실시예들에서는, 도 9에 도시된 바와 같이, 변환 모듈(43)을 구성하는 인코더(UE) 및 디코더(UD)가 개념적으로 U자형 구조를 가질 수 있다. 그리고, 인코더(UE) 및/또는 디코더(UD)는 GCN 기반으로 이루어질 수 있다. 본 실시예에서, 인코더(UE)는 입력된 2차원 스켈레톤 정보와 객체 정보에 대해 다운샘플링(down-sampling) 프로세스를 수행하여 추상화 레벨이 상이한 복수의 특징 데이터(e.g. 73 내지 75)를 추출할 수 있다. 가령, 인코더(UE)는 복수의 GCN 블록(레이어)를 통해 그래프 컨볼루션(graph convolution) 연산을 반복적으로 수행함으로써 보다 집약된 특징을 갖는 데이터(e.g. 특징 데이터 75는 특징 데이터 74보다 집약된 특징을 포함하고 있음)를 연속적으로 추출할 수 있다. 그리고, 디코더(UD)는 추출된 복수의 추출 데이터(e.g. 73 내지 75)에 대해 업샘플링(up-sampling) 프로세스를 수행할 수 있다. 본 실시예에 따른 변환 모듈(43)은 인코더(UE)에 의해 추출된 특징 데이터(e.g. 73 내지 75)와 디코더(UD)에 의해 생성된 특징 데이터(e.g. 76, 77)를 함께 활용함으로써 높은 변환 정확도를 보장할 수 있다. 경우에 따라, 변환 모듈(43)은 도 9에 예시된 U자형 구조가 반복적으로 형성되어 있는 W자형 구조를 가질 수도 있다.
변환 모듈(40)은 하나 이상의 딥러닝 모듈로 구성될 수 있다.
몇몇 실시예들에서는, 변환 모듈(40)이 하나의 딥러닝 모듈로 구성될 수 있다. 예를 들어, 변환 모듈(40)은 2차원 스켈레톤 정보와 다양한 객체 정보(e.g. 뼈 정보, 관절 정보, 신체 부위 정보 등)를 입력받고 3차원 스켈레톤 정보를 출력하도록 학습된 딥러닝 모듈일 수 있다. 이러한 경우, 변환 모듈(40)은 다양한 객체 정보를 종합적으로 고려하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보를 변환할 수 있게 된다.
다른 몇몇 실시예들에서는, 변환 모듈(40)이 서로 다른 객체 정보를 입력받는 복수개의 딥러닝 모듈로 구성될 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 변환 모듈(40)이 서로 다른 객체 정보(72, 74)를 입력받는 제1 딥러닝 모듈(44)과 제2 딥러닝 모듈(45)을 포함하도록 구성될 수 있다. 여기서, 제1 딥러닝 모듈(44)은 2차원 스켈레톤 정보(81)와 제1 객체 정보(82; e.g. 뼈 정보)를 입력받아 3차원의 제1 스켈레톤 정보(83)를 출력할 수 있고, 제2 딥러닝 모듈(45)은 2차원 스켈레톤 정보(81)와 제2 객체 정보(84; e.g. 관절 정보)를 입력받아 3차원의 제2 스켈레톤 정보(85)를 출력할 수 있다. 이러한 경우, 생성 장치(1)는 제1 스켈레톤 정보(83)와 제2 스켈레톤 정보(85)를 종합(e.g. 평균 등)하여 생성 모듈(20)로 입력될 3차원 스켈레톤 정보를 산출할 수 있다. 참고로, 딥러닝 모듈(44, 45)이 GCN 기반의 모듈인 경우, 객체 정보(82, 84)는 피처 매트릭스의 형태로 딥러닝 모듈(44, 45)에 입력될 수 있다.
변환 모듈(40)은 학습용 2차원 스켈레톤 정보, 학습용 객체 정보 및 정답 정보(즉, 3차원 스켈레톤 정답 정보)로 구성된 학습 데이터를 이용하여 학습될 수 있다. 가령, 변환 모듈(40)은 학습용 2차원 스켈레톤 정보 및 학습용 객체 정보로부터 예측된 3차원 스켈레톤 정보(이하, "예측 정보"로 약칭함)와 정답 정보 간의 오차를 감소시키는 방향으로 학습될 수 있다. 다만, 구체적인 오차의 종류는 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서, 변환 모듈(40)은 무게 중심 오차에 기초하여 학습될 수 있다. 여기서, 무게 중심 오차는 예측 정보로부터 산출된 무게 중심과 정답 정보로부터 산출된 무게 중심의 차이에 기초하여 산출될 수 있다. 또는, 무게 중심 오차는 변환 모듈(40)에 입력된 학습용 2차원 스켈레톤 정보로부터 산출된 무게 중심과 예측 정보로부터 산출된 무게 중심의 차이에 기초하여 산출될 수도 있다. 본 실시예에서, 무게 중심 오차는 신체 부위 별로 산출될 수도 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에 따르면, 변환 모듈(40)이 입력된 2차원 스켈레톤 정보의 무게 중심을 더욱 고려하여 3차원 스켈레톤 정보를 예측할 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 뼈 길이 오차에 기초하여 학습될 수 있다. 여기서, 뼈 길이 오차는 예측 정보로부터 산출된 뼈 길이와 정답 정보로부터 산출된 뼈 길이의 차이에 기초하여 산출될 수 있다. 앞서 언급한 바와 같이, 뼈 길이는 키포인트 간의 거리에 기초하여 산출될 수 있다. 본 실시예에 따르면, 변환 모듈(40)이 입력된 2차원 스켈레톤 정보 또는 뼈 정보에 따른 뼈 길이를 더욱 고려하여 3차원 스켈레톤 정보를 예측할 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 관절의 각도 오차에 기초하여 학습될 수 있다. 여기서, 관절의 각도 오차는 예측 정보로부터 산출된 관절 각도와 정답 정보로부터 산출된 관절 각도의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 변환 모듈(40)이 입력된 2차원 스켈레톤 정보 또는 관절 정보에 따른 관절 각도를 더욱 고려하여 3차원 스켈레톤 정보를 예측할 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 대칭 오차에 기초하여 학습될 수 있다. 예를 들어, 변환 모듈(40)에 입력된 학습용 2차원 스켈레톤이 대칭 구조를 갖는 경우(e.g. 상하대칭, 좌우대칭), 예측된 3차원 스켈레톤의 대칭 정도에 기초한 오차를 감소시키는 방향으로 변환 모듈(40)이 학습될 수 있다. 본 실시예에 따르면, 대칭 구조를 갖는 2차원 스켈레톤에 대한 변환 정확도가 보다 향상될 수 있게 된다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 프로젝션(projection) 오차에 기초하여 학습될 수 있다. 여기서, 프로젝션 오차는 프로젝션 연산을 통해 예측 정보로부터 생성된 2차원 스켈레톤 정보와, 변환 모듈(40)에 입력된 학습용 2차원 스켈레톤 정보와의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 프로젝션 오차를 더 학습함으로써 변환 모듈(40)의 성능이 더욱 향상될 수 있다.
또한, 몇몇 실시예들에서, 변환 모듈(40)은 상술한 다양한 실시예들의 조합에 기초하여 학습될 수도 있다.
이하에서는, 도 11 및 도 12를 참조하여 스켈레톤 정보의 변환 정확도를 보다 향상시킬 수 있는 방법에 대하여 설명하도록 한다.
먼저, 도 11을 참조하여 본 개시의 제1 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
도 11에 도시된 바와 같이, 본 실시예는 도메인의 동작 특성을 이용하여 보정된 2차원 스켈레톤 정보(91)를 이용하여 변환 모듈(46)을 학습시킴으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
구체적으로, 대상 객체의 도메인은 대상 객체의 동작 특성에 기초하여 구분되도록 정의될 수 있다. 다시 말해, 공통된 동작 특성을 공유하는 객체들이 동일한 도메인에 속할 수 있다. 가령, 대상 객체의 도메인은 축구(즉, 축구 동작과 관련된 객체), 골프, 재활 치료 등과 같이 구분될 수 있다. 다른 예로서, 대상 객체의 도메인은 발 동작(즉, 발 동작과 관련된 객체), 손 동작 등과 같이 구분될 수도 있다. 또 다른 예로서, 대상 객체의 도메인은 골프와 관련된 제1 동작, 골프와 관련된 제2 동작 등과 같이 보다 세분화된 형태로 정의될 수도 있다.
위와 같은 경우, 도메인의 동작 특성에 기초하여 학습용 2차원 스켈레톤 정보(91)가 보정될 수 있다. 그리고, 보정된 2차원 스켈레톤 정보(92)를 이용하여 변환 모듈(46)을 학습시킴으로써, 변환 모듈(46)의 성능이 향상될 수 있다. 이때, 2차원 스켈레톤 정보(91)의 보정은 예를 들어 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가, 연결선 강화(e.g. 연결선을 나타내는 인접 매트릭스 값 증폭) 등을 포함할 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
예를 들어, 도시된 바와 같이, 대상 객체의 도메인이 골프라고 가정하자. 그러면, 골프 동작의 특성 상 양손이 자주 이용되므로, 2차원 스켈레톤 정보(91)에서 양손에 대응되는 키포인트 사이에 신규 연결선(93)을 추가하거나, 손 부위에 대응되는 키포인트의 연결선을 강화하는 방식으로 보정이 수행될 수 있다. 그리고, 보정된 2차원 스켈레톤 정보(92)를 이용하여 변환 모듈(46)이 학습될 수 있다. 이러한 경우, 변환 모듈(46)이 골프 도메인의 동작과 관련된 신체 부위에 보다 집중하여 3차원 스켈레톤 정보(94)를 예측하게 되므로, 변환 모듈(46)의 성능(즉, 스켈레톤 정보의 변환 정확도)이 크게 향상될 수 있다.
다른 예로서, 대상 객체의 도메인이 축구라고 가정하자. 그러면, 축구 동작의 특성 상 발이 자주 이용되므로, 2차원 스켈레톤 정보에서 양발에 대응되는 키포인트 사이에 신규 연결선을 추가하거나, 발 부위에 대응되는 키포인트의 연결선을 강화하는 방식으로 보정이 수행될 수 있다.
참고로, 학습된 변환 모듈(46)을 이용하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서도, 대상 객체의 도메인 정보에 기초하여 2차원 스켈레톤 정보가 보정되고, 보정된 2차원 스켈레톤 정보가 변환 모듈(46)에 입력될 수 있다.
이하에서는, 도 12를 참조하여 본 개시의 제2 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
도 12에 도시된 바와 같이, 본 실시예는 대상 객체의 도메인 별로 변환 모듈(47, 48)을 구축함으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
예를 들어, 제1 도메인에 속한 학습 데이터를 학습하여 제1 변환 모듈(47)이 구축되고, 제2 도메인에 속한 학습 데이터를 학습하여 제2 변환 모듈(48)이 구축될 수 있다. 이러한 경우, 제1 변환 모듈(47)은 입력된 2차원 스켈레톤 정보(94)를 제1 도메인의 특성(e.g. 동작 특성)이 반영된 3차원 스켈레톤 정보(95)로 변환할 수 있게 되고, 제2 변환 모듈(48)은 입력된 2차원 스켈레톤 정보(96)를 제2 도메인의 특성이 반영된 3차원 스켈레톤 정보(97)로 변환할 수 있게 된다.
본 실시예에서, 생성 장치(1)는 복수개의 변환 모듈(47, 48) 중에서 대상 객체의 도메인에 대응되는 변환 모듈을 결정하고, 결정된 변환 모듈을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환할 수 있다.
이하에서는, 본 개시의 제3 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
본 실시예서는, 도메인 정보를 포함하는 학습 데이터로 변환 모듈(40)을 학습시킴으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
구체적으로, 학습용 2차원 스켈레톤 정보, 객체 정보, 도메인 정보 및 정답 정보로 구성된 학습 데이터를 이용하여 변환 모듈(40)이 학습될 수 있다. 가령, 학습용 2차원 스켈레톤 정보, 객체 정보 및 도메인 정보가 변환 모듈(40)로 입력되고, 변환 모듈(40)이 예측한 3차원 스켈레톤 정보와 정답 정보 간의 오차를 감소시키는 방향으로 변환 모듈(40)이 학습될 수 있다. 이러한 경우, 변환 모듈(40)이 대상 객체의 도메인 특성(e.g. 동작 특성)을 반영하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환할 수 있게 된다.
참고로, 학습된 변환 모듈(40)을 이용하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서도, 대상 객체의 도메인 정보가 변환 모듈(40)에 입력될 수 있다.
이하에서는, 본 개시의 제4 실시예에 따른 스켈레톤 정보의 변환 정확도 향상 방법에 대하여 설명하도록 한다.
본 실시예는 스켈레톤을 구성하는 키포인트의 이동 속도에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 변환 모듈(40)을 학습시킴으로써, 스켈레톤 정보의 변환 정확도를 향상시키는 방법에 관한 것이다.
구체적으로, 대상 객체의 2차원 이미지가 연속된 복수의 프레임 이미지로 구성된 경우, 2차원 스켈레톤 정보와 함께 키포인트의 이동 속도가 추출될 수 있다. 그리고, 이동 속도가 기준치 이상인 키포인트 간의 연결선을 보정(e.g. 신규 연결선 추가, 연결선 강화)함으로써 생성된 학습용 2차원 스켈레톤 정보를 이용하여 변환 모듈(40)이 학습될 수 있다. 이러한 경우, 변환 모듈(40)이 움직임이 상대적으로 큰 신체 부위에 집중하여 3차원 스켈레톤 정보를 예측할 수 있게 되므로, 스켈레톤 정보의 변환 정확도가 향상될 수 있다.
참고로, 학습된 변환 모듈(40)을 이용하여 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 과정에서도, 키포인트의 이동 속도에 기초하여 2차원 스켈레톤 정보가 보정되고, 보정된 2차원 스켈레톤 정보가 변환 모듈(40)로 입력될 수 있다.
지금까지 도 5 내지 12를 참조하여 본 개시의 제2 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 변환 모듈(40)을 통해 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 변환되고, 3차원 스켈레톤 정보와 객체 정보를 기초로 3차원 모델이 생성될 수 있다. 이에 따라, 대상 객체에 대한 3차원 모델이 보다 정확하게 생성될 수 있다. 가령, 2차원 이미지에 폐색 또는 왜곡이 존재하는 등의 이유로 2차원 스켈레톤 정보에 일부 오류가 존재하는 경우에도, 대상 객체에 대한 3차원 모델이 정확하게 생성될 수 있다. 또한, 2차원 스켈레톤 정보에 오류가 거의 없더라도, 생성 모듈(20)에 깊이 차원의 스켈레톤 정보를 더 제공함으로써 보다 완성도 높은 3차원 모델이 생성될 수 있다.
또한, 그래프 구조의 데이터에 적합한 GCN 기반의 변환 모듈을 이용함으로써, 2차원 스켈레톤 정보가 3차원 스켈레톤 정보로 정확하게 변환될 수 있다.
또한, 무게 중심 오차, 뼈 길이 오차, 관절 각도 오차 등과 같은 다양한 오차에 기초하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 크게 향상될 수 있다.
또한, 도메인의 동작 특성을 반영하여 2차원 스켈레톤 정보를 보정하고, 보정된 2차원 스켈레톤 정보를 이용하여 변환 모듈을 학습시킴으로써, 스켈레톤 정보의 변환 정확도가 더욱 향상될 수 있다.
이하에서는, 도 13 및 도 14를 참조하여 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하도록 한다. 다만, 본 개시의 명료함을 위해, 앞선 실시예들과 중복되는 내용에 대한 설명은 생략하도록 한다.
도 13은 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 13에 도시된 바와 같이, 본 실시예에 따른 방법은 2차원 이미지에서 추출된 객체 정보를 이용하여 3차원 모델을 보정함으로써 대상 객체에 대한 3차원 모델을 보다 정확하게 생성하는 방법에 관한 것이다.
단계 S320 내지 S360은 각각 상술한 단계 S220 내지 S260과 동일한 바, 이에 대한 설명은 생략하도록 한다.
단계 S380에서, 대상 객체에 대한 3차원 모델이 보정될 수 있다. 다만, 구체적인 보정 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 도 14에 도시된 바와 같이, 2차원 이미지(111)에서 추출된 객체 정보(112; e.g. 2차원 스켈레톤 정보, 뼈 정보, 관절 정보)를 기초로 3차원 모델(113)이 보정될 수 있다. 구체적으로, 생성 장치(1)는 3차원 모델(113)에서 3차원 스켈레톤 정보를 추출하고, 보정 모듈(100)을 통해 3차원 스켈레톤 정보를 보정할 수 있다. 그리고, 생성 장치(1)는 보정된 3차원 스켈레톤 정보와 객체 정보(112)를 생성 모듈(20)에 제공하여 대상 객체에 대한 3차원 모델(113)을 다시 생성할 수 있다. 본 실시예에서, 보정 모듈(100)은 입력된 3차원 스켈레톤 정보를 입력된 객체 정보에 부합하도록 보정하는 기능을 수행할 수 있다. 본 실시예에 따르면, 3차원 모델(113)이 2차원 이미지(111)에서 추출된 객체 정보(112)에 부합하도록 보정됨으로써, 3차원 모델(113)의 정확도를 더욱 향상시킬 수 있다. 부연 설명하면, 객체 정보(112)는 2차원 이미지(111)에서 곧바로 추출된 정보이기 때문에 비교적 정확도가 높은 정보이다. 다만, 객체 정보(112)는 대부분 2차원적인 정보이기 때문에, 생성 모듈(20)이 이를 토대로 3차원 모델(113)을 생성하는 과정에서 오차가 발생할 수 있다. 따라서, 3차원 모델(113)이 객체 정보(112)에 부합하도록 보정하는 과정을 더 수행하면, 생성 모듈(20)의 오차가 최소화되어 보다 정교한 형태의 3차원 모델(113)이 생성될 수 있다.
앞선 실시예들에서, 보정 모듈(100)은 딥러닝 모듈로 구현될 수도 있고, 다른 유형의 모듈로 구현될 수도 있다. 예를 들어, 보정 모듈(100)은 3차원 스켈레톤 정보와 객체 정보(112)를 입력받고 보정된 3차원 스켈레톤 정보를 출력하도록 학습된 딥러닝 모듈로 구현될 수 있다. 보정 모듈(100)은 상술한 변환 모듈(40)과 동일 또는 유사한 구조를 갖고, 동일 또는 유사한 방식으로 학습됨으로써 구현될 수 있다. 다른 예로서, 보정 모듈(100)은 객체 정보(112)에 따라 입력된 3차원 스켈레톤 정보에 대해 소정의 보정 로직(logic)을 수행하는 모듈로 구현될 수도 있다.
다른 몇몇 실시예들에서는, 3차원 모델(e.g. 113)에서 추출된 3차원의 객체 정보(e.g. 3차원 스켈레톤 정보, 3차원의 뼈 정보, 3차원의 관절 정보, 3차원의 신체 부위 정보 등)를 기초로 3차원 모델(e.g. 113)이 보정될 수 있다. 구체적으로, 생성 장치(1)는 딥러닝 기반의 보정 모듈(e.g. 100)을 이용하여 입력된 3차원 객체 정보를 보정할 수 있다. 가령, 보정 모듈(e.g. 100)은 보정 전의 3차원 스켈레톤 정보, 3차원 객체 정보 및 보정된 3차원 스켈레톤 정보로 구성된 학습 데이터를 학습한 딥러닝 모듈일 수 있다. 본 실시예에 따른 보정 모듈(e.g. 100)도 상술한 변환 모델(40)과 동일 또는 유사한 구조를 갖고, 동일 또는 유사한 방식으로 학습됨으로써 구현될 수 있다.
한편, 본 개시의 몇몇 실시예들에서는, 생성 장치(1)가 3차원 모델의 생성 정확도를 판단하고, 판단된 정확도가 기준치 이하라는 판단에 응답하여 보정 단계 S380을 수행할 수도 있다. 가령, 생성 장치(1)는 3차원 모델에서 3차원 스켈레톤 정보를 추출하고, 프로젝션 연산을 통해 3차원 스켈레톤 정보를 2차원 스켈레톤 정보로 변환할 수 있다. 그리고, 생성 장치(1)는 변환된 2차원 스켈레톤 정보와 2차원 이미지에서 추출된 2차원 스켈레톤 정보와의 차이에 기초하여 3차원 모델의 생성 정확도를 판단할 수 있다. 본 실시예에 따르면, 3차원 모델의 생성 정확도가 기준치 이하인 경우에 한하여 보정 단계 S380을 수행함으로써, 생성 장치(1)에 투입되는 컴퓨팅 비용이 절감될 수 있다.
지금까지 도 13 및 도 14를 참조하여 본 개시의 제3 실시예에 따른 3차원 객체모델 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 2차원 이미지에서 추출된 객체 정보 등을 이용하여 3차원 모델을 보정함으로써, 대상 객체에 대한 3차원 모델이 더욱 정교하게 생성될 수 있다.
이하에서는, 본 개시의 몇몇 실시예들에 따른 생성 장치(1)를 구현할 수 있는 예시적인 컴퓨팅 장치(120)에 대하여 설명하도록 한다.
도 15는 컴퓨팅 장치(120)를 나타내는 예시적인 하드웨어 구성도이다.
도 15에 도시된 바와 같이, 컴퓨팅 장치(120)는 하나 이상의 프로세서(121), 버스(123), 통신 인터페이스(124), 프로세서(121)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(122)와, 컴퓨터 프로그램(126)을 저장하는 스토리지(125)를 포함할 수 있다. 다만, 도 15에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 15에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(120)에는, 도 15에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 15에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(120)가 구성될 수도 있다. 이하, 컴퓨팅 장치(120)의 각 구성요소에 대하여 설명한다.
프로세서(121)는 컴퓨팅 장치(120)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(121)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(121)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(120)는 하나 이상의 프로세서를 구비할 수 있다.
다음으로, 메모리(122)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(122)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(125)로부터 하나 이상의 프로그램(126)을 로드할 수 있다. 메모리(122)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
다음으로, 버스(123)는 컴퓨팅 장치(120)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(123)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
다음으로, 통신 인터페이스(124)는 컴퓨팅 장치(120)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(124)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(124)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 경우에 따라, 통신 인터페이스(124)는 생략될 수도 있다.
다음으로, 스토리지(125)는 하나 이상의 컴퓨터 프로그램(126)을 비임시적으로 저장할 수 있다. 스토리지(125)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
다음으로, 컴퓨터 프로그램(126)은 메모리(122)에 로드될 때 프로세서(121)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(121)는 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(126)은 대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작, 딥러닝 모듈을 통해 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및 3차원 스켈레톤 정보를 기초로 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(120)를 통해 본 개시의 몇몇 실시예들에 따른 생성 장치(1)가 구현될 수 있다.
지금까지 도 1 내지 도 15를 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 개시의 실시예를 구성하는 모든 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리;
    상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 동작,
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 동작 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 동작을 수행하는 프로세서를 포함하는,
    3차원 객체모델 생성 장치.
  2. 제1 항에 있어서,
    상기 딥러닝 모듈은,
    GCN(Graph Convolutional Networks) 기반의 모듈이고,
    상기 2차원 스켈레톤 정보를 입력받아 특징 데이터를 추출하는 인코더와 상기 추출된 특징 데이터를 디코딩하여 상기 3차원 스켈레톤 정보를 출력하는 디코더를 포함하는,
    3차원 객체모델 생성 장치.
  3. 제2 항에 있어서,
    상기 인코더는 다운샘플링 프로세스를 수행하여 추상화 레벨이 상이한 복수의 특징 데이터를 추출하고,
    상기 디코더는 상기 복수의 특징 데이터를 이용하여 업샘플링 프로세스를 수행하는,
    3차원 객체모델 생성 장치.
  4. 제1 항에 있어서,
    상기 프로세서는 상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고,
    상기 변환하는 동작은,
    상기 2차원 스켈레톤 정보와 상기 다른 객체 정보를 상기 딥러닝 모듈에 입력하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함하는,
    3차원 객체모델 생성 장치.
  5. 제4 항에 있어서,
    상기 다른 객체 정보는,
    뼈의 길이를 포함하는 뼈 정보,
    관절의 각도를 포함하는 관절 정보 및
    신체 부위의 면적을 포함하는 신체 부위 정보 중 적어도 하나를 포함하는,
    3차원 객체모델 생성 장치.
  6. 제4 항에 있어서,
    상기 딥러닝 모듈은 상기 추가 객체 정보 중 제1 객체 정보를 입력받는 제1 딥러닝 모듈과 제2 객체 정보를 입력받는 제2 딥러닝 모듈을 포함하고,
    상기 획득하는 동작은,
    상기 제1 딥러닝 모듈을 통해 출력된 제1 스켈레톤 정보와 상기 제2 딥러닝 모듈을 통해 출력된 제2 스켈레톤 정보를 종합하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함하는,
    3차원 객체모델 생성 장치.
  7. 제1 항에 있어서,
    상기 딥러닝 모듈은 학습용 2차원 스켈레톤 정보로부터 예측된 3차원 스켈레톤 정보와 정답 정보 간의 오차에 기초하여 학습된 것이고,
    상기 오차는 무게 중심 오차, 뼈 길이 오차 및 관절의 각도 오차 중 적어도 하나를 포함하는,
    3차원 객체모델 생성 장치.
  8. 제1 항에 있어서,
    상기 딥러닝 모듈은 객체의 도메인 정보에 기초하여 보정된 2차원 스켈레톤 정보를 이용하여 학습된 것이고,
    상기 보정은 스켈레톤을 구성하는 키포인트 간의 신규 연결선 추가 및 연결선 강화 중 적어도 하나를 포함하되,
    상기 도메인은 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    3차원 객체모델 생성 장치.
  9. 제1 항에 있어서,
    상기 딥러닝 모듈의 학습용 2차원 스켈레톤 정보는 연속된 프레임 이미지에서 추출된 2차원 스켈레톤 정보를 키포인트의 이동 속도에 기초하여 키포인트 간의 연결선을 보정함으로써 생성된 것인,
    3차원 객체모델 생성 장치.
  10. 제1 항에 있어서,
    상기 딥러닝 모듈은 복수개이고,
    상기 변환하는 동작은,
    상기 복수개의 딥러닝 모듈 중에서 상기 대상 객체의 도메인에 대응되는 딥러닝 모듈을 결정하는 동작 및
    상기 결정된 딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 상기 3차원 스켈레톤 정보로 변환하는 동작을 포함하되,
    상기 도메인은 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    3차원 객체모델 생성 장치.
  11. 제1 항에 있어서,
    상기 변환하는 동작은,
    상기 2차원 스켈레톤 정보와 상기 대상 객체의 도메인 정보를 상기 딥러닝 모듈에 입력하여 상기 3차원 스켈레톤 정보를 획득하는 동작을 포함하되,
    상기 도메인은 객체의 동작 특성에 기초하여 구분되도록 정의된 것인,
    3차원 객체모델 생성 장치.
  12. 제1 항에 있어서,
    상기 프로세서는,
    상기 2차원 이미지에서 상기 2차원 스켈레톤 정보 외의 다른 객체 정보를 더 획득하고,
    상기 다른 객체 정보를 기초로 생성된 3차원 모델을 보정하는 동작을 더 수행하되,
    상기 보정하는 동작은,
    상기 생성된 3차원 모델로부터 3차원 스켈레톤 정보를 추출하는 동작,
    상기 다른 객체 정보에 따라 상기 추출된 3차원 스켈레톤 정보를 보정하는 동작 및
    상기 보정된 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 다시 생성하는 동작을 포함하는,
    3차원 객체모델 생성 장치.
  13. 컴퓨팅 장치에서 수행되는 방법으로서,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계;
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계; 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 포함하는,
    3차원 객체모델 생성 방법.
  14. 컴퓨팅 장치와 결합되어,
    대상 객체의 2차원 이미지에서 추출된 2차원 스켈레톤 정보를 획득하는 단계;
    딥러닝 모듈을 통해 상기 2차원 스켈레톤 정보를 3차원 스켈레톤 정보로 변환하는 단계; 및
    상기 3차원 스켈레톤 정보를 기초로 상기 대상 객체에 대한 3차원 모델을 생성하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장된,
    컴퓨터 프로그램.
PCT/KR2022/001020 2021-09-27 2022-01-20 3차원 객체모델 생성 장치 및 그 방법 WO2023048347A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2024519589A JP2024537799A (ja) 2021-09-27 2022-01-20 3次元オブジェクトモデル生成装置及びその方法
US18/696,147 US20240394968A1 (en) 2021-09-27 2022-01-20 Apparatus for generating 3-dimensional object model and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210127251A KR102421776B1 (ko) 2021-09-27 2021-09-27 3차원 객체모델 생성 장치 및 그 방법
KR10-2021-0127251 2021-09-27

Publications (1)

Publication Number Publication Date
WO2023048347A1 true WO2023048347A1 (ko) 2023-03-30

Family

ID=82607435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/001020 WO2023048347A1 (ko) 2021-09-27 2022-01-20 3차원 객체모델 생성 장치 및 그 방법

Country Status (4)

Country Link
US (1) US20240394968A1 (ko)
JP (1) JP2024537799A (ko)
KR (2) KR102421776B1 (ko)
WO (1) WO2023048347A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526091B1 (ko) * 2022-11-21 2023-04-26 주식회사 드랩 제품 사용 이미지 생성 시스템 및 제품 사용 이미지 생성 방법
KR102705610B1 (ko) * 2022-11-28 2024-09-11 주식회사 인공지능연구원 다시점 카메라 기반 다관절 객체의 입체영상캡쳐 장치 및 방법
KR102612586B1 (ko) * 2022-12-12 2023-12-11 박치호 동영상 내 관절 인식에 따른 비정상 이미지 프레임을 제거 및 복원하는 전자 장치의 제어 방법
KR102619701B1 (ko) * 2022-12-30 2024-01-02 주식회사 쓰리아이 동적 객체에 대한 3차원 자세 추정 데이터 생성 방법 및 그를 위한 컴퓨팅 장치
KR102721960B1 (ko) * 2024-05-22 2024-10-25 제이크로커스 주식회사 3d 객체 모델 생성 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017170264A1 (ja) * 2016-03-28 2017-10-05 株式会社3D body Lab 骨格特定システム、骨格特定方法、及びコンピュータプログラム
KR20210003937A (ko) * 2018-05-23 2021-01-12 모비디어스 리미티드 딥 러닝 시스템
KR20210091276A (ko) * 2018-11-16 2021-07-21 아리엘 에이아이, 인크. 3차원 객체 재구성
KR20210093795A (ko) * 2020-01-20 2021-07-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 3d 관절 점 회귀 모델의 생성 방법 및 장치
KR20210108044A (ko) * 2020-02-25 2021-09-02 제주한라대학교산학협력단 디지털 트윈 기술을 위한 영상 분석 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101884565B1 (ko) 2017-04-20 2018-08-02 주식회사 이볼케이노 2차원 이미지를 이용한 객체의 3차원 모델링 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017170264A1 (ja) * 2016-03-28 2017-10-05 株式会社3D body Lab 骨格特定システム、骨格特定方法、及びコンピュータプログラム
KR20210003937A (ko) * 2018-05-23 2021-01-12 모비디어스 리미티드 딥 러닝 시스템
KR20210091276A (ko) * 2018-11-16 2021-07-21 아리엘 에이아이, 인크. 3차원 객체 재구성
KR20210093795A (ko) * 2020-01-20 2021-07-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 3d 관절 점 회귀 모델의 생성 방법 및 장치
KR20210108044A (ko) * 2020-02-25 2021-09-02 제주한라대학교산학협력단 디지털 트윈 기술을 위한 영상 분석 시스템

Also Published As

Publication number Publication date
US20240394968A1 (en) 2024-11-28
KR102421776B1 (ko) 2022-07-19
JP2024537799A (ja) 2024-10-16
KR102473287B1 (ko) 2022-12-05

Similar Documents

Publication Publication Date Title
WO2023048347A1 (ko) 3차원 객체모델 생성 장치 및 그 방법
WO2018143770A1 (en) Electronic device for creating panoramic image or motion picture and method for the same
WO2013031424A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP2017134617A (ja) 位置推定装置、プログラム、位置推定方法
KR101021470B1 (ko) 영상 데이터를 이용한 로봇 움직임 데이터 생성 방법 및 생성 장치
US8284292B2 (en) Probability distribution constructing method, probability distribution constructing apparatus, storage medium of probability distribution constructing program, subject detecting method, subject detecting apparatus, and storage medium of subject detecting program
CN111563924A (zh) 图像深度确定方法及活体识别方法、电路、设备和介质
JP2020198133A (ja) 動作特定装置、動作特定方法及び動作特定プログラム
KR20220095831A (ko) 구조물 균열 측정 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
JP2006245677A (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN110910478A (zh) Gif图生成方法、装置、电子设备及存储介质
JP2002312791A (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP5530391B2 (ja) カメラポーズ推定装置、カメラポーズ推定方法及びカメラポーズ推定プログラム
WO2021040345A1 (ko) 전자 장치 및 전자 장치의 제어 방법
JP2004228770A (ja) 画像処理システム
WO2016021829A1 (ko) 동작 인식 방법 및 동작 인식 장치
CN111950517A (zh) 一种目标检测方法、模型训练方法,电子设备及存储介质
JP6839116B2 (ja) 学習装置、推定装置、学習方法、推定方法及びコンピュータプログラム
JP2012185655A (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN105493101B (zh) 包括在辅助对象定位中使用加速数据的图像帧处理
JP2019092089A (ja) 画像処理装置、画像表示システム、画像処理方法、およびプログラム
JP2005309782A (ja) 画像処理装置
WO2024029880A1 (ko) 시선 방향을 검출하는 딥러닝 기반의 시선 방향 검출 모델을 학습하는 학습방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
JP4112925B2 (ja) 画像入力装置、画像入力方法、及びコンピュータが実行するためのプログラム
WO2018052183A1 (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: 22873054

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2024519589

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18696147

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22873054

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 02.09.2024)