KR102571530B1 - 이미지 스티칭을 위한 장치 및 그 방법 - Google Patents

이미지 스티칭을 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR102571530B1
KR102571530B1 KR1020210157069A KR20210157069A KR102571530B1 KR 102571530 B1 KR102571530 B1 KR 102571530B1 KR 1020210157069 A KR1020210157069 A KR 1020210157069A KR 20210157069 A KR20210157069 A KR 20210157069A KR 102571530 B1 KR102571530 B1 KR 102571530B1
Authority
KR
South Korea
Prior art keywords
image
optical flow
target image
module
network
Prior art date
Application number
KR1020210157069A
Other languages
English (en)
Other versions
KR20230070962A (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 KR1020210157069A priority Critical patent/KR102571530B1/ko
Publication of KR20230070962A publication Critical patent/KR20230070962A/ko
Application granted granted Critical
Publication of KR102571530B1 publication Critical patent/KR102571530B1/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • 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/20081Training; Learning
    • 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)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

이미지 스티칭을 위한 장치 및 그 방법이 개시된다. 본 개시에 따르면, 이미지 스티칭 장치는 기준 이미지와 대상 이미지 사이에서 중첩 영역과 비 중첩 영역을 구분하여 광학 흐름을 추정하고, 광학 흐름에 기초하여 두 이미지에 대한 스티칭을 수행한다.

Description

이미지 스티칭을 위한 장치 및 그 방법{APPARATUS FOR IMAGE STITCHING AND METHOD THEREOF}
본 개시는 두 이미지 사이의 스티칭을 위한 기술에 관한 것으로, 구체적으로 이미지 스티칭 태스크를 픽셀 별 광학 흐름을 추정하는 태스크로 재정의하여 시차가 큰 두 이미지 사이에서 효과적으로 스티칭을 수행할 수 있는 기술에 관한 것이다.
넓은 시야각(Angle of field)을 갖는 이미지를 확보하는 것은 로봇 네비게이션, 파노라마 이미지 등 다양한 컴퓨터 비전 애플리케이션을 위해 필요한 작업이다. 이를 위한 방법 중 하나가 이미지 스티칭(Image stitching)으로, 서로 다른 시점에서 상대적으로 좁은 시야각으로 촬영된 이미지들을 합성하여 넓은 시야각을 갖는 이미지를 획득하는 방법이다.
하지만, 기존의 이미지 스티칭 방법들은 피사체와 카메라 간의 거리가 가까운 경우 이미지 간의 시차(Parallax)가 커지는 문제가 있어, 스티칭된 이미지에 음영이나 굴곡이 나타나는 문제가 있었다. 또한, 합성하는 이미지들 간에 겹치지 않는 영역(비 중첩 영역)처럼 대응점이 없는 경우에는 이미지 스티칭을 위해 필요한 변환 행렬을 정밀하게 구할 수 없다는 한계점도 존재했다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 기준 이미지와 대상 이미지 사이에서 중첩 영역과 비 중첩 영역을 구분하여 광학 흐름을 추정하고, 광학 흐름에 기초하여 두 이미지에 대한 스티칭을 수행하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
보다 구체적으로, 본 개시는 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하고, 중첩 영역에 대한 광학 흐름에 기초하여 비 중첩 영역에 대한 광학 흐름을 추정함으로써 기준 이미지와 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
본 개시에 의해 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
개시되는 일 실시예에 따른 이미지 스티칭 방법은, 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하는 단계; 상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하는 단계; 및 상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 단계를 포함한다.
일 실시예에 따르면, 상기 중첩 영역에 대한 광학 흐름을 추정하는 단계는, 상기 기준 이미지와 상기 대상 이미지를 제1 광학 흐름 추정 네트워크에 입력하여 상기 대상 이미지를 상기 기준 이미지의 좌표계로 변환하는 픽셀 별 광학 흐름 및 상기 기준 이미지와 상기 대상 이미지 간의 중첩 영역 마스크를 획득함으로써 상기 중첩 영역에 대한 광학 흐름을 추정하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제1 광학 흐름 추정 네트워크는, 하나 이상의 엔코더(encoder) 및 제1 모듈을 포함할 수 있고, 상기 중첩 영역에 대한 광학 흐름을 추정하는 단계는, 상기 기준 이미지와 상기 대상 이미지를 각각 상기 엔코더 중 적어도 하나에 입력하여 상기 기준 이미지의 특징 맵과 상기 대상 이미지의 특징 맵을 각각 획득하는 단계; 및 상기 기준 이미지의 특징 맵과 상기 대상 이미지의 특징 맵을 상기 제1 모듈에 입력하여 상기 픽셀 별 광학 흐름 및 상기 중첩 영역 마스크를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 제1 모듈은, 상기 기준 이미지의 특징 맵과 상기 대상 이미지의 특징 맵에 기초하여 상기 기준 이미지와 상기 대상 이미지 간에 대응점을 매칭함으로써 상기 픽셀 별 광학 흐름 및 상기 중첩 영역 마스크를 출력하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제1 모듈은, RAFT(Recurrent All-Pairs Field Transforms), PWC-Net, GMA(Global Motion Aggregation) 중 어느 하나에 기반한 네트워크 구조를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제1 광학 흐름 추정 네트워크는, 상기 픽셀 별 광학 흐름 및 상기 중첩 영역 마스크에 기반하여 산출된 L1 손실 함수 값, 상기 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망(Unconditional GAN) 손실 함수 값 및 조건부 생성적 적대 신경망(Conditional GAN) 손실 함수 값 중 적어도 일부에 기초하여 학습되는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 최종 광학 흐름을 획득하는 단계는, 상기 대상 이미지, 상기 대상 이미지를 상기 기준 이미지의 좌표계로 변환하는 픽셀 별 광학 흐름 및 상기 기준 이미지와 상기 대상 이미지 간의 중첩 영역 마스크를 제2 광학 흐름 추정 네트워크에 입력하여 상기 최종 광학 흐름을 획득하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제2 광학 흐름 추정 네트워크는, 제2 모듈 및 제3 모듈을 포함할 수 있고, 상기 최종 광학 흐름을 획득하는 단계는, 상기 대상 이미지 및, 상기 픽셀 별 광학 흐름과 상기 중첩 영역 마스크에 기초하여 산출된 중첩 영역의 광학 흐름을 상기 제2 모듈에 입력하여 초기 광학 흐름, 어피니티(affinity) 및 오프셋(offset)을 획득하는 단계; 및 상기 중첩 영역 마스크, 상기 초기 광학 흐름, 상기 어피니티 및 상기 오프셋을 상기 제3 모듈에 입력하여 상기 최종 광학 흐름을 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 제2 모듈은, 하나 이상의 엔코더 및 하나 이상의 디코더(decoder)를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제3 모듈은, 상기 중첩 영역 마스크, 상기 초기 광학 흐름, 상기 어피니티 및 상기 오프셋에 기초하여 변형 가능한 컨볼루션 연산(Deformable convolution)을 통한 전파를 반복적으로 수행함으로써 상기 비 중첩 영역에 대한 광학 흐름을 추정하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제2 모듈은, 컨볼루셔널 신경망(CNN; Convolutional Neural Network)에 기반한 네트워크 구조를 포함하고, 상기 제3 모듈은, SPN(Spatial Propagation Network)에 기반한 네트워크 구조를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 제2 광학 흐름 추정 네트워크는, 상기 비 중첩 영역에 대한 광학 흐름에 기반하여 산출된 L1 손실 함수 값, 상기 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망 손실 함수 값 및 조건부 생성적 적대 신경망 손실 함수 값 중 적어도 일부에 기초하여 학습되는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 최종 스티칭 이미지를 획득하는 단계는, 상기 기준 이미지, 상기 대상 이미지 및 상기 최종 광학 흐름을 이미지 스티칭 네트워크에 입력하여 상기 최종 스티칭 이미지를 획득하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 이미지 스티칭 네트워크는, 하나 이상의 제4 모듈, 제5 모듈 및 제6 모듈을 포함하고, 상기 최종 스티칭 이미지를 획득하는 단계는, 상기 기준 이미지와 상기 대상 이미지를 상기 제4 모듈 중 적어도 하나에 입력하여 상기 기준 이미지의 해상도 별 특징 맵과 상기 대상 이미지의 해상도 별 특징 맵을 획득하는 단계; 상기 대상 이미지, 상기 대상 이미지의 해상도 별 특징 맵, 상기 최종 광학 흐름을 상기 제5 모듈에 입력하여 워핑(warping)된 대상 이미지와 상기 대상 이미지의 해상도 별 워핑된 특징 맵을 획득하는 단계; 및 상기 기준 이미지, 상기 기준 이미지의 해상도 별 특징 맵, 상기 워핑된 대상 이미지, 상기 대상 이미지의 해상도 별 워핑된 특징 맵을 상기 제6 모듈에 입력하여 상기 최종 스티칭 이미지를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 제4 모듈은, FPN(Feature Pyramid Network)에 기반한 네트워크 구조를 포함하고, 상기 제5 모듈은, 순방향 워핑 방식에 기반한 네트워크 구조를 포함하고, 상기 제6 모듈은, GridNet에 기반한 네트워크 구조를 포함하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 이미지 스티칭 네트워크는, 상기 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망 손실 함수 값 및 조건부 생성적 적대 신경망 손실 함수 값 중 적어도 일부에 기초하여 학습되는 것을 특징으로 할 수 있다.
개시되는 일 실시예에 따른 이미지 스티칭 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함할 수 있고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하기 위한 명령; 상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하기 위한 명령; 및 상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하기 위한 명령을 포함할 수 있다.
개시되는 일 실시예에 따른 이미지 스티칭을 위한 컴퓨터 프로그램은, 하드웨어와 결합되어, 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하는 단계; 상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하는 단계; 및 상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.
개시되는 일 실시예에 따른 비일시적 컴퓨터 판독 가능 저장 매체는, 컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고, 상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가: 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하는 단계; 상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하는 단계; 및 상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 단계를 포함하는 이미지 스티칭 방법을 수행하도록 할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따르면, 이미지 스티칭의 대상이 되는 두 이미지가 같은 평면을 공유하지 않거나 대응점이 없는 등의 이유로 정밀한 변환 행렬을 구하기 어려운 경우에도, 픽셀 별 광학 흐름을 추정하여 이미지 스티칭을 수행함으로써 다양한 환경에서 강건한(robust) 이미지 스티칭을 수행할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 이미지 스티칭 시스템을 설명하기 위한 개략적인 구성도이다.
도 2는 일 실시예에 따른 이미지 스티칭 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따라 중첩 영역에 대한 광학 흐름을 추정하는 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따라 최종 광학 흐름을 획득하는 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따라 최종 스티칭 이미지를 획득하는 단계를 보다 구체적으로 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 제1 광학 흐름 추정 네트워크를 나타내는 예시도이다.
도 7은 일 실시예에 따른 제2 광학 흐름 추정 네트워크를 나타내는 예시도이다.
도 8은 일 실시예에 따른 이미지 스티칭 네트워크를 나타내는 예시도이다.
도 9는 일 실시예에 따른 최종 스티칭 이미지 및 해당 이미지의 정답(GT; Ground Truth)을 나타내는 예시도이다.
도 10은 일 실시예에 따른 이미지 스티칭 장치를 설명하기 위한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하고, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다.
특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 일 실시예에 따른 이미지 스티칭 시스템을 설명하기 위한 개략적인 구성도이다.
도시된 바와 같이, 일 실시예에 따른 이미지 스티칭 시스템(100)은 이미지 스티칭 장치(110) 및 사용자 단말(120)을 포함한다. 또한, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
또한, 도 1에 도시된 기준 이미지, 대상 이미지 및 스티칭 이미지는 이미지 스티칭 장치(110)의 학습 과정이 아닌 실행(test, execute) 과정에서의 입력 또는 출력인 것으로 전제한다. 학습 과정과 실행 과정에서 이미지 스티칭 장치(110)가 수행하는 일련의 동작 또는 단계는 동일 내지 유사하나, 학습 과정에서 이용되는 기준 이미지와 대상 이미지는 이미지 스티칭 장치(110) 내부의 저장 공간에 기 저장된 이미지일 수도 있다. 또한, 학습 과정에서 생성된 스티칭 이미지는 사용자 단말(120)이나 기타 출력 장치로 전송되지 않을 수도 있다.
이미지 스티칭 장치(110)는 기준 이미지와 대상 이미지를 입력으로 하여, 두 이미지가 합성된 스티칭 이미지를 출력하는 장치를 의미한다.
일 실시예에 따르면, 이미지 스티칭 장치(110)는 유선 또는 무선의 네트워크를 통해 외부로부터 합성의 대상이 되는 기준 이미지와 대상 이미지를 획득할 수 있다. 보다 구체적으로, 기준 이미지와 대상 이미지는 카메라로 대표되는 촬영 장치로부터 촬영된 이미지일 수도 있고, 클라우드 서버에 기 저장된 이미지일 수도 있으며, 로컬 데이터베이스(DB)에 기 저장된 이미지일 수도 있다. 다만 이는 예시적인 것으로, 기준 이미지와 대상 이미지의 촬영 수단 또는 저장 위치는 실시예에 따라서 다양하게 설정될 수 있다. 또한, 기준 이미지와 대상 이미지의 생성 위치 및 저장 위치는 동일할 수도 있으나, 실시예에 따라 상이할 수도 있다.
일 실시예에 따르면, 이미지 스티칭 장치(110)는 생성된 스티칭 이미지를 유선 또는 무선의 네트워크를 통해 사용자 단말(120)로 전송할 수 있다. 이를 통해, 사용자는 사용자 단말(120) 내부의 출력 장치(예를 들어, 디스플레이) 또는 사용자 단말(120)과 연동된 출력 장치(예를 들어, 모니터)를 통해 스티칭 이미지를 확인하고, 사용자 단말(120) 내부 또는 외부의 저장 공간에 스티칭 이미지를 저장할 수 있다. 다만 이는 예시적인 것으로, 이미지 스티칭 장치(110)는 생성된 스티칭 이미지를 사용자 단말(120)로 전송하지 않고 다시 클라우드 서버나 로컬 DB로 전송하거나, 이미지 스티칭 장치(110) 내부 또는 연동된 저장 공간에 저장할 수도 있다.
한편, 일 실시예에 따르면, 이미지 스티칭 장치(110)로의 입력 및 이미지 스티칭 장치(110)에서의 출력을 전송하기 위해 사용되는 유선 또는 무선의 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
이상과 관련하여, 이하 도면들을 통해 보다 상세히 설명하기로 한다.
도 2는 일 실시예에 따른 이미지 스티칭 방법을 설명하기 위한 흐름도이다.
도 2에 도시된 방법은 예를 들어, 상술한 이미지 스티칭 장치(110)에 의해 수행될 수 있다.
단계 S210에서, 이미지 스티칭 장치(110)는 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정할 수 있다.
본 개시에 있어서, '광학 흐름'은 이미지의 픽셀 별 모션 벡터(motion vector)들의 집합을 의미한다. 예를 들어, 대상 이미지 상의 (x1, y1) 좌표에 위치한 픽셀이 기준 이미지 상의 (x2, y2) 좌표에 위치한 픽셀과 대응되는 경우, 해당 픽셀에 대한 광학 흐름의 값은 (x2-x1, y2-y1)으로 결정된다. 이러한 광학 흐름을 파악함으로써, 이미지 스티칭 장치(110)는 대상 이미지의 각 픽셀을 광학 흐름 값만큼 이동시켜 기준 이미지의 좌표계 상으로 이미지 워핑(warping)을 수행할 수도 있다.
일 실시예에 따르면, 이미지 스티칭 장치(110)는 중첩 영역에 대한 광학 흐름을 추정한 결과로서, 기준 이미지와 대상 이미지 사이의 픽셀 별 광학 흐름과 중첩 영역 마스크를 획득할 수 있다.
보다 구체적으로, 이미지 스티칭 장치(110)는 기준 이미지와 대상 이미지를 제1 광학 흐름 추정 네트워크에 입력하여, (1)대상 이미지를 기준 이미지의 좌표계로 변환하는 픽셀 별 광학 흐름 및 (2)기준 이미지와 대상 이미지 간의 중첩 영역 마스크를 획득할 수 있다. 이때, 제1 광학 흐름 추정 네트워크는 하나 이상의 엔코더(encoder) 및 제1 모듈을 포함할 수 있다.
이와 관련하여, 아래 도 3을 참조하여 보다 자세히 살펴보기로 한다.
도 3은 일 실시예에 따라 중첩 영역에 대한 광학 흐름을 추정하는 단계를 보다 구체적으로 설명하기 위한 흐름도(300)이다. 도 3에 도시된 방법은 예를 들어, 상술한 이미지 스티칭 장치(110)에 의해 수행될 수 있다.
단계 S310에서, 이미지 스티칭 장치(110)는 기준 이미지와 대상 이미지를 각각 제1 광학 흐름 추정 네트워크에 포함된 엔코더 중 적어도 하나에 입력하여 기준 이미지의 특징 맵과 대상 이미지의 특징 맵을 각각 획득할 수 있다.
단계 S320에서, 이미지 스티칭 장치(110)는 기준 이미지의 특징 맵과 대상 이미지의 특징 맵을 제1 광학 흐름 추정 네트워크에 포함된 제1 모듈에 입력하여 픽셀 별 광학 흐름 및 중첩 영역 마스크를 획득할 수 있다.
일 실시예에 따르면, 제1 모듈은 입력된 기준 이미지의 특징 맵과 대상 이미지의 특징 맵에 기초하여 기준 이미지와 대상 이미지 간에 대응점을 매칭함으로써 픽셀 별 광학 흐름 및 중첩 영역 마스크를 출력할 수 있다.
구체적으로, 제1 모듈은 기준 이미지의 특징 맵의 정보와 대상 이미지의 특징 맵의 정보 사이의 상관관계(correlation)를 산출하여, 상관관계의 정도가 기 설정된 기준 이상이면 각 특징 맵의 정보에 해당하는 기준 이미지 상의 지점과 대상 이미지 상의 지점을 대응시킬 수 있다.
일 실시예에 따르면, 제1 모듈은 RAFT(Recurrent All-Pairs Field Transforms), PWC-Net, GMA(Global Motion Aggregation) 중 어느 하나에 기반한 네트워크 구조를 포함할 수 있다. 다만 이는 예시적인 것으로, 제1 모듈의 입력과 출력 조건을 만족하고 상술한 제1 모듈의 기능을 수행하는 한에서는, 제1 모듈에 보다 다양한 알고리즘에 기반한 네트워크 구조가 적용될 수 있을 것이다.
한편, 일 실시예에 따르면, 제1 광학 흐름 추정 네트워크는 다음의 (1) 내지 (3)의 손실 함수 값 중 적어도 일부에 기초하여 학습될 수 있다. (1) 내지 (3)의 손실 함수 값 각각은 산출의 기반이 되는 정보(광학 흐름, 마스크, 이미지 등)에 대응되는 사전 설정된 정답(GT; Ground Truth)을 이용하여 산출되는 것으로 전제한다.
(1) 픽셀 별 광학 흐름 및 중첩 영역 마스크에 기반하여 산출된 L1 손실 함수 값
(2) 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망(Unconditional GAN) 손실 함수 값
(3) 최종 스티칭 이미지에 기반하여 산출된 조건부 생성적 적대 신경망(Conditional GAN) 손실 함수 값
다시 도 2를 참조하면, 단계 S220에서, 이미지 스티칭 장치(110)는 중첩 영역에 대한 광학 흐름에 기초하여 기준 이미지와 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득할 수 있다.
구체적으로, 이미지 스티칭 장치(110)는 중첩 영역에 대한 광학 흐름에 대한 정보를 비 중첩 영역으로 전파시킴으로써 비 중첩 영역에 대한 광학 흐름을 추정하고, 결과적으로 최종 광학 흐름을 획득할 수 있다.
일 실시예에 따르면, 이미지 스티칭 장치(110)는 대상 이미지, 대상 이미지를 기준 이미지의 좌표계로 변환하는 픽셀 별 광학 흐름 및 기준 이미지와 대상 이미지 간의 중첩 영역 마스크를 제2 광학 흐름 추정 네트워크에 입력하여 최종 광학 흐름을 획득할 수 있다. 이때, 제2 광학 흐름 추정 네트워크는 제2 모듈 및 제3 모듈을 포함할 수 있다.
이와 관련하여, 아래 도 4를 참조하여 보다 자세히 살펴보기로 한다.
도 4는 일 실시예에 따라 최종 광학 흐름을 획득하는 단계를 보다 구체적으로 설명하기 위한 흐름도(400)이다. 도 4에 도시된 방법은 예를 들어, 상술한 이미지 스티칭 장치(110)에 의해 수행될 수 있다.
단계 S410에서, 이미지 스티칭 장치(110)는 대상 이미지 및, 픽셀 별 광학 흐름과 중첩 영역 마스크에 기초하여 산출된 중첩 영역의 광학 흐름을 제2 광학 흐름 추정 네트워크에 포함된 제2 모듈에 입력하여 초기 광학 흐름, 어피니티(affinity) 및 오프셋(offset)을 획득할 수 있다.
본 개시에 있어서, '초기 광학 흐름'은 대상 이미지의 전체 픽셀에 대한 광학 흐름의 초기값이 설정된 광학 흐름을 의미한다. 아울러, '어피니티'는 이미지 상의 두 픽셀 사이의 유사도를 의미한다. 또한, '오프셋'은 이미지의 픽셀이나 커널의 격자의 좌표에 가산되는 좌표별 값을 의미한다.
일 실시예에 따르면, 제2 모듈은 하나 이상의 엔코더 및 하나 이상의 디코더(decoder)를 포함할 수 있다.
한편, 일 실시예에 따르면, 제2 모듈은 컨볼루셔널 신경망(CNN; Convolutional Neural Network)에 기반한 네트워크 구조를 포함할 수 있다. 보다 구체적으로, 제2 모듈은 ResNet, U-Net 중 어느 하나에 기반한 네트워크 구조를 포함할 수 있다. 다만 이는 예시적인 것으로, 제2 모듈의 입력과 출력 조건을 만족하고 상술한 제2 모듈의 기능을 수행하는 한에서는, 제2 모듈에 보다 다양한 알고리즘에 기반한 네트워크 구조가 적용될 수 있을 것이다.
구체적으로, 제2 모듈은 출력단에 각각 컨볼루션 레이어로 구성된 제1 출력부와 제2 출력부를 포함할 수 있다. 이와 관련하여, 제2 모듈은 입력된 대상 이미지와 중첩 영역의 광학 흐름으로부터 특징 맵을 추출하고, 추출된 특징 맵을 각각 제1 출력부와 제2 출력부의 입력으로 하여 제1 출력부에서는 초기 광학 흐름을, 제2 출력부에서는 어피니티 및 오프셋을 출력할 수 있다.
단계 S420에서, 이미지 스티칭 장치(110)는 중첩 영역 마스크, 초기 광학 흐름, 어피니티 및 오프셋을 제2 광학 흐름 추정 네트워크에 포함된 제3 모듈에 입력하여 최종 광학 흐름을 획득할 수 있다.
일 실시예에 따르면, 제3 모듈은 중첩 영역 마스크, 초기 광학 흐름, 어피니티 및 오프셋에 기초하여 변형 가능한 컨볼루션 연산(Deformable convolution)을 통한 전파를 반복적으로 수행함으로써 비 중첩 영역에 대한 광학 흐름을 추정할 수 있다.
구체적으로, 제3 모듈은 중첩 영역 마스크를 이용하여 광학 흐름을 전파해야 하는 비 중첩 영역을 확인하고, 각 픽셀 별 초기 광학 흐름 값을 초기 값으로 하여 기 설정된 크기의 커널을 이동시키며 변형 가능한 컨볼루션 연산을 수행할 수 있다. 이때, 제3 모듈은 커널 내 주변 픽셀의 광학 흐름 값에 어피니티를 가중치로써 반영하여 커널 내 가운데 픽셀의 광학 흐름 값을 갱신할 수 있으며, 커널 내 각 격자에 오프셋을 더하여 각 격자의 위치를 유동적으로 변경함으로써 커널의 모양을 다양하게 하여 광학 흐름의 전파 과정에서 유의미한 정보에 집중할 수 있다.
한편, 일 실시예에 따르면, 제3 모듈은 SPN(Spatial Propagation Network)에 기반한 네트워크 구조를 포함할 수 있다. 다만 이는 예시적인 것으로, 제3 모듈의 입력과 출력 조건을 만족하고 상술한 제3 모듈의 기능을 수행하는 한에서는, 제3 모듈에 보다 다양한 알고리즘에 기반한 네트워크 구조가 적용될 수 있을 것이다.
한편, 일 실시예에 따르면, 제2 광학 흐름 추정 네트워크는 다음의 (1) 내지 (3)의 손실 함수 값 중 적어도 일부에 기초하여 학습될 수 있다. (1) 내지 (3)의 손실 함수 값 각각은 산출의 기반이 되는 정보(광학 흐름, 이미지 등)에 대응되는 사전 설정된 정답을 이용하여 산출되는 것으로 전제한다.
(1) 비 중첩 영역에 대한 광학 흐름에 기반하여 산출된 L1 손실 함수 값
(2) 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망 손실 함수 값
(3) 최종 스티칭 이미지에 기반하여 산출된 조건부 생성적 적대 신경망 손실 함수 값
다시 도 2를 참조하면, 단계 S230에서, 이미지 스티칭 장치(110)는 최종 광학 흐름에 기초하여 기준 이미지와 대상 이미지가 합성된 최종 스티칭 이미지를 획득할 수 있다.
일 실시예에 따르면, 이미지 스티칭 장치(110)는 기준 이미지, 대상 이미지 및 최종 광학 흐름을 이미지 스티칭 네트워크에 입력하여 최종 스티칭 이미지를 획득할 수 있다. 이때, 이미지 스티칭 네트워크는 하나 이상의 제4 모듈, 제5 모듈 및 제6 모듈을 포함할 수 있다.
이와 관련하여, 아래 도 5를 참조하여 보다 자세히 살펴보기로 한다.
도 5는 일 실시예에 따라 최종 스티칭 이미지를 획득하는 단계를 보다 구체적으로 설명하기 위한 흐름도이다. 도 5에 도시된 방법은 예를 들어, 상술한 이미지 스티칭 장치(110)에 의해 수행될 수 있다.
단계 S510에서, 이미지 스티칭 장치(110)는 기준 이미지와 대상 이미지를 이미지 스티칭 네트워크에 포함된 제4 모듈 중 적어도 하나에 입력하여 기준 이미지의 해상도 별 특징 맵과 대상 이미지의 해상도 별 특징 맵을 획득할 수 있다.
일 실시예에 따르면, 제4 모듈은 입력 받은 이미지 전체의 특징을 추출하되, 서로 다른 크기를 갖는 복수의 특징 맵을 출력할 수 있다. 예를 들어, 제4 모듈로 입력되는 이미지의 크기가 224*224인 경우, 제4 모듈은 해당 이미지의 특징 맵을 224*224, 112*112, 56*56 크기의 3개로 출력할 수 있다.
일 실시예에 따르면, 제4 모듈은 FPN(Feature Pyramid Network)에 기반한 네트워크 구조를 포함할 수 있다. 다만 이는 예시적인 것으로, 제4 모듈의 입력과 출력 조건을 만족하고 상술한 제4 모듈의 기능을 수행하는 한에서는, 제4 모듈에 보다 다양한 알고리즘에 기반한 네트워크 구조가 적용될 수 있을 것이다.
단계 S520에서, 이미지 스티칭 장치(110)는 대상 이미지, 대상 이미지의 해상도 별 특징 맵, 최종 광학 흐름을 이미지 스티칭 네트워크에 포함된 제5 모듈에 입력하여 워핑된 대상 이미지와 대상 이미지의 해상도 별 워핑된 특징 맵을 획득할 수 있다. 즉, 제5 모듈은 대상 이미지의 좌표계를 기준 이미지의 좌표계로 변환하기 위해서 대상 이미지 및 대상 이미지의 특징 맵에 대해 워핑을 수행할 수 있다.
일 실시예에 따르면, 제5 모듈은 순방향 워핑 방식에 기반한 네트워크 구조를 포함할 수 있다. 이로써 제5 모듈에서 수행되는 연산 과정에 미분을 적용할 수 있어, 제5 모듈에 딥 러닝(Deep learning)을 적용할 수 있다.
단계 S530에서, 이미지 스티칭 장치(110)는 기준 이미지, 기준 이미지의 해상도 별 특징 맵, 워핑된 대상 이미지, 대상 이미지의 해상도 별 워핑된 특징 맵을 이미지 스티칭 네트워크에 포함된 제6 모듈에 입력하여 최종 스티칭 이미지를 획득할 수 있다.
일 실시예에 따르면, 제6 모듈은 GridNet에 기반한 네트워크 구조를 포함할 수 있다. 다만 이는 예시적인 것으로, 제6 모듈의 입력과 출력 조건을 만족하고 상술한 제6 모듈의 기능을 수행하는 한에서는, 제6 모듈에 보다 다양한 알고리즘에 기반한 네트워크 구조가 적용될 수 있을 것이다.
한편, 일 실시예에 따르면, 이미지 스티칭 네트워크는 다음의 (1) 및 (2)의 손실 함수 값 중 적어도 일부에 기초하여 학습될 수 있다. (1) 및 (2)의 손실 함수 값 각각은 산출의 기반이 되는 정보(이미지)에 대응되는 사전 설정된 정답을 이용하여 산출되는 것으로 전제한다.
(1) 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망 손실 함수 값
(2) 최종 스티칭 이미지에 기반하여 산출된 조건부 생성적 적대 신경망 손실 함수 값
상기 도시된 흐름도 도 2 내지 도 5에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 6은 일 실시예에 따른 제1 광학 흐름 추정 네트워크를 나타내는 예시도(600)이다.
도 6에 도시된 대로, 제1 광학 흐름 추정 네트워크는 기준 이미지가 입력되는 엔코더(610-1), 대상 이미지가 입력되는 엔코더(610-2) 및 엔코더로부터의 출력이 각각 입력되는 제1 모듈(620)을 포함할 수 있다.
일 실시예에 따르면, 제1 광학 흐름 추정 네트워크 상단의 엔코더(610-1)는 기준 이미지를 입력 받아 기준 이미지의 특징 맵을 출력하고, 제1 광학 흐름 추정 네트워크 하단의 엔코더(610-2)는 대상 이미지를 입력 받아 대상 이미지의 특징 맵을 출력할 수 있다. 한편, 각 엔코더(610-1, 610-2)는 심층 신경망(Deep Neural Network) 기반의 네트워크 구조를 포함할 수 있다.
일 실시예에 따르면, 제1 모듈(620)은 상단의 엔코더(610-1)에서 출력된 기준 이미지의 특징 맵과, 하단의 엔코더(610-2)에서 출력된 대상 이미지의 특징 맵을 입력 받아 대상 이미지를 기준 이미지 좌표계로 변환하는 픽셀 별 광학 흐름과, 기준 이미지-대상 이미지 간의 중첩 영역을 나타내는 중첩 영역 마스크를 출력할 수 있다. 한편, 제1 모듈(620)은 심층 신경망 기반의 네트워크 구조, 그 중에서도 특히 RAFT(Recurrent All-Pairs Field Transforms), PWC-Net, GMA(Global Motion Aggregation) 중 어느 하나에 기반한 네트워크 구조를 포함할 수 있다.
도 7은 일 실시예에 따른 제2 광학 흐름 추정 네트워크를 나타내는 예시도(700)이다.
도 7에 도시된 대로, 제2 광학 흐름 추정 네트워크는 제2 모듈(710) 및 제3 모듈(720)을 포함할 수 있다.
일 실시예에 따르면, 제2 모듈(710)은 대상 이미지 및, 픽셀 별 광학 흐름과 중첩 영역 마스크에 기초하여 산출된 중첩 영역의 광학 흐름을 입력 받아 초기 광학 흐름, 어피니티(affinity) 및 오프셋(offset)을 출력할 수 있다.
구체적으로 입력과 관련하여, 제2 모듈(710)은 대상 이미지에 더하여, 제1 광학 흐름 추정 네트워크에서 추정(출력)한 픽셀 별 광학 흐름과 중첩 영역 마스크가 행렬 곱셉됨으로써 산출된 중첩 영역의 광학 흐름을 입력 받을 수 있다. 이 경우, 중첩 영역의 광학 흐름을 도출하기 위한 행렬 곱셈은 제2 모듈(710)에 의해 수행될 수도 있고, 실시예에 따라서는 제2 모듈(710) 외부의 별도 모듈에 의해 수행될 수도 있다. 이때, 별도 모듈은 제1 광학 흐름 추정 네트워크 또는 제2 광학 흐름 추정 네트워크에 포함될 수도 있으나, 실시예에 따라서는 둘 중 어디에도 포함되지 않을 수도 있다.
또한 출력과 관련하여, 제2 모듈(710)은 대상 이미지의 전체 픽셀에 대한 광학 흐름의 초기값이 설정된 초기 광학 흐름에 더하여, 기존 이미지와 대상 이미지 사이의 어피니티를 출력하고, 후술할 제3 모듈(720)의 변형 가능한 컨볼루션 연산에서 필터(커널)에 적용될 오프셋을 출력할 수 있다.
한편, 일 실시예에 따르면, 제2 모듈(710)은 하나 이상의 엔코더 및 하나 이상의 디코더를 포함하는 엔코더-디코더 모듈로, CNN에 기반한 네트워크 구조, 그 중에서도 특히 ResNet 기반 네트워크 구조를 포함할 수 있다.
일 실시예에 따르면, 제3 모듈(720)은 중첩 영역 마스크, 초기 광학 흐름, 어피니티 및 오프셋에 기초하여 변형 가능한 컨볼루션 연산을 통한 전파를 반복적으로 수행함으로써 비 중첩 영역에 대한 광학 흐름을 추정하고, 그 결과로서 최종 광학 흐름을 출력할 수 있다.
구체적으로, 제3 모듈(720)은 중첩 영역 마스크를 이용하여 광학 흐름을 전파해야 하는 비 중첩 영역을 확인하고, 각 픽셀 별 초기 광학 흐름 값을 초기 값으로 하여 기 설정된 크기의 커널을 이동시키며 변형 가능한 컨볼루션 연산을 수행할 수 있다. 이때, 제3 모듈(720)은 커널 내 주변 픽셀의 광학 흐름 값에 어피니티를 반영하여 커널 내 가운데 픽셀의 광학 흐름 값을 갱신할 수 있으며, 커널 내 각 격자에 오프셋을 더하여 각 격자의 위치를 유동적으로 변경함으로써 커널의 모양을 다양하게 하여 광학 흐름의 전파 과정에서 유의미한 정보에 집중할 수 있다.
한편, 일 실시예에 따르면, 제3 모듈(720)은 심층 신경망 기반의 네트워크 구조, 그 중에서도 특히 SPN에 기반한 네트워크 구조를 포함할 수 있다.
도 8은 일 실시예에 따른 이미지 스티칭 네트워크를 나타내는 예시도(800)이다.
도 8에 도시된 대로, 이미지 스티칭 네트워크는 기준 이미지가 입력되는 제4 모듈(810-1), 대상 이미지가 입력되는 제4 모듈(810-2), 제5 모듈(820) 및 제6 모듈(830)을 포함할 수 있다.
일 실시예에 따르면, 이미지 스티칭 네트워크 상단의 제4 모듈(810-1)은 기준 이미지를 입력 받아 기준 이미지의 특징 맵을 해상도 별로 출력하고, 이미지 스티칭 네트워크 하단의 제4 모듈(810-2)은 대상 이미지를 입력 받아 대상 이미지의 특징 맵을 해상도 별로 출력할 수 있다. 한편, 각 제4 모듈(810-1, 810-2)은 심층 신경망 기반의 네트워크 구조, 그 중에서도 특히 FPN에 기반한 네트워크 구조를 포함할 수 있다.
일 실시예에 따르면, 제5 모듈(820)은 대상 이미지, 대상 이미지의 해상도 별 특징 맵, 제2 광학 흐름 추정 네트워크로부터 출력된 최종 광학 흐름을 입력 받아 워핑된 대상 이미지 및 대상 이미지의 해상도 별 워핑된 특징 맵을 출력할 수 있다. 즉 다시 말하면, 제5 모듈(820)은 중첩 영역 및 비 중첩 영역의 광학 흐름이 추정된 최종 광학 흐름을 참조하여 대상 이미지와 대상 이미지의 해상도 별 특징 맵을 각각 워핑하는 기능을 수행할 수 있다.
한편, 일 실시예에 따르면, 제5 모듈(820)은 심층 신경망 기반의 네트워크 구조, 그 중에서도 특히 순방향 워핑 방식에 기반한 네트워크 구조를 포함할 수 있다.
일 실시예에 따르면, 제6 모듈(830)은 기준 이미지, 제4 모듈(810-1)로부터 출력된 기준 이미지의 해상도 별 특징 맵, 제5 모듈(820)로부터 출력된 워핑된 대상 이미지 및 대상 이미지의 해상도 별 워핑된 특징 맵을 입력 받아 최종 스티칭 이미지를 출력할 수 있다.
한편, 일 실시예에 따르면, 제6 모듈(830)은 심층 신경망 기반의 네트워크 구조, 그 중에서도 특히 GridNet에 기반한 네트워크 구조를 포함할 수 있다.
도 9는 일 실시예에 따른 최종 스티칭 이미지 및 해당 이미지의 정답을 나타내는 예시도(900)이다. 구체적으로, 도 9의 (a)는 이미지 스티칭 네트워크에서 출력된 최종 스티칭 이미지를, 도 9의 (b)는 (a)의 이미지에 대해 사전에 설정된 정답 이미지를 나타내는 예시도이다.
일 실시예에 따르면, 상술한 제1 광학 흐름 추정 네트워크, 제2 광학 흐름 추정 네트워크 및 이미지 스티칭 네트워크 중 적어도 일부는 도 9의 (a)와 같은 최종 스티칭 이미지와 도 9의 (b)와 같은 정답을 각각 입력으로 한 손실 함수에 기초하여 학습될 수 있다.
구체적으로, 상술한 각 네트워크의 학습에는 무조건부 생성적 적대 신경망 손실 함수 및 조건부 생성적 적대 신경망 손실 함수 중 적어도 일부가 이용될 수 있다. 이 중, 조건부 생성적 적대 신경망 손실 함수에 적용되는 조건은 대상 이미지의 정보에 기초하여 설정될 수 있다.
보다 상세하게 살펴보면, 조건부 생성적 적대 신경망 손실 함수는 생성된 최종 스티칭 이미지가 대상 이미지의 정보를 정확하게 포함하고 있는지를 판별하기 위해 사용될 수 있다.
일 실시예에 따르면, 상술한 제1 광학 흐름 추정 네트워크, 제2 광학 흐름 추정 네트워크 및 이미지 스티칭 네트워크 중 적어도 일부는 무조건부 생성적 적대 신경망 손실 함수 및 조건부 생성적 적대 신경망 손실 함수를 모두 이용하여 학습될 수 있다. 이 경우, 상기 2개의 손실 함수의 값 각각은 가중치 합(weighted sum)하여 각 네트워크의 학습에 이용될 수 있다. 예를 들어, 가중치 합에 적용되는 가중치는 1대 1일 수 있다.
도 10은 일 실시예에 따른 이미지 스티칭 장치를 설명하기 위한 블록도이다.
이미지 스티칭 장치(110)는 일 실시예에 따라, 트랜시버(111), 프로세서(113) 및 메모리(115)를 포함할 수 있다. 이미지 스티칭 장치(110)는 트랜시버(111)를 통하여 기타 외부 장치 등과 연결되고, 데이터를 교환할 수 있다.
프로세서(113)는 도 1 내지 도 9를 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(115)는 도 1 내지 도 9를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 메모리(115)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(113)는 프로그램을 실행하고, 정보를 제공하기 위해 이미지 스티칭 장치(110)를 제어할 수 있다. 프로세서(113)에 의하여 실행되는 프로그램의 코드는 메모리(115)에 저장될 수 있다.
프로세서(113)는 트랜시버(111) 및 메모리(115)와 연결되어, 기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하고, 중첩 영역에 대한 광학 흐름에 기초하여 기준 이미지와 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하며, 최종 광학 흐름에 기초하여 기준 이미지와 대상 이미지가 합성된 최종 스티칭 이미지를 획득할 수 있다.
또한 일 실시예에 따른 이미지 스티칭 장치(110)는 사용자에게 정보를 제공할 수 있는 인터페이스를 더 포함할 수 있다.
도 10에 도시된 이미지 스티칭 장치(110)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전술한 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 메시지 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (19)

  1. 기준 이미지와 대상 이미지 간의 이미지 스티칭을 위한 방법에 있어서,
    상기 기준 이미지와 상기 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하는 단계;
    상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하는 단계; 및
    상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 단계를 포함하는, 이미지 스티칭 방법.
  2. 제1항에 있어서,
    상기 중첩 영역에 대한 광학 흐름을 추정하는 단계는,
    상기 기준 이미지와 상기 대상 이미지를 제1 광학 흐름 추정 네트워크에 입력하여 상기 대상 이미지를 상기 기준 이미지의 좌표계로 변환하는 픽셀 별 광학 흐름 및 상기 기준 이미지와 상기 대상 이미지 간의 중첩 영역 마스크를 획득함으로써 상기 중첩 영역에 대한 광학 흐름을 추정하는 것을 특징으로 하는, 이미지 스티칭 방법.
  3. 제2항에 있어서,
    상기 제1 광학 흐름 추정 네트워크는,
    하나 이상의 엔코더(encoder) 및 제1 모듈을 포함하고,
    상기 중첩 영역에 대한 광학 흐름을 추정하는 단계는,
    상기 기준 이미지와 상기 대상 이미지를 각각 상기 엔코더 중 적어도 하나에 입력하여 상기 기준 이미지의 특징 맵과 상기 대상 이미지의 특징 맵을 각각 획득하는 단계; 및
    상기 기준 이미지의 특징 맵과 상기 대상 이미지의 특징 맵을 상기 제1 모듈에 입력하여 상기 픽셀 별 광학 흐름 및 상기 중첩 영역 마스크를 획득하는 단계를 포함하는, 이미지 스티칭 방법.
  4. 제3항에 있어서,
    상기 제1 모듈은,
    상기 기준 이미지의 특징 맵과 상기 대상 이미지의 특징 맵에 기초하여 상기 기준 이미지와 상기 대상 이미지 간에 대응점을 매칭함으로써 상기 픽셀 별 광학 흐름 및 상기 중첩 영역 마스크를 출력하는 것을 특징으로 하는, 이미지 스티칭 방법.
  5. 제3항에 있어서,
    상기 제1 모듈은,
    RAFT(Recurrent All-Pairs Field Transforms), PWC-Net, GMA(Global Motion Aggregation) 중 어느 하나에 기반한 네트워크 구조를 포함하는 것을 특징으로 하는, 이미지 스티칭 방법.
  6. 제2항에 있어서,
    상기 제1 광학 흐름 추정 네트워크는,
    상기 픽셀 별 광학 흐름 및 상기 중첩 영역 마스크에 기반하여 산출된 L1 손실 함수 값, 상기 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망(Unconditional GAN) 손실 함수 값 및 조건부 생성적 적대 신경망(Conditional GAN) 손실 함수 값 중 적어도 일부에 기초하여 학습되는 것을 특징으로 하는, 이미지 스티칭 방법.
  7. 제1항에 있어서,
    상기 최종 광학 흐름을 획득하는 단계는,
    상기 대상 이미지, 상기 대상 이미지를 상기 기준 이미지의 좌표계로 변환하는 픽셀 별 광학 흐름 및 상기 기준 이미지와 상기 대상 이미지 간의 중첩 영역 마스크를 제2 광학 흐름 추정 네트워크에 입력하여 상기 최종 광학 흐름을 획득하는 것을 특징으로 하는, 이미지 스티칭 방법.
  8. 제7항에 있어서,
    상기 제2 광학 흐름 추정 네트워크는,
    제2 모듈 및 제3 모듈을 포함하고,
    상기 최종 광학 흐름을 획득하는 단계는,
    상기 대상 이미지 및, 상기 픽셀 별 광학 흐름과 상기 중첩 영역 마스크에 기초하여 산출된 중첩 영역의 광학 흐름을 상기 제2 모듈에 입력하여 초기 광학 흐름, 어피니티(affinity) 및 오프셋(offset)을 획득하는 단계; 및
    상기 중첩 영역 마스크, 상기 초기 광학 흐름, 상기 어피니티 및 상기 오프셋을 상기 제3 모듈에 입력하여 상기 최종 광학 흐름을 획득하는 단계를 포함하는, 이미지 스티칭 방법.
  9. 제8항에 있어서,
    상기 제2 모듈은,
    하나 이상의 엔코더 및 하나 이상의 디코더(decoder)를 포함하는 것을 특징으로 하는, 이미지 스티칭 방법.
  10. 제8항에 있어서,
    상기 제3 모듈은,
    상기 중첩 영역 마스크, 상기 초기 광학 흐름, 상기 어피니티 및 상기 오프셋에 기초하여 변형 가능한 컨볼루션 연산(Deformable convolution)을 통한 전파를 반복적으로 수행함으로써 상기 비 중첩 영역에 대한 광학 흐름을 추정하는 것을 특징으로 하는, 이미지 스티칭 방법.
  11. 제8항에 있어서,
    상기 제2 모듈은,
    컨볼루셔널 신경망(CNN; Convolutional Neural Network)에 기반한 네트워크 구조를 포함하고,
    상기 제3 모듈은,
    SPN(Spatial Propagation Network)에 기반한 네트워크 구조를 포함하는 것을 특징으로 하는, 이미지 스티칭 방법.
  12. 제7항에 있어서,
    상기 제2 광학 흐름 추정 네트워크는,
    상기 비 중첩 영역에 대한 광학 흐름에 기반하여 산출된 L1 손실 함수 값, 상기 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망 손실 함수 값 및 조건부 생성적 적대 신경망 손실 함수 값 중 적어도 일부에 기초하여 학습되는 것을 특징으로 하는, 이미지 스티칭 방법.
  13. 제1항에 있어서,
    상기 최종 스티칭 이미지를 획득하는 단계는,
    상기 기준 이미지, 상기 대상 이미지 및 상기 최종 광학 흐름을 이미지 스티칭 네트워크에 입력하여 상기 최종 스티칭 이미지를 획득하는 것을 특징으로 하는, 이미지 스티칭 방법.
  14. 제13항에 있어서,
    상기 이미지 스티칭 네트워크는,
    하나 이상의 제4 모듈, 제5 모듈 및 제6 모듈을 포함하고,
    상기 최종 스티칭 이미지를 획득하는 단계는,
    상기 기준 이미지와 상기 대상 이미지를 상기 제4 모듈 중 적어도 하나에 입력하여 상기 기준 이미지의 해상도 별 특징 맵과 상기 대상 이미지의 해상도 별 특징 맵을 획득하는 단계;
    상기 대상 이미지, 상기 대상 이미지의 해상도 별 특징 맵, 상기 최종 광학 흐름을 상기 제5 모듈에 입력하여 워핑(warping)된 대상 이미지와 상기 대상 이미지의 해상도 별 워핑된 특징 맵을 획득하는 단계; 및
    상기 기준 이미지, 상기 기준 이미지의 해상도 별 특징 맵, 상기 워핑된 대상 이미지, 상기 대상 이미지의 해상도 별 워핑된 특징 맵을 상기 제6 모듈에 입력하여 상기 최종 스티칭 이미지를 획득하는 단계를 포함하는, 이미지 스티칭 방법.
  15. 제14항에 있어서,
    상기 제4 모듈은,
    FPN(Feature Pyramid Network)에 기반한 네트워크 구조를 포함하고,
    상기 제5 모듈은,
    순방향 워핑 방식에 기반한 네트워크 구조를 포함하고,
    상기 제6 모듈은,
    GridNet에 기반한 네트워크 구조를 포함하는 것을 특징으로 하는, 이미지 스티칭 방법.
  16. 제13항에 있어서,
    상기 이미지 스티칭 네트워크는,
    상기 최종 스티칭 이미지에 기반하여 산출된 무조건부 생성적 적대 신경망 손실 함수 값 및 조건부 생성적 적대 신경망 손실 함수 값 중 적어도 일부에 기초하여 학습되는 것을 특징으로 하는, 이미지 스티칭 방법.
  17. 하나 이상의 프로세서들;
    메모리; 및
    하나 이상의 프로그램들을 포함하고,
    상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
    상기 하나 이상의 프로그램들은,
    기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하기 위한 명령;
    상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하기 위한 명령; 및
    상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하기 위한 명령을 포함하는, 장치.
  18. 하드웨어와 결합되어,
    기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하는 단계;
    상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하는 단계; 및
    상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  19. 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage medium)로서,
    컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고,
    상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가:
    기준 이미지와 대상 이미지의 중첩 영역에 대한 광학 흐름을 추정하는 단계;
    상기 중첩 영역에 대한 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지의 비 중첩 영역에 대한 광학 흐름을 추정함으로써 최종 광학 흐름을 획득하는 단계; 및
    상기 최종 광학 흐름에 기초하여 상기 기준 이미지와 상기 대상 이미지가 합성된 최종 스티칭 이미지를 획득하는 단계를 포함하는 이미지 스티칭 방법을 수행하도록 하는, 비일시적 컴퓨터 판독 가능한 저장 매체.
KR1020210157069A 2021-11-15 2021-11-15 이미지 스티칭을 위한 장치 및 그 방법 KR102571530B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210157069A KR102571530B1 (ko) 2021-11-15 2021-11-15 이미지 스티칭을 위한 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210157069A KR102571530B1 (ko) 2021-11-15 2021-11-15 이미지 스티칭을 위한 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20230070962A KR20230070962A (ko) 2023-05-23
KR102571530B1 true KR102571530B1 (ko) 2023-08-28

Family

ID=86544986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210157069A KR102571530B1 (ko) 2021-11-15 2021-11-15 이미지 스티칭을 위한 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102571530B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020533710A (ja) * 2017-09-15 2020-11-19 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 画像ステッチング方法および装置、記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020533710A (ja) * 2017-09-15 2020-11-19 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 画像ステッチング方法および装置、記憶媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Guilin Liu ET AL, Image Inpainting for Irregular Holes Using Partial Convolutions, European conference on computer vision 2018, 15 Dec. 2018(2018.12.15.) 1부.*
Phillip Isola ET AL, Image-to-Image Translation with Conditional Adversarial Networks, In Proceedings of the IEEE conference on computer vision and pattern recognition, 26 Nov. 2018(2018.11.26.) 1부.*
Zachary Teed ET AL, RAFT: Recurrent All-Pairs Field Transforms for Optical Flow, Page In European conference on computer vision, 25 Aug. 2020(2020.08.25.) 1부.*

Also Published As

Publication number Publication date
KR20230070962A (ko) 2023-05-23

Similar Documents

Publication Publication Date Title
CN109584276B (zh) 关键点检测方法、装置、设备及可读介质
US11195049B2 (en) Electronic device localization based on imagery
CN111465962B (zh) 用于手持式用户设备的增强现实的运动深度
CN111783986A (zh) 网络训练方法及装置、姿态预测方法及装置
WO2021017358A1 (zh) 位姿确定方法及装置、电子设备和存储介质
KR102658834B1 (ko) 액티브 이미지 깊이 예측
TW201429242A (zh) 擴增實境場景中決定個體化深度資訊的系統和方法
US20200372614A1 (en) Image/video deblurring using convolutional neural networks with applications to sfm/slam with blurred images/videos
KR102572986B1 (ko) 사용자 지정 초기화 포인트에 기반한 개체 추적
US20170034431A1 (en) Method and system to assist a user to capture an image or video
US11210864B2 (en) Solution for generating virtual reality representation
US20210065351A1 (en) Object count estimation apparatus, object count estimation method, and computer program product
US11689825B2 (en) Method, apparatus, and recording medium for processing image
KR20200028317A (ko) 증강 현실 응용들을 위한 비디오들 내의 실 시간 오버레이 배치
JP2016071874A (ja) 視差画像生成方法及び視差画像生成装置
CN115272565A (zh) 一种头部三维模型的重建方法及电子设备
JP2022547594A (ja) ジョイントローリングシャッター補正及び画像ぼけ除去
US11514645B2 (en) Electronic device for providing visual localization based on outdoor three-dimension map information and operating method thereof
WO2024001526A1 (zh) 图像处理方法、装置及电子设备
KR102571530B1 (ko) 이미지 스티칭을 위한 장치 및 그 방법
US11188787B1 (en) End-to-end room layout estimation
EP4206977A1 (en) Electronic device and control method of electronic device
US11915449B2 (en) Method and apparatus for estimating user pose using three-dimensional virtual space model
KR20220169472A (ko) 센서 캘리브레이트 방법 및 장치, 전자 기기와 저장 매체
KR102645640B1 (ko) 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법

Legal Events

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