KR102662411B1 - 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 - Google Patents

생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 Download PDF

Info

Publication number
KR102662411B1
KR102662411B1 KR1020240008756A KR20240008756A KR102662411B1 KR 102662411 B1 KR102662411 B1 KR 102662411B1 KR 1020240008756 A KR1020240008756 A KR 1020240008756A KR 20240008756 A KR20240008756 A KR 20240008756A KR 102662411 B1 KR102662411 B1 KR 102662411B1
Authority
KR
South Korea
Prior art keywords
frame
model
video
target object
outpainting
Prior art date
Application number
KR1020240008756A
Other languages
English (en)
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 KR1020240008756A priority Critical patent/KR102662411B1/ko
Application granted granted Critical
Publication of KR102662411B1 publication Critical patent/KR102662411B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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]

Landscapes

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

Abstract

본 발명의 실시 예에 따르면, 생성형 AI 모델을 이용한 동적 객체 제거 및 인페인팅 서비스 제공 서버가 개시된다. 또한, 상기 서버는, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체를 탐지하는 객체 분할부; 및 인페인팅 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체의 영역을 제거하고, 제거된 영역이 복원된 출력 프레임을 생성하는 인페인팅부를 포함한다.

Description

생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램{SERVER, SYSTEM, METHOD AND PROGRAM PROVIDING DYNAMIC OBJECT TRACKING, INPAINTING AND OUTPAINTING SERVICE USING GENERATIVE AI MODEL}
본 발명은 생성형 AI를 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램에 관한 것이다.
본 명세서에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.
영화 산업에서 물체 제거 및 교체 작업은 많은 시간과 비용이 소요되는 작업 중 하나다. 무수히 많은 프레임마다 물체를 제거 및 교체를 수작업으로 진행했기 때문에, 많은 시간 및 인력이 소요되었으며, 작업자의 실력에 따라 제거 및 교체 품질이 달라지는 문제가 발생되고 있다.
딥러닝을 이용한 인페인팅 모델을 이용해 물체 제거 및 교체 작업을 수행하는 경우, 자동화를 통해 작업 속도가 비약적으로 향상되며 품질의 일관성이 유지된다. 특히, 기존의 방식에 비해 많은 비용이 절감되기 때문에, 영화 산업에 인페인팅 모델의 도입이 가속화되고 있다.
대한민국 등록특허공보 제10-2486300호(2023.01.04) 대한민국 공개특허공보 제10-2023-0133059호(2023.09.19) 대한민국 공개특허공보 제10-2021-0144294호(2021.11.30) 대한민국 공개특허공보 제10-2338913호(2021.12.08)
본 발명은, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오에 포함된 동적 객체를 탐지하고, 생성형 AI 모델을 이용해 동적 객체가 제거된 영역을 복원하는 서비스를 제공하는, 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램을 제공하는 것을 일 목적으로 한다.
본 발명은, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 통한 동적 객체 탐지 과정에서 이미지 세그멘테이션 모델의 개입을 최소화하는, 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램을 제공하는 것을 일 목적으로 한다.
본 발명은, 생성형 AI 모델이 입력되는 네거티브 프롬프트를 최적화하는, 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램을 제공하는 것을 일 목적으로 한다.
본 발명은, 아웃페인팅 모델을 이용해 사용자가 원하는 형태로 이미지를 확장 및 변경할 수 있는 서비스를 제공하는, 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램을 제공하는 것을 일 목적으로 한다.
본 발명은, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오에 포함된 동적 객체를 탐지하고, 아웃페인팅 모델을 이용해 탐지된 동적 객체가 중심에 위치되도록 비디오를 가공하는 서비스를 제공하는, 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램을 제공하는 것을 일 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버를 제공한다.
또한, 상기 서버는, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체를 탐지하는 객체 분할부를 포함한다.
또한, 상기 객체 분할부는, 이미지 세그멘테이션 모델을 이용해 비디오의 첫 프레임인 제1 기준 프레임의 관심영역에 포함된 타겟객체와 대응되는 마스크를 생성하고, 제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 나머지 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성한다.
또한, 상기 객체 분할부는, 제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하고, 이미지 세그멘테이션 모델을 이용해, 기준 개수의 프레임의 다음 프레임인 제2 기준 프레임에 포함된 타겟객체와 대응되는 마스크를 생성하며, 제2 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성한다.
또한, 객체 분할부는, 타겟객체, 비디오의 프레임 수와 매칭되는 탐지정확도를 데이터베이스에서 검색하고, 타겟객체, 비디오의 프레임 수, 탐지정확도를 프레임 수 결정 모델에 입력 값으로 입력하며, 프레임 수 결정 모델로부터 입력 값과 대응되는 연속처리 프레임 수를 획득하며, 연속처리 프레임 수를 미리 설정된 기준 개수로 결정한다.
또한, 상기 서버는, 인페인팅 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체의 영역을 제거하고, 제거된 영역이 복원된 출력 프레임을 생성하는 인페인팅부를 포함한다.
또한, 인페인팅부는, 비디오의 프레임 각각의 마스크, 비디오의 프레임, 긍적 프롬프트 및 네거티브 프롬프트를 비디오 객체 오브젝트 세그멘테이션 모델에 입력 값으로 입력한다.
또한, 인페인팅부는, 이미지 세그멘테이션 모델을 이용해 제1 기준 프레임에 포함된 객체를 획득하고, 객체 및 타겟객체를 네거티브 워드 생성 모델에 입력 값으로 입력하고, 네거티브 워드 생성 모델로부터 객체 및 타겟객체에 대응하는 네거티브 워드를 획득하며, 네거티브 워드를 이용해 네거티브 프롬프트를 생성한다.
또한, 상기 서버는, 사용자 단말로부터 확장영역을 수신하고, 아웃페인팅 모델에 입력 이미지, 확장영역, 입력 프롬프트 및 네거티브 프롬프트를 입력 값으로 입력하며, 아웃페인팅 모델로부터 입력 값에 대한 출력 이미지를 획득하는 아웃페인팅부를 포함하고, 상기 아웃페인팅부는, 입력 이미지에 포함된 객체를 네거티브 워드 생성 모델에 입력 값으로 입력하고, 네거티브 워드 생성 모델로부터 입력 값에 대한 네거티드 워드를 결과 값으로 획득하며, 네거티브 워드를 포함하는 네거티브 프롬프트를 생성한다.
또한, 상기 아웃페인팅부는, 상기 사용자 단말로부터 좌우측 이동거리 및 상하측 이동거리를 수신하고, 입력 이미지, 좌우측 이동거리 및 상하측 이동거리를 이용해 확장영역 및 삭제영역을 생성하며, 아웃페인팅 모델에 입력 이미지, 확장영역, 삭제영역, 입력 프롬프트 및 네거티브 프롬프트를 입력 값으로 입력하며, 아웃페인팅 모델로부터 입력 값에 대한 출력 이미지를 획득한다.
또한, 상기 객체 분할부는, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체를 탐지하고, 이미지 세그멘테이션 모델을 이용해 비디오의 첫 프레임인 제1 기준 프레임의 관심영역에 포함된 타겟객체와 대응되는 마스크를 생성하고, 제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 나머지 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성한다.
또한, 상기 객체 분할부는, 제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하고, 이미지 세그멘테이션 모델을 이용해, 기준 개수의 프레임의 다음 프레임인 제2 기준 프레임에 포함된 타겟객체와 대응되는 마스크를 생성하며, 제2 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성한다.
또한, 상기 아웃페인팅부는, 비디오의 전체 프레임 각각에서 타겟객체가 프레임의 중심부에 위치하도록, 비디오 전체 프레임 각각에 대한 좌우측 이동거리 및 상하측 이동거리를 산출하고, 비디오 전체 프레임 각각에 대한 좌우측 이동거리 및 상하측 이동거리를 이용하여 비디오 전체 프레임 각각에 대한 삭제영역 및 확장영역을 결정하며, 비디오 전체 프레임, 비디오 전체 프레임 각각과 대응되는 삭제영역, 비디오 전체 프레임 각각과 대응되는 확장영역, 입력 프롬프트 및 네거티브 프롬프트를 아웃페인팅 모델에 입력 값으로 입력하고, 아웃페인팅 모델로부터 비디오 전체 프레임 각각과 대응되는 출력 프레임을 획득한다.
본 발명의 일 실시 예에 따르면, 이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오에 포함된 동적 객체를 탐지하고, 생성형 AI 모델을 이용해 동적 객체가 제거된 영역이 자동으로 복원될 수 있다.
본 발명의 일 실시 예에 따르면, 프레임의 수와 증가하는 경우에도 타겟객체의 영역 탐지의 정확도 저감을 방지할 수 있다.
본 발명의 일 실시 예에 따르면, 네거티브 프롬프트 생성을 통해 복원되는 프레임의 퀄리티가 향상될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 생성형 AI 모델을 이용한 동적 객체 제거 및 인페인팅 서비스를 제공하기 위한 시스템에 대한 개요도이다.
도 2는 도 1에 따른 서비스 제공 서버의 기능적 모듈을 예시적으로 나타낸 블록도이다.
도 3은 도 1에 따른 서비스 제공 서버가 비디오의 프레임에서 동적 객체를 탐지하는 과정을 도시하는 흐름도이다.
도 4는 이미지 세그멘테이션 모델이 프레임에서 타겟객체과 매칭되는 영역에 마스크를 생성하는 과정을 도시하는 도면이다.
도 5는 비디오 오브젝트 세그멘테이션 모델이 비디오의 첫 프레임의 마스크와 비디오의 나머지 프레임을 입력받아 나머지 프레임에 포함된 동적 객체를 탐지하는 과정을 도시하는 흐름도이다.
도 6은 도 3의 S200단계의 구체적인 과정의 일 실시 예를 도시하는 흐름도이다
도 7은 비디오 오브젝트 세그멘테이션 모델의 동작 중 이미지 세그멘테이션 모델이 개입되는 과정을 도시하는 도면이다,
도 8은 인페인팅 모델이 비디오에서 탐지된 동적 객체를 제거하고 제거된 부분을 복원하는 과정을 도시하는 도면이다.
도 9는 인페인팅 모델이 비디오에서 탐지된 동적 객체를 제거하고 제거된 부분을 복원하는 과정을 도시하는 도면이다.
도 10은 아웃페인팅 모델이 프레임을 확장하는 과정을 도시하는 도면이다.
도 11은 아웃페인팅 모델이 프레임의 시점을 변환하는 과정을 도시하는 도면이다.
도 12는 아웃페인팅 모델이 비디오 전체의 시점을 변환하는 과정을 도시하는 도면이다.
도 13은 도 1에 따른 서비스 제공 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 생성형 AI 모델을 이용한 동적 객체 제거 및 인페인팅 서비스를 제공하기 위한 시스템에 대한 개요도이다.
도 1을 참조하면, 동적 객체 제거 및 인페인팅 서비스를 제공하기 위한 시스템은, 서비스 제공 서버(100), 사용자 단말(200) 및 인공신경망 모델 서버(300)를 포함한다.
서비스 제공 서버(100), 사용자 단말(200) 및 인공신경망 모델 서버(300)는 네트워크를 통해 서로 연결된다.
아울러, 이러한 네트워크는 예컨대, 다수의 접속망(미도시) 및 코어망(미도시)을 포함하며, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다. 여기서, 접속망(미도시)은 서비스 제공 서버(100), 사용자 단말(200) 및 인공신경망 모델 서버(300)와 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구 현될 수 있다. 또한, 전술한 바와 같이, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함)와 무선 유니트(Radio Unit, 이하 RU라 함)로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.
또한, 접속망(미도시)과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망(미도시)과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.
이러한 코어망(미도시)은 앞서 설명한 바와 같이, 접속망(미도시) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수 간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷 망(미도시)과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망(미도시)은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.
또한, 인터넷망(미도시)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 서비스 제공 서버(100), 사용자 단말(200) 및 인공신경망 모델 서버(300)로부터 제공되는 정보를 코어망(미도시) 및 접속망(미도시)을 거쳐 네트워크로 제공할 수 있고, 반대로 네트워크로 제공되는 정보를 코어망(미도시) 및 접속망(미도시)을 거쳐 서비스 제공 서버(100), 사용자 단말(200) 및 인공신경망 모델 서버(300)로 제공할 수도 있다. 그러나, 이에 한정되는 것은 아니며, 서비스 제공 서버(100)는 코어망(미도시)과 일체로 구현될 수도 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
서비스 제공 서버(100)는, 동적 객체 추적 및 인페인팅 서비스를 제공하는 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다.
사용자 단말(200)은, 동적 객체 추적 및 인페인팅 서비스를 사용하려는 사용자의 단말을 의미한다.
사용자 단말(200)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크 톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 사용자 단말(200)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 사용자 단말(200)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치 를 포함할 수 있다.
인공신경망 모델 서버(300)는, 이미지 세그멘테이션 모델, 비디오 오브젝트 세그멘테이션 모델, 해상도 변환 모델, 인페인팅 모델, 아웃페인팅 모델을 포함할 수 있다.
이미지 세그멘테이션 모델은, 이미지의 각 픽셀을 특정 시맨틱 범주로 분류하여 다양한 객체 및 영역을 세분화할 수 있도록 학습된다. 이미지 세그멘테이션 모델은 이미지 각 픽셀에 대해 정답을 레이블링하여 세그멘테이션 마스크를 생성한 훈련데이터셋을 이용한 학습을 통해 생성될 수 있다. 이미지 세그멘테이션 모델의 학습에는 U-Net, FCN (Fully Convolutional Network), SegNet, DeepLab, Mask R-CNN등 공지된 다양한 알고리즘이 사용될 수 있으며, 손실 함수를 이용한 경사하강법을 통해 가중치를 조절하여 모델이 학습될 수 있다. 일 실시 예에서, 이미지 세그멘테이션 모델의 생성에는, Segment Anything(Kirillov, Alexander, et al. arXiv preprint arXiv:2304.02643, 2023) 방식이 사용될 수 있다.
비디오 오브젝트 세그멘테이션 모델은, 연속된 프레임 각각에서 타겟객체의 영연인 마스크가 라벨링된 훈련데이터셋을 이용한 학습을 통해 생성될 수 있다. 비디오 오브젝트 세그멘테이션 모델의 학습에는, 3D Convolutional Neural Networks (3D CNNs), 2D CNNs with temporal information modeling, 혹은 RNN과 LSTM을 결합한 모델 등 공지된 다양한 알고리즘이 사용될 수 있다. 예를 들어, Mask R-CNN for Video방식, XMem: Long-Term Video Object Segmentation with an Atkinson-Shiffrin Memory Model(Cheng, Ho Kei, and Alexander G. Schwing, European Conference on Computer Vision, 2022) 방식이 사용될 수 있다. 설정한 손실 함수를 이용한 경사하강법을 이용해 가중치를 조절하여 비디오 오브젝트 세그멘테이션 모델이 학습될 수 있다.
인페인팅 모델은, 누락된 또는 손상된 부분을 복원할 수 있또록 학습된다. 인페인팅 모델은, 누락 또는 손상된 이미지와 정상적인 정답 이미지를 레이블링한 훈련데이터를 이용한 학습을 통해 생성된다. 인페인팅 모델의 학습에는, 자동 인코더(Autoencoder), 컨볼루션 신경망(CNN) 기반의 모델, GAN (Generative Adversarial Network) 기반의 알고리즘이 사용될 수 있다. 예를 들어, 인페인팅 모델의 생성에는, Stable Diffusion XL(Stability AI, GitHub Repository: Stable Diffusion XL) 방식이 사용될 수 있다. 설정한 손실 함수를 이용한 경사하강법을 이용해 가중치를 조절하여 인페인팅 모델이 학습될 수 있다.
아웃페인팅 모델은, 기존 이미지의 경계를 넘어서 이미지를 확장할 수 있도록 학습된다. 아웃페인팅 모델을 이용해 이미지를 더 넓은 시야나 환경으로 확장할 수 있다. 아웃페인팅 모델은, 원본 이미지와 확장된 이미지, 축소된 이미지와 원본 이미지를 훈련데이터로 하여 학습될 수 있다. 일 실시 예에서, Convolutional Neural Networks (CNNs), Generative Adversarial Networks (GANs), Attention Mechanisms and Transformers, Recurrent Neural Networks (RNNs) 등의 알고리즘이 인페인팅 모델의 학습에 사용될 수 있다. 설정된 손실함수를 최소화하도록 가중치를 조절하여 인페인팅 모델을 학습시킬 수 있다.
해상도 변환 모델은, 저해상도 이미지를 고해상도 이미지로 변환하도록 학습된다. 해상도 변환 모델은, 고해상도의 이미지와 고해상도 이미지를 다운샘플링한 저해상도의 이미지를 레이블링하여 훈련데이터를 생성하고, 생성한 훈련데이터를 이용한 학습을 통해 생성될 수 있다. 일 실시 예에서, Convolutional Neural Networks (CNNs), Generative Adversarial Networks (GANs), Deep Residual Networks (ResNet), Attention Mechanisms, Transformer Models 등의 알고리즘이 해상도 변환 모델의 학습에 사용될 수 있다. 설정된 손실함수를 최소화하도록 가중치를 조절하여 해상도 변환 모델을 학습시킬 수 있다.
도시된 실시 예에서, 인공신경망 모델 서버(300)가 서비스 제공 서버(100)와 별도의 서버로 도시되나, 이에 한정되는 것은 아니며 서비스 제공 서버(100)와 인공신경망 모델 서버(300)가 일체로 형성될 수 있다.
도 2는 도 1에 따른 서비스 제공 서버(100)의 기능적 모듈을 예시적으로 나타낸 블록도이다.
서비스 제공 서버(100)는, 객체 분할부(101) 및 인페인팅부(102)를 포함한다.
서비스 제공 서버(100)가 사용자 단말(200)로 동적 객체 추적 및 인페인팅 서비스를 제공하는 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 사용자 단말(200)은, 동적 객체 추적 및 인페인팅 서비스를 제공하는 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 사용자 단말(200)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크 롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 3은 도 1에 따른 서비스 제공 서버가 비디오의 프레임에서 동적 객체를 탐지하는 과정을 도시하는 흐름도이다.
도 3을 참조하면, 객체 분할부(101)가, 이미지 세그멘테이션 모델을 이용해 비디오의 첫 프레임에 포함된 타겟객체의 영역을 나타내는 마스크를 생성한다(S100).
도 4는 이미지 세그멘테이션 모델이 프레임에서 타겟객체과 매칭되는 영역에 마스크를 생성하는 과정을 도시하는 도면이다.
객체 분할부(101)는, 사용자 단말(200)에, 프레임 내에 관심영역(ROI)을 지정할 수 있는 사용자 인터페이스를 제공할 수 있다.
사용자 인터페이스를 통해 관심영역이 입력되면, 객체 분할부(101)는, 프레임에서 관심영역과 매칭되는 부분을 이미지 세그멘테이션 모델에 입력하고, 이미지 세그멘테이션 모델은 관심영역에 포함된 타겟객체를 식별하고 타겟객체의 영역과 나머지 배경 영역을 분리한다.
객체 분할부(101)는, 사용자 단말(200)에 비디오의 첫 프레임을 제공하고, 사용자 단말(200)로부터 첫 프레임의 관심영역을 수신하며, 첫 프레임의 관심영역과 매칭되는 부분을 이미지 세그멘테이션 모델에 입력하고, 이미지 세그멘테이션 모델이 생성한 첫 프레임에 포함된 타겟객체와 매칭되는 마스크를 획득한다.
다시 도 3을 참조하면, 객체 분할부(101)는, 첫 프레임에서 생성된 마스크와 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 나머지 프레임에 포함된 타겟객체를 탐지한다(S200).
도 5는 비디오 오브젝트 세그멘테이션 모델이 비디오의 첫 프레임의 마스크와 비디오의 나머지 프레임을 입력받아 나머지 프레임에 포함된 동적 객체를 탐지하는 과정을 도시하는 흐름도이다.
객체 분할부(101)는, 첫 프레임에서 생성된 마스크와 비디오의 나머지 프레임을 비디오 오브젝트 세그멘테이션 모델에 입력하고, 비디오 오브젝트 세그멘테이션 모델이 첫 프레임에서 생성된 마스크를 이용해 나머지 프레임을 타겟객체의 영역과 나머지 배경 영역으로 분할한다. 객체 분할부(101)는, 나머지 프레임 각각에 대해 타겟객체의 영역인 마스크를 획득한다.
도 6은 도 3의 S200단계의 구체적인 과정의 일 실시 예를 도시하는 흐름도이다
비디오 오브젝트 세그멘테이션 모델을 이용해 나머지 프레임을 모두를 타겟객체의 영역과 나머지 배경 영역으로 분리하는 경우, 비디오의 재생시간이 길어져 프레임의 수가 상대적으로 커질수록 타겟객체의 영역 탐지의 정확도가 저감되는 문제가 발생될 수 있다.
비디오 오브젝트 세그멘테이션 모델이 나머지 프레임에서 타겟객체를 탐지하는 과정의 중간에 이미지 세그멘테이션 모델이 개입하는 경우, 프레임의 수와 증가하는 경우에도 타겟객체의 영역 탐지의 정확도 저감을 방지할 수 있다.
도 6을 참조하면, 객체 분할부(101)는, 첫 프레임에서 생성된 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에 포함된 타겟객체를 탐지한다(S210).
객체 분할부(101)는, 첫 프레임에서 생성된 마스크를 비디오 오브젝트 세그멘테이션 모델에 제공하고, 비디오 오브젝트 세그멘테이션 모델을 이용해 첫 프레임 이후 미리 설정된 기준 개수만큼의 프레임을 타겟객체의 영역과 나머지 배경 영역으로 분리한다. 객체 분할부(101)는, 나머지 프레임 각각에 대해 타겟객체의 영역인 마스크를 획득한다.
미리 설정된 기준 개수만큼의 프레임에 대한 마스크 생성이 완료되면, 객체 분할부(101)는, 다음 프레임에 포함된 타겟객체와 매칭되는 마스크를 생성한다(S220).
일 실시 예에서, 객체 분할부(101)는, 사용자 단말(200)에, 프레임 내에 관심영역(ROI)을 지정할 수 있는 사용자 인터페이스를 제공하고, 이미지 세그멘테이션 모델을 이용해 사용자 단말(200)로부터 수신한 관심영역에 포함된 타겟객체와 매칭되는 마스크를 생성할 수 있다.
일 실시 예에서, 객체 분할부(101)는, 비디오 오브젝트 세그멘테이션 모델이 마지막으로 처리한 프레임의 타겟객체를 포함하는 미리 설정된 크기의 관심영역을 생성하고, 다음 프레임에서 관심영역과 매칭되는 부분을 이미지 세그멘테이션 모델에 입력하며, 이미지 세그멘테이션 모델은 관심영역에 포함된 타겟객체를 식별하고 타겟객체의 영역과 나머지 배경 영역을 분리한다.
객체 분할부(101)는, 이미지 세그멘테이션 모델을 이용해, 비디오 오브젝트 세그멘테이션 모델이 마지막으로 처리한 프레임의 다음 프레임에 포함된 타겟객체의 영역인 마스크를 생성한다.
이미지 세그멘테이션 모델을 이용한 마스크 생성이 완료되면, 객체 분할부(101)는, 나머지 프레임 중 미리 설정된 기준 개수의 프레임에 포함된 타겟객체를 탐지한다(S230). 타겟객체 탐지에는 비디오 오브젝트 세그멘테이션이 처리한 마지막 프레임의 다음 프레임에서 생성된 마스크 및 비디오 오브젝트 세그멘테이션 모델이 사용된다.
미리 설정된 기준 개수의 프레임에 포함된 타겟객체의 탐지가 완료되면, 객체 분할부(101)는, 처리되지 않은 프레임이 존재하는지 판단한다(S240).
처리되지 않은 프레임이 존재하는 경우, 객체 분할부(101)는, S220단계 및 S230단계를 다시 수행한다.
처리되지 않은 프레임이 존재하지 않는 경우, 객체 분할부(101)는, 타겟객체 탐지를 종료한다.
도 7은 비디오 오브젝트 세그멘테이션 모델의 동작 중 이미지 세그멘테이션 모델이 개입되는 과정을 도시하는 도면이다,
도시된 실시 예에서, 비디오 오브젝트 세그멘테이션 모델이 나머지 프레임에서 타겟객체를 탐지하는 과정의 중간에 이미지 세그멘테이션 모델이 개입하여 타겟객체의 마스크를 생성하고, 생성한 마스크를 비디오 오브젝트 세그멘테이션 모델에 제공한다. 즉, 프레임이 분할되어 처리되므로, 프레임의 수가 증가하는 경우에도 타겟객체 탐지의 정확도 저감을 방지할 수 있다.
다만, 프레임을 분할하여 처리하는 경우, 비디오 오브젝트 세그멘테이션 모델을 이용해 첫 프레임을 제외한 모든 프레임을 연속적으로 처리하는 것에 비해, 연산에 소요되는 시간 및 자원소모가 증가될 수 있다.
따라서, 비디오 오브젝트 세그멘테이션 모델이 타겟객체 탐지 정확도를 유지하면서 처리할 수 있는 최대의 프레임의 수를 적절하게 설정하는 것이 중요하다. 탐지 정확도가 유지되면서 연속적으로 처리할 수 있는 최적의 프레임의 수를 설정하는 경우, 연산에 소요되는 시간 및 자원소모의 증가를 최소화시킴과 동시에 재생시간이 긴 비디오의 탐지 정확도를 향상시킬 수 있다.
일 실시 예에서, 객체 분할부(101)는, 프레임 수 결정 모델을 이용해 비디오 오브젝트 세그멘테이션 모델이 한 번에 연속적으로 처리하는 프레임의 수를 결정할 수 있다. 프레임 수 결정 모델은, 추적되는 객체, 처리되는 비디오 프레임의 수, 탐지정확도에 프레임의 수를 레이블링하여 생성된 훈련데이터를 이용한 학습을 통해 생성될 수 있다. 일 실시 예에서, 정확도로는, IoU(Intersection over Union), Pixel Accuracy, Boundary F1 Score, Temporal Consistency 등이 사용될 수 있다. 일 실시 예에서, ANN(Artificial Neural Networks), RNN(Recurrent Neural Networks), LSTM(Long Short-Term Memory), Random Forest, Xgboost 등 공지된 다양한 알고리즘이 학습에 사용될 수 있다. 일 실시 예에서, 서비스 제공 서버(100)의 데이터베이스에는 탐지 객체, 프레임 수, 정확도가 매칭되어 저장될 수 있다. 객체 분할부(101)는, 탐지 객체, 프레임 수와 매칭되는 정확도를 검색한 후, 프레임 수 결정 모델에 탐지 객체, 프레임 수, 정확도를 입력 값으로 입력하고 대응하는 프레임 수를 결과 값으로 획득할 수 있다. 객체 분할부(101)는, 프레임 수 결정 모델로부터 획득한 프레임 수를 비디오 오브젝트 세그멘테이션 모델이 연속적으로 처리하는 프레임의 기준 개수로 설정할 수 있다.
도 8 및 도 9는 인페인팅 모델이 비디오에서 탐지된 동적 객체를 제거하고 제거된 부분을 복원하는 과정을 도시하는 도면이다.
인페인팅부(102)는, 인페인팅 모델에 프레임 및 프레임의 마스크를 입력 값으로 제공하고, 인페인팅 모델로부터 마스크 부분이 제거 및 복원된 프레임을 획득할 수 있다.
인페인팅부(102)는, 인페인팅 모델에 프레임 및 프레임의 마스크를 입력 값으로 제공하고, 인페인팅 모델로부터 마스크 부분일 제외한 배경의 제거 및 배경이 복원된 프레임을 획득할 수 있다.
인페인팅부(102)는, 사용자 단말(200)에 마스크 또는 배경에 대한 제거 및 복원 요청에 대한 사용자 프롬프트를 입력할 수 있는 사용자 인터페이스를 제공할 수 있다.
인페인팅부(102)는, 사용자 단말(200)로부터 사용자가 제공한 사용자 프롬프트를 수신한다. 인페인팅부(102)는, 사용자 프롬프트를 이용해 인페인팅 모델에 입력될 입력 프롬프트를 생성하고, 입력 프롬프트 및 네거티브 프롬프트를 프레임 및 마스크와 함께 인페인팅 모델에 제공한다. 인페인팅 모델은 입력 프롬프트 및 네거티브 프롬프트를 프레임 및 마스크를 입력받아 출력 프레임을 생성하고 이를 인페인팅부(102)에 제공한다. 일 실시 예에서, 인페인팅부(102)는, 사용자 프롬프트 동일한 입력 프롬프트를 생성할 수 있다.
인페인팅부(102)는, 출력 프레임을 사용자 단말(200)에 제공한다.
예를 들어, 입력 프레임 및 마스크와 함께 입력 프롬프트로 "remove it"이 인페인팅 모델에 입력된 경우, 인페인팅 모델은 마스크 부분을 제거하고 제거된 부분을 복원한 출력 프레임을 생성할 수 있다.
예를 들어, 입력 프레임 및 마스크와 함께 입력 프롬프트로 "remove it with tree"가 인페인팅 모델에 입력된 경우, 인페인팅 모델은 마스크 부분을 제거하고 제거된 부분에 나무를 생성한 출력 프레임을 생성할 수 있다.
일 실시 예에서, 인페인팅부(102)는, 이미지 생성 성능을 향상시키기 위해 입력 프롬프트와 함께 네거티브 프롬프트를 입력할 수 있다.
일 실시 예에서, 인페인팅 모델은 네거티브적인 출력이미지에 사용된 프롬프트를 네거티브 프롬프트로 레이블링한 훈련데이터를 이용해 네거티브 프롬프트 입력 시 네거티브 프롬프트에 대해 레이블링된 출력이미지를 피하도록 학습될 수 있다.
일 실시 예에서, 인페인팅부(102)는, 네거티브 워드 생성 모델을 이용해 출력이미지의 퀄리티 향상을 위한 네거티브 워드를 획득하고, 네거티브 워드를 이용해 네거티브 프롬프트를 생성할 수 있다. 네거티브 워드 생성 모델은, 프레임에 포함된 객체들, 프레임에서 제거된 객체와 네거티브 워딩을 레이블링해서 생성된 훈련데이터를 이용한 기계학습을 통해 훈련될 수 있다. 예를 들어, 프레임에 포함된 객체가 "car", "window", "human", "balcony", "pillar", "entrance door"이고, 제거되는 객체가 "human"인 경우, "car", "window", "human", "balcony", "pillar", "entrance door", "human"을 전처리하고, 네거티브 워딩 "cartoon", "cgi", "render", "illustration", "painting", "drawing", "front door"을 레이블링하여 훈련데이터를 생성하고, 훈련데이터를 이용한 학습을 통해 네거티브 워드 생성 모델이 생성될 수 있다. 예를 들어, ANN(Artificial Neural Networks), RNN(Recurrent Neural Networks), LSTM(Long Short-Term Memory) 등 공지된 다양한 딥러닝 분야 알고리즘이 학습에 사용될 수 있다.
일 실시 예에서, 인페인팅부(102)는, 비디오 첫 프레임을 이미지 세그멘테이션 모델에 입력하여 첫 프레임에 포함된 모든 객체를 획득하고, 첫 프레임에 포함된 모든 객체 및 제거된 객체를 네거티브 워드 생성 모델에 입력 값으로 입력하며, 네거티브 워드 생성 모델로부터 네거티브 워드를 결과 값으로 획득할 수 있다. 인페인팅부(102)는, 획득한 네거티브 워드를 나열하여 네거티브 프롬프트를 생성할 수 있다. 예를 들어, 네거티브 워드가 "cartoon", "cgi", "render", "illustration", "painting", "drawing"인 경우, "cartoon, cgi, render, illustration, painting, drawing"을 네거티브 프롬프트로 생성한다. 인페인팅부(102)는, 비디오 프레임, 비디오 프레임 각각의 마스크, 입력 프롬프트, 네거티브 프롬프트를 인페인팅 모델에 입력하고, 인페인팅 모델로부터 비디오 프레임 각각과 대응되는 출력프레임을 획득할 수 있다. 인페인팅부(102)는, 비디오 프레임 각각과 대응하여 생성된 출력프레임을 사용자 단말(200)에 제공한다.
일 실시 예에서, 인페인팅부(102)는, 연속된 프레임에서 동일한 위치의 픽셀 값을 비교하고, 중간 값을 해당 위치의 픽셀 값으로 설정할 수 있다. 픽셀 값은 RGB 컬러 채널 각각에 대한 값이 사용될 수 있다. 인페인팅부(102)는, 프레임에서 제거된 객체의 마스크의 경계선에 인접한 영역의 픽셀값을 전후 프레임과 비교하고, 중간값을 사용하여 자연스러운 인페인팅을 구현할 수 있다.
예를 들어, 인페인팅부(102)는, n(단, n은 자연수)번째 프레임에서 제거된 객체의 마스크의 경계선에서 외측 및 내측으로 미리 설정된 거리만큼 확장된 비교 영역을 설정하고, n번째 프레임의 비교 영역을 n-1번째 프레임의 비교 영역, n+1번째 프레임의 비교 영역과 비교하고, n번째 프레임의 비교 영역의 픽셀 값을 n-1번째 프레임, n번째 프레임, n+1번째 프레임의 픽셀 값의 중간 값으로 변경할 수 있다. 전후로 1개씩의 프레임을 비교하는 방식을 예시로 들었으나 이에 한정되는 것은 아니며, 사용자의 설정에 따라 전후로 2개 이상의 프레임을 비교하여 중간 값으로 처리하는 방식이 사용될 수 있다.
도 10은 아웃페인팅 모델이 프레임을 확장하는 과정을 도시하는 도면이다.
아웃페인팅부(103)는, 사용자 단말(200)에, 확장 영역을 지정할 수 있는 사용자 인터페이스를 제공할 수 있다.
사용자 인터페이스를 통해 확장영역이 입력되면, 아웃페인팅부(103)는, 아웃페인팅 모델에 입력 프롬프트, 입력 이미지 및 확장 영역을 제공하고, 출력 프레임을 획득할 수 있다.
일 실시 예에서, "Describe what you'd like to inpaint in your image"가 입력 프롬프트로 사용될 수 있다.
도 11은 아웃페인팅 모델이 프레임의 시점을 변환하는 과정을 도시하는 도면이다.
아웃페인팅부(103)는, 사용자 단말(200)에, 좌우측 이동거리, 상하측 이동거리를 지정할 수 있는 사용자 인터페이스를 제공할 수 있다. 사용자 인터페이스를 통해 사용자 단말(200)로부터 좌우측 이동거리 및 상하측 이동거리가 수신되면, 아웃페인팅부(103)는, 입력 이미지로부터 외측으로 좌우측 이동거리 및 상하측 이동거리만큼 벗어난 확장영역을 설정하고, 입력 이미지로부터 내측으로 좌우측 이동거리 및 상하측 이동거리만큼 이동되어 형성된 삭제영역을 설정한다. 아웃페인팅부(103)는, 아웃페인팅 모델에 입력 프롬프트, 입력 이미지, 확장영역, 삭제영역을 입력 값으로 제공하고, 아웃페인팅 모델로부터 입력 값과 대응되는 출력 이미지를 획득할 수 있다. 아웃페인팅 모델은, 삭제영역을 삭제하고, 확장영역에 채워지는 이미지를 생성하여 출력 이미지를 생성한다.
이를 통해, 입력 이미지로부터 카메라 시점이 좌우측 또는 상하측으로 이동된 것과 같은 효과의 출력 이미지를 획득할 수 있다.
일 실시 예에서, 아웃페인팅부(103)는, 이미지 생성 성능을 향상시키기 위해 입력 프롬프트와 함께 네거티브 프롬프트를 입력할 수 있다.
일 실시 예에서, 아웃페인팅 모델은 네거티브적인 출력이미지에 사용된 프롬프트를 네거티브 프롬프트로 레이블링한 훈련데이터를 이용해 네거티브 프롬프트 입력 시 네거티브 프롬프트에 대해 레이블링된 출력이미지를 피하도록 학습될 수 있다.
일 실시 예에서, 아웃페인팅부(103)는, 네거티브 워드 생성 모델을 이용해 출력이미지의 퀄리티 향상을 위한 네거티브 워드를 획득하고, 네거티브 워드를 이용해 네거티브 프롬프트를 생성할 수 있다. 네거티브 워드 생성 모델은, 프레임에 포함된 객체와 네거티브 워딩을 레이블링해서 생성된 훈련데이터를 이용한 기계학습을 통해 훈련될 수 있다. 예를 들어, 프레임에 포함된 객체가 "car", "window", "human", "balcony", "pillar", "entrance door"인 경우, "car", "window", "human", "balcony", "pillar", "entrance door"을 전처리하고, 네거티브 워딩 "cartoon", "cgi", "render", "illustration", "painting", "drawing", "front door"을 레이블링하여 훈련데이터를 생성하고, 훈련데이터를 이용한 학습을 통해 네거티브 워드 생성 모델이 생성될 수 있다. 예를 들어, ANN(Artificial Neural Networks), RNN(Recurrent Neural Networks), LSTM(Long Short-Term Memory) 등 공지된 다양한 딥러닝 분야 알고리즘이 학습에 사용될 수 있다.
일 실시 예에서, 아웃페인팅부(103)는, 이미지를 이미지 세그멘테이션 모델에 입력하여 이미지에 포함된 모든 객체를 획득하고, 이미지에 포함된 모든 객체를 네거티브 워드 생성 모델에 입력 값으로 입력하며, 네거티브 워드 생성 모델로부터 네거티브 워드를 결과 값으로 획득할 수 있다. 아웃페인팅부(103)는, 획득한 네거티브 워드를 나열하여 네거티브 프롬프트를 생성할 수 있다. 예를 들어, 네거티브 워드가 "cartoon", "cgi", "render", "illustration", "painting", "drawing"인 경우, "cartoon, cgi, render, illustration, painting, drawing"을 네거티브 프롬프트로 생성한다.
일 실시 예에서, 아웃페인팅부(103)는, 이미지, 확장영역, 입력 프롬프트, 네거티브 프롬프트를 아웃페인팅 모델에 입력하고, 아웃페인팅 모델로부터 이미지와 대응되는 출력 이미지를 획득할 수 있다. 아웃페인팅부(103)는, 출력 이미지를 사용자 단말(200)에 제공한다.
아웃페인팅부(103)는, 이미지, 확장영역, 삭제영역, 입력 프롬프트, 네거티브 프롬프트를 아웃페인팅 모델에 입력하고, 아웃페인팅 모델로부터 이미지와 대응되는 출력 이미지를 획득할 수 있다. 아웃페인팅부(103)는, 출력 이미지를 사용자 단말(200)에 제공한다.
도 12는 아웃페인팅 모델이 비디오 전체의 시점을 변환하는 과정을 도시하는 도면이다.
일 실시 예에서, 객체 분할부(101)가, 이미지 세그멘테이션 모델을 이용해 비디오의 첫 프레임의 관심영역에 포함된 타겟객체와 대응되는 마스크를 생성하고, 첫 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 나머지 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하면, 아웃페인팅부(103)는, 비디오 전체 프레임 각각에서 타겟객체가 프레임의 중심부에 위치하는 좌우측 이동거리 및 상하측 이동거리를 산출할 수 있다.
일 실시 예에서, 아웃페인팅부(103)는, 타겟객체의 영역인 마스크 포함하는 사각 프레임의 너비의 중간 값, 높이의 중간 값에 해당하는 위치를 타겟객체의 중심 위치로 결정하고, 중심 위치가 중앙에 오도록 비디오 전체 프레임 각각의 크기와 동일한 크기의 가상 프레임을 설정한 후, 비디오 전체 프레임 각각과 가상 프레임의 좌우측 차이 및 상하측 차이를 이용해 좌우측 이동거리 및 상하측 이동거리를 산출할 수 있다. 아웃페인팅부(103)는, 좌우측 이동거리 및 상하측 이동거리를 이용해 비디오 전체 프레임 각각과 대응되는 삭제영역 및 확장영역을 결정할 수 있다.
일 실시 예에서, 아웃페인팅부(103)는, 비디오 전체 프레임, 비디오 전체 프레임 각각과 대응되는 삭제영역, 비디오 전체 프레임 각각과 대응되는 확장영역,
입력 프롬프트, 네거티브 프롬프트를 아웃페인팅 모델에 입력하고, 아웃페인팅 모델로부터 비디오 전체 프레임 각각과 대응되는 출력 프레임을 획득할 수 있다. 아웃페인팅부(103)는, 비디오 전체 프레임 각각과 대응되는 출력 프레임를 사용자 단말(200)에 제공한다.
이를 통해, 비디오에서 원하는 타겟객체가 영상의 중심에 위치하도록 변형된 비디오를 생성할 수 있다.
도 13은 도 1에 따른 서비스 제공 서버(100)의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 13을 참조하면, 서비스 제공 서버(100)는, 적어도 하나의 프로세서(110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 동작은 전술한 서비스 제공 서버(100)의 구성부들(101~103)이나 기타 기능 또는 동작 방법을 포함할 수 있다.
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시 예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다.
예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.
또한, 서버(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 서버(100)에 포함된 각각의 구성 요소들은 버스(bus, 170)에 의해 연결되어 서로 통신을 수행할 수 있다.
서버(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 생성형 AI 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버로서,
    이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체를 탐지하는 객체 분할부; 및
    사용자 단말로부터 확장영역을 수신하고, 아웃페인팅 모델에 입력 이미지, 확장영역, 입력 프롬프트 및 네거티브 프롬프트를 입력 값으로 입력하며, 아웃페인팅 모델로부터 입력 값에 대한 출력 이미지를 획득하는 아웃페인팅부를 포함하고,
    상기 객체 분할부는,
    이미지 세그멘테이션 모델을 이용해 비디오의 첫 프레임인 제1 기준 프레임의 관심영역에 포함된 타겟객체와 대응되는 마스크를 생성하고,
    제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 나머지 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하며,
    상기 아웃페인팅부는,
    입력 이미지에 포함된 객체를 객체 및 타겟객체를 네거티브 워드 생성 모델에 입력 값으로 입력하고, 네거티브 워드 생성 모델로부터 객체 및 타겟객체에 대응하는 네거티브 워드를 획득하며,
    네거티브 워드를 이용해 네거티브 프롬프트를 생성하는,
    서버.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 객체 분할부는,
    제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하고,
    이미지 세그멘테이션 모델을 이용해, 기준 개수의 프레임의 다음 프레임인 제2 기준 프레임에 포함된 타겟객체와 대응되는 마스크를 생성하며,
    제2 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하는,
    서버.
  3. 제2항에 있어서,
    상기 객체 분할부는,
    타겟객체, 비디오의 프레임 수와 매칭되는 탐지정확도를 데이터베이스에서 검색하고,
    타겟객체, 비디오의 프레임 수, 탐지정확도를 프레임 수 결정 모델에 입력 값으로 입력하며, 프레임 수 결정 모델로부터 입력 값과 대응되는 연속처리 프레임 수를 획득하며,
    연속처리 프레임 수를 미리 설정된 기준 개수로 결정하는,
    서버.
  4. 제1항에 있어서,
    인페인팅 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체의 영역을 제거하고, 제거된 영역이 복원된 출력 프레임을 생성하는 인페인팅부를 포함하고,
    상기 인페인팅부는,
    비디오의 프레임 각각의 마스크, 비디오의 프레임, 긍적 프롬프트 및 네거티브 프롬프트를 비디오 객체 오브젝트 세그멘테이션 모델에 입력 값으로 입력하는,
    서버.
  5. 제4항에 있어서,
    상기 인페인팅부는,
    이미지 세그멘테이션 모델을 이용해 제1 기준 프레임에 포함된 객체를 획득하고,
    객체 및 타겟객체를 네거티브 워드 생성 모델에 입력 값으로 입력하고, 네거티브 워드 생성 모델로부터 객체 및 타겟객체에 대응하는 네거티브 워드를 획득하며,
    네거티브 워드를 이용해 네거티브 프롬프트를 생성하는,
    서버.
  6. 삭제
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 아웃페인팅부는,
    상기 사용자 단말로부터 좌우측 이동거리 및 상하측 이동거리를 수신하고,
    입력 이미지, 좌우측 이동거리 및 상하측 이동거리를 이용해 확장영역 및 삭제영역을 생성하며,
    아웃페인팅 모델에 입력 이미지, 확장영역, 삭제영역, 입력 프롬프트 및 네거티브 프롬프트를 입력 값으로 입력하며, 아웃페인팅 모델로부터 입력 값에 대한 출력 이미지를 획득하는,
    서버.
  8. 제7항에 있어서,
    상기 객체 분할부는,
    이미지 세그멘테이션 모델 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 입력 프레임 각각의 타겟객체를 탐지하고,
    이미지 세그멘테이션 모델을 이용해 비디오의 첫 프레임인 제1 기준 프레임의 관심영역에 포함된 타겟객체와 대응되는 마스크를 생성하고,
    제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 비디오의 나머지 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하는,
    서버.
  9. 제8항에 있어서,
    상기 객체 분할부는,
    제1 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하고,
    이미지 세그멘테이션 모델을 이용해, 기준 개수의 프레임의 다음 프레임인 제2 기준 프레임에 포함된 타겟객체와 대응되는 마스크를 생성하며,
    제2 기준 프레임의 마스크 및 비디오 오브젝트 세그멘테이션 모델을 이용해 미리 설정된 기준 개수의 프레임에서 타겟객체의 영역과 대응되는 마스크를 생성하는,
    서버.
  10. 제9항에 있어서,
    상기 아웃페인팅부는,
    비디오의 전체 프레임 각각에서 타겟객체가 프레임의 중심부에 위치하도록, 비디오 전체 프레임 각각에 대한 좌우측 이동거리 및 상하측 이동거리를 산출하고,
    비디오 전체 프레임 각각에 대한 좌우측 이동거리 및 상하측 이동거리를 이용하여 비디오 전체 프레임 각각에 대한 삭제영역 및 확장영역을 결정하며,
    비디오 전체 프레임, 비디오 전체 프레임 각각과 대응되는 삭제영역, 비디오 전체 프레임 각각과 대응되는 확장영역, 입력 프롬프트 및 네거티브 프롬프트를 아웃페인팅 모델에 입력 값으로 입력하고, 아웃페인팅 모델로부터 비디오 전체 프레임 각각과 대응되는 출력 프레임을 획득하는,
    서버.

KR1020240008756A 2024-01-19 2024-01-19 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램 KR102662411B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240008756A KR102662411B1 (ko) 2024-01-19 2024-01-19 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240008756A KR102662411B1 (ko) 2024-01-19 2024-01-19 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램

Publications (1)

Publication Number Publication Date
KR102662411B1 true KR102662411B1 (ko) 2024-04-30

Family

ID=90884411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240008756A KR102662411B1 (ko) 2024-01-19 2024-01-19 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램

Country Status (1)

Country Link
KR (1) KR102662411B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264951A (ja) * 2006-03-28 2007-10-11 Dainippon Printing Co Ltd 医療用画像補正装置
KR20210144294A (ko) 2020-05-22 2021-11-30 삼성에스디에스 주식회사 이미지 분할 모델 학습 장치 및 방법
KR102338913B1 (ko) 2021-03-15 2021-12-14 주식회사 도터 혈관내 광단층 영상에서의 생분해성 스텐트를 포함하는 딥러닝 기반 영상 분할 방법
KR102486300B1 (ko) 2022-09-20 2023-01-10 한국전자기술연구원 영상 인페인팅 장치 및 방법
KR20230072454A (ko) * 2021-11-17 2023-05-24 주식회사 Lg 경영개발원 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램
KR20230133059A (ko) 2022-03-10 2023-09-19 주식회사 엘지유플러스 인공지능 기반 디지털 미디어 컨텐츠 자동 제작 방법, 장치 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264951A (ja) * 2006-03-28 2007-10-11 Dainippon Printing Co Ltd 医療用画像補正装置
KR20210144294A (ko) 2020-05-22 2021-11-30 삼성에스디에스 주식회사 이미지 분할 모델 학습 장치 및 방법
KR102338913B1 (ko) 2021-03-15 2021-12-14 주식회사 도터 혈관내 광단층 영상에서의 생분해성 스텐트를 포함하는 딥러닝 기반 영상 분할 방법
KR20230072454A (ko) * 2021-11-17 2023-05-24 주식회사 Lg 경영개발원 이미지 텍스트 양방향 생성 장치, 방법 및 프로그램
KR20230133059A (ko) 2022-03-10 2023-09-19 주식회사 엘지유플러스 인공지능 기반 디지털 미디어 컨텐츠 자동 제작 방법, 장치 및 시스템
KR102486300B1 (ko) 2022-09-20 2023-01-10 한국전자기술연구원 영상 인페인팅 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BoLTVOS: Box-Level Tracking for Video Object Segmentation, CSCVPR, 2019.12.* *
Imagen Editor and EditBench: Advancing and Evaluating Text-Guided Image Inpainting, CVPR, 2023.06.* *

Similar Documents

Publication Publication Date Title
CN111368893B (zh) 图像识别方法、装置、电子设备及存储介质
US11869194B2 (en) Image processing method and apparatus, computer-readable storage medium
US11182903B2 (en) Image mask generation using a deep neural network
US20210201445A1 (en) Image cropping method
US11227182B2 (en) Method, apparatus, and storage medium for recognizing image object
CN105468742B (zh) 恶意订单识别方法及装置
US8958661B2 (en) Learning concept templates from web images to query personal image databases
KR102124466B1 (ko) 웹툰 제작을 위한 콘티를 생성하는 장치 및 방법
WO2021169668A1 (zh) 图像处理方法及相关装置
US20210150691A1 (en) Method and apparatus for performing damage segmentation on vehicle damage image
CN107766349B (zh) 一种生成文本的方法、装置、设备及客户端
WO2021008233A1 (zh) 机器人图像增强方法及装置、处理器、设备、介质和程序
CN112396049A (zh) 文本纠错方法、装置、计算机设备及存储介质
US20200364406A1 (en) Entity relationship processing method, apparatus, device and computer readable storage medium
CN106601254A (zh) 信息输入方法和装置及计算设备
US20200042819A1 (en) Attentive memory method and system for locating object through visual dialogue
CN112749695A (zh) 文本识别的方法和装置
CN111783508A (zh) 用于处理图像的方法和装置
CN107093164A (zh) 用于生成图像的方法和装置
CN112700454A (zh) 图像裁剪方法、装置、电子设备及存储介质
CN110827301B (zh) 用于处理图像的方法和装置
KR102662411B1 (ko) 생성형 ai 모델을 이용한 동적 객체 추적, 인페인팅 및 아웃페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램
CN110909506A (zh) 平面设计物料生成的方法和装置
Rakesh et al. Sign language recognition using convolutional neural network
KR102655359B1 (ko) 생성형 ai 모델을 이용해 인페인팅 서비스 제공 서버, 시스템, 방법 및 프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant