WO2022080680A1 - 인공지능 기반 이미지 인페인팅 방법 및 디바이스 - Google Patents

인공지능 기반 이미지 인페인팅 방법 및 디바이스 Download PDF

Info

Publication number
WO2022080680A1
WO2022080680A1 PCT/KR2021/012502 KR2021012502W WO2022080680A1 WO 2022080680 A1 WO2022080680 A1 WO 2022080680A1 KR 2021012502 W KR2021012502 W KR 2021012502W WO 2022080680 A1 WO2022080680 A1 WO 2022080680A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
processor
information
pixels
area
Prior art date
Application number
PCT/KR2021/012502
Other languages
English (en)
French (fr)
Inventor
이원섭
박정선
강동연
진아정
Original Assignee
주식회사 씨앤에이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 씨앤에이아이 filed Critical 주식회사 씨앤에이아이
Publication of WO2022080680A1 publication Critical patent/WO2022080680A1/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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 invention relates to an image inpainting method, and more particularly, to an image inpainting method in which a specific object is removed from images and videos by analyzing pixels of an image based on artificial intelligence, and the removed part is restored. .
  • Image inpainting technology is a technology that started with the restoration of damaged works of art.
  • image inpainting technology has a variety of uses, such as restoring damaged parts from images, such as paintings, photos, and videos, or removing parts from images. is used as
  • the image inpainting technique is a technique for correcting pixels of a background image region adjacent to a boundary of the region to be restored and filling the region to be restored with the corrected pixels.
  • the background image area may mean an area other than the area to be restored from the original image.
  • the image inpainting technique is performed by a professional image editor, and even for a professional image editor, the editing operation for image inpainting may be a task that requires a high degree of concentration. Therefore, there is a problem in that it is difficult to use image inpainting technology for ordinary people who need image inpainting of images taken in their daily life.
  • An object of the present invention to solve the above problems is to analyze an image based on artificial intelligence, classify the image by object, remove at least one object among the divided objects, and then restore the image based on artificial intelligence. It is to provide an image inpainting method. Another object of the present invention to solve the above problems is to provide a learning method of an artificial neural network for image inpainting by updating an artificial neural network and a weight vector of a device performing image inpainting based on artificial intelligence. there is.
  • an operating method for inpainting an image comprising: classifying objects included in the first image based on information on each pixel of the first image; determining a first object, which is a correction target object, from among the objects; setting a boundary between a second object and a third object in a first area corresponding to the first object removed from the first image;
  • the method may include reconstructing the first region based on the boundary based on pixel information of the second object and the third object.
  • pixel information of each of the second object and the third object, and attribute information of each of the second object and the third object may be set based on at least one piece of information.
  • analyzing the pattern information of the second object based on pixel information of at least a part of the area of the second object and the first area divided by the boundary may include overlapping the pattern of the second object in at least a partial area.
  • obtaining a separate second image from the moving picture including the first image In the second image, obtaining information on a first pixel group that is a set of pixels corresponding to the first region, and overlapping the first pixel group in the first region of the first image can
  • the method may include correcting the first pixel group, and in the overlapping of the first pixel group, the corrected pixels may overlap the first area.
  • the second image tracking the first object located in a second area;
  • obtaining information on a second pixel group which is a set of pixels corresponding to the second region, and overlapping the second pixel group in the second region of the second image can
  • the step of classifying the objects included in the first image is performed using an artificial neural network
  • the weight vector of the artificial neural network includes information on preset objects of the first image and pixels of the first image.
  • a weight vector that is updated based on a difference value between objects classified based on each piece of information may be included.
  • the step of restoring the region corresponding to the first object is performed using an artificial neural network
  • the weight vector of the artificial neural network is a pixel in the region corresponding to the preset first object of the first image. It may include a weight vector that is updated based on a difference value between the information on the pixels and the information on the pixels in the area corresponding to the restored first object.
  • a device performing image inpainting based on artificial intelligence performs a learning operation of continuously updating an artificial neural network and a weight vector, thereby providing a more accurate image inpainting service to the user.
  • FIG. 1 is a block diagram showing a first embodiment of the structure of a terminal.
  • FIG. 2 is a flowchart illustrating an embodiment of an operation of a device for image inpainting.
  • FIG. 3 is a flowchart illustrating a first embodiment of an operation of a processor for image restoration among operations for image inpainting.
  • FIG. 4 is a flowchart illustrating a second embodiment of an operation of a processor for image restoration among operations for image inpainting.
  • FIG. 5 is a conceptual diagram illustrating an embodiment of an image correction process according to each operation process for image inpainting.
  • FIG. 6 is a flowchart illustrating an embodiment of an operation of a device for inpainting an image of a moving picture.
  • FIG. 7 is a conceptual diagram illustrating an embodiment of an image correction process according to each operation process for image inpainting of a moving picture.
  • FIG. 8 is a flowchart illustrating an embodiment of an artificial neural network learning operation of a device for image inpainting.
  • FIG. 9 is a conceptual diagram illustrating an embodiment of a process of performing an artificial neural network learning operation of a device for image inpainting.
  • first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • FIG. 1 is a block diagram showing a first embodiment of the structure of a terminal.
  • the terminal may include a camera 110 , a processor 120 , a display 130 , and a memory 140 .
  • the camera 110 may include an image sensor 111 , a buffer 112 , a preprocessing module 113 , a resizer 114 , and a controller 115 .
  • the camera 110 may acquire an image of the external area.
  • the camera 110 may store the raw data generated by the image sensor 111 in the buffer 112 of the camera.
  • the raw data may be processed by the controller 115 or the processor 120 in the camera 110 .
  • the processed data may be transmitted to the display 140 or the encoder 123 .
  • the raw data may be processed and then stored in the buffer 112 , and may be transferred from the buffer 112 to the display 140 or encoder 174 .
  • the image acquired by the camera 110 may be a portion of an equirectangular (ERP) image, a panoramic image, a circular fisheye image, a spherical image, or a three-dimensional image.
  • ERP equirectangular
  • the image sensor 111 may collect raw data by detecting light incident from the outside.
  • the image sensor 111 may include, for example, at least one of a charge coupled device (CCD), a complementary metal oxide semiconductor (CMOS) image sensor, and an infrared (IR) optical sensor 150 .
  • CMOS complementary metal oxide semiconductor
  • IR infrared
  • the image sensor 111 may be controlled by the controller 115 .
  • the pre-processing module 113 may convert the raw data obtained by the image sensor 111 into a color space form.
  • the color space may be one of a YUV color space, a red green blue (RGB) color space, and a red green blue alpha (RGBA) color space.
  • the preprocessing module 113 may transmit the data converted into the color space form to the buffer 112 or the processor 120 .
  • the pre-processing module 113 may correct an error or distortion of an image included in the received raw data. In addition, the pre-processing module 113 may adjust the color or size of the image included in the raw data.
  • the preprocessing module 113 is, for example, bad pixel correction (BPC), lens shading (LS), demosaicing, white balance (WB), gamma correction, color space conversion (CSC) , HSC (hue, saturation, contrast) improvement, size conversion, filtering, and at least one of image analysis may be performed.
  • the processor 120 of the terminal may include a management module 121 , an image processing module 122 , and an encoder 123 .
  • the management module 121 , the image processing module 122 , and the encoder 123 may be hardware modules included in the processor 120 , or may be software modules that may be executed by the processor 290 . Referring to FIG. 1 , the management module 121 , the image processing module 122 , and the encoder 123 are illustrated as being included in the processor 120 , but may not be limited thereto. Some of the management module 121 , the image processing module 122 , and the encoder 123 may be implemented as a module separate from the processor 120 .
  • the management module 121 may control the camera 110 included in the terminal.
  • the management module 121 may control initialization of the camera 110 , a power input mode of the camera 110 , and an operation of the camera 110 .
  • the management module 121 may control an image processing operation of the buffer 112 included in the camera 110 , captured image processing, image size, and the like.
  • the management module 121 controls the first electronic device 100 so that the first electronic device 100 adjusts auto focus, auto exposure, resolution, bit rate, frame rate, camera power mode, VBI, zoom, gamma, or white balance. ) can be controlled.
  • the management module 121 may transmit the acquired image to the image processing module 122 and control the image processing module 122 to perform processing.
  • the management module 121 may transmit the acquired image to the encoder 123 .
  • the management module 121 may control the encoder 123 to encode the obtained image.
  • the image processing module 122 may acquire an image from the management module 121 .
  • the image processing module 122 may perform a processing operation on the acquired image. Specifically, the image processing module 122 may perform noise reduction, filtering, image synthesize, color correction, color conversion, image transformation, and/or filtering of the acquired image. 3D modeling, image drawing, augmented reality (AR)/virtual reality (VR) processing, dynamic range adjusting, perspective adjustment, shearing, resizing, edge extraction, region of interest (ROI) Judgment, image matching, and/or image segmentation may be performed.
  • the image processing module 122 may perform processing such as synthesizing a plurality of images, generating a stereoscopic image, or generating a depth-based panoramic image.
  • FIG. 2 is a flowchart illustrating an embodiment of an operation of a device for image inpainting.
  • the processor of the device may perform operations for image inpainting.
  • the processor may include an artificial neural network (ANN), and may perform operations for image inpainting based on artificial intelligence using the artificial neural network.
  • ANN artificial neural network
  • the processor may classify objects included in the first image.
  • the processor may classify objects included in the first image by using an artificial neural network. For example, the processor may classify a plurality of objects included in the first image based on information on pixels included in the first image.
  • the processor may reflect color information of pixels, etc. in classifying objects included in the first image. When the difference between the color information values of different adjacent pixels is less than or equal to a preset value, the processor determines that different adjacent pixels are pixels obtained from images of the same and/or similar object in classifying objects included in the first image can do.
  • the processor may determine a first object that is a correction target object from among the objects of the first image.
  • the processor may analyze each of the objects based on color information (eg, color value information such as rgb included in each of the objects) and shape information of the objects included in the first image, and the analysis result of each of the objects
  • a first object that is a correction target object may be determined based on . That is, the first object that is the object to be corrected may be determined from among the objects based on color information or shape information of each of the objects.
  • the processor may determine a first object to be corrected from among the objects of the first image based on input information from the user (eg, selection of the user from among a plurality of objects). That is, the processor may detect an input from the user and determine the selected object as the first object. Next, the processor may remove the first object determined as the object to be corrected from the first image.
  • the processor may set a boundary between the second object and the third object in a region corresponding to the first object removed from the first image.
  • the processor may set a boundary between the second object and the third object in a region corresponding to the first object removed from the first image by using the artificial neural network.
  • the processor may set a boundary between the second object and the third object in the area corresponding to the first object based on pixel information of each of the second object and the third object.
  • the processor may set a boundary between the second object and the third object in the area corresponding to the first object based on at least one piece of attribute information of each of the second object and the third object. That is, the processor may divide the region corresponding to the first object of the first image into an (a) region associated with the second object and a (b) region associated with the third object, (a) region and (b) You can set boundaries between regions.
  • the processor may restore an area corresponding to the first object based on the boundary based on pixel information of the second object and the third object.
  • the processor may reconstruct a region corresponding to the first object based on pixel information of the second object and the third object by using the artificial neural network. That is, the processor may reconstruct region (a) of the first image based on pixel information of the second object, and may reconstruct region (b) of the first image based on pixel information of the third object. Accordingly, as a result of image inpainting by the processor, the processor may acquire a restored first image.
  • FIG. 3 is a flowchart illustrating a first embodiment of an operation of a processor for image restoration among operations for image inpainting.
  • the processor of the device may perform operations for image inpainting.
  • the processor may include an artificial neural network, and may perform operations for image inpainting based on artificial intelligence using the artificial neural network.
  • the processor may be in a state in which the operations of steps S210 to S240 of FIG. 2 are performed.
  • the processor may analyze the pattern information of the second object.
  • the processor may analyze the pattern information of the second object by using the artificial neural network.
  • the processor may analyze the second object based on color information of pixels included in the second object, shape information of the second object, and the like, and may set an additional boundary line inside the second object based on the analysis result.
  • the processor may acquire pattern information inside the second object based on the information on the additional boundary line inside the set second object.
  • the processor may analyze attribute information of the second object.
  • the processor may analyze attribute information of the second object by using the artificial neural network.
  • the processor may analyze the second object based on color information and shape information of the second object, and may determine attribute information of the second object based on the analysis result.
  • the processor may label the attribute information on the second object.
  • the processor may additionally label the attribute information in detailed areas of the second object.
  • the processor may overlap the pattern of the second object on the area corresponding to the first object of the first image.
  • the processor may overlap the pattern of the second object in an area corresponding to the first object by using the artificial neural network. Accordingly, as a result of image inpainting by the processor, a restored first image may be obtained.
  • FIG. 4 is a flowchart illustrating a second embodiment of an operation of a processor for image restoration among operations for image inpainting.
  • the processor of the device may perform operations for image inpainting.
  • the processor may include an artificial neural network, and may perform operations for image inpainting based on artificial intelligence using the artificial neural network.
  • the processor may be in a state in which the operations of steps S210 to S240 of FIG. 2 are performed.
  • the processor may acquire a second image.
  • the processor may acquire a second image similar to the first image, which is an image inpainting target, by using the artificial neural network.
  • the processor may analyze the separate images based on the information on the pixels of the first image to obtain a second image having a similarity greater than or equal to a preset value among the separate images.
  • the processor may acquire a second image similar to the first image from among the separate images stored in the memory of the device.
  • the processor may acquire a second image similar to the first image from among separate images stored in an external database.
  • the processor may acquire a first pixel group corresponding to an area corresponding to the first object in the second image.
  • the processor may obtain a first pixel group corresponding to a region corresponding to the first object of the first image in the second image by using the artificial neural network.
  • the processor may calculate location information of a region corresponding to the first object in the first image, and apply the calculated location information to the second image to generate a first pixel group from the second image. can be obtained
  • the processor may calculate information on pixels adjacent to an area corresponding to the first object in the first image, and obtain a first pixel group from the second image based on the calculated information on the pixels.
  • the processor may correct the pixels of the first pixel group.
  • the processor may optimize the pixels of the first pixel group to the first image by correcting the pixels of the first pixel group using the artificial neural network.
  • the processor may compare color information of pixels of the first group with color information of pixels adjacent to the first object of the first image.
  • the processor is configured to: Colors of pixels of the first group may be corrected based on .
  • the processor may compare the shape information of the first group with the shape information of the first object of the first image. When the shape information of the first group does not match the shape of the first object of the first image, the processor may correct the shape of the first group based on the shape of the first object of the first image.
  • the processor may overlap the pixels of the first pixel group in an area corresponding to the first object.
  • the processor may use an artificial neural network to correct the first image by overlapping the pixels of the reconstructed first pixel group on the first image obtained from the second image. Accordingly, as a result of image inpainting by the processor, a restored first image may be obtained.
  • FIG. 5 is a conceptual diagram illustrating an embodiment of an image correction process according to each operation process for image inpainting.
  • the processor of the device may perform operations for image inpainting.
  • the processor applies an image inpainting technique to the first image of FIG. 5( a ), as shown in FIG. 5( c ).
  • a restored first image may be acquired.
  • Specific operations in which the processor acquires a reconstructed image by applying the image inpainting technique may be as follows.
  • the processor may distinguish objects 510 , 520 , and 530 included in the first image.
  • the processor may reflect color information of pixels, and the like.
  • the processor may determine a first object 510 that is a correction target object from among the objects of the first image.
  • the processor may remove the first object 510 determined as the object to be corrected from the first image.
  • the image from which the first object is removed from the first image may be as shown in FIG. 5(b) .
  • the processor may set a boundary between the second object and the third object in a region corresponding to the first object removed from the first image. Accordingly, an area corresponding to the removed first object may be divided by a boundary to correspond to the object. Specifically, the processor may set a boundary between the second object 520 and the third object 530 in an area corresponding to the first object based on pixel information of each of the second object and the third object.
  • the processor may reconstruct an area corresponding to the first object 510 based on the pixel information of the second object and the third object based on the boundary.
  • the processor may reconstruct a partial region 512 from among the regions corresponding to the first object 510 based on the pixel information of the second object, and may reconstruct the region 512 corresponding to the first object 510 based on the pixel information of the third object.
  • the remaining area 513 may be restored among the areas to be used.
  • the processor obtains the first pixel group for the partial region from the second image, which is an image separate from the first image
  • the processor places the pixels of the first pixel group into the partial region 512 of the region corresponding to the first object. can overlap.
  • the processor may overlap the pattern of the third object in a partial region 513 of the regions corresponding to the first object.
  • the restored first image may be as shown in FIG. 5( c ).
  • FIG. 6 is a flowchart illustrating an embodiment of an operation of a device for inpainting an image of a moving picture.
  • the processor of the device may perform operations for image inpainting of a moving picture including a first image and a second image.
  • the processor may include an artificial neural network, and may perform operations for image inpainting of a moving image based on artificial intelligence using the artificial neural network.
  • the processor may be in a state in which the operations of steps S210 to S240 of FIG. 2 are performed.
  • the processor may track the first object in the second image.
  • the processor may track the first object in the second image by using the artificial neural network.
  • the processor may determine, among the objects of the second image, an object having a degree of similarity to the first object in the first image equal to or greater than a preset value as the first object. That is, the processor may track an object having a similar color and shape in the second image by using the color and shape information of the first object.
  • the processor may acquire, from the first image, a second pixel group corresponding to an area corresponding to the first object included in the second image.
  • the processor may acquire a second pixel group corresponding to an area corresponding to the first object included in the second image by using the artificial neural network.
  • the processor may calculate location information of a region corresponding to the first object in the second image, and apply the calculated location information to the second image to generate a first pixel group from the second image. can be obtained
  • the processor may calculate information on pixels adjacent to an area corresponding to the first object in the second image, and obtain a second pixel group from the first image based on the calculated information on the pixels.
  • the processor may correct the pixels of the second pixel group.
  • the processor may optimize the pixels of the second pixel group to the second image by correcting the pixels of the second pixel group using the artificial neural network.
  • the processor may compare color information of pixels of the second group with color information of pixels adjacent to the first object of the second image.
  • the processor receives the color information of pixels adjacent to the first object of the second image Colors of pixels of the second group may be corrected as a reference.
  • the processor may compare the shape information of the second group with the shape information of the first object of the second image. When the shape information of the second group does not match the shape of the first object of the second image, the processor may correct the shape of the second group based on the shape of the first object of the second image.
  • the processor may overlap the pixels of the second pixel group in the area corresponding to the first object.
  • the processor may correct the second image by overlapping the pixels of the reconstructed second pixel group on the second image obtained from the first image using the artificial neural network. Accordingly, as a result of image inpainting by the processor, a moving picture including the restored first image and the restored second image may be obtained.
  • FIG. 7 is a conceptual diagram illustrating an embodiment of an image correction process according to each operation process for image inpainting of a moving picture.
  • the processor of the device applies an image inpainting technique to a moving picture including the first image 710 and the second image 720 , and includes the restored first image 730 and the restored second image 740 .
  • Operations for generating a video may be performed.
  • An operation for generating a moving picture including the restored images may be as follows.
  • the processor may distinguish objects included in the first image 710 .
  • the processor may determine a first object 711 that is a correction target object from among the objects of the first image 710 .
  • the processor may track the first object 721 in the second image 720 . Specifically, the processor may determine, among the objects of the second image 720 , as the first object 721 , an object having a degree of similarity with the first object 711 in the first image 710 equal to or greater than a preset value. . The processor may identify the objects included in the second image 720 while tracking the first object 721 in the second image 720 .
  • the processor may obtain, from the second image 720 , a first pixel group 722 corresponding to an area corresponding to the first object 711 included in the first image 710 .
  • the processor may obtain, from the first image 710 , a second pixel group 712 corresponding to an area corresponding to the first object 721 included in the second image 720 .
  • the processor may further correct pixels of the first pixel group and the second pixel group. For example, the processor based on the comparison result of 720 of the first image 710 and the second image, based on the degree of change of each of the objects of the first image 710 and the second image 720 . Pixels of the first pixel group and the second pixel group may be further corrected.
  • the processor may overlap the pixels of the first pixel group 722 in an area corresponding to the first object 711 in the first image 710 .
  • the processor may overlap the pixels of the first pixel group 722 in a region corresponding to the first object 711 in the first image 710 .
  • the processor may generate a moving picture including the restored first image 730 and the restored second image 740 .
  • FIG. 8 is a flowchart illustrating an embodiment of an artificial neural network learning operation of a device for image inpainting.
  • a processor performing operations for image inpainting of a moving picture may include an artificial neural network and may perform operations for learning of the artificial neural network.
  • the processor may be in a state in which the operations of steps S210 to S240 of FIG. 2 are performed.
  • the processor may insert a first object into an existing first image and perform an operation of reconstructing the first image into which the first object is inserted at least once or more.
  • the processor may perform an operation for learning the artificial neural network based on a comparison result between the existing first image and the restored first image obtained as a result of the restoration operation, and specific operations may be as follows.
  • the processor may compare the first image with the first image restored as a result of image inpainting.
  • the processor may compare information on objects included in the first image with information on objects included in the restored first image.
  • the processor may compare information on each of the pixels of the first image with information on each of the pixels of the reconstructed first image.
  • the information of the pixels compared by the processor may include color information of the pixel and the like.
  • the processor may calculate a difference value between the first image and the object classification result included in the restored first image.
  • the processor may calculate a difference value between the objects included in the first image and the objects included in the restored first image, and the calculated difference value may be a value such as a difference between ranges of the objects.
  • the processor may calculate a difference value between the first image and the first region restoration result of the restored first image.
  • the processor may calculate a difference value between the restoration result of the region corresponding to the first object and the first image.
  • the calculated difference value may be a difference value between information on pixels included in the region corresponding to the first object and information on a boundary line for distinguishing other objects in the region corresponding to the first object.
  • the processor may update the weight vector of the artificial neural network based on the difference value between the first image and the reconstructed first image.
  • the processor may update the weight vector of the artificial neural network by applying the backpropagation method. Specifically, the processor may backpropagate a difference value between the objects included in the first image and the objects included in the restored first image to the artificial neural network to update the weight vector of the artificial neural network for object classification. In addition, the processor may backpropagate a difference value between the first image and the first region restoration result of the restored first image to the artificial neural network to update the weight vector of the artificial neural network for image restoration.
  • FIG. 9 is a conceptual diagram illustrating an embodiment of a process of performing an artificial neural network learning operation of a device for image inpainting.
  • a processor performing operations for image inpainting may include an artificial neural network network, and may perform operations for learning the artificial neural network.
  • the processor inserts the first object 921 into the existing first image 910 to perform operations for learning the artificial neural network, and inserts the image into the first image 920 into which the first object 910 is inserted.
  • the operation of applying the inpainting technique may be performed at least once.
  • the processor may perform an operation for learning the artificial neural network based on a comparison result between the existing first image 910 and the restored first image 930 obtained as a result of the restoration operation.
  • the first image may be an image previously stored in a database or memory.
  • the processor may compare the first image 910 with the reconstructed first image 930 .
  • the processor may compare information on objects included in the first image 910 with information on objects included in the restored first image 930 .
  • the processor may compare information on each of the pixels of the first image 910 with information on each of the pixels of the reconstructed first image 930 .
  • the processor may calculate a difference value of a result of classification between the first image 910 and objects included in the restored first image 930 .
  • the processor may calculate a difference value between the first region restoration result of the first image 910 and the restored first image 930 .
  • the processor may update the weight vector of the artificial neural network based on a difference value between the first image 910 and the reconstructed first image 930 .
  • the processor backpropagates the difference value between the objects included in the first image 910 and the objects included in the restored first image 930 to the artificial neural network to update the weight vector of the artificial neural network for object classification.
  • the processor backpropagates the difference value between the first image 910 and the restoration result of the first region 921 of the restored first image 930 to the artificial neural network to update the weight vector of the artificial neural network for image restoration.
  • the boundary between the second object and the third object used to restore the first area may be divided according to the area occupied by the second object and the third object in the entire image. This is for simple convenience and may be used when restoring an area having a size smaller than a predetermined size.
  • the image area occupied by the second object in the entire image is larger than that of the third object.
  • the image area corresponding to the second object in the restored first area may be larger than the image area corresponding to the third object.
  • the ratio of the area occupied by the second object to the area occupied by the third object in the entire image and the ratio of the image area corresponding to the second object to the image area corresponding to the third object in the restored first area may be the same.
  • the methods according to the present invention may be implemented in the form of program instructions that can be executed by 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.
  • the program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.
  • Examples of computer-readable media include hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as at least one software module to perform the operations of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

이미지 인페인팅을 위한 동작 방법은, 제1 이미지의 픽셀들 각각의 정보를 기초로 상기 제1 이미지에 포함된 객체들을 구분하는 단계, 상기 객체들 중 보정 대상 객체인 제1 객체를 결정하는 단계; 상기 제1 이미지에서 제거된 상기 제1 객체에 상응하는 영역에서의 제2 객체와 제3 객체 간의 경계를 설정하는 단계 및 상기 경계를 기준으로, 상기 제1 객체에 상응하는 영역을 상기 제2 객체 및 상기 제3 객체의 픽셀 정보에 기초하여 복원하는 단계를 포함할 수 있다. 본 발명에 의하면, 인공지능을 기반으로 이미지를 분석하여, 이미지를 객체별로 구분하고, 구분된 객체들 중 적어도 하나 이상의 객체를 제거한 후, 이미지를 복원함으로써, 사용자에게 보다 용이한 이미지 인페인팅 서비스를 제공할 수 있는 이점이 있다.

Description

인공지능 기반 이미지 인페인팅 방법 및 디바이스
본 발명은 이미지 인페인팅 방법에 관한 것으로서, 보다 구체적으로, 인공지능을 기반으로 이미지의 픽셀들을 분석함으로써 이미지 및 동영상에서의 특정 개체를 제거하고, 제거된 부분을 복원하는 이미지 인페인팅 방법에 관한 것이다.
이미지 인페인팅(image inpainting) 기술은 손상된 예술 작품 등의 복원으로부터 시작된 기술로, 현재 이미지 인페인팅 기술은 그림, 사진, 동영상 등의 이미지에서 손상된 부분을 복원하거나 이미지 중에서 일부분을 제거하는 것과 같은 다양한 용도로 사용된다.
이미지 중에서 복원할 영역이 존재하는 경우에 이미지 인페인팅 기술은 이미지의 복원할 영역의 경계 부분에 인접한 배경 이미지 영역의 픽셀들을 보정하고, 보정된 픽셀들로 복원할 영역을 채우는 기술이다. 여기서 배경 이미지 영역은 원본 이미지에서 복원할 영역을 제외한 나머지 영역을 의미할 수 있다.
다만, 이미지 인페인팅 기술은 전문적인 이미지 편집자에 의해 수행되는 경우가 대부분이며, 전문적인 이미지 편집자에게도 이미지 인페인팅을 위한 편집 동작은 고도의 집중도를 요구하는 작업일 수 있다. 따라서, 생활 속에서 촬영한 이미지의 이미지 인페인팅이 필요한 일반인들은 이미지 인페인팅 기술을 이용하기 어려운 문제점이 있다.
이렇듯, 이미지 인페인팅 기술에 대한 접근성을 높이고, 이미지 인페인팅의 정확도를 높이기 위해서, 인공지능 기반 이미지 인페인팅 방법과 이미지 인페인팅 방법을 수행하는 디바이스 및 어플리케이션 등을 제공하는 것이 필요하게 되었다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 인공지능을 기반으로 이미지를 분석하여, 이미지를 객체별로 구분하고, 구분된 객체들 중 적어도 하나 이상의 객체를 제거한 후, 이미지를 복원하는 인공지능 기반 이미지 인페인팅 방법을 제공하는 데 있다. 상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은 인공지능을 기반으로 이미지 인페인팅을 수행하는 디바이스의 인공 신경망 및 가중치 벡터를 업데이트함으로써, 이미지 인페인팅을 위한 인공 신경망의 학습 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 이미지 인페인팅을 위한 동작 방법은, 제1 이미지의 픽셀들 각각의 정보를 기초로 상기 제1 이미지에 포함된 객체들을 구분하는 단계; 상기 객체들 중에서 보정 대상 객체인 제1 객체를 결정하는 단계, 상기 제1 이미지에서 제거된 상기 제1 객체에 상응하는 제1 영역에서의 제2 객체와 제3 객체 간의 경계를 설정하는 단계 및 상기 경계를 기준으로, 상기 제1 영역을 상기 제2 객체 및 상기 제3 객체의 픽셀 정보에 기초하여 복원하는 단계를 포함할 수 있다.
여기서, 상기 제1 영역에서의 제2 객체와 제3 객체 간의 경계를 설정하는 단계에서는, 상기 제2 객체 및 상기 제3 객체 각각의 픽셀 정보 및 상기 제2 객체 및 상기 제3 객체 각각의 속성 정보 중 적어도 하나의 정보를 기초로 설정할 수 있다.
여기서, 상기 제1 영역을 복원하는 단계 이후에, 상기 제2 객체의 적어도 일부의 영역의 픽셀 정보를 기초로 상기 제2 객체의 패턴 정보를 분석하는 단계 및 상기 경계에 의해 구분되는 상기 제1 영역 중 적어도 일부의 영역에 상기 제2 객체의 패턴을 오버랩하는 단계를 포함할 수 있다.
여기서, 상기 제1 영역을 복원하는 단계 이후에, 상기 제1 이미지를 포함하는 동영상에서, 별도의 제2 이미지를 획득하는 단계; 상기 제2 이미지에서, 상기 제1 영역에 대응되는 픽셀들의 집합인 제1 픽셀 그룹의 정보를 획득하는 단계 및 상기 제1 이미지의 상기 제1 영역에 상기 제1 픽셀 그룹을 오버랩하는 단계를 포함할 수 있다.
여기서, 상기 제1 픽셀 그룹을 보정하는 단계를 포함하고, 상기 제1 픽셀 그룹을 오버랩하는 단계에서는, 상기 보정된 픽셀들을 상기 제1 영역에 오버랩 할 수 있다.
여기서, 상기 제2 이미지에서, 제2 영역에 위치하는 상기 제1 객체를 트래킹하는 단계; 상기 제1 이미지에서, 상기 제2 영역에 대응되는 픽셀들의 집합인 제2 픽셀 그룹의 정보를 획득하는 단계 및 상기 제2 이미지의 상기 제2 영역에 상기 제2 픽셀 그룹을 오버랩하는 단계를 포함할 수 있다.
여기서, 상기 제1 이미지에 포함된 객체들을 구분하는 단계는, 인공 신경망을 이용하여 수행되고, 상기 인공 신경망의 가중치 벡터는, 상기 제1 이미지의 미리 설정된 객체들의 정보 및 상기 제1 이미지의 픽셀들 각각의 정보를 기초로 구분된 객체들 간의 차이값을 기초로 업데이트되는 가중치 벡터를 포함할 수 있다.
여기서, 상기 제1 객체에 상응하는 영역을 복원하는 단계는, 인공 신경망을 이용하여 수행되고, 상기 인공 신경망의 가중치 벡터는, 상기 제1 이미지의 미리 설정된 상기 제1 객체에 상응하는 영역에서의 픽셀들의 정보 및 복원된 상기 제1 객체에 상응하는 영역에서의 픽셀들의 정보 간의 차이값을 기초로 업데이트되는 가중치 벡터를 포함할 수 있다.
본 발명에 의하면, 인공지능을 기반으로 이미지를 분석하여, 이미지를 객체별로 구분하고, 구분된 객체들 중 적어도 하나 이상의 객체를 제거한 후, 이미지를 복원함으로써, 사용자에게 보다 용이한 이미지 인페인팅 서비스를 제공할 수 있는 이점이 있다.
본 발명에 의하면, 인공지능을 기반으로 이미지 인페인팅을 수행하는 디바이스는 인공 신경망 및 가중치 벡터를 지속적으로 업데이트하는 학습 동작을 수행함으로써, 사용자에게 보다 정확한 이미지 인페인팅 서비스를 제공할 수 있는 이점이 있다.
도 1은 단말의 구조의 제1 실시예를 도시한 블록도이다.
도 2는 이미지 인페인팅을 위한 디바이스의 동작의 일 실시예를 도시한 흐름도이다.
도 3은 이미지 인페인팅을 위한 동작들 중 이미지의 복원을 위한 프로세서의 동작의 제1 실시예를 도시한 흐름도이다.
도 4는 이미지 인페인팅을 위한 동작들 중 이미지의 복원을 위한 프로세서의 동작의 제2 실시예를 도시한 흐름도이다.
도 5는 이미지 인페인팅을 위한 동작 과정 각각에 따른 이미지의 보정 과정의 일 실시예를 도시한 개념도이다.
도 6은 동영상의 이미지 인페인팅을 위한 디바이스의 동작의 일 실시예를 도시한 흐름도이다.
도 7은 동영상의 이미지 인페인팅을 위한 동작 과정 각각에 따른 이미지의 보정 과정의 일 실시예를 도시한 개념도이다.
도 8은 이미지 인페인팅을 위한 디바이스의 인공 신경망 학습 동작의 일 실시예를 도시한 흐름도이다.
도 9는 이미지 인페인팅을 위한 디바이스의 인공 신경망 학습 동작 수행 과정의 일 실시예를 도시한 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 단말의 구조의 제1 실시예를 도시한 블록도이다.
도 1을 참고하면, 단말은 카메라(110), 프로세서(120), 디스플레이(130) 및 메모리(140)를 포함할 수 있다. 카메라(110)는 이미지 센서(111), 버퍼(112), 전처리 모듈(113), 리사이저(114) 및 제어기(115)를 포함할 수 있다. 카메라(110)는 외부 영역의 이미지를 획득할 수 있다. 카메라(110)는 이미지 센서(111)에 의해 생성된 로우 데이터를 카메라의 버퍼(112)에 저장할 수 있다. 로우 데이터는 카메라(110) 내의 제어기(115) 또는 프로세서(120)에 의해 처리될 수 있다. 처리된 데이터는 디스플레이(140) 또는 인코더(123)로 전달될 수도 있다. 또는, 로우 데이터는 처리된 후 버퍼(112)에 저장될 수 있고, 버퍼(112)로부터 디스플레이(140) 또는 인코더(174)로 전달될 수 있다. 카메라(110)에 의해 획득된 이미지는 장방형(ERP: equirectangular) 이미지, 파노라마 이미지, 원형 어안 이미지, 구형(spherical) 이미지 또는 3차원 이미지의 일부일 수 있다.
이미지 센서(111)는 외부로부터 입사된 광을 감지함으로써 로우 데이터를 수집할 수 있다. 이미지 센서(111)는, 예를 들어, CCD(charge coupled device), CMOS(Complementary Metal Oxide Semiconductor) 이미지 센서 또는 IR(infrared) 광센서(150) 중 적어도 하나의 센서를 포함할 수 있다. 이미지 센서(111)는 제어기(115)에 의해 제어될 수 있다.
전처리 모듈(113)은 이미지 센서(111)에 의해 획득된 로우 데이터를 컬러 스페이스(color space) 형태로 변환할 수 있다. 컬러 스페이스는 YUV 컬러 스페이스, RGB(red green blue) 컬러 스페이스 및 RGBA(red green blue alpha) 컬러 스페이스 중 하나일 수 있다. 전처리 모듈(113)은 컬러 스페이스 형태로 변환된 데이터를 버퍼(112) 또는 프로세서(120)로 전달할 수 있다.
전처리 모듈(113)은 수신한 로우 데이터에 포함된 이미지의 에러 또는 왜곡을 보정할 수 있다. 그리고 전처리 모듈(113)은 로우 데이터에 포함된 이미지의 색상 또는 크기 등을 조절할 수 있다. 전처리 모듈(113)은, 예를 들어, BPC(bad pixel correction), LS(lens shading), 디모자이킹(demosaicing), WB(white balance), 감마 보정(gamma correction), CSC(color space conversion), HSC(hue, saturation, contrast) 개선, 크기 변환, 필터링 및 이미지 분석 중 적어도 하나의 동작을 수행할 수 있다.
단말의 프로세서(120)는 관리 모듈(121), 이미지 처리 모듈(122), 및 인코더(123)를 포함할 수 있다. 관리 모듈(121), 이미지 처리 모듈(122), 및 인코더(123)는 프로세서(120) 내에 포함된 하드웨어 모듈일 수도 있고, 프로세서(290)에 의해 실행될 수 있는 소프트웨어 모듈일 수도 있다. 도 1을 참조하면, 관리 모듈(121), 이미지 처리 모듈(122), 및 인코더(123)는 프로세서(120) 내에 포함된 것으로 도시되었으나, 이에 제한되지 않을 수 있다. 관리 모듈(121), 이미지 처리 모듈(122), 및 인코더(123) 중 일부는 프로세서(120)와 별도의 모듈로 구현될 수도 있다.
일 실시 예에 따르면, 관리 모듈(121)은 단말에 포함된 카메라(110)를 제어할 수 있다. 관리 모듈(121)은 카메라(110)의 초기화, 카메라(110)의 전원 입력 모드 및 카메라(110)의 동작을 제어할 수 있다. 그리고 관리 모듈(121)은 카메라(110)에 포함된 버퍼(112)의 이미지 처리 동작, 캡쳐된 이미지 프로세싱(captured image processing), 이미지의 크기 등을 제어할 수 있다.
관리 모듈(121)은 제1 전자 장치(100)가 자동 초점, 자동 노출, 해상도, 비트 레이트, 프레임 레이트, 카메라 파워 모드, VBI, 줌, 감마 또는 화이트 밸런스 등을 조절하도록 제1 전자 장치(100)를 제어할 수 있다. 관리 모듈(121)은 획득한 이미지를 이미지 처리 모듈(122)에 전달하고, 처리를 수행하도록 이미지 처리 모듈(122)을 제어할 수 있다.
관리 모듈(121)은 획득한 이미지를 인코더(123)로 전달할 수 있다. 그리고 관리 모듈(121)은 인코더(123)를 제어하여 획득한 이미지를 인코딩하도록 할 수 있다.
이미지 처리 모듈(122)은 관리 모듈(121)로부터 이미지를 획득할 수 있다. 이미지 처리 모듈(122)은 획득한 이미지의 처리 동작을 수행할 수 있다. 구체적으로, 이미지 처리 모듈(122)은 획득한 이미지의 노이즈 제거(noise reduction), 필터링, 이미지 합성(image synthesize), 색상 보정(color correction), 색 변환(color conversion), 이미지 변환(transformation), 3D 모델링, 이미지 드로잉, AR(augmented reality)/VR(virtual reality) 처리, 동적 범위 조절(dynamic range adjusting), 원근감(perspective) 조절, 시어링(shearing), 리사이징, 에지 추출, ROI(region of interest) 판단, 이미지 정합(matching) 및/또는 이미지 분할(segmentation) 등을 수행할 수 있다. 이미지 처리 모듈(122)은 복수의 이미지의 합성, 스테레오스코픽 이미지 생성 또는 깊이 기반 파노라마 이미지 생성 등과 같은 처리를 수행할 수도 있다.
도 2는 이미지 인페인팅을 위한 디바이스의 동작의 일 실시예를 도시한 흐름도이다.
도 2를 참조하면, 디바이스의 프로세서는 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 인공 신경망 네트워크(artificial neural network, ANN)를 포함할 수 있으며, 인공 신경망을 이용하여 인공지능 기반의 이미지 인페인팅을 위한 동작들을 수행할 수 있다.
S210단계에서, 프로세서는 제1 이미지에 포함된 객체들을 구분할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제1 이미지에 포함된 객체들을 구분할 수 있다. 예를 들어, 프로세서는 제1 이미지에 포함된 픽셀들의 정보를 기초로 제1 이미지에 포함된 복수개의 개체들을 구분할 수 있다. 프로세서는 제1 이미지에 포함된 객체들을 구분함에 있어, 픽셀들의 색상 정보 등을 반영할 수 있다. 인접한 서로 다른 픽셀들의 색상 정보 값의 차이가 미리 설정된 값 이하인 경우, 프로세서는 제1 이미지에 포함된 객체들을 구분함에 있어, 인접한 서로 다른 픽셀들을 동일 및/또는 유사한 객체의 이미지로부터 획득한 픽셀임을 판단할 수 있다.
S220단계에서, 프로세서는 제1 이미지의 객체들 중에서 보정 대상 객체인 제1 객체를 결정할 수 있다. 또는 프로세서는 제1 이미지에 포함된 객체들의 색상 정보(ex 객체들 각각에 포함된 rgb등의 색상값 정보), 형상 정보 등을 기초로 객체들 각각을 분석할 수 있으며, 객체들 각각의 분석 결과를 기초로 보정 대상 객체인 제1 객체를 결정할 수 있다. 즉, 객체들 각각의 색상 정보 또는 형상 정보 등을 기초로 객체들 중에서 보정 대상 객체인 제1 객체를 결정할 수 있다. 또한, 프로세서는 사용자로부터의 입력 정보(ex 복수의 객체 중에서 사용자의 선택)를 기초로 제1 이미지의 객체들 중에서 보정 대상 객체인 제1 객체를 결정할 수 있다. 즉, 프로세서는 사용자로부터의 입력을 감지하여 선택된 객체를 제1 객체로 결정할 수 있는 것이다. 다음으로, 프로세서는 제1 이미지에서 보정 대상 객체로 결정된 제1 객체를 제거할 수 있다.
S230단계에서, 프로세서는 제1 이미지에서 제거된 제1 객체에 상응하는 영역에서의 제2 객체와 제3 객체 간의 경계를 설정할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제1 이미지에서 제거된 제1 객체에 상응하는 영역에서의 제2 객체와 제3 객체 간의 경계를 설정할 수 있다. 구체적으로, 프로세서는 제2 객체 및 제3 객체 각각의 픽셀 정보를 기초로 제1 객체에 상응하는 영역에서의 제2 객체와 제3 객체 간의 경계를 설정할 수 있다. 프로세서는 제2 객체 및 제3 객체 각각의 속성 정보 중 적어도 하나의 정보를 기초로 제1 객체에 상응하는 영역에서의 제2 객체와 제3 객체 간의 경계를 설정할 수 있다. 즉, 프로세서는 제1 이미지의 제1 객체에 상응하는 영역을 제2 객체와 연관되는 (a) 영역과 제3 객체에 연관되는 (b) 영역으로 구분할 수 있으며, (a) 영역과 (b) 영역 간의 경계를 설정할 수 있다.
S240단계에서, 프로세서는 경계를 기준으로, 제1 객체에 상응하는 영역을 제2 객체 및 제3 객체의 픽셀 정보를 기초로 복원할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제1 객체에 상응하는 영역을 제2 객체 및 제3 객체의 픽셀 정보를 기초로 복원할 수 있다. 즉, 프로세서는 제2 객체의 픽셀 정보를 기초로 제1 이미지의 (a) 영역을 복원할 수 있으며, 제3 객체의 픽셀 정보를 기초로 제1 이미지의 (b) 영역을 복원할 수 있다. 따라서, 프로세서에 의한 이미지 인페인팅 결과, 프로세서는 복원된 제1 이미지를 획득할 수 있다.
도 3은 이미지 인페인팅을 위한 동작들 중 이미지의 복원을 위한 프로세서의 동작의 제1 실시예를 도시한 흐름도이다.
도 3을 참조하면, 디바이스의 프로세서는 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 인공 신경망 네트워크를 포함할 수 있으며, 인공 신경망을 이용하여 인공지능 기반의 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 도 2의 S210 단계 내지 S240 단계의 동작을 수행한 상태일 수 있다.
S310단계에서, 프로세서는 제2 객체의 패턴 정보를 분석할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 객체의 패턴 정보를 분석할 수 있다. 프로세서는 제2 객체에 포함된 픽셀들의 색상 정보, 및 제2 객체의 형상 정보 등을 기초로 제2 객체를 분석할 수 있으며, 분석 결과를 기초로 제2 객체 내부에 추가 경계선을 설정할 수 있다. 프로세서는 설정된 제2 객체 내부에 추가 경계선에 관한 정보를 기초로 제2 객체 내부의 패턴 정보를 획득할 수 있다.
S320단계에서, 프로세서는 제2 객체의 속성 정보를 분석할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 객체의 속성 정보를 분석할 수 있다. 프로세서는 제2 객체의 색상 정보, 형상 정보 등을 기초로 제2 객체를 분석할 수 있으며, 분석 결과를 기초로 제2 객체의 속성 정보를 결정할 수 있다. 프로세서는 제2 객체에 속성 정보를 라벨링할 수 있다. 제2 객체 내부에 패턴 정보를 획득한 경우, 프로세서는 제2 객체의 세부 영역들에 추가적으로 속성 정보를 라벨링할 수 있다.
S330단계에서, 프로세서는 제1 이미지의 제1 객체에 상응하는 영역에 제2 객체의 패턴을 오버랩 할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제1 객체에 상응하는 영역에 제2 객체의 패턴을 오버랩 할 수 있다. 따라서, 프로세서에 의한 이미지 인페인팅 결과, 복원된 제1 이미지를 획득할 수 있다.
도4는 이미지 인페인팅을 위한 동작들 중 이미지의 복원을 위한 프로세서의 동작의 제2 실시예를 도시한 흐름도이다.
도 4를 참조하면, 디바이스의 프로세서는 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 인공 신경망 네트워크를 포함할 수 있으며, 인공 신경망을 이용하여 인공지능 기반의 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 도 2의 S210 단계 내지 S240 단계의 동작을 수행한 상태일 수 있다.
S410단계에서, 프로세서는 제2 이미지를 획득할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 이미지 인페인팅 대상인 제1 이미지와 유사한 제2 이미지를 획득할 수 있다. 프로세서는 제1 이미지의 픽셀들의 정보를 기초로 별도의 이미지들을 분석하여, 별도의 이미지들 중 미리 설정된 값 이상의 유사도를 갖는 제2 이미지를 획득할 수 있다. 프로세서는 디바이스의 메모리에 저장된 별도의 이미지들 중에서 제1 이미지와 유사한 제2 이미지를 획득할 수 있다. 또는 프로세서는 외부의 데이터베이스에 저장된 별도의 이미지들 중에서 제1 이미지와 유사한 제2 이미지를 획득할 수 있다.
S420단계에서, 프로세서는 제2 이미지에서 제1 객체에 상응하는 영역에 대응되는 제1 픽셀 그룹을 획득할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 이미지에서 제1 이미지의 제1 객체에 상응하는 영역에 대응되는 제1 픽셀 그룹을 획득할 수 있다.
일 실시예에 따르면, 프로세서는 제1 이미지에서의 제1 객체에 상응하는 영역의 위치 정보를 산출할 수 있으며, 산출한 위치 정보를 제2 이미지에 적용하여, 제2 이미지로부터 제1 픽셀 그룹을 획득할 수 있다.
다른 실시예에 따르면, 프로세서는 제1 이미지에서의 제1 객체에 상응하는 영역에 인접한 픽셀들의 정보를 산출할 수 있으며, 산출한 픽셀들의 정보를 기초로 제2 이미지로부터 제1 픽셀 그룹을 획득할 수 있다.
S430단계에서, 프로세서는 제1 픽셀 그룹의 픽셀들을 보정할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제1 픽셀 그룹의 픽셀들을 보정함으로써, 제1 픽셀 그룹의 픽셀들을 제1 이미지에 최적화시킬 수 있다.
일 실시예에 따르면, 프로세서는 제1 그룹의 픽셀들의 색상 정보와 제1 이미지의 제1 객체에 인접한 픽셀들의 색상 정보를 비교할 수 있다. 제1 그룹의 픽셀들의 색상 정보 값과 제1 이미지의 제1객체에 인접한 픽셀들의 색상 정보 값의 차이가 미리 설정된 값을 초과하는 경우, 프로세서는 제1 이미지의 제1 객체에 인접한 픽셀들의 색상 정보를 기준으로 제1 그룹의 픽셀들의 색상을 보정할 수 있다.
다른 실시예에 따르면, 프로세서는 제1 그룹의 형상 정보와 제1 이미지의 제1 객체의 형상 정보를 비교할 수 있다. 제1 그룹의 형상 정보와 제1 이미지의 제1 객체의 형상이 일치하지 않는 경우, 프로세서는 제1 이미지의 제1 객체의 형상을 기준으로, 제1 그룹의 형상을 보정할 수 있다.
S440단계에서, 프로세서는 제1 픽셀 그룹의 픽셀들을 제1 객체에 상응하는 영역에 오버랩 할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 이미지로부터 획득하고, 복원된 제1 픽셀 그룹의 픽셀들을 제1 이미지에 오버랩하여, 제1 이미지를 보정할 수 있다. 따라서, 프로세서에 의한 이미지 인페인팅 결과, 복원된 제1 이미지를 획득할 수 있다.
도 5는 이미지 인페인팅을 위한 동작 과정 각각에 따른 이미지의 보정 과정의 일 실시예를 도시한 개념도이다.
도 5를 참조하면, 디바이스의 프로세서는 이미지 인페인팅을 위한 동작들을 수행할 수 있다.프로세서는 도 5(a)의 제1 이미지에 이미지 인페인팅 기법을 적용하여, 도 5(c)에 도시된 복원된 제1 이미지를 획득할 수 있다. 프로세서가 이미지 인페인팅 기법을 적용하여 복원된 이미지를 획득하는 구체적인 동작들은 아래와 같을 수 있다.
도 5(a)를 참조하면, 프로세서는 제1 이미지에 포함된 객체들(510, 520, 530)을 구분할 수 있다. 프로세서는 제1 이미지에 포함된 객체들(510, 520, 530)을 구분함에 있어, 픽셀들의 색상 정보 등을 반영할 수 있다.
프로세서는 제1 이미지의 객체들 중에서 보정 대상 객체인 제1 객체(510)를 결정할 수 있다. 프로세서는 제1 이미지에서 보정 대상 객체로 결정된 제1 객체(510)를 제거할 수 있다. 제1 이미지에서 제1 객체가 제거된 이미지는 도 5(b)에 도시된 바와 같을 수 있다.
도 5(b)를 참조하면, 프로세서는 제1 이미지에서 제거된 제1 객체에 상응하는 영역에서의 제2 객체와 제3 객체 간의 경계를 설정할 수 있다. 따라서, 제거된 제1 객체에 상응하는 영역은 객체에 상응하도록 경계에 의해 구분될 수 있다. 구체적으로, 프로세서는 제2 객체 및 제3 객체 각각의 픽셀 정보를 기초로 제1 객체에 상응하는 영역에서의 제2 객체(520)와 제3 객체(530) 간의 경계를 설정할 수 있다.
프로세서는 경계를 기준으로, 제1 객체(510)에 상응하는 영역을 제2 객체 및 제3 객체의 픽셀 정보를 기초로 복원할 수 있다. 프로세서는 제2 객체의 픽셀 정보를 기초로 제1 객체(510)에 상응하는 영역 중에서 일부 영역(512)을 복원할 수 있으며, 제3 객체의 픽셀 정보를 기초로 제1 객체(510)에 상응하는 영역 중에서 나머지 영역(513) 영역을 복원할 수 있다. 프로세서가 제1 이미지와 별도의 이미지인 제2 이미지로부터 일부 영역에 관한 제1 픽셀 그룹을 획득한 경우, 프로세서는 제1 픽셀 그룹의 픽셀들을 제1 객체에 상응하는 영역 중에서 일부 영역(512)에 오버랩 할 수 있다. 또는 프로세서가 제3 객체의 패턴 정보를 획득한 경우, 프로세서는 제1 객체에 상응하는 영역 중에서 일부 영역(513)에 제3 객체의 패턴을 오버랩 할 수 있다. 복원된 제1 이미지는 도 5(c)에 도시된 바와 같을 수 있다.
도 6은 동영상의 이미지 인페인팅을 위한 디바이스의 동작의 일 실시예를 도시한 흐름도이다.
도 6을 참조하면, 디바이스의 프로세서는 제1 이미지 및 제2 이미지를 포함하는 동영상의 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 인공 신경망 네트워크를 포함할 수 있으며, 인공 신경망을 이용하여 인공지능 기반의 동영상의 이미지 인페인팅을 위한 동작들을 수행할 수 있다. 프로세서는 도 2의 S210 단계 내지 S240 단계의 동작을 수행한 상태일 수 있다.
S610단계에서, 프로세서는 제2 이미지에서의 제1 객체를 트래킹할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 이미지에서의 제1 객체를 트랙킹할 수 있다. 프로세서는 제2 이미지의 객체들 중, 제1 이미지에서의 제1 객체와의 유사도가 미리 설정된 값 이상인 객체를 제1 객체로 판단할 수 있다. 즉, 프로세서는 제1 객채의 색채, 형상 정보 등을 이용하여, 제2 이미지에서 유사한 색채 및 형상을 갖는 객체를 트랙킹할 수 있다.
S620단계에서, 프로세서는 제1 이미지에서, 제2 이미지에 포함된 제1 객체에 상응하는 영역에 대응되는 제2 픽셀 그룹을 획득할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 이미지에 포함된 제1 객체에 상응하는 영역에 대응되는 제2 픽셀 그룹을 획득할 수 있다.
일 실시예에 따르면, 프로세서는 제2 이미지에서의 제1 객체에 상응하는 영역의 위치 정보를 산출할 수 있으며, 산출한 위치 정보를 제2 이미지에 적용하여, 제2 이미지로부터 제1 픽셀 그룹을 획득할 수 있다.
다른 실시예에 따르면, 프로세서는 제2 이미지에서의 제1 객체에 상응하는 영역에 인접한 픽셀들의 정보를 산출할 수 있으며, 산출한 픽셀들의 정보를 기초로 제1 이미지로부터 제2 픽셀 그룹을 획득할 수 있다.
S630단계에서, 프로세서는 제2 픽셀 그룹의 픽셀들을 보정할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제2 픽셀 그룹의 픽셀들을 보정함으로써, 제2 픽셀 그룹의 픽셀들을 제2 이미지에 최적화시킬 수 있다.
일 실시예에 따르면, 프로세서는 제2 그룹의 픽셀들의 색상 정보와 제2 이미지의 제1 객체에 인접한 픽셀들의 색상 정보를 비교할 수 있다. 제2 그룹의 픽셀들의 색상 정보 값과 제2 이미지의 제1객체에 인접한 픽셀들의 색상 정보 값의 차이가 미리 설정된 값을 초과하는 경우, 프로세서는 제2 이미지의 제 객체에 인접한 픽셀들의 색상 정보를 기준으로 제2 그룹의 픽셀들의 색상을 보정할 수 있다.
다른 실시예에 따르면, 프로세서는 제2 그룹의 형상 정보와 제2 이미지의 제1 객체의 형상 정보를 비교할 수 있다. 제2 그룹의 형상 정보와 제2 이미지의 제1 객체의 형상이 일치하지 않는 경우, 프로세서는 제2 이미지의 제1 객체의 형상을 기준으로, 제2 그룹의 형상을 보정할 수 있다.
S640단계에서, 프로세서는 제2 픽셀 그룹의 픽셀들을 제1 객체에 상응하는 영역에 오버랩 할 수 있다. 프로세서는 인공 신경망 네트워크를 이용하여, 제1 이미지로부터 획득하고, 복원된 제2 픽셀 그룹의 픽셀들을 제2 이미지에 오버랩하여, 제2 이미지를 보정할 수 있다. 따라서, 프로세서에 의한 이미지 인페인팅 결과, 복원된 제1 이미지와 복원된 제2 이미지를 포함하는 동영상을 획득할 수 있다.
도 7은 동영상의 이미지 인페인팅을 위한 동작 과정 각각에 따른 이미지의 보정 과정의 일 실시예를 도시한 개념도이다.
디바이스의 프로세서는 제1 이미지(710) 및 제2 이미지(720)를 포함하는 동영상에 이미지 인페인팅 기법을 적용하여, 복원된 제1 이미지(730) 및 복원된 제2 이미지(740)를 포함하는 동영상을 생성하기 위한 동작들을 수행할 수 있다. 복원된 이미지들을 포함하는 동영상을 생성하기 위한 동작은 아래와 같을 수 있다.
프로세서는 제1 이미지(710)에 포함된 객체들을 구분할 수 있다. 그리고, 프로세서는 제1 이미지(710)의 객체들 중에서 보정 대상 객체인 제1 객체(711)를 결정할 수 있다.
프로세서는 제2 이미지(720)에서의 제1 객체(721)를 트래킹할 수 있다. 구체적으로, 프로세서는 제2 이미지(720)의 객체들 중, 제1 이미지(710)에서의 제1 객체(711)와의 유사도가 미리 설정된 값 이상인 객체를 제1 객체(721)로 판단할 수 있다. 프로세서는 제2 이미지(720)에서의 제1 객체(721)를 트래킹하는 동시에 제2 이미지(720)에 포함된 객체들을 구분할 수 있다.
프로세서는 제2 이미지(720)에서, 제1 이미지(710)에 포함된 제1 객체(711)에 상응하는 영역에 대응되는 제1 픽셀 그룹(722)을 획득할 수 있다. 그리고 프로세서는 제1 이미지(710)에서, 제2 이미지(720)에 포함된 제1 객체(721)에 상응하는 영역에 대응되는 제2 픽셀 그룹(712)을 획득할 수 있다. 프로세서는 제1 픽셀 그룹과 제2 픽셀 그룹의 픽셀들을 추가로 보정할 수 있다. 예를 들어, 프로세서는 제1 이미지(710)과 제2 이미지의(720) 비교 결과를 기초로, 제1 이미지(710)과 제2 이미지의(720)의 객체들 각각의 변화 정도를 기초로 제1 픽셀 그룹과 제2 픽셀 그룹의 픽셀들을 추가로 보정할 수 있다.
프로세서는 제1 픽셀 그룹(722)의 픽셀들을 제1 이미지(710)에서 제1 객체(711)에 상응하는 영역에 오버랩 할 수 있다. 그리고, 프로세서는 제1 픽셀 그룹(722)의 픽셀들을 제1 이미지(710)에서 제1 객체(711)에 상응하는 영역에 오버랩 할 수 있다. 따라서, 프로세서는 복원된 제1 이미지(730) 및 복원된 제2 이미지(740)를 포함하는 동영상을 생성할 수 있다. 여기서, 제1 픽셀 그룹(722)의 픽셀들을 제1 이미지(710)에서 제1 객체(711)에 상응하는 영역에 오버랩하는 동작과, 제1 픽셀 그룹(722)의 픽셀들을 제1 이미지(710)에서 제1 객체(711)에 상응하는 영역에 오버랩하는 동작은 쌍방향으로 이루어질 수 있다.
도 8은 이미지 인페인팅을 위한 디바이스의 인공 신경망 학습 동작의 일 실시예를 도시한 흐름도이다.
도 8을 참조하면, 동영상의 이미지 인페인팅을 위한 동작들을 수행하는 프로세서는 인공 신경망 네트워크를 포함할 수 있으며, 인공 신경망의 학습을 위한 동작들을 수행할 수 있다. 프로세서는 도 2의 S210 단계 내지 S240 단계의 동작을 수행한 상태일 수 있다. 프로세서는 인공 신경망의 학습을 위한 동작들을 수행하기 위해, 기존의 제1 이미지에 제1 객체를 삽입하고, 제1 객체가 삽입된 제1 이미지를 복원하는 동작을 적어도 1회 이상 수행할 수 있다. 프로세서는 기존의 제1 이미지와 복원 동작 결과 획득한 복원된 제1 이미지의 비교 결과를 기초로 인공 신경망의 학습을 위한 동작을 수행할 수 있으며, 구체적인 동작들은 아래와 같을 수 있다.
S810단계에서, 프로세서는 제1 이미지와 이미지 인페인팅 결과 복원된 제1 이미지를 비교할 수 있다. 프로세서는 제1 이미지에 포함된 객체들의 정보와 복원된 제1 이미지에 포함된 객체들의 정보를 비교할 수 있다. 그리고 프로세서는 제1 이미지의 픽셀들 각각의 정보와 복원된 제1 이미지의 픽셀들 각각의 정보를 비교할 수 있다. 프로세서에 의해 비교되는 픽셀들의 정보는 픽셀의 색상 정보 등을 포함할 수 있다.
S820단계에서, 프로세서는 제1 이미지와 복원된 제1 이미지에 포함된 객체 구분 결과의 차이값을 산출할 수 있다. 프로세서는 제1 이미지에 포함된 객체들과 복원된 제1 이미지에 포함된 객체들 간의 차이값을 산출할 수 있으며, 산출된 차이값은 객체들 각각의 범위의 차이 등의 값일 수 있다.
S830단계에서, 프로세서는 제1 이미지와 복원된 제1 이미지의 제1 영역 복원 결과의 차이값을 산출할 수 있다. 프로세서는 제1 객체에 상응하는 영역의 복원 결과와 제1 이미지 간의 차이값을 산출할 수 있다. 산출된 차이값은 제1 객체에 상응하는 영역에 포함된 픽셀들의 정보 및 제1 객체에 상응하는 영역 내의 다른 객체들을 구분하기 위한 경계선의 정보의 차이값일 수 있다.
S840단계에서, 프로세서는 제1 이미지와 복원된 제1 이미지 간의 차이값을 기초로 인공 신경망의 가중치 벡터를 업데이트할 수 있다. 프로세서는 역전파 방식을 적용하여 인공 신경망의 가중치 벡터를 업데이트할 수 있다. 구체적으로, 프로세서는 제1 이미지에 포함된 객체들과 복원된 제1 이미지에 포함된 객체들 간의 차이값을 인공 신경망에 역전파하여, 객체 구분을 위한 인공 신경망의 가중치 벡터를 업데이트할 수 있다. 그리고 프로세서는 제1 이미지와 복원된 제1 이미지의 제1 영역 복원 결과의 차이값을 인공 신경망에 역전파하여, 이미지 복원을 위한 인공 신경망의 가중치 벡터를 업데이트할 수 있다.
도 9는 이미지 인페인팅을 위한 디바이스의 인공 신경망 학습 동작 수행 과정의 일 실시예를 도시한 개념도이다.
도 9를 참조하면, 이미지 인페인팅을 위한 동작들을 수행하는 프로세서는 인공 신경망 네트워크를 포함할 수 있으며, 인공 신경망의 학습을 위한 동작들을 수행할 수 있다. 프로세서는 인공 신경망의 학습을 위한 동작들을 수행하기 위해, 기존의 제1 이미지(910)에 제1 객체(921)를 삽입하고, 제1 객체(910)가 삽입된 제1 이미지(920)에 이미지 인페인팅 기법을 적용하는 동작을 적어도 1회 이상 수행할 수 있다. 프로세서는 기존의 제1 이미지(910)와 복원 동작 결과 획득한 복원된 제1 이미지(930)의 비교 결과를 기초로 인공 신경망의 학습을 위한 동작을 수행할 수 있다. 여기서, 제1 이미지는 데이터베이스 또는 메모리에 미리 저장된 이미지일 수 있다.
프로세서는 제1 이미지(910)와 복원된 제1 이미지(930)를 비교할 수 있다. 프로세서는 제1 이미지(910)에 포함된 객체들의 정보와 복원된 제1 이미지(930)에 포함된 객체들의 정보를 비교할 수 있다. 그리고 프로세서는 제1 이미지(910)의 픽셀들 각각의 정보와 복원된 제1 이미지(930)의 픽셀들 각각의 정보를 비교할 수 있다.
프로세서는 제1 이미지(910)와 복원된 제1 이미지(930)에 포함된 객체들 간의 구분 결과의 차이값을 산출할 수 있다. 프로세서는 제1 이미지(910)와 복원된 제1 이미지(930)의 제1 영역 복원 결과의 차이값을 산출할 수 있다.
프로세서는 제1 이미지(910)와 복원된 제1 이미지(930) 간의 차이값을 기초로 인공 신경망의 가중치 벡터를 업데이트할 수 있다. 프로세서는 제1 이미지(910)에 포함된 객체들과 복원된 제1 이미지(930)에 포함된 객체들 간의 차이값을 인공 신경망에 역전파하여, 객체 구분을 위한 인공 신경망의 가중치 벡터를 업데이트할 수 있다. 그리고 프로세서는 제1 이미지(910)와 복원된 제1 이미지(930)의 제1 영역(921) 복원 결과의 차이값을 인공 신경망에 역전파하여, 이미지 복원을 위한 인공 신경망의 가중치 벡터를 업데이트할 수 있다.
한편, 다른 실시예에서는 경우에 따라서 상기 제1 영역을 복원하기 위해 이용되는 제2 객체 및 제3 객체의 경계를 제2 객체와 제3 객체가 전체 이미지에서 차지하는 면적에 따라 구분될 수도 있다. 이는 단순 편의성을 위한 것으로 일정 크기 보다 작은 크기의 영역을 복원하는 경우에 이용될 수 있다.
구체적으로, 전체 이미지가 존재한다고 할 때, 제2 객체가 제3 객체보다 전체 이미지에서의 차지하는 면적이 크다고 가정할 수 있다. 이와 같은 경우 복원된 제1 영역에서의 제2 객체에 상응하는 이미지 면적이 제3 객체에 상응하는 이미지 면적보다 클 수 있다.
또한, 경우에 따라서는 전체 이미지에서의 제2 객체가 차지하는 면적 대 제3 객체가 차지하는 면적 비율과 복원된 제1 영역에서의 제2 객체에 상응하는 이미지 면적 대 제3 객체에 상응하는 이미지 면적 비율이 동일할 수도 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (8)

  1. 이미지 인페인팅을 위한 동작 방법에 있어,
    제1 이미지의 픽셀들 각각의 정보를 기초로 상기 제1 이미지에 포함된 객체들을 구분하는 단계;
    상기 객체들 각각의 색상 정보 또는 형상 정보를 기초로 상기 객체들 중에서 보정 대상 객체인 제1 객체를 결정하는 단계;
    상기 제1 이미지에서 제거된 상기 제1 객체에 상응하는 제1 영역에서의 제2 객체와 제3 객체 간의 경계를 설정하는 단계; 및
    상기 경계를 기준으로, 상기 제1 영역을 상기 제2 객체 및 상기 제3 객체의 픽셀 정보에 기초하여 복원하는 단계를 포함하는, 이미지 인페인팅을 위한 동작 방법.
  2. 청구항 1에 있어,
    상기 제1 영역에서의 제2 객체와 제3 객체 간의 경계를 설정하는 단계는,
    상기 제2 객체 및 상기 제3 객체 각각의 픽셀 정보 및 상기 제2 객체 및 상기 제3 객체 각각의 속성 정보 중 적어도 하나의 정보를 기초로 설정하는, 이미지 인페인팅을 위한 동작 방법.
  3. 청구항 1에 있어,
    상기 제1 영역을 복원하는 단계 이후,
    상기 제2 객체의 적어도 일부의 영역의 픽셀 정보를 기초로 상기 제2 객체의 패턴 정보를 분석하는 단계; 및
    상기 경계에 의해 구분되는 상기 제1 영역 중 적어도 일부의 영역에 상기 제2 객체의 패턴을 오버랩하는 단계를 포함하는, 이미지 인페인팅을 위한 동작 방법.
  4. 청구항 1에 있어,
    상기 제1 영역을 복원하는 단계 이후,
    상기 제1 이미지를 포함하는 동영상에서, 별도의 제2 이미지를 획득하는 단계;
    상기 제2 이미지에서, 상기 제1 영역에 대응되는 픽셀들의 집합인 제1 픽셀 그룹의 정보를 획득하는 단계; 및
    상기 제1 이미지의 상기 제1 영역에 상기 제1 픽셀 그룹을 오버랩하는 단계를 포함하는, 이미지 인페인팅을 위한 동작 방법.
  5. 청구항 4에 있어,
    상기 제1 픽셀 그룹을 보정하는 단계를 포함하고,
    상기 픽셀들을 오버랩하는 단계는,
    상기 보정된 픽셀들을 상기 제1 영역에 오버랩하는, 이미지 인페인팅을 위한 동작 방법.
  6. 청구항 4에 있어,
    상기 제2 이미지에서, 제2 영역에 위치하는 상기 제1 객체를 트래킹하는 단계;
    상기 제1 이미지에서, 상기 제2 영역에 대응되는 픽셀들의 집합인 제2 픽셀 그룹의 정보를 획득하는 단계; 및
    상기 제2 이미지의 상기 제2 영역에 상기 제2 픽셀 그룹을 오버랩하는 단계를 포함하는, 이미지 인페인팅을 위한 동작 방법.
  7. 청구항 1에 있어,
    상기 제1 이미지에 포함된 객체들을 구분하는 단계는,
    인공 신경망을 이용하여 수행되고,
    상기 인공 신경망의 가중치 벡터는,
    상기 제1 이미지의 미리 설정된 객체들의 정보 및 상기 제1 이미지의 픽셀들 각각의 정보를 기초로 구분된 객체들 간의 차이값을 기초로 업데이트되는 가중치 벡터를 포함하는, 이미지 인페인팅을 위한 동작 방법.
  8. 청구항 1에 있어,
    상기 제1 객체에 상응하는 영역을 복원하는 단계는,
    인공 신경망을 이용하여 수행되고,
    상기 인공 신경망의 가중치 벡터는,
    상기 제1 이미지의 미리 설정된 상기 제1 객체에 상응하는 영역에서의 픽셀들의 정보 및 복원된 상기 제1 객체에 상응하는 영역에서의 픽셀들의 정보 간의 차이값을 기초로 업데이트되는 가중치 벡터를 포함하는, 이미지 인페인팅을 위한 동작 방법
PCT/KR2021/012502 2020-10-16 2021-09-14 인공지능 기반 이미지 인페인팅 방법 및 디바이스 WO2022080680A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0134393 2020-10-16
KR1020200134393A KR102389284B1 (ko) 2020-10-16 2020-10-16 인공지능 기반 이미지 인페인팅 방법 및 디바이스

Publications (1)

Publication Number Publication Date
WO2022080680A1 true WO2022080680A1 (ko) 2022-04-21

Family

ID=81208272

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/012502 WO2022080680A1 (ko) 2020-10-16 2021-09-14 인공지능 기반 이미지 인페인팅 방법 및 디바이스

Country Status (2)

Country Link
KR (1) KR102389284B1 (ko)
WO (1) WO2022080680A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102486300B1 (ko) 2022-09-20 2023-01-10 한국전자기술연구원 영상 인페인팅 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080238942A1 (en) * 2007-03-29 2008-10-02 Microsoft Corporation Object-Based Image Inpainting
US20110103644A1 (en) * 2009-10-30 2011-05-05 Zoran Corporation Method and apparatus for image detection with undesired object removal
KR20150009184A (ko) * 2013-07-16 2015-01-26 삼성전자주식회사 카메라를 구비하는 장치의 이미지 처리장치 및 방법
KR20190078543A (ko) * 2017-12-26 2019-07-04 삼성전자주식회사 이미지 획득 장치 및 그의 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080238942A1 (en) * 2007-03-29 2008-10-02 Microsoft Corporation Object-Based Image Inpainting
US20110103644A1 (en) * 2009-10-30 2011-05-05 Zoran Corporation Method and apparatus for image detection with undesired object removal
KR20150009184A (ko) * 2013-07-16 2015-01-26 삼성전자주식회사 카메라를 구비하는 장치의 이미지 처리장치 및 방법
KR20190078543A (ko) * 2017-12-26 2019-07-04 삼성전자주식회사 이미지 획득 장치 및 그의 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YANG, CHAO ET AL.: "High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis", CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR, 21 July 2017 (2017-07-21), pages 4076 - 4084, XP033249760, DOI: 10.1109/CVPR.2017.434 *

Also Published As

Publication number Publication date
KR102389284B1 (ko) 2022-04-21

Similar Documents

Publication Publication Date Title
CN1167035C (zh) 动态异常象素的检测和校正
WO2010038941A2 (en) Apparatus and method of obtaining high resolution image
WO2018212599A1 (en) Super-resolution processing method for moving image and image processing apparatus therefor
WO2021029648A1 (en) Image capturing apparatus and auxiliary photographing method therefor
WO2022108061A1 (en) Method and device for joint denoising and demosaicing using neural network
EP3566435A1 (en) Super-resolution processing method for moving image and image processing apparatus therefor
WO2013103184A1 (ko) 색상 채널을 이용한 영상 개선 장치 및 방법
WO2020111426A1 (en) Method and system of presenting moving images or videos corresponding to still images
EP3320676A1 (en) Image capturing apparatus and method of operating the same
WO2020009550A1 (en) Method and apparatus for capturing dynamic images
WO2020027607A1 (ko) 객체 탐지 장치 및 제어 방법
US5644359A (en) Image input apparatus having a white balance correction means and a method of inputting an image using the image input apparatus
WO2020085874A1 (en) Method and apparatus for dynamic image capturing based on motion information in image
WO2019035551A1 (en) APPARATUS FOR COMPOSING OBJECTS USING DEPTH CARD AND ASSOCIATED METHOD
WO2021241804A1 (ko) 다중 플로우 기반 프레임 보간 장치 및 방법
WO2022080680A1 (ko) 인공지능 기반 이미지 인페인팅 방법 및 디바이스
EP3818692A1 (en) Method and apparatus for capturing dynamic images
WO2021137555A1 (en) Electronic device comprising image sensor and method of operation thereof
WO2020055196A1 (en) Apparatus and methods for generating high dynamic range media, based on multi-stage compensation of motion
WO2020189953A1 (ko) 인공지능에 기반하여 영상을 분석하는 카메라 및 그것의 동작 방법
WO2022080681A1 (ko) 주변 영역을 고려한 이미지 인페인팅 방법 및 디바이스
WO2023219466A1 (en) Methods and systems for enhancing low light frame in a multi camera system
WO2023080667A1 (ko) Ai 기반 객체인식을 통한 감시카메라 wdr 영상 처리
WO2019135625A1 (ko) 영상 디스플레이 장치 및 그 제어 방법
WO2022255523A1 (ko) 멀티 스케일 객체 이미지 복원 방법 및 장치

Legal Events

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

Ref document number: 21880328

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21880328

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21880328

Country of ref document: EP

Kind code of ref document: A1