WO2022245013A1 - 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2022245013A1
WO2022245013A1 PCT/KR2022/006289 KR2022006289W WO2022245013A1 WO 2022245013 A1 WO2022245013 A1 WO 2022245013A1 KR 2022006289 W KR2022006289 W KR 2022006289W WO 2022245013 A1 WO2022245013 A1 WO 2022245013A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
electronic device
region
model
loss
Prior art date
Application number
PCT/KR2022/006289
Other languages
English (en)
French (fr)
Inventor
공내진
고카하쉿
박기웅
수보로브로만
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020210101523A external-priority patent/KR20220156409A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP22804868.2A priority Critical patent/EP4266241A4/en
Priority to US17/746,429 priority patent/US20220375050A1/en
Publication of WO2022245013A1 publication Critical patent/WO2022245013A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present disclosure relates to an electronic device for performing image inpainting, which restores an image by filling pixels in the image, and an operating method thereof.
  • an image editing function using artificial intelligence is provided.
  • an electronic device provides image inpainting technology that restores an image by naturally filling damaged or empty areas in an image.
  • An electronic device may provide an improved image editing experience to a user by restoring a damaged area in an image or deleting a specific object in an image using image inpainting technology.
  • noise such as blurriness and distortion may exist in the inpainted image depending on the shape, location, and size of a damaged or empty area.
  • one aspect of the present disclosure is to provide an electronic device for performing image inpainting and an operating method thereof.
  • a method of performing image inpainting in which an electronic device restores a lost region in an image includes determining a lost region in an original image; generating an input image to be restored from the original image based on the determined loss area; obtaining a mask image representing the loss area; determining whether to extract a structural feature of the lost region based on the attribute of the lost region;
  • a method may be provided, including the step of acquiring.
  • an electronic device performing image inpainting may include a communication interface; a memory that stores one or more instructions; and at least one processor that executes one or more instructions stored in the memory, wherein the at least one processor determines a lost region in the original image, and based on the determined lost region, a target to be restored from the original image.
  • An input image is generated, a mask image representing the loss region is obtained, based on attributes of the loss region, it is determined whether to extract structural features of the loss region, and the input image and the mask image are extracted.
  • a first model for extracting structural features of the input image including structural features of the loss region thereby obtaining structural vectors, composed of one or more lines and one or more junctions.
  • An electronic device that acquires an image may be provided.
  • a recording medium storing a program that causes an electronic device to perform an image inpainting method for restoring a lost region in an image may be provided.
  • FIG. 1 is a diagram schematically illustrating a method of obtaining an inpainted image in which a lost region in an image is restored by an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a flowchart illustrating a method of obtaining an inpainted image by restoring a lost region by an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining a method of determining a loss area in an original image by an electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining a method of determining a loss area in an original image by an electronic device according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining a first model and a second model used by an electronic device according to an embodiment of the present disclosure to obtain an inpainted image.
  • FIG. 6 is a diagram for explaining an architecture of a first model for extracting structural features of an input image according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram for explaining a structure vector obtained by an electronic device using a first model according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram for explaining an architecture of a second model outputting an inpainted image according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram for explaining another architecture of a second model outputting an inpainted image according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining an inpainted image obtained by an electronic device using a second model according to an embodiment of the present disclosure.
  • FIG. 11 is a flowchart for explaining a method of obtaining an inpainted image by an electronic device according to an embodiment of the present disclosure.
  • FIG. 12 is a flowchart for explaining another method of acquiring an inpainted image by an electronic device according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram for explaining contents related to training of a structure vector element extraction unit and a Hough transform unit of a first model when the electronic device trains the first model according to an embodiment of the present disclosure.
  • FIG. 14 is a diagram for explaining contents related to a generative adversarial network of a first model when an electronic device trains a first model according to an embodiment of the present disclosure.
  • 15 is a diagram for explaining a method of determining an input order of training data for training a first model when the electronic device trains the first model according to an embodiment of the present disclosure.
  • 16 is a diagram for explaining a method of generating training data for training a first model by an electronic device according to an embodiment of the present disclosure.
  • 17 is a diagram for explaining a method of acquiring an image in which structure vectors are pseudo-labeled by an electronic device according to an embodiment of the present disclosure.
  • 18 is another diagram for explaining a method of generating verification data for verifying accuracy of an inpainted image acquired by an electronic device using a trained second model, according to an embodiment.
  • 19 is a diagram for explaining a method of training a second model to acquire an inpainted image by an electronic device according to an embodiment of the present disclosure.
  • 20 is a diagram for describing embodiments in which an electronic device performs image inpainting according to an embodiment of the present disclosure.
  • 21 is a diagram for explaining other embodiments in which an electronic device performs image inpainting according to an embodiment of the present disclosure.
  • 22 is a diagram for explaining an inpainted video generated by performing image inpainting by an electronic device according to an exemplary embodiment.
  • 23 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
  • 24 is a block diagram showing the configuration of a server according to an embodiment of the present disclosure.
  • 25 is a flowchart of a method in which an electronic device acquires an inpainted image from an original image by interworking with a server according to an embodiment of the present disclosure.
  • the expression “at least one of a, b, or c” means “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b” and c”, or variations thereof.
  • an input image refers to an image to be restored by applying an image inpainting algorithm according to embodiments to be described later.
  • the input image may include a loss region.
  • the loss area refers to an area to be restored by applying an image inpainting algorithm according to embodiments to be described later.
  • the loss region refers to a region in which a pixel value is changed in an input image and thus visual meaning, characteristics, and the like are not identified.
  • the inpainting algorithm according to the disclosed embodiments may generate pixels corresponding to the lossy area and fill the lossy area. Pixels filled in the lossy area may be pixels generated so that visual features are naturally connected to neighboring areas of the lossy area. According to the disclosed embodiments, an inpainted image may be obtained by restoring a lost region of an input image.
  • a structure vector refers to a vector representing structural features of structures existing in an image.
  • a structure vector can consist of points and lines.
  • a structure vector of a loss area is obtained by inferring a structure determined to be present in the loss area, for a loss area in which visual meaning, characteristics, etc. are not identified due to a change in pixel value It is a vector that represents the structural characteristics of the structures to be
  • FIG. 1 is a diagram schematically illustrating a method of obtaining an inpainted image in which a lost region in an image is restored by an electronic device according to an embodiment of the present disclosure.
  • an electronic device 2000 obtains an input image 110, extracts geometrical features of structures in the input image to obtain structure vectors 120, and obtains structure vectors 120.
  • the loss region 115 of the input image 110 is filled with the generated pixels, and an inpainted image ( 130) can be obtained.
  • the structure vectors 120 may include structure vectors of the loss region 115 .
  • the electronic device 2000 when the electronic device 2000 restores the lost region 115 of the input image 110 by performing image inpainting, the electronic device 2000 matches the context of the input image 110 to the lost region 115 .
  • the input image 110 may be reconstructed based on pixels surrounding the loss region 115 .
  • the electronic device 2000 may restore the lost region 115 by inferring content (eg, a structure, etc.) that is determined to be present in the lost region 115 using a generative adversarial neural network. have.
  • the electronic device 2000 may restore the lost region 115 using a structure vector of the lost region obtained by inferring a structure determined to be present in the lost region 115 .
  • the electronic device 2000 may be a device capable of photographing a subject using a camera.
  • the electronic device 2000 may be a device such as a smart phone, a tablet PC, a notebook PC, a desktop PC, and a TV, but is not limited thereto.
  • the electronic device 2000 may include a camera module composed of a plurality of cameras.
  • the camera module may include a depth camera that acquires a depth image and an RGB camera that acquires an RGB image.
  • the electronic device 2000 may obtain an image using a camera module.
  • the electronic device 2000 may obtain the input image 110 including a loss region 115 in which a pixel value of a partial region in the image is changed.
  • the input image 110 may be obtained in a variety of ways.
  • the electronic device 2000 obtains an input image 110 including a loss region 115 in which pixel values of some regions in the image are changed from another electronic device (eg, the server 3000). can do.
  • the electronic device 2000 may obtain the input image 110 generated based on a user input from a user of the electronic device 2000 .
  • the electronic device 2000 may generate the input image 110 based on a user input.
  • the electronic device 2000 receives an input from a user of the electronic device 2000 to select a partial area in the original image, and changes pixel values of pixels corresponding to the selected partial area, thereby inputting an input including the loss area 115.
  • An image 110 may be created.
  • the original image may be obtained by the electronic device 2000 from another electronic device (eg, the server 3000) or obtained by the electronic device 2000 capturing a scene using a camera module. have.
  • the electronic device 2000 may extract structural features of structures in the input image 110 .
  • the electronic device 2000 extracts structural features such as points, lines, and planes of structures in the input image 110, and constructs structure vectors 120 composed of one or more lines and one or more junctions. ) can be obtained.
  • the extracted structure vectors 120 may include the structure vector of the loss region.
  • the electronic device 2000 may generate pixels corresponding to the loss region 115 in the input image 110 based on the structure vectors 120 .
  • the electronic device 2000 may generate pixels corresponding to the loss region 115 by guiding the frame structure of the structure corresponding to the loss region 115 based on the structure vectors 120 .
  • the electronic device 2000 may obtain the inpainted image 130, in which the lost area 115 is restored to match the context of the input image 110, by filling the lost area 115 with the generated pixels. .
  • FIG. 2 is a flowchart illustrating a method of obtaining an inpainted image by restoring a lost region by an electronic device according to an embodiment of the present disclosure.
  • the electronic device 2000 may determine a loss area in an original image.
  • the electronic device 2000 may acquire an original image and determine a loss area in the original image.
  • the electronic device 2000 may obtain an original image to be inpainted.
  • the original image may include, for example, an image in which a part of the image is damaged or an image including an object to be deleted.
  • the electronic device 2000 may acquire an original image by photographing a subject using a camera of the electronic device 2000 or may receive an original image from another electronic device (eg, the server 3000).
  • user input may be various types of input.
  • the electronic device 2000 includes a touch screen including a display and a touch pad
  • the user input may be touch data received through the touch screen.
  • the user input may be input data received through the input device.
  • the electronic device 2000 may determine a loss area based on a user input.
  • the electronic device 2000 may receive a user input for selecting a damaged area or an area to be deleted in the original image, and may determine a lost area based on the received user input.
  • the electronic device 2000 may receive a user input for selecting a damaged area in the original image.
  • the electronic device 2000 may determine the selected area as the loss area based on the received user input.
  • the electronic device 2000 may receive a user input (eg, a closed curve type input, a brush type input, etc.) for selecting a specific area to delete a specific area in the original image.
  • the electronic device 2000 may determine the selected specific area as the loss area based on the received user input.
  • the user of the electronic device 2000 may receive a user input for selecting a specific object to delete a specific object in the original image.
  • the electronic device 2000 may detect a boundary of an area corresponding to the object in the original image based on a user's input for selecting an object in the original image, and may determine the area corresponding to the detected object as a loss area.
  • the electronic device 2000 may recognize objects in the original image and segment regions corresponding to the objects in the original image.
  • the electronic device 2000 may receive an input for selecting a partial region in the image from the user, and determine a segmentation region related to the received user input as the loss region.
  • step S220 the electronic device 2000 according to an embodiment may generate an input image based on the loss area determined in step S210.
  • the electronic device 2000 may generate an input image including the loss region by changing pixel values of pixels corresponding to the determined loss region.
  • the electronic device 2000 may change pixel values of pixels corresponding to a partial region to preset values.
  • the electronic device 2000 may change pixel values of pixels corresponding to a partial region to 0 or change pixel values of pixels corresponding to a partial region to an average value of pixel values of all images in the training data. .
  • the changed pixel value is not limited thereto.
  • the electronic device 2000 may obtain a mask image representing the loss area.
  • the mask image may include a loss area and a non-restoration target area.
  • the mask image may include masking information obtained by masking the loss region.
  • the masking information may include information (eg, coordinate information) representing the location of the loss region in the original image, but is not limited thereto.
  • step S240 the electronic device 2000 according to an embodiment may determine whether to extract a structural feature of the lost region based on the attribute of the lost region.
  • the electronic device 2000 may determine whether to extract structural features of the loss region based on the size of the loss region. For example, the electronic device 2000 may determine to extract structural features of the lossy area when the number of pixels corresponding to the lossy area is equal to or greater than a preset number.
  • the electronic device 2000 may determine whether to extract a structural feature of the lossy region based on a ratio occupied by the lossy region within the entire region of the input image. For example, the electronic device 2000 may determine to extract structural features of the lossy area when the number of pixels in the lossy area is equal to or greater than a preset value compared to the number of pixels in the input image.
  • the electronic device 2000 may determine whether to extract structural features of the loss region based on the width of the loss region.
  • the electronic device 2000 acquires bone lines of the loss area by applying a thinning algorithm to find pixels representing the bone structure of the loss area, and measures the loss area in a vertical direction based on the bone line of the loss area.
  • the width of is equal to or greater than a preset value
  • it may be determined to extract structural features of the loss region.
  • the electronic device 2000 may determine to extract structural features of the loss region when the maximum width of the loss region is equal to or greater than a preset value.
  • the electronic device 2000 may obtain structure vectors composed of one or more lines and one or more junction points by applying the input image and the mask image to the first model.
  • the first model may be a neural network model for receiving an input image and a mask image and detecting geometric features such as points, lines, and planes representing frame structures of structures in the input image.
  • the structure vectors may include a structural feature of the lossy region, which is inferred from a structural feature determined to be present in the lossy region with respect to the lossy region in which pixel values in the input image are changed. In this case, structural features of the loss region may be inferred from structural features of regions other than the loss region among all regions in the input image.
  • the first model may output structure vectors related to the entire input image including the loss region based on the input image and the mask image.
  • the loss area of the input image is an area in which the meaning of the part area cannot be visually grasped because pixel values corresponding to a part area in the input image are changed, and it is unknown what structural features exist in the loss area.
  • the electronic device 2000 detects edge regions in the input image and infers the structure of the loss region where no structural feature is detected based on the detected edge regions, but rather the structural feature of the loss region. By using the first model capable of extraction, structural characteristics of the loss region may be inferred at once by receiving an input image.
  • training data for training the first model may include a training image including a loss region and a mask image corresponding to the training images and representing the loss region of the training image.
  • Each of the training images may be labeled with structure vectors corresponding to the training images.
  • the electronic device 2000 may train the first model using training data. Also, the electronic device 2000 may receive the trained first model from another electronic device (eg, the server 3000).
  • the electronic device 2000 applies the structure vector image converted from the input image, mask image, and structure vectors to the second model, so that the loss region of the input image is restored and inpainted. image can be obtained.
  • Structure vectors may be output from the first model.
  • the electronic device 2000 may convert structure vectors output from the first model into structure vector images.
  • the electronic device 2000 may convert structure vectors into structure vector images based on coordinate information corresponding to one or more lines and one or more junction points and positions of each of the one or more lines and one or more junction points.
  • the electronic device 2000 may generate a structure vector image obtained by converting structure vectors into a binary map.
  • the format of the structure vector image obtained by converting the structure vectors is not limited thereto, and the electronic device 2000 may generate the structure vector image by converting the structure vector into an image representation of the vector.
  • the inpainted image output from the second model may be an image in which pixels corresponding to the loss region are generated and the loss region is filled with the generated pixels.
  • the inpainted image may be an image reconstructed so that the loss region of the input image is naturally connected to other regions other than the loss region, for example, to match the context of the input image.
  • FIG. 3 is a diagram for explaining a method of determining a loss area in an original image by an electronic device according to an embodiment of the present disclosure.
  • steps S310 to S320 may correspond to step S210 of FIG. 2
  • step S330 may correspond to step S220 of FIG. 2 .
  • the electronic device 2000 may receive an input for selecting a partial area within the original image 302 from the user.
  • the user of the electronic device 2000 may wish to delete a specific region or specific object within the original image.
  • the electronic device 2000 may receive a user input for selecting a specific area or a specific object from the user.
  • the electronic device 2000 may determine the lost area 307 based on the input received from the user.
  • the electronic device 2000 receives a user input from the user in which the user designates an area to be deleted within the original image 302, determines a loss area 307, and creates a mask image 308 representing the loss area 307. can be obtained.
  • the electronic device 2000 may determine a region corresponding to the user input as the loss region 307 .
  • User input may be input in various ways.
  • the electronic device 2000 may receive an input of a user drawing a closed curve in an image so that the closed curve region in the image becomes the loss region 307 .
  • the electronic device 2000 may determine the closed curve area within the original image 302 as the loss area 307 based on the received input.
  • the electronic device 2000 may receive a brush input for masking a specific area in an image by the user. Based on the received input, the electronic device 2000 may determine the area where the brush input is received within the original image 302 as the loss area 307 .
  • the electronic device 2000 may determine the lost region 307 by inferring the lost region 307 based on the user input.
  • the electronic device 2000 may use a neural network model that detects an object area based on sparse data input.
  • the electronic device 2000 uses an input (eg, a point type input, a scribble type input, etc.) in which a user sparsely selects a part of an object to be deleted from the original image 302 .
  • an input eg, a point type input, a scribble type input, etc.
  • the electronic device 2000 may detect a boundary of the object region selected by the user in the original image 302 and determine the region within the detected boundary as the lost region 307 .
  • the user of the electronic device 2000 may want to restore the original image 304 (eg, an original image obtained by scanning an old photo) in which a part of the image is damaged.
  • the electronic device 2000 may receive a user input for masking a region to be restored in the original image 304 in which a partial region of the image is damaged. Based on the received input, the electronic device 2000 may determine an area masked by a user in the original image 304 in which a partial area in the image is damaged as a loss area.
  • the electronic device 2000 determines a loss area based on a user's input
  • the user input of the foregoing embodiments is only an example, and the electronic device 2000 has a loss area.
  • Various types of user input for determining the area may be received.
  • step S330 the electronic device 2000 according to an embodiment may generate an input image by changing pixels corresponding to the determined loss region 307 based on the determined loss region 307.
  • the electronic device 2000 may change pixel values of pixels corresponding to the loss region 307 determined based on a user input for selecting a partial region in the original image 302 .
  • the electronic device 2000 may calculate an average value of pixel values of pixels of all images in the training data.
  • the electronic device 2000 may acquire the input image 306 by changing pixel values of pixels corresponding to the loss region 307 to an average value of pixel values of pixels of all images in the training data.
  • the electronic device 2000 may acquire the input image 306 by changing pixel values of pixels corresponding to the loss region 307 to 0.
  • the electronic device 2000 may acquire a mask image 308 representing the loss region 307 .
  • the mask image 308 may include a loss region 307 and a region not to be restored.
  • the mask image may include masking information by masking the loss region 307 .
  • the loss area 307 determined from the original image path 302 may be plural.
  • the electronic device 2000 may restore each of the plurality of lost regions according to embodiments described below. In this case, the electronic device 2000 may restore each determined loss region each time one loss region is determined, or may restore the determined plurality of lost regions collectively after a plurality of loss regions are determined.
  • the electronic device 2000 determines whether to extract the structural features of the input image 306 based on the ratio of the size of the determined loss region 307 to the entire region of the input image 306. can decide If there are a plurality of loss regions, the electronic device 2000 may identify each loss region and determine whether to extract structural features of the input image 306 . This will be further described in the description of FIGS. 11 and 12 .
  • FIG. 4 is a diagram for explaining a method of determining a loss area in an original image by an electronic device according to an embodiment of the present disclosure.
  • steps S410 to S430 may correspond to step S210 of FIG. 2
  • step S440 may correspond to step S220 of FIG. 2 .
  • the electronic device 2000 may recognize objects in the original image and segment regions corresponding to the objects in the original image.
  • the electronic device 2000 may use a neural network model that detects an object in an image based on an image input.
  • the electronic device 2000 may receive the original image 402 and detect recognizable objects present in the image using a neural network model.
  • the electronic device 2000 may segment regions corresponding to the recognized objects.
  • step S420 the electronic device 2000 according to an embodiment may receive an input for selecting a partial region in the original image 402 from the user.
  • the electronic device 2000 may display segmented areas and receive a user input for selecting at least some of the segmented areas.
  • the electronic device 2000 may receive a user input for selecting a partial region in the original image 402 and match segmented regions corresponding to the selected partial region.
  • step S430 the electronic device 2000 according to an embodiment may determine a lost region based on the segmented regions related to the received input.
  • the electronic device 2000 may display segmented areas in the original image 402 through object recognition and determine a lost area based on a user input for selecting at least some of the segmented areas. .
  • the electronic device 2000 selects all objects recognized in the original image 402, such as people present in the foreground area of the original image 402 and people present in the background area of the original image 402, as users. It can be displayed in a guided form so that it can be selected.
  • the electronic device 2000 when the user selects people existing in the background area of the original image 402, segmented areas corresponding to the people existing in the background area are designated as loss areas. can be determined by
  • the electronic device 2000 may receive a user input for selecting a partial region in the original image 402 and match segmented regions corresponding to the selected partial region.
  • the electronic device 2000 may determine matched segmented areas as loss areas.
  • step S440 the electronic device 2000 according to an embodiment may generate an input image by changing pixels corresponding to the determined loss region based on the determined loss region.
  • the electronic device 2000 may change pixel values of pixels corresponding to the loss region. For example, the electronic device 2000 may calculate an average value of pixel values of pixels of all images in the training data. The electronic device 2000 may obtain the input image 404 by changing pixel values of pixels corresponding to the loss region to an average value of pixel values of pixels of all images in the training data. In another example, the electronic device 2000 may obtain the input image 404 by changing pixel values of pixels corresponding to the loss region to 0.
  • the electronic device 2000 may obtain a mask image 406 representing the loss region.
  • the mask image 406 may include a loss area and a non-restoration target area.
  • the mask image may include masking information obtained by masking the loss region.
  • the loss area determined from the original image path 402 may be plural.
  • the electronic device 2000 may restore each of the plurality of lost regions according to embodiments described below. In this case, the electronic device 2000 may restore each determined loss region each time one loss region is determined, or may restore the determined plurality of lost regions collectively after a plurality of loss regions are determined.
  • FIG. 5 is a diagram for explaining a first model and a second model used by an electronic device according to an embodiment of the present disclosure to obtain an inpainted image.
  • an electronic device 2000 extracts structural features of structures in an image using an input image 510 and a mask image 520 obtained according to the above-described embodiments.
  • a structure vector 540 can be obtained.
  • the structure vector 540 may be data composed of one or more lines and one or more junction points from which structural features of structures existing in the image are extracted.
  • the electronic device 2000 may input the input image 510 and the mask image 520 to the first model 530, which is a neural network model, and obtain a structure vector 540 output from the first model 530.
  • the first model 530 may be a neural network model trained to extract structural features of the input image 510 .
  • the first model 530 may extract structural features of the loss region in the input image 510 .
  • the structural feature of the lossy region refers to a structure vector 540 generated by predicting the structural feature of the lossy region in the lossy region where pixel values are changed in the input image 510 and the structural feature disappears.
  • the electronic device 2000 transforms the structure vector image 545 obtained by converting the input image 510, the mask image 520, and the structure vector 540 output from the first model into a second model 550 that is a neural network model.
  • an inpainted image 560 may be obtained using the second model 550 .
  • the second model 550 may obtain an inpainted image by generating pixels to be filled in the loss region in the input image 510 and filling the loss region with the generated pixels.
  • the structure vector 540 of the lost region which is a structural feature of the lost region, may be used.
  • FIG. 6 is a diagram for explaining an architecture of a first model for extracting structural features of an input image according to an embodiment of the present disclosure.
  • the first model 600 may receive an input image 610 and a mask image 620 and output a structure vector 640 .
  • the first model 600 comprises a structure vector element extraction unit 602, a Hough transform unit 604, a structure vector verification unit 606 and a generative adversarial network (GAN) 608.
  • the first model 600 may be a model trained based on training data generated through a series of data processing processes. A method of training the first model by the electronic device 2000 will be described in the description of FIGS. 13 to 18 .
  • the structure vector element extraction unit 602 may include a plurality of neural network layers.
  • the structure vector element extraction unit 602 may receive the input image 610 and the mask image 620 and extract structure vector elements within the input image.
  • the input image 610 includes a loss region
  • the mask image 620 refers to an image obtained by masking the loss region.
  • the structure vector element extraction unit 602 extracts features from the input images, a junction where lines capable of forming structures in the image meet, and candidates of lines capable of forming structures in the image. It is possible to obtain a plurality of image maps representing the line segments of .
  • the obtained image maps may be one-to-one converted into junction point coordinate elements and line segment coordinate elements and transmitted to the structure vector verification unit 606 .
  • the Hough transform unit 604 includes a plurality of Hough transform modules, and each Hough transform module may include a plurality of neural network layers. Each Hough transform module may receive a feature of an image and extract linear features. Each Hough transform module may extract linear features from features of the input image, combine the extracted linear features with features of the input image, and transfer the extracted linear features to a neural network layer included in the structure vector element extraction unit 602 . Also, the Hough transform unit 604 may transfer the linear features extracted from the input image to the structure vector verification unit 606 .
  • the structure vector verification unit 606 may match junction points and line segments output from the structure vector element extraction unit 602 and verify the matched line using the linear features output from the Hough transform unit 604 .
  • the structure vector verification unit 606 may output the verified structure vectors as a structure vector 640 representing structural features in the input image 610 .
  • the structure vector 640 represents the structural features in the input image 610, and the structure of the lossy region in which the structural features are predicted even for the lossy region in which a partial region in the input image 610 has a changed pixel value. Can contain vectors.
  • a generative adversarial network (GAN) 608 is a generator model that outputs an RGB image generated from an input image 610 and an RGB image generated from the input image 610 or a ground truth RGB image ( 630) and a discriminator model that determines whether the input image is genuine or not.
  • the discriminator model of the generative adversarial neural network 608 may be trained to discriminate whether an RGB image input to the discriminator model is authentic while the first model 600 is being trained. Specifically, the discriminator model classifies the input image into the 'Real' class when the input RGB image is determined to be the correct RGB image 630 that has not undergone any processing, and the input RGB image is a generator.
  • the generator model of the generative adversarial network 608 may be trained to generate images close to the ground truth while the first model 600 is trained.
  • FIG. 7 is a diagram for explaining a structure vector obtained by an electronic device using a first model according to an embodiment of the present disclosure.
  • structure vectors obtained using the first model may include a junction 710 and a line 720 .
  • structure vectors composed of junction points 710 and lines 720 obtained by the electronic device 2000 using the first model may include a structure vector 740 of a loss region in the input image.
  • the loss region refers to a region in which the meaning of the partial region cannot be visually grasped because pixel values corresponding to a partial region in the input image are changed.
  • the electronic device 2000 may obtain the structure vector 740 of the lossy area, regardless of whether or not the lossy area 730 of the input image exists and the size of the lossy area, by using the first model.
  • the first model receives an input image and a mask image, infers structural features of a structure predicted to exist in the loss region, and obtains a structure vector 740 of the loss region.
  • the structure vector 740 of the lossy area may be used to guide the frame structure of the structure corresponding to the lossy area when the electronic device 2000 inserts pixels into the lost area by inpainting the input image.
  • the electronic device 2000 may obtain a structure vector image by converting structure vectors acquired using the first model into an image form.
  • the electronic device 2000 may obtain an inpainted image in which a loss region of the input image is restored by applying the input image, the mask image, and the structure vector image to the second model that performs image inpainting.
  • FIG. 8 is a diagram for explaining an architecture of a second model outputting an inpainted image according to an embodiment of the present disclosure.
  • the second model may be a generative adversarial network (GAN), which is a neural network model composed of a generator model 810 and a discriminator model 820 .
  • GAN generative adversarial network
  • the second model uses the generator model 810 to receive the input image 830, the mask image 840, and the structure vector image 850 obtained by converting the structure vector obtained from the first model, and input the input image
  • An inpainted image 860 in which the lost region 835 of 830 is restored can be output.
  • the generator model 810 may restore the lost region 835 based on a region corresponding to the lost region 835 of the input image 830 in the structure vector image 850 . Specifically, the generator model 810 generates pixels corresponding to the loss region 835 of the input image 830 using an RGB decoder, so that the loss region 835 is filled with the generated pixels, and an inpainted image ( 860) can be created.
  • the electronic device 2000 may train the second model. Also, the electronic device 2000 may obtain a second trained model from another electronic device (eg, the server 3000).
  • another electronic device eg, the server 3000.
  • the generator model 810 of the second model may be trained to generate images having the same characteristics as the ground truth image 870 .
  • the discriminator model 820 of the second model may be trained to determine whether an image input to the discriminator model 820 is authentic. Specifically, the discriminator model 820 classifies the input image into the 'Real' class when the input image is determined to be the correct image 870 that has not undergone any processing, and the input image is a generator. If it is determined as the inpainted image 860 generated by restoring the input image generated by the model 810, the input image may be classified as a 'Fake' class.
  • FIG. 9 is a diagram for explaining another architecture of a second model outputting an inpainted image according to an embodiment of the present disclosure.
  • the second model may be a generative adversarial network (GAN), which is a neural network model composed of a generator model 910 and a discriminator model 920 .
  • GAN generative adversarial network
  • the second model receives the input image 930, the mask image 940, and the structure vector image 950 using the generator model 910, and the loss region 935 of the input image 930 is restored.
  • the painted image 960 may be output.
  • the generator model 910 of the second model generates images having the same characteristics as the ground truth image 970. can be trained
  • the discriminator model 920 of the second model may be trained to determine whether an image input to the discriminator model 920 is genuine or not. In describing FIG. 9 , the description of components corresponding to those of FIG. 8 will be omitted.
  • the second model may further include a vector image decoder 980.
  • the vector image decoder 980 may share neural network layers included in the generator model 910 .
  • the vector image decoder 980 reproduces the structure vector image 950 input to the generator model 910 based on feature values output from the neural network layers included in the generator model 910, and reconstructs the structure vector image. (985) can be output.
  • the vector image decoder 980 included in the second model generates a reconstructed structure vector image 985 based on feature values output from the neural network layers included in the generator model 910, so that the generator model 910 It is possible to maintain the structural vector image features extracted from the structural features of the input image in
  • the electronic device 2000 may train the second model. Also, the electronic device 2000 may obtain a second trained model from another electronic device (eg, the server 3000). In the process of training the second model, the vector image decoder 980 included in the second model is trained to generate a reconstructed structure vector image 985 having the same characteristics as the input structure vector image 950. can
  • FIG. 10 is a diagram for explaining an inpainted image obtained by an electronic device using a second model according to an embodiment of the present disclosure.
  • the electronic device 2000 may generate the input image 1010 according to the above-described embodiments.
  • the loss area of the input image 1010 is determined according to the above-described embodiments, and the loss area within the input image 1010 may be different for each input image 1010 .
  • the loss area of the first input image 1012 may be smaller than the loss area of the second input image 1014 .
  • the electronic device 2000 may input the input image 1010 and the mask image representing the loss region to the first model to obtain a structure vector 1020 by extracting structural features of the input image 1010 .
  • the electronic device 2000 may obtain the structure vector 1020 by extracting structural features of the input image 1010 regardless of whether the size of the loss region of the input image 1010 is large or small.
  • the structure vector 1020 may include a structure vector of a loss region representing structural characteristics of the loss region.
  • a first structure vector 1022 which includes a structure vector of a lossy region of the image 1012, may be obtained.
  • the first model infers structural features within the loss area of the second input image 1014, and the second input image ( A second structure vector 1024 including the structure vector of the loss region of 1014) can be obtained.
  • the electronic device 2000 inputs the input image 1010, the mask image representing the loss region, and the structure vector image 1030 obtained by converting the structure vector 1020 to the second model, thereby calculating the loss region of the input image 1010.
  • a restored, inpainted image 1040 may be acquired.
  • the electronic device 2000 performs a first inpainting, in which a loss region in the first input image 1012 is restored by being guided by the structure vector image 1032 of the first structure vector, using the second model.
  • the image 1042 may be acquired.
  • the electronic device 2000 uses the second model to restore the loss region in the second input image 1014 by being guided by the structure vector image 1034 of the second structure vector, in which the second inpainted image is restored. (1044) can be obtained.
  • the electronic device 2000 restores the input image 1010 using a first model for extracting structural features of the input image 1010 and the structure vector image of the structure vector 1020.
  • a first model for extracting structural features of the input image 1010 and the structure vector image of the structure vector 1020 By using the second model for the loss region of the input image 1010, regardless of the size of the loss region, an inpainted image 1040 naturally restored so that the loss region conforms to the context of the input image 1010 can be obtained. have. That is, the electronic device 2000 obtains the structure vector 1020 for the lossy region of the input image 1010, so that when restoring the lossy region, it is not affected by the size of the lost region and without blurring or distortion of the restored region, Robust inpainting image processing can be performed.
  • FIG. 11 is a flowchart for explaining a method of obtaining an inpainted image by an electronic device according to an embodiment of the present disclosure.
  • the electronic device 2000 may determine whether to perform step S1110 based on the property of the lost region. For example, when the determined lossy area is a lossy area determined from the original image 304 in which some areas in the image shown in FIG. 3 are damaged, structural features of the lost area may not be extracted.
  • the electronic device 2000 may determine whether to perform step S1110 based on the width of the loss region. For example, the electronic device 2000 may perform step S1110 when the maximum width of the loss region is greater than or equal to a preset value.
  • the electronic device 2000 may perform step S1150 when the maximum width of the loss region is less than a preset value.
  • step S1110 when there are a plurality of loss regions, the electronic device 2000 performs S1110 when the width (eg, maximum width) of one or more loss regions among the plurality of loss regions is equal to or greater than a preset value, and the plurality of loss regions When the widths (eg, maximum widths) of each loss region are less than a preset value, step S1150 may be performed without extracting structural features of the loss region. Since the method for determining the width of the loss region by the electronic device 2000 has been described in step S240 of FIG. 2 , the same description will be omitted.
  • the electronic device 2000 may determine whether the relative ratio of the loss area is greater than or equal to a preset value.
  • the relative ratio of the lost region refers to the relative ratio occupied by the lost region in the input image 1102 .
  • the electronic device 2000 may determine to extract structural features of the lossy area when the number of pixels in the lossy area is equal to or greater than a preset value compared to the number of pixels in the input image.
  • the electronic device 2000 may perform step S1120 to extract the structural features of the lost region when the relative ratio of the lost region is greater than or equal to a preset value.
  • the electronic device 2000 may perform step S1150 without extracting structural features of the loss region when the relative ratio of the loss region is less than a preset value.
  • the electronic device 2000 may restore each determined loss region each time one loss region is determined, or may restore the determined plurality of lost regions collectively after a plurality of loss regions are determined.
  • the electronic device 2000 may identify each loss area forming an isolated simple closed curve based on whether pixels of the loss area are connected.
  • the electronic device 2000 When the electronic device 2000 restores each of the determined lossy areas whenever one lossy area is determined, the electronic device 2000 may operate in the same way as when there is only one lost area. Since this has been described above, the same description will be omitted.
  • the electronic device 2000 may determine whether a relative ratio of each lost area is greater than or equal to a preset value for each of the plurality of lost areas. .
  • the electronic device 2000 may perform step S1120 to collectively extract structural features of the plurality of lossy regions when the relative ratio of one or more lossy regions among the plurality of lossy regions is equal to or greater than a preset value.
  • the electronic device 2000 may perform step S1150 without extracting the structural features of the loss region when the relative ratios of the plurality of loss regions are less than a predetermined value.
  • the electronic device 2000 applies the input image 1102 and the mask image 1104 to the first model to obtain a structure vector representing structural characteristics of structures in the input image 1102.
  • a structure vector can include one or more lines and one or more junctions. Since the method of acquiring the structure vector by the electronic device 2000 using the first model has been described in the above-described embodiments, the same description will be omitted.
  • the electronic device 2000 may identify whether a structure vector exists in the loss area. If there is a structure vector in the lost area, the structure vector of the lost area may be used to reconstruct the lost area. When the structure vector of the loss region exists, the electronic device 2000 may perform step S1140. Alternatively, the electronic device 2000 may perform step S1150 when the structure vector of the loss region does not exist.
  • the electronic device 2000 may obtain an inpainted image by applying the input image 1102, the mask image 1104, and the structure vector image to the second model. Since the method of acquiring the inpainted image by the electronic device 2000 using the second model has been described in the above-described embodiments, the same description will be omitted.
  • the electronic device 2000 may obtain an inpainted image by applying the input image 1102 and the mask image 1104 to the second model.
  • the second model may receive only the input image 1102 and the mask image 1104 and output an inpainted image.
  • the second model may receive the input image 1102, the mask image 1104, and arbitrary data to be used when the structure vector is not used, and output an inpainted image.
  • FIG. 12 is a flowchart for explaining another method of acquiring an inpainted image by an electronic device according to an embodiment of the present disclosure.
  • the electronic device 2000 may determine whether to perform step S1210 based on the property of the lost region. For example, if the lossy area is a lossy area determined from the original image 304 in which a partial area in the image shown in FIG. 3 is damaged, it may not be necessary to extract structural features of the lost area.
  • the electronic device 2000 may determine whether to perform step S1210 based on the width of the loss region. For example, the electronic device 2000 may perform step S1210 when the maximum width of the loss region is greater than or equal to a preset value.
  • the electronic device 2000 may perform step S1280 when the maximum width of the loss region is less than a preset value.
  • step S1210 when there are a plurality of loss regions, the electronic device 2000 performs S1210 when the width (eg maximum width) of one or more loss regions among the plurality of loss regions is greater than or equal to a preset value, and the plurality of loss regions When the widths (eg, maximum widths) of each loss region are less than a predetermined value, step S1280 may be performed without extracting structural features of the loss region. Since the method for determining the width of the loss region by the electronic device 2000 has been described in step S240 of FIG. 2 , the same description will be omitted.
  • step S1210 the electronic device 2000 according to an embodiment may determine whether the relative ratio of the loss area is greater than or equal to a preset value. Since this corresponds to step S1110 of FIG. 11, the same description will be omitted. Meanwhile, when there are a plurality of loss regions, the electronic device 2000 may determine whether a relative ratio of the loss regions is greater than or equal to a preset value whenever one loss region is determined. In addition, when the electronic device 2000 restores a plurality of loss areas collectively, the electronic device 2000 determines whether a relative ratio of each loss area is equal to or greater than a preset value for each of the plurality of loss areas.
  • the electronic device 2000 may perform step S1220 to identify whether structural characteristics of the plurality of lossy regions satisfy other conditions when the relative ratio of one or more lossy regions among the plurality of lossy regions is equal to or greater than a predetermined value. can The electronic device 2000 may perform step S1280 without extracting the structural features of the loss region when the relative ratios of each of the plurality of loss regions are less than a preset value.
  • step S1220 the electronic device 2000 according to an embodiment may identify whether preset conditions for the electronic device 2000 to perform steps S1230 to S1240 are satisfied.
  • the predetermined condition may be whether the relative ratio of the lost area is greater than or equal to a threshold value.
  • the electronic device 2000 may perform step S1230 when the relative ratio of the lost region is greater than or equal to the threshold value.
  • the preset value which is the criterion of step S1210
  • the threshold value included in the preset condition may be 40%.
  • the relative ratio of the loss area is 30%, the relative ratio of the loss area is greater than or equal to the preset value of 20%, so step S1220 is performed, but since it is less than the threshold value of 40%, the electronic device 2000 does not perform step S1230, Step S1250 may be performed.
  • the electronic device 2000 may perform step S1230.
  • the electronic device 2000 may perform step S1230 when a relative ratio of one or more lossy regions is greater than or equal to a threshold value.
  • the electronic device 2000 precisely and efficiently reconstructs structural features of a restoration target in which the relative ratio of the lost area is greater than a threshold value with respect to the input image 1202 in which the relative ratio of the lossy area is equal to or greater than a threshold value.
  • step S1230 of classifying the category of the input image 1202 may be performed.
  • the preset condition may be whether or not the computing budget available in the electronic device 2000 is sufficient for the electronic device 2000 to perform step S1230.
  • the electronic device 2000 may identify an available computing budget of the electronic device 2000 .
  • the electronic device 2000 may determine whether to perform step S1230 based on the identified computing budget. For example, the size of the image category classification model used when performing step S1230 is S0, the memory usage is M0, and the runtime execution time is T0, and the size of the first model used when performing step S1250 is S1,
  • the memory usage may be M1
  • the runtime execution time may be T1
  • the size of the second model used when performing step S1270 may be S2, the memory usage M2, and the runtime execution time T2.
  • the electronic device 2000 may identify a ROM margin limit, a memory capacity limit, and a runtime execution time requirement limit, which are computing budgets of the electronic device 2000 .
  • the electronic device 2000 according to an embodiment has a ROM margin limit greater than the sum of S0 , S1 , and S2 , a memory capacity limit greater than the sum of M0 , M1 , and M2 , and a runtime execution time requirement limit T0 , T1 and S2 . If it is equal to or greater than the sum of T2, it may be determined that the available computing budget of the electronic device 2000 is sufficient to perform step S1230.
  • the electronic device 2000 may classify the category of the input image.
  • the electronic device 2000 may classify a scene category of an input image.
  • the electronic device 2000 may classify the scene category of the input image 1202 using the image category classification model.
  • step S1240 the electronic device 2000 according to an embodiment may identify whether the scene category of the classified input image 1202 is included in a preset category list.
  • the electronic device 2000 may perform step S1250 to extract structural features of the lost region.
  • the electronic device 2000 may perform step S1280.
  • the preset category list may include categories of scenes having structural characteristics.
  • the scene category having a structural feature may be an airport terminal, an apartment building, a corridor, a bedroom, a hotel room, a movie theater, a museum, and the like, but is not limited thereto.
  • the electronic device 2000 applies the input image 1202 and the mask image 1204 to the first model to obtain a structure vector representing structural characteristics of structures in the input image 1202. can be obtained Since the method of acquiring the structure vector by the electronic device 2000 using the first model has been described in the above-described embodiments, the same description will be omitted.
  • step S1260 the electronic device 2000 according to an embodiment may identify whether a structure vector exists in the loss area. If there is a structure vector in the lost area, the structure vector of the lost area may be used to reconstruct the lost area.
  • the electronic device 2000 may perform step S1270 when the structure vector of the loss region exists. Alternatively, the electronic device 2000 may perform step S1280 when the structure vector of the loss region does not exist.
  • the electronic device 2000 may obtain an inpainted image by applying the input image 1202, the mask image 1204, and the structure vector to the second model. Since the method of acquiring the inpainted image by the electronic device 2000 using the second model has been described in the above-described embodiments, the same description will be omitted.
  • the electronic device 2000 may obtain an inpainted image by applying the input image 1202 and the mask image 1204 to the second model.
  • the second model may receive only the input image 1202 and the mask image 1204 and output an inpainted image.
  • the second model may receive the input image 1202, the mask image 1204, and arbitrary data to be used when the structure vector is not used, and output an inpainted image.
  • FIG. 13 is a diagram for explaining contents related to training of a structure vector element extraction unit and a Hough transform unit of a first model when the electronic device trains the first model according to an embodiment of the present disclosure.
  • the structure vector element extraction unit 1300 of the first model may receive an input image and a mask image and extract structure vector elements from the input image according to the above-described embodiments.
  • the structure vector element extraction unit 1300 may include a plurality of neural network layers. In this case, for each neural network layer in the structural vector element extraction unit 1300, the feature map output from the previous layer of the structural vector element extraction unit 1300 is input to the Hough transform module 1310, and the Hough transform model ( The linear feature map output from 1310 may be input to the next layer of the structure vector element extraction unit 1300 .
  • the Hough transform module 1310 receives the input feature map 1320 output from the previous layer, performs a plurality of operations including a convolution operation, and performs a linear feature 1330 from the input feature map 1320. ) can be extracted. In this case, weights of nodes included in layers corresponding to the trainable portion 1325 may be updated as the first model is trained. The Hough transform module 1310 may combine the extracted linear features 1330 with the input feature map 1320 and pass the combined feature map to the next neural network layer of the structure vector element extraction unit 1300 .
  • FIG. 14 is a diagram for explaining contents related to a generative adversarial network of a first model when an electronic device trains a first model according to an embodiment of the present disclosure.
  • the first model outputting the structure vector 1404 may include a generative adversarial network.
  • the generative adversarial network may include a generator model 1410 and a discriminator model 1420 .
  • the generator model 1410 may receive the training image 1402 as an input and output generated RGB images 1440 and 1460 .
  • the generator model 1410 may receive a first training image 1430 and output a first generated RGB image 1440 .
  • the generator model 1410 may receive the second training image 1450 and output a second generated RGB image 1460 .
  • the discriminator model 1420 may receive the generated RGB image or the ground truth RGB image 1406 and determine whether the input image is genuine or not.
  • the discriminator model 1420 of the generative adversarial network may be trained to discriminate whether an RGB image input to the discriminator model 1420 is genuine while the first model is being trained. Specifically, the discriminator model 1420 may update the weight of the discriminator model 1420 based on the correct RGB image 1406 without any processing. In this case, the labeled label value of the correct RGB image 1406 may be a label value corresponding to the 'Real' class. In addition, the discriminator model 1420 may update the weight of the discriminator model 1420 based on the RGB image generated by processing the training image 1402 generated by the generator model 1410 . In this case, the labeled label value of the generated RGB image may be a label value corresponding to the 'Fake' class.
  • the generator model 1410 of the generative adversarial neural network will be trained to generate real-like images that can be classified into the 'Real' class by the discriminator model 1420 in the process of training the first model.
  • the electronic device 2000 may label the generated RGB image output from the generator model 1410 with a label value corresponding to the 'Real' class in order to update the weight of the generator model 1410 . That is, the true label value of the generated RGB image output from the generator model 1410 is a label value corresponding to the 'Fake' class, but the electronic device 2000 updates the weight of the generator model 1410.
  • the label value of the generated RGB image can be labeled with a label value corresponding to the 'Real' class.
  • the electronic device 2000 may input the generated RGB image labeled with the label value corresponding to the 'Real' class to the discriminator model 1420 .
  • the discriminator model 1420 classifies the input image into the 'Real' class when the generated RGB image labeled as the 'real' class is judged to be the correct RGB image, and classifies the input image as the 'real' class. If it is determined that the generated RGB image labeled as is an RGB image generated by the generator model 1410, the input image may be classified as a 'Fake' class.
  • the electronic device 2000 may calculate a loss value output from the discriminator model 1420 and update weights of the generator model 1410 based on the loss value.
  • 15 is a diagram for explaining a method of determining an input order of training data for training a first model when the electronic device trains the first model according to an embodiment of the present disclosure.
  • the electronic device 2000 may assign a structure vector label to data without a structure vector correct answer label.
  • -labeling prseudo-labeling
  • the structure vector may be generated through the process of masking the loss region in the pseudo-labeled image.
  • FIG. 16 A method in which the electronic device 2000 masks a loss region in an image labeled with a structure vector is described in FIG. 16, and the electronic device 2000 pseudo-labels a label of the structure vector in data without a correct label of the structure vector. The method will be described later with reference to FIG. 17 .
  • the electronic device 2000 trains the first model 1510 based on training data 1520 composed of a training image including a loss region and a mask image corresponding to the training image and representing the loss region. can make it
  • the size of the loss region of the training image and the mask image included in the training data 1520 may be different. Also, the training data 1520 may be classified based on the size of the loss region.
  • the training data 1520 includes, for example, a first training image 1522 and a first mask image 1524 having a loss region size of 0.1% to 1%, and a second loss region size between 3% and 4%. Like the training image 1526 and the second mask image 1528, it may be classified based on the size of the loss region. In the same way, the training data 1520 may include training images and mask images classified based on the size of the loss region.
  • the training data 1520 may include a training image and a mask image having a loss region size of 6% to 7%, and a training image and a mask image having a loss region size of 9% to 10%.
  • training images in which the size of the loss region is 0.1% to 1%, 3% to 4%, 6% to 7%, and 9% to 10% have been described above, but these are only examples.
  • the size of the loss region of the training image and the mask image included in the training data 1520 may have a value between 0.1% and 10%, for example.
  • the training image and the mask image included in the training data 1520 are classified into training data having a loss region size within a predetermined range based on the loss region size in order to perform steps S1502 to S1506 to be described later. There may be.
  • the electronic device 2000 may determine a training order of training images used for training the first model 1510 according to the size of the loss region of the training image.
  • Steps S1502 to S1506 are flowcharts for schematically explaining how the electronic device 2000 trains the first model 1510.
  • step S1502 the electronic device 2000 according to an embodiment may input training data 1520 to the first model 1510 for training of the first model 1510 .
  • step S1504 the electronic device 2000 according to an embodiment may update weights of the first model 1510 based on a loss output from the first model 1510.
  • the electronic device 2000 may change the training data 1520 into training data having a larger size of a loss region in the training image and the mask image. For example, the electronic device 2000 performs an operation on all training data in the training data 1520 and performs at least one or more epochs based on an epoch, which is a training unit for updating weights, Training data 1520 can be changed. In another example, the electronic device 2000 performs loss output and weight update for each batch, which is a data input unit for loss output and weight update, and configures the next batch with training data having a larger loss region.
  • the first model 1510 may be trained so as to be.
  • the electronic device 2000 may repeat an operation of outputting a loss and updating a weight for each batch. If the calculation is performed on all training data 1520 by performing the calculation on all batches, it can be said that the training epoch of the first model 1510 is performed once.
  • the electronic device 2000 performs a plurality of epochs in which weights of the first model 1510 are updated using the training data 1520, and then fine-tunes the first model 1510. ) can be performed.
  • the electronic device 2000 may perform fine adjustment to train the first model using another dataset.
  • another data set may be a data set composed of images in which the correct answer label of the structure vector exists.
  • 16 is a diagram for explaining a method of generating training data for training a first model by an electronic device according to an embodiment of the present disclosure.
  • the electronic device 2000 may generate training data 1610 by masking a loss region in an image labeled with structure vectors.
  • the image to which the structure vectors are labeled refers to a pseudo-labeled image in which structure vectors corresponding to the image are detected by extracting structural features from the image of the image without the correct answer label. .
  • the training image and the mask image included in the training data 1610 may include a loss region, and the size, shape, and location of the loss region may be variously determined.
  • the training data 1610 includes a first training image 1620 and a first mask image 1625 having a loss region size of 0.1% to 1%, and a second loss region size between 3% and 4%.
  • the size of the loss region of the training image and the mask image included in the training data 1520 may have a value between 0.1% and 10%, for example.
  • the electronic device 2000 selects images for detecting structure vectors according to a predetermined process and labels the structure vectors to obtain an image in which the structure vectors are pseudo-labeled.
  • a method of obtaining an image in which structure vectors are pseudo-labeled by an electronic device will be described in the description of FIG. 17 .
  • an image in which structure vectors are pseudo-labeled will be referred to as a 'pseudo-labeled image'.
  • the pseudo-labeled image and the training image have the same structural characteristics for scene elements in the image.
  • the electronic device 2000 may generate a training image including the loss region and a mask image corresponding to the training image and indicating the loss region by masking the loss region in the pseudo-labeled image.
  • the electronic device 2000 may determine the size, shape, and position of the loss region masked in the pseudo-labeled image according to the structural characteristics of the pseudo-labeled image (ie, the structural characteristics of the training image). .
  • the electronic device 2000 may determine the size of the loss region in the pseudo-labeled image based on the structural characteristics of the pseudo-labeled image. For example, the electronic device 2000 determines that, based on the structure vectors of the pseudo-labeled image, the loss region does not cover all scene elements (eg, structures, objects, etc.) in the pseudo-labeled image, and at least The size of the loss region can be determined so that only part of it is covered. Also, the electronic device 2000 may determine the size of the lossy region such that the size of the lost region is 0.1% to 10% of the size of the pseudo-labeled image.
  • the electronic device 2000 may determine the shape of the loss region in the pseudo-labeled image based on the structural characteristics of the pseudo-labeled image.
  • the electronic device 2000 configures the loss region not to cover all scene elements (eg structures, objects, etc.) in the pseudo-labeled image, but to cover at least some of them, based on the structure vectors of the pseudo-labeled image,
  • the shape of the loss region can be determined.
  • the electronic device 2000 may determine the shape of the loss area so that the shape of the loss area becomes the shape of a specific object.
  • the electronic device 2000 may determine the location of the loss region in the pseudo-labeled image based on structural features of the pseudo-labeled image.
  • the electronic device 2000 configures the loss region not to cover all scene elements (eg structures, objects, etc.) in the pseudo-labeled image, but to cover at least some of them, based on the structure vectors of the pseudo-labeled image, The shape of the loss region can be determined.
  • the electronic device 2000 may determine the position of the loss region as an arbitrary position in the pseudo-labeled image.
  • the electronic device 2000 may determine the loss region based on the structural characteristics of the pseudo-labeled image. It is possible to obtain training data 1610, from which structure vectors can be extracted well even if the lossy region is masked in the pseudo-labeled image.
  • the electronic device 2000 may obtain the training data 1610 based on preset conditions for generating the training data 1610, as in the above-described embodiments.
  • the structure vectors are pseudo-labeled, and at least some of the scene elements having meaning in the image are retained even after the loss region is masked.
  • the method of generating a training image and a mask image by masking a loss region in the pseudo-labeled image may be equally applied to an image in which a correct answer label of a structure vector exists.
  • the electronic device 2000 may apply the method according to the above-described embodiments to another dataset, which is a dataset composed of images having structure vector correct answer labels.
  • the electronic device 2000 may acquire training data for fine adjustment by masking the loss region in each of the images included in the other data set and having the correct label of the structure vector.
  • the electronic device 2000 may fine-tune the first model using training data for fine-tuning. Since this has been described above with reference to FIG. 15, the same description will be omitted.
  • 17 is a diagram for explaining a method of acquiring an image in which structure vectors are pseudo-labeled by an electronic device according to an embodiment of the present disclosure.
  • the electronic device 2000 may acquire an image set composed of a plurality of images.
  • the electronic device 2000 may identify first images for labeling images with a structure vector for training a first model from the image set.
  • the images included in the image set are composed of images without the correct answer label of the structure vector.
  • the electronic device 2000 may use an image category classification model to identify scene categories of images in an image set, and identify images whose scene categories are scene categories from which structural features can be extracted as first images. .
  • the electronic device 2000 applies the first images to the structure vector detection model, so that each of the structure vectors for training the first model is pseudo-labeled to each of the first images.
  • Second images may be acquired.
  • the structure vector detection model may be a neural network model that receives an original image (eg, an RGB image) and detects a structure vector.
  • the structure vector detection model may be a neural network model trained based on a ground truth structure vector data set, which is images labeled with ground truth structure vectors.
  • pseudo-labeling refers to labeling a structure vector detected using a structure vector detection model in an image without a label of the structure vector.
  • the electronic device 2000 may acquire second images whose structure vectors are pseudo-labeled images by labeling the first images with the structure vectors detected from the first images.
  • step S1740 the electronic device 2000 according to an embodiment may select at least some of the second images to generate a training image.
  • the electronic device 2000 may generate a training image by masking the loss region of each of the second images according to the method described in FIG. 16 for all of the obtained second images.
  • the electronic device 2000 obtains a third image by filtering some of the obtained second images based on a predetermined criterion, and the third images are obtained according to the method described above with reference to FIG. 16 .
  • a training image can be created by masking the loss region on each of the images.
  • the electronic device 2000 may obtain a third image from among the second images based on the distribution of another reference dataset composed of images labeled with answer structure vectors.
  • the electronic device 2000 may obtain another reference dataset.
  • a third image may be obtained from among the second images based on an average of the number of junctions versus the number of lines in each image labeled with the structure vectors over the entire data set.
  • the electronic device 2000 may determine, among the second images, that the number of lines in the image labeled with the detected structure vectors is obtained from a distribution of another reference dataset composed of images labeled with the correct structure vectors.
  • the average value is greater than 74.98 (pixels), and the sum of all line lengths in the image in which the detected structure vectors are labeled is greater than the average value 6356.57 (pixels) obtained from the distribution of another reference dataset consisting of images in which the correct structure vectors are labeled.
  • the electronic device 2000 may obtain an image set 1700 in which structure vectors are pseudo-labeled, which are images for generating training data for training the first model, by performing steps S1710 to S1740.
  • FIG. 18 is another diagram for explaining a method of generating verification data for verifying accuracy of an inpainted image acquired by an electronic device using a trained second model, according to an embodiment.
  • the electronic device 2000 may generate a verification image 1800 for verifying the trained first model by damaging a partial region in the image.
  • the electronic device 2000 may generate the verification image 1800 by masking a loss region in which a partial region in the image is damaged using various methods.
  • the electronic device 2000 may generate the verification image 1800 by masking an arbitrarily determined loss region 1810 in the image, which is determined as a loss region.
  • the electronic device 2000 detects an object in the image, and masks a randomly determined lost area 1810 in the image in the remaining area that does not overlap with the pre-existing object area 1820 determined through object detection, thereby performing verification.
  • Image 1800 may be generated.
  • the electronic device 2000 detects an object in an image, and determines an area corresponding to the detected object as a loss area, and loses an existing object area 1820 determined through object detection determined through object detection. By masking the image with regions, a verification image 1800 can be created.
  • the electronic device 2000 may generate the verification image 1800 by masking the randomly determined lost area 1810 and the pre-existing object area 1820 determined through object detection into the lost area.
  • the electronic device 2000 may numerically or qualitatively evaluate the accuracy of the inpainted image acquired using the second trained model using the generated verification image 1800 .
  • the electronic device 2000 may further perform training of the second model based on the evaluation result.
  • 19 is a diagram for explaining a method of training a second model to acquire an inpainted image by an electronic device according to an embodiment of the present disclosure.
  • the second model may consist of a generative adversarial network.
  • a first dataset 1910 may be a dataset composed of training images including a lost region, mask images, and structure vector images.
  • the second dataset 1920 may be a dataset composed of raw ground truth images.
  • the electronic device 2000 may acquire a training image 1902 including a loss region, a mask image 1904, and structure vector images 1906 from the first dataset 1910.
  • the electronic device 2000 repeats an operation of updating the weights of the discriminator model 1940 a plurality of times, and converts the inpainted image 1912 output from the generator model 1930 to the discriminator model 1940. ) to determine the authenticity of the image.
  • the electronic device 2000 may calculate a loss value from the loss function 1950 by determining whether the inpainted image 1912 is authentic, and update the weight of the generator model 1930 based on the loss value.
  • the electronic device 2000 may update weights of the discriminator model 1940 .
  • the electronic device 2000 is based on a ground truth image 1922 obtained from the second dataset 1920, and weights of a discriminator model 1940 that determines whether an image is genuine or not. can be updated.
  • the label value of the correct answer image 1922 obtained from the second dataset 1920 may be 1.
  • a label value of 1 is a label value corresponding to a 'Real' class indicating that the image is a correct image that has not undergone any processing.
  • the electronic device 2000 may update the weight of the discriminator model 1940 for determining whether the image is authentic based on the inpainted image 1912 obtained from the generator model 1930.
  • the electronic device 2000 obtains a training image 1902, a mask image 1904, and structure vector images 1906 from data included in the first dataset 1910, and obtains the training image 1902 and the mask image.
  • 1904 and the structure vector images 1906 may be applied to the generator model 1930, and an inpainted image 1912 output from the generator model may be obtained.
  • the electronic device 2000 may label the inpainted image 1912 output from the generator model 1930 with a label value of '0'.
  • the labeling value '0' refers to a label value corresponding to a 'Fake' class representing an inpainted image generated by processing an input image.
  • the electronic device 2000 may receive the correct image 1922 or the inpainted image 1912 and update the weights of the discriminator model 1940 by iterating multiple times. have.
  • the electronic device 2000 may update weights of the generator model 1930.
  • the electronic device 2000 applies the training image 1902, the mask image 1904, and the structure vector images 1906 to the generator model 1930, and the inpainted image 1912 output from the generator model is converted into a 'real' image. It can be labeled with '1', which is a label value corresponding to the '(Real)' class.
  • the electronic device 2000 may apply the inpainted image 1912 labeled with the label value '1' to the discriminator model 1940 and determine whether the inpainted image 1912 is authentic.
  • the electronic device 2000 obtains a loss value based on the loss function 1950, and based on the loss value calculated by the loss function 1950 of the discriminator model 1940, the weight of the generator model 1930 is set. can be updated
  • 20 is a diagram for describing embodiments in which an electronic device performs image inpainting according to an embodiment of the present disclosure.
  • step S2010 the electronic device 2000 according to an embodiment may obtain an original image and determine a loss area.
  • the user of the electronic device 2000 may want to remove unwanted objects from the original image.
  • the electronic device 2000 receives an input for selecting objects in the original image from the user, and changes pixel values of pixels corresponding to the selected objects based on the received input, so that the loss area 2002 ) can be determined.
  • a user of the electronic device 2000 may want to restore a damaged area in the original image by using a damaged photo (eg, an old photo scan) as an original image.
  • the electronic device 2000 may receive an input for selecting damaged areas in the original image from a user, and determine a loss area 2006 corresponding to the damaged area based on the received input.
  • the electronic device 2000 may perform an image inpainting algorithm.
  • the electronic device 2000 may obtain an inpainted image in which the lossy area of the input image is restored, based on the determined lossy area.
  • the electronic device 2000 may perform steps S1110 to S1150 of FIG. 11 or steps S1210 to S1280 of FIG. 12 .
  • step S2030 the electronic device 2000 according to an embodiment may obtain an inpainted image.
  • the electronic device 2000 when the loss area determined by the electronic device 2000 is the loss area 2002 where the user deletes objects, the electronic device 2000 performs an image inpainting algorithm so that the objects in the image are deleted. , an inpainted image 2004 can be obtained.
  • the electronic device 2000 when the loss area determined by the electronic device 2000 is the loss area 2006 corresponding to the damaged area, the electronic device 2000 performs an image inpainting algorithm to restore the lost areas in the image. , an inpainted image 2008 can be obtained.
  • 21 is a diagram for explaining other embodiments in which an electronic device performs image inpainting according to an embodiment of the present disclosure.
  • the electronic device 2000 may obtain an image including depth information, and obtain an inpainted video that may be viewed at an arbitrary point in time different from a point in time at which the image was captured based on the depth information. .
  • the electronic device 2000 obtains depth information from an image captured using at least two or more cameras, or obtains depth information from an image including depth information captured using an RGB-Depth (RGB-D) camera. , depth information can be obtained.
  • RGB-D RGB-Depth
  • the electronic device 2000 may acquire an RGB image and obtain depth information by performing step S2105.
  • the electronic device 2000 may predict the depth of the image based on at least one object identified in the acquired image. For example, the electronic device 2000 uses different depths, a first depth, a second depth, . . . from an RGB image. , it is possible to identify the Nth depth. The electronic device 2000 may obtain segmentation levels of different depths as depth information.
  • the electronic device 2000 may extract a layered depth image (LDI).
  • the electronic device 2000 may obtain a layered depth image based on the acquired depth information. For example, the electronic device 2000 may divide an image into a first layer image, a second layer image, and a third layer image having different depths based on the depth information.
  • the electronic device 2000 may determine a loss region for each of the layered depth images.
  • the electronic device 2000 may determine, as the loss area, an area that is not captured at a specific point in time, which represents parallax caused by looking at a subject from different points of view while moving the point of view of the camera. .
  • the electronic device 2000 may determine the area behind the right side of the subject, which was covered by the subject, as the loss area. .
  • the electronic device 2000 may select one or more layer images corresponding to the depth of the region covered by the subject from among the layered depth images extracted in step S2110, and determine a loss region in the selected layer image. .
  • the electronic device 2000 may determine an area outside the boundary of an image captured by the camera as a loss area. In this case, the electronic device 2000 may select one or more layer images corresponding to the depth of the background area from among the layered depth images extracted in step S2110, and determine areas outside the boundary of the selected layer image as the loss area. .
  • the electronic device 2000 may perform an image inpainting algorithm.
  • the electronic device 2000 may acquire one or more inpainted images in which loss areas of one or more layer images are restored, based on the determined loss area.
  • the electronic device 2000 may perform steps S1110 to S1150 of FIG. 11 or steps S1210 to S1280 of FIG. 12 .
  • the electronic device 2000 may generate a video that can be viewed at an arbitrary viewpoint different from a viewpoint at which the image was captured by 3D rendering.
  • the electronic device 2000 may create a visual effect as if a scene was captured from a different viewpoint while a camera moves with respect to an already captured scene, based on one or more layer images on which image inpainting is performed.
  • 22 is a diagram for explaining an inpainted video generated by performing image inpainting by an electronic device according to an exemplary embodiment.
  • the electronic device 2000 may obtain an original image of a subject photographed by a camera at a specific point in time.
  • the electronic device 2000 may obtain depth information about the original image and obtain a layered depth image based on the obtained depth information.
  • the electronic device 2000 determines the lost area in the layered depth image and, when the camera viewpoint is changed, performs an inpainting algorithm on areas requiring restoration, thereby viewing the subject from different viewpoints over time. It is possible to obtain an inpainted image in which image frames are reproduced.
  • 23 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
  • an electronic device 2000 may include a communication interface 2100, a memory 2200, and a processor 2300.
  • the communication interface 2100 may perform data communication with the server 3000 under the control of the processor 2300 . Also, the communication interface 2100 may perform data communication with other peripheral electronic devices (not shown) as well as the server 3000 .
  • the communication interface 2100 may include, for example, wired LAN, wireless LAN, Wi-Fi, Bluetooth, zigbee, Wi-Fi Direct (WFD), infrared communication (IrDA, infrared Data Association), Bluetooth Low Energy (BLE), Near Field Communication (NFC), Wireless Broadband Internet (Wibro), World Interoperability for Microwave Access (WiMAX), Shared Wireless Access Protocol (SWAP), WiGig Data communication may be performed with the server 3000 or other nearby electronic devices using at least one of (Wireless Gigabit Alliance, WiGig) and data communication methods including RF communication.
  • WiGig WiGig Data communication
  • the communication interface 2100 may transmit and receive data for performing image inpainting with an external device (not shown).
  • the communication interface 2100 may receive, from an external server 3000, a first model 2230 pre-trained to detect a structure vector and a second model 2240 to perform image inpainting.
  • the memory 2200 may store instructions, data structures, and program codes readable by the processor 2300 .
  • operations performed by the processor 2300 may be implemented by executing instructions or codes of a program stored in the memory 2200 .
  • the memory 2200 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory, etc.), and RAM.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM PROM
  • magnetic memory magnetic disk , an optical disk, a non-volatile memory including at least one of, and a volatile memory such as random access memory (RAM) or static random access memory (SRAM).
  • RAM random access memory
  • SRAM static random access memory
  • SRAM static random access memory
  • the memory 2200 may store various types of data that may be used to perform image inpainting.
  • the memory 2200 includes an image restoration module 2210 for performing image inpainting, a training data generation module 2220 for training the first model 2230 and the second model 2240, and A first model 2230 for extracting structural features and a second model 2240 for reconstructing an input image may be stored.
  • the image reconstruction module 2210 may include a structure vector detection module 2212 and an inpainting module 2214. Additionally, the training data generation module 2220 may include a labeling module 2222 and a masking module 2224.
  • the processor 2300 may control overall operations of the electronic device 2000 .
  • the processor 2300 may control overall operations for the electronic device 2000 to perform image inpainting to restore an image by executing one or more instructions of a program stored in the memory 2200.
  • the processor 2300 may include, for example, a central processing unit, a microprocessor, a graphic processing unit, application specific integrated circuits (ASICs), digital signal processors (DSPs), and digital signal processors (DSPDs).
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processors
  • Signal Processing Devices PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), APs (Application Processors), Neural Processors (Neural Processing Units), or artificial intelligence dedicated processors designed with hardware structures specialized in processing artificial intelligence models. It may consist of at least one, but is not limited thereto.
  • the processor 2300 may restore the input image by executing the image restoration module 2210 .
  • the processor 2300 obtains a structure vector representing structural features of the input image by applying the input image and the mask image to the first model 2230 using the structure vector detection module 2212 and the first model 2230. can do.
  • the structure vector of the input image may include a structure vector of the lossy area representing structural characteristics of the lossy area. Since specific methods of acquiring the structure vector by the processor 2300 have already been described in the above-described embodiments, the same description will be omitted.
  • the processor 2300 applies the structure vector image converted from the input image, the mask image, and the structure vector to the second model 2240 using the inpainting module 2214 and the second model 2240 so as to obtain an image of the input image.
  • An inpainted image in which the lost region is restored may be obtained. Since specific methods for obtaining an inpainted image by the processor 2300 have already been described in the above-described embodiments, the same description will be omitted.
  • the processor 2300 may generate training data for training the first model 2230 and the second model 2240 using the training data generation module 2220 .
  • the processor 2300 may use the labeling module 2222 to obtain an image in which the structure vectors are pseudo-labeled.
  • the processor 2300 obtains an image set composed of a plurality of images without correct answer labels of the structure vector, and uses a first method for pseudo-labeling the structure vector for training of the first model 2230 from the image set to the image. 1 images can be identified.
  • the processor 2300 may use the image category classification model to identify scene categories of images in the image set, and may identify images whose scene categories are scene categories from which structural features can be extracted as first images.
  • the processor 2300 may apply the first images to a structural vector detection model.
  • the processor 2300 may label the first images with the structure vector detected from the first images to obtain second images in which the structure vector is a pseudo-labeled image.
  • the processor 2300 may obtain a third image by filtering some of the obtained second images based on a predetermined criterion.
  • the processor 2300 uses the masking module 2224 to mask the lost region to the second images whose structure vector is a pseudo-labeled image or to a third image filtered out from the second images to obtain training data. can create The processor 2300 may determine the size, shape, and position of the lossy region to be masked based on the structural characteristics of the second or third images when masking the lossy region in the second or third images. have.
  • the processor 2300 may train the first model 2230 and the second model 2240 based on training data generated using the training data generating module 2220 . Since this has already been described in the foregoing embodiments, the same description will be omitted.
  • 24 is a block diagram showing the configuration of a server according to an embodiment of the present disclosure.
  • the server 3000 may be interconnected with the electronic device 2000 through wired communication or wireless communication and perform data communication.
  • a server 3000 may include at least a communication interface 3100, a DB 3200, a memory 3300, and a processor 3400.
  • the communication interface 3100 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, It may include one or more components that enable communication via satellite communications networks and their mutual combinations.
  • LAN local area network
  • WAN wide area network
  • VAN value added network
  • mobile radio communication network It may include one or more components that enable communication via satellite communications networks and their mutual combinations.
  • the communication interface 3100 may transmit the first model and the second model to the electronic device 2000 . Also, the communication interface 3100 may receive training data from the electronic device 2000 and transmit updated first and second models to the electronic device 2000 .
  • the DB 3200 may store data received from the electronic device 2000 or data received from an external device.
  • the DB 3200 may store training data to be used to train the first model and the second model generated through training in the server 3000 .
  • the memory 3300 may store various data, programs, or applications for driving and controlling the server 3000 .
  • a program stored in memory 3300 may include one or more instructions.
  • a program (one or more instructions) or application stored in memory 3300 may be executed by processor 3400 .
  • a module performing the same function as the module stored in the electronic device 2000 may be stored in the memory 3300 .
  • data and program command codes corresponding to an image restoration module (not shown) and a training data generation module (not shown) may be stored in the memory 3300 .
  • the processor 3400 may control the server 3000 as a whole.
  • the processor 3400 according to an embodiment may execute one or more programs stored in the memory 3300.
  • the processor 3400 is designed as an application processor (AP), a central processing unit (CPU), a graphics processing unit (GPU), a neural processor, or a hardware structure specialized for processing an artificial intelligence model. It may include a processor dedicated to artificial intelligence.
  • AP application processor
  • CPU central processing unit
  • GPU graphics processing unit
  • neural processor or a hardware structure specialized for processing an artificial intelligence model. It may include a processor dedicated to artificial intelligence.
  • the processor 3400 may perform operations that may be performed by the electronic device 2000 according to the above-described embodiments.
  • the processor 3400 may generate an inpainted image by restoring a lost region of the input image.
  • the processor 3400 receives an original image and user input data, or an input image and a mask image from the electronic device 2000, and uses the first model and the second model stored in the DB to obtain a loss region of the input image. This restored, inpainted image can be created. Since the method of generating the inpainted image by the server 3000 corresponds to the method of generating the inpainted image by the electronic device 2000, the same description will be omitted.
  • the processor 3400 may generate a first model and a second model by performing training of a neural network model using data stored in the DB 3200 .
  • the generated first model and second model may be transmitted to the electronic device 2000 .
  • 25 is a flowchart of a method in which an electronic device obtains an inpainted image from an original image by interworking with a server according to an embodiment of the present disclosure.
  • the electronic device 2000 may determine a loss area in an original image.
  • the electronic device 2000 may acquire an original image and determine a loss area in the original image.
  • step S2510 Since the operation of determining the loss area by the electronic device 2000 in step S2510 corresponds to step S210 of FIG. 2 , the same description will be omitted.
  • the electronic device 2000 may request the server 3000 to generate an inpainting image.
  • the electronic device 2000 may request the server 3000 to generate an inpainting image while providing the original image and area information of the lost area to the server 2000 .
  • the server 3000 may generate an input image based on the determined loss area.
  • the server 3000 may generate an input image including the lossy area by changing pixel values of pixels corresponding to the determined lossy area.
  • the server 3000 may change pixel values of pixels corresponding to a partial region to preset values.
  • the server 3000 may change pixel values of pixels corresponding to a partial area to 0 or change pixel values of pixels corresponding to a partial area to an average value of pixel values of all images in the training data.
  • the server 3000 may obtain a mask image representing the loss area.
  • the mask image may include a loss area and a non-restoration target area.
  • step S2530 may not be performed by the server 3000 but may be performed by the electronic device 2000 as described in step S210 of FIG. 2 .
  • the server 3000 may receive an input image and a mask image from the electronic device 2000 .
  • the server 3000 applies the input image and the mask image to the first model stored in the server 3000, thereby obtaining structure vectors composed of one or more lines and one or more junctions.
  • the first model may be a neural network model for receiving an input image and a mask image and detecting geometric features such as points, lines, and planes representing frame structures of structures in the input image.
  • the structure vectors may include a structural feature of the lossy region, which is inferred from a structural feature determined to exist in the lossy region, with respect to the lossy region in which pixel values in the input image are changed. In this case, structural features of the loss region may be inferred from structural features of regions other than the loss region among all regions in the input image.
  • the first model may output structure vectors related to the entire input image including the loss region based on the input image and the mask image.
  • the server 3000 applies the structure vector image converted from the input image, the mask image, and the structure vector to the second model stored in the server 3000, so that the lost region of the input image is restored.
  • an inpainted image can be obtained.
  • the structure vectors may be output from the first model, and the server 3000 may obtain a structure vector image by converting the structure vectors.
  • the inpainted image output from the second model may be an image in which pixels corresponding to the loss region are generated and the loss region is filled with the generated pixels.
  • the inpainted image may be an image reconstructed to conform to the context of the input image, in which a loss region of the input image is naturally connected to other regions other than the loss region.
  • step S2560 the electronic device 2000 according to an embodiment may receive an inpainted image generated from the server 3000.
  • a block diagram of the electronic device 2000 shown in FIG. 23 and a block diagram of the server 3000 shown in FIG. 24 are block diagrams for one embodiment.
  • Each component of the block diagram may be integrated, added, or omitted according to the specifications of each device actually implemented. That is, if necessary, two or more components may be combined into one component, or one component may be subdivided into two or more components.
  • the functions performed in each block are for explaining the embodiments, and the specific operation or device does not limit the scope of the present disclosure.
  • An operating method of an electronic device may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program commands recorded on the medium may be specially designed and configured for the present disclosure, or may be known and usable to those skilled in computer software.
  • Examples of computer readable media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. Included are hardware devices specially configured to store and execute program instructions, such as magneto-optical media and ROM, RAM, flash memory, and the like.
  • Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
  • a computer readable medium may be provided in the form of a non-transitory recording medium.
  • the non-transitory recording medium only means that it is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term refers to the case where data is semi-permanently stored in the recording medium and temporarily stored does not discriminate between cases
  • a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.
  • the operating method of the electronic device according to the disclosed embodiments may be included in a computer program product and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored.
  • a computer program product may include a product in the form of a S/W program (eg, a downloadable app) that is distributed electronically through a manufacturer of an electronic device or an electronic marketplace (eg, Google Play Store, App Store). have.
  • a part of the S/W program may be stored in a storage medium or temporarily generated.
  • the storage medium may be a storage medium of a manufacturer's server, an electronic market server, or a relay server temporarily storing SW programs.
  • a computer program product may include a storage medium of a server or a storage medium of a client device in a system composed of a server and a client device.
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include a S/W program itself transmitted from the server to the client device or the third device or from the third device to the client device.
  • one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, the client device, and the third device may execute the computer program product to implement the method according to the disclosed embodiments in a distributed manner.
  • a server may execute a computer program product stored in the server to control a client device communicatively connected to the server to perform a method according to the disclosed embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치에서 이미지 인페인팅 방법이 제공된다. 상기 방법은, 원본 이미지 내의 손실 영역을 결정하고, 상기 손실 영역에 기초하여, 상기 원본 이미지로부터 복원의 대상이 되는 입력 이미지를 생성하고, 상기 손실 영역을 나타내는 마스크 이미지를 획득하고, 상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하고, 상기 입력 이미지 및 상기 마스크 이미지를, 상기 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델에 적용함으로써, 구조 벡터들을 획득하고, 상기 입력 이미지, 상기 마스크 이미지 및 상기 구조 벡터들로부터 변환된 구조 벡터 이미지를 상기 입력 이미지를 복원하기 위한 제2 모델에 적용함으로써, 상기 입력 이미지의 상기 손실 영역이 복원된, 인페인팅 된 이미지를 획득한다.

Description

이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법
본 개시는 이미지 내에 픽셀들을 채워 이미지를 복원하는, 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
전자 장치에서 이미지 편집을 위한 이미지 프로세싱 방법으로써, 인공지능을 활용한 이미지 편집 기능이 제공되고 있다. 인공지능을 활용한 이미지 편집 기능의 예로, 전자 장치는 이미지 내에 훼손되거나 비어있는 영역을 자연스럽게 채워 이미지를 복원하는 이미지 인페인팅 기술이 제공한다. 전자 장치는 이미지 인페인팅 기술을 이용하여 이미지 내 훼손된 영역을 복원하거나, 이미지 내 특정 객체를 삭제함으로써, 사용자에게 개선된 이미지 편집 경험을 제공할 수 있다.
전자 장치가 이미지 인페인팅을 수행하는 경우, 훼손되거나 비어 있는 영역의 모양, 위치, 크기 등에 따라서 인페인팅 된 이미지 내에 흐릿함, 왜곡 등의 노이즈가 존재할 수 있다.
이미지 인페인팅 기술에 있어서, 복원 대상이 되는 영역의 모양, 위치, 크기 등에 영향을 받지 않고 선명하고 자연스러운 인페인팅 된 이미지를 생성하는 방법이 제시될 것이다.
상기 정보는, 본 개시 내용의 이해를 돕기 위한 배경 정보로서만 제공되는 것이다. 위 내용 중에서, 어떠한 것이 본 개시와 관련하여 선행 기술로 적용될 수 있는지 여부에 대한 결정 및 주장이 되는 것은 아니다.
본 개시의 측면들은 적어도 위에서 언급된 문제 및/또는 단점을 해결하고, 적어도 아래에서 설명되는 이점들을 제공하는 것이다. 따라서, 본 개시의 일 측면은 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
추가적인 측면들은 아래의 설명에서 부분적으로 설명될 것이고, 부분적으로는, 설명으로부터 명백해지거나, 제시된 실시예의 실행에 의해 학습될 수 있을 것이다.
본 개시의 일 측면에 따르면, 전자 장치가 이미지 내 손실 영역을 복원하는 이미지 인페인팅(image inpainting)을 수행하는 방법이 제공된다. 상기 방법은, 원본 이미지 내의 손실 영역을 결정하는 단계; 상기 결정된 손실 영역에 기초하여, 상기 원본 이미지로부터 복원의 대상이 되는 입력 이미지를 생성하는 단계; 상기 손실 영역을 나타내는 마스크 이미지를 획득하는 단계; 상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하는 단계; 상기 입력 이미지 및 상기 마스크 이미지를, 상기 손실 영역의 구조적인 특징을 포함하는 상기 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델에 적용함으로써, 하나 이상의 선(line) 및 하나 이상의 접합점(junction)으로 구성되는, 구조 벡터들을 획득하는 단계; 및 상기 입력 이미지, 상기 마스크 이미지 및 상기 구조 벡터들로부터 변환된 구조 벡터 이미지를 상기 입력 이미지를 복원하기 위한 제2 모델에 적용함으로써, 상기 입력 이미지의 상기 손실 영역이 복원된, 인페인팅 된 이미지를 획득하는 단계를 포함하는, 방법을 제공할 수 있다.
본 개시의 일 측면에 따르면, 이미지 인페인팅(image inpainting)을 수행하는 전자 장치가 제공된다. 상기 전자 장치는, 통신 인터페이스; 하나 이상의 명령어들(instructions)을 저장하는 메모리; 및 상기 메모리에 저장된 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는, 원본 이미지 내의 손실 영역을 결정하고, 상기 결정된 손실 영역에 기초하여, 상기 원본 이미지로부터 복원의 대상이 되는 입력 이미지를 생성하고, 상기 손실 영역을 나타내는 마스크 이미지를 획득하고, 상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하고, 상기 입력 이미지 및 상기 마스크 이미지를, 상기 손실 영역의 구조적인 특징을 포함하는 상기 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델에 적용함으로써, 하나 이상의 선(line) 및 하나 이상의 접합점(junction)으로 구성되는, 구조 벡터들을 획득하고, 상기 입력 이미지, 상기 마스크 이미지 및 상기 구조 벡터들로부터 변환된 구조 벡터 이미지를 상기 입력 이미지를 복원하기 위한 제2 모델에 적용함으로써, 상기 입력 이미지의 상기 손실 영역이 복원된, 인페인팅 된 이미지를 획득하는, 전자 장치를 제공할 수 있다.
본 개시의 일 측면에 따르면, 전자 장치가 이미지 내 손실 영역을 복원하는 이미지 인페인팅을 수행하는 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 제공할 수 있다.
전술한 내용 및 다른 측면들, 특징들 및 본 개시의 특정 실시예들의 이점들은, 후술하는 상세한 설명과 첨부된 도면들을 함께 참조하면 더욱 명확해질 것이다.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 이미지 내 손실 영역이 복원된, 인페인팅 된 이미지를 획득하는 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치가 손실 영역을 복원하여 인페인팅 된 이미지를 획득하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치가 원본 이미지 내의 손실 영역을 결정하는 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 원본 이미지 내의 손실 영역을 결정하는 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하기 위해 사용하는 제1 모델 및 제2 모델을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른, 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델의 아키텍처를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 이용하여 획득한, 구조 벡터를 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른, 인페인팅 된 이미지를 출력하는 제2 모델의 아키텍처를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른, 인페인팅 된 이미지를 출력하는 제2 모델의 다른 아키텍처를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가 제2 모델을 이용하여 획득한, 인페인팅 된 이미지를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하는 다른 방법을 설명하기 위한 흐름도이다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시킬 때, 제1 모델의 구조 벡터 엘리먼트 추출 유닛 및 허프 변환 유닛의 훈련과 관련된 내용을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시킬 때, 제1 모델의 생성적 적대 신경망과 관련된 내용을 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시킬 때, 제1 모델을 훈련시키기 위한 훈련 데이터의 입력 순서를 정하는 방법을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시키기 위한 훈련 데이터를 생성하는 방법을 설명하기 위한 도면이다.
도 17은 본 개시의 일 실시예에 따른 전자 장치가 구조 벡터들이 수도-레이블링 되어 있는 이미지를 획득하는 방법을 설명하기 위한 도면이다.
도 18은 일 실시예에 따른 전자 장치가 훈련된 제2 모델을 이용하여 획득한 인페인팅 된 이미지의 정확도를 검증하기 위한 검증 데이터를 생성하는 방법을 설명하기 위한 다른 도면이다.
도 19는 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하기 위해 제2 모델을 훈련시키는 방법을 설명하기 위한 도면이다.
도 20은 본 개시의 일 실시예에 따른 전자 장치가 이미지 인페인팅을 수행하는 실시예들을 설명하기 위한 도면이다.
도 21은 본 개시의 일 실시예에 따른 전자 장치가 이미지 인페인팅을 수행하는 다른 실시예들을 설명하기 위한 도면이다.
도 22는 일 실시예에 따른 전자 장치가 이미지 인페인팅을 수행하여 생성한 인페인팅 된 비디오를 설명하기 위한 도면이다.
도 23은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 24는 본 개시의 일 실시예에 따른 서버의 구성을 도시한 블록도이다.
도 25는 본 개시의 일 실시예에 따른 전자 장치가 서버와 연동하여 원본 이미지로부터 인페인팅된 이미지를 획득하는 방법의 흐름도이다.
도면 전체에 걸쳐, 동일한 참조 번호는 동일하거나 유사한 요소, 특징 및 구조를 묘사하는 데 사용된다.
첨부된 도면을 참조한 다음의 설명은 청구범위 및 그 균등물에 의해 정의되는 본 개시의 다양한 실시예의 포괄적인 이해를 돕기 위해 제공된다. 여기에는 이해를 돕기 위한 다양한 특정 세부 사항이 포함되지만 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 지식을 가진 자는 본 개시의 범위 및 사상을 벗어나지 않고 본 개시에 기재된 다양한 실시예의 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 명료함과 간결함을 위해 잘 알려진 기능 및 구성에 대한 설명은 생략될 수 있다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에서, 입력 이미지는, 후술하는 실시예들에 따른 이미지 인페인팅 알고리즘이 적용됨으로써 복원의 대상이 되는 이미지를 말한다. 입력 이미지는, 손실 영역을 포함할 수 있다.
본 개시에서, 손실 영역은, 후술하는 실시예들에 따른 이미지 인페인팅 알고리즘이 적용됨으로써, 복원의 대상이 되는 영역을 말한다. 손실 영역은 입력 이미지 내에서 픽셀 값이 변경되어, 시각적인 의미, 특징 등이 식별되지 않는 영역을 말한다. 개시된 실시예들에 따른 인페인팅 알고리즘은, 손실 영역에 대응되는 픽셀들을 생성하여 손실 영역에 채울 수 있다. 손실 영역에 채워지는 픽셀들은, 손실 영역의 주변 영역들과 시각적인 특징이 자연스럽게 연결되도록 생성된 픽셀일 수 있다. 개시된 실시예들에 따라 입력 이미지의 손실 영역을 복원함으로써, 인페인팅 된 이미지를 획득할 수 있다.
본 개시에서, 구조 벡터는 이미지 내 존재하는 구조물들의 구조적인 특징을 나타내는 벡터를 말한다. 구조 벡터는 점 및 선으로 구성될 수 있다. 본 개시에서 손실 영역의 구조 벡터란, 픽셀 값이 변경되어 시각적인 의미, 특징 등이 식별되지 않는 손실 영역에 대하여, 손실 영역 내에 존재할 것으로 판단되는 구조물을 추론함으로써 획득된, 손실 영역 내에 존재할 것으로 판단되는 구조물들의 구조적인 특징을 나타내는 벡터를 말한다.
도 1은 본 개시의 일 실시예에 따른 전자 장치가 이미지 내 손실 영역이 복원된, 인페인팅 된 이미지를 획득하는 방법을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(110)를 획득하고, 입력 이미지 내 구조물들의 기하학적 특징을 추출하여 구조 벡터들(120)을 획득하고, 획득된 구조 벡터들(120)을 이용하여 입력 이미지(110)의 손실 영역(115)에 대응되는 픽셀들을 생성함으로써, 입력 이미지(110)의 손실 영역(115)이 생성된 픽셀들로 채워진, 인페인팅 된 이미지(130)를 획득할 수 있다. 이 경우, 구조 벡터들(120)은 손실 영역(115)의 구조 벡터들을 포함할 수 있다.
일 실시예에서, 전자 장치(2000)가 이미지 인페인팅을 수행하여 입력 이미지(110)의 손실 영역(115)을 복원하는 경우, 전자 장치(2000)는 입력 이미지(110)의 콘텍스트에 부합하도록 손실 영역(115)을 복원하기 위해, 손실 영역(115)의 주변 픽셀들에 기초하여 입력 이미지(110)를 복원할 수 있다. 이 경우, 손실 영역(115)의 크기가 소정 기준 크기보다 커지게 되면, 손실 영역(115)의 주변 픽셀들로부터 획득되는 정보가 부족하여, 손실 영역(115)이 흐릿하게 복원되거나, 왜곡되어 복원될 수 있다. 일 실시예에 따른 전자 장치(2000)는 생성적 적대 신경망을 이용하여 손실 영역(115) 내에 존재할 것으로 판단되는 콘텐츠(예를 들어, 구조물 등)를 추론함으로써, 손실 영역(115)를 복원할 수 있다. 또한, 전자 장치(2000)는, 손실 영역(115) 내에 존재할 것으로 판단되는 구조물을 추론함으로써 획득된, 손실 영역의 구조 벡터를 이용하여, 손실 영역(115)을 복원할 수 있다.
일 실시예에 따른 전자 장치(2000)는 카메라를 이용하여 피사체를 촬영할 수 있는 디바이스일 수 있다. 예를 들어, 전자 장치(2000)는 스마트폰, 태블릿 PC, 노트북 PC, 데스크톱 PC, TV 등의 디바이스일 수 있으나, 이에 한정되지 않는다.
일 실시예에서, 전자 장치(2000)는 복수의 카메라로 구성되는 카메라 모듈을 포함할 수 있다. 카메라 모듈은 깊이 이미지를 획득하는 깊이 카메라, RGB 이미지를 획득하는 RGB 카메라를 포함할 수 있다. 전자 장치(2000)는 카메라 모듈을 이용하여 이미지를 획득할 수 있다.
일 실시예에서, 전자 장치(2000)는 이미지 내 일부 영역의 픽셀 값이 변경된 손실 영역(115)을 포함하는, 입력 이미지(110)를 획득할 수 있다.
입력 이미지(110)는 다양한 방식으로 획득될 수 있다.
일 실시예에서, 전자 장치(2000)는, 다른 전자 장치(예를 들어, 서버(3000))로부터 이미지 내 일부 영역의 픽셀 값이 변경된 손실 영역(115)을 포함하는 입력 이미지(110)를 획득할 수 있다.
일 실시예에서, 전자 장치(2000)는 전자 장치(2000)의 사용자로부터 사용자 입력에 기초하여 생성된, 입력 이미지(110)를 획득할 수 있다. 예를 들어, 전자 장치(2000)의 사용자가 손상되지 않은 원본 이미지 내에서 특정 객체를 삭제하고자 하는 경우, 전자 장치(2000)는 사용자 입력에 기초하여 입력 이미지(110)를 생성할 수 있다. 전자 장치(2000)는 전자 장치(2000)의 사용자로부터 원본 이미지 내 일부 영역을 선택하는 입력을 수신하고, 선택된 일부 영역에 대응되는 픽셀들의 픽셀 값들을 변경함으로써, 손실 영역(115)을 포함하는 입력 이미지(110)를 생성할 수 있다. 이 경우, 원본 이미지는 전자 장치(2000)가 다른 전자 장치(예를 들어, 서버(3000))로부터 획득한 것이거나, 전자 장치(2000)가 카메라 모듈을 이용하여 장면을 촬영함으로써 획득된 것일 수 있다.
일 실시예에서, 전자 장치(2000)는 입력 이미지(110) 내의 구조물들의 구조적인 특징을 추출할 수 있다. 전자 장치(2000)는 입력 이미지(110) 내의 구조물들의 점, 선, 면 등의 구조적인 특징을 추출하여, 하나 이상의 선(line) 및 하나 이상의 접합점(junction)으로 구성되는, 구조 벡터들(120)을 획득할 수 있다. 이 경우, 추출된 구조 벡터들(120)은, 손실 영역의 구조 벡터를 포함할 수 있다.
일 실시예에 따른 전자 장치(2000)는 구조 벡터들(120)에 기초하여, 입력 이미지(110) 내의 손실 영역(115)에 대응되는 픽셀들을 생성할 수 있다. 전자 장치(2000)는 구조 벡터들(120)에 기초하여, 손실 영역(115)에 대응되는 구조물의 프레임구조를 가이드함으로써, 손실 영역(115)에 대응되는 픽셀들을 생성되도록 할 수 있다. 전자 장치(2000)는 생성된 픽셀들을 손실 영역(115)에 채움으로써, 손실 영역(115)이 입력 이미지(110)의 콘텍스트에 부합하도록 복원된, 인페인팅 된 이미지(130)를 획득할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치가 손실 영역을 복원하여 인페인팅 된 이미지를 획득하는 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 단계 S210에서, 일 실시예에 따른 전자 장치(2000)는 원본 이미지 내의 손실 영역을 결정할 수 있다. 전자 장치(2000)는 원본 이미지를 획득하고, 원본 이미지 내의 손실 영역을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 인페인팅의 대상이 되는 원본 이미지를 획득할 수 있다. 원본 이미지는, 예를 들어, 이미지 내 일부 영역이 손상되어 있는 이미지 또는 삭제의 대상이 되는 객체를 포함하는 이미지를 포함할 수 있다. 전자 장치(2000)는 전자 장치(2000)의 카메라를 이용하여 피사체를 촬영함으로써 원본 이미지를 획득하거나, 다른 전자 장치(예를 들어, 서버(3000))로부터 원본 이미지를 수신할 수 있다.
본 개시에서, 사용자 입력은 다양한 형태의 입력일 수 있다. 예를 들어, 전자 장치(2000)가 디스플레이 및 터치 패드를 포함하는 터치스크린을 포함하는 경우, 사용자 입력은 터치스크린을 통해 수신되는 터치 데이터일 수 있다. 다른 예에서, 전자 장치(2000)에 연결된 별도의 디스플레이 및 입력 장치가 존재하는 경우, 사용자 입력은 입력 장치를 통해 수신되는 입력 데이터일 수 있다.
일 실시예에서, 전자 장치(2000)는 사용자 입력에 기초하여 손실 영역을 결정할 수 있다. 전자 장치(2000)는 원본 이미지 내 손상된 영역, 또는 삭제하고자 하는 영역을 선택하는 사용자 입력을 수신하고, 수신된 사용자 입력에 기초하여 손실 영역을 결정할 수 있다.
예를 들어, 전자 장치(2000)는 원본 이미지 내 손상된 영역을 선택하는 사용자 입력을 수신할 수 있다. 전자 장치(2000)는 수신된 사용자 입력에 기초하여, 선택된 영역을 손실 영역으로 결정할 수 있다.
예를 들어, 전자 장치(2000)는 원본 이미지 내에서 특정 영역을 삭제하기 위해 특정 영역을 선택하는 사용자 입력(예를 들어, 폐곡선 타입 입력, 브러시 타입 입력 등)을 수신할 수 있다. 전자 장치(2000)는 수신된 사용자 입력에 기초하여, 선택된 특정 영역을 손실 영역으로 결정할 수 있다.
예를 들어, 전자 장치(2000)의 사용자는 원본 이미지 내에서 특정 객체를 삭제하기 위해 특정 객체를 선택하는 사용자 입력을 수신할 수 있다. 전자 장치(2000)는 사용자가 원본 이미지 내 객체를 선택하는 입력에 기초하여, 원본 이미지 내 객체에 대응되는 영역의 경계부를 검출하고, 검출된 객체에 대응되는 영역을 손실 영역으로 결정할 수 있다.
일 실시예에서, 전자 장치(2000) 원본 이미지 내 객체들을 인식하여, 원본 이미지 내 객체들에 대응되는 영역들을 세그멘테이션 할 수 있다. 전자 장치(2000)는 사용자로부터 이미지 내 일부 영역을 선택하는 입력을 수신하고, 수신된 사용자 입력에 관련된 세그멘테이션 영역을 손실 영역으로 결정할 수 있다.
단계 S220에서, 일 실시예에 따른 전자 장치(2000)는 단계 S210에서 결정된 손실 영역에 기초하여, 입력 이미지를 생성할 수 있다.
전자 장치(2000)는 결정된 손실 영역에 대응되는 픽셀들의 픽셀 값들을 변경함으로써, 손실 영역을 포함하는 입력 이미지를 생성할 수 있다. 이 경우, 전자 장치(2000)는 일부 영역에 대응되는 픽셀들의 픽셀 값을 기 설정된 값으로 변경할 수 있다. 예를 들어, 전자 장치(2000)는 일부 영역에 대응되는 픽셀들의 픽셀 값을 0으로 변경하거나, 일부 영역에 대응되는 픽셀들의 픽셀 값을 훈련 데이터 내 모든 이미지들의 픽셀 값들의 평균 값으로 변경할 수 있다. 다만, 변경되는 픽셀 값은 이에 한정되는 것은 아니다.
단계 S230에서, 일 실시예에 따른 전자 장치(2000)는 손실 영역을 나타내는 마스크 이미지를 획득할 수 있다. 이 경우, 마스크 이미지는 손실 영역과 복원 대상이 아닌 영역으로 구성될 수 있다. 마스크 이미지는 손실 영역을 마스킹한, 마스킹 정보를 포함할 수 있다. 마스킹 정보는, 원본 이미지에서 손실 영역의 위치를 나타내는 정보(예를 들어, 좌표 정보)를 포함할 수 있으나, 이에 제한되는 것은 아니다.
단계 S240에서, 일 실시예에 따른 전자 장치(2000)는 손실 영역의 속성에 기초하여, 손실 영역의 구조적인 특징을 추출할 지 여부를 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 손실 영역의 크기에 기초하여, 손실 영역의 구조적인 특징을 추출할 지 여부를 결정할 수 있다. 예를 들어, 전자 장치(2000)는 손실 영역에 대응되는 픽셀들의 수가 기 설정된 수 이상인 경우, 손실 영역의 구조적인 특징을 추출하기로 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 손실 영역이 입력 이미지의 전체 영역 내에서 차지하는 비율에 기초하여, 손실 영역의 구조적인 특징을 추출할 지 여부를 결정할 수 있다. 예를 들어, 전자 장치(2000)는 입력 이미지의 픽셀 수 대비 손실 영역의 픽셀 수가 기 설정된 값 이상인 경우, 손실 영역의 구조적인 특징을 추출하기로 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 손실 영역의 폭에 기초하여, 손실 영역의 구조적인 특징을 추출할 지 여부를 결정할 수 있다. 전자 장치(2000)는 손실 영역의 골격을 나타내는 픽셀들을 찾기 위한 세선화 알고리즘(thinning algorithm)을 적용하여 손실 영역의 골격선들을 획득하고, 손실 영역의 골격선을 기준으로 수직 방향으로 측정되는 손실 영역의 폭이 기 설정된 값 이상인 경우, 손실 영역의 구조적인 특징을 추출하기로 결정할 수 있다. 예를 들어, 전자 장치(2000)는 손실 영역 내 폭의 최대값이 기 설정된 값 이상인 경우, 손실 영역의 구조적인 특징을 추출하기로 결정할 수 있다.
단계 S250에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지 및 마스크 이미지를 제1 모델에 적용함으로써, 하나 이상의 선 및 하나 이상의 접합점으로 구성되는 구조 벡터들을 획득할 수 있다. 제1 모델은 입력 이미지 및 마스크 이미지를 입력 받아, 입력 이미지 내 구조물들의 프레임구조를 나타내는 점, 선, 면 등의 기하학적 특징을 검출하기 위한 신경망 모델일 수 있다. 구조 벡터들은, 입력 이미지 내의 픽셀 값들이 변경된 손실 영역에 대해서, 손실 영역 내에 존재할 것으로 판단되는 구조적인 특징을 추론한, 손실 영역의 구조적인 특징을 포함할 수 있다. 이 경우, 손실 영역의 구조적인 특징은, 입력 이미지 내의 전체 영역 중에서 손실 영역 이외의 영역의 구조적인 특징으로부터 추론된 것일 수 있다. 제1 모델은 입력된 입력 이미지 및 마스크 이미지에 기초하여, 손실 영역을 포함하는 입력 이미지 전체에 관련된 구조 벡터들을 출력할 수 있다.
입력 이미지의 손실 영역은, 입력 이미지 내에 일부 영역에 대응되는 픽셀 값들이 변경되어, 해당 일부 영역의 의미를 시각적으로 파악할 수 없게 된 영역으로, 손실 영역 내 어떠한 구조적인 특징이 존재하는 지 알 수 없다. 전자 장치(2000)는 입력 이미지 내의 엣지 영역들을 검출하고, 검출된 엣지 영역들에 기초하여 구조적인 특징이 검출되지 않은 손실 영역의 구조를 추론하는 등의 방식이 아닌, 손실 영역의 구조적인 특징의 추출이 가능한 제1 모델을 이용함으로써, 입력 이미지를 입력 받아 손실 영역의 구조적인 특징을 한번에 추론할 수 있다.
일 실시예에서, 제1 모델을 훈련시키기 위한 훈련 데이터는, 손실 영역을 포함하는 훈련 이미지 및 훈련 이미지들에 대응되고 훈련 이미지의 손실 영역을 나타내는 마스크 이미지로 구성될 수 있다. 훈련 이미지들 각각에는 훈련 이미지에 대응되는 구조 벡터들이 레이블링 되어 있을 수 있다. 전자 장치(2000)는 훈련 데이터를 이용하여 제1 모델을 훈련시킬 수 있다. 또한, 전자 장치(2000)는 훈련된 제1 모델을 다른 전자 장치(예를 들어, 서버(3000))로부터 수신할 수 있다.
단계 S260에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지, 마스크 이미지 및 구조 벡터들로부터 변환된 구조 벡터 이미지를 제2 모델에 적용함으로써, 입력 이미지의 손실 영역이 복원된, 인페인팅 된 이미지를 획득할 수 있다. 구조 벡터들은 제1 모델로부터 출력된 것일 수 있다. 전자 장치(2000)는 제1 모델로부터 출력된 구조 벡터들을 구조 벡터 이미지로 변환할 수 있다. 전자 장치(2000)는 하나 이상의 선 및 하나 이상의 접합점 및 하나 이상의 선 및 하나 이상의 접합점 각각의 위치에 대응되는 좌표 정보에 기초하여, 구조 벡터들을 구조 벡터 이미지로 변환할 수 있다. 예를 들어, 전자 장치(2000)는 구조 벡터들을 바이너리 맵으로 변환한, 구조 벡터 이미지를 생성할 수 있다. 다만, 구조 벡터들을 변환한 구조 벡터 이미지의 형식은 이에 한정되는 것은 아니며, 전자 장치(2000)는 구조 벡터를 벡터의 이미지 표현형으로 변환함으로써 구조 벡터 이미지를 생성할 수 있다.
제2 모델로부터 출력되는 인페인팅 된 이미지는 손실 영역에 대응되는 픽셀들이 생성되어 손실 영역이 생성된 픽셀들로 채워진 이미지일 수 있다. 또한, 인페인팅 된 이미지는, 입력 이미지의 손실 영역이 손실 영역 외의 다른 영역들과 자연스럽게 연결되는, 예를 들어, 입력 이미지의 콘텍스트에 부합하도록 복원된 이미지일 수 있다.
도 3은 본 개시의 일 실시예에 따른 전자 장치가 원본 이미지 내의 손실 영역을 결정하는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 단계 S310 내지 S320은 도 2의 단계 S210에 대응되고, 단계 S330은 도 2의 단계 S220에 대응될 수 있다.
단계 S310에서, 일 실시예에 따른 전자 장치(2000)는 사용자로부터 원본 이미지(302) 내 일부 영역을 선택하는 입력을 수신할 수 있다. 일 실시예에서, 전자 장치(2000)의 사용자는 원본 이미지 내에서 특정 영역 또는 특정 객체를 삭제하고자 할 수 있다. 전자 장치(2000)는 사용자로부터 특정 영역 또는 특정 객체를 선택하는 사용자 입력을 수신할 수 있다.
단계 S320에서, 일 실시예에 따른 전자 장치(2000)는 사용자로부터 수신된 입력에 기초하여, 손실 영역(307)을 결정할 수 있다. 전자 장치(2000)는 사용자로부터 사용자가 원본 이미지(302) 내에서 삭제하고자 영역을 지정하는 사용자 입력을 수신하여, 손실 영역(307)을 결정하고, 손실 영역(307)을 나타내는 마스크 이미지(308)를 획득할 수 있다.
일 실시예에서, 전자 장치(2000)는 사용자 입력에 대응되는 영역을 손실 영역(307)으로 결정할 수 있다. 사용자 입력은 다양한 방식으로 입력될 수 있다. 예를 들어, 전자 장치(2000)는 이미지 내에 폐곡선 영역이 손실 영역(307)이 되도록, 사용자가 이미지 내에 폐곡선을 그리는 입력을 수신할 수 있다. 전자 장치(2000)는 수신된 입력에 기초하여, 원본 이미지(302) 내에서 폐곡선 영역을 손실 영역(307)으로 결정할 수 있다. 다른 예에서, 전자 장치(2000)는 사용자가 이미지 내에 특정 영역을 마스킹하는, 브러시 입력을 수신할 수 있다. 전자 장치(2000)는 수신된 입력에 기초하여, 원본 이미지(302) 내에서 브러시 입력이 수신된 영역을 손실 영역(307)으로 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 사용자 입력에 기초하여, 손실 영역(307)을 추론함으로써 손실 영역(307)을 결정할 수 있다. 이 경우, 전자 장치(2000)는 희소한(sparse) 데이터 입력을 기초로 객체 영역을 검출하는 신경망 모델을 이용할 수 있다.
예를 들어, 전자 장치(2000)는 사용자가 원본 이미지(302) 내에서 삭제하고자 하는 객체의 일부를 드문드문하게 선택하는 입력(예를 들어, 점 타입 입력, 스크리블(scribble) 타입 입력 등)을 수신할 수 있다. 전자 장치(2000)는 수신된 입력에 기초하여, 원본 이미지(302) 내에서 사용자가 선택한 객체 영역의 경계선을 검출하고, 검출된 경계 내의 영역을 손실 영역(307)으로 결정할 수 있다.
일 실시예에서, 전자 장치(2000)의 사용자는 이미지 내 일부 영역이 손상되어 있는 원본 이미지(304)(예를 들어, 오래된 사진을 스캔하여 획득한 원본 이미지)를 복원하고자 할 수 있다. 이 경우, 전자 장치(2000)는 이미지 내 일부 영역이 손상되어 있는 원본 이미지(304)내에서 복원하고자 하는 영역을 마스킹하는 사용자 입력을 수신할 수 있다. 전자 장치(2000)는 수신된 입력에 기초하여, 이미지 내 일부 영역이 손상되어 있는 원본 이미지(304) 내에서 사용자가 마스킹한 영역을 손실 영역으로 결정할 수 있다.
전술한 실시예들에서, 전자 장치(2000)가 사용자의 입력에 기초하여 손실 영역을 결정하는 실시예들을 설명하였으나, 전술한 실시예들의 사용자 입력은 일 예시일 뿐, 전자 장치(2000)는 손실 영역을 결정하기 위한 다양한 방식의 사용자 입력을 수신할 수 있다.
단계 S330에서, 일 실시예에 따른 전자 장치(2000)는 결정된 손실 영역(307)에 기초하여, 손실 영역(307)에 대응되는 픽셀들을 변경함으로써, 입력 이미지를 생성할 수 있다.
일 실시예에서, 전자 장치(2000)는 원본 이미지(302) 내 일부 영역을 선택하는 사용자 입력에 기초하여 결정된, 손실 영역(307)에 대응되는 픽셀들의 픽셀 값을 변경할 수 있다. 예를 들어, 전자 장치(2000)는 훈련 데이터 내 모든 이미지들의 픽셀들의 픽셀 값들의 평균 값을 계산할 수 있다. 전자 장치(2000)는 손실 영역(307)에 대응되는 픽셀들의 픽셀 값을 훈련 데이터 내 모든 이미지들의 픽셀들의 픽셀 값들의 평균 값으로 변경하여, 입력 이미지(306)를 획득할 수 있다. 다른 예에서, 전자 장치(2000)는 손실 영역(307)에 대응되는 픽셀들의 픽셀 값을 0으로 변경하여, 입력 이미지(306)를 획득할 수 있다.
또한, 전자 장치(2000)는 손실 영역(307)을 나타내는 마스크 이미지(308)를 획득할 수 있다. 이 경우, 마스크 이미지(308)는 손실 영역(307)과 복원 대상이 아닌 영역으로 구성될 수 있다. 마스크 이미지는 손실 영역(307)을 마스킹한, 마스킹 정보를 포함할 수 있다.
한편, 원본 이미지로(302)부터 결정되는 손실 영역(307)은, 복수개일 수 있다. 전자 장치(2000)는 손실 영역이 복수개인 경우, 복수개의 손실 영역 각각을 후술하는 실시예들에 따라 복원할 수 있다. 이 경우, 전자 장치(2000)는 하나의 손실 영역이 결정될 때마다 결정된 손실 영역을 각각 복원하거나, 복수개의 손실 영역이 결정된 후, 결정된 복수개의 손실 영역을 일괄적으로 복원할 수 있다.
일 실시예에서, 전자 장치(2000)는 결정된 손실 영역(307)의 크기가 입력 이미지(306)의 전체 영역 내에서 차지하는 비율에 기초하여, 입력 이미지(306)의 구조적인 특징을 추출할지 여부를 결정할 수 있다. 손실 영역이 복수개인 경우, 전자 장치(2000)는 각각의 손실 영역을 식별하고, 입력 이미지(306)의 구조적인 특징을 추출할지 여부를 결정할 수 있다. 이는, 도 11 및 도 12에 대한 설명에서 더 서술하기로 한다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 원본 이미지 내의 손실 영역을 결정하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 단계 S410 내지 S430은 도 2의 단계 S210에 대응되고, 단계 S440은 도 2의 단계 S220에 대응될 수 있다.
단계 S410에서, 일 실시예에 따른 전자 장치(2000)는 원본 이미지 내 객체들을 인식하여 원본 이미지 내 객체들에 대응되는 영역들을 세그멘테이션할 수 있다. 이 경우, 전자 장치(2000)는 이미지 입력을 기초로 이미지 내 객체를 검출하는 신경망 모델을 이용할 수 있다.
예를 들어, 전자 장치(2000)는 원본 이미지(402)를 입력 받아, 신경망 모델을 이용하여 이미지 내 존재하는 인식 가능한 객체들을 검출할 수 있다. 전자 장치(2000)는 인식된 객체들에 대응되는 영역들을 세그멘테이션 할 수 있다.
단계 S420에서, 일 실시예에 따른 전자 장치(2000)는 사용자로부터 원본 이미지(402) 내 일부 영역을 선택하는 입력을 수신할 수 있다.
일 실시예에서, 전자 장치(2000)는 세그멘테이션 된 영역들을 디스플레이하고, 세그멘테이션 된 영역들 중 적어도 일부를 선택하는 사용자 입력을 수신할 수 있다.
일 실시예에서, 전자 장치(2000)는 원본 이미지(402) 내 일부 영역을 선택하는 사용자 입력을 수신하고, 선택된 일부 영역에 대응되는 세그멘테이션 된 영역들을 매칭할 수 있다.
단계 S430에서, 일 실시예에 따른 전자 장치(2000)는 수신된 입력에 관련된 세그멘테이션 된 영역들에 기초하여, 손실 영역을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 원본 이미지(402) 내에서 객체 인식을 통해 세그멘테이션 된 영역들을 디스플레이하고, 세그멘테이션 된 영역들 중 적어도 일부를 선택한 사용자 입력에 기초하여, 손실 영역을 결정할 수 있다. 예를 들어, 전자 장치(2000)는 원본 이미지(402) 내에서 인식된 모든 객체들인, 원본 이미지(402)의 전경 영역에 존재하는 사람들 및 원본 이미지(402)의 배경 영역에 존재하는 사람들을 사용자가 선택할 수 있도록 가이드 된 형태로 디스플레이 할 수 있다. 전자 장치(2000)는 원본 이미지(402) 내 객체들 중에서, 사용자가 원본 이미지(402)의 배경 영역에 존재하는 사람들을 선택하는 경우, 배경 영역에 존재하는 사람들에 대응되는 세그멘테이션 된 영역들을 손실 영역으로 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 원본 이미지(402) 내 일부 영역을 선택하는 사용자 입력을 수신하고, 선택된 일부 영역에 대응되는 세그멘테이션 된 영역들을 매칭할 수 있다. 전자 장치(2000)는 매칭된 세그멘테이션 된 영역들을 손실 영역으로 결정할 수 있다.
단계 S440에서, 일 실시예에 따른 전자 장치(2000)는 결정된 손실 영역에 기초하여, 손실 영역에 대응되는 픽셀들을 변경함으로써, 입력 이미지를 생성할 수 있다.
일 실시예에서, 전자 장치(2000)는 손실 영역에 대응되는 픽셀들의 픽셀 값을 변경할 수 있다. 예를 들어, 전자 장치(2000)는 훈련 데이터 내의 모든 이미지들의 픽셀들의 픽셀 값들의 평균 값을 계산할 수 있다. 전자 장치(2000)는 손실 영역에 대응되는 픽셀들의 픽셀 값을 훈련 데이터 내 모든 이미지들의 픽셀들의 픽셀 값들의 평균 값으로 변경하여, 입력 이미지(404)를 획득할 수 있다. 다른 예에서, 전자 장치(2000)는 손실 영역에 대응되는 픽셀들의 픽셀 값을 0으로 변경하여, 입력 이미지(404)를 획득할 수 있다.
또한, 전자 장치(2000)는 손실 영역을 나타내는 마스크 이미지(406)를 획득할 수 있다. 이 경우, 마스크 이미지(406)는 손실 영역과 복원 대상이 아닌 영역으로 구성될 수 있다. 마스크 이미지는 손실 영역을 마스킹한, 마스킹 정보를 포함할 수 있다.
한편, 원본 이미지로(402)부터 결정되는 손실 영역은, 복수개일 수 있다. 전자 장치(2000)는 손실 영역이 복수개인 경우, 복수개의 손실 영역 각각을 후술하는 실시예들에 따라 복원할 수 있다. 이 경우, 전자 장치(2000)는 하나의 손실 영역이 결정될 때마다 결정된 손실 영역을 각각 복원하거나, 복수개의 손실 영역이 결정된 후, 결정된 복수개의 손실 영역을 일괄적으로 복원할 수 있다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하기 위해 사용하는 제1 모델 및 제2 모델을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따른 전자 장치(2000)는 전술한 실시예들에 따라 획득된 입력 이미지(510) 및 마스크 이미지(520)를 이용하여, 이미지 내 구조물들의 구조적인 특징들을 추출한 구조 벡터(540)를 획득할 수 있다. 구조 벡터(540)는, 이미지 내 존재하는 구조물들의 구조적인 특징을 추출한, 하나 이상의 선 및 하나 이상의 접합점으로 구성되는 데이터일 수 있다.
전자 장치(2000)는 입력 이미지(510) 및 마스크 이미지(520)를 신경망 모델인 제1 모델(530)에 입력하고, 제1 모델(530)로부터 출력되는 구조 벡터(540)를 획득할 수 있다. 제1 모델(530)은 입력 이미지(510)의 구조적인 특징을 추출하도록 훈련된 신경망 모델일 수 있다. 또한, 제1 모델(530)은 입력 이미지(510) 내 손실 영역의 구조적인 특징을 추출할 수 있다. 손실 영역의 구조적인 특징이란, 입력 이미지(510) 내에 픽셀 값들이 변경되어, 구조물에 대한 특징이 사라진 손실 영역에 대해서 손실 영역 내 구조적인 특징을 예측하여 생성한, 구조 벡터(540)를 말한다.
전자 장치(2000)는 입력 이미지(510), 마스크 이미지(520) 및 제1 모델로부터 출력된 구조 벡터(540)를 변환함으로써 획득된 구조 벡터 이미지(545)를 신경망 모델인 제2 모델(550)에 입력하고, 제2 모델(550)을 이용하여 인페인팅 된 이미지(560)를 획득할 수 있다. 제2 모델(550)은 입력 이미지(510) 내의 손실 영역에 채워질 픽셀들을 생성하여, 손실 영역을 생성된 픽셀들로 채움으로써 인페인팅 된 이미지를 획득할 수 있다. 이 경우, 제2 모델(550)이 손실 영역에 채워질 픽셀들을 생성할 때, 손실 영역의 구조적인 특징인, 손실 영역의 구조 벡터(540)가 이용될 수 있다.
도 6은 본 개시의 일 실시예에 따른, 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델의 아키텍처를 설명하기 위한 도면이다.
도 6을 참조하면, 제1 모델(600)은 입력 이미지(610) 및 마스크 이미지(620)를 입력 받아, 구조 벡터(640)를 출력할 수 있다.
제1 모델(600)은 구조 벡터 엘리먼트 추출 유닛(602), 허프 변환(Hough transform) 유닛 (604), 구조 벡터 검증 유닛(606) 및 생성적 적대 신경망(Generative Adversarial Network; GAN)(608)을 포함할 수 있다. 또한, 제1 모델(600)은 일련의 데이터 가공 프로세스를 거쳐 생성된 훈련 데이터에 기초하여 훈련된 모델일 수 있다. 전자 장치(2000)가 제1 모델을 훈련시키는 방법에 대해서는, 도 13 내지 도 18에 대한 설명에서 서술하기로 한다.
구조 벡터 엘리먼트 추출 유닛(602)은 복수의 신경망 레이어를 포함할 수 있다. 구조 벡터 엘리먼트 추출 유닛(602)은 입력 이미지(610) 및 마스크 이미지(620)를 입력 받아, 입력 이미지 내 구조 벡터 엘리먼트들을 추출할 수 있다. 여기서, 입력 이미지(610)는 손실 영역을 포함하며, 마스크 이미지(620)는 손실 영역을 마스킹한 이미지를 말한다. 구조 벡터 엘리먼트 추출 유닛(602)은 입력 이미지들로부터 특징(feature)들을 추출하고, 이미지 내의 구조물들의 구조를 이룰 수 있는 선들이 만나는 접합점(junction) 및 이미지 내의 구조물들의 구조를 이룰 수 있는 선들의 후보인 선 세그먼트들을 나타내는 복수의 이미지맵들을 획득할 수 있다. 획득된 이미지맵들은, 접합점 좌표 엘리먼트와 선 세그먼트 좌표 엘리먼트로 일대일 변환되어 구조 벡터 검증 유닛(606)으로 전달될 수 있다.
허프 변환 유닛(604)은 복수의 허프 변환 모듈을 포함하고, 각각의 허프 변환 모듈이 복수의 신경망 레이어를 포함할 수 있다. 각각의 허프 변환 모듈은 이미지의 특징(feature)을 입력 받아, 선형 특징들을 추출할 수 있다. 각각의 허프 변환 모듈은 입력 받은 이미지의 특징으로부터 선형 특징들을 추출하고, 추출된 선형 특징들을 입력된 이미지의 특징과 결합하여, 구조 벡터 엘리먼트 추출 유닛(602)에 포함되는 신경망 레이어로 전달할 수 있다. 또한, 허프 변환 유닛(604)은 입력된 이미지로부터 추출된 선형 특징들을 구조 벡터 검증 유닛(606)으로 전달할 수 있다.
제1 모델(600)이 훈련되는 과정에서, 허프 변환 유닛(604)이 훈련되는 것에 대한 구체적인 설명은 도 13에 대한 설명에서 더 서술하기로 한다.
구조 벡터 검증 유닛(606)은 구조 벡터 엘리먼트 추출 유닛(602)로부터 출력된 접합점 및 선 세그먼트들을 매칭하고, 매칭된 선을 허프 변환 유닛(604)로부터 출력된 선형 특징을 이용하여 검증할 수 있다. 구조 벡터 검증 유닛(606)은 검증된 구조 벡터들을 입력 이미지(610) 내의 구조적인 특징들을 나타내는 구조 벡터(640)로써 출력할 수 있다. 이 경우, 구조 벡터(640)는 입력 이미지(610) 내의 구조적인 특징들을 나타내며, 입력 이미지(610) 내의 일부 영역이 변경된 픽셀 값을 갖는 손실 영역에 대해서도 구조적인 특징을 예측한, 손실 영역의 구조 벡터를 포함할 수 있다.
생성적 적대 신경망(Generative Adversarial Network; GAN)(608)은 입력 이미지(610)로부터 생성된 RGB 이미지를 출력하는 생성자 모델 및 입력 이미지(610)로부터 생성된 RGB 이미지 또는 정답(Ground truth) RGB 이미지(630)를 입력 받아 입력된 이미지의 진위 여부를 판별하는 판별자 모델을 포함할 수 있다. 생성적 적대 신경망(608)의 판별자 모델은, 제1 모델(600)이 훈련되는 과정에서, 판별자 모델로 입력된 RGB 이미지의 진위 여부를 판별하도록 훈련될 수 있다. 구체적으로, 판별자 모델은 입력된 RGB 이미지가 어떠한 가공 과정도 거치지 않은 정답 RGB 이미지(630)로 판단되는 경우, 입력된 이미지를 '진짜(Real)'클래스로 분류하고, 입력된 RGB 이미지가 생성자 모델에 의해 생성된, 입력 이미지를 가공하여 생성된 RGB 이미지로 판단되는 경우, 입력된 이미지를 '가짜(Fake)'클래스로 분류하도록 훈련될 수 있다. 또한, 생성적 적대 신경망(608)의 생성자 모델은, 제1 모델(600)이 훈련되는 과정에서, 정답(Ground truth)에 가까운 이미지들을 생성하도록 훈련될 수 있다.
제1 모델(600)이 훈련되는 과정에서, 생성적 적대 신경망(608)이 훈련되는 것에 대한 구체적인 설명은, 도 14에 대한 설명에서 더 서술하기로 한다.
도 7은 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 이용하여 획득한, 구조 벡터를 설명하기 위한 도면이다.
도 7을 참조하면, 제1 모델을 이용하여 획득한 구조 벡터들은, 접합점(710) 및 선(720)을 포함할 수 있다.
일 실시예에서, 전자 장치(2000)가 제1 모델을 이용하여 획득한, 접합점(710) 및 선(720)으로 구성되는 구조 벡터들은, 입력 이미지 내의 손실 영역의 구조 벡터(740)를 포함할 수 있다. 여기서 손실 영역은, 입력 이미지 내에 일부 영역에 대응되는 픽셀 값들이 변경되어, 해당 일부 영역의 의미를 시각적으로 파악할 수 없게 된 영역을 말한다.
전자 장치(2000)는 제1 모델을 이용하여, 입력 이미지의 손실 영역(730)이 존재하는지 여부, 손실 영역의 크기에 관계 없이, 손실 영역의 구조 벡터(740)를 획득할 수 있다. 제1 모델은 입력 이미지 및 마스크 이미지를 입력 받아, 손실 영역에 존재 했던 것으로 예측되는 구조물의 구조적인 특징을 추론하여, 손실 영역의 구조 벡터(740)를 획득할 수 있다. 손실 영역의 구조 벡터(740)는, 전자 장치(2000)가 입력 이미지를 인페인팅하여 손실 영역에 픽셀들을 삽입할 때, 손실 영역에 대응되는 구조물의 프레임구조를 가이드 하는데 사용될 수 있다. 전자 장치(2000)는 제1 모델을 이용하여 획득한 구조 벡터들을 이미지 형태로 변환하여 구조 벡터 이미지를 획득할 수 있다.
전자 장치(2000)는 입력 이미지, 마스크 이미지 및 구조 벡터 이미지를 이미지 인페인팅을 수행하는 제2 모델에 적용함으로써, 입력 이미지의 손실 영역이 복원된, 인페인팅 된 이미지를 획득할 수 있다.
도 8은 본 개시의 일 실시예에 따른, 인페인팅 된 이미지를 출력하는 제2 모델의 아키텍처를 설명하기 위한 도면이다.
도 8을 참조하면, 제2 모델은 생성자 모델(810) 및 판별자 모델(820)으로 구성되는, 신경망 모델인 생성적 적대 신경망(Generative Adversarial Network; GAN)일 수 있다. 제2 모델은 생성자 모델(810)을 이용하여, 입력 이미지(830), 마스크 이미지(840) 및 제1 모델로부터 획득된 구조 벡터를 변환하여 획득한 구조 벡터 이미지(850)를 입력 받아, 입력 이미지(830)의 손실 영역(835)이 복원된 인페인팅 된 이미지(860)를 출력할 수 있다.
생성자 모델(810)은, 구조 벡터 이미지(850) 중에서, 입력 이미지(830)의 손실 영역(835)에 대응되는 영역에 기초하여 손실 영역(835)을 복원할 수 있다. 구체적으로, 생성자 모델(810)은 RGB 디코더를 이용하여 입력 이미지(830)의 손실 영역(835)에 대응되는 픽셀들을 생성함으로써 손실 영역(835)이 생성된 픽셀들로 채워진, 인페인팅 된 이미지(860)를 생성할 수 있다.
전자 장치(2000)는 제2 모델을 훈련시킬 수 있다. 또한, 전자 장치(2000)는 다른 전자 장치(예를 들어, 서버(3000))로부터 훈련된 제2 모델을 획득할 수 있다.
제2 모델이 훈련되는 과정에서, 제2 모델의 생성자 모델(810)은, 정답(Ground truth) 이미지(870)와 동일한 특징을 갖는 이미지들을 생성하도록 훈련될 수 있다. 또한, 제2 모델이 훈련되는 과정에서, 제2 모델의 판별자 모델(820)은 판별자 모델(820)로 입력된 이미지의 진위 여부를 판별하도록 훈련될 수 있다. 구체적으로, 판별자 모델(820)은 입력된 이미지가 어떠한 가공 과정도 거치지 않은 정답 이미지(870)으로 판단되는 경우, 입력된 이미지를 '진짜(Real)'클래스로 분류하고, 입력된 이미지가 생성자 모델(810)에 의해 생성된, 입력 이미지를 복원하여 생성된 인페인팅 된 이미지(860)로 판단되는 경우, 입력된 이미지를 '가짜(Fake)'클래스로 분류할 수 있다.
제2 모델이 훈련되는 것에 대한 구체적인 설명은, 도 19에 대한 설명에서 더 서술하기로 한다.
도 9는 본 개시의 일 실시예에 따른, 인페인팅 된 이미지를 출력하는 제2 모델의 다른 아키텍처를 설명하기 위한 도면이다.
제2 모델은 생성자 모델(910) 및 판별자 모델(920)으로 구성되는, 신경망 모델인 생성적 적대 신경망(Generative Adversarial Network; GAN)일 수 있다. 제2 모델은 생성자 모델(910)을 이용하여, 입력 이미지(930), 마스크 이미지(940) 및 구조 벡터 이미지(950)를 입력 받아, 입력 이미지(930)의 손실 영역(935)이 복원된 인페인팅 된 이미지(960)를 출력할 수 있다.제2 모델이 훈련되는 과정에서, 제2 모델의 생성자 모델(910)은, 정답(Ground truth) 이미지(970)와 동일한 특징을 갖는 이미지들을 생성하도록 훈련될 수 있다. 또한, 제2 모델이 훈련되는 과정에서, 제2 모델의 판별자 모델(920)은 판별자 모델(920)로 입력된 이미지의 진위 여부를 판별하도록 훈련될 수 있다. 도 9를 설명함에 있어서, 도 8과 대응되는 구성은 설명을 생략하기로 한다.
도 9를 참조하면, 일 실시예에 따른 제2 모델은 벡터 이미지 디코더(980)를 더 포함할 수 있다. 벡터 이미지 디코더(980)는 생성자 모델(910)에 포함되는 신경망 레이어들을 공유할 수 있다. 벡터 이미지 디코더(980)는 생성자 모델(910)에 포함되는 신경망 레이어들로부터 출력되는 특징 값에 기초하여, 생성자 모델(910)에 입력된 구조 벡터 이미지(950)를 재현한, 재구성된 구조 벡터 이미지(985)를 출력할 수 있다. 제2 모델에 포함되는 벡터 이미지 디코더(980)는 생성자 모델(910)에 포함되는 신경망 레이어들로부터 출력되는 특징 값에 기초하여 재구성된 구조 벡터 이미지(985)를 생성하도록 함으로써, 생성자 모델(910) 내에서 입력 이미지의 구조적인 특징을 추출한 구조 벡터 이미지 특징이 유지되도록 할 수 있다.
전자 장치(2000)는 제2 모델을 훈련시킬 수 있다. 또한, 전자 장치(2000)는 다른 전자 장치(예를 들어, 서버(3000))로부터 훈련된 제2 모델을 획득할 수 있다. 제2 모델이 훈련되는 과정에서, 제2 모델에 포함되는 벡터 이미지 디코더(980)는, 입력된 구조 벡터 이미지(950)와 동일한 특징을 갖는, 재구성된 구조 벡터 이미지(985)를 생성하도록 훈련될 수 있다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가 제2 모델을 이용하여 획득한, 인페인팅 된 이미지를 설명하기 위한 도면이다.
일 실시예에서, 전자 장치(2000)는 전술한 실시예들에 따라, 입력 이미지(1010)를 생성할 수 있다. 입력 이미지(1010)의 손실 영역은 전술한 실시예들에 따라 결정되며, 입력 이미지(1010) 내의 손실 영역은 입력 이미지(1010)마다 서로 상이할 수 있다. 도 10을 참조하면, 제1 입력 이미지(1012)의 손실 영역은 제2 입력 이미지(1014)의 손실 영역보다 작을 수 있다.
전자 장치(2000)는 입력 이미지(1010) 및 손실 영역을 나타내는 마스크 이미지를 제1 모델에 입력하여, 입력 이미지(1010)의 구조적인 특징을 추출한, 구조 벡터(1020)를 획득할 수 있다.
전자 장치(2000)는 입력 이미지(1010)의 손실 영역의 크기가 크거나 작은지 여부에 관계 없이, 입력 이미지의 구조적인 특징을 추출하여 구조 벡터(1020)를 획득할 수 있다. 이 경우, 구조 벡터(1020)는 손실 영역의 구조적인 특징을 나타내는 손실 영역의 구조 벡터를 포함할 수 있다.
예를 들어, 제1 입력 이미지(1012)의 손실 영역 내에 시각적으로 의미 있는 픽셀들이 존재하지 않지만, 제1 모델은 제1 입력 이미지(1012)의 손실 영역 내의 구조적인 특징을 추론하여, 제1 입력 이미지(1012)의 손실 영역의 구조 벡터를 포함하는, 제1 구조 벡터(1022)를 획득할 수 있다.
또한, 제2 입력 이미지(1014)의 손실 영역 내에 시각적으로 의미 있는 픽셀들이 존재하지 않지만, 제1 모델은 제2 입력 이미지(1014)의 손실 영역 내의 구조적인 특징을 추론하여, 제2 입력 이미지(1014)의 손실 영역의 구조 벡터를 포함하는, 제2 구조 벡터(1024)를 획득할 수 있다.
전자 장치(2000)는 입력 이미지(1010), 손실 영역을 나타내는 마스크 이미지 및 구조 벡터(1020)를 변환한 구조 벡터 이미지(1030)를 제2 모델에 입력하여, 입력 이미지(1010)의 손실 영역을 복원한, 인페인팅 된 이미지(1040)를 획득할 수 있다.
예를 들어, 전자 장치(2000)는 제2 모델을 이용하여, 제1 입력 이미지(1012) 내 손실 영역이 제1 구조 벡터의 구조 벡터 이미지(1032)에 의하여 가이드 됨으로써 복원된, 제1 인페인팅 된 이미지(1042)를 획득할 수 있다.
또한, 전자 장치(2000)는 제2 모델을 이용하여, 제2 입력 이미지(1014) 내 손실 영역이 제2 구조 벡터의 구조 벡터 이미지(1034)에 의하여 가이드 됨으로써 복원된, 제2 인페인팅 된 이미지(1044)를 획득할 수 있다.
일 실시예에 따른 전자 장치(2000)는, 입력 이미지(1010)의 구조적인 특징을 추출하기 위한 제1 모델, 및 구조 벡터(1020)의 구조 벡터 이미지를 이용하여 입력 이미지(1010)를 복원하기 위한 제2 모델을 이용함으로써, 입력 이미지(1010)의 손실 영역의 크기에 관계 없이, 손실 영역이 입력 이미지(1010)의 콘텍스트에 부합하도록 자연스럽게 복원된, 인페인팅 된 이미지(1040)를 획득할 수 있다. 즉, 전자 장치(2000)는 입력 이미지(1010)의 손실 영역에 대한 구조 벡터(1020)를 획득함으로써, 손실 영역을 복원 할 때 손실 영역의 크기에 영향 받지 않으며 복원된 영역의 흐릿함 이나 왜곡 없이, 강인한(robust) 인페인팅 영상 처리를 수행할 수 있다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하는 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, 전자 장치(2000)는 단계 S1110을 수행하기 이전에, 손실 영역의 속성에 기초하여 단계 S1110을 수행할지 여부를 결정할 수 있다. 예를 들어, 결정된 손실 영역이 도 3에 도시된 이미지 내 일부 영역이 손상되어 있는 원본 이미지(304)로부터 결정된 손실 영역인 경우, 손실 영역의 구조적인 특징의 추출이 필요하지 않을 수 있다. 전자 장치(2000)는 손실 영역의 폭에 기초하여 단계 S1110을 수행할지 여부를 결정할 수 있다. 예를 들어, 전자 장치(2000)는 손실 영역의 최대 폭이 기 설정된 값 이상인 경우, 단계 S1110을 수행할 수 있다. 전자 장치(2000)는 손실 영역의 최대 폭이 기 설정된 값 미만인 경우, 단계 S1150을 수행할 수 있다. 한편, 손실 영역이 복수개인 경우, 전자 장치(2000)는 복수개의 손실 영역 중 하나 이상의 손실 영역의 폭(예를 들어, 최대 폭)이 기 설정된 값 이상일 경우 S1110을 수행하고, 복수개의 손실 영역들 각각의 손실 영역의 폭(예를 들어, 최대 폭)이 모두 기 설정된 값 미만인 경우, 손실 영역의 구조적인 특징을 추출하지 않고, 단계 S1150을 수행할 수 있다. 전자 장치(2000)가 손실 영역의 폭을 결정하는 방법은, 도 2의 단계 S240에서 서술하였으므로, 동일한 설명은 생략한다.
단계 S1110에서, 일 실시예에 따른 전자 장치(2000)는 손실 영역의 상대적인 비율이 기 설정된 값 이상인지 여부를 결정할 수 있다. 여기서, 손실 영역의 상대적인 비율은, 입력 이미지(1102) 내에서 손실 영역이 차지하는 상대적인 비율을 말한다. 전자 장치(2000)는 입력 이미지의 픽셀 수 대비 손실 영역의 픽셀 수가 기 설정된 값 이상인 경우, 손실 영역의 구조적인 특징을 추출하기로 결정할 수 있다. 전자 장치(2000)는 손실 영역의 상대적인 비율이 기 설정된 값 이상인 경우, 손실 영역의 구조적인 특징을 추출하기 위해, 단계 S1120을 수행할 수 있다. 전자 장치(2000)는 손실 영역의 상대적인 비율이 기 설정된 값 미만인 경우, 손실 영역의 구조적인 특징을 추출하지 않고, 단계 S1150을 수행할 수 있다.
전자 장치(2000)가 단계 S1110을 수행함에 있어서, 손실 영역은 복수개일 수있다. 이 경우, 전자 장치(2000)는 하나의 손실 영역이 결정될 때마다 결정된 손실 영역을 각각 복원하거나, 복수개의 손실 영역이 결정된 후, 결정된 복수개의 손실 영역을 일괄적으로 복원할 수 있다.
전자 장치(2000)는 손실 영역의 픽셀들이 연결되어있는지 여부에 기초하여, 고립된 단일폐곡선(simple closed curve)을 형성하는 각각의 손실 영역을 식별할 수 있다.
전자 장치(2000)가 하나의 손실 영역이 결정될 때마다 결정된 손실 영역을 각각 복원하는 경우, 전자 장치(2000)는 손실 영역이 한 개인 경우와 동일한 방법으로 동작할 수 있다. 이는, 전술하였으므로 동일한 설명은 생략한다.
전자 장치(2000)가 복수개의 손실 영역을 일괄적으로 복원하는 경우, 전자 장치(2000)는 복수개의 손실 영역 각각에 대해서, 각각의 손실 영역의 상대적인 비율이 기 설정된 값 이상인지 여부를 결정할 수 있다. 전자 장치(2000)는 복수개의 손실 영역 중 하나 이상의 손실 영역의 상대적인 비율이 기 설정된 값 이상인 경우, 복수개의 손실 영역의 구조적인 특징을 일괄적으로 추출하기 위해, 단계 S1120을 수행할 수 있다. 전자 장치(2000)는 복수개의 손실 영역들 각각의 상대적인 비율이 모두 기 설정된 값 미만인 경우, 손실 영역의 구조적인 특징을 추출하지 않고, 단계 S1150을 수행할 수 있다.
단계 S1120에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(1102) 및 마스크 이미지(1104)를 제1 모델에 적용하여, 입력 이미지(1102) 내 구조물들의 구조적인 특징을 나타내는 구조 벡터를 획득할 수 있다. 구조 벡터는 하나 이상의 선 및 하나 이상의 접합점을 포함할 수 있다. 전자 장치(2000)가 제1 모델을 이용하여 구조 벡터를 획득하는 방법은, 전술한 실시예들에서 서술하였으므로, 동일한 설명은 생략하기로 한다.
단계 S1130에서, 일 실시예에 따른 전자 장치(2000)는 손실 영역 내 구조 벡터가 존재하는지 여부를 식별할 수 있다. 손실 영역 내 구조 벡터가 존재하는 경우, 손실 영역의 구조 벡터는 손실 영역을 복원하는 데 이용될 수 있다. 전자 장치(2000)는 손실 영역의 구조 벡터가 존재하는 경우, 단계 S1140을 수행할 수 있다. 또는, 전자 장치(2000)는 손실 영역의 구조 벡터가 존재하지 않는 경우, 단계 S1150을 수행할 수 있다.
단계 S1140에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(1102), 마스크 이미지(1104) 및 구조 벡터 이미지를 제2 모델에 적용하여, 인페인팅 된 이미지를 획득할 수 있다. 전자 장치(2000)가 제2 모델을 이용하여 인페인팅 된 이미지를 획득하는 방법은, 전술한 실시예들에서 서술하였으므로, 동일한 설명은 생략하기로 한다.
단계 S1150에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(1102) 및 마스크 이미지(1104)를 제2 모델에 적용하여, 인페인팅 된 이미지를 획득할 수 있다. 이 경우, 제2 모델은 입력 이미지(1102) 및 마스크 이미지(1104)만을 입력 받아 인페인팅 된 이미지를 출력할 수 있다. 또는, 제2 모델은 입력 이미지(1102), 마스크 이미지(1104) 및 구조 벡터를 사용하지 않는 경우 이용될 임의의 데이터를 입력 받아, 인페인팅 된 이미지를 출력할 수 있다.
도 12는 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하는 다른 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 전자 장치(2000)는 단계 S1210을 수행하기 이전에, 손실 영역의 속성에 기초하여 단계 S1210을 수행할지 여부를 결정할 수 있다. 예를 들어, 손실 영역이 도 3에 도시된 이미지 내 일부 영역이 손상되어 있는 원본 이미지(304)로부터 결정된 손실 영역인 경우, 손실 영역의 구조적인 특징의 추출이 필요하지 않을 수 있다. 전자 장치(2000)는 손실 영역의 폭에 기초하여 단계 S1210을 수행할지 여부를 결정할 수 있다. 예를 들어, 전자 장치(2000)는 손실 영역의 최대 폭이 기 설정된 값 이상인 경우, 단계 S1210을 수행할 수 있다. 전자 장치(2000)는 손실 영역의 최대 폭이 기 설정된 값 미만인 경우, 단계 S1280을 수행할 수 있다. 한편, 손실 영역이 복수개인 경우, 전자 장치(2000)는 복수개의 손실 영역 중 하나 이상의 손실 영역의 폭(예를 들어, 최대 폭)이 기 설정된 값 이상일 경우 S1210을 수행하고, 복수개의 손실 영역들 각각의 손실 영역의 폭(예를 들어, 최대 폭)이 모두 기 설정된 값 미만인 경우, 손실 영역의 구조적인 특징을 추출하지 않고, 단계 S1280을 수행할 수 있다. 전자 장치(2000)가 손실 영역의 폭을 결정하는 방법은, 도 2의 단계 S240에서 서술하였으므로, 동일한 설명은 생략한다.
단계 S1210에서, 일 실시예에 따른 전자 장치(2000)는 손실 영역의 상대적인 비율이 기 설정된 값 이상인지 여부를 결정할 수 있다. 이는, 도 11의 단계 S1110에 대응되므로, 동일한 설명은 생략하기로 한다. 한편, 전자 장치(2000)는 손실 영역이 복수개인 경우, 하나의 손실 영역이 결정될 때마다 손실 영역의 상대적인 비율이 기 설정된 값 이상인지 여부를 결정할 수 있다. 또한, 전자 장치(2000)가 복수개의 손실 영역을 일괄적으로 복원하는 경우, 전자 장치(2000)는 복수개의 손실 영역 각각에 대해서, 각각의 손실 영역의 상대적인 비율이 기 설정된 값 이상인지 여부를 결정할 수 있다. 전자 장치(2000)는 복수개의 손실 영역 중 하나 이상의 손실 영역의 상대적인 비율이 기 설정된 값 이상인 경우, 복수개의 손실 영역의 구조적인 특징을 다른 조건들을 충족하는지 여부를 식별하기 위해, 단계 S1220을 수행할 수 있다. 전자 장치(2000)는 복수개의 손실 영역들 각각의 상대적인 비율이 모두 기 설정된 값 미만인 경우, 손실 영역의 구조적인 특징을 추출하지 않고, 단계 S1280을 수행할 수 있다.
단계 S1220에서, 일 실시예에 따른 전자 장치(2000)는 전자 장치(2000)가 단계 S1230 내지 S1240을 수행하기 위해 기 설정된 조건들이 충족되었는지 여부를 식별할 수 있다.
일 실시예에서, 기 설정된 조건은 손실 영역의 상대적인 비율이 임계값 이상인지 여부일 수 있다. 전자 장치(2000)는 손실 영역의 상대적인 비율이 임계값 이상인 경우, 단계 S1230을 수행할 수 있다. 예를 들어, 단계 S1210의 기준인 기 설정된 값은 20%이며, 기 설정된 조건에 포함되는 임계 값은 40%일 수 있다. 손실 영역의 상대적인 비율이 30%인 경우, 손실 영역의 상대적인 비율은 기 설정된 값 20% 이상이므로 단계 S1220이 수행되지만, 임계값 40% 미만이므로, 전자 장치(2000)는 단계 S1230을 수행하지 않고, 단계 S1250을 수행할 수 있다. 또는, 손실 영역의 상대적인 비율이 50%인 경우, 손실 영역의 상대적인 비율은 임계값 40% 이상이므로, 전자 장치(2000)는 단계 S1230을 수행할 수 있다. 손실 영역이 복수개인 경우, 전자 장치(2000)는 하나 이상의 손실 영역의 상대적인 비율이 임계값 이상이면 단계 S1230을 수행할 수 있다.
일 실시예에 따른 전자 장치(2000)는 손실 영역의 상대적인 비율이 임계값 이상인 입력 이미지(1202)에 대하여, 손실 영역의 상대적인 비율이 임계값 보다 큰 복원 대상에 대한 구조적인 특징을 정밀하고 효율적으로 획득하기 위하여, 입력 이미지(1202)의 카테고리를 분류하는 단계 S1230을 수행할 수 있다.
일 실시예에서, 기 설정된 조건은 전자 장치(2000)에서 이용 가능한 컴퓨팅 예산이 전자 장치(2000)가 단계 S1230을 수행하기에 충분한지 여부일 수 있다. 전자 장치(2000)는 전자 장치(2000)의 이용 가능한 컴퓨팅 예산을 식별할 수 있다. 전자 장치(2000)는 식별된 컴퓨팅 예산에 기초하여, 단계 S1230을 수행할지 여부를 결정할 수 있다. 예를 들어, 단계 S1230을 수행할 때 이용되는, 이미지 카테고리 분류 모델의 크기가 S0, 메모리 사용량이 M0, 런타임 수행 시간이 T0이고, 단계 S1250을 수행할 때 이용되는 제1 모델의 크기가 S1, 메모리 사용량이 M1, 런타임 수행 시간이 T1이고, 단계 S1270을 수행할 때 이용되는 제2 모델의 크기가 S2, 메모리 사용량이 M2, 런타임 수행 시간이 T2일 수 있다. 전자 장치(2000)는 전자 장치(2000)의 컴퓨팅 예산인 ROM 여유 한계, 메모리 가용량 한계, 런타임 수행 시간 요구 한계를 식별할 수 있다. 일 실시예에 따른 전자 장치(2000)는 ROM 여유 한계가 S0, S1 및 S2의 합 이상이고, 메모리 가용량 한계가 M0, M1 및 M2의 합 이상이고, 런타임 수행 시간 요구 한계가 T0, T1 및 T2의 합 이상인 경우, 전자 장치(2000)의 이용 가능한 컴퓨팅 예산이 단계 S1230을 수행하기에 충분하다고 결정할 수 있다.
단계 S1230에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지의 카테고리를 분류할 수 있다. 예를 들어, 전자 장치(2000)는 입력 이미지의 장면(scene) 카테고리를 분류할 수 있다. 전자 장치(2000)는 이미지 카테고리 분류 모델을 이용하여, 입력 이미지(1202)의 장면 카테고리를 분류할 수 있다.
단계 S1240에서, 일 실시예에 따른 전자 장치(2000)는 분류된 입력 이미지(1202)의 장면 카테고리가 기 설정된 카테고리 목록에 포함되는지 여부를 식별할 수 있다. 전자 장치(2000)는 분류된 입력 이미지(1202)의 장면 카테고리가 기 설정된 카테고리 목록에 포함되는 경우, 손실 영역의 구조적인 특징을 추출하기 위하여 단계 S1250을 수행할 수 있다. 전자 장치(2000)는 분류된 입력 이미지(1202)의 장면 카테고리가 기 설정된 카테고리 목록에 포함되지 않는 경우, 단계 S1280을 수행할 수 있다.
기 설정된 카테고리 목록은, 구조적인 특징을 갖는 장면들의 카테고리들로 구성될 수 있다. 예를 들어, 구조적인 특징을 갖는 장면 카테고리는 공항 터미널, 아파트 빌딩, 복도, 침실, 호텔 룸, 영화관, 박물관 등일 수 있으나, 이에 한정되지 않는다.
단계 S1250에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(1202) 및 마스크 이미지(1204)를 제1 모델에 적용하여, 입력 이미지(1202) 내 구조물들의 구조적인 특징을 나타내는 구조 벡터를 획득할 수 있다. 전자 장치(2000)가 제1 모델을 이용하여 구조 벡터를 획득하는 방법은, 전술한 실시예들에서 서술하였으므로, 동일한 설명은 생략하기로 한다.
단계 S1260에서, 일 실시예에 따른 전자 장치(2000)는 손실 영역 내 구조 벡터가 존재하는지 여부를 식별할 수 있다. 손실 영역 내 구조 벡터가 존재하는 경우, 손실 영역의 구조 벡터는 손실 영역을 복원하는 데 이용될 수 있다. 전자 장치(2000)는 손실 영역의 구조 벡터가 존재하는 경우, 단계 S1270을 수행할 수 있다. 또는, 전자 장치(2000)는 손실 영역의 구조 벡터가 존재하지 않는 경우, 단계 S1280을 수행할 수 있다.
단계 S1270에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(1202), 마스크 이미지(1204) 및 구조 벡터를 제2 모델에 적용하여, 인페인팅 된 이미지를 획득할 수 있다. 전자 장치(2000)가 제2 모델을 이용하여 인페인팅 된 이미지를 획득하는 방법은, 전술한 실시예들에서 서술하였으므로, 동일한 설명은 생략하기로 한다.
단계 S1280에서, 일 실시예에 따른 전자 장치(2000)는 입력 이미지(1202) 및 마스크 이미지(1204)를 제2 모델에 적용하여, 인페인팅 된 이미지를 획득할 수 있다. 이 경우, 제2 모델은 입력 이미지(1202) 및 마스크 이미지(1204)만을 입력 받아 인페인팅 된 이미지를 출력할 수 있다. 또는, 제2 모델은 입력 이미지(1202), 마스크 이미지(1204) 및 구조 벡터를 사용하지 않는 경우 이용될 임의의 데이터를 입력 받아, 인페인팅 된 이미지를 출력할 수 있다.
도 13은 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시킬 때, 제1 모델의 구조 벡터 엘리먼트 추출 유닛 및 허프 변환 유닛의 훈련과 관련된 내용을 설명하기 위한 도면이다.
도 13을 참조하면, 제1 모델의 구조 벡터 엘리먼트 추출 유닛(1300)은 전술한 실시예들에 따라 입력 이미지 및 마스크 이미지를 입력 받아, 입력 이미지 내 구조 벡터 엘리먼트들을 추출할 수 있다.
구조 벡터 엘리먼트 추출 유닛(1300)은 복수의 신경망 레이어를 포함할 수 있다. 이 경우, 구조 벡터 엘리먼트 추출 유닛(1300) 내 각각의 신경망 레이어에 대하여, 구조 벡터 엘리먼트 추출 유닛(1300)의 이전 레이어로부터 출력된 특징 맵이 허프 변환 모듈(1310)로 입력되고, 허프 변환 모델(1310)로부터 출력되는 선형 특징 맵이 구조 벡터 엘리먼트 추출 유닛(1300)의 다음 레이어로 입력될 수 있다.
예를 들어, 허프 변환 모듈(1310)은 이전 레이어로부터 출력된 입력 특징 맵(1320)을 입력 받아, 컨볼루션 연산을 포함하는 복수의 연산을 수행하고, 입력 특징 맵(1320)으로부터 선형 특징(1330)을 추출할 수 있다. 이 경우, 훈련 가능 부분(1325)에 대응되는 레이어들에 포함되는 노드의 가중치들은, 제1 모델이 훈련됨에 따라 가중치들이 업데이트 될 수 있다. 허프 변환 모듈(1310)은 추출된 선형 특징(1330)을 입력 특징 맵(1320)과 결합하고, 결합된 특징 맵을 구조 벡터 엘리먼트 추출 유닛(1300)의 다음 신경망 레이어로 전달할 수 있다.
도 14는 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시킬 때, 제1 모델의 생성적 적대 신경망과 관련된 내용을 설명하기 위한 도면이다.
도 14를 참조하면, 구조 벡터(1404)를 출력하는 제1 모델은 생성적 적대 신경망을 포함할 수 있다. 생성적 적대 신경망은 생성자 모델(1410) 및 판별자 모델(1420)을 포함할 수 있다. 생성자 모델(1410)은 훈련 이미지(1402)를 입력 받아, 생성된 RGB 이미지(1440, 1460)를 출력할 수 있다. 예를 들어, 생성자 모델(1410)은 제1 훈련 이미지(1430)를 입력 받아, 제1 생성된 RGB 이미지(1440)를 출력할 수 있다. 또한, 생성자 모델(1410)은 제2 훈련 이미지(1450)를 입력 받아, 제2 생성된 RGB 이미지(1460)를 출력할 수 있다. 판별자 모델(1420)은 생성된 RGB 이미지 또는 정답(Ground truth) RGB 이미지(1406)를 입력 받아, 입력된 이미지의 진위 여부를 판별할 수 있다.
생성적 적대 신경망의 판별자 모델(1420)은, 제1 모델이 훈련되는 과정에서, 판별자 모델(1420)로 입력된 RGB 이미지의 진위 여부를 판별하도록 훈련될 수 있다. 구체적으로, 판별자 모델(1420)은 어떠한 가공 과정도 거치지 않은 정답 RGB 이미지(1406)에 기초하여, 판별자 모델(1420)의 가중치를 업데이트 할 수 있다. 이 경우, 정답 RGB 이미지(1406)의 레이블링 된 레이블 값은 '진짜(Real)'클래스에 대응되는 레이블 값일 수 있다. 또한, 판별자 모델(1420)은 생성자 모델(1410)에 의해 생성된, 훈련 이미지(1402)를 가공하여 생성된 RGB 이미지에 기초하여, 판별자 모델(1420)의 가중치를 업데이트 할 수 있다. 이 경우, 생성된 RGB 이미지의 레이블링 된 레이블 값은 '가짜(Fake)'클래스에 대응되는 레이블 값일 수 있다.
생성적 적대 신경망의 생성자 모델(1410)은, 제1 모델이 훈련되는 과정에서, 판별자 모델(1420)에 의해 '진짜(Real)'클래스로 분류될 수 있는, 진짜 같은 이미지를 생성하도록 훈련될 수 있다. 전자 장치(2000)는 생성자 모델(1410)의 가중치를 업데이트하기 위하여, 생성자 모델(1410)로부터 출력된 생성된 RGB 이미지를 '진짜(Real)'클래스에 대응되는 레이블 값으로 레이블링 할 수 있다. 즉, 생성자 모델(1410)로부터 출력된 생성된 RGB 이미지의 트루 레이블 값은 '가짜(Fake)'클래스에 대응되는 레이블 값이지만, 전자 장치(2000)는 생성자 모델(1410)의 가중치를 업데이트 하기 위하여 생성된 RGB 이미지의 레이블 값을 '진짜(Real)'클래스에 대응되는 레이블 값으로 레이블링 할 수 있다. 전자 장치(2000)는 '진짜(Real)'클래스에 대응되는 레이블 값으로 레이블링 된 생성된 RGB 이미지를 판별자 모델(1420)에 입력할 수 있다. 이 경우, 판별자 모델(1420)은 '진짜'클래스로 레이블링된, 생성된 RGB 이미지가 정답 RGB 이미지로 판단되는 경우, 입력된 이미지를 '진짜(Real)'클래스로 분류하고, '진짜'클래스로 레이블링된, 생성된 RGB 이미지가 생성자 모델(1410)에 의해 생성된 RGB 이미지로 판단되는 경우, 입력된 이미지를 '가짜(Fake)'클래스로 분류할 수 있다. 전자 장치(2000)는 판별자 모델(1420)로부터 출력되는 손실 값을 계산하고, 손실 값에 기초하여 생성자 모델(1410)의 가중치들을 갱신할 수 있다.
도 15는 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시킬 때, 제1 모델을 훈련시키기 위한 훈련 데이터의 입력 순서를 정하는 방법을 설명하기 위한 도면이다.
도 15를 참조하면, 전자 장치(2000)가 제1 모델(1510)을 훈련시키기 위한 훈련 데이터(1520)는, 전자 장치(2000)가 구조 벡터의 정답 레이블이 없는 데이터에 구조 벡터의 레이블을 수도-레이블링(pseudo-labeling)하고, 구조 벡터가 수도-레이블링 된 이미지에 손실 영역을 마스킹하는 과정을 통해 생성된 것일 수 있다. 전자 장치(2000)가 구조 벡터가 레이블링 된 이미지에 손실 영역을 마스킹 하는 방법은 도 16에서 설명하고, 전자 장치(2000)가 구조 벡터의 정답 레이블이 없는 데이터에 구조 벡터의 레이블을 수도-레이블링하는 방법은 도 17에서 후술한다.
일 실시예에서, 전자 장치(2000)는 손실 영역을 포함하는 훈련 이미지 및 훈련 이미지에 대응되고 손실 영역을 나타내는 마스크 이미지로 구성되는 훈련 데이터(1520)에 기초하여, 제1 모델(1510)을 훈련시킬 수 있다.
일 실시예에서, 훈련 데이터(1520)에 포함되는 훈련 이미지 및 마스크 이미지의 손실 영역의 크기는 상이할 수 있다. 또한, 훈련 데이터(1520)는 손실 영역의 크기에 기초하여 분류되어 있을 수 있다. 훈련 데이터(1520)는 예를 들어, 손실 영역의 크기가 0.1% 내지 1%인 제1 훈련 이미지(1522) 및 제1 마스크 이미지(1524), 손실 영역의 크기가 3% 내지 4%인 제2 훈련 이미지(1526) 및 제2 마스크 이미지(1528)와 같이, 손실 영역의 크기에 기초하여 분류되어 있을 수 있다. 같은 방식으로, 훈련 데이터(1520)는 손실 영역의 크기에 기초하여 분류된 훈련 이미지 및 마스크 이미지를 포함할 수 있다. 예를 들어, 훈련 데이터(1520)는 손실 영역의 크기가 6% 내지 7%인 훈련 이미지 및 마스크 이미지, 손실 영역의 크기가 9% 내지 10%인 훈련 이미지 및 마스크 이미지를 포함할 수 있다. 다만, 상기에서 손실 영역의 크기가 0.1% 내지 1%, 3% 내지 4%, 6% 내지 7% 및 9% 내지 10%인 훈련 이미지들을 설명하였으나, 이는 예시일 뿐이다. 훈련 데이터(1520)에 포함되는 훈련 이미지 및 마스크 이미지의 손실 영역의 크기는, 예를 들어, 0.1% 내지 10% 사이의 값을 가질 수 있다. 또한, 훈련 데이터(1520)에 포함되는 훈련 이미지 및 마스크 이미지는, 후술하는 단계 S1502 내지 S1506을 수행하기 위해서, 손실 영역의 크기를 기준으로 소정 범위 내의 손실 영역의 크기를 갖는 훈련 데이터들끼리 분류되어 있을 수 있다.
전자 장치(2000)는 제1 모델을 훈련시킬 때, 제1 모델(1510)의 훈련을 위해 이용되는 훈련 이미지의 훈련 순서를 훈련 이미지의 손실 영역에 크기에 따라 결정할 수 있다.
단계 S1502 내지 S1506은, 전자 장치(2000)가 제1 모델(1510)을 훈련시키는 방법을 개략적으로 설명하기 위한 흐름도 나타낸다.
단계 S1502에서, 일 실시예에 따른 전자 장치(2000)는 제1 모델(1510)의 훈련을 위해 훈련 데이터(1520)를 제1 모델(1510)에 입력할 수 있다.
단계 S1504에서, 일 실시예에 따른 전자 장치(2000)는 제1 모델(1510)로부터 출력되는 손실(loss)에 기초하여 제1 모델(1510)의 가중치들을 갱신할 수 있다.
단계 S1506에서, 일 실시예에 따른 전자 장치(2000)는 훈련 데이터(1520)를 훈련 이미지 및 마스크 이미지 내 손실 영역의 크기가 더 큰 훈련 데이터로 변경할 수 있다. 예를 들어, 전자 장치(2000)는 훈련 데이터(1520) 내 모든 훈련 데이터에 대해 연산을 수행하고 가중치를 갱신하는 훈련 단위인 에폭(epoch)을 기준으로, 적어도 한 번 이상의 에폭을 수행한 후, 훈련 데이터(1520)를 변경할 수 있다. 다른 예에서, 전자 장치(2000)는 손실 출력 및 가중치 갱신을 위한 데이터 입력 단위인 배치(batch)마다, 손실 출력 및 가중치 갱신을 수행한 후 다음 배치를 손실 영역의 크기가 더 큰 훈련 데이터로 구성되도록 제1 모델(1510)을 훈련시킬 수 있다. 이 경우에, 전자 장치(2000)는 배치 마다 손실을 출력하고 가중치를 갱신하는 연산을 반복할 수 있다. 모든 배치에 대해 연산을 수행하여 모든 훈련 데이터(1520)에 대해 연산이 수행되면, 제1 모델(1510)의 훈련의 에폭이 1회 수행되었다고 할 수 있다.
일 실시예에 따른 전자 장치(2000)는 훈련 데이터(1520)를 이용하여 제1 모델(1510)의 가중치를 갱신하는, 에폭을 복수 회 수행한 후에, 제1 모델(1510)의 미세 조정(finetune)을 수행할 수 있다. 전자 장치(2000) 다른 데이터셋을 이용하여, 제1 모델을 훈련시키는 미세 조정을 수행할 수 있다. 이 경우, 다른 데이터셋은 구조 벡터의 정답 레이블이 존재하는 이미지들로 구성되는 데이터셋일 수 있다.
도 16은 본 개시의 일 실시예에 따른 전자 장치가 제1 모델을 훈련시키기 위한 훈련 데이터를 생성하는 방법을 설명하기 위한 도면이다.
도 16을 참조하면, 일 실시예에 따른 전자 장치(2000)는 구조 벡터들이 레이블링 되어 있는 이미지에 손실 영역을 마스킹함으로써, 훈련 데이터(1610)를 생성할 수 있다. 이 경우, 구조 벡터들이 레이블링 되어 있는 이미지는, 정답 레이블이 없는 이미지의 이미지 내에 구조적인 특징을 추출하여, 이미지에 대응되는 구조 벡터들이 검출 되어 있는, 수도-레이블링(pseudo-labeling) 된 이미지를 말한다.
훈련 데이터(1610)에 포함되는 훈련 이미지 및 마스크 이미지는 손실 영역을 포함할 수 있으며, 손실 영역의 크기, 모양 및 위치는 다양하게 결정될 수 있다. 예를 들어, 훈련 데이터(1610)는, 손실 영역 크기가 0.1% 내지 1%인 제1 훈련 이미지(1620) 및 제1 마스크 이미지(1625), 손실 영역의 크기가 3% 내지 4%인 제2 훈련 이미지(1630) 및 제2 마스크 이미지(1635), 손실 영역의 크기가 6% 내지 7%인 제3 훈련 이미지(1640) 및 제3 마스크 이미지(1645), 손실 영역의 크기가 9% 내지 10%인 제4 훈련 이미지(1650) 및 제4 마스크 이미지(1655)를 포함할 수 있다. 다만, 상기에서 손실 영역의 크기가 0.1% 내지 1%, 3% 내지 4%, 6% 내지 7% 및 9% 내지 10%인 훈련 이미지들을 예시로 설명하였으나, 이는 설명의 편의를 위한 것이다. 훈련 데이터(1520)에 포함되는 훈련 이미지 및 마스크 이미지의 손실 영역의 크기는, 예를 들어, 0.1% 내지 10% 사이의 값을 가질 수 있다.
일 실시예에서, 전자 장치(2000) 소정 프로세스에 따라 구조 벡터를 검출하기 위한 이미지들을 선별하고, 구조 벡터들을 레이블링하여 구조 벡터들이 수도-레이블링 되어 있는 이미지를 획득할 수 있다. 전자 장치가 구조 벡터들이 수도-레이블링 되어 있는 이미지를 획득하는 방법은, 도 17에 대한 설명에서 서술하기로 한다.
이하에서, 전자 장치(2000)가 훈련 데이터(1610)를 생성하는 방법을 설명한다. 또한, 설명의 편의를 위하여, 구조 벡터들이 수도-레이블링 되어 있는 이미지는 '수도-레이블링 된 이미지'로 지칭하기로 한다. 또한, 전자 장치(2000)가 수도-레이블링 된 이미지에 손실 영역을 마스킹 하여 생성한 이미지가 훈련 이미지이므로, 수도-레이블링 된 이미지 및 훈련 이미지는 이미지 내 장면 요소들에 대하여 동일한 구조적인 특징을 갖는다.
일 실시예에서, 전자 장치(2000)는 수도-레이블링 된 이미지에 손실 영역을 마스킹함으로써, 손실 영역을 포함하는 훈련 이미지 및 훈련 이미지에 대응되고 손실 영역을 나타내는 마스크 이미지를 생성할 수 있다. 이 경우, 전자 장치(2000)는 수도-레이블링 된 이미지에 마스킹되는 손실 영역의 크기, 모양 및 위치를 수도-레이블링 된 이미지의 구조적인 특징(즉, 훈련 이미지의 구조적인 특징)에 따라 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 수도-레이블링 된 이미지 내 손실 영역의 크기를, 수도-레이블링 된 이미지의 구조적인 특징에 기초하여 결정할 수 있다. 예를 들어, 전자 장치(2000)는 수도-레이블링 된 이미지의 구조 벡터들에 기초하여, 손실 영역이 수도-레이블링 된 이미지 내의 장면 요소(예를 들어, 구조물, 객체 등)를 전부 가리지 않고, 적어도 일부만 가리도록, 손실 영역의 크기를 결정할 수 있다. 또한, 전자 장치(2000)는 손실 영역의 크기가 수도-레이블링 된 이미지 크기의 0.1% 내지 10%가 되도록, 손실 영역의 크기를 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 수도-레이블링 된 이미지 내 손실 영역의 모양을, 수도-레이블링 된 이미지의 구조적인 특징에 기초하여 결정할 수 있다. 전자 장치(2000)는 수도-레이블링 된 이미지의 구조 벡터들에 기초하여, 손실 영역이 수도-레이블링 된 이미지 내의 장면 요소(예를 들어, 구조물, 객체 등)를 전부 가리지 않고, 적어도 일부만 가리도록, 손실 영역의 모양을 결정할 수 있다. 또한, 전자 장치(2000)는 손실 영역의 모양이 특정 객체의 모양이 되도록 손실 영역의 모양을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 수도-레이블링 된 이미지 내 손실 영역의 위치를, 수도-레이블링 된 이미지의 구조적인 특징에 기초하여 결정할 수 있다. 전자 장치(2000)는 수도-레이블링 된 이미지의 구조 벡터들에 기초하여, 손실 영역이 수도-레이블링 된 이미지 내의 장면 요소(예를 들어, 구조물, 객체 등)를 전부 가리지 않고, 적어도 일부만 가리도록, 손실 영역의 모양을 결정할 수 있다. 또한, 전자 장치(2000)는 손실 영역의 위치를 수도-레이블링 된 이미지 내 임의의 위치로 결정할 수 있다.
전자 장치(2000)는 수도-레이블링 된 이미지 내 손실 영역의 크기, 모양 및 위치를 결정할 때, 수도-레이블링 된 이미지의 구조적인 특징에 기초하여 손실 영역을 결정할 수 있다. 수도-레이블링 된 이미지에 손실 영역을 마스킹하더라도 구조 벡터들이 잘 추출될 수 있는, 훈련 데이터(1610)를 획득할 수 있다.
즉, 전자 장치(2000)는, 전술한 실시예들과 같이, 기 설정된 훈련 데이터(1610)의 생성 조건들에 기초하여, 훈련 데이터(1610)를 획득할 수 있다. 훈련 데이터(1610)에 포함되는 훈련 이미지는, 구조 벡터들이 수도-레이블링 되어있으며, 손실 영역이 마스킹 된 후에도 이미지 내에서 의미를 갖는 장면 요소들의 적어도 일부는 유지된다.
상기의 수도-레이블링 된 이미지에 손실 영역을 마스킹하여 훈련 이미지 및 마스크 이미지를 생성하는 방법은, 구조 벡터의 정답 레이블이 존재하는 이미지에도 동일하게 적용될 수 있다. 전자 장치(2000)는 구조 벡터의 정답 레이블이 존재하는 이미지들로 구성되는 데이터셋인 다른 데이터셋에 상술한 실시예들에 따른 방법을 적용할 수 있다. 전자 장치(2000)는 다른 데이터셋에 포함되는, 구조 벡터의 정답 레이블이 존재하는 이미지들 각각에 손실 영역을 마스킹함으로써, 미세 조정을 위한 훈련 데이터를 획득할 수 있다. 전자 장치(2000)는 미세 조정을 위한 훈련 데이터를 이용하여, 제1 모델의 미세 조정(finetune)을 수행할 수 있다. 이는, 도 15에서 전술하였으므로, 동일한 설명은 생략하기로 한다.
도 17은 본 개시의 일 실시예에 따른 전자 장치가 구조 벡터들이 수도-레이블링 되어 있는 이미지를 획득하는 방법을 설명하기 위한 도면이다.
도 17을 참조하면, 단계 S1710에서, 일 실시예에 따른 전자 장치(2000)는 복수의 이미지들로 구성되는 이미지셋을 획득할 수 있다.
단계 S1720에서, 일 실시예에 따른 전자 장치(2000)는 이미지셋으로부터 제1 모델의 훈련을 위한 구조 벡터를 이미지에 레이블링하기 위한, 제1 이미지들을 식별할 수 있다. 이 경우, 이미지셋에 포함되는 이미지들은 구조 벡터의 정답 레이블이 없는 이미지들로 구성된다.
전자 장치(2000)는 이미지 카테고리 분류 모델을 이용하여, 이미지셋 내 이미지들의 장면 카테고리를 식별하고, 이미지의 장면 카테고리가 구조적 특징의 추출이 가능한 장면 카테고리인 이미지들을 제1 이미지들로 식별할 수 있다.
단계 S1730에서, 일 실시예에 따른 전자 장치(2000)는 제1 이미지들을 구조 벡터 검출 모델에 적용함으로써, 제1 이미지들 각각에 상기 제1 모델의 훈련을 위한 구조 벡터들 각각이 수도-레이블링 된 제2 이미지들을 획득할 수 있다. 여기서 구조 벡터 검출 모델이란, 원본 이미지(예를 들어, RGB 이미지)를 입력 받아 구조 벡터를 검출하는 신경망 모델일 수 있다. 또한, 구조 벡터 검출 모델은 정답(ground truth) 구조 벡터들이 레이블링 된 이미지들인, 정답 구조 벡터 데이터 셋에 기초하여 훈련된 신경망 모델일 수 있다. 또한, 수도-레이블링이란, 구조 벡터의 레이블이 없는 이미지에, 구조 벡터 검출 모델을 이용하여 검출된 구조 벡터를 레이블링하는 것을 말한다.
전자 장치(2000)는 제1 이미지들로부터 검출된 구조 벡터를 제1 이미지들에 레이블링함으로써, 구조 벡터가 수도-레이블링 된 이미지인, 제2 이미지들을 획득할 수 있다.
단계 S1740에서, 일 실시예에 따른 전자 장치(2000)는 훈련 이미지를 생성하기 위해, 제2 이미지들 중에서 적어도 일부를 선택할 수 있다.
일 실시예에서, 전자 장치(2000)는 획득된 제2 이미지들 모두에 대하여, 도 16에서 전술한 방법에 따라 제2 이미지들 각각에 손실 영역을 마스킹함으로써 훈련 이미지를 생성할 수 있다.
일 실시예에서, 전자 장치(2000)는 획득된 제2 이미지들 중 일부를 소정 기준에 기초하여 필터링하여 제3 이미지를 획득하고, 제3 이미지들에 대하여 도 16에서 전술한 방법에 따라 제3 이미지들 각각에 손실 영역을 마스킹함으로써 훈련 이미지를 생성할 수 있다. 전자 장치(2000)는 정답 구조 벡터들이 레이블링 된 이미지들로 구성된 다른 참조 데이터셋의 분포에 기초하여, 제2 이미지들 중에서 제3 이미지를 획득할 수 있다.전자 장치(2000)는 다른 참조 데이터셋에 포함되는 데이터 전체에 대하여, 정답 구조 벡터들이 레이블링 된 각 이미지 내 선 개수의 데이터셋 전체에 걸친 평균, 정답 구조 벡터들이 레이블링 된 각 이미지 내 모든 선 길이의 총합의 데이터셋 전체에 걸친 평균, 정답 구조 벡터들이 레이블링 된 각 이미지 내 선의 개수 대비 접합점의 개수의 데이터셋 전체에 걸친 평균에 기초하여, 제2 이미지들 중에서 제3 이미지를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 제2 이미지들 중에서, 검출된 구조 벡터들이 수도-레이블링 된 이미지 내 선 개수가, 정답 구조 벡터들이 레이블링 된 이미지들로 구성된 다른 참조 데이터셋의 분포로부터 획득된 평균값 74.98(개)보다 크고, 검출된 구조 벡터들이 수도-레이블링 된 이미지 내 모든 선 길이의 총합이 정답 구조 벡터들이 레이블링 된 이미지들로 구성된 다른 참조 데이터셋의 분포로부터 획득된 평균값 6356.57(pixels) 보다 크고, 검출된 구조 벡터들이 수도-레이블링 된 이미지 내 선의 개수 대비 접합점의 개수가 정답 구조 벡터들이 레이블링 된 이미지들로 구성된 다른 참조 데이터셋의 분포로부터 획득된 평균값 1.34(비율)보다 작은 이미지들을 선택함으로써, 제3 이미지를 획득할 수 있다.
전자 장치(2000)는 단계 S1710 내지 S1740을 수행하여, 제1 모델을 훈련시키기 위한 훈련 데이터를 생성하기 위한 이미지들인, 구조 벡터들이 수도-레이블링 되어 있는 이미지 셋(1700)을 획득할 수 있다.
도 18은 일 실시예에 따른 전자 장치가 훈련된 제2 모델을 이용하여 획득한 인페인팅 된 이미지의 정확도를검증하기 위한 검증 데이터를 생성하는 방법을 설명하기 위한 다른 도면이다.
도 18을 참조하면, 전자 장치(2000)는 이미지 내 일부 영역을 손상시킴으로써, 훈련된 제1 모델을 검증하기 위한 검증 이미지(1800)를 생성할 수 있다. 전자 장치(2000)는 다양한 방법을 이용하여, 이미지 내 일부 영역을 손상시킨 손실 영역을 마스킹하여 검증 이미지(1800)를 생성할 수 있다.
예를 들어, 전자 장치(2000)는 이미지 내에서 임의의 영역을 손실 영역으로 결정한, 임의로 결정된 손실 영역(1810)을 이미지에 마스킹함으로써, 검증 이미지(1800)를 생성할 수 있다.
다른 예에서, 전자 장치(2000)는 이미지 내에서 객체를 검출하고, 객체 검출을 통해 결정된 기 존재 객체 영역(1820)과 겹치지 않는 나머지 영역에 임의로 결정된 손실 영역(1810)을 이미지에 마스킹함으로써, 검증 이미지(1800)를 생성할 수 있다.
다른 예에서, 전자 장치(2000)는 이미지 내에서 객체를 검출하고, 검출된 객체에 대응되는 영역을 손실 영역으로 결정한, 객체 검출을 통해 결정된 객체 검출을 통해 결정된 기 존재 객체 영역(1820)을 손실 영역으로 이미지에 마스킹함으로써, 검증 이미지(1800)를 생성할 수 있다.
다른 예에서, 전자 장치(2000)는 임의로 결정된 손실 영역(1810) 및 객체 검출을 통해 결정된 기 존재 객체 영역(1820)을 손실 영역으로 이미지에 마스킹함으로써, 검증 이미지(1800)를 생성할 수 있다.
전자 장치(2000)는 생성된 검증 이미지(1800)를 이용하여, 훈련된 제2 모델을 이용하여 획득한 인페인팅 된 이미지의 정확도를 수치적으로 또는 질적으로 평가할 수 있다. 전자 장치(2000)는 평가 결과에 기초하여, 제2 모델의 훈련을 더 수행할 수 있다.
도 19는 본 개시의 일 실시예에 따른 전자 장치가 인페인팅 된 이미지를 획득하기 위해 제2 모델을 훈련시키는 방법을 설명하기 위한 도면이다.
일 실시예에서, 제2 모델은 생성적 적대 신경망으로 구성될 수 있다.
도 19를 참조하면, 제1 데이터셋(1910)은 손실 영역을 포함하는 훈련 이미지들, 마스크 이미지들 및 구조 벡터 이미지들로 구성되는 데이터셋일 수 있다. 또한, 제2 데이터셋(1920)은 가공되지 않은 정답(ground truth) 이미지들로 구성되는 데이터셋일 수 있다. 일 실시예에 따른 전자 장치(2000)는 제1 데이터셋(1910)으로부터 손실 영역을 포함하는 훈련 이미지(1902), 마스크 이미지(1904), 구조 벡터 이미지들(1906)을 획득할 수 있다.
일 실시예에서, 전자 장치(2000)는 판별자 모델(1940)의 가중치를 업데이트 하는 연산을 복수회 반복하고, 생성자 모델(1930)로부터 출력되는 인페인팅 된 이미지(1912)를 판별자 모델(1940)에 적용하여 이미지 진위 여부를 판별할 수 있다. 전자 장치(2000)는 인페인팅 된 이미지(1912)의 이미지 진위 여부를 판별함으로써 손실 함수(1950)로부터 손실 값을 계산하고, 손실 값에 기초하여 생성자 모델(1930)의 가중치를 업데이트 할 수 있다.
일 실시예에서, 전자 장치(2000)는 판별자 모델(1940)의 가중치를 업데이트 할 수 있다.
일 실시예에서, 전자 장치(2000)는 제2 데이터셋(1920)으로부터 획득된, 정답(ground truth) 이미지(1922)에 기초하여, 이미지의 진위 여부를 판별하는 판별자 모델(1940)의 가중치를 업데이트 할 수 있다. 이 경우, 제2 데이터셋(1920)으로부터 획득된 정답 이미지(1922)의 레이블 값은 1일 수 있다. 레이블 값 1이란, 이미지가 어떠한 가공 과정도 거치지 않은 정답 이미지임을 나타내는 '진짜(Real)'클래스에 대응되는 레이블 값을 말한다.
일 실시예에서, 전자 장치(2000)는 생성자 모델(1930)으로부터 획득된, 인페인팅 된 이미지(1912)에 기초하여, 이미지의 진위 여부를 판별하는 판별자 모델(1940)의 가중치를 업데이트 할 수 있다. 전자 장치(2000)는 제1 데이터셋(1910)에 포함되는 데이터들 중에서 훈련 이미지(1902), 마스크 이미지(1904) 및 구조 벡터 이미지들(1906)을 획득하고, 훈련 이미지(1902), 마스크 이미지(1904) 및 구조 벡터 이미지들(1906)을 생성자 모델(1930)에 적용하고, 생성자 모델로부터 출력된 인페인팅 된 이미지(1912)를 획득할 수 있다. 전자 장치(2000)는 생성자 모델(1930)로부터 출력된 인페인팅 된 이미지(1912)를 레이블 값 '0'으로 레이블링 할 수 있다. 이 경우, 레이블링 값 '0'은 입력 이미지를 가공하여 생성된 인페인팅 된 이미지를 나타내는 '가짜(Fake)' 클래스에 대응되는 레이블 값을 말한다.
일 실시예에 따른 전자 장치(2000)는 정답 이미지(1922) 또는 인페인팅 된 이미지(1912)를 입력 받아, 판별자 모델(1940)의 가중치를 갱신하는 동작을 복수 회 반복(iteration) 수행할 수 있다.
일 실시예에서, 전자 장치(2000)는 생성자 모델(1930)의 가중치를 업데이트 할 수 있다. 전자 장치(2000)는 훈련 이미지(1902), 마스크 이미지(1904) 및 구조 벡터 이미지들(1906)을 생성자 모델(1930)에 적용하고, 생성자 모델로부터 출력된 인페인팅 된 이미지(1912)를'진짜(Real)'클래스에 대응되는 레이블 값인 '1'로 레이블링할 수 있다. 전자 장치(2000)는 레이블 값 '1'로 레이블링 된 인페인팅 된 이미지(1912)를 판별자 모델(1940)에 적용하고, 인페인팅 된 이미지(1912)의 진위 여부를 판별할 수 있다. 전자 장치(2000)는 손실 함수(1950)에 기초하여 손실 값을 획득하고, 판별자 모델(1940)의 손실 함수(1950)에 의해 계산된 손실 값에 기초하여, 생성자 모델(1930)의 가중치를 업데이트 할 수 있다.
도 20은 본 개시의 일 실시예에 따른 전자 장치가 이미지 인페인팅을 수행하는 실시예들을 설명하기 위한 도면이다.
단계 S2010에서, 일 실시예에 따른 전자 장치(2000)는 원본 이미지를 획득하고 손실 영역을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)의 사용자는 원본 이미지 내에서 원하지 않는 객체를 제거하고자 할 수 있다. 전자 장치(2000)는 사용자로부터 원본 이미지 내 객체들을 선택하는 입력을 수신하고, 수신된 입력에 기초하여 선택된 객체들에 대응되는 픽셀들의 픽셀 값들을 변경함으로써, 사용자가 객체들을 삭제한 손실 영역(2002)을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)의 사용자는 손상된 사진(예를 들어, 오래된 사진 스캔)을 원본 이미지로하여, 원본 이미지 내 손상된 영역을 복원하고자 할 수 있다. 전자 장치(2000)는 사용자로부터 원본 이미지 내 손상된 영역들을 선택하는 입력을 수신하고, 수신된 입력에 기초하여, 손상된 영역에 대응되는 손실 영역(2006)을 결정할 수 있다.
전자 장치(2000)가 사용자의 입력에 기초하여 손실 영역을 결정하는 구체적인 방법들은, 도 3 및 도 4에 대한 설명에서 전술하였으므로, 동일한 설명은 생략하기로 한다.
단계 S2020에서, 일 실시예에 따른 전자 장치(2000)는 이미지 인페인팅 알고리즘을 수행할 수 있다. 전자 장치(2000)는 결정된 손실 영역에 기초하여, 입력 이미지의 상기 손실 영역이 복원된, 인페인팅 된 이미지를 획득할 수 있다. 이 경우, 전자 장치(2000)는 도 11의 단계 S1110 내지 S1150 또는 도 12의 단계 S1210 내지 S1280을 수행할 수 있다.
단계 S2030에서, 일 실시예에 따른 전자 장치(2000)는 인페인팅 된 이미지를 획득할 수 있다.
일 실시예에서, 전자 장치(2000)에 의해 결정된 손실 영역이 사용자가 객체들을 삭제한 손실 영역(2002)인 경우, 전자 장치(2000)는 이미지 인페인팅 알고리즘을 수행하여, 이미지 내 객체들이 삭제된, 인페인팅 된 이미지(2004)를 획득할 수 있다.
일 실시예에서, 전자 장치(2000)에 의해 결정된 손실 영역이 손상된 영역에 대응되는 손실 영역(2006)인 경우, 전자 장치(2000)는 이미지 인페인팅 알고리즘을 수행하여, 이미지 내 손실 영역들이 복원된, 인페인팅 된 이미지(2008)를 획득할 수 있다.
도 21은 본 개시의 일 실시예에 따른 전자 장치가 이미지 인페인팅을 수행하는 다른 실시예들을 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(2000)는 깊이 정보를 포함하는 이미지를 획득하고, 깊이 정보에 기초하여 이미지를 촬영했던 시점과 다른 임의의 시점에서 볼 수 있는, 인페인팅 된 비디오를 획득할 수 있다.
도 21을 참조하면, 전자 장치(2000)는 적어도 둘 이상의 카메라를 이용하여 촬영된 이미지로부터 깊이 정보를 획득하거나, RGB-D(RGB-Depth) 카메라를 이용하여 촬영된 깊이 정보를 포함하는 이미지로부터, 깊이 정보를 획득할 수 있다.
다른 실시예에서, 전자 장치(2000)는 RGB 이미지를 획득하고, 단계 S2105를 수행하여 깊이 정보를 획득할 수 있다.
단계 S2105에서, 전자 장치(2000)는 획득된 이미지 내에서 식별된 적어도 하나의 객체에 기초하여, 이미지의 깊이를 예측할 수 있다. 예를 들어, 전자 장치(2000)는 RGB 이미지로부터 서로 다른 깊이들인 제1 깊이, 제2 깊이, …, 제N 깊이를 식별할 수 있다. 전자 장치(2000)는 서로 다른 깊이들의 세그멘테이션 레벨을 깊이 정보로 획득할 수 있다.
단계 S2110에서, 일 실시예에 따른 전자 장치(2000)는 계층화된 깊이 이미지(Layered Depth Image; LDI)를 추출할 수 있다. 전자 장치(2000)는 획득된 깊이 정보에 기초하여, 계층화된 깊이 이미지를 획득할 수 있다. 예를 들어, 전자 장치(2000)는 깊이 정보에 기초하여, 이미지를 서로 다른 깊이를 갖는 제1 레이어 이미지, 제2 레이어 이미지, 제3 레이어 이미지 등으로 분할할 수 있다.
단계 S2120에서, 일 실시예에 따른 전자 장치(2000)는 계층화된 깊이 이미지 각각에 대하여, 손실 영역을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 카메라가 시점을 이동하면서 피사체를 서로 다른 시점에서 바라봄에 따라 발생하는 시차(parallax)를 나타내는, 특정 시점에서 촬영되지 않는 영역을 손실 영역으로 결정할 수 있다. 예를 들어, 카메라가 피사체를 좌측에서 바라보는 경우, 피사체의 우측 영역은 카메라에 의해 촬영되지 않으므로, 전자 장치(2000)는 피사체에 의해 가려졌던, 피사체의 우측 뒤 영역을 손실 영역으로 결정할 수 있다. 이 경우, 전자 장치(2000)는 단계 S2110에서 추출된 계층화된 깊이 이미지들 중에서, 피사체에 의해 가려진 영역의 깊이에 대응되는 하나 이상의 레이어 이미지를 선택하고, 선택한 레이어 이미지 내에서 손실 영역을 결정할 수 있다.
일 실시예에서, 전자 장치(2000)는 카메라가 촬영한 이미지의 경계 밖 영역을 손실 영역으로 결정할 수 있다. 이 경우, 전자 장치(2000)는 단계 S2110에서 추출된 계층화된 깊이 이미지들 중에서, 배경 영역의 깊이에 대응되는 하나 이상의 레이어 이미지를 선택하고, 선택한 레이어 이미지의 경계 밖 영역들을 손실 영역으로 결정할 수 있다.
단계 S2130에서, 일 실시예에 따른 전자 장치(2000)는 이미지 인페인팅 알고리즘을 수행할 수 있다. 전자 장치(2000)는 결정된 손실 영역에 기초하여, 하나 이상의 레이어 이미지의 손실 영역이 복원된, 하나 이상의 인페인팅 된 이미지를 획득할 수 있다. 이 경우, 전자 장치(2000)는 도 11의 단계 S1110 내지 S1150 또는 도 12의 단계 S1210 내지 S1280을 수행할 수 있다.
단계 S2140에서, 일 실시예에 따른 전자 장치(2000)는 3D 렌더링에 의해 이미지를 촬영했던 시점과 다른 임의의 시점에서 볼 수 있는 비디오를 생성할 수 있다. 전자 장치(2000)는 이미지 인페인팅을 수행한 하나 이상의 레이어 이미지에 기초하여, 이미 촬영된 장면에 대하여 카메라가 이동하면서 다른 시점에서 촬영한 것과 같은 시각적 효과를 생성할 수 있다.
도 22는 일 실시예에 따른 전자 장치가 이미지 인페인팅을 수행하여 생성한 인페인팅 된 비디오를 설명하기 위한 도면이다.
도 22를 참조하면, 일 실시예에 따른 전자 장치(2000)는 특정 시점에서 카메라가 피사체를 촬영한, 원본 이미지를 획득할 수 있다. 전자 장치(2000)는 원본 이미지에 대하여 깊이 정보를 획득하고, 획득된 깊이 정보에 기초하여, 계층화된 깊이 이미지를 획득할 수 있다.
전자 장치(2000)는 계층화된 깊이 이미지 내에서 손실 영역을 결정하고, 카메라 시점이 변경되는 경우, 복원이 필요한 영역들에 대하여 인페인팅 알고리즘을 수행함으로써, 시간 경과에 따라 서로 다른 시점에서 피사체를 바라본 이미지 프레임들이 재생되는, 인페인팅 된 이미지를 획득할 수 있다.
도 23은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 23을 참조하면, 일 실시예에 따른 전자 장치(2000)는 통신 인터페이스(2100), 메모리(2200) 및 프로세서(2300)를 포함할 수 있다.
통신 인터페이스(2100)는 프로세서(2300)의 제어에 의해 서버(3000)와 데이터 통신을 수행할 수 있다. 또한, 통신 인터페이스(2100)는 서버(3000)뿐 아니라, 다른 주변 전자 장치들(미도시)과도 데이터 통신을 수행할 수 있다.
통신 인터페이스(2100)는 예를 들어, 유선 랜, 무선 랜(Wireless LAN), 와이파이(Wi-Fi), 블루투스(Bluetooth), 지그비(zigbee), WFD(Wi-Fi Direct), 적외선 통신(IrDA, infrared Data Association), BLE (Bluetooth Low Energy), NFC(Near Field Communication), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 와이기그(Wireless Gigabit Allicance, WiGig) 및 RF 통신을 포함하는 데이터 통신 방식 중 적어도 하나를 이용하여 서버(3000) 또는 다른 주변 전자 장치들과 데이터 통신을 수행할 수 있다.
일 실시예에 따른 통신 인터페이스(2100)는 이미지 인페인팅을 수행하기 위한 데이터를 외부 장치(미도시)와 송수신할 수 있다. 예를 들어, 통신 인터페이스(2100)는, 구조 벡터를 검출하기 위하여 미리 훈련된 제1 모델(2230) 및 이미지 인페인팅을 수행하기 위한 제2 모델(2240)을 외부의 서버(3000)로부터 수신할 수 있다.
메모리(2200)는 프로세서(2300)가 판독할 수 있는 명령어들, 데이터 구조, 및 프로그램 코드(program code)가 저장될 수 있다. 개시된 실시예들에서, 프로세서(2300)가 수행하는 동작들은 메모리(2200)에 저장된 프로그램의 명령어들 또는 코드들을 실행함으로써 구현될 수 있다.
메모리(2200)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나를 포함하는 비휘발성 메모리 및 램(RAM, Random Access Memory) 또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다.
일 실시 예에 따른 메모리(2200)는 이미지 인페인팅을 수행하는데 이용될 수 있는 다양한 종류의 데이터를 저장할 수 있다. 예를 들어, 메모리(2200)에는 이미지 인페인팅을 수행하기 위한 이미지 복원 모듈(2210) 제1 모델(2230) 및 제2 모델(2240)을 훈련시키기 위한 훈련 데이터 생성 모듈(2220), 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델(2230) 및 입력 이미지를 복원하기 위한 제2 모델(2240)이 저장될 수 있다.
개시된 실시예에서, 이미지 복원 모듈(2210)은 구조 벡터 검출 모듈(2212) 및 인페인팅 모듈(2214)을 포함할 수 있다. 또한, 훈련 데이터 생성 모듈(2220)은 레이블링 모듈(2222) 및 마스킹 모듈(2224)을 포함할 수 있다.
프로세서(2300)는 전자 장치(2000)의 전반적인 동작들을 제어할 수 있다. 예를 들어, 프로세서(2300)는 메모리(2200)에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행함으로써, 전자 장치(2000)가 이미지를 복원하는 이미지 인페인팅을 수행하기 위한 전반적인 동작을 제어할 수 있다.
프로세서(2300)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), AP(Application Processor), 뉴럴 프로세서(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다.
일 실시예에서, 프로세서(2300)는 이미지 복원 모듈(2210)을 실행하여 입력 이미지를 복원할 수 있다.
프로세서(2300)는 구조 벡터 검출 모듈(2212) 및 제1 모델(2230)을 이용하여, 입력 이미지 및 마스크 이미지를 제1 모델(2230)에 적용함으로써 입력 이미지의 구조적인 특징들을 나타내는 구조 벡터를 획득할 수 있다. 이 경우, 입력 이미지의 구조 벡터는, 손실 영역의 구조적인 특징을 나타내는, 손실 영역의 구조 벡터를 포함할 수 있다. 프로세서(2300)가 구조 벡터를 획득하는 구체적인 방법들은 전술한 실시예들에서 이미 설명하였으므로, 동일한 설명은 생략하기로 한다.
프로세서(2300)는 인페인팅 모듈(2214) 및 제2 모델(2240)을 이용하여, 입력 이미지, 마스크 이미지 및 구조 벡터로부터 변환된 구조 벡터 이미지를 제2 모델(2240)에 적용함으로써, 입력 이미지의 손실 영역이 복원된, 인페인팅 된 이미지를 획득할 수 있다. 프로세서(2300)가 인페인팅 된 이미지를 획득하는 구체적인 방법들은 전술한 실시예들에서 이미 설명하였으므로, 동일한 설명은 생략하기로 한다.
일 실시예에서, 프로세서(2300)는 훈련 데이터 생성 모듈(2220)을 이용하여, 제1 모델(2230) 및 제2 모델(2240)을 훈련시키기 위한 훈련 데이터들을 생성할 수 있다.
프로세서(2300)는 레이블링 모듈(2222)을 이용하여, 구조 벡터들이 수도-레이블링 된 이미지를 획득할 수 있다. 프로세서(2300)는 구조 벡터의 정답 레이블이 없는, 복수의 이미지들로 구성되는 이미지셋을 획득하고, 이미지셋으로부터 제1 모델(2230)의 훈련을 위한 구조 벡터를 이미지에 수도-레이블링하기 위한 제1 이미지들을 식별할 수 있다. 프로세서(2300)는 이미지 카테고리 분류 모델을 이용하여, 이미지셋 내 이미지들의 장면 카테고리를 식별하고, 이미지의 장면 카테고리가 구조적 특징의 추출이 가능한 장면 카테고리인 이미지들을 제1 이미지들로 식별할 수 있다. 프로세서(2300)는 제1 이미지들을 구조 벡터 검출 모델에 적용할 수 있다. 프로세서(2300)는 제1 이미지들로부터 검출된 구조 벡터를 제1 이미지들에 레이블링하여 구조 벡터가 수도-레이블링 된 이미지인, 제2 이미지들을 획득할 수 있다. 프로세서(2300)는 획득된 제2 이미지들 중 일부를 소정 기준에 기초하여 필터링하여 제3 이미지를 획득할 수 있다.
프로세서(2300)는 마스킹 모듈(2224)을 이용하여, 구조 벡터가 수도-레이블링 된 이미지인 제2 이미지들 또는 제2 이미지들로부터 일부를 필터링한 제3 이미지에 손실 영역을 마스킹함으로써, 훈련 데이터를 생성할 수 있다. 프로세서(2300)는 제2 이미지들 또는 제3 이미지에 손실 영역을 마스킹할 때, 제2 이미지들 또는 제3 이미지들의 구조적인 특징에 기초하여, 마스킹되는 손실 영역의 크기, 모양 및 위치를 결정할 수 있다.
프로세서(2300)는 훈련 데이터 생성 모듈(2220)을 이용하여 생성한 훈련 데이터에 기초하여 제1 모델(2230) 및 제2 모델(2240)을 훈련시킬 수 있다. 이는, 전술한 실시예들에서 이미 서술하였으므로, 동일한 설명은 생략하기로 한다.
도 24는 본 개시의 일 실시예에 따른 서버의 구성을 도시한 블록도이다.
일 실시예에 따른 서버(3000)는 전자 장치(2000)와 유선 통신 또는 무선 통신 방식으로 상호 연결되고, 데이터 통신을 수행할 수 있다.
도 24를 참조하면, 서버(3000)는 적어도 통신 인터페이스(3100), DB(3200), 메모리(3300), 프로세서(3400)를 포함할 수 있다.
일 실시예에 따른 통신 인터페이스(3100)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 통하여 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.
일 실시예에 따른 통신 인터페이스(3100)는 전자 장치(2000)로 제1 모델 및 제2 모델을 전송할 수 있다. 또한, 통신 인터페이스(3100)는 전자 장치(2000)로부터 훈련용 데이터를 수신하고, 업데이트된 제1 모델 및 제2 모델을 전자 장치(2000)로 전송할 수 있다.
DB(3200)는 전자 장치(2000)로부터 수신한 데이터 또는 외부 장치로부터 수신한 데이터를 저장할 수 있다.
DB(3200)는 서버(3000)에서 훈련을 통하여 생성된 제1 모델, 제2 모델을 훈련시키는데 이용될 훈련용 데이터를 저장할 수 있다.
메모리(3300)는 서버(3000)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(3300)에 저장되는 프로그램은 하나 이상의 명령어들을 포함할 수 있다. 메모리(3300)에 저장된 프로그램(하나 이상의 명령어들) 또는 어플리케이션은 프로세서(3400)에 의해 실행될 수 있다. 메모리(3300)에는 전자 장치(2000)에 저장된 모듈과 동일한 기능을 수행하는 모듈이 저장되어 있을 수 있다.
예를 들어, 메모리(3300)에는 이미지 복원 모듈(미도시), 훈련 데이터 생성 모듈(미도시)에 대응되는 데이터 및 프로그램 명령어 코드들이 저장될 수 있다.
프로세서(3400)는 서버(3000)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(3400)는 메모리(3300)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 프로세서(3400)는 AP(Application Processor), CPU(Central Processing unit)), GPU(Graphic Processing Unit), 뉴럴 프로세서(Neural Processing Unit) 또는 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서 등을 포함할 수 있다.
프로세서(3400)는, 전술한 실시예들에 따른, 전자 장치(2000)에서 수행 가능한 동작들을 수행할 수 있다.
프로세서(3400)는 입력 이미지의 손실 영역을 복원하여 인페인팅 된 이미지를 생성할 수 있다. 프로세서(3400)는 전자 장치(2000)로부터 원본 이미지 및 사용자 입력에 관한 데이터, 또는, 입력 이미지 및 마스크 이미지를 수신하고, DB에 저장된 제1 모델 및 제2 모델을 이용하여, 입력 이미지의 손실 영역이 복원된, 인페인팅 된 이미지를 생성할 수 있다. 서버(3000)가 인페인팅 된 이미지를 생성하는 방법은, 전자 장치(2000)가 인페인팅 된 이미지를 생성하는 방법과 대응되므로, 동일한 설명은 생략하기로 한다.
프로세서(3400)는 DB(3200)에 저장된 데이터를 이용하여 신경망 모델의 훈련을 수행함으로써, 제1 모델 및 제2 모델을 생성할 수 있다. 생성된 제1 모델 및 제2 모델은, 전자 장치(2000)로 전송될 수 있다.
도 25는 본 개시의 일 실시예에 따른 전자 장치가 서버와 연동하여 원본 이미지로부터 인페인팅된 이미지를 획득하는 방법의 흐름도이다
도 25를 참조하면, 단계 S2510에서, 일 실시예에 따른 전자 장치(2000)는 원본 이미지 내의 손실 영역을 결정할 수 있다. 전자 장치(2000)는 원본 이미지를 획득하고, 원본 이미지 내의 손실 영역을 결정할 수 있다.
단계 S2510의 전자 장치(2000)가 손실 영역을 결정하는 동작은, 도 2의 단계 S210에 대응되므로, 동일한 설명은 생략하기로 한다.
단계 S2520에서, 일 실시예에 따른 전자 장치(2000)는 서버(3000)에게 인페인팅 이미지의 생성을 요청할 수 있다. 전자 장치(2000)는, 예를 들어, 원본 이미지 및 손실 영역의 영역 정보를 서버(2000)에게 제공하면서 인페인팅 이미지의 생성을 서버(3000)에게 요청할 수 있다.
단계 S2530에서, 일 실시예에 따른 서버(3000)는 결정된 손실 영역에 기초하여, 입력 이미지를 생성할 수 있다.
서버(3000)는 결정된 손실 영역에 대응되는 픽셀들의 픽셀 값들을 변경함으로써, 손실 영역을 포함하는 입력 이미지를 생성할 수 있다. 이 경우, 서버(3000)는 일부 영역에 대응되는 픽셀들의 픽셀 값을 기 설정된 값으로 변경할 수 있다. 예를 들어, 서버(3000)는 일부 영역에 대응되는 픽셀들의 픽셀 값을 0으로 변경하거나, 일부 영역에 대응되는 픽셀들의 픽셀 값을 훈련 데이터 내 모든 이미지들의 픽셀 값들의 평균 값으로 변경할 수 있다. 또한, 서버(3000)는 손실 영역을 나타내는 마스크 이미지를 획득할 수 있다. 이 경우, 마스크 이미지는 손실 영역과 복원 대상이 아닌 영역으로 구성될 수 있다.
다만, 단계 S2530에서 전자 장치(2000)가 원본 이미지 및 손실 영역의 영역 정보를 서버(3000)에게 제공하면서 인페인팅 이미지의 생성을 서버(3000)에게 요청하는 것으로 설명하였지만, 이에 제한되지 않는다. 단계 S2530의 동작은 서버(3000)에서 수행되지 않고, 도 2의 단계 S210에서 설명한 것과 같이 전자 장치(2000)에서 수행될 수 있다. 이 경우, 서버(3000)는 전자 장치(2000)로부터 입력 이미지 및 마스크 이미지를 수신할 수 있다.
단계 S2540에서, 일 실시예에 따른 서버(3000)는 입력 이미지 및 마스크 이미지를 서버(3000)에 저장된 제1 모델에 적용함으로써, 하나 이상의 선 및 하나 이상의 접합점으로 구성되는 구조 벡터들을 획득할 수 있다. 제1 모델은 입력 이미지 및 마스크 이미지를 입력 받아, 입력 이미지 내 구조물들의 프레임구조를 나타내는 점, 선, 면 등의 기하학적 특징을 검출하기 위한 신경망 모델일 수 있다. 구조 벡터들은, 입력 이미지 내의 픽셀 값들이 변경된 손실 영역에 대해서, 손실 영역 내의 존재할 것으로 판단되는 구조적인 특징을 추론한, 손실 영역의 구조적인 특징을 포함할 수 있다. 이 경우, 손실 영역의 구조적인 특징은, 입력 이미지 내의 전체 영역 중에서 손실 영역 이외의 영역의 구조적인 특징으로부터 추론된 것일 수 있다. 제1 모델은 입력된 입력 이미지 및 마스크 이미지에 기초하여, 손실 영역을 포함하는 입력 이미지 전체에 관련된 구조 벡터들을 출력할 수 있다.
단계 S2550에서, 일 실시예에 따른 서버(3000)는 입력 이미지, 마스크 이미지 및 구조 벡터로부터 변환된 구조 벡터 이미지를 서버(3000)에 저장된 제2 모델에 적용함으로써, 입력 이미지의 손실 영역이 복원된, 인페인팅 된 이미지를 획득할 수 있다. 구조 벡터들은 제1 모델로부터 출력된 것일 수 있으며, 서버(3000)는 구조 벡터들을 변환하여 구조 벡터 이미지를 획득할 수 있다. 제2 모델로부터 출력되는 인페인팅 된 이미지는 손실 영역에 대응되는 픽셀들이 생성되어 손실 영역이 생성된 픽셀들로 채워진 이미지일 수 있다. 또한, 인페인팅 된 이미지는, 입력 이미지의 손실 영역이 손실 영역 외의 다른 영역들과 자연스럽게 연결되는, 입력 이미지의 콘텍스트에 부합하도록 복원된 이미지일 수 있다.
단계 S2560에서, 일 실시예에 따른 전자 장치(2000)는 서버(3000)로부터 생성된 인페인팅 된 이미지를 수신할 수 있다.
한편, 도 23에 도시된 전자 장치(2000)의 블록도 및 도 24에 도시된 서버(3000)의 블록도는, 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 각 장치의 사양에 따라 통합, 추가 또는 생략될 수 있다. 즉 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 개시의 권리범위를 제한하지 아니한다.
일 실시예에 따른 전자 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 컴퓨터 판독 가능 매체는, 비일시적(non-transitory) 기록매체의 형태로 제공될 수 있다. 여기서, 비일시적 기록매체는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 기록매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
또한, 개시된 실시예들에 따른 전자 장치의 동작 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만, 본 개시가 속하는 기술 분야의 당업자라면, 다음의 청구범위 및 그 균등범위에 의해 정의된 바와 같은 본 개시의 사상 및 범위를 벗어나지 않고 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해할 것이다.

Claims (15)

  1. 전자 장치가 이미지 내 손실 영역을 복원하는 이미지 인페인팅(image inpainting)을 수행하는 방법에 있어서,
    원본 이미지 내의 손실 영역을 결정하는 단계;
    상기 결정된 손실 영역에 기초하여, 상기 원본 이미지로부터 복원의 대상이 되는 입력 이미지를 생성하는 단계;
    상기 손실 영역을 나타내는 마스크 이미지를 획득하는 단계;
    상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하는 단계;
    상기 입력 이미지 및 상기 마스크 이미지를, 상기 손실 영역의 구조적인 특징을 포함하는 상기 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델에 적용함으로써, 하나 이상의 선(line) 및 하나 이상의 접합점(junction)으로 구성되는, 구조 벡터들을 획득하는 단계; 및
    상기 입력 이미지, 상기 마스크 이미지 및 상기 구조 벡터들로부터 변환된 구조 벡터 이미지를 상기 입력 이미지를 복원하기 위한 제2 모델에 적용함으로써, 상기 입력 이미지의 상기 손실 영역이 복원된, 인페인팅 된 이미지를 획득하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하는 단계는,
    상기 손실 영역의 폭에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하는 단계는,
    상기 입력 이미지의 픽셀 수 대비 상기 손실 영역의 픽셀 수가 기 설정된 값 이상인 경우, 상기 손실 영역의 구조적인 특징을 추출하기로 결정하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 제1 모델을 훈련시키기 위한 훈련 데이터를 더 포함하고,
    상기 훈련 데이터는,
    손실 영역을 포함하는 훈련 이미지 및 상기 훈련 이미지에 대응되고 상기 훈련 이미지의 손실 영역을 나타내는 마스크 이미지 벡터 및 상기 훈련 이미지에 대응되는 구조 벡터로 구성되는 것인, 방법.
  5. 제4항에 있어서,
    상기 방법은,상기 제1 모델의 훈련을 위해 이용되는 상기 훈련 이미지의 훈련 순서를, 상기 손실 영역의 크기에 기초하여 결정하는 단계를 더 포함하는, 방법.
  6. 제4항에 있어서,
    상기 방법은,
    상기 훈련 이미지 내의 상기 손실 영역의 크기, 모양 및 위치를, 상기 훈련 이미지의 구조적인 특징에 기초하여 결정하는 단계를 더 포함하는, 방법.
  7. 제4항에 있어서,
    상기 훈련 이미지는,
    복수의 이미지들로 구성되는 이미지셋으로부터, 제1 모델의 훈련을 위한 구조 벡터를 이미지에 레이블링하기 위한 제1 이미지들을 식별하고,
    상기 제1 이미지들을 구조 벡터 검출 모델에 적용함으로써, 상기 제1 이미지들 각각에 상기 훈련을 위한 구조 벡터들 각각이 레이블링된 제2 이미지들을 획득하고,
    상기 제2 이미지들 중에서 적어도 일부를 선택하여 생성된 것인, 방법.
  8. 이미지 인페인팅(image inpainting)을 수행하는 전자 장치에 있어서,
    통신 인터페이스;
    하나 이상의 명령어들(instructions)을 저장하는 메모리; 및
    상기 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 명령어들을 실행함으로써,
    원본 이미지 내의 손실 영역을 결정하고,
    상기 결정된 손실 영역에 기초하여, 상기 원본 이미지로부터 복원의 대상이 되는 입력 이미지를 생성하고,
    상기 손실 영역을 나타내는 마스크 이미지를 획득하고,
    상기 손실 영역의 속성에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하고,
    상기 입력 이미지 및 상기 마스크 이미지를, 상기 손실 영역의 구조적인 특징을 포함하는 상기 입력 이미지의 구조적인 특징을 추출하기 위한 제1 모델에 적용함으로써, 하나 이상의 선(line) 및 하나 이상의 접합점(junction)으로 구성되는, 구조 벡터들을 획득하고,
    상기 입력 이미지, 상기 마스크 이미지 및 상기 구조 벡터들로부터 변환된 구조 벡터 이미지를 상기 입력 이미지를 복원하기 위한 제2 모델에 적용함으로써, 상기 입력 이미지의 상기 손실 영역이 복원된, 인페인팅 된 이미지를 획득하는, 전자 장치.
  9. 제8항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 명령어들을 실행함으로써,
    상기 손실 영역의 폭에 기초하여, 상기 손실 영역의 구조적인 특징을 추출할지 여부를 결정하는, 전자 장치.
  10. 제8항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 명령어들을 실행함으로써,
    상기 입력 이미지의 픽셀 수 대비 상기 손실 영역의 픽셀 수가 기 설정된 값 이상인 경우, 상기 손실 영역의 구조적인 특징을 추출하기로 결정하는, 전자 장치.
  11. 제8항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 명령어들을 실행함으로써,
    훈련 데이터에 기초하여 상기 제1 모델을 훈련시키고,
    상기 훈련 데이터는,
    손실 영역을 포함하는 훈련 이미지 및 상기 훈련 이미지에 대응되고 상기 훈련 이미지의 손실 영역을 나타내는 마스크 이미지 벡터 및 상기 훈련 이미지에 대응되는 구조 벡터로 구성되는 것인, 전자 장치.
  12. 제11항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 명령어들을 실행함으로써,
    상기 제1 모델의 훈련을 위해 이용되는 상기 훈련 이미지의 훈련 순서를, 상기 손실 영역의 크기에 기초하여 결정하는, 전자 장치.
  13. 제11항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 명령어들을 실행함으로써,
    상기 훈련 이미지 내의 상기 손실 영역의 크기, 모양 및 위치를, 상기 훈련 이미지의 구조적인 특징에 기초하여 결정하는, 전자 장치.
  14. 제11항에 있어서,
    상기 훈련 이미지는,
    복수의 이미지들로 구성되는 이미지셋으로부터, 제1 모델의 훈련을 위한 구조 벡터를 이미지에 레이블링하기 위한 제1 이미지들을 식별하고,
    상기 제1 이미지들을 구조 벡터 검출 모델에 적용함으로써, 상기 제1 이미지들 각각에 상기 훈련을 위한 구조 벡터들 각각이 레이블링된 제2 이미지들을 획득하고,
    상기 제2 이미지들 중에서 적어도 일부를 선택하여 생성된 것인, 전자 장치.
  15. 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2022/006289 2021-05-18 2022-05-03 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법 WO2022245013A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22804868.2A EP4266241A4 (en) 2021-05-18 2022-05-03 ELECTRONIC DEVICE FOR PERFORMING IMAGE EDITING AND ITS OPERATION METHOD
US17/746,429 US20220375050A1 (en) 2021-05-18 2022-05-17 Electronic device performing image inpainting and method of operating the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0064335 2021-05-18
KR20210064335 2021-05-18
KR1020210101523A KR20220156409A (ko) 2021-05-18 2021-08-02 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법
KR10-2021-0101523 2021-08-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/746,429 Continuation US20220375050A1 (en) 2021-05-18 2022-05-17 Electronic device performing image inpainting and method of operating the same

Publications (1)

Publication Number Publication Date
WO2022245013A1 true WO2022245013A1 (ko) 2022-11-24

Family

ID=84140742

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/006289 WO2022245013A1 (ko) 2021-05-18 2022-05-03 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법

Country Status (1)

Country Link
WO (1) WO2022245013A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190295228A1 (en) * 2018-03-21 2019-09-26 Nvidia Corporation Image in-painting for irregular holes using partial convolutions
US10650499B1 (en) * 2018-07-26 2020-05-12 United States Of America As Represented By The Secretary Of The Navy Fast and effective image inpainting for reticle removal
WO2020101246A1 (en) * 2018-11-13 2020-05-22 Samsung Electronics Co., Ltd. Joint unsupervised object segmentation and inpainting
US20210082124A1 (en) * 2019-04-15 2021-03-18 Adobe Inc. Foreground-aware image inpainting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190295228A1 (en) * 2018-03-21 2019-09-26 Nvidia Corporation Image in-painting for irregular holes using partial convolutions
US10650499B1 (en) * 2018-07-26 2020-05-12 United States Of America As Represented By The Secretary Of The Navy Fast and effective image inpainting for reticle removal
WO2020101246A1 (en) * 2018-11-13 2020-05-22 Samsung Electronics Co., Ltd. Joint unsupervised object segmentation and inpainting
US20210082124A1 (en) * 2019-04-15 2021-03-18 Adobe Inc. Foreground-aware image inpainting

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHENJIE CAO; YANWEI FU: "Learning a Sketch Tensor Space for Image Inpainting of Man-made Scenes", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 28 March 2021 (2021-03-28), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081918582 *

Similar Documents

Publication Publication Date Title
WO2020190112A1 (en) Method, apparatus, device and medium for generating captioning information of multimedia data
WO2020171550A1 (en) Image processing method and apparatus, electronic device and computer readable storage medium
EP3682415A1 (en) Image acquisition device and method of controlling the same
WO2021101243A1 (en) Apparatus and method for using ai metadata related to image quality
WO2017164640A1 (en) System and method for editing video contents automatically technical field
WO2018117619A1 (en) Display apparatus, content recognizing method thereof, and non-transitory computer readable recording medium
WO2021261830A1 (en) Video quality assessment method and apparatus
WO2015111833A1 (ko) 가상 광고 제공 장치 및 방법
WO2022071647A1 (en) Video quality assessment method and apparatus
EP3935578A1 (en) Neural network model apparatus and compressing method of neural network model
WO2020013631A1 (ko) 3차원 영상을 부호화 하는 방법 및 장치, 및 3차원 영상을 복호화 하는 방법 및 장치
WO2022005060A1 (ko) 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
WO2019074339A1 (ko) 신호 변환 시스템 및 신호 변환 방법
WO2022010122A1 (ko) 영상을 제공하는 방법 및 이를 지원하는 전자 장치
WO2021141359A1 (en) Image display apparatus and image displaying method
WO2021167210A1 (ko) 서버, 전자 장치 및 그들의 제어 방법
WO2019045521A1 (ko) 전자 장치 및 그 제어 방법
WO2019031676A1 (ko) 이미지 처리 방법 및 그에 따른 장치
WO2022250388A1 (ko) 비디오 품질을 평가하는 전자 장치 및 그 동작 방법
EP4367628A1 (en) Image processing method and related device
WO2022031041A1 (ko) 단말에 3d 캐릭터 이미지를 제공하는 엣지 데이터 네트워크 및 그 동작 방법
WO2022245013A1 (ko) 이미지 인페인팅을 수행하는 전자 장치 및 그 동작 방법
WO2023277663A1 (ko) 인공신경망을 이용한 영상 처리 방법 및 신경 프로세싱 유닛
WO2020080701A1 (en) Electronic apparatus and control method thereof
WO2022225375A1 (ko) 병렬처리 파이프라인을 이용한 다중 dnn 기반 얼굴 인식 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022804868

Country of ref document: EP

Effective date: 20230721

NENP Non-entry into the national phase

Ref country code: DE