WO2018190504A1 - 얼굴 자세 보정 장치 및 방법 - Google Patents
얼굴 자세 보정 장치 및 방법 Download PDFInfo
- Publication number
- WO2018190504A1 WO2018190504A1 PCT/KR2018/001678 KR2018001678W WO2018190504A1 WO 2018190504 A1 WO2018190504 A1 WO 2018190504A1 KR 2018001678 W KR2018001678 W KR 2018001678W WO 2018190504 A1 WO2018190504 A1 WO 2018190504A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- face data
- face
- model
- dimensional
- algorithm
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/20—Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Definitions
- Estimating posture from facial data scanned as a three-dimensional image is emerging as a technology that can be used in various fields such as face recognition and education, as well as medical fields such as jaw joint correction and facial paralysis diagnosis.
- the issue of estimating the frontal posture of the face data or obtaining a rigid transformation for correcting the input three-dimensional face data to the frontal posture is known to have high utilization.
- the input data is aligned based on a three-dimensional standard face model existing in the frontal position on the coordinate axis, or the frontal side correction is performed by fitting the representative plane of the front face of the face.
- a three-dimensional standard face is usually generated by averaging several face data. If the shape difference between the input three-dimensional face data to be corrected and the three-dimensional standard face model is large, the error generated in the matching process also becomes large. Such a matching error may lower the accuracy when correcting the posture of the face data, and may be an obstacle to repeating the posture correction.
- a face posture correction device for correcting the face posture using a person-specific frontal model specialized for the received three-dimensional face data.
- the apparatus may include: a generator configured to generate first face data corrected by 3D rigid transformation of input 3D face data based on a pre-stored 3D standard face model, and left and right sides of the first face data.
- a first object-specific front model which is a symmetrical model may be generated, and a correcting unit may be configured to correct the first face data by three-dimensional rigid body conversion based on the generated first object-specific front model.
- the generation unit may include: an extraction unit extracting a plurality of feature points from a 2D face image obtained by projecting input 3D face data, and the extracted plurality of 3D standard face models An estimator for estimating a pose of the input three-dimensional face data based on a corresponding relationship between two feature points, a calculator for calculating a first transform vector for rigidly converting the estimated pose to a front pose, and the first transform
- the apparatus may include a transform unit configured to rigid transform the input 3D face data based on a vector to generate the first face data.
- the correction unit a model generator for generating the first target-specific front model by flipping and copying three-dimensional points of the first surface to the second surface on the basis of the Y axis of the first face data And matching the first face data to the first target-specific front model using at least one of an Iterative Closest Point (ICP) algorithm, a Singular Value Decomposition (SVD) algorithm, and a Force from Orthography and Scaling with Iteration (POSIT) algorithm.
- ICP Iterative Closest Point
- SVD Singular Value Decomposition
- POSIT Force from Orthography and Scaling with Iteration
- a transform vector calculation unit configured to calculate a second transform vector to perform the 3D rigid body transform on the first face data based on the second transform vector.
- the transform vector calculation unit compares the second value obtained by iteratively calculating the second transform vector with a first value that is a previous calculation result, and the difference between the first value and the second value is previously If less than the specified threshold, the final transform vector is determined.
- the corrector may include: generating a second target-specific front model symmetrically on one or more coordinate planes of the second face data generated by three-dimensional rigid body transformation of the first face data, and generating the generated second object.
- the second face data may be additionally corrected by two-dimensional rigid body transformation based on the target-specific front model.
- the transform vector calculator may include the second face data using the at least one of an iterative closest point (ICP) algorithm, a singular value decomposition (SVD) algorithm, and a force from orthography and scaling with iteration (POSIT) algorithm.
- ICP iterative closest point
- SVD singular value decomposition
- POSIT force from orthography and scaling with iteration
- a face posture correcting apparatus for correcting a face posture using a person-specific frontal model specialized for input three-dimensional face data.
- the apparatus may include: a generator configured to generate first face data associated with the front face of the subject based on at least one facial feature point obtained from the input three-dimensional face data, and an object-specific model that is a left-right symmetric model of the first face data.
- the apparatus may include a correcting unit generating a front model and correcting the first facial data by three-dimensional rigid body conversion based on the generated object-specific front model.
- the correction unit a model generator for generating the object-specific front model by flipping and copying the three-dimensional points of the first surface to the second surface on the basis of the Y axis of the first face data, and Transform vector for matching the first face data to the subject-specific frontal model using at least one of an Iterative Closest Point (ICP) algorithm, a Singular Value Decomposition (SVD) algorithm, and a Force from Orthography and Scaling with Iteration (POSIT) algorithm
- ICP Iterative Closest Point
- POSIT Force from Orthography and Scaling with Iteration
- a face posture correction method for correcting a face posture using a person-specific frontal model specialized for input 3D face data.
- the method includes: generating first face data corrected by 3D rigid transformation of input 3D face data based on a pre-stored 3D standard face model, and left and right symmetry of the first face data.
- the method may include generating a first object-specific front model that is a model, and correcting the first face data by three-dimensional rigid body conversion based on the generated first object-specific front model.
- the generating of the first face data may include: extracting a plurality of feature points from a two-dimensional face image obtained by projecting input three-dimensional face data, and the three-dimensional standard face model. Estimating a pose of the input three-dimensional face data based on the corresponding relation of the extracted plurality of feature points with respect to the image, calculating a first transform vector for rigidly converting the estimated pose into a front pose, and And generating the first face data by performing rigid transformation on the input 3D face data based on the first transform vector.
- the correcting the 3D rigid body by converting the first face data may include: symmetrically shifting and copying the 3D points of the first face to the second face based on the Y axis of the first face data.
- ICP Iterative Closest Point
- SVD Singular Value Decomposition
- POSIT Force from Orthography and Scaling with Iteration
- the correcting by the three-dimensional rigid-body transformation of the first face data comprises: comparing a second value obtained by iteratively calculating the second transform vector with a first value that is a previous calculation result, and the comparison result
- the method may further include determining a final transform vector when a difference between the first value and the second value is smaller than a predetermined threshold.
- the method may include: generating a second object-specific front model symmetrically on one or more coordinate planes of the second face data generated by three-dimensional rigid body transformation of the first face data; The method may further include performing two-dimensional rigid body transformation on the second face data based on the target-specific front model and further correcting the same.
- the second facial data may be further corrected by performing two-dimensional rigid body transformation: removing one coordinate axis information from the second face data, and using the two coordinate axis information, the second object-specific front face that is symmetrical.
- Generating the model and using the at least one of an iterative closest point (ICP) algorithm, a singular value decomposition (SVD) algorithm, and a force from orthography and scaling with iteration (POSIT) algorithm Calculating a third transform vector to match a specialized frontal model; and correcting the second face data by two-dimensional rigid body conversion based on the third transform vector.
- ICP iterative closest point
- SVD singular value decomposition
- POSIT force from orthography and scaling with iteration
- FIG. 1 is a diagram for describing a process of transforming 3D face data using a rigid body transform vector, according to an exemplary embodiment.
- FIG. 2 is a block diagram illustrating a facial posture correcting apparatus according to an exemplary embodiment.
- 3A and 3B are block diagrams illustrating a detailed configuration of a face posture correcting apparatus according to an exemplary embodiment.
- FIG. 4 is a diagram illustrating a process of acquiring a main landmark point using a face alignment algorithm according to an embodiment.
- 5A, 5B, and 5C are diagrams for describing a method of generating a person-specific frontal model and correcting a posture of three-dimensional face data using the generated person-specific frontal model according to an embodiment.
- 6A, 6B, and 6C are diagrams illustrating a two-dimensional rigid body transformation method performed according to an embodiment.
- FIG. 7 is a flowchart illustrating a method of correcting a face posture according to an exemplary embodiment.
- Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the present invention to specific embodiments, and includes modifications, equivalents, or substitutes included in the spirit and scope of the present invention.
- first or second may be used to describe various components, but the components should not be limited by the terms. The terms are only for the purpose of distinguishing one component from another component, for example, without departing from the scope of the rights according to the inventive concept, the first component may be called a second component, Similarly, the second component may also be referred to as the first component.
- FIG. 1 is a diagram for describing a process of transforming 3D face data using a rigid body transform vector, according to an exemplary embodiment.
- the input 3D face data 110 may be generated as the first face data 130 of the front posture by a rigid body transformation using the rigid body transformation vector 120.
- the input three-dimensional face data 110 is a set of three-dimensional (voxel) corresponding to the face surface or a set of major landmark points of the face (e.g., key feature points of the face, such as the eye center point, the eye point, and the lip end point).
- Each point includes brightness information (grayscale) and color information in addition to the 3D location information.
- the input 3D face data 110 includes position information defined along the X, Y, and Z axes as shown in FIG. 1, which is information generated corresponding to the photographing direction from the photographing apparatus, and thus obtained from the photographing apparatus.
- One input three-dimensional face data 110 does not necessarily coincide with the frontal posture on the three-dimensional coordinate axis. To ensure the reliability and accuracy of the subject's face analysis results, it is important to secure the frontal posture of the face data.
- the front posture may be defined as being symmetrical with respect to the Y axis in a state of facing the Z axis in front on the global coordinate system X, Y, and Z axes.
- the coordinate axis shown in FIG. 1 is only one of exemplary embodiments for describing the spirit of the present invention, and the coordinate axis setting may be changed according to a user setting.
- a rigid body transform vector 120 for the input 3D face data 110 in order to convert the input 3D face data 110 into a frontal posture, a rigid body transform vector 120 for the input 3D face data 110 must be calculated, and the calculated rigid body transform vector 120 is used. May be applied to the input 3D face data 110 to generate the first face data 130 of the front posture.
- FIGS. 3A and 3B are block diagrams illustrating a detailed configuration of the facial posture correcting apparatus 200.
- the facial posture correcting apparatus 200 is a means for correcting the frontal posture by using a person-specific frontal model specialized for the subject's face data. The fitting error that occurs in the process of matching can be greatly reduced.
- the apparatus for generating facial feature point location information 200 may include a generator 210 and a corrector 220.
- the generator 210 may generate first face data corrected by 3D rigid transformation of the input 3D face data based on a pre-stored 3D standard face model.
- the input three-dimensional face data is a set of three-dimensional (voxel) corresponding to the face surface or a set of major landmark points of the face
- the first face data is the X, Y, It can be understood as corrected by the frontal posture on the Z coordinate.
- the generator 210 includes detailed configurations of the extractor 310, the estimator 320, the calculator 330, and the converter 340 as shown in FIG. 3A.
- the extractor 310 may extract a plurality of feature points from the 2D face image obtained by projecting the input 3D face data.
- the estimator 320 may estimate a posture of the input 3D face data based on a corresponding relationship between the extracted plurality of feature points with respect to the 3D standard face model.
- the calculator 330 may calculate a first transform vector for rigidly converting the estimated pose to the front pose.
- the transform unit 340 generates the first face data by performing rigid transformation on the input 3D face data based on the calculated first transform vector.
- the generation unit 210 may generate the first face data based on at least one feature point information obtained from the input 3D face data.
- the main part feature point position information such as eyes, nose, mouth, etc. may be obtained from the input 3D face data, and the generation unit 210 is based on the feature point position information without using a 3D standard face model.
- the correction unit 220 generates a first target-specific front model that is a left-right symmetric model of the first face data, and corrects the first face data by three-dimensional rigid transformation based on the generated first target-specific front model. can do.
- the detailed configuration of the corrector 220 is the same as that of FIG. 3B, and includes a model generator 350 and a transform vector calculator 360.
- the model generator 350 may generate the first target-specific front model by copying the 3D points of the first surface by symmetrically moving the second surface with respect to the Y axis of the first face data.
- the transform vector calculator 360 converts the first face data to the first face data using at least one of an iterative closest point (ICP) algorithm, a singular value decomposition (SVD) algorithm, and a force from orthography and scaling with iteration (POSIT) algorithm.
- ICP iterative closest point
- SVD singular value decomposition
- POSIT force from orthography and scaling with iteration
- a second transform vector may be calculated to match the object-specific front model. If the input three-dimensional face data is a set of a plurality of points generally existing on the three-dimensional scanned face surface, matching must be performed without knowing the correspondence between the input three-dimensional face data and the points of the frontal model. As such, the second transform vector may be calculated using an ICP algorithm.
- the input three-dimensional face data is a set of major landmark points of the face (for example, the main feature points of the face such as the eye center point, the eye tip point, and the lip end point)
- the second transform vector is calculated using an SVD algorithm or a POSIT algorithm.
- a method of resampling the input three-dimensional face data and the previously generated front face model is also possible.
- matching can be performed using an SVD algorithm or a POSIT algorithm. The higher the number of points, the more precise the match.
- the transform vector calculator 360 may iteratively calculate the second transform vector, and compares the second value obtained as a result of the iterative calculation with a first value that is a previous calculation result to determine the first value and the second value. If the difference is less than a predetermined threshold, the second value is determined as the final transform vector.
- the correction unit 220 generates a second object-specific front model that is symmetrical on one coordinate plane of the second face data generated by three-dimensional rigid body transformation of the first face data, and generates the second object-specific front that is generated.
- the second face data may be further corrected by performing two-dimensional rigid body transformation.
- the model generator 350 removes any one of the coordinate axis information from the second face data, and generates the second object-specific front model that is symmetrical by using the two coordinate axis information.
- the conversion vector calculation unit 360 uses the second face data using at least one of an iterative closest point (ICP) algorithm, a singular value decomposition (SVD) algorithm, and a force from orthography and scaling with iteration (POSIT) algorithm.
- ICP iterative closest point
- SVD singular value decomposition
- POSIT force from orthography and scaling with iteration
- a third transform vector for matching the second object-specific front model may be calculated, and the second face data may be corrected by two-dimensional rigid body conversion based on the third transform vector.
- the matching is performed by using the ICP algorithm, and when the correspondence is known, the SVD algorithm or the POSIT is known. Matching is performed using an algorithm.
- the facial posture correcting apparatus 200 performs initial posture correction by performing 3D rigid transformation on the input 3D face data, generates a frontal model specialized for the 3D input 3D face data, and performs rigid body transformation again. Perform fine correction through In addition, in the process of performing fine correction, the face posture correcting apparatus 200 may additionally perform symmetry correction on the Y and Z axes which are 2D rigid transformation on the XZ plane and the XY plane. The fitting error generated in the process of correcting the input three-dimensional face data in the frontal posture may be significantly lowered to further improve the accuracy of the correction result.
- FIG. 4 is a diagram illustrating a process of acquiring a main landmark point using a face alignment algorithm according to an embodiment.
- analyzing the input 3D face data although there is a method of directly analyzing the 3D data, a method of analyzing the input 3D face data using a 2D projection image acquired at a specific camera viewpoint is generally performed.
- a two-dimensional projection image obtained by projecting the input three-dimensional face data in the Z-axis direction may be represented as shown in FIG. 4. Since the input 3D face data may not be guaranteed to mean an accurate frontal posture, the 2D projection image 410 may also not be the frontal posture.
- a three-dimensional standard face model may be stored in advance to correct frontal posture of the input three-dimensional face data.
- the three-dimensional standard face model calculates an average of a plurality of three-dimensional face samples measured by a three-dimensional scanner or the like, or creates a virtual sample of data in which the three-dimensional face samples are linearly symmetric about the Y axis. Can be generated by averaging the measured samples (measured samples and Y-axis symmetric virtual samples).
- the 3D standard face model may be composed of a set of three-dimensional (voxel) corresponding to the face surface or a set of major landmark points of the face, including three-dimensional location information It includes brightness information (grayscale) and color information, and should be in the final posture desired by the user.
- the coordinate system of the 2D projection image 410 uses U and V axes. Projection can be performed in various ways such as orthogonal projection and perspective projection. Since the projection is performed in the Z-axis direction, the X-Y plane of the global coordinate system can be seen as the U-V plane as it is. Compared with the coordinate axis of FIG. 1, it can be understood that the X axis of FIG. 1 represents the same direction as the U axis of FIG. 4, and the Y axis of FIG. 1 is opposite to the V axis of FIG. 4.
- the rigid body transformation vector T to the frontal pose is applied, and a two-dimensional projection image is acquired from the camera view point coinciding with the Z axis of the global coordinate system.
- the rigid transformation T is a vector representing rotation and translation transformations for the X, Y, and Z axes, and is represented by T: 6D vector ( ⁇ x , ⁇ y , ⁇ z , t x , t y , t z ).
- T 6D vector ( ⁇ x , ⁇ y , ⁇ z , t x , t y , t z ).
- major landmark points 420 of the face region may be extracted by applying a face alignment algorithm such as an active appearance model (AAM) or a constrained local model (CLM).
- AAM active appearance model
- CLM constrained local model
- the landmark point 420 means a main feature point of the face area such as the eye center point, the eye tail point, and the lip end point. Since the landmark point 420 extracted in this manner is already defined in the pre-stored three-dimensional standard face model, 2D-3D correspondence information between the landmark point 420 and the three-dimensional standard face model can be obtained.
- an algorithm such as SVD or POSIT, a posture estimation of the input 3D face data and a rigid body transformation vector T0 for initial correction of the input 3D face data to a frontal posture can be obtained.
- initial correction data may be obtained. If the landmark point 420 is correctly extracted, the landmark point 420 may be converted to a posture similar to the 3D standard face model and corrected to be close to the front posture. However, due to limitations such as the morphological differences between the 3D standard face model and the input 3D face data, the positional accuracy of the landmark points extracted by the face alignment algorithm, and the limitation of the number of the extracted landmark points, a more detailed front face can be obtained. Posture correction is necessary.
- 5A, 5B, and 5C are diagrams for describing a method of generating a person-specific frontal model and correcting a posture of three-dimensional face data using the generated person-specific frontal model according to an embodiment.
- a Person-specific frontal model specialized for the input 3D face data should be generated.
- Person-specific frontal model refers to the left-right symmetry model based on the Y-axis, and the 3D points on the left are flipped to the right with respect to the Y axis (or the 3D points on the right are flipped to the left with respect to the Y axis). Can be created by copying it).
- a first object-specific front model that is a person-specific front model of the first corrected first face data may be generated.
- the first object-specific front model may be understood as a left-right symmetric model of the first face data, and a 3D rigid body transformation vector T1 is calculated by matching the first face data and the first object-specific front model.
- the input three-dimensional face data may be composed of a set of three-dimensional points (voxel) corresponding to the face surface or a smaller number of three-dimensional points (for example, a major landmark point of the face).
- voxel three-dimensional points
- a major landmark point of the face for example, a major landmark point of the face.
- Different types of person-specific face models can be generated depending on the type of dimensional face data.
- the first face data 510 and the first target specialized front model 520 initially corrected as shown in FIG. 5A also correspond to the face surface. It consists of a number of three-dimensional points.
- the rigid body transform vector T1 is formed using an ICP algorithm. Is calculated. Before and after the matching (511) and after the matching (521) using the ICP algorithm is shown in the bottom of Figure 5a.
- the first face data 530 and the first target-specific front model 540 initially corrected as shown in FIG. 5B may also use the main landmark points. Is generated.
- the rigid body transform vector T1 using an SVD algorithm or a POSIT algorithm is performed. This is calculated.
- the results before the matching (531) and after the matching (541) by the SVD algorithm or POSIT algorithm can be shown as shown in Figure 5b.
- a person-specific frontal model may be generated in various ways, depending on the embodiment.
- the first object-specific front model generated in FIG. 5A and the first data may be resampled, respectively, to generate an improved person-specific front model.
- a grid is divided based on the X and Y coordinates in the first target specialized front model 520, and a representative three-dimensional point is extracted or calculated for each grid (x of points belonging to the grid).
- resampling may be performed by calculating an average of y, z coordinates, or selecting points closest to the x, y, z coordinates representing the grid.
- the rigid body transformation vector T1 may be calculated using an SVD algorithm or a POSIT algorithm as shown in FIG. 5B.
- the first object-specific front model 540 and the first data 530 of FIG. 5B may be resampled to generate an improved person-specific front model, and then registration may be performed.
- 6A, 6B, and 6C are diagrams illustrating a two-dimensional rigid body transformation method performed according to an embodiment.
- frontal correction may be further performed on the Y and Z axes. This is performed in a manner of 2D rigid transformation on the X-Z plane and the X-Y plane.
- the second object-specific front model may be understood as a left-right symmetric model of the second face data, and a two-dimensional rigid body transformation vector T2 is calculated by matching the second face data and the second object-specific front model.
- posture correction on two-dimensional coordinates there is an advantage in that the stability of the matching result is higher than that in posture correction on three-dimensional coordinates, and it is easily applicable even if a manual operation by another person occurs later.
- the front pose can be defined by symmetry, but in the YZ plane as shown in FIG. 6C, the angle of the representative line is determined by line fitting in the area between the head and the jaw. After extraction, it may be performed in a manner of correcting for X-axis rotation.
- the rigid body transformation vectors T1 and T2 used in the fine posture correction process may be repeatedly calculated until the calculation results converge.
- the calculation of the rigid body transformation vector T1 shown in FIGS. 5A, 5B, and 5C and the rigid body transformation vector T2 calculation shown in FIG. 6 are repeated n times, and the difference between the nth calculation result and the n-1th calculation result is compared. If is less than a predetermined threshold value, it can be determined that the convergence is stopped and the iterative execution can be stopped, and the nth calculation result can be determined as the final rigid transformation vector T.
- FIG. 7 is a flowchart illustrating a method of correcting a face posture according to an exemplary embodiment.
- the facial posture correction device is a means for correcting the frontal posture using a person-specific frontal model specialized for the subject's face data.
- the face posture correction device performs a posture correction in a relatively simple manner and matches the input three-dimensional face data with the three-dimensional standard face model. It provides a way to greatly reduce the fitting error in the process.
- the generator of the face posture correcting apparatus may generate first face data corrected by 3D rigid transformation of the input 3D face data based on a pre-stored 3D standard face model.
- the input three-dimensional face data is a set of three-dimensional (voxel) corresponding to the face surface or a set of major landmark points of the face
- the first face data is the X, Y, It can be understood as corrected by the frontal posture on the Z coordinate.
- the generation unit extracts a plurality of feature points from a 2D face image obtained by projecting the input 3D face data, and the correspondence relationship between the extracted plurality of feature points with respect to the 3D standard face model.
- the posture of the input 3D face data may be estimated based on.
- the generation unit may calculate a first transform vector for rigidly transforming the estimated pose into a frontal pose, and rigidly transform the input three-dimensional face data based on the calculated first transform vector.
- First face data may be generated.
- the generation unit may generate the first face data based on at least one feature point information obtained from the input 3D face data.
- main part feature point position information such as eyes, nose, mouth, etc. may be obtained from the input 3D face data, and the generation unit of the subject is based on the feature point position information without using a 3D standard face model.
- the correction unit of the face posture corrector may generate a first target-specific front model that is a symmetrical model of the first face data.
- the correction unit generates the first target-specific front model by symmetrically copying three-dimensional points of the first surface onto a second surface based on the Y axis of the first face data.
- the correction unit may correct the first facial data by three-dimensional rigid transformation based on the first target-specific front model generated in operation 720.
- the correction unit may specialize the first face data to the first object using at least one of an iterative closest point (ICP) algorithm, a singular value decomposition (SVD) algorithm, and a force from orthography and scaling with iteration (POSIT) algorithm.
- ICP iterative closest point
- SVD singular value decomposition
- POSIT force from orthography and scaling with iteration
- the second transform vector may be calculated using an ICP algorithm.
- the input three-dimensional face data is a set of major landmark points of the face (for example, the main feature points of the face such as the eye center point, the eye tip point, and the lip end point)
- the second transform vector is calculated using an SVD algorithm or a POSIT algorithm.
- a method of resampling the input three-dimensional face data and the previously generated front face model is also possible.
- matching can be performed using an SVD algorithm or a POSIT algorithm. The higher the number of points, the more precise the match.
- the correction unit may repeatedly calculate the second transform vector, and a difference between the first value and the second value is obtained by comparing a second value obtained as a result of the iteration calculation with a first value that is a previous calculation result. If less than a predetermined threshold, the second value is determined as the final transform vector.
- the correction unit After operation 730, the correction unit generates a second object-specific front model that is symmetrical on one coordinate plane of the second face data generated by three-dimensional rigid body transformation of the first face data, and generates the generated second object.
- the second face data may be further corrected by performing two-dimensional rigid body transformation.
- the correction unit removes any one of the coordinate axis information from the second face data, and generates the second target-specific front model that is symmetrical by using the two coordinate axis information.
- the corrector may further include the second face data using the at least one of an iterative closest point (ICP) algorithm, a singular value decomposition (SVD) algorithm, and a force from orthography and scaling with iteration (POSIT) algorithm.
- ICP iterative closest point
- SVD singular value decomposition
- POSIT force from orthography and scaling with iteration
- a third transform vector to match the model may be calculated, and the second face data may be corrected by two-dimensional rigid body conversion based on the third transform vector.
- the second transform vector when the correspondence between the second face data and the second target-specific front model is not known, matching is performed using an ICP algorithm, and when the correspondence is known, an SVD algorithm or a POSIT is known. Matching is performed using an algorithm.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Geometry (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
입력받은 3차원 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 얼굴 자세를 보정하는 얼굴 자세 보정 장치가 제공된다. 상기 장치는: 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성하는 생성부, 및 상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성하고, 상기 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 보정부를 포함할 수 있다.
Description
입력 3차원 얼굴 데이터를 정면 자세로 보정하기 위해 표준 얼굴 모델과 정합하는 과정에서 발생하는 피팅 오차를 줄이는 기술에 연관되며, 보다 상세하게는 입력받은 3차원 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 얼굴 자세를 보정하는 장치 및 방법에 연관된다.
3차원 이미지로 스캔된 얼굴 데이터로부터 자세를 추정하는 것은 턱관절 교정이나 안면 마비 진단과 같은 의료 분야를 비롯하여, 얼굴인식, 교육 등 다양한 분야에 활용될 수 있는 기술로서 부각되고 있다. 특히, 얼굴 데이터의 정면 자세를 추정하거나, 또는 입력된 3차원 얼굴 데이터를 정면 자세로 보정하기 위한 강체 변환(rigid transformation)을 구하는 이슈는 활용도가 높은 것으로 알려져 있다.
기존의 경우, 좌표축 상에 정면 자세로 존재하는 3차원 표준 얼굴 모델을 기준으로 입력 데이터를 정합(alignment)하거나, 얼굴 전면부의 대표평면 피팅(fitting) 등을 통해 정면 자세로 보정하는 방식이 주로 이용되어 왔다. 3차원 표준 얼굴은 보통 여러 얼굴 데이터를 평균하여 생성되는데, 보정 대상인 입력 3차원 얼굴 데이터와 3차원 표준 얼굴 모델 간의 형태적 차이가 크다면 정합 과정에서 발생하는 오차 또한 커질 수밖에 없다. 이러한 정합 오차는 얼굴 데이터의 자세 보정 시 정확도를 낮추고, 자세 보정을 반복 수행하는 데 걸림돌이 될 수 있다.
일측에 따르면, 입력받은 3차원 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 얼굴 자세를 보정하는 얼굴 자세 보정 장치가 제공된다. 상기 장치는: 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성하는 생성부, 및 상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성하고, 상기 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 보정부를 포함할 수 있다.
일실시예에 따르면, 상기 생성부는: 입력 3차원 얼굴 데이터를 투영(projection) 하여 획득한 2차원 얼굴 영상으로부터 복수 개의 특징점을 추출하는 추출부와, 상기 3차원 표준 얼굴 모델에 대한 상기 추출된 복수 개의 특징점의 대응 관계를 기초로 상기 입력 3차원 얼굴 데이터의 자세를 추정하는 추정부와, 상기 추정된 자세를 정면 자세로 강체 변환하기 위한 제1 변환 벡터를 계산하는 계산부, 및 상기 제1 변환 벡터에 기초하여 상기 입력 3차원 얼굴 데이터를 강체변환(rigid transformation)하여 상기 제1 얼굴 데이터를 생성하는 변환부를 포함할 수 있다.
일실시예에 따르면, 상기 보정부는: 상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동 및 복사하여 상기 제1 대상 특화 정면모델을 생성하는 모델 생성부, 및 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 제1 대상 특화 정면모델에 정합하기 위한 제2 변환 벡터를 계산하고, 상기 제2 변환벡터에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 변환벡터 계산부를 포함할 수 있다.
여기서, 상기 변환벡터 계산부는: 상기 제2 변환 벡터를 반복 계산하여 획득한 제2 값을 이전 계산 결과인 제1 값과 비교하고, 상기 비교 결과 상기 제1 값 및 상기 제2 값의 차이가 미리 지정된 임계치보다 작으면 최종 변환 벡터를 결정한다.
일실시예에 따르면, 상기 보정부는: 상기 제1 얼굴 데이터를 3차원 강체변환 하여 생성된 제2 얼굴 데이터의 어느 한 좌표 평면 상에서 좌우 대칭인 제2 대상 특화 정면모델을 생성하고, 상기 생성된 제2 대상 특화 정면 모델을 기초로 상기 제2 얼굴 데이터를 2차원 강체변환 하여 추가 보정할 수 있다.
이 때, 상기 모델 생성부는 상기 제2 얼굴 데이터에서 어느 하나의 좌표축 정보를 제거하고, 두 개의 좌표축 정보를 이용하여 좌우 대칭인 상기 제2 대상 특화 정면 모델을 생성한다. 또한, 상기 변환벡터 계산부는 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제2 얼굴 데이터를 상기 제2 대상 특화 정면모델에 정합하기 위한 제3 변환 벡터를 계산하고, 상기 제3 변환 벡터에 기초하여 상기 제2 얼굴 데이터를 2차원 강체 변환하여 보정한다.
다른 일측에 따르면, 입력받은 3차원 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 얼굴 자세를 보정하는 얼굴 자세 보정 장치가 제공된다. 상기 장치는: 입력 3차원 얼굴 데이터로부터 획득한 적어도 하나의 얼굴 특징점에 기초하여 대상자의 정면 얼굴에 연관되는 제1 얼굴 데이터를 생성하는 생성부, 및 상기 제1 얼굴 데이터의 좌우 대칭 모델인 대상 특화 정면모델을 생성하고, 상기 생성된 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 보정부를 포함할 수 있다.
일실시예에 따르면, 상기 보정부는: 상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동 및 복사하여 상기 대상 특화 정면모델을 생성하는 모델 생성부, 및 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 대상 특화 정면모델에 정합하기 위한 변환 벡터를 계산하는 변환벡터 계산부를 포함한다.
또다른 일측에 따르면, 입력받은 3차원 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 얼굴 자세를 보정하는 얼굴 자세 보정 방법이 제공된다. 상기 방법은: 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성하는 단계, 및 상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성하고, 상기 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 제1 얼굴 데이터를 생성하는 단계는: 입력 3차원 얼굴 데이터를 투영(projection) 하여 획득한 2차원 얼굴 영상으로부터 복수 개의 특징점을 추출하는 단계와, 상기 3차원 표준 얼굴 모델에 대한 상기 추출된 복수 개의 특징점의 대응관계를 기초로 상기 입력 3차원 얼굴 데이터의 자세를 추정하는 단계와, 상기 추정된 자세를 정면 자세로 강체 변환하기 위한 제1 변환 벡터를 계산하는 단계, 및 상기 제1 변환 벡터에 기초하여 상기 입력 3차원 얼굴 데이터를 강체변환(rigid transformation) 하여 상기 제1 얼굴 데이터를 생성하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계는: 상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동 및 복사하여 상기 제1 대상 특화 정면모델을 생성하는 단계와, ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 제1 대상 특화 정면모델에 정합하기 위한 제2 변환 벡터를 계산하는 단계, 및 상기 제2 변환 벡터에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계를 포함할 수 있다.
또한, 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계는: 상기 제2 변환 벡터를 반복 계산하여 획득한 제2 값을 이전 계산 결과인 제1 값과 비교하는 단계, 및 상기 비교 결과 상기 제1 값 및 상기 제2 값의 차이가 미리 지정된 임계치보다 작으면 최종 변환 벡터를 결정하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 상기 방법은: 상기 제1 얼굴 데이터를 3차원 강체변환 하여 생성된 제2 얼굴 데이터의 어느 한 좌표 평면 상에서 좌우 대칭인 제2 대상 특화 정면모델을 생성하는 단계, 및 상기 제2 대상 특화 정면모델에 기초하여 상기 제2 얼굴 데이터를 2차원 강체변환 하여 추가 보정하는 단계를 더 포함할 수 있다.
이 때, 상기 제2 얼굴 데이터를 2차원 강체변환 하여 추가 보정하는 단계는: 상기 제2 얼굴 데이터에서 어느 하나의 좌표축 정보를 제거하고, 두 개의 좌표축 정보를 이용하여 좌우 대칭인 제2 대상 특화 정면모델을 생성하는 단계와, ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제2 얼굴 데이터를 상기 제2 대상 특화 정면모델에 정합하기 위한 제3 변환 벡터를 계산하는 단계, 및 상기 제3 변환 벡터에 기초하여 상기 제2 얼굴 데이터를 2차원 강체변환 하여 보정하는 단계를 포함한다.
도 1은 일실시예에 따라 강체변환 벡터를 이용하여 3차원 얼굴 데이터를 변환하는 과정을 설명하는 도면이다.
도 2는 일실시예에 따른 얼굴 자세 보정 장치를 도시하는 블록도이다.
도 3a 및 도 3b는 일실시예에 따른 얼굴 자세 보정 장치의 세부 구성을 설명하는 블록도이다.
도 4는 일실시예에 따라 얼굴 정렬(face alignment) 알고리즘을 이용하여 주요 랜드마크 점을 획득하는 과정을 설명하는 도면이다.
도 5a, 도 5b 및 도 5c는 일실시예에 따라 person-specific 정면 모델을 생성하고, 생성된 person-specific 정면 모델을 이용하여 3차원 얼굴 데이터의 자세를 보정하는 방식을 설명하는 도면이다.
도 6a, 도 6b 및 도 6c는 일실시예에 따라 수행되는 2차원 강체변환 방식을 설명하는 도면이다.
도 7은 일실시예에 따른 얼굴 자세 보정 방법을 도시하는 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따라 강체변환 벡터를 이용하여 3차원 얼굴 데이터를 변환하는 과정을 설명하는 도면이다.
도 1을 참조하면, 입력된 3차원 얼굴 데이터(110)는 강체변환 벡터(120)을 이용한 강체변환에 의해 정면 자세의 제1 얼굴 데이터(130)로 생성될 수 있다. 입력 3차원 얼굴 데이터(110)는 얼굴 표면에 대응하는 3차원 점(voxel)의 집합 또는 얼굴의 주요 랜드마크 점(이를 테면, 눈동자 중심점, 눈꼬리 점, 입술 끝점과 같이 얼굴의 주요 특징점)들의 집합으로 정의될 수 있고, 이들 점 각각은 3차원 위치정보 외에 밝기정보(grayscale) 및 컬러정보를 포함한다.
입력 3차원 얼굴 데이터(110)는 도 1과 같이 X, Y, Z축에 따라 정의되는 위치정보를 포함하고 있는데, 이는 촬영장치로부터의 촬영 방향에 대응하여 생성되는 정보이므로, 상기 촬영장치로부터 획득한 입력 3차원 얼굴 데이터(110)가 3차원 좌표축 상에서 정면 자세와 반드시 일치하는 것은 아니다. 대상자의 얼굴 분석 결과에 대한 신뢰성 및 정확성을 위해서는 얼굴 데이터의 정면 자세를 확보하는 것이 중요하다. 상기 정면 자세는 글로벌 좌표계 X, Y, Z축 상에서 Z축을 정면으로 바라보는 상태에서 Y축에 대해 좌우 대칭인 것으로 정의될 수 있다. 다만, 도 1에 도시된 좌표축은 본 발명의 사상을 설명하기 위한 예시적 실시예 중 하나에 불과하며, 사용자 설정에 따라 좌표축 설정은 변경 가능하다.
도 1에서, 입력 3차원 얼굴 데이터(110)를 정면 자세로 변환하기 위해서는 상기 입력 3차원 얼굴 데이터(110)에 대한 강체변환 벡터(120)를 계산하여야 하며, 상기 계산된 강체변환 벡터(120)를 상기 입력 3차원 얼굴 데이터(110)에 적용하여 정면 자세의 제1 얼굴 데이터(130)를 생성할 수 있다.
도 2는 일실시예에 따른 얼굴 자세 보정 장치(200)를 도시하는 블록도이고, 도 3a 및 도 3b는 상기 얼굴 자세 보정 장치(200)의 세부 구성을 설명하는 블록도이다.
얼굴 자세 보정 장치(200)는 대상자의 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 정면 자세로 보정하는 수단으로, 비교적 간단한 방식으로 자세 보정을 수행하면서 입력 3차원 얼굴 데이터를 3차원 표준 얼굴 모델에 정합하는 과정에서 발생하는 피팅 오차를 크게 줄일 수 있다. 상기 얼굴 특징점 위치정보 생성 장치(200)는 생성부(210) 및 보정부(220)를 포함할 수 있다.
먼저, 생성부(210)는 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성할 수 있다. 여기서, 상기 입력 3차원 얼굴 데이터는 얼굴 표면에 대응하는 3차원 점(voxel)의 집합이나 얼굴의 주요 랜드마크 점들의 집합이고, 상기 제1 얼굴 데이터는 상기 입력 3차원 얼굴 데이터를 X, Y, Z 좌표 상의 정면 자세로 보정한 것으로 이해될 수 있다. 생성부(210)는 도 3a와 같이, 추출부(310), 추정부(320), 계산부(330) 및 변환부(340)의 세부 구성을 포함한다.
추출부(310)는 상기 입력 3차원 얼굴 데이터를 투영(projection) 하여 획득한 2차원 얼굴 영상으로부터 복수 개의 특징점을 추출할 수 있다. 추정부(320)는 상기 3차원 표준 얼굴 모델에 대한 상기 추출된 복수 개의 특징점의 대응 관계를 기초로 상기 입력 3차원 얼굴 데이터의 자세를 추정할 수 있다. 계산부(330)는 상기 추정된 자세를 정면 자세로 강체 변환하기 위한 제1 변환 벡터를 계산할 수 있다. 변환부(340)는 상기 계산된 제1 변환 벡터에 기초하여 상기 입력 3차원 얼굴 데이터를 강체변환(rigid transformation) 하여 상기 제1 얼굴 데이터를 생성한다.
다만, 미리 저장된 3차원 표준 얼굴 모델이 존재하지 않는 경우, 생성부(210)는 상기 입력 3차원 얼굴 데이터로부터 획득한 적어도 하나의 특징점 정보에 기초하여 상기 제1 얼굴 데이터를 생성할 수 있다. 이 경우, 상기 입력 3차원 얼굴 데이터로부터 눈, 코, 입 등의 주요 부위 특징점 위치정보를 획득할 수 있으며, 상기 생성부(210)는 3차원 표준 얼굴 모델을 사용하지 않아도 상기 특징점 위치정보를 기초로 상기 대상자의 정면 얼굴에 연관되는 제1 얼굴 데이터를 생성한다.
보정부(220)는 상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성하고, 상기 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정할 수 있다. 보정부(220)의 세부 구성은 도 3b와 같으며, 모델 생성부(350) 및 변환벡터 계산부(360)를 포함한다.
모델 생성부(350)는 상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동시켜 복사하는 방식으로 상기 제1 대상 특화 정면모델을 생성할 수 있다.
변환벡터 계산부(360)는 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 제1 대상 특화 정면모델에 정합하기 위한 제2 변환 벡터를 계산할 수 있다. 입력 3차원 얼굴 데이터가 일반적으로 3차원 스캔된 얼굴 표면 상에 존재하는 복수의 점들의 집합인 경우, 상기 입력 3차원 얼굴 데이터와 상기 정면 모델의 점들 사이의 대응관계를 모르는 상태에서 정합이 수행되어야 하기 때문에, ICP 알고리즘을 활용하여 상기 제2 변환 벡터가 계산될 수 있다. 그러나, 상기 입력 3차원 얼굴 데이터가 얼굴의 주요 랜드마크 점(이를 테면, 눈동자 중심점, 눈꼬리 점, 입술 끝점 등의 얼굴의 주요 특징점) 집합인 경우에는, 상기 입력 3차원 얼굴 데이터와 상기 정면 모델의 점들 사이의 대응관계를 아는 상태에서 정합을 수행하므로, SVD 알고리즘 또는 POSIT 알고리즘을 활용하여 상기 제2 변환 벡터가 계산된다. 또한, 상기 입력 3차원 얼굴 데이터와 앞서 생성된 정면 모델을 리샘플링(resampling) 하는 방식도 가능한데, 이 경우도 정합 대상 사이의 대응관계를 알고 있으므로 SVD 알고리즘이나 POSIT 알고리즘을 활용하여 정합 가능하며, 정합 대상 점들의 개수가 많을수록 보다 정밀한 정합이 가능해진다. 상기 변환벡터 계산부(360)는 상기 제2 변환 벡터를 반복적으로 계산할 수 있으며, 반복 계산 결과 획득한 제2 값을 이전 계산 결과인 제1 값과 비교하여 상기 제1 값 및 상기 제2 값의 차이가 미리 지정된 임계치보다 작으면 상기 제2 값을 최종 변환 벡터로 결정한다.
보정부(220)는 상기 제1 얼굴 데이터를 3차원 강체변환하여 생성된 제2 얼굴 데이터의 어느 한 좌표 평면 상에서 좌우 대칭인 제2 대상 특화 정면모델을 생성하고, 상기 생성된 제2 대상 특화 정면 모델을 기초로 상기 제2 얼굴 데이터를 2차원 강체변환하여 추가 보정할 수 있다. 이 경우, 상기 모델 생성부(350)는 제2 얼굴 데이터에서 어느 하나의 좌표축 정보를 제거하고, 두 개의 좌표축 정보를 이용하여 좌우 대칭인 상기 제2 대상 특화 정면 모델을 생성한다. 또한, 상기 변환벡터 계산부(360)는 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제2 얼굴 데이터를 상기 제2 대상 특화 정면모델에 정합하기 위한 제3 변환 벡터를 계산하고, 상기 제3 변환 벡터에 기초하여 상기 제2 얼굴 데이터를 2차원 강체 변환하여 보정할 수 있다. 제2 변환 벡터 계산 시와 마찬가지로, 제2 얼굴 데이터 및 상기 제2 대상 특화 정면 모델 사이의 대응 관계를 모르는 경우에는 ICP 알고리즘을 활용하여 정합이 수행되고, 상기 대응 관계를 아는 경우에는 SVD 알고리즘 또는 POSIT 알고리즘을 활용하여 정합이 수행된다.
얼굴 자세 보정 장치(200)는 입력 3차원 얼굴 데이터를 3D 강체변환(3D rigid transformation) 하여 초기 자세 보정을 수행한 후, 상기 3차원 입력 3차원 얼굴 데이터에 특화된 정면 모델을 생성하여 다시 강체변환을 통해 세밀한 보정을 수행하다. 또한, 세밀한 보정을 수행하는 과정에서 상기 얼굴 자세 보정 장치(200)는 X-Z 평면 및 X-Y 평면 상에서 2D 강체변환(2D rigid transformation) 하는 Y, Z축에 대한 대칭 보정을 추가 수행할 수 있으며, 이로 인해 상기 입력 3차원 얼굴 데이터를 정면 자세로 보정하는 과정에서 발생하는 피팅 오차를 현저하게 낮추어 보정 결과의 정확성을 보다 향상시킬 수 있다.
도 4는 일실시예에 따라 얼굴 정렬(face alignment) 알고리즘을 이용하여 주요 랜드마크 점을 획득하는 과정을 설명하는 도면이다.
입력 3차원 얼굴 데이터를 분석함에 있어, 3차원 데이터를 직접 분석하는 방식도 있기는 하나, 특정 카메라 시점에서 획득한 2차원 투영 영상을 이용하여 분석하는 방식이 일반적이다. 입력 3차원 얼굴 데이터를 Z축 방향으로 투영(projection)하여 획득한 2차원 투영 영상은 도 4와 같이 나타낼 수 있다. 상기 입력 3차원 얼굴 데이터가 정확한 정면 자세를 의미하는 것으로 보장할 수 없으므로, 상기 2차원 투영 영상(410) 또한 정면 자세가 아닐 수 있다.
상기 입력 3차원 얼굴 데이터의 정면 자세 보정을 위해 3차원 표준 얼굴 모델이 미리 저장될 수 있다. 상기 3차원 표준 얼굴 모델은 3차원 스캐너 등으로 측정한 다수의 3차원 얼굴 샘플들의 평균을 연산하거나, 또는 다수의 3차원 얼굴 샘플들을 각각 Y축에 대해 선대칭한 데이터를 가상 샘플들로 만들고 전체 샘플들(측정 샘플들 및 Y축 대칭 가상 샘플들)의 평균을 구하여 생성될 수 있다. 상기 3차원 표준 얼굴 모델은 상기 입력 3차원 얼굴 데이터와 마찬가지로, 얼굴 표면에 대응하는 3차원 점(voxel)의 집합 또는 얼굴의 주요 랜드마크 점들의 집합으로 구성될 수 있고, 3차원 위치정보를 비롯하여 밝기정보(grayscale) 및 컬러정보를 포함하며, 사용자가 최종적으로 원하는 정면 자세이어야 한다.
도 4를 참조하면, 상기 2차원 투영 영상(410)의 좌표계는 U, V 축을 이용한다. 투영은 직교 투영, 투시 투영 등 다양한 방식으로 수행 가능하며, Z축 방향에서 투영하였으므로 글로벌 좌표계의 X-Y 평면을 그대로 U-V 평면으로 볼 수 있다. 도 1의 좌표축과 비교하면, 도 1의 X축은 도 4의 U축과 동일한 방향을 나타내고, 도 1의 Y 축은 도 4의 V축과 방향만 반대인 것으로 이해될 수 있다.
임의의 입력 3차원 얼굴 데이터의 자세를 추정하여 정면 자세로의 강체변환 벡터 T를 적용하고, 글로벌 좌표계의 Z축과 일치하는 카메라 시점에서 2차원 투영 영상을 획득하면, 얼굴 특징점 추출이 가능해진다. 이 때, 강체변환 T는 X, Y, Z 축에 대한 rotation 및 translation 변환을 표현하는 벡터로서, T: 6D vector (θ
x, θ
y, θ
z, t
x, t
y, t
z)로 나타낼 수 있다.
2차원 투영 영상(410)에 대해서는 AAM(Active Appearance Model), CLM(Constrained Local Model) 등의 얼굴 정렬(face alignment) 알고리즘 적용을 통해, 얼굴 영역의 주요 랜드마크 점(420)들이 추출될 수 있다. 상기 랜드마크 점(420)은 눈동자 중심점, 눈꼬리점, 입술 끝점 등 얼굴부위의 주요 특징점을 의미한다. 이러한 방식으로 추출된 랜드마크 점(420)은 기 저장된 3차원 표준 얼굴 모델에 이미 정의되어 있으므로, 상기 랜드마크 점(420)과 상기 3차원 표준 얼굴 모델 사이의 2D-3D 대응 관계 정보가 획득 가능하며, SVD나 POSIT 등의 알고리즘을 이용하여 상기 입력 3차원 얼굴 데이터의 자세 추정과 이를 정면 자세로 초기 보정하기 위한 강체변환 벡터 T0를 구할 수 있다. 상기 구한 강체변환 T0를 상기 입력 3차원 얼굴 데이터에 적용하면, 초기 보정 데이터를 획득할 수 있다. 상기 랜드마크 점(420)이 정확하게 추출되었다면 상기 3차원 표준 얼굴 모델과 유사한 자세로 변환되어 정면 자세에 가깝게 보정될 수 있다. 다만, 3차원 표준 얼굴 모델과 상기 입력 3차원 얼굴 데이터의 형태적 차이, 얼굴 정렬 알고리즘에 의해 추출된 랜드마크 점들의 위치 정확도, 추출된 랜드마크 점들의 개수 제약 등의 한계로 인해, 보다 세밀한 정면 자세로의 보정이 필요하다.
도 5a, 도 5b 및 도 5c는 일실시예에 따라 person-specific 정면 모델을 생성하고, 생성된 person-specific 정면 모델을 이용하여 3차원 얼굴 데이터의 자세를 보정하는 방식을 설명하는 도면이다.
입력 3차원 얼굴 데이터에 대한 세밀한 정면 자세 보정을 위해서는 상기 입력 3차원 얼굴 데이터에 특화된 Person-specific 정면 모델을 생성하여야 한다. Person-specific 정면 모델은 Y축 기준 좌우대칭 모델을 의미하는데, Y축을 기준으로 좌측의 3차원 점들을 우측으로 대칭 이동시켜 복사하는 방식(또는 Y축을 기준으로 우측의 3차원 점들을 좌측으로 대칭 이동시켜 복사하는 방식)으로 생성 가능하다. 앞서 도 4와 같이, 강체변환 벡터 T0를 이용하여 입력 3차원 얼굴 데이터가 초기 보정되면, 상기 초기 보정된 제1 얼굴 데이터에 대한 person-specific 정면 모델인 제1 대상 특화 정면 모델을 생성할 수 있다. 상기 제1 대상 특화 정면 모델은 상기 제1 얼굴 데이터의 좌우 대칭 모델로 이해될 수 있으며, 상기 제1 얼굴 데이터 및 상기 제1 대상 특화 정면 모델의 정합을 통해 3차원 강체변환 벡터 T1이 계산된다.
상기 입력 3차원 얼굴 데이터는 얼굴 표면에 대응하는 3차원 점들의 집합(voxel)이나 그보다 개수가 적은 3차원 점들(이를 테면, 얼굴의 주요 랜드마크 점)의 집합으로 구성될 수 있는데, 상기 입력 3차원 얼굴 데이터의 종류에 따라 각각 다른 형태의 person-specific 정면 모델이 생성될 수 있다.
상기 입력 3차원 얼굴 데이터가 얼굴 표면에 대응하는 3차원 점들의 집합인 경우에는, 도 5a와 같이 초기 보정된 제1 얼굴 데이터(510) 및 제1 대상 특화 정면 모델(520) 또한 얼굴 표면에 대응하는 다수의 3차원 점들로 구성된다. 이 경우, 상기 제1 얼굴 데이터(510)와 상기 제1 대상 특화 정면 모델(520)의 점들 사이의 대응관계를 모르는 상태에서 정합이 수행되어야 하기 때문에, ICP 알고리즘을 활용하여 상기 강체변환 벡터 T1이 계산된다. ICP 알고리즘을 이용한 정합 전(511)과 정합 후(521) 결과는 도 5a의 하단과 같다.
상기 입력 3차원 얼굴 데이터가 얼굴의 주요 랜드마크 점 집합인 경우에는, 도 5b와 같이 초기 보정된 제1 얼굴 데이터(530) 및 제1 대상 특화 정면 모델(540) 또한 주요 랜드마크 점들을 이용하여 생성된다. 이 경우, 상기 제1 얼굴 데이터(530)와 상기 제1 대상 특화 정면 모델(540)의 점들 사이의 대응관계를 아는 상태에서 정합을 수행하므로, SVD 알고리즘이나 POSIT 알고리즘을 활용하여 상기 강체변환 벡터 T1이 계산된다. SVD 알고리즘 또는 POSIT 알고리즘에 의한 정합 전(531)과 정합 후(541) 결과는 도 5b와 같이 나타낼 수 있다.
도 5a 및 도 5b의 방식 외에도, 실시예에 따라 다양한 방식으로 person-specific 정면 모델이 생성될 수 있다. 이를 테면, 도 5a에서 생성된 제1 대상 특화 정면 모델과 상기 제1 데이터를 각각 리샘플링(resampling) 하여 보다 개선된 person-specific 정면 모델을 생성할 수 있다. 이 경우, 도 5c와 같이 상기 제1 대상 특화 정면 모델(520)에서 X, Y 좌표를 기준으로 그리드(grid)를 나누고, 각 그리드마다 대표 3차원 점을 추출하거나 계산(그리드 안에 속한 점들의 x, y, z 좌표 평균을 계산하거나, 또는 그리드를 대표하는 x, y, z 좌표와 가장 가까운 점을 선택)하는 방식으로 리샘플링이 가능하다. 동일한 방식으로 상기 제1 데이터(510)에 대한 리샘플링 또한 가능하다. 이와 같이 동일한 그리드를 이용한 리샘플링 된 두 모델은 정합 대상 간의 대응관계를 인지한 상태에서 정합이 수행되므로, 이후에는 도 5b와 같이 SVD 알고리즘이나 POSIT 알고리즘을 활용하여 상기 강체변환 벡터 T1을 계산할 수 있다. 실시예에 따라서는, 도 5b의 제1 대상 특화 정면 모델(540)과 제1 데이터(530)를 리샘플링 하여 보다 개선된 person-specific 정면 모델을 생성한 후, 정합을 수행할 수도 있다.
도 6a, 도 6b 및 도 6c는 일실시예에 따라 수행되는 2차원 강체변환 방식을 설명하는 도면이다.
입력 3차원 얼굴 데이터에 대한 세밀한 정면 자세 보정을 위해, Y, Z 축에 대한 정면보정을 추가 수행될 수 있다. 이는, X-Z 평면 및 X-Y 평면 상에서 2D 강체변환(2D rigid transformation) 하는 방식으로 수행된다.
앞서 도 5 a, 도 5b 및 도 5c에서의 보정을 통해 생성된 제2 얼굴 데이터에서 특정 좌표축 정보만 제거하고, 상기 제2 얼굴 데이터에 대한 person-specific 정면 모델인 제2 대상 특화 정면 모델을 생성할 수 있다. 상기 제2 대상 특화 정면 모델은 상기 제2 얼굴 데이터의 좌우 대칭 모델로 이해될 수 있으며, 상기 제2 얼굴 데이터 및 상기 제2 대상 특화 정면 모델의 정합을 통해 2차원 강체변환 벡터 T2가 계산된다. 2차원 좌표 상에서 자세 보정을 하는 경우, 3차원 좌표 상에서의 자세 보정보다 정합 결과의 안정성이 높고, 추후 타인에 의한 수작업이 발생하더라도 용이하게 적용 가능하다는 점에서 이점이 있다. 도 6a의 X-Y 평면과 도 6b의 X-Z 평면에서는 좌우 대칭성에 의해 정면 자세 정의가 가능하나, 도 6c와 같은 Y-Z 평면에서는 머리부터 턱 사이의 영역에서 라인 피팅(line fitting)을 통해 대표 라인의 각도를 추출한 후 X축 회전에 대해 보정하는 방식으로 수행될 수 있다.
한편, 세밀한 자세 보정 과정에 이용되는 강체변환 벡터 T1 및 T2는 계산 결과가 수렴할 때까지 반복적으로 계산될 수 있다. 도 5a, 도 5b 및 도 5c에 개시된 강체변환 벡터 T1 계산 과정과 도 6에 개시된 강체변환 벡터 T2 계산 과정을 n회 반복 수행하고, n번째 계산 결과와 n-1번째 계산 결과를 비교하여 그 차이가 미리 지정된 문턱값보다 적을 경우 수렴한 것으로 판단하여 반복 수행을 중단할 수 있으며, n번째 계산 결과를 최종 강체변환 벡터 T로 결정할 수 있다.
도 7은 일실시예에 따른 얼굴 자세 보정 방법을 도시하는 흐름도이다.
얼굴 자세 보정 장치는 대상자의 얼굴 데이터에 특화된 person-specific 정면 모델을 이용하여 정면 자세로 보정하는 수단으로, 비교적 간단한 방식으로 자세 보정을 수행하면서 입력 3차원 얼굴 데이터를 3차원 표준 얼굴 모델에 정합하는 과정에서 발생하는 피팅 오차를 크게 줄이는 방법을 제공한다.
단계 710에서는, 얼굴 자세 보정 장치의 생성부가 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성할 수 있다. 여기서, 상기 입력 3차원 얼굴 데이터는 얼굴 표면에 대응하는 3차원 점(voxel)의 집합이나 얼굴의 주요 랜드마크 점들의 집합이고, 상기 제1 얼굴 데이터는 상기 입력 3차원 얼굴 데이터를 X, Y, Z 좌표 상의 정면 자세로 보정한 것으로 이해될 수 있다.
단계 710에서, 상기 생성부는 상기 입력 3차원 얼굴 데이터를 투영(projection) 하여 획득한 2차원 얼굴 영상으로부터 복수 개의 특징점을 추출하고, 상기 3차원 표준 얼굴 모델에 대한 상기 추출된 복수 개의 특징점의 대응 관계를 기초로 상기 입력 3차원 얼굴 데이터의 자세를 추정할 수 있다. 또한, 상기 생성부는 상기 추정된 자세를 정면 자세로 강체 변환하기 위한 제1 변환 벡터를 계산하고, 상기 계산된 제1 변환 벡터를 기초로 상기 입력 3차원 얼굴 데이터를 강체변환(rigid transformation) 하여 상기 제1 얼굴 데이터를 생성할 수 있다.
다만, 미리 저장된 3차원 표준 얼굴 모델이 존재하지 않는 경우, 단계 710에서 상기 생성부는 상기 입력 3차원 얼굴 데이터로부터 획득한 적어도 하나의 특징점 정보에 기초하여 상기 제1 얼굴 데이터를 생성할 수 있다. 이 경우, 상기 입력 3차원 얼굴 데이터로부터 눈, 코, 입 등의 주요 부위 특징점 위치정보를 획득할 수 있으며, 상기 생성부는 3차원 표준 얼굴 모델을 사용하지 않아도 상기 특징점 위치정보를 기초로 상기 대상자의 정면 얼굴에 연관되는 제1 얼굴 데이터를 생성한다.
단계 720에서는, 얼굴 자세 보정 장치의 보정부가 상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성할 수 있다. 단계 720에서, 상기 보정부는 상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면 상으로 대칭 이동시켜 복사하는 방식으로 상기 제1 대상 특화 정면모델을 생성한다.
단계 730에서는, 상기 보정부가 단계 720에서 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정할 수 있다. 이를 위해, 상기 보정부는 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 제1 대상 특화 정면모델에 정합하기 위한 제2 변환 벡터를 계산한다. 입력 3차원 얼굴 데이터가 일반적으로 3차원 스캔된 얼굴 표면 상에 존재하는 복수의 점들의 집합인 경우, 상기 입력 3차원 얼굴 데이터와 상기 정면 모델의 점들 사이의 대응관계를 모르는 상태에서 정합이 수행되어야 하기 때문에, ICP 알고리즘을 활용하여 상기 제2 변환 벡터가 계산될 수 있다. 그러나, 상기 입력 3차원 얼굴 데이터가 얼굴의 주요 랜드마크 점(이를 테면, 눈동자 중심점, 눈꼬리 점, 입술 끝점 등의 얼굴의 주요 특징점) 집합인 경우에는, 상기 입력 3차원 얼굴 데이터와 상기 정면 모델의 점들 사이의 대응관계를 아는 상태에서 정합을 수행하므로, SVD 알고리즘 또는 POSIT 알고리즘을 활용하여 상기 제2 변환 벡터가 계산된다. 또한, 상기 입력 3차원 얼굴 데이터와 앞서 생성된 정면 모델을 리샘플링(resampling) 하는 방식도 가능한데, 이 경우도 정합 대상 사이의 대응관계를 알고 있으므로 SVD 알고리즘이나 POSIT 알고리즘을 활용하여 정합 가능하며, 정합 대상 점들의 개수가 많을수록 보다 정밀한 정합이 가능해진다.
단계 730에서, 상기 보정부는 상기 제2 변환 벡터를 반복적으로 계산할 수 있으며, 반복 계산 결과 획득한 제2 값을 이전 계산 결과인 제1 값과 비교하여 상기 제1 값 및 상기 제2 값의 차이가 미리 지정된 임계치보다 작으면 상기 제2 값을 최종 변환 벡터로 결정한다.
단계 730 후에는, 상기 보정부가 상기 제1 얼굴 데이터를 3차원 강체변환하여 생성된 제2 얼굴 데이터의 어느 한 좌표 평면 상에서 좌우 대칭인 제2 대상 특화 정면모델을 생성하고, 상기 생성된 제2 대상 특화 정면 모델을 기초로 상기 제2 얼굴 데이터를 2차원 강체변환하여 추가 보정할 수 있다. 이 경우, 상기 보정부는 제2 얼굴 데이터에서 어느 하나의 좌표축 정보를 제거하고, 두 개의 좌표축 정보를 이용하여 좌우 대칭인 상기 제2 대상 특화 정면 모델을 생성한다. 또한, 상기 보정부는 ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제2 얼굴 데이터를 상기 제2 대상 특화 정면모델에 정합하기 위한 제3 변환 벡터를 계산하고, 상기 제3 변환 벡터에 기초하여 상기 제2 얼굴 데이터를 2차원 강체 변환하여 보정할 수 있다. 제2 변환 벡터 계산 시와 마찬가지로, 제2 얼굴 데이터 및 상기 제2 대상 특화 정면 모델 사이의 대응 관계를 모르는 경우에는 ICP 알고리즘을 활용하여 정합이 수행되고, 상기 대응 관계를 아는 경우에는 SVD 알고리즘이나 POSIT 알고리즘을 활용하여 정합이 수행된다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (14)
- 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성하는 생성부; 및상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성하고, 상기 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 보정부를 포함하는 얼굴 자세 보정 장치.
- 제1항에 있어서,상기 생성부는,입력 3차원 얼굴 데이터를 투영(projection) 하여 획득한 2차원 얼굴 영상으로부터 복수 개의 특징점을 추출하는 추출부;상기 3차원 표준 얼굴 모델에 대한 상기 추출된 복수 개의 특징점의 대응 관계를 기초로 상기 입력 3차원 얼굴 데이터의 자세를 추정하는 추정부;상기 추정된 자세를 정면 자세로 강체 변환하기 위한 제1 변환 벡터를 계산하는 계산부; 및상기 제1 변환 벡터에 기초하여 상기 입력 3차원 얼굴 데이터를 강체변환(rigid transformation)하여 상기 제1 얼굴 데이터를 생성하는 변환부를 포함하는 얼굴 자세 보정 장치.
- 제1항에 있어서,상기 보정부는,상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동 및 복사하여 상기 제1 대상 특화 정면모델을 생성하는 모델 생성부; 및ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 제1 대상 특화 정면모델에 정합하기 위한 제2 변환 벡터를 계산하고, 상기 제2 변환벡터에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 변환벡터 계산부를 포함하는 얼굴 자세 보정 장치.
- 제3항에 있어서,상기 변환벡터 계산부는,상기 제2 변환 벡터를 반복 계산하여 획득한 제2 값을 이전 계산 결과인 제1 값과 비교하고, 상기 비교 결과 상기 제1 값 및 상기 제2 값의 차이가 미리 지정된 임계치보다 작으면 최종 변환 벡터를 결정하는 얼굴 자세 보정 장치.
- 제3항에 있어서,상기 보정부는,상기 제1 얼굴 데이터를 3차원 강체변환 하여 생성된 제2 얼굴 데이터의 어느 한 좌표 평면 상에서 좌우 대칭인 제2 대상 특화 정면모델을 생성하고, 상기 생성된 제2 대상 특화 정면 모델을 기초로 상기 제2 얼굴 데이터를 2차원 강체변환 하여 추가 보정하는 얼굴 자세 보정 장치.
- 제5항에 있어서,상기 모델 생성부는, 상기 제2 얼굴 데이터에서 어느 하나의 좌표축 정보를 제거하고, 두 개의 좌표축 정보를 이용하여 좌우 대칭인 상기 제2 대상 특화 정면 모델을 생성하며,상기 변환벡터 계산부는, ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제2 얼굴 데이터를 상기 제2 대상 특화 정면모델에 정합하기 위한 제3 변환 벡터를 계산하고, 상기 제3 변환 벡터에 기초하여 상기 제2 얼굴 데이터를 2차원 강체 변환하여 보정하는 얼굴 자세 보정 장치.
- 입력 3차원 얼굴 데이터로부터 획득한 적어도 하나의 얼굴 특징점에 기초하여 대상자의 정면 얼굴에 연관되는 제1 얼굴 데이터를 생성하는 생성부; 및상기 제1 얼굴 데이터의 좌우 대칭 모델인 대상 특화 정면모델을 생성하고, 상기 생성된 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 보정부를 포함하는 얼굴 자세 보정 장치.
- 제7항에 있어서,상기 보정부는,상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동 및 복사하여 상기 대상 특화 정면모델을 생성하는 모델 생성부; 및ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 대상 특화 정면모델에 정합하기 위한 변환 벡터를 계산하는 변환벡터 계산부를 포함하는 얼굴 자세 보정 장치.
- 미리 저장된 3차원 표준 얼굴 모델에 기초하여 입력 3차원 얼굴 데이터를 3차원 강체변환(3D rigid transformation) 하여 보정한 제1 얼굴 데이터를 생성하는 단계; 및상기 제1 얼굴 데이터의 좌우 대칭 모델인 제1 대상 특화 정면모델을 생성하고, 상기 생성된 제1 대상 특화 정면모델에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계를 포함하는 얼굴 자세 보정 방법.
- 제9항에 있어서,상기 제1 얼굴 데이터를 생성하는 단계는,입력 3차원 얼굴 데이터를 투영(projection) 하여 획득한 2차원 얼굴 영상으로부터 복수 개의 특징점을 추출하는 단계;상기 3차원 표준 얼굴 모델에 대한 상기 추출된 복수 개의 특징점의 대응관계를 기초로 상기 입력 3차원 얼굴 데이터의 자세를 추정하는 단계;상기 추정된 자세를 정면 자세로 강체 변환하기 위한 제1 변환 벡터를 계산하는 단계; 및상기 제1 변환 벡터에 기초하여 상기 입력 3차원 얼굴 데이터를 강체변환(rigid transformation) 하여 상기 제1 얼굴 데이터를 생성하는 단계를 포함하는 얼굴 자세 보정 방법.
- 제9항에 있어서,상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계는,상기 제1 얼굴 데이터의 Y축 기준으로 제1 면의 3차원 점들을 제2 면에 대칭 이동 및 복사하여 상기 제1 대상 특화 정면모델을 생성하는 단계;ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제1 얼굴 데이터를 상기 제1 대상 특화 정면모델에 정합하기 위한 제2 변환 벡터를 계산하는 단계; 및상기 제2 변환 벡터에 기초하여 상기 제1 얼굴 데이터를 3차원 강체변환 하여 보정하는 단계를 포함하는 얼굴 자세 보정 방법.
- 제11항에 있어서,상기 제2 변환 벡터를 반복 계산하여 획득한 제2 값을 이전 계산 결과인 제1 값과 비교하는 단계; 및상기 비교 결과 상기 제1 값 및 상기 제2 값의 차이가 미리 지정된 임계치보다 작으면 최종 변환 벡터를 결정하는 단계를 더 포함하는 얼굴 자세 보정 방법.
- 제9항에 있어서,상기 제1 얼굴 데이터를 3차원 강체변환 하여 생성된 제2 얼굴 데이터의 어느 한 좌표 평면 상에서 좌우 대칭인 제2 대상 특화 정면모델을 생성하는 단계; 및상기 제2 대상 특화 정면모델에 기초하여 상기 제2 얼굴 데이터를 2차원 강체변환 하여 추가 보정하는 단계를 더 포함하는 얼굴 자세 보정 방법.
- 제13항에 있어서,상기 제2 얼굴 데이터를 2차원 강체변환 하여 추가 보정하는 단계는,상기 제2 얼굴 데이터에서 어느 하나의 좌표축 정보를 제거하고, 두 개의 좌표축 정보를 이용하여 좌우 대칭인 제2 대상 특화 정면모델을 생성하는 단계;ICP(Iterative Closest Point) 알고리즘, SVD(Singular Value Decomposition) 알고리즘 및 POSIT(Pose from Orthography and Scaling with Iteration) 알고리즘 중 적어도 하나를 이용하여 상기 제2 얼굴 데이터를 상기 제2 대상 특화 정면모델에 정합하기 위한 제3 변환 벡터를 계산하는 단계; 및상기 제3 변환 벡터에 기초하여 상기 제2 얼굴 데이터를 2차원 강체변환 하여 보정하는 단계를 포함하는 얼굴 자세 보정 방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/605,126 US11069152B2 (en) | 2017-04-14 | 2018-02-08 | Face pose correction apparatus and method |
| CN201880025110.XA CN110520905B (zh) | 2017-04-14 | 2018-02-08 | 人脸姿势矫正装置及方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170048577A KR101908851B1 (ko) | 2017-04-14 | 2017-04-14 | 얼굴 자세 보정 장치 및 방법 |
| KR10-2017-0048577 | 2017-04-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018190504A1 true WO2018190504A1 (ko) | 2018-10-18 |
Family
ID=63793295
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2018/001678 Ceased WO2018190504A1 (ko) | 2017-04-14 | 2018-02-08 | 얼굴 자세 보정 장치 및 방법 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11069152B2 (ko) |
| KR (1) | KR101908851B1 (ko) |
| CN (1) | CN110520905B (ko) |
| WO (1) | WO2018190504A1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111553250A (zh) * | 2020-04-25 | 2020-08-18 | 深圳德技创新实业有限公司 | 一种基于人脸特征点的精准面瘫程度评测方法及装置 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI704530B (zh) * | 2019-01-29 | 2020-09-11 | 財團法人資訊工業策進會 | 注視度判斷裝置及方法 |
| US11872345B2 (en) * | 2019-06-07 | 2024-01-16 | Koninklijke Philips N.V. | Patient sleep therapy mask selection tool |
| US11798299B2 (en) * | 2019-10-31 | 2023-10-24 | Bodygram, Inc. | Methods and systems for generating 3D datasets to train deep learning networks for measurements estimation |
| CN116325184A (zh) | 2021-01-04 | 2023-06-23 | 三星电子株式会社 | 显示装置及其光源设备 |
| US11675195B2 (en) * | 2021-05-21 | 2023-06-13 | Microsoft Technology Licensing, Llc | Alignment of 3D representations for hologram/avatar control |
| CN113343927B (zh) * | 2021-07-03 | 2023-06-23 | 郑州铁路职业技术学院 | 一种适用于面瘫患者的智能化人脸识别方法和系统 |
| KR102569572B1 (ko) * | 2022-08-10 | 2023-08-24 | 주식회사 오젤 | 가상의 착용이미지 제공시스템 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20050084263A (ko) * | 2002-12-11 | 2005-08-26 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오 폰 이미지에서 머리 자세를 보정하기 위한 방법 및장치 |
| KR20140004604A (ko) * | 2013-10-02 | 2014-01-13 | 인텔렉추얼디스커버리 주식회사 | 3차원 얼굴 생성 장치 및 방법 |
| KR101692493B1 (ko) * | 2015-10-07 | 2017-01-03 | (주)에스앤 | 얼굴 사진 기반 3차원 얼굴 입체 모델 생성 장치 및 방법 |
| KR20170019779A (ko) * | 2015-08-12 | 2017-02-22 | 트라이큐빅스 인크. | 휴대용 카메라를 이용한 3차원 얼굴 모델 획득 방법 및 장치 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070080967A1 (en) * | 2005-10-11 | 2007-04-12 | Animetrics Inc. | Generation of normalized 2D imagery and ID systems via 2D to 3D lifting of multifeatured objects |
| CN1831846A (zh) * | 2006-04-20 | 2006-09-13 | 上海交通大学 | 基于统计模型的人脸姿势识别方法 |
| JP4946730B2 (ja) * | 2007-08-27 | 2012-06-06 | ソニー株式会社 | 顔画像処理装置及び顔画像処理方法、並びにコンピュータ・プログラム |
| US8369625B2 (en) * | 2008-06-30 | 2013-02-05 | Korea Institute Of Oriental Medicine | Method for grouping 3D models to classify constitution |
| KR100930594B1 (ko) * | 2009-05-14 | 2009-12-09 | 한국 한의학 연구원 | 안면 영상 촬영장치 및 그의 안면 특징점 검출 방법 |
| CN101763636B (zh) * | 2009-09-23 | 2012-07-04 | 中国科学院自动化研究所 | 视频序列中的三维人脸位置和姿态跟踪的方法 |
| KR101184097B1 (ko) | 2009-12-07 | 2012-09-18 | 삼성전자주식회사 | 얼굴 정면포즈 판단 방법 |
| CN101976359A (zh) * | 2010-09-26 | 2011-02-16 | 浙江大学 | 一种三维人脸的特征点自动定位的方法 |
| US9330483B2 (en) * | 2011-04-11 | 2016-05-03 | Intel Corporation | Avatar facial expression techniques |
| JP5778522B2 (ja) * | 2011-08-23 | 2015-09-16 | 国立大学法人名古屋大学 | 画像処理装置、および画像処理プログラム |
| KR20150065445A (ko) | 2013-12-05 | 2015-06-15 | 한국전자통신연구원 | 얼굴 포즈를 이용한 정면 얼굴 검출 장치 및 방법 |
| US9477878B2 (en) * | 2014-01-28 | 2016-10-25 | Disney Enterprises, Inc. | Rigid stabilization of facial expressions |
| JP6452235B2 (ja) * | 2014-11-20 | 2019-01-16 | 国立大学法人静岡大学 | 顔検出方法、顔検出装置、及び顔検出プログラム |
| KR101660596B1 (ko) | 2014-12-05 | 2016-09-27 | 한국 한의학 연구원 | 안면 형상 기울기 보정 방법 및 보정 시스템 |
| KR101732807B1 (ko) | 2015-10-06 | 2017-05-08 | 한국 한의학 연구원 | 3차원 얼굴 비대칭 분석 장치 및 방법 |
| US20180121713A1 (en) * | 2016-10-28 | 2018-05-03 | Qualcomm Incorporated | Systems and methods for verifying a face |
| US10839481B1 (en) * | 2018-12-07 | 2020-11-17 | Bellus 3D, Inc. | Automatic marker-less alignment of digital 3D face and jaw models |
| US10949649B2 (en) * | 2019-02-22 | 2021-03-16 | Image Metrics, Ltd. | Real-time tracking of facial features in unconstrained video |
-
2017
- 2017-04-14 KR KR1020170048577A patent/KR101908851B1/ko active Active
-
2018
- 2018-02-08 WO PCT/KR2018/001678 patent/WO2018190504A1/ko not_active Ceased
- 2018-02-08 US US16/605,126 patent/US11069152B2/en active Active
- 2018-02-08 CN CN201880025110.XA patent/CN110520905B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20050084263A (ko) * | 2002-12-11 | 2005-08-26 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오 폰 이미지에서 머리 자세를 보정하기 위한 방법 및장치 |
| KR20140004604A (ko) * | 2013-10-02 | 2014-01-13 | 인텔렉추얼디스커버리 주식회사 | 3차원 얼굴 생성 장치 및 방법 |
| KR20170019779A (ko) * | 2015-08-12 | 2017-02-22 | 트라이큐빅스 인크. | 휴대용 카메라를 이용한 3차원 얼굴 모델 획득 방법 및 장치 |
| KR101692493B1 (ko) * | 2015-10-07 | 2017-01-03 | (주)에스앤 | 얼굴 사진 기반 3차원 얼굴 입체 모델 생성 장치 및 방법 |
Non-Patent Citations (1)
| Title |
|---|
| LEE, HYE-JUNG ET AL.: "A Study on Creation of 3D Facial Model Using Fitting by Edge Detection Based on Fuzzy Logic", JOURNAL OF THE KOREA INSTITUTE OF INFORMATION AND COMMUNICATION ENGINEERING, vol. 14, no. 12, 31 December 2010 (2010-12-31), pages 2681 - 2690 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111553250A (zh) * | 2020-04-25 | 2020-08-18 | 深圳德技创新实业有限公司 | 一种基于人脸特征点的精准面瘫程度评测方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11069152B2 (en) | 2021-07-20 |
| US20200160615A1 (en) | 2020-05-21 |
| CN110520905A (zh) | 2019-11-29 |
| KR101908851B1 (ko) | 2018-10-17 |
| CN110520905B (zh) | 2023-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018190504A1 (ko) | 얼굴 자세 보정 장치 및 방법 | |
| CN107292965B (zh) | 一种基于深度图像数据流的虚实遮挡处理方法 | |
| JP6985532B2 (ja) | データ処理方法及び装置、電子機器並びに記憶媒体 | |
| KR101829733B1 (ko) | 2차원 이미지를 3차원 그래픽 모델로 변환하는 방법 | |
| WO2003030086A1 (en) | Head motion estimation from four feature points | |
| JP2005339288A (ja) | 画像処理装置及びその方法 | |
| KR20110020720A (ko) | 3차원 얼굴 캡쳐링 장치 및 방법 | |
| WO2017099510A1 (ko) | 영상 통계정보에 기반한 정지장면 분할장치 및 그 방법 | |
| CN112712030B (zh) | 三维姿态信息还原方法及装置 | |
| CN111932628B (zh) | 一种位姿确定方法及装置、电子设备、存储介质 | |
| Xu et al. | OD-SLAM: Real-time localization and mapping in dynamic environment through multi-sensor fusion | |
| JP7489349B2 (ja) | 複数カメラ校正装置、方法およびプログラム | |
| WO2022154523A1 (ko) | 딥러닝 기반 3d 특징점 탐지를 통한 3차원 구강 스캔 데이터 정합 방법 및 장치 | |
| WO2018030781A1 (ko) | 3차원 데이터 정합 장치 및 방법 | |
| JP2559939B2 (ja) | 3次元情報入力装置 | |
| WO2019098421A1 (ko) | 모션 정보를 이용한 객체 복원 장치 및 이를 이용한 객체 복원 방법 | |
| WO2026023981A1 (ko) | 2d 및 3d 데이터 융합 기반의 신체 둘레 측정 방법 및 장치 | |
| WO2020004740A1 (ko) | 3차원 평면추출 방법 및 그 장치 | |
| WO2020171257A1 (ko) | 영상 처리 방법 및 그 장치 | |
| WO2018169110A1 (ko) | 3차원 객체 표현을 위한 마커리스 증강현실장치 및 방법 | |
| Zouhar et al. | Anatomically-aware, automatic, and fast registration of 3D ear impression models | |
| KR102875314B9 (ko) | 전신 통합 모션 캡쳐 방법 | |
| JP7286387B2 (ja) | 位置推定システム、位置推定装置、位置推定方法、及びプログラム | |
| CN111783501B (zh) | 活体检测方法和装置以及相应的电子设备 | |
| Fisher | Projective icp and stabilizing architectural augmented reality overlays |
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: 18784828 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18784828 Country of ref document: EP Kind code of ref document: A1 |