KR102207736B1 - 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치 - Google Patents

심층 신경망 구조를 이용한 프레임 보간 방법 및 장치 Download PDF

Info

Publication number
KR102207736B1
KR102207736B1 KR1020200005000A KR20200005000A KR102207736B1 KR 102207736 B1 KR102207736 B1 KR 102207736B1 KR 1020200005000 A KR1020200005000 A KR 1020200005000A KR 20200005000 A KR20200005000 A KR 20200005000A KR 102207736 B1 KR102207736 B1 KR 102207736B1
Authority
KR
South Korea
Prior art keywords
input
frame
flow
frames
flow map
Prior art date
Application number
KR1020200005000A
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 KR1020200005000A priority Critical patent/KR102207736B1/ko
Application granted granted Critical
Publication of KR102207736B1 publication Critical patent/KR102207736B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0137Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones
    • 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/08Learning methods
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually

Landscapes

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

Abstract

본 발명은 심층 신경망 구조를 이용하여 프레임 사이의 중간 프레임을 생성하는 프레임 보간 방법 및 장치에 관한 것으로, 입력 프레임 사이의 중간 프레임을 획득하는 방법은 제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임의 3개의 연속적인 입력 프레임을 획득하는 동작, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하는 동작, 획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하는 동작, 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하는 동작 및 상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임)을 생성하는 동작을 포함할 수 있으며, 이에 의해 비선형 운동 및 빠른 움직임이 있는 영상에 대해서도 효과적으로 중간 프레임을 생성할 수 있을 것이다.

Description

심층 신경망 구조를 이용한 프레임 보간 방법 및 장치{FRAME INTERPOLATION, APPARATUS AND METHOD USING DEEP NEURAL NETWORK}
다양한 실시 예들은 심층 신경망 구조를 이용하여 프레임 사이의 중간 프레임을 생성하는 프레임 보간 방법 및 장치에 관한 것이다.
엔터테인먼트, 교육, 마케팅, 건강, 행동 분석 등 다양한 분야에서 영상이 주요 미디어 형태가 되고 있다. 이러한 인기로 인해 영상은 산업계와 학계에서 많은 관심을 받고 있고, 영상 품질을 향상시키기 위해 많은 노력이 경주되고 있다. 영상 처리 및 향상 분야에서, 프레임 보간(frame interpolation)은 프레임 업 샘플링, 시각 효과, 다양한 디스플레이 장치에 적용 가능한 영상 압축을 위한 응용으로 인해 오랫동안 연구되어 왔다. 최근 심층 신경망(deep neural network)이 크게 발전하고, 이를 이용한 프레임 보간법이 크게 개선되어 인상적인 결과를 보여주고 있다.
하지만, 아직까지 프레임 보간은 실용적 측면에서 여러가지 문제점을 가지고 있으며, 이를 해결하기 위한 연구가 계속 진행되고 있다.
현재까지 제안된 프레임과 프레임 사이의 중간 프레임을 획득하기 위한 프레임 보간법은 FHD(full high definition) 컨텐츠와 같은 고해상도 영상들에 적용하기가 쉽지 않고, 일반적으로 선형 이동을 가정하고 있어 비선형 이동에는 최적화되지 못하고, 빠르게 이동하는 객체에 대해서는 나쁜 성능을 보여 원하지 않는 아티팩트(artifact)들을 생성하기도 한다.
본 발명의 다양한 실시 예는 비선형 이동 및 빠른 이동 객체에 적용될 수 있는 프레임 보간 방법 및 장치를 제공할 수 있다.
본 발명의 다양한 실시 예는 3개 또는 그 이상의 연속적인 영상 프레임을 입력으로 하는 심층 신경망 구조를 사용하는 프레임 보간 방법 및 장치를 제공할 수 있다.
본 발명의 다양한 실시 예는 비선형 이동 및 빠른 이동 객체에 대해 심층 신경망이 학습하도록 하기 위한 학습 데이터를 생성하는 방법을 제공할 수 있다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 다양한 실시 예들에 따르면, 입력 프레임 사이의 중간 프레임을 획득하는 방법은 제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임의 3개의 연속적인 입력 프레임을 획득하는 동작, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하는 동작, 획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하는 동작, 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하는 동작 및 상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임)을 생성하는 동작을 포함할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 입력 프레임 사이의 중간 프레임을 획득하는 방법에 사용되는 심층 신경망을 학습시키는 방법은 5개의 연속적인 영상 프레임을 획득하는 동작, 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작, 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임을 상기 심층 신경망의 입력으로 하여 제3 중간 프레임 및 제4 중간 프레임을 생성하는 동작, 상기 제3 중간 프레임 및 상기 제4 중간 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 영상 프레임 및 네번째 영상 프레임과 비교하는 동작, 및 상기 비교 결과에 기초하여 상기 심층 신경망을 학습시키는 동작을 포함할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 전자 장치는 입력부, 출력부, 메모리 및 상기 입력부, 상기 출력부, 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함할 수 있고, 상기 적어도 하나의 프로세서는 제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임의 3개의 연속적인 입력 프레임을 획득하고, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하고, 획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하고, 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하고, 상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임)을 생성할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 전자 장치는 입력부, 출력부, 메모리 및 상기 입력부, 상기 출력부, 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 5개의 연속적인 영상 프레임을 획득하고, 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우고, 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임을 제1항의 입력 프레임 사이의 중간 프레임을 획득하는 방법에 사용되는 심층 신경망의 입력으로 하여 제3 중간 프레임 및 제4 중간 프레임을 생성하고, 상기 제3 중간 프레임 및 상기 제4 중간 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 영상 프레임 및 네번째 영상 프레임과 비교하고, 상기 비교 결과에 기초하여 상기 심층 신경망을 학습시킬 수 있다.
본 개시의 다양한 실시 예들에 따르면, 컴퓨터 판독가능한 저장 매체는 컴퓨터 상에서 실행될 때 이하 설명할 동작 방법을 구현하기 위한 컴퓨터 프로그램을 포함할 수 있다.
다양한 실시 예들에 따라, 본 개시에서 제안하는 방법 및 장치는 FHD(1920x1080) 해상도 이상의 고 해상 영상 프레임들에서의 영상 프레임 사이의 중간 프레임을 생성하는 프레임 보간 방법을 제공할 수 있다.
다양한 실시 예들에 따라, 본 개시에서 제안하는 방법 및 장치는 비선형 이동이 있는 영상 프레임들에서 최적의 중간 프레임을 생성할 수 있다.
다양한 실시 예들에 따라, 본 개시에서 제안하는 방법 및 장치는 빠르게 이동하는 객체에 대해서도 최적의 중간 프레임을 생성할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시 예에 따른 3개의 프레임을 이용한 보간을 수행하여 중간 프레임을 생성하는 개념을 도시한 도면이다.
도 2는 3개의 입력 프레임에 기초하여 중간 프레임을 획득하기 위한 심층 신경망의 구조를 도시한 도면이다.
도 3은 흐름 추정 모듈 구조의 일 예를 도시한 도면이다.
도 4는 비선형 운동 추정 모듈 구조의 일 예를 도시한 도면이다.
도 5는 도 2에 도시된 본 발명에서 제안하는 구조가 구현되어 실행될 수 있는 전자 장치를 도시한 도면이다.
도 6은 도 2에 도시된 구조에 기초하여 전자 장치에서 3개의 연속적인 입력 프레임에 기초하여 중간 프레임을 획득하는 동작을 도시한 흐름도이다.
도 7은 본 발명에서 제안한 구조에 기초하여 중간 프레임을 생성한 결과를 종래의 방법에 기초한 결과와 비교한 도면이다.
도 8은 본 발명에서 사용되는 심층 신경망을 학습시키기 위한 동작을 도시한 흐름도이다.
도 9는 심층 신경망을 학습시키기 위한 학습 데이터로서 영상에 증강 객체를 덮어씌운 예를 도시한 도면이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 '모듈' 또는 '부'는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, '모듈' 또는 '부'는 소프트웨어 구성요소 또는 FPGA(field programmable gate array), ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미할 수 있으며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그렇지만 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다.
본 발명의 몇몇 실시예들과 관련하여 설명되는 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 커플링되며, 그 프로세서는 기록 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC은 사용자 단말기 내에 상주할 수도 있다.
본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
도 1은 다양한 실시 예에 따른 3개의 프레임을 이용한 보간을 수행하여 중간 프레임을 생성하는 개념을 도시한 도면이다.
종래에는 중간 프레임(예: 도 1의 프레임(11))을 생성하기 위하여 2개의 프레임(예: 도 1의 프레임들(10, 12)))만을 이용하여 보간(131, 133)함으로써 직선 운동에는 어느 정도 들어맞았으나 비선형 운동을 하는 물체에 대해서는 오차가 상당히 있었다. 이러한 점을 해소하기 위하여 본 개시에서 제안하는 보간 방법은 3개의 프레임(예: 도 1의 프레임들(10, 12, 14))을 이용하여 보간(131, 133, 141, 143)함으로써 중간 프레임(예: 도 1의 프레임(11))을 생성하는 것을 제안한다. 이 경우 중간 프레임(예: 도 1의 프레임(13))은 3개의 프레임(예: 도 1의 프레임들(10, 12, 14))을 이용하여 보간(135, 137, 145, 147)함으로써 함께 생성될 수 있다.
도 1을 참조하면, 본 개시에서 제시하는 다양한 실시 예들에 따르면, 중간 프레임(11)은 제1 프레임(10)에서 제2 프레임(12)으로 진행할 때의 운동 방향(131) 및 그 역의 운동 방향(133), 제1 프레임(10)에서 제3 프레임(14)으로 진행할 때의 운동 방향(141) 및 그 역의 운동 방향(143)을 기초로 보간하여 획득할 수 있다. 중간 프레임(13)은 제2 프레임(12)에서 제3 프레임(14)으로 진행할 때의 운동 방향(135) 및 그 역의 운동 방향(137), 제1 프레임(10)에서 제3 프레임(14)으로 진행할 때의 운동 방향(145) 및 그 역의 운동 방향(147)을 기초로 보간하여 획득할 수 있다.
다양한 실시 예들에 따르면, 본 개시에서 제안하는 중간 프레임 획득 방법은 동시에 2개의 중간 프레임을 획득할 수 있다. 따라서, 2개의 프레임마다 본 개시에서 제안하는 방법에 따라 중간 프레임을 획득할 수 있다. 예를 들면, 제1 프레임, 제2 프레임 및 제3 프레임에 기초하여 제1 프레임과 제2 프레임 사이의 중간 프레임 및 제2 프레임과 제3 프레임의 중간 프레임을 획득하고, 다음 동작에서는 제3 프레임, 제 4 프레임 및 제5 프레임에 기초하여 제3 프레임과 제4 프레임 사이의 중간 프레임 및 제4 프레임과 제5 프레임 사이의 중간 프레임을 획득할 수 있다.
다른 일실시 예에 따르면, 비록 일련의 한 번의 동작에 의하여 2개의 중간 프레임을 획득할 수 있더라도 그 중의 하나의 중간 프레임만을 사용할 수 있다. 예를 들면, 제1 프레임, 제2 프레임 및 제3 프레임에 기초하여 제1 프레임과 제2 프레임 사이의 중간 프레임 및 제2 프레임과 제3 프레임의 중간 프레임을 획득한 뒤 제1 프레임과 제2 프레임 사이의 중간 프레임만 사용하고, 다음 동작에서는 제2 프레임, 제 3 프레임 및 제4 프레임에 기초하여 제2 프레임과 제3 프레임 사이의 중간 프레임 및 제3 프레임과 제4 프레임 사이의 중간 프레임을 획득한 뒤 제2 프레임과 제3 프레임 사이의 중간 프레임만을 사용할 수 있다. 사용자는 정확도나 사용할 컴퓨팅 파워의 정도에 기초하여 하나의 방법을 사용할 수 있으나, 두 방법 모두 3개의 프레임을 이용함으로써 비선형 운동 및/또는 빠르게 운동하는 물체의 운동 궤적에 대해 정밀하게 유추하여 적용할 수 있다는 장점을 가진다.
도 2는 3개의 입력 프레임에 기초하여 중간 프레임을 획득하기 위한 심층 신경망(200)의 구조를 도시한 도면이다.
도 2를 참조하면, 3개의 입력 프레임들(10, 12, 14)에 기초하여 중간 프레임들(11, 13)을 획득하기 위한 심층 신경망(200)은 흐름 추정 모듈(210), 비선형 운동 추정 모듈(220), 와핑 모듈(230) 및 프레임 생성 모듈(240)을 포함할 수 있다.
흐름 추정 모듈(210)은 3개의 입력 프레임들(10, 12,14)의 각 조합 사이에서 양방향 흐름 맵(flow map)을 추정할 수 있다. 비선형 운동 추정 모듈(220)은 흐름 맵들을 임의의 비선형 운동으로 개선하기 위하여 흐름 정보를 결합할 수 있다. 와핑 모듈(230)은 비선형 운동 추정 모듈(220)에서 획득한 흐름 맵들을 입력 프레임들에 와핑시켜 와핑된 프레임들을 생성할 수 있다. 프레임 생성 모듈(240)은 와핑된 프레임들을 입력으로 하여 프레임(10)과 프레임(12) 사이의 보간된 중간 프레임(11)과 프레임(12)과 프레임(14) 사이의 보간된 중간 프레임(13)을 생성할 수 있다.
도 3은 흐름 추정 모듈(210) 구조의 일 예를 도시한 도면이다.
도 3을 참조하면, 흐름 추정 모듈(210)은 3 개의 입력 프레임들(10, 12, 14)의 각 조합들을 PWC(pyramid, warping cost volume)-Net(PWC#1 내지 PWC#6)의 입력으로 사용하여 광학 흐름(optical flow)을 추정할 수 있다.
PWC-Net은 Deqing Sun, xiaodong Yan, ming-Yu Liu, 및 Jan Kautz에 의해 개발된 광학 흐름을 추출하기 위한 CNN(convolutional neural network) 구조로, 2개의 이미지를 입력으로 사용하고, 제1 이미지의 각 픽셀에서 광학 흐름(optical flow)을 나타내는 값을 출력할 수 있다. PWC-Net은 특징 피라미드 추출기(feature pyramid extractor), 와핑층(warping layer), 비용층(cost volume layer) 및 광학 흐름 추정기(optical flow estimator)를 포함할 수 있고, 추가적으로 컨텍스트 네트워크(context network)를 더 포함할 수 있다.
특징 피라미드 추출기는 컨벌루션 필터들을 사용하여 2개의 이미지 각각으로부터 피라미드 형태로 특징을 추출할 수 있다. 예를 들면, 특징 피라미드 추출기는 2개의 이미지 각각에 대해 1층부터 6층까지의 특징을 추출할 수 있고, 각 층은 특징 채널의 수가 16, 32, 64, 96, 128, 196으로 2배씩 증가할 수 있다. 각 층에 적용되는 컨벌루션 필터는 그 크기가 각각 상이할 수 있으며, 학습에 의하여 결정될 수 있다.
와핑층은 l번째 층에 대해, (l+1)번째 층에서 획득한 2배 업샘플링(upsampling)된 흐름을 사용하여 두번째 이미지의 특징을 첫번째 이미지쪽으로 와핑한다. 와핑 연산을 구현하기 위하여 이중선형 보간법(bilinear interpolation)을 사용할 수 있다.
비용층은 특징들을 사용하여 픽셀을 다음 프레임의 대응하는 픽셀과 연관시키기 위한 매칭 비용을 저장하는 비용 볼륨을 구성할 수 있다. 여기서 매칭 비용은 첫번째 이미지의 특징과 두번째 이미지의 와핑된 특징 사이의 연관성으로써 정의될 수 있다.
광학 흐름 추정기는 다층 CNN일 수 있다. 광학 흐름 추정기의 입력은 비용층에서 획득한 비용 볼륨, 첫번째 이미지의 특징들 및 업샘플링된 광학 흐름일 수 있고, 출력은 l번째 층에서의 흐름(flow)일 수 있다. 다층 CNN에서 각 컨벌루션 층에서의 특징 채널의 수는 128, 128, 96, 64 및 32일 수 있는데, 모든 피라미드 층에서 동일할 수 있다. 반면에 각 피라미드 층에 대한 광학 흐름 추정기의 파라미터들은 서로 상이할 수 있다. 광학 흐름 추정기는 각 컨벌루션 층의 입력이 이전 층의 입력 및 출력이 되도록 하는 DenseNet(G. Huang, Z. Liu, K. Q. Weinberger, and L. van der Maaten. Densely connected convolutional networks. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.을 참조)을 적용함으로써 성능이 개선될 수 있다.
컨텍스트 네트워크는 원하는 피라미드 층에서 각 출력 장치의 수용 필드 크기를 효과적으로 확대하기 위해 사용할 수 있다. 컨텍스트 네트워크는 광학 흐름 추정기에서 두번째 마지막 층에서 추정한 흐름과 특징들을 입력으로 하고, 개선된 흐름을 출력으로 제공한다. 컨텍스트 네트워크는 피드-포워드(feed-forward) CNN이며, 그 구조는 딜레이티드 컨벌루션(dilated convolutions)(F. Yu and V. Koltun. Multi-scale context aggregation by dilated convolutions. In International Conference on Learning Representations (ICLR), 2016. 참조)을 기반으로 한다. 딜레이티드 컨벌루션은 7개의 컨벌루션 층으로 구성되며, 각 컨벌루션 층의 공간 커널은 3x3이다. 각 컨벌루션 층들은 서로 상이한 딜레이션 상수를 가지고 있다.
PWC-Net에 대한 자세한 설명은 CVPR2018 (In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018) 또는 arXiv:1709.02371v3을 참조할 수 있다.
PWC-Net에서는 입력으로 사용하는 제1 이미지와 제2 이미지가 구별되므로, 도 3에 도시한 바와 같이 3개의 입력 프레임들(10, 12, 14)에 의해 6개의 입력 프레임 조합이 만들어 질 수 있다. 즉, PWC-NET(PWC #1)은 프레임(10)을 제1 이미지로 프레임(12)을 제2 이미지 입력으로 할 수 있다. PWC-NET(PWC #2)은 프레임(12)을 제1 이미지로 프레임(10)을 제2 이미지 입력으로 할 수 있다. PWC-NET(PWC #3)은 프레임(12)을 제1 이미지로 프레임(14)을 제2 이미지 입력으로 할 수 있다. PWC-NET(PWC #4)은 프레임(14)을 제1 이미지로 프레임(12)을 제2 이미지 입력으로 할 수 있다. PWC-NET(PWC #5)은 프레임(10)을 제1 이미지로 프레임(14)을 제2 이미지 입력으로 할 수 있다. PWC-NET(PWC #2)은 프레임(14)을 제1 이미지로 프레임(10)을 제2 이미지 입력으로 할 수 있다.
흐름 추정 모듈(210)은 각 PWC-Net(PWC #1 내지 PWC #6)의 출력에 가중치(W1 내지 W8)를 곱하여 최종 출력(M12, M21, M23, M32, M131, M132, M311, M312)을 획득할 수 있다. 도 3의 ⊙는 PWC-Net의 출력하는 각 픽셀의 값 각각에 가중치를 곱하는 것을 의미할 수 있다. 여기서 프레임(10)과 프레임(14)을 입력으로 하는 PWC-Net(PWC #5) 및 PWC-Net(PWC #6)의 출력은 각각 상이한 가중치(W5와 W6, W7과 W8)이 곱해져 최종 출력(M131, M132, M311, M312)을 생성할 수 있다. 따라서, 흐름 추정 모듈(210)은 최종 출력인 8개의 흐름 맵을 생성할 수 있다. 예를 들면, 흐름 맵(M12)은 프레임(10)으로부터 프레임(12)으로의 가중치가 곱해진 흐름 맵일 수 있고, 흐름 맵(M21)은 프레임(12)으로부터 프레임(10)으로의 가중치가 곱해진 흐름 맵일 수 있다. 또한, 흐름 맵(M23)은 프레임(12)으로부터 프레임(14)으로의 가중치가 곱해진 흐름 맵일 수 있고, 흐름 맵(M32)은 프레임(14)으로부터 프레임(12)으로의 가중치가 곱해진 흐름 맵일 수 있다. 또한, 흐름 맵(M131) 및 흐름 맵(M132)은 프레임(10)으로부터 프레임(14)으로의 서로 상이한 가중치가 곱해진 흐름 맵일 수 있고, 흐름 맵(M311) 및 흐름 맵(M312)은 프레임(14)으로부터 프레임(10)으로의 서로 상이한 가중치가 곱해진 흐름 맵일 수 있다.
흐름 추정 모듈(210)에서 가중치(W1 내지 W8)는 획득하고자 하는 중간 프레임들(11, 13)과 각 입력 프레임(10, 12, 14) 사이의 거리 또는 시간 차이에 따른 거리(시간 거리)에 기초하여 결정될 수 있다. 예를 들면, 흐름 맵(M12) 및 흐름 맵(M21)은 입력 프레임(10) 및 입력 프레임(12)으로부터 획득되고, 획득하고자 하는 중간 프레임(11)으로부터 동일한 시간 거리에 떨어져 있으므로, 가중치(W1) 및 가중치(W2)는 0.5의 값을 가질 수 있다. 또한, 흐름 맵(M131) 및 흐름 맵(M311)은 입력 프레임(10) 및 입력 프레임(14)으로부터 획득되고, 획득하고자 하는 중간 프레임(11)으로부터 각각 1/4 거리 및 3/4의 시간 거리에 떨어져 있으므로, 가중치(W5)는 0.25의 값을 가질 수 있고 가중치(W7)은 0.75의 값을 가질 수 있다. 이와 같이 거리에 기초하여 결정한 결과, 가중치(W1 내지 W8)은 순서대로 0.5, 0.5, 0.5, 0.5, 0.25, 0.75, 0.75, 0.25의 값을 가질 수 있다.
비선형 운동 추정 모듈(220)은 흐름 추정 모듈(210)에서 획득한 흐름 맵들을 이용하여 입력 프레임들(10, 12, 14)에서 중간 프레임들(11, 13)까지의 비선형 운동에 변화를 추정할 수 있다.
도 4는 비선형 운동 추정 모듈(220) 구조의 일 예를 도시한 도면이다.
도 4를 참조하면, 비선형 운동 추정 모듈(220)을 일반적으로 알려진 U-Net 구조(Olaf Ronneberger, Philipp Fischer, and Thomas Brox. "Unet: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention," pages 234-241. Springer, 2015.)를 사용하여, 흐름 추정 모듈(210)에서 획득한 8개의 흐름 맵을 입력(410)으로 사용하여 입력 프레임(10)에서 중간 프레임(11)으로의 흐름 맵(M1→1.5), 입력 프레임(12)에서 중간 프레임(11)으로의 흐름 맵(M2→1.5), 입력 프레임(12)에서 중간 프레임(13)으로의 흐름 맵(M2→2.5) 및 입력 프레임(14)에서 중간 프레임(13)으로의 흐름 맵(M3→2.5)을 출력(420)할 수 있다.
일실시 예에 따라, 비선형 운동 추정 모듈(220)에서 사용하는 U-Net 구조는 8개의 층(layer)을 사용할 수 있으며, 컨벌루션을 위한 커널(kernel)은 7x7, 5x5 및 3x3을 사용할 수 있다.
와핑 모듈(230)은 비선형 운동 추정 모듈(220)에서 획득한 상술한 4개의 흐름 맵들(M1→1.5, M2→1.5, M2→2.5, M3→2.5)을 적용하여 입력 프레임들(10, 12, 14)을 와핑하여 와핑된 프레임들(W1→1.5, W2→1.5, W2→2.5, W3→2.5)을 생성할 수 있다. 여기서 와핑이란 입력 프레임의 특정 픽셀의 값을 출력 프레임의 특정 픽셀로 이동시키는 이미지 변형(deformation)의 일종이다. 예를 들면, 와핑된 프레임(W1→1.5)은 입력 프레임(10)을 흐름 맵(M1→1.5)에 기초하여 변형할 것일 수 있다. 일실시 예에 따라, 와핑 모듈(230)은 바이큐빅 백워드 와핑 프로세스(bi-cubic backward warping process)를 사용하여 와핑을 수행할 수 있다.
프레임 생성 모듈(240)은 와핑 모듈(230)에 의해 생성된 4개의 와핑된 프레임들(W1→1.5, W2→1.5, W2→2.5, W3→2.5)에 기초하여 최종 출력인 중간 프레임들(11, 13)을 생성할 수 있다. 일실시 예에 따라, 프레임 생성 모듈(240)은 복수 단계의 ResNet(K. He, X. Zhang, S. Ren, J. Sun, "Deep residual learning for image recognition", In IEEE Computer Vision and Pattern Recognition (CVPR), pages 770-778, 2016.)을 이용하여 구성할 수 있다. 일실시 예에 따라, 프레임 생성 모듈(240)은 5 단계의 ResNet을 사용할 수 있다.
상술한 바와 같이 도 2에 도시된 구조를 이용하여 본원 발명은 비선형 운동을 하는 객체 또는 빠르게 운동하는 객체에 대한 흐름을 보다 정확히 파악하여 더욱 정확한 중간 프레임을 생성할 수 있다.
도 5는 도 2에 도시된 본 발명에서 제안하는 구조가 구현되어 실행될 수 있는 전자 장치(500)를 도시한 도면이다.
도 5를 참조하면, 전자 장치(500)는 입력부(510), 프로세서(520), 출력부(530) 및 메모리(540)를 포함할 수 있다.
입력부(510)는 사용자의 입력을 위한 키패드, 터치 패드, 마우스 등을 포함하고, 본 발명에서 제안하는 중간 프레임 생성을 위해 필요한 제어 명령 및 파라미터 입력을 사용자로부터 수신할 수 있다. 또한 입력부(510)는 카메라 센서 등을 이용하여 촬영한 영상을 입력받을 수 있는 입력 장치 또는 외부 전자 장치와 통신할 수 있는 통신 장치를 구비하고 있어 본 발명에서 제안하는 중간 프레임 생성 동작을 수행하기 위한 입력 영상을 획득할 수 있다.
프로세서(520)는 입력부(510)로부터 획득한 영상 또는 메모리(540)에 저장되어 있는 영상을 입력으로 하여 상술한 중간 프레임 생성 동작을 수행할 수 있다. 프로세서(520)는 생성한 중간 프레임과 원본 영상을 결합하여 새로운 영상을 만들어 메모리(540)에 저장하거나 출력부(530)에 출력할 수 있다. 프로세서(520)는 본 발명에서 제안하는 중간 프레임 생성 동작에 사용되는 심층 신경망에 필요한 학습을 수행할 수 있다. 프로세서(520)는 학습된 심층 신경망을 메모리(540)에 저장하고, 학습된 심층 신경망을 메모리(540)로부터 획득하여 중간 프레임 생성 동작을 수행할 수 있다. 일실시 예에 따라, 심층 신경망의 학습은 외부 전자 장치에서 수행하고, 프로세서(520)는 학습된 심층 신경망을 입력부(510)를 통해 외부 전자 장치로부터 획득하여 메모리(540)에 저장할 수 있다.
일실시 예에 따라, 프로세서(520)는 복수의 프로세서로 구성될 수 있으며, 각각의 프로세서는 각자에 특화된 기능을 수행할 수 있다.
메모리(540)는 원본 영상 및 프로세서(520)에 의해 수행되어 획득한 중간 프레임을 저장하고 있을 수 있다. 일실시 예에 따라, 메모리(540)는 원본 영상과 획득한 중간 프레임이 결합된 새로운 영상을 저장하고 있을 수 있다. 메모리(540)는 중간 프레임을 생성하기 위해 사용되는 학습된 심층 신경망을 저장하고 있을 수 있다. 일실시 예에 따라, 본 발명에서 제안하는 중간 프레임 생성 방법은 어플리케이션 또는 앱으로 칭해지는 소프트웨어 프로그램으로 구현될 수 있으며, 메모리(640)는 해당 오플리케이션 또는 앱을 저장하고 있을 수 있다.
출력부(530)는 사용자와의 상호 작용을 위해 필요한 정보를 제공할 수 있다. 일실시 예에 따라 출력부(530)는 사용자에게 본 발명에서 제안하는 중간 프레임 생성 동작에 요구하는 파라미터 입력을 요청하는 정보를 사용자에게 표시할 수 있다. 또한, 출력부(530)는 원본 영상을 표시하거나 또는 원본 영상과 생성한 중간 프레임이 결합된 영상을 표시할 수 있다.
도 6은 도 2에 도시된 구조에 기초하여 전자 장치(500)에서 3개의 연속적인 입력 프레임에 기초하여 중간 프레임을 획득하는 동작을 도시한 흐름도이다.
도 6을 참조하면, 동작 610에서, 전자 장치(500)는 3개의 연속적인 입력 프레임을 획득할 수 있다.
이후 설명에서, 전자 장치(500)가 획득한 3개의 연속적인 입력 프레임을 기초로 2개의 중간 프레임 생성하는 것을 제시하고 있지만, 하나의 영상에서 순차적으로 3개의 연속적인 입력 프레임을 선택하여 이후 동작을 수행한다면 모든 영상에서 중간 프레임을 생성할 수 있을 것이다. 예를 들면, 연속적인 제1, 제2, 제3 프레임을 획득하여 중간 프레임인 제 1.5 프레임 및 제 2.5 프레임을 생성하고, 다시 연속적인 제3, 제4, 제5 프레임을 획득하여 중간 프레임인 제3.5 프레임 및 제 4.5 프레임을 생성함으로써 전체 영상에 대한 모든 중간 프레임을 생성할 수 있다. 다른 실시 예에 따르면, 연속적인 제1, 제2, 제3 프레임을 획득하여 중간 프레임인 제 1.5 프레임 및 제 2.5 프레임을 생성한 뒤, 제1.5 프레임만 사용하고, 제2.5 프레임은 버릴 수 있고, 다음에 다시 연속적인 제2, 제3, 제4 프레임을 획득하여 중간 프레임인 제2.5 프레임 및 제3.5 프레임을 생성한 뒤, 제2.5 프레임만을 사용할 수도 있다. 또 다른 실시 예들에 따르면, 상술한 실시 예에서 처음 생성된 제2.5 프레임을 버리는 대신에 처음 생성된 제2.5 프레임과 두번째 생성된 제2.5 프레임을 보간하여 새로운 제2.5 프레임을 생성하여 사용할 수도 있다. 따라서, 생성된 2개의 중간 프레임을 어떻게 사용하는 가에 따라 동작 610에서 전자 장치(500)가 하나의 영상에서 중간 프레임 생성을 위해 획득하는 3개의 연속적인 입력 프레임이 상이할 수 있다.
동작 620에서, 전자 장치(500)는 획득한 3개의 입력 프레임에 기초하여 광학 흐름 특징을 포함하는 8개의 흐름 맵을 추출할 수 있다. 전자 장치(500)는 PWC-net에 기초하여 광학 흐름 특징을 추출할 수 있다. PWC-net은 2개의 프레임을 입력 받고, 첫번째 프레임에서 두번째 프레임으로의 광학 흐름 특징을 추출하는데 특화된 심층 신경망 구조를 의미할 수 있다.
전자 장치(500)는 3개의 입력 프레임(제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임) 중에서 2개의 입력 프레임을 선택하여 PWC-net의 입력으로 사용함으로써 광학 흐름 특징을 추출할 수 있다. PWC-net이 첫번째 프레임과 두번째 프레임을 구별하기 때문에 3개의 입력 프레임에 대해 6개의 입력 프레임 조합을 선택할 수 있다. 예를 들면, PWC-net 입력을 위한 2개의 입력 프레임으로 제1 입력 프레임과 제2 입력 프레임 조합, 제2 입력 프레임과 제1 입력 프레임 조합, 제2 입력 프레임과 제3 입력 프레임 조합, 제3 입력 프레임과 제2 입력 프레임 조합, 제1 입력 프레임과 제3 입력 프레임 조합, 제3 입력 프레임과 제2 입력 프레임 조합을 선택할 수 있다. 전자 장치(500)는 상술한 6개의 입력 프레임 조합을 PWC-net에 입력하여 광학 흐름 특징을 포함하는 흐름 맵을 추출할 수 있다. 흐름 맵은 PWC-net에 입력된 첫번째 프레임의 특정 픽셀이 어디로 흐르게 될 것인지(다음 프레임에서 어느 픽셀로 이동할 것인지)를 나타내는 흐름 정보를 해당 픽셀의 위치에 기재한 것일 수 있다. 일실시 예에 따라, 전자 장치(500)는 6개의 PWC-net을 구비하고 동시에 돌려서 동작 시간을 줄이면서 흐름 맵을 추출할 수 있다. 다른 일실시 예에 따라, 전자 장치(500)는 1개의 PWC-net을 구비하고, 6개의 입력 프레임 조합을 순차적으로 입력하여 6개의 입력 프레임 조합에 대한 흐름 맵을 추출할 수 있다. 1개의 PWC-net을 사용하는 경우는 비록 동작 시간은 오래 걸리지만 전자 장치(500)의 컴퓨팅 파워가 부족한 경우에 유효할 수 있다. 다른 일실시 예에 따라, 전자 장치(500)의 컴퓨팅 파워에 기초하여 2개 또는 3개의 PWC-net을 구비할 수도 있다.
전자 장치(500)는 6개의 입력 프레임 조합에 기초하여 획득한 흐름 맵에 가중치를 적용하여 최종 흐름 맵을 획득할 수 있다. 여기서 가중치는 각 입력 프레임에서 중간 프레임 까지의 시간(거리)에 기초하여 결정될 수 있고, 가중치는 흐름 맵의 각각의 픽셀 값에 곱해질 수 있다. 예를 들면, 전자 장치(500)는 제1 입력 프레임과 제2 입력 프레임 조합 입력에 기초하여 획득한 흐름 맵에 가중치 0.5를 곱하여 최종 흐름 맵(M12)을 획득할 수 있다. 전자 장치(500)는 제2 입력 프레임과 제1 입력 프레임 조합 입력에 기초하여 획득한 흐름 맵에 가중치 0.5를 곱하여 최종 흐름 맵(M21)을 획득할 수 있다. 전자 장치(500)는 제2 입력 프레임과 제3 입력 프레임 조합 입력에 기초하여 획득한 흐름 맵에 가중치 0.5를 곱하여 최종 흐름 맵(M23)을 획득할 수 있다. 전자 장치(500)는 제3 입력 프레임과 제2 입력 프레임 조합 입력에 기초하여 획득한 흐름 맵에 가중치 0.5를 곱하여 최종 흐름 맵(M32)을 획득할 수 있다. 전자 장치(500)는 제1 입력 프레임과 제 3 입력 프레임 조합 입력에 기초하여 획득한 흐름 맵에 가중치 0.25를 곱하여 최종 흐름 맵(M131)을 획득할 수 있고, 가중치 0.75를 곱하여 최종 흐름 맵((M132)을 획득할 수 있다. 전자 장치(500)는 제3 입력 프레임과 제 1 입력 프레임 조합 입력에 기초하여 획득한 흐름 맵에 가중치 0.75를 곱하여 최종 흐름 맵(M312)을 획득할 수 있고, 가중치 0.25를 곱하여 최종 흐름 맵((M312)을 획득할 수 있다.
따라서, 동작 620에서, 전자 장치(500)는 PWC-net 및 가중치를 적용하여 8개의 흐름 맵(M12, M21, M23, M32, M131, M132, M311, M312)을 획득할 수 있다.
동작 630에서, 전자 장치(500)는 8개의 흐름 맵(M12, M21, M23, M32, M131, M132, M311, M312)에 기초하여 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵((M1→1.5, M2→1.5, M2→2.5, M3→2.5)을 획득할 수 있다. 일실시 예에 따라, 전자 장치(500)는 U-Net 구조의 심층 신경망에 기초하여 흐름 맵((M1→1.5, M2→1.5, M2→2.5, M3→2.5)을 획득할 수 있다. 여기서, 흐름 맵(M1→1.5)은 제1 입력 프레임에서 첫번째 중간 프레임(제1.5 프레임)으로의 광학 흐름 특징을 나타내는 것일 수 있다. 흐름 맵(M2→1.5)은 제2 입력 프레임에서 첫번째 중간 프레임(제1.5 프레임)으로의 광학 흐름 특징을 나타내는 것일 수 있다. 흐름 맵(M2→2.5)은 제2 입력 프레임에서 두번째 중간 프레임(제2.5 프레임)으로의 광학 흐름 특징을 나타내는 것일 수 있다. 흐름 맵(M3→2.5)은 제3 입력 프레임에서 두번째 중간 프레임(제2.5 프레임)으로의 광학 흐름 특징을 나타내는 것일 수 있다. 따라서, 동작 630에서 전자 장치(500)가 획득한 흐름 맵은 입력 프레임 내에 있는 객체의 비선형 운동을 추정한 것일 수 있다.
동작 640에서, 전자 장치(500)는 동작 630에서 획득한 흐름 맵((M1→1.5, M2→1.5, M2→2.5, M3→2.5)을 3개의 입력프레임에 적용하여 와핑한 와핑된 프레임들(W1→1.5, W2→1.5, W2→2.5, W3→2.5)을 생성할 수 있다. 여기서 와핑이란 입력 프레임의 특정 픽셀의 값을 출력 프레임의 특정 픽셀로 이동시키는 이미지 변형(deformation)의 일종이다. 예를 들면, 전자 장치(500)는 제1 입력 프레임의 각 픽셀에 흐름 맵((M1→1.5)에 포함되어 있는 해당 픽셀의 광학 흐름 정보를 적용하여 와핑된 프레임(W1→1.5)을 생성할 수 있다. 전자 장치(500)는 제2 입력 프레임의 각 픽셀에 흐름 맵((M2→1.5)에 포함되어 있는 해당 픽셀의 광학 흐름 정보를 적용하여 와핑된 프레임(W2→1.5)을 생성할 수 있다. 전자 장치(500)는 제2 입력 프레임의 각 픽셀에 흐름 맵((M2→2.5)에 포함되어 있는 해당 픽셀의 광학 흐름 정보를 적용하여 와핑된 프레임(W2→2.5)을 생성할 수 있다. 또한, 전자 장치(500)는 제3 입력 프레임의 각 픽셀에 흐름 맵((M3→2.5)에 포함되어 있는 해당 픽셀의 광학 흐름 정보를 적용하여 와핑된 프레임(W3→2.5)을 생성할 수 있다.
동작 650에서, 전자 장치(500)는 와핑된 프레임들(W1→1.5, W2→1.5, W2→2.5, W3→2.5)에 기초하여 최종 출력인 중간 프레임들(제1 입력 프레임과 제2 입력 프레임의 중간 프레임인 제1.5 프레임 및 제2 입력 프레임과 제3 입력 프레임의 중간 프레임인 제2.5 프레임)을 생성할 수 있다. 일실시 예에 따라, 전자 장치(500)는 복수 단계의 Resnet 구조를 이용하여 중간 프레임들을 생성할 수 있다.
도 7은 본 발명에서 제안한 구조에 기초하여 중간 프레임을 생성한 결과를 종래의 방법에 기초한 결과와 비교한 도면이다.
도 7의 예는 탁구공이 날아가는 것을 촬영한 후 종래의 방법 및 본 발명에서 제안한 방법에 기초하여 중간 프레임들을 획득한 결과를 도시한다. 종래의 방법에 기초한 결과(710)를 보면 노란색 탁구공이 정확하게 표시되고 않고, 많은 아티펙트가 발생함을 알 수 있는 반면에 본 발명에서 제안한 방법에 기초한 결과(720)에서는 노락색 탁구공이 명확하게 표시됨을 알 수 있다.
본 발명에서 제안하는 중간 프레임 획득 방법은 3개의 프레임을 이용하여 2개의 프레임 가운데에 있는 중간 프레임을 보다 정확하게 획득하고자 하는 것이다. 또한, 본 발명에서 제안하는 중간 프레임 획득 방법은 복수의 심층 신경망을 사용하고 있어 정확한 동작을 위해서는 학습을 필요로 한다. 또한, 보다 정확한 학습을 위해서는 비선형 운동을 하는 객체 또는 빠른 움직임을 가지는 객체가 학습 데이터로 이용되는 프레임들에 포함되어야만 할 것이다. 하지만 통상의 영상에서 비선형 운동을 하는 객체 또는 빠른 움직임을 가지는 객체를 포함하는 영상을 획득하기는 쉽지 않다.
따라서, 본원 발명에서 제시하는 심층 신경망에 기초한 중간 프레임 획득 방법의 심층 신경망들을 학습시키기 위하여 통상적인 영상의 프레임에 비선형 운동을 하는 객체 또는 빠른 움직임을 가지는 객체를 부가하여 생성한 학습 데이터를 이용한 학습 방법을 제안한다.
도 8은 본 발명에서 사용되는 심층 신경망을 학습시키기 위한 동작을 도시한 흐름도이다.
도 8을 참조하면, 동작 810에서, 전자 장치(500)는 5개의 연속적인 영상 프레임을 획득할 수 있다. 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임은 학습을 위한 입력 프레임으로 사용되고, 두번째 영상 프레임 및 네번째 영상 프레임은 최종 목표 프레임으로 사용될 수 있다. 즉, 첫번째, 세번째, 다섯번째 영상 프레임을 입력 프레임으로 하여 생성한 중간 프레임이 두번째 및 네번째 영상 프레임과 거의 동일하다고 판단되는 경우 학습이 완료되었다고 할 수 있다.
동작 820에서, 전자 장치(500)는 동작 810에서 획득한 5개의 연속적인 영상 프레임에 빠르게 움직이는 증강 객체를 덮어씌울(overlaid) 수 있다. 통상적인 영상에는 빠르게 움직이는 객체가 없을 가능성이 높기 때문에, 빠르게 움직이는 객체를 증강 현실로 영상에 부가함으로써 빠르게 움직이는 객체를 학습하도록 할 수 있다. 일실시 예에 따라, 빠르게 움직이는 객체는 임의의 방향으로 직선으로 움직이는 객체로 획득한 영상 프레임에 덮어씌워질 수 있으며, 빠른 움직임을 표현하기 위하여 연속하는 프레임 간에 객체의 위치가 적어도 30 픽셀이상 이동하도록 객체를 영상 프레임에 덮어씌울 수 있다. 일실 예에 따라, 객체는 64x64 또는 32x32 픽셀 크기일 수 있다. 또한, 잠재적인 바이어스(bias)를 제거하기 위하여, 전자 장치(500)는 프레임 순서를 임의로 바꾸거나, 각 프레임에서의 수평 뒤집기 및/또는 수직 뒤집기를 적용하여 증강 객체를 덮어씌울 수 있다.
도 9는 심층 신경망을 학습시키기 위한 학습데이터로서 영상에 증강 객체(91a 내지 91e, 93a 내지 93e)를 덮어씌운 예를 도시한 도면이다.
도 9를 참조하면, 5개의 프레임에서 증강 객체(91a 내지 91e, 93a 내지 93e)가 빠른 움직임을 가지도록 덮어씌워진 것을 알 수 있다. 증강 객체는 임의의 모양을 가질 수 있으나, 원본 영상과 구별될 수 있어야 할 필요가 있다.
동작 830에서 전자 장치(500)는 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임을 입력으로 사용하여 중간 영상 프레임을 생성할 수 있다.
동작 840에서, 전자 장치9500)는 동작 830에서 생성한 중간 영상 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 및 네번째 프레임을 비교할 수 있다.
동작 850에서, 동작 840의 비교 결과에 기초하여 학습을 진행할 수 있다. 학습은 종래에 제시된 다양한 학습 방법을 사용할 수 있다. 일실시 예에 따라 전자 장치(500)는 동작 840의 비교 결과에서 비교한 프레임들 간의 차이가 최소화하도록 U-Net 및 Resnet 구조의 심층 신경망의 파라미터들의 설정을 개선할 수 있다.
전자 장치(500)는 도 8에 도시된 동작을 동작 840에서의 획득한 중간 영상 프레임과 두번째 및 네번째 프레임의 차이가 미리 설정된 값보다 작아질 때까지 반복함으로써 도 2에 도시된 심층 신경망에 기반한 모델을 학습시킬 수 있다.
다른 일실시 예에 따라, 도 8에 도시된 학습은 전자 장치(500)가 아닌 다른 전자 장치에 의해서 수행될 수 있고, 전자 장치(500)는 학습된 심층 신경망을 사용하여 본 개시에서 제안하는 중간 프레임 생성 방안을 실행할 수도 있다.
다양한 실시 예들에 따르면, 입력 프레임 사이의 중간 프레임을 획득하는 방법은 제1 입력 프레임(예: 도 2의 입력 프레임(10)), 제2 입력 프레임(예: 도 2의 입력 프레임(12)) 및 제3 입력 프레임(예: 도 2의 입력 프레임(14))의 3개의 연속적인 입력 프레임을 획득하는 동작, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하는 동작, 획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하는 동작, 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하는 동작 및 상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임)(예: 도 2의 중간 프레임(11)) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임) (예: 도 2의 중간 프레임(13))을 생성하는 동작을 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵을 추출하는 동작은 첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제1 가중치를 곱하여 제1 흐름 맵을 획득하는 동작, 첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제2 가중치를 곱하여 제2 흐름 맵을 획득하는 동작, 첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제3 가중치를 곱하여 제3 흐름 맵을 획득하는 동작, 첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제4 가중치를 곱하여 제4 흐름 맵을 획득하는 동작, 첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제5 가중치를 곱하여 제5 흐름 맵을 획득하고, 제6 가중치를 곱하여 제6 흐름 맵을 획득하는 동작 및 첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제7 가중치를 곱하여 제7 흐름 맵을 획득하고, 제8 가중치를 곱하여 제8 흐름 맵을 획득하는 동작을 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 제1 가중치 내지 제8 가중치는 상기 3개의 입력 프레임들에서 상기 중간 프레임 사이의 시간 거리에 기초하여 결정될 수 있다.
다양한 실시 예들에 따르면, 상기 제1 가중치 내지 제4 가중치는 0.5이고, 상기 제5 가중치 및 상기 제8 가중치는 0.75이고, 상기 제6 가중치 및 상기 제7 가중치는 0.25일 수 있다.
다양한 실시 예들에 따르면, 획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하는 동작은 상기 제1 흐름 맵 내지 상기 제8 흐름 맵을 입력으로 하는 U-Net 구조의 심층 신경망을 사용하여 상기 제1 입력 프레임에서 상기 제1 중간 프레임으로의 제9 흐름 맵, 상기 제2 입력 프레임에서 상기 제1 중간 프레임으로의 제10 흐름 맵, 상기 제2 입력 프레임에서 상기 제2 중간 프레임으로의 제11 흐름 맵, 상기 제3 입력 프레임에서 상기 제3 중간 프레임으로의 제12 흐름 맵을 획득하는 동작을 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보를 상기 3개의 입력 프레임에 와핑(warping)하여 와핑된 프레임을 생성하는 동작은 상기 제9 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제1 입력 프레임을 와핑하여 제1 와핑된 프레임을 생성하는 동작, 상기 제10 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제2 와핑된 프레임을 생성하는 동작, 상기 제11 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제3 와핑된 프레임을 생성하는 동작, 상기 제12 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제3 입력 프레임을 와핑하여 제4 와핑된 프레임을 생성하는 동작을 포함할 수 있다.
다양한 실시 예들에 따르면, 입력 프레임 사이의 중간 프레임을 획득하는 방법에 사용되는 심층 신경망을 학습시키는 방법은 5개의 연속적인 영상 프레임을 획득하는 동작, 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작, 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임(예: 도 9의 (a)의 첫번째, 세번째, 다섯번째 영상 프레임 또는 (b)의 첫번째, 세번째, 다섯번째 영상 프레임)을 상기 심층 신경망의 입력으로 하여 제3 중간 프레임 및 제4 중간 프레임을 생성하는 동작, 상기 제3 중간 프레임 및 상기 제4 중간 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 영상 프레임 및 네번째 영상 프레임(예: 도 9의 (a)의 두번째, 네번째 영상 프레임 또는 (b)의 두번째, 네번째 영상 프레임)과 비교하는 동작, 상기 비교 결과에 기초하여 상기 심층 신경망을 학습시키는 동작을 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작은 상기 증강 객체가 임의의 방향으로 직선으로 움직이고, 연속하는 영상 프레임에서 상기 증강 객체의 위치가 적어도 30 픽셀이상 차이가 나도록 상기 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작을 포함할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(예: 도 5의 전자 장치(500))는 입력부(예: 도 5의 입력부(510)), 출력부(예: 도 5의 출력부(530)), 메모리(예: 도 5의 메모리(540)) 및 상기 입력부, 상기 출력부, 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서(예: 도 5의 프로세서(520))를 포함하고, 상기 적어도 하나의 프로세서는 제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임의 3개의 연속적인 입력 프레임을 획득하고, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하고, 획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하고, 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하고, 상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임)을 생성할 수 있다.
다양한 실시 예들에 따르면, 상기 적어도 하나의 프로세서는 첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제1 가중치를 곱하여 제1 흐름 맵을 획득하고, 첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제2 가중치를 곱하여 제2 흐름 맵을 획득하고, 첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제3 가중치를 곱하여 제3 흐름 맵을 획득하고, 첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제4 가중치를 곱하여 제4 흐름 맵을 획득하고, 첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제5 가중치를 곱하여 제5 흐름 맵을 획득하고, 제6 가중치를 곱하여 제6 흐름 맵을 획득하고, 첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제7 가중치를 곱하여 제7 흐름 맵을 획득하고, 제8 가중치를 곱하여 제8 흐름 맵을 획득하여, 상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득할 수 있다.
다양한 실시 예들에 따르면, 상기 적어도 하나의 프로세서는 상기 제1 흐름 맵 내지 상기 제8 흐름 맵을 입력으로 하는 U-Net 구조의 심층 신경망을 사용하여 상기 제1 입력 프레임에서 상기 제1 중간 프레임으로의 제9 흐름 맵, 상기 제2 입력 프레임에서 상기 제1 중간 프레임으로의 제10 흐름 맵, 상기 제2 입력 프레임에서 상기 제2 중간 프레임으로의 제11 흐름 맵, 상기 제3 입력 프레임에서 상기 제3 중간 프레임으로의 제12 흐름 맵을 획득할 수 있다.
다양한 실시 예들에 따르면, 상기 적어도 하나의 프로세서는 상기 제9 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제1 입력 프레임을 와핑하여 제1 와핑된 프레임을 생성하고, 상기 제10 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제2 와핑된 프레임을 생성하고, 상기 제11 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제3 와핑된 프레임을 생성하고, 상기 제12 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제3 입력 프레임을 와핑하여 제4 와핑된 프레임을 생성할 수 있다.
다양한 실시 예들에 따르면, 전 전자 장치(예: 도 5의 전자 장치(500))는 입력부(예: 도 5의 입력부(510)), 출력부(예: 도 5의 출력부(530)), 메모리(예: 도 5의 메모리(540)) 및 상기 입력부, 상기 출력부, 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서(예: 도 5의 프로세서(520))를 포함하고, 상기 적어도 하나의 프로세서는 5개의 연속적인 영상 프레임을 획득하고, 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우고, 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임을 제1항의 입력 프레임 사이의 중간 프레임을 획득하는 방법에 사용되는 심층 신경망의 입력으로 하여 제3 중간 프레임 및 제4 중간 프레임을 생성하고, 상기 제3 중간 프레임 및 상기 제4 중간 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 영상 프레임 및 네번째 영상 프레임과 비교하고, 상기 비교 결과에 기초하여 상기 심층 신경망을 학습시킬 수 있다.
다양한 실시 예들에 따르면, 상기 적어도 하나의 프로세서는, 상기 증강 객체가 임의의 방향으로 직선으로 움직이고, 연속하는 영상 프레임에서 상기 증강 객체의 위치가 적어도 30 픽셀이상 차이가 나도록 상기 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌울 수 있다.
다양한 실시 예들에 따르면, 컴퓨터 판독가능한 저장 매체는 컴퓨터 상에서 실행될 때, 상술한 본 개시에서 제안하는 프레임 사이의 중간 프레임을 생성하는 방법을 구현하는 컴퓨터 프로그램을 포함할 수 있다. 컴퓨터 판독가능한 저장 매체는 메모리, USB, CD, 하드 디스크를 포함할 수 있다.
본 개시에서는 프레임 사이의 중간 프레임을 생성하는 데 있어, 종래의 2개의 프레임을 사용하는 대신 3개의 연속된 프레임을 사용함으로써 비선형 운동 및 빠른 움직임이 있는 영상에 대해서도 효과적으로 중간 프레임을 생성할 수 있을 것이다.

Claims (17)

  1. 입력 프레임 사이의 중간 프레임을 획득하는 방법에 있어서,
    제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임의 3개의 연속적인 입력 프레임을 획득하는 동작;
    상기 3개의 연속적인 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하는 동작;
    획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하는 동작;
    획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하는 동작; 및
    상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임)을 생성하는 동작을 포함하는, 방법.
  2. 제1항에 있어서,
    상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵을 추출하는 동작은,
    첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제1 가중치를 곱하여 제1 흐름 맵을 획득하는 동작;
    첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제2 가중치를 곱하여 제2 흐름 맵을 획득하는 동작;
    첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제3 가중치를 곱하여 제3 흐름 맵을 획득하는 동작;
    첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제4 가중치를 곱하여 제4 흐름 맵을 획득하는 동작;
    첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제5 가중치를 곱하여 제5 흐름 맵을 획득하고, 제6 가중치를 곱하여 제6 흐름 맵을 획득하는 동작; 및
    첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제7 가중치를 곱하여 제7 흐름 맵을 획득하고, 제8 가중치를 곱하여 제8 흐름 맵을 획득하는 동작을 포함하는 방법.
  3. 제2항에 있어서,
    상기 제1 가중치 내지 제8 가중치는 상기 3개의 연속적인 입력 프레임들에서 상기 중간 프레임 사이의 시간 거리에 기초하여 결정되는, 방법.
  4. 제3항에 있어서,
    상기 제1 가중치 내지 제4 가중치는 0.5이고,
    상기 제5 가중치 및 상기 제8 가중치는 0.75이고,
    상기 제6 가중치 및 상기 제7 가중치는 0.25인, 방법.
  5. 제2항에 있어서,
    획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하는 동작은,
    상기 제1 흐름 맵 내지 상기 제8 흐름 맵을 입력으로 하는 U-Net 구조의 심층 신경망을 사용하여 상기 제1 입력 프레임에서 상기 제1 중간 프레임으로의 제9 흐름 맵, 상기 제2 입력 프레임에서 상기 제1 중간 프레임으로의 제10 흐름 맵, 상기 제2 입력 프레임에서 상기 제2 중간 프레임으로의 제11 흐름 맵, 상기 제3 입력 프레임에서 상기 제3 중간 프레임으로의 제12 흐름 맵을 획득하는 동작을 포함하는, 방법.
  6. 제5항에 있어서,
    상기 획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보를 상기 3개의 입력 프레임에 와핑(warping)하여 와핑된 프레임을 생성하는 동작은,
    상기 제9 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제1 입력 프레임을 와핑하여 제1 와핑된 프레임을 생성하는 동작;
    상기 제10 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제2 와핑된 프레임을 생성하는 동작;
    상기 제11 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제3 와핑된 프레임을 생성하는 동작;
    상기 제12 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제3 입력 프레임을 와핑하여 제4 와핑된 프레임을 생성하는 동작을 포함하는 방법.
  7. 제1항의 입력 프레임 사이의 중간 프레임을 획득하는 방법에 사용되는 심층 신경망을 학습시키는 방법에 있어서,
    5개의 연속적인 영상 프레임을 획득하는 동작;
    증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작;
    상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임을 상기 심층 신경망의 입력으로 하여 제3 중간 프레임 및 제4 중간 프레임을 생성하는 동작;
    상기 제3 중간 프레임 및 상기 제4 중간 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 영상 프레임 및 네번째 영상 프레임과 비교하는 동작;
    상기 비교 결과에 기초하여 상기 심층 신경망을 학습시키는 동작을 포함하는, 방법.
  8. 제7항에 있어서,
    상기 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작은,
    상기 증강 객체가 임의의 방향으로 직선으로 움직이고, 연속하는 영상 프레임에서 상기 증강 객체의 위치가 적어도 30 픽셀이상 차이가 나도록 상기 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는 동작을 포함하는, 방법.
  9. 전자 장치에 있어서,
    입력부;
    출력부;
    메모리 및
    상기 입력부, 상기 출력부, 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제1 입력 프레임, 제2 입력 프레임 및 제3 입력 프레임의 3개의 연속적인 입력 프레임을 획득하고,
    상기 3개의 연속적인 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하고,
    획득한 상기 8개의 흐름 맵에 기초하여 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵을 획득하고,
    획득한 상기 3개의 입력 프레임에서 중간 프레임으로의 흐름 맵의 흐름 정보에 기초하여 상기 3개의 입력 프레임을 와핑(warping)하여 와핑된 프레임을 생성하고,
    상기 와핑된 프레임에 기초하여 상기 제1 입력 프레임과 상기 제2 입력 프레임의 중간 프레임(이하 제1 중간 프레임) 및 상기 제2 입력 프레임과 상기 제3 입력 프레임의 중간 프레임(이하 제2 중간 프레임)을 생성하는, 전자 장치.
  10. 제9항에 있어서,
    상기 적어도 하나의 프로세서는,
    첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제1 가중치를 곱하여 제1 흐름 맵을 획득하고,
    첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제2 가중치를 곱하여 제2 흐름 맵을 획득하고,
    첫번째 입력으로 상기 제2 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제3 가중치를 곱하여 제3 흐름 맵을 획득하고,
    첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제2 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제4 가중치를 곱하여 제4 흐름 맵을 획득하고,
    첫번째 입력으로 상기 제1 입력 프레임을 사용하고 두번째 입력으로 상기 제3 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제5 가중치를 곱하여 제5 흐름 맵을 획득하고, 제6 가중치를 곱하여 제6 흐름 맵을 획득하고,
    첫번째 입력으로 상기 제3 입력 프레임을 사용하고 두번째 입력으로 상기 제1 입력 프레임을 사용하는 PMC-net 구조의 심층 신경망을 이용하여 광학 흐름 특징을 포함하는 흐름 맵을 추출하고, 제7 가중치를 곱하여 제7 흐름 맵을 획득하고, 제8 가중치를 곱하여 제8 흐름 맵을 획득하여,
    상기 3개의 입력 프레임에 기초하여 각 입력 프레임의 광학 흐름 특징을 포함하는 8개의 흐름 맵(flow map)을 획득하는, 전자 장치.
  11. 제10항에 있어서,
    상기 제1 가중치 내지 제8 가중치는 상기 3개의 연속적인 입력 프레임들에서 상기 중간 프레임 사이의 시간 거리에 기초하여 결정되는, 전자 장치.
  12. 제11항에 있어서,
    상기 제1 가중치 내지 제4 가중치는 0.5이고,
    상기 제5 가중치 및 상기 제8 가중치는 0.75이고,
    상기 제6 가중치 및 상기 제7 가중치는 0.25인, 전자 장치.
  13. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 흐름 맵 내지 상기 제8 흐름 맵을 입력으로 하는 U-Net 구조의 심층 신경망을 사용하여 상기 제1 입력 프레임에서 상기 제1 중간 프레임으로의 제9 흐름 맵, 상기 제2 입력 프레임에서 상기 제1 중간 프레임으로의 제10 흐름 맵, 상기 제2 입력 프레임에서 상기 제2 중간 프레임으로의 제11 흐름 맵, 상기 제3 입력 프레임에서 상기 제3 중간 프레임으로의 제12 흐름 맵을 획득하는, 전자 장치.
  14. 제13항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제9 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제1 입력 프레임을 와핑하여 제1 와핑된 프레임을 생성하고,
    상기 제10 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제2 와핑된 프레임을 생성하고,
    상기 제11 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제2 입력 프레임을 와핑하여 제3 와핑된 프레임을 생성하고,
    상기 제12 흐름 맵에 포함된 흐름 특징 정보에 기초하여 상기 제3 입력 프레임을 와핑하여 제4 와핑된 프레임을 생성하는 전자 장치.
  15. 전자 장치에 있어서,
    입력부;
    출력부;
    메모리 및
    상기 입력부, 상기 출력부, 상기 메모리와 작동적으로 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    5개의 연속적인 영상 프레임을 획득하고,
    증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우고,
    상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임에서 첫번째, 세번째, 다섯번째 영상 프레임을 제1항의 입력 프레임 사이의 중간 프레임을 획득하는 방법에 사용되는 심층 신경망의 입력으로 하여 제3 중간 프레임 및 제4 중간 프레임을 생성하고,
    상기 제3 중간 프레임 및 상기 제4 중간 프레임과 상기 증강 객체가 덮어씌워진 5개의 연속적인 영상 프레임의 두번째 영상 프레임 및 네번째 영상 프레임과 비교하고,
    상기 비교 결과에 기초하여 상기 심층 신경망을 학습시키는, 전자 장치.
  16. 제15항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 증강 객체가 임의의 방향으로 직선으로 움직이고, 연속하는 영상 프레임에서 상기 증강 객체의 위치가 적어도 30 픽셀이상 차이가 나도록 상기 증강 객체를 상기 5개의 연속적인 영상 프레임에 덮어씌우는, 전자 장치.
  17. 컴퓨터 상에서 실행될 때, 제1항 내지 제8항 중 어느 하나의 항에 따른 방법을 구현하는 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능한 저장 매체.
KR1020200005000A 2020-01-14 2020-01-14 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치 KR102207736B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200005000A KR102207736B1 (ko) 2020-01-14 2020-01-14 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200005000A KR102207736B1 (ko) 2020-01-14 2020-01-14 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102207736B1 true KR102207736B1 (ko) 2021-01-26

Family

ID=74310364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200005000A KR102207736B1 (ko) 2020-01-14 2020-01-14 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102207736B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220154940A (ko) 2021-05-14 2022-11-22 연세대학교 산학협력단 스킵 프레임 선별 장치 및 방법
KR20240103345A (ko) 2022-12-27 2024-07-04 씨제이올리브네트웍스 주식회사 Ai를 이용한 영상 정보 생성 시스템 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100087963A (ko) * 2009-01-29 2010-08-06 서강대학교산학협력단 광류 정보를 이용한 중간 영상 생성 방법
KR101741699B1 (ko) * 2016-01-27 2017-05-31 서강대학교산학협력단 끊김 현상을 감소시킨 파노라마 비디오 생성 방법
KR20190100320A (ko) * 2017-03-08 2019-08-28 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 이미지 처리를 위한 신경망 모델 훈련 방법, 장치 및 저장 매체
KR20190132415A (ko) * 2017-03-17 2019-11-27 포틀랜드 스테이트 유니버시티 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100087963A (ko) * 2009-01-29 2010-08-06 서강대학교산학협력단 광류 정보를 이용한 중간 영상 생성 방법
KR101741699B1 (ko) * 2016-01-27 2017-05-31 서강대학교산학협력단 끊김 현상을 감소시킨 파노라마 비디오 생성 방법
KR20190100320A (ko) * 2017-03-08 2019-08-28 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 이미지 처리를 위한 신경망 모델 훈련 방법, 장치 및 저장 매체
KR20190132415A (ko) * 2017-03-17 2019-11-27 포틀랜드 스테이트 유니버시티 적응형 컨볼루션 및 적응형 분리형 컨볼루션을 통한 프레임 인터폴레이션

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220154940A (ko) 2021-05-14 2022-11-22 연세대학교 산학협력단 스킵 프레임 선별 장치 및 방법
KR20240103345A (ko) 2022-12-27 2024-07-04 씨제이올리브네트웍스 주식회사 Ai를 이용한 영상 정보 생성 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
Xu et al. Quadratic video interpolation
Xue et al. Video enhancement with task-oriented flow
JP7093886B2 (ja) 画像処理方法及び装置、電子機器並びに記憶媒体
Park et al. High-quality depth map upsampling and completion for RGB-D cameras
Gao et al. Zernike-moment-based image super resolution
JP5645842B2 (ja) スケールスペースを使用した画像処理装置及び方法
JP7389116B2 (ja) 深層ニューラルネットワーク姿勢推定システム
JP2009194896A (ja) 画像処理装置及び方法並びに撮像装置
KR102207736B1 (ko) 심층 신경망 구조를 이용한 프레임 보간 방법 및 장치
CN105427253B (zh) 基于非局部回归和总差分的多视点rgb-d图像超分辨率方法
CN112446835B (zh) 图像恢复方法、图像恢复网络训练方法、装置和存储介质
Hu et al. Capturing small, fast-moving objects: Frame interpolation via recurrent motion enhancement
Su et al. Super-resolution without dense flow
JP7353803B2 (ja) 画像処理装置、画像処理方法、及びプログラム
CN114339030B (zh) 一种基于自适应可分离卷积的网络直播视频稳像方法
Tian et al. Joint image registration and super-resolution from low-resolution images with zooming motion
CN113673545A (zh) 光流估计方法、相关装置、设备及计算机可读存储介质
KR20220120674A (ko) 3차원 재구성 방법, 장치, 기기 및 저장 매체
Luvizon et al. Adaptive multiplane image generation from a single internet picture
Zeng et al. Real-time video super resolution network using recurrent multi-branch dilated convolutions
CN116385283A (zh) 一种基于事件相机的图像去模糊方法及***
Schreiber et al. Monocular depth estimation using synthetic data for an augmented reality training system in laparoscopic surgery
CN115439397A (zh) 用于无卷积图像处理的方法和装置
CN111435448B (zh) 图像显著性物体检测方法、装置、设备及介质
CN113469880A (zh) 图像拼接方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
GRNT Written decision to grant