KR102231794B1 - 인공지능을 이용하여 이미지의 객체를 제거하는 방법 - Google Patents

인공지능을 이용하여 이미지의 객체를 제거하는 방법 Download PDF

Info

Publication number
KR102231794B1
KR102231794B1 KR1020190076115A KR20190076115A KR102231794B1 KR 102231794 B1 KR102231794 B1 KR 102231794B1 KR 1020190076115 A KR1020190076115 A KR 1020190076115A KR 20190076115 A KR20190076115 A KR 20190076115A KR 102231794 B1 KR102231794 B1 KR 102231794B1
Authority
KR
South Korea
Prior art keywords
image
objects
user terminal
user
classification
Prior art date
Application number
KR1020190076115A
Other languages
English (en)
Other versions
KR20210000872A (ko
Inventor
유수연
유재형
박지교
진민경
Original Assignee
유수연
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유수연 filed Critical 유수연
Priority to KR1020190076115A priority Critical patent/KR102231794B1/ko
Priority to PCT/KR2020/008267 priority patent/WO2020262977A1/ko
Publication of KR20210000872A publication Critical patent/KR20210000872A/ko
Application granted granted Critical
Publication of KR102231794B1 publication Critical patent/KR102231794B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

인공지능을 이용하여 이미지의 객체를 제거하는 방법이 제공된다. 상기 인공지능을 이용하여 이미지의 객체를 제거하는 방법은 이미지를 촬영하는 단계(S110), 상기 촬영된 이미지에서 하나 이상의 객체를 인식하는 단계(S120), 상기 촬영된 이미지에서 제거할 제1 객체를 결정하는 단계(S130), 상기 촬영된 이미지에서 상기 제1 객체에 의하여 가려진 배경 이미지를 생성하기 위한 데이터를 획득하는 단계(S140), 상기 가려진 배경 이미지를 생성하는 단계(S150) 및 상기 가려진 배경 이미지와 상기 촬영된 이미지를 합성하여 상기 제1 객체가 제거된 결과 이미지를 생성하는 단계(S160)를 포함한다.

Description

인공지능을 이용하여 이미지의 객체를 제거하는 방법 {METHOD FOR DELETING AN OBJECT IN IMAGE USING ARTIFICIAL INTELLIGENCE}
본 발명은 인공지능을 이용하여 이미지의 객체를 제거하는 방법에 관한 것이다.
스마트폰이 보급되고 카메라가 소형화 되면서 일상이나 여행 또는 관광을 가서 개인적인 사진을 촬영하는 일이 자연스러워졌고, 그 빈도 또한 잦아졌다. 이러한 개인적인 사진을 촬영함에 있어서는, 전문적인 촬영세트나 촬영장이 마련되고 전문 모델이 직업적으로 촬영을 진행하는 경우가 아니라면, 촬영하고자 하는 사진이 그대로 연출되는 경우는 드물다.
그보다는 촬영하고자 하는 피사체를 가리는 다른 물체가 있거나, 어울리지 않는 물체가 있는 경우, 촬영하고자 하는 피사체는 잘 찍혔지만 프레임 속에서 전체적인 미감을 저해하는 요소가 함께 촬영된 경우, 또는 촬영하고자 하는 피사체의 위치상 심미감 있는 각도와 맞지 않는 경우 등이 매우 빈번하게 발생한다.
한편, 영상이나 이미지 데이터를 처리하는 인공지능기술 또한 고도화되어 다양한 요청을 매우 사실적으로 편집할 수 있게 되었는 바, 이러한 영상 및 이미지 처리 기술을 상술한 개인 사진 촬영에서 발생하는 다양한 문제 상황에 적용하여 해결하고자 한다.
GAN(Generative Adversarial Network)은 생성적 적대 신경망이라는 이름과 같이, 두 신경망 모델의 상호 경쟁을 통해 학습하고 이에 따른 결과물을 만들어내는 것을 특징으로 한다. GAN에 포함되는 두 신경망 모델은 생성자(Generator)와 감별자(Discriminator)로 불리며, 서로 상반된 목적을 가진다.
생성자는 실제 데이터를 학습하고 이를 바탕으로 거짓 데이터를 생성한다. 생성자는 실제에 가까운 거짓 데이터를 생성하는 것을 목적으로 한다. 감별자는 생성자가 내놓은 데이터가 실제인지 거짓인지 판별하도록 학습된다. 즉, 감별자는 제공되는 데이터가 생성자에 의하여 생성된 것인지, 아니면 실제 데이터인지를 판별하도록 학습된다. 따라서, 감별자는 생성자의 거짓 데이터에 속지 않는 것을 목적으로 학습된다.
학습 과정에서, 생성자는 감별자를 속이지 못한 데이터를, 감별자는 생성자에게 속은 데이터를 입력받아 학습한다. 이 과정이 반복되면서 GAN은 점점 더 실제에 가까운 거짓 데이터를 만들 수 있게 된다.
공개특허공보 제10-2019-0064958호, 2019.06.11. 공개
본 발명이 해결하고자 하는 과제는 인공지능을 이용하여 이미지의 객체를 제거하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 방법은, 이미지를 촬영하는 단계(S110), 상기 촬영된 이미지에서 하나 이상의 객체를 인식하는 단계(S120), 상기 촬영된 이미지에서 제거할 제1 객체를 결정하는 단계(S130), 상기 촬영된 이미지에서 상기 제1 객체에 의하여 가려진 배경 이미지를 생성하기 위한 데이터를 획득하는 단계(S140), 상기 가려진 배경 이미지를 생성하는 단계(S150) 및 상기 가려진 배경 이미지와 상기 촬영된 이미지를 합성하여 상기 제1 객체가 제거된 결과 이미지를 생성하는 단계(S160)를 포함한다.
또한, 상기 단계(S140)는, 상기 사용자 단말을 소정의 방향으로 움직이도록 하는 디렉션을 출력하는 단계(S210), 상기 사용자 단말의 움직임에 따라 촬영되는, 상기 가려진 배경 이미지에 대응하는 이미지 데이터를 수집하는 단계(S220) 및 상기 수집된 이미지 데이터를 이용하여 상기 가려진 배경 이미지의 적어도 일부를 생성하는 단계(S230)를 더 포함할 수 있다.
또한, 상기 단계(S220)는, 상기 가려진 배경 이미지에 대응하여 수집되는 이미지 데이터의 양을 측정하는 단계(S310), 상기 수집되는 이미지 데이터량의 증가량을 계산하는 단계(S320) 및 상기 증가량이 소정의 수치 이하로 줄어들면 이미지 데이터의 수집을 중단하는 단계(S330)를 더 포함할 수 있다.
또한, 상기 단계(S230)는, 상기 단계(S230)에서 생성되지 않은 상기 가려진 이미지의 나머지를 생성하되, 상기 나머지에 해당하는 이미지는 GAN(Generative Adversarial Network)을 이용하여 생성되는 것을 특징으로 하는, 단계(S410)를 더 포함할 수 있다.
또한, 상기 단계(S130)는, 상기 단계(S120)에서 인식된 하나 이상의 객체에 해당하는 영역을 표시하는 단계(S510) 및 사용자로부터 상기 하나 이상의 객체 중 제거할 객체를 선택받는 단계(S520)를 더 포함할 수 있다.
또한, 상기 단계(S120)는, 상기 하나 이상의 객체의 크기, 객체의 움직임 및 객체의 종류 중 적어도 하나에 기초하여 상기 하나 이상의 객체를 메인 객체 및 서브 객체로 분류하는 단계(S610)를 더 포함할 수 있다.
또한, 상기 단계(S130)는, 상기 서브 객체를 제거할 객체로 결정하는 단계(S620)를 더 포함할 수 있다.
또한, 상기 단계(S130)는, 상기 인식된 하나 이상의 객체 각각이 속하는 분류를 결정하는 단계(S710), 상기 하나 이상의 객체의 분류를 출력하는 단계(S720), 상기 출력된 분류 중 하나 이상의 제거대상 분류의 선택을 사용자에게 요청하는 단계(S730), 상기 사용자의 선택 입력을 획득하는 단계(S740) 및 상기 사용자가 선택한 분류에 속하는 하나 이상의 객체를 제거대상 객체로 결정하는 단계(S750)를 더 포함할 수 있다.
또한, 상기 단계(S710)는, 기 저장된 데이터베이스로부터 상기 하나 이상의 객체 각각의 분류를 탐색하는 단계(S712), 상기 데이터베이스에서 제2 객체에 대응하는 분류가 탐색되지 않는 경우, 상기 제2 객체에 대응하는 분류를 생성하는 단계(S714) 및 상기 생성된 분류를 상기 데이터베이스에 저장하는 단계(S716)를 더 포함할 수 있다.
또한, 촬영된 이미지를 표시하는 단계(S810), 상기 촬영된 이미지에 대한 사용자의 영역 선택 정보를 획득하는 단계(S820), 상기 선택된 영역에 대응하는 배경 이미지를 생성하는 단계(S830) 및 상기 생성된 배경 이미지와 상기 촬영된 이미지를 합성하여 결과 이미지를 생성하는 단계(S840)를 더 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 장치는, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 개시된 실시 예에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 방법을 수행한다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 컴퓨터프로그램은, 하드웨어인 컴퓨터와 결합되어, 개시된 실시 예에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
개시된 실시 예에 따르면, 개인이 사적인 사진 촬영에서 발생하는 크고 작은 문제상황들을 적은 시간과 비용을 들여 해결할 수 있는 장점이 있다. 또한, 개인이 전문적인 사진 편집기술 없이도 사적인 촬영에 있어 최적의 결과를 얻을 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 방법을 도시한 흐름도이다.
도 2는 일 실시 예에 따른 GAN의 실행에 필요한 데이터 수집을 위한 과정을 도시한 흐름도이다.
도 3은 일 실시 예에 따른 데이터 수집 중단 과정을 도시한 흐름도이다.
도 4는 일 실시 예에 따른 제거할 객체를 선택하는 과정을 도시한 흐름도이다.
도 5는 일 실시 예에 따른 제거 대상 객체를 메인 및 서브로 분류하는 과정을 도시한 흐름도이다.
도 6은 일 실시 예에 따른 객체의 카테고라이징 과정을 도시한 흐름도이다.
도 7은 일 실시 예에 따른 객체가 속하는 분류가 없는 경우의 과정을 도시한 흐름도이다.
도 8은 일 실시 예에 따른 제거 영역을 사용자가 지정하는 과정을 도시한 흐름도이다.
도 9는 일 실시 예에 따른 장치의 구성도이다.
도 10 내지 14는 일 실시 예에 따른 원본 사진에서 사용자의 입력에 따른 객체가 제거되는 모습을 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 일 실시 예에 따른 인공지능을 이용하여 이미지의 객체를 제거하는 방법을 도시한 흐름도이다.
단계 S110에서, 사용자 단말은 사용자의 조작에 따라 이미지를 촬영한다.
다른 실시 예에서, 사용자 단말은 기 설정된 기준에 따라, 카메라를 통해 입력되는 이미지를 인식하여 초점이 맞춰진 상태에서 특정한 촬영각도, 구도 또는 사물의 배치가 이뤄지는 순간을 포착해, 사용자의 조작에 의하지 않고 사진을 촬영할 수도 있다.
예를 들어, 사용자가 카메라 기능을 작동시킨 상태에서 원하는 장면을 포착하기 위해 사용자 단말을 움직이는 과정에서, 수평이 이뤄지거나 인물 및 건축물 등의 배치를 인식한 결과 기 설정된 구도에 일정 정도 부합하는 경우, 사용자 단말은 사용자의 조작에 의하지 않고 해당 이미지를 촬영할 수 있다.
그리고, 상술한 기 설정된 구도는, 전문적인 사진 작가의 작품 사진, 명화, 일러스트 또는 사용자가 입력한 이미지 등의 이미지 데이터를 학습데이터로 입력받아 학습된 인공지능에 의해 설정된 것일 수 있으며, 사용자가 직접 특정 구도를 갖는 이미지를 기준으로 설정할 수도 있다.
그리고, 상술한 구도는, 수평선의 위치, 수평선을 기준으로 한 상하의 면적비, 소실점의 위치, 투시의 방식, 객체의 위치, 객체의 크기, 카메라와 객체의 거리 또는 광량 등의 요소에 의해 구성되는 것으로 정의될 수 있으나, 이에 제한되는 것은 아니다.
또한, 상술한 '구도에 일정 정도 부합'은 기계적이고 물리적인 100%의 일치를 의미하지 아니하며, 확률적인 계산을 통해 기 설정된 수치 이상의 일치도를 보이는 경우, 사용자 단말이 이를 기 설정된 구도에 부합하는 구도라고 인식할 수 있다.
또한, 사용자 단말은 촬영된 이미지의 원근, 색채의 구성, 광원의 위치, 광원의 종류, 빛의 세기, 빛의 방향, 실내인지 실외인지 여부, 역광인지 여부, 촬영 당시 카메라의 위치 또는 사용자 단말에 포함된 자이로센서의 정보 등에 기반하여, 촬영된 이미지의 수평, 채도, 명암, 대비 또는 노출 등을 편집할 수 있다.
또한, 사용자 단말은 상술한 편집 내역을 표시할 수 있고, 사용자의 취사 선택에 따라 편집 내역 중 일부 또는 전부를 채택하거나 채택하지 아니할 수 있다.
단계 S120에서, 사용자 단말은 촬영된 이미지에서 하나 이상의 객체를 인식한다.
일 실시 예에 있어서, 상기 객체의 인식은 학습된 인공지능이 탑재된 서버에 연결하여 이뤄질 수 있다. 개시된 실시 예에서, '학습된 인공지능'은 머신러닝에 의하여 학습된 인공지능 모델을 의미할 수 있으나, 이에 제한되는 것은 아니다.
또한, 상술한 객체의 인식은 사물, 동물, 식물, 자연물, 건축물, 장식물, 사람 또는 기타 객체를 가리지 않고 이뤄질 수 있다.
단계 S130에서, 사용자 단말은 상기 촬영된 이미지에서 제거할 제1 객체를 결정한다.
일 실시 예에 있어서, 사용자 단말은 상기 단계(S120)에서 인식한 객체 중, 주된 피사체, 그 외의 피사체, 주된 피사체를 가리는 피사체 또는 전체적인 미감을 저해하는 피사체를 식별할 수 있으며, 이는 상술한 인공지능에 의해 기 설정되거나 학습된 구도 및 사물의 배치를 인식하는 과정에서 함께 이루어질 수 있다.
예를 들어, 사용자 단말은 특정 구도에서 특정 위치에 배치되는 객체, 광원의 위치, 광량, 빛의 방향 등에 따라 상대적으로 집중된 빛을 조사받는 객체 또는 주된 객체로 선택된 빈도수가 높은 라벨링데이터를 갖는 객체 등을 주된 피사체로 인식할 수 있다.
구체적으로, 사용자 단말은 사진에 포함된 객체들 중 하나 이상의 인물과 하나 이상의 랜드마크를 주된 피사체로 판단할 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에서, 사용자 단말은 카메라 또는 카메라를 포함하는 하나 이상의 센서를 이용하여 촬영 대상 객체와의 거리 및 심도를 판단할 수 있으며, 또한 각각의 객체의 크기, 높이, 너비, 각도 등을 측정할 수 있다.
이러한 거리 및 높이 등은 삼각측량법을 이용하여 측정될 수 있으나, 이에 제한되는 것은 아니다.
실시 예에 따라서, 사용자 단말은 촬영 대상 이미지 내의 심도와 초점거리 등을 고려하여, 초점이 맞추어진 대상을 주된 객체로 판단할 수도 있다.
또한, 사용자 단말은 인식한 객체들 중 어떤 객체를 주된 피사체로 할 것인지 사용자의 선택을 요청하는 단계를 더 수행할 수 있다.
그리고, 상기 단계(S120)에서 인식한 객체 중, 특정 객체가 상술한 주된 피사체를 가리는 피사체 또는 전체적인 미감을 저해하는 피사체로 식별되는 경우, 사용자 단말은 이를 제거할 객체로 인식할 수 있다.
단계 S140에서, 사용자 단말은 상기 촬영된 이미지에서 상기 제1 객체에 의하여 가려진 배경 이미지를 생성하기 위한 데이터를 획득한다.
단계 S150에서, 사용자 단말은 상기 가려진 배경 이미지를 생성한다.
또한, 상술한 단계(S140)에서, 사용자 단말은 사용자에게 배경 이미지 생성을 위한 데이터 획득 방법의 선택을 요청하는 단계 및 상기 선택된 방법에 따른 데이터 획득을 요청하는 단계를 더 수행할 수 있다.
예를 들어, 상술한 배경 이미지 생성을 위한 데이터 획득 방법에는, 사용자 단말의 요청에 따른 사용자의 추가촬영, 사용자 단말의 요청에 따른 사용자의 이미 촬영된 이미지의 선택 또는 원본 이미지 데이터의 재입력이 포함될 수 있다.
예를 들어, 상기 원본 이미지를 재입력하여 배경 이미지를 생성하는 경우, 사용자 단말은 GAN(Generative Adversarial Network)을 이용하여 원본 이미지에서 제거할 객체가 지워진 상태에서 원본 이미지의 확률분포를 갖는 이미지 데이터를 생성하게 된다.
즉, 원본 이미지 데이터에서 특정 객체가 있는 부분을 제거하면 원본 이미지 상에서는 공백이 되는 부분이 발생하므로, 사용자 단말은 상기 공백이 된 부분을 채우기 위한 이미지 데이터를 생성하고, 이를 생성하기 위한 이미지 데이터를 획득하는 것이다.
단계 S160에서, 사용자 단말은 가려진 배경 이미지와 상기 촬영된 이미지를 합성하여 상기 제1 객체가 제거된 결과 이미지를 생성한다.
일 실시 예에 있어서, 상기 생성된 배경 이미지와 촬영된 이미지의 합성은 GAN을 이용하여 이뤄질 수 있다.
예를 들어, 사용자 단말은 GAN을 이용하여 제1 객체에 의하여 가려진 배경을 생성할 수도 있고, 생성된 배경이나 획득된 배경 이미지와 제1 객체를 포함하는 이미지를 GAN을 이용하여 합성할 수도 있다.
일 실시 예에 있어서, 사용자 단말은 상기 생성된 결과 이미지를 표시하고, 사용자로부터 상기 결과 이미지의 재현에 대한 만족도가 어떠한지에 대한 답변을 요청할 수 있다.
예를 들어, 사용자가 결과 이미지의 재현도에 관하여 부정적인 피드백을 입력하는 경우, 사용자 단말은 상기 부정적인 피드백을, GAN에서 분류자가 결과 이미지를 가짜 이미지로 분류하도록 하는 방법으로 학습 모델에 입력할 수 있으며, 사용자 단말은 이러한 피드백과 원본 이미지 데이터, 가려진 배경 이미지 생성을 위해 획득한 이미지 데이터, 생성된 배경 이미지 데이터 및 합성된 결과 이미지 데이터를 함께 입력받아 해당 학습 모델을 개선시킬 수 있다.
또한, 상기 개선된 학습 모델에 의해, 상술한 분류자와 생성자가 데이터의 확률분포를 획득하는 방법을 개선할 수 있다.
도 2는 일 실시 예에 따른 GAN의 실행에 필요한 데이터 수집을 위한 과정을 도시한 흐름도이다.
단계 S210에서, 사용자 단말은 사용자 단말을 소정의 방향으로 움직이도록 하는 디렉션을 출력한다.
예를 들어, 사용자 단말은 도 13에 도시된 모습과 같이, 디스플레이에 '카메라를 시계 방향으로 회전시켜 주세요' 또는 '카메라를 왼쪽으로 조금 움직여 주세요' 등의 메시지를 표시할 수 있다.
이러한 디렉션은 방향별로 순차적으로 표시될 수도 있고, 사용자 단말의 화면에 사용자 단말의 이동방향(동선)이 표시될 수도 있으며, 그 방법은 제한되지 않는다.
이러한 움직임은, 제거대상인 제1 객체에 의하여 가려진 뒷부분의 배경을 촬영하기 위한 것이다. 즉, 사용자 단말은 제1 객체에 의하여 가려진 뒷부분의 적어도 일부를 촬영하기 위하여 사용자 단말의 움직임을 지시할 수 있다.
또한, 상기 디렉션은 텍스트 정보 및 음성 정보 등에 의해 출력될 수 있으며, 카메라가 움직여야 할 방향이 화살표 등의 방향지시표시에 의해 출력될 수도 있다.
일 실시 예에 있어서, 사용자 단말은 상기 주된 피사체로 인식된 객체가 카메라를 이동한 각도에서 촬영됐을 때의 모습을 시뮬레이션 하여, 촬영 화면에 오버레이 방식으로 표시할 수 있으며, 이러한 표시를 기준으로 삼아 사용자가 카메라의 위치를 이동하도록 유도할 수 있다.
하지만, 사용자 단말은 상기 카메라가 이동해야 하는 거리가 기 설정된 거리를 초과하거나, 휴먼 스케일의 범위에서 불가능한 높이 또는 거리를 이동해야 하는 경우, 이를 판단하여 상술한 단계(S210)를 생략할 수 있다.
이러한 판단은, 제거하고자 하는 객체와의 거리 및 심도 등을 판단하여 수행될 수 있다. 예를 들어, 제거하고자 하는 개체와의 거리가 기 설정된 기준값 이상인 경우, 사용자 단말을 움직여도 해당 객체에 의하여 가려진 뒷부분은 거의 촬영되지 못할 것이다. 이 경우, 사용자 단말은 본 단계를 생략하거나, 바로 종료하고 다음 단계로 넘어갈 수 있다.
또한, 단계 S220에서, 사용자 단말은 사용자 단말의 움직임에 따라 촬영되는, 가려진 배경 이미지에 대응하는 이미지 데이터를 수집할 수 있다.
일 실시 예에서, 사용자 단말은 제1 객체에 의하여 가려진 배경 이미지의 소정 비율 이상이 획득된 경우 이미지 데이터 수집을 종료할 수 있으나, 이에 제한되는 것은 아니다.
실시 예에 따라서, 사용자 단말은 제1 객체와의 거리에 기초하여 획득할 수 있는 이미지 데이터의 기대값을 생성할 수 있다. 예를 들어, 제1 객체와의 거리가 멀수록 획득할 수 있는 이미지 데이터의 기대값은 줄어들 것이다. 사용자 단말은 기대값의 소정 비율에 해당하는 이미지 데이터가 획득되는 경우, 이미지 데이터 수집을 종료할 수 있다.
일 실시 예에 있어서, 사용자 단말은 상기 수집된 데이터를 통하여 GAN의 생성자 및 분류자가 이미지 데이터의 확률분포를 획득하는 데에 충분한 양의 데이터를 수집한 경우, 상기 단계(S220)를 사용자의 조작 없이 종료할 수 있다.
또한, 단계 S230에서, 사용자 단말은 상기 수집된 이미지 데이터를 이용하여 가려진 배경 이미지의 적어도 일부를 생성할 수 있다.
일 실시 예에서, 사용자 단말은 수집된 이미지 데이터를 스티칭하여 가려진 배경 이미지의 적어도 일부를 생성할 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에 있어서, 사용자 단말은 상술한 단계(S230)에서, 사용자 단말이 가려진 이미지의 전부를 생성하지 못한 경우, GAN을 이용하여 생성하지 못한 부분에 해당하는 이미지를 생성할 수 있다.또한, 상기 생성된 가려진 배경 이미지 데이터의 일부는, GAN에 의해 편집의 대상이 되는 원본 데이터와 구별되지 않는 확률분포를 갖기 때문에 이 또한 가려진 배경 이미지의 생성을 위한 원본 데이터가 될 수 있으며, 사용자가 물리적으로 추가적인 촬영을 하기 어려운 경우의 문제 상황을 해결할 수 있다.
도 3은 일 실시 예에 따른 데이터 수집 중단 과정을 도시한 흐름도이다.
단계 S310에서, 사용자 단말은 가려진 배경 이미지에 대응하여 수집되는 이미지 데이터의 양을 측정할 수 있다.
일 실시 예에 있어서, 상기 가려진 배경 이미지에 대응하여 수집되는 이미지 데이터는, 가려진 배경 이미지를 생성하기 위한 재료로 활용될 수 있다. 예를 들어, 사용자 단말은 수집된 이미지 데이터를 변환 및 스티칭하여 가려진 배경 이미지를 생성할 수 있으나, 이에 제한되는 것은 아니다.
일 실시 예에 있어서, 상기 가려진 배경 이미지에 대응하여 수집되는 이미지 데이터는, 가려진 배경 이미지를 생성하기 위해 GAN을 이용함에 있어, 원본 데이터로부터 확률분포를 획득하기 위해 수집되는 이미지 데이터를 의미할 수도 있다.
또한, 단계 S320에서, 사용자 단말은 수집되는 이미지 데이터량의 증가량을 계산할 수 있다.
일 실시 예에서, 이미지 데이터량은, 가려진 부분 중 변환 및 스티칭을 통해 생성할 수 있는 부분의 양을 의미할 수 있다. 이 경우, 상술한 이미지 데이터량의 증가량은, 제거할 객체에 의해 가려진 영역을 채울 수 있는 이미지 데이터가 증가한 경우에 증가한 것으로 정의될 수 있다.
일 실시 예에 있어서, 상술한 이미지 데이터량의 증가량은, GAN을 이용함에 있어, 수집한 이미지 데이터에 의해 획득된 확률분포가 보다 정교해진 경우에 증가한 것으로 정의될 수도 있다.
예를 들어, 풍경 사진을 촬영한 경우, 제거할 객체로 자동차를 선택하고, 자동차에 의해 가려진 배경 이미지를 생성하기 위해 추가촬영을 하는 과정에서 카메라를 움직여도 더 이상 가려진 부분이 촬영되지 않는 경우, 상술한 이미지 데이터량의 증가량은 0이 된다.
또한, 단계 S330에서, 사용자 단말은 상기 증가량이 소정의 수치 이하로 줄어들면 이미지 데이터의 수집을 중단할 수 있다.
즉, 실질적으로 무의미한 촬영이 연속하는 경우, 사용자 단말은 소정 픽셀 단위의 이미지 데이터 증가를 무시하여, 해당 과정이 휴먼 스케일에서 이뤄지도록 하고, 빠르며 효율적인, 유한성이 있는 연산처리가 이뤄지도록 할 수 있다.
단계 S410에서, 사용자 단말은 상술한 단계(S230)에서 생성되지 않은 상기 가려진 이미지의 나머지를 생성하되, 그 나머지에 해당하는 이미지는 GAN(Generative Adversarial Network)을 이용하여 생성할 수 있다.
일 실시 예에 있어서, 사용자 단말은 상술한 선행 단계들을 수행하는 과정에서 생성된 이미지 데이터의 판별확률이 50%로 수렴하는 이미지 데이터가 있는 경우, 이를 분류 모델 및 생성 모델 학습의 대상으로 재입력할 수 있다.
일 실시 예에서, 사용자 단말은 사용자에게 제거할 객체에 의하여 가려진 곳에 어떠한 객체가 있는가에 대한 질의를 할 수 있다. 예를 들어, 사용자는 제거할 객체에 의하여 가려진 곳에 나무, 가로등 등이 있다고 입력할 수 있고, 이러한 입력은 사용자에 의하여 직접 수행될 수도 있고, 사용자 단말에 의하여 제공된 항목 중 하나 이상을 선택하는 방식으로 수행될 수도 있다.
예를 들어, 사용자 단말은 주변 이미지에 기초하여 제거할 객체에 의하여 가려진 부분에 위치할 것으로 예상되는 객체들의 리스트를 생성하고, 확률에 기반한 내림차순으로 리스트를 정렬 및 표시할 수 있다. 이 경우, 사용자는 제거할 객체에 의하여 가려진 부분에 위치하는 대상을 선택할 수 있다.
사용자 단말은 사용자로부터 획득된 정보에 기초하여 GAN을 이용하여 가려진 배경 이미지를 생성할 수 있다.
실시 예에 따라서, 사용자 단말은 가려진 배경 이미지의 후보를 복수 개 생성하고, 이를 합성한 복수의 결과 이미지를 생성하여 사용자에게 제공할 수도 있다. 이 경우, 사용자는 복수의 결과 이미지 중 하나를 선택하여 저장할 수도 있다.
도 4는 일 실시 예에 따른 제거할 객체를 선택하는 과정을 도시한 흐름도이다.
상술한 단계(S120)에서, 사용자 단말은 상기 인식된 하나 이상의 객체에 해당하는 영역을 표시하는 단계(S510)를 수행할 수 있다.
일 실시 예에 있어서, 사용자 단말은 상기 영역을 직사각형, 타원형, 다각형 또는 인식된 객체의 경계를 포함하는 폐곡선에 의해 표시할 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 사용자 단말은 상기 영역을 다른 색상이나 명도, 채도, 하이라이트 등을 통해 표시할 수도 있다.
그리고, 상기 영역의 표시는 편집 대상이 되는 이미지 상에 오버레이 되는 방식으로 표시될 수 있다.
또한, 단계 S520에서, 사용자 단말은 사용자로부터 상기 하나 이상의 객체 중 제거할 객체를 선택받을 수 있다.
개시된 실시 예에 있어서, 상술한 사용자로부터 받는 제거할 객체의 선택 방법은, 사용자가 상기 영역 표시의 경계 내부를 터치 입력하여 선택하거나 사용자 단말이 인식한 객체의 리스트를 표시하고, 사용자가 이 리스트에서 하나 이상의 항목을 선택하거나 또는 사용자의 음성 명령에 따른 음성인식에 의해 선택하는 방법이 포함될 수 있다.
또한, 사용자가 제거할 객체를 선택한 경우, 사용자 단말은 선택된 객체의 영역을 표시하는 경계의 색상을 선택되지 않은 객체의 영역 표시와 구별되는 다른 색으로 변경할 수 있다.
도 5는 일 실시 예에 따른 제거 대상 객체를 메인 및 서브로 분류하는 과정을 도시한 흐름도이다.
상술한 단계(S120)에서, 사용자 단말은 하나 이상의 객체의 크기, 객체의 움직임 및 객체의 종류 중 적어도 하나에 기초하여 하나 이상의 객체를 메인 객체 및 서브 객체로 분류하는 단계(S610)를 더 수행할 수 있다.
개시된 실시 예에 있어서, 사용자 단말은 기 설정된 시간 동안 이미지를 연속하여 촬영할 수 있으며, 이러한 과정에서 기 설정된 거리 이상을 이동하는 객체, 기 설정된 속도 이상의 속도로 이동하는 객체, 기 설정된 크기에 해당하는 객체, 기 설정된 색채 범위를 벗어나는 객체 또는 기 설정된 분류에 속하는 객체 중 하나 이상에 해당하는 객체를 서브 객체로 분류할 수 있다.
에를 들어, 사용자 단말은 소정의 촬영 시간(예를 들어, 3초) 동안, 30cm이상의 거리를 이동한 모든 객체를 제거할 객체로 분류하여, 추가적인 사용자의 조작 없이 결과 이미지를 생성할 수 있다.
예를 들어, 바닷가를 촬영하는 경우, 전체적인 색감과 객체 인식에 의해 사용자 단말이 바다를 주된 객체로 인식한 경우, 붉은 색을 띠는 부표 또는 반사도가 비상하게 높은 쓰레기 등의 객체는 사용자 단말에 의해 제거할 서브 객체로 분류될 수 있으며, 이와 같이 서브 객체로 분류된 객체들 중의 적어도 일부는 사용자의 선택에 의해 제거하지 아니할 객체로 분류될 수 있다.
또한, 주된 피사체로 인물이 인식되는 경우, 사용자 단말은 상기 기 설정된 연속된 촬영 시간 동안에 촬영된 인물의 이미지 중, 인물의 이목구비가 가장 분명하게 촬영된 프레임을 선택하고, 이것을 기준으로 삼아 다른 프레임의 이미지 와 함께 합성하여 최종 결과 이미지 생성에 사용되는 이미지 데이터로 활용할 수 있다.
또한, 상술한 메인 객체는 촬영된 사진에 있어서 상술한 주된 피사체에 대응할 수 있으며, 기 설정된 구도의 특정 영역에 속하는 객체, 기 설정된 분류에 속하는 객체, 또는 상기 서브 객체로 분류되지 않은 객체 등을 의미할 수 있다.
또한, 상술한 설정은 사용자 단말과 연결된 인공지능에 의해 추천된 것일 수 있으며, 상기 인공지능은 해당 사용자 단말을 사용하는 사용자의 기존 선택 내역 또는 본 방법을 수행하는 모든 사용자 단말이 해당 단말의 사용자로부터 입력받은 선택을 기반으로 학습한 모델일 수 있다.
일 실시 예에 있어서, 사용자 단말은, 상기 연속된 촬영이 이뤄지는 동안 움직이는 객체의 움직임을 벡터화 하고, 둘 이상의 객체가 소정의 범위 내의 유사한 벡터값을 갖는 경우, 상기 둘 이상의 객체를 원본과 반사된 객체로 인식하고, 상기 둘 이상의 객체들 중 하나 이상이 제거될 객체로 선택되는 경우, 상기 둘 이상의 객체를 모두 제거할 객체로 선택할 수 있다.
즉, 수면, 유리 또는 거울 등에 반사되는 피사체가 있을 경우, 이들의 움직임은 필연적으로 대칭적이거나 일정 정도 이상 유사성을 갖는 움직임을 보일 수밖에 없으므로, 어느 하나의 객체를 제거할 객체로 선택하는 경우, 사용자가 이를 인지하여 선택하지 않더라도 사용자 단말에 의해 자동적으로 선택되어 제거되도록 하기 위함이다.
실시 예에 따라, 사용자 단말은 단일 촬영시에도 촬영된 이미지 내에서 수면이나 거울 등을 인식할 수 있으며, 제거대상 객체가 선택되는 경우 거울이나 수면 등에 의하여 반사된 객체를 함께 인식 및 제거할 수 있다.
마찬가지로, 사용자 단말은 제거대상 객체에 대응하는 그림자를 인식하여 함께 제거할 수 있으며, 나아가 제거대상 객체에 의하여 발생하는 빛의 굴절, 회절 및 반사 등을 물리엔진 혹은 레이 트레이싱에 기반한 이미지 프로세싱을 통해 판단하고, 해당 객체가 제거됨으로써 변경되는 빛의 굴절, 회절 및 반사 등을 고려하여 전체적인 이미지를 수정할 수도 있다.
상술한 단계(S130)에서, 사용자 단말은 상기 서브 객체를 제거할 객체로 결정하는 단계(S620)를 더 수행할 수 있다.
즉, 상기 단계(S620)에서 사용자 단말은 사용자의 선택을 입력받는 단계를 생략하고, 인공지능에 의해 주된 피사체와 미감을 저해하는 피사체를 분류하여 제거할 객체를 결정함으로써 사용자가 보다 간편하게 편집된 이미지 데이터를 획득할 수 있도록 할 수 있다.
개시된 실시 예에서, 사용자 단말은 상기 단계(S610)에서 서브 객체로 분류된 객체 중 적어도 일부를 기 설정된 기준에 의해 제거할 객체와 제거하지 않을 객체로 재분류 하는 단계를 더 포함할 수 있다.
예를 들어, 사용자 단말은 해당 사용자 단말의 사용자가 기존에 제거할 객체로 선택했던 객체의 선택 내역을 통하여 학습 모델을 생성하고, 이 학습 모델이 제거할 객체를 선택하도록 할 수 있다.
다른 예로, 사용자 단말은 촬영된 배경을 인식하고, 해당 배경에서 나타날 수 있는 메인 객체와 서브 객체를 기 저장된 데이터베이스에 기반하여 판단할 수도 있다.
예를 들어, 사용자 단말은 촬영된 배경이 바다인 경우, 바다에 떠 있는 부표, 쓰레기 등이 바다를 배경으로 하는 이미지에서 자주 선택 및 제거되는 객체라는 정보를 데이터베이스로부터 획득할 수 있다. 이 경우, 사용자 단말은 이미지로부터 부표나 쓰레기에 해당하는 이미지를 탐색, 인식 및 제거할 수 있다.
또한, 사용자 단말은 촬영된 배경이 특정 랜드마크인 것으로 판단되는 경우, 해당 위치의 주요 피사체(예를 들어, 관광지의 상징물 등)에 대한 정보를 획득하고, 해당 피사체를 인식하며, 메인 피사체로 결정할 수 있다. 또한, 이러한 판단은 촬영된 위치의 GPS정보에 기반하여 수행될 수도 있다. 예를 들어, 사진이 촬영되는 위치가 파리의 루브르 박물관인 것으로 판단되는 경우, 사용자 단말은 루브르 박물관의 상징인 피라미드 입구를 탐색 및 인식하고, 이를 메인 객체로 인식할 수 있다.
도 6은 일 실시 예에 따른 객체의 카테고라이징 과정을 도시한 흐름도이다.
또한, 도 10 내지 14는 일 실시 예에 따른 원본 사진에서 사용자의 입력에 따른 객체가 제거되는 모습을 도시한 도면이다.
상술한 단계(S130)에서, 사용자 단말은 상기 인식된 하나 이상의 객체 각각이 속하는 분류를 결정하는 단계(S710)를 더 수행할 수 있다.
개시된 실시 예에 있어서, 사용자 단말은 하나의 객체에 대하여 하나 이상의 분류를 지정할 수 있다.
예를 들어, 사용자 단말은 걸어가는 남성이 촬영된 경우, 해당 객체에 남성, 보행자, 사람 또는 서브 객체 중 하나 이상의 라벨링 데이터를 부여할 수 있다.
개시된 실시 예에 있어서, 사용자 단말은 객체의 일부가 촬영된 경우에도 객체의 촬영된 일부를 토대로 추론하여 객체가 속하는 분류를 결정할 수 있으며, 이러한 경우 부여되는 라벨링 데이터는 '특정 분류' 또는 '특정 분류의 일부' 등으로 표시될 수 있다.
예를 들어, 지나가는 남성이 촬영된 경우, 사용자 단말은 이를 서브 객체로 분류하고, 해당 객체에 '남성 얼굴의 일부'와 같은 라벨링 데이터를 부여할 수 있다.
또한, 단계 S720에서, 사용자 단말은 상기 하나 이상의 객체의 분류를 출력할 수 있다.
일 실시 예에 있어서, 사용자 단말은 촬영된 이미지 상에 오버레이 하여, 인식된 객체에 부여된 라벨링 데이터의 목록을 표시할 수 있다.
또한, 사용자 단말은 상기 단계(S510)에서 촬영된 이미지 상에 오버레이 하여 표시된 객체의 영역 표시와 함께 해당 객체에 부여된 라벨링 데이터를 표시할 수 있다.
또한, 단계 S730에서, 사용자 단말은 상기 출력된 분류 중 하나 이상의 제거대상 분류의 선택을 사용자에게 요청할 수 있다.
일 실시 예에 있어서, 사용자 단말은 사용자에게 상기 표시한 라벨링 데이터의 목록 중 하나 이상의 선택을 요청할 수 있으며, 사용자의 선택 입력이 있는 경우, 이러한 선택에 관한 내역 정보는 해당 사용자 단말 또는 서버에 저장될 수 있다.
또한, 단계 S740에서, 사용자 단말은 상기 사용자의 선택 입력을 획득할 수 있다.
일 실시 예에 있어서, 상기 사용자의 선택 입력은, 디스플레이를 통한 터치 입력 또는 마이크를 통한 음성 입력 등이 될 수 있다.
또한, 단계 S750에서, 사용자 단말은 상기 사용자가 선택한 분류에 속하는 하나 이상의 객체를 제거대상 객체로 결정할 수 있다.
일 실시 예에 있어서, 사용자 단말은 사용자가 선택한 하나 이상의 분류에 속하는 모든 객체를 제거할 객체로 결정할 수 있다.
예를 들어, 사용자가 '자동차' 또는 '행인'이라는 라벨링 데이터를 제거할 객체의 분류로 선택한 경우, 소형차 내지 대형차에 속하는 모든 차량 또는 움직이고 있는 모든 사람을 모두 제거할 객체로 선택할 수 있다.
또한, 사용자 단말은 사용자에게 제거하지 않을 객체의 분류를 선택하도록 요청할 수 있다.
예를 들어, 사용자가 촬영한 이미지에서 행인들의 자연스러운 풍경을 촬영하기를 원하는 경우, 사용자 단말의 요청에 의해 사용자가 제거하지 않을 객체의 분류로써 '행인'을 선택하면 해당 분류에 속하는 객체들은 다른 이미지 제거 과정에서도 제거되지 않도록 배제될 수 있다.
이러한 설정은 촬영되는 이미지별로 적용될 수도 있고, 기본 설정으로서 촬영되는 이미지들에 공통으로 적용될 수도 있다.
일 실시 예에 있어서, 사용자 단말은 사용자 단말과 연결된 서버로부터 다른 사용자들이 제거할 객체로 선택한 객체들의 라벨링 데이터를 수집할 수 있다.
그리고, 사용자 단말은 상기 수집한 라벨링 데이터에 기반하여, 사용자의 선택 행위가 없더라도 다른 사용자들이 가장 빈번하게 제거할 객체로 고른 객체들을 제거할 객체로 선택할 수 있다.
도 7은 일 실시 예에 따른 객체가 속하는 분류가 없는 경우의 과정을 도시한 흐름도이다.
상술한 단계 S710에서, 사용자 단말은 기 저장된 데이터베이스로부터 상기 하나 이상의 객체 각각의 분류를 탐색하는 단계(S712), 상기 데이터베이스에서 제2 객체에 대응하는 분류가 탐색되지 않는 경우, 상기 제2 객체에 대응하는 분류를 생성하는 단계(S714) 및 상기 생성된 분류를 상기 데이터베이스에 저장하는 단계(S716)를 더 수행할 수 있다.
즉, 사용자 단말이 촬영된 객체를 독립된 객체로 인식하기는 하였으나, 사용자 단말의 내부 저장소에 속하는 데이터 베이스 또는 사용자 단말과 연결된 서버에 저장된 데이터 베이스에 해당 인식된 객체에 부여할 라벨링 데이터 혹은 분류가 저장되어 있지 않은 경우, 새로운 라벨링 데이터를 생성하여 새로운 분류의 일종으로 포함시킬 수 있다.
도 8은 일 실시 예에 따른 제거 영역을 사용자가 지정하는 과정을 도시한 흐름도이다.
단계 S810에서, 사용자 단말은 촬영된 이미지를 표시할 수 있다.
또한, 단계 S820에서, 사용자 단말은 상기 촬영된 이미지에 대한 사용자의 영역 선택 정보를 획득할 수 있다.
개시된 실시 예에서, 사용자 단말은 사용자가 촬영된 이미지에서 직접 제거하고 싶은 부분을 지정할 수 있도록 다양한 도구를 제공할 수 있다.
예를 들면, 브러쉬 형태의 크기가 조절 가능한 자유곡선으로 영역을 지정하거나, 다각형 중 어느 하나를 택일하여 내부 영역을 지정하거나, 자유곡선에 의해 형성되는 폐곡선의 내부 영역을 지정하거나 또는 유사한 색상을 지정된 범위 내에서 자동적으로 선택하여 지정하는 등 이미지 편집 프로그램에서 기본적으로 채택되는 도구들을 제공할 수 있다.
또한, 단계 S830에서, 사용자 단말은 상기 선택된 영역에 대응하는 배경 이미지를 생성할 수 있다.
또한, 단계 S840에서, 사용자 단말은 상기 생성된 배경 이미지와 상기 촬영된 이미지를 합성하여 결과 이미지를 생성할 수 있다.
개시된 실시 예에서, 사용자 단말은 사용자가 단계 S820에서 지정한 영역의 이미지 데이터를 제거하고, GAN을 이용하여 제거된 영역의 이미지 데이터를 생성하고, 이를 원본 이미지 데이터와 합성하여 결과 이미지 데이터를 생성할 수 있다.
또한, 사용자 단말은 이미 촬영된 2 이상의 이미지에 기초하여 새로운 이미지를 생성할 수 있다.
예를 들어, 사용자 단말은 이미지 생성의 기초가 될 제1 이미지 선택을 요청하는 단계, 상기 제1 이미지 상의 객체들을 인식하는 단계, 사용자에게 제거할 객체의 선택을 요청하는 단계, 선택된 객체들에 의해 가려진 제1 이미지 상의 영역들을 생성하기 위한 이미지 데이터 수집을 대체할 제2 이미지 선택을 요청하는 단계, 상기 선택된 제2 이미지에 기초하여 GAN을 이용해 상기 가려진 영역의 이미지를 생성하는 단계, 생성된 이미지와 객체가 제거된 제1 이미지를 합성하여 결과 이미지를 생성하는 단계를 더 수행할 수 있다.
즉, 사용자 단말은 즉시적인 촬영에 의해 이미지 데이터가 수집되지 않더라도, 기 촬영된 이미지 데이터에 기반하여 완성된 이미지 데이터를 생성할 수 있다.
도 9는 일 실시 예에 따른 장치의 구성도이다.
프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 13와 관련하여 설명된 방법을 수행한다.
한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 사용자 단말에 의하여 수행되는 방법에 있어서,
    이미지를 촬영하는 단계(S110);
    상기 촬영된 이미지에서 하나 이상의 객체를 인식하는 단계(S120);
    상기 촬영된 이미지에서 제거할 제1 객체를 결정하는 단계(S130);
    상기 촬영된 이미지에서 상기 제1 객체에 의하여 가려진 배경 이미지를 생성하기 위한 데이터를 획득하는 단계(S140);
    상기 가려진 배경 이미지를 생성하는 단계(S150); 및
    상기 가려진 배경 이미지와 상기 촬영된 이미지를 합성하여 상기 제1 객체가 제거된 결과 이미지를 생성하는 단계(S160);
    를 포함하며,
    상기 단계(S140)는,
    상기 사용자 단말을 소정의 방향으로 움직이도록 하는 디렉션을 출력하는 단계(S210);
    상기 사용자 단말의 움직임에 따라 촬영되는, 상기 가려진 배경 이미지에 대응하는 이미지 데이터를 수집하는 단계(S220); 및
    상기 수집된 이미지 데이터를 이용하여 상기 가려진 배경 이미지의 적어도 일부를 생성하는 단계(S230);
    를 포함하고,
    상기 단계(S220)는,
    상기 가려진 배경 이미지에 대응하여 수집되는 이미지 데이터의 양을 측정하는 단계(S310);
    상기 수집되는 이미지 데이터량의 증가량을 계산하는 단계(S320); 및
    상기 증가량이 소정의 수치 이하로 줄어들면 이미지 데이터의 수집을 중단하는 단계(S330);
    를 포함하는,
    인공지능을 이용하여 이미지의 객체를 제거하는 방법.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 단계(S230)는,
    상기 단계(S230)에서 생성되지 않은 상기 가려진 이미지의 나머지를 생성하되, 상기 나머지에 해당하는 이미지는 GAN(Generative Adversarial Network)을 이용하여 생성되는 것을 특징으로 하는, 단계(S410); 를 포함하는,
    인공지능을 이용하여 이미지의 객체를 제거하는 방법.
  5. 제1 항에 있어서,
    상기 단계(S130)는,
    상기 단계(S120)에서 인식된 하나 이상의 객체에 해당하는 영역을 표시하는 단계(S510); 및
    사용자로부터 상기 하나 이상의 객체 중 제거할 객체를 선택받는 단계(S520); 를 포함하는,
    인공지능을 이용하여 이미지의 객체를 제거하는 방법.
  6. 제1 항에 있어서,
    상기 단계(S120)는,
    상기 하나 이상의 객체의 크기, 객체의 움직임 및 객체의 종류 중 적어도 하나에 기초하여 상기 하나 이상의 객체를 메인 객체 및 서브 객체로 분류하는 단계(S610); 를 더 포함하고,
    상기 단계(S130)는,
    상기 서브 객체를 제거할 객체로 결정하는 단계(S620); 를 포함하는,
    인공지능을 이용하여 이미지의 객체를 제거하는 방법.
  7. 제1 항에 있어서,
    상기 단계(S130)는,
    상기 인식된 하나 이상의 객체 각각이 속하는 분류를 결정하는 단계(S710);
    상기 하나 이상의 객체의 분류를 출력하는 단계(S720);
    상기 출력된 분류 중 하나 이상의 제거대상 분류의 선택을 사용자에게 요청하는 단계(S730);
    상기 사용자의 선택 입력을 획득하는 단계(S740); 및
    상기 사용자가 선택한 분류에 속하는 하나 이상의 객체를 제거대상 객체로 결정하는 단계(S750); 를 포함하고,
    상기 단계(S710)는,
    기 저장된 데이터베이스로부터 상기 하나 이상의 객체 각각의 분류를 탐색하는 단계(S712);
    상기 데이터베이스에서 제2 객체에 대응하는 분류가 탐색되지 않는 경우, 상기 제2 객체에 대응하는 분류를 생성하는 단계(S714); 및 상기 생성된 분류를 상기 데이터베이스에 저장하는 단계(S716); 를 더 포함하는,
    인공지능을 이용하여 이미지의 객체를 제거하는 방법.
  8. 제1 항에 있어서,
    촬영된 이미지를 표시하는 단계(S810);
    상기 촬영된 이미지에 대한 사용자의 영역 선택 정보를 획득하는 단계(S820);
    상기 선택된 영역에 대응하는 배경 이미지를 생성하는 단계(S830); 및
    상기 생성된 배경 이미지와 상기 촬영된 이미지를 합성하여 결과 이미지를 생성하는 단계(S840); 를 더 포함하는,
    인공지능을 이용하여 이미지의 객체를 제거하는 방법.
  9. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    제1 항의 방법을 수행하는, 장치.
  10. 하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.

KR1020190076115A 2019-06-26 2019-06-26 인공지능을 이용하여 이미지의 객체를 제거하는 방법 KR102231794B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190076115A KR102231794B1 (ko) 2019-06-26 2019-06-26 인공지능을 이용하여 이미지의 객체를 제거하는 방법
PCT/KR2020/008267 WO2020262977A1 (ko) 2019-06-26 2020-06-25 인공지능을 이용하여 이미지의 객체를 제거하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190076115A KR102231794B1 (ko) 2019-06-26 2019-06-26 인공지능을 이용하여 이미지의 객체를 제거하는 방법

Publications (2)

Publication Number Publication Date
KR20210000872A KR20210000872A (ko) 2021-01-06
KR102231794B1 true KR102231794B1 (ko) 2021-03-25

Family

ID=74060295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190076115A KR102231794B1 (ko) 2019-06-26 2019-06-26 인공지능을 이용하여 이미지의 객체를 제거하는 방법

Country Status (2)

Country Link
KR (1) KR102231794B1 (ko)
WO (1) WO2020262977A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024085352A1 (ko) * 2022-10-18 2024-04-25 삼성전자 주식회사 인공 지능 모델의 학습을 위한 훈련용 데이터를 생성하는 방법 및 전자 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210304449A1 (en) * 2020-03-26 2021-09-30 Snap Inc. Machine learning-based modification of image content
KR102403166B1 (ko) * 2021-09-29 2022-05-30 주식회사 인피닉 기계 학습용 데이터 증강 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR20230155718A (ko) * 2022-05-04 2023-11-13 서울대학교산학협력단 이미지에서의 측색 방법, 장치, 및 컴퓨터-판독가능 매체

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100588002B1 (ko) * 2004-12-07 2006-06-08 한국전자통신연구원 동영상에서 배경을 복원하기 위한 장치 및 그 방법
JP2009302902A (ja) * 2008-06-13 2009-12-24 Nikon Corp カメラ
US20110103644A1 (en) * 2009-10-30 2011-05-05 Zoran Corporation Method and apparatus for image detection with undesired object removal
JP2018147019A (ja) * 2017-03-01 2018-09-20 株式会社Jストリーム オブジェクト抽出装置、オブジェクト認識システム及びメタデータ作成システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090105B1 (ko) * 2013-07-16 2020-03-17 삼성전자 주식회사 카메라를 구비하는 장치의 이미지 처리장치 및 방법
KR102438201B1 (ko) 2017-12-01 2022-08-30 삼성전자주식회사 사진 촬영과 관련된 추천 정보를 제공하는 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100588002B1 (ko) * 2004-12-07 2006-06-08 한국전자통신연구원 동영상에서 배경을 복원하기 위한 장치 및 그 방법
JP2009302902A (ja) * 2008-06-13 2009-12-24 Nikon Corp カメラ
US20110103644A1 (en) * 2009-10-30 2011-05-05 Zoran Corporation Method and apparatus for image detection with undesired object removal
JP2018147019A (ja) * 2017-03-01 2018-09-20 株式会社Jストリーム オブジェクト抽出装置、オブジェクト認識システム及びメタデータ作成システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024085352A1 (ko) * 2022-10-18 2024-04-25 삼성전자 주식회사 인공 지능 모델의 학습을 위한 훈련용 데이터를 생성하는 방법 및 전자 장치

Also Published As

Publication number Publication date
KR20210000872A (ko) 2021-01-06
WO2020262977A1 (ko) 2020-12-30

Similar Documents

Publication Publication Date Title
KR102231794B1 (ko) 인공지능을 이용하여 이미지의 객체를 제거하는 방법
CN110476405B (zh) 用于提供与拍摄有关的推荐信息的方法和系统
TWI805869B (zh) 計算場景的主要分類的系統及方法
US10762608B2 (en) Sky editing based on image composition
JP4844657B2 (ja) 画像処理装置及び方法
US9390466B2 (en) Image processing apparatus and method, image capturing apparatus and program
WO2020134528A1 (zh) 目标检测方法及相关产品
CN110493517A (zh) 图像捕获装置的辅助拍摄方法和图像捕获装置
US20120069007A1 (en) Method for Enhancing Depth Maps
KR20090087670A (ko) 촬영 정보 자동 추출 시스템 및 방법
WO2023011013A1 (zh) 视频图像的拼缝搜索方法、视频图像的拼接方法和装置
US9727802B2 (en) Automatic, computer-based detection of triangular compositions in digital photographic images
CN111523494A (zh) 一种人体图像检测方法
JP6976731B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN106200915B (zh) 一种增强现实中目标对象的识别方法、装置及移动终端
JP5375401B2 (ja) 画像処理装置及び方法
CN113992837A (zh) 基于对象尺寸的自动聚焦方法以及数字图像采集装置
CN115225756A (zh) 确定目标对象的方法、拍摄方法和装置
CN114071005B (zh) 一种对象检测方法、电子设备和计算机可读存储介质
Delussu et al. Synthetic Data for Video Surveillance Applications of Computer Vision: A Review
TW202219901A (zh) 適用於全景影像的物件偵測裝置和物件偵測方法
KR20240040005A (ko) 영상 분석 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right