WO2024085535A1 - 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 - Google Patents
인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 Download PDFInfo
- Publication number
- WO2024085535A1 WO2024085535A1 PCT/KR2023/015739 KR2023015739W WO2024085535A1 WO 2024085535 A1 WO2024085535 A1 WO 2024085535A1 KR 2023015739 W KR2023015739 W KR 2023015739W WO 2024085535 A1 WO2024085535 A1 WO 2024085535A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- hair
- hairstyle
- learning
- hairstyles
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000000203 mixture Substances 0.000 title abstract 4
- 238000013473 artificial intelligence Methods 0.000 title description 5
- 239000002131 composite material Substances 0.000 claims abstract description 23
- 230000000873 masking effect Effects 0.000 claims abstract description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 52
- 238000003786 synthesis reaction Methods 0.000 claims description 52
- 238000001308 synthesis method Methods 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 8
- 230000001939 inductive effect Effects 0.000 claims description 3
- 230000003203 everyday effect Effects 0.000 claims 2
- 238000001356 surgical procedure Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 21
- 238000006243 chemical reaction Methods 0.000 abstract description 8
- 238000012549 training Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 201000004384 Alopecia Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000037308 hair color Effects 0.000 description 2
- 208000024963 hair loss Diseases 0.000 description 2
- 230000003676 hair loss Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 240000002132 Beaucarnea recurvata Species 0.000 description 1
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000002316 cosmetic surgery Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000005871 repellent Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
Definitions
- This specification relates to image conversion technology, and more specifically, to an image synthesis method that uses machine learning to obtain a new photo from a user's photo, and to generate an image with the user's hairstyle changed based on this. It is about how to match a hair designer suitable for a user.
- Image generation and conversion technology using GAN allows an artificial neural network to receive various noise inputs to create new images that do not exist previously or to convert them into images or videos with different forms or information.
- Existing deep learning technology typically involves learning a single multi-layer artificial neural network on training data, but GAN is a single generative neural network that ultimately creates fake images that are difficult to distinguish from real ones through the interaction of two artificial neural networks. will be utilized.
- the technical problem that the embodiments of the present specification aim to solve is to solve the weakness of the conventional fixed image synthesis technology in that there is a limitation in the type of synthesis, and even when applying deep learning technology such as GAN, the original image of the actual user is It solves the problem of making it difficult to obtain a desired image from a photo or losing key features or information of the original photo. Moreover, it solves the limitation that most of the existing technologies for matching users and hair designers are focused only on conditions such as schedule and cost. I want to overcome it.
- a method of synthesizing images by an image synthesis device including at least one processor involves the image synthesis device using a plurality of learning data about hairstyles (Generative Adversarial Networks) Learning a hair model of the structure; Receiving, by the image synthesis device, a hair image including a user's image and a new hairstyle; masking the user's image using a mask for the hair area, by the image synthesis device; and generating, by the image synthesis device, a composite image based on the masked image of the user and the hair image using the learned hair model.
- hairstyles Generic Adversarial Networks
- the step of learning the hair model includes generating a fake image by receiving a latent vector in a latent space by a generator; and a step where a discriminator receives the fake image and the real image and calculates a loss related to the difference, and the generator generates a fake image similar to the real image based on the loss.
- the classifier can learn to determine whether the loss is within a threshold based on the loss.
- the step of learning the hair model includes inverting semantic features of the hairstyle from an actual image including a plurality of hairstyles using an encoder.
- the method may further include generating a latent space in which similar hairstyles are distributed in adjacent spaces.
- the separator includes: a first separator that determines whether the fake image and the real image are the same face; And a second classifier that determines whether the fake image and the real image have the same hairstyle; and sending the loss calculated through each of the first classifier and the second classifier to the generator.
- the first classifier may be learned based on a plurality of face photos of the same person, and the second classifier may be learned based on a plurality of hairstyle photos of the same hairstyle.
- a method of matching a hair designer based on image synthesis by a matching system including at least one processor includes the steps of the matching system receiving an input of a user's image; The matching system sets a desired hairstyle input from the user and generates a composite image according to the hairstyle from the user's image using an image synthesis algorithm; And recommending a hair designer corresponding to the hairstyle of the synthesized image generated by the matching system, wherein the image synthesis algorithm uses a plurality of learning data about hairstyles to generate GAN (Generative Adversarial Networks).
- GAN Generic Adversarial Networks
- Learn a hair model of the structure receive a hair image including the user's image and a new hairstyle, mask the user's image using a mask for the hair area, and use the learned hair model to mask the user's image.
- a composite image is generated based on the user's image and the hair image.
- the step of recommending the hair designer may include displaying at least one hair designer candidate in consideration of at least one of the treatment fields and careers of a plurality of hair designers. there is.
- the step of recommending the hair designer includes displaying at least one of the treatment cost, treatment area, and treatment availability date of the displayed hair designer candidate, thereby establishing a relationship between the user and the hair designer candidate.
- a step of inducing a procedure reservation may be further included.
- the image synthesis algorithm uses an encoder to invert semantic features of hairstyles from real images containing multiple hairstyles to create similar A latent space in which hairstyles are distributed in adjacent spaces is created, a generator receives latent vectors in the latent space and generates a fake image, and a separator A discriminator receives the fake image and the real image and calculates a loss related to the difference, and the generator learns to generate a fake image similar to the real image based on the loss, and distinguishes the real image.
- the device may learn the hair model by learning to determine whether the loss is within a threshold based on the loss.
- the separator includes: a first separator that determines whether the fake image and the real image are the same face; And a second classifier that determines whether the fake image and the real image have the same hairstyle; and sending the loss calculated through each of the first classifier and the second classifier to the generator. It induces learning about faces and hairstyles at the same time, wherein the first classifier is learned based on multiple face photos of the same person, and the second classifier is based on multiple hairstyle photos of the same hairstyle. This can be learned.
- the following provides a computer-readable recording medium recording a program for executing the above-described image synthesis method and hair designer matching method on a computer.
- Embodiments of the present specification utilize deep learning technology to generate a synthetic image changed from a user's actual photo to a desired hairstyle, and in particular, masking of the hair area and a hair model learned for each face and hairstyle.
- deep learning technology to generate a synthetic image changed from a user's actual photo to a desired hairstyle, and in particular, masking of the hair area and a hair model learned for each face and hairstyle.
- Figure 1 is a diagram illustrating the basic idea of the image synthesis method proposed by embodiments of the present specification.
- FIG. 2 is a diagram showing the basic structure of GAN (Generative Adversarial Networks).
- Figure 3 is a diagram schematically showing the image synthesis processing process proposed by embodiments of the present specification.
- Figure 4 is a flowchart illustrating a method for compositing images according to an embodiment of the present specification.
- Figure 5 is a diagram showing the configuration of a generator and a separator for image synthesis according to an embodiment of the present specification.
- Figure 6 is a diagram for explaining a hair model learning process according to an embodiment of the present specification.
- Figure 7 is a flowchart showing a method of matching hair designers based on image synthesis according to another embodiment of the present specification.
- 8A to 12 are diagrams illustrating the processing flow of an application implementing a hair designer matching method according to another embodiment of the present specification.
- Figure 13 is a block diagram showing a hair designer matching system according to another embodiment of the present specification.
- first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms may be used for the purpose of distinguishing one component from another component.
- a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention.
- Figure 1 is a diagram illustrating the basic idea of the image synthesis method proposed by embodiments of the present specification, and the goal is to generate a composite image (C) from the original image (A) with reference to the target image (B).
- the original image (A) may be an actual photo of the user
- the target image (B) may be a photo with a different hairstyle from the original image (A).
- the finally created composite image (C) may be a photo that reflects only the features of the hairstyle included in the target image (B) of the person (user) in the original image (A).
- the user's personal characteristics will remain the same.
- FIG. 2 is a diagram showing the basic structure of GAN (Generative Adversarial Networks).
- GAN is a generative model in which two neural networks, a generator 210 that learns probability distributions and a discriminator 230 that distinguishes different sets, learn by competing with each other.
- the generator 210 creates fake examples and trains to deceive the separator as much as possible, and the separator 230 trains to distinguish between fake examples presented by the generator 210 and real examples as accurately as possible.
- GAN can generate a similar product (a fake that looks like the real thing) that is very similar to a real example through a process in which two neural networks develop against each other. There will be. Due to these characteristics, GAN is evaluated as being suitable for image generation or synthesis.
- random noise is given as an input value to the generator 210
- an image is to be synthesized using the user's actual photo
- an image of the desired form is created from the original photo. difficult to create. Therefore, random noise is not simply randomly generated image information, but it is necessary to extract certain features from the original photo and configure the input value before the generator 210 to project the features.
- Figure 3 is a diagram schematically showing the image synthesis processing process proposed by embodiments of the present specification.
- a preprocessing process may be performed in consideration of compositing performance. For example, in a situation where the original image 310 is a full-body photo, is biased toward some areas within the photo area, or is mixed with a number of other objects, only the face and hair areas are used in terms of hairstyle synthesis targeted by the present embodiments. It is desirable to crop or align it so that it is centered.
- the image is masked by receiving a pre-designed mask 330 to specify only the hair area in the image.
- the hair image 340 to be converted is input.
- the hair image 340 has a different hairstyle from the original image 310, and the target hairstyle that the user wishes to change can be input.
- Figure 4 is a flowchart illustrating a method for compositing images according to an embodiment of the present specification. From an implementation perspective, an image synthesis device including at least one processor can perform the processing defined by each step in FIG. 4 and run software containing instructions for each step through the processor. there is.
- step S410 the image synthesis device learns a hair model with a GAN (Generative Adversarial Networks) structure using a plurality of learning data about hairstyles.
- GAN Geneative Adversarial Networks
- the hair salon uniform data set can provide neat hair styles immediately after treatment in image format (extension png), Excel file (extension csv), and JSON (JavaScript Object Notation) format.
- JSON is a character-based standard format for expressing structured data using Javascript object grammar, and is used when transmitting data in web applications. Exif data is provided as json, not csv, as the schema may vary due to differences in exif tag versions. It is desirable to do so.
- the hair salon longtail data set can provide hair styles that are unlikely to be clean immediately after the procedure in image format (png extension), Excel file (extension csv), and JSON format.
- Longtail data is needed to train AI models, but this data may not be readily available.
- the word 'long tail' which has its origins in statistics, refers to a phenomenon in which a large number of events with a low probability of occurrence are distributed along one side of the statistical distribution, and the long tail has a significant impact on the design and operation of AI systems.
- Existing AI systems are particularly vulnerable to long-tail data because it is unlikely to occur and may not be included in AI training data that requires large amounts of data.
- the daily hairstyle data set is a data set that has a lot of noise because it has been more than 2 weeks since going to the hair salon and the style cannot be immediately distinguished at a glance and the background and lighting of the photo are varied.
- the data set is in image format (extension png) and Excel file ( extension csv) and can be provided in JSON format.
- the special hairstyle data set is provided in image format (png extension), Excel file (extension csv), and JSON format for hairstyles that are not performed in beauty salons but are maintained by many people (tied hair, hair loss, very long hair, etc.) can do.
- the most important thing to consider when designing a dataset is data balance. It should be designed so that data is distributed evenly according to appropriate classification criteria to minimize data bias that can be expected during learning. In these embodiments, the data set was constructed so that both trends and uniform distribution could be achieved simultaneously by including data on the long tail of hairstyles that are actually frequently ordered.
- the new collected data which are hairstyle images collected in this example, were collected by hair shops and hair designers, which are the application areas of the technology, by taking pictures of customers before and after treatment, and have the same schema as the existing data (Korean hairstyle images). Information was maintained.
- An example of the file structure for newly collected data is as follows.
- the "Annotation.csv” file may have the structure shown in Table 2 below.
- Annotation refers to the process of adding each metadata, such as an object or image category used to describe the original data, to the dataset in the form of a 'tag'. In other words, it corresponds to the task of annotating source data so that artificial intelligence can understand the contents of the data.
- Explanatory information data can express various forms and explanatory information depending on the functional purpose. Here, it is in csv format and includes hairstyle name, hairstyle type, hair length, hair color, bangs, degree of hair loss, side hairstyle, age, and frontal representative 2D. Shot, left and right angle, top and bottom angle, color, parting type, gender, special hairstyle classification, segment rgb average, etc. can be provided in csv format.
- the "Meta-Annotation.csv” file may have the structure shown in Table 3 below.
- Metadata is structured data about data, that is, data that explains other data, and is data given to content according to certain rules in order to efficiently find and use the information you are looking for among a large amount of information. Metadata refers to information that follows data to analyze and classify structured information and add additional information. In terms of data, this involves labeling to explain the data. Labeling is the addition of object information, that is, metadata, when recognizing an object in an image, such as the path to the picture file for the hairstyle, shooting set, photographer, shooting date, hair-face segment coordinates, resolution, shooting equipment, etc. can be provided in csv format.
- the "optional-Annotation.csv” file may have the structure shown in Table 4 below.
- Optional annotation is data that provides additional explanation about hair, and can provide information such as shooting set, hair thickness, water-repellent hair, natural curliness, degree of damage, etc. in CSV format.
- the "exifData.csv” file may have a structure as shown in Table 5 below.
- Table 5 can provide the path where the data is stored in csv format.
- embodiments of the present specification preserve semantic knowledge, which is a feature of the target image, while projecting it to an image to be generated from an actual photo.
- An inversion process was introduced to generate noise reflecting the characteristics.
- the encoder can perform various functions, such as generating a latent vector that reflects the characteristics of the image, converting the pose and expression of the image, or interpolating two images to create an averaged image.
- the goal is to derive a latent vector focusing on features related to hairstyles.
- FIG. 5 is a diagram illustrating the configuration of a generator and a separator for image synthesis according to an embodiment of the present specification, and presents the process (S410) of learning the hair model of FIG. 4 in more detail.
- the generator 510 receives a latent vector in a latent space and generates a fake image. Additionally, discriminators 531 and 533 receive the fake image and the real image and calculate a loss regarding the difference. The generator 510 learns to generate a fake image similar to a real image based on the loss, and the classifiers 531 and 533 learn to determine whether the loss is within a threshold based on the loss.
- embodiments of the present specification include at least two separators 531 and 533.
- the classifier simply determines how similar the synthesized fake photo is to the real thing.
- the classifier is divided into two types: one determines whether the face (person) in the predicted photo is the same as the current user's face, and the other determines whether the hairstyle in the predicted photo is the same as the target hairstyle. It was configured to do so.
- the first separator 531 determines whether the fake image and the real image are the same face
- the second separator 533 determines whether the fake image and the real image are the same face. It plays the role of determining whether the fake image and the real image have the same hairstyle. Then, the loss calculated through each of the first classifier 531 and the second classifier 533 is provided to the generator 510 to simultaneously induce learning about the face and hairstyle.
- the first classifier 531 since the first classifier 531 must be learned based on a plurality of face photos of the same person, multiple photos of the same person (e.g., person 1_photo 1, person 1_photo 2, Person 2_Photo 1, Person 2_Photo 2, ...) can be input as a learning dataset.
- the second classifier 533 since the second classifier 533 must be learned based on a plurality of hairstyle photos for the same hairstyle, multiple photos for the same hairstyle (e.g., target hair 1_photo 1, target hair 1_Photo 2, Same Hair 2_Photo 1, Same Hair 2_Photo 2, ...) can be input as a learning dataset.
- the training data needed for the image synthesis device to learn the hair model in step S410 of FIG. 4 described above requires not only images of the hairstyle but also images of the face.
- the learning data may include image data including a face area for face learning, image data including a hair area for hairstyle learning, and data in which the hair area is masked.
- Figure 6 is a diagram for explaining the hair model learning process according to an embodiment of the present specification, showing learning using an encoder 610 and a decoder 630.
- an encoded feature is output.
- the photo input at this time must be pre-processed as a photo of the hairstyle before it can be used to learn a hair model for the target hairstyle.
- the decoder 630 receives the corresponding features and operates to infer the original photo again.
- the encoded features of photos with similar hairstyles are learned as adjacent points in the latent space.
- the encoded features are learned as adjacent points in the latent space. The result appears to be far from within.
- the process of learning a hair model is to invert semantic features of hairstyles from real images containing multiple hairstyles using the encoder 610, so that similar hairstyles are placed in adjacent spaces.
- a distributed latent space can be created.
- the encoded feature contains information about the hairstyle, so for convenience of implementation, it is equivalent to the GAN generator. It is okay to provide only features.
- step S430 the image synthesis device receives a hair image including the user's image and a new hairstyle.
- the user's image may be an actual photo in which various characteristics of the user's appearance are hoped to be preserved.
- step S450 the image synthesis device masks the user's image using a mask for the hair area.
- the domain of transformation is controlled to change only the hairstyle while preserving various features of the user's appearance in the actual photo.
- the image synthesis device generates a composite image based on the masked user's image and the hair image using the learned hair model.
- the previously learned hair model includes one generator and two classifiers, and in particular, the learning of the generator was simultaneously induced through the first classifier that determines whether the face is identical and the second classifier that determines whether the hairstyle is identical. Therefore, the synthetic image generated by the hair model proposed in this embodiment preserves the features in the original image (the user's actual photo) while retaining features other than the target hairstyle (e.g., skin color or makeup). You can obtain naturally reflected results.
- FIG. 7 is a flowchart showing a method of matching hair designers based on image synthesis according to another embodiment of the present specification. From an implementation perspective, a matching system including at least one processor can perform the processing defined by each step in FIG. 7, and software containing instructions for each step can be driven through the processor. . Since the processing process for image synthesis has been described in detail in FIGS. 4 to 6, only the outline will be outlined here to avoid duplication of explanation.
- step S710 the matching system receives the user's image.
- a user who wishes to change his/her hairstyle can provide the user's image to the matching system by taking an actual photo of himself/herself.
- step S730 the matching system previously learns a hair model used in the image synthesis algorithm.
- the matching system may only receive results (hair models) learned through another physically separate device.
- the matching system sets the desired hairstyle input from the user and generates a composite image according to the hairstyle from the user's image using an image synthesis algorithm.
- the image synthesis algorithm learns a hair model with a GAN (Generative Adversarial Networks) structure using a large number of learning data about hairstyles, receives hair images including the user's image and a new hairstyle, and receives hair images including the user's image and a new hairstyle.
- the user's image can be masked using a mask for the area, and a composite image based on the masked user's image and the hair image can be generated using the learned hair model.
- the image synthesis algorithm uses an encoder to invert semantic features of hairstyles from real images containing multiple hairstyles, thereby creating a latent space where similar hairstyles are distributed in adjacent spaces.
- (latent space) is generated
- a generator receives a latent vector in the latent space and generates a fake image
- a discriminator uses the fake image and the real ( real) image is input and a loss related to the difference is calculated
- the generator learns to generate a fake image similar to the real image based on the loss
- the separator is based on the loss and the loss is a threshold.
- the hair model can be learned by learning to determine whether it is within a value.
- the classifier includes a first classifier that determines whether the fake image and the real image have the same face, and a second classifier that determines whether the fake image and the real image have the same hairstyle. It includes a classifier, and the loss calculated through each of the first classifier and the second classifier is provided to the generator to simultaneously induce learning about the face and hairstyle, and the first classifier divides multiple signals for the same person. It is preferable that the learning is based on a photo of a dog's face, and the second classifier is learned based on a plurality of hairstyle photos of the same hairstyle.
- the matching system recommends a hair designer corresponding to the hairstyle of the composite image created through step S750.
- the matching system can be implemented as a collaborative platform that connects users with hair designers working in hair salons or hair salons.
- multiple hair designers can be registered in the matching system, and a hair designer that meets the user's needs can be recommended through the hair designer's treatment items and various treatment conditions.
- a user selects a recommended hair designer, it is possible to provide a convenience function that allows treatment reservations and payments to be processed within one platform.
- At least one hair designer candidate may be displayed by considering at least one of the treatment fields and careers of a plurality of hair designers. Furthermore, a treatment reservation between the user and the hair designer candidate may be induced by displaying at least one of the hair designer candidate's treatment cost, treatment area, and treatment availability date.
- 8A to 12 are diagrams illustrating the processing flow of an application implementing a hair designer matching method according to another embodiment of the present specification.
- Figures 8a and 8b illustrate the user interface of the matching application.
- the user takes an actual photo of himself and presents it on the screen so that he can select various items he wants to change from his current hairstyle. For example, hair length, wave, hair type, hair color, etc. may be presented as selection items.
- the user retrieves his or her own photo from a storage device (e.g., a smartphone), retrieves a photo of another person (e.g., a celebrity), and presents it as the target photo. You can then select Predict Results to see the composite image created from your photo and the target photo. This will be an image that predicts the results of receiving hair styling treatment.
- a storage device e.g., a smartphone
- a photo of another person e.g., a celebrity
- You can then select Predict Results to see the composite image created from your photo and the target photo. This will be an image that predicts the results of receiving hair styling treatment.
- FIG. 9 shows that a composite image is displayed on the screen according to the item previously selected through the user interface of FIG. 8A or FIG. 8B.
- the composite image of FIG. 9 preserves all the characteristics of the same person, while the image with different hair length and wave is expressed very naturally.
- the user can proceed with the matching service of the matching system (platform) by selecting the designer search button on the screen of FIG. 9.
- hair designers that can be matched according to the user's conditions are displayed. These hair designers are hair designers who can perform procedures on previously created synthetic images, and can show results with additional search conditions added as needed. For example, only filtered results can be shown based on additional conditions such as career range or popularity according to the user's wishes. At this time, the user can select one hair designer and proceed to the detailed screen.
- Figure 11 shows services available to the selected hair designer.
- the user can select at least one of the services that the hair designer can provide and proceed to the reservation screen in FIG. 12.
- Figure 12 shows the available treatment time of the selected hair designer. If necessary, as shown in the example, various hair designers previously searched for can be displayed on one screen to encourage the user to make different choices. Now, the user can complete the reservation by specifying the available time for the procedure. If necessary, you may be able to proceed to the payment screen and provide various options for advance payment.
- Figure 13 is a block diagram showing a hair designer matching system according to another embodiment of the present specification, and is a reconstruction of the matching method of Figure 7 from the perspective of hardware configuration.
- the hair designer 10 can be a terminal owned by the hair designer or a reservation terminal at a hair shop, and is connected to the matching system 30 through a network.
- the user 20 is connected to the matching system 30 through a network using the user's terminal or PC.
- the matching system 30 is provided with a communication unit 31 to connect with the hair designer 10 and the user 20 through a network, and serves as an intermediary for the user's hair salon matching and reservation.
- the matching system 30 may receive a matching request from the user 20 and load or store matching software including instructions that define a series of processing steps to process the request in the memory 33. and a processor 32 that executes matching software loaded or stored therein.
- the matching software receives the user's image, sets the desired hairstyle input from the user 20, generates a composite image according to the hairstyle from the user's image using an image synthesis algorithm, and generates a composite image according to the hairstyle from the user's image. It includes a command for recommending a hair designer 10 in response to the hairstyle of the composite image.
- the image synthesis algorithm learns a hair model with a GAN (Generative Adversarial Networks) structure using a large number of learning data about hairstyles, receives hair images including the user's image and a new hairstyle, and inputs hair regions. It is defined to mask the user's image using a mask for and to generate a composite image based on the user's image and the hair image masked using the learned hair model.
- GAN Geneative Adversarial Networks
- the matching system proposed in Figure 13 can accumulate personalized data using photo data obtained from customers, and also accumulates a large amount of learning data about hairstyles using photos of treatment results input by hair designers. can do. In this case, designers can achieve their goal of being exposed to customers by actively providing the results of their procedures to the matching system for marketing purposes, and from the matching system's perspective, it can be an opportunity to obtain quality learning data. there is.
- Computer-readable recording media include all types of recording devices that store data that can be read by a computer system.
- Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, the computer-readable recording medium can be distributed across computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing embodiments can be easily deduced by programmers in the technical field to which this specification pertains.
- deep learning technology can be used to generate a synthetic image changed from the user's actual photo to a desired hairstyle, and in particular, masking of the hair area, face, and hairstyle can be performed.
- a learned hair model you can preserve your unique appearance characteristics while changing your hairstyle.
- image synthesis technology to a platform that connects users and hair designers, you can create hair designers based on the user's changed hairstyle. Matching can be induced.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Marketing (AREA)
- Evolutionary Computation (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Educational Administration (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Game Theory and Decision Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
본 명세서는 이미지 변환 기술에 관한 것으로, 이미지 합성 장치가 이미지를 합성하는 방법은, 헤어스타일에 관한 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하고, 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받고, 헤어 영역에 대한 마스크를 이용하여 사용자의 이미지를 마스킹하며, 학습된 헤어 모델을 이용하여 마스킹된 사용자의 이미지 및 헤어 이미지에 기초한 합성 이미지를 생성한다.
Description
본 명세서는 이미지 변환 기술에 관한 것으로, 보다 상세하게는 기계학습(machine learning)을 이용하여 사용자의 사진으로부터 새로운 사진을 획득하는 이미지 합성 방법 및 이에 기반하여 사용자의 헤어스타일을 변화시킨 이미지를 생성하고 사용자에게 적합한 헤어디자이너를 매칭하는 하는 방법에 관한 것이다.
원본 이미지를 이용하여 새로운 이미지를 생성하기 위한 다양한 이미지 변환 및 합성 기술이 존재한다. 원본 및 새로운 이미지가 어떠한 데이터인지 또는 변환하고자 하는 목적 내지 변환의 정도에 따라 선택되는 기술의 유형 또한 달라질 수 있다. 최근에는 인공지능 기술의 발전에 따라 이미지 변환 및 합성에도 이러한 인공지능 기술이 활용되고 있으며, 이하의 선행기술문헌을 통해 제시된 GAN(Generative Adversarial Networks)이나 오토인코더(Autoencoder) 등이 대표적인 수단으로서 제시되고 있다.
"Generative Adversarial Networks", Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, 2014.
GAN을 활용한 이미지 생성 및 변환 기술은 인공 신경망이 다양한 노이즈 입력을 받아 기존에 존재하지 않는 새로운 이미지를 생성하거나 다른 형태나 정보를 지닌 이미지 또는 비디오로 변환할 수 있다. 기존의 딥러닝 기술은 학습 데이터에 대해 다층의 인공 신경망 1개를 학습하는 것이 일반적이었지만, GAN은 2개의 인공 신경망의 상호작용을 통해 최종적으로 진짜인지 구분하기 힘든 가짜 이미지를 생성하는 1개의 생성 신경망을 활용하게 된다.
한편, 현재 출시된 대부분의 이미지 합성 서비스는 미리 선정된 고정 헤어스타일의 유형에 대해서만 합성이 가능하므로 실제와 유사한 스타일 이미지를 도출하는 데에는 한계가 존재하였다. 비록 GAN 모델을 사용하여 이미지를 합성할 경우 상대적으로 더욱 자연스럽고 뛰어난 결과를 도출할 수 있다는 연구 사례들이 존재하나, 실제 사람을 대상으로 하는 실용 서비스의 수준에는 이르지 못하고 있다.
본 명세서의 실시예들이 해결하고자 하는 기술적 과제는, 종래의 고정된 방식의 이미지 합성 기술이 합성 유형에 제한이 존재하는 약점을 해소하고, GAN 등의 딥러닝 기술을 적용하는 경우에도 실제 사용자의 원본 사진으로부터 원하는 형태의 이미지를 얻기 어렵거나 원본 사진의 주요한 특징이나 정보를 잃어버리는 문제를 해결하며, 나아가 종래의 사용자와 헤어디자이너를 매칭하는 기술이 대부분 일정이나 비용 등의 조건에만 집중되어 있다는 한계를 극복하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 명세서의 일 실시예에 따른 적어도 하나의 프로세서를 포함하는 이미지 합성 장치가 이미지를 합성하는 방법은, 이미지 합성 장치가 헤어스타일에 관한 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하는 단계; 상기 이미지 합성 장치가 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받는 단계; 상기 이미지 합성 장치가 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹하는 단계; 및 상기 이미지 합성 장치가 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성하는 단계;를 포함한다.
일 실시예에 따른 이미지 합성 방법에서, 상기 헤어 모델을 학습하는 단계는, 생성기(generator)가 잠재 공간(latent space) 내의 잠재 벡터(latent vector)를 입력받아 가짜(fake) 이미지를 생성하는 단계; 및 구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이에 관한 손실(loss)을 산출하는 단계를 포함하며, 상기 생성기는 상기 손실에 기초하여 진짜 이미지와 유사한 가짜 이미지를 생성하도록 학습하고, 상기 구분기는 상기 손실에 기초하여 상기 손실이 임계값 이내인지 여부를 판별하도록 학습할 수 있다.
일 실시예에 따른 이미지 합성 방법에서, 상기 헤어 모델을 학습하는 단계는, 인코더(encoder)를 이용하여 다수의 헤어스타일을 포함하는 실제 이미지로부터 헤어스타일의 시맨틱(semantic) 특징을 인버전(inversion)함으로써 유사한 헤어스타일이 인접한 공간에 분포되는 잠재 공간(latent space)을 생성하는 단계;를 더 포함할 수 있다.
일 실시예에 따른 이미지 합성 방법에서, 상기 구분기는, 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 얼굴인지 여부를 판단하는 제 1 구분기; 및 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 헤어스타일인지 여부를 판단하는 제 2 구분기;를 포함하고, 상기 제 1 구분기 및 상기 제 2 구분기 각각을 통해 산출된 손실을 상기 생성기에 제공하여 얼굴 및 헤어스타일에 대한 학습을 동시에 유도할 수 있다. 또한, 상기 제 1 구분기는 동일한 사람에 대한 복수 개의 얼굴 사진에 기반하여 학습되고, 상기 제 2 구분기는 동일한 헤어스타일에 대한 복수 개의 헤어스타일 사진에 기반하여 학습될 수 있다.
상기 기술적 과제를 해결하기 위하여, 본 명세서의 다른 실시예에 따른 적어도 하나의 프로세서를 포함하는 매칭 시스템이 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법은, 매칭 시스템이 사용자의 이미지를 입력받는 단계; 상기 매칭 시스템이 사용자로부터 입력된 희망 헤어스타일을 설정하고, 이미지 합성 알고리즘을 이용하여 상기 사용자의 이미지로부터 상기 헤어스타일에 따른 합성 이미지를 생성하는 단계; 및 상기 매칭 시스템이 생성된 상기 합성 이미지의 헤어스타일에 대응하여 헤어디자이너를 추천하는 단계;를 포함하고, 상기 이미지 합성 알고리즘은, 헤어스타일에 관한 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하고, 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받고, 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹하며, 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성한다.
다른 실시예에 따른 헤어디자이너 매칭 방법에서, 상기 헤어디자이너를 추천하는 단계는, 복수의 헤어디자이너의 시술 분야 및 경력 중 적어도 하나를 고려하여 헤어디자이너 후보를 적어도 하나 이상 표시하는 단계;를 포함할 수 있다.
다른 실시예에 따른 헤어디자이너 매칭 방법에서, 상기 헤어디자이너를 추천하는 단계는, 표시된 상기 헤어디자이너 후보의 시술 비용, 시술 지역 및 시술 가능 일시 중 적어도 하나를 함께 표시함으로써 상기 사용자와 상기 헤어디자이너 후보 간의 시술 예약을 유도하는 단계;를 더 포함할 수 있다.
다른 실시예에 따른 헤어디자이너 매칭 방법에서, 상기 이미지 합성 알고리즘은, 인코더(encoder)를 이용하여 다수의 헤어스타일을 포함하는 실제 이미지로부터 헤어스타일의 시맨틱(semantic) 특징을 인버전(inversion)함으로써 유사한 헤어스타일이 인접한 공간에 분포되는 잠재 공간(latent space)을 생성하고, 생성기(generator)가 잠재 공간(latent space) 내의 잠재 벡터(latent vector)를 입력받아 가짜(fake) 이미지를 생성하고, 구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이에 관한 손실(loss)을 산출하며, 상기 생성기는 상기 손실에 기초하여 진짜 이미지와 유사한 가짜 이미지를 생성하도록 학습하고, 상기 구분기는 상기 손실에 기초하여 상기 손실이 임계값 이내인지 여부를 판별하도록 학습함으로써, 상기 헤어 모델을 학습할 수 있다.
다른 실시예에 따른 헤어디자이너 매칭 방법에서, 상기 구분기는, 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 얼굴인지 여부를 판단하는 제 1 구분기; 및 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 헤어스타일인지 여부를 판단하는 제 2 구분기;를 포함하고, 상기 제 1 구분기 및 상기 제 2 구분기 각각을 통해 산출된 손실을 상기 생성기에 제공하여 얼굴 및 헤어스타일에 대한 학습을 동시에 유도하며, 상기 제 1 구분기는 동일한 사람에 대한 복수 개의 얼굴 사진에 기반하여 학습되고, 상기 제 2 구분기는 동일한 헤어스타일에 대한 복수 개의 헤어스타일 사진에 기반하여 학습될 수 있다.
한편, 이하에서는 상기 기재된 이미지 합성 방법 및 헤어디자이너 매칭 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 명세서의 실시예들은, 딥러닝 기술을 활용하여 사용자의 실제 사진으로부터 희망하는 헤어스타일로 변화된 합성 이미지를 생성할 수 있고, 특히 헤어 영역에 대한 마스킹, 얼굴 및 헤어스타일 각각에 대해 학습된 헤어 모델을 제공함으로서 자신의 고유의 외모 특징이 보존되면서도 헤어스타일만의 변화를 얻을 수 있으며, 사용자와 헤어디자이너를 연결하는 플랫폼에 이미지 합성 기술을 도입함으로써 사용자의 변화된 헤어스타일에 기반한 헤어디자이너 매칭을 유도할 수 있다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
도 1은 본 명세서의 실시예들이 제안하는 이미지 합성 방법의 기본 아이디어를 도시한 도면이다.
도 2는 GAN(Generative Adversarial Networks)의 기본 구조를 도시한 도면이다.
도 3은 본 명세서의 실시예들이 제안하는 이미지 합성의 처리 과정을 개괄적으로 도시한 도면이다.
도 4는 본 명세서의 일 실시예에 따른 이미지를 합성하는 방법을 도시한 흐름도이다.
도 5는 본 명세서의 일 실시예에 따른 이미지 합성을 위한 생성기와 구분기의 구성을 도시한 도면이다.
도 6은 본 명세서의 일 실시예에 따른 헤어 모델 학습 과정을 설명하기 위한 도면이다.
도 7은 본 명세서의 다른 실시예에 따른 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법을 도시한 흐름도이다.
도 8a 내지 도 12는 본 명세서의 다른 실시예에 따른 헤어디자이너 매칭 방법을 구현한 애플리케이션의 처리 흐름을 예시한 도면이다.
도 13은 본 명세서의 다른 실시예에 따른 헤어디자이너 매칭 시스템을 도시한 블록도이다.
<부호의 설명>
10: 헤어디자이너 (헤어디자이너 단말)
20: 사용자 (사용자 단말)
30: 매칭 시스템
31: 통신부
32: 프로세서
33: 메모리
이하에서는 도면을 참조하여 본 명세서의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 실시예들의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 덧붙여, 명세서 전체에서, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 명세서를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
특별히 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 명세서의 실시예들이 제안하는 이미지 합성 방법의 기본 아이디어를 도시한 도면으로, 원본 이미지(A)로부터 대상 이미지(B)를 참조하여 합성 이미지(C)를 생성하는 것을 목표로 한다. 이때, 원본 이미지(A)는 사용자의 실제 사진이 될 수 있고, 대상 이미지(B)는 원본 이미지(A)와는 헤어스타일이 상이한 사진이 될 수 있다. 최종적으로 생성되는 합성 이미지(C)는 원본 이미지(A)의 인물(사용자)에서 대상 이미지(B) 내에 포함된 헤어스타일의 특징만이 반영된 사진이 될 수 있다. 이를 위해, 원본 이미지(A) 내의 헤어스타일에 대한 정보를 대상 이미지(B) 내의 헤어스타일에 대한 정보로 대체하는 작업이 필요하며, 이러한 헤어스타일의 변경에도 불구하고 자연스러운 이미지 합성을 위해 원본 이미지(A) 내의 사용자의 개인 특징은 그대로 유지되어야 할 것이다.
도 2는 GAN(Generative Adversarial Networks)의 기본 구조를 도시한 도면이다. GAN은 확률 분포를 학습하는 생성기(Generator)(210)와 서로 다른 집합을 구분하는 구분기(Discriminator)(230)의 신경망 2개가 서로 경쟁하면서 학습하는 생성 모델이다. 생성기(210)는 가짜 예제를 만들어 구분기를 최대한 속일 수 있도록 훈련하고, 구분기(230)는 생성기(210)가 제시하는 가짜 예제와 실제 예제를 최대한 정확하게 구분할 수 있도록 훈련한다. 이와 같이 구분기(230)를 속일 수 있도록 대립적으로 생성기(210)를 훈련함으로써, GAN은 2개의 신경망이 서로 대립적으로 발전하는 과정을 통해 실제 예제와 매우 비슷한 유사품(실제 같은 가짜)을 생성할 수 있게 된다. 이러한 특징으로 인해, GAN은 이미지 생성 내지 합성에 적합하다는 평가를 받고 있다.
그런데, GAN을 활용한 이미지 합성 기술에 있어서, 몇 가지 문제점이 발견되었다.
첫째, 도 2에 예시된 바와 같이, 생성기(210)에 입력되는 입력값으로 랜덤 노이즈(random noise)가 주어진다면, 사용자의 실제 사진을 이용하여 이미지를 합성하고자 하는 경우 원본 사진으로부터 원하는 형태의 이미지를 생성하기 어렵다. 따라서, 랜덤 노이즈는 단순히 임의로 생성된 이미지 정보가 아니라 원본 사진으로부터 어떠한 특징을 추출하여 해당 특징을 투영하도록 생성기(210) 이전에 입력값을 구성할 필요가 있다.
둘째, 이미지 내에 포함된 전반적인 특성을 모두 가져온다는 단점이 발견되었다. 예를 들어, 도 1에서 제시한 목표를 고려할 때, 헤어스타일만을 변형시키고자 의도하였으나 피부 톤, 화장, 얼굴의 다른 특징 등도 합성 이미지 내에 반영되어 원본의 얼굴과 다소 차이가 존재하는 합성 이미지가 생성되는 문제가 나타났다. 결과적으로 사용자가 자신의 얼굴이라고 느껴지지 않는 불필요한 특징이 섞여 이미지를 변형시키는 약점을 보완하여야 할 필요가 있다.
셋째, 이미지 합성시 대상(target) 이미지의 비율에 따라 컨텍스트(context) 이미지의 특징(예를 들어, 헤어스타일)을 유지하지 못하는 문제점이 나타났다. 즉, 합성에 개입하는 이미지 내의 특징 부분을 목적에 따라 적절히 통제할 필요가 있다.
상기된 문제점 인식으로부터 안출된 본 명세서의 실시예들은, 사용자의 실제 사진을 입력값으로 사용하되, 대상 이미지의 특징을 보존하면서도, 이미지 내에 포함된 다양한 영역의 특징들 중에서 변화시키고자 의도한 특징만에 집중하여 합성을 수행할 수 있는 기술적 수단을 제안한다.
도 3은 본 명세서의 실시예들이 제안하는 이미지 합성의 처리 과정을 개괄적으로 도시한 도면이다.
사용자의 실제 사진을 촬영한 원본 이미지(310)가 입력되면, 합성 성능을 고려하여 전처리 과정(크롭핑(cropping)(320) 내지 정렬(align) 과정)이 수행될 수 있다. 예를 들어, 원본 이미지(310)가 전신 사진이거나 사진 영역 내에 일부 영역에 치우쳐 있거나 다수의 다른 객체와 혼재되어 있는 상황에서, 본 실시예들이 목표로 하는 헤어스타일 합성의 관점에서 얼굴 및 헤어 영역만을 중앙에 오도록 크롭핑 내지 정렬하는 것이 바람직하다.
그런 다음, 이미지 내에서 헤어 영역만을 특정하도록 미리 설계된 마스크(330)를 입력받아 이미지를 마스킹 처리한다. 이와 더불어 변환하고자 하는 헤어 이미지(340)를 입력받는다. 이때, 헤어 이미지(340)는 원본 이미지(310)와는 헤어스타일이 상이한 것으로서 사용자가 변화시키고자 하는 목표 헤어스타일이 입력될 수 있다.
이제 마스킹 처리된 이미지와 변화시키고자 하는 헤어 이미지(340)로부터 미리 학습된 헤어 모델(350)에 기반한 합성 이미지(360)를 생성하여 출력할 수 있다. 여기서, 딥러닝 모델을 어떻게 학습시키고 이미지 합성에 활용할 것인지에 관하여는 이후 도 5 내지 도 6을 통해 구체적으로 기술하도록 한다.
도 4는 본 명세서의 일 실시예에 따른 이미지를 합성하는 방법을 도시한 흐름도이다. 구현의 관점에서, 적어도 하나의 프로세서를 포함하는 이미지 합성 장치가 도 4의 각 단계들이 정의하고 있는 처리 과정을 수행할 수 있으며, 각 단계에 따른 명령어가 포함된 소프트웨어를 상기 프로세서를 통해 구동할 수 있다.
S410 단계에서, 이미지 합성 장치는 헤어스타일에 관한 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습한다.
우선, 헤어 모델 학습을 위한 학습 데이터로서 한국인의 헤어스타일 이미지인 기존 데이터를 수집하였다. 본 실시예의 구현 과정에서는, 미용 시술 직후 사진 44만장, 묶은머리/올림머리 사진 1만장, 그리고 평소 스타일 사진 5만장의 총 50만장의 사진이 사용되었다. 이들 사진은 동일한 기준으로 라벨링 및 세그멘테이션 되어 있어 하나의 데이터셋(data-set)처럼 이용하거나, 서비스의 목적에 맞게 사용이 가능하다. 모든 데이터셋은 augmentation을 통해 100% 증강되었다. 특정한 작업을 수행하기 위해 데이터를 관련성 있게 수집해 놓은 데이터셋의 중요성은 아무리 강조해도 지나치지 않다. 특히, 데이터셋을 구성하는 개별 데이터 유형, 해당 유형의 데이터 형식, 데이터의 품질은 인공지능 학습 내지 예측 성능에 큰 영향을 끼치므로, 이하에서는 본 실시예들에서 제안하는 데이터셋에 관해 구체적으로 제시한다.
표 1의 데이터 종류를 순차적으로 설명하면 각각 다음과 같다.
1) 미용실 uniform 데이터 셋은 시술 직후 깔끔한 머리스타일을 이미지 형식(확장자 png), 엑셀파일(확장자 csv), JSON(JavaScript Object Notation)형식으로 제공할 수 있다. JSON은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷으로, 웹 애플리케이션에서 데이터를 전송할 때 사용하며, exif data는 exif tag 버전 차이로 인해 스키마가 달라질 수 있으므로 csv가 아닌 json으로 제공하는 것이 바람직하다.
2) 미용실 longtail 데이터 셋은 시술 직후 깔끔한 시술 가능성이 낮은 머리 스타일을 이미지 형식(확장자 png), 엑셀파일(확장자 csv), JSON 형식으로 제공할 수 있다. 롱테일(longtail) 데이터는 AI 모델을 훈련하는데 필요하지만 이 데이터를 쉽게 이용할 수 없을 수도 있다. 통계학에 근원을 둔 '롱테일'이란 단어는 발생 가능성이 낮은 다수의 사건들이 통계 분포의 한쪽에 길게 분포돼 있는 현상을 말하며, 롱테일은 AI 시스템의 설계와 운영에도 큰 영향을 미친다. 현존 AI 시스템은 롱테일 데이터에 특히 취약한데, 이는 발생 가능성이 낮아 대량의 데이터를 필요로 하는 AI 학습 데이터에 포함되어 있지 않을 수 있기 때문이다.
3) 일상 헤어스타일 데이터 셋은 미용실에 간지 2주일 이상 지나 스타일이 한눈에 즉시 구분되지 않고 사진의 배경과 조명이 다양하여 노이즈(noise)가 많은 데이터셋을 이미지 형식(확장자 png), 엑셀파일(확장자 csv), JSON 형식으로 제공할 수 있다.
4) 특수 헤어스타일 데이터 셋은 미용실에서 시술되지 않으나 많은 사람들이 유지하는 헤어 스타일(묶은 머리, 탈모, 매우 긴 장발 등)의 이미지 형식(확장자 png), 엑셀파일(확장자 csv), JSON 형식으로 제공할 수 있다.
데이터셋을 설계할 때 가장 중요하게 고려해야 하는 점이 데이터 밸런스이다. 적절한 분류 기준에 따라 골고루 데이터가 분포되도록 설계하여 학습시 예상할 수 있는 데이터 편향성을 최소화하도록 해야 한다. 본 실시예들에서는 실제 주문이 많은 헤어스타일이 롱테일(longtail)되는 부분의 데이터를 함께 갖추어 트렌드와 균등 분포 두 가지를 동시에 달성할 수 있도록 데이터셋을 구성하였다.
또한, 본 실시예에서 수집되는 헤어스타일 이미지인 신규 수집 데이터는 기술의 적용 영역인 헤어샵 및 헤어디자이너들이 고객 시술 전/후 사진을 촬영하여 수집하였으며, 기존 데이터(한국인 헤어스타일 이미지)와 동일 스키마 정보를 유지하였다. 신규 수집 데이터에 관한 파일 구조를 예시하면 다음과 같다.
"Annotation.csv" 파일은 다음의 표 2와 같은 구조를 가질 수 있다.
어노테이션(annotation)은 원본 데이터를 설명하기 위해 사용되는 오브젝트 또는 이미지 카테고리와 같은 각각의 메타 데이터를 '태그' 형식으로 데이터셋에 추가하는 작업을 말한다. 즉, 인공지능이 데이터의 내용을 이해할 수 있도록 원천 데이터에 주석을 표시하는 작업에 해당한다. 설명 정보 데이터는 기능 목적에 따라 다양한 형태와 설명 정보를 표현해 줄 수 있고, 여기서는 csv 형식으로 헤어스타일명, 헤어스타일 타입, 머리길이 헤어컬러, 앞머리, 탈모정도, 옆머리스타일, 나이, 정면대표2D샷, 좌우각도, 상하각도, 칼라, 가르마종류, 성별, 특수헤어스타일구분, Segment rgb 평균 등을 csv 형식으로 제공할 수 있다.
"Meta-Annotation.csv" 파일은 다음의 표 3과 같은 구조를 가질 수 있다.
메타데이터는 데이터에 관한 구조화된 데이터, 즉, 다른 데이터를 설명해 주는 데이터로서, 대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 콘텐츠에 대하여 부여되는 데이터이다. 메타데이터는 어떠한 데이터, 즉 구조화된 정보를 분석, 분류하고 부가적 정보를 추가하기 위해 그 데이터 뒤에 함께 따라가는 정보를 말한다. 데이터 측면 에서는 데이터에 대한 설명을 위해 레이블링(labeling) 하는 것이 이에 해당한다. 레이블링이란 이미지에서 객체 인식 시에 객체의 정보, 즉, 메타데이터를 추가해 주는 것으로, 헤어스타일에 대한 그림 파일에 대한 경로, 촬영set, 촬영자, 촬영날짜, 헤어-얼굴 segment 좌표, 해상도, 촬영장비 등을 csv 형식으로 제공할 수 있다.
"optional-Annotation.csv" 파일은 다음의 표 4와 같은 구조를 가질 수 있다.
옵셔널(optional) 어노테이션은 모발에 관한 추가적인 설명을 제공하는 데이터로서, 촬영set, 모발굵기, 발수성 모발, 천영곱슬여부, 손상도 등을 csv 형식으로 제공할 수 있다.
"exifData.csv" 파일은 다음의 표 5와 같은 구조를 가질 수 있다.
표 5는 데이터가 저장되어 있는 경로를 csv 형식으로 제공할 수 있다.
앞서 지적한 바와 같이, 이미지 합성시 세부 특징을 조정하지 못하는 문제를 해결하기 위해 본 명세서의 실시예들은 대상 이미지의 특징인 시맨틱 지식(Semantic Knowledge)을 보존하면서도, 실제 사진으로부터 생성될 이미지에 투영하고자 하는 특징이 반영된 노이즈를 생성하는 인버전(inversion) 과정을 도입하였다. 즉, 이미지에서 이미지로(Image-to-Image)의 변환이 가능하도록 이미지(실제 사진)를 노이즈로 변환하는 인코더(encoder)를 제시한다. 인코더는 이미지의 특징을 반영한 잠재 벡터(Latent Vector)를 생성하고 이미지의 포즈, 표정 등을 변환시키거나 두 이미지를 인터폴레이션(Interpolation)하여 평균화된 이미지를 생성하는 등 다양한 기능을 수행할 수 있다. 본 실시예에서는 헤어스타일에 관한 특징에 집중한 잠재 벡터를 도출하는 것을 목표로 한다.
도 5는 본 명세서의 일 실시예에 따른 이미지 합성을 위한 생성기와 구분기의 구성을 도시한 도면으로서, 도 4의 헤어 모델을 학습하는 과정(S410)을 보다 구체적으로 제시한다.
생성기(generator)(510)는 잠재 공간(latent space) 내의 잠재 벡터(latent vector)를 입력받아 가짜(fake) 이미지를 생성한다. 또한, 구분기(discriminator)(531, 533)는 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이에 관한 손실(loss)을 산출한다. 생성기(510)는 상기 손실에 기초하여 진짜 이미지와 유사한 가짜 이미지를 생성하도록 학습하고, 상기 구분기(531, 533)는 상기 손실에 기초하여 상기 손실이 임계값 이내인지 여부를 판별하도록 학습한다.
그런데, 통상적으로 1개의 구분기를 구비하는 GAN 기술과는 달리 본 명세서의 실시예들은 적어도 2개의 구분기(531, 533)을 포함한다. 헤어스타일을 변화시키는 목표 하에서, 종래의 GAN을 이용하여 헤어스타일을 변화시키면 사용자의 얼굴 모양도 함께 변화되는 문제가 발생하였는바, 본 실시예는 구분기가 단순히 합성된 가짜 사진이 얼마나 진짜와 유사한지만을 판단하는 것 뿐만 아니라, 사진 내에서 얼굴과 헤어스타일을 별도로 구분하여 판단하고자 하였다. 이를 위해, 구분기를 두 종류로 나누어, 하나는 예측된 사진의 얼굴(사람)이 현재 사용자의 얼굴과 같은지 여부를 판별하고, 다른 하나는 예측된 사진의 헤어스타일이 목표 헤어스타일과 같은지 여부를 판별하도록 구성하였다.
도 5를 참조하면, 구분기가 2개 도시되었는데, 제 1 구분기(531)는 가짜 이미지와 진짜 이미지에 대해 양자가 동일한 얼굴인지 여부를 판단하는 역할을 수행하고, 제 2 구분기(533)는 가짜 이미지와 진짜 이미지에 대해 양자가 동일한 헤어스타일인지 여부를 판단하는 역할을 수행한다. 그런 다음, 상기 제 1 구분기(531) 및 상기 제 2 구분기(533) 각각을 통해 산출된 손실을 생성기(510)에 제공하여 얼굴 및 헤어스타일에 대한 학습을 동시에 유도하게 된다.
한편, 상기 제 1 구분기(531)는 동일한 사람에 대한 복수 개의 얼굴 사진에 기반하여 학습되어야 하므로, 동일한 사람에 대한 다수의 사진(예를 들어, 사람1_사진1, 사람1_사진2, 사람2_사진1, 사람2_사진2, ...)을 학습 데이터셋으로 입력받을 수 있다. 또한, 상기 제 2 구분기(533)는 동일한 헤어스타일에 대한 복수 개의 헤어스타일 사진에 기반하여 학습되어야 하므로, 동일한 헤어스타일에 대한 다수의 사진(예를 들어, 목표헤어1_사진1, 목표헤어1_사진2, 같은 헤어2_사진1, 같은 헤어2_사진2, ...)을 학습 데이터셋으로 입력받을 수 있다.
이상에서 기술된 2가지 유형의 구분기(531, 533)를 살펴보면, 얼굴의 동일성과 헤어스타일의 동일성을 각각 판단하는 학습이 필요함을 알 수 있다. 따라서, 앞서 기술한 도 4의 S410 단계에서 이미지 합성 장치가 헤어 모델을 학습하기 위해 필요한 학습 데이터에는 단지 헤어스타일에 관한 이미지 뿐만 아니라 얼굴에 관한 이미지도 필요함을 알 수 있다. 이를 위해, 학습 데이터는, 얼굴 학습을 위한 얼굴 영역이 포함된 이미지 데이터, 헤어스타일 학습을 위한 헤어 영역이 포함된 이미지 데이터 및 헤어 영역이 마스킹 처리된 데이터를 포함할 수 있다.
도 6은 본 명세서의 일 실시예에 따른 헤어 모델 학습 과정을 설명하기 위한 도면으로, 인코더(Encoder)(610) 및 디코더(Decoder)(630)를 이용한 학습을 도시하였다.
우선, 실제 사진으로부터 특징을 추출하기 위해, 인코더(610)에 하나의 사진을 입력하면, 인코딩된 특징(encoded feature)이 출력된다. 물론 이때 입력되는 사진은 헤어스타일에 관한 사진으로 전처리되어 입력되어야만 목표로 하는 헤어스타일에 관한 헤어 모델을 학습할 수 있을 것이다. 이후, 디코더(630)는 해당 특징을 입력받아 다시 원본 사진을 유추하도록 동작한다. 이러한 일련의 과정을 다양한 사진에 대해 다수 수행하게 되면, 헤어스타일이 비슷한 사진들은 인코딩된 특징이 잠재 공간(latent space) 내에서 인접한 점들로 나타나며 학습되는데, 만약 헤어스타일이 상이한 사진의 경우에는 잠재 공간 내에서 멀리 떨어지는 결과가 나타나게 된다.
요약하건대, 헤어 모델을 학습하는 과정은, 인코더(610)를 이용하여 다수의 헤어스타일을 포함하는 실제 이미지로부터 헤어스타일의 시맨틱(semantic) 특징을 인버전(inversion)함으로써 유사한 헤어스타일이 인접한 공간에 분포되는 잠재 공간(latent space)을 생성할 수 있다. 이러한 과정을 통해 종래의 GAN 기술에서 랜덤 노이즈가 실제 사진의 특징을 투영하지 못하는 문제를 해결할 수 있다.
이제, 인코더(610)의 학습이 완료된 후에는, 어떠한 사진이 입력되더라도 인코딩된 특징(encoded feature)이 헤어스타일에 대한 정보를 포함하고 있기 때문에, 구현의 편의에 따라 GAN의 생성기(Generator)에 해당 특징(feature)만을 제공하여도 무방하다.
상기된 과정에 따라 헤어 모델의 학습이 완료되면, 다시 도 4로 돌아와 본 실시예의 나머지 구성들을 설명하자.
S430 단계에서, 이미지 합성 장치는 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받는다. 이때 사용자의 이미지는 사용자의 외모에 관한 다양한 특징이 그대로 보존되기를 희망하는 실제 사진이 될 수 있다.
S450 단계에서, 상기 이미지 합성 장치는 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹한다. 이 과정에서는 사용자의 실제 사진에서 외모에 관한 다양한 특징은 그대로 보존하되, 헤어스타일만을 변경하도록 변형의 영역(domain)을 통제하게 된다.
S470 단계에서, 상기 이미지 합성 장치는 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성한다. 앞서 학습된 헤어 모델은 1개의 생성기와 2개의 구분기를 포함하며, 특히 얼굴의 동일성 여부를 판별하는 제 1 구분기와 헤어스타일의 동일성 여부를 판별하는 제 2 구분기를 통해 생성기의 학습을 동시에 유도하였다. 따라서, 본 실시예가 제안하는 헤어 모델에 의해 생성된 합성 이미지는 목표로 하는 헤어스타일 이외의 특징(예를 들어, 피부색 또는 화장)은 원본 이미지(사용자의 실제 사진) 내의 특징을 보존하면서도 헤어스타일만을 자연스럽게 반영된 결과를 얻을 수 있다.
이하에서는, 상기된 헤어스타일에 대한 이미지 합성 방법을 활용한 플랫폼 응용 기술을 소개하도록 한다.
도 7은 본 명세서의 다른 실시예에 따른 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법을 도시한 흐름도이다. 구현의 관점에서, 적어도 하나의 프로세서를 포함하는 매칭 시스템이 도 7의 각 단계들이 정의하고 있는 처리 과정을 수행할 수 있으며, 각 단계에 따른 명령어가 포함된 소프트웨어를 상기 프로세서를 통해 구동할 수 있다. 이미지 합성에 관한 처리 과정은 앞서 도 4 내지 도 6을 통해 자세히 설명하였으므로, 여기서는 설명의 중복을 피하고자 그 개요만을 약술하도록 한다.
S710 단계에서, 매칭 시스템은 사용자의 이미지를 입력받는다. 예를 들어, 헤어스타일을 변화시키기 희망하는 사용자가 자신의 실제 사진을 촬영함으로써 사용자의 이미지를 매칭 시스템에 제공할 수 있다.
S730 단계에서, 상기 매칭 시스템은 이미지 합성 알고리즘에서 활용되는 헤어 모델을 미리 학습한다. 또는 상기 매칭 시스템은 물리적으로 별도로 분리된 다른 장치를 통해 학습된 결과(헤어 모델)만을 제공받을 수도 있을 것이다.
S750 단계에서, 상기 매칭 시스템은 사용자로부터 입력된 희망 헤어스타일을 설정하고, 이미지 합성 알고리즘을 이용하여 상기 사용자의 이미지로부터 상기 헤어스타일에 따른 합성 이미지를 생성한다. 여기서, 상기 이미지 합성 알고리즘은, 헤어스타일에 관한 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하고, 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받고, 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹하며, 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성할 수 있다.
또한, 이미지 합성 알고리즘은, 인코더(encoder)를 이용하여 다수의 헤어스타일을 포함하는 실제 이미지로부터 헤어스타일의 시맨틱(semantic) 특징을 인버전(inversion)함으로써 유사한 헤어스타일이 인접한 공간에 분포되는 잠재 공간(latent space)을 생성하고, 생성기(generator)가 잠재 공간(latent space) 내의 잠재 벡터(latent vector)를 입력받아 가짜(fake) 이미지를 생성하고, 구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이에 관한 손실(loss)을 산출하며, 상기 생성기는 상기 손실에 기초하여 진짜 이미지와 유사한 가짜 이미지를 생성하도록 학습하고, 상기 구분기는 상기 손실에 기초하여 상기 손실이 임계값 이내인지 여부를 판별하도록 학습함으로써, 상기 헤어 모델을 학습할 수 있다.
나아가, 상기 구분기는, 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 얼굴인지 여부를 판단하는 제 1 구분기 및 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 헤어스타일인지 여부를 판단하는 제 2 구분기를 포함하고, 상기 제 1 구분기 및 상기 제 2 구분기 각각을 통해 산출된 손실을 상기 생성기에 제공하여 얼굴 및 헤어스타일에 대한 학습을 동시에 유도하며, 상기 제 1 구분기는 동일한 사람에 대한 복수 개의 얼굴 사진에 기반하여 학습되고, 상기 제 2 구분기는 동일한 헤어스타일에 대한 복수 개의 헤어스타일 사진에 기반하여 학습되는 것이 바람직하다.
S770 단계에서, 상기 매칭 시스템은 S750 단계를 통해 생성된 상기 합성 이미지의 헤어스타일에 대응하여 헤어디자이너를 추천한다. 이를 위해, 매칭 시스템은 헤어샵 내지 헤어샵에 근무하는 헤어디자이너와 사용자를 연결하는 협업 플랫폼으로 구현될 수 있다. 즉, 매칭 시스템 내에 다수의 헤어디자이너가 등록될 수 있으며, 헤어디자이너의 시술 가능한 항목과 다양한 시술 조건을 통해 사용자의 요구에 부합하는 헤어디자이너를 추천할 수 있다. 사용자가 추천되는 헤어디자이너를 선택할 경우, 시술 예약 및 결제를 하나의 플랫폼 내에서 처리할 수 있는 편의 기능을 제공하는 것이 가능하다.
요약하건대, 헤어디자이너를 추천하는 S770 단계에서는, 복수의 헤어디자이너의 시술 분야 및 경력 중 적어도 하나를 고려하여 헤어디자이너 후보를 적어도 하나 이상 표시할 수 있다. 나아가, 표시된 상기 헤어디자이너 후보의 시술 비용, 시술 지역 및 시술 가능 일시 중 적어도 하나를 함께 표시함으로써 상기 사용자와 상기 헤어디자이너 후보 간의 시술 예약을 유도할 수도 있다.
도 8a 내지 도 12는 본 명세서의 다른 실시예에 따른 헤어디자이너 매칭 방법을 구현한 애플리케이션의 처리 흐름을 예시한 도면이다.
도 8a 및 도 8b는 매칭 애플리케이션의 사용자 인터페이스(user interface)를 예시한 것이다. 첫째, 도 8a에서 사용자가 자신의 실제 사진을 촬영하고, 현재의 헤어스타일에서 변화시키고자 하는 다양한 항목을 선택할 수 있도록 화면 상에 제시한다. 예를 들어, 머리 길이, 웨이브, 머리 형태 내지 머리 색깔 등이 선택 항목으로 제시될 수 있다. 둘째, 도 8b에서 사용자가 자신의 사진을 단말기(예를 들어, 스마트폰) 저장 장치에서 불러오고, 목표로 하는 다른 사람의 사진(예를 들어, 연예인)을 불러와 목표 사진으로 제시한다. 그런 다음, 결과 예측하기를 선택하여 자신의 사진과 목표 사진으로부터 생성된 합성 이미지를 확인할 수 있다. 이는 헤어스타일에 대한 시술을 받았을 때의 결과를 예측한 이미지가 될 것이다.
도 9는 앞서 도 8a 또는 도 8b의 사용자 인터페이스를 통해 선택된 항목에 따라 합성 이미지가 화면 상에 표시되었음을 보여준다. 도 8a 또는 도 8b의 원본 사진(사용자 이미지)과 비교할 때, 도 9의 합성 이미지는 동일한 인물의 특징을 모두 보존하면서도 머리 길이와 웨이브가 달라진 이미지가 매우 자연스럽게 표현되었음을 확인할 수 있다. 이제, 사용자는 도 9의 화면에서 디자이너 검색 버튼을 선택하여 매칭 시스템(플랫폼)의 매칭 서비스를 진행할 수 있다.
도 10에는 사용자의 조건에 따라 매칭 가능한 헤어디자이너들을 표시하였다. 이들 헤어디자이너는 앞서 생성된 합성 이미지에 대한 시술이 가능한 헤어디자이너이며, 필요에 따라 추가적인 검색 조건이 부가된 결과를 보여줄 수 있다. 예를 들어, 사용자의 희망에 따른 경력 범위나 인기도 등을 추가 조건으로 하여 필터링된 결과만을 보여줄 수 있다. 이때, 사용자는 헤어디자이너를 한 명 선택하여 상세 화면으로 진행할 수 있다.
도 11은 선택된 헤어디자이너가 시술 가능한 서비스를 보여준다. 사용자는 해당 헤어디자이너가 제공 가능한 서비스 중 적어도 하나를 선택하여 도 12의 예약 화면으로 진행할 수 있다.
도 12에서는 선택한 헤어디자이너의 시술 가능 시간을 보여준다. 필요에 따라서는 예시된 바와 같이 앞서 검색된 다양한 헤어디자이너를 포함하여 하나의 화면에 표시함으로써 사용자의 다른 선택을 유도할 수도 있다. 이제, 사용자는 시술 가능 시간을 특정함으로써 예약을 완료할 수 있다. 필요에 따라서는 결제에 관한 화면으로 진행하여 사전 결제에 관한 다양한 옵션을 제공할 수도 있을 것이다.
도 13은 본 명세서의 다른 실시예에 따른 헤어디자이너 매칭 시스템을 도시한 블록도로서, 도 7의 매칭 방법을 하드웨어 구성의 관점에서 재구성한 것이다.
헤어디자이너(10)는 헤어디자이너가 소지하는 단말이나 헤어샵의 예약 단말이 될 수 있으며 매칭 시스템(30)과 네트워크를 통해 연결된다.
사용자(20)는 사용자가 소지하는 단말이나 PC 등을 이용해 네트워크를 통해 매칭 시스템(30)과 연결된다.
매칭 시스템(30)은, 네트워크를 통해 헤어디자이너(10) 및 사용자(20)와 연결되기 위해 통신부(31)를 구비하며, 사용자의 헤어샵 매칭 및 예약을 중개하는 역할을 수행한다. 매칭 시스템(30)은 사용자(20)로부터 매칭 요청을 받아 이를 처리하는 일련의 처리 과정을 정의하는 명령어를 포함하는 매칭 소프트웨어를 메모리(33)에 로드(load) 또는 저장할 수 있으며, 메모리(33)에 로드 또는 저장된 매칭 소프트웨어를 실행하는 프로세서(32)를 구비한다.
매칭 소프트웨어는, 사용자의 이미지를 입력받고, 사용자(20)로부터 입력된 희망 헤어스타일을 설정하고, 이미지 합성 알고리즘을 이용하여 상기 사용자의 이미지로부터 상기 헤어스타일에 따른 합성 이미지를 생성하며, 생성된 상기 합성 이미지의 헤어스타일에 대응하여 헤어디자이너(10)를 추천하는 명령어를 포함한다. 여기서, 이미지 합성 알고리즘은, 헤어스타일에 관한 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하고, 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받고, 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹하며, 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성하도록 정의된다.
도 13을 통해 제안된 매칭 시스템은, 고객으로부터 획득된 사진 데이터를 이용하여 개인화 데이터로 축적할 수 있으며, 또한 헤어디자이너들이 입력한 시술 결과 사진을 이용하여 또한 헤어스타일에 대한 다량의 학습 데이터를 축적할 수 있다. 이 경우, 디자이너들은 자신이 시술한 결과를 마케팅 목적에서 매칭 시스템에 능동적으로 제공함으로써 고객들에게 노출되고자 하는 목표를 달성할 수 있으며, 매칭 시스템의 관점에서는 양질의 학습 데이터를 얻을 수 있는 기회가 될 수 있다.
한편, 본 명세서의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 명세서가 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 명세서에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 명세서에 속하는 기술 분야에서 통상의 지식을 가진 자는 다양한 실시예들이 본 명세서의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 명세서의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 명세서에 포함된 것으로 해석되어야 할 것이다.
상기된 본 명세서의 실시예들에 따르면, 딥러닝 기술을 활용하여 사용자의 실제 사진으로부터 희망하는 헤어스타일로 변화된 합성 이미지를 생성할 수 있고, 특히 헤어 영역에 대한 마스킹, 얼굴 및 헤어스타일 각각에 대해 학습된 헤어 모델을 제공함으로서 자신의 고유의 외모 특징이 보존되면서도 헤어스타일만의 변화를 얻을 수 있으며, 사용자와 헤어디자이너를 연결하는 플랫폼에 이미지 합성 기술을 도입함으로써 사용자의 변화된 헤어스타일에 기반한 헤어디자이너 매칭을 유도할 수 있다.
Claims (10)
- 적어도 하나의 프로세서를 포함하는 이미지 합성 장치가 이미지를 합성하는 방법에 있어서,이미지 합성 장치가 얼굴 학습을 위한 얼굴 영역이 포함된 이미지 데이터, 헤어스타일 학습을 위한 헤어 영역이 포함된 이미지 데이터 및 헤어 영역이 마스킹 처리된 데이터를 포함하는 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하는 단계;상기 이미지 합성 장치가 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받는 단계;상기 이미지 합성 장치가 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹하는 단계; 및상기 이미지 합성 장치가 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성하는 단계;를 포함하고,상기 헤어 모델을 학습하는 단계는,생성기(generator)가 가짜(fake) 이미지를 생성하고, 구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이를 구분하며, 양자가 서로 경쟁하면서 학습하되,상기 구분기는,동일한 사람에 대한 복수 개의 얼굴 사진을 학습 데이터셋으로 입력받아 학습됨으로써 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 얼굴인지 여부를 판단하는 제 1 구분기; 및동일한 헤어스타일에 대한 복수 개의 헤어스타일 사진을 학습 데이터셋으로 입력받아 학습됨으로써 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 헤어스타일인지 여부를 판단하는 제 2 구분기;를 포함함으로써, 사진 내에서 얼굴과 헤어스타일을 별도로 구분하여 판단하는, 이미지 합성 방법.
- 제 1 항에 있어서,상기 헤어 모델을 학습하는 단계는,생성기(generator)가 잠재 공간(latent space) 내의 잠재 벡터(latent vector)를 입력받아 가짜(fake) 이미지를 생성하는 단계; 및구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이에 관한 손실(loss)을 산출하는 단계;를 포함하며,상기 생성기는 상기 손실에 기초하여 진짜 이미지와 유사한 가짜 이미지를 생성하도록 학습하고,상기 구분기는 상기 손실에 기초하여 상기 손실이 임계값 이내인지 여부를 판별하도록 학습하는, 이미지 합성 방법.
- 제 2 항에 있어서,상기 헤어 모델을 학습하는 단계는,인코더(encoder)를 이용하여 다수의 헤어스타일을 포함하는 실제 이미지로부터 헤어스타일의 시맨틱(semantic) 특징을 인버전(inversion)함으로써 유사한 헤어스타일이 인접한 공간에 분포되는 잠재 공간(latent space)을 생성하는 단계;를 더 포함하는, 이미지 합성 방법.
- 제 2 항에 있어서,상기 구분기는,상기 제 1 구분기 및 상기 제 2 구분기 각각을 통해 산출된 손실을 상기 생성기에 제공하여 얼굴 및 헤어스타일에 대한 학습을 동시에 유도하는, 이미지 합성 방법.
- 제 1 항에 있어서,상기 학습 데이터는,시술 직후의 헤어스타일 이미지를 제공하는 제 1 데이터셋;시술 직후의 시술 가능성이 낮은 헤어스타일 이미지를 제공하는 롱테일(longtail) 데이터인 제 2 데이터셋;헤어스타일이 즉시 구분되지 않는 일상 헤어스타일 이미지를 제공하는 제 3 데이터셋; 및시술되지는 않으나 다수의 사람들이 유지하는 헤어스타일 이미지를 제공하는 제 4 데이터셋;를 포함하되,실제 주문이 많은 헤어스타일이 롱테일되는 부분의 데이터를 함께 갖추도록 데이터셋을 구성하는, 이미지 합성 방법.
- 적어도 하나의 프로세서를 포함하는 매칭 시스템이 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법에 있어서,매칭 시스템이 사용자의 이미지를 입력받는 단계;상기 매칭 시스템이 사용자로부터 입력된 희망 헤어스타일을 설정하고, 이미지 합성 알고리즘을 이용하여 상기 사용자의 이미지로부터 상기 헤어스타일에 따른 합성 이미지를 생성하는 단계; 및상기 매칭 시스템이 생성된 상기 합성 이미지의 헤어스타일에 대응하여 헤어디자이너를 추천하는 단계;를 포함하고,상기 이미지 합성 알고리즘은,얼굴 학습을 위한 얼굴 영역이 포함된 이미지 데이터, 헤어스타일 학습을 위한 헤어 영역이 포함된 이미지 데이터 및 헤어 영역이 마스킹 처리된 데이터를 포함하는 다수의 학습 데이터를 이용하여 GAN(Generative Adversarial Networks) 구조의 헤어 모델을 학습하고, 사용자의 이미지 및 새로운 헤어스타일을 포함하는 헤어 이미지를 입력받고, 헤어 영역에 대한 마스크를 이용하여 상기 사용자의 이미지를 마스킹하며, 학습된 상기 헤어 모델을 이용하여 마스킹된 상기 사용자의 이미지 및 상기 헤어 이미지에 기초한 합성 이미지를 생성하고,상기 헤어 모델은,생성기(generator)가 가짜(fake) 이미지를 생성하고, 구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이를 구분하며, 양자가 서로 경쟁하면서 학습되고,상기 구분기는,동일한 사람에 대한 복수 개의 얼굴 사진을 학습 데이터셋으로 입력받아 학습됨으로써 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 얼굴인지 여부를 판단하는 제 1 구분기; 및동일한 헤어스타일에 대한 복수 개의 헤어스타일 사진을 학습 데이터셋으로 입력받아 학습됨으로써 상기 가짜 이미지와 상기 진짜 이미지에 대해 양자가 동일한 헤어스타일인지 여부를 판단하는 제 2 구분기;를 포함함으로써, 사진 내에서 얼굴과 헤어스타일을 별도로 구분하여 판단하는, 헤어디자이너 매칭 방법.
- 제 6 항에 있어서,상기 헤어디자이너를 추천하는 단계는,복수의 헤어디자이너의 시술 분야 및 경력 중 적어도 하나를 고려하여 헤어디자이너 후보를 적어도 하나 이상 표시하는 단계;를 포함하는, 헤어디자이너 매칭 방법.
- 제 7 항에 있어서,상기 헤어디자이너를 추천하는 단계는,표시된 상기 헤어디자이너 후보의 시술 비용, 시술 지역 및 시술 가능 일시 중 적어도 하나를 함께 표시함으로써 상기 사용자와 상기 헤어디자이너 후보 간의 시술 예약을 유도하는 단계;를 더 포함하는, 헤어디자이너 매칭 방법.
- 제 6 항에 있어서,상기 이미지 합성 알고리즘은,인코더(encoder)를 이용하여 다수의 헤어스타일을 포함하는 실제 이미지로부터 헤어스타일의 시맨틱(semantic) 특징을 인버전(inversion)함으로써 유사한 헤어스타일이 인접한 공간에 분포되는 잠재 공간(latent space)을 생성하고, 생성기(generator)가 잠재 공간(latent space) 내의 잠재 벡터(latent vector)를 입력받아 가짜(fake) 이미지를 생성하고, 구분기(discriminator)가 상기 가짜 이미지 및 진짜(real) 이미지를 입력받아 그 차이에 관한 손실(loss)을 산출하며, 상기 생성기는 상기 손실에 기초하여 진짜 이미지와 유사한 가짜 이미지를 생성하도록 학습하고, 상기 구분기는 상기 손실에 기초하여 상기 손실이 임계값 이내인지 여부를 판별하도록 학습하되 상기 제 1 구분기 및 상기 제 2 구분기 각각을 통해 산출된 손실을 상기 생성기에 제공하여 얼굴 및 헤어스타일에 대한 학습을 동시에 유도함으로써, 상기 헤어 모델을 학습하는, 헤어디자이너 매칭 방법.
- 제 6 항에 있어서,상기 학습 데이터는,시술 직후의 헤어스타일 이미지를 제공하는 제 1 데이터셋;시술 직후의 시술 가능성이 낮은 헤어스타일 이미지를 제공하는 롱테일(longtail) 데이터인 제 2 데이터셋;헤어스타일이 즉시 구분되지 않는 일상 헤어스타일 이미지를 제공하는 제 3 데이터셋; 및시술되지는 않으나 다수의 사람들이 유지하는 헤어스타일 이미지를 제공하는 제 4 데이터셋;를 포함하되,실제 주문이 많은 헤어스타일이 롱테일되는 부분의 데이터를 함께 갖추도록 데이터셋을 구성하는, 헤어디자이너 매칭 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0133332 | 2022-10-17 | ||
KR1020220133332A KR102543429B1 (ko) | 2022-10-17 | 2022-10-17 | 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024085535A1 true WO2024085535A1 (ko) | 2024-04-25 |
Family
ID=86763600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/015739 WO2024085535A1 (ko) | 2022-10-17 | 2023-10-12 | 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102543429B1 (ko) |
WO (1) | WO2024085535A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102543429B1 (ko) * | 2022-10-17 | 2023-06-15 | 퀀텀리프(주) | 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200034028A (ko) * | 2018-09-13 | 2020-03-31 | 정형록 | 인공지능 기반 가상 피팅 시스템 및 방법 |
KR20210056772A (ko) * | 2019-11-11 | 2021-05-20 | 김윤희 | 미용 서비스 제공 시스템 |
KR102543429B1 (ko) * | 2022-10-17 | 2023-06-15 | 퀀텀리프(주) | 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 |
-
2022
- 2022-10-17 KR KR1020220133332A patent/KR102543429B1/ko active IP Right Grant
-
2023
- 2023-10-12 WO PCT/KR2023/015739 patent/WO2024085535A1/ko unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200034028A (ko) * | 2018-09-13 | 2020-03-31 | 정형록 | 인공지능 기반 가상 피팅 시스템 및 방법 |
KR20210056772A (ko) * | 2019-11-11 | 2021-05-20 | 김윤희 | 미용 서비스 제공 시스템 |
KR102543429B1 (ko) * | 2022-10-17 | 2023-06-15 | 퀀텀리프(주) | 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 |
Non-Patent Citations (3)
Title |
---|
MINGCONG LIU: "BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation", 35TH CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS (NEURIPS 2021), 1 October 2021 (2021-10-01), XP093161087 * |
PEIHAO ZHU; RAMEEN ABDAL; JOHN FEMIANI; PETER WONKA: "Barbershop: GAN-based Image Compositing using Segmentation Masks", ARXIV.ORG, 16 October 2021 (2021-10-16), XP091068971 * |
WEIHAO XIA; YULUN ZHANG; YUJIU YANG; JING-HAO XUE; BOLEI ZHOU; MING-HSUAN YANG: "GAN Inversion: A Survey", ARXIV.ORG, 22 March 2022 (2022-03-22), XP091168547 * |
Also Published As
Publication number | Publication date |
---|---|
KR102543429B1 (ko) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gowda et al. | ColorNet: Investigating the importance of color spaces for image classification | |
Alashkar et al. | Examples-rules guided deep neural network for makeup recommendation | |
Wang et al. | Domain generalization via shuffled style assembly for face anti-spoofing | |
Pang et al. | Image-to-image translation: Methods and applications | |
Han et al. | Heterogeneous face attribute estimation: A deep multi-task learning approach | |
Xia et al. | Learning from macro-expression: A micro-expression recognition framework | |
Yu et al. | Semantic jitter: Dense supervision for visual comparisons via synthetic images | |
EP3961441B1 (en) | Identity verification method and apparatus, computer device and storage medium | |
He et al. | Harnessing Synthesized Abstraction Images to Improve Facial Attribute Recognition. | |
WO2024085535A1 (ko) | 인공지능을 이용하여 이미지를 합성하는 방법 및 이미지 합성에 기반하여 헤어디자이너를 매칭하는 방법 | |
Wang et al. | Deep multi-task learning for joint prediction of heterogeneous face attributes | |
Tan et al. | Deep transfer learning for EEG-based brain computer interface | |
Chen et al. | Attentive semantic exploring for manipulated face detection | |
Hou et al. | Feat: Face editing with attention | |
Zhao et al. | Generating photographic faces from the sketch guided by attribute using GAN | |
JP2021190062A (ja) | イメージ生成システム及びこれを利用したイメージ生成方法 | |
Yin et al. | Learning to generate and edit hairstyles | |
Kalayeh et al. | On symbiosis of attribute prediction and semantic segmentation | |
Zhang et al. | M6-UFC: Unifying multi-modal controls for conditional image synthesis via non-autoregressive generative transformers | |
Zhang et al. | Image editing via segmentation guided self-attention network | |
Shuai et al. | A Survey of Multimodal-Guided Image Editing with Text-to-Image Diffusion Models | |
Wang et al. | Maniclip: Multi-attribute face manipulation from text | |
Chen et al. | Aep-gan: Aesthetic enhanced perception generative adversarial network for asian facial beauty synthesis | |
Li et al. | Facial image attributes transformation via conditional recycle generative adversarial networks | |
Guo et al. | Image style disentangling for instance-level facial attribute transfer |
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: 23880113 Country of ref document: EP Kind code of ref document: A1 |