WO2020122513A1 - 2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 - Google Patents
2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 Download PDFInfo
- Publication number
- WO2020122513A1 WO2020122513A1 PCT/KR2019/017240 KR2019017240W WO2020122513A1 WO 2020122513 A1 WO2020122513 A1 WO 2020122513A1 KR 2019017240 W KR2019017240 W KR 2019017240W WO 2020122513 A1 WO2020122513 A1 WO 2020122513A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- face
- parameter
- face model
- cnn
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 90
- 238000005457 optimization Methods 0.000 claims description 28
- 230000008451 emotion Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 14
- 238000003672 processing method Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000036651 mood Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Definitions
- the present disclosure relates to a two-dimensional image processing method and a device implementing the method. More specifically, the present disclosure relates to a method for generating a 3D model of a face on a 2D image and a device for executing the method.
- the step of obtaining a two-dimensional image, the obtained two-dimensional image by processing the trained convolutional neural network (CNN) to the 2 Obtaining at least one camera parameter and at least one face model parameter from the dimensional image and generating a 3D face model based on the obtained at least one camera parameter and at least one face model parameter
- a method of processing a dimensional image may be provided.
- FIG. 1 is a structural diagram of a device for processing a 2D image according to an embodiment of the present disclosure.
- FIG. 2 is a flowchart of a method for processing a 2D image according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart of a method of processing data by a trained CNN processing a 2D image according to an embodiment of the present disclosure.
- 4A is a flow diagram of a method of processing data by a CNN trained according to one embodiment of the present disclosure.
- FIG. 4B shows the structure of a CNN used according to an embodiment of the present disclosure.
- 4C shows another structure of a CNN used according to an embodiment of the present disclosure.
- 5 is an example of a method different from a conventional method for processing a 2D image according to an embodiment of the present disclosure.
- FIG. 6 is a flowchart of a method for training a CNN according to an embodiment of the present disclosure.
- FIG. 7 is a flowchart of a case in which an emotion parameter is additionally acquired according to an embodiment of the present disclosure.
- FIG. 8 is an example of generating a 3D avatar based on a 2D image according to an embodiment of the present disclosure.
- a 2D image processing device acquires an emotion parameter from an image of a passerby and provides an appropriate advertisement according to an embodiment of the present disclosure.
- a pet robot acquires an emotion parameter from an image captured by a user and interacts with the user according to an embodiment of the present disclosure.
- 11 is an example of correcting perspective distortion based on a 3D face model generated according to an embodiment of the present disclosure.
- the step of obtaining a two-dimensional image, the obtained two-dimensional image by processing the trained convolutional neural network (CNN) to the 2 Obtaining at least one camera parameter and at least one face model parameter from the dimensional image and generating a 3D face model based on the obtained at least one camera parameter and at least one face model parameter
- a method of processing a dimensional image may be provided.
- processing by the trained CNN may include adjusting a size of the 2D image, detecting a face from the resized 2D image, and detecting the detected face.
- the at least one camera parameter may be obtained using nonlinear optimization
- the at least one face model parameter may be obtained using linear optimization
- the CNN may be trained in various ways.
- the 3D face model may be generated by applying the at least one camera parameter and the at least one face model parameter to a 3D morphable face model. have.
- the method may further include overlaying the generated 3D face model on a face region of the 2D image.
- the overlay may be made using a pinhole camera model.
- the method for processing the two-dimensional image may further include obtaining the at least one emotion parameter from the two-dimensional image by processing the obtained two-dimensional image by a trained convolutional neural network (CNN).
- CNN convolutional neural network
- a memory for storing one or more instructions, and a processor for executing the one or more instructions, wherein the processor acquires a two-dimensional image and trains the acquired two-dimensional image
- At least one camera parameter and at least one face model parameter are obtained from the 2D image by processing by a convolutional neural network (CNN), and based on the obtained at least one camera parameter and at least one face model parameter
- CNN convolutional neural network
- the processor adjusts the size of the 2D image, detects a face from the resized 2D image, displays a region containing the detected face as a bounding box, and the bounding from the 2D image Cropping an image of a face region marked with a box, resizing the cropped face region image to generate a second image, marking at least one landmark for the face from the second image, and displaying the at least one
- the two-dimensional image may be processed by the trained CNN by obtaining at least one camera parameter and at least one face model parameter that most closely match the landmark.
- the at least one camera parameter may be obtained using nonlinear optimization, and the at least one face model parameter may be obtained using linear optimization.
- the CNN can be trained in various ways.
- the 3D face model may be generated by applying the at least one camera parameter and the at least one face model parameter to a 3D morphable face model.
- the processor may overlay the generated 3D face model on the face region of the 2D image.
- the overlay may be made using a pinhole camera model.
- the processor may acquire at least one emotion parameter from the two-dimensional image by processing the obtained two-dimensional image by a trained convolutional neural network (CNN).
- CNN convolutional neural network
- a computer program product that, when executed, causes execution of the above methods can be provided.
- a computer-readable recording medium recording the above computer program product may be provided.
- unit used in the specification means a hardware component such as software, FPGA, or ASIC, and “unit” performs certain roles. However, “part” is not meant to be limited to software or hardware.
- the “unit” may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors.
- part refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables.
- the functionality provided within components and “parts” may be combined into a smaller number of components and “parts” or further separated into additional components and “parts”.
- FIG. 1 is a structural diagram of a device for processing a 2D image according to an embodiment of the present disclosure.
- the 2D image processing device 100 may include a processor 110 and a memory 130.
- the processor 110 may acquire a 2D image and process the obtained 2D image by a trained convolutional neural network (CNN) to obtain at least one camera parameter and at least one face model parameter from the 2D image.
- CNN convolutional neural network
- the two-dimensional image may be part of the video stream captured by the camera of the user's mobile computing device in real time or part of a pre-stored video stream.
- the 2D image processing device 100 may further include a photographing unit such as a camera capturing a video stream.
- a convolutional neural network is one of deep neural networks (DNN), which is an artificial neural network that includes a plurality of hidden layers between an input layer and an output layer.
- DNN deep neural networks
- it may be a neural network consisting of one or several convolutional layers, a pooling layer, and fully connected layers.
- CNN has a structure suitable for learning two-dimensional data such as images, and can be trained through a backpropagation algorithm.
- CNN is one of the representative models of DNN that is widely used in various application fields such as object classification and object detection in images.
- CNNs trained in various ways may be used.
- a detailed method for the processor 110 to obtain at least one camera parameter and at least one face model parameter from a two-dimensional image will be described later in FIG. 3 and the like.
- the processor 110 may generate a 3D face model based on the obtained at least one camera parameter and at least one face model parameter.
- the memory 130 may store program instructions or the like that cause execution of the processor 110.
- the processor stores instructions that can be read and executed by the processor, so that the processor can execute steps included in the 2D image processing method.
- the memory 130 may store the trained CNN.
- the 2D image processing device 100 may include a plurality of memories.
- processor 110 and the memory 130 are represented as separate configuration units, but in some embodiments of the present disclosure, the processor 110 and the memory 130 may be combined and implemented in the same configuration unit.
- the processor 110 and the memory 130 are represented as a configuration unit located adjacent to the inside of the two-dimensional image processing device 100, but an apparatus in charge of each function of the processor 110 and the memory 130 Is not necessarily physically adjacent, and according to an embodiment, the processor 110 and the memory 130 may be distributed.
- the 2D image processing device 100 is not limited to a physical device, some of the functions of the 2D image processing device 100 may be implemented by software rather than hardware.
- the 2D image processing device 100 may further include an output unit, a communication interface, and a photographing unit.
- Each of the components described in this specification may be composed of one or more components, and the name of the component may vary depending on the type of device.
- the device may be configured to include at least one of the components described herein, some components may be omitted, or additional components may be further included.
- functions of corresponding components before being combined may be performed in the same manner.
- the device 100 may include other components not shown in FIG. 1 such as a smart phone, tablet, virtual reality glasses, augmented reality glasses, PC, laptop, smart watch, and the like.
- the user computing device may include separate hardware units.
- each hardware unit may be responsible for each step or sub-step of the present disclosure method.
- FIG. 2 is a flowchart of a method for processing a 2D image according to an embodiment of the present disclosure.
- the device 100 may acquire a 2D image.
- the two-dimensional image may be part of the video stream captured by the camera of the user's mobile computing device in real time or part of a pre-stored video stream.
- the 2D image may be one or more images included in an image sequence downloaded from a network such as the Internet or the cloud.
- the device 100 may obtain at least one camera parameter and at least one face model parameter by processing the captured 2D image by a pre-trained convolutional neural network (CNN).
- CNN convolutional neural network
- the CNN may be the same as the structure shown in Figure 4b or Figure 4c.
- the CNN can be configured to infer camera parameters and face model parameters. Specifically, the CNN detects the face, and can obtain it by inferring the above parameters according to the detected face.
- the device 100 may generate a 3D face model based on the obtained at least one camera parameter and at least one face model parameter.
- the device 100 may generate a 3D face model by applying at least one camera parameter and the at least one face model parameter to a 3D morphable face model.
- the deformable face model may mean a statistical face primary component analysis (PCA) model.
- PCA face primary component analysis
- N is a neutral model, referred to as a basic three-dimensional face model
- e is a face shape parameter
- B is a shape basis to be.
- This model can also be expressed as a multidimensional normal distribution with a center at N points and a set of eigenvectors B of the covariance matrix. The column of each vector matrix B is the eigenvalue responsible for the informational importance of this vector. Can respond to.
- A may be an emotion basis
- ⁇ may be an emotion parameter vector.
- the device 100 may further include overlaying the generated 3D face model on the face region on the 2D image.
- a simplified pin hole camera model may be used.
- the pinhole camera model is a projection of a mathematical relationship between coordinate points in a three-dimensional space as an image hologram.
- Projection Can be derived as Means the original coordinate point, Means the projected coordinate point, Means focal length, Can mean a rotation matrix.
- FIG. 3 is a flowchart of a method of processing data by a trained CNN processing a 2D image according to an embodiment of the present disclosure.
- the CNN may adjust the size of the two-dimensional image obtained in step S210 of FIG. CNN can enlarge or reduce a 2D image.
- the CNN can detect the face from the resized 2D image.
- the CNN may display the area including the detected face as a bounding box.
- the bounding box of each sensed face can be implied to determine the face position in image space.
- the bounding box may be the size of a box slightly larger or smaller than the face.
- the CNN may crop an image of the face region indicated by the bounding box.
- the image of the face region is cropped based on the bounding box, but this step may be performed in other ways.
- the CNN may generate a second image by adjusting the size of the cropped face region image.
- the CNN may generate a second image by enlarging or reducing the size of the cropped face region image.
- the CNN may generate a second image by reducing the size of the cut face region image to a predetermined size nxn, that is, 512*512, 256*256, 128*128, or other size.
- the CNN may mark at least one landmark for the face from the second image.
- Landmark means the features of the face, for example, the edge of the eye or mouth, or the tip of the nose, artificial points that outline the face, nose, eyes and mouth.
- the landmark is not limited thereto.
- landmarks can be marked manually.
- marking of landmarks may be automatically performed using active shape model algorithms, cascade algorithms, or neural network approach.
- the algorithms used for automatic landmark marking are not limited to the above example.
- this step may be combined with step S320 and/or step S330. This is because the detection of the face area and the creation of a bounding box for it can be implied from the marked face landmark.
- the CNN may acquire at least one camera parameter and at least one face model parameter that are the closest match to at least one landmark.
- the CNN can acquire at least one camera parameter through nonlinear optimization.
- the Newton-Gauss, Levenberg-Marquardt algorithm, and gradient descent may be used for nonlinear optimization, but is not limited thereto.
- CNN may acquire at least one face model parameter through linear optimization.
- At least one face model parameter may include a shape parameter.
- CNN can reduce the required hardware resources by using linear optimization in obtaining at least one face model parameter. Accordingly, the 2D image processing device 100 according to an embodiment of the present disclosure may generate a 3D face model on a mobile device without the aid of additional hardware. Details of this will be described later with reference to FIG. 7.
- the CNN may further include generating a 3D face model that most closely matches the face landmarks.
- 4A is a flow diagram of a method of processing data by a CNN trained according to one embodiment of the present disclosure.
- FIG. 4A is a simplified diagram of the flowchart of FIG. 3, and FIG. 4B is a diagram showing the structure of a CNN in step S420 of FIG. 4A according to an embodiment of the present disclosure, and FIG. 4C is an embodiment of the present disclosure 4A is a diagram showing the CNN structure in step S440.
- the CNN may receive a plurality of 2D images and execute steps S410, S420, and S430.
- a plurality of images and a bounding box for them may be input in step S440.
- the CNN may include an input layer 450, a convolutional layer 460, and a fully connected layer 470.
- the CNN can input an image of 96*96 size to the input layer 450.
- the convolutional layers 460 may be designed to derive features of a two-dimensional image.
- CNN can add new layers by itself. When a new layer is added, the face detection capability of CNN may be improved, so it may be possible to detect a face without any additional algorithm.
- the CNN may include an input layer 450, a convolutional layer 460, and a fully connected layer 470.
- the CNN can input an image of size 128*128 into the input layer 450.
- the CNN may additionally input a bounding box second from the end of the fully connected layer 470 as shown in FIG. 4C.
- the input bounding box may be concatenated with the second input data from the end of the fully connected layer 470.
- the convolutional layers 460 may be designed to derive features of a two-dimensional image. However, it may not be designed to work with macro-features such as bounding boxes.
- the bounding boxes are input only from the fully connected layer 470, but are not limited thereto.
- the diversity of functions that can be scheduled by this CNN structure may be increased.
- At least one new fully connected layer 470 can be added to the CNN structure to provide the CNN with the ability to use bounding box parameters, so that the CNN has camera parameters. You can make more accurate inferences about.
- the device 100 may acquire the position of the face, the direction of the face, and the position of the face landmark from the two-dimensional image using the CNN shown in FIGS. 4B and 4C.
- 5 is an example of a method different from a conventional method for processing a 2D image according to an embodiment of the present disclosure.
- the device 100 may improve the execution speed of the optimization algorithm by using the same method as (b).
- FIG. 6 is a flowchart of a method for training a CNN according to an embodiment of the present disclosure.
- CNNs can be trained in a variety of ways.
- the CNN is trained by training data such as a three-dimensional deformable face model, a series of images and a bounding box corresponding to the series of images, camera parameters and model parameters that most closely match the landmark. Can be.
- At least one camera parameter and at least one model parameter can be extracted as actual data from the artificially input 2D image (610).
- the device 100 may acquire at least one camera parameter and at least one model parameter by executing CNN according to the methods of FIGS. 2 and 3 for the 2D image (630 ).
- a loss function may be additionally used in the step of CNN learning.
- the determination as to whether the difference between the measured data and the data obtained by the CNN is large is: at least one camera parameter that most closely matches the landmark of each face image for some artificial face images input through CNN training, and
- the difference between the L2 standard is a 3D face model generated for at least one model parameter and a 3D face model generated based on at least one camera parameter and at least one model parameter obtained by CNN for each image. It can be achieved by comparison.
- the CNN can be trained using a standard for the difference between projections of facial landmarks as a loss function.
- the CNN may be additionally trained using the Adam optimization algorithm.
- the CNN may be trained using the L2 standard for differences in camera parameters and the L2 standard for differences in model parameters.
- the L2 standard may be added as a weight difference that is a macro parameter of teaching.
- FIG. 7 is a flowchart of a case in which an emotion parameter is additionally acquired according to an embodiment of the present disclosure.
- the device 100 may acquire at least one camera parameter using nonlinear optimization.
- the device 100 may acquire at least one face model parameter using linear optimization.
- Equation (1) The linear optimization problem for acquiring model parameters can be plotted as Equation (1) as the following function.
- Is L2 standard The The I-th point of the model described by the equation, where N is a neutral three-dimensional face model, B is a shape basis, Is a face shape parameter, May be camera parameters.
- Is the parameter Is a rotation matrix with Is the translation Can be the focal length.
- Model parameters are the linear combination coefficients used to generate the model. to be. To solve this problem, camera parameters are considered constant.
- regularization of desired parameters of the deformable face model may be further performed. Regularization may be performed according to the following formula.
- an existing method of processing the parameters of a video stream and a deformable face model may be found in multiple images rather than one image.
- Equation (1) can be written as follows.
- k may be an image number
- the device 100 may acquire at least one emotion parameter using linear optimization.
- the camera parameters, the deformable face model parameters, and the emotion parameters that most closely match the landmarks perform this step by solving the linear optimization problem according to Equation (2) below. can do.
- Is L2 standard Is the i-th landmark, Is the official (N is a neutral 2D face model, B is a face model, Is the face model parameters, , A may be the i-th point of the emotion reflection model described by the emotion basis, ⁇ is a vector for emotion parameters.
- Model parameters are coefficients for the linear combination of emotion base vectors And is used to generate the model. To solve this problem, camera parameters and face model parameters are considered constant.
- FIG. 8 is an example of generating a 3D avatar based on a 2D image according to an embodiment of the present disclosure.
- the device 100 may acquire a 2D image (810), and detect a landmark from the acquired 2D image (820).
- the device 100 may generate a 3D face model according to the methods disclosed in FIGS. 2 and 3 (830).
- the device 100 may generate a 3D avatar similar to the face detected in the 2D image based on the generated 3D face model (840 ).
- the 3D avatar generated in some embodiments may mimic a user's habits and movements.
- the device 100 may control the generated 3D avatar to detect a user's movement and move similarly by reflecting the detected user's movement.
- the device 100 may use data about a user's habits, movements, facial expressions, etc. in a security and authentication system.
- the security system may use data related to a user's unique habits, movements, facial expressions, and the like to access door security, document security, and mobile device security.
- a 2D image processing device acquires an emotion parameter from an image of a passerby and provides an appropriate advertisement according to an embodiment of the present disclosure.
- the device 100 may acquire an image of the user through a built-in imaging unit or an external imaging device.
- the device 100 obtains additional information on the user's face 910 photographed by performing the method according to the embodiment of FIG. 2 on the obtained 2D image, and the acquired additional information Accordingly, advertisements for products or services may be provided.
- the device 100 may obtain an emotion parameter for the user who is photographed by performing the method according to the embodiments of FIGS. 2 and 7 on the obtained 2D image.
- the device 100 may determine a user's mood using the acquired emotion parameter, and provide an advertisement for a product or service according to the determined user's mood.
- the device 100 performs a method according to the embodiment of FIGS. 2 and 7 on the obtained two-dimensional image to determine the approximate age, skin color, skin tone, appearance, face size, etc. of the user. Can be obtained with additional information.
- the device 100 may provide an advertisement for a user-customized product or service according to the acquired additional information.
- Advertisement may be provided using a display inside the device 100, or may be performed using a display outside the device 100.
- a pet robot acquires an emotion parameter from an image captured by a user and interacts with the user according to an embodiment of the present disclosure.
- the device 100 may be a pet robot 1010, a device such as a wireless cleaner, a drone, an electronic secretary, or a separate device connected to these devices.
- the device 100 may acquire an image of the user through a built-in imaging unit or an external imaging device.
- the device 100 may obtain an emotion parameter for a user who is photographed by performing the method according to the embodiments of FIGS. 2 and 7 on the obtained 2D image.
- the device 100 may determine a user's mood using the acquired emotion parameter, and may interact with the user by performing a predetermined function according to the determined user's mood.
- the pet robot 1010 may be controlled to take a comforting gesture.
- 11 is an example of correcting perspective distortion based on a 3D face model generated according to an embodiment of the present disclosure.
- the device 100 may generate a 3D face model for the captured user by performing the method according to the embodiments of FIGS. 2 and 3 on the obtained 2D image 1110.
- the device 100 overlays the generated 3D face model on the face region of the 2D image, thereby obtaining a 2D image 1130 in which perspective distortion existing in the 2D image 1110 is corrected. can do.
- the overlay of the 3D face model on the face region of the 2D image may be performed using a pinhole camera model.
- correction of perspective distortion may be used in beauty applications, digital mirrors, digital makeup, and the like.
- the method of the present disclosure can be implemented by a processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a system-on-chip (SoC). Further, the described method may be executed by a storage medium capable of storing instructions executable by a computer and executing the method of the present disclosure when executed by a processor in a computer.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- SoC system-on-chip
- the storage medium readable by the device may be provided in the form of a non-transitory storage medium.
- the term'non-transitory storage medium' means a tangible device and does not include a signal (eg, electromagnetic wave). It does not distinguish the cases that are stored as.
- the'non-transitory storage medium' may include a buffer in which data is temporarily stored.
- a method according to various embodiments disclosed in this document may be provided as being included in a computer program product.
- Computer program products are commodities that can be traded between sellers and buyers.
- the computer program product may be distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or two user devices ( For example, it can be distributed directly (e.g., downloaded or uploaded) between smartphones).
- a portion of the computer program product e.g., downloadable app
- a storage medium readable by a device such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be stored temporarily or created temporarily.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Biodiversity & Conservation Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Game Theory and Decision Science (AREA)
- Biophysics (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
Abstract
2차원 이미지를 처리하는 방법에 있어서, 2차원 이미지를 획득하는 단계, 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 단계 및 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성하는 단계를 포함하는 방법을 제공한다.
Description
본 개시는 2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 에 관한 것이다. 좀 더 구체적으로 본 개시는 2차원 이미지 상의 얼굴에 대한 3차원 모델의 생성 방법 및 그 방법을 실행하는 디바이스에 관한 것이다.
2차원 이미지로부터 얼굴을 추출하여 3차원 얼굴 모델을 생성하는 기술은 다방면에서 이용되고 있다.
그러나, 알고리즘의 복잡성 등으로 인하여 고사양의 하드웨어가 필요하므로, 추가적인 하드웨어의 지원 없이 모바일 디바이스 만으로 실행하는 데에는 어려움이 있었다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예에 따르면, 2차원 이미지를 획득하는 단계, 상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 단계 및 상기 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성하는 단계를 포함하는 2차원 이미지 처리 방법 방법이 제공될 수 있다.
도1은 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 디바이스의 구조도이다.
도2는 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 방법에 대한 흐름도이다.
도3은 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 트레이닝된 CNN 에 의하여 데이터를 처리하는 방법에 대한 흐름도이다.
도4a는 본 개시의 일 실시예에 따라 트레이닝된 CNN 이 데이터를 처리하는 방법의 흐름도이다.
도4b는 본 개시의 일 실시예에 따라 이용되는 CNN의 구조를 도시한 것이다.
도4c는 본 개시의 일 실시예에 따라 이용되는 CNN의 다른 구조를 도시한 것이다.
도5는 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 방법이 기존의 방법과 다른 점에 대한 예시이다.
도6은 본 개시의 일 실시예에 따라 CNN이 트레이닝 되는 방법에 대한 흐름도이다.
도7은 본 개시의 일 실시예에 따라 감정 파라미터가 추가로 획득되는 경우에 대한 흐름도이다.
도8은 본 개시의 일 실시예에 따라 2차원 이미지를 기초로 3차원 아바타를 생성하는 예시이다.
도9는 본 개시의 일 실시예에 따라 2차원 이미지 처리 디바이스가 행인을 촬영한 이미지로부터 감정 파라미터를 획득하여, 적절한 광고를 제공하는 예시이다.
도10은 본 개시의 일 실시예에 따라 애완로봇이 사용자를 촬영한 이미지로부터 감정 파라미터를 획득하여 사용자와 교감하는 예시이다.
도11은 본 개시의 일 실시예에 따라 생성된 3차원 얼굴 모델을 기초로 원근 왜곡을 교정하는 예시이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예에 따르면, 2차원 이미지를 획득하는 단계, 상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 단계 및 상기 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성하는 단계를 포함하는 2차원 이미지 처리 방법 방법이 제공될 수 있다.
위 2차원 이미지 처리 방법 방법에 있어서, 상기 트레이닝된 CNN에 의하여 처리하는 단계는, 상기 2차원 이미지의 크기를 조정하는 단계, 상기 크기가 조정된 2차원 이미지로부터 얼굴을 감지하는 단계, 상기 감지된 얼굴이 포함된 영역을 바운딩 박스로 표시하는 단계, 상기 2차원 이미지로부터 상기 바운딩 박스로 표시된 얼굴 영역의 이미지를 잘라내는 단계, 상기 잘라낸 얼굴 영역 이미지의 크기를 조정하여 제2 이미지를 생성하는 단계, 상기 제2 이미지로부터 상기 얼굴에 대한 적어도 하나의 랜드마크를 마킹하는 단계 및 상기 적어도 하나의 랜드마크와 가장 근접하게 매치되는 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 단계를 포함할 수 있다.
또한, 위 2차원 이미지 처리 방법 방법에 있어서, 상기 적어도 하나의 카메라 파라미터는 비선형 최적화를 이용하여 획득되고, 상기 적어도 하나의 얼굴 모델 파라미터는 선형 최적화를 이용하여 획득될 수 있다.
위 2차원 이미지 처리 방법 방법에 있어서, 상기 CNN은 다양한 방식으로 트레이닝될 수 있다.
위 2차원 이미지 처리 방법 방법에 있어서, 상기 3차원 얼굴 모델은 상기 적어도 하나의 카메라 파라미터 및 상기 적어도 하나의 얼굴 모델 파라미터를 3차원 변형 가능 얼굴 모델(3차원 morphable face model)에 적용함으로써 생성될 수 있다.
위 2차원 이미지 처리 방법 방법에 있어서, 상기 생성된 3차원 얼굴 모델을 상기 2차원 이미지의 얼굴 영역에 오버레이(overlay)하는 단계를 더 포함할 수 있다.
이 때, 상기 오버레이는 핀 홀 카메라 모델을 이용하여 이루어질 수 있다.
위 2차원 이미지 처리 방법 방법은, 상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 감정 파라미터를 획득하는 단계를 더 포함할 수 있다.
본 개시 일 실시예의 또 다른 측면에 따르면, 하나 이상의 인스트럭션을 저장하는 메모리, 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 2차원 이미지를 획득하고, 상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하고, 상기 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성하는 2차원 이미지 처리 디바이스가 제공될 수 있다.
상기 프로세서는, 상기 2차원 이미지의 크기를 조정하고, 상기 크기가 조정된 2차원 이미지로부터 얼굴을 감지하고, 상기 감지된 얼굴이 포함된 영역을 바운딩 박스로 표시하고, 상기 2차원 이미지로부터 상기 바운딩 박스로 표시된 얼굴 영역의 이미지를 잘라내고, 상기 잘라낸 얼굴 영역 이미지의 크기를 조정하여 제2 이미지를 생성하고, 상기 제2 이미지로부터 상기 얼굴에 대한 적어도 하나의 랜드마크를 마킹하고, 상기 적어도 하나의 랜드마크와 가장 근접하게 매치되는 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득함으로써 상기 2차원 이미지를 상기 트레이닝된 CNN에 의하여 처리할 수 있다.
위 2차원 이미지 처리 디바이스에 있어서, 상기 적어도 하나의 카메라 파라미터는 비선형 최적화를 이용하여 획득되고, 상기 적어도 하나의 얼굴 모델 파라미터는 선형 최적화를 이용하여 획득될 수 있다.
위 2차원 이미지 처리 디바이스에 있어서, 상기 CNN은 다양한 방식으로 트레이닝될 수 있다.
위 2차원 이미지 처리 디바이스에 있어서, 상기 3차원 얼굴 모델은 상기 적어도 하나의 카메라 파라미터 및 상기 적어도 하나의 얼굴 모델 파라미터를 3차원 변형 가능 얼굴 모델(3차원 morphable face model)에 적용함으로써 생성될 수 있다.
위 2차원 이미지 처리 디바이스에 있어서, 프로세서는 상기 생성된 3차원 얼굴 모델을 상기 2차원 이미지의 얼굴 영역에 오버레이(overlay)할 수 있다.
위 2차원 이미지 처리 디바이스에 있어서, 상기 오버레이는 핀 홀 카메라 모델을 이용하여 이루어질 수 있다.
상기 프로세서는, 상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 감정 파라미터를 획득할 수 있다.
본 개시 일 실시예의 또 다른 측면에 따르면, 실행되었을 때, 위 방법들의 실행을 야기하는 컴퓨터 프로그램 제품이 제공될 수 있다.
본 개시 일 실시예의 또 다른 측면에 따르면, 위 컴퓨터 프로그램 제품을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시가 이하에서 제시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도1은 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 디바이스의 구조도이다.
본 개시의 일 실시예에 따른 2차원 이미지 처리 디바이스(100)는 프로세서(110) 및 메모리(130)를 포함할 수 있다.
프로세서(110)는 2차원 이미지를 획득하고, 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득할 수 있다.
2차원 이미지는 실시간으로 사용자의 모바일 컴퓨팅 디바이스의 카메라에 의하여 캡쳐된 비디오 스트림의 일부이거나 혹은 미리 저장된 비디오 스트림의 일부일 수 있다.
일부 실시예에서 2차원 이미지 처리 디바이스(100)는 비디오 스트림을 캡쳐하는 카메라와 같은 촬영부를 더 포함할 수 있다.
본 개시에서 CNN(convolutional neural network)은 입력 층(input layer)과 출력 층(output layer) 사이에 다중의 은닉 층(hidden layer)을 포함하는 인공 신경망인 심층 신경망(DNN: Deep Neural Network)의 한 종류로, 하나 또는 여러 개의 콘볼루션 레이어(convolutional layer)과 통합 레이어(pooling layer), 완전하게 연결된 레이어(fully connected layer)들로 구성된 신경망일 수 있다.
CNN은 이미지와 같은 2차원 데이터의 학습에 적합한 구조를 가지고 있으며, 역전달(Backpropagation algorithm)을 통해 훈련될 수 있다. CNN은 영상 내 객체 분류, 객체 탐지 등 다양한 응용 분야에 폭넓게 활용되는 DNN의 대표적 모델 중 하나이다. 본 개시에서는 다양한 방식으로 트레이닝된 CNN이 이용될 수 있다.
프로세서(110)가 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 구체적인 방법에 대하여는 도3 등에서 후술한다.
프로세서(110)는 상기 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성할 수 있다.
메모리(130)는 프로세서(110)의 실행을 야기하는 프로그램 인스트럭션 등을 저장할 수 있다. 메모리(130)는 프로세서에 의하여 실행될 때, 프로세서가 읽을 수 있고, 실행할 수 있는 인스트럭션을 저장하여, 프로세서가 2차원 이미지 처리 방법에 포함된 단계들을 실행할 수 있도록 한다.
일 실시예에서 메모리(130)는 트레이닝 된 CNN을 저장할 수 있다.
본 개시의 일부 실시예에서 2차원 이미지 처리 디바이스(100)는 복수의 메모리를 포함할 수 있다.
본 실시예에서 프로세서(110) 및 메모리(130)는 별도의 구성 단위로 표현되어 있으나, 본 개시의 일부 실시예에서는 프로세서(110) 및 메모리(130)가 합쳐져 동일한 구성 단위로 구현될 수도 있다.
또한 본 실시예에서 프로세서(110) 및 메모리(130)는 2차원 이미지 처리 디바이스(100) 내부에 인접하여 위치한 구성 단위로 표현되었지만, 프로세서(110) 및 메모리(130)의 각 기능을 담당하는 장치는 반드시 물리적으로 인접할 필요는 없으므로, 실시 예에 따라 프로세서(110) 및 메모리(130)가 분산되어 있을 수 있다.
또한, 2차원 이미지 처리 디바이스(100)는 물리적 장치에 한정되지 않으므로, 2차원 이미지 처리 디바이스(100)의 기능 중 일부는 하드웨어가 아닌 소프트웨어로 구현될 수도 있다.
본 개시의 일부 실시예에 따르면 2차원 이미지 처리 디바이스(100)는 출력 부, 통신 인터페이스, 촬영부 등을 더 포함할 수 있다.
본 명세서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 디바이스의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 디바이스는 본 명세서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시예에 따른 디바이스의 구성요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
디바이스(100)는 스마트 폰, 테블릿, 가상 현실 안경, 증강 현실 안경, PC, 랩탑, 스마트 워치 등과 같은 도1에 도시되지 않은 다른 구성 요소들을 포함할 수 있다.
다른 실시예에서 사용자 컴퓨팅 디바이스는 분리된 하드웨어 유닛들을 포함할 수 있다. 이러한 실시예에서, 각 하드웨어 유닛은 본 개시 방법의 각 단계 혹은 서브 단계를 책임질 수 있다.
도2는 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 방법에 대한 흐름도이다.
S210 단계에서 디바이스(100)는 2차원 이미지를 획득할 수 있다. 2차원 이미지는 실시간으로 사용자의 모바일 컴퓨팅 디바이스의 카메라에 의하여 캡쳐된 비디오 스트림의 일부이거나 혹은 미리 저장된 비디오 스트림의 일부일 수 있다. 또한, 2차원 이미지는 인터넷이나 클라우드와 같은 네트워크로부터 다운로드된 이미지 시퀀스에 포함된 하나 혹은 그 이상의 이미지일 수 있다.
단계 S230에서 디바이스(100)는 캡쳐된 2차원 이미지를 미리 트레이닝된 CNN(convolutional neural network)에 의하여 처리함으로써, 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득할 수 있다.
CNN은 도4b 또는 도4c에 도시된 구조와 같을 수 있다. CNN은 카메라 파라미터들 및 얼굴 모델 파라미터들을 추론하도록 구성될 수 있다. 구체적으로 CNN은 얼굴을 감지하고, 감지된 얼굴에 따라 위 파라미터들을 추론하여 획득할 수 있다.
이미지에서 얼굴을 감지하는 추가적인 능력을 가진 CNN의 제공은 얼굴 감지에 대하여 자원 집약적인 과정을 회피할 수 있게 하였다. 본 개시의 CNN에 의한 이미지 상의 얼굴 감지는 선행 기술과 비교하여 상대적으로 덜 자원 집약적인 작업이다.
단계 S250에서 디바이스(100)는 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성할 수 있다.
일 실시예에서 디바이스(100)는 적어도 하나의 카메라 파라미터 및 상기 적어도 하나의 얼굴 모델 파라미터를 3차원 변형 가능 얼굴 모델(3D morphable face model)에 적용함으로써 3차원 얼굴 모델을 생성할 수 있다.
본 개시에서 변형 가능 얼굴 모델(Morphable face model)은 통계적인 얼굴 PCA(Primary Component Analysis) 모델을 의미할 수 있다.
이 모델은 M= N + B로 표현될 수 있고, 이 때 N은 중성 모형(neutral model)이고, 기본 3차원 얼굴 모델로 참조되며, e는 얼굴 모양 파라미터이고, B는 기초 모양 (shape basis)이다. 이 모델은 또한 N 포인트에 센터를 가지고, 공분산 행렬의 고유 벡터 B의 집합을 가지는 다차원 정규 분포(multidimensional normal distribution)로 표현될 수 있다. 각 벡터 행렬 B의 열은 이 벡터의 정보상의 중요성을 책임지는 고유치(eigenvalue )
에 대응할 수 있다.
일부 실시예에서 디바이스(100)는 생성된 3차원 얼굴 모델을 2차원 이미지 상의 얼굴 영역에 오버레이하는 단계를 더 포함할 수 있다. 이러한 오버레이 과정에서는 간소화된 핀 홀 카메라 모델이 이용될 수 있다.
본 개시에서 핀 홀 카메라 모델은 3차원 공간에서 각 좌표점들 사이의 수학적인 관계를 영상 홀로그램으로 투영한 것이다.
변형 가능 페이스 모델의 파라미터
와 간소화된 핀 홀 카메라 모델의 파라미터들이 고정된 값이라면, 3차원 공간
에서 일련의 포인트들이 도출될 것이고, 그것들은 3차원 얼굴 모델로 참조될 것이다.
도3은 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 트레이닝된 CNN 에 의하여 데이터를 처리하는 방법에 대한 흐름도이다.
S310 단계에서 CNN은 도2의 단계 S210에서 획득된 2차원 이미지의 크기를 조정할 수 있다. CNN은 2차원 이미지를 확대하거나 축소할 수 있다.
S320 단계 에서 CNN은 크기가 조정된 2차원 이미지로부터 얼굴을 감지할 수 있다. S330 단계에서 CNN은 감지된 얼굴이 포함된 영역을 바운딩 박스로 표시할 수 있다. 각 감지된 얼굴의 바운딩 박스는 이미지 공간에서 얼굴 위치를 결정하는 것으로 암시될 수 있다. 일부 실시예에서 바운딩 박스는 얼굴보다 약간 크거나 작은 박스의 크기일 수 있다.
S340 단계에서 CNN은 바운딩 박스로 표시된 얼굴 영역의 이미지를 잘라낼 수 있다. 본 실시예에서는 바운딩 박스를 기초로 얼굴 영역의 이미지를 잘라내지만, 이 단계는 다른 방법으로 실행될 수도 있다.
S350 단계에서 CNN은 잘라낸 얼굴 영역 이미지의 크기를 조정하여 제2 이미지를 생성할 수 있다. CNN은 잘라낸 얼굴 영역 이미지의 크기를 확대하거나 축소하여 제2 이미지를 생성할 수 있다.
일 실시예에서, CNN은 잘라낸 얼굴 영역 이미지의 크기를 소정의 크기 nxn 즉, 512* 512, 256*256, 128*128 혹은 다른 크기로 축소하여 제2 이미지를 생성할 수 있다.
S360 단계에서 CNN은 제2 이미지로부터 얼굴에 대한 적어도 하나의 랜드마크를 마킹할 수 있다. 랜드마크는 예를 들어, 눈 또는 입의 모서리, 혹은 코의 끝 부분, 얼굴, 코 ,눈 및 입의 윤곽을 밝히는 인위적인 포인트와 같은, 얼굴의 특징들을 의미한다. 그러나 랜드마크가 이에 한정되는 것은 아니다.
일 실시예에서, 랜드마크들은 수동으로 마크될 수 있다. 다른 일 실시예에서 랜드마크들의 마킹은 액티브 쉐잎 모델 알고리즘(active shape model algorithms), 캐스케이드 알고리즘(cascade algorithms) 혹은 신경망 네트워크 접근(neural network approach)등을 이용하여 자동으로 이루어질 수도 있다. 그러나 랜드마크 자동 마킹에 이용되는 알고리즘들이 위 예시에 한정되는 것은 아니다.
다른 실시예에서 이 단계는 S320 단계 및/또는 S330단계와 결합될 수 있다. 얼굴 영역 감지 및 그에 대한 바운딩 박스 생성은 마킹된 얼굴 랜드마크로부터 암시될 수 있기 때문이다.
S370 단계에서 CNN은 적어도 하나의 랜드마크와 가장 근접하게 매치되는 적어 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득할 수 있다.
이 단계에서 CNN은 비선형 최적화를 통하여 적어도 하나의 카메라 파라미터를 획득할 수 있다. 비선형 최적화에는 뉴턴-가우스(Newton-Gauss), 레벤베르크-마르콰르트(Levenberg-Marquardt) 알고리즘, 기울기 하강(gradient descent)이 이용될 수 있지만, 이에 한정되는 것은 아니다.
또한, CNN은 선형 최적화를 통하여 적어도 하나의 얼굴 모델 파라미터를 획득할 수 있다. 적어도 하나의 얼굴 모델 파라미터는 모양 파라미터를 포함할 수 있다. CNN은 적어도 하나의 얼굴 모델 파라미터를 획득함에 있어서 선형 최적화를 이용함으로써 필요한 하드웨어 자원을 감소시킬 수 있다. 따라서, 본 개시의 일 실시예에 따른 2차원 이미지 처리 디바이스(100)는 추가적인 하드웨어의 도움 없이 모바일 디바이스에서 3차원 얼굴 모델을 생성할 수 있다. 이에 대한 상세한 내용은 도7에서 후술한다.
다른 실시예에서 CNN은 얼굴 랜드마크들과 가장 근접하게 매치되는 3차원 얼굴 모델을 생성하는 단계를 더 포함할 수 있다.
도4a는 본 개시의 일 실시예에 따라 트레이닝된 CNN 이 데이터를 처리하는 방법의 흐름도이다.
도4a는 도3의 흐름도를 간소화하여 도시한 도면이고, 도4b는 본 개시의 일 실시예에 따라 도4a의 S420 단계에서 CNN의 구조를 도시한 도면이며, 도4c는 본 개시의 일 실시예에 따라 도4a의 S440 단계에서의 CNN 구조를 도시한 도면이다.
도4a의 실시예에서 CNN은 복수의 2차원 이미지를 입력 받아 S410 단계, S420 단계, S430 단계를 실행할 수 있다. 이 경우, 복수의 이미지들 및 이들에 대한 바운딩 박스가 S440 단계에 입력될 수 있다.
도4b의 실시예에서 CNN은 입력 레이어(450), 콘볼루션 레이어(460) 및 완전하게 연결된 레이어(470)를 포함할 수 있다.
CNN은 96*96 크기의 이미지를 입력 레이어(450)에 입력할 수 있다.
콘볼루션 레이어(convolutional layers)(460)는 2차원 이미지의 특징을 도출하도록 디자인될 수 있다.
CNN은 스스로 새로운 레이어를 추가할 수 있다. 새로운 레이어가 추가되는 경우 CNN의 얼굴 감지 능력이 향상될 수 있으므로, 다른 추가적인 알고리즘 없이 얼굴을 감지하는 것이 가능할 수 있다.
도4c에서 CNN은 입력 레이어(450), 콘볼루션 레이어(460) 및 완전하게 연결된 레이어(470)를 포함할 수 있다.
CNN은 128*128 크기의 이미지를 입력 레이어(450)에 입력할 수 있다.
또한, CNN은 도4C에서 도시된 바와 같이 완전하게 연결된 레이어(470)의 끝에서 두 번째에 바운딩 박스를 추가로 입력할 수 있다. 입력된 바운딩 박스는 완전하게 연결된 레이어(470)의 끝에서 두 번째의 입력 데이터와 결합(concatenate)될 수 있다. 콘볼루션 레이어(convolutional layers)(460)는 2차원 이미지의 특징을 도출하도록 디자인될 수 있다. 그러나 바운딩 박스와 같은 거시 특징(macro-features)들과 작용하도록 디자인되지는 않을 수 있다.
본 실시예에서 바운딩 박스들은 완전하게 연결된 레이어(470)에서만 입력되지만, 이에 한정되는 것은 아니다.
다른 실시예에서, 완전하게 연결된 레이어(470)의 수가 증가되어 비선형성이 증가되면, 이 CNN 구조에 의하여 예정될 수 있는 기능의 다양성이 증가될 수 있다.
입력을 실행하기 위하여, 적어도 하나의 새로운 완전하게 연결된 레이어(470)가 CNN 구조에 추가되어 CNN에 바운딩 박스 파라미터들을 이용하는 능력을 제공할 수 있게 됨으로써, CNN은 카메라 파라미터들
에 대하여 더 정확한 추론을 할 수 있다.
디바이스(100)는 도4b 및 도4c와 같은 CNN을 이용하여 2차원 이미지로부터 얼굴의 위치, 얼굴의 방향 및 얼굴 랜드마크의 위치 등을 획득할 수 있다.
도5는 본 개시의 일 실시예에 따라 2차원 이미지를 처리하는 방법이 기존의 방법과 다른 점에 대한 예시이다.
(a)는 기존의 방식에 따른 얼굴 정렬(face alignment) 최적화 알고리즘을 도시하고, (b)는 본 개시의 일 실시예에 따른 얼굴 정렬(face alignment) 최적화 알고리즘을 도시한다.
(a)에서는 3차원 변형 가능 얼굴 모델(3D morphable face model)을 투사(projection)하여 생성된 2차원 모델과 2차원 이미지로부터 감지된 랜드마크들을 비교하는 것과 비교하여, (b)에서는 투사 과정 없이 2차원 이미지에서 직접 감지된 랜드마크들과 3차원 변형 가능 얼굴 모델(3D morphable face model)을 직접 비교할 수 있다.
디바이스(100)는 (b)와 같은 방법을 이용함으로써, 최적화 알고리즘의 수행 속도를 향상시킬 수 있다.
도6은 본 개시의 일 실시예에 따라 CNN이 트레이닝 되는 방법에 대한 흐름도이다.
CNN은 다양한 방식으로 트레이닝될 수 있다.
일 실시예에서 CNN은 3차원 변형 가능 얼굴 모델, 일련의 이미지들 및 일련의 이미지들에 대응하는 바운딩 박스, 랜드마크와 가장 근접하게 매치되는 카메라 파라미터들 및 모델 파라미터들과 같은 트레이닝 데이터에 의하여 트레이닝 될 수 있다.
이 경우, CNN에 인위적인 2차원 이미지 입력 능력을 제공하여, 인위적으로 입력된 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 모델 파라미터를 실측 데이터로 추출할 수 있다(610).
또한, 디바이스(100)는 2차원 이미지에 대하여 도2 및 도3의 방법에 따른 CNN의 실행에 의하여 적어도 하나의 카메라 파라미터 및 적어도 하나의 모델 파라미터를 획득할 수 있다(630).
만일 실측데이터(620)와 CNN이 알고리즘에 의하여 획득된 데이터(630)의 차이가 크다면, 손실 함수(loss function)가 CNN 러닝의 단계에서 추가적으로 이용될 수 있다.
실측데이터와 CNN이 알고리즘에 의하여 획득된 데이터의 차이가 큰지 여부에 대한 판단은, CNN 트레이닝으로 입력된 몇몇 인위적인 얼굴 이미지에 대하여 각 얼굴 이미지의 랜드마크와 가장 근접하게 매치되는 적어도 하나의 카메라 파라미터 및 적어도 하나의 모델 파라미터에 대하여 생성된 3차원 얼굴 모델과, 각 이미지에 대하여 CNN에 의하여 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 모델 파라미터를 기초로 생성된 3차원 얼굴 모델을 L2 표준의 차이를 이용하여 비교함으로써 이루어질 수 있다.
다른 실시예에서, CNN은 손실 함수로서의 얼굴 랜드마크의 투영들 사이의 차이에 대한 표준을 이용하여 트레이닝될 수 있다.
또 다른 실시예에서 CNN은 아담 최적화 알고리즘(Adam optimization algorithm)을 이용하여 추가적으로 트레이닝될 수 있다.
또는, CNN이 카메라 파라미터들에서의 차이에 대한 L2 표준 및 모델 파라미터들에서의 차이에 대한 L2 표준을 이용하여 트레이닝될 수도 있다. 이 때, L2 표준은 티칭(teaching )의 매크로 파라미터인 가중치 차이로 추가될 수 있다.
도7은 본 개시의 일 실시예에 따라 감정 파라미터가 추가로 획득되는 경우에 대한 흐름도이다.
S710 단계에서 디바이스(100)는 비선형 최적화를 이용하여 적어도 하나의 카메라 파라미터를 획득할 수 있다.
S730 단계에서 디바이스(100)는 선형 최적화를 이용하여 적어도 하나의 얼굴 모델 파라미터를 획득할 수 있다.
모델 파라미터들을 획득하기 위한 선형 최적화 문제는 아래의 함수와 같이 수식(1)로 도식화될 수 있다.
여기서
는 L2 표준이고,
는
식에 의하여 설명되는 모델의 I 번째 포인트이며, 이 때 N은 중립적인 3차원 얼굴 모델이고, B는 기초 모양(shape basis)이며,
는 얼굴 모양 파라미터이고,
는 카메라 파라미터들일 수 있다.
전통적인 비선형 최적화 문제 대신에 모델 파라미터 검색을 위한 선형 최적화 문제에 대한 해결책은 특히 기존의 방법을 실행하는데 필요한 시스템 자원의 사양에 대한 요구를 감소시킬 수 있다.
최적화 문제를 해결하기 위하여, 수식(1)을 이용하는 선형 등식의 시스템 구성 및 최소 제곱법(least squares)로 문제를 푸는 것이 필수이다. 선형 등식의 시스템에 대한 해결책은 최적화 문제에 대한 해답이 될 것이다.
일 실시예에서, 변형 가능 얼굴 모델의 바람직한 파라미터들에 대한 규칙화(regularization)가 더 수행될 수 있다. 규칙화는 다음의 공식에 따라 수행될 수 있다.
다른 일 실시예에서, 비디오 스트림 및 변형 가능 얼굴 모델의 파라미터들을 처리하는 기존의 방법은 하나의 이미지 보다는 복수개의 이미지들에서 발견될 수 있다.
이 경우, 수식 (1)은 아래와 같이 쓰여질 수 있다.
S750 단계에서 디바이스(100)는 선형 최적화를 이용하여 적어도 하나의 감정 파라미터를 획득할 수 있다.
3차원 얼굴 모델을 생성하는 단계에서 랜드마크들과 가장 근접하게 매치하는 카메라 파라미터들, 변형 가능 얼굴 모델 파라미터들 및 감정 파라미터들은 아래의 수식 (2)에 따라 선형 최적화 문제를 해결함으로써 이 단계를 수행할 수 있다.
여기서
는 L2 표준이고,
는 i번째 랜드마크이며,
는 공식
(N은 중립적인 2차원 얼굴 모델, B는는 얼굴 모형,
는 얼굴 모형 파라미터들,
, A는 감정 기초(emotion basis), α는 감정 파라미터에 대한 벡터)에 의하여 설명되는 감정 반영 모델의 i번째 포인트일 수 있다.
모델 파라미터들은 감정 기초 벡터들의 선형 조합에 대한 계수
이고, 모델을 생성하는데 이용된다. 이러한 문제 해결을 위하여, 카메라 파라미터들 및 얼굴 모형 파라미터들은 상수로 간주된다.
최적화 문제 해결을 위하여, 수식(2)를 기초로 선형 등식의 시스템 구성 및 시스템 해결이 필수적이다. 선형 등식의 시스템에 대한 해결책은 최적화 문제에 대한 해답이 될 것이다.
도8은 본 개시의 일 실시예에 따라 2차원 이미지를 기초로 3차원 아바타를 생성하는 예시이다.
디바이스(100)는 2차원 이미지를 획득하고(810), 획득된 2차원 이미지로부터 랜드마크를 감지할 수 있다(820). 디바이스(100)는 도2 및 도3에 개시된 방법에 따라 3차원 얼굴 모델을 생성할 수 있다(830).
나아가 디바이스(100)는 생성된 3차원 얼굴 모델을 기초로 2차원 이미지에서 감지된 얼굴과 유사한 3차원 아바타를 생성할 수 있다(840).
일부 실시예에서 생성된 3차원 아바타는 사용자의 습관, 움직임 등을 흉내낼 수 있다. 일부 실시예에서 디바이스(100)는 생성된 3차원 아바타가 사용자의 움직임을 감지하고, 감지된 사용자의 움직임을 반영하여 유사하게 움직이도록 제어할 수 있다.
다른 실시예에서, 디바이스(100)는 사용자의 습관, 움직임, 표정 등에 대한 데이터를 보안 및 인증 시스템에서 이용할 수 있다. 예를 들어, 보안 시스템은 사용자 고유의 습관, 움직임, 표정 등에 대한 데이터를 출입 문 보안, 문서 보안, 모바일 디바이스 보안 등에 이용할 수 있다.
도9는 본 개시의 일 실시예에 따라 2차원 이미지 처리 디바이스가 행인을 촬영한 이미지로부터 감정 파라미터를 획득하여, 적절한 광고를 제공하는 예시이다.
디바이스(100)는 내장된 촬영부 혹은 외부의 촬영 디바이스를 통하여 사용자를 촬영한 이미지를 획득할 수 있다.
일 실시예에서, 디바이스(100)는 획득된 2차원 이미지에 대하여 도2 등의 실시예에 따른 방법을 수행하여 촬영된 사용자의 얼굴(910)에 대한 추가 정보를 획득하고, 획득된 추가 정보에 따라 상품 또는 서비스에 대한 광고를 제공할 수 있다.
예를 들어, 디바이스(100)는 획득된 2차원 이미지에 대하여 도2 및 도7의 실시예에 따른 방법을 수행하여 촬영된 사용자에 대한 감정 파라미터를 획득할 수 있다.
디바이스(100)는 획득된 감정 파라미터를 이용하여 사용자의 기분을 결정하고, 결정된 사용자의 기분에 따라 상품 또는 서비스에 대한 광고를 제공할 수 있다.
다른 예를 들어, 디바이스(100)는 획득된 2차원 이미지에 대하여 도2 및 도7의 실시예에 따른 방법을 수행하여 촬영된 사용자의 대략적인 나이, 피부색, 피부 톤, 생김새, 얼굴 크기 등을 추가 정보로 획득할 수 있다.
디바이스(100)는 획득된 추가 정보에 따라 사용자 맞춤형 상품 또는 서비스에 대한 광고를 제공할 수 있다.
광고의 제공은 디바이스(100) 내부의 디스플레이를 이용하여 이루어지거나, 디바이스(100) 외부의 디스플레이를 이용하여 이루어질 수 있다.
도10은 본 개시의 일 실시예에 따라 애완로봇이 사용자를 촬영한 이미지로부터 감정 파라미터를 획득하여 사용자와 교감하는 예시이다.
다른 실시예에서 디바이스(100)는 애완 로봇(1010)뿐 아니라, 무선 청소기, 드론, 전자 비서 등의 디바이스 또는 이들 디바이스과 연결된 별도의 디바이스일 수 있다.
디바이스(100)는 내장된 촬영부 혹은 외부의 촬영 디바이스를 통하여 사용자를 촬영한 이미지를 획득할 수 있다.
일 실시예에서, 디바이스(100)는 획득된 2차원 이미지에 대하여 도2 및 도7의 실시예에 따른 방법을 수행하여 촬영된 사용자에 대한 감정 파라미터를 획득할 수 있다.
디바이스(100)는 획득된 감정 파라미터를 이용하여 사용자의 기분을 결정하고, 결정된 사용자의 기분에 따라 소정의 기능을 수행함으로써 사용자와 교감할 수 있다.
예를 들어, 사용자의 기분이 좋지 않은 경우, 애완 로봇(1010)은 위로하는 제스춰를 취하도록 제어될 수 있다.
도11은 본 개시의 일 실시예에 따라 생성된 3차원 얼굴 모델을 기초로 원근 왜곡을 교정하는 예시이다.
본 실시예에서, 디바이스(100)는 획득된 2차원 이미지(1110)에 대하여 도2 및 도3의 실시예에 따른 방법을 수행하여 촬영된 사용자에 대한 3차원 얼굴 모델을 생성할 수 있다.
디바이스(100)는 생성된 3차원 얼굴 모델을 2차원 이미지의 얼굴 영역에 오버레이함으로써, 기존의 2차원 이미지(1110)에 존재하였던 원근 왜곡(perspective distortion)이 보정된 2차원 이미지(1130)를 획득할 수 있다.
2차원 이미지의 얼굴 영역에 대한 3차원 얼굴 모델의 오버레이는 핀 홀 카메라 모델을 이용하여 이루어질 수 있다.
일 실시예에서 원근 왜곡의 보정은 뷰티 애플리케이션, 디지털 거울 및 디지털 메이크업 등에서 이용될 수 있다.
본 개시의 방법은 프로세서, ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 SoC(system-on-chip)에 의하여 실행될 수 있다. 또한, 기재된 방법은 컴퓨터로 실행할 수 있는 인스트럭션을 저장하고, 컴퓨터에 프로세서에 의하여 실행될 때 본 개시의 방법을 실행하도록 할 수 있는 저장매체에 의하여 실행될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일 형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 위 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
Claims (15)
- 2차원 이미지를 획득하는 단계;상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 단계; 및상기 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성하는 단계를 포함하는 2차원 이미지 처리 방법.
- 제1항에 있어서, 상기 트레이닝된 CNN에 의하여 처리하는 단계는,상기 2차원 이미지의 크기를 조정하는 단계;상기 크기가 조정된 2차원 이미지로부터 얼굴을 감지하는 단계;상기 감지된 얼굴이 포함된 영역을 바운딩 박스로 표시하는 단계;상기 2차원 이미지로부터 상기 바운딩 박스로 표시된 얼굴 영역의 이미지를 잘라내는 단계;상기 잘라낸 얼굴 영역 이미지의 크기를 조정하여 제2 이미지를 생성하는 단계;상기 제2 이미지로부터 상기 얼굴에 대한 적어도 하나의 랜드마크를 마킹하는 단계; 및상기 적어도 하나의 랜드마크와 가장 근접하게 매치되는 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하는 단계를 포함하는 2차원 이미지 처리 방법.
- 제1항에 있어서,상기 적어도 하나의 카메라 파라미터는 비선형 최적화를 이용하여 획득되고, 상기 적어도 하나의 얼굴 모델 파라미터는 선형 최적화를 이용하여 획득되는 2차원 이미지 처리 방법.
- 제1항에 있어서, 상기 CNN은 다양한 방식으로 트레이닝되는 2차원 이미지 처리 방법.
- 제1항에 있어서,상기 3차원 얼굴 모델은 상기 적어도 하나의 카메라 파라미터 및 상기 적어도 하나의 얼굴 모델 파라미터를 3차원 변형 가능 얼굴 모델(3차원 morphable face model)에 적용함으로써 생성되는 2차원 이미지 처리 방법.
- 제1항에 있어서,상기 생성된 3차원 얼굴 모델을 상기 2차원 이미지의 얼굴 영역에 오버레이(overlay)하는 단계를 더 포함하는 2차원 이미지 처리 방법.
- 제6항에 있어서, 상기 오버레이는 핀 홀 카메라 모델을 이용하여 이루어지는 2차원 이미지 처리 방법.
- 제1항에 있어서,상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 감정 파라미터를 획득하는 단계를 더 포함하는 2차원 이미지 처리 방법.
- 하나 이상의 인스트럭션을 저장하는 메모리;상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,상기 프로세서는, 2차원 이미지를 획득하고, 상기 획득된 2차원 이미지를 트레이닝된 CNN(convolutional neural network )에 의하여 처리함으로써 상기 2차원 이미지로부터 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득하고, 상기 획득된 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 기초로 3차원 얼굴 모델을 생성하는 2차원 이미지 처리 디바이스.
- 제9항에 있어서, 상기 프로세서는,상기 2차원 이미지의 크기를 조정하고, 상기 크기가 조정된 2차원 이미지로부터 얼굴을 감지하고, 상기 감지된 얼굴이 포함된 영역을 바운딩 박스로 표시하고, 상기 2차원 이미지로부터 상기 바운딩 박스로 표시된 얼굴 영역의 이미지를 잘라내고, 상기 잘라낸 얼굴 영역 이미지의 크기를 조정하여 제2 이미지를 생성하고, 상기 제2 이미지로부터 상기 얼굴에 대한 적어도 하나의 랜드마크를 마킹하고, 상기 적어도 하나의 랜드마크와 가장 근접하게 매치되는 적어도 하나의 카메라 파라미터 및 적어도 하나의 얼굴 모델 파라미터를 획득함으로써 상기 2차원 이미지를 상기 트레이닝된 CNN에 의하여 처리하는 2차원 이미지 처리 디바이스.
- 제9항에 있어서,상기 적어도 하나의 카메라 파라미터는 비선형 최적화를 이용하여 획득되고, 상기 적어도 하나의 얼굴 모델 파라미터는 선형 최적화를 이용하여 획득되는 2차원 이미지 처리 디바이스.
- 제9항에 있어서, 상기 CNN은 다양한 방식으로 트레이닝되는 2차원 이미지 처리 디바이스.
- 제9항에 있어서,상기 3차원 얼굴 모델은 상기 적어도 하나의 카메라 파라미터 및 상기 적어도 하나의 얼굴 모델 파라미터를 3차원 변형 가능 얼굴 모델(3차원 morphable face model)에 적용함으로써 생성되는 2차원 이미지 처리 디바이스.
- 제9항에 있어서,상기 생성된 3차원 얼굴 모델을 상기 2차원 이미지의 얼굴 영역에 오버레이(overlay)하는 2차원 이미지 처리 디바이스.
- 제 1항 내지 8 항 중, 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/294,193 US11893681B2 (en) | 2018-12-10 | 2019-12-06 | Method for processing two-dimensional image and device for executing method |
EP19894504.0A EP3872768A4 (en) | 2018-12-10 | 2019-12-06 | Method for processing two-dimensional image and device for executing method |
CN201980006687.0A CN111557022B (zh) | 2018-12-10 | 2019-12-06 | 二维图像处理方法及执行所述方法的设备 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018143561 | 2018-12-10 | ||
RU2018143561A RU2703327C1 (ru) | 2018-12-10 | 2018-12-10 | Способ обработки двухмерного изображения и реализующее его вычислительное устройство пользователя |
KR1020190154559A KR20200071008A (ko) | 2018-12-10 | 2019-11-27 | 2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 |
KR10-2019-0154559 | 2019-11-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020122513A1 true WO2020122513A1 (ko) | 2020-06-18 |
Family
ID=71075799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/017240 WO2020122513A1 (ko) | 2018-12-10 | 2019-12-06 | 2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11893681B2 (ko) |
WO (1) | WO2020122513A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112991147B (zh) | 2019-12-18 | 2023-10-27 | 抖音视界有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN115082978A (zh) * | 2021-03-10 | 2022-09-20 | 佳能株式会社 | 面部姿态的检测装置、方法、图像处理系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101759188B1 (ko) * | 2015-06-09 | 2017-07-31 | 오인환 | 2d 얼굴 이미지로부터 3d 모델을 자동 생성하는 방법 |
KR101906431B1 (ko) * | 2017-07-20 | 2018-10-11 | 네이버랩스 주식회사 | 2d 이미지 인식에 기반한 3d 모델링 방법 및 그 시스템 |
US10134177B2 (en) * | 2015-01-15 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method and apparatus for adjusting face pose |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657083B2 (en) | 2000-03-08 | 2010-02-02 | Cyberextruder.Com, Inc. | System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images |
US20040223631A1 (en) | 2003-05-07 | 2004-11-11 | Roman Waupotitsch | Face recognition based on obtaining two dimensional information from three-dimensional face shapes |
WO2015139231A1 (en) | 2014-03-19 | 2015-09-24 | Intel Corporation | Facial expression and/or interaction driven avatar apparatus and method |
JP6754619B2 (ja) | 2015-06-24 | 2020-09-16 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 顔認識方法及び装置 |
KR102285376B1 (ko) | 2015-12-01 | 2021-08-03 | 삼성전자주식회사 | 3d 얼굴 모델링 방법 및 3d 얼굴 모델링 장치 |
CN105631861B (zh) | 2015-12-21 | 2019-10-01 | 浙江大学 | 结合高度图从无标记单目图像中恢复三维人体姿态的方法 |
KR102433392B1 (ko) | 2016-03-04 | 2022-08-17 | 한국전자통신연구원 | 3d 볼륨 마스크 모델정보 생성 장치 및 그 방법 |
US10083347B2 (en) | 2016-07-29 | 2018-09-25 | NTech lab LLC | Face identification using artificial neural network |
US20180068178A1 (en) | 2016-09-05 | 2018-03-08 | Max-Planck-Gesellschaft Zur Förderung D. Wissenschaften E.V. | Real-time Expression Transfer for Facial Reenactment |
WO2018102700A1 (en) | 2016-12-01 | 2018-06-07 | Pinscreen, Inc. | Photorealistic facial texture inference using deep neural networks |
CN106600667B (zh) | 2016-12-12 | 2020-04-21 | 南京大学 | 一种基于卷积神经网络的视频驱动人脸动画方法 |
US10332312B2 (en) | 2016-12-25 | 2019-06-25 | Facebook, Inc. | Shape prediction model compression for face alignment |
US10229534B2 (en) | 2017-01-10 | 2019-03-12 | Ditto Technologies, Inc. | Modeling of a user's face |
KR102061408B1 (ko) | 2017-03-24 | 2019-12-31 | (주)제이엘케이인스펙션 | 가상 3차원 심층 신경망을 이용하는 영상 분석 장치 및 방법 |
CN108960001B (zh) | 2017-05-17 | 2021-12-24 | 富士通株式会社 | 训练用于人脸识别的图像处理装置的方法和装置 |
CN107680155A (zh) | 2017-10-27 | 2018-02-09 | 深圳市唯特视科技有限公司 | 一种基于三维变形模型的面部拟合方法 |
CN107680158A (zh) | 2017-11-01 | 2018-02-09 | 长沙学院 | 一种基于卷积神经网络模型的三维人脸重建方法 |
RU2671990C1 (ru) | 2017-11-14 | 2018-11-08 | Евгений Борисович Югай | Способ отображения трехмерного лица объекта и устройство для него |
CN108257139B (zh) | 2018-02-26 | 2020-09-08 | 中国科学院大学 | 基于深度学习的rgb-d三维物体检测方法 |
CN108764024B (zh) | 2018-04-09 | 2020-03-24 | 平安科技(深圳)有限公司 | 人脸识别模型的生成装置、方法及计算机可读存储介质 |
CN108537191B (zh) | 2018-04-17 | 2020-11-20 | 云从科技集团股份有限公司 | 一种基于结构光摄像头的三维人脸识别方法 |
CN108961410B (zh) | 2018-06-27 | 2023-04-18 | 中国科学院深圳先进技术研究院 | 一种基于图像的三维线框建模方法及装置 |
CN109285215B (zh) * | 2018-08-28 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 一种人体三维模型重建方法、装置和存储介质 |
-
2019
- 2019-12-06 US US17/294,193 patent/US11893681B2/en active Active
- 2019-12-06 WO PCT/KR2019/017240 patent/WO2020122513A1/ko unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10134177B2 (en) * | 2015-01-15 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method and apparatus for adjusting face pose |
KR101759188B1 (ko) * | 2015-06-09 | 2017-07-31 | 오인환 | 2d 얼굴 이미지로부터 3d 모델을 자동 생성하는 방법 |
KR101906431B1 (ko) * | 2017-07-20 | 2018-10-11 | 네이버랩스 주식회사 | 2d 이미지 인식에 기반한 3d 모델링 방법 및 그 시스템 |
Non-Patent Citations (3)
Title |
---|
GUO, YUDONG ET AL.: "Self-supervised CNN for Unconstrained 3D Facial Performance Capture from an RGB-D Camera", ARXIV:1808.05323V2, 16 August 2018 (2018-08-16), XP080897366, Retrieved from the Internet <URL:https://arxiv.org/abs/1808.05323> [retrieved on 20200322] * |
JIANG, BOYI ET AL.: "Deep Face Feature for Face Alignment and Reconstruction", ARXIV: 1708.02721V1, 9 August 2017 (2017-08-09), XP055721707, Retrieved from the Internet <URL:https://arxiv.org/abs/1708.02721v1> [retrieved on 20200322] * |
See also references of EP3872768A4 * |
Also Published As
Publication number | Publication date |
---|---|
US11893681B2 (en) | 2024-02-06 |
US20220005266A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019164373A1 (en) | Electronic device displaying avatar motion-performed as per movement of facial feature point and method for operating same | |
WO2017010695A1 (en) | Three dimensional content generating apparatus and three dimensional content generating method thereof | |
WO2019164232A1 (ko) | 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체 | |
WO2021251689A1 (en) | Electronic device and controlling method of electronic device | |
WO2019059505A1 (ko) | 객체를 인식하는 방법 및 장치 | |
WO2020180134A1 (ko) | 이미지 수정 시스템 및 이의 이미지 수정 방법 | |
WO2020130281A1 (en) | Electronic device and method for providing avatar based on emotion state of user | |
WO2019164092A1 (ko) | 디스플레이를 통해 표시된 제 1 콘텐트에 대해 제 2 콘텐트를 외부 객체의 움직임에 따라 제공하기 위한 전자 장치 및 그의 동작 방법 | |
WO2022039450A1 (ko) | 가상 피팅 서비스 제공 방법, 장치 및 그 시스템 | |
WO2020122513A1 (ko) | 2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 | |
WO2021006482A1 (en) | Apparatus and method for generating image | |
WO2019022509A1 (en) | DEVICE AND METHOD FOR PROVIDING CONTENT | |
WO2024025220A1 (ko) | 온라인 광고 컨텐트 플랫폼을 제공하기 위한 시스템 | |
WO2019190142A1 (en) | Method and device for processing image | |
WO2021221436A1 (ko) | 카메라를 이용하여 공간의 깊이를 획득하는 디바이스 및 방법 | |
WO2021251615A1 (ko) | 전자 장치 및 전자 장치의 제어 방법 | |
WO2022035054A1 (ko) | 로봇 및 이의 제어 방법 | |
EP3707678A1 (en) | Method and device for processing image | |
WO2020149493A1 (ko) | 전자 장치 및 이의 제어 방법 | |
WO2020130274A1 (ko) | 영상에서 오브젝트를 인식하는 전자 장치 및 그 동작 방법 | |
KR20200071008A (ko) | 2차원 이미지 처리 방법 및 이 방법을 실행하는 디바이스 | |
WO2024076027A1 (ko) | 포인트 클라우드를 생성하는 방법 및 전자 장치 | |
WO2022270683A1 (ko) | 깊이 맵 이미지 생성 방법 및 그를 위한 컴퓨팅 장치 | |
WO2024147486A1 (ko) | 손 관절의 3차원 위치 정보를 획득하는 증강 현실 디바이스 및 그 동작 방법 | |
WO2024053876A1 (ko) | 카메라 캘리브레이션(camera calibration)을 수행하는 전자 장치 및 그 동작 방법 |
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: 19894504 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019894504 Country of ref document: EP Effective date: 20210527 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |