WO2021256702A1 - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
WO2021256702A1
WO2021256702A1 PCT/KR2021/005652 KR2021005652W WO2021256702A1 WO 2021256702 A1 WO2021256702 A1 WO 2021256702A1 KR 2021005652 W KR2021005652 W KR 2021005652W WO 2021256702 A1 WO2021256702 A1 WO 2021256702A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
data
attribute value
attribute
image data
Prior art date
Application number
PCT/KR2021/005652
Other languages
English (en)
French (fr)
Inventor
이한빛
이상구
유강민
Original Assignee
삼성전자 주식회사
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 서울대학교산학협력단 filed Critical 삼성전자 주식회사
Publication of WO2021256702A1 publication Critical patent/WO2021256702A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for generating a converted image for an image, and a method for controlling the same.
  • GAN Generative Adversarial Network
  • the image-to-image conversion technology converts various image properties such as color, shape, shape, age, and gender of the background or object of the image to generate an image in which some properties of the original image are converted.
  • an artificial intelligence model including a GAN network is trained to learn various properties of an input image and to output an image obtained by converting at least one property among various properties. That is, the conventional artificial intelligence model for generating a transformed image has been trained to output a transformed image by receiving an image in the image space where the image exists.
  • the artificial intelligence model transforms the properties of the input image and creates a transformed image close to the actual image. This may be needed That is, when image conversion is performed using the conventional artificial intelligence model, there is a problem in that the load of the electronic device including the artificial intelligence model increases or the clarity of image conversion decreases.
  • the present disclosure is intended to solve the above problems, and specifically, an electronic device and its control to increase the inference accuracy of the image and to generate a clear image by converting the image in the latent space created by the learning of the artificial intelligence model to provide a method.
  • the electronic device converts an input image into image data in the latent space using a memory in which pre-generated information about the latent space is stored, and a function for normalizing an image to data in the latent space, obtaining attribute conversion data for changing an attribute value of an image included in the image data to a target attribute value, and generating transformed image data for the image data based on the image data and the attribute transformation data; and a processor configured to generate a converted image for the input image based on the converted image data.
  • the attribute conversion data and the converted image data are data on the latent space.
  • the method of controlling an electronic device includes converting an input image into image data in the latent space using a function for normalizing an image to data in the latent space, the image data obtaining attribute conversion data for changing an attribute value of an image included in a target attribute value to a target attribute value; generating transformed image data for the image data based on the image data and the attribute transformation data; and the and generating a converted image for the input image based on the converted image data.
  • the attribute conversion data and the converted image data are data on the latent space.
  • FIG. 1 is a diagram schematically illustrating an electronic device according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • FIG. 3 is a view for explaining an electronic device that performs image conversion based on a target attribute value according to an embodiment of the present disclosure
  • FIG. 4 is a diagram for explaining a learning process of a transformation network included in an electronic device according to an embodiment of the present disclosure
  • FIG. 5 is a view for explaining a converted image generated by an electronic device according to an embodiment of the present disclosure
  • FIG. 6 is a block diagram illustrating a detailed configuration of an electronic device according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating a method of controlling an electronic device according to various embodiments of the present disclosure.
  • expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
  • expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.
  • expressions such as “first,” “second,” “first,” or “second,” may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components. As an example, the use order or arrangement order of components combined with such an ordinal number should not be limited by the number. If necessary, each ordinal number may be used interchangeably.
  • a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component);
  • another component eg, a second component
  • the certain element may be directly connected to the other element or may be connected through another element (eg, a third element).
  • a component eg, a first component
  • another component eg, a second component
  • a device configured to may mean that the device is “capable of” with other devices or parts.
  • a coprocessor configured (or configured to perform) A, B, and C may refer to a dedicated processor (eg, an embedded processor), or one or more software programs stored on a memory device, to perform the corresponding operations. By doing so, it may mean a generic-purpose processor (eg, a central processing unit (CPU) or an application processor) capable of performing corresponding operations.
  • the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
  • a device eg, an artificial intelligence electronic device
  • FIG. 1 is a diagram schematically illustrating an electronic device according to various embodiments of the present disclosure
  • the electronic device 100 includes a smart phone, a tablet PC, a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, a portable multimedia player (PMP), an MP3 It may include at least one of a player, a kiosk, a medical device, a camera, and a wearable device.
  • a wearable device may be an accessory (e.g., watch, ring, bracelet, anklet, necklace, eyewear, contact lens, or head-mounted-device (HMD)), a textile or clothing integral (e.g.
  • the electronic garment may include at least one of a body-worn (eg, skin pad) or bioimplantable circuit
  • the electronic device may include, for example, a television, a digital video disk (DVD) player, an audio, At least one of a refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, home automation control panel, security control panel, media box, game console, electronic dictionary, electronic key, camcorder, or electronic picture frame.
  • a television a digital video disk (DVD) player
  • an audio At least one of a refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, home automation control panel, security control panel, media box, game console, electronic dictionary, electronic key, camcorder, or electronic picture frame.
  • the electronic device 100 may generate a converted image 12 for the image 11 .
  • the image 11 is an image stored in the electronic device 100 , an image acquired using a camera (not shown) included in the electronic device 100 , and the electronic device 100 is an external device (not shown). It may be a variety of images, such as an image received from , or a virtual image generated by the electronic device 100 .
  • the image 11 is an image obtained by capturing a specific object, and may include at least one object.
  • the image 11 is JPEG (Joint Photographic Experts Group), GIF (Graphics Interchange Format), PNG (Potable Network Graphics), TIFF (Tag Image File Format), BMP (Microsoft Windows Device Independent Bitmap), HEIF (High Efficiency) Image File Format), BPG (Better Portable Graphics), Raw, or AI (Adobe Illustrator), SVG (Scalable Vector Graphics), VML (Vector Markup Language), CGM (Computer Graphics Metafile), Gerber format ( Gerber format) or a composite image such as PDF (Portable Document Format) or EPS (Encapsulated Postscript).
  • the image 11 may include a plurality of attribute information.
  • the properties of the image may be various elements representing the background or object included in the image, such as the color, size, shape, and shape of the background or object included in the image. For example, if the image contains an image of a person (object), various factors such as the person's gender, age, height, hair style, hair length, hair color, size or shape of eyes/nose/mouth, skin color or race It can be attribute information.
  • the electronic device 100 may generate the converted image 12 by converting at least one piece of property information among a plurality of pieces of property information included in the image 11 .
  • the electronic device 100 may convert the image 11 into image data 21 in a latent space 20 .
  • the latent space is a space corresponding to an actual observation space or an image space in which an actual image exists, and represents a space in which an image existing in the actual observation space or the image space can be described. .
  • the electronic device 100 may generate the latent space in advance by reducing the dimension of the multidimensional image data set in the actual observation space or the image space to generate a new dimension image data set.
  • the dimension may be a concept corresponding to the attribute information of the image. That is, the electronic device 100 may generate a latent space in advance by reducing the dimension of the image data set to include only attribute information necessary to express an image among a plurality of attribute information included in the image data set.
  • the electronic device 100 may convert the image 11 into the image data 21 in the latent space by using a function F that normalizes the image 11 to data in the latent space.
  • normalization means limiting the range of data included in the image 11 to a range desired by a user or a preset range.
  • the function F refers to a function that normalizes the image 11 and converts it into image data 21 in the latent space. For example, when the image 11 is input as an input of the function F, the function F limits the range of data included in the image 11 to a range desired by the user or a preset range to convert the image data 21 in the latent space can do.
  • the image data in the latent space may be expressed in the form of a vector.
  • the image data 21 may include all or part of attribute information included in the image.
  • the electronic device 100 may include an artificial intelligence model.
  • the artificial intelligence model may be an artificial intelligence model including an artificial neural network learned through machine learning (or machine learning) or deep learning.
  • the artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between the operation result of a previous layer and the plurality of weights.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited thereto.
  • DNN Deep Neural Network
  • DNN Deep Belief Network
  • BBDNN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • the electronic device 100 may generate the latent space 20 in a learning process of the artificial intelligence model included in the electronic device 100 .
  • the electronic device 100 may include an artificial intelligence model trained to normalize an image to data on a latent space.
  • the AI model may include a function F that normalizes the image to data in the latent space.
  • the electronic device 100 may generate the latent space 20 in the process of learning to normalize the plurality of learning images to data on the latent space.
  • the electronic device 100 may generate the image data 21 in the previously generated latent space 20 and convert the generated image data 21 to generate the converted image data 22 .
  • the electronic device 100 may generate the converted image 12 by using the converted image data 22 .
  • the electronic device 100 may convert the transformed image data 22 into the transformed image 12 by using the inverse function F-1 of the function F.
  • the electronic device 100 may perform image transformation in a latent space in which the dimension of the image data set is reduced.
  • the electronic device 100 may directly infer the image data in the latent space.
  • the electronic device 100 since the electronic device 100 infers the transformed image data in the latent space in which the dimension of the image data set is reduced, resource use and load of the electronic device 100 may be reduced, and the user's intention It is possible to provide a converted image more conforming to
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure
  • the electronic device 100 may include a memory 110 and a processor 120 .
  • Functions related to artificial intelligence according to the present disclosure are operated through a processor and a memory.
  • the memory 110 is a configuration for storing an operating system (OS) for controlling overall operations of the components of the electronic device 100 and at least one instruction or data related to the components of the electronic device 100 .
  • OS operating system
  • An instruction means one action statement that can be directly executed by the processor 120 in a programming language, and is a minimum unit for program execution or operation.
  • the processor 120 may perform operations according to various embodiments to be described later by executing at least one instruction stored in the memory 110 .
  • the memory 110 is a component for storing various programs and data necessary for the operation of the electronic device 100 .
  • the memory 110 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the memory 110 is accessed by the processor 120 , and reading/writing/modification/deletion/update of data by the processor 120 may be performed.
  • the term "memory” refers to a memory 110, a ROM (not shown) in the processor 120, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, micro SD). card, memory stick).
  • the latent space 20 is a space of a new-dimensional image data set generated by reducing the dimension of a multi-dimensional image data set, and represents a space in which an image in the image space can be described.
  • the memory 110 may store an artificial intelligence model used to convert the image 11 into the transformed image 12 .
  • the memory 110 converts the image data 21 on the latent space and a flow-based generative model trained to normalize the image 11 into data on the latent space to convert the transformed image data 22 ) to generate a translator network model.
  • the flow-based generation model may be an artificial intelligence model trained to generate image data similar to the training image by learning the characteristics of the training image.
  • image data similar to the training image may be expressed in a vector form.
  • the flow-based generation model can create a latent space while learning to transform a plurality of images into a plurality of image data. That is, the latent space 20 may represent a set of training image data sets generated when the flow-based generation model is trained.
  • the flow-based generative model is a network capable of inverse transformation.
  • the fact that the inverse transformation is possible indicates that the input value can be output by using the output value of the network as an input.
  • the flow-based generation model may be an artificial intelligence model that is not only trained to output image data by taking an image as an input, but is also trained to generate an image by receiving image data as an input conversely.
  • the flow-based generation model may include a network capable of at least one inverse transformation.
  • the flow-based generative model may include a plurality of networks such as squeeze networks, actnorm networks, 1x1 convolution networks, coupling networks, and split networks, and squeeze networks, actnorm networks, 1x1 convolution networks, coupling networks, and split networks are Each may be a network capable of inverse transformation.
  • squeeze networks, actnorm networks, 1x1 convolution networks, coupling networks, and split networks are known technologies, a detailed description to be omitted.
  • the transformation network model may be an artificial intelligence model trained to output attribute transformation data for transforming attributes of an image based on image data in the latent space. Specifically, the transformation network model learns to provide attribute transformation data for transforming an attribute of an image from an original attribute value to a target attribute value based on the image data in the latent space, the original attribute value of the image, and the target attribute value of the image It may be a model that has been In this case, the attribute conversion data may be expressed as a vector as data on the latent space. A detailed operation of the transformation network model will be described later with reference to FIG. 3 .
  • the memory 110 may include a prior network model and a property classification network model required to learn the transformation network model.
  • the prior network model and the attribute classification network model may be used in the training process of the model of the transformation network to increase the accuracy of the transformation network.
  • the prior network may be a model trained to output a distribution of attribute transformation data for converting an attribute of an image from an original attribute value to a target attribute value, based on the original attribute value of the image and the target attribute value of the image.
  • the transformation network may accurately output the distribution of the attribute transformation data.
  • the attribute classification network model may be a model trained to output image attribute values included in image data.
  • the attribute classification network model may output an attribute value of transformed image data generated based on the attribute transformation data output by the transformation network.
  • the attribute classification network model may determine whether an attribute value of transformed image data generated through the transformation network includes a target attribute value. By using the attribute value of the transformed image data output through the attribute classification network, the transformation network may accurately output the transformed image data including the target attribute value.
  • the processor 120 may be electrically connected to the memory 110 to control overall operations and functions of the electronic device 100 .
  • the processor 120 may control hardware or software components connected to the processor 120 by driving an operating system or an application program, and may perform various data processing and operations.
  • the processor 120 may load and process commands or data received from at least one of other components into the volatile memory, and store various data in the non-volatile memory.
  • the processor 120 is a general-purpose processor (eg, a CPU (Central) It may be implemented as a processing unit) or an application processor (AP).
  • a general-purpose processor eg, a CPU (Central) It may be implemented as a processing unit) or an application processor (AP).
  • AP application processor
  • the processor may include one or a plurality of processors.
  • one or more processors are general-purpose processors such as CPUs, APs, Digital Signal Processors (DSPs), etc., graphics-only processors such as GPUs (Graphics Processing Units), VPUs (Vision Processing Units), or artificial intelligence-only processors such as NPUs.
  • DSPs Digital Signal Processors
  • GPUs Graphics Processing Units
  • VPUs Vision Processing Units
  • artificial intelligence-only processors such as NPUs.
  • processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory.
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • a predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
  • Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
  • the processor 120 may generate the transformed image 12 for the image 11 based on the information on the latent space 20 .
  • the processor 120 may convert the input image into image data on the latent space 20 by using a function that normalizes the image 11 to data on the latent space 20 .
  • the function for normalizing the image 11 to data on the latent space 20 may be a function included in the flow-based generative model. That is, the processor 120 may convert the image 11 into image data in the latent space 20 using a flow-based generation model.
  • the processor 120 may receive a target attribute value for at least one attribute among a plurality of attributes included in the image.
  • the target attribute value indicates the attribute value of the image to be changed.
  • 'brown' may be a target attribute value.
  • the processor 120 may identify an attribute value corresponding to a target attribute value among attribute values of a plurality of attributes included in the image data, and determine conversion of the image data using a difference between the target attribute value and the attribute value. Specifically, when there is a difference between the target attribute value and the attribute value, the processor 120 may determine that image data conversion is necessary. On the other hand, when there is no difference between the input target attribute value and the attribute value of the current image, the processor 120 may determine that image data conversion is not required.
  • FIG. 3 is a diagram for describing an electronic device that performs image conversion based on a target attribute value according to an embodiment of the present disclosure.
  • the processor 120 may convert the image 11 into image data 21 in the latent space 20 using a function that normalizes the image to data in the latent space. .
  • the processor 120 converts the image 11 into the latent space 20 using the flow-based generation model 30 .
  • the processor 120 may input the image 11 into the flow-based generation model 30 , and obtain image data 21 on the latent space 20 for the input image 11 .
  • the processor 120 may acquire the attribute conversion data 23 for changing the attribute value 1 of the image included in the image data 21 to the target attribute value 2 .
  • the processor 120 may determine the conversion of the image data 21 by identifying the target attribute value 2 input to the electronic device 100 and the attribute value 1 corresponding to the target attribute value.
  • the processor 120 may extract the attribute transformation data 23 based on the difference 3 between the target attribute value 2 and the attribute value 1 . .
  • the processor 120 may input the target attribute value 2 and the difference 3 between the attribute value 1 to the transformation network 40 to output attribute transformation data 23 .
  • the transformation network 40 is an artificial intelligence model trained to output attribute transformation data by inputting the difference between the target attribute value and the attribute value.
  • the transformation network 40 may learn the distribution of attribute transformation data when the transformation network 40 is trained.
  • the attribute transformation data is data on the latent space 20
  • the distribution of the attribute transformation data may be a normal distribution.
  • the transformation network 40 may determine the distribution 4 of the attribute transformation data 23 .
  • the transformation network 40 may extract the attribute transformation data 23 satisfying a preset condition from the distribution 4 of the attribute transformation data.
  • the transformation network 40 may extract the attribute transformation data 23 corresponding to the average value from the distribution 4 of the attribute transformation data.
  • the transformation network may extract the attribute transformation data 23 satisfying the condition from the distribution 4 of the attribute transformation data.
  • the processor 120 may generate the converted image data 22 for the image data 21 based on the image data 21 and the attribute conversion data 23 . At this time, the generated transformed image data 22 is also data on the latent space 20 .
  • the processor 120 combines the image data 21 obtained through the flow-based generation model 30 and the attribute conversion data 23 obtained through the conversion network 40 to generate the converted image data 22 .
  • the processor 120 can create In that the image data 21 and the property conversion data 23 can be displayed in the form of a vector on the latent space 20 , the processor 120 can combine the image data 21 and the property conversion data 23 . As a result, the converted image data 22 may be generated.
  • the processor 120 may generate the converted image 12 for the input image 11 based on the generated converted image data 22 .
  • the processor 120 generates an inverse function of a function that normalizes the image to data on the latent space, and uses the transformed image data 22 as an input of the generated inverse function to generate the transformed image 12 for the image 11 can create
  • the processor 120 converts the transformed image data 22 to the transformed image using the flow-based generation model 30 .
  • (12) can be converted to
  • the flow-based generation model 30 is an artificial intelligence model trained to enable inverse transformation
  • the processor 120 inputs the transformed image data 22 to the flow-based generation model 30 to generate the transformed image 12 .
  • FIG. 4 is a diagram for explaining a learning process of a transformation network included in an electronic device according to an embodiment of the present disclosure.
  • the transformation network 40 is an artificial intelligence model trained to output attribute transformation data using image data, attribute values, and target attribute values on the latent space 20 .
  • the processor 120 may train the transformation network 40 using the prior network 50 and the attribute classification network 60 .
  • the prior network 50 is an artificial intelligence model trained to output a reference distribution of attribute transformation data in an image using attribute values and target attribute values of the image. Specifically, the prior network 50 provides, through the distribution of the attribute transformation data 23, which attribute transformation data 23 is required in the latent space 20 to transform the image attribute from the attribute value to the target attribute value. can do.
  • the processor 120 may obtain a reference distribution of the attribute transformation data by inputting a difference value between the attribute value and the target attribute value into the prior network 50 , and train the transformation network 40 using the obtained reference distribution. .
  • the processor 120 may be used to normalize the distribution 4 of the transformation network 40 to the distribution of the attribute transformation data output by the prior network 50 .
  • the prior network 50 can be viewed as outputting a reference distribution of attribute transformation data.
  • the transformation network 40 receives image data as an input in addition to the difference between the attribute value and the target attribute value and learns to output attribute transformation data
  • the prior network 50 receives only the difference between the attribute value and the target attribute value as input and attributes the attribute It can be learned to output a distribution of transform data. That is, the prior network 50 provides distribution results of attribute conversion data for generating various images in that only the difference between the attribute value and the target attribute value is input regardless of the input image. For example, as shown in FIG. 4 , when the target attribute value is 'glasses' and the original attribute value is 'not wearing glasses', the prior network 50 receives the difference between the target attribute value and the attribute value as an input. It is possible to provide the distribution result of the attribute transformation data for generating various images 'with glasses added'.
  • the processor 120 may learn the prior network 50 by inputting various target attribute values and attribute values to the prior network 50 , but the previously learned prior network 50 may be stored in the memory 110 . have. In this case, the processor 120 may learn the transformation network 40 using the pre-stored prior network 50 .
  • the processor 120 inputs the training image data, the attribute values of the training image data, and the target attribute values into the transformation network 40 to learn the transformation network 40 to output the attribute transformation data. It is also possible to learn the distribution of , at this time, the processor 120 learns the transformation network 40 so that the distribution through the transformation network 40 can have the same or similar shape as the reference distribution output through the prior network 50 . can do it
  • the processor 120 determines the difference between the distribution through the transformation network 40 and the reference distribution output through the prior network 50 using the Kullback-Leiber divergence, so that the difference between the two distributions is preset.
  • the transformation network 40 can be trained to be less than a value. As a result of such learning, the transformation network 40 may output normalized attribute transformation data.
  • the attribute classification network 60 is an artificial intelligence model trained to output image attribute values by receiving image data on the latent space 20 as an input.
  • the processor 120 may optimize the attribute classification network 60 using the cross entropy between the probability of the image data 21 on the latent space 20 and the attribute value 1 of the image.
  • the processor 120 may train the transformation network 40 to output accurate attribute transformation data by using the attribute classification network 60 .
  • the processor 120 in the process of learning the transformation network 40, based on the image data of the training image and the attribute transformation data output by the transformation network 40, a transformation image for the image data of the training image Acquire data.
  • the processor 120 may input the obtained transformed image data to the attribute classification network 60 and train the transformation network 40 so that the output attribute value is equal to the target attribute value.
  • the processor 120 trains the transformation network 40 using the prior network 50 and the attribute classification network 60 so that the transformation network 40 outputs a transformed image matching the target attribute value.
  • the attribute classification network 60 may be used not only in the process of learning the transform network 40 , but also in the inference process of the transform network 40 .
  • the processor 120 determines whether the transformed image data generated based on the attribute transformation data generated by the transformation network 40 includes a target attribute value using the attribute classification network 60 . can do.
  • the processor 120 selects the transformed image 12 based on the transformed image data 22 can create
  • FIG. 5 is a diagram for explaining a converted image generated by an electronic device according to an embodiment of the present disclosure.
  • FIG. 5A is a diagram for explaining a case in which target attribute values such as glasses, bangs, and blonde hair are received as input in an image 510 including a person (object), and FIG. 5B is a long view in an image including clothing (object). It is a diagram for explaining a case where target attribute values such as an arm, a wide neck, or a slim fit are received as an input.
  • target attribute values such as glasses, bangs, and blonde hair are received as input in an image 510 including a person (object)
  • FIG. 5B is a long view in an image including clothing (object). It is a diagram for explaining a case where target attribute values such as an arm, a wide neck, or a slim fit are received as an input.
  • FIGS. 5A and 5B show a converted image converted by an existing known image conversion method in addition to the converted image converted using the image conversion method of the present disclosure together. started.
  • FIG. 5A illustrates a case in which an input image 510 is converted by the conventional image conversion method ((a) and (b)) and a case in which the input image 510 is converted by the image conversion method according to the present disclosure (c).
  • images in the third row of the tables 510 , 520 and 530 represent converted images generated according to the image conversion method of the present disclosure.
  • each table 550 , 560 , and 570 represents an input image including clothing (object)
  • the second row represents an image converted according to a conventional image conversion method
  • the third row A row represents an image converted according to the image conversion method according to the present disclosure.
  • a table 550 when the target attribute value is 'long arm' a table 560 when the target attribute value is 'wide neck', and a table 570 when the target attribute value is 'slim fit'.
  • the processor 120 may obtain a converted converted image by more accurately reflecting the target attribute value.
  • FIG. 6 is a block diagram illustrating a detailed configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 includes a camera 130 , a display 140 , a communication interface 150 , and an input interface 160 in addition to the memory 110 and the processor 120 .
  • a camera 130 the electronic device 100 according to the present disclosure includes a camera 130 , a display 140 , a communication interface 150 , and an input interface 160 in addition to the memory 110 and the processor 120 .
  • the camera 130 is a component for capturing an image.
  • the camera 130 is a device capable of taking still images and moving pictures, and includes one or more image sensors (eg, a front sensor or a rear sensor), a lens, an image signal processor (ISP), and a flash (eg, LED, Xenon). lamp, etc.) may be included.
  • image sensors eg, a front sensor or a rear sensor
  • ISP image signal processor
  • flash eg, LED, Xenon). lamp, etc.
  • the display 140 is a component for displaying an image.
  • the display 140 may display the image 11 and the converted image 12 .
  • the display 140 may display a process in which the image 11 is converted into the converted image 12 .
  • the display 140 may include an application screen for receiving a target attribute value, a graphic user interface (GUI) screen, and the like.
  • GUI graphic user interface
  • the display 140 may be implemented with various types of displays, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display panel (PDP), a wall, a micro LED, and the like.
  • the display 140 may be implemented as a touch screen combined with a touch sensor, a flexible display, a three-dimensional display (3D display), or the like.
  • the communication interface 150 is a component for the electronic device 100 to communicate with an external electronic device (not shown).
  • the electronic device 100 may receive an image from an external electronic device (not shown) through the communication interface 150 , convert the received image, and transmit the converted image to an external electronic device (not shown).
  • the communication interface 150 may include various communication modules such as a wired communication module (not shown), a short-range wireless communication module (not shown), and a wireless communication module (not shown).
  • the wired communication module is a module for performing communication with an external device (not shown) according to a wired communication method such as wired Ethernet.
  • the short-range wireless communication module is a module for performing communication with an external device (not shown) located in a short distance according to a short-range wireless communication method such as Bluetooth (Bluetooth, BT), BLE (Bluetooth Low Energy), or ZigBee method.
  • the wireless communication module is a module that is connected to an external network according to a wireless communication protocol such as WiFi and IEEE to communicate with an external device (not shown) and a voice recognition server (not shown).
  • the wireless communication module is configured according to various mobile communication standards such as 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), LTE Advanced (LTE-A), and 5G Networks. It may further include a mobile communication module for performing communication by accessing the mobile communication network.
  • 3G 3rd Generation
  • 3GPP 3rd Generation Partnership Project
  • LTE Long Term Evolution
  • LTE-A LTE Advanced
  • 5G Networks 5G Networks.
  • It may further include a mobile communication module for performing communication by accessing the mobile communication network.
  • the input interface 160 is a component for receiving a user input for controlling the electronic device 100 .
  • the input interface 160 may receive a user's input for the target attribute value.
  • the input interface 160 includes a touch panel 161 for receiving a user's touch input using a user's hand or a stylus pen, a keyboard 162 for receiving a user's manipulation, and a microphone 163 for receiving a user's voice command. ) may be included.
  • the present invention is not necessarily limited thereto, and various input means such as a button (not shown) may be added according to an embodiment.
  • FIG. 7 is a flowchart illustrating a method of controlling an electronic device according to various embodiments of the present disclosure
  • an input image may be converted into image data in the latent space by using a function that normalizes the image to the pre-generated data in the latent space ( S710 ).
  • the latent space represents a space created by reducing the dimension of a multidimensional image data set of an actual observation space or an image space.
  • the latent space may be a space generated while a flow-based generation model including a function trained to transform an input image into image data learns to transform an image into image data.
  • the attribute conversion data for changing the attribute value of the image included in the image data to the target attribute value may be obtained (S720).
  • the attribute conversion data may be data in the latent space.
  • the electronic device may receive a target attribute value and identify an attribute value corresponding to the target attribute value among a plurality of attribute values included in the image data.
  • conversion of image data may be determined using the identified target attribute value and a difference between the attribute values. For example, when there is a difference between the identified target attribute value and the attribute value, it is determined that image transformation is necessary, and attribute transformation data may be extracted based on the difference between the target attribute value and the attribute value.
  • the attribute transformation data may be extracted using a transformation network trained to extract the attribute transformation data.
  • the attribute transformation network may be extracted by inputting the difference value between the attribute value and the target attribute value into the transformation network.
  • the transformation network may learn a distribution of attribute transformation data for converting an attribute value of image data into a target attribute value in the learning step of the transformation network. Then, when the difference value between the attribute value and the target attribute value is input to the transformation network, the distribution of the attribute transformation data may be determined, and attribute transformation data satisfying a preset condition may be extracted from the determined distribution of the attribute transformation data.
  • converted image data for the image data may be generated (S730).
  • the converted image data may be generated by using the sum of the image data and the attribute conversion data.
  • the transformed image data may also be data in the latent space.
  • a converted image for the input image may be generated based on the converted image data (S740).
  • an inverse function of a function normalizing an image to data in the pre-generated latent space may be generated, and a transformed image for the input image may be generated by using transformed image data in the latent space as an input of the inverse function.
  • the transformed image may be obtained by inputting transformed image data into the flow-based generation model.
  • the flow-based generation model is an artificial intelligence model capable of inverse transformation, not only image data is generated from an image, but also an image can be generated from image data inversely.
  • the transformation network can be learned by the prior network and the attribute classification network.
  • the prior network is an artificial intelligence model trained to output a reference distribution of attribute transformation data using the attribute value and target attribute value of an image.
  • a reference distribution of attribute transformation data may be obtained by inputting a difference value between an attribute value and a target attribute value into the prior network, and the transformation network may be trained using the obtained reference distribution.
  • the attribute classification network is an artificial intelligence model trained to receive image data and output the attribute values of images included in the image data. By inputting transformed image data generated by the transformation network to the attribute classification network, the transformation network may be trained so that the output attribute value matches the target attribute value.
  • the attribute classification network may determine whether transformed image data generated by the transformation network includes a target attribute value. For example, in the reasoning step of the transformation network, transformed image data may be acquired based on attribute transformation data generated by the transformation network, and it may be determined whether the transformed image data includes a target attribute value based on the obtained attribute transformation data.
  • various operations described as being performed through the electronic device 100 may be performed through one or more electronic devices in the form of a control method or an operation method of the electronic device.
  • the embodiments described in the present disclosure are ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (Programmable logic devices), FPGAs (field programmable gate arrays) ), a processor, a controller, a micro-controller, a microprocessor, and may be implemented using at least one of an electrical unit for performing other functions.
  • ASICs Application Specific Integrated Circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs Programmable logic devices
  • FPGAs field programmable gate arrays
  • embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the above-described software modules may perform one or more functions and operations described herein.
  • computer instructions for performing a processing operation in a user device or an administrator device may be stored in a non-transitory computer-readable medium.
  • the computer instructions stored in the non-transitory computer-readable medium are executed by the processor of the specific device, the specific device performs the processing operation of the user device and/or the manager device according to the various embodiments described above.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, and the like, and can be read by a device.
  • a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

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

Abstract

전자 장치가 개시된다. 본 개시에 따른 전자 장치는, 기생성된 잠재 공간에 관한 정보가 저장된 메모리, 및 이미지를 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 잠재 공간 상의 이미지 데이터로 변환하고, 이미지 데이터에 포함된 이미지의 속성 값을 타겟 속성 값으로 변경하기 위한 속성 변환 데이터를 획득하며, 이미지 데이터 및 속성 변환 데이터를 기초로, 이미지 데이터에 대한 변환 이미지 데이터를 생성하고, 변환 이미지 데이터를 기초로 입력 이미지에 대한 변환 이미지를 생성하는 프로세서를 포함한다. 이때, 속성 변환 데이터 및 변환 이미지 데이터는 잠재 공간 상의 데이터이다.

Description

전자 장치 및 이의 제어 방법
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 구체적으로는 이미지에 대한 변환 이미지를 생성하는 전자 장치 및 이의 제어 방법에 관한 것이다.
최근 인공지능 기술이 발달함에 따라 다양한 기술분야에서 인공지능 기술이 활용되고 있다. 이와 관련하여, 최근에는 GAN (Generative Adversarial Network) 네트워크의 등장으로 이미지 간 변환(Image to image to translation) 기술이 등장하고 있다.
이미지 간 변환 기술은 이미지의 배경 또는 객체의 색, 형상, 모양, 나이, 성별과 같은 다양한 이미지의 속성을 변환하여, 원래의 이미지의 일부 속성을 변환한 이미지를 생성하는 기술이다.
종래에는 GAN 네트워크를 포함하는 인공지능 모델은 입력된 이미지의 다양한 속성을 학습하고, 다양한 속성 중 적어도 하나의 속성을 변환한 이미지를 출력하도록 학습되었다. 즉, 종래의 변환 이미지를 생성하는 인공지능 모델은 이미지가 존재하는 이미지 공간 상에서 이미지를 입력 받아 변환 이미지를 출력하도록 학습되었다.
그러나, 이미지 공간 상의 이미지는 이미지 변환에 불필요한 정보를 포함하고 그 크기가 클 수 있다는 점에서, 인공지능 모델이 입력된 이미지의 속성을 변환하고, 실제 이미지에 가까운 변환 이미지를 생성하는 과정에서 많은 자원이 필요로 될 수 있다. 즉, 종래의 인공지능 모델을 이용하여 이미지 변환을 수행할 경우 인공지능 모델을 포함하는 전자 장치의 부하가 증가하거나 이미지 변환의 명확성이 낮아지는 문제가 존재하였다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 구체적으로 인공지능 모델의 학습으로 생성된 잠재 공간 상에서 이미지 변환이 이뤄지도록 하여, 이미지의 추론 정확도를 높이고, 명확한 이미지를 생성하도록 하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치는 기생성된 잠재 공간에 관한 정보가 저장된 메모리, 및 이미지를 상기 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 상기 잠재 공간 상의 이미지 데이터로 변환하고, 상기 이미지 데이터에 포함된 이미지의 속성 값을 타겟 속성 값으로 변경하기 위한 속성 변환 데이터를 획득하며, 상기 이미지 데이터 및 상기 속성 변환 데이터를 기초로, 상기 이미지 데이터에 대한 변환 이미지 데이터를 생성하고, 상기 변환 이미지 데이터를 기초로 상기 입력 이미지에 대한 변환 이미지를 생성하는 프로세서를 포함한다. 이때, 상기 속성 변환 데이터 및 상기 변환 이미지 데이터는 상기 잠재 공간 상의 데이터이다.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 이미지를 기생성된 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 상기 잠재 공간 상의 이미지 데이터로 변환하는 단계, 상기 이미지 데이터에 포함된 이미지의 속성 값을 타겟 속성 값으로 변경하기 위한 속성 변환 데이터를 획득하는 단계, 상기 이미지 데이터 및 상기 속성 변환 데이터를 기초로, 상기 이미지 데이터에 대한 변환 이미지 데이터를 생성하는 단계, 및 상기 변환 이미지 데이터를 기초로 상기 입력 이미지에 대한 변환 이미지를 생성하는 단계를 포함한다. 이때, 상기 속성 변환 데이터 및 상기 변환 이미지 데이터는 상기 잠재 공간 상의 데이터이다.
도 1은 본 개시의 다양한 실시 예에 따른 전자 장치를 개략적으로 설명하기 위한 도면,
도 2는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3은 본 개시의 일 실시 예에 따라 타겟 속성 값을 기초로 이미지 변환을 수행하는 전자 장치를 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따라 전자 장치에 포함된 변환 네트워크의 학습 과정을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 전자 장치가 생성한 변환 이미지를 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 세부 구성을 설명하기 위한 블록도, 및
도 7은 본 개시의 다양한 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
본 개시에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다.
또한, 본 개시에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
본 개시에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU(Central Processing Unit) 또는 application processor)를 의미할 수 있다.
한편, 본 개시에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하기로 한다.
도 1은 본 개시의 다양한 실시 예에 따른 전자 장치를 개략적으로 설명하기 위한 도면이다.
본 개시에 따른 전자 장치(100)는 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 키오스크, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스, 게임 콘솔, 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 이미지(11)에 대한 변환 이미지(12)를 생성할 수 있다. 이때, 이미지(11)는 전자 장치(100)에 저장되어 있는 이미지, 전자 장치(100)에 포함된 카메라(미도시)를 이용하여 획득된 이미지, 전자 장치(100)가 외부 장치(미도시)로부터 수신한 이미지 또는 전자 장치(100)가 생성한 가상 이미지와 같이 다양한 이미지가 될 수 있다.
이미지(11)는 특정 오브젝트를 촬상한 이미지로, 적어도 하나의 오브젝트를 포함할 수 있다. 또한, 이미지(11)는 JPEG (Joint Photographic Experts Group), GIF(Graphics Interchange Format), PNG(Potable Network Graphics), TIFF(Tag Image File Fomat), BMP(Microsoft Windows Device Independent Bitmap), HEIF(High Efficiency Image File Format), BPG(Better Portable Graphics), Raw와 같은 래스터 방식의 이미지이거나 AI(Adobe Illustrator), SVG(Scalable Vector Graphics), VML(Vector Markup Language), CGM(Computer Graphics Metafile), 거버 포맷(Gerber format)과 같은 벡터 방식의 이미지이거나 PDF(Portable Document Format), EPS(Encapsulated Postscript)와 같은 복합 방식의 이미지일 수 있다.
이미지(11)는 복수의 속성 정보를 포함할 수 있다. 본 개시에서 이미지의 속성은 이미지에 포함된 배경 또는 객체의 색상, 크기, 형태, 모양과 같이 이미지에 포함된 배경 또는 객체를 나타내는 다양한 요소일 수 있다. 가령, 이미지에 사람 이미지(객체)가 포함된 경우, 사람의 성별, 나이, 키, 머리 스타일, 머리 길이, 머리 색깔, 눈/코/입의 크기 또는 모양, 피부 색 또는 인종과 같은 다양한 요소들이 속성 정보가 될 수 있다.
전자 장치(100)는 이미지(11)에 포함된 복수의 속성 정보 중 적어도 하나의 속성 정보를 변환하여 변환 이미지(12)를 생성할 수 있다.
변환 이미지(12)를 생성하기 위하여, 전자 장치(100)는 이미지(11)를 잠재 공간(Latent space)(20) 상의 이미지 데이터(21)로 변환할 수 있다. 본 개시에서, 잠재 공간은 실제 관찰 공간(observation space) 또는 실제 이미지가 존재하는 이미지 공간(image space)에 대응되는 공간으로, 실제 관찰 공간 또는 이미지 공간 내에 존재하는 이미지가 설명될 수 있는 공간을 나타낸다.
구체적으로, 전자 장치(100)는 실제 관찰 공간 또는 이미지 공간의 다차원의 이미지 데이터 셋의 차원을 축소하여 새로운 차원의 이미지 데이터 셋을 생성함으로써, 잠재 공간을 미리 생성할 수 있다. 이때, 차원은 이미지의 속성 정보에 대응되는 개념일 수 있다. 즉, 전자 장치(100)는 이미지 데이터 셋에 포함된 복수의 속성 정보 중 이미지를 표현하는데 필요한 속성 정보만을 포함하도록 이미지 데이터 셋의 차원을 축소하여 잠재 공간을 미리 생성할 수 있다.
전자 장치(100)는 이미지(11)를 잠재 공간 상의 데이터로 정규화하는 함수 F를 이용하여 이미지(11)를 잠재 공간 상의 이미지 데이터(21)로 변환할 수 있다. 본 개시에서 정규화는 이미지(11)에 포함된 데이터의 범위를 사용자가 원하는 범위 또는 기설정된 범위로 제한하는 것을 의미한다. 함수 F는 이미지(11)를 정규화하여 잠재 공간 상의 이미지 데이터(21)로 변환하는 함수를 의미한다. 가령, 함수 F의 입력으로 이미지(11)가 입력되면, 함수 F는 이미지(11)에 포함된 데이터의 범위를 사용자가 원하는 범위 또는 기설정된 범위로 제한하여 잠재 공간 상의 이미지 데이터(21)로 변환할 수 있다.
이때, 잠재 공간 상의 이미지 데이터는 벡터의 형태로 표현될 수 있다. 또한, 이미지 데이터(21)는 이미지에 포함된 속성 정보의 전부 또는 일부를 포함할 수 있다.
한편, 전자 장치(100)는 인공지능 모델을 포함할 수 있다. 본 개시에서 인공지능 모델은 머신 러닝(또는 기계 학습) 또는 딥 러닝을 통하여 학습된 인공 신경망을 포함하는 인공지능 모델일 수 있다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
전자 장치(100)는 전자 장치(100)에 포함된 인공지능 모델의 학습 과정에서 잠재 공간(20)을 생성할 수 있다.
구체적으로, 전자 장치(100)는 이미지를 잠재 공간 상의 데이터로 정규화하도록 학습된 인공지능 모델을 포함할 수 있다. 이때, 인공지능 모델은 이미지를 잠재 공간 상의 데이터로 정규화하는 함수 F를 포함할 수 있다.
전자 장치(100)는 복수의 학습 이미지를 잠재 공간 상의 데이터로 정규화하도록 학습하는 과정에서 잠재 공간(20)을 생성할 수 있다.
이와 같이, 전자 장치(100)는 미리 생성된 잠재 공간(20) 상에서 이미지 데이터(21)를 생성하고 생성된 이미지 데이터(21)를 변환하여 변환 이미지 데이터(22)를 생성할 수 있다.
그리고, 전자 장치(100)는 변환 이미지 데이터(22)를 이용하여 변환 이미지(12)를 생성할 수 있다. 구체적으로, 전자 장치(100)는 함수 F의 역함수 F-1을 이용하여 변환 이미지 데이터(22)를 변환 이미지(12)로 변환할 수 있다.
이와 같이, 본 개시에 따른 전자 장치(100)는 이미지 데이터 셋의 차원이 축소된 잠재 공간 상에서 이미지 변환을 수행할 수 있다. 이 경우, 전자 장치(100)는 잠재 공간 상의 이미지 데이터에 대한 직접적인 추론을 할 수 있다. 또한, 전자 장치(100)는 이미지 데이터 셋의 차원이 축소된 잠재 공간 상에서 변환된 이미지 데이터에 대한 추론을 수행한다는 점에서, 전자 장치(100)의 리소스 사용 및 부하가 줄어들 수 있으며, 사용자의 의도에 보다 부합하게 변환된 변환 이미지를 제공할 수 있다.
도 2는 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2에 도시된 바와 같이, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다.
메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다. 인스트럭션은 프로그래밍 작성 언어에서 프로세서(120)가 직접 실행할 수 있는 하나의 동작 문장(action statement)을 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다.
프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 후술할 다양한 실시 예들에 따른 동작을 수행할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터 등을 저장하기 위한 구성요소이다. 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
메모리(110)에는 기생성된 잠재 공간(20)에 관한 정보가 저장되어 있을 수 있다. 도 1에서 상술한 바와 같이, 잠재 공간(20)은 다차원 이미지 데이터 셋의 차원을 축소하여 생성된 새로운 차원의 이미지 데이터 셋의 공간으로, 이미지 공간 내의 이미지가 설명될 수 있는 공간을 나타낸다.
그리고, 메모리(110)는 이미지(11)를 변환 이미지(12)로 변환하는데 사용되는 인공지능 모델을 저장할 수 있다.
구체적으로, 메모리(110)는 이미지(11)를 잠재 공간 상의 데이터로 정규화하도록 학습된 플로우 기반 생성 모델(flow-based generative model) 및 잠재 공간 상의 이미지 데이터(21)를 변환하여 변환 이미지 데이터(22)를 생성하는 변환 네트워크 모델(translator network model)을 포함할 수 있다.
플로우 기반 생성 모델은 학습 이미지의 특징을 학습하여 학습 이미지와 유사한 이미지 데이터를 생성하도록 학습된 인공지능 모델일 수 있다. 이때, 학습 이미지와 유사한 이미지 데이터는 벡터 형태로 표현될 수 있다.
플로우 기반 생성 모델은 복수의 이미지를 복수의 이미지 데이터로 변환하도록 학습하면서 잠재 공간을 생성할 수 있다. 즉, 잠재 공간(20)은 플로우 기반 생성 모델의 학습 시에 생성되는 학습 이미지 데이터 셋의 집합을 나타낼 수 있다.
플로우 기반 생성 모델은 역변환이 가능한 네트워크이다. 여기에서, 역변환이 가능하다는 것은 네트워크의 출력 값을 입력으로 하여 입력 값을 출력할 수 있음을 나타낸다. 즉, 플로우 기반 생성 모델은 이미지를 입력으로 하여 이미지 데이터를 출력하도록 학습되었을 뿐만 아니라, 역으로 이미지 데이터를 입력으로 하여 이미지를 생성하도록 학습된 인공지능 모델일 수 있다.
플로우 기반 생성 모델은 적어도 하나 이상의 역변환이 가능한 네트워크를 포함할 수 있다. 가령, 플로우 기반 생성 모델은, squeeze 네트워크, actnorm 네트워크, 1x1 convolution 네트워크, coupling 네트워크 및 split 네트워크와 같은 복수의 네트워크를 포함할 수 있으며, squeeze 네트워크, actnorm 네트워크, 1x1 convolution 네트워크, coupling 네트워크 및 split 네트워크는 각각 역변환이 가능한 네트워크 일 수 있다. 한편, 플로우 기반 생성 모델에 포함되는 네트워크의 종류 및 형태는 경우에 따라 상이할 수 있다는 점 및 squeeze 네트워크, actnorm 네트워크, 1x1 convolution 네트워크, coupling 네트워크 및 split 네트워크는 공지된 기술인 점을 고려하여, 구체적인 설명을 생략하도록 한다.
변환 네트워크 모델은 잠재 공간 상의 이미지 데이터를 기초로 이미지의 속성을 변환하기 위한 속성 변환 데이터를 출력하도록 학습된 인공지능 모델일 수 있다. 구체적으로, 변환 네트워크 모델은 잠재 공간 상의 이미지 데이터, 이미지의 원래 속성 값 및 이미지의 타겟 속성 값을 기초로, 이미지의 속성을 원래 속성 값에서 타겟 속성 값으로 변환하기 위한 속성 변환 데이터를 제공하도록 학습된 모델일 수 있다. 이때, 속성 변환 데이터는 잠재 공간 상의 데이터로 벡터로 표현될 수 있다. 변환 네트워크 모델의 구체적인 동작에 대해서는 도 3에서 후술하기로 한다.
한편, 메모리(110)는 변환 네트워크 모델을 학습하는데 필요한 prior 네트워크 모델 및 속성 분류 네트워크 모델을 포함할 수 있다. 구체적으로, prior 네트워크 모델 및 속성 분류 네트워크 모델은 변환 네트워크의 모델의 학습 과정에서 사용되어 변환 네트워크의 정확도를 높일 수 있다.
구체적으로, prior 네트워크는 이미지의 원래 속성 값 및 이미지의 타겟 속성 값을 기초로, 이미지의 속성을 원래 속성 값에서 타겟 속성 값으로 변환하기 위한 속성 변환 데이터의 분포를 출력하도록 학습된 모델일 수 있다. prior 네트워크를 통하여 출력된 속성 변환 데이터의 정규 분포를 기초로, 변환 네트워크는 속성 변환 데이터의 분포를 정확하게 출력할 수 있다.
속성 분류 네트워크 모델은 이미지 데이터에 포함된 이미지 속성 값을 출력하도록 학습된 모델일 수 있다. 속성 분류 네트워크 모델은 변환 네트워크가 출력한 속성 변환 데이터를 기초로 생성된 변환 이미지 데이터의 속성 값을 출력할 수 있다. 속성 분류 네트워크 모델은 변환 네트워크를 통하여 생성된 변환 이미지 데이터의 속성 값이 타겟 속성 값을 포함하는지 판단할 수 있다. 속성 분류 네트워크를 통하여 출력된 변환 이미지 데이터의 속성 값을 이용하여, 변환 네트워크는 타겟 속성 값을 포함하는 변환 이미지 데이터를 정확하게 출력할 수 있다.
변환 네트워크를 학습시키는 과정에서 사용되는 prior 네트워크 모델 및 속성 분류 네트워크 모델에 관해서는 도 4에서 보다 구체적으로 후술하도록 한다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 예를 들어, 프로세서(120)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(120)에 연결된 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(120)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다.
이를 위해, 프로세서(120)는 해당 동작을 수행하기 위한 전용 프로세서(예, 임베디드 프로세서) 또는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU (Central Processing Unit) 또는 AP(application processor))로 구현될 수 있다.
본 개시에서 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU(Graphics Processing Unit), VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
프로세서(120)는 잠재 공간(20)에 대한 정보를 기초로, 이미지(11)에 대한 변환 이미지(12)를 생성할 수 있다.
구체적으로, 프로세서(120)는 이미지(11)를 잠재 공간(20) 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 잠재 공간(20) 상의 이미지 데이터로 변환할 수 있다. 이때, 이미지(11)를 잠재 공간(20) 상의 데이터로 정규화하는 함수는 플로우 기반 생성 모델에 포함된 함수일 수 있다. 즉, 프로세서(120)는 플로우 기반 생성 모델을 이용하여 이미지(11)를 잠재 공간(20) 상의 이미지 데이터로 변환할 수 있다.
프로세서(120)는 이미지에 포함된 복수의 속성 중 적어도 하나의 속성에 대한 타겟 속성 값을 입력 받을 수 있다. 여기에서 타겟 속성 값은, 변경하고자 하는 이미지의 속성 값을 나타낸다. 가령, 이미지에 포함된 사람(객체)의 머리 색을 검은색에서 갈색으로 변경하려는 경우, '갈색'이 타겟 속성 값이 될 수 있다.
프로세서(120)는 이미지 데이터에 포함된 복수의 속성의 속성 값 중 타겟 속성 값에 대응되는 속성 값을 식별하고, 타겟 속성 값 및 속성 값의 차이를 이용하여 이미지 데이터의 변환을 판단할 수 있다. 구체적으로, 프로세서(120)는 타겟 속성 값 및 속성 값 간의 차이가 존재하는 경우 이미지 데이터의 변환이 필요하다고 판단할 수 있다. 반면, 입력된 타겟 속성 값과 현재 이미지의 속성 값과 차이가 없는 경우, 프로세서(120)는 이미지 데이터의 변환이 필요하지 않다고 판단할 수 있다.
도 3은 본 개시의 일 실시 예에 따라 타겟 속성 값을 기초로 이미지 변환을 수행하는 전자 장치를 설명하기 위한 도면이다.
도 1 및 도 2에서 상술한 바와 같이, 프로세서(120)는 이미지를 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 이미지(11)를 잠재 공간(20) 상의 이미지 데이터(21)로 변환할 수 있다.
이때, 이미지를 잠재 공간 상의 데이터로 정규화하는 함수가 플로우 기반 생성 모델(30)을 통하여 구현되는 경우, 프로세서(120)는 플로우 기반 생성 모델(30)을 이용하여 이미지(11)를 잠재 공간(20) 상의 이미지 데이터(21)로 변환할 수 있다. 프로세서(120)는 플로우 기반 생성 모델(30)에 이미지(11)를 입력하고, 입력된 이미지(11)에 대한 잠재 공간(20) 상의 이미지 데이터(21)를 획득할 수 있다.
프로세서(120)는 이미지 데이터(21)에 포함된 이미지의 속성 값(1)을 타겟 속성 값(2)으로 변경하기 위한 속성 변환 데이터(23)를 획득할 수 있다.
구체적으로, 프로세서(120)는 전자 장치(100)에 입력된 타겟 속성 값(2)과 타겟 속성 값에 대응되는 속성 값(1)을 식별하여 이미지 데이터(21)의 변환을 판단할 수 있다.
프로세서(120)는 이미지 데이터(21)의 변환이 필요하다고 판단된 경우, 타겟 속성 값(2) 및 속성 값(1)의 차이(3)를 기초로 속성 변환 데이터(23)를 추출할 수 있다.
프로세서(120)는 타겟 속성 값(2) 및 속성 값(1)의 차이(3)를 변환 네트워크(40)에 입력하여 속성 변환 데이터(23)를 출력할 수 있다.
도 2에서 상술한 바와 같이, 변환 네트워크(40)는 타겟 속성 값 및 속성 값의 차이를 입력으로 하여 속성 변환 데이터를 출력하도록 학습된 인공지능 모델이다. 변환 네트워크(40)는 변환 네트워크(40)의 학습 시 속성 변환 데이터의 분포를 학습할 수 있다. 여기에서 속성 변환 데이터는 잠재 공간(20)상의 데이터이며, 속성 변환 데이터의 분포는 정규 분포일 수 있다.
따라서, 변환 네트워크(40)는 타겟 속성 값(2) 및 속성 값(1)의 차이(3)가 입력되면, 속성 변환 데이터(23)의 분포(4)를 판단할 수 있다. 그리고, 변환 네트워크(40)는 속성 변환 데이터의 분포(4) 중 기설정된 조건을 만족하는 속성 변환 데이터(23)를 추출할 수 있다. 가령, 변환 네트워크(40)는 속성 변환 데이터의 분포(4)에서 평균 값에 대응되는 속성 변환 데이터(23)를 추출할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 실시 예에 따라 변환 네트워크는 속성 변환 데이터의 분포(4)에서 조건을 만족하는 속성 변환 데이터(23)를 추출할 수 있다.
프로세서(120)는 이미지 데이터(21) 및 속성 변환 데이터(23)를 기초로, 이미지 데이터(21)에 대한 변환 이미지 데이터(22)를 생성할 수 있다. 이때, 생성되는 변환 이미지 데이터(22) 또한 잠재 공간(20) 상의 데이터이다.
구체적으로, 프로세서(120)는 플로우 기반 생성 모델(30)을 통하여 획득된 이미지 데이터(21)와 변환 네트워크(40)를 통하여 획득된 속성 변환 데이터(23)를 합하여, 변환 이미지 데이터(22)를 생성할 수 있다. 이미지 데이터(21) 및 속성 변환 데이터(23)는 잠재 공간(20) 상에서 벡터의 형태로 표시될 수 있다는 점에서, 프로세서(120)는 이미지 데이터(21) 및 속성 변환 데이터(23)를 합할 수 있으며, 그 결과 변환 이미지 데이터(22)를 생성할 수 있다.
프로세서(120)는 생성된 변환 이미지 데이터(22)를 기초로 입력 이미지(11)에 대한 변환 이미지(12)를 생성할 수 있다.
구체적으로, 프로세서(120)는 이미지를 잠재 공간 상의 데이터로 정규화하는 함수의 역함수를 생성하고, 변환 이미지 데이터(22)를 생성된 역함수의 입력으로 하여 이미지(11)에 대한 변환 이미지(12)를 생성할 수 있다.
이때, 이미지를 잠재 공간 상의 데이터로 정규화하는 함수가 플로우 기반 생성 모델(30)을 통하여 구현되는 경우, 프로세서(120)는 플로우 기반 생성 모델(30)을 이용하여 변환 이미지 데이터(22)를 변환 이미지(12)로 변환할 수 있다. 플로우 기반 생성 모델(30)은 역 변환이 가능하도록 학습된 인공지능 모델이라는 점에서, 프로세서(120)는 플로우 기반 생성 모델(30)에 변환 이미지 데이터(22)를 입력하여 변환 이미지(12)를 생성할 수 있다.
도 4는 본 개시의 일 실시 예에 따라 전자 장치에 포함된 변환 네트워크의 학습 과정을 설명하기 위한 도면이다.
상술한 바와 같이, 변환 네트워크(40)는 잠재 공간(20)상의 이미지 데이터, 속성 값 및 타겟 속성 값을 이용하여 속성 변환 데이터를 출력하도록 학습된 인공지능 모델이다.
프로세서(120)는 prior 네트워크(50) 및 속성 분류 네트워크(60)를 이용하여 변환 네트워크(40)를 학습 시킬 수 있다.
prior 네트워크(50)는 이미지의 속성 값 및 타겟 속성 값을 이용하여 이미지에서 속성 변환 데이터의 기준 분포를 출력하도록 학습된 인공지능 모델이다. 구체적으로, prior 네트워크(50)는 이미지의 속성을 속성 값에서 타겟 속성 값으로 변환하기 위해 잠재 공간(20)에서 어떤 속성 변환 데이터(23)가 필요한지를 속성 변환 데이터(23)의 분포를 통하여 제공할 수 있다.
프로세서(120)는 prior 네트워크(50)에 속성 값 및 타겟 속성 값의 차이 값을 입력하여 속성 변환 데이터의 기준 분포를 획득하고, 획득된 기준 분포를 이용하여 변환 네트워크(40)를 학습시킬 수 있다.
구체적으로, 프로세서(120)는 prior 네트워크(50)에 의해 출력되는 속성 변환 데이터의 분포를 변환 네트워크(40)의 분포(4)를 정규화하는데 사용될 수 있다. 이러한 점에서, prior 네트워크(50)는 속성 변환 데이터의 기준 분포를 출력하는 것으로 볼 수 있다.
변환 네트워크(40)는 속성 값 및 타겟 속성 값의 차이 외에도 이미지 데이터를 입력으로 받아 속성 변환 데이터를 출력하도록 학습하는데 반해, prior 네트워크(50)는 속성 값 및 타겟 속성 값의 차이만을 입력으로 받아 속성 변환 데이터의 분포를 출력하도록 학습될 수 있다. 즉, prior 네트워크(50)는 입력된 이미지에 관계 없이 속성 값 및 타겟 속성 값의 차이만 입력 받는다는 점에서, 다양한 이미지를 생성하기 위한 속성 변환 데이터의 분포 결과를 제공한다. 가령, 도 4에서 도시된 바와 같이, 타겟 속성 값이 '안경'이고, 원래 속성 값이 '안경을 쓰지 않음'인 경우, prior 네트워크(50)는 타겟 속성 값과 속성 값의 차이를 입력으로 받아 '안경이 추가된' 다양한 이미지를 생성하기 위한 속성 변환 데이터의 분포 결과를 제공할 수 있다.
프로세서(120)는 prior 네트워크(50)에 다양한 타겟 속성 값 및 속성 값을 입력하여 prior 네트워크(50)를 학습시킬 수 있으나, 메모리(110)에 이미 학습된 prior 네트워크(50)가 저장되어 있을 수도 있다. 이 경우, 프로세서(120)는 기 저장된 prior 네트워크(50)를 이용하여 변환 네트워크(40)를 학습시킬 수 있다.
구체적으로, 프로세서(120)는 학습 이미지 데이터, 학습 이미지 데이터의 속성 값 및 타겟 속성 값을 변환 네트워크(40)에 입력하여 변환 네트워크(40)가 속성 변환 데이터를 출력하도록 학습시키는 과정에서 속성 변환 데이터의 분포도 학습시킬 수 있는데, 이때, 프로세서(120)는 변환 네트워크(40)를 통한 분포가 prior 네트워크(50)를 통해 출력된 기준 분포와 동일하거나 유사한 형태를 가질 수 있도록 변환 네트워크(40)를 학습시킬 수 있다.
더욱 구체적으로, 프로세서(120)는 Kullback-Leiber divergence 를 이용하여, 변환 네트워크(40)를 통한 분포와 prior 네트워크(50)를 통해 출력된 기준 분포의 차이를 판단함으로써, 두 분포의 차이가 기 설정된 값 미만이 되도록 변환 네트워크(40)를 학습시킬 수 있다. 이와 같은 학습 결과, 변환 네트워크(40)는 정규화된 속성 변환 데이터를 출력할 수 있다.
한편, 도 2에서 상술한 바와 같이, 속성 분류 네트워크(60)는 잠재 공간(20) 상의 이미지 데이터를 입력으로 받아 이미지 속성 값을 출력하도록 학습된 인공지능 모델이다. 프로세서(120)는 잠재 공간(20) 상의 이미지 데이터(21)의 확률 및 이미지의 속성 값(1) 간의 교차 엔트로피(cross entropy)를 이용하여 속성 분류 네트워크(60)를 최적화시킬 수 있다.
프로세서(120)는 속성 분류 네트워크(60)를 이용하여, 변환 네트워크(40)가 정확한 속성 변환 데이터를 출력하도록 변환 네트워크(40)를 학습시킬 수 있다.
구체적으로, 프로세서(120)는, 변환 네트워크(40)를 학습시키는 과정에서, 학습 이미지의 이미지 데이터 및 변환 네트워크(40)에 의해 출력된 속성 변환 데이터를 기초로 학습 이미지의 이미지 데이터에 대한 변환 이미지 데이터를 획득한다. 이때, 프로세서(120)는 획득된 변환 이미지 데이터를 속성 분류 네트워크(60)에 입력하여 출력된 속성 값이 타겟 속성 값과 같아지도록 변환 네트워크(40)를 학습시킬 수 있다.
이와 같이, 프로세서(120)는 prior 네트워크(50) 및 속성 분류 네트워크(60)를 이용하여 변환 네트워크(40)를 학습시킴으로써, 변환 네트워크(40)가 타겟 속성 값에 부합하는 변환 이미지를 출력하도록 할 수 있다.
한편, 속성 분류 네트워크(60)는 변환 네트워크(40)를 학습시키는 과정뿐만 아니라, 변환 네트워크(40)의 추론 과정에서도 사용될 수 있다. 가령, 일 실시 예에 따라, 프로세서(120)는 변환 네트워크(40)에 의해 생성된 속성 변환 데이터를 기초로 생성된 변환 이미지 데이터가 타겟 속성 값을 포함하는지를 속성 분류 네트워크(60)를 이용하여 판단할 수 있다.
이때, 속성 분류 네트워크의 판단 결과, 변환 이미지 데이터(22)가 타겟 속성 값(2)을 포함하는 것으로 판단된 경우, 프로세서(120)는 변환 이미지 데이터(22)를 기초로 변환 이미지(12)를 생성할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치가 생성한 변환 이미지를 설명하기 위한 도면이다.
도 5a는 사람(객체)가 포함된 이미지(510)에서 안경, 앞머리, 금발과 같은 타겟 속성 값을 입력으로 받은 경우를 설명하기 위한 도면이고, 도 5b는 의류(객체)가 포함된 이미지에서 긴 팔, 와이드 넥(wide neck) 또는 슬림 핏(slim fit)과 같은 타겟 속성 값을 입력으로 받은 경우를 설명하기 위한 도면이다.
또한, 도 5a 및 도 5b는 본 개시에 따른 이미지 변환 방법의 효과를 설명하기 위하여, 본 개시의 이미지 변환 방법을 이용하여 변환된 변환 이미지 이외에 기존의 공지된 이미지 변환 방법으로 변환된 변환 이미지를 함께 개시하였다.
도 5a는 입력 이미지(510)를 기존의 이미지 변환 방법으로 변환한 경우((a) 및 (b)) 및 본 개시에 따른 이미지 변환 방법으로 변환한 경우(c)를 도시하고 있다.
기존의 이미지 변환 방법의 경우, 각 특정 속성에 대한 이미지의 평균 잠재 벡터를 계산하고 저장한다. 그 후, 평균 잠재 벡터의 차이를 사용하여 원래 잠재 벡터를 원하는 벡터로 변환한다. 이때, 다양한 변환 결과를 생성할 수 있도록 노이즈가 평균 잠재 벡터의 차이에 추가될 수 있다.
도 5a의 (a)의 경우, 즉, 테이블(510, 520 및 530)의 첫번째 행의 이미지들은 평균 잠재 벡터의 차이에 노이즈가 추가되지 않은 경우의 변환 이미지를 나타내는 것이며, 도 5a의 (b)의 경우, 즉, 테이블(510, 520 및 530)의 두번째 행의 이미지들은 잠재 벡터의 차이에 노이즈가 추가된 경우의 변환 이미지를 나타내는 것이다.
한편, 도 5a (c)의 경우, 즉, 테이블(510, 520 및 530)의 세번째 행의 이미지들은 본 개시의 이미지 변환 방법에 따라 생성된 변환 이미지를 나타내는 것이다.
도 5a의 타겟 속성 값이 '안경'인 경우의 테이블(520), 타겟 속성 값이 '앞머리'인 경우의 테이블(530) 및 타겟 속성 값이 '금발'인 경우의 테이블(530)을 참조하면, 종래의 이미지 변환 방법의 경우보다 본 개시에 따른 이미지 변환 방법에 따를 경우, 타겟 속성 값에 부합하는 변환 이미지가 생성되는 것을 알 수 있다.
마찬가지로, 도 5b의 경우, 각 테이블(550, 560, 및 570)의 첫번째 행은 의류(객체)를 포함하는 입력 이미지를 나타내고, 두번째 행은 종래의 이미지 변환 방법에 따라 변환된 이미지를 나타내며, 세번째 행은 본 개시에 따른 이미지 변환 방법에 따라 변환된 이미지를 나타낸다.
도 5b의 타겟 속성 값이 '긴 팔'인 경우의 테이블(550), 타겟 속성 값이 '와이드 넥'인 경우의 테이블(560) 및 타겟 속성 값이 '슬림 핏'인 경우의 테이블(570)을 각각 참조하면, 종래의 이미지 변환 방법의 경우보다 본 개시에 따른 이미지 변환 방법에 따를 경우, 타겟 속성 값에 부합하는 변환 이미지가 생성되는 것을 알 수 있다.
이와 같이, 본 개시에 따른 이미지 변환 방법을 사용할 경우, 프로세서(120)가 타겟 속성 값을 보다 정확하게 반영하여 변환된 변환 이미지를 획득할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 세부 구성을 설명하기 위한 블록도이다.
도 6에 도시된 바와 같이, 본 개시에 따른 전자 장치(100)는 메모리(110), 프로세서(120) 외에도 카메라(130), 디스플레이(140), 통신 인터페이스(150) 및 입력 인터페이스(160)를 포함할 수 있다. 이와 관련하여, 도 2의 메모리(110) 및 프로세서(120)와 중복되는 설명에 관하여는 생략하기로 한다.
카메라(130)는 이미지를 촬상하기 위한 구성 요소이다. 카메라(130)는 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 하나 이상의 이미지 센서(예를 들어, 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 플래시(예를 들어, LED, Xenon lamp 등)를 포함할 수 있다.
디스플레이(140)는 이미지를 표시하기 위한 구성 요소이다. 디스플레이(140)는 이미지(11) 및 변환 이미지(12)를 표시할 수 있다. 또한, 디스플레이(140)는 이미지(11)가 변환 이미지(12)로 변환되는 과정을 표시할 수도 있다. 그리고, 디스플레이(140)는 타겟 속성 값을 입력 받기 위한 어플리케이션 화면, GUI(Graphic User Interface)화면 등을 포함할 수 있다.
디스플레이(140)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel), Wall, Micro LED 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 또한, 디스플레이(140)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
통신 인터페이스(150)는 전자 장치(100)가 외부 전자 장치(미도시)와 통신을 수행하기 위한 구성 요소이다. 전자 장치(100)는 통신 인터페이스(150)를 통하여 외부 전자 장치(미도시)로부터 이미지를 수신할 수 있으며, 수신된 이미지를 변환하여 변환 이미지를 외부 전자 장치(미도시)에 전송할 수 있다.
통신 인터페이스(150)는 유선 통신 모듈(미도시), 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다.
여기에서, 유선 통신 모듈은 유선 이더넷(Ethernet)과 같이 유선 통신 방식에 따라 외부 장치(미도시)와 통신을 수행하기 위한 모듈이다. 그리고, 근거리 무선 통신 모듈이란 블루투스(Bluetooth, BT), BLE(Bluetooth Low Energy), ZigBee 방식 등과 같은 근거리 무선 통신 방식에 따라 근거리에 위치한 외부 장치(미도시)와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 외부 장치(미도시) 및 음성 인식 서버(미도시)와 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 5세대 네트워크(5G Networks) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
입력 인터페이스(160)는 전자 장치(100)를 제어하기 위한 사용자 입력을 수신하기 위한 구성 요소이다. 특히, 입력 인터페이스(160)는 타겟 속성 값에 대한 사용자의 입력을 수신할 수 있다. 입력 인터페이스(160)는 사용자의 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력 받기 위한 터치 패널(161), 사용자의 조작을 입력 받이 위한 키보드(162) 및 사용자의 음성 명령을 입력 받기 위한 마이크(163)를 포함할 수 있다. 다만 반드시 이에 한하는 것은 아니며, 실시 예에 따라 버튼(미도시)과 같은 다양한 입력 수단이 추가될 수 있다.
도 7은 본 개시의 다양한 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선, 이미지를 기생성된 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 잠재 공간 상의 이미지 데이터로 변환할 수 있다(S710). 여기에서, 잠재 공간은 실제 관찰 공간 또는 이미지 공간의 다차원의 이미지 데이터 셋의 차원을 축소하여 생성된 공간을 나타낸다. 또한, 잠재 공간은 입력 이미지를 이미지 데이터로 변환하도록 학습된 함수를 포함하는 플로우 기반 생성 모델이 이미지를 이미지 데이터로 변환하도록 학습하면서 생성하는 공간일 수 있다.
그리고, 이미지 데이터에 포함된 이미지의 속성 값을 타겟 속성 값으로 변경하기 위한 속성 변환 데이터를 획득할 수 있다(S720). 이때, 속성 변환 데이터는 잠재 공간 상의 데이터일 수 있다.
속성 변환 데이터를 획득하기 위하여, 전자 장치는 타겟 속성 값을 입력 받아, 이미지 데이터에 포함된 복수의 속성 값 중 타겟 속성 값에 대응되는 속성 값을 식별할 수 있다. 그리고, 식별된 타겟 속성 값 및 속성 값 간의 차이를 이용하여 이미지 데이터의 변환을 판단할 수 있다. 가령, 식별된 타겟 속성 값과 속성 값 간의 차이가 존재하는 경우, 이미지 변환이 필요하다고 판단하여, 타겟 속성 값과 속성 값 간의 차이를 기초로 속성 변환 데이터를 추출할 수 있다.
이때, 속성 변환 데이터를 추출하도록 학습된 변환 네트워크를 이용하여 속성 변환 데이터를 추출할 수 있다. 구체적으로, 속성 값 및 타겟 속성 값의 차이 값을 변환 네트워크에 입력하여 속성 변환 네트워크를 추출할 수 있다.
여기에서, 변환 네트워크는 변환 네트워크의 학습 단계에서, 이미지 데이터의 속성 값을 타겟 속성 값으로 변환하기 위한 속성 변환 데이터의 분포를 학습할 수 있다. 그리고, 변환 네트워크에 속성 값 및 타겟 속성 값의 차이 값이 입력되면, 속성 변환 데이터의 분포를 판단하고 판단된 속성 변환 데이터의 분포에서 기설정된 조건을 만족하는 속성 변환 데이터를 추출할 수 있다.
이미지 데이터 및 속성 변환 데이터를 기초로, 이미지 데이터에 대한 변환 이미지 데이터를 생성할 수 있다(S730). 구체적으로, 이미지 데이터 및 속성 변환 데이터의 합을 이용하여 변환 이미지 데이터를 생성할 수 있다. 이미지 데이터 및 속성 변환 데이터가 잠재 공간 상의 데이터라는 점에서, 변환 이미지 데이터 또한 잠재 공간 상의 데이터일 수 있다.
그리고, 변환 이미지 데이터를 기초로 입력 이미지에 대한 변환 이미지를 생성할 수 있다(S740).
구체적으로, 이미지를 기생성된 잠재 공간 상의 데이터로 정규화하는 함수의 역함수를 생성하고, 잠재 공간 상의 변환 이미지 데이터를 역함수의 입력으로 하여 입력 이미지에 대한 변환 이미지를 생성할 수 있다.
또는, 이미지를 정규화하는 함수가 플로우 기반 생성 모델을 통하여 구현되는 경우, 플로우 기반 생성 모델에 변환 이미지 데이터를 입력하여 변환 이미지를 획득할 수 있다. 이때, 플로우 기반 생성 모델은 역변환이 가능한 인공지능 모델이라는 점에서, 이미지로부터 이미지 데이터를 생성하는 것뿐 만 아니라, 역으로 이미지 데이터에서 이미지를 생성할 수도 있다.
한편, 변환 네트워크는 prior 네트워크 및 속성 분류 네트워크에 의해 학습될 수 있다.
구체적으로, prior 네트워크는 이미지의 속성 값 및 타겟 속성 값을 이용하여 속성 변환 데이터의 기준 분포를 출력하도록 학습된 인공지능 모델이다. prior 네트워크에 속성 값 및 타겟 속성 값의 차이 값을 입력하여 속성 변환 데이터의 기준 분포를 획득하고, 획득된 기준 분포를 이용하여 변환 네트워크를 학습시킬 수 있다.
속성 분류 네트워크는 이미지 데이터를 입력 받아 이미지 데이터에 포함된 이미지의 속성 값을 출력하도록 학습된 인공지능 모델이다. 속성 분류 네트워크에 변환 네트워크에 의해 생성된 변환 이미지 데이터를 입력하여 출력된 속성 값이 타겟 속성 값과 일치하도록 변환 네트워크를 학습시킬 수 있다.
한편, 일 실시 예에 따라, 속성 분류 네트워크는 변환 네트워크에 의해 생성된 변환 이미지 데이터가 타겟 속성 값을 포함하는지 판단할 수도 있다. 가령, 변환 네트워크의 추론 단계에서 변환 네트워크에 의해 생성된 속성 변환 데이터를 기초로 변환 이미지 데이터를 획득하고, 획득된 속성 변환 데이터를 기초로 변환 이미지 데이터가 타겟 속성 값을 포함하는지 판단할 수 있다.
이상에서, 전자 장치(100)를 통해 수행되는 것으로 기재된 다양한 동작들은, 전자 장치의 제어 방법 내지는 동작 방법의 형태로 하나 이상의 전자 장치를 통해 수행될 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(Programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processor), 제어기(controller), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessor), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 사용자 장치 또는 관리자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 사용자 장치 및/또는 관리자 장치의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    기생성된 잠재 공간에 관한 정보가 저장된 메모리; 및
    이미지를 상기 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 상기 잠재 공간 상의 이미지 데이터로 변환하고,
    상기 이미지 데이터에 포함된 이미지의 속성 값을 타겟 속성 값으로 변경하기 위한 속성 변환 데이터를 획득하며,
    상기 이미지 데이터 및 상기 속성 변환 데이터를 기초로, 상기 이미지 데이터에 대한 변환 이미지 데이터를 생성하고,
    상기 변환 이미지 데이터를 기초로 상기 입력 이미지에 대한 변환 이미지를 생성하는 프로세서;를 포함하고,
    상기 속성 변환 데이터 및 상기 변환 이미지 데이터는 상기 잠재 공간 상의 데이터인, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 타겟 속성 값을 입력 받고,
    상기 이미지 데이터에 포함된 복수의 속성 값 중 상기 타겟 속성 값에 대응되는 속성 값을 식별하고,
    상기 타겟 속성 값 및 상기 속성 값의 차이를 이용하여 상기 이미지 데이터의 변환을 판단하고,
    상기 타겟 속성 값 및 상기 속성 값의 차이를 기초로 상기 속성 변환 데이터를 추출하는, 전자 장치.
  3. 제2항에 있어서,
    상기 메모리는,
    상기 잠재 공간 상의 이미지 데이터, 상기 속성 값 및 상기 타겟 속성 값을 이용하여, 상기 속성 변환 데이터를 출력하도록 학습된 제1 인공지능 모델을 포함하고,
    상기 프로세서는, 상기 제1 인공지능 모델에 상기 속성 값 및 상기 타겟 속성 값의 차이 값을 입력하여 상기 속성 변환 데이터를 추출하는, 전자 장치.
  4. 제3항에 있어서,
    상기 제1 인공지능 모델은,
    상기 제1 인공지능 모델의 학습 시, 상기 제1 인공지능 모델에 입력된 이미지 데이터의 속성 값을 타겟 속성 값으로 변환하기 위한 속성 변환 데이터의 분포를 학습하고,
    상기 제1 인공지능 모델에 상기 속성 값 및 상기 타겟 속성 값의 차이 값이 입력되면, 상기 속성 변환 데이터의 분포를 판단하고, 상기 판단된 속성 변환 데이터의 분포에서 기 설정된 조건을 만족하는 속성 변환 데이터를 추출하는, 전자 장치.
  5. 제4항에 있어서,
    상기 메모리는,
    상기 이미지의 속성 값 및 상기 타겟 속성 값을 이용하여, 이미지에서의 속성 변환 데이터의 기준 분포를 출력하도록 학습된 제2 인공지능 모델을 포함하고,
    상기 프로세서는,
    상기 제2 인공지능 모델에 상기 속성 값 및 상기 타겟 속성 값의 차이 값을 입력하여 상기 속성 변환 데이터의 기준 분포를 획득하고,
    상기 획득된 기준 분포를 이용하여 상기 제1 인공지능 모델을 학습시키는, 전자 장치.
  6. 제3항에 있어서,
    상기 메모리는,
    입력된 이미지 데이터에 포함된 이미지의 속성 값을 출력하도록 학습된 제3 인공지능 모델을 포함하고,
    상기 프로세서는,
    상기 제3 인공지능 모델을 이용하여 상기 제1 인공지능 모델에 의하여 획득된 속성 변환 데이터를 기초로 생성된 변환 이미지 데이터가 타겟 속성 값을 포함하는지 판단하는, 전자 장치.
  7. 제3항에 있어서,
    상기 메모리는,
    상기 입력 이미지를 상기 이미지 데이터로 변환하도록 학습된 함수를 포함하는 제4 인공지능 모델을 포함하고,
    상기 잠재 공간은, 상기 제4 인공지능 모델이 복수의 이미지를 복수의 이미지 데이터로 변환하도록 학습하면서 생성되는 공간인, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 함수의 역함수를 생성하고,
    상기 잠재 공간 상의 변환 이미지 데이터를 상기 역함수의 입력으로 하여 상기 이미지에 대한 변환 이미지를 생성하는, 전자 장치.
  9. 전자 장치의 제어 방법에 있어서,
    이미지를 기생성된 잠재 공간 상의 데이터로 정규화하는 함수를 이용하여 입력 이미지를 상기 잠재 공간 상의 이미지 데이터로 변환하는 단계;
    상기 이미지 데이터에 포함된 이미지의 속성 값을 타겟 속성 값으로 변경하기 위한 속성 변환 데이터를 획득하는 단계;
    상기 이미지 데이터 및 상기 속성 변환 데이터를 기초로, 상기 이미지 데이터에 대한 변환 이미지 데이터를 생성하는 단계; 및
    상기 변환 이미지 데이터를 기초로 상기 입력 이미지에 대한 변환 이미지를 생성하는 단계;를 포함하고,
    상기 속성 변환 데이터 및 상기 변환 이미지 데이터는 상기 잠재 공간 상의 데이터인, 제어 방법.
  10. 제9항에 있어서,
    상기 타겟 속성 값을 입력 받는 단계; 및
    상기 이미지 데이터에 포함된 복수의 속성 값 중 상기 타겟 속성 값에 대응되는 속성 값을 식별하는 단계;를 더 포함하고,
    상기 속성 변환 데이터를 획득하는 단계는,
    상기 타겟 속성 값 및 상기 속성 값의 차이를 이용하여 상기 이미지 데이터의 변환을 판단하는 단계; 및
    상기 타겟 속성 값 및 상기 속성 값의 차이를 기초로 상기 속성 변환 데이터를 추출하는 단계;를 포함하는, 제어 방법.
  11. 제10항에 있어서,
    상기 추출하는 단계는,
    상기 속성 변환 데이터를 출력하도록 학습된 제1 인공지능 모델에 상기 속성 값 및 상기 타겟 속성 값의 차이 값을 입력하여 상기 속성 변환 데이터를 추출하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 제1 인공지능 모델은,
    상기 제1 인공지능 모델의 학습 시, 상기 이미지 데이터의 속성 값을 타겟 속성 값으로 변환하기 위한 속성 변환 데이터의 분포를 학습하고,
    상기 제1 인공지능 모델에 상기 속성 값 및 상기 타겟 속성 값의 차이 값이 입력되면, 상기 속성 변환 데이터의 분포를 판단하고, 상기 판단된 속성 변환 데이터의 분포에서 기 설정된 조건을 만족하는 속성 변환 데이터를 추출하는, 제어 방법.
  13. 제12항에 있어서,
    상기 이미지의 속성 값 및 상기 타겟 속성 값을 이용하여, 속성 변환 데이터의 기준 분포를 출력하도록 학습된 제2 인공지능 모델에 상기 속성 값 및 상기 타겟 속성 값의 차이 값을 입력하여 상기 속성 변환 데이터의 기준 분포를 획득하는 단계; 및
    상기 획득된 기준 분포를 이용하여 상기 제1 인공지능 모델을 학습시키는 단계;를 더 포함하는, 제어 방법.
  14. 제11항에 있어서,
    이미지 데이터를 입력 받아 이미지 데이터에 포함된 이미지의 속성 값을 출력하도록 학습된 제3 인공지능 모델을 이용하여, 상기 제1 인공지능 모델에 의하여 획득된 속성 변환 데이터를 기초로 생성된 변환 이미지 데이터가 타겟 속성 값을 포함하는지 판단하는 단계;를 더 포함하는, 제어 방법.
  15. 제11항에 있어서,
    상기 잠재 공간은,
    상기 입력 이미지를 상기 이미지 데이터로 변환하도록 학습된 함수를 포함하는 제4 인공지능 모델이 이미지를 이미지 데이터로 변환하도록 학습하면서 생성하는 공간인, 제어 방법.
PCT/KR2021/005652 2020-06-18 2021-05-06 전자 장치 및 이의 제어 방법 WO2021256702A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0074103 2020-06-18
KR1020200074103A KR20210156470A (ko) 2020-06-18 2020-06-18 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
WO2021256702A1 true WO2021256702A1 (ko) 2021-12-23

Family

ID=79177305

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/005652 WO2021256702A1 (ko) 2020-06-18 2021-05-06 전자 장치 및 이의 제어 방법

Country Status (2)

Country Link
KR (1) KR20210156470A (ko)
WO (1) WO2021256702A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102543461B1 (ko) * 2022-04-29 2023-06-14 주식회사 이너버즈 딥 러닝을 이용하여 특정한 속성을 선별적으로 변화시키는 이미지 조정 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146405A (ja) * 2007-12-12 2009-07-02 Fuji Xerox Co Ltd 人体姿勢推定システム、方法およびプログラム
KR102067340B1 (ko) * 2018-07-16 2020-01-16 한국과학기술원 유방암 병변 특성에 따른 유방 종괴 생성 방법 및 그 시스템
JP2020046984A (ja) * 2018-09-19 2020-03-26 株式会社Ye Digital 画像生成方法、画像判定方法、画像生成装置および画像生成プログラム
US20200151559A1 (en) * 2018-11-14 2020-05-14 Nvidia Corporation Style-based architecture for generative neural networks
KR20200058297A (ko) * 2018-11-19 2020-05-27 고려대학교 산학협력단 설명 가능한 소수샷 영상 분류 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146405A (ja) * 2007-12-12 2009-07-02 Fuji Xerox Co Ltd 人体姿勢推定システム、方法およびプログラム
KR102067340B1 (ko) * 2018-07-16 2020-01-16 한국과학기술원 유방암 병변 특성에 따른 유방 종괴 생성 방법 및 그 시스템
JP2020046984A (ja) * 2018-09-19 2020-03-26 株式会社Ye Digital 画像生成方法、画像判定方法、画像生成装置および画像生成プログラム
US20200151559A1 (en) * 2018-11-14 2020-05-14 Nvidia Corporation Style-based architecture for generative neural networks
KR20200058297A (ko) * 2018-11-19 2020-05-27 고려대학교 산학협력단 설명 가능한 소수샷 영상 분류 방법 및 장치

Also Published As

Publication number Publication date
KR20210156470A (ko) 2021-12-27

Similar Documents

Publication Publication Date Title
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
US11294457B2 (en) Display apparatus and controlling method thereof
WO2021101087A1 (en) Electronic apparatus and controlling method thereof
KR102118519B1 (ko) 전자 장치 및 그 제어 방법
WO2022014790A1 (en) Guided backpropagation-gradient updating for image processing task using redundant information from image
WO2021177784A1 (en) Super-resolution depth map generation for multi-camera or other environments
WO2017047913A1 (en) Display device, controlling method thereof and computer-readable recording medium
WO2021071155A1 (en) Electronic apparatus and control method thereof
WO2021256702A1 (ko) 전자 장치 및 이의 제어 방법
WO2021251615A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2024071884A1 (ko) 민머리 인물 이미지 생성 장치 및 방법, 및 민머리 인물 이미지 생성 장치를 포함하는 가상 헤어 스타일링 체험 장치 및 이를 이용한 가상 헤어 스타일링 방법
WO2018080204A1 (ko) 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록 매체
KR102288001B1 (ko) 나이 변환된 얼굴을 갖는 직업영상 생성 장치 및 이를 포함한 포토 부스
WO2023075508A1 (ko) 전자 장치 및 그 제어 방법
WO2022197136A1 (en) System and method for enhancing machine learning model for audio/video understanding using gated multi-level attention and temporal adversarial training
WO2022092487A1 (ko) 전자 장치 및 그 제어 방법
WO2022085914A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2021107592A1 (en) System and method for precise image inpainting to remove unwanted content from digital images
WO2022108008A1 (en) Electronic apparatus and controlling method thereof
WO2021230474A1 (ko) 전자 장치, 시스템 및 그 제어 방법
WO2024085381A1 (ko) 이미지에서 관심 영역을 식별하기 위한 전자 장치 및 그 제어 방법
WO2023219240A1 (ko) 전자 장치 및 이의 제어 방법
WO2023068484A1 (ko) 이미지를 처리하는 전자 장치 및 그 제어 방법
WO2023153742A1 (ko) 전자 장치 및 그 제어 방법
WO2022086028A1 (ko) 전자 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21824856

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

Country of ref document: EP

Kind code of ref document: A1