Patent Description:
Recently, as digital cameras and smartphones have become widespread, users are taking many pictures, and accordingly, demand for a technology for editing the pictures has increased. In particular, a technology has been developed, in which a device automatically edits or suggests editing without the need for a user to manually set and edit parameters. Users tend to set the editing type and parameters according to the type of subject, such as making a person's body slimmer, increasing the brightness of a person's face, and increasing the saturation of food.

Unlike the existing rule-based smart system, an artificial intelligence (Al) system is a system in which a machine learns, judges, and becomes smarter by itself. The more the artificial intelligence system is used, the better the recognition rate and the more accurate the understanding of user preferences, and thus, the existing rule-based smart systems are gradually being replaced by deep learning-based Al systems. Artificial intelligence technology consists of machine learning (deep learning) and element technologies using machine learning. Machine learning is an algorithm technology that classifies/learns features of input data by itself, and element technology is a technology that uses machine learning algorithms such as deep learning, and consists of technical fields such as language understanding, visual understanding, reasoning/prediction, knowledge expression, motion control. In similar regards, publication <CIT> relates to methods for identifying and describing relationships between objects in an image.

According to an embodiment of the present disclosure, an artificial intelligence system and method for modifying an image on the basis of a relationship between objects are provided, so that a modified image, in which an image effect suitable for an original image is applied, may be generated.

As technical means for achieving the above-described technical objective, according to an embodiment of the present disclosure, provided is an image modification system including a processor, and a memory storing instructions, wherein the processor is configured to, by executing the instructions, receive an original image, recognize a plurality of objects in the original image to generate object information representing the plurality of objects, generate an object relationship graph indicating relationships between the plurality of objects, based on the original image and the object information, obtain image effect data including image effects to be respectively applied to the plurality of objects by inputting the object relationship graph to an image modification graph neural network (GNN) model, and generate a modified image based on the original image, the object information, and the image effect data, corresponding to the appended claims.

In an embodiment, the processor may be further configured to display the modified image, receive a user input for the modified image, and update the image modification GNN model based on the user input.

In an embodiment, the at least one processor may be further configured to display objects and at least one relationship, which correspond to an image effect applied to the modified image, receive a selection input by a user, with respect to the displayed objects and the displayed at least one relationship, generate a final modified image, in which an image effect corresponding to the objects and the at least one relationship, for which the selection input is received, is applied, and update the image modification GNN model based on the selection input by the user.

In an embodiment of the present disclosure, provided is an image modification model training system including a processor, and a memory storing instructions, wherein the processor is configured to, by executing the instructions, receive an original image and a modified image which is the original image to which an image effect is applied, recognize a plurality of objects in the original image to generate object information representing the plurality of objects, generate an object relationship graph indicating relationships between the plurality of objects, based on the original image and the object information, generate, based on the original image, the object information, and the modified image, image effect data including image effects respectively applied to the plurality of objects in the modified image, and train, based on the object relationship graph and the image effect data, an image modification graph neural network (GNN) model including the object relationship graph as an input and the image effect data as an output, corresponding to the appended claims.

In an embodiment, the relationships between the plurality of objects included in the object relationship graph may include an interaction between at least one person among the plurality of objects and at least one thing among the plurality of objects.

In an embodiment, the object relationship graph may include each of the plurality of objects as a node, and each of the relationships between the plurality of objects as an edge.

In an embodiment, the object information may include respective features of the plurality of objects, and the object relationship graph may include each of the features of the plurality of objects as a node feature.

In an embodiment, each edge of the object relationship graph may have a weight according to a type of a relevant relationship.

In an embodiment, an edge which has a plurality of corresponding relationships among the edges may have, as a weight, an average of weights according to the plurality of relationships.

In an embodiment, the processor may be further configured to generate the object relationship graph based on metadata of the original image.

In an embodiment, the image effect data may include a table which includes each of the plurality of objects as a row and each of the image effects as a column.

In an embodiment of the disclosure, provided is an operating method of an image modification system, the operating method including receiving an original image, recognizing a plurality of objects in the original image to generate object information representing the plurality of objects, generating an object relationship graph indicating relationships between the plurality of objects, based on the original image and the object information, obtaining image effect data including image effects to be respectively applied to the plurality of objects by inputting the object relationship graph to an image modification graph neural network (GNN) model, and generating a modified image based on the original image, the object information, and the image effect data, corresponding to the appended claims.

In an embodiment of the disclosure, provided is an operating method of an image modification model training system, the operating method including receiving an original image and a modified image which is the original image to which an image effect is applied, recognizing a plurality of objects in the original image to generate object information representing the plurality of objects, generating an object relationship graph indicating relationships between the plurality of objects, based on the original image and the object information, generating, based on the original image, the object information, and the modified image, image effect data including image effects respectively applied to the plurality of objects in the modified image, and training, based on the object relationship graph and the image effect data, an image modification graph neural network (GNN) model including the object relationship graph as an input and the image effect data as an output, corresponding to the appended claims.

In an embodiment of the disclosure, a program product stored in a computer-readable recording medium to execute the method according to an embodiment of the present disclosure on a computer is included.

In an embodiment of the disclosure, a computer-readable recording medium having recorded thereon a program for executing the method according to an embodiment of the present disclosure on a computer is included.

An embodiment of the present disclosure will be described in detail with reference to the accompanying drawings in order to clarify the technical considerations of the present disclosure. In the description of the present disclosure, certain detailed explanations of functions or components of the related art are omitted when it is deemed that they may unnecessarily obscure the essence of the present disclosure. Elements having substantially the same functional configuration in the drawings are given the same reference numbers and reference numerals as much as possible even though they are shown in different drawings. For convenience of explanation, when necessary, the device and method will be described together. Each operation of the present disclosure does not necessarily have to be performed in the order described, and may be performed in parallel, selectively, or individually.

<FIG> is a schematic view illustrating a structure of an image modification system based on a relationship between objects, according to an embodiment of the present disclosure. Referring to <FIG>, an image modification system <NUM> according to an embodiment of the present disclosure may include a processor <NUM> and a memory <NUM> storing one or more instructions that are executable by the processor <NUM>. An operation of the image modification system <NUM>, performed by the processor <NUM> executing one or more instructions stored in the memory <NUM>, is described below in detail with reference to <FIG>.

<FIG> is a detailed view of a structure of an image modification system according to an embodiment of the present disclosure. Referring to <FIG>, an object recognition unit <NUM>, an object relationship graph generation unit <NUM>, an image modification graph neural network (GNN) model <NUM>, and an image modification unit <NUM> may be stored in the memory <NUM>, and the processor <NUM> may read them from the memory <NUM> to perform a method according to an embodiment of the present disclosure.

<FIG> is a schematic flowchart of a flow of an operating method of an image modification system, according to an embodiment of the present disclosure, and <FIG> is a diagram illustrating a data flow during operation of the image modification system, according to an embodiment of the present disclosure. Referring to <FIG> and <FIG>, the processor <NUM> of the image modification system <NUM> may receive an original image in operation S310, and recognize a plurality of objects in the original image and generate object information representing the recognized plurality of objects in operation S320. The objects may include a person, an animal, a thing, a background, etc. included in an original image. For example, like a person and a hand, a hand and a finger, a car and a wheel, one object may be included in another object.

<FIG> is a view illustrating objects recognized in an original image, according to an embodiment of the present disclosure. Referring to <FIG>, in an original image which is a captured image of an American football game, objects such as a main person, a ball, background people, and a sports stadium are recognized.

An operation of recognizing a plurality of objects in an original image may be performed by the object recognition unit <NUM>. The object recognition unit <NUM> may use a neural network model for recognizing an object in an image. The object recognition unit <NUM> may use a multi-Al recognition model such as object detection, scene recognition, and food type classification.

Referring back to <FIG> and <FIG>, the processor <NUM> may generate an object relationship graph indicating relationships between a plurality of objects, based on the original image and the object information, in operation S330. A relationship between objects may include interactions between objects, and in particular, interactions between at least one person and at least one object, such as looking, eating, catching, throwing, pushing, wearing, riding, etc. The relationships between objects may include 'not relevant'. A relationship between objects, included in an object relationship graph, may include a relationship between a main person of an original image with another object.

<FIG> is a diagram illustrating a relationship between objects recognized in an original image, according to an embodiment of the present disclosure. Referring to <FIG>, it can be seen that a gaze and a throw, which are relationships between a main person and a ball, are recognized in the original image of <FIG>.

<FIG> is a diagram showing an object relationship graph according to an embodiment of the present disclosure. Referring to <FIG>, a graph is shown, in which each of the objects recognized in <FIG> is a node, and each of the relationships between the objects recognized in <FIG>, is an edge. That is, in the object relationship graph according to an embodiment of the present disclosure, each of the plurality of objects recognized in the original image may be a node, and each of the relationships between the plurality of objects may be an edge.

<FIG> is a diagram illustrating an adjacent matrix of an object relationship graph according to an embodiment of the present disclosure. Referring to <FIG>, the object relationship graph shown in <FIG> is expressed as an adjacent matrix. As illustrated in <FIG>, one edge may correspond to a plurality of relationships.

The operation of generating an object relationship graph may be performed by the object relationship graph generation unit <NUM>. The object relationship graph generation unit <NUM> may use a neural network model for generating an object relationship graph.

The processor <NUM> may recognize not only objects in an original image, but also features of the objects. That is, object information may include features of each of a plurality of objects. The features of an object may include a location of the object in an image, a size of the object, a color of the object, a type (category) of the object, a behavior of a person/animal, a type of a place, a region, and the like. The features of objects may be different for each type of object. For example, the features of a person may include a person's gender, age, behavior, etc., and the features of a dog may include a breed, size (large dog, medium-sized dog, small dog, etc.), hair color, behavior, etc. of the dog, and the features of food may include the region, country, material, cooking method (baking, steaming, frying, etc.) of the food. That is, the processor <NUM> may recognize features of each type of objects in an original image. An operation of recognizing the features of objects in an original image may be performed by the object recognition unit <NUM>.

An object relationship graph may include features of each of a plurality of objects. <FIG> is a diagram showing an object relationship graph according to an embodiment of the present disclosure. Referring to <FIG>, it can be seen that in the graph as shown in <FIG>, features of a corresponding object are added as node features to each node. That is, in the object relationship graph according to an embodiment of the present disclosure, each of the features of each of a plurality of objects may be a node feature.

<FIG> is a diagram illustrating a node feature matrix of an object relationship graph according to an embodiment of the present disclosure. Referring to <FIG>, node features of the object relationship graph shown in <FIG> are represented by a node feature matrix. That is, the object relationship graph shown in <FIG> may be represented by the adjacent matrix shown in <FIG> and the node feature matrix shown in <FIG>.

Each edge of the object relationship graph may have a weight according to a type of relationship between objects. <FIG> is a diagram illustrating an adjacent matrix of an object relationship graph having edge weights, according to an embodiment of the present disclosure. When one edge corresponds to a plurality of relationships, an average of weights according to the plurality of relationships may be used as a weight of the edge. The weights may be preset based on knowledge.

The processor <NUM> may generate an object relationship graph based on metadata about an original image. The metadata may include, for example, location information and date information of an image, and information about an application used. Metadata may include information automatically generated when a picture is taken, such as EXIF information. The processor <NUM> may determine a node or an edge based on the metadata. For example, the processor <NUM> may determine a region (e.g., Finland) or a place (e.g., a sports field) of an image as a node from location information of a picture.

Referring back to <FIG> and <FIG>, the processor <NUM> may obtain image effect data including image effects to be respectively applied to a plurality of objects, by inputting the object relationship graph to the image modification GNN model <NUM> in operation S340. The image effect may include Adjust Saturation, Adjust Lightness, Adjust Color, Sharpen, Blur, Enlarge eyes, and the like. Each image effect may contain a change value. The change value may include <NUM>. The change value may include 'not relevant'.

<FIG> is a diagram illustrating image effect data according to an embodiment of the present disclosure. Referring to <FIG>, a table is shown in which each of the objects recognized in <FIG> is a row, and each of image effects to be applied to the objects is a column. That is, the image effect data according to an embodiment of the present disclosure may include a table in which each of a plurality of objects recognized in an original image is a row and each of image effects to be applied to the objects is a column.

The image modification GNN model <NUM> is an artificial intelligence neural network model that has an object relationship graph as an input and image effect data as an output, and may determine, based on an object relationship graph of an original image, image effects suitable to be applied to the original image, for each object. A method of training the image modification GNN model <NUM> will be described in detail later with reference to <FIG>. The image modification GNN model <NUM> may include a graph convolutional network (GCN).

Referring back to <FIG> and <FIG>, the processor <NUM> may generate a modified image based on the original image, object information, and image effect data in operation S350. Here, the modified image is the original image, in which an image effect corresponding to each object is applied. That is, the processor <NUM> may generate, with respect to the original image, a modified image by applying an image effect determined by the image modification GNN model <NUM>, to each of a plurality of recognized objects.

The operation of generating the modified image may be performed by the image modification unit <NUM>. The image modification unit <NUM> may use a neural network model such as Generative Adversarial Networks (GAN) to apply an image effect to an original image.

The image modification system <NUM> according to an embodiment of the present disclosure may provide, with respect to an original image including a plurality of objects, a modified image, in which an image effect suitable for each object is applied. In particular, the image modification system <NUM> may provide a modified image, in which a suitable image effect is applied according to the features of each object, according to the type of each object, or according to the features of each type of each object. For example, with respect to an original image of a person eating food in a restaurant, the image modification system <NUM> may provide a modified image in which an effect of increasing brightness on a person's face, an effect of increasing saturation on food, and an effect of increasing sharpness on warm food among the food are applied.

In addition, by not only using the features of each object, but also using a relationship between the objects, the image modification system <NUM> may provide a modified image, in which most suitable image effects for the entire image are applied. For example, in an original image, when various foods are placed in front of a person and the person is eating one of them, a modified image, in which an effect of increasing the saturation is applied only to the food that the person is eating among the various foods, may be obtained.

The processor <NUM> may display the modified image, in which the image effect is applied, receive a user input for the modified image, and update the image modification GNN model <NUM> based on the user input. <FIG> is a diagram illustrating an operation of a user interface according to an embodiment of the present disclosure. Referring to <FIG>, the processor <NUM> may display objects recognized in an original image and relationships between the objects, and allow a user to select a desired object and a desired relationship to be applied to image modification. That is, the processor <NUM> may display objects to an image effect applied to the modified image, and at least one relationship, receive a user selection input for the displayed objects and the at least one relationship, and generate a final modified image, in which an image effect corresponding to the at least one object and the relationship, for which the selection input is received. The processor <NUM> may update the image modification GNN model <NUM> based on the above user selection input.

<FIG> is a schematic view illustrating a structure of an image modification model training system based on a relationship between objects, according to an embodiment of the present disclosure. Referring to <FIG>, an image modification model training system <NUM> according to an embodiment of the present disclosure may include a processor <NUM> and a memory <NUM> storing one or more instructions that are executable by the processor <NUM>. The operation of the image modification model training system <NUM> performed by the processor <NUM> by executing one or more instructions stored in the memory <NUM> will be described in detail below with reference to <FIG> and <FIG>, and repeated descriptions provided previously with respect to the image modification system <NUM> will be omitted as much as possible.

<FIG> is a detailed view of a structure of an image modification model training system according to an embodiment of the present disclosure. Referring to <FIG>, the object recognition unit <NUM>, the object relationship graph generation unit <NUM>, an image effect data generation unit <NUM>, and a model training unit <NUM> may be stored in the memory <NUM>, and the processor <NUM> perform the method according to an embodiment of the present disclosure, by reading these from the memory <NUM>. The model training unit <NUM> may include the image modification GNN model <NUM>.

<FIG> is a schematic flowchart of a flow of an operating method of an image modification model training system, according to an embodiment of the present disclosure, and <FIG> is a diagram illustrating a data flow during operation of the image modification model training system according to an embodiment of the present disclosure. Referring to <FIG> and <FIG>, the processor <NUM> of the image modification model training system <NUM> may receive an original image and a modified image in operation S1610. The modified image is the original image, to which an image effect is applied. Here, different image effects may be applied to respective objects. The processor <NUM> may recognize a plurality of objects in the original image to generate object information representing the recognized plurality of objects, in operation S1620. The processor <NUM> may generate an object relationship graph indicating relationships between the objects based on the original image and the object information, in operation S1630.

The processor <NUM> may generate image effect data including image effects respectively applied to the plurality of objects in the modified image, based on the original image, the object information, and the modified image, in operation S1640. The image effect data is data including image effects respectively applied to the plurality of objects in the modified image, as described above with respect to the image modification system <NUM>. The image effect data may be generated by the image effect data generation unit <NUM>.

The processor <NUM> may train the image modification GNN model <NUM> based on the object relationship graph and the image effect data in operation S1650. Training of the image modification GNN model <NUM> may be performed by the model training unit <NUM>. When the image modification GNN model <NUM> is trained, and when a change value of the image effect data is 'not relevant', a learning loss may not be applied to the corresponding object and image effect.

The object relationship graph generation unit <NUM> may include a neural network model for generating the object relationship graph, and the processor <NUM> may receive an object relationship graph corresponding to the original image and train the neural network model for generating the object relationship graph.

<NUM>/<NUM> The image modification model training system <NUM> according to an embodiment of the present disclosure may train, based on a data set including various original images and modified images, the image modification GNN model <NUM> such that an image effect suitable for each object according to a relationship between objects of an original image is determined.

An embodiment of the present disclosure may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include computer storage media and communication media. The computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. The communication media may typically include other data of a modulated data signal, such as computer readable instructions, data structures, or program modules.

Also, the computer-readable storage media may be provided in the form of a non-transitory storage medium. The term 'non-transitory storage medium' may mean a tangible device without including a signal, e.g., electromagnetic waves, and may not distinguish between storing data in the storage medium semi-permanently and temporarily. For example, the term the 'non-transitory storage medium' may include a buffer that temporarily stores data.

In an embodiment of the disclosure, the aforementioned method according to the various embodiments of the disclosure may be provided in a computer program product. The computer program product may be a commercial product that may be traded between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)), through an application store (e.g., Play Store™), directly between two user devices (e.g., smart phones), or online (e.g., downloaded or uploaded). In the case of online distribution, at least part of the computer program product (e.g., a downloadable app) may be at least temporarily stored or arbitrarily created in a storage medium that may be readable to a device such as a server of the manufacturer, a server of the application store, or a relay server.

In the specification, the term "module" may refer to a hardware component such as a processor or a circuit, and/or a software component executed by the hardware component such as the processor.

Also, in the present specification, the expression "including at least one of a, b, or c" may denote including only a, including only b, including only c, including a and b, including b and c, including a and c, and including all of a, b, and c.

Functions related to artificial intelligence, according to the present disclosure, are operated via a processor and a memory. The processor may include one or more processors. The one or more processors may include a universal processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), etc., a dedicated graphic processor such as a graphics processing unit (GP), a vision processing unit (VPU), etc., or a dedicated Al processor such as a neural processing unit (NPU). The one or more processors control to process input data according to a predefined operation rule or artificial intelligence model, stored in the memory. When the one or more processors are the dedicated Al processors, they may be designed in a hardware structure that is specific to dealing with a particular Al model.

The predefined operation rule or the artificial intelligence model is made by training. Specifically, the predefined operation rule or the Al model being made by training refers to the predefined operation rule or the Al model established to perform a desired feature (or a purpose) as a basic artificial intelligence model is trained using a plurality of pieces of training data according to a learning algorithm. Such training may be performed by a device itself in which artificial intelligence is performed according to the disclosure, or by a separate server and/or system. Examples of the learning algorithm may include supervised learning, unsupervised learning, semisupervised learning, or reinforcement learning, without being limited thereto.

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 an operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by a 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 a 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), a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited to the above-described examples.

Claim 1:
An image modification system (<NUM>) comprising:
a processor (<NUM>); and
a memory (<NUM>) storing instructions,
wherein the processor is configured to, by executing the instructions,
receive an original image,
recognize a plurality of objects in the original image to generate object information representing the plurality of objects,
generate an object relationship graph indicating relationships between the plurality of objects, based on the original image and the object information,
obtain image effect data including image effects to be respectively applied to the plurality of objects by inputting the object relationship graph to an image modification graph neural network, GNN, model, and
generate a modified image based on the original image, the object information, and the image effect data.