WO2023149198A1 - 画像処理装置、画像処理方法及びプログラム - Google Patents
画像処理装置、画像処理方法及びプログラム Download PDFInfo
- Publication number
- WO2023149198A1 WO2023149198A1 PCT/JP2023/001190 JP2023001190W WO2023149198A1 WO 2023149198 A1 WO2023149198 A1 WO 2023149198A1 JP 2023001190 W JP2023001190 W JP 2023001190W WO 2023149198 A1 WO2023149198 A1 WO 2023149198A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- latent variable
- image processing
- processing
- generative model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
Definitions
- the present disclosure relates to an image processing device, an image processing method, and a program.
- image processing technologies have been implemented using deep learning. For example, image generation, image editing, fusion of a plurality of images, and the like are realized.
- An object of the present disclosure is to provide services or devices capable of executing various image processing.
- An image processing apparatus includes one or more storage devices and one or more processors, and the one or more processors input a first latent variable into a first generative model. to generate a first image by associating the first latent variable with the identification information of the first generative model and storing it in one or more storage devices; obtaining identification information of a first generative model associated with the latent variable of and the first latent variable; generating a second latent variable based on the first latent variable; Generating a second image by inputting the variables into the first generative model, and storing the second latent variables in one or more storage devices in association with the identification information of the first generative model.
- the second image is an image different from the first image, the image including at least a second object different from the first object contained in the first image.
- FIG. 1 is a diagram showing an example of the functional configuration of an image processing apparatus.
- FIG. 2 is a diagram showing an example of a process selection screen.
- FIG. 3 is a diagram showing an example of a process selection screen.
- FIG. 4 is a diagram showing an example of an image generation screen.
- FIG. 5 is a diagram showing an example of an image generation screen.
- FIG. 6 is a diagram showing an example of an image generation screen.
- FIG. 7 is a diagram showing an example of an image generation screen.
- FIG. 8 is a diagram showing an example of a save confirmation screen.
- FIG. 9 is a diagram showing an example of an image fusion screen.
- FIG. 10 is a diagram showing an example of the image selection screen.
- FIG. 11 is a diagram showing an example of an image fusion screen.
- FIG. 12 is a diagram showing an example of an image fusion screen.
- FIG. 13 is a diagram showing an example of an attribute adjustment screen.
- FIG. 14 is a diagram showing an example of an attribute adjustment screen.
- FIG. 15 is a diagram showing an example of an attribute adjustment screen.
- FIG. 16 is a diagram showing an example of a help screen.
- FIG. 17 is a diagram showing an example of the image details screen.
- FIG. 18 is a diagram illustrating an example of a processing procedure of an image processing method;
- FIG. 19 is a diagram illustrating an example of the processing procedure of image fusion processing.
- FIG. 20 is a diagram illustrating an example of a hardware configuration of an image generation device;
- An image processing apparatus is an information processing apparatus that provides an image processing tool in which various image processes are integrated.
- the image processing tool in this embodiment can generate an image, adjust the attributes of an object included in the image, edit the image, change the posture of the object included in the image, and fuse a plurality of images as image processing.
- the object included in the image is a character (person).
- the object included in the image is not limited to this, and may be any object that can be represented by an image, such as animals, fictional creatures, robots, landscapes, and buildings.
- the image may be expressed in any form, such as an illustration style, a photograph style, computer graphics (CG: Computer Graphics), or the like.
- CG Computer Graphics
- the image may be used for moving images or may be used for animation.
- the image processing tool in this embodiment makes it possible to use an image generated by one image process in another image process.
- a plurality of images generated by image generation processing can be fused into one image by image fusion processing.
- an image generated by a method other than an image processing tool and an image generated by image generation processing can be merged into one image by image fusion processing.
- image fusion processing can be performed on an image obtained by attribute adjustment processing, image editing processing, or attitude change processing.
- attribute adjustment processing, image editing processing, attitude change processing, or image fusion processing can be performed on the fusion image generated by the image fusion processing.
- the image processing tool in this embodiment can use multiple generation models according to the characteristics of the image to be processed.
- An example of image features is the body part (for example, face, upper body, whole body, etc.), sex, clothes, etc. of a person included in the image.
- Another example of image characteristics is the type of object included in the image, the resolution of the image, the touch of the image, and the like.
- the units for preparing generative models are not limited to these, and generative models may be prepared according to other characteristics.
- the image processing tool in this embodiment implements predetermined image processing by inputting latent variables corresponding to the generative model into a trained generative model or an edited model trained to correspond to the generative model. do.
- the “latent variables according to the generative model” are, for example, latent variables belonging to the latent space of the generative model or latent variables linked to the generative model.
- a latent variable is information necessary for image generation using a generative model, and may be sampled from the probability distribution followed by variables input to the generative model during training. Also, the latent variable may be the latent information described in Patent Document 1. Also, the latent variable may be information including either a code or an attribute described in Patent Document 1. A latent variable is information input to a corresponding generative model, and may include information on noise, genes, attributes, or posture.
- the image processing tool in this embodiment can execute latent variable generation processing for generating latent variables from images.
- the latent variable generation process can generate latent variables belonging to the latent space of the generative model by inputting an image into an encoder model corresponding to the generative model.
- the encoder model may be a neural network trained for the generative model.
- the latent variable generation process can generate latent variables belonging to the latent space of the generative model by optimizing initial latent variables using the generative model.
- a method of specifying the initial latent variable may be a fixed value or a random value, but is not limited to them.
- the latent variables generated using the encoder model may be optimized using the generative model.
- the latent variable generation process is not limited to these, and any method may be used to generate latent variables in which the input image belongs to the latent space of the generative model.
- the image processing tool in this embodiment executes the latent variable generation process for one of the images when the latent variables of the multiple input images belong to different latent spaces of the generative models. , generate latent variables that belong to the latent space of the same generative model. Also, in the image fusion processing, the fusion processing may be executed using a plurality of latent variables linked to the same generative model.
- FIG. 1 is a block diagram showing an example of the functional configuration of an image processing apparatus according to this embodiment.
- the image processing apparatus 100 in this embodiment includes an image generation unit 101, an image fusion unit 102, an attribute adjustment unit 103, an image editing unit 104, a posture change unit 105, and a latent variable generation unit 106. , a point management unit 107 , a model storage unit 110 , an image information storage unit 120 and a user information storage unit 130 .
- the model storage unit 110 stores one or more trained generative models.
- the structure of the generative model may be a neural network or a deep neural network.
- the structure of the generative model and its training method are disclosed in Patent Literature 1 as an example.
- the model storage unit 110 stores the trained edit model and encoder model corresponding to the generative model.
- the editing model is disclosed in Patent Document 2 as an example.
- a known technique can be used as a method of training the encoder model.
- the image information storage unit 120 associates and stores an image, a latent variable of the image, and identification information for identifying the generative model that generated the image (for example, the name of the generative model, the ID of the generative model, etc.).
- the image stored in the image information storage unit 120 may be an image generated by the image processing apparatus 100 or an image generated by another method and uploaded to the image processing apparatus 100 .
- the user information storage unit 130 stores information about the user of the image processing tool.
- User information in this embodiment includes authentication information and contract information.
- Authentication information is information used to authenticate a user.
- An example of authentication information is a user ID that identifies the user and a password set by the user.
- the contract information includes information indicating the price plan subscribed by the user and information indicating the points owned by the user.
- the image generation unit 101 uses the generation model stored in the model storage unit 110 to generate a new image. Specifically, the image generator 101 first generates latent variables as random numbers.
- the image generation unit 101 generates an image by inputting the generated latent variables into the generation model. Then, the image generation unit 101 stores the generated image in the image information storage unit 120 in association with the identification information of the latent variable and the generative model.
- the image fusing unit 102 fuses at least two images using a generative model stored in the model storage unit 110 . Specifically, the image fusion unit 102 first generates a fusion latent variable by fusing the latent variable of the first image and the latent variable of the second image. Here, fusion involves using both the latent variables of the first image and the latent variables of the second image to generate a new latent variable (fused latent variable). Further, the image fusion unit 102 may generate fusion latent variables by applying a predetermined operation to the latent variables of the first image and the latent variables of the second image. The predetermined operation may be a genetic operation such as crossover, mutation, or selection on a latent variable, a predetermined synthetic operation such as four arithmetic operations, or a logic operation.
- the predetermined operation may be a genetic operation such as crossover, mutation, or selection on a latent variable, a predetermined synthetic operation such as four arithmetic operations, or a logic operation.
- the image fusion unit 102 generates a fusion image by inputting the fusion latent variable into the generation model. Then, the image fusion unit 102 stores the generated fusion image in the image information storage unit 120 in association with the identification information of the fusion latent variable and the generation model.
- Patent Document 1 Details of a method of fusing images using a generative model are disclosed in Patent Document 1 as an example. Note that the image fusion unit 102 may generate a fusion image by fusing three or more images.
- the attribute adjustment unit 103 uses the generative model stored in the model storage unit 110 to adjust attributes of objects included in the image. Specifically, the attribute adjustment unit 103 first receives input of an attribute value according to a user's operation. The input attribute value may be an absolute value of the attribute or a value relative to the attribute of the image. Next, the attribute adjustment unit 103 transforms the latent variables of the image so as to correspond to the received attribute values.
- attributes to be adjusted include the shape of a person's ears, eyes, mouth, etc., skin and eye color, hairstyle and hair color, posture such as arm positions and poses, facial expressions such as emotions, and clothing. type, color, shape, etc., accessories such as eyeglasses and hats.
- the attributes of the object are not limited to these, and any item may be defined as the attribute as long as it is meaningful for the user in changing the image of the target object.
- the attribute adjustment unit 103 inputs the converted latent variables to the generative model to generate an image whose attributes have been adjusted. Then, the attribute adjusting unit 103 associates the attribute-adjusted image with the converted latent variable and the identification information of the generative model, and stores the associated image in the image information storage unit 120 .
- the image editing unit 104 edits images using the editing model stored in the model storage unit 110 . Specifically, the image editing unit 104 first predicts a segmentation map and a latent variable for each segment region from the image to be edited. Next, the image editing unit 104 changes the segmentation map and/or the latent variable for each segment area according to the user's operation.
- the image editing unit 104 generates an edited image by inputting the modified segmentation map and latent variables into the editing model.
- the editing model may be a trained neural network.
- the image editing unit 104 stores the edited image in the image information storage unit 120 in association with the segmentation map, the latent variable for each segment area, and the identification information of the edit model.
- the latent variables for each segment area used in the edit model are different from the latent variables used in the generative model, but they can be converted to each other. Therefore, when an image edited by image editing processing is used in other image processing, the latent variables for each segment region may be converted into latent variables used in the generative model. Alternatively, the latent variables used in the generative model may be generated from the image edited by the image editing process by the latent variable generating process described later.
- Patent Document 2 Details of a method of editing an image using an editing model are disclosed in Patent Document 2 as an example.
- the pose changing unit 105 uses the generative model stored in the model storage unit 110 to change the pose of the object included in the image. Specifically, the posture changing unit 105 first receives an input of posture information representing the post-change posture in accordance with the user's operation. Next, posture changing unit 105 transforms the latent variables of the image so as to correspond to the received posture information.
- the posture changing unit 105 generates an image with the changed posture by inputting the transformed latent variables into the generation model. Then, the posture changing unit 105 stores the image whose posture has been changed in the image information storage unit 120 in association with the converted latent variables and the identification information of the generative model.
- the posture changing unit 105 may predict the posture of the image to be changed before accepting the user's input. This allows the user to easily specify the post-change posture.
- the latent variable generation unit 106 uses the encoder model stored in the model storage unit 110 to generate latent variables from the image. Specifically, the latent variable generator 106 predicts the latent variables of the generative model by inputting the image into the encoder model.
- the latent variable generation unit 106 may generate latent variables by optimizing initial latent variables using a generative model without using an encoder model.
- a method of specifying the initial latent variable may be a fixed value or a random value, but is not limited to them. Note that the latent variable generation unit 106 may optimize the latent variables predicted using the encoder model using the generative model. This allows the latent variables to better reflect the features of the image.
- the point management unit 107 manages the points owned by the user.
- the point management unit 107 subtracts (consumes) points according to the image processing used by the user.
- the image generation process, the image fusion process, and the latent variable generation process consume the first number of points
- the attribute adjustment process, the image editing process, and the posture change process consume the second number of points, which is smaller than the first number of points.
- the point management unit 107 performs processing for editing an existing image (attribute adjustment processing, image editing processing, posture change processing) in processing for generating a new image (image generation processing, image fusion processing, latent variable generation processing) ) are configured to consume a greater number of points than
- the image fusion process is a special process that fuses multiple images selected by the user, so the number of points consumed may be higher than for other image processes. That is, the point management unit 107 may consume a third number of points larger than the first number of points in the image fusion process.
- the point management unit 107 does not consume points (that is, the second number of points is 0) when executing attribute adjustment processing, image editing processing, and posture change processing, and saves images generated by these processing.
- a fourth number of points which is less than the first number of points, may be expended in doing so. As a result, the user can perform processing such as editing an existing image without worrying about point consumption.
- the classification of image processing that consumes the first number of points and image processing that consumes the second number of points is not limited to these, and can be arbitrarily selected.
- image fusion processing consumes a first number of points
- image generation processing, attribute adjustment processing, image editing processing, posture change processing, and latent variable generation processing consume a second number of points smaller than the first number of points.
- the point management unit 107 does not consume points when executing image generation processing, attribute adjustment processing, image editing processing, attitude change processing, and latent variable generation processing (that is, the second number of points is 0). ), a fifth number of points, which is less than the first number of points, may be expended in saving the images produced by these processes.
- the points held by the user are determined as follows. When a user makes a new contract, points are given according to the price plan. There are a free plan and a subscription plan, and the subscription plan is paid. Even if points are consumed, they will recover after a certain period of time. It is also possible to purchase additional points for a fee. The maximum number of points that a user can have and the point recovery speed differ depending on the billing plan.
- the point management unit 107 consumes a large number of points in the process of generating a new image and consumes a small number of points in the process of editing an existing image, so that the following effects are expected.
- FIG. 2 The user interface can be implemented as an operation screen provided to the user terminal by the image processing apparatus 100, for example.
- FIG. 2 is a diagram showing an example of a processing selection screen for selecting image processing.
- the process selection screen 1000 has activation buttons 1001 to 1006 corresponding to each image process.
- image processing corresponding to the activation button is executed.
- the number of activation buttons displayed on the processing selection screen 1000 can be changed according to the type of image processing provided by the image processing tool.
- the activation button 1001 (Generate) activates the image generation unit 101 to execute image generation processing.
- An activation button 1002 (fusion) activates the image fusion unit 102 to execute image fusion processing.
- An activation button 1003 (attribute adjustment) activates the attribute adjustment unit 103 to execute attribute adjustment processing.
- An activation button 1004 (canvas) activates the image editing unit 104 to execute image editing processing.
- An activation button 1005 (pause) activates the posture change unit 105 to execute posture change processing.
- a start button 1006 (make latent variable) starts the latent variable generation unit 106 to execute latent variable generation processing.
- FIG. 3 is a diagram showing an example when the process selection screen 1000 is deformed vertically. As shown in FIG. 3, when the shape of the entire process selection screen 1000 is changed, the arrangement of the activation buttons may be changed. At this time, it is preferable to control so that the activation button 1001 corresponding to the image generation process is always positioned at the upper left of the screen.
- an authentication screen for authenticating the user Prior to displaying the process selection screen 1000, an authentication screen for authenticating the user may be displayed.
- the authentication screen accepts input of authentication information such as a user ID and a password, and transmits the input to the image processing apparatus 100 according to the user's operation.
- the image processing apparatus 100 performs authentication using the received authentication information based on the user information stored in the user information storage unit 130 .
- the image processing apparatus 100 displays the process selection screen 1000 on the terminal of the user who has been successfully authenticated.
- FIG. 4 is a diagram showing an example of an image generation screen for generating an image.
- the image generation screen 1100 has a model selection field 1101, an image selection area 1102, a generation button 1103 and a save button 1104.
- names of generative models stored in the model storage unit 110 are displayed in a drop-down list so that they can be selected.
- the image generating unit 101 newly generates an image using the selected generative model.
- FIG. 5 is a diagram showing an example when the image generation screen 1100 is deformed vertically. As shown in FIG. 5, when the shape of the entire image generation screen 1100 is changed, the arrangement of the image selection areas 1102 may be changed.
- FIG. 6 is a diagram showing an example of an image generation screen 1100 after generating an image. As shown in FIG. 6 , on the image generation screen 1100 after image generation, an image generated using the generation model selected in the model selection field 1101 is displayed in the image selection area 1102 .
- the image generation screen 1100 after image generation shown in FIG. 6 is an example when a generation model whose processing target is a face image is selected. For example, when a generation model for processing a whole body image is selected, the generated whole body image is displayed in the image selection area 1102 .
- the types of images displayed on each screen described below are not limited unless otherwise specified.
- the image generation unit 101 may generate a plurality of images and display them in the image selection area 1102 . Also, the number of images to be generated can be arbitrarily determined. When generating a plurality of images, the image generating unit 101 generates a plurality of random latent variables and inputs them to the generative model.
- FIG. 7 is a diagram showing an example of the image generation screen 1100 when the generated image is enlarged and displayed in the enlarged image display area 1105.
- FIG. 7 when the user designates the fourth image displayed from the left in the top row of the image selection area 1102 shown in FIG. 6, that image is enlarged and displayed in the enlarged image display area 1105. .
- Symbols “ ⁇ ” and “>” may be displayed on the left and right sides of the enlarged image display area 1105 .
- the image displayed in the enlarged image display area 1105 is changed to the previous image of the enlarged image (in the example of FIG.
- the save confirmation screen shown in FIG. 8 is displayed. Note that the number of images that can be selected by the user may be plural, and the selectable upper limit may be arbitrarily set.
- FIG. 8 is a diagram showing an example of a save confirmation screen.
- the image generation unit 101 identifies the image selected in the image selection area 1102 by identifying the latent variable of the image and the generative model used to generate the image.
- the information is stored in the image information storage unit 120 in association with the information.
- FIG. 9 A user interface in image fusion processing will be described with reference to FIGS. 9 to 12.
- FIG. 9 A user interface in image fusion processing will be described with reference to FIGS. 9 to 12.
- FIG. 9 is a diagram showing an example of an image fusion screen for fusing images.
- the image fusion screen 1200 has a first image selection field 1201 and a second image selection field 1202 .
- the image selection screen shown in FIG. 10 is displayed.
- FIG. 10 is a diagram showing an example of the image selection screen.
- image selection screen 1210 has image selection area 1211 and filter button 1212 .
- An image stored in the image information storage unit 120 is displayed in the image selection area 1211 .
- the name of the generative model that generated the image may be displayed together with the image.
- the user can narrow down the images to be displayed in the image selection area 1211 by setting filters from the filter button 1212 .
- An example of a filter is a generative model associated with an image. That is, by specifying a generative model with a filter, the user can display only images generated by the generative model.
- the image selection area 1211 of the image selection screen 1210 when the user selects an arbitrary image (hereinafter also referred to as “first image”), the selected first image is displayed in the first image selection field 1201 of the image fusion screen 1200 . Is displayed.
- first image an arbitrary image
- the image selection screen 1210 shown in FIG. 10 is displayed.
- the user selects an arbitrary image (hereinafter also referred to as a “second image”) in the image selection area 1211 of the image selection screen 1210
- the selected second image is displayed in the second image selection field 1202 of the image fusion screen 1200 . Is displayed.
- the image selection screen 1210 may perform control so that only images generated by the same generation model as the first image can be selected. For example, the image selection screen 1210 may set the generative model associated with the first image as a filter. As a result, only images generated by the same generation model as the first image are displayed in the image selection area 1211 .
- the image selection screen 1210 displays a warning screen indicating that the images cannot be fused. may be controlled so that it cannot be selected.
- the user can use latent variable generation processing to manually generate latent variables from the second image according to the same generation model as the first image.
- the generated latent variable (corresponding to the same generative model as the first image), the identification information of the same generative model as the first image, and the image generated using both are associated with each other, and stored in the image information storage unit 120. You can remember.
- the image selection screen 1210 may allow selection of an image generated by a generation model different from that of the first image.
- the image fusion unit 102 may automatically generate latent variables according to the same generation model as the first image from the second image using latent variable generation processing.
- the generated latent variable (corresponding to the same generative model as the first image), the identification information of the same generative model as the first image, and the image generated using both are associated with each other, and stored in the image information storage unit 120. You can remember.
- FIG. 11 is a diagram showing an example of the image fusion screen after selecting two images. As shown in FIG. 11, the image fusion screen 1200 after image selection has a first image selection field 1201, a second image selection field 1202, a generate button 1203 and a save button 1204. FIG.
- the first image and second image selected on the image selection screen 1210 are displayed in the first image selection field 1201 and the second image selection field 1202 .
- the image fusing unit 102 fuses the first image and the second image using the generative model associated with the first image.
- FIG. 12 is a diagram showing an example of an image fusion screen 1200 after images have been merged. As shown in FIG. 12, the image fusion screen 1200 after image fusion has a generate button 1203, a save button 1204, an image display area 1205, and an image selection area 1206. FIG. 12
- the image display area 1205 displays the first image and the second image before fusion.
- An image selection area 1206 displays a fused image obtained by merging the first image and the second image.
- Each fusion image may be displayed larger than each of the first and second images so that the user can grasp the details of the image better than the first and second images.
- the image fusion unit 102 may generate a plurality of fusion images and display them in the image selection area 1206, and the number of images to be generated can be arbitrarily determined. Note that when the image fusion processing has randomness, the image fusion unit 102 may generate a plurality of fusion images by repeatedly executing the image fusion processing a plurality of times. Also, the image fusion unit 102 may generate a plurality of fusion images by performing different genetic operations on the latent variables of the first image and the latent variables of the second image.
- the image fusion unit 102 fuses the images again, and the image selection area 1206 is updated.
- the save confirmation screen shown in FIG. 8 is displayed. Note that the number of images that can be selected by the user may be plural, and the selectable upper limit may be arbitrarily set.
- the image fusion unit 102 identifies the fusion image selected in the image selection area 1206 by identifying the latent variables of the fusion image and the generative model used to generate the image.
- the information is stored in the image information storage unit 120 in association with the information.
- FIG. 13 is a diagram showing an example of an attribute adjustment screen for adjusting attributes of objects included in an image.
- the attribute adjustment screen 1300 has an image selection column 1301, a result display column 1302, a change button 1303 and a save button 1304.
- FIG. 13 is a diagram showing an example of an attribute adjustment screen for adjusting attributes of objects included in an image.
- the attribute adjustment screen 1300 has an image selection column 1301, a result display column 1302, a change button 1303 and a save button 1304.
- FIG. 13 is a diagram showing an example of an attribute adjustment screen for adjusting attributes of objects included in an image.
- the attribute adjustment screen 1300 has an image selection column 1301, a result display column 1302, a change button 1303 and a save button 1304.
- the image selection screen shown in FIG. 10 is displayed.
- an attribute adjustment screen shown in FIG. 14 is displayed.
- FIG. 14 is a diagram showing an example of the attribute adjustment screen after selecting an image.
- an attribute value designation panel 1305 is displayed on the attribute adjustment screen 1300 after image selection.
- a base image is displayed in the image selection field 1301 .
- the attribute value designation panel 1305 displays adjustable attributes. Adjustable attributes may be hierarchically displayed, and in the example of FIG. 14, hair color "Hair Color”, eye color “Eye Color”, and other attributes "Others" are hierarchically displayed as adjustable attributes. be.
- FIG. 15 is a diagram showing an example of an attribute adjustment screen after adjusting attributes.
- the attribute value designation panel 1305 displays the current value of each attribute so that it can be changed with a slider bar.
- the user can change any attribute value with a slider bar on the attribute value specification panel 1305 .
- the example of FIG. 15 indicates that the attribute value of the "long_hair" attribute has been changed to 1.26.
- the content of this change (the adjusted attribute and its attribute value) may be displayed in the area above the attribute value designation panel 1305, such as the display "long_hair: 1.26".
- a method for changing the attribute value for example, a method by which the user directly inputs a numerical value that will be the attribute value, or a method by which the user presses a button to increase or decrease the current attribute value by a constant value. method etc. may be adopted.
- the attribute adjustment unit 103 converts the latent variable of the base image according to the attribute value designated on the attribute value designation panel 1305. . Then, the attribute adjustment unit 103 inputs the converted latent variables to the generative model associated with the image, thereby generating the attribute-adjusted image. The generated attribute-adjusted image is displayed in the result display field 1302 .
- the save confirmation screen shown in FIG. 8 is displayed.
- the attribute adjustment unit 103 identifies the image after attribute adjustment displayed in the result display field 1302 as the latent variable of the image and the generative model used to generate the image. It is stored in the image information storage unit 120 in association with the identification information.
- the image editing screen has a segmentation map display field, a result display field, a selected image display field, a reference image display field, an apply button, and an add button.
- the segmentation map display column and the result display column may be displayed side by side near the center of the screen.
- the selected image display column and the reference image display column may be displayed vertically arranged at the right end of the screen.
- the segmentation map display field and the result display field may be displayed larger than the selected image display field and the reference image display field.
- the apply button and the add button may be displayed side by side at the bottom of the screen.
- the image selection screen shown in FIG. 10 is displayed.
- the segmentation map of the base image is displayed in the segmentation map display field.
- the base image is displayed in the selected image display column.
- the user may select a reference image on the image editing screen.
- a reference image is an image that is applied to verify the edited segmentation map.
- the user presses the reference image display field.
- the image selection screen shown in FIG. 10 is displayed.
- the reference image is displayed in the reference image display field.
- the edit button the edited segmentation map displayed in the segmentation map display field is applied to the reference image displayed in the reference image display field and displayed in the result display field.
- the image editing unit 104 first predicts latent variables for each segment from the reference image. Next, the image editing unit 104 transforms the latent variables for each segment of the reference image according to the segmentation map displayed in the segmentation map display field.
- the image editing unit 104 generates an edited image by inputting the converted latent variables for each segment into the editing model corresponding to the generation model associated with the base image. Then, the image editing unit 104 displays the edited image in the result display field.
- the user edits the image using the toolbar and layer list displayed on the image editing screen.
- the toolbar may be displayed on the left edge of the screen and the layer list may be displayed on the right edge of the screen.
- the toolbar is a panel for selecting tools for editing the segmentation map.
- the layer list is a layer list for selecting a layer of the segmentation map to be edited. The user selects a layer to be edited from the layer list, selects a tool from the tool bar, and then edits the selected layer from the segmentation map display field.
- the mix ratio specification field When you right-click on a specific layer in the layer list, the mix ratio specification field will be displayed. Using the mix ratio designation field, it is possible to adjust the mix ratio between the base image and the reference image.
- the edit button When the user presses the apply button, the edited segmentation map displayed in the segmentation map display field is applied to the reference image displayed in the reference image display field.
- the image editing unit 104 adds the edited image displayed in the result display field to the segmentation map after editing, the latent variables for each layer of the image, and the identification information for identifying the editing model. , and stored in the image information storage unit 120 .
- the posture change screen has an image selection column, a result display column, a change button, and a save button.
- the image selection field may be displayed on the upper left of the screen.
- the result display field may be displayed near the center of the screen.
- the result display field may be displayed larger than the image selection field.
- the change button and the save button may be displayed side by side at the bottom of the screen.
- the image selection screen shown in FIG. 10 is displayed.
- the base image is displayed in the image selection field.
- posture information connecting indirect points extracted from the base image is displayed.
- the posture change screen after image selection further has a reference image selection field.
- the image selection screen shown in FIG. 10 is displayed.
- the reference image is displayed in the reference image selection field.
- the posture information displayed in the result display field is updated to the posture information extracted from the reference image displayed in the reference image selection field.
- the orientation information may be changed by manually moving the contact point in the result display field without selecting the reference image in the reference image selection field.
- the posture changing unit 105 converts the latent variables of the image selected in the image selection field according to the posture information displayed in the result display field.
- the attitude changing unit 105 generates an image after the attitude change by inputting the converted latent variables into the generation model associated with the image.
- the image after the posture change is displayed in the result display column.
- the posture changing unit 105 associates the image displayed in the result display field with the latent variables of the image and the identification information that identifies the generative model used to generate the image, and stores the image in the image information storage unit. store in 120;
- the latent variable generation screen has a model selection column, an image selection column, a result display column, an apply button, and a save button.
- the model selection field may be displayed on the upper left of the screen.
- the image selection column and the result display column may be displayed side by side near the center of the screen.
- the apply button and the save button may be displayed side by side at the bottom of the screen.
- model selection column names of generative models stored in the model storage unit 110 are displayed in a drop-down list so that they can be selected.
- image selection field an image selection screen for selecting an image file is displayed.
- the selected image file is uploaded to the image processing apparatus 100, and the uploaded image is displayed in the image selection field.
- the latent variable generation unit 106 uses the encoder model corresponding to the selected generative model to generate a latent variable from the image displayed in the image selection field. to generate Note that a known technique may be used to generate the latent variables.
- the latent variable generation unit 106 When the latent variable generation unit 106 generates a latent variable, an image corresponding to the generated latent variable is displayed in the result display column. Specifically, the latent variable generator 106 generates an image by inputting the generated latent variables into the selected generative model. Then, the latent variable generation unit 106 displays the generated image in the result display field.
- the latent variable generation unit 106 associates the image displayed in the result display field with the generated latent variable and the identification information that identifies the generative model used for generation, and stores the image information in the image information storage unit. store in 120;
- Point information owned by the authenticated user may be displayed on the user interface of the image processing apparatus 100 .
- a display example of the point information will be described with reference to FIGS. 16 and 17.
- FIG. 16 and 17 A display example of the point information will be described with reference to FIGS. 16 and 17.
- FIG. 16 is a diagram showing an example of a help screen for displaying how to operate the image processing tool.
- the help screen 1700 has buttons for displaying explanations of each function.
- the help screen 1700 also has a point display field 1701 and an add point button 1702 .
- a point display field 1701 displays the number of points possessed by the user and the maximum number of points that the user can possess.
- the point addition button 1702 When the user presses the point addition button 1702, a billing screen for purchasing points is displayed.
- the point display column 1701 may be displayed on the processing selection screen or the screen for each image processing.
- FIG. 17 is a diagram showing an example of an image detail screen for displaying detailed image information.
- the image details screen 1800 displays detailed information such as image profile, comments, and tags.
- the image details screen 1800 also has a point display field 1801 and an add point button 1802 .
- the functions of the point display field 1801 and the add point button 1802 are the same as those of the point display field 1701 and the add point button 1702 of the help screen 1700 .
- FIG. 18 is a flow chart showing an example of the processing procedure of the image processing method.
- step S1 the image generation unit 101 newly generates an image using the generation model stored in the model storage unit 110 according to the user's operation.
- the point management unit 107 subtracts a predetermined number of points (hereinafter also referred to as "first number of points") from the points owned by the user.
- step S2 the image generation unit 101 stores the generated image in the image information storage unit 120 in association with the identification information of the latent variable and the generation model.
- step S3 the image processing apparatus 100 determines image processing to be executed next according to the user's operation. Specifically, when a start button 1002 to 1005 is pressed on the process selection screen 1000 shown in FIG. 2 or 3, image processing corresponding to the start button is executed.
- step S4 When the start button 1003 (attribute adjustment process) is pressed, the image processing apparatus 100 advances the process to step S4.
- step S6 When the start button 1004 (image editing process) is pressed, the image processing apparatus 100 advances the process to step S6.
- step S8 When the activation button 1002 (image fusion processing) is pressed, the image processing apparatus 100 advances the processing to step S10.
- step S4 the attribute adjustment unit 103 adjusts the attributes of the object included in the image using the generative model stored in the model storage unit 110 according to the user's operation.
- the point management unit 107 subtracts a predetermined number of points (hereinafter referred to as "second number of points") from the points owned by the user. Note that the second number of points is set smaller than the first number of points.
- step S5 the attribute adjustment unit 103 stores the attribute-adjusted image in the image information storage unit 120 in association with the converted latent variable and the identification information of the generative model.
- step S6 the image editing unit 104 edits the image using the editing model stored in the model storage unit 110 according to the user's operation.
- step S6 the point management unit 107 subtracts the second number of points from the points owned by the user.
- step S7 the image editing unit 104 stores the edited image in the image information storage unit 120 in association with the converted latent variables and the identification information of the editing model used for image editing.
- step S8 the posture changing unit 105 changes the posture of the object included in the image using the generative model stored in the model storage unit 110 according to the user's operation.
- the point management unit 107 subtracts the second number of points from the points owned by the user.
- step S9 the posture changing unit 105 stores the image whose posture has been changed in the image information storage unit 120 in association with the transformed latent variables and the identification information of the generative model.
- step S10 the image fusing unit 102 fuses at least two images using the generative model stored in the model storage unit 110 according to the user's operation.
- the point management unit 107 subtracts the first number of points from the points owned by the user.
- step S11 the image fusion unit 102 stores the generated fusion image in the image information storage unit 120 in association with the identification information of the fusion latent variable and the generation model.
- FIG. 19 is a flowchart showing an example of the procedure of image fusion processing.
- the image fusing unit 102 accepts selection of a plurality of images according to the user's operation.
- the plurality of images to be selected may be images stored in the image information storage unit 120 or may be images uploaded by the user.
- the generation models that generated the images may be the same or different.
- step S10-2 the image fusing unit 102 acquires identification information for identifying latent variables and generative models stored in the image information storage unit 120 for each of the plurality of received images. Note that if the received image has been uploaded by the user, the identification information of the latent variables and the generative model cannot be acquired, but the subsequent processing is executed as it is.
- step S10-3 the image fusing unit 102 determines whether the latent variables of each image have been acquired. If the latent variables of all images have been acquired (YES), the image fusing unit 102 advances the process to step S10-4. On the other hand, if the latent variables of one of the images could not be acquired (NO), the image fusion unit 102 identifies the generative models of the one image for which the latent variables could not be acquired and the other image for which the latent information could be acquired. information is sent to the latent variable generation unit 106, and the process proceeds to step S10-5.
- step S10-4 the image fusion unit 102 determines whether or not the identification information of the generative model of each image matches. If the identification information of the generative models of all the images match (YES), the image fusing unit 102 advances the process to step S10-6. On the other hand, if the identification information of the generative models of any of the images is different (NO), the image fusing unit 102 transmits the identification information of the generative models of the one image and the other image having different identification information to the latent variable generating unit 106. and advance the process to step S10-5.
- step S10-5 the latent variable generation unit 106 identifies the generative model from the identification information received from the image fusion unit 102, and identifies the encoder model corresponding to the generative model.
- the latent variable generation unit 106 generates latent variables by inputting the image received from the image fusion unit 102 to the specified encoder model.
- generative models may be used to generate latent variables.
- step S10-6 the image fusion unit 102 generates a fusion latent variable by fusing the latent variables of the selected multiple images. However, when latent variables are generated in step S10-5, the latent variables of the other image and the generated latent variables are merged.
- step S10-7 the image fusion unit 102 generates a fusion image by inputting the fusion latent variable into the generation model.
- a generative model is a generative model specified by the identification information of the generative model of each image.
- the image, the latent variable, and the identification information of the generative model are stored in association with each other. good.
- the corresponding image may be regenerated from the latent variables and the generative model when necessary, such as when a display request is received.
- “Storing the latent variables in association with the identification information of the generative model” includes both direct and indirect storage.
- the latent variable and the identification information of the generative model may be stored as a set of data, or the latent variable may be given the identification information of the generative model and stored.
- "store the latent variables and image identification information (image name, image ID, etc.) in association with each other, and store the identification information of the same image in association with the identification information of the generative model”. may In this case, the latent variables and the corresponding generative model identification information can be called based on the image identification information.
- the latent variables and the generative model itself may be stored as a set. Any method may be used as long as it is possible to call the correspondence between the "latent variables” and the "corresponding generative models” in subsequent processing.
- Each user interface shown in FIGS. 2 to 17 may be displayed on a terminal (eg, PC, smartphone, etc.) directly operated by the user.
- a terminal eg, PC, smartphone, etc.
- the user information storage unit 130 may store the identification information of the user and the identification information of the image owned by the user as a set. In this case, each image process may be restricted so that only images associated with the user can be called as processing targets.
- the image processing apparatus 100 stores the latent variables of the image in association with the identification information that identifies the generative model, thereby enabling the image to be shared among various image processes.
- image fusion processing multiple images to be fused must belong to the latent space of the same generative model or be linked to the same generative model.
- appropriate image fusion processing can be executed by associating the identification information of the
- appropriate image processing can be performed by using the generative model associated with the latent variables.
- latent variables corresponding to the same generative model can be generated by executing latent variable generation processing. .
- the image processing apparatus 100 When executing image fusion processing, the image processing apparatus 100 according to the present embodiment can select an image to be fused from images filtered based on the generation model. This allows the fusion process to be performed using multiple latent variables corresponding to the same generative model.
- the image processing apparatus 100 can motivate users to use image processing tools by setting consumption points according to image processing. As a result, it becomes possible to get the user to consume more points.
- the image processing apparatus 100 When executing image generation processing, the image processing apparatus 100 according to the present embodiment stores, as an example, image identification information, latent variables, corresponding generation model identification information, and generated images. At this time, it is possible to arbitrarily decide whether or not to store the image identification information and the generated image.
- the image processing apparatus 100 executes the image fusion process, as an example, the image identification information, the latent variable after fusion, the identification information of the corresponding generative model, the generated fusion image, and the Store image identification information for the two images.
- the image identification information of the image used for fusion is stored, the identification information of the latent variable of the original image and the identification information of the generative model can be obtained from the image identification information.
- the image processing apparatus 100 executes the attribute adjustment process, for example, the image identification information, the latent variable after attribute adjustment, the identification information of the corresponding generative model, the generated image after attribute adjustment,
- the image identification information of the image before attribute adjustment is stored. At this time, it is possible to arbitrarily decide whether or not to store the identification information of the image, the generated image after attribute adjustment, and the image identification information of the image before attribute adjustment.
- the latent variables of the image before attribute adjustment and the identification information of the generative model can be obtained from the image identification information.
- the image processing apparatus 100 executes the attitude change process, for example, the image identification information, the latent variable after the attitude change, the identification information of the corresponding generative model, the generated image after the attitude change,
- the image identification information of the image before the attitude change is stored. At this time, it is possible to arbitrarily decide whether or not to store the identification information of the image, the generated image after the attitude change, and the image identification information of the image before the attitude change.
- the image identification information of the image before the attitude change is stored, the latent variables of the image before the attitude change and the identification information of the generative model can be obtained from the image identification information.
- the image processing apparatus 100 executes the latent variable generation process, for example, the image identification information, the generated latent variables, the corresponding generative model identification information, and the generated latent variables are transferred to the corresponding generative models. It stores an image generated by input, the original image used to generate the latent variables, and the identification information of the encoder model used to generate the latent variables. At this time, whether or not to store the image generated by inputting the generated latent variables into the corresponding generative model, the original image used to generate the latent variables, and the identification information of the encoder model used to generate the latent variables. It can be determined arbitrarily.
- the image processing apparatus 100 executes image editing processing, for example, image identification information, post-editing latent variables, corresponding editing model identification information, segmentation map, post-editing image, pre-editing image identification information of the image.
- image editing processing for example, image identification information, post-editing latent variables, corresponding editing model identification information, segmentation map, post-editing image, pre-editing image identification information of the image.
- the latent variables of the pre-edited image and the identification information of the generative model can be obtained from the image identification information.
- the image processing apparatus 100 may execute attribute adjustment processing, posture change processing, and image fusion processing using the stored latent variables and corresponding generative models. .
- the image processing apparatus 100 in the present embodiment uses the stored latent variables and the corresponding generative models to perform attribute adjustment processing, attitude change processing, image fusion processing (that is, the same image processing). ) may be executed.
- the image processing apparatus 100 in the present embodiment uses the stored latent variables and the corresponding generative models to perform posture change processing, image fusion processing, and attribute adjustment processing (that is, the same image processing). ) may be executed.
- the image processing apparatus 100 After executing the posture change processing, the image processing apparatus 100 according to the present embodiment performs attribute adjustment processing, image fusion processing, posture change processing (that is, the same image processing) using the stored latent variables and corresponding generative models. ) may be executed.
- the latent variable generation process may be executed at the following timing.
- the first timing is when different generation models are used for generation between images to be fused.
- the second timing is before executing attribute adjustment processing, attitude change processing, and image fusion processing for an image such as a user-designated image that does not have a latent variable.
- the processing may be executed using the "generative model" specified by the "latent variable” and the identification information of the generative model stored in association with it. At least during image generation processing, image fusion processing, attribute adjustment processing, and attitude change processing, processing may be executed using the same generative model and corresponding latent variables. Also, in the latent variable generation process, the same generative model may be used to generate latent variables.
- the image processing apparatus 100 in this embodiment may be configured with one or more storage devices and one or more processors. In this case, one or more processors can control storage of various data in one or more storage devices and acquisition of various data from one or more storage devices. The one or more processors may also control screens displayed on the display device.
- each device (image processing device 100) in the above-described embodiment may be configured by hardware, or may be software executed by CPU (Central Processing Unit), GPU (Graphics Processing Unit), etc. program) information processing.
- software information processing software that realizes at least part of the functions of each device in the above-described embodiments may be stored in a CD-ROM (Compact Disc-Read Only Memory), USB (Universal Serial Bus) memory.
- Information processing of the software may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as the above and reading it into a computer.
- the software may be downloaded via a communication network.
- all or part of the software processing may be implemented in a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), so that the information processing by the software may be executed by hardware. .
- the storage medium that stores the software may be removable such as an optical disc, or may be a fixed storage medium such as a hard disk or memory. Also, the storage medium may be provided inside the computer (main storage device, auxiliary storage device, etc.) or may be provided outside the computer.
- FIG. 20 is a block diagram showing an example of the hardware configuration of each device (image processing device 100) in the above-described embodiment.
- Each device includes, for example, a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76.
- a processor 71 for example, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76.
- a computer 7 implemented as
- the computer 7 in FIG. 20 has one component, it may have a plurality of the same components.
- the software is installed in a plurality of computers, and each of the plurality of computers executes the same or different part of the processing of the software. good too.
- it may be in the form of distributed computing in which each computer communicates via the network interface 74 or the like to execute processing.
- each device (image processing device 100) in the above-described embodiment is configured as a system in which one or more computers execute commands stored in one or more storage devices to realize functions. good too.
- the information transmitted from the terminal may be processed by one or more computers provided on the cloud, and the processing result may be transmitted to the terminal.
- each device (image processing device 100) in the above-described embodiment may be executed in parallel using one or more processors or using multiple computers via a network. Also, various operations may be distributed to a plurality of operation cores in the processor and executed in parallel. Also, part or all of the processing, means, etc. of the present disclosure may be realized by at least one of a processor and a storage device provided on a cloud capable of communicating with the computer 7 via a network. Thus, each device in the above-described embodiments may be in the form of parallel computing by one or more computers.
- the processor 71 may be an electronic circuit (processing circuit, processing circuitry, CPU, GPU, FPGA, ASIC, etc.) that performs at least computer control or computation.
- Processor 71 may also be a general-purpose processor, a dedicated processing circuit designed to perform a particular operation, or a semiconductor device containing both a general-purpose processor and dedicated processing circuitry.
- the processor 71 may include an optical circuit, or may include an arithmetic function based on quantum computing.
- the processor 71 may perform arithmetic processing based on data and software input from each device, etc. of the internal configuration of the computer 7, and may output calculation results and control signals to each device, etc.
- the processor 71 may control each component of the computer 7 by executing the OS (Operating System) of the computer 7, applications, and the like.
- OS Operating System
- Each device (image processing device 100 ) in the above-described embodiment may be realized by one or more processors 71 .
- the processor 71 may refer to one or more electronic circuits arranged on one chip, or one or more electronic circuits arranged on two or more chips or two or more devices. You can point When multiple electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.
- the main storage device 72 may store commands and various data executed by the processor 71 , and the information stored in the main storage device 72 may be read by the processor 71 .
- the auxiliary storage device 73 is a storage device other than the main storage device 72 . These storage devices mean any electronic components capable of storing electronic information, and may be semiconductor memories. Semiconductor memory may be either volatile memory or non-volatile memory.
- a storage device for storing various data and the like in each device (image processing device 100) in the above-described embodiments may be implemented by the main storage device 72 or the auxiliary storage device 73, and may be implemented by a built-in memory built into the processor 71. may be realized by For example, the model storage unit 110, the image information storage unit 120, and the user information storage unit 130 in the above-described embodiments may be realized by the main storage device 72 or the auxiliary storage device 73.
- each device (image processing device 100) in the above-described embodiment is composed of at least one storage device (memory) and at least one processor connected (coupled) to this at least one storage device
- the storage device At least one processor may be connected to one.
- At least one storage device may be connected to one processor.
- at least one processor among the plurality of processors may be connected to at least one storage device among the plurality of storage devices.
- This configuration may also be implemented by storage devices and processors included in multiple computers.
- a configuration in which a storage device is integrated with a processor for example, a cache memory including an L1 cache and an L2 cache may be included.
- the network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As for the network interface 74, an appropriate interface such as one conforming to existing communication standards may be used. The network interface 74 may exchange information with the external device 9A connected via the communication network 8 .
- the communication network 8 may be any one or a combination of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), etc., and between the computer 7 and the external device 9A It may be anything as long as information is exchanged. Examples of WANs include the Internet, examples of LANs include IEEE 802.11 and Ethernet (registered trademark), and examples of PANs include Bluetooth (registered trademark) and NFC (Near Field Communication).
- the device interface 75 is an interface such as USB that directly connects with the external device 9B.
- the external device 9A is a device connected to the computer 7 via a network.
- the external device 9B is a device that is directly connected to the computer 7. FIG.
- the external device 9A or the external device 9B may be an input device.
- the input device is, for example, a device such as a camera, microphone, motion capture, various sensors, keyboard, mouse, touch panel, etc., and provides the computer 7 with acquired information.
- a device such as a personal computer, a tablet terminal, a smartphone, or the like that includes an input unit, a memory, and a processor may be used.
- the external device 9A or the external device B may be an output device as an example.
- the output device may be, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) panel, or a speaker or the like for outputting sound.
- a device such as a personal computer, a tablet terminal, or a smartphone including an output unit, a memory, and a processor may be used.
- the external device 9A or the external device 9B may be a storage device (memory).
- the external device 9A may be a network storage or the like, and the external device 9B may be a storage such as an HDD.
- the external device 9A or the external device 9B may be a device having the functions of some of the components of each device (image processing device 100) in the above-described embodiment. That is, the computer 7 may transmit part or all of the processing result to the external device 9A or the external device 9B, or may receive part or all of the processing result from the external device 9A or the external device 9B. .
- the expression "at least one (one) of a, b and c" or "at least one (one) of a, b or c" includes any of a, b, c, a-b, ac, b-c or a-b-c. Also, multiple instances of any element may be included, such as a-a, a-b-b, a-a-b-b-c-c, and so on. It also includes the addition of other elements than the listed elements (a, b and c), such as having d such as a-b-c-d.
- connection and “coupled” when used, they refer to direct connection/coupling, indirect connection/coupling , electrically connected/coupled, communicatively connected/coupled, operatively connected/coupled, physically connected/coupled, etc. intended as a term.
- the term should be interpreted appropriately according to the context in which the term is used, but any form of connection/bonding that is not intentionally or naturally excluded is not included in the term. should be interpreted restrictively.
- the physical structure of element A is such that it is capable of performing operation B configuration, including that a permanent or temporary setting/configuration of element A is configured/set to actually perform action B good.
- element A is a general-purpose processor
- the processor has a hardware configuration capable of executing operation B, and operation B is performed by setting a permanent or temporary program (instruction). It just needs to be configured to actually run.
- the element A is a dedicated processor, a dedicated arithmetic circuit, etc., regardless of whether or not the control instructions and data are actually attached, the circuit structure of the processor, etc., is such that the operation B is actually executed. It just needs to be built (implemented).
- finding a global optimum finding an approximation of a global optimum
- finding a local optimum Including seeking, and finding an approximation of a local optimum, should be interpreted appropriately depending on the context in which the term is used. It also includes stochastically or heuristically approximating these optimum values.
- each piece of hardware may work together to perform the predetermined processing, or a part of the hardware may perform the predetermined processing. You may do all of Also, some hardware may perform a part of the predetermined processing, and another hardware may perform the rest of the predetermined processing.
- expressions such as "one or more hardware performs the first process, and the one or more hardware performs the second process" (including similar expressions ) is used, the hardware that performs the first process and the hardware that performs the second process may be the same or different. In other words, the hardware that performs the first process and the hardware that performs the second process may be included in the one or more pieces of hardware.
- the hardware may include electronic circuits, devices including electronic circuits, and the like.
- each of the plurality of storage devices may store only part of the data. , may store the entire data. Further, a configuration may be included in which some of the plurality of storage devices store data.
- references to a first element and a second element indicate that only two elements may be employed therein, that the first element must precede the second element, that the second element does not necessarily mean that the first element must be present in order for a to be present, and so on.
- Image processing device 101 Image generation unit 102 Image fusion unit 103 Attribute adjustment unit 104 Image editing unit 105 Posture change unit 106 Latent variable generation unit 107 Point management unit 110 Model storage unit 120 Image information storage unit 130 User information storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
様々な画像処理を実行可能なサービス又は装置を提供する。画像処理装置は、1又は複数の記憶装置と、1又は複数のプロセッサと、を備え、1又は複数のプロセッサは、第1の潜在変数を第1の生成モデルに入力することで第1の画像を生成することと、第1の潜在変数を第1の生成モデルの識別情報と関連付けて1又は複数の記憶装置に記憶させることと、1又は複数の記憶装置から第1の潜在変数と第1の潜在変数に関連付けられた第1の生成モデルの識別情報を取得することと、第1の潜在変数に基づいて第2の潜在変数を生成することと、第2の潜在変数を第1の生成モデルに入力することで第2の画像を生成することと、第2の潜在変数を第1の生成モデルの識別情報と関連付けて1又は複数の記憶装置に記憶させることと、を実行する。
Description
本開示は、画像処理装置、画像処理方法及びプログラムに関する。
深層学習を利用して、様々な画像処理を行う技術が実現されている。例えば、画像の生成、画像の編集、複数の画像の融合等が実現されている。
本開示の課題は、様々な画像処理を実行可能なサービス又は装置を提供することである。
本開示の一態様による画像処理装置は、1又は複数の記憶装置と、1又は複数のプロセッサと、を備え、1又は複数のプロセッサは、第1の潜在変数を第1の生成モデルに入力することで第1の画像を生成することと、第1の潜在変数を第1の生成モデルの識別情報と関連付けて1又は複数の記憶装置に記憶させることと、1又は複数の記憶装置から第1の潜在変数と第1の潜在変数に関連付けられた第1の生成モデルの識別情報を取得することと、第1の潜在変数に基づいて第2の潜在変数を生成することと、第2の潜在変数を第1の生成モデルに入力することで第2の画像を生成することと、第2の潜在変数を第1の生成モデルの識別情報と関連付けて1又は複数の記憶装置に記憶させることと、を実行し、第2の画像は、第1の画像とは異なる画像であって、少なくとも第1の画像に含まれる第1の物体とは異なる第2の物体を含む画像である。
以下、本発明の各実施形態について添付の図面を参照しながら説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
[画像処理装置の概略]
本開示の一実施形態における画像処理装置は、様々な画像処理が統合された画像処理ツールを提供する情報処理装置である。本実施形態における画像処理ツールは、画像処理として、画像の生成、画像に含まれる物体の属性調整、画像の編集、画像に含まれる物体の姿勢変更及び複数の画像の融合を実行可能である。
本開示の一実施形態における画像処理装置は、様々な画像処理が統合された画像処理ツールを提供する情報処理装置である。本実施形態における画像処理ツールは、画像処理として、画像の生成、画像に含まれる物体の属性調整、画像の編集、画像に含まれる物体の姿勢変更及び複数の画像の融合を実行可能である。
本実施形態において、画像に含まれる物体は、キャラクター(人物)である。ただし、画像に含まれる物体はこれに限定されず、例えば、動物、架空の生物、ロボット、風景、建造物等、画像で表現可能な対象物であればどのようなものでもよい。また、画像の表現形態は、例えば、イラスト風、実写風、コンピュータグラフィックス(CG: Computer Graphics)等、どのようなものでもよい。さらに、画像は、動画像に用いられるものでもよいし、アニメーションに用いられるものでもよい。
本実施形態における画像処理ツールは、ある画像処理で生成された画像を、他の画像処理で利用可能とする。例えば、画像生成処理で生成された複数の画像を、画像融合処理で1つの画像に融合することができる。また、例えば、画像処理ツール以外の手法で生成された画像と、画像生成処理で生成された画像とを、画像融合処理で1つの画像に融合することができる。また、例えば、属性調整処理、画像編集処理又は姿勢変更処理により得られた画像に対して、画像融合処理を行うことができる。また、例えば、画像融合処理で生成した融合画像に対して、属性調整処理、画像編集処理、姿勢変更処理又は画像融合処理を行うことができる。
本実施形態における画像処理ツールは、処理対象とする画像の特徴に応じた複数の生成モデルを用いることができる。画像の特徴の一例は、画像に含まれる人物の身体部位(例えば、顔、上半身、全身等)、性別、服等である。画像の特徴の他の一例は、画像に含まれる物体の種類、画像の解像度、画像のタッチ等である。ただし、生成モデルを用意する単位はこれらに限定されず、他の特徴に応じて生成モデルを用意してもよい。
本実施形態における画像処理ツールは、訓練済みの生成モデル又は当該生成モデルに対応するように訓練された編集モデルに、当該生成モデルに応じた潜在変数を入力することで、所定の画像処理を実現する。なお、「生成モデルに応じた潜在変数」とは、一例として、生成モデルの潜在空間に属する潜在変数や生成モデルに紐付けられた潜在変数である。
潜在変数は、生成モデルを用いた画像生成に必要な情報であり、訓練時に生成モデルに入力する変数が従う確率分布からサンプリングされたものであってもよい。また、潜在変数は、特許文献1に記載の潜在情報であってもよい。また、潜在変数は、特許文献1に記載のコード又は属性のいずれかを含む情報であってもよい。また、潜在変数は、対応する生成モデルに入力される情報であって、ノイズ、遺伝子、属性又は姿勢のいずれかの情報を含むものであってもよい。
そこで、本実施形態における画像処理ツールは、画像から潜在変数を生成する潜在変数生成処理を実行することが可能となっている。潜在変数生成処理は、一例として、画像を生成モデルに対応するエンコーダモデルに入力することで、当該生成モデルの潜在空間に属する潜在変数を生成することができる。エンコーダモデルは、当該生成モデル向けに訓練されたニューラルネットワークであってもよい。潜在変数生成処理は、他の一例として、生成モデルを用いて初期潜在変数を最適化することで、当該生成モデルの潜在空間に属する潜在変数を生成することができる。初期潜在変数を指定する方法は、固定値でもよいし、ランダム値でもよいが、それらに限定されない。また、エンコーダモデルを用いて生成した潜在変数を、生成モデルを用いて最適化してもよい。ただし、潜在変数生成処理はこれらに限定されず、どのような手法で入力画像が当該生成モデルの潜在空間に属する潜在変数を生成してもよい。
特に、画像融合処理では、複数の画像それぞれに対応する潜在変数であって、同じ生成モデルの潜在空間に属する潜在変数を用いて複数の画像を融合している。そのため、本実施形態における画像処理ツールは、画像融合処理において、入力された複数の画像の潜在変数が異なる生成モデルの潜在空間に属する場合、いずれかの画像に対して潜在変数生成処理を実行し、同じ生成モデルの潜在空間に属する潜在変数を生成する。また、画像融合処理では、同じ生成モデルに紐付けられた複数の潜在変数を用いて融合処理を実行してもよい。
[画像処理装置の機能構成]
まず、本開示の一実施形態における画像処理装置の機能構成について、図1を参照しながら説明する。図1は、本実施形態における画像処理装置の機能構成の一例を示すブロック図である。
まず、本開示の一実施形態における画像処理装置の機能構成について、図1を参照しながら説明する。図1は、本実施形態における画像処理装置の機能構成の一例を示すブロック図である。
図1に示されているように、本実施形態における画像処理装置100は、画像生成部101、画像融合部102、属性調整部103、画像編集部104、姿勢変更部105、潜在変数生成部106、ポイント管理部107、モデル記憶部110、画像情報記憶部120及びユーザ情報記憶部130を備える。
<モデル記憶部>
モデル記憶部110は、1個以上の訓練済みの生成モデルを記憶する。生成モデルの構造はニューラルネットワークであってもよく、ディープニューラルネットワークであってもよい。生成モデルの構造及びその訓練方法は、一例として、特許文献1に開示されている。
モデル記憶部110は、1個以上の訓練済みの生成モデルを記憶する。生成モデルの構造はニューラルネットワークであってもよく、ディープニューラルネットワークであってもよい。生成モデルの構造及びその訓練方法は、一例として、特許文献1に開示されている。
また、モデル記憶部110は、生成モデルに対応する訓練済みの編集モデル及びエンコーダモデルを記憶する。編集モデルについては、一例として、特許文献2に開示されている。エンコーダモデルを訓練する方法は、公知の手法を用いることができる。
<画像情報記憶部>
画像情報記憶部120は、画像、当該画像の潜在変数、及び当該画像を生成した生成モデルを識別する識別情報(例えば、生成モデルの名称、生成モデルのIDなど)を関連付けて記憶する。画像情報記憶部120に記憶される画像は、画像処理装置100が生成した画像でもよいし、その他の手法で生成され、画像処理装置100にアップロードされた画像でもよい。
画像情報記憶部120は、画像、当該画像の潜在変数、及び当該画像を生成した生成モデルを識別する識別情報(例えば、生成モデルの名称、生成モデルのIDなど)を関連付けて記憶する。画像情報記憶部120に記憶される画像は、画像処理装置100が生成した画像でもよいし、その他の手法で生成され、画像処理装置100にアップロードされた画像でもよい。
<ユーザ情報記憶部>
ユーザ情報記憶部130は、画像処理ツールのユーザに関する情報を記憶する。本実施形態におけるユーザ情報は、認証情報及び契約情報を含む。認証情報は、ユーザを認証するために用いる情報である。認証情報の一例は、当該ユーザを識別するユーザID及び当該ユーザが設定したパスワードである。契約情報は、当該ユーザが契約している料金プランを示す情報、及び当該ユーザが保有するポイントを示す情報を含む。
ユーザ情報記憶部130は、画像処理ツールのユーザに関する情報を記憶する。本実施形態におけるユーザ情報は、認証情報及び契約情報を含む。認証情報は、ユーザを認証するために用いる情報である。認証情報の一例は、当該ユーザを識別するユーザID及び当該ユーザが設定したパスワードである。契約情報は、当該ユーザが契約している料金プランを示す情報、及び当該ユーザが保有するポイントを示す情報を含む。
<画像生成部>
画像生成部101は、モデル記憶部110に記憶されている生成モデルを用いて、新規に画像を生成する。具体的には、画像生成部101は、まず、潜在変数を乱数として生成する。
画像生成部101は、モデル記憶部110に記憶されている生成モデルを用いて、新規に画像を生成する。具体的には、画像生成部101は、まず、潜在変数を乱数として生成する。
次に、画像生成部101は、生成した潜在変数を生成モデルに入力することで、画像を生成する。そして、画像生成部101は、生成した画像を、潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
<画像融合部>
画像融合部102は、モデル記憶部110に記憶されている生成モデルを用いて、少なくとも2つの画像を融合する。具体的には、画像融合部102は、まず、第1の画像の潜在変数と第2の画像の潜在変数を融合することで、融合潜在変数を生成する。ここで、融合は、第1の画像の潜在変数と第2の画像の潜在変数の両方を用いて、新たな潜在変数(融合潜在変数)を生成することを含む。また、画像融合部102は、第1の画像の潜在変数と第2の画像の潜在変数に所定の操作を適用することで融合潜在変数を生成してもよい。所定の操作は、潜在変数に対する交叉、突然変異、選択などの遺伝的操作、四則演算、論理演算などの所定の合成演算などであってもよい。
画像融合部102は、モデル記憶部110に記憶されている生成モデルを用いて、少なくとも2つの画像を融合する。具体的には、画像融合部102は、まず、第1の画像の潜在変数と第2の画像の潜在変数を融合することで、融合潜在変数を生成する。ここで、融合は、第1の画像の潜在変数と第2の画像の潜在変数の両方を用いて、新たな潜在変数(融合潜在変数)を生成することを含む。また、画像融合部102は、第1の画像の潜在変数と第2の画像の潜在変数に所定の操作を適用することで融合潜在変数を生成してもよい。所定の操作は、潜在変数に対する交叉、突然変異、選択などの遺伝的操作、四則演算、論理演算などの所定の合成演算などであってもよい。
次に、画像融合部102は、融合潜在変数を生成モデルに入力することで、融合画像を生成する。そして、画像融合部102は、生成した融合画像を、融合潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
生成モデルを用いて画像を融合する方法の詳細は、一例として、特許文献1に開示されている。なお、画像融合部102は、3つ以上の画像を融合して融合画像を生成してもよい。
<属性調整部>
属性調整部103は、モデル記憶部110に記憶されている生成モデルを用いて、画像に含まれる物体の属性を調整する。具体的には、属性調整部103は、まず、ユーザの操作に応じて、属性値の入力を受け付ける。入力される属性値は、属性の絶対値でもよいし、画像の属性からの相対値でもよい。次に、属性調整部103は、受け付けた属性値に応じるように、画像の潜在変数を変換する。
属性調整部103は、モデル記憶部110に記憶されている生成モデルを用いて、画像に含まれる物体の属性を調整する。具体的には、属性調整部103は、まず、ユーザの操作に応じて、属性値の入力を受け付ける。入力される属性値は、属性の絶対値でもよいし、画像の属性からの相対値でもよい。次に、属性調整部103は、受け付けた属性値に応じるように、画像の潜在変数を変換する。
調整対象とする属性の一例は、人物の耳、目、口等の形状、肌や目等の色、髪型や髪の色、腕の位置やポーズ等の姿勢、喜怒哀楽等の表情、服装の種類、色、形等、眼鏡や帽子等の付属物等である。なお、物体の属性はこれらに限定されず、対象の物体の画像を変更する上でユーザにとって意味のある項目であれば、どのような項目を属性として定義してもよい。
続いて、属性調整部103は、変換された潜在変数を生成モデルに入力することで、属性が調整された画像を生成する。そして、属性調整部103は、属性が調整された画像を、変換された潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
生成モデルを用いて画像の属性を調整する方法の詳細は、一例として、下記参考文献1に開示されている。
〔参考文献1〕Minjun Li, Yanghua Jin, Huachun Zhu, "Surrogate Gradient Field for Latent Space Manipulation," arXiv:2104.09065, 2021.
<画像編集部>
画像編集部104は、モデル記憶部110に記憶されている編集モデルを用いて、画像を編集する。具体的には、画像編集部104は、まず、編集対象の画像からセグメンテーションマップ及びセグメント領域毎の潜在変数を予測する。次に、画像編集部104は、ユーザの操作に応じて、セグメンテーションマップ及び/又はセグメント領域毎の潜在変数を変更する。
画像編集部104は、モデル記憶部110に記憶されている編集モデルを用いて、画像を編集する。具体的には、画像編集部104は、まず、編集対象の画像からセグメンテーションマップ及びセグメント領域毎の潜在変数を予測する。次に、画像編集部104は、ユーザの操作に応じて、セグメンテーションマップ及び/又はセグメント領域毎の潜在変数を変更する。
続いて、画像編集部104は、変更されたセグメンテーションマップ及び潜在変数を編集モデルに入力することで、編集された画像を生成する。編集モデルは、訓練されたニューラルネットワークでもよい。そして、画像編集部104は、編集された画像を、セグメンテーションマップ、セグメント領域毎の潜在変数及び編集モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
なお、編集モデルで用いるセグメント領域毎の潜在変数は、生成モデルで用いる潜在変数とは異なるが、相互に変換が可能である。したがって、画像編集処理で編集した画像を、他の画像処理で用いる場合、セグメント領域毎の潜在変数を生成モデルで用いる潜在変数に変換すればよい。もしくは、後述する潜在変数生成処理によって、画像編集処理で編集した画像から生成モデルで用いる潜在変数を生成してもよい。
編集モデルを用いて画像を編集する方法の詳細は、一例として、特許文献2に開示されている。
<姿勢変更部>
姿勢変更部105は、モデル記憶部110に記憶されている生成モデルを用いて、画像に含まれる物体の姿勢を変更する。具体的には、姿勢変更部105は、まず、ユーザの操作に応じて、変更後の姿勢を表す姿勢情報の入力を受け付ける。次に、姿勢変更部105は、受け付けた姿勢情報に応じるように、画像の潜在変数を変換する。
姿勢変更部105は、モデル記憶部110に記憶されている生成モデルを用いて、画像に含まれる物体の姿勢を変更する。具体的には、姿勢変更部105は、まず、ユーザの操作に応じて、変更後の姿勢を表す姿勢情報の入力を受け付ける。次に、姿勢変更部105は、受け付けた姿勢情報に応じるように、画像の潜在変数を変換する。
続いて、姿勢変更部105は、変換された潜在変数を生成モデルに入力することで、姿勢が変更された画像を生成する。そして、姿勢変更部105は、姿勢が変更された画像を、変換された潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
なお、姿勢変更部105は、準備ステップとして、ユーザの入力を受け付ける前に、変更対象とする画像の姿勢を予測してもよい。これにより、ユーザは変更後の姿勢を容易に指定することができるようになる。
生成モデルを用いて画像の姿勢を変更する方法の詳細は、一例として、上記参考文献1に開示されている。
<潜在変数生成部>
潜在変数生成部106は、モデル記憶部110に記憶されているエンコーダモデルを用いて、画像から潜在変数を生成する。具体的には、潜在変数生成部106は、画像をエンコーダモデルに入力することで、生成モデルの潜在変数を予測する。
潜在変数生成部106は、モデル記憶部110に記憶されているエンコーダモデルを用いて、画像から潜在変数を生成する。具体的には、潜在変数生成部106は、画像をエンコーダモデルに入力することで、生成モデルの潜在変数を予測する。
潜在変数生成部106は、エンコーダモデルを利用せず、生成モデルを利用して初期潜在変数を最適化することで、潜在変数を生成してもよい。初期潜在変数を指定する方法は、固定値でもよいし、ランダム値でもよいが、それらに限定されない。なお、潜在変数生成部106は、エンコーダモデルを用いて予測した潜在変数を、生成モデルを用いて最適化してもよい。これにより、潜在変数がより画像の特徴を反映するようにできる。
<ポイント管理部>
ポイント管理部107は、ユーザが保有するポイントを管理する。ポイント管理部107は、ユーザが利用した画像処理に応じて、ポイントを減算(消費)する。このとき、画像生成処理、画像融合処理及び潜在変数生成処理では第1のポイント数を消費し、属性調整処理、画像編集処理及び姿勢変更処理では第1のポイント数より小さい第2のポイント数を消費する。すなわち、ポイント管理部107は、新規に画像を生成する処理(画像生成処理、画像融合処理、潜在変数生成処理)では、既存の画像を編集する処理(属性調整処理、画像編集処理、姿勢変更処理)と比べてより大きいポイント数を消費するように構成されている。
ポイント管理部107は、ユーザが保有するポイントを管理する。ポイント管理部107は、ユーザが利用した画像処理に応じて、ポイントを減算(消費)する。このとき、画像生成処理、画像融合処理及び潜在変数生成処理では第1のポイント数を消費し、属性調整処理、画像編集処理及び姿勢変更処理では第1のポイント数より小さい第2のポイント数を消費する。すなわち、ポイント管理部107は、新規に画像を生成する処理(画像生成処理、画像融合処理、潜在変数生成処理)では、既存の画像を編集する処理(属性調整処理、画像編集処理、姿勢変更処理)と比べてより大きいポイント数を消費するように構成されている。
画像融合処理は、ユーザが選んだ複数の画像を融合するという特殊な処理であるため、他の画像処理より消費ポイント数を高くしてもよい。すなわち、ポイント管理部107は、画像融合処理では、第1のポイント数より大きい第3のポイント数を消費してもよい。
ポイント管理部107は、属性調整処理、画像編集処理及び姿勢変更処理を実行する際にはポイントを消費せず(すなわち、第2のポイント数は0)、これらの処理で生成された画像を保存する際に、第1のポイント数より小さい第4のポイント数を消費してもよい。これにより、ユーザはポイント消費を気にすることなく、既存の画像を編集する処理などを行うことができる。
第1のポイント数を消費する画像処理と、第2のポイント数を消費する画像処理の分類は、これらに限定されず、任意に選択することができる。例えば、画像融合処理では第1のポイント数を消費し、画像生成処理、属性調整処理、画像編集処理、姿勢変更処理及び潜在変数生成処理では第1のポイント数より小さい第2のポイント数を消費してもよい。このとき、ポイント管理部107は、画像生成処理、属性調整処理、画像編集処理、姿勢変更処理及び潜在変数生成処理を実行する際にはポイントを消費せず(すなわち、第2のポイント数は0)、これらの処理で生成された画像を保存する際に、第1のポイント数より小さい第5のポイント数を消費してもよい。
ユーザが保有するポイントは、以下のようにして定まる。ユーザが新規に契約すると、料金プランに応じたポイントが付与される。料金プランは、無料プランとサブスクリプションプランが用意されており、サブスクリプションプランは有料である。ポイントを消費しても、所定時間が経過すると回復する。ポイントを有料で追加購入することも可能である。ユーザが保有可能なポイント上限及びポイント回復速度は、料金プランに応じて異なる。
ポイント管理部107が、新規に画像を生成する処理では大きいポイント数を消費し、既存の画像を編集する処理では小さいポイント数を消費することで、以下のような効果が期待される。
まず、ユーザは画像を入手(生成又は融合)するために大きいポイントを消費する必要がある。しかしながら、一旦画像を入手すれば小さいポイント数で様々な編集を行い画像の変化を楽しむことができる。一方、画像の編集のみでは変化の態様に限度があるため、ユーザは次第に新たな画像を欲するようになる。そのようにして、ユーザは画像の生成又は融合と編集との循環を繰り返すことになる。
すなわち、上記のように画像処理の種類に応じて、消費するポイント数に傾斜を設けることにより、画像処理ツールに対するユーザの利用意欲を高めることができる。結果として、ユーザにより多くのポイントを消費してもらうことが可能となる。
[画像処理装置のユーザインターフェース]
次に、本開示の一実施形態における画像処理装置のユーザインターフェースについて、図2から図29を参照しながら説明する。当該ユーザインターフェースは、例えば、画像処理装置100によってユーザ端末に提供される操作画面として実現され得る。
次に、本開示の一実施形態における画像処理装置のユーザインターフェースについて、図2から図29を参照しながら説明する。当該ユーザインターフェースは、例えば、画像処理装置100によってユーザ端末に提供される操作画面として実現され得る。
図2は、画像処理を選択するための処理選択画面の一例を示す図である。図2に示されているように、処理選択画面1000は、各画像処理に対応する起動ボタン1001~1006を有する。ユーザが起動ボタン1001~1006のいずれかを押下すると、当該起動ボタンに対応する画像処理が実行される。処理選択画面1000に表示される起動ボタンの数は、画像処理ツールで提供する画像処理の種類に応じて変更可能である。
図2の例では、起動ボタン1001(生成)は画像生成部101を起動し、画像生成処理を実行する。起動ボタン1002(融合)は画像融合部102を起動し、画像融合処理を実行する。起動ボタン1003(属性調整)は属性調整部103を起動し、属性調整処理を実行する。起動ボタン1004(キャンバス)は画像編集部104を起動し、画像編集処理を実行する。起動ボタン1005(ポーズ)は姿勢変更部105を起動し、姿勢変更処理を実行する。起動ボタン1006(潜在変数化)は潜在変数生成部106を起動し、潜在変数生成処理を実行する。
図3は、処理選択画面1000を縦長に変形した場合の一例を示す図である。図3に示されているように、処理選択画面1000全体の形状を変更した場合に、起動ボタンの配列を変更するように制御してもよい。このとき、画像生成処理に対応する起動ボタン1001が常に画面左上に位置するように制御するとよい。
本実施形態における画像処理ツールでは、新規に画像を生成することが起点となって他の画像処理を起動することが多い。そのため、ユーザが最初に実行すべき処理として認識しやすい画面の左上に、常に画像生成処理が位置するように制御することで、ユーザにとって直感的に操作しやすいユーザインターフェースを実現することができる。
なお、処理選択画面1000の表示に先立って、ユーザを認証するための認証画面を表示してもよい。認証画面は、ユーザの操作に応じて、ユーザID及びパスワード等の認証情報の入力を受け付け、画像処理装置100に送信する。画像処理装置100は、ユーザ情報記憶部130に記憶されているユーザ情報に基づいて、受信した認証情報による認証を行う。画像処理装置100は認証に成功した場合、認証に成功したユーザの端末に処理選択画面1000を表示する。
<画像生成処理>
画像生成処理におけるユーザインターフェースについて、図4から図8を参照しながら説明する。
画像生成処理におけるユーザインターフェースについて、図4から図8を参照しながら説明する。
図4は、画像を生成するための画像生成画面の一例を示す図である。図4に示されているように、画像生成画面1100は、モデル選択欄1101、画像選択領域1102、生成ボタン1103及び保存ボタン1104を有する。モデル選択欄1101には、モデル記憶部110に記憶されている生成モデルの名称がドロップダウンリストで選択可能に表示される。ユーザがモデル選択欄1101で生成モデルを選択し、生成ボタン1103を押下すると、画像生成部101が、選択された生成モデルを用いて、新規に画像を生成する。
図5は、画像生成画面1100を縦長に変形した場合の一例を示す図である。図5に示されているように、画像生成画面1100全体の形状を変更した場合に、画像選択領域1102の配列を変更するように制御してもよい。
図6は、画像を生成した後の画像生成画面1100の一例を示す図である。図6に示されているように、画像生成後の画像生成画面1100では、モデル選択欄1101で選択された生成モデルを用いて生成された画像が、画像選択領域1102に表示される。
図6に示した画像生成後の画像生成画面1100は、顔画像を処理対象とする生成モデルを選択した場合の例である。例えば、全身画像を処理対象とする生成モデルを選択した場合、画像選択領域1102には、生成された全身画像が表示される。以降で説明する各画面に表示されている画像は、特に説明しない限り、画像の種類を限定するものではない。
画像生成部101は、複数の画像を生成して画像選択領域1102に表示してもよい。また、生成する画像の数は任意に決定できる。複数の画像を生成する場合、画像生成部101は、複数のランダムな潜在変数を生成し、それぞれを生成モデルに入力する。
なお、図6に示した画像生成画面1100において、ユーザが生成ボタン1103を再度押下すると、画像生成部101が再度画像を生成し、画像選択領域1102が更新される。
画像生成画面1100の画像選択領域1102において、ユーザは任意の画像を拡大表示することができる。図7は、生成された画像を拡大画像表示領域1105に拡大表示した場合の画像生成画面1100の一例を示す図である。この図7は、図6に示した画像選択領域1102の上段の左から4番目に表示されている画像をユーザが指定した場合にその画像が拡大画像表示領域1105に拡大表示されたものである。なお、拡大画像表示領域1105の左右には記号「<」と「>」とが表示されてもよい。ユーザが記号「<」を指定すると、拡大画像表示領域1105に表示される画像が、拡大表示されている画像の前の画像(図7の例では、図6に示した画像選択領域1102の上段の左から3番目の画像)のものに切り替わる。ユーザが記号「>」を指定すると、拡大画像表示領域1105に表示される画像が、拡大表示されている画像の次の画像(図7の例では、図6に示した画像選択領域1102の上段の左から5番目の画像)のものに切り替わる。
画像生成画面1100の画像選択領域1102において、ユーザが任意の画像を選択し、保存ボタン1104を押下すると、図8に示す保存確認画面が表示される。なお、ユーザが選択可能な画像の数は複数であってもよく、選択可能な上限は任意に設定すればよい。
図8は、保存確認画面の一例を示す図である。ユーザが保存確認画面1110において「はい」ボタン1111を押下すると、画像生成部101が、画像選択領域1102で選択された画像を、当該画像の潜在変数及び画像生成に使用した生成モデルを識別する識別情報と関連付けて、画像情報記憶部120に記憶する。
<画像融合処理>
画像融合処理におけるユーザインターフェースについて、図9から図12を参照しながら説明する。
画像融合処理におけるユーザインターフェースについて、図9から図12を参照しながら説明する。
図9は、画像を融合するための画像融合画面の一例を示す図である。図9に示されているように、画像融合画面1200は、第1画像選択欄1201及び第2画像選択欄1202を有する。ユーザが第1画像選択欄1201を押下すると、図10に示す画像選択画面が表示される。
図10は、画像選択画面の一例を示す図である。図10に示されているように、画像選択画面1210は、画像選択領域1211及びフィルタボタン1212を有する。画像選択領域1211には、画像情報記憶部120に記憶されている画像が表示される。画像選択領域1211に表示される各画像について、その画像を生成した生成モデルの名称を画像とともに表示してもよい。ユーザはフィルタボタン1212からフィルターの設定を行うことで、画像選択領域1211に表示する画像を絞り込むことができる。フィルターの一例は、画像に関連付けられた生成モデルである。すなわち、ユーザはフィルターで生成モデルを指定することで、当該生成モデルで生成された画像のみを表示することができる。
画像選択画面1210の画像選択領域1211において、ユーザが任意の画像(以下、「第1画像」とも呼ぶ)を選択すると、選択された第1画像が画像融合画面1200の第1画像選択欄1201に表示される。
次に、ユーザが第2画像選択欄1202を押下すると、図10に示した画像選択画面1210が表示される。画像選択画面1210の画像選択領域1211において、ユーザが任意の画像(以下、「第2画像」とも呼ぶ)を選択すると、選択された第2画像が画像融合画面1200の第2画像選択欄1202に表示される。
第2画像を選択する場合、画像選択画面1210は、第1画像と同じ生成モデルで生成された画像だけが選択可能となるように制御を行ってもよい。例えば、画像選択画面1210は、第1画像と関連付けられている生成モデルをフィルターに設定すればよい。これにより、画像選択領域1211には、第1画像と同じ生成モデルで生成された画像だけが表示されるようになる。
また、例えば、画像選択画面1210は、第2画像に関連付けられた生成モデルが、第1画像に関連付けられた生成モデルと異なる場合、画像の融合ができない旨を示す警告画面を表示し、当該画像を選択できないように制御してもよい。この場合、ユーザは潜在変数生成処理を用いて、第2画像から、第1画像と同じ生成モデルに応じた潜在変数を、手動で生成すればよい。また、生成した潜在変数(第1画像と同じ生成モデルに対応)と、第1画像と同じ生成モデルの識別情報と、その両方を用いて生成した画像とを関連付けて、画像情報記憶部120に記憶してもよい。
さらに、画像選択画面1210は、第1画像と異なる生成モデルで生成された画像を選択可能としてもよい。この場合、画像融合部102は、潜在変数生成処理を用いて、第2画像から、第1画像と同じ生成モデルに応じた潜在変数を、自動的に生成すればよい。また、生成した潜在変数(第1画像と同じ生成モデルに対応)と、第1画像と同じ生成モデルの識別情報と、その両方を用いて生成した画像とを関連付けて、画像情報記憶部120に記憶してもよい。
図11は、2つの画像を選択した後の画像融合画面の一例を示す図である。図11に示されているように、画像選択後の画像融合画面1200は、第1画像選択欄1201、第2画像選択欄1202、生成ボタン1203及び保存ボタン1204を有する。
第1画像選択欄1201及び第2画像選択欄1202には、画像選択画面1210で選択された第1画像及び第2画像が表示される。ユーザが生成ボタン1203を押下すると、画像融合部102が、第1画像に関連付けられた生成モデルを用いて、第1画像と第2画像とを融合する。
図12は、画像を融合した後の画像融合画面1200の一例を示す図である。図12に示されているように、画像融合後の画像融合画面1200は、生成ボタン1203、保存ボタン1204、画像表示領域1205及び画像選択領域1206を有する。
画像表示領域1205には、融合前の第1画像及び第2画像が表示される。画像選択領域1206には、第1画像と第2画像とを融合した融合画像が表示される。第1画像及び第2画像よりも画像のディティールをユーザがよりよく把握できるように、各融合画像は、第1画像及び第2画像のそれぞれよりも大きく表示されてもよい。
画像融合部102は、複数の融合画像を生成して画像選択領域1206に表示してもよく、生成する画像の数は任意に決定できる。なお、画像融合処理がランダム性を有する場合、画像融合部102は、画像融合処理を複数回繰り返し実行することで複数の融合画像を生成してもよい。また、画像融合部102は、第1画像の潜在変数と第2画像の潜在変数に対して、異なる遺伝的操作を実施することにより複数の融合画像を生成してもよい。
なお、図12に示した画像融合画面1200において、ユーザが生成ボタン1203を再度押下すると、画像融合部102が再度画像を融合し、画像選択領域1206が更新される。
ユーザが画像選択領域1206において、任意の融合画像を選択し、保存ボタン1204を押下すると、図8に示した保存確認画面が表示される。なお、ユーザが選択可能な画像の数は複数であってもよく、選択可能な上限は任意に設定すればよい。
ユーザが保存確認画面において「はい」ボタンを押下すると、画像融合部102が、画像選択領域1206で選択された融合画像を、当該融合画像の潜在変数及び画像生成に使用した生成モデルを識別する識別情報と関連付けて、画像情報記憶部120に記憶する。
<属性調整処理>
属性調整処理におけるユーザインターフェースについて、図13から図15を参照しながら説明する。
属性調整処理におけるユーザインターフェースについて、図13から図15を参照しながら説明する。
図13は、画像に含まれる物体の属性を調整するための属性調整画面の一例を示す図である。図13に示されているように、属性調整画面1300は、画像選択欄1301、結果表示欄1302、変更ボタン1303及び保存ボタン1304を有する。
ユーザが画像選択欄1301を押下すると、図10に示した画像選択画面が表示される。画像選択画面の画像選択領域において、ユーザが任意の画像(以下、「ベース画像」とも呼ぶ)を選択すると、図14に示す属性調整画面が表示される。
図14は、画像を選択した後の属性調整画面の一例を示す図である。図14に示されているように、画像選択後の属性調整画面1300には、属性値指定パネル1305が表示される。また、画像選択欄1301には、ベース画像が表示される。属性値指定パネル1305には、調整可能な属性が表示される。調整可能な属性は階層表示されてもよく、図14の例では、調整可能な属性として、髪の色「Hair Color」、目の色「Eye Color」、他の属性「Others」が階層表示される。
図15は、属性を調整した後の属性調整画面の一例を示す図である。図15に示されているように、画像選択後の属性調整画面1300では、属性値指定パネル1305に、各属性の現在の値がスライダーバーで変更可能に表示される。ユーザは、属性値指定パネル1305において、任意の属性値をスライダーバーで変更することができる。図15の例では、「long_hair」属性の属性値が1.26に変更されていることを示す。この変更内容(調整された属性とその属性値)は、例えば「long_hair: 1.26」という表示のように、属性値指定パネル1305の上の領域に表示されてもよい。なお、属性値の変更方法として、ユーザがスライダーバーを操作する方法の他に、例えば属性値となる数値をユーザが直接入力する方法や、現在の属性値を定数値増減させるボタンをユーザが押す方法などが採用されてもよい。
ユーザが属性値指定パネル1305において任意の属性値を変更し、変更ボタン1303を押下すると、属性調整部103が、ベース画像の潜在変数を、属性値指定パネル1305で指定された属性値に従って変換する。そして、属性調整部103は、変換した潜在変数を、当該画像に関連付けられた生成モデルに入力することで、属性調整後の画像を生成する。生成された属性調整後の画像は、結果表示欄1302に表示される。
ユーザが保存ボタン1304を押下すると、図8に示した保存確認画面が表示される。ユーザが保存確認画面において「はい」ボタンを押下すると、属性調整部103が、結果表示欄1302に表示された属性調整後の画像を、当該画像の潜在変数及び画像生成に使用した生成モデルを識別する識別情報と関連付けて、画像情報記憶部120に記憶する。
<画像編集処理>
画像編集処理におけるユーザインターフェースについて説明する。
画像編集処理におけるユーザインターフェースについて説明する。
画像編集画面は、セグメンテーションマップ表示欄、結果表示欄、選択画像表示欄、参照画像表示欄、適用ボタン及び追加ボタンを有する。一例として、セグメンテーションマップ表示欄及び結果表示欄は、画面中央付近に横に並べて表示されてもよい。選択画像表示欄及び参照画像表示欄は、画面右端に縦に並べて表示されてもよい。セグメンテーションマップ表示欄及び結果表示欄は、選択画像表示欄及び参照画像表示欄よりも大きく表示されてもよい。適用ボタン及び追加ボタンは、画面下部に横に並べて表示されてもよい。
ユーザがセグメンテーションマップ表示欄を押下すると、図10に示した画像選択画面が表示される。画像選択画面の画像選択領域において、ユーザが任意の画像(以下、「ベース画像」とも呼ぶ)を選択すると、セグメンテーションマップ表示欄に、ベース画像のセグメンテーションマップが表示される。また、選択画像表示欄に、ベース画像が表示される。
ユーザは画像編集画面において参照画像を選択してもよい。参照画像は、編集したセグメンテーションマップを確認するために適用する画像である。この場合、ユーザは参照画像表示欄を押下する。すると、図10に示した画像選択画面が表示される。画像選択画面の画像選択領域において、ユーザが任意の画像(以下、「参照画像」とも呼ぶ)を選択すると、参照画像表示欄に、参照画像が表示される。ここで、ユーザが適用ボタンを押下すると、セグメンテーションマップ表示欄に表示されている編集後のセグメンテーションマップが、参照画像表示欄に表示されている参照画像に適用され、結果表示欄に表示される。
具体的には、画像編集部104が、まず、参照画像からセグメント毎の潜在変数を予測する。次に、画像編集部104は、セグメンテーションマップ表示欄に表示されているセグメンテーションマップに従って、参照画像のセグメント毎の潜在変数を変換する。
続いて、画像編集部104は、変換したセグメント毎の潜在変数を、ベース画像に関連付けられた生成モデルに対応する編集モデルに入力することで、編集後の画像を生成する。そして、画像編集部104は、編集後の画像を結果表示欄に表示する。
ここで、画像編集画面において画像を編集する操作について説明する。ユーザは画像編集画面に表示されるツールバー及びレイヤ一覧を用いて画像の編集を行う。一例として、ツールバーは画面左端に表示され、レイヤ一覧は画面右端に表示されてもよい。
ツールバーは、セグメンテーションマップを編集するためのツールを選択するパネルである。レイヤ一覧は、編集対象とするセグメンテーションマップのレイヤを選択するためのレイヤ一覧である。ユーザは、レイヤ一覧において、編集対象とするレイヤを選択し、ツールバーでツールを選択した上で、セグメンテーションマップ表示欄において、選択されたレイヤを編集する。
レイヤ一覧において特定のレイヤを右クリックすると、ミックス比率指定欄が表示される。ミックス比率指定欄を用いて、ベース画像と参照画像とのミックス比率を調整することが可能である。
ユーザが適用ボタンを押下すると、セグメンテーションマップ表示欄に表示されている編集後のセグメンテーションマップが、参照画像表示欄に表示されている参照画像に適用される。
ユーザが追加ボタンを押下すると、画像編集部104が、結果表示欄に表示されている編集後の画像を、編集後のセグメンテーションマップ、当該画像のレイヤ毎の潜在変数及び編集モデルを識別する識別情報と関連付けて、画像情報記憶部120に記憶する。
<姿勢変更処理>
姿勢変更処理におけるユーザインターフェースについて説明する。
姿勢変更処理におけるユーザインターフェースについて説明する。
姿勢変更画面は、画像選択欄、結果表示欄、変更ボタン及び保存ボタンを有する。一例として、画像選択欄は、画面左上に表示されてもよい。結果表示欄は、画面中央付近に表示されてもよい。結果表示欄は画像選択欄よりも大きく表示されてもよい。変更ボタン及び保存ボタンは、画面下部に横に並べて表示されてもよい。
ユーザが画像選択欄を押下すると、図10に示した画像選択画面が表示される。画像選択画面の画像選択領域において、ユーザが任意の画像(以下、「ベース画像」とも呼ぶ)を選択すると、画像選択欄に、ベース画像が表示される。また、結果表示欄には、ベース画像から抽出された間接点を接続した姿勢情報が表示される。
画像選択後の姿勢変更画面は、参照画像選択欄をさらに有する。ユーザが参照画像選択欄を押下すると、図10に示した画像選択画面が表示される。画像選択画面の画像選択領域において、ユーザが任意の画像(以下、「参照画像」とも呼ぶ)を選択すると、参照画像選択欄に、参照画像が表示される。同時に、結果表示欄に表示された姿勢情報が、参照画像選択欄に表示された参照画像から抽出した姿勢情報に更新される。
なお、参照画像選択欄において参照画像を選択せずに、結果表示欄において間接点を手動で移動することで、姿勢情報を変更してもよい。
ユーザが変更ボタンを押下すると、姿勢変更部105が、画像選択欄で選択された画像の潜在変数を、結果表示欄に表示された姿勢情報に従って変換する。次に、姿勢変更部105は、変換した潜在変数を、当該画像に関連付けられた生成モデルに入力することで、姿勢変更後の画像を生成する。
姿勢変更後の画像は、結果表示欄に表示される。ユーザが保存ボタンを押下すると、姿勢変更部105が、結果表示欄に表示された画像を、当該画像の潜在変数及び画像生成に使用した生成モデルを識別する識別情報と関連付けて、画像情報記憶部120に記憶する。
<潜在変数生成処理>
潜在変数生成処理におけるユーザインターフェースについて説明する。
潜在変数生成処理におけるユーザインターフェースについて説明する。
潜在変数生成画面は、モデル選択欄、画像選択欄、結果表示欄、適用ボタン及び保存ボタンを有する。一例として、モデル選択欄は、画面左上に表示されてもよい。画像選択欄及び結果表示欄は、画面中央付近に横に並べて表示されてもよい。適用ボタン及び保存ボタンは、画面下部に横に並べて表示されてもよい。
モデル選択欄には、モデル記憶部110に記憶されている生成モデルの名称がドロップダウンリストで選択可能に表示される。ユーザが画像選択欄を押下すると、画像ファイルを選択するための画像選択画面が表示される。ユーザが画像選択画面において画像ファイルを選択すると、選択された画像ファイルが画像処理装置100にアップロードされ、画像選択欄に、アップロードされた画像が表示される。ユーザがモデル選択欄で生成モデルを選択し、適用ボタンを押下すると、潜在変数生成部106が、選択された生成モデルに対応するエンコーダモデルを用いて、画像選択欄に表示された画像から潜在変数を生成する。なお、潜在変数の生成には公知技術を用いてもよい。
潜在変数生成部106が潜在変数を生成すると、生成された潜在変数に対応する画像が結果表示欄に表示される。具体的には、潜在変数生成部106は、生成した潜在変数を選択された生成モデルに入力することで、画像を生成する。そして、潜在変数生成部106は、生成した画像を結果表示欄に表示する。
ユーザが保存ボタンを押下すると、潜在変数生成部106は、結果表示欄に表示された画像を、生成された潜在変数及び生成に用いた生成モデルを識別する識別情報と関連付けて、画像情報記憶部120に記憶する。
<ポイント表示>
画像処理装置100のユーザインターフェースには、認証されたユーザが保有するポイント情報を表示してもよい。ポイント情報の表示例を、図16及び図17を参照しながら説明する。
画像処理装置100のユーザインターフェースには、認証されたユーザが保有するポイント情報を表示してもよい。ポイント情報の表示例を、図16及び図17を参照しながら説明する。
図16は、画像処理ツールの操作方法等を表示するためのヘルプ画面の一例を示す図である。図16に示すように、ヘルプ画面1700は、各機能の説明を表示するためのボタンを有する。また、ヘルプ画面1700は、ポイント表示欄1701及びポイント追加ボタン1702を有する。ポイント表示欄1701には、ユーザが保有するポイント数及び当該ユーザが保有できるポイントの上限値が表示される。ユーザがポイント追加ボタン1702を押下すると、ポイントを購入するための課金画面が表示される。なお、ポイント表示欄1701は、処理選択画面や各画像処理における画面において表示してもよい。
図17は、画像の詳細情報を表示するための画像詳細画面の一例を示す図である。図17に示すように、画像詳細画面1800は、画像のプロフィール、コメント、タグ等の詳細情報を表示する。また、画像詳細画面1800は、ポイント表示欄1801及びポイント追加ボタン1802を有する。ポイント表示欄1801及びポイント追加ボタン1802の機能は、ヘルプ画面1700のポイント表示欄1701及びポイント追加ボタン1702と同様である。
[画像処理方法の処理手順]
続いて、本開示の一実施形態における画像処理方法の処理手順について、図18及び図19を参照しながら説明する。図18は、画像処理方法の処理手順の一例を示すフローチャートである。
続いて、本開示の一実施形態における画像処理方法の処理手順について、図18及び図19を参照しながら説明する。図18は、画像処理方法の処理手順の一例を示すフローチャートである。
ステップS1において、画像生成部101は、ユーザの操作に応じて、モデル記憶部110に記憶されている生成モデルを用いて、新規に画像を生成する。次に、ポイント管理部107は、当該ユーザの保有するポイントから所定のポイント数(以下、「第1のポイント数」とも呼ぶ)を減算する。
ステップS2において、画像生成部101は、生成した画像を、潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
ステップS3において、画像処理装置100は、ユーザの操作に応じて、次に実行する画像処理を判定する。具体的には、図2又は図3に示した処理選択画面1000において起動ボタン1002~1005が押下されたことに応じて、当該起動ボタンに対応する画像処理を実行する。
画像処理装置100は、起動ボタン1003(属性調整処理)が押下された場合、ステップS4に処理を進める。画像処理装置100は、起動ボタン1004(画像編集処理)が押下された場合、ステップS6に処理を進める。画像処理装置100は、起動ボタン1005(姿勢変更処理)が押下された場合、ステップS8に処理を進める。画像処理装置100は、起動ボタン1002(画像融合処理)が押下された場合、ステップS10に処理を進める。
ステップS4において、属性調整部103は、ユーザの操作に応じて、モデル記憶部110に記憶されている生成モデルを用いて、画像に含まれる物体の属性を調整する。次に、ポイント管理部107は、当該ユーザの保有するポイントから所定のポイント数(以下、「第2のポイント数」)を減算する。なお、第2のポイント数は、第1のポイント数よりも小さく設定される。
ステップS5において、属性調整部103は、属性が調整された画像を、変換された潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
ステップS6において、画像編集部104は、ユーザの操作に応じて、モデル記憶部110に記憶されている編集モデルを用いて、画像を編集する。次に、ポイント管理部107は、当該ユーザの保有するポイントから第2のポイント数を減算する。
ステップS7において、画像編集部104は、編集された画像を、変換された潜在変数及び画像編集に用いた編集モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
ステップS8において、姿勢変更部105は、ユーザの操作に応じて、モデル記憶部110に記憶されている生成モデルを用いて、画像に含まれる物体の姿勢を変更する。次に、ポイント管理部107は、当該ユーザの保有するポイントから第2のポイント数を減算する。
ステップS9において、姿勢変更部105は、姿勢が変更された画像を、変換された潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
ステップS10において、画像融合部102は、ユーザの操作に応じて、モデル記憶部110に記憶されている生成モデルを用いて、少なくとも2つの画像を融合する。次に、ポイント管理部107は、当該ユーザの保有するポイントから第1のポイント数を減算する。
ステップS11において、画像融合部102は、画像融合部102は、生成した融合画像を、融合潜在変数及び生成モデルの識別情報と関連付けて、画像情報記憶部120に記憶する。
<画像融合処理の処理手順>
本開示の一実施形態における画像融合処理(図18のステップS10)の詳細な手順について、図19を参照しながら説明する。図19は、画像融合処理の処理手順の一例を示すフローチャートである。
本開示の一実施形態における画像融合処理(図18のステップS10)の詳細な手順について、図19を参照しながら説明する。図19は、画像融合処理の処理手順の一例を示すフローチャートである。
ステップS10-1において、画像融合部102は、ユーザの操作に応じて、複数の画像の選択を受け付ける。選択される複数の画像は、画像情報記憶部120に記憶されている画像であってもよいし、ユーザによりアップロードされた画像であってもよい。選択される複数の画像がいずれも画像情報記憶部120に記憶されている画像である場合、当該画像を生成した生成モデルが同じであってもよいし、異なっていてもよい。
ステップS10-2において、画像融合部102は、受け付けた複数の画像それぞれについて、画像情報記憶部120に記憶されている潜在変数及び生成モデルを識別する識別情報を取得する。なお、受け付けた画像がユーザによりアップロードされたものである場合、潜在変数及び生成モデルの識別情報を取得することができないが、そのまま以降の処理を実行する。
ステップS10-3において、画像融合部102は、各画像の潜在変数が取得できたか否かを判定する。すべての画像の潜在変数を取得できた場合(YES)、画像融合部102は、ステップS10-4に処理を進める。一方、いずれかの画像の潜在変数を取得できなかった場合(NO)、画像融合部102は、潜在変数を取得できなかった一方の画像と潜在情報を取得できた他方の画像の生成モデルの識別情報とを潜在変数生成部106に送り、ステップS10-5に処理を進める。
ステップS10-4において、画像融合部102は、各画像の生成モデルの識別情報が一致するか否かを判定する。すべての画像の生成モデルの識別情報が一致する場合(YES)、画像融合部102は、ステップS10-6に処理を進める。一方、いずれかの画像の生成モデルの識別情報が異なる場合(NO)、画像融合部102は、識別情報が異なる一方の画像と他方の画像の生成モデルの識別情報とを潜在変数生成部106に送り、ステップS10-5に処理を進める。
ステップS10-5において、潜在変数生成部106は、画像融合部102から受け取った識別情報により生成モデルを識別し、当該生成モデルに対応するエンコーダモデルを特定する。次に、潜在変数生成部106は、画像融合部102から受け取った画像を、特定したエンコーダモデルに入力することで、潜在変数を生成する。上述のように、潜在変数の生成に生成モデルを用いてもよい。
ステップS10-6において、画像融合部102は、選択された複数の画像の潜在変数を融合することで、融合潜在変数を生成する。ただし、ステップS10-5で潜在変数を生成した場合、他方の画像の潜在変数と生成した潜在変数とを融合する。
ステップS10-7において、画像融合部102は、融合潜在変数を生成モデルに入力することで、融合画像を生成する。生成モデルは、各画像の生成モデルの識別情報により特定される生成モデルである。
[補足]
上記説明した各画像処理の結果を保存する際、画像と潜在変数と生成モデルの識別情報とを関連付けて保存するように説明したが、潜在変数と生成モデルの識別情報を関連付けて記憶してもよい。それに対応する画像は、表示要求を受けた場合など、必要なときに再度潜在変数と生成モデルから生成するようにしてもよい。
上記説明した各画像処理の結果を保存する際、画像と潜在変数と生成モデルの識別情報とを関連付けて保存するように説明したが、潜在変数と生成モデルの識別情報を関連付けて記憶してもよい。それに対応する画像は、表示要求を受けた場合など、必要なときに再度潜在変数と生成モデルから生成するようにしてもよい。
「潜在変数を生成モデルの識別情報と関連付けて記憶」は、直接的に関連付けて記憶する場合と間接的に関連付けて記憶する場合の両方を含む。例えば、潜在変数と生成モデルの識別情報をセットのデータとして記憶してもよいし、潜在変数に生成モデルの識別情報を付与して記憶してもよい。また、例えば、「潜在変数と画像の識別情報(画像の名称、画像のIDなど)とを紐づけて記憶し、生成モデルの識別情報と同じ画像の識別情報とを紐づけて記憶」であってもよい。この場合、画像の識別情報を基に潜在変数とそれに対応する生成モデルの識別情報とを呼び出すことができる。また、潜在変数と生成モデルそのものをセットで記憶してもよい。後続の処理において「潜在変数」と「それに対応する生成モデル」との対応関係を呼び出すことが可能な方法であれば任意の方法でよい。
図2から図17に示した各ユーザインターフェースは、ユーザが直接操作する端末(例えば、PC、スマートフォン等)に表示されてもよい。
ユーザ情報記憶部130に、ユーザの識別情報とそのユーザが保有する画像の画像の識別情報をセットで記憶してもよい。この場合、各画像処理において、ユーザに紐づけられた画像のみが処理対象として呼び出せるように制限してもよい。
[まとめ]
本実施形態によれば、様々な画像処理を実行可能な装置を提供することができる。また、本実施形態における画像処理装置100を用いることにより、様々な画像処理を実行可能なサービスを提供することができる。
本実施形態によれば、様々な画像処理を実行可能な装置を提供することができる。また、本実施形態における画像処理装置100を用いることにより、様々な画像処理を実行可能なサービスを提供することができる。
本実施形態における画像処理装置100は、画像の潜在変数を、生成モデルを識別する識別情報と関連付けて記憶することで、当該画像を様々な画像処理の間で共有することを可能としている。画像融合処理では、融合対象の複数の画像が同じ生成モデルの潜在空間に属している又は同じ生成モデルに紐付けられている必要があるため、本実施形態のように画像の潜在変数と生成モデルの識別情報を関連付けておくことで、適切な画像融合処理を実行することができる。また、他の画像処理においても、潜在変数に関連付けられた生成モデルを用いることにより、適切な画像処理を行うことができる。また、画像融合処理において、融合対象となる複数の画像が異なる生成モデルを用いて生成されている場合、潜在変数生成処理を実行することで同じ生成モデルに対応する潜在変数を生成することができる。
本実施形態における画像処理装置100は、画像融合処理を実行する際、融合対象となる画像を、生成モデルに基づいてフィルタリングされた画像から選択することができる。これにより、同じ生成モデルに対応する複数の潜在変数を用いて、融合処理を実行することができる。
本実施形態における画像処理装置100は、画像処理に応じた消費ポイントを設定することにより、画像処理ツールに対するユーザの利用意欲を高めることができる。結果として、ユーザにより多くのポイントを消費してもらうことが可能になる。
本実施形態における画像処理装置100は、画像生成処理を実行した場合、一例として、画像の識別情報、潜在変数、対応する生成モデルの識別情報、生成された画像を記憶する。このとき、画像の識別情報と生成された画像を記憶するか否かは任意に決定することができる。
本実施形態における画像処理装置100は、画像融合処理を実行した場合、一例として、画像の識別情報、融合後の潜在変数、対応する生成モデルの識別情報、生成された融合画像、融合に用いた2つの画像の画像の識別情報を記憶する。このとき、画像の識別情報、生成された融合画像、融合に用いた2つの画像の画像の識別情報を記憶するか否かは任意に決定することができる。融合に用いた画像の画像の識別情報を記憶する場合、この画像の識別情報から元の画像の潜在変数と生成モデルの識別情報を取得することができる。
本実施形態における画像処理装置100は、属性調整処理を実行した場合、一例として、画像の識別情報、属性調整後の潜在変数、対応する生成モデルの識別情報、生成された属性調整後の画像、属性調整前の画像の画像の識別情報を記憶する。このとき、画像の識別情報、生成された属性調整後の画像、属性調整前の画像の画像の識別情報を記憶するか否かは任意に決定することができる。属性調整前の画像の画像の識別情報を記憶する場合、この画像の識別情報から属性調整前の画像の潜在変数と生成モデルの識別情報を取得することができる。
本実施形態における画像処理装置100は、姿勢変更処理を実行した場合、一例として、画像の識別情報、姿勢変更後の潜在変数、対応する生成モデルの識別情報、生成された姿勢変更後の画像、姿勢変更前の画像の画像の識別情報を記憶する。このとき、画像の識別情報、生成された姿勢変更後の画像、姿勢変更前の画像の画像の識別情報を記憶するか否かは任意に決定することができる。姿勢変更前の画像の画像の識別情報を記憶する場合、この画像の識別情報から姿勢変更前の画像の潜在変数と生成モデルの識別情報を取得することができる。
本実施形態における画像処理装置100は、潜在変数生成処理を実行した場合、一例として、画像の識別情報、生成した潜在変数、対応する生成モデルの識別情報、生成した潜在変数を対応する生成モデルに入力して生成した画像、潜在変数の生成に用いた元の画像、潜在変数の生成に用いたエンコーダモデルの識別情報を記憶する。このとき、生成した潜在変数を対応する生成モデルに入力して生成した画像、潜在変数の生成に用いた元の画像、潜在変数の生成に用いたエンコーダモデルの識別情報を記憶するか否かは任意に決定することができる。
本実施形態における画像処理装置100は、画像編集処理を実行した場合、一例として、画像の識別情報、編集後の潜在変数、対応する編集モデルの識別情報、セグメンテーションマップ、編集後の画像、編集前の画像の画像の識別情報を記憶する。このとき、画像の識別情報、セグメンテーションマップ、編集後の画像、編集前の画像の画像の識別情報を記憶するか否かは任意に決定することができる。編集前の画像の画像の識別情報を記憶する場合、この画像の識別情報から編集前の画像の潜在変数と生成モデルの識別情報を取得することができる。
本実施形態における画像処理装置100は、画像生成処理を実行した後、記憶された潜在変数と対応する生成モデルとを用いて、属性調整処理、姿勢変更処理、画像融合処理を実行してもよい。
本実施形態における画像処理装置100は、画像融合処理を実行した後、記憶された潜在変数と対応する生成モデルとを用いて、属性調整処理、姿勢変更処理、画像融合処理(すなわち、同じ画像処理の繰り返し)を実行してもよい。
本実施形態における画像処理装置100は、属性調整処理を実行した後、記憶された潜在変数と対応する生成モデルとを用いて、姿勢変更処理、画像融合処理、属性調整処理(すなわち、同じ画像処理の繰り返し)を実行してもよい。
本実施形態における画像処理装置100は、姿勢変更処理を実行した後、記憶された潜在変数と対応する生成モデルとを用いて、属性調整処理、画像融合処理、姿勢変更処理(すなわち、同じ画像処理の繰り返し)を実行してもよい。
潜在変数生成処理は、下記のタイミングで実行してもよい。第1のタイミングは、融合対象となる画像間で生成に用いた生成モデルが異なる場合である。第2のタイミングは、ユーザ指定の画像等の潜在変数が存在しない画像について属性調整処理、姿勢変更処理、画像融合処理を実行する前である。
各画像処理において、「潜在変数」とそれに関連付けて記憶された生成モデルの識別情報で特定される「生成モデル」を用いて処理を実行してもよい。少なくとも画像生成処理、画像融合処理、属性調整処理、姿勢変更処理の間において、同じ生成モデルと、それに対応する潜在変数とを用いて処理を実行してもよい。また、潜在変数生成処理においても、同じ生成モデルを用いて潜在変数を生成可してもよい。本実施形態における画像処理装置100は、1又は複数の記憶装置と、1又は複数のプロセッサとで構成されてもよい。この場合、1又は複数のプロセッサは、1又は複数の記憶装置への各種データの記憶や1又は複数の記憶装置からの各種データの取得を制御することができる。また、1又は複数のプロセッサは、表示装置に表示する画面を制御してもよい。
[画像処理装置のハードウェア構成]
前述した実施形態における各装置(画像処理装置100)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、CD-ROM(Compact Disc-Read Only Memory)、USB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部がASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
前述した実施形態における各装置(画像処理装置100)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、CD-ROM(Compact Disc-Read Only Memory)、USB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部がASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク、メモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし(主記憶装置、補助記憶装置等)、コンピュータ外部に備えられてもよい。
図20は、前述した実施形態における各装置(画像処理装置100)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
図20のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図20では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(画像処理装置100)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
前述した実施形態における各装置(画像処理装置100)の各種演算は、1又は複数のプロセッサを用いて、又はネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
プロセッサ71は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、ASIC等)であってもよい。また、プロセッサ71は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置のいずれであってもよい。また、プロセッサ71は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
前述した実施形態における各装置(画像処理装置100)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶してもよく、主記憶装置72に記憶された情報がプロセッサ71により読み出されてもよい。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置(画像処理装置100)において各種データ等を保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態におけるモデル記憶部110、画像情報記憶部120及びユーザ情報記憶部130は、主記憶装置72又は補助記憶装置73により実現されてもよい。
前述した実施形態における各装置(画像処理装置100)が、少なくとも1つの記憶装置(メモリ)と、この少なくとも1つの記憶装置に接続(結合)される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、プロセッサ1つに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか又はそれらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
外部装置9Aはコンピュータ7とネットワークを介して接続されている装置である。外部装置9Bはコンピュータ7と直接接続されている装置である。
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、タッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、スマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
また、外部装置9A又は外部装置Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
また、外部装置9Aまた外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aはネットワークストレージ等であってもよく、外部装置9BはHDD等のストレージであってもよい。
また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置(画像処理装置100)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bに処理結果の一部又は全部を送信してもよいし、外部装置9A又は外部装置9Bから処理結果の一部又は全部を受信してもよい。
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
本明細書(請求項を含む)において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等)を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合(同様な表現を含む)、特に断りがない場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合(同様な表現を含む)、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、各種データの中間表現等)を出力として用いる場合を含む。
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ、専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造等が動作Bを実際に実行するように構築(implemented)されていればよい。
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」、「有する(having)」等)が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」、「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
本明細書において、ある実施形態の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
本明細書(請求項を含む)において、「最大化する(maximize)/最大化(maximization)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化する(minimize)/最小化(minimization)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化する(optimize)/最適化(optimization)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現(同様な表現を含む)が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、電子回路を含む装置等を含んでよい。
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。
本明細書(請求項を含む)において、「第1の」、「第2の」等の用語は、単に2つ以上の要素間を区別する方法として使用されており、その対象に対して時間的態様、空間的態様、順序、量等の技術的意味を課すことを必ずしも意図するものではない。したがって、例えば、第1の要素及び第2の要素への参照は、2つの要素のみがそこで採用され得ること、第1の要素が第2の要素に先行しなければならないこと、第2の要素が存在するために第1の要素が存在しなければならないこと等を必ずしも意味するものではない。
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え、部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も例示的なものであり、本開示の範囲を限定するものではない。
本願は、日本国特許庁に2022年2月3日に出願された日本国特許出願2022-15798号の優先権を主張するものであり、その全内容を参照することにより本願に援用する。
100 画像処理装置
101 画像生成部
102 画像融合部
103 属性調整部
104 画像編集部
105 姿勢変更部
106 潜在変数生成部
107 ポイント管理部
110 モデル記憶部
120 画像情報記憶部
130 ユーザ情報記憶部
101 画像生成部
102 画像融合部
103 属性調整部
104 画像編集部
105 姿勢変更部
106 潜在変数生成部
107 ポイント管理部
110 モデル記憶部
120 画像情報記憶部
130 ユーザ情報記憶部
Claims (18)
- 1又は複数の記憶装置と、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
第1の潜在変数を第1の生成モデルに入力することで第1の画像を生成することと、
前記第1の潜在変数を前記第1の生成モデルの識別情報と関連付けて前記1又は複数の記憶装置に記憶させることと、
前記1又は複数の記憶装置から前記第1の潜在変数と前記第1の潜在変数に関連付けられた前記第1の生成モデルの識別情報を取得することと、
前記第1の潜在変数に基づいて第2の潜在変数を生成することと、
前記第2の潜在変数を前記第1の生成モデルに入力することで第2の画像を生成することと、
前記第2の潜在変数を前記第1の生成モデルの識別情報と関連付けて前記1又は複数の記憶装置に記憶させることと、
を実行し、
前記第2の画像は、前記第1の画像とは異なる画像であって、少なくとも前記第1の画像に含まれる第1の物体とは異なる第2の物体を含む画像である、
画像処理装置。 - 前記第2の物体は、少なくとも前記第1の物体の属性又は姿勢のいずれかを変更させた物体である、
請求項1に記載の画像処理装置。 - 前記1又は複数のプロセッサは、前記第1の潜在変数と第3の潜在変数とを融合することで前記第2の潜在変数を生成し、
前記第2の物体は、前記第1の物体と前記第3の潜在変数を前記第1の生成モデルに入力することで生成される第3の画像に含まれる第3の物体とを融合した物体であり、
前記第3の潜在変数は、前記第1の生成モデルと関連付けられて前記1又は複数の記憶装置に記憶されている潜在変数である、
請求項1に記載の画像処理装置。 - 前記1又は複数のプロセッサは、更に、
前記第1の画像とは異なる他の画像を用いて前記第1の潜在変数を生成すること、
を実行する、
請求項1乃至3のいずれか一項に記載の画像処理装置。 - 前記1又は複数のプロセッサは、少なくともエンコーダモデル又は前記第1の生成モデルのいずれかと前記他の画像とを用いて、前記第1の潜在変数を生成する、
請求項4に記載の画像処理装置。 - 前記1又は複数のプロセッサは、更に、
第4の潜在変数と第5の潜在変数とを融合して前記第1の潜在変数を生成すること、
を実行し、
前記第1の物体は、前記第4の潜在変数を前記第1の生成モデルに入力することで生成される第4の画像に含まれる第4の物体と前記第5の潜在変数を前記第1の生成モデルに入力することで生成される第5の画像に含まれる第5の物体とを融合した物体であって、
前記第4の潜在変数は、前記第1の生成モデルと関連付けられて前記1又は複数の記憶装置に記憶されている潜在変数であり、
前記第5の潜在変数は、前記第1の生成モデルと関連付けられて前記1又は複数の記憶装置に記憶されている潜在変数である、
請求項1乃至3のいずれか一項に記載の画像処理装置。 - 前記1又は複数の記憶装置は、少なくとも前記第1の生成モデルと第2の生成モデルとを記憶し、
前記1又は複数のプロセッサは、ユーザからの指示に基づいて、前記第1の生成モデルを用いた画像処理を実行する、
請求項1乃至6のいずれか一項に記載の画像処理装置。 - 1又は複数の記憶装置と、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
少なくとも第1の画像処理の起動と第2の画像処理の起動とを選択可能な処理選択画面を表示装置に表示させることと、
ユーザの指示に基づいて、前記第1の画像処理を起動し、第1の生成モデルを用いて第1の画像を生成することと、
前記ユーザの指示に基づいて、前記第1の画像の生成に用いた第1の潜在変数を前記第1の生成モデルと関連付けて前記1又は複数の記憶装置に記憶させることと、
前記ユーザの指示に基づいて、前記第2の画像処理を起動し、前記第1の生成モデルを用いて第2の画像を生成することと、
前記ユーザの指示に基づいて、前記第2の画像の生成に用いた第2の潜在変数を前記第1の生成モデルと関連付けて前記1又は複数の記憶装置に記憶させることと、
を実行し、
前記第2の潜在変数は前記第1の潜在変数に基づいて生成された潜在変数であり、
前記第1の画像処理と前記第2の画像処理とは異なる種類の画像処理である、
画像処理装置。 - 前記第1の画像処理及び前記第2の画像処理は、画像生成処理、画像融合処理、属性調整処理、姿勢変更処理又は潜在変数生成処理のいずれかである、
請求項8に記載の画像処理装置。 - 前記第1の画像処理は前記画像生成処理であって、
前記処理選択画面において、前記第1の画像処理の起動ボタンは、他の画像処理の起動ボタンと比較して、最も左かつ最も上の位置に表示される、
請求項9に記載の画像処理装置。 - 前記第2の画像処理は、属性調整処理又は姿勢変更処理のいずれかであって、
前記1又は複数の記憶装置は、更に、前記ユーザの識別情報と前記ユーザに付与されたポイントとを関連付けて記憶し、
前記1又は複数のプロセッサは、
前記ユーザの指示に基づいて、少なくとも前記第2の画像又は前記第2の潜在変数のいずれかを前記1又は複数の記憶装置に記憶させた場合、所定のポイント数を前記ポイントから減算する、
請求項9に記載の画像処理装置。 - 前記第1の画像処理は、前記画像生成処理又は前記画像融合処理のいずれかであって、
前記第2の画像処理は、前記属性調整処理又は前記姿勢変更処理のいずれかであって、
前記1又は複数の記憶装置は、更に、前記ユーザの識別情報と前記ユーザに付与されたポイントとを関連付けて記憶し、
前記1又は複数のプロセッサは、
前記第1の画像が生成されたときに所定のポイント数を前記ポイントから減算することと、
前記第2の画像が生成されたときに所定のポイント数を前記ポイントから減算することと、
を実行し、
前記第2の画像が生成されたときに減算される前記所定のポイント数は、前記第1の画像が生成されたときに減算される前記所定のポイント数より小さい、
請求項9に記載の画像処理装置。 - 前記第2の画像が生成されたときに減算される前記所定のポイント数は0である、
請求項12に記載の画像処理装置。 - 前記第1の画像処理は、前記画像生成処理、前記属性調整処理、前記姿勢変更処理又は前記潜在変数生成処理のいずれかであって、
前記第2の画像処理は、前記画像融合処理であって、
前記1又は複数の記憶装置は、更に、前記ユーザの識別情報と前記ユーザに付与されたポイントとを関連付けて記憶し、
前記1又は複数のプロセッサは、
前記第1の画像が生成されたときに所定のポイント数を前記ポイントから減算することと、
前記第2の画像が生成されたときに所定のポイント数を前記ポイントから減算することと、
を実行し、
前記第1の画像が生成されたときに減算される前記所定のポイント数は、前記第2の画像が生成されたときに減算される前記所定のポイント数より小さい、
請求項9に記載の画像処理装置。 - 前記第1の画像が生成されたときに減算される前記所定のポイント数は0である、
請求項14に記載の画像処理装置。 - 1又は複数の記憶装置と、
1又は複数のプロセッサと、を備え、
前記1又は複数のプロセッサは、
ユーザの指示に基づいて、第1の画像を選択することと、
前記第1の画像と同一の生成モデルによって生成された複数の画像を表示装置に表示させることと、
前記ユーザの指示に基づいて、前記複数の画像から第2の画像を選択することと、
前記第1の画像の潜在変数と前記第2の画像の潜在変数とを融合して融合潜在変数を生成することと、
前記融合潜在変数を前記生成モデルに入力して、融合画像を生成することと、
前記融合潜在変数を前記生成モデルの識別情報と関連付けて前記1又は複数の記憶装置に記憶させることと、
を実行する、
画像処理装置。 - 1又は複数のプロセッサが、
少なくとも第1の画像処理の起動と第2の画像処理の起動とを選択可能な処理選択画面を表示装置に表示させることと、
ユーザの指示に基づいて、前記第1の画像処理を起動し、第1の生成モデルを用いて第1の画像を生成することと、
前記ユーザの指示に基づいて、前記第1の画像の生成に用いた第1の潜在変数を前記第1の生成モデルと関連付けて1又は複数の記憶装置に記憶させることと、
前記ユーザの指示に基づいて、前記第2の画像処理を起動し、前記第1の生成モデルを用いて第2の画像を生成することと、
前記ユーザの指示に基づいて、前記第2の画像の生成に用いた第2の潜在変数を前記第1の生成モデルと関連付けて前記1又は複数の記憶装置に記憶させることと、
を実行し、
前記第2の潜在変数は前記第1の潜在変数に基づいて生成された潜在変数であり、
前記第1の画像処理と前記第2の画像処理とは異なる種類の画像処理である、
画像処理方法。 - 1又は複数のプロセッサに、
少なくとも第1の画像処理の起動と第2の画像処理の起動とを選択可能な処理選択画面を表示装置に表示させることと、
ユーザの指示に基づいて、前記第1の画像処理を起動し、第1の生成モデルを用いて第1の画像を生成することと、
前記ユーザの指示に基づいて、前記第1の画像の生成に用いた第1の潜在変数を前記第1の生成モデルと関連付けて1又は複数の記憶装置に記憶させることと、
前記ユーザの指示に基づいて、前記第2の画像処理を起動し、前記第1の生成モデルを用いて第2の画像を生成することと、
前記ユーザの指示に基づいて、前記第2の画像の生成に用いた第2の潜在変数を前記第1の生成モデルと関連付けて前記1又は複数の記憶装置に記憶させることと、
を実行させ、
前記第2の潜在変数は前記第1の潜在変数に基づいて生成された潜在変数であり、
前記第1の画像処理と前記第2の画像処理とは異なる種類の画像処理である、
プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022015798 | 2022-02-03 | ||
JP2022-015798 | 2022-02-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023149198A1 true WO2023149198A1 (ja) | 2023-08-10 |
Family
ID=87552000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/001190 WO2023149198A1 (ja) | 2022-02-03 | 2023-01-17 | 画像処理装置、画像処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023149198A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020514870A (ja) * | 2019-03-11 | 2020-05-21 | 株式会社Preferred Networks | 画像生成方法、画像生成装置、画像生成システム及びプログラム |
JP2021086462A (ja) * | 2019-11-28 | 2021-06-03 | 株式会社Preferred Networks | データ生成方法、データ生成装置、モデル生成方法、モデル生成装置及びプログラム |
-
2023
- 2023-01-17 WO PCT/JP2023/001190 patent/WO2023149198A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020514870A (ja) * | 2019-03-11 | 2020-05-21 | 株式会社Preferred Networks | 画像生成方法、画像生成装置、画像生成システム及びプログラム |
JP2021086462A (ja) * | 2019-11-28 | 2021-06-03 | 株式会社Preferred Networks | データ生成方法、データ生成装置、モデル生成方法、モデル生成装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7212741B2 (ja) | 3次元アバタ生成方法、装置、電子機器及び記憶媒体 | |
US11798246B2 (en) | Electronic device for generating image including 3D avatar reflecting face motion through 3D avatar corresponding to face and method of operating same | |
US11335120B2 (en) | Face reconstruction from a learned embedding | |
TWI573093B (zh) | 建立虛擬彩妝資料的方法、具備建立虛擬彩妝資料之方法的電子裝置以及其非暫態電腦可讀取記錄媒體 | |
CN110766776B (zh) | 生成表情动画的方法及装置 | |
JP2022043272A (ja) | アバタの生成方法及び装置、電子機器、記憶媒体及びコンピュータプログラム | |
US8976182B2 (en) | Facial sketch creation device, configuration information generation device, configuration information generation method, and storage medium | |
CN113569614A (zh) | 虚拟形象生成方法、装置、设备及存储介质 | |
JP6448839B1 (ja) | 画像生成装置、画像生成器、画像識別器、画像生成プログラム、及び、画像生成方法 | |
Grabe et al. | Towards a framework for human-AI interaction patterns in co-creative GAN applications | |
CN113362263B (zh) | 变换虚拟偶像的形象的方法、设备、介质及程序产品 | |
KR102253750B1 (ko) | 딥러닝을 이용한 메이크업 추천 및 추천 기반 화장품 구매 서비스 제공 플랫폼 | |
KR20120005587A (ko) | 컴퓨터 시스템에서 얼굴 애니메이션 생성 방법 및 장치 | |
TWI780919B (zh) | 人臉影像的處理方法、裝置、電子設備及儲存媒體 | |
CN110148191A (zh) | 视频虚拟表情生成方法、装置及计算机可读存储介质 | |
CN115668263A (zh) | 用于消息收发***中的增强现实体验的物理产品的标识 | |
EP4315281A1 (en) | True size eyewear in real time | |
WO2023149198A1 (ja) | 画像処理装置、画像処理方法及びプログラム | |
WO2021106855A1 (ja) | データ生成方法、データ生成装置、モデル生成方法、モデル生成装置及びプログラム | |
WO2020188924A1 (ja) | 情報処理装置、検索方法、及びプログラムが格納された非一時的なコンピュータ可読媒体 | |
JP7314509B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN115359171B (zh) | 虚拟形象处理方法、装置、电子设备和存储介质 | |
CN107194980A (zh) | 人脸模型构建方法、装置及电子设备 | |
CN111696179A (zh) | 卡通三维模型和虚拟仿真人的生成方法、装置和存储介质 | |
JP2013175019A (ja) | インターネットを利用した商品化モデル |
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: 23749514 Country of ref document: EP Kind code of ref document: A1 |