KR102645640B1 - 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법 - Google Patents

이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR102645640B1
KR102645640B1 KR1020210157112A KR20210157112A KR102645640B1 KR 102645640 B1 KR102645640 B1 KR 102645640B1 KR 1020210157112 A KR1020210157112 A KR 1020210157112A KR 20210157112 A KR20210157112 A KR 20210157112A KR 102645640 B1 KR102645640 B1 KR 102645640B1
Authority
KR
South Korea
Prior art keywords
image
camera
target
coordinates
generating
Prior art date
Application number
KR1020210157112A
Other languages
English (en)
Other versions
KR20230070976A (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 KR1020210157112A priority Critical patent/KR102645640B1/ko
Publication of KR20230070976A publication Critical patent/KR20230070976A/ko
Application granted granted Critical
Publication of KR102645640B1 publication Critical patent/KR102645640B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces

Landscapes

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

Abstract

이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법이 개시된다. 본 개시에 따르면, 이미지 데이터셋 생성 장치는 3차원 데이터셋에서 기준 카메라와 대상 카메라에 대한 파라미터를 설정하고, 설정된 파라미터에 기초하여 기준 이미지와 대상 이미지를 추출하며, 더 나아가 폐색 마스크(occlusion mask), 중첩 마스크(overlap mask) 및 워프 벡터(warp vector)를 생성한다.

Description

이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법{APPARATUS FOR GENERATING IMAGE DATASET FOR TRAINING AND EVALUATION OF IMAGE STITCHING AND METHOD THEREOF}
본 개시는 이미지 스티칭을 수행하는 모델의 학습 및 평가를 위한 이미지 데이터셋 생성 기술에 관한 것으로, 구체적으로 물체의 3차원 정보를 담고 있는 기존의 데이터셋에서 이미지 스티칭 모델의 학습 및 평가에 이용될 수 있는 새로운 데이터셋을 생성하는 기술에 관한 것이다.
이미지 스티칭(Image stitching)은 여러 시점에서 촬영된, 중첩 영역을 갖는 이미지들을 조합하여 하나의 파노라마 이미지 또는 고해상도의 이미지를 생성하는 방법이다. 이미지 스티칭을 통해 합성된 이미지는 로봇 네비게이션, 고해상도 위성 이미지, 고해상도 의료 이미지 등 다양한 분야에 이용될 수 있다.
이에 따라, 딥 러닝(Deep learning) 기술을 이미지 스티칭에 적용하려는 시도가 활발히 이루어지고 있으며, 자연히 이미지 스티칭을 수행하는 딥 러닝 모델의 학습과 평가에 사용할 데이터셋이 요구되고 있다.
그러나, 이미지 스티칭 분야는 딥 러닝이 새롭게 적용되는 분야인 만큼 이미지 스티칭을 주 목적으로 하는 데이터셋은 거의 전무하다시피 하며, 기존의 딥 러닝 모델의 학습 및 평가에 이용되어 온 데이터셋은 학습 및 평가의 목적이 다른 관계로 이미지 스티칭 모델에 적용하기에는 적합하지 않다는 문제점이 존재한다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 3차원 데이터셋에서 이미지를 추출하고, 각 이미지에 대응되는 정답(GT; Ground Truth)을 생성함으로써 이미지 스티칭 모델의 학습 및 평가를 위한 데이터셋을 생성하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
보다 구체적으로, 본 개시는 3차원 데이터셋에서 기준 카메라 및 대상 카메라의 파라미터를 설정하여 기준 이미지와 대상 이미지를 추출하고, 기준 이미지-대상 이미지에 대응되는 폐색 마스크(occlusion mask), 중첩 마스크(overlap mask) 및 워프 벡터(warp vector)를 생성하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.
본 개시에 의해 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
개시되는 일 실시예에 따른 이미지 데이터셋 생성 방법은, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함한다.
일 실시예에 따르면, 상기 하나 이상의 파라미터는, 상기 기준 카메라의 위치 좌표, 상기 대상 카메라의 위치 좌표, 상기 기준 카메라의 오일러 각(Euler angle), 상기 대상 카메라의 오일러 각, 상기 기준 카메라의 초점 거리, 상기 대상 카메라의 초점 거리, 상기 기준 카메라의 해상도, 상기 대상 카메라의 해상도, 상기 기준 카메라의 투영 행렬(projection matrix), 상기 대상 카메라의 투영 행렬 중 적어도 일부를 포함할 수 있다.
일 실시예에 따르면, 상기 추출하는 단계는, 상기 기준 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 기준 이미지를 추출하고, 상기 대상 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 대상 이미지를 추출하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 추출하는 단계는, 상기 기준 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링(scaling)하여 합산함으로써 상기 기준 카메라의 위치 좌표와 오일러 각을 조절하고, 상기 대상 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링하여 합산함으로써 상기 대상 카메라의 위치 좌표와 오일러 각을 조절하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 폐색 마스크를 생성하는 단계는, 광선 투사(Ray casting) 알고리즘에 기초하여, 상기 기준 카메라의 위치 좌표에서 제1 광선을 투사하고 상기 대상 카메라의 위치 좌표에서 제2 광선을 투사함으로써 상기 폐색 마스크를 생성하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 폐색 마스크를 생성하는 단계는, 상기 기준 카메라의 위치 좌표에서 상기 기준 이미지의 각 픽셀이 가리키는 방향으로 상기 제1 광선을 투사하는 단계; 상기 제1 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제1 좌표로 산출하는 단계; 상기 대상 카메라의 위치 좌표에서 상기 제1 좌표를 향해 상기 제2 광선을 투사하는 단계; 상기 제2 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제2 좌표로 산출하는 단계; 및 상기 제1 좌표와 상기 제2 좌표의 일치 여부에 기초하여 상기 폐색 마스크를 생성하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 폐색 마스크를 생성하는 단계는, 상기 제1 좌표와 상기 제2 좌표가 일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 1을 할당하고, 상기 제1 좌표와 상기 제2 좌표가 불일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 0을 할당하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는, 상기 기준 카메라의 투영 행렬 및 상기 대상 카메라의 투영 행렬에 기초하여 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는, 상기 기준 카메라의 투영 행렬에 대한 역행렬을 산출하는 단계; 상기 기준 이미지의 각 픽셀의 좌표와 상기 역행렬을 행렬 곱셈하여 상기 기준 이미지의 각 픽셀 별 3차원 좌표를 산출하는 단계; 상기 대상 카메라의 투영 행렬을 상기 기준 이미지의 각 픽셀 별 3차원 좌표와 행렬 곱셈하여 상기 대상 카메라로부터 각 픽셀로의 투영 좌표를 산출하는 단계; 상기 투영 좌표 각각이 상기 대상 이미지에 포함되는지 여부에 기초하여 상기 중첩 마스크를 생성하는 단계; 및 상기 기준 이미지의 각 픽셀의 좌표와 상기 투영 좌표 각각에 기초하여 상기 워프 벡터를 생성하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 중첩 마스크를 생성하는 단계는, 상기 투영 좌표가 상기 대상 이미지에 포함되는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 1을 할당하고, 상기 투영 좌표가 상기 대상 이미지에 포함되지 않는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 0을 할당하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 워프 벡터를 생성하는 단계는, 상기 기준 이미지의 각 픽셀의 좌표에서 상기 투영 좌표 각각을 차감함으로써 상기 워프 벡터를 생성하는 것을 특징으로 할 수 있다.
일 실시예에 따르면, 상기 폐색 마스크, 상기 중첩 마스크 및 상기 워프 벡터는, 상기 기준 이미지 및 상기 대상 이미지에 대한 이미지 스티칭(Image stitching)을 수행하는 딥 러닝 모델의 학습(training) 및 평가(evaluation) 과정에서 정답(GT; Ground Truth)으로 이용되는 것을 특징으로 할 수 있다.
개시되는 일 실시예에 따른 이미지 데이터셋 생성 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함할 수 있고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하기 위한 명령; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하기 위한 명령; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하기 위한 명령; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하기 위한 명령을 포함할 수 있다.
개시되는 일 실시예에 따른 이미지 데이터셋 생성을 위한 컴퓨터 프로그램은, 하드웨어와 결합되어, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.
개시되는 일 실시예에 따른 비일시적 컴퓨터 판독 가능 저장 매체는, 컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고, 상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가: 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함하는 이미지 데이터셋 생성 방법을 수행하도록 할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따르면, 3차원 데이터셋만을 입력으로 하여 이미지 스티칭 모델의 학습 및 평가에 필요한 이미지 별 특성(예를 들어, 폐색 마스크, 중첩 마스크, 워프 벡터)을 생성하여 데이터셋을 구성함으로써, 이미지 스티칭 분야에 적합한 데이터셋을 구축하는 데 소요되는 비용 및 시간을 크게 절감할 수 있고, 더 나아가 이미지 스티칭과 관련된 알고리즘 개발을 촉진할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 이미지 데이터셋 생성 시스템을 설명하기 위한 개략적인 구성도이다.
도 2는 일 실시예에 따른 이미지 데이터셋 생성 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따라 폐색 마스크를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따라 중첩 마스크 및 워프 벡터를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 이미지 데이터셋 생성 장치를 설명하기 위한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하고, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.
명세서 전체에서 기재된 "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)를 포함한다. 또한, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
이미지 데이터셋 생성 장치(110)는 3차원 데이터셋을 입력으로 하여, 이미지 스티칭을 수행하는 모델의 학습 및 평가를 위해 이미지와 그에 상응하는 정답(GT; Ground Truth)으로 이루어진 데이터셋을 생성하는 장치를 의미한다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 유선 또는 무선의 네트워크를 통해 외부로부터 3차원 데이터셋을 획득할 수 있다. 보다 구체적으로, 3차원 데이터셋은 카메라로 대표되는 촬영 장치로부터 촬영된 3차원 공간에 대한 데이터셋일 수도 있고, 클라우드 서버에 기 저장된 데이터셋일 수도 있으며, 로컬 데이터베이스(DB)에 기 저장된 데이터셋일 수도 있다. 다만 이는 예시적인 것으로, 3차원 데이터셋의 생성을 위한 3차원 공간의 촬영 수단 또는 3차원 데이터셋의 저장 위치는 실시예에 따라서 다양하게 설정될 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 이미지 데이터셋을 생성한 후, 생성된 이미지 데이터셋을 별도의 저장 매체에 저장하거나, 이미지 데이터셋 생성 장치(110) 내의 저장 공간에 저장하거나, 재차 클라우드 서버나 로컬 DB에 저장할 수도 있다.
한편, 일 실시예에 따르면, 이미지 데이터셋 생성 장치(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)는 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 카메라에 대해 다음과 같은 파라미터 중 적어도 일부를 설정할 수 있다.
(1) 기준 카메라의 위치 좌표
(2) 기준 카메라의 오일러 각(Euler angle)
(3) 기준 카메라의 초점 거리
(4) 기준 카메라의 해상도
(5) 기준 카메라의 투영 행렬(projection matrix)
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 대상 카메라에 대해 다음과 같은 파라미터 중 적어도 일부를 설정할 수 있다.
(1) 대상 카메라의 위치 좌표
(2) 대상 카메라의 오일러 각
(3) 대상 카메라의 초점 거리
(4) 대상 카메라의 해상도
(5) 대상 카메라의 투영 행렬
예를 들어, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표를 (-30, 0, 0)으로, 대상 카메라의 위치 좌표를 (30, 0, 0)으로 설정하고, 각 카메라의 오일러 각을 (0, 0, 0)으로 설정할 수 있다.
한편, 보다 구체적으로, 이미지 데이터셋 생성 장치(110)는 각 카메라의 투영 행렬을 설정함에 있어서, 각 카메라의 내부적 특성에 대응되는 파라미터(intrinsic parameter)로부터 도출되는 내부적 행렬(intrinsic matrix)과 카메라의 외부적 특성에 대응되는 파라미터(extrinsic parameter)로부터 도출되는 외부적 행렬(extrinsic matrix)을 곱하여 각 카메라의 투영 행렬을 설정할 수 있다. 이와 관련하여 예시적으로, 카메라의 내부적 행렬은 카메라의 초점 거리, 해상도 등에 기초하여 도출될 수 있고, 카메라의 외부적 행렬은 카메라의 위치 좌표, 오일러 각 등에 기초하여 도출될 수 있다. 이렇게 설정된 투영 행렬은 3차원 좌표와 곱해짐으로써 3차원 좌표를 평면에 투영시킨 2차원 좌표를 산출하는 데 이용될 수 있다.
단계 S220에서, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 적어도 일부에 기초하여 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출할 수 있다. 후술할 단계 S230 및 S240을 통해 기준 이미지 및 대상 이미지에 대응되는 정답(폐색 마스크, 중첩 마스크, 워프 벡터)이 생성되므로, 이미지 데이터셋 생성 장치(110)는 단계 S220을 통해 여러 기준 이미지 및 대상 이미지를 추출함으로써 이미지 스티칭 모델의 학습 및 평가를 위한 방대한 데이터셋을 구성할 수 있다.
본 개시에 있어서, '기준 이미지'는 기준 카메라에 대해 설정된 파라미터에 기반하여 추출된 이미지를 의미하고, '대상 이미지'는 대상 카메라에 대해 설정된 파라미터에 기반하여 추출된 이미지이며 소정의 변형을 거친 후 기준 이미지에 스티칭(stitching)하고자 하는 이미지를 의미한다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 기준 카메라의 위치 좌표와 오일러 각을 조절함으로써 기준 이미지를 추출할 수 있고, 대상 카메라의 위치 좌표와 오일러 각을 조절함으로써 대상 이미지를 추출할 수 있다.
이와 관련하여 구체적으로, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링(scaling)하여 합산함으로써 기준 카메라의 위치 좌표와 오일러 각을 조절할 수 있다. 또한, 이미지 데이터셋 생성 장치(110)는 대상 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링하여 합산함으로써 대상 카메라의 위치 좌표와 오일러 각을 조절할 수 있다.
예를 들어, 이미지 데이터셋 생성 장치(110)는 아래의 수학식 1에 기반하여 카메라의 위치 좌표를 조절할 수 있다.
[수학식 1]
이때, 는 k번째로 조절된 카메라의 위치 좌표, 는 단계 S210에서 설정된 카메라의 위치 좌표, 의 크기를 조절하기 위한 스케일 팩터(scale factor), 는 0 이상 N-1 이하의 정수(이때, N은 추출할 이미지의 개수), 는 카메라의 위치 좌표 조절을 위해 k번째로 무작위로 추출된 3차원 벡터를 나타낸다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 상술한 수학식 1과 관련하여, 각 벡터 성분을 -1 이상 1 이하의 범위에서 무작위로 추출함으로써 를 추출할 수 있다.
다른 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 상술한 수학식 1과 관련하여, 카메라의 우측 방향을 x축으로, 카메라의 상측 방향을 y축으로, 카메라의 후면이 바라보는 방향을 z축으로 설정한 후, 아래 수학식 2에 기반하여 를 추출할 수 있다.
[수학식 2]
이때, 는 x축에 대한 단위 벡터, 는 y축에 대한 단위 벡터, 는 0 이상 2π 이하에서 무작위로 선택한 값을 나타낸다.
한편, 예를 들어, 이미지 데이터셋 생성 장치(110)는 아래의 수학식 3에 기반하여 카메라의 오일러 각을 조절할 수 있다.
[수학식 3]
이때, , , 은 오일러 각의 각 성분을 나타낸다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 상술한 수학식 3과 관련하여, 의 각 성분을 -1 이상 1 이하의 범위에서 무작위로 추출하고, 의 크기를 조절함으로써 카메라의 오일러 각을 조절할 수 있다.
단계 S230에서, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 적어도 일부에 기초하여, 대상 이미지에 의해 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 광선 투사(Ray casting) 알고리즘에 기초하여, 기준 카메라의 위치 좌표에서 제1 광선을 투사하고 대상 카메라의 위치 좌표에서 제2 광선을 투사함으로써 폐색 마스크를 생성할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)에 의해 생성된 폐색 마스크는 기준 이미지 및 대상 이미지에 대한 이미지 스티칭(Image stitching)을 수행하는 딥 러닝 모델의 학습(training) 및 평가(evaluation) 과정에서 정답(GT; Ground Truth)으로 이용될 수 있다.
이와 관련하여, 아래 도 3을 참조하여 보다 자세히 살펴보기로 한다.
도 3은 일 실시예에 따라 폐색 마스크를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.
도 3에 도시된 방법은 예를 들어, 상술한 이미지 데이터셋 생성 장치(110)에 의해 수행될 수 있다.
단계 S310에서, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표에서 기준 이미지의 각 픽셀이 가리키는 방향으로 제1 광선을 투사할 수 있다.
구체적으로, 기준 이미지는 3차원 공간 상에서 하나의 평면을 구성하므로, 기준 이미지의 각 픽셀에는 3차원 공간 상에서 좌표가 부여된다. 즉, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표에서 기준 이미지의 각 픽셀에 부여된 좌표를 향해 제1 광선을 투사할 수 있다.
단계 S320에서, 이미지 데이터셋 생성 장치(110)는 제1 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제1 좌표로 산출할 수 있다.
단계 S330에서, 이미지 데이터셋 생성 장치(110)는 대상 카메라의 위치 좌표에서 제1 좌표를 향해 제2 광선을 투사할 수 있다.
단계 S340에서, 이미지 데이터셋 생성 장치(110)는 제2 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제2 좌표로 산출할 수 있다.
단계 S350에서, 이미지 데이터셋 생성 장치(110)는 제1 좌표와 제2 좌표의 일치 여부에 기초하여 폐색 마스크를 생성할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 제1 좌표와 제2 좌표가 일치하는 경우, 기준 이미지의 픽셀과 대응되는 폐색 마스크의 픽셀에 1을 할당하고, 제1 좌표와 제2 좌표가 불일치하는 경우, 기준 이미지의 픽셀과 대응되는 폐색 마스크의 픽셀에 0을 할당함으로써 폐색 마스크를 생성할 수 있다.
다시 도 2를 참조하면, 단계 S240에서, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 적어도 일부에 기초하여, 기준 이미지와 대상 이미지 사이의 중첩 마스크(overlap mask) 및 대상 이미지에서 기준 이미지로의 워프 벡터(warp vector)를 생성할 수 있다.
본 개시에 있어서, '워프 벡터'는 이미지가 한 좌표계에서 다른 좌표계로 변환되었을 때, 이미지 상의 각 픽셀이 이동한 정도를 나타내는 벡터를 의미한다. 아울러, '중첩 마스크'는 변환도니 대상 이미지의 픽셀이 기준 이미지에 존재하는지 여부를 나타내는 행렬을 의미한다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬 및 대상 카메라의 투영 행렬에 기초하여 중첩 마스크 및 워프 벡터를 생성할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)에 의해 생성된 중첩 마스크 및 워프 벡터는 기준 이미지 및 대상 이미지에 대한 이미지 스티칭을 수행하는 딥 러닝 모델의 학습 및 평가 과정에서 정답으로 이용될 수 있다.
이와 관련하여, 아래 도 4를 참조하여 보다 자세히 살펴보기로 한다.
도 4는 일 실시예에 따라 중첩 마스크 및 워프 벡터를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.
도 4에 도시된 방법은 예를 들어, 상술한 이미지 데이터셋 생성 장치(110)에 의해 수행될 수 있다.
단계 S410에서, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬에 대한 역행렬을 산출할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬에 대한 무어-펜로즈 유사 역행렬(Moore-Penrose pseudoinverse matrix)을 산출할 수 있다. 이를 통해, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬이 정방 행렬이 아닌 경우에도 임의의 크기를 갖는 투영 행렬에 대해 역행렬을 산출할 수 있다.
단계 S420에서, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀의 좌표와 기준 카메라의 투영 행렬에 대한 역행렬을 행렬 곱셈하여 기준 이미지의 각 픽셀 별 3차원 좌표를 산출할 수 있다.
단계 S430에서, 이미지 데이터셋 생성 장치(110)는 대상 카메라의 투영 행렬을 기준 이미지의 각 픽셀 별 3차원 좌표와 행렬 곱셈하여 대상 카메라로부터 각 픽셀로의 투영 좌표를 산출할 수 있다.
단계 S440에서, 이미지 데이터셋 생성 장치(110)는 산출된 투영 좌표 각각이 대상 이미지에 포함되는지 여부에 기초하여 중첩 마스크를 생성할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 투영 좌표가 대상 이미지에 포함되는 경우, 기준 이미지의 픽셀과 대응되는 중첩 마스크의 픽셀에 1을 할당하고, 투영 좌표가 대상 이미지에 포함되지 않는 경우, 기준 이미지의 픽셀과 대응되는 중첩 마스크의 픽셀에 0을 할당함으로써 중첩 마스크를 생성할 수 있다.
단계 S450에서, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀의 좌표와 투영 좌표 각각에 기초하여 워프 벡터를 생성할 수 있다.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀의 좌표에서 투영 좌표 각각을 차감함으로써 워프 벡터를 생성할 수 있다. 즉 다시 말하면, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀에 대하여, 대상 이미지에서 기준 이미지로의 워프 벡터를 생성할 수 있다.
상기 도시된 흐름도 도 2 내지 도 4에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 특히, 도 4의 단계 S440과 단계 S450은 실시예에 따라 동시에 수행될 수도 있고, 순서를 바꾸어 수행될 수도 있다.
도 5는 일 실시예에 따른 이미지 데이터셋 생성 장치를 설명하기 위한 블록도이다.
이미지 데이터셋 생성 장치(110)는 일 실시예에 따라, 트랜시버(111), 프로세서(113) 및 메모리(115)를 포함할 수 있다. 이미지 데이터셋 생성 장치(110)는 트랜시버(111)를 통하여 기타 외부 장치 등과 연결되고, 데이터를 교환할 수 있다.
프로세서(113)는 도 1 내지 도 4를 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(115)는 도 1 내지 도 4를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 메모리(115)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(113)는 프로그램을 실행하고, 정보를 제공하기 위해 이미지 데이터셋 생성 장치(110)를 제어할 수 있다. 프로세서(113)에 의하여 실행되는 프로그램의 코드는 메모리(115)에 저장될 수 있다.
프로세서(113)는 트랜시버(111) 및 메모리(115)와 연결되어, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하고, 설정된 파라미터 중 적어도 일부에 기초하여 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하고, 설정된 파라미터 중 적어도 일부에 기초하여, 대상 이미지에 의해 기준 이미지에 적용되는 폐색 마스크를 생성하며, 설정된 파라미터 중 적어도 일부에 기초하여, 기준 이미지와 대상 이미지 사이의 중첩 마스크 및 대상 이미지에서 기준 이미지로의 워프 벡터를 생성 할 수 있다.
또한 일 실시예에 따른 이미지 데이터셋 생성 장치(110)는 사용자에게 정보를 제공할 수 있는 인터페이스를 더 포함할 수 있다.
도 5에 도시된 이미지 데이터셋 생성 장치(110)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 5에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전술한 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(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 (15)

  1. 하나 이상의 프로세서들, 메모리, 및 하나 이상의 프로그램들을 포함하는 이미지 데이터셋 생성 장치에 의해 수행되는, 모델의 학습 및 평가를 위한 이미지 데이터셋 생성 방법에 있어서,
    3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계;
    상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계;
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함하는, 이미지 데이터셋 생성 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 파라미터는,
    상기 기준 카메라의 위치 좌표, 상기 대상 카메라의 위치 좌표, 상기 기준 카메라의 오일러 각(Euler angle), 상기 대상 카메라의 오일러 각, 상기 기준 카메라의 초점 거리, 상기 대상 카메라의 초점 거리, 상기 기준 카메라의 해상도, 상기 대상 카메라의 해상도, 상기 기준 카메라의 투영 행렬(projection matrix), 상기 대상 카메라의 투영 행렬 중 적어도 일부를 포함하는, 이미지 데이터셋 생성 방법.
  3. 제1항에 있어서,
    상기 추출하는 단계는,
    상기 기준 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 기준 이미지를 추출하고, 상기 대상 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 대상 이미지를 추출하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  4. 제3항에 있어서,
    상기 추출하는 단계는,
    상기 기준 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링(scaling)하여 합산함으로써 상기 기준 카메라의 위치 좌표와 오일러 각을 조절하고, 상기 대상 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링하여 합산함으로써 상기 대상 카메라의 위치 좌표와 오일러 각을 조절하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  5. 제1항에 있어서,
    상기 폐색 마스크를 생성하는 단계는,
    광선 투사(Ray casting) 알고리즘에 기초하여, 상기 기준 카메라의 위치 좌표에서 제1 광선을 투사하고 상기 대상 카메라의 위치 좌표에서 제2 광선을 투사함으로써 상기 폐색 마스크를 생성하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  6. 제5항에 있어서,
    상기 폐색 마스크를 생성하는 단계는,
    상기 기준 카메라의 위치 좌표에서 상기 기준 이미지의 각 픽셀이 가리키는 방향으로 상기 제1 광선을 투사하는 단계;
    상기 제1 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제1 좌표로 산출하는 단계;
    상기 대상 카메라의 위치 좌표에서 상기 제1 좌표를 향해 상기 제2 광선을 투사하는 단계;
    상기 제2 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제2 좌표로 산출하는 단계; 및
    상기 제1 좌표와 상기 제2 좌표의 일치 여부에 기초하여 상기 폐색 마스크를 생성하는 단계를 포함하는, 이미지 데이터셋 생성 방법.
  7. 제6항에 있어서,
    상기 폐색 마스크를 생성하는 단계는,
    상기 제1 좌표와 상기 제2 좌표가 일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 1을 할당하고,
    상기 제1 좌표와 상기 제2 좌표가 불일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 0을 할당하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  8. 제1항에 있어서,
    상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는,
    상기 기준 카메라의 투영 행렬 및 상기 대상 카메라의 투영 행렬에 기초하여 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  9. 제8항에 있어서,
    상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는,
    상기 기준 카메라의 투영 행렬에 대한 역행렬을 산출하는 단계;
    상기 기준 이미지의 각 픽셀의 좌표와 상기 역행렬을 행렬 곱셈하여 상기 기준 이미지의 각 픽셀 별 3차원 좌표를 산출하는 단계;
    상기 대상 카메라의 투영 행렬을 상기 기준 이미지의 각 픽셀 별 3차원 좌표와 행렬 곱셈하여 상기 대상 카메라로부터 각 픽셀로의 투영 좌표를 산출하는 단계;
    상기 투영 좌표 각각이 상기 대상 이미지에 포함되는지 여부에 기초하여 상기 중첩 마스크를 생성하는 단계; 및
    상기 기준 이미지의 각 픽셀의 좌표와 상기 투영 좌표 각각에 기초하여 상기 워프 벡터를 생성하는 단계를 포함하는, 이미지 데이터셋 생성 방법.
  10. 제9항에 있어서,
    상기 중첩 마스크를 생성하는 단계는,
    상기 투영 좌표가 상기 대상 이미지에 포함되는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 1을 할당하고,
    상기 투영 좌표가 상기 대상 이미지에 포함되지 않는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 0을 할당하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  11. 제9항에 있어서,
    상기 워프 벡터를 생성하는 단계는,
    상기 기준 이미지의 각 픽셀의 좌표에서 상기 투영 좌표 각각을 차감함으로써 상기 워프 벡터를 생성하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  12. 제1항에 있어서,
    상기 폐색 마스크, 상기 중첩 마스크 및 상기 워프 벡터는,
    상기 기준 이미지 및 상기 대상 이미지에 대한 이미지 스티칭(Image stitching)을 수행하는 딥 러닝 모델의 학습(training) 및 평가(evaluation) 과정에서 정답(GT; Ground Truth)으로 이용되는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.
  13. 하나 이상의 프로세서들;
    메모리; 및
    하나 이상의 프로그램들을 포함하고,
    상기 하나 이상의 프로그램들은 상기 메모리에 저장되어 있고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
    상기 하나 이상의 프로그램들은,
    3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하기 위한 명령;
    상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하기 위한 명령;
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하기 위한 명령; 및
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하기 위한 명령을 포함하는, 장치.
  14. 하드웨어와 결합되어,
    3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계;
    상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계;
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  15. 컴퓨터 판독 가능한 명령어들을 저장한 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage medium)로서,
    상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가:
    3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계;
    상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계;
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및
    상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함하는 이미지 데이터셋 생성 방법을 수행하도록 하는, 비일시적 컴퓨터 판독 가능한 저장 매체.
KR1020210157112A 2021-11-15 2021-11-15 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법 KR102645640B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210157112A KR102645640B1 (ko) 2021-11-15 2021-11-15 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210157112A KR102645640B1 (ko) 2021-11-15 2021-11-15 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20230070976A KR20230070976A (ko) 2023-05-23
KR102645640B1 true KR102645640B1 (ko) 2024-03-11

Family

ID=86544815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210157112A KR102645640B1 (ko) 2021-11-15 2021-11-15 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102645640B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190362541A1 (en) 2016-09-12 2019-11-28 Invrsion S.R.L. System, device and method for creating three-dimensional models
US20200085382A1 (en) 2017-05-30 2020-03-19 Arterys Inc. Automated lesion detection, segmentation, and longitudinal identification
US20200364509A1 (en) 2019-05-16 2020-11-19 Naver Corporation System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression
KR102198851B1 (ko) 2019-11-12 2021-01-05 네이버랩스 주식회사 물체의 3차원 모델 데이터 생성 방법
US20210063520A1 (en) 2019-08-29 2021-03-04 Shanghai United Imaging Intelligence Co., Ltd. Methods and devices for generating sampling masks related to imaging
KR102247288B1 (ko) 2019-11-29 2021-05-03 울산과학기술원 워핑 잔차에 기초하여 시차가 큰 이미지를 스티칭하는 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190362541A1 (en) 2016-09-12 2019-11-28 Invrsion S.R.L. System, device and method for creating three-dimensional models
US20200085382A1 (en) 2017-05-30 2020-03-19 Arterys Inc. Automated lesion detection, segmentation, and longitudinal identification
US20200364509A1 (en) 2019-05-16 2020-11-19 Naver Corporation System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression
US20210063520A1 (en) 2019-08-29 2021-03-04 Shanghai United Imaging Intelligence Co., Ltd. Methods and devices for generating sampling masks related to imaging
KR102198851B1 (ko) 2019-11-12 2021-01-05 네이버랩스 주식회사 물체의 3차원 모델 데이터 생성 방법
KR102247288B1 (ko) 2019-11-29 2021-05-03 울산과학기술원 워핑 잔차에 기초하여 시차가 큰 이미지를 스티칭하는 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Armeni, Iro, et al. Joint 2d-3d-semantic data for indoor scene understanding. arXiv preprint arXiv:1702.01105. 2017.
Zaragoza, Julio, et al. As-projective-as-possible image stitching with moving DLT. Proceedings of the IEEE conference on computer vision and pattern recognition. 2013.

Also Published As

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

Similar Documents

Publication Publication Date Title
US11954870B2 (en) Dynamic scene three-dimensional reconstruction method, apparatus and system, server, and medium
US20210224993A1 (en) Method for training generative network, method for generating near-infrared image and device
US20220218420A1 (en) Instrument-based registration and alignment for augmented reality environments
CN109032348B (zh) 基于增强现实的智能制造方法与设备
CN106651987A (zh) 路径规划方法及装置
US20210200190A1 (en) Action imitation method and robot and computer readable storage medium using the same
CN111783986A (zh) 网络训练方法及装置、姿态预测方法及装置
US10580182B2 (en) Facial feature adding method, facial feature adding apparatus, and facial feature adding device
CN110648397A (zh) 场景地图生成方法、装置、存储介质及电子设备
US10991122B2 (en) Processing images to localize novel objects
CN113426117B (zh) 虚拟相机拍摄参数获取方法、装置、电子设备和存储介质
JP2015518594A (ja) デジタル画像分析のため空間制約を用いた統合インタラクティブセグメンテーション法
CN111737506A (zh) 一种三维数据的展示方法、装置及电子设备
KR102358464B1 (ko) 인공지능 기술을 이용하여 영상 정보로부터 3d 캐릭터 애니메이션을 자동으로 생성하는 3d 이미지 변환장치 및 이를 포함하는 3d 이미지 변환시스템
CN108038916B (zh) 一种增强现实的显示方法
KR101797814B1 (ko) 이미지 비교 알고리즘에 기반한 소아 교육용 학습 장치 및 방법
KR102645640B1 (ko) 이미지 스티칭 학습 및 평가를 위한 이미지 데이터셋 생성 장치 및 그 방법
KR20140030444A (ko) 마커리스 증강현실 서비스 제공 장치 및 이를 위한 촬영 위치 추정 방법
KR102445082B1 (ko) 블록 퍼즐의 솔루션을 제공하는 서버의 제어 방법
CN113168706A (zh) 视频流的帧中的对象位置确定
CN115239856A (zh) 3d虚拟对象的动画生成方法、装置、终端设备及介质
US11202000B2 (en) Learning apparatus, image generation apparatus, learning method, image generation method, and program
KR102571530B1 (ko) 이미지 스티칭을 위한 장치 및 그 방법
CN113643343A (zh) 深度估计模型的训练方法、装置、电子设备及存储介质
KR102445215B1 (ko) 적대적 패치 최적화 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant