WO2022097932A1 - 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법 - Google Patents

딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법 Download PDF

Info

Publication number
WO2022097932A1
WO2022097932A1 PCT/KR2021/013545 KR2021013545W WO2022097932A1 WO 2022097932 A1 WO2022097932 A1 WO 2022097932A1 KR 2021013545 W KR2021013545 W KR 2021013545W WO 2022097932 A1 WO2022097932 A1 WO 2022097932A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
model
target object
deep learning
voxel model
Prior art date
Application number
PCT/KR2021/013545
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 주식회사 엔닷라이트
Publication of WO2022097932A1 publication Critical patent/WO2022097932A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present disclosure relates to an apparatus and method for reconstructing a 3D model from a 2D image based on deep learning. More specifically, an apparatus capable of reconstructing a three-dimensional voxel model from a two-dimensional image of a target object using a deep-learning network and a method performed in the apparatus it's about
  • three-dimensional restoration technology a technology for reconstructing a three-dimensional image or model from a two-dimensional image
  • the proposed techniques have a problem in that the 3D restoration accuracy is low, or when only a single-view image is given, the 3D voxel model cannot be restored.
  • a technical problem to be solved through some embodiments of the present disclosure is to restore a three-dimensional voxel model from a two-dimensional single-view image of a target object using a deep-learning network It relates to a device capable of doing so and a method performed on the device.
  • Another technical problem to be solved through some embodiments of the present disclosure is an apparatus capable of reconstructing a three-dimensional voxel model from a two-dimensional multi-view image of a target object using a deep learning network and It relates to a method performed on the device.
  • an apparatus for reconstructing a 3D model from a 2D image is a memory for storing one or more instructions, by executing the stored one or more instructions , a processor for obtaining a two-dimensional input image of the target object and reconstructing a three-dimensional voxel model for the target object from the input image through a deep learning network.
  • the deep learning network includes a reconstructor for reconstructing and outputting the voxel model from the input image and a discriminator for discriminating between an actual image and a fake image, and the reconstructor is configured between the restored voxel model and the correct voxel model. Learning may be performed through a first error calculated based on the difference and a second error calculated based on a determination result of the discriminator with respect to the reconstructed voxel model.
  • the reconstructor is trained further based on a third error, wherein the third error is a two-dimensional projection image generated through a projection operation on the reconstructed voxel model and the input image and It can be calculated based on the difference of .
  • the reconstructor may include an encoder for extracting a feature of the target object from the input image, and a decoder for generating the voxel model by decoding the extracted feature.
  • the input image is a multi-view image including a plurality of images corresponding to different views of the target object
  • the reconstructor includes a plurality of encoders, a plurality of decoders, and an aggregator. and a refiner, wherein the plurality of encoders receive the multi-view image and extract a plurality of features for the target object, and the plurality of decoders decode the plurality of features to obtain a plurality of volume features ( volume feature), the aggregator aggregates the plurality of volume features, and the refiner is configured with a neural network to reconstruct the voxel model from the aggregated volume features.
  • An apparatus for reconstructing a three-dimensional model from a two-dimensional image for solving the above-described technical problem, a memory for storing one or more instructions, by executing the one or more instructions , receives a multi-view image of a target object, extracts two-dimensional depth information from the multi-view image, generates volume data for the target object based on the depth information, and deep learning and a processor for reconstructing a three-dimensional voxel model of the target object from the volume data through a network.
  • a method for reconstructing a 3D model from a deep learning-based 2D image for solving the above-described technical problem is a method performed in a computing device, and a 2D input image of a target object and reconstructing a three-dimensional voxel model of the target object from the input image through a deep learning network.
  • a method for reconstructing a 3D model from a deep learning-based 2D image for solving the above technical problem is a method performed in a computing device, -view) receiving an image, extracting two-dimensional depth information from the multi-view image, generating volume data for the target object based on the depth information, and the volume data through a deep learning network
  • the method may include reconstructing a three-dimensional voxel model of the target object from
  • a computer program for solving the above-described technical problem is combined with a computing device, obtaining a two-dimensional input image of a target object, and from the input image through a deep learning network It may be stored in a computer-readable recording medium to execute the step of reconstructing a three-dimensional voxel model of the target object.
  • a computer program for solving the above-described technical problem is coupled to a computing device, receiving a multi-view image of a target object, from the multi-view image Extracting two-dimensional depth information, generating volume data for the target object based on the depth information, and a three-dimensional voxel model for the target object from the volume data through a deep learning network It may be stored in a computer-readable recording medium in order to execute the step of restoring.
  • a three-dimensional voxel model may be restored from a two-dimensional image of a target object through a deep-learning network, using the deep-learning network. By doing so, the restoration accuracy of the 3D voxel model can be greatly improved.
  • the restoration performance of the deep learning network can be further improved.
  • schematic 3D shape information about the target object can be estimated from depth information of a multi-view image of the target object, and a 3D voxel model can be obtained from the 3D shape information estimated through a deep learning network. This can be accurately restored.
  • the reconstruction accuracy for a 3D voxel model can be further improved.
  • a feature accumulation structure e.g. RNN, aggregator
  • FIG. 1 is an exemplary diagram for describing an apparatus for reconstructing a 3D model from a 2D image and input/output data thereof according to some embodiments of the present disclosure.
  • FIG. 2 is an exemplary flowchart for explaining a method of reconstructing a 3D model from a deep learning-based 2D image according to the first embodiment of the present disclosure.
  • 3 to 6 are exemplary diagrams for explaining the structure and learning method of a deep learning network according to some embodiments of the present disclosure.
  • FIG. 7 and 8 are exemplary views for explaining a method of reconstructing a 3D model from a deep learning-based 2D image according to a second embodiment of the present disclosure.
  • FIG. 9 is an exemplary diagram for describing a method of extracting depth information according to some embodiments of the present disclosure.
  • FIG. 10 is an exemplary view for explaining a method of reconstructing a 3D model from a deep learning-based 2D image according to a third embodiment of the present disclosure.
  • FIG. 11 is an exemplary diagram for describing a method for generating a multi-view image according to some embodiments of the present disclosure.
  • FIG. 12 illustrates an exemplary computing device capable of implementing an apparatus for reconstructing a 3D model according to some embodiments of the present disclosure.
  • FIG. 1 is an exemplary diagram for describing an apparatus 10 for reconstructing a 3D model from a 2D image and input/output data thereof according to some embodiments of the present disclosure.
  • the 3D model restoration apparatus 10 is a computing device capable of reconstructing a 3D voxel model 13 from a 2D input image 11 of a target object (e.g. an airplane). can That is, the 3D model restoration apparatus 10 may receive the 2D image 11 of the target object, restore it as the 3D voxel model 13 and output it.
  • the input image 11 may be a single-view image as shown, or may be a multi-view image in some cases.
  • the three-dimensional model restoration apparatus 10 will be abbreviated as "the restoration apparatus 10".
  • the computing device may be a notebook, desktop, laptop, etc., but is not limited thereto and may include any type of device equipped with a computing function.
  • the reconstruction apparatus 10 may reconstruct the three-dimensional voxel model 13 from the two-dimensional input image 11 using a deep-learning network. Accordingly, the restoration accuracy of the 3D voxel model can be greatly improved.
  • the present embodiment will be described in detail later with reference to FIG. 2 or less.
  • FIG. 1 illustrates that the restoration apparatus 10 is implemented as a single computing device as an example, the restoration apparatus 10 may be implemented as a plurality of computing devices.
  • a first function of the restoration device 10 may be implemented in a first computing device, and a second function may be implemented in a second computing device.
  • a specific function of the restoration device 10 may be implemented in a plurality of computing devices.
  • the restoration apparatus 10 has been schematically described with reference to FIG. 1 .
  • a method for restoring a three-dimensional model from a two-dimensional image based on deep learning in the restoration apparatus 10 illustrated in FIG. 1 (hereinafter, "deep learning-based three-dimensional model restoration method") will be described in detail. .
  • Each step of the 3D model restoration method to be described below may be implemented as one or more instructions executed by the processor of the computing device, and is understood to be performed by the restoration device 10 when the subject of a specific operation is omitted. can be However, in some cases, some steps of the 3D model restoration method may be performed in another computing device.
  • FIG. 2 is an exemplary flowchart illustrating a deep learning-based 3D model restoration method according to a first embodiment of the present disclosure.
  • this is only a preferred embodiment for achieving the purpose of the present disclosure, and it goes without saying that some steps may be added or deleted as needed.
  • the training data (set) may include, for example, a two-dimensional image (set) of a target object and a three-dimensional answer voxel model (set).
  • the structure and/or learning method of the deep learning network may be designed in various ways, which may vary according to embodiments.
  • the deep learning network is a reconstructor 20 capable of reconstructing a three-dimensional voxel model from a two-dimensional image in an end-to-end manner.
  • the reconstructor 20 is configured to include, for example, an encoder 21 for extracting features 23 for a target object and a decoder 25 for decoding the extracted features 23 to generate a voxel model 33 .
  • the present invention is not limited thereto, and the restorer 20 may have a neural network structure of another type.
  • Both the encoder 21 and the decoder 25 may be configured with a neural network, for example, the encoder 21 may be configured with a CNN (Convolutional Neural Networks; e.g.
  • the decoder (21) may be composed of CNN or DCNN (DeConvolutional Neural Networks; e.g. one or more deconvolutional layers).
  • CNN Deep neural Networks
  • the present invention is not limited thereto.
  • the feature 23 for the target object may be, for example, one or more feature maps consisting of two or three dimensions.
  • the present invention is not limited thereto.
  • the reconstructor 20 may be trained by backpropagating an error or loss based on the difference between the reconstructed voxel model 33 and the correct voxel model (not shown). there is. That is, the weight (ie, weight parameter) of the restorer 20 may be updated in a direction in which the error is minimized.
  • the weight ie, weight parameter
  • a projection error 39 may be further used to train the reconstructor 20 . That is, the weight of the restorer 20 may be updated in a direction in which the voxel error 37 and the projection error 39 are minimized.
  • the projection error 39 is a two-dimensional image 41 generated by applying a projection operation to the reconstructed voxel model 33 and a two-dimensional image 31 input to the reconstructor 20 ). ) can be calculated based on the difference in In this case, the loss function used for calculating the error may be set to any function.
  • the projected image 41 may be generated by performing a projection operation to have the same or similar view as the input image 31 , but the scope of the present disclosure is not limited thereto. According to the present embodiment, as the restorer 20 is learned by further using the projection error 39 , the performance of the restorer 20 may be further improved.
  • an outline error may be further used to train the reconstructor 20 .
  • the weight of the restorer 20 may be updated in a direction in which the voxel error 37 and the outline error are minimized.
  • the outline error is calculated based on the difference between the outline extracted from the restored voxel model 33 and the outline extracted from the correct voxel model 35 or the outline extracted from the projection image 41 and the input image 31 . It can be calculated based on the difference between the extracted outlines.
  • the restorer 20 since the restorer 20 is learned by further using the outline error, the performance of the restorer 20 may be further improved.
  • the outline error reflects the restoration error regarding the shape (or shape) of the target object, the restorer 20 that has further learned the outline error can more accurately restore the shape (or shape) of the target object. .
  • the deep learning network may be configured to further include a discriminator ( 40 ), and the reconstructor 20 is a discriminator ( 40 ). It can be learned by further using the discrimination error 43 calculated based on the result. That is, the weight of the restorer 20 may be updated in a direction in which the voxel error 37 and the discrimination error 43 are minimized.
  • the discriminator 40 may be a neural network (e.g. CNN) trained to discriminate an actual voxel model (e.g. a correct voxel model 35, etc.) and a fake voxel model (e.g.
  • a restored voxel model 33 may be calculated to have a smaller value as the reconstructed voxel model 33 is closer to the actual voxel model.
  • the discriminator 40 and the restorer 20 may be learned to be antagonistic to each other, but the scope of the present disclosure is not limited thereto. According to the present embodiment, as the restorer 20 is further learned using the discrimination error 43 , the performance of the restorer 20 may be further improved. For example, the reconstructor 20 may restore the input 2D image (e.g. 31) into a 3D voxel model closer to reality.
  • the deep learning network may be configured to further include a classifier 50 for classifying a class of a target object, and the reconstructor 20 ) may be learned by further using the classification error 49 calculated based on the classification result of the classifier 50 . That is, the weight of the restorer 20 may be updated in a direction in which the voxel error 37 and the classification error 49 are minimized.
  • the reconstructor 20 may receive the two-dimensional image 31 and class information 45 (e.g. airplane) of the target object, and may reconstruct and output the voxel model 33 .
  • the classifier 50 may be a neural network (e.g.
  • the CNN trained to classify a class of a target object included in the projected image 41 or the reconstructed voxel model 33 , and the classification error 49 is calculated by the classifier 50 .
  • the classification error 49 may be calculated based on the difference between the predicted class information 47 and the correct answer class information 45 .
  • the reconstructor 20 may reconstruct a voxel model that better matches the class of the target object.
  • the deep learning network may be configured to include both the discriminator 40 and the classifier 50
  • the reconstructor 20 may include a projection error 39 , a discriminant error 43 , and a classification error 49 . ) can be learned using all of them.
  • steps S120 and S140 may be understood as a process of using the deep learning network learned through step S100.
  • steps S120 and S140 will be described.
  • step S120 a two-dimensional original image of the target object may be obtained.
  • the two-dimensional original image may be restored as a three-dimensional voxel model through the deep learning network.
  • the restoration apparatus 10 may input an original image to a deep learning network and obtain a three-dimensional voxel model restored from the deep learning network (see FIG. 3 ).
  • a three-dimensional voxel model can be restored from a two-dimensional image in an end-to-end manner by using a deep learning network.
  • This method guarantees high restoration accuracy without requiring a complex algorithm as in the prior art.
  • the restoration performance of the deep learning network is improved.
  • the voxel model can be restored using only a single view image.
  • the second embodiment relates to a method capable of further improving the reconstruction accuracy of a 3D model using a multi-view image.
  • FIG. 7 is an exemplary flowchart illustrating a deep learning-based 3D model restoration method according to a second embodiment of the present disclosure
  • FIG. 8 is an exemplary diagram for further explanation. Hereinafter, it will be described with reference to FIGS. 7 and 8 together.
  • a two-dimensional multi-view image 61 of the target object may be obtained.
  • the multi-view image 61 may include a plurality of two-dimensional images (e.g. 61-1 and 61-2) of a target object corresponding to different views.
  • the multi-view image 61 may include a first image 61-1 corresponding to the first view and a second image 61-2 corresponding to the second view.
  • two-dimensional depth information 63 may be extracted from the multi-view image 61 .
  • the first depth information 63-1 is extracted from the first image 61-1 constituting the multi-view image 61
  • the second depth information 63-2 is extracted from the second image 61-2.
  • the depth information may be a two-dimensional depth map, but is not limited thereto.
  • a method for extracting the depth information 63 may be various, and any method may be used.
  • the depth information 63 may be extracted through a depth information extraction algorithm widely known in the art.
  • depth information may be extracted using a Generative Adversarial Networks (GAN) module (model).
  • GAN Generative Adversarial Networks
  • the GAN module receives a two-dimensional image 71 (e.g. RGB image) and generates a corresponding two-dimensional depth map 75 with a generator 73 (generator) and an actual image.
  • a discriminator 79 for discriminating a fake image may be included.
  • the generator 73 may be composed of an encoder that extracts features from a two-dimensional image and a decoder that decodes the extracted features to generate a depth map 75 .
  • the scope of the present disclosure is not limited thereto.
  • both the encoder and the decoder may be configured as a neural network, for example, the encoder may be configured as a CNN, and the decoder may be configured as a CNN or DCNN.
  • the present invention is not limited thereto.
  • the discriminator 79 may be trained to discriminate an actual depth map (e.g. depth map 77) and a fake depth map (e.g. depth map 75).
  • the discriminator 79 may be configured as, for example, CNN, but is not limited thereto.
  • Adversarial learning may be performed between the generator 73 and the discriminator 79, and as the adversarial learning is performed, the generator 73 may more precisely generate the depth map 75 corresponding to the input image 71.
  • the generator 73 may more precisely generate the depth map 75 corresponding to the input image 71.
  • volume data 65 of the target object may be generated based on the extracted depth information 63 .
  • the volume data 65 may be generated based on the first depth information (e.g. 63-1) corresponding to the first view and the second depth information (e.g. 63-2) corresponding to the second view.
  • the volume data 65 may be further generated based on the multi-view image 61 .
  • the volume data 65 may mean data representing a three-dimensional shape of the target object, and specific data types (formats) may be designed in various ways.
  • the volume data 65 may be voxel data representing schematic 3D shape information of the target object.
  • the volume data 65 may be a 3D depth map indicating 3D shape information of the target object.
  • the volume data 65 may be a two-dimensional depth map.
  • the three-dimensional voxel model 67 may be restored from the volume data 65 through the deep learning network 60 .
  • the restoration apparatus 10 may input the volume data 65 to the deep learning network 60 and obtain a three-dimensional voxel model 67 restored from the deep learning network 60 .
  • the deep learning network 60 may be a model trained to reconstruct the voxel model 67 from the volume data 65 .
  • the deep learning network 60 may have an encoder-decoder structure (refer to FIG. 3 ), and may be constructed by learning training data composed of volume data for a target object and a correct answer voxel model.
  • the present invention is not limited thereto.
  • the deep learning network 60 may be constructed in a manner similar to that described with reference to FIGS. 3 to 6 .
  • the deep learning-based 3D model restoration method according to the second embodiment of the present disclosure has been described with reference to FIGS. 7 to 9 .
  • rough three-dimensional shape information (ie, volume data) of the target object can be estimated from depth information (e.g. 63) of the multi-view image (e.g. 65) of the target object, and the deep learning network
  • the three-dimensional voxel model e.g. 67
  • the second embodiment also relates to a method capable of further improving the restoration accuracy of a 3D model using a multi-view image.
  • FIG. 10 is an exemplary view for explaining a deep learning-based 3D model restoration method according to a third embodiment of the present disclosure.
  • FIG. 10 shows a detailed structure of a deep learning network.
  • the restoration apparatus 10 may restore the three-dimensional voxel model 99 from the two-dimensional multi-view image 91 of the target object in an end-to-end manner through the deep learning network illustrated in FIG. 10 .
  • a deep learning network can be built by learning training data composed of a multi-view image (e.g. 91) and a correct answer voxel model (e.g. 99), and the learning method is performed in the manner described with reference to FIGS. 3 to 6, for example.
  • the description of the learning method will be omitted and the description will be continued focusing on the structure and operation principle of the deep learning network according to the present embodiment.
  • the deep learning network includes a plurality of encoders 81-1 to 81-n, a Recurrent Neural Networks (RNN) module 83, a plurality of decoders 85-1 to 85-n, an aggregator ( 87) and a refiner 89.
  • RNN Recurrent Neural Networks
  • a plurality of encoders 81-1 to 81-n is a feature (e.g. feature map) of a target object from a multi-view image 91 composed of a plurality of images 91-1 to 91-n corresponding to different views.
  • the first encoder 81-1 may receive the first image 91-1 and extract a first feature of the target object from the first image 91-1
  • the second encoder 81- 2) may receive the second image 91 - 2 and extract a second feature of the target object from the second image 91 - 2 .
  • the encoder (e.g. 81-1) may be configured as, for example, a CNN, but the scope of the present disclosure is not limited thereto.
  • the RNN module 83 is located between the plurality of encoders 81-1 to 81-n and the plurality of decoders 85-1 to 85-n, and the plurality of RNN units 83-1 to 83-n ) can be composed of
  • the plurality of RNN units 83-1 to 83-n perform a predetermined neural network operation on the feature data extracted by the plurality of encoders 81-1 to 81-n, and connect the operation result to the RNN unit (e.g. 83-2) and decoder (e.g. 85-1).
  • the first RNN unit 83-1 performs a neural network operation on the first feature extracted by the first encoder 81-1, and compares the operation result with the second RNN unit 83-1 and the first It can be provided to the decoder 85-1.
  • the second RNN unit 83-2 performs a neural network operation on the second feature extracted by the second encoder 81-2, and connects the RNN unit and the second decoder 85-2 with the operation result. can be provided to
  • the RNN module 83 may serve to advance (refine) the features of the target object by accumulating features extracted by the plurality of encoders 81-1 to 81-n along the connection direction.
  • the second RNN unit 83 - 2 provides more advanced features to the second decoder 85 - 2 by accumulating features extracted from the first encoder 81-1 and the second encoder 81 - 2 .
  • the second decoder 85-2 is able to generate a more sophisticated volume feature 95-2 than the first decoder 85-1, and the last decoder 85-n is the most sophisticated volume feature 95 -n) can be created.
  • the input multi-view image 91 is composed of a plurality of images having a sequential view (e.g. a plurality of images having a sequential view in a clockwise or counterclockwise direction) It may be desirable to be
  • FIG. 10 illustrates that the RNN module 83 is formed of a Long Short-Term Memory (LSTM) neural network as an example, the RNN module 83 may be formed of a neural network of another structure having a cyclic structure.
  • FIG. 10 shows as an example that the RNN unit (e.g. 83-1) is unidirectionally connected, the RNN unit (e.g. 83-1) may be bidirectionally connected.
  • LSTM Long Short-Term Memory
  • the plurality of decoders 85-1 to 85-n may generate a plurality of volume features 95-1 to 95-n by decoding the operation result of the RNN module 83 .
  • the first decoder 85-1 may decode the operation result of the first RNN unit 83-1 to generate the first volume feature 95-1
  • the second decoder 85-2 may The second volume feature 95 - 2 may be generated by decoding the operation result of the second RNN unit 83 - 2 .
  • the volume feature may indicate shape information about the target object or may mean feature data containing shape characteristics, and the specific data format depends on the design method of the decoder (e.g. 85-1). may vary.
  • the volume feature e.g. 95-1) may be voxel data representing schematic shape information of the target object, but is not limited thereto.
  • the decoder (e.g. 85-1) may be configured as, for example, CNN or DCNN, but the scope of the present disclosure is not limited thereto.
  • the aggregator 87 aggregates the plurality of volume features 95-1 to 95-n generated by the plurality of decoders 85-1 to 85-n to obtain a target volume feature 97. ) can be created.
  • the manner in which the aggregator 87 aggregates the plurality of volume features 95-1 to 95-n may vary according to embodiments.
  • aggregator 87 may aggregate the plurality of volume features 95-1 through 95-n with equal weights. For example, the aggregator 87 may generate the target volume feature 97 by performing a weighted sum (or weighted average) operation on the plurality of volume features 95-1 to 95-n with equal weights.
  • the aggregator 87 may aggregate the plurality of volume features 95-1 through 95-n with differential weights. For example, the aggregator 87 gives a higher weight to the more sophisticated volume features (e.g. the second volume feature 95-2 is given a higher weight than the first volume feature 95-1, and the nth volume feature 95-n is given a higher weight.
  • the target volume feature 97 may be generated by performing a weighted sum (or weighted average) operation according to the highest weight) and the weighted weight. In this case, a more sophisticated target volume feature 97 can be created to improve the performance of the deep learning network.
  • the aggregator 87 may be implemented as a simple arithmetic module that does not include a learnable parameter, or may be implemented as a neural network such as a fully connected layer.
  • the aggregator 87 is implemented as a neural network, the plurality of volume features 95-1 to 95 -n) may be input to the aggregator 87 .
  • the refiner 89 may reconstruct the three-dimensional voxel model 99 of the target object from the target volume feature 97 .
  • the refiner 89 is composed of a neural network, and may serve to more precisely restore the voxel model 99 by refining the target volume feature 97 .
  • the refiner 89 may be configured in an encoder-decoder structure.
  • the scope of the present disclosure is not limited thereto, and the refiner 89 may be configured with a neural network having a different structure.
  • the structure of the deep learning network illustrated in FIG. 10 may be modified according to an embodiment.
  • the deep learning network may be configured with an encoder-decoder structure that does not include the RNN module 83 .
  • the deep learning network may be configured in such a way that the depth information (e.g. 93-1) of the target object is not input to the decoder (e.g. 85-1).
  • the second and third embodiments described so far require a multi-view image of a target object, which may act as a kind of restriction.
  • a method for alleviating such restrictions through the GAN module will be described with reference to FIG. 11 .
  • FIG. 11 is an exemplary diagram for describing a method for generating a multi-view image according to some embodiments of the present disclosure. Hereinafter, it will be described with reference to FIG. 11 .
  • This embodiment relates to a method of generating a multi-view image from a single-view image by using a GAN module having a function of translating an image of a first domain into an image of a second domain.
  • the image of the first domain may be an image corresponding to the first view
  • the image of the second domain may be an image corresponding to the second view.
  • the GAN module may include a first generator 101 , a second generator 102 , a first discriminator 103 , and a second discriminator 104 .
  • the first generator 101 may be a module that converts the image 105 - 1 of the first domain into a fake image 105 - 2 of the second domain.
  • the second discriminator 104 may be a module for discriminating the real image 106 - 1 and the fake image 105 - 2 of the second domain.
  • the first generator 101 and the second discriminator 104 may be learned complementary to each other through adversarial learning.
  • the first generator 101 may be further learned using a first consistency loss (L CONST A).
  • the first consistency error L CONST A is calculated based on the difference between the real image 105 - 1 input to the first generator 101 and the fake image 105 - 3 converted through the second generator 102 .
  • the fake image 105 - 3 may refer to an image in which the fake image 105 - 2 converted through the first generator 101 is converted back to the original domain through the second generator 102 .
  • the first consistency error L CONST A may be calculated based on, for example, a Euclidian distance, a cosine similarity, etc., but the scope of the present disclosure is not limited to the above-listed examples.
  • the second generator 102 may be a module that converts the image 106 - 1 of the second domain into a fake image 106 - 2 of the first domain.
  • the first discriminator 103 may be a module that discriminates the real image 105 - 1 and the fake image 106 - 2 of the first domain.
  • the second generator 102 and the first discriminator 103 may also be learned complementary to each other through adversarial learning.
  • the second generator 102 may be further trained using the second consistency error L CONST B.
  • the learning method of the second generator 102 is similar to that of the first generator 101 , and further description thereof will be omitted.
  • image conversion may be performed through the first generator 101 or the second generator 102 .
  • an image of the first domain ie, an image corresponding to the first view
  • an image of the second domain ie, an image corresponding to the second view
  • an image of the second domain ie, an image corresponding to the second view
  • a multi-view image can be easily generated from a single-view image for a target object.
  • the first image when only the first image corresponding to the first view is given, the first image may be converted into a second image corresponding to the second view through the first GAN module, and the first image ( Alternatively, the second image) may be converted into a third image corresponding to the third view.
  • a multi-view image of the target object may be composed of the first to third images.
  • the GAN module may be implemented in a structure different from that illustrated in the example of FIG. 11 .
  • the GAN module can be used in GANs of other structures with image conversion functions such as Disco-GAN, UNIT (Unsupervised Image-to-Image Translation), MUNIT (Multimodal Unsupervised Image-to-Image Translation), starGAN, fusionGan, etc. It may be implemented based on
  • a method for generating a multi-view image according to some embodiments of the present disclosure has been described with reference to FIG. 11 .
  • a multi-view image of a target object can be easily configured by utilizing a GAN module having an image conversion function.
  • FIG. 12 an exemplary computing device 1000 capable of implementing the restoration device 10 according to some embodiments of the present disclosure will be described with reference to FIG. 12 .
  • FIG. 12 is an exemplary hardware configuration diagram illustrating the computing device 1000 .
  • the computing device 1000 includes one or more processors 1100 , a bus 1300 , a communication interface 1400 , and a memory for loading a computer program executed by the processor 1100 (load). 1200 ) and a storage 1500 for storing the computer program 1600 .
  • processors 1100 a bus 1300 , a communication interface 1400 , and a memory for loading a computer program executed by the processor 1100 (load). 1200 ) and a storage 1500 for storing the computer program 1600 .
  • FIG. 12 only components related to the embodiment of the present disclosure are illustrated in FIG. 12 . Accordingly, one of ordinary skill in the art to which the present disclosure pertains can know that other general-purpose components other than the components shown in FIG. 12 may be further included. That is, the computing device 1000 may further include various components in addition to the components illustrated in FIG. 12 . Also, in some cases, the computing device 1000 may be implemented in a form in which some of the components illustrated in FIG. 12 are omitted.
  • the processor 1100 controls the overall operation of each component of the computing device 1000 .
  • the processor 1100 includes 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. may be included. Also, the processor 1100 may perform an operation on at least one application or program for executing the operation/method according to the embodiments of the present disclosure.
  • the computing device 1000 may include one or more processors.
  • the memory 1200 stores various data, commands, and/or information.
  • the memory 1200 may load one or more programs 1600 from the storage 1500 to execute operations/methods according to embodiments of the present disclosure.
  • the memory 1200 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.
  • the bus 1300 provides a communication function between components of the computing device 1000 .
  • the bus 1300 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
  • the communication interface 1400 supports wired/wireless Internet communication of the computing device 1000 . Also, the communication interface 1400 may support various communication methods other than Internet communication. To this end, the communication interface 1400 may be configured to include a communication module well-known in the technical field of the present disclosure. In some cases, the communication interface 1400 may be omitted.
  • the storage 1500 may non-temporarily store the one or more programs 1600 .
  • the storage 1500 is a non-volatile memory, such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or well in the art to which the present disclosure pertains. It may be configured to include any known computer-readable recording medium.
  • the computer program 1600 may include one or more instructions that, when loaded into the memory 1200 , cause the processor 1100 to perform an operation/method according to various embodiments of the present disclosure. That is, the processor 1100 may perform the operations/methods according to various embodiments of the present disclosure by executing the one or more instructions.
  • the computer program 1600 may include instructions to perform an operation of receiving a two-dimensional image of a target object and an operation of restoring a three-dimensional voxel model from the two-dimensional image input through a deep learning network.
  • the restoration apparatus 10 according to some embodiments of the present disclosure may be implemented through the computing device 1000 .
  • An exemplary computing device 1000 capable of implementing the restoration device 10 according to some embodiments of the present disclosure has been described with reference to FIG. 12 .
  • the technical idea of the present disclosure described with reference to FIGS. 1 to 12 may be implemented as computer-readable codes 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).
  • 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 and installed in the other computing device, thereby being used in the other computing device.

Landscapes

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

Abstract

딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법이 제공된다. 본 개시의 몇몇 실시예들에 따른 3차원 모델 복원 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 저장된 하나 이상의 인스트럭션들을 실행함으로써, 타깃 객체에 대한 2차원의 입력 이미지를 획득하고, 딥러닝 네트워크를 통해 입력 이미지로부터 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함할 수 있다. 이러한 3차원 모델 복원 장치는 딥러닝 네트워크를 이용함으로써 3차원 모델 복원에 대한 정확도를 향상시킬 수 있다.

Description

딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법
본 개시는 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법에 관한 것이다. 보다 자세하게는, 딥러닝 네트워크(deep-learning network)를 이용하여 타깃 객체에 대한 2차원의 이미지로부터 3차원의 복셀(voxel) 모델을 복원(reconstructing)할 수 있는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.
최근, 증강 현실(augmented reality), 가상 현실(virtual reality)에 관한 관심이 높아지면서 3차원 입체 영상과 관련된 기술에 관한 연구가 활발하고 진행되고 있다. 또한, 이러한 연구의 일환으로, 2차원 이미지로부터 3차원의 이미지 또는 모델을 복원하는 기술(이하, "3차원복원 기술")에 관한 연구도 진행되고 있다.
지금까지 몇몇 3차원 복원 기술이 제안된 바 있다. 가령, 명암차를 기준으로 주어진 2차원 이미지에서 윤곽 포인트를 검출하고, 검출된 윤곽 포인트의 깊이 추정값을 토대로 3차원 이미지를 복원하는 기술이 제안된 바 있다(특허문헌 1 참조). 또한, 서로 다른 각도에서 촬영된 복수의 이미지를 활용하여 3차원의 복셀(voxel) 모델을 복원하는 기술도 제안된 바 있다.
그러나, 제안된 기술들은 3차원의 복원 정확도가 떨어지거나, 싱글뷰(single-view) 이미지만 주어진 경우에는 3차원의 복셀 모델을 복원할 수 없다는 문제점을 지니고 있다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 딥러닝 네트워크(deep-learning network)를 이용하여 타깃 객체에 대한 2차원의 싱글뷰(single-view) 이미지로부터 3차원의 복셀 모델을 복원할 수 있는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 딥러닝 네트워크를 이용하여 타깃 객체에 대한 2차원의 멀티뷰(multi- view) 이미지로부터 3차원의 복셀 모델을 복원할 수 있는 장치 및 그 장치에서 수행되는 방법에 관한 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 개시의 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 상기 저장된 하나 이상의 인스트럭션들을 실행함으로써, 타깃 객체에 대한 2차원의 입력 이미지를 획득하고, 딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함할 수 있다. 이때, 상기 딥러닝 네트워크는 상기 입력 이미지로부터 상기 복셀 모델로 복원하여 출력하는 복원기와 실제 이미지와 페이크(fake) 이미지를 판별하는 판별기를 포함하고, 상기 복원기는 상기 복원된 복셀 모델과 정답 복셀 모델 간의 차이에 기초하여 산출된 제1 오차와 상기 복원된 복셀 모델에 대한 상기 판별기의 판별 결과에 기초하여 산출된 제2 오차를 통해 학습될 수 있다.
몇몇 실시예들에서, 상기 복원기는 제3 오차에 더 기초하여 학습되되, 상기 제3 오차는 상기 복원된 복셀 모델에 대한 프로젝션(projection) 연산을 통해 생성된 2차원의 프로젝션 이미지와 상기 입력 이미지와의 차이에 기초하여 산출될 수 있다.
몇몇 실시예들에서, 상기 복원기는 상기 입력 이미지로부터 상기 타깃 객체에 대한 특징을 추출하는 인코더와 상기 추출된 특징을 디코딩하여 상기 복셀 모델을 생성하는 디코더를 포함할 수 있다.
몇몇 실시예들에서, 상기 입력 이미지는 상기 타깃 객체의 서로 다른 뷰(view)에 대응되는 복수의 이미지를 포함하는 멀티뷰 이미지이고, 상기 복원기는 복수의 인코더, 복수의 디코더, 애그리게이터(aggregator) 및 리파이너(refiner)를 포함하며, 상기 복수의 인코더는 상기 멀티뷰 이미지를 입력받아 상기 타깃 객체에 대한 복수의 특징을 추출하고, 상기 복수의 디코더는 상기 복수의 특징을 디코딩하여 복수의 볼륨 피처(volume feature)를 생성하며, 상기 애그리게이터는 상기 복수의 볼륨 피처를 애그리게이팅하고, 상기 리파이너는 신경망으로 구성되어 상기 애그리게이팅된 볼륨 피처로부터 상기 복셀 모델을 복원할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치는, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리, 상기 하나 이상의 인스트럭션들을 실행함으로써, 타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받고, 상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하며, 상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하고, 딥러닝 네트워크를 통해 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법은, 컴퓨팅 장치에서 수행되는 방법으로서, 타깃 객체에 대한 2차원의 입력 이미지를 획득하는 단계 및 딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법은, 컴퓨팅 장치에서 수행되는 방법으로서, 타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받는 단계, 상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하는 단계, 상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하는 단계 및 딥러닝 네트워크를 통해 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 타깃 객체에 대한 2차원의 입력 이미지를 획득하는 단계 및 딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받는 단계, 상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하는 단계, 상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하는 단계 및 딥러닝 네트워크를 통해 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 단계를 실행시키기 위하여 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
상술한 본 개시의 몇몇 실시예들에 따르면, 딥러닝 네트워크(deep-learning network)를 통해 타깃 객체에 대한 2차원 이미지로부터 3차원의 복셀(voxel) 모델이 복원될 수 있는데, 딥러닝 네트워크를 이용함으로써 3차원 복셀 모델에 대한 복원 정확도가 크게 향상될 수 있다.
또한, 싱글뷰(single-view) 이미지만이 주어진 경우에도, 높은 정확도로 3차원 복셀 모델이 복원될 수 있다.
또한, 딥러닝 네트워크가 외곽선 오차, 프로젝션 오차, 판별 오차, 분류 오차 등과 같은 다양한 오차를 통해 더 학습됨으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다.
또한, 타깃 객체에 대한 멀티뷰(multi-view) 이미지의 깊이 정보로부터 타깃 객체에 대한 개략적인 3차원 형상 정보가 추정될 수 있고, 딥러닝 네트워크를 통해 추정된 3차원 형상 정보로부터 3차원 복셀 모델이 정확하게 복원될 수 있다.
또한, 피처 축적 구조(e.g. RNN, 애그리게이터)를 갖는 딥러닝 네트워크를 이용함으로써, 3차원 복셀 모델에 대한 복원 정확도가 더욱 향상될 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 2는 본 개시의 제1 실시예에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법을 설명하기 위한 예시적인 흐름도이다.
도 3 내지 도 6은 본 개시의 몇몇 실시예들에 따른 딥러닝 네트워크의 구조와 학습 방식을 설명하기 위한 예시적인 도면이다.
도 7 및 도 8은 본 개시의 제2 실시예에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법을 설명하기 위한 예시적인 도면이다.
도 9는 본 개시의 몇몇 실시예들에 따른 깊이 정보 추출 방법을 설명하기 위한 예시적인 도면이다.
도 10은 본 개시의 제3 실시예에 따른 딥러닝 기반 2차원 이미지로부터 3차원 모델을 복원하는 방법을 설명하기 위한 예시적인 도면이다.
도 11은 본 개시의 몇몇 실시예들에 따른 멀티뷰 이미지 생성 방법을 설명하기 위한 예시적인 도면이다.
도 12는 본 개시의 몇몇 실시예들에 따른 3차원 모델 복원 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 또 다른 구성요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 개시에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 다양한 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예들에 따른 2차원 이미지로부터 3차원 모델을 복원하는 장치(10)와 그의 입출력 데이터를 설명하기 위한 예시적인 도면이다.
도 1에 도시된 바와 같이, 3차원 모델 복원 장치(10)는 타깃 객체(e.g. 비행기)에 대한 2차원의 입력 이미지(11)로부터 3차원의 복셀 모델(13)을 복원할 수 있는 컴퓨팅 장치일 수 있다. 즉, 3차원 모델 복원 장치(10)는 타깃 객체에 대한 2차원 이미지(11)를 입력받고, 이를 3차원의 복셀 모델(13)로 복원하여 출력할 수 있다. 이때, 입력 이미지(11)는 도시된 바와 같이 싱글뷰(single-view) 이미지일 수 있고, 경우에 따라 멀티뷰(multi-view) 이미지가 될 수도 있다. 이하에서는, 설명의 편의상, 3차원 모델 복원 장치(10)를 "복원 장치(10)"로 약칭하도록 한다.
상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능이 구비된 모든 종류의 장치를 포함할 수 있다.
본 개시의 다양한 실시예들에서, 복원 장치(10)는 딥러닝 네트워크(deep-learning network)를 이용하여 2차원의 입력 이미지(11)로부터 3차원의 복셀 모델(13)을 복원할 수 있다. 이에 따라, 3차원 복셀 모델의 복원 정확도가 크게 향상될 수 있는데, 본 실시예에 관하여서는 추후 도 2 이하의 도면을 참조하여 상세하게 설명하도록 한다.
한편, 도 1은 복원 장치(10)가 단일 컴퓨팅 장치로 구현된 것을 예로써 도시하고 있으나, 복원 장치(10)는 복수개의 컴퓨팅 장치로 구현될 수도 있다. 예를 들어, 복원 장치(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고, 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 또는, 복원 장치(10)의 특정 기능이 복수의 컴퓨팅 장치에서 구현될 수도 있다.
지금까지 도 1을 참조하여 본 개시의 몇몇 실시예들에 따른 복원 장치(10)에 대하여 개략적으로 설명하였다. 이하에서는, 도 1에 예시된 복원 장치(10)에서 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 방법(이하, "딥러닝 기반 3차원 모델 복원 방법")에 관하여 상세하게 설명하도록 한다.
이하에서 후술될 3차원 모델 복원 방법의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있으며, 특정 동작의 주어가 생략된 경우 복원 장치(10)에 의하여 수행되는 것으로 이해될 수 있다. 다만, 경우에 따라 상기 3차원 모델 복원 방법의 일부 단계는 다른 컴퓨팅 장치에서 수행될 수도 있다.
먼저, 도 2 내지 도 6을 참조하여 본 개시의 제1 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하도록 한다.
도 2는 본 개시의 제1 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법을 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 2에 도시된 바와 같이, 본 실시예는 학습 데이터를 이용하여 딥러닝 네트워크를 학습시키는 단계 S100에서 시작될 수 있다. 학습 데이터(셋)는 예를 들어 타깃 객체에 대한 2차원 이미지(셋)와 3차원의 정답 복셀 모델(셋)로 구성될 수 있다.
본 단계 S100에서, 딥러닝 네트워크의 구조 및/또는 학습 방식은 다양하게 설계될 수 있으며, 이는 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서, 도 3에 예시된 바와 같이, 상기 딥러닝 네트워크는 단대단(end-to-end) 방식으로 2차원 이미지로부터 3차원의 복셀 모델을 복원할 수 있는 복원기(20; reconstructor)을 포함할 수 있다. 복원기(20)는 예를 들어 타깃 객체에 대한 특징(23)을 추출하는 인코더(21)와 추출된 특징(23)을 디코딩하여 복셀 모델(33)을 생성하는 디코더(25)를 포함하도록 구성될 수 있다. 그러나, 이에 한정되는 것은 아니며, 복원기(20)는 다른 형태의 신경망 구조로 이루어질 수도 있다. 인코더(21) 및 디코더(25)는 모두 신경망(neural network)으로 구성될 수 있는데, 예를 들어 인코더(21)는 CNN(Convolutional Neural Networks; e.g. 하나 이상의 컨볼루션 레이어)으로 구성될 수 있고, 디코더(21)는 CNN 또는 DCNN(DeConvolutional Neural Networks; e.g. 하나 이상의 디컨볼루션 레이어)로 구성될 수 있다. 그러나, 이에 한정되는 것은 아니다. 또한, 타깃 객체에 대한 특징(23)은 예를 들어 2차원 또는 3차원으로 이루어진 하나 이상의 특징맵(feature map)일 수 있다. 그러나, 이에 한정되는 것은 아니다.
도 3의 예시에서, 복원기(20)는 복원된 복셀 모델(33)과 정답 복셀 모델(미도시)의 차이에 기초한 오차(error or loss; 이하 "복셀 오차")를 역전파함으로써 학습될 수 있다. 즉, 상기 오차가 최소화되는 방향으로 복원기(20)의 가중치(즉, 가중치 파라미터)가 업데이트될 수 있다. 당해 기술 분야의 종사자라면 이러한 오차 역전파(error back-propagation) 기법에 충분히 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.
또한, 몇몇 실시예들에서는, 도 4에 도시된 바와 같이, 복원기(20)를 학습시키기 위해 프로젝션(projection) 오차(39)가 더 이용될 수 있다. 즉, 복셀 오차(37)와 프로젝션 오차(39)가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 여기서, 프로젝션 오차(39)는 복원된 복셀 모델(33)에 대해 프로젝션 연산을 적용하여 생성된 2차원 이미지(41; 이하 "프로젝션 이미지")와 복원기(20)에 입력된 2차원 이미지(31)의 차이에 기초하여 산출될 수 있다. 이때, 오차 산출을 위해 이용되는 손실 함수(loss function)는 어떠한 함수로 설정되더라도 무방하다. 본 실시예에서, 프로젝션 이미지(41)는 입력 이미지(31)와 동일 또는 유사한 뷰를 갖도록 프로젝션 연산을 수행함으로써 생성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에 따르면, 프로젝션 오차(39)를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다.
또한, 몇몇 실시예들에서는, 복원기(20)를 학습시키기 위해 외곽선 오차가 더 이용될 수 있다. 가령, 복셀 오차(37)와 외곽선 오차가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 여기서, 외곽선 오차는 복원된 복셀 모델(33)에서 추출된 외곽선과 정답 복셀 모델(35)에서 추출된 외곽선의 차이에 기초하여 산출되거나, 프로젝션 이미지(41)에서 추출된 외곽선과 입력 이미지(31)에서 추출된 외곽선의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 외곽선 오차를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다. 가령, 외곽선 오차는 타깃 객체의 형상(또는 모양)에 관한 복원 오차를 반영하고 있으므로, 외곽선 오차를 더 학습한 복원기(20)는 타깃 객체의 형상(또는 모양)을 보다 정확하게 복원할 수 있게 된다.
또한, 몇몇 실시예들에서는, 도 5에 도시된 바와 같이, 상기 딥러닝 네트워크가 판별기(40; discriminator)를 더 포함하도록 구성될 수 있고, 복원기(20)는 판별기(40)의 판별 결과에 기초하여 산출된 판별 오차(43)를 더 이용하여 학습될 수 있다. 즉, 복셀 오차(37)와 판별 오차(43)가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 여기서, 판별기(40)는 실제 복셀 모델(e.g. 정답 복셀 모델 35 등)과 페이크 복셀 모델(e.g. 복원 복셀 모델 33)을 판별할 수 있도록 학습된 신경망(e.g. CNN)일 수 있고, 판별 오차(43)는 복원된 복셀 모델(33)이 실제 복셀 모델에 가까울수록 작을 값을 갖도록 산출될 수 있다. 판별기(40)와 복원기(20)는 서로 적대적으로 학습될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 본 실시예에 따르면, 판별 오차(43)를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다. 가령, 복원기(20)는 입력된 2차원 이미지(e.g. 31)를 실제에 더 가까운 3차원의 복셀 모델로 복원할 수 있게 된다.
또한, 몇몇 실시예들에서는, 도 6에 도시된 바와 같이, 상기 딥러닝 네트워크가 타깃 객체의 클래스(class)를 분류하는 분류기(50; classifier)를 더 포함하도록 구성될 수 있고, 복원기(20)는 분류기(50)의 분류 결과에 기초하여 산출된 분류 오차(49)를 더 이용하여 학습될 수 있다. 즉, 복셀 오차(37)와 분류 오차(49)가 최소화되는 방향으로 복원기(20)의 가중치가 업데이트될 수 있다. 본 실시예에서, 복원기(20)는 타깃 객체에 대한 2차원 이미지(31)와 클래스 정보(45; e.g. 비행기)를 입력받고 복셀 모델(33)을 복원하여 출력할 수 있다. 또한, 분류기(50)는 프로젝션 이미지(41) 또는 복원된 복셀 모델(33)에 포함된 타깃 객체의 클래스를 분류하도록 학습된 신경망(e.g. CNN)일 수 있고, 분류 오차(49)는 분류기(50)에 의해 예측된 클래스 정보(47)와 정답 클래스 정보(45)의 차이에 기초하여 산출될 수 있다. 본 실시예에 따르면, 분류 오차(49)를 더 이용하여 복원기(20)가 학습됨으로써, 복원기(20)의 성능이 더욱 향상될 수 있다. 가령, 복원기(20)는 타깃 객체의 클래스에 더욱 잘 부합하는 복셀 모델을 복원할 수 있게 된다.
지금까지 도 3 내지 도 6을 참조하여 설명한 실시예들은 다양한 형태로 조합될 수 있다. 예를 들어, 상기 딥러닝 네트워크는 판별기(40)와 분류기(50)를 모두 포함하도록 구성될 수 있고, 복원기(20)는 프로젝션 오차(39), 판별 오차(43) 및 분류 오차(49)를 모두 이용하여 학습될 수도 있다.
다시 도 2를 참조하여 설명한다.
이하의 단계 S120 및 S140은 단계 S100을 통해 학습된 딥러닝 네트워크를 활용하는 과정으로 이해될 수 있다. 이하, 단계 S120 및 S140에 대하여 설명하도록 한다.
단계 S120에서, 타깃 객체에 대한 2차원의 원본 이미지가 획득될 수 있다.
단계 S140에서, 딥러닝 네트워크를 통해 2차원의 원본 이미지가 3차원의 복셀 모델로 복원될 수 있다. 가령, 복원 장치(10)는 원본 이미지를 딥러닝 네트워크에 입력하고 딥러닝 네트워크로부터 복원된 3차원의 복셀 모델을 획득할 수 있다(도 3 참조).
지금까지 도 2 내지 도 6을 참조하여 본 개시의 제1 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하였다. 상술한 방법에 따르면, 딥러닝 네트워크를 이용함으로써 단대단 방식으로 2차원 이미지로부터 3차원의 복셀 모델이 복원될 수 있는데, 이러한 방식은 종래와 같이 복잡한 알고리즘을 요구하지 않으면서도 높은 복원 정확도를 보장할 수 있다. 또한, 복셀 오차(e.g. 37) 외에 외곽선 오차, 프로젝션 오차(e.g. 39), 판별 오차(e.g. 43), 분류 오차(e.g. 49) 등과 같은 다양한 오차를 더 이용하여 학습함으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다. 아울러, 싱글뷰 이미지만을 이용하여 복셀 모델이 복원될 수 있다는 장점이 있다.
이하에서는, 도 7 내지 도 9를 참조하여 본 개시의 제2 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하도록 한다. 상기 제2 실시예는 멀티뷰 이미지를 이용하여 3차원 모델의 복원 정확도를 보다 향상시킬 수 있는 방법에 관한 것이다.
도 7은 본 개시의 제2 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법을 나타내는 예시적인 흐름도이고, 도 8은 이를 부연 설명하기 위한 예시적인 도면이다. 이하, 도 7 및 도 8을 함께 참조하여 설명한다.
단계 S200에서, 타깃 객체(e.g. 자동차)에 대한 2차원의 멀티뷰 이미지(61)가 획득될 수 있다. 멀티뷰 이미지(61)는 서로 다른 뷰에 대응되는 타깃 객체에 대한 복수의 2차원 이미지(e.g. 61-1, 61-2)를 포함할 수 있다. 가령, 멀티뷰 이미지(61)는 제1 뷰에 대응되는 제1 이미지(61-1)와 제2 뷰에 대응되는 제2 이미지(61-2)를 포함할 수 있다.
단계 S220에서, 멀티뷰 이미지(61)로부터 2차원의 깊이 정보(63)가 추출될 수 있다. 가령, 멀티뷰 이미지(61)를 구성하는 제1 이미지(61-1)로부터 제1 깊이 정보(63-1)가 추출되고, 제2 이미지(61-2)로부터 제2 깊이 정보(63-2)가 추출될 수 있다. 여기서, 깊이 정보는 2차원의 깊이맵(depth map)일 수 있으나, 이에 한정되는 것은 아니다.
본 단계 S220에서, 깊이 정보(63)를 추출하는 방식은 다양할 수 있으며, 어떠한 방식이 이용되더라도 무방하다. 예를 들어, 당해 기술 분야에서 널리 알려진 깊이 정보 추출 알고리즘을 통해 깊이 정보(63)가 추출될 수 있다. 몇몇 실시예들에서는, GAN(Generative Adversarial Networks) 모듈(모델)을 이용하여 깊이 정보가 추출될 수 있는데, 이하 도 9를 참조하여 본 실시예에 관하여 부연 설명하도록 한다.
도 9에 도시된 바와 같이, 상기 GAN 모듈은 2차원의 이미지(71; e.g. RGB 이미지)를 입력받고 이에 대응되는 2차원의 깊이맵(75)을 생성하는 생성기(73; generator)와 실제 이미지와 페이크 이미지를 판별하는 판별기(79)를 포함할 수 있다.
도시된 바와 같이, 생성기(73)는 2차원 이미지로부터 특징을 추출하는 인코더와 추출된 특징을 디코딩하여 깊이맵(75)을 생성하는 디코더로 구성될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 또한, 인코더 및 디코더는 모두 신경망(neural network)으로 구성될 수 있는데, 예를 들어 인코더는 CNN으로 구성될 수 있고, 디코더는 CNN 또는 DCNN으로 구성될 수 있다. 그러나, 이에 한정되는 것은 아니다.
다음으로, 판별기(79)는 실제 깊이맵(e.g. 깊이맵 77)과 페이크 깊이맵(e.g. 깊이맵 75)를 판별하도록 학습될 수 있다. 판별기(79)는 예를 들어 CNN으로 구성될 수 있을 것이나, 이에 한정되는 것은 아니다.
생성기(73)와 판별기(79) 간에는 적대적 학습이 수행될 수 있으며, 적대적 학습이 수행됨에 따라 생성기(73)는 입력 이미지(71)에 대응되는 깊이맵(75)을 보다 정교하게 생성할 수 있게 된다. 당해 기술 분야의 종사자라면, 적대적 학습 기법에 관하여 충분히 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.
다시 도 7 및 도 8을 참조하여 설명한다.
단계 S240에서, 추출된 깊이 정보(63)를 기초로 타깃 객체에 대한 볼륨 데이터(65)가 생성될 수 있다. 가령, 제1 뷰에 대응되는 제1 깊이 정보(e.g. 63-1)와 제2 뷰에 대응되는 제2 깊이 정보(e.g. 63-2)에 기초하여 볼륨 데이터(65)가 생성될 수 있다. 경우에 따라, 멀티뷰 이미지(61)에 더 기초하여 볼륨 데이터(65)가 생성될 수도 있다.
볼륨 데이터(65)는 타깃 객체에 대한 3차원 형상을 나타내는 데이터를 의미할 수 있으며, 구체적인 데이터 형태(포맷)는 다양하게 설계될 수 있다. 예를 들어, 볼륨 데이터(65)는 타깃 객체에 대한 개략적인 3차원 형상 정보를 나타내는 복셀 데이터일 수 있다. 다른 예로서, 볼륨 데이터(65)는 타깃 객체의 3차원 형상 정보를 나타내는 3차원의 깊이맵일 수 있다. 또는, 볼륨 데이터(65)는 2차원의 깊이맵일 수도 있다.
단계 S260에서, 딥러닝 네트워크(60)를 통해 볼륨 데이터(65)로부터 3차원의 복셀 모델(67)이 복원될 수 있다. 가령, 복원 장치(10)는 딥러닝 네트워크(60)에 볼륨 데이터(65)를 입력하고 딥러닝 네트워크(60)부터 복원된 3차원의 복셀 모델(67)을 획득할 수 있다.
딥러닝 네트워크(60)는 볼륨 데이터(65)로부터 복셀 모델(67)을 복원할 수 있도록 학습된 모델일 수 있다. 가령, 딥러닝 네트워크(60)는 인코더-디코더 구조(도 3 참조)로 이루어질 수 있으며, 타깃 객체에 대한 볼륨 데이터와 정답 복셀 모델로 구성된 학습 데이터를 학습함으로써 구축될 수 있다. 그러나, 이에 한정되는 것은 아니다. 딥러닝 네트워크(60)는 도 3 내지 도 6을 참조하여 설명한 바와 유사한 방식으로 구축될 수도 있다.
지금까지 도 7 내지 도 9를 참조하여 본 개시의 제2 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하였다. 상술한 방법에 따르면, 타깃 객체에 대한 멀티뷰 이미지(e.g. 65)의 깊이 정보(e.g. 63)로부터 타깃 객체에 대한 개략적인 3차원 형상 정보(즉, 볼륨 데이터)가 추정될 수 있고, 딥러닝 네트워크(e.g. 60)를 통해 추정된 3차원 형상 정보로부터 3차원의 복셀 모델(e.g. 67)이 정확하게 복원될 수 있다.
이하에서는, 도 10을 참조하여 본 개시의 제3 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하도록 한다. 상기 제2 실시예도 멀티뷰 이미지를 이용하여 3차원 모델의 복원 정확도를 보다 향상시킬 수 있는 방법에 관한 것이다.
도 10은 본 개시의 제3 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법을 설명하기 위한 예시적인 도면이다. 특히, 도 10은 딥러닝 네트워크의 세부 구조를 도시하고 있다.
복원 장치(10)는 도 10에 예시된 딥러닝 네트워크를 통해 단대단 방식으로 타깃 객체에 대한 2차원의 멀티뷰 이미지(91)로부터 3차원의 복셀 모델(99)을 복원할 수 있다. 이러한 딥러닝 네트워크는 멀티뷰 이미지(e.g. 91)와 정답 복셀 모델(e.g. 99)로 구성된 학습 데이터를 학습함으로써 구축될 수 있는데, 학습 방식은 예를 들어 도 3 내지 도 6을 참조하여 설명한 방식으로 수행될 수 있다. 중복된 설명을 배제하기 위해, 학습 방식에 관한 설명은 생략하고 본 실시예에 따른 딥러닝 네트워크의 구조 및 동작 원리를 중심으로 설명을 이어가도록 한다.
도시된 바와 같이, 상기 딥러닝 네트워크는 복수의 인코더(81-1 내지 81-n), RNN(Recurrent Neural Networks) 모듈(83), 복수의 디코더(85-1 내지 85-n), 애그리게이터(87) 및 리파이너(89; refiner)를 포함하도록 구성될 수 있다. 이하, 상기 딥러닝 네트워크의 각 구성요소에 대하여 설명하도록 한다.
복수의 인코더(81-1 내지 81-n)는 서로 다른 뷰에 대응되는 복수의 이미지(91-1 내지 91-n)로 구성된 멀티뷰 이미지(91)로부터 타깃 객체에 대한 특징(e.g. 특징맵)을 추출할 수 있다. 가령, 제1 인코더(81-1)는 제1 이미지(91-1)를 입력받아 제1 이미지(91-1)로부터 타깃 객체에 대한 제1 특징을 추출할 수 있고, 제2 인코더(81-2)는 제2 이미지(91-2)를 입력받아 제2 이미지(91-2)로부터 타깃 객체에 대한 제2 특징을 추출할 수 있다. 인코더(e.g. 81-1)는 예를 들어 CNN으로 구성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
다음으로, RNN 모듈(83)은 복수의 인코더(81-1 내지 81-n)와 복수의 디코더(85-1 내지 85-n) 사이에 위치하고, 복수의 RNN 유닛(83-1 내지 83-n)으로 구성될 수 있다. 복수의 RNN 유닛(83-1 내지 83-n)은 복수의 인코더(81-1 내지 81-n)에 의해 추출된 특징 데이터에 대하여 소정의 신경망 연산을 수행하고, 연산 결과를 연결된 RNN 유닛(e.g. 83-2)과 디코더(e.g. 85-1)에게 제공할 수 있다. 가령, 제1 RNN 유닛(83-1)은 제1 인코더(81-1)에 의해 추출된 제1 특징에 대해 신경망 연산을 수행하고, 연산 결과를 제2 RNN 유닛(83-1)과 제1 디코더(85-1)에게 제공할 수 있다. 그리고, 제2 RNN 유닛(83-2)은 제2 인코더(81-2)에 의해 추출된 제2 특징에 대해 신경망 연산을 수행하고, 연산 결과를 연결된 RNN 유닛과 제2 디코더(85-2)에게 제공할 수 있다.
RNN 모듈(83)은 연결 방향을 따라 복수의 인코더(81-1 내지 81-n)에 의해 추출된 특징을 축적시킴으로써 타깃 객체에 대한 특징을 고도화(정교화)하는 역할을 수행할 수 있다. 가령, 제2 RNN 유닛(83-2)은 제1 인코더(81-1) 및 제2 인코더(81-2)로부터 추출된 특징들을 축적함으로써 보다 고도화된 특징을 제2 디코더(85-2)에게 제공할 수 있다. 이에 따라, 제2 디코더(85-2)가 제1 디코더(85-1)보다 정교한 볼륨 피처(95-2)를 생성할 수 있게 되며, 마지막 디코더(85-n)는 가장 정교한 볼륨 피처(95-n)를 생성할 수 있게 된다. RNN 모듈(83)의 이러한 효과를 극대화하기 위해서는, 입력된 멀티뷰 이미지(91)가 순차적인 뷰를 갖는 복수의 이미지(e.g. 시계 방향 또는 반시계 방향으로 순차적인 뷰를 갖는 복수의 이미지)로 구성되는 것이 바람직할 수 있다.
도 10은 RNN 모듈(83)이 LSTM(Long Short-Term Memory) 신경망으로 이루어진 것을 예로써 도시하고 있으나, RNN 모듈(83)은 순환 구조를 갖는 다른 구조의 신경망으로 이루어질 수도 있다. 또한, 도 10은 RNN 유닛(e.g. 83-1)이 단방향으로 연결된 것을 예로써 도시하고 있으나, RNN 유닛(e.g. 83-1)은 양방향으로 연결될 수도 있다.
다음으로, 복수의 디코더(85-1 내지 85-n)는 RNN 모듈(83)의 연산 결과를 디코딩하여 복수의 볼륨 피처(95-1 내지 95-n)를 생성할 수 있다. 가령, 제1 디코더(85-1)는 제1 RNN 유닛(83-1)의 연산 결과를 디코딩하여 제1 볼륨 피처(95-1)를 생성할 수 있고, 제2 디코더(85-2)는 제2 RNN 유닛(83-2)의 연산 결과를 디코딩하여 제2 볼륨 피처(95-2)를 생성할 수 있다.
볼륨 피처(e.g. 95-1)는 타깃 객체에 대한 형상 정보를 나타내거나 형상적 특징을 담고 있는 피처 데이터를 의미할 수 있고, 그 구체적인 데이터의 형태는 디코더(e.g. 85-1)의 설계 방식에 따라 달라질 수 있다. 예를 들어, 볼륨 피처(e.g. 95-1)는 타깃 객체에 대한 개략적인 형상 정보를 나타내는 복셀 데이터일 수 있으나, 이에 한정되는 것은 아니다.
디코더(e.g. 85-1)는 예를 들어 CNN 또는 DCNN으로 구성될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
다음으로, 애그리게이터(87)는 복수의 디코더(85-1 내지 85-n)에 의해 생성된 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅(aggregating)하여 목적 볼륨 피처(97)를 생성할 수 있다. 다만, 애그리게이터(87)가 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅하는 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서, 애그리게이터(87)는 균등 가중치로 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅할 수 있다. 가령, 애그리게이터(87)는 균등 가중치로 복수의 볼륨 피처(95-1 내지 95-n)에 대해 가중치 합(또는 가중 평균) 연산을 수행하여 목적 볼륨 피처(97)를 생성할 수 있다.
다른 몇몇 실시예들에서, 애그리게이터(87)는 차등 가중치로 복수의 볼륨 피처(95-1 내지 95-n)를 애그리게이팅할 수도 있다. 가령, 애그리게이터(87)는 보다 정교한 볼륨 피처에 더 높은 가중치를 부여하고(e.g. 제2 볼륨 피처 95-2에 제1 볼륨 피처 95-1보다 높은 가중치를 부여, 제n 볼륨 피처 95-n에 가장 높은 가중치를 부여), 부여된 가중치에 따라 가중치 합(또는 가중 평균) 연산을 수행하여 목적 볼륨 피처(97)를 생성할 수 있다. 이러한 경우, 보다 정교한 목적 볼륨 피처(97)가 생성되어 딥러닝 네트워크의 성능이 향상될 수 있다.
한편, 애그리게이터(87)는 학습 가능 파라미터(learnable parameter)를 포함하지 않는 단순 산술 모듈로 구현될 수 있고, 완전 연결 레이어(fully connected layer)와 같은 신경망으로 구현될 수도 있다. 애그리게이터(87)가 신경망으로 구현되는 경우에는, 부여된 가중치에 기초하여 복수의 볼륨 피처(95-1 내지 95-n)의 값이 증폭 또는 감소된 후에 복수의 볼륨 피처(95-1 내지 95-n)가 애그리게이터(87)로 입력될 수도 있다.
다음으로, 리파이너(89)는 목표 볼륨 피처(97)로부터 타깃 객체에 대한 3차원의 복셀 모델(99)을 복원할 수 있다. 리파이너(89)는 신경망으로 구성되어, 목표 볼륨 피처(97)를 정제(refining)함으로써 보다 정교하게 복셀 모델(99)을 복원하는 역할을 수행할 수 있다.
도시된 바와 같이, 리파이너(89)는 인코더-디코더 구조로 구성될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 리파이너(89)는 다른 구조의 신경망으로 구성될 수도 있다.
한편, 도 10에 예시된 딥러닝 네트워크의 구조는 실시예에 따라 변형될 수도 있다. 예를 들어, 상기 딥러닝 네트워크는 RNN 모듈(83)을 포함하지 않는 인코더-디코더 구조로 구성될 수도 있다. 다른 예로서, 디코더(e.g. 85-1)에 타깃 객체의 깊이 정보(e.g. 93-1)가 입력되지 않는 형태로 상기 딥러닝 네트워크가 구성될 수도 있다.
지금까지 도 10을 참조하여 본 개시의 제3 실시예에 따른 딥러닝 기반 3차원 모델 복원 방법에 대하여 설명하였다. 상술한 바에 따르면, 피처 축적 구조(e.g. RNN 83, 애그리게이터 87)를 갖도록 딥러닝 네트워크를 구성함으로써, 딥러닝 네트워크의 복원 성능이 더욱 향상될 수 있다.
지금까지 상술한 제2 및 제3 실시예는 타깃 객체에 대한 멀티뷰 이미지를 요구하는데, 이 점이 일종의 제약사항으로 작용할 수 있다. 이하에서는, GAN 모듈을 통해 이러한 제약사항을 완화할 수 있는 방법에 대하여 도 11을 참조하여 설명하도록 한다.
도 11은 본 개시의 몇몇 실시예들에 따른 멀티뷰 이미지 생성 방법을 설명하기 위한 예시적인 도면이다. 이하, 도 11을 참조하여 설명한다.
본 실시예는 제1 도메인의 이미지를 제2 도메인의 이미지로 변환(translation)하는 기능을 구비한 GAN 모듈을 이용하여, 싱글뷰 이미지로부터 멀티뷰 이미지를 생성하는 방법에 관한 것이다. 이때, 제1 도메인의 이미지는 제1 뷰에 대응되는 이미지가 될 수 있고, 제2 도메인의 이미지는 제2 뷰에 대응되는 이미지가 될 수 있다.
도시된 바와 같이, 실시예에 따른 GAN 모듈은 제1 생성기(101), 제2 생성기(102), 제1 판별기(103) 및 제2 판별기(104)를 포함할 수 있다.
제1 생성기(101)는 제1 도메인의 이미지(105-1)를 제2 도메인의 페이크 이미지(105-2)로 변환하는 모듈일 수 있다. 그리고, 제2 판별기(104)는 제2 도메인의 실제 이미지(106-1)와 페이크 이미지(105-2)를 판별하는 모듈일 수 있다. 제1 생성기(101)와 제2 판별기(104)는 적대적 학습을 통해 상호 보완적으로 학습될 수 있다.
또한, 제1 생성기(101)는 제1 일관성 오차(consistency loss; LCONSTA)를 이용하여 더 학습될 수 있다. 제1 일관성 오차(LCONSTA)는 제1 생성기(101)로 입력된 실제 이미지(105-1)와 제2 생성기(102)를 통해 변환된 페이크 이미지(105-3) 간의 차이에 기초하여 산출될 수 있다. 이때, 페이크 이미지(105-3)는 제1 생성기(101)를 통해 변환된 페이크 이미지(105-2)를 다시 제2 생성기(102)를 통해 본래의 도메인으로 변환한 이미지를 의미할 수 있다. 제1 일관성 오차(LCONSTA)를 학습함으로써, 제1 생성기(101)는 학습 데이터가 이미지 쌍(pair)으로 구성되어 있지 않더라도 정확하게 이미지 변환을 수행할 수 있게 된다. 제1 일관성 오차(LCONSTA)는 예를 들어 유클리드 거리(Euclidian distance), 코사인 유사도(cosine similarity) 등에 기초하여 산출될 수 있을 것이나, 본 개시의 범위가 상기 열거된 예시에 한정되는 것은 아니다.
다음으로, 제2 생성기(102)는 제2 도메인의 이미지(106-1)를 제1 도메인의 페이크 이미지(106-2)로 변환하는 모듈일 수 있다. 또한, 제1 판별기(103)는 제1 도메인의 실제 이미지(105-1)와 페이크 이미지(106-2)를 판별하는 모듈일 수 있다. 제2 생성기(102)와 제1 판별기(103) 또한 적대적 학습을 통해 상호 보완적으로 학습될 수 있다.
또한, 제2 생성기(102)는 제2 일관성 오차(LCONSTB)를 이용하여 더 학습될 수 있다. 제2 생성기(102)의 학습 방식은 제1 생성기(101)와 유사한 바 더 이상의 설명은 생략하도록 한다.
적대적 학습을 통해 GAN 모듈이 구축되면, 제1 생성기(101) 또는 제2 생성기(102)를 통해 이미지 변환이 이루어질 수 있다. 가령, 제1 생성기(101)를 통해 제1 도메인의 이미지(즉, 제1 뷰에 대응되는 이미지)가 제2 도메인의 이미지(즉, 제2 뷰에 대응되는 이미지)로 변환될 수 있다. 또는, 제2 생성기(102)를 통해 제2 도메인의 이미지(즉, 제2 뷰에 대응되는 이미지)가 제1 도메인의 이미지(즉, 제1 뷰에 대응되는 이미지)로 변환될 수 있다. 따라서, 예시된 구조를 갖는 하나 이상의 GAN 모듈을 이용하면, 타깃 객체에 대한 싱글뷰 이미지로부터 용이하게 멀티뷰 이미지가 생성될 수 있다. 이를테면, 제1 뷰에 대응되는 제1 이미지만 주어진 경우, 제1 GAN 모듈을 통해 제1 이미지가 제2 뷰에 대응되는 제2 이미지로 변환될 수 있고, 제2 GAN 모듈을 통해 제1 이미지(또는 제2 이미지)가 제3 뷰에 대응되는 제3 이미지로 변환될 수 있다. 그리고, 제1 내지 제3 이미지로 타깃 객체에 대한 멀티뷰 이미지가 구성될 수 있다.
한편, 상기 GAN 모듈은 도 11예 예시된 바와는 다른 구조로 구현될 수도 있다. 예를 들어, GAN 모듈은 Disco-GAN, UNIT(Unsupervised Image-to-Image Translation), MUNIT(Multimodal Unsupervised Image-to-Image Translation), starGAN, fusionGan 등과 같은 이미지 변환 기능을 구비한 다른 구조의 GAN에 기초하여 구현될 수도 있다.
지금까지 도 11을 참조하여 본 개시의 몇몇 실시예들에 따른 멀티뷰 이미지 생성 방법에 대하여 설명하였다. 상술한 방법에 따르면, 이미지 변환 기능을 구비한 GAN 모듈을 활용함으로써, 타깃 객체에 대한 멀티뷰 이미지가 용이하게 구성될 수 있다.
이하에서는, 도 12를 참조하여 본 개시의 몇몇 실시예들에 따른 복원 장치(10)를 구현할 수 있는 예시적인 컴퓨팅 장치(1000)에 대하여 설명하도록 한다.
도 12는 컴퓨팅 장치(1000)를 나타내는 예시적인 하드웨어 구성도이다.
도 12에 도시된 바와 같이, 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 버스(1300), 통신 인터페이스(1400), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(1200)와, 컴퓨터 프로그램(1600)를 저장하는 스토리지(1500)를 포함할 수 있다. 다만, 도 12에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 12에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(1000)에는, 도 12에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 컴퓨팅 장치(1000)는 도 12에 도시된 구성요소들 중 일부가 생략된 형태로 구현될 수도 있다.
프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(1200)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1200)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(1500)로부터 하나 이상의 프로그램(1600)을 로드할 수 있다. 메모리(1200)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(1300)는 컴퓨팅 장치(1000)의 구성요소 간 통신 기능을 제공한다. 버스(1300)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(1400)는 컴퓨팅 장치(1000)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(1400)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1400)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 경우에 따라, 통신 인터페이스(1400)는 생략될 수도 있다.
스토리지(1500)는 상기 하나 이상의 프로그램(1600)을 비임시적으로 저장할 수 있다. 스토리지(1500)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(1600)은 메모리(1200)에 로드될 때 프로세서(1100)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 즉, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법들을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(1600)은 타깃 객체에 대한 2차원 이미지를 입력받는 동작 및 딥러닝 네트워크를 통해 입력된 2차원 이미지로부터 3차원의 복셀 모델을 복원하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(1000)를 통해 본 개시의 몇몇 실시예들에 따른 복원 장치(10)가 구현될 수 있다.
지금까지 도 12를 참조하여 본 개시의 몇몇 실시예들에 따른 복원 장치(10)를 구현할 수 있는 예시적인 컴퓨팅 장치(1000)에 대하여 설명하였다.
지금까지 도 1 내지 도 12를 참조하여 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 개시의 실시예를 구성하는 모든 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시가 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (9)

  1. 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리; 및
    상기 저장된 하나 이상의 인스트럭션들을 실행함으로써,
    타깃 객체에 대한 2차원의 입력 이미지를 획득하고,
    딥러닝 네트워크를 통해 상기 입력 이미지로부터 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델을 복원하는 프로세서를 포함하되,
    상기 딥러닝 네트워크는 상기 입력 이미지를 입력받아 상기 복셀 모델로 복원하여 출력하는 복원기와 실제 이미지와 페이크(fake) 이미지를 판별하는 판별기를 포함하고,
    상기 복원기는 상기 복원된 복셀 모델과 정답 복셀 모델 간의 차이에 기초하여 산출된 제1 오차, 상기 복원된 복셀 모델에 대한 상기 판별기의 판별 결과에 기초하여 산출된 제2 오차 및 상기 복원된 복셀 모델에 대한 프로젝션(projection) 연산을 통해 생성된 2차원의 프로젝션 이미지와 상기 입력 이미지와의 차이에 기초하여 산출된 제3 오차를 통해 학습되는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  2. 제1 항에 있어서,
    상기 복원기는 제4 오차에 더 기초하여 학습되되,
    상기 제4 오차는 상기 복원된 복셀 모델로부터 추출된 외곽선과 정답 복셀 모델로부터 추출된 외곽선의 차이에 기초하여 산출되는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  3. 제1 항에 있어서,
    상기 딥러닝 네트워크는 상기 타깃 객체의 클래스(class)를 분류하는 분류기를 더 포함하고,
    상기 복원기는 상기 타깃 객체의 정답 클래스 정보와 상기 입력 이미지를 입력받아 상기 복셀 모델을 복원하여 출력하며,
    상기 복원기는 제4 오차에 더 기초하여 학습되되,
    상기 제4 오차는 상기 분류기를 통해 상기 프로젝션 이미지의 예측 클래스 정보를 획득하는 과정 및 상기 예측 클래스 정보와 상기 정답 클래스 정보를 비교하는 과정을 통해 산출되는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  4. 제1 항에 있어서,
    상기 입력 이미지는 상기 타깃 객체의 서로 다른 뷰(view)에 대응되는 복수의 이미지를 포함하는 멀티뷰 이미지이고,
    상기 복원기는 복수의 인코더, 복수의 디코더, 애그리게이터(aggregator) 및 리파이너(refiner)를 포함하며,
    상기 복수의 인코더 중 제1 인코더는 상기 멀티뷰 이미지 중에서 제1 뷰에 대응되는 제1 이미지를 입력받아 상기 타깃 객체에 대한 제1 특징을 추출하고, 상기 복수의 인코더 중 제2 인코더는 상기 멀티뷰 이미지 중에서 제2 뷰에 대응되는 제2 이미지를 입력받아 상기 타깃 객체에 대한 제2 특징을 추출하며,
    상기 복수의 디코더 중 제1 디코더는 상기 제1 특징에 기반한 디코딩 연산을 수행하여 제1 볼륨 피처(volume feature)를 생성하고, 상기 복수의 디코더 중 제2 디코더는 상기 제2 특징에 기반한 디코딩 연산을 수행하여 제2 볼륨 피처를 생성하며,
    상기 애그리게이터는 상기 제1 볼륨 피처 및 상기 제2 볼륨 피처를 포함하는 복수의 볼륨 피처를 애그리게이팅하고,
    상기 리파이너는 신경망으로 구성되어 상기 애그리게이팅된 볼륨 피처로부터 상기 복셀 모델을 복원하는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  5. 제4 항에 있어서,
    상기 제1 디코더는 상기 제1 이미지에 대한 깊이 정보를 더 입력받고 디코딩하여 상기 제1 볼륨 피처를 생성하고,
    상기 제2 디코더는 상기 제2 이미지에 대한 깊이 정보를 더 입력받고 디코딩하여 상기 제2 볼륨 피처를 생성하며,
    상기 딥러닝 네트워크는 상기 제1 뷰에 대응되는 이미지를 상기 제2 뷰에 대응되는 이미지로 변환하는 GAN(Generative Adversarial Networks) 모듈을 더 포함하고,
    상기 프로세서는,
    상기 GAN 모듈을 통해 상기 제1 이미지를 상기 제2 이미지로 변환함으로써 상기 멀티뷰 이미지를 구성하는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  6. 제4 항에 있어서,
    상기 복원기는 상기 복수의 인코더와 상기 복수의 디코더 사이에 위치한 RNN(Recurrent neural networks) 모듈을 더 포함하고,
    상기 RNN 모듈은 상기 제1 인코더와 상기 제1 디코더 사이에 위치한 제1 RNN 유닛과 상기 제2 인코더와 상기 제2 디코더 사이에 위치한 제2 RNN 유닛을 포함하되,
    상기 제1 RNN 유닛은 상기 제1 특징에 대해 제1 신경망 연산을 수행하고, 상기 제1 신경망 연산의 결과를 상기 제2 RNN 유닛과 상기 제1 디코더에게 제공하고,
    상기 제2 RNN 유닛은 상기 제2 특징과 상기 제1 신경망 연산의 결과에 대해 제2 신경망 연산을 수행하고, 상기 제2 신경망 연산의 결과를 상기 제2 디코더에게 제공하며,
    상기 제1 디코더는 상기 제1 신경망 연산의 결과를 디코딩하여 상기 제1 볼륨 피처를 생성하고,
    상기 제2 디코더는 상기 제2 신경망 연산의 결과를 디코딩하여 상기 제2 볼륨 피처를 생성하는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  7. 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리; 및
    상기 하나 이상의 인스트럭션들을 실행함으로써,
    타깃 객체에 대한 멀티뷰(multi-view) 이미지를 입력받고,
    상기 멀티뷰 이미지로부터 2차원의 깊이 정보를 추출하며,
    상기 깊이 정보를 기초로 상기 타깃 객체에 대한 볼륨 데이터를 생성하고,
    딥러닝 네트워크를 통해 상기 볼륨 데이터를 입력받아 상기 타깃 객체에 대한 3차원의 복셀(voxel) 모델로 복원하여 출력하는 프로세서를 포함하되,
    상기 딥러닝 네트워크는 상기 복원된 복셀 모델과 정답 복셀 모델 간의 차이에 기초하여 산출된 제1 오차 및 상기 복원된 복셀 모델에 대한 프로젝션(projection) 연산을 통해 생성된 2차원의 프로젝션 이미지와 상기 입력 이미지와의 차이에 기초하여 산출된 제2 오차를 통해 학습되는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  8. 제7 항에 있어서,
    상기 딥러닝 네트워크는 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 특징을 추출하는 인코더, 상기 추출된 특징을 디코딩하여 상기 복셀 모델을 생성하는 디코더 및 실제 복셀 모델과 페이크(fake) 복셀 모델을 판별하는 판별기를 포함하고,
    상기 인코더와 상기 디코더는 상기 제1 오차, 상기 제2 오차 및 상기 복원된 복셀 모델에 대한 상기 판별기의 판별 결과에 기초하여 산출된 제3 오차를 통해 학습되는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
  9. 제7 항에 있어서,
    상기 딥러닝 네트워크는 상기 볼륨 데이터로부터 상기 타깃 객체에 대한 특징을 추출하는 인코더와 상기 추출된 특징을 디코딩하여 상기 복셀 모델을 생성하는 디코더를 포함하고,
    상기 멀티뷰 이미지는 상기 타깃 객체의 제1 뷰에 대응되는 제1 이미지와 제2 뷰에 대응되는 제2 이미지를 포함하며,
    상기 프로세서는,
    GAN(Generative Adversarial Networks) 모듈을 통해 상기 제1 이미지로부터 제1 깊이 정보를 생성하고,
    상기 GAN 모듈을 통해 상기 제2 이미지로부터 제2 깊이 정보를 생성하는,
    2차원 이미지로부터 3차원 모델을 복원하는 장치.
PCT/KR2021/013545 2020-11-09 2021-10-02 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법 WO2022097932A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0148309 2020-11-09
KR1020200148309A KR102245220B1 (ko) 2020-11-09 2020-11-09 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법

Publications (1)

Publication Number Publication Date
WO2022097932A1 true WO2022097932A1 (ko) 2022-05-12

Family

ID=75725623

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013545 WO2022097932A1 (ko) 2020-11-09 2021-10-02 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR102245220B1 (ko)
WO (1) WO2022097932A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116129036A (zh) * 2022-12-02 2023-05-16 中国传媒大学 一种深度信息引导的全方向图像三维结构自动恢复方法
CN116536906A (zh) * 2023-05-11 2023-08-04 杭州探观科技有限公司 一种用于内裤的立体裁剪方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102245220B1 (ko) * 2020-11-09 2021-04-27 주식회사 엔닷라이트 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법
WO2023088733A1 (en) 2021-11-18 2023-05-25 Koninklijke Philips N.V. Synthesis of images for 2d to 3d asymmetric feature preservation
KR102627659B1 (ko) 2021-12-02 2024-01-24 (주)셀빅 후면 영상정보 생성 장치 및 방법
KR20230083348A (ko) 2021-12-02 2023-06-12 (주)셀빅 컨텐츠 제작 방법 및 플랫폼
KR20230093127A (ko) * 2021-12-17 2023-06-27 가천대학교 산학협력단 의료영상의 깊이영상 예측 시스템 및 방법
KR102585921B1 (ko) * 2022-04-22 2023-10-06 주식회사 앤트랩 재고 관리 장치의 학습 방법 및 이를 이용한 재고 관리 방법
CN117496075B (zh) * 2024-01-02 2024-03-22 中南大学 一种单视图的三维重建方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190024400A (ko) * 2017-08-31 2019-03-08 경북대학교 산학협력단 객체 인식 장치 및 그 제어 방법
KR20190116067A (ko) * 2018-04-03 2019-10-14 한국전자통신연구원 딥 러닝에 기반하여 생성된 참조 프레임을 이용하는 인터 예측을 위한 방법 및 장치
JP2020030204A (ja) * 2018-08-21 2020-02-27 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 距離測定方法、プログラム、距離測定システム、および可動物体
KR20200071990A (ko) * 2018-12-12 2020-06-22 삼성전자주식회사 전자 장치 및 그의 3d 이미지 표시 방법
KR102145220B1 (ko) * 2019-02-14 2020-08-18 엔에이치엔 주식회사 딥러닝을 활용하여 2차원 이미지를 3차원 이미지로 변환하는 방법 및 장치
KR102245220B1 (ko) * 2020-11-09 2021-04-27 주식회사 엔닷라이트 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101725166B1 (ko) 2016-06-22 2017-04-12 주식회사 엑스콜로 2차원 이미지들을 이용하여 3차원 이미지를 재구성하는 방법 및 이를 위한 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190024400A (ko) * 2017-08-31 2019-03-08 경북대학교 산학협력단 객체 인식 장치 및 그 제어 방법
KR20190116067A (ko) * 2018-04-03 2019-10-14 한국전자통신연구원 딥 러닝에 기반하여 생성된 참조 프레임을 이용하는 인터 예측을 위한 방법 및 장치
JP2020030204A (ja) * 2018-08-21 2020-02-27 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 距離測定方法、プログラム、距離測定システム、および可動物体
KR20200071990A (ko) * 2018-12-12 2020-06-22 삼성전자주식회사 전자 장치 및 그의 3d 이미지 표시 방법
KR102145220B1 (ko) * 2019-02-14 2020-08-18 엔에이치엔 주식회사 딥러닝을 활용하여 2차원 이미지를 3차원 이미지로 변환하는 방법 및 장치
KR102245220B1 (ko) * 2020-11-09 2021-04-27 주식회사 엔닷라이트 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116129036A (zh) * 2022-12-02 2023-05-16 中国传媒大学 一种深度信息引导的全方向图像三维结构自动恢复方法
CN116129036B (zh) * 2022-12-02 2023-08-29 中国传媒大学 一种深度信息引导的全方向图像三维结构自动恢复方法
CN116536906A (zh) * 2023-05-11 2023-08-04 杭州探观科技有限公司 一种用于内裤的立体裁剪方法
CN116536906B (zh) * 2023-05-11 2023-09-22 杭州探观科技有限公司 一种立体裁剪内裤的成型质量检测方法

Also Published As

Publication number Publication date
KR102245220B1 (ko) 2021-04-27

Similar Documents

Publication Publication Date Title
WO2022097932A1 (ko) 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법
Yucer et al. Exploring racial bias within face recognition via per-subject adversarially-enabled data augmentation
US11610384B2 (en) Zero-shot object detection
KR102034248B1 (ko) GAN(Generative Adversarial Networks)을 이용하는 이상 검출 방법, 장치 및 그 시스템
WO2021085784A1 (ko) 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치
EP3816929B1 (en) Method and apparatus for restoring image
WO2020071701A1 (ko) 딥러닝 네트워크 모델에 의한 실시간 객체 검출 방법 및 장치
WO2021208601A1 (zh) 基于人工智能的图像处理方法、装置、设备及存储介质
WO2021153861A1 (ko) 다중 객체 검출 방법 및 그 장치
CN112037142B (zh) 一种图像去噪方法、装置、计算机及可读存储介质
WO2023282520A1 (ko) 목소리 개인정보 보호 기술을 이용한 학습 데이터베이스 구축 방법 및 시스템
CN113344826B (zh) 图像处理方法、装置、电子设备及存储介质
WO2023068795A1 (ko) 이미지 분석을 이용한 메타버스 생성 장치 및 방법
WO2023048347A1 (ko) 3차원 객체모델 생성 장치 및 그 방법
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
CN113570689A (zh) 人像卡通化方法、装置、介质和计算设备
CN115424310A (zh) 一种面向人脸重演中表情分离任务的弱标注学习方法
CN113239799B (zh) 训练方法、识别方法、装置、电子设备和可读存储介质
CN111797897A (zh) 一种基于深度学习的音频生成人脸图像方法
CN116246062A (zh) 使用图像/文本对执行语义分割训练
US11954600B2 (en) Image processing device, image processing method and image processing system
EP3977348A1 (en) Video understanding neural network systems and methods using the same
WO2020175729A1 (ko) 가우시안 특징점맵과 회귀 기법을 이용한 얼굴 특징점 검출 장치 및 방법
WO2023140519A1 (ko) 얼굴 개인정보 보호 기술을 이용한 기계학습 데이터베이스 구축 시스템
WO2021167257A1 (ko) Ppt 추천방법 및 그 장치

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: 21889397

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

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 20/09/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21889397

Country of ref document: EP

Kind code of ref document: A1