KR102409103B1 - Method for editing image - Google Patents
Method for editing image Download PDFInfo
- Publication number
- KR102409103B1 KR102409103B1 KR1020200150569A KR20200150569A KR102409103B1 KR 102409103 B1 KR102409103 B1 KR 102409103B1 KR 1020200150569 A KR1020200150569 A KR 1020200150569A KR 20200150569 A KR20200150569 A KR 20200150569A KR 102409103 B1 KR102409103 B1 KR 102409103B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- images
- processor
- received
- background area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000001131 transforming effect Effects 0.000 claims abstract description 26
- 238000002715 modification method Methods 0.000 claims abstract description 7
- 238000003062 neural network model Methods 0.000 claims description 30
- 230000033001 locomotion Effects 0.000 claims description 24
- 230000002194 synthesizing effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000011426 transformation method Methods 0.000 claims description 8
- 230000010365 information processing Effects 0.000 description 40
- 230000015654 memory Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 29
- 239000000284 extract Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 230000009466 transformation Effects 0.000 description 16
- 230000004048 modification Effects 0.000 description 14
- 238000012986 modification Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G06T5/003—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
Abstract
본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는, 이미지 변형 방법에 관한 것이다. 이 방법은 하나 이상의 이미지를 수신하는 단계, 수신된 하나 이상의 이미지에 포함된 제1 객체를 추출하는 단계, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계, 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계 및 생성된 이미지를 출력하는 단계를 포함하고, 여기서, 제1 배경 영역은 수신된 하나 이상의 이미지에서 제1 객체 이외의 영역이다.According to an embodiment of the present disclosure, it relates to an image modification method, performed by at least one processor. The method includes receiving one or more images, extracting a first object included in the received one or more images, transforming at least one of a first object or a first background region, a deformed first object or a second generating an image including at least one of one background region and outputting the generated image, wherein the first background region is a region other than the first object in the received one or more images.
Description
본 개시는 이미지 변형 방법에 관한 것으로, 보다 구체적으로, 하나 이상의 이미지에서 객체를 추출하고, 추출된 객체 또는 배경 영역 중 적어도 하나를 변형함으로써 이미지를 변형시키는 방법을 제공하는 것이다.The present disclosure relates to a method for modifying an image, and more particularly, to providing a method for deforming an image by extracting an object from one or more images, and deforming at least one of an extracted object or a background region.
최근 스마트폰, 디지털 카메라 등과 같은 이미지/영상 촬영 장치의 하드웨어 성능이 향상되고, 멀티 미디어 산업이 발전됨에 따라, 이미지/영상을 제작하는 것에 대한 사용자들의 관심이 증대되고 있다. 사용자들은 손쉽게 이미지/영상을 촬영할 수 있으며, 자신이 촬영 또는 제작한 이미지/영상에 다양한 효과를 적용하거나 이미지/영상을 보정함으로써, 보다 퀄리티 높은 이미지/영상을 제작하고자 한다. 이를 위해, 사용자들은 스마트폰 등에서 실행가능한 다양한 카메라 애플리케이션 또는 보정 애플리케이션 등을 이용할 수 있다.Recently, as hardware performance of an image/video capturing apparatus such as a smart phone or a digital camera is improved and a multimedia industry is developed, users' interest in producing an image/video is increasing. Users can easily shoot images/videos, and they want to produce higher-quality images/videos by applying various effects or correcting images/videos to the images/videos they have taken or produced. To this end, users may use various camera applications or correction applications that can be executed on a smartphone or the like.
한편, 종래의 카메라 애플리케이션 또는 보정 애플리케이션 등에서 제공하는 보정 서비스의 경우, 이미지에 포함된 인물이나 사물을 보정함에 따라 주변 영역이 왜곡되거나, 보정으로 인해 이미지/영상이 부자연스러워 보이는 현상이 나타날 수 있다.On the other hand, in the case of a correction service provided by a conventional camera application or a correction application, as a person or object included in an image is corrected, a surrounding area may be distorted or an image/image may appear unnatural due to correction.
본 개시는 상기와 같은 문제점을 해결하기 위한 이미지 변형 방법 및 기록 매체에 저장된 컴퓨터 프로그램을 제공한다.The present disclosure provides an image transformation method and a computer program stored in a recording medium for solving the above problems.
본 개시는 방법 또는 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in various ways including a method or a computer program stored in a readable storage medium.
본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는, 이미지 변형 방법은, 하나 이상의 이미지를 수신하는 단계, 수신된 하나 이상의 이미지에 포함된 제1 객체를 추출하는 단계, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계, 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계 및 생성된 이미지를 출력하는 단계를 포함하고, 제1 배경 영역은 수신된 하나 이상의 이미지에서 제1 객체 이외의 영역이다.According to an embodiment of the present disclosure, the image modification method, performed by at least one processor, includes receiving one or more images, extracting a first object included in the received one or more images, the first object or transforming at least one of the first background area, generating an image including at least one of the deformed first object or the first background area, and outputting the generated image, wherein the first background area includes the steps of: is an area other than the first object in the received one or more images.
일 실시예에 따르면, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는, 제1 배경 영역에 대한 아웃 포커스(OUT-OF-FOCUS)를 수행하는 단계 및 아웃 포커스의 강도를 조정하는 단계를 포함한다.According to an embodiment, the transforming of at least one of the first object or the first background region includes performing out-of-focus (OUT-OF-FOCUS) on the first background region and adjusting the intensity of out-focus. includes steps.
일 실시예에 따르면, 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는, 수신된 하나 이상의 이미지가 동영상인 경우, 제1 객체의 이동에 따라 제1 배경 영역이 아웃 포커스되는 동영상을 생성하는 단계를 포함한다.According to an embodiment, the generating of the image including at least one of the deformed first object or the first background region may include, when one or more received images are moving images, the first background region according to the movement of the first object. This includes creating an out-of-focus video.
일 실시예에 따르면, 수신된 하나 이상의 이미지가 동영상인 경우, 제1 객체의 이동에 따라 제1 배경 영역이 아웃 포커스되는 동영상을 생성하는 단계는. 수신된 하나 이상의 이미지에 포함된 제2 객체를 선택하는 단계, 선택된 제2 객체 이외의 영역을 제2 배경 영역으로 설정하는 단계, 제2 객체의 이동에 따라 제2 배경 영역이 아웃 포커스되는 동영상을 생성하는 단계를 포함한다.According to an embodiment, when the at least one received image is a moving picture, generating a moving picture in which the first background area is out-focused according to the movement of the first object may include: Selecting a second object included in one or more received images, setting a region other than the selected second object as a second background region, and displaying a video in which the second background region is out-focused according to the movement of the second object comprising the steps of creating
일 실시예에 따르면, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는, 수신된 하나 이상의 이미지에서 제1 배경 영역을 삭제하여, 제1 객체를 포함하는 적어도 하나의 제1 이미지를 생성하는 단계를 포함하고, 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는, 적어도 하나의 제2 이미지를 수신하는 단계 및 적어도 하나의 제2 이미지를 생성된 제1 이미지에 합성시키는 단계를 포함한다.According to an embodiment, the transforming of at least one of the first object and the first background region may include deleting the first background region from the received one or more images to generate at least one first image including the first object. and generating an image including at least one of the deformed first object or the first background region, the step of receiving at least one second image and generating the at least one second image and compositing to the first image.
일 실시예에 따르면, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는, 수신된 하나 이상의 이미지에서 제1 객체를 삭제하는 단계, 이미지 인페인팅(inpainting)을 위한 생산적 적대 신경망 모델(Generative Adversarial Network; GAN)을 통해, 하나 이상의 이미지에서 제1 객체가 삭제된 영역에 대한 이미지를 생성하는 단계 및 제1 객체가 삭제된 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용하는 단계를 포함한다.According to an embodiment, transforming at least one of the first object or the first background region includes deleting the first object from one or more received images, a productive adversarial neural network model for image inpainting ( Generating, via a Generative Adversarial Network (GAN), an image of a region from which a first object has been deleted in one or more images and applying the image of the region from which the first object has been deleted to one or more received images do.
일 실시예에 따르면, 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는, 수신된 하나 이상의 이미지가 동영상이고, 동영상에서 제1 객체가 이동되는 경우, 이동되는 제1 객체가 삭제된 동영상을 생성하는 단계를 포함한다.According to an embodiment, the generating of an image including at least one of the deformed first object or the first background region may include: when one or more received images are moving images, and the first object is moved in the moving images, and generating a video from which the first object is deleted.
일 실시예에 따르면, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는, 제1 객체에 대한 사용자 입력을 수신하는 단계 수신된 사용자 입력에 기초하여 제1 객체를 변형시키는 단계, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 제1 객체의 변형에 따라 형성된 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 생성하는 단계 및 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용하는 단계를 포함한다.According to an embodiment, transforming at least one of the first object or the first background region includes: receiving a user input for the first object; transforming the first object based on the received user input; Generating an image for blank or distorted regions of one or more images formed according to the deformation of a first object through a productive adversarial neural network model for inpainting, and receiving images for blank or distorted regions of one or more images and applying to one or more images.
일 실시예에 따르면, 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는, 제1 객체 중 일부에 대한 사용자 입력을 수신하는 단계 및 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여, 제1 객체 중 일부를 변형시키는 단계를 포함한다.According to an embodiment, the step of transforming at least one of the first object or the first background region comprises: receiving a user input for a part of the first object and using a productive adversarial neural network model for image inpainting; deforming some of the first objects.
본 개시의 일 실시예에 따른 이미지 변형 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.A computer program stored in a computer-readable recording medium is provided for executing the image transformation method according to an embodiment of the present disclosure in a computer.
본 개시의 일부 실시예에서, 사용자가 선택하거나 자동으로 인식된 객체가 포커스되고, 배경 영역이 아웃 포커스된 동영상을 제공할 수 있다. 일 실시예에서, 사용자의 입력에 따라, 포커스되는 객체가 변경되는 동영상을 제공할 수 있다.In some embodiments of the present disclosure, a moving picture in which an object selected or automatically recognized by a user is focused and a background region is out-focused may be provided. According to an embodiment, a video in which a focused object is changed according to a user's input may be provided.
본 개시의 일부 실시예에서, 사용자가 선택하거나 자동으로 인식된 객체가 삭제된 동영상을 제공할 수 있다. 이에 따라, 의도하지 않은 객체가 촬영됨으로써 발생하는 사생활 침해 문제를 방지할 수 있고, 시청자들이 메인 객체에 집중하도록 할 수 있다.In some embodiments of the present disclosure, a video from which an object selected or automatically recognized by a user is deleted may be provided. Accordingly, it is possible to prevent an invasion of privacy caused by unintentional object being photographed, and to allow viewers to focus on the main object.
본 개시의 일부 실시예에서, 사용자는 하나 이상의 이미지에서 객체를 추출하여 미리 객체 이미지를 메모리 등 저장 장치에 저장할 수 있다. 이 후, 사용자는 저장된 객체 이미지를 불러와 다른 이미지에 합성할 수 있다.In some embodiments of the present disclosure, a user may extract an object from one or more images and store the object image in a storage device such as a memory in advance. After that, the user can retrieve the stored object image and combine it with another image.
본 개시의 일부 실시예에서, 특정 시간 단위로 연속으로 촬영한 복수의 이미지 또는 동영상에서 특정 시간 단위로 추출한 프레임 이미지 각각에서 객체를 추출하여 합성함으로써 다중 노출 샷과 유사한 이미지를 생성할 수 있다. 이 경우, 기존의 다중 노출샷 이미지와 달리, 객체만을 추출하여 배경 영역이 존재하는 이미지에 합성하는 것이므로, 터치 입력 등 사용자 입력을 통해 각각의 객체의 위치를 수정하여 합성할 수 있다.In some embodiments of the present disclosure, an image similar to a multi-exposure shot may be generated by extracting and synthesizing an object from each of a plurality of images continuously taken in a specific time unit or a frame image extracted in a specific time unit from a moving picture. In this case, unlike the existing multiple exposure shot image, since only an object is extracted and synthesized in an image having a background area, the position of each object can be corrected and synthesized through a user input such as a touch input.
본 개시의 일부 실시예에서, 이미지에서 추출된 객체를 변형시키고, 객체를 변형함에 따라 발생하는 빈 영역을 인공신경망 모델을 이용하여 자연스럽게 채움으로써, 기존의 포토샵 또는 보정 애플리케이션과 달리 보정으로 인한 배경의 왜곡이 나타나지 않을 수 있다.In some embodiments of the present disclosure, by transforming the object extracted from the image, and naturally filling the blank area generated by deforming the object using an artificial neural network model, the background due to correction is different from the existing Photoshop or correction application. Distortion may not appear.
본 개시의 일부 실시예에서, 이미지에서 추출된 객체의 눈, 코, 입, 귀, 헤어, 의상 등과 같은 일부 영역을 인공신경망 모델을 이용하여 자연스러운 다른 형태로 변형시킬 수 있다.In some embodiments of the present disclosure, some regions of an object extracted from an image, such as eyes, nose, mouth, ears, hair, and clothes, may be transformed into other natural shapes using an artificial neural network model.
본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 개시에 속하는 기술 분야에서 통상의 지식을 가진 자(이하, '통상의 기술자'라 함)에게 명확하게 이해될 수 있을 것이다.The effect of the present disclosure is not limited to the above-mentioned effects, and other effects not mentioned are those of ordinary skill in the art to which the present disclosure belongs from the description of the claims (hereinafter referred to as 'person of ordinary skill') can be clearly understood by
본 개시의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 개시의 일 실시예에 따른 사용자가 사용자 단말의 화면을 통해 출력되는 동영상을 변형시키는 예시를 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 이미지 변형 서비스를 제공하기 위하여, 정보 처리 시스템이 복수의 사용자 단말과 통신 가능하도록 연결된 구성을 나타내는 개요도이다.
도 3은 본 개시의 일 실시예에 따른 사용자 단말 및 정보 처리 시스템의 내부 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 프로세서의 내부 구성을 나타내는 블록도이다.
도 5는 본 개시의 일 실시예에 따른 이미지 변형 방법을 나타내는 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 동영상에 포함된 복수의 객체 중 일부 객체 이외의 영역인 배경 영역을 아웃 포커스시키는 예시를 나타내는 도면이다.
도 7은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 포함하는 이미지를 다른 이미지에 합성하는 예시를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 포함하는 이미지를 다른 이미지에 합성하여 다중 노출 샷과 유사한 이미지를 생성하는 예시를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 삭제하는 예시를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 변형시키는 예시를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체 중 일부를 변형시키는 예시를 나타내는 도면이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein like reference numerals denote like elements, but are not limited thereto.
1 is a diagram illustrating an example in which a user transforms a video output through a screen of a user terminal according to an embodiment of the present disclosure.
2 is a schematic diagram illustrating a configuration in which an information processing system is communicatively connected to a plurality of user terminals in order to provide an image modification service according to an embodiment of the present disclosure.
3 is a block diagram illustrating an internal configuration of a user terminal and an information processing system according to an embodiment of the present disclosure.
4 is a block diagram illustrating an internal configuration of a processor according to an embodiment of the present disclosure.
5 is a flowchart illustrating an image transformation method according to an embodiment of the present disclosure.
6 is a diagram illustrating an example of out-focusing a background area, which is an area other than some objects, among a plurality of objects included in a moving picture according to an embodiment of the present disclosure.
7 is a diagram illustrating an example of synthesizing an image including an object extracted from one or more images with another image according to an embodiment of the present disclosure.
8 is a diagram illustrating an example of generating an image similar to a multiple exposure shot by synthesizing an image including an object extracted from one or more images with another image according to an embodiment of the present disclosure.
9 is a diagram illustrating an example of deleting an object extracted from one or more images according to an embodiment of the present disclosure.
10 is a diagram illustrating an example of deforming an object extracted from one or more images according to an embodiment of the present disclosure.
11 is a diagram illustrating an example of deforming some of objects extracted from one or more images according to an embodiment of the present disclosure.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific contents for carrying out the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, the same or corresponding components are assigned the same reference numerals. In addition, in the description of the embodiments below, overlapping description of the same or corresponding components may be omitted. However, even if descriptions regarding components are omitted, it is not intended that such components are not included in any embodiment.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms, and only the present embodiments allow the present disclosure to be complete, and the present disclosure will provide those of ordinary skill in the art to fully understand the scope of the invention. It is provided only to inform you.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. Terms used in this specification have been selected as currently widely used general terms as possible while considering the functions in the present disclosure, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.References in the singular herein include plural expressions unless the context clearly dictates the singular. Also, the plural expression includes the singular expression unless the context clearly dictates the plural. In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated.
또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만 '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.In addition, the term 'module' or 'unit' used in the specification means a software or hardware component, and 'module' or 'unit' performs certain roles. However, 'module' or 'unit' is not meant to be limited to software or hardware. A 'module' or 'unit' may be configured to reside on an addressable storage medium or configured to reproduce one or more processors. Thus, as an example, 'module' or 'unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, may include at least one of procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays or variables. Components and 'modules' or 'units' are the functions provided therein that are combined into a smaller number of components and 'modules' or 'units' or additional components and 'modules' or 'units' can be further separated.
본 개시의 일 실시예에 따르면 '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to an embodiment of the present disclosure, a 'module' or a 'unit' may be implemented with a processor and a memory. 'Processor' should be construed broadly to include general purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like. In some contexts, a 'processor' may refer to an application specific semiconductor (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), or the like. 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in combination with a DSP core, or any other such configuration. You may. Also, 'memory' should be construed broadly to include any electronic component capable of storing electronic information. 'Memory' means random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erase-programmable read-only memory (EPROM); may refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like. A memory is said to be in electronic communication with the processor if the processor is capable of reading information from and/or writing information to the memory. A memory integrated in the processor is in electronic communication with the processor.
본 개시에서, '이미지'는 하나 이상의 이미지, 사진, 그림 및/또는 동영상을 포함할 수 있다. 예를 들어, 이미지는 동영상 그 자체 및/또는 동영상을 구성하는 각각의 프레임 이미지를 지칭할 수 있고, 반대로, 동영상은 이미지를 지칭할 수 있다.In the present disclosure, an 'image' may include one or more images, photos, drawings, and/or moving pictures. For example, the image may refer to the moving picture itself and/or each frame image constituting the moving picture, and conversely, the moving picture may refer to an image.
본 개시에서, '객체'는 사람, 동식물, 물건 등 이미지에 포함된 각각의 대상을 지칭할 수 있다. 예를 들어, '객체'는 이미지에서 가장 중심이 되는 사람, 동식물, 물건 등일 수 있다. 또한, 본 개시에서, '객체'는 객체 이미지 및/또는 객체를 포함하는 이미지를 지칭할 수 있다.In the present disclosure, an 'object' may refer to each object included in an image, such as a person, an animal, a plant, or an object. For example, the 'object' may be a person, animal, plant, or thing that is the center of the image. Also, in the present disclosure, an 'object' may refer to an object image and/or an image including an object.
본 개시에서, '변형'은 이미지의 전부 또는 일부가 기존의 형태와 상이한 형태로 되는 것을 지칭할 수 있다. 예를 들어, 변형은, 기존의 형태를 기반으로 하여 기존의 형태에서 일부 달라지도록 하는 것을 포함할 수 있다. 다른 예로서, 변형은, 기존의 형태와 전혀 상이한 새로운 형태를 적용하는 것을 포함할 수 있다. 또 다른 예로서, 변형은, 기존에 존재하지 않는 것을 새로 생성하는 것을 포함할 수 있다. 또 다른 예로서, 변형은, 기존에 존재하던 것을 삭제하는 것을 포함할 수 있다.In the present disclosure, 'deformation' may refer to all or a part of an image being in a shape different from the existing shape. For example, the transformation may include making a part different from the existing shape based on the existing shape. As another example, the transformation may include applying a new shape that is completely different from the existing shape. As another example, the transformation may include creating a new one that does not already exist. As another example, the transformation may include deleting an existing one.
본 개시에서, '아웃 포커스'는 이미지의 적어도 일부분에 적용되는 임의의 심미적인 또는 미적인 효과를 지칭할 수 있다. 이미지 촬영 중 및/또는 촬영 후에 이미지에서 초점(즉, 포커스)에 해당하는 메인 객체가 아닌 영역이 선명하지 않도록 처리하는 것을 지칭할 수 있다. 예를 들어, '아웃 포커스'는 이미지의 전부 또는 일부가 흐려지도록 처리하는 보케 효과 및/또는 블러 효과를 포함할 수 있다. 여기서, 이미지의 초점(즉, 포커스)에 해당하는 메인 객체는 강조되거나, 하이라이트(highlight)되거나 선명해지도록 처리될 수 있다.In this disclosure, 'out of focus' may refer to any aesthetic or aesthetic effect applied to at least a portion of an image. It may refer to processing so that an area other than a main object corresponding to a focus (ie, focus) in an image during and/or after image capturing is not clear. For example, 'out-focus' may include a bokeh effect and/or a blur effect for processing all or part of an image to be blurred. Here, the main object corresponding to the focus (ie, focus) of the image may be processed to be emphasized, highlighted, or sharpened.
도 1은 본 개시의 일 실시예에 따른 사용자(110)가 사용자 단말(120)의 화면(130)을 통해 출력되는 동영상을 변형시키는 예시를 나타내는 도면이다. 사용자 단말(120)의 적어도 하나의 프로세서는 하나 이상의 이미지를 수신할 수 있다. 여기서, 이미지는 동영상을 포함할 수 있다. 일 실시예에서, 사용자 단말(120)의 프로세서는 카메라 등 입력 장치를 통해 입력되는 하나 이상의 이미지를 실시간으로 수신할 수 있다. 예를 들어, 사용자(110)의 촬영 개시에 대한 입력에 기초하여, 프로세서는 사용자 단말(120)에 포함된 내부 촬영 장치를 통해 하나 이상의 이미지를 촬영하고, 실시간으로 촬영되는 하나 이상의 이미지를 수신할 수 있다. 대안적으로, 사용자(110)의 촬영 개시에 대한 입력에 기초하여, 프로세서는 사용자 단말(120)과 통신하는 외부 촬영 장치를 통해 하나 이상의 이미지를 촬영하고, 실시간으로 촬영되는 하나 이상의 이미지를 수신할 수 있다. 다른 실시예에서, 사용자 단말(120)의 프로세서는 사용자 단말(120)의 내부 저장 장치 및/또는 외부 저장 장치로부터 기 저장된 이미지 및/또는 녹화된 이미지를 수신할 수 있다. 예를 들어, 저장된 복수의 이미지 중 적어도 하나의 이미지를 선택하는 사용자(110) 입력에 기초하여, 프로세서는 사용자 단말(120)의 내부 저장 장치 및/또는 외부 저장 장치로부터 선택된 적어도 하나의 이미지를 수신할 수 있다.1 is a diagram illustrating an example in which a
사용자 단말(120)의 프로세서는 수신된 하나 이상의 이미지에 포함된 하나 이상의 객체(140)를 추출하고, 추출한 하나 이상의 객체(140) 이외의 영역을 배경 영역으로 설정할 수 있다. 프로세서는 하나 이상의 객체(140) 또는 배경 영역 중 적어도 하나를 변형시키고, 변형된 하나 이상의 객체 또는 배경 영역 중 적어도 하나를 포함하는 이미지를 생성할 수 있다. 일 실시예에서, 프로세서는 수신한 하나 이상의 이미지에서 배경 영역에 대한 아웃 포커스(OUT-OF-FOCUS)를 수행하고, 아웃 포커스의 강도를 조정하여, 추출한 하나 이상의 객체(140) 및 변형된 배경 영역을 포함하는 이미지를 생성할 수 있다. 일 실시예에서, 수신된 하나 이상의 이미지가 동영상인 경우, 프로세서는 객체의 이동에 따라 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 구체적으로, 프로세서는 수신된 동영상에 포함된 복수의 프레임 각각에서 객체를 추출하고, 배경 영역에 대하여 아웃 포커스를 수행함으로써, 객체의 이동에 따라 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 프로세서는 이렇게 생성된 하나 이상의 이미지 및/또는 동영상을 사용자 단말(120)의 화면(130)을 통해 출력하거나, 사용자 단말(120)의 내부 저장 장치 및/또는 외부 저장 장치로 출력하여 저장할 수 있다.The processor of the
사용자(110)는 사용자 단말(120)의 카메라를 이용하여 실시간으로 여성 객체(140) 및 차량 객체를 포함하는 동영상을 촬영할 수 있다. 사용자(110)는 촬영 중인 동영상이 출력되는 화면(130)에서 여성 객체(140)를 선택하는 터치 입력을 수행할 수 있다. 이러한 사용자 입력에 기초하여 프로세서는 동영상에 포함된 여성 객체(140)를 추출하고, 여성 객체(140) 이외의 영역을 배경 영역으로 설정하고, 배경 영역을 아웃 포커스시킬 수 있다. 또한, 프로세서는 아웃 포커스에 대한 사용자 입력에 기초하여 아웃 포커스의 강도를 조정할 수 있다. 추가적으로, 여성 객체(140) 또는 사용자 단말(120)이 이동하는 경우, 프로세서는 수신한 동영상 내에서의 여성 객체(140)의 이동에 따라 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 즉, 아웃 포커스 효과가 객체의 이동에 따라 달라지는 배경 영역에 적용될 수 있다. 따라서, 도시된 바와 같이, 프로세서는 객체 이외의 배경 영역이 아웃 포커스된 동영상을 생성할 수 있고, 생성된 동영상을 사용자 단말(120)의 화면(130)을 통해 출력할 수 있다. 또한, 이렇게 생성된 동영상은 저장 장치에 저장될 수 있다.The
도 1은 프로세서가 동영상 촬영 중에 실시간으로 수신되는 동영상을 변형하여 출력하는 예시를 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, 프로세서는 미리 촬영되어 기 저장된 동영상을 변형하여 출력할 수 있다.1 illustrates an example in which a processor transforms and outputs a video received in real time while capturing a video, but is not limited thereto. For example, the processor may transform and output a pre-captured and pre-stored video.
도 2는 본 개시의 일 실시예에 따른 이미지 변형 서비스를 제공하기 위하여, 정보 처리 시스템(230)이 복수의 사용자 단말(210_1, 210_2, 210_3)과 통신 가능하도록 연결된 구성을 나타내는 개요도이다. 정보 처리 시스템(230)은 이미지 변형 서비스를 제공할 수 있는 시스템(들)을 포함할 수 있다. 일 실시예에서, 정보 처리 시스템(230)은 이미지 변형 서비스와 관련된 컴퓨터 실행 가능한 프로그램(예를 들어, 다운로드 가능한 어플리케이션) 및 데이터를 저장, 제공 및 실행할 수 있는 하나 이상의 서버 장치 및/또는 데이터베이스, 또는 클라우드 컴퓨팅 서비스 기반의 하나 이상의 분산 컴퓨팅 장치 및/또는 분산 데이터베이스를 포함할 수 있다. 예를 들어, 정보 처리 시스템(230)은 이미지 변형 서비스를 제공하기 위한 별도의 시스템(예를 들어, 서버)들을 포함할 수 있다.2 is a schematic diagram illustrating a configuration in which the
정보 처리 시스템(230)에 의해 제공되는 이미지 변형 서비스는 복수의 사용자 단말(210_1, 210_2, 210_3)의 각각에 설치된 이미지 변형 서비스를 위한 어플리케이션 등을 통해 사용자에게 제공될 수 있다. 대안적으로, 사용자 단말(210_1, 210_2, 210_3)은 내부에 저장된 이미지 변형 프로그램/알고리즘을 이용하여 아웃 포커스, 이미지 합성, 이미지 인페인팅(inpainting) 등의 작업을 처리할 수 있다. 이 경우, 사용자 단말(210_1, 210_2, 210_3)은 정보 처리 시스템(230)과 통신하지 않고 아웃 포커스, 이미지 합성, 이미지 인페인팅 등의 작업을 직접 처리할 수 있다.The image modification service provided by the
복수의 사용자 단말(210_1, 210_2, 210_3)은 네트워크(220)를 통해 정보 처리 시스템(230)과 통신할 수 있다. 네트워크(220)는 복수의 사용자 단말(210_1, 210_2, 210_3)과 정보 처리 시스템(230) 사이의 통신이 가능하도록 구성될 수 있다. 네트워크(220)는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다. 통신 방식은 제한되지 않으며, 네트워크(220)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐 아니라 사용자 단말(210_1, 210_2, 210_3) 사이의 근거리 무선 통신 역시 포함될 수 있다.The plurality of user terminals 210_1 , 210_2 , and 210_3 may communicate with the
도 2에서 휴대폰 단말(210_1), 태블릿 단말(210_2) 및 PC 단말 (210_3)이 사용자 단말의 예로서 도시되었으나, 이에 한정되지 않으며, 사용자 단말(210_1, 210_2, 210_3)은 유선 및/또는 무선 통신이 가능한 임의의 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말은, 스마트폰, 휴대폰, 컴퓨터, 노트북, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등을 포함할 수 있다. 또한, 도 2에는 3개의 사용자 단말(210_1, 210_2, 210_3)이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하는 것으로 도시되어 있으나, 이에 한정되지 않으며, 상이한 수의 사용자 단말이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하도록 구성될 수도 있다.Although the mobile phone terminal 210_1, the tablet terminal 210_2, and the PC terminal 210_3 are illustrated as examples of the user terminal in FIG. 2, the present invention is not limited thereto, and the user terminals 210_1, 210_2, and 210_3 are wired and/or wireless communication. It can be any computing device capable of this. For example, the user terminal may include a smart phone, a mobile phone, a computer, a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a tablet PC, and the like. In addition, in FIG. 2 , three user terminals 210_1 , 210_2 , and 210_3 are illustrated as communicating with the
일 실시예에서, 정보 처리 시스템(230)은 사용자 단말(210_1, 210_2, 210_3)에서 동작하는 이미지 변형 서비스를 위한 어플리케이션 등을 통해 사용자 단말(210_1, 210_2, 210_3)로부터 데이터(예를 들어, 변형 대상 이미지, 이미지에 대한 사용자 입력, 변형된 이미지 등)를 수신할 수 있다. 반대로, 정보 처리 시스템(230)은 사용자 단말(210_1, 210_2, 210_3)에서 동작하는 이미지 변형 서비스를 위한 어플리케이션 등을 통해 사용자 단말(210_1, 210_2, 210_3)로 데이터(예를 들어, 변형 대상 이미지, 이미지에 대한 사용자 입력, 변형된 이미지 등)를 제공할 수 있다.In one embodiment, the
도 3은 본 개시의 일 실시예에 따른 사용자 단말(210) 및 정보 처리 시스템(230)의 내부 구성을 나타내는 블록도이다. 사용자 단말(210)은 카메라 애플리케이션, 사진 편집 애플리케이션 또는 웹 브라우저 등을 실행 가능하고 유/무선 통신이 가능한 임의의 컴퓨팅 장치를 지칭할 수 있으며, 예를 들어, 도 2의 휴대폰 단말(210_1), 태블릿 단말(210_2), PC 단말(210_3) 등을 포함할 수 있다. 도시된 바와 같이, 사용자 단말(210)은 메모리(312), 프로세서(314), 통신 모듈(316) 및 입출력 인터페이스(318)를 포함할 수 있다. 이와 유사하게, 정보 처리 시스템(230)은 메모리(332), 프로세서(334), 통신 모듈(336) 및 입출력 인터페이스(338)를 포함할 수 있다. 도 3에 도시된 바와 같이, 사용자 단말(210) 및 정보 처리 시스템(230)은 각각의 통신 모듈(316, 336)을 이용하여 네트워크(220)를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다. 또한, 입출력 장치(320)는 입출력 인터페이스(318)를 통해 사용자 단말(210)에 정보 및/또는 데이터를 입력하거나 사용자 단말(210)로부터 생성된 정보 및/또는 데이터를 출력하도록 구성될 수 있다.3 is a block diagram illustrating the internal configuration of the user terminal 210 and the
메모리(312, 332)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(312, 332)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 사용자 단말(210) 또는 정보 처리 시스템(230)에 포함될 수 있다. 또한, 메모리(312, 332)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 사용자 단말(210)에 설치되어 구동되는 카메라 애플리케이션, 사진 편집 애플리케이션 등을 위한 코드)가 저장될 수 있다.The
이러한 소프트웨어 구성요소들은 메모리(312, 332)와는 별도의 컴퓨터에서 판독가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독가능한 기록매체는 이러한 사용자 단말(210) 및 정보 처리 시스템(230)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈을 통해 메모리(312, 332)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 애플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(220)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(312, 332)에 로딩될 수 있다.These software components may be loaded from a computer-readable recording medium separate from the
프로세서(314, 334)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(312, 332) 또는 통신 모듈(316, 336)에 의해 프로세서(314, 334)로 제공될 수 있다. 예를 들어, 프로세서(314, 334)는 메모리(312, 332)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The
통신 모듈(316, 336)은 네트워크(220)를 통해 사용자 단말(210)과 정보 처리 시스템(230)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 사용자 단말(210) 및/또는 정보 처리 시스템(230)이 다른 사용자 단말 또는 다른 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 사용자 단말(210)의 프로세서(314)가 메모리(312) 등과 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청 또는 데이터(예를 들어, 이미지 변형 요청 등)는 통신 모듈(316)의 제어에 따라 네트워크(220)를 통해 정보 처리 시스템(230)으로 전달될 수 있다. 역으로, 정보 처리 시스템(230)의 프로세서(334)의 제어에 따라 제공되는 제어 신호나 명령이 통신 모듈(336)과 네트워크(220)를 거쳐 사용자 단말(210)의 통신 모듈(316)을 통해 사용자 단말(210)에 수신될 수 있다. 예를 들어, 사용자 단말(210)은 정보 처리 시스템(230)으로부터 통신 모듈(316)을 통해 변형된 이미지 등을 수신할 수 있다.The
입출력 인터페이스(318)는 입출력 장치(320)와의 인터페이스를 위한 수단일 수 있다. 일 예로서, 입력 장치는 오디오 센서 및/또는 이미지 센서를 포함한 카메라, 키보드, 마이크로폰, 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로, 입출력 인터페이스(318)는 터치스크린 등과 같이 입력과 출력을 수행하기 위한 구성 또는 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 사용자 단말(210)의 프로세서(314)가 메모리(312)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 정보 처리 시스템(230)이나 다른 사용자 단말이 제공하는 정보 및/또는 데이터를 이용하여 구성되는 서비스 화면 등이 입출력 인터페이스(318)를 통해 디스플레이에 표시될 수 있다. 도 3에서는 입출력 장치(320)가 사용자 단말(210)에 포함되지 않도록 도시되어 있으나, 이에 한정되지 않으며, 사용자 단말(210)과 하나의 장치로 구성될 수 있다. 또한, 정보 처리 시스템(230)의 입출력 인터페이스(338)는 정보 처리 시스템(230)과 연결되거나 정보 처리 시스템(230)이 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 3에서는 입출력 인터페이스(318, 338)가 프로세서(314, 334)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(318, 338)가 프로세서(314, 334)에 포함되도록 구성될 수 있다.The input/
사용자 단말(210) 및 정보 처리 시스템(230)은 도 3의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 일 실시예에 따르면, 사용자 단말(210)은 상술된 입출력 장치(320) 중 적어도 일부를 포함하도록 구현될 수 있다. 또한, 사용자 단말(210)은 트랜시버(transceiver), GPS(Global Positioning system) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수 있다. 예를 들어, 사용자 단말(210)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 구성요소를 포함할 수 있으며, 예를 들어, 가속도 센서, 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 사용자 단말(210)에 더 포함되도록 구현될 수 있다. 일 실시예에 따르면, 사용자 단말(210)의 프로세서(314)는 이미지 변형 서비스를 제공하는 애플리케이션 등이 동작하도록 구성될 수 있다. 이 때, 해당 애플리케이션 및/또는 프로그램과 연관된 코드가 사용자 단말(210)의 메모리(312)에 로딩될 수 있다.The user terminal 210 and the
이미지 변형 서비스를 제공하는 애플리케이션 등을 위한 프로그램이 동작되는 동안에, 프로세서(314)는 입출력 인터페이스(318)와 연결된 터치 스크린, 키보드, 오디오 센서 및/또는 이미지 센서를 포함한 카메라, 마이크로폰 등의 입력 장치를 통해 입력되거나 선택된 텍스트, 이미지, 영상, 음성 및/또는 동작 등을 수신할 수 있으며, 수신된 텍스트, 이미지, 영상, 음성 및/또는 동작 등을 메모리(312)에 저장하거나 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공할 수 있다. 예를 들어, 프로세서(314)는 복수의 이미지 중 적어도 하나의 이미지를 선택하는 사용자 입력에 응답하여, 선택된 적어도 하나의 이미지를 수신할 수 있으며, 수신된 이미지를 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공할 수 있다. 대안적으로, 프로세서는 이미지 및/또는 동영상 촬영에 대한 사용자 입력에 응답하여, 카메라 등의 입력 장치로부터 하나 이상의 이미지를 수신할 수 있으며, 수신된 이미지를 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공할 수 있다. 일 실시예에서, 프로세서(314)는 터치 스크린, 마우스, 키보드 등의 입력 장치(320)를 통해 이미지 변형 서비스를 제공하는 애플리케이션 또는 웹 브라우저 상에서 이미지에 대한 사용자 입력을 수신할 수 있다. 이 후, 프로세서는 이러한 사용자 입력에 대응하는 요청을 직접 처리하거나, 네트워크(220) 및 통신 모듈(316)을 통해 정보 처리 시스템(230)에 제공할 수 있다. 여기서, 이미지에 대한 사용자 입력은 이미지에 포함된 객체를 선택하는 사용자 입력, 객체 중 일부에 대한 사용자 입력, 객체 변형에 대한 입력, 아웃 포커스 조절에 대한 입력 등을 포함할 수 있다.While a program for an application providing an image modification service is being operated, the
사용자 단말(210)의 프로세서(314)는 입력 장치(320), 다른 사용자 단말, 정보 처리 시스템(230) 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 프로세서(314)에 의해 처리된 정보 및/또는 데이터는 통신 모듈(316) 및 네트워크(220)를 통해 정보 처리 시스템(230)에 제공될 수 있다. 사용자 단말(210)의 프로세서(314)는 입출력 인터페이스(318)를 통해 입출력 장치(320)로 정보 및/또는 데이터를 전송하여, 출력할 수 있다. 일 실시예에서, 프로세서(314)는 수신한 정보 및/또는 데이터를 사용자 단말의 화면에 디스플레이할 수 있다. 예를 들면, 프로세서(314)는 수신한 변형 대상 이미지, 변형된 이미지 및/또는 생성된 이미지를 화면에 표시할 수 있다.The
정보 처리 시스템(230)의 프로세서(334)는 복수의 사용자 단말(210) 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다. 프로세서(334)에 의해 처리된 정보 및/또는 데이터는 통신 모듈(336) 및 네트워크(220)를 통해 사용자 단말(210)에 제공할 수 있다. 예를 들어, 프로세서(334)는 수신한 변형 대상 이미지, 변형된 이미지 및/또는 생성된 이미지를 통신 모듈(336) 및 네트워크(220)를 통해 사용자 단말(210)에 제공할 수 있다. 정보 처리 시스템(230)의 프로세서(334)는 사용자 단말(210)의 디스플레이 출력 가능 장치(예: 터치 스크린, 디스플레이 등), 음성 출력 가능 장치(예: 스피커) 등의 출력 장치(320)를 통해 처리된 정보 및/또는 데이터를 출력하도록 구성될 수 있다. 예를 들면, 프로세서(334)는 수신한 변형 대상 이미지, 변형된 이미지 및/또는 생성된 이미지를 사용자 단말의 화면을 통해 출력하도록 할 수 있다.The
일 실시예에서, 프로세서(314, 334)는 수신된 하나 이상의 이미지에 포함된 하나 이상의 객체를 추출할 수 있다. 일 실시예에서, 프로세서(314, 334)는 추출한 하나 이상의 객체 또는 배경 영역 중 적어도 하나를 변형시키고, 변형된 하나 이상의 객체 또는 배경 영역 중 적어도 하나를 포함하는 이미지를 생성할 수 있다. 여기서, 배경 영역은 수신된 하나 이상의 이미지에서 추출된 하나 이상의 객체 이외의 영역을 지칭할 수 있다. 예를 들어, 프로세서(314, 334)는 배경 영역에 아웃 포커스(OUT-OF-FOCUS)를 수행하고, 아웃 포커스의 강도를 조정하여, 추출된 하나 이상의 객체에 포커스가 맞춰진 이미지를 생성할 수 있다. 대안적으로 또는 추가적으로 프로세서(314, 334)는 수신된 하나 이상의 이미지가 동영상인 경우, 객체의 이동에 따라 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 대안적으로 또는 추가적으로, 프로세서(314, 334)는 수신된 하나 이상의 이미지에 포함된 다른 객체를 선택하는 사용자 응답에 응답하여, 선택된 다른 객체 이외의 영역을 배경 영역으로 설정하고, 선택된 다른 객체의 이동에 따라 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다.In an embodiment, the
다른 예로서, 프로세서(314, 334)는 수신된 하나 이상의 이미지에서 배경 영역을 삭제하여, 하나 이상의 객체를 포함하는 적어도 하나의 제1 이미지를 생성하고, 적어도 하나의 제2 이미지를 수신하여, 적어도 하나의 제2 이미지를 생성된 제1 이미지에 합성시킬 수 있다. 또 다른 예로서, 프로세서(314, 334)는 수신된 하나 이상의 이미지에서 추출된 하나 이상의 객체를 삭제하고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델(Generative Adversarial Network; GAN)을 통해, 하나 이상의 이미지에서 추출된 하나 이상의 객체가 삭제된 영역에 대한 이미지를 생성할 수 있다. 이 후, 프로세서는 하나 이상의 객체가 삭제된 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용할 수 있다. 대안적으로 또는 추가적으로, 수신된 하나 이상의 이미지가 동영상이고, 동영상에서 추출된 하나 이상의 객체가 이동되는 경우, 프로세서(314, 334)는 이동되는 하나 이상의 객체가 삭제된 동영상을 생성할 수 있다. 또 다른 예로서, 프로세서(314, 334)는 수신된 사용자 입력에 기초하여 추출된 하나 이상의 객체를 변형시키고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 추출된 하나 이상의 객체의 변형에 따라 형성된 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 생성할 수 있다. 이 후, 프로세서는 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용할 수 있다. 또 다른 예로서, 프로세서(314, 334)는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여, 추출된 하나 이상의 객체 중 일부를 변형시킬 수 있다.As another example, the
도 3에서는 정보 처리 시스템(230)이 사용자 단말(210)과 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 정보 처리 시스템(230)이 사용자 단말(210)에 포함되도록 구성될 수 있다.Although the
도 4는 본 개시의 일 실시예에 따른 프로세서(314)의 내부 구성을 나타내는 블록도이다. 도시된 바와 같이, 프로세서(314)는 객체 추출부(410), 객체/배경 변형부(420) 및 이미지 생성부(430)를 포함할 수 있다. 객체 추출부(410)는 하나 이상의 이미지를 수신할 수 있다. 객체 추출부(410)는 수신된 하나 이상의 이미지에 포함된 하나 이상의 객체를 추출할 수 있다. 일 실시예에서, 객체 추출부(410)는 이미지로부터 객체를 추출하도록 학습된 인공신경망 모델을 이용하여, 수신한 하나 이상의 이미지에 포함된 하나 이상의 객체를 추출할 수 있다. 예를 들어, 객체 추출부(410)는 세그멘테이션(segmentation) 인공신경망 모델 및/또는 디텍션(detection) 인공신경망 모델을 이용하여, 수신한 하나 이상의 이미지에 포함된 하나 이상의 객체를 추출할 수 있다. 여기서, 세그멘테이션 인공신경망 모델은 다양한 세그멘테이션 알고리즘이 적용될 수 있으며, 예를 들면 시맨틱(semantic) 세그멘테이션 및/또는 인스턴스(instance) 세그멘테이션 인공신경망 모델 일 수 있다.4 is a block diagram illustrating an internal configuration of a
객체/배경 변형부(420)는, 객체 추출부(410)에서 추출한 객체 또는 배경 영역 중 적어도 하나를 변형시킬 수 있다. 여기서, 배경 영역은 하나 이상의 이미지에서 추출된 객체 이외의 영역을 지칭할 수 있다. 일 실시예에서, 객체/배경 변형부(420)는 배경 영역에 대한 아웃 포커스를 수행할 수 있다. 추가적으로, 객체/배경 변형부(420)는 아웃 포커스의 강도를 조정할 수 있다. 다른 실시예에서, 객체/배경 변형부(420)는 하나 이상의 이미지에서 배경 영역을 삭제하여, 추출된 객체를 포함하는 적어도 하나의 제1 이미지를 생성할 수 있다. 또 다른 실시예에서, 객체/배경 변형부(420)는 하나 이상의 이미지에서 추출된 객체를 삭제하고, 하나 이상의 이미지에서 객체가 삭제된 영역을 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 보완할 수 있다. 예를 들어, 객체/배경 변형부(420)는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 하나 이상의 이미지에서 객체가 삭제된 영역에 대한 이미지를 생성하고, 객체가 삭제된 영역에 대한 이미지를 하나 이상의 이미지에 적용할 수 있다. 또 다른 실시예에서, 객체/배경 변형부(420)는 추출된 객체에 대한 사용자 입력을 수신하고, 수신된 사용자 입력에 기초하여 객체를 변형시키고, 변형으로 인한 하나 이상의 이미지의 빈 영역을 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 보완할 수 있다. 예를 들어, 객체/배경 변형부(420)는 이미지 인페인팅을 위한 적대 신경망 모델을 통해, 객체의 변형에 따라 형성된 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 생성하고, 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 하나 이상의 이미지에 적용할 수 있다. 또 다른 실시예에서, 객체/배경 변형부(420)는 추출된 객체 중 일부에 대한 사용자 입력을 수신하고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여, 추츨된 객체 중 일부를 변형시킬 수 있다.The object/
이미지 생성부(430)는, 변형된 객체 또는 배경 영역 중 적어도 하나를 포함하는 이미지를 생성할 수 있다. 추가적으로, 이미지 생성부(430)는 생성한 이미지를 출력할 수 있다. 예를 들어, 이미지 생성부(430)는 생성한 이미지를 사용자 단말의 화면을 통해 출력하도록 할 수 있다. 일 실시예에서, 이미지 생성부(430)는 하나 이상의 이미지가 동영상인 경우, 객체의 이동에 따라 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 추가적으로, 이미지 생성부(430)는 하나 이상의 이미지에 포함된 다른 객체를 선택하고, 선택된 다른 객체 이외의 영역을 배경 영역으로 설정하고, 선택된 다른 객체의 이동에 따라 설정된 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 다른 실시예에서, 이미지 생성부(430)는 적어도 하나의 제2 이미지를 수신하고, 객체/배경 변형부(420)가 생성한 제1 이미지를 수신하고, 수신된 제1 이미지에 적어도 하나의 제2 이미지를 합성한 이미지를 생성할 수 있다. 또 다른 실시예에서, 이미지 생성부(430)는 하나 이상의 이미지가 동영상이고, 동영상에서 객체가 이동되는 경우, 이동되는 객체가 삭제된 동영상을 생성할 수 있다.The
도 5는 본 개시의 일 실시예에 따른 이미지 변형 방법(500)을 나타내는 흐름도이다. 일 실시예에서, 이미지 변형 방법(500)은 프로세서(예를 들어, 사용자 단말 또는 정보 처리 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 이미지 변형 방법(500)은 프로세서가 하나 이상의 이미지를 수신함으로써 개시될 수 있다(S510). 프로세서는 수신된 하나 이상의 이미지에 포함된 제1 객체를 추출할 수 있다(S520).5 is a flowchart illustrating an
이 후, 프로세서는 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시킬 수 있다(S530). 여기서, 제1 배경 영역은, 하나 이상의 이미지에서 제1 객체 이외의 영역을 지칭할 수 있다. 일 실시예에서, 프로세서는 제1 배경 영역에 대한 아웃 포커스를 수행할 수 있다. 추가적으로, 프로세서는 아웃 포커스의 강도를 조정할 수 있다. 다른 실시예에서, 프로세서는 수신된 하나 이상의 이미지에서 제1 배경 영역을 삭제하여, 제1 객체를 포함하는 적어도 하나의 제1 이미지를 생성할 수 있다. 또 다른 실시예에서, 프로세서는 수신된 하나 이상의 이미지에서 제1 객체를 삭제하고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 하나 이상의 이미지에서 제1 객체가 삭제된 영역에 대한 이미지를 생성할 수 있다. 이 후, 프로세서는 제1 객체가 삭제된 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용할 수 있다. 또 다른 실시예에서, 프로세서는 제1 객체에 대한 사용자 입력을 수신하고, 수신된 사용자 입력에 기초하여 제1 객체를 변형시키고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 제1 객체의 변형에 따라 형성된 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 생성할 수 있다. 이 후, 프로세서는 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용할 수 있다. 또 다른 실시예에서, 프로세서는 제1 객체 중 일부에 대한 사용자 입력을 수신하고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 제1 객체 중 일부를 변형시킬 수 있다.Thereafter, the processor may transform at least one of the first object and the first background area ( S530 ). Here, the first background area may refer to an area other than the first object in one or more images. In an embodiment, the processor may perform out-focus on the first background area. Additionally, the processor may adjust the intensity of out-focus. In another embodiment, the processor may generate at least one first image including the first object by deleting the first background area from the one or more received images. In another embodiment, the processor deletes the first object from the one or more received images, and generates, via a productive adversarial neural network model for image inpainting, an image for the region from which the first object has been deleted in the one or more images. can Thereafter, the processor may apply the image for the region from which the first object is deleted to one or more received images. In yet another embodiment, the processor receives a user input for a first object, transforms the first object based on the received user input, and via a productive adversarial neural network model for image inpainting, transforms the first object An image of a blank area or a distorted area of one or more images formed according to . Thereafter, the processor may apply the image for the blank region or the distortion region of the one or more images to the received one or more images. In another embodiment, the processor may receive a user input for some of the first objects, and deform some of the first objects using a productive adversarial neural network model for image inpainting.
이 후, 프로세서는 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성할 수 있다(S540). 일 실시예에서, 프로세서는 수신된 하나 이상의 이미지가 동영상인 경우, 제1 객체의 이동에 따라 제1 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 추가적으로, 프로세서는 수신된 하나 이상의 이미지에 포함된 제2 객체를 선택하고, 선택된 제2 객체 이외의 영역을 제2 배경 영역으로 설정하고, 제2 객체의 이동에 따라 제2 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 다른 실시예에서, 프로세서는 적어도 하나의 제2 이미지를 수신하고, 단계(S530)에서 생성한 제1 이미지에 적어도 하나의 제2 이미지를 합성할 수 있다. 또 다른 실시예에서, 프로세서는 수신된 하나 이상의 이미지가 동영상이고, 동영상에서 제1 객체가 이동되는 경우, 이동되는 제1 객체가 삭제된 동영상을 생성할 수 있다. 이 후, 프로세서는 생성된 이미지를 출력할 수 있다(S550). 사용자 단말의 화면으로 출력할 수 있다. 혹은 메모리에 저장할 수 있다.Thereafter, the processor may generate an image including at least one of the deformed first object and the first background region ( S540 ). In an embodiment, when one or more received images are moving images, the processor may generate a moving image in which the first background area is out-focused according to the movement of the first object. Additionally, the processor selects a second object included in one or more received images, sets an area other than the selected second object as the second background area, and the second background area is out-focused according to the movement of the second object. You can create videos. In another embodiment, the processor may receive at least one second image and synthesize at least one second image with the first image generated in step S530 . In another embodiment, when one or more received images are moving pictures and the first object is moved in the moving image, the processor may generate a moving image in which the moved first object is deleted. Thereafter, the processor may output the generated image (S550). It can be output to the screen of the user terminal. Or it can be stored in memory.
도 6은 본 개시의 일 실시예에 따른 동영상에 포함된 복수의 객체 중 일부 객체(612, 622) 이외의 영역인 배경 영역을 아웃 포커스시키는 예시를 나타내는 도면이다. 일 실시예에서, 프로세서는 하나 이상의 동영상을 수신하고, 수신한 동영상에 포함된 객체를 추출할 수 있다. 여기서, 프로세서는 카메라 등 입력 장치로부터 실시간으로 촬영되는 동영상을 수신할 수 있다. 대안적으로, 프로세서는 메모리 등 저장 장치로부터 기 저장된 동영상 및/또는 녹화된 동영상을 수신할 수 있다. 여기서, 동영상은 하나 이상의 프레임 이미지를 포함할 수 있다.6 is a diagram illustrating an example of out-focusing a background area that is an area other than some
일 실시예에서, 프로세서는 수신한 동영상에서 제1 객체를 추출하고, 추출된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시킬 수 있다. 여기서, 제1 객체는 사용자 입력에 응답하여 선택된 것일 수 있다. 대안적으로, 제1 객체는 객체 추출 알고리즘 등에 의해 자동으로 추출된 것일 수 있다. 이 후, 프로세서는 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 동영상을 생성할 수 있다. 예를 들어, 프로세서는 동영상에 포함된 복수의 프레임 중 일부에서 제1 객체를 추출하고, 추출된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시킬 수 있다. 이후, 프로세서는 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 하나 이상의 프레임을 생성하고, 생성된 하나 이상의 프레임을 포함하는 동영상을 생성할 수 있다.In an embodiment, the processor may extract a first object from the received video and transform at least one of the extracted first object and the first background area. Here, the first object may be selected in response to a user input. Alternatively, the first object may be automatically extracted by an object extraction algorithm or the like. Thereafter, the processor may generate a moving picture including at least one of the deformed first object and the first background area. For example, the processor may extract a first object from some of a plurality of frames included in a moving picture, and may transform at least one of the extracted first object and the first background area. Thereafter, the processor may generate one or more frames including at least one of the deformed first object or the first background region, and generate a video including the generated one or more frames.
일 실시예에서, 프로세서는 제1 배경 영역을 아웃 포커스시키고, 아웃 포커스의 강도를 조정함으로써, 제1 배경 영역이 아웃 포커스된 동영상을 생성할 수 있다. 예를 들어, 프로세서는 제1 객체의 이동에 따라 제1 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 구체적으로, 프로세서는 수신한 동영상에서 일부 구간에 해당하는 프레임 이미지 각각에서 제1 객체를 추출하고, 제1 객체 이외의 영역인 배경 영역을 아웃 포커스시킴으로써, 제1 객체의 이동에 따라 배경 영역은 아웃 포커스되고 제1 객체에 대한 포커스가 유지되는 동영상을 생성할 수 있다.In an embodiment, the processor may generate a video in which the first background region is out-focused by out-focusing the first background region and adjusting the out-focus intensity. For example, the processor may generate a video in which the first background area is out-focused according to the movement of the first object. Specifically, the processor extracts the first object from each frame image corresponding to a partial section in the received video and out-focuses the background area that is an area other than the first object, so that the background area is out according to the movement of the first object It is possible to generate a moving picture in which focus is made and the focus of the first object is maintained.
일 실시예에서, 프로세서는 수신한 동영상에 포함된 제2 객체를 선택하고, 선택된 제2 객체 이외의 영역을 제2 배경 영역으로 설정함으로써, 제2 객체의 이동에 따라 제2 배경 영역이 아웃 포커스되는 동영상을 생성할 수 있다. 여기서, 제2 객체는 사용자 입력에 응답하여 선택된 것일 수 있다. 대안적으로, 제2 객체는 객체 추출 알고리즘 등에 의해 자동으로 선택된 것일 수 있다. 예를 들어, 프로세서는 동영상에 포함된 복수의 프레임 중 일부에서 제2 객체를 선택하고, 선택된 제2 객체 이외의 영역인 제2 배경 영역이 아웃 포커스되는 하나 이상의 프레임을 생성하고, 생성된 하나 이상의 프레임을 포함하는 동영상을 생성할 수 있다.In an embodiment, the processor selects a second object included in the received video and sets an area other than the selected second object as the second background area, so that the second background area is out of focus according to the movement of the second object You can create videos that are Here, the second object may be selected in response to a user input. Alternatively, the second object may be automatically selected by an object extraction algorithm or the like. For example, the processor selects a second object from some of a plurality of frames included in the video, generates one or more frames in which a second background area that is an area other than the selected second object is out-focused, and the generated one or more You can create a video containing frames.
도시된 바와 같이, 프로세서는 수신한 동영상에서 제1 구간에 해당하는 프레임 이미지 각각에서 제1 남성 객체(612)를 추출하고, 제1 남성 객체(612) 이외의 배경 영역을 아웃 포커스시킬 수 있다. 이에 따라, 프로세서는 제1 남성 객체(612)의 이동에 따라 배경 영역은 아웃 포커스되고 제1 남성 객체(612)에 대한 포커스가 유지되는 하나 이상의 프레임(610)을 생성할 수 있다. 이 후, 프로세서는 동영상에서의 제2 남성 객체(622)를 선택하는 사용자 입력에 기초하여, 수신한 동영상에서 제2 구간에 해당하는 프레임 이미지 각각에서 제2 남성 객체(622)를 추출하고, 2 남성 객체(622) 이외의 배경 영역을 아웃 포커스시킬 수 있다. 이에 따라, 프로세서는 제2 남성 객체(622)의 이동에 따라 배경 영역은 아웃 포커스되고, 제2 남성 객체(622)에 대한 포커스가 유지되는 하나 이상의 프레임(620)을 생성할 수 있다.As illustrated, the processor may extract the first
프로세서는 이렇게 생성된 프레임들(610, 620)을 포함하는 동영상을 생성할 수 있다. 여기서, 제1 구간과 제2 구간은 연속된 구간일 수 있다. 이 경우, 프로세서는 제1 남성 객체(612)에서 제2 남성 객체(622)로 포커스가 이동하는 동영상을 생성할 수 있다.The processor may generate a video including the
도 7은 본 개시의 일 실시예에 따른 하나 이상의 이미지(710)로부터 추출된 객체를 포함하는 이미지를 다른 이미지에 합성하는 예시를 나타내는 도면이다. 프로세서는 수신한 하나 이상의 이미지에 포함된 하나 이상의 객체를 추출하고, 하나 이상의 이미지에서 추출한 객체 이외의 영역인 배경 영역을 삭제하여, 추출한 객체를 포함하는 적어도 하나의 제1 이미지(예를 들면, 객체 추출 이미지)를 생성할 수 있다. 이 후, 프로세서는 적어도 하나의 제2 이미지를 수신하고, 수신된 제2 이미지를 생성된 제1 이미지에 합성할 수 있다. 예를 들어, 프로세서는 생성한 제1 이미지를 사용자 단말의 내부 및/또는 외부 저장 장치에 저장하고, 이 후, 사용자 입력에 따라 저장 장치로부터 제1 이미지를 수신하고, 수신된 제1 이미지에 제2 이미지를 합성할 수 있다. 여기서, 제1 이미지 및/또는 제2 이미지는 동영상일 수 있다. 제1 이미지는, 추출된 객체가 사용자 입력에 따라 확대, 축소, 복제, 상하/좌우 대칭, 기울기 조정, 선명도 조정 등이 되거나, 추출된 객체에 흑백 효과, 강조 효과 등의 다양한 효과가 적용된 것일 수 있다.7 is a diagram illustrating an example of synthesizing an image including an object extracted from one or
일 실시예에서, 프로세서는 수신한 동영상에 포함된 객체를 추출하고, 동영상에서 추출한 객체 이외의 영역인 배경 영역을 삭제하여, 추출한 객체를 포함하는 적어도 하나의 동영상을 생성할 수 있다. 이 후, 프로세서는 적어도 하나의 이미지를 수신하고, 생성한 동영상을 수신한 이미지에 합성할 수 있다. 구체적으로, 프로세서는 수신한 동영상에서 일정 구간에 해당하는 프레임 이미지 각각에서 객체를 추출하고, 객체 이외의 영역인 배경 영역을 삭제하여, 추출한 객체만을 포함하는 하나 이상의 프레임을 생성하고, 생성된 하나 이상의 프레임을 기초로 객체 동영상(예를 들면, GIF 영상)을 생성할 수 있다.In an embodiment, the processor may generate at least one video including the extracted object by extracting an object included in the received video and deleting a background area that is an area other than the extracted object from the video. Thereafter, the processor may receive at least one image and synthesize the generated video with the received image. Specifically, the processor extracts an object from each of the frame images corresponding to a certain section in the received video, deletes a background area that is an area other than the object, generates one or more frames including only the extracted object, and the generated one or more An object moving picture (eg, a GIF image) may be generated based on the frame.
다른 실시예에서, 프로세서는 하나 이상의 이미지에 포함된 객체를 추출하고, 하나 이상의 이미지에서 추출한 객체 이외의 영역인 배경 영역을 삭제하여, 추출한 객체를 포함하는 적어도 하나의 이미지(예를 들면, 스티커 이미지)를 생성할 수 있다. 이 후, 프로세서는 적어도 하나의 동영상을 수신하고, 생성한 이미지를 수신한 동영상에 합성할 수 있다. 예를 들어, 프로세서는 수신한 동영상에서 일정 구간에 해당하는 프레임 이미지 각각에 생성된 이미지를 합성할 수 있다.In another embodiment, the processor extracts an object included in one or more images, deletes a background region that is a region other than the extracted object from the one or more images, and at least one image including the extracted object (eg, a sticker image) ) can be created. Thereafter, the processor may receive at least one moving picture and combine the generated image with the received moving picture. For example, the processor may synthesize an image generated in each frame image corresponding to a predetermined section in the received video.
도시된 바와 같이, 프로세서는 수신한 이미지(710)에서 남성 객체를 추출하고, 남성 객체 이외의 배경 영역을 삭제함으로써, 추출한 남성 객체만을 포함하는 제1 이미지를 생성할 수 있다. 이 후, 프로세서는 제2 이미지를 수신하고, 제2 이미지에 포함된 객체 주변 영역에 제1 이미지를 합성함으로써, 제1 이미지 및 제2 이미지를 포함하는 이미지(720)를 생성할 수 있다. 여기서, 제1 이미지는 추출된 남성 객체가 축소, 복제 및/또는 좌우 대칭된 것일 수 있다.As illustrated, the processor may generate a first image including only the extracted male object by extracting a male object from the received
도 7에서는 제1 이미지에 포함된 객체와 제2 이미지에 포함된 객체가 동일한 것으로 도시되어 있으나, 이에 한정되지 않는다. 또한, 도 7에서는 프로세서는 제1 이미지를 제2 이미지에 포함된 객체 주변 영역에 합성하고 있으나, 이에 한정되지 않는다. 예를 들어, 프로세서는 제1 이미지를 제2 이미지에서 객체가 존재하는 영역에 합성할 수 있다.In FIG. 7 , the object included in the first image and the object included in the second image are illustrated as the same, but the present invention is not limited thereto. Also, in FIG. 7 , the processor synthesizes the first image in the area around the object included in the second image, but is not limited thereto. For example, the processor may synthesize the first image in the area where the object exists in the second image.
도 8은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 포함하는 이미지를 다른 이미지에 합성하여 다중 노출 샷과 유사한 이미지(800)를 생성하는 예시를 나타내는 도면이다. 일 실시예에서, 프로세서는 복수의 프레임 이미지를 포함하는 동영상을 수신할 수 있다. 프로세서는 수신한 동영상에 포함된 복수의 프레임 이미지 중 제1 프레임 이미지로부터 하나 이상의 객체를 추출하고, 추출한 객체 이외의 영역인 배경 영역을 삭제하여 추출한 객체를 포함하는 제1 이미지를 생성할 수 있다. 이 후, 프로세서는 복수의 프레임 이미지 중 제2 프레임 이미지와 제1 이미지를 합성함으로써, 다중 노출 샷과 유사한 이미지 또는 객체의 이동 흔적이 나타나는 동영상을 생성할 수 있다. 여기서, 제1 프레임 이미지, 제2 프레임 이미지 및/또는 제1 이미지는 하나 이상의 이미지일 수 있다. 또한, 제1 프레임 이미지 및/또는 제2 프레임 이미지는 복수의 프레임 중 특정 시간 단위로 추출된 프레임 이미지일 수 있다.8 is a diagram illustrating an example of generating an
예를 들어, 프로세서는 수신한 동영상에서 특정 시간 단위로 추출한 n(여기서 n은 인 자연수)개의 프레임 이미지 중 m(여기서 m은 인 자연수) 번째 프레임을 제외한 나머지 n-1개의 프레임 이미지 각각에서 하나 이상의 객체를 추출하고, 추출한 객체 이외의 영역인 배경 영역을 삭제함으로써 n-1개의 제1 이미지를 생성할 수 있다. 이 후, 프로세서는 m 번째 프레임 이미지와 n-1개의 프레임 이미지를 합성함으로써, 다중 노출 샷과 유사한 이미지 또는 객체의 이동 흔적이 나타나는 동영상을 생성할 수 있다.For example, the processor extracts n (where n is m (where m is a natural number) of frame images is a natural number), n-1 first images may be generated by extracting one or more objects from each of the remaining n-1 frame images except for the n-th frame, and deleting a background region that is a region other than the extracted object. Thereafter, by synthesizing the m-th frame image and n-1 frame images, the processor may generate an image similar to a multi-exposure shot or a moving image showing movement traces of an object.
다른 실시예에서, 프로세서는 특정 시간 단위로 연속으로 촬영된 복수의 이미지를 수신할 수 있다. 프로세서는 복수의 이미지 중 제1 연속 촬영 이미지에서 하나 이상의 객체를 추출하고, 추출한 객체 이외의 영역인 배경 영역을 삭제함으로써 추출한 객체를 포함하는 제1 이미지를 생성할 수 있다. 이 후, 프로세서는 복수의 이미지 중 제2 연속 촬영 이미지와 제1 이미지를 합성함으로써, 다중 노출 샷과 유사한 이미지 또는 객체의 이동 흔적이 나타나는 동영상을 생성할 수 있다. 여기서, 제1 연속 촬영 이미지, 제2 연속 촬영 이미지 및/또는 제1 이미지는 하나 이상의 이미지일 수 있다.In another embodiment, the processor may receive a plurality of images continuously photographed in a specific time unit. The processor may generate a first image including the extracted object by extracting one or more objects from the first continuous shooting image among the plurality of images and deleting a background area that is a region other than the extracted object. Thereafter, the processor may generate an image similar to a multiple exposure shot or a moving image showing movement traces of an object by synthesizing the second continuously captured image and the first image among the plurality of images. Here, the first continuously shot image, the second continuously shot image, and/or the first image may be one or more images.
도시된 바와 같이, 프로세서는 특정 시간 단위로 연속으로 촬영된 9개의 이미지 중 8개의 이미지 각각에서 여성 객체를 추출하고, 추출한 여성 객체 이외의 배경 영역을 삭제함으로써, 여성 객체를 각각 포함하는 8개의 제1 이미지를 생성할 수 있다. 이 후, 프로세서는 연속으로 촬영된 9개의 이미지 중 나머지 한 개의 이미지(즉, 아이스 링크장 배경을 포함하는 이미지) 및 8개의 제1 이미지를 합성함으로써, 다중 노출샷 이미지와 유사한 이미지(800)를 생성할 수 있다. 본 개시에 일 실시예에 따라 생성되는 이미지(800)는 기존의 다중 노출샷 이미지와 달리, 복수의 연속 촬영 이미지 중 일부 이미지에서 객체만을 추출하여, 복수의 연속 촬영 이미지 중 배경 영역이 존재하는 이미지에 합성한 것이므로, 합성되는 각각의 객체의 위치를 터치 입력 등의 사용자 입력을 통해 수정할 수 있다.As shown, the processor extracts a female object from each of 8 images out of 9 images continuously photographed in a specific time unit, and deletes a background area other than the extracted female object, thereby 1 image can be created. Thereafter, the processor synthesizes the remaining one image (that is, the image including the ice rink background) and the 8 first images among the 9 consecutively shot images, thereby generating an
도 8에서는 프로세서는 연속 촬영 이미지(또는 프레임 이미지) 각각에서 추출된 객체 이미지를 그대로 합성하였으나, 이에 한정되지 않는다. 예를 들어, 프로세서는 추출된 객체 이미지에 흑백 효과를 적용하여 합성할 수 있다. 대안적으로, 프로세서는 각 객체 이미지가 추출된 연속 촬영 이미지(또는 프레임 이미지)의 촬영 순서에 따라, 색채의 선명도, 채도, 명도 등을 수정하여 합성할 수 있다.In FIG. 8 , the processor synthesizes the object images extracted from each of the sequentially captured images (or frame images) as it is, but is not limited thereto. For example, the processor may synthesize the extracted object image by applying a black-and-white effect. Alternatively, the processor may correct and synthesize the vividness, saturation, brightness, etc. of colors according to the shooting order of the sequentially captured images (or frame images) from which each object image is extracted.
도 9는 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 삭제하는 예시를 나타내는 도면이다. 프로세서는 수신한 하나 이상의 이미지에서 하나 이상의 객체 추출하여 삭제하고, 하나 이상의 이미지에서 객체가 삭제된 영역을 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 보완할 수 있다. 일 실시예에서, 프로세서는 수신된 하나 이상의 이미지에서 하나 이상의 객체 추출하여 삭제하고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 하나 이상의 이미지에서 객체가 삭제된 영역에 대한 이미지를 생성할 수 있다. 예를 들어, 프로세서는 객체가 삭제된 영역의 주변 영역을 기초로 객체가 삭제된 영역에 대한 이미지를 생성할 수 있다. 대안적으로, 수신한 하나 이상의 이미지가 동영상의 프레임 이미지인 경우, 프로세서는 전/후 프레임 이미지를 기초로 객체가 삭제된 영역에 대한 이미지를 생성할 수 있다. 이 후, 프로세서는 객체가 삭제된 영역에 대한 이미지를 하나 이상의 이미지에 적용할 수 있다.9 is a diagram illustrating an example of deleting an object extracted from one or more images according to an embodiment of the present disclosure. The processor extracts and deletes one or more objects from one or more received images, and may supplement regions in which objects are deleted from one or more images using a productive adversarial neural network model for image inpainting. In an embodiment, the processor extracts and deletes one or more objects from one or more received images, and generates an image for a region in which an object is deleted from one or more images through a productive adversarial neural network model for image inpainting. . For example, the processor may generate an image of the area from which the object is deleted based on a surrounding area of the area from which the object is deleted. Alternatively, when the received one or more images are frame images of a moving picture, the processor may generate an image for a region from which an object is deleted based on the before/after frame images. After that, the processor may apply the image for the area from which the object is deleted to one or more images.
일 실시예에서, 수신한 하나 이상의 이미지가 동영상인 경우, 프로세서는 추출된 객체의 이동에 따라 객체가 삭제된 동영상을 생성할 수 있다. 예를 들어, 수신한 하나 이상의 이미지가 동영상이고, 동영상에서 객체가 이동되는 경우, 이동되는 객체가 삭제된 동영상을 생성할 수 있다. 구체적으로, 동영상에서 일정 구간에 해당하는 복수의 프레임 각각에서 객체를 추출하여 삭제함으로써, 객체가 이동하더라도 객체가 나타나지 않는 동영상을 생성할 수 있다. 이 경우, 프로세서가 추출하여 삭제하는 객체는 터치 등의 사용자 입력을 통해 선택된 객체, 메인 객체가 아니라고 자동으로 인식되는 객체 및/또는 사전 설정한 객체 DB에 포함되지 않는 객체 등일 수 있다.In an embodiment, when one or more received images are moving images, the processor may generate a moving image in which the object is deleted according to the movement of the extracted object. For example, when one or more received images are moving images and an object is moved in the moving image, a moving image may be generated in which the moving object is deleted. Specifically, by extracting and deleting an object from each of a plurality of frames corresponding to a predetermined section in a video, a video in which the object does not appear even if the object moves can be generated. In this case, the object extracted and deleted by the processor may be an object selected through a user input such as a touch, an object automatically recognized as not a main object, and/or an object not included in a preset object DB.
도시된 바와 같이, 프로세서는 제1 이미지(710)에서 해변 배경에 서있는 사람 객체를 추출하여 삭제할 수 있다. 사람 객체가 삭제된 영역은 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 자연스럽게 채워질 수 있다. 이를 위해, 프로세서는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 사람 객체가 삭제된 영역에 대한 이미지를 생성하고, 사람 객체가 삭제된 영역에 대한 이미지를 제1 이미지(710)에 적용할 수 있다. 따라서, 프로세서는 사람 객체가 삭제되고, 삭제된 영역이 주변 배경 영역과 자연스럽게 이어지도록 채워진 제2 이미지(720)를 생성 및/또는 출력할 수 있다. 본 개시의 일 실시예에 따라, 의도하지 않은 객체가 촬영됨으로써 발생하는 사생활 침해를 방지할 수 있고, 사용자들이 메인 객체에 집중하도록 할 수 있다.As illustrated, the processor may extract and delete the person object standing on the beach background from the
도 10은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체를 변형시키는 예시를 나타내는 도면이다. 프로세서는 객체에 대한 사용자 입력을 수신하고, 수신한 사용자 입력에 기초하여 객체를 변형시킬 수 있다. 프로세서는 이러한 변형으로 인한 하나 이상의 이미지의 빈 영역 또는 왜곡된 영역을 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 보완할 수 있다. 일 실시예에서, 프로세서는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 객체의 변형에 따라 형성된 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 생성하고, 하나 이상의 이미지의 빈 영역 또는 왜곡 영역에 대한 이미지를 수신된 하나 이상의 이미지에 적용할 수 있다. 예를 들어, 프로세서는 이미지에서 객체 변형으로 나타나는 빈 영역의 주변 영역을 기초로 이미지 인페인팅을 통해 자연스럽게 보완할 수 있다. 대안적으로 또는 추가적으로, 하나 이상의 이미지가 동영상의 프레임 이미지인 경우, 프로세서는 해당 프레임의 전/후 프레임을 기초로, 이미지 인페인팅을 통해 이미지의 빈 영역을 자연스럽게 보완할 수 있다. 이미지에서 빈 영역이 나타날 수 있다.10 is a diagram illustrating an example of deforming an object extracted from one or more images according to an embodiment of the present disclosure. The processor may receive a user input for the object, and may deform the object based on the received user input. The processor may compensate for blank or distorted regions of one or more images due to such deformations using a productive adversarial neural network model for image inpainting. In one embodiment, the processor generates an image for a blank region or a distortion region of one or more images formed according to the deformation of an object, through the productive adversarial neural network model for image inpainting, and the blank region or distortion region of the one or more images may be applied to one or more received images. For example, the processor may naturally supplement the image through image inpainting based on the surrounding area of the blank area that appears as object deformation in the image. Alternatively or additionally, when one or more images are frame images of a moving picture, the processor may naturally supplement the blank area of the image through image inpainting based on frames before and after the corresponding frame. Blank areas may appear in the image.
도시된 바와 같이, 사용자는 출력된 이미지(1010)에서 객체에 대한 터치 입력, 클릭 입력 및/또는 드래그 입력을 통해 사람 객체의 키를 늘리고, 몸매를 날씬하게 변형시킬 수 있다. 이미지에서 추출된 사람 객체의 몸매를 날씬하게 변형함에 따라, 변형 전 객체가 존재하던 영역 중 일부가 이미지에서 빈 영역으로 나타나거나, 왜곡되어 나타날 수 있다. 프로세서는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 사람 객체의 몸매를 날씬하게 변형함에 따라 형성된 빈 영역 또는 왜곡 영역에 대한 이미지를 생성하고, 빈 영역 또는 왜곡 영역에 대한 이미지를 이미지(1010)에 적용할 수 있다. 즉, 프로세서는 이러한 빈 영역 또는 왜곡된 영역을 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 보완함으로써, 추출된 객체를 변형함에 따라 발생하는 빈 영역 또는 왜곡된 영역이 자연스럽게 채워진 이미지(1020)를 생성할 수 있다. 이 경우, 기존의 포토샵 또는 보정 애플리케이션과 달리 보정으로 인한 배경의 왜곡이 나타나지 않을 수 있다.As illustrated, the user may increase the height of the human object and change the body shape to be slim through a touch input, a click input, and/or a drag input to the object in the
도 11은 본 개시의 일 실시예에 따른 하나 이상의 이미지로부터 추출된 객체 중 일부를 변형시키는 예시를 나타내는 도면이다. 일 실시예에서, 프로세서는 하나 이상의 이미지로부터 추출된 객체 중 일부에 대한 사용자 입력을 수신하고, 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여, 추출된 객체 중 일부를 변형시키거나 생성할 수 있다. 여기서, 이미지 인페인팅을 위한 생산적 적대 신경망 모델은 입력되는 이미지에 포함된 객체와 어울리는 색, 부분 형태, 눈, 코, 입, 의상, 헤어 등을 결정하도록 학습된 모델일 수 있다.11 is a diagram illustrating an example of deforming some of objects extracted from one or more images according to an embodiment of the present disclosure. In one embodiment, the processor may receive user input for some of the extracted objects from one or more images, and use a productive adversarial neural network model for image inpainting to transform or create some of the extracted objects. . Here, the productive adversarial neural network model for image inpainting may be a model trained to determine a color, a partial shape, eyes, nose, mouth, clothes, hair, etc. that match an object included in an input image.
예를 들어, 프로세서가 객체의 눈이 감긴 것을 자동으로 인식한 경우, 프로세서는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 객체의 눈 영역을 해당 객체와 어울리는 눈의 형태로 변형시키거나 객체와 어울리는 눈의 형태를 생성하여 이미지에 적용할 수 있다. 대안적으로, 사용자가 이미지에서 객체의 눈 영역을 터치하는 경우, 프로세서는 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 이용하여 객체의 눈 영역을 해당 객체와 어울리는 눈의 형태로 변형시키거나 객체와 어울리는 눈의 형태를 생성하여 이미지에 적용할 수 있다.For example, if the processor automatically recognizes that an object's eyes are closed, the processor uses a productive adversarial neural network model for image inpainting to transform the object's eye region into an eye shape that matches the object, or You can create matching eye shapes and apply them to your image. Alternatively, when the user touches an eye region of an object in the image, the processor uses a productive adversarial neural network model for image inpainting to transform the eye region of the object into an eye shape that matches the object or You can create an eye shape and apply it to an image.
도시된 바와 같이, 제1 이미지(1110)에 포함된 사람 객체가 눈을 감고 있는 경우, 사용자는 사람 객체의 눈 영역에 대하여 터치 입력을 할 수 있다. 이러한 사용자 입력에 응답하여, 프로세서는 눈 영역을 해당 사람 객체와 어울리는 눈의 형태로 변형함으로써, 제2 이미지(1120)와 같이 눈을 뜬 사람 객체를 포함하는 자연스러운 이미지를 생성 및/또는 출력할 수 있다. 대안적으로, 프로세서는 해당 객체와 어울리는 복수의 눈의 형태를 추천하고, 추천된 복수의 눈의 형태 중 하나를 선택하는 사용자 입력을 수신하여, 객체의 눈 영역을 선택된 눈 형태로 변형시킬 수 있다.As illustrated, when the human object included in the
도 11에서는 객체가 눈을 감은 경우, 프로세서가 객체의 눈 영역을 뜬 눈의 형태로 변형시키는 예시를 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, 이미지에서 추출된 객체의 귀가 제대로 보이지 않는 경우, 프로세서는 객체의 귀 영역을 해당 객체와 어울리는 귀의 형태로 변형하거나, 머리카락으로 덮어진 형태로 변형시킬 수 있다. 다른 예로서, 객체의 앞머리 영역에 대한 사용자 입력에 응답하여, 프로세서는 객체의 앞머리 영역을 다른 스타일의 앞머리 형태로 변형시킬 수 있다. 또 다른 예로서, 객체의 코 밑 영역에 대한 사용자 입력에 응답하여, 프로세서는 객체의 코 밑 영역을 콧수염 형태 또는 콧수염이 없는 형태로 변형시킬 수 있다. 또 다른 예로서, 프로세서는 객체의 입술 영역에 대한 사용자 입력에 응답하여, 프로세서는 객체의 입술 영역을 웃고 있는 입술 형태 등 다양한 입술 형태로 변형시킬 수 있다.11 illustrates an example in which the processor transforms the object's eye region into an open eye shape when the object closes its eyes, but is not limited thereto. For example, when the ears of the object extracted from the image cannot be seen properly, the processor may transform the ear region of the object into an ear shape suitable for the object or a shape covered with hair. As another example, in response to a user input for the bangs region of the object, the processor may transform the bangs region of the object into a different style of bangs. As another example, in response to a user input on the under-nose area of the object, the processor may transform the under-nose area of the object into a mustache shape or a mustache-free shape. As another example, in response to a user input on the lip region of the object, the processor may transform the lip region of the object into various lip shapes, such as a smiling lip shape.
일 실시예에서, 상술한 이미지 변형 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 다른 실시예에 따르면, 상술한 이미지 변형 방법은, 사용자 단말이, 별도의 프로그램 설치 없이, 접속하는 브라우저(예: 웹 브라우저)를 통해 동작될 수 있다. 즉, 사용자 단말의 사용자는 웹 브라우저를 통해 이미지 변형 서비스를 제공받을 수 있다. In one embodiment, the above-described image transformation method may be provided as a computer program stored in a computer-readable recording medium for execution in a computer. The medium may continuously store a computer executable program, or may be a temporary storage for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or several hardware combined, it is not limited to a medium directly connected to any computer system, and may exist distributedly on a network. Examples of the medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floppy disk, and those configured to store program instructions, including ROM, RAM, flash memory, and the like. In addition, examples of other media may include recording media or storage media managed by an app store that distributes applications, sites that supply or distribute various other software, and servers. According to another embodiment, the above-described image transformation method may be operated through a browser (eg, a web browser) that the user terminal accesses without installing a separate program. That is, the user of the user terminal may be provided with an image modification service through a web browser.
본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안 된다.The method, operation, or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those of ordinary skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.In a hardware implementation, the processing units used to perform the techniques include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs). ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다.Accordingly, the various illustrative logic blocks, modules, and circuits described in connection with this disclosure are suitable for use in general purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or the present disclosure. It may be implemented or performed in any combination of those designed to perform the functions described in A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.In firmware and/or software implementations, the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM ( on computer readable media such as programmable read-only memory), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. It may be implemented as stored instructions. The instructions may be executable by one or more processors, and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.
본 개시의 앞선 설명은 통상의 기술자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 통상의 기술자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다.The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to various modifications without departing from the spirit or scope of the disclosure. Accordingly, this disclosure is not intended to be limited to the examples set forth herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
비록 예시적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다.Although example implementations may refer to utilizing aspects of the presently disclosed subject matter in the context of one or more standalone computer systems, the subject matter is not so limited, but rather in connection with any computing environment, such as a network or distributed computing environment. may be implemented. Still further, aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may be similarly affected across the plurality of devices. Such devices may include PCs, network servers, and handheld devices.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에서 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described with reference to some embodiments herein, it should be understood that various modifications and changes can be made without departing from the scope of the present disclosure as understood by those skilled in the art to which the present invention pertains. something to do. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.
110: 사용자
120: 사용자 단말
130: 화면
140: 객체110: user
120: user terminal
130: screen
140: object
Claims (10)
하나 이상의 이미지를 수신하는 단계;
상기 수신된 하나 이상의 이미지에 포함된 제1 객체를 추출하는 단계;
상기 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계;
상기 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계; 및
상기 생성된 이미지를 출력하는 단계를 포함하고,
상기 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는,
상기 제1 객체의 일부에 대한 드래그 입력을 포함하는 사용자 입력을 수신하는 단계 - 상기 드래그 입력은 상기 드래그 입력의 시작 지점에 대응하는 상기 제1 객체의 일부의 특정 지점에 대한 정보 및 상기 드래그 입력의 종료 지점에 대응하는 상기 제1 객체의 일부가 변형된 후에 위치하는 특정 지점에 대한 정보를 포함함 - ;
상기 제1 객체의 일부에 대한 사용자 입력에 기초하여 상기 제1 객체의 일부를 상기 드래그 입력의 시작 지점에 대응하는 상기 제1 객체의 일부의 특정 지점에서 상기 드래그 입력의 종료 지점에 대응하는 상기 제1 객체의 일부가 변형된 후에 위치하는 특정 지점으로 변형시키는 단계; 및
이미지 인페인팅(inpainting)을 위한 생산적 적대 신경망 모델(Generative Adversarial Network; GAN)을 통해, 상기 제1 객체의 일부의 변형에 따라 형성된 상기 이미지의 왜곡 영역에 대한 이미지를 생성하는 단계를 포함하고,
상기 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는,
상기 생성된 이미지의 왜곡 영역에 대한 이미지를 상기 하나 이상의 이미지에 적용하는 단계를 포함하고,
상기 제1 배경 영역은 상기 수신된 하나 이상의 이미지에서 상기 제1 객체 이외의 영역인, 이미지 변형 방법.
An image modification method performed by at least one processor, comprising:
receiving one or more images;
extracting a first object included in the received one or more images;
transforming at least one of the first object and the first background area;
generating an image including at least one of the deformed first object and a first background area; and
outputting the generated image,
The step of transforming at least one of the first object and the first background area includes:
Receiving a user input including a drag input for a part of the first object, wherein the drag input includes information on a specific point of the part of the first object corresponding to a starting point of the drag input and information about the drag input. including information on a specific point located after a part of the first object corresponding to the end point is deformed;
Based on a user input of a portion of the first object, the first object is moved from a specific point of the first object corresponding to the starting point of the drag input to the second object corresponding to the end point of the drag input. 1 transforming a part of an object to a specific point located after being transformed; and
Through a generative adversarial network (GAN) model for image inpainting, generating an image for the distortion region of the image formed according to the deformation of a part of the first object,
The step of generating an image including at least one of the deformed first object and the first background region includes:
applying an image for a distorted region of the generated image to the one or more images;
and the first background area is an area other than the first object in the received one or more images.
상기 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는,
상기 제1 배경 영역에 대한 아웃 포커스(OUT-OF-FOCUS)를 수행하는 단계; 및
상기 아웃 포커스의 강도를 조정하는 단계
를 포함하는, 이미지 변형 방법.
According to claim 1,
The step of transforming at least one of the first object and the first background area includes:
performing out-of-focus (OUT-OF-FOCUS) on the first background area; and
adjusting the intensity of the out-focus
Including, an image transformation method.
상기 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는,
상기 수신된 하나 이상의 이미지가 동영상인 경우, 상기 제1 객체의 이동에 따라 상기 제1 배경 영역이 아웃 포커스되는 동영상을 생성하는 단계를 포함하는,
이미지 변형 방법.
3. The method of claim 2,
The step of generating an image including at least one of the deformed first object and the first background region includes:
When the one or more received images are moving images, generating a moving image in which the first background area is out-focused according to the movement of the first object;
How to transform an image.
상기 수신된 하나 이상의 이미지가 동영상인 경우, 상기 제1 객체의 이동에 따라 상기 제1 배경 영역이 아웃 포커스되는 동영상을 생성하는 단계는.
상기 수신된 하나 이상의 이미지에 포함된 제2 객체를 선택하는 단계;
상기 선택된 제2 객체 이외의 영역을 제2 배경 영역으로 설정하는 단계;
상기 제2 객체의 이동에 따라 상기 제2 배경 영역이 아웃 포커스되는 동영상을 생성하는 단계를 포함하는,
이미지 변형 방법.
4. The method of claim 3,
generating a moving picture in which the first background area is out-focused according to the movement of the first object when the one or more received images are moving pictures;
selecting a second object included in the received one or more images;
setting an area other than the selected second object as a second background area;
generating a moving picture in which the second background area is out-focused according to the movement of the second object;
How to transform an image.
상기 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는,
상기 수신된 하나 이상의 이미지에서 상기 제1 배경 영역을 삭제하여, 상기 제1 객체를 포함하는 적어도 하나의 제1 이미지를 생성하는 단계를 포함하고,
상기 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는,
적어도 하나의 제2 이미지를 수신하는 단계; 및
상기 적어도 하나의 제2 이미지를 상기 생성된 적어도 하나의 제1 이미지에 합성시키는 단계
를 포함하는, 이미지 변형 방법.
According to claim 1,
The step of transforming at least one of the first object and the first background area includes:
generating at least one first image including the first object by deleting the first background area from the received one or more images;
The step of generating an image including at least one of the deformed first object and the first background region includes:
receiving at least one second image; and
synthesizing the at least one second image with the generated at least one first image;
Including, an image transformation method.
상기 제1 객체 또는 제1 배경 영역 중 적어도 하나를 변형시키는 단계는,
상기 수신된 하나 이상의 이미지에서 상기 제1 객체를 삭제하는 단계; 및
상기 이미지 인페인팅을 위한 생산적 적대 신경망 모델을 통해, 상기 하나 이상의 이미지에서 상기 제1 객체가 삭제된 영역에 대한 이미지를 생성하는 단계를 포함하고,
상기 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는,
상기 제1 객체가 삭제된 영역에 대한 이미지를 상기 수신된 하나 이상의 이미지에 적용하는 단계
를 포함하는, 이미지 변형 방법.
According to claim 1,
The step of transforming at least one of the first object and the first background area includes:
deleting the first object from the received one or more images; and
generating an image for a region in which the first object is deleted from the one or more images through a productive adversarial neural network model for image inpainting;
The step of generating an image including at least one of the deformed first object and the first background region includes:
applying an image for the area from which the first object is deleted to the received one or more images;
Including, an image transformation method.
상기 변형된 제1 객체 또는 제1 배경 영역 중 적어도 하나를 포함하는 이미지를 생성하는 단계는,
상기 수신된 하나 이상의 이미지가 동영상이고, 상기 동영상에서 상기 제1 객체가 이동되는 경우, 상기 이동되는 제1 객체가 삭제된 동영상을 생성하는 단계를 포함하는, 이미지 변형 방법.
7. The method of claim 6,
The step of generating an image including at least one of the deformed first object and the first background region includes:
When the at least one received image is a moving picture and the first object is moved in the moving picture, generating a moving picture in which the moved first object is deleted.
A computer program stored in a computer-readable recording medium for executing the image modification method according to any one of claims 1 to 7 in a computer.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190143820 | 2019-11-11 | ||
KR1020190143820 | 2019-11-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210056944A KR20210056944A (en) | 2021-05-20 |
KR102409103B1 true KR102409103B1 (en) | 2022-06-21 |
Family
ID=75913147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200150569A KR102409103B1 (en) | 2019-11-11 | 2020-11-11 | Method for editing image |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102409103B1 (en) |
WO (1) | WO2021096339A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435445A (en) * | 2021-07-05 | 2021-09-24 | 深圳市鹰硕技术有限公司 | Image over-optimization automatic correction method and device |
KR102486300B1 (en) * | 2022-09-20 | 2023-01-10 | 한국전자기술연구원 | Image inpainting apparatus and method for thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009009296A (en) * | 2007-06-27 | 2009-01-15 | Noritsu Koki Co Ltd | Face image deformation method and face image deformation device implementing this method |
JP2012093931A (en) * | 2010-10-27 | 2012-05-17 | Sony Corp | Image processing apparatus, image processing method, and program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100070053A (en) * | 2008-12-17 | 2010-06-25 | 삼성전자주식회사 | Apparatus for processing digital image and method for controlling thereof |
KR101525626B1 (en) * | 2009-01-05 | 2015-06-04 | 삼성전자주식회사 | Apparatus and method for out-focasing |
KR101792641B1 (en) * | 2011-10-07 | 2017-11-02 | 엘지전자 주식회사 | Mobile terminal and out-focusing image generating method thereof |
KR102622754B1 (en) * | 2016-09-07 | 2024-01-10 | 삼성전자주식회사 | Method for image composition and electronic device supporting the same |
KR102390184B1 (en) * | 2017-04-26 | 2022-04-25 | 삼성전자주식회사 | Electronic apparatus and method for displaying image thereof |
KR20190033405A (en) * | 2017-09-21 | 2019-03-29 | 민상규 | Foldable virtual reality device |
WO2019132518A1 (en) * | 2017-12-26 | 2019-07-04 | Samsung Electronics Co., Ltd. | Image acquisition device and method of controlling the same |
-
2020
- 2020-11-11 KR KR1020200150569A patent/KR102409103B1/en active IP Right Grant
- 2020-11-11 WO PCT/KR2020/095147 patent/WO2021096339A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009009296A (en) * | 2007-06-27 | 2009-01-15 | Noritsu Koki Co Ltd | Face image deformation method and face image deformation device implementing this method |
JP2012093931A (en) * | 2010-10-27 | 2012-05-17 | Sony Corp | Image processing apparatus, image processing method, and program |
Also Published As
Publication number | Publication date |
---|---|
WO2021096339A1 (en) | 2021-05-20 |
KR20210056944A (en) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861936B2 (en) | Face reenactment | |
CN108876877B (en) | Emotion symbol doll | |
CN111726536A (en) | Video generation method and device, storage medium and computer equipment | |
KR102491773B1 (en) | Image deformation control method, device and hardware device | |
US11995750B2 (en) | Electronic device and method of providing user interface for emoji editing while interworking with camera function by using said electronic device | |
KR102409103B1 (en) | Method for editing image | |
WO2020093798A1 (en) | Method and apparatus for displaying target image, terminal, and storage medium | |
US9437026B2 (en) | Image creating device, image creating method and recording medium | |
CN114007099A (en) | Video processing method and device for video processing | |
US20230087879A1 (en) | Electronic device and method for generating user avatar-based emoji sticker | |
CN108629821A (en) | Animation producing method and device | |
CN113453027A (en) | Live video and virtual makeup image processing method and device and electronic equipment | |
US9600160B2 (en) | Image processing device, image processing method, and program | |
KR20200046417A (en) | Apparatus and method for creating avatar based on compensated image | |
CN110084306B (en) | Method and apparatus for generating dynamic image | |
CN114222995A (en) | Image processing method and device and electronic equipment | |
CN114915722B (en) | Method and device for processing video | |
CN114285963B (en) | Multi-lens video recording method and related equipment | |
US20220335250A1 (en) | Methods and apparatuses for fine-grained style-based generative neural networks | |
CN112887796A (en) | Video generation method, device, equipment and medium | |
JP2014174855A (en) | Image processor, image processing method and program | |
KR102457568B1 (en) | Electronic device for providing image associated with input information and operating method thereof | |
CN111656318A (en) | Facial expression adding method and facial expression adding device based on photographing function | |
CN118536616A (en) | Machine-learning diffusion model with image encoder for synthetic image generation | |
CN117095097A (en) | Virtual image generation method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |