KR20230070976A - Apparatus for generating image dataset for training and evaluation of image stitching and method thereof - Google Patents
Apparatus for generating image dataset for training and evaluation of image stitching and method thereof Download PDFInfo
- Publication number
- KR20230070976A KR20230070976A KR1020210157112A KR20210157112A KR20230070976A KR 20230070976 A KR20230070976 A KR 20230070976A KR 1020210157112 A KR1020210157112 A KR 1020210157112A KR 20210157112 A KR20210157112 A KR 20210157112A KR 20230070976 A KR20230070976 A KR 20230070976A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- camera
- coordinates
- generating
- target
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000011156 evaluation Methods 0.000 title claims abstract description 8
- 238000012549 training Methods 0.000 title claims description 5
- 239000013598 vector Substances 0.000 claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013136 deep learning model Methods 0.000 claims description 6
- 238000005266 casting Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims 2
- 239000000284 extract Substances 0.000 abstract description 8
- 238000011161 development Methods 0.000 abstract description 2
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G06T3/0093—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control 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)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Artificial Intelligence (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
Abstract
Description
본 개시는 이미지 스티칭을 수행하는 모델의 학습 및 평가를 위한 이미지 데이터셋 생성 기술에 관한 것으로, 구체적으로 물체의 3차원 정보를 담고 있는 기존의 데이터셋에서 이미지 스티칭 모델의 학습 및 평가에 이용될 수 있는 새로운 데이터셋을 생성하는 기술에 관한 것이다.The present disclosure relates to an image dataset generation technology for learning and evaluating a model performing image stitching, and specifically, it can be used for learning and evaluating an image stitching model in an existing dataset containing 3D information of an object. It is about a technique to create a new dataset that exists.
이미지 스티칭(Image stitching)은 여러 시점에서 촬영된, 중첩 영역을 갖는 이미지들을 조합하여 하나의 파노라마 이미지 또는 고해상도의 이미지를 생성하는 방법이다. 이미지 스티칭을 통해 합성된 이미지는 로봇 네비게이션, 고해상도 위성 이미지, 고해상도 의료 이미지 등 다양한 분야에 이용될 수 있다.Image stitching is a method of generating a single panoramic image or a high-resolution image by combining images having overlapping regions captured at various viewpoints. Images synthesized through image stitching can be used in various fields such as robot navigation, high-resolution satellite images, and high-resolution medical images.
이에 따라, 딥 러닝(Deep learning) 기술을 이미지 스티칭에 적용하려는 시도가 활발히 이루어지고 있으며, 자연히 이미지 스티칭을 수행하는 딥 러닝 모델의 학습과 평가에 사용할 데이터셋이 요구되고 있다.Accordingly, attempts to apply deep learning technology to image stitching are actively being made, and a dataset to be used for training and evaluation of a deep learning model that naturally performs image stitching is required.
그러나, 이미지 스티칭 분야는 딥 러닝이 새롭게 적용되는 분야인 만큼 이미지 스티칭을 주 목적으로 하는 데이터셋은 거의 전무하다시피 하며, 기존의 딥 러닝 모델의 학습 및 평가에 이용되어 온 데이터셋은 학습 및 평가의 목적이 다른 관계로 이미지 스티칭 모델에 적용하기에는 적합하지 않다는 문제점이 존재한다.However, as the field of image stitching is a field where deep learning is newly applied, there are almost no datasets for the main purpose of image stitching, and the datasets used for training and evaluation of existing deep learning models are There is a problem that is not suitable for application to the image stitching model because the purpose of is different.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 3차원 데이터셋에서 이미지를 추출하고, 각 이미지에 대응되는 정답(GT; Ground Truth)을 생성함으로써 이미지 스티칭 모델의 학습 및 평가를 위한 데이터셋을 생성하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.The present disclosure is proposed to solve the above-described problems, and extracts images from a 3D dataset and generates a correct answer (GT; Ground Truth) corresponding to each image. A dataset for learning and evaluating an image stitching model It is an object of the present invention to provide a method for generating and a device using the same.
보다 구체적으로, 본 개시는 3차원 데이터셋에서 기준 카메라 및 대상 카메라의 파라미터를 설정하여 기준 이미지와 대상 이미지를 추출하고, 기준 이미지-대상 이미지에 대응되는 폐색 마스크(occlusion mask), 중첩 마스크(overlap mask) 및 워프 벡터(warp vector)를 생성하는 방법 및 이를 이용한 장치를 제공하는 것을 목적으로 한다.More specifically, the present disclosure extracts a reference image and a target image by setting parameters of a reference camera and a target camera in a 3D dataset, and sets an occlusion mask and an overlap mask corresponding to the reference image and the target image. An object of the present invention is to provide a method for generating a mask and a warp vector and a device using the same.
본 개시에 의해 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problem to be achieved by the present disclosure is not limited to the technical problems as described above, and other technical problems may be inferred from the following embodiments.
개시되는 일 실시예에 따른 이미지 데이터셋 생성 방법은, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함한다.A method for generating an image dataset according to an embodiment disclosed herein includes setting one or more parameters for a reference camera and a target camera in a 3D dataset; extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters; generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image, based on at least some of the set parameters.
일 실시예에 따르면, 상기 하나 이상의 파라미터는, 상기 기준 카메라의 위치 좌표, 상기 대상 카메라의 위치 좌표, 상기 기준 카메라의 오일러 각(Euler angle), 상기 대상 카메라의 오일러 각, 상기 기준 카메라의 초점 거리, 상기 대상 카메라의 초점 거리, 상기 기준 카메라의 해상도, 상기 대상 카메라의 해상도, 상기 기준 카메라의 투영 행렬(projection matrix), 상기 대상 카메라의 투영 행렬 중 적어도 일부를 포함할 수 있다.According to an embodiment, the one or more parameters may include position coordinates of the reference camera, position coordinates of the target camera, Euler angle of the reference camera, Euler angle of the target camera, and focal length of the reference camera. , a focal length of the target camera, a resolution of the reference camera, a resolution of the target camera, a projection matrix of the reference camera, and a projection matrix of the target camera.
일 실시예에 따르면, 상기 추출하는 단계는, 상기 기준 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 기준 이미지를 추출하고, 상기 대상 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 대상 이미지를 추출하는 것을 특징으로 할 수 있다.According to an embodiment, the extracting may include extracting the reference image by adjusting position coordinates and Euler angles of the reference camera, and extracting the target image by adjusting position coordinates and Euler angles of the target camera. can be characterized.
일 실시예에 따르면, 상기 추출하는 단계는, 상기 기준 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링(scaling)하여 합산함으로써 상기 기준 카메라의 위치 좌표와 오일러 각을 조절하고, 상기 대상 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링하여 합산함으로써 상기 대상 카메라의 위치 좌표와 오일러 각을 조절하는 것을 특징으로 할 수 있다.According to an embodiment, the extracting may include scaling and summing unit vectors randomly extracted within a preset range to the position coordinates of the reference camera and set values of Euler angles, thereby adding the position coordinates of the reference camera. and Euler angles, and adjusting the position coordinates of the target camera and Euler angles by scaling and adding randomly extracted unit vectors within a preset range to each of the set values of the target camera and Euler angles. can be done with
일 실시예에 따르면, 상기 폐색 마스크를 생성하는 단계는, 광선 투사(Ray casting) 알고리즘에 기초하여, 상기 기준 카메라의 위치 좌표에서 제1 광선을 투사하고 상기 대상 카메라의 위치 좌표에서 제2 광선을 투사함으로써 상기 폐색 마스크를 생성하는 것을 특징으로 할 수 있다.According to an embodiment, the generating of the occlusion mask may include projecting a first ray at the location coordinates of the reference camera and generating a second ray at the location coordinates of the target camera based on a ray casting algorithm. It may be characterized in that the occlusion mask is generated by projecting.
일 실시예에 따르면, 상기 폐색 마스크를 생성하는 단계는, 상기 기준 카메라의 위치 좌표에서 상기 기준 이미지의 각 픽셀이 가리키는 방향으로 상기 제1 광선을 투사하는 단계; 상기 제1 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제1 좌표로 산출하는 단계; 상기 대상 카메라의 위치 좌표에서 상기 제1 좌표를 향해 상기 제2 광선을 투사하는 단계; 상기 제2 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제2 좌표로 산출하는 단계; 및 상기 제1 좌표와 상기 제2 좌표의 일치 여부에 기초하여 상기 폐색 마스크를 생성하는 단계를 포함할 수 있다.According to an embodiment, the generating of the occlusion mask may include projecting the first light ray in a direction indicated by each pixel of the reference image at position coordinates of the reference camera; calculating the coordinates of an object that the first ray first encounters in a traveling path as first coordinates; projecting the second light ray toward the first coordinates from the location coordinates of the target camera; calculating the coordinates of an object that the second ray encounters first in a traveling path as second coordinates; and generating the occlusion mask based on whether the first coordinates match the second coordinates.
일 실시예에 따르면, 상기 폐색 마스크를 생성하는 단계는, 상기 제1 좌표와 상기 제2 좌표가 일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 1을 할당하고, 상기 제1 좌표와 상기 제2 좌표가 불일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 0을 할당하는 것을 특징으로 할 수 있다.According to an embodiment, the generating of the occlusion mask may include allocating 1 to a pixel of the occlusion mask corresponding to a pixel of the reference image when the first coordinate and the second coordinate match, and When the first coordinate and the second coordinate do not match, 0 may be assigned to a pixel of the occlusion mask corresponding to a pixel of the reference image.
일 실시예에 따르면, 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는, 상기 기준 카메라의 투영 행렬 및 상기 대상 카메라의 투영 행렬에 기초하여 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 것을 특징으로 할 수 있다.According to an embodiment, the generating of the overlapping mask and the warp vector may include generating the overlapping mask and the warp vector based on a projection matrix of the reference camera and a projection matrix of the target camera. there is.
일 실시예에 따르면, 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는, 상기 기준 카메라의 투영 행렬에 대한 역행렬을 산출하는 단계; 상기 기준 이미지의 각 픽셀의 좌표와 상기 역행렬을 행렬 곱셈하여 상기 기준 이미지의 각 픽셀 별 3차원 좌표를 산출하는 단계; 상기 대상 카메라의 투영 행렬을 상기 기준 이미지의 각 픽셀 별 3차원 좌표와 행렬 곱셈하여 상기 대상 카메라로부터 각 픽셀로의 투영 좌표를 산출하는 단계; 상기 투영 좌표 각각이 상기 대상 이미지에 포함되는지 여부에 기초하여 상기 중첩 마스크를 생성하는 단계; 및 상기 기준 이미지의 각 픽셀의 좌표와 상기 투영 좌표 각각에 기초하여 상기 워프 벡터를 생성하는 단계를 포함할 수 있다.According to an embodiment, the generating of the overlap mask and the warp vector may include calculating an inverse matrix of a projection matrix of the reference camera; calculating three-dimensional coordinates for each pixel of the reference image by matrix-multiplying the coordinates of each pixel of the reference image with the inverse matrix; Calculating projection coordinates from the target camera to each pixel by matrix multiplication of the projection matrix of the target camera by the three-dimensional coordinates of each pixel of the reference image; generating the overlapping mask based on whether each of the projection coordinates is included in the target image; and generating the warp vector based on the coordinates of each pixel of the reference image and the projection coordinates.
일 실시예에 따르면, 상기 중첩 마스크를 생성하는 단계는, 상기 투영 좌표가 상기 대상 이미지에 포함되는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 1을 할당하고, 상기 투영 좌표가 상기 대상 이미지에 포함되지 않는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 0을 할당하는 것을 특징으로 할 수 있다.According to an embodiment, the generating of the overlapping mask may include allocating 1 to a pixel of the overlapping mask corresponding to a pixel of the reference image when the projection coordinates are included in the target image, and the projection coordinates are When not included in the target image, 0 may be assigned to pixels of the overlapping mask corresponding to pixels of the reference image.
일 실시예에 따르면, 상기 워프 벡터를 생성하는 단계는, 상기 기준 이미지의 각 픽셀의 좌표에서 상기 투영 좌표 각각을 차감함으로써 상기 워프 벡터를 생성하는 것을 특징으로 할 수 있다.According to an embodiment, the generating of the warp vector may include generating the warp vector by subtracting each of the projected coordinates from the coordinates of each pixel of the reference image.
일 실시예에 따르면, 상기 폐색 마스크, 상기 중첩 마스크 및 상기 워프 벡터는, 상기 기준 이미지 및 상기 대상 이미지에 대한 이미지 스티칭(Image stitching)을 수행하는 딥 러닝 모델의 학습(training) 및 평가(evaluation) 과정에서 정답(GT; Ground Truth)으로 이용되는 것을 특징으로 할 수 있다.According to an embodiment, the occlusion mask, the overlap mask, and the warp vector train and evaluate a deep learning model that performs image stitching on the reference image and the target image. It may be characterized in that it is used as a correct answer (GT; Ground Truth) in the process.
개시되는 일 실시예에 따른 이미지 데이터셋 생성 장치는, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함할 수 있고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하기 위한 명령; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하기 위한 명령; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하기 위한 명령; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하기 위한 명령을 포함할 수 있다.An apparatus for generating an image dataset according to an exemplary embodiment includes one or more processors; Memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs, in a 3D data set, are configured to operate on a reference camera and a target camera. instructions for setting one or more parameters for; a command for extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters; an instruction for generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and instructions for generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image, based on at least some of the set parameters. can
개시되는 일 실시예에 따른 이미지 데이터셋 생성을 위한 컴퓨터 프로그램은, 하드웨어와 결합되어, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.A computer program for generating an image dataset according to an embodiment disclosed herein includes, in combination with hardware, setting one or more parameters for a reference camera and a target camera in a 3D dataset; extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters; generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image based on at least some of the set parameters. It can be stored in a computer readable recording medium.
개시되는 일 실시예에 따른 비일시적 컴퓨터 판독 가능 저장 매체는, 컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고, 상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가: 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계; 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및 상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함하는 이미지 데이터셋 생성 방법을 수행하도록 할 수 있다.A non-transitory computer readable storage medium according to an embodiment disclosed herein includes a medium configured to store computer readable instructions, and when the computer readable instructions are executed by a processor, the processor: 3D data set setting one or more parameters for a reference camera and a target camera in; extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters; generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image, based on at least some of the set parameters. Data set creation method can be performed.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.
본 개시에 따르면, 3차원 데이터셋만을 입력으로 하여 이미지 스티칭 모델의 학습 및 평가에 필요한 이미지 별 특성(예를 들어, 폐색 마스크, 중첩 마스크, 워프 벡터)을 생성하여 데이터셋을 구성함으로써, 이미지 스티칭 분야에 적합한 데이터셋을 구축하는 데 소요되는 비용 및 시간을 크게 절감할 수 있고, 더 나아가 이미지 스티칭과 관련된 알고리즘 개발을 촉진할 수 있다.According to the present disclosure, image-specific features (eg, occlusion mask, overlapping mask, warp vector) required for learning and evaluation of an image stitching model are generated using only a 3D dataset as an input to construct a dataset, thereby image stitching The cost and time required to build a dataset suitable for the field can be greatly reduced, and furthermore, the development of algorithms related to image stitching can be promoted.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
도 1은 일 실시예에 따른 이미지 데이터셋 생성 시스템을 설명하기 위한 개략적인 구성도이다.
도 2는 일 실시예에 따른 이미지 데이터셋 생성 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따라 폐색 마스크를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따라 중첩 마스크 및 워프 벡터를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 이미지 데이터셋 생성 장치를 설명하기 위한 블록도이다.1 is a schematic configuration diagram illustrating a system for generating an image dataset according to an exemplary embodiment.
2 is a flowchart illustrating a method of generating an image dataset according to an exemplary embodiment.
3 is a flowchart for describing in detail a step of generating an occlusion mask according to an exemplary embodiment.
4 is a flowchart for explaining in detail a step of generating an overlap mask and a warp vector according to an embodiment.
5 is a block diagram illustrating an apparatus for generating an image dataset according to an exemplary embodiment.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments have been selected as general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. In addition, in a specific case, there are also terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the corresponding description. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하고, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.When it is said that a certain part "includes" a certain component throughout the specification, it means that it may further include other components without excluding other components unless otherwise stated. In addition, terms such as "...unit" and "...module" described in the specification mean a unit that processes at least one function or operation, which is implemented as hardware or software or a combination of hardware and software. It may be, and unlike the illustrated example, it may not be clearly distinguished in specific operations.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.The expression of "at least one of a, b, and c" described throughout the specification means 'a alone', 'b alone', 'c alone', 'a and b', 'a and c', 'b and c' ', or 'all a, b, and 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) 기반의 무선 통신 장치를 포함할 수 있다.A “terminal” referred to below may be implemented as a computer or portable terminal capable of accessing a server or other terminals through a network. Here, the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), etc. It may include a handheld-based wireless communication device.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다.In the following description, terms such as "transmission", "communication", "transmission", "reception" and other similar meanings of signals or information refer not only to direct transmission of signals or information from one component to another, but also to It also includes passing through other components.
특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.In particular, "transmitting" or "transmitting" a signal or information as a component indicates the final destination of the signal or information, and does not mean a direct destination. The same is true for "reception" of signals or information. Also, in this specification, two or more data or information being “related” means that when one data (or information) is obtained, at least a portion of other data (or information) can be obtained based thereon.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다.Also, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly convey the gist of the present invention without obscuring it by omitting unnecessary description.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, in the accompanying drawings, some components are exaggerated, omitted, or schematically illustrated. Also, the size of each component does not entirely reflect the actual size. In each figure, the same reference number is assigned to the same or corresponding component.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.
처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.It will be appreciated that each block of process flow diagrams and combinations of flow diagrams may be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment are described in the flowchart block(s). It creates means to perform functions. These computer program instructions may also be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular way, such that the computer usable or computer readable memory The instructions stored in are also capable of producing an article of manufacture containing instruction means that perform the functions described in the flowchart block(s). The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to generate computer or other programmable data processing equipment. Instructions for performing processing equipment may also provide steps for performing the functions described in the flowchart block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is possible for the functions mentioned in the blocks to occur out of order. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in reverse order depending on their function.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily carry out the present disclosure. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
도 1은 일 실시예에 따른 이미지 데이터셋 생성 시스템을 설명하기 위한 개략적인 구성도이다.1 is a schematic configuration diagram illustrating a system for generating an image dataset according to an exemplary embodiment.
도시된 바와 같이, 일 실시예에 따른 이미지 데이터셋 생성 시스템(100)은 이미지 데이터셋 생성 장치(110)를 포함한다. 또한, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.As shown, the image
이미지 데이터셋 생성 장치(110)는 3차원 데이터셋을 입력으로 하여, 이미지 스티칭을 수행하는 모델의 학습 및 평가를 위해 이미지와 그에 상응하는 정답(GT; Ground Truth)으로 이루어진 데이터셋을 생성하는 장치를 의미한다.The image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 유선 또는 무선의 네트워크를 통해 외부로부터 3차원 데이터셋을 획득할 수 있다. 보다 구체적으로, 3차원 데이터셋은 카메라로 대표되는 촬영 장치로부터 촬영된 3차원 공간에 대한 데이터셋일 수도 있고, 클라우드 서버에 기 저장된 데이터셋일 수도 있으며, 로컬 데이터베이스(DB)에 기 저장된 데이터셋일 수도 있다. 다만 이는 예시적인 것으로, 3차원 데이터셋의 생성을 위한 3차원 공간의 촬영 수단 또는 3차원 데이터셋의 저장 위치는 실시예에 따라서 다양하게 설정될 수 있다.According to an embodiment, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 이미지 데이터셋을 생성한 후, 생성된 이미지 데이터셋을 별도의 저장 매체에 저장하거나, 이미지 데이터셋 생성 장치(110) 내의 저장 공간에 저장하거나, 재차 클라우드 서버나 로컬 DB에 저장할 수도 있다.According to an embodiment, after generating an image dataset, the image
한편, 일 실시예에 따르면, 이미지 데이터셋 생성 장치(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) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.Meanwhile, according to an embodiment, a wired or wireless network used to transmit an input to the image
이상과 관련하여, 이하 도면들을 통해 보다 상세히 설명하기로 한다.In relation to the above, it will be described in more detail through the following drawings.
도 2는 일 실시예에 따른 이미지 데이터셋 생성 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method of generating an image dataset according to an exemplary embodiment.
도 2에 도시된 방법은 예를 들어, 상술한 이미지 데이터셋 생성 장치(110)에 의해 수행될 수 있다.The method shown in FIG. 2 may be performed, for example, by the above-described image
단계 S210에서, 이미지 데이터셋 생성 장치(110)는 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정할 수 있다.In step S210, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 카메라에 대해 다음과 같은 파라미터 중 적어도 일부를 설정할 수 있다.According to an embodiment, the image
(1) 기준 카메라의 위치 좌표(1) Positional coordinates of the reference camera
(2) 기준 카메라의 오일러 각(Euler angle)(2) Euler angle of reference camera
(3) 기준 카메라의 초점 거리(3) Focal length of reference camera
(4) 기준 카메라의 해상도(4) Resolution of reference camera
(5) 기준 카메라의 투영 행렬(projection matrix)(5) Projection matrix of reference camera
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 대상 카메라에 대해 다음과 같은 파라미터 중 적어도 일부를 설정할 수 있다.According to an embodiment, the image
(1) 대상 카메라의 위치 좌표(1) Positional coordinates of the target camera
(2) 대상 카메라의 오일러 각(2) Euler angle of target camera
(3) 대상 카메라의 초점 거리(3) Focal length of target camera
(4) 대상 카메라의 해상도(4) Resolution of target camera
(5) 대상 카메라의 투영 행렬(5) Projection matrix of target camera
예를 들어, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표를 (-30, 0, 0)으로, 대상 카메라의 위치 좌표를 (30, 0, 0)으로 설정하고, 각 카메라의 오일러 각을 (0, 0, 0)으로 설정할 수 있다.For example, the image
한편, 보다 구체적으로, 이미지 데이터셋 생성 장치(110)는 각 카메라의 투영 행렬을 설정함에 있어서, 각 카메라의 내부적 특성에 대응되는 파라미터(intrinsic parameter)로부터 도출되는 내부적 행렬(intrinsic matrix)과 카메라의 외부적 특성에 대응되는 파라미터(extrinsic parameter)로부터 도출되는 외부적 행렬(extrinsic matrix)을 곱하여 각 카메라의 투영 행렬을 설정할 수 있다. 이와 관련하여 예시적으로, 카메라의 내부적 행렬은 카메라의 초점 거리, 해상도 등에 기초하여 도출될 수 있고, 카메라의 외부적 행렬은 카메라의 위치 좌표, 오일러 각 등에 기초하여 도출될 수 있다. 이렇게 설정된 투영 행렬은 3차원 좌표와 곱해짐으로써 3차원 좌표를 평면에 투영시킨 2차원 좌표를 산출하는 데 이용될 수 있다.Meanwhile, more specifically, in setting the projection matrix of each camera, the image
단계 S220에서, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 적어도 일부에 기초하여 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출할 수 있다. 후술할 단계 S230 및 S240을 통해 기준 이미지 및 대상 이미지에 대응되는 정답(폐색 마스크, 중첩 마스크, 워프 벡터)이 생성되므로, 이미지 데이터셋 생성 장치(110)는 단계 S220을 통해 여러 기준 이미지 및 대상 이미지를 추출함으로써 이미지 스티칭 모델의 학습 및 평가를 위한 방대한 데이터셋을 구성할 수 있다.In step S220, the image
본 개시에 있어서, '기준 이미지'는 기준 카메라에 대해 설정된 파라미터에 기반하여 추출된 이미지를 의미하고, '대상 이미지'는 대상 카메라에 대해 설정된 파라미터에 기반하여 추출된 이미지이며 소정의 변형을 거친 후 기준 이미지에 스티칭(stitching)하고자 하는 이미지를 의미한다.In the present disclosure, a 'reference image' refers to an image extracted based on parameters set for a reference camera, and a 'target image' refers to an image extracted based on parameters set for a target camera and after undergoing a predetermined transformation. This means an image to be stitched to the reference image.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 기준 카메라의 위치 좌표와 오일러 각을 조절함으로써 기준 이미지를 추출할 수 있고, 대상 카메라의 위치 좌표와 오일러 각을 조절함으로써 대상 이미지를 추출할 수 있다.According to an embodiment, the image
이와 관련하여 구체적으로, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링(scaling)하여 합산함으로써 기준 카메라의 위치 좌표와 오일러 각을 조절할 수 있다. 또한, 이미지 데이터셋 생성 장치(110)는 대상 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링하여 합산함으로써 대상 카메라의 위치 좌표와 오일러 각을 조절할 수 있다.In this regard, in detail, the image
예를 들어, 이미지 데이터셋 생성 장치(110)는 아래의 수학식 1에 기반하여 카메라의 위치 좌표를 조절할 수 있다.For example, the image
[수학식 1][Equation 1]
이때, 는 k번째로 조절된 카메라의 위치 좌표, 는 단계 S210에서 설정된 카메라의 위치 좌표, 는 의 크기를 조절하기 위한 스케일 팩터(scale factor), 는 0 이상 N-1 이하의 정수(이때, N은 추출할 이미지의 개수), 는 카메라의 위치 좌표 조절을 위해 k번째로 무작위로 추출된 3차원 벡터를 나타낸다.At this time, is the coordinates of the position of the k-th adjusted camera, is the location coordinate of the camera set in step S210, Is A scale factor for adjusting the size of is an integer from 0 to N-1 (where N is the number of images to be extracted), represents a k-th randomly extracted 3D vector for adjusting the position coordinates of the camera.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 상술한 수학식 1과 관련하여, 각 벡터 성분을 -1 이상 1 이하의 범위에서 무작위로 추출함으로써 를 추출할 수 있다.According to an embodiment, the image
다른 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 상술한 수학식 1과 관련하여, 카메라의 우측 방향을 x축으로, 카메라의 상측 방향을 y축으로, 카메라의 후면이 바라보는 방향을 z축으로 설정한 후, 아래 수학식 2에 기반하여 를 추출할 수 있다.According to another embodiment, in relation to Equation 1 above, the image
[수학식 2][Equation 2]
이때, 는 x축에 대한 단위 벡터, 는 y축에 대한 단위 벡터, 는 0 이상 2π 이하에서 무작위로 선택한 값을 나타낸다.At this time, is the unit vector about the x-axis, is the unit vector about the y-axis, represents a randomly selected value from 0 to 2π.
한편, 예를 들어, 이미지 데이터셋 생성 장치(110)는 아래의 수학식 3에 기반하여 카메라의 오일러 각을 조절할 수 있다.Meanwhile, for example, the image
[수학식 3][Equation 3]
이때, , , 은 오일러 각의 각 성분을 나타낸다.At this time, , , represents each component of Euler angles.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 상술한 수학식 3과 관련하여, 의 각 성분을 -1 이상 1 이하의 범위에서 무작위로 추출하고, 로 의 크기를 조절함으로써 카메라의 오일러 각을 조절할 수 있다.According to an embodiment, the image
단계 S230에서, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 적어도 일부에 기초하여, 대상 이미지에 의해 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성할 수 있다.In operation S230, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 광선 투사(Ray casting) 알고리즘에 기초하여, 기준 카메라의 위치 좌표에서 제1 광선을 투사하고 대상 카메라의 위치 좌표에서 제2 광선을 투사함으로써 폐색 마스크를 생성할 수 있다.According to an embodiment, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)에 의해 생성된 폐색 마스크는 기준 이미지 및 대상 이미지에 대한 이미지 스티칭(Image stitching)을 수행하는 딥 러닝 모델의 학습(training) 및 평가(evaluation) 과정에서 정답(GT; Ground Truth)으로 이용될 수 있다.According to an embodiment, the occlusion mask generated by the image
이와 관련하여, 아래 도 3을 참조하여 보다 자세히 살펴보기로 한다.In this regard, it will be examined in more detail with reference to FIG. 3 below.
도 3은 일 실시예에 따라 폐색 마스크를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.3 is a flowchart for describing in detail a step of generating an occlusion mask according to an exemplary embodiment.
도 3에 도시된 방법은 예를 들어, 상술한 이미지 데이터셋 생성 장치(110)에 의해 수행될 수 있다.The method shown in FIG. 3 may be performed, for example, by the above-described image
단계 S310에서, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표에서 기준 이미지의 각 픽셀이 가리키는 방향으로 제1 광선을 투사할 수 있다.In operation S310, the image
구체적으로, 기준 이미지는 3차원 공간 상에서 하나의 평면을 구성하므로, 기준 이미지의 각 픽셀에는 3차원 공간 상에서 좌표가 부여된다. 즉, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 위치 좌표에서 기준 이미지의 각 픽셀에 부여된 좌표를 향해 제1 광선을 투사할 수 있다.Specifically, since the reference image constitutes one plane in the 3D space, coordinates are assigned to each pixel of the reference image in the 3D space. That is, the image
단계 S320에서, 이미지 데이터셋 생성 장치(110)는 제1 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제1 좌표로 산출할 수 있다.In step S320, the image
단계 S330에서, 이미지 데이터셋 생성 장치(110)는 대상 카메라의 위치 좌표에서 제1 좌표를 향해 제2 광선을 투사할 수 있다.In operation S330, the image
단계 S340에서, 이미지 데이터셋 생성 장치(110)는 제2 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제2 좌표로 산출할 수 있다.In step S340, the image
단계 S350에서, 이미지 데이터셋 생성 장치(110)는 제1 좌표와 제2 좌표의 일치 여부에 기초하여 폐색 마스크를 생성할 수 있다.In step S350, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 제1 좌표와 제2 좌표가 일치하는 경우, 기준 이미지의 픽셀과 대응되는 폐색 마스크의 픽셀에 1을 할당하고, 제1 좌표와 제2 좌표가 불일치하는 경우, 기준 이미지의 픽셀과 대응되는 폐색 마스크의 픽셀에 0을 할당함으로써 폐색 마스크를 생성할 수 있다.According to an embodiment, when the first coordinates and the second coordinates match, the image
다시 도 2를 참조하면, 단계 S240에서, 이미지 데이터셋 생성 장치(110)는 설정된 파라미터 중 적어도 일부에 기초하여, 기준 이미지와 대상 이미지 사이의 중첩 마스크(overlap mask) 및 대상 이미지에서 기준 이미지로의 워프 벡터(warp vector)를 생성할 수 있다.Referring back to FIG. 2 , in step S240, the image
본 개시에 있어서, '워프 벡터'는 이미지가 한 좌표계에서 다른 좌표계로 변환되었을 때, 이미지 상의 각 픽셀이 이동한 정도를 나타내는 벡터를 의미한다. 아울러, '중첩 마스크'는 변환도니 대상 이미지의 픽셀이 기준 이미지에 존재하는지 여부를 나타내는 행렬을 의미한다.In the present disclosure, a 'warp vector' refers to a vector representing a degree of movement of each pixel on an image when the image is transformed from one coordinate system to another. In addition, an 'overlapping mask' means a matrix indicating whether pixels of an image to be converted are present in the reference image.
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬 및 대상 카메라의 투영 행렬에 기초하여 중첩 마스크 및 워프 벡터를 생성할 수 있다.According to an embodiment, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)에 의해 생성된 중첩 마스크 및 워프 벡터는 기준 이미지 및 대상 이미지에 대한 이미지 스티칭을 수행하는 딥 러닝 모델의 학습 및 평가 과정에서 정답으로 이용될 수 있다.According to an embodiment, the overlapping mask and warp vector generated by the image
이와 관련하여, 아래 도 4를 참조하여 보다 자세히 살펴보기로 한다.In this regard, it will be examined in more detail with reference to FIG. 4 below.
도 4는 일 실시예에 따라 중첩 마스크 및 워프 벡터를 생성하는 단계를 보다 상세히 설명하기 위한 흐름도이다.4 is a flowchart for explaining in detail a step of generating an overlap mask and a warp vector according to an embodiment.
도 4에 도시된 방법은 예를 들어, 상술한 이미지 데이터셋 생성 장치(110)에 의해 수행될 수 있다.The method shown in FIG. 4 may be performed, for example, by the above-described image
단계 S410에서, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬에 대한 역행렬을 산출할 수 있다.In step S410, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬에 대한 무어-펜로즈 유사 역행렬(Moore-Penrose pseudoinverse matrix)을 산출할 수 있다. 이를 통해, 이미지 데이터셋 생성 장치(110)는 기준 카메라의 투영 행렬이 정방 행렬이 아닌 경우에도 임의의 크기를 갖는 투영 행렬에 대해 역행렬을 산출할 수 있다.According to an embodiment, the image
단계 S420에서, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀의 좌표와 기준 카메라의 투영 행렬에 대한 역행렬을 행렬 곱셈하여 기준 이미지의 각 픽셀 별 3차원 좌표를 산출할 수 있다.In operation S420, the image
단계 S430에서, 이미지 데이터셋 생성 장치(110)는 대상 카메라의 투영 행렬을 기준 이미지의 각 픽셀 별 3차원 좌표와 행렬 곱셈하여 대상 카메라로부터 각 픽셀로의 투영 좌표를 산출할 수 있다.In operation S430 , the image
단계 S440에서, 이미지 데이터셋 생성 장치(110)는 산출된 투영 좌표 각각이 대상 이미지에 포함되는지 여부에 기초하여 중첩 마스크를 생성할 수 있다.In operation S440, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 투영 좌표가 대상 이미지에 포함되는 경우, 기준 이미지의 픽셀과 대응되는 중첩 마스크의 픽셀에 1을 할당하고, 투영 좌표가 대상 이미지에 포함되지 않는 경우, 기준 이미지의 픽셀과 대응되는 중첩 마스크의 픽셀에 0을 할당함으로써 중첩 마스크를 생성할 수 있다.According to an embodiment, when the projected coordinates are included in the target image, the image
단계 S450에서, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀의 좌표와 투영 좌표 각각에 기초하여 워프 벡터를 생성할 수 있다.In operation S450, the image
일 실시예에 따르면, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀의 좌표에서 투영 좌표 각각을 차감함으로써 워프 벡터를 생성할 수 있다. 즉 다시 말하면, 이미지 데이터셋 생성 장치(110)는 기준 이미지의 각 픽셀에 대하여, 대상 이미지에서 기준 이미지로의 워프 벡터를 생성할 수 있다.According to an embodiment, the image
상기 도시된 흐름도 도 2 내지 도 4에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 특히, 도 4의 단계 S440과 단계 S450은 실시예에 따라 동시에 수행될 수도 있고, 순서를 바꾸어 수행될 수도 있다.2 to 4, the method is divided into a plurality of steps, but at least some steps are performed in reverse order, combined with other steps, performed together, omitted, or divided into detailed steps. Or, one or more steps not shown may be added and performed. In particular, steps S440 and S450 of FIG. 4 may be performed simultaneously or in reverse order according to an embodiment.
도 5는 일 실시예에 따른 이미지 데이터셋 생성 장치를 설명하기 위한 블록도이다.5 is a block diagram illustrating an apparatus for generating an image dataset according to an exemplary embodiment.
이미지 데이터셋 생성 장치(110)는 일 실시예에 따라, 트랜시버(111), 프로세서(113) 및 메모리(115)를 포함할 수 있다. 이미지 데이터셋 생성 장치(110)는 트랜시버(111)를 통하여 기타 외부 장치 등과 연결되고, 데이터를 교환할 수 있다.The image
프로세서(113)는 도 1 내지 도 4를 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(115)는 도 1 내지 도 4를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 메모리(115)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.The
프로세서(113)는 프로그램을 실행하고, 정보를 제공하기 위해 이미지 데이터셋 생성 장치(110)를 제어할 수 있다. 프로세서(113)에 의하여 실행되는 프로그램의 코드는 메모리(115)에 저장될 수 있다.The
프로세서(113)는 트랜시버(111) 및 메모리(115)와 연결되어, 3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하고, 설정된 파라미터 중 적어도 일부에 기초하여 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하고, 설정된 파라미터 중 적어도 일부에 기초하여, 대상 이미지에 의해 기준 이미지에 적용되는 폐색 마스크를 생성하며, 설정된 파라미터 중 적어도 일부에 기초하여, 기준 이미지와 대상 이미지 사이의 중첩 마스크 및 대상 이미지에서 기준 이미지로의 워프 벡터를 생성 할 수 있다.The
또한 일 실시예에 따른 이미지 데이터셋 생성 장치(110)는 사용자에게 정보를 제공할 수 있는 인터페이스를 더 포함할 수 있다.Also, the image
도 5에 도시된 이미지 데이터셋 생성 장치(110)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 5에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.In the image
전술한 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The device according to the above-described embodiments includes a processor, a memory for storing and executing program data, a permanent storage unit such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, a button, and the like. The same user interface device and the like may be included. Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor. Here, the computer-readable recording medium includes magnetic storage media (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and optical reading media (e.g., CD-ROM) ), and DVD (Digital Versatile Disc). A computer-readable recording medium may be distributed among computer systems connected through a network, and computer-readable codes may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed by a processor.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 메시지 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.This embodiment can be presented as functional block structures and various processing steps. These functional blocks may be implemented with any number of hardware or/and software components that perform specific functions. For example, an embodiment is an integrated circuit configuration such as memory, processing, logic, look-up table, etc., which can execute various functions by control of one or more microprocessors or other control devices. can employ them. Similar to components that can be implemented as software programming or software elements, the present embodiments include data structures, processes, routines, or various algorithms implemented as combinations of other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, or the like. Functional aspects may be implemented in an algorithm running on one or more processors. In addition, this embodiment may employ conventional techniques for electronic environment setting, signal processing, message processing, and/or data processing. Terms such as "mechanism", "element", "means", and "composition" may be used broadly and are not limited to mechanical and physical components. The term may include a meaning of a series of software routines in association with a processor or the like.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.The foregoing embodiments are merely examples and other embodiments may be implemented within the scope of the claims described below.
Claims (15)
3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계;
상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계;
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함하는, 이미지 데이터셋 생성 방법.In the method of generating an image dataset for learning and evaluating a model,
setting one or more parameters for a reference camera and a target camera in a 3D dataset;
extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters;
generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and
generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image based on at least some of the set parameters; How to create a dataset.
상기 하나 이상의 파라미터는,
상기 기준 카메라의 위치 좌표, 상기 대상 카메라의 위치 좌표, 상기 기준 카메라의 오일러 각(Euler angle), 상기 대상 카메라의 오일러 각, 상기 기준 카메라의 초점 거리, 상기 대상 카메라의 초점 거리, 상기 기준 카메라의 해상도, 상기 대상 카메라의 해상도, 상기 기준 카메라의 투영 행렬(projection matrix), 상기 대상 카메라의 투영 행렬 중 적어도 일부를 포함하는, 이미지 데이터셋 생성 방법.According to claim 1,
The one or more parameters are
Position coordinates of the reference camera, position coordinates of the target camera, Euler angle of the reference camera, Euler angle of the target camera, focal length of the reference camera, focal length of the target camera, A method of generating an image dataset, comprising at least a part of a resolution, a resolution of the target camera, a projection matrix of the reference camera, and a projection matrix of the target camera.
상기 추출하는 단계는,
상기 기준 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 기준 이미지를 추출하고, 상기 대상 카메라의 위치 좌표와 오일러 각을 조절함으로써 상기 대상 이미지를 추출하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 1,
The extraction step is
The method of generating an image dataset, characterized in that the reference image is extracted by adjusting the positional coordinates and Euler angles of the reference camera, and the target image is extracted by adjusting the positional coordinates and Euler angles of the target camera.
상기 추출하는 단계는,
상기 기준 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링(scaling)하여 합산함으로써 상기 기준 카메라의 위치 좌표와 오일러 각을 조절하고, 상기 대상 카메라의 위치 좌표와 오일러 각의 설정 값 각각에 기 설정된 범위 내에서 무작위 추출된 단위 벡터를 스케일링하여 합산함으로써 상기 대상 카메라의 위치 좌표와 오일러 각을 조절하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 3,
The extraction step is
The position coordinates of the reference camera and Euler angles are adjusted by scaling and summing randomly extracted unit vectors within a preset range to each set value of the position coordinates of the reference camera and Euler angles, and the position of the target camera is adjusted. A method of generating an image dataset, characterized by adjusting the position coordinates of the target camera and the Euler angles by scaling and adding randomly extracted unit vectors within a preset range to each set value of the coordinates and Euler angles.
상기 폐색 마스크를 생성하는 단계는,
광선 투사(Ray casting) 알고리즘에 기초하여, 상기 기준 카메라의 위치 좌표에서 제1 광선을 투사하고 상기 대상 카메라의 위치 좌표에서 제2 광선을 투사함으로써 상기 폐색 마스크를 생성하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 1,
The step of generating the occlusion mask,
Based on a ray casting algorithm, the occlusion mask is generated by projecting a first ray at the position coordinates of the reference camera and projecting a second ray at the position coordinates of the target camera, characterized in that the image data How to create a set.
상기 폐색 마스크를 생성하는 단계는,
상기 기준 카메라의 위치 좌표에서 상기 기준 이미지의 각 픽셀이 가리키는 방향으로 상기 제1 광선을 투사하는 단계;
상기 제1 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제1 좌표로 산출하는 단계;
상기 대상 카메라의 위치 좌표에서 상기 제1 좌표를 향해 상기 제2 광선을 투사하는 단계;
상기 제2 광선이 진행 경로에서 최초로 만나는 개체의 좌표를 제2 좌표로 산출하는 단계; 및
상기 제1 좌표와 상기 제2 좌표의 일치 여부에 기초하여 상기 폐색 마스크를 생성하는 단계를 포함하는, 이미지 데이터셋 생성 방법.According to claim 5,
The step of generating the occlusion mask,
projecting the first light ray in a direction indicated by each pixel of the reference image from the location coordinates of the reference camera;
calculating the coordinates of an object that the first ray first encounters in a traveling path as first coordinates;
projecting the second light ray toward the first coordinates from the location coordinates of the target camera;
calculating the coordinates of an object that the second ray encounters first in a traveling path as second coordinates; and
and generating the occlusion mask based on whether the first coordinates match the second coordinates.
상기 폐색 마스크를 생성하는 단계는,
상기 제1 좌표와 상기 제2 좌표가 일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 1을 할당하고,
상기 제1 좌표와 상기 제2 좌표가 불일치하는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 폐색 마스크의 픽셀에 0을 할당하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 6,
The step of generating the occlusion mask,
assigning 1 to a pixel of the occlusion mask corresponding to a pixel of the reference image when the first coordinate and the second coordinate coincide;
and allocating 0 to a pixel of the occlusion mask corresponding to a pixel of the reference image when the first coordinate and the second coordinate do not match.
상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는,
상기 기준 카메라의 투영 행렬 및 상기 대상 카메라의 투영 행렬에 기초하여 상기 중첩 마스크 및 상기 워프 벡터를 생성하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 1,
Generating the overlap mask and the warp vector,
and generating the overlapping mask and the warp vector based on the projection matrix of the reference camera and the projection matrix of the target camera.
상기 중첩 마스크 및 상기 워프 벡터를 생성하는 단계는,
상기 기준 카메라의 투영 행렬에 대한 역행렬을 산출하는 단계;
상기 기준 이미지의 각 픽셀의 좌표와 상기 역행렬을 행렬 곱셈하여 상기 기준 이미지의 각 픽셀 별 3차원 좌표를 산출하는 단계;
상기 대상 카메라의 투영 행렬을 상기 기준 이미지의 각 픽셀 별 3차원 좌표와 행렬 곱셈하여 상기 대상 카메라로부터 각 픽셀로의 투영 좌표를 산출하는 단계;
상기 투영 좌표 각각이 상기 대상 이미지에 포함되는지 여부에 기초하여 상기 중첩 마스크를 생성하는 단계; 및
상기 기준 이미지의 각 픽셀의 좌표와 상기 투영 좌표 각각에 기초하여 상기 워프 벡터를 생성하는 단계를 포함하는, 이미지 데이터셋 생성 방법.According to claim 8,
Generating the overlap mask and the warp vector,
Calculating an inverse matrix of the projection matrix of the reference camera;
calculating three-dimensional coordinates for each pixel of the reference image by matrix-multiplying the coordinates of each pixel of the reference image with the inverse matrix;
Calculating projection coordinates from the target camera to each pixel by matrix multiplication of the projection matrix of the target camera by the three-dimensional coordinates of each pixel of the reference image;
generating the overlapping mask based on whether each of the projection coordinates is included in the target image; and
and generating the warp vector based on the coordinates of each pixel of the reference image and the projection coordinates, respectively.
상기 중첩 마스크를 생성하는 단계는,
상기 투영 좌표가 상기 대상 이미지에 포함되는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 1을 할당하고,
상기 투영 좌표가 상기 대상 이미지에 포함되지 않는 경우, 상기 기준 이미지의 픽셀과 대응되는 상기 중첩 마스크의 픽셀에 0을 할당하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 9,
Generating the overlapping mask,
If the projection coordinates are included in the target image, assigning 1 to pixels of the overlapping mask corresponding to pixels of the reference image;
and allocating 0 to pixels of the overlapping mask corresponding to pixels of the reference image when the projection coordinates are not included in the target image.
상기 워프 벡터를 생성하는 단계는,
상기 기준 이미지의 각 픽셀의 좌표에서 상기 투영 좌표 각각을 차감함으로써 상기 워프 벡터를 생성하는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 9,
Generating the warp vector,
and generating the warp vector by subtracting each of the projected coordinates from the coordinates of each pixel of the reference image.
상기 폐색 마스크, 상기 중첩 마스크 및 상기 워프 벡터는,
상기 기준 이미지 및 상기 대상 이미지에 대한 이미지 스티칭(Image stitching)을 수행하는 딥 러닝 모델의 학습(training) 및 평가(evaluation) 과정에서 정답(GT; Ground Truth)으로 이용되는 것을 특징으로 하는, 이미지 데이터셋 생성 방법.According to claim 1,
The occlusion mask, the overlap mask, and the warp vector,
Image data characterized in that it is used as a ground truth (GT) in the process of training and evaluation of a deep learning model that performs image stitching on the reference image and the target image How to create a set.
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하기 위한 명령;
상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하기 위한 명령;
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하기 위한 명령; 및
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하기 위한 명령을 포함하는, 장치.one or more processors;
Memory; and
contains one or more programs;
the one or more programs are stored in the memory and configured to be executed by the one or more processors;
The one or more programs,
instructions for setting one or more parameters for a reference camera and a target camera in a 3D dataset;
a command for extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters;
an instruction for generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and
Based on at least some of the set parameters, generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image, Device.
3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계;
상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계;
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.combined with hardware
setting one or more parameters for a reference camera and a target camera in a 3D dataset;
extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters;
generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and
Based on at least some of the set parameters, a computer to execute the step of generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image. A computer program stored on a readable recording medium.
컴퓨터 판독 가능 명령어들을 저장하도록 구성되는 매체를 포함하고,
상기 컴퓨터 판독 가능 명령어들은 프로세서에 의해 실행되는 경우 상기 프로세서가:
3차원 데이터셋에서 기준 카메라 및 대상 카메라에 대한 하나 이상의 파라미터를 설정하는 단계;
상기 설정된 파라미터 중 적어도 일부에 기초하여 상기 3차원 데이터셋에서 기준 이미지 및 대상 이미지를 추출하는 단계;
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 대상 이미지에 의해 상기 기준 이미지에 적용되는 폐색 마스크(occlusion mask)를 생성하는 단계; 및
상기 설정된 파라미터 중 적어도 일부에 기초하여, 상기 기준 이미지와 상기 대상 이미지 사이의 중첩 마스크(overlap mask) 및 상기 대상 이미지에서 상기 기준 이미지로의 워프 벡터(warp vector)를 생성하는 단계를 포함하는 이미지 데이터셋 생성 방법을 수행하도록 하는, 비일시적 컴퓨터 판독 가능한 저장 매체.
As a non-transitory computer readable storage medium,
a medium configured to store computer readable instructions;
The computer readable instructions, when executed by a processor, cause the processor to:
setting one or more parameters for a reference camera and a target camera in a 3D dataset;
extracting a reference image and a target image from the 3D dataset based on at least some of the set parameters;
generating an occlusion mask applied to the reference image by the target image, based on at least some of the set parameters; and
generating an overlap mask between the reference image and the target image and a warp vector from the target image to the reference image, based on at least some of the set parameters; A non-transitory computer-readable storage medium that enables performing a method of generating a set.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210157112A KR102645640B1 (en) | 2021-11-15 | 2021-11-15 | Apparatus for generating image dataset for training and evaluation of image stitching and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210157112A KR102645640B1 (en) | 2021-11-15 | 2021-11-15 | Apparatus for generating image dataset for training and evaluation of image stitching and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230070976A true KR20230070976A (en) | 2023-05-23 |
KR102645640B1 KR102645640B1 (en) | 2024-03-11 |
Family
ID=86544815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210157112A KR102645640B1 (en) | 2021-11-15 | 2021-11-15 | Apparatus for generating image dataset for training and evaluation of image stitching and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102645640B1 (en) |
Citations (6)
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 (en) * | 2019-11-12 | 2021-01-05 | 네이버랩스 주식회사 | Method for generating three dimensional model data of an object |
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 (en) * | 2019-11-29 | 2021-05-03 | 울산과학기술원 | Warping residual based image stitching for large parallax |
-
2021
- 2021-11-15 KR KR1020210157112A patent/KR102645640B1/en active IP Right Grant
Patent Citations (6)
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 (en) * | 2019-11-12 | 2021-01-05 | 네이버랩스 주식회사 | Method for generating three dimensional model data of an object |
KR102247288B1 (en) * | 2019-11-29 | 2021-05-03 | 울산과학기술원 | Warping residual based image stitching for large parallax |
Non-Patent Citations (2)
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 |
---|---|
KR102645640B1 (en) | 2024-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111465962B (en) | Depth of motion for augmented reality of handheld user device | |
CN111783986B (en) | Network training method and device, and gesture prediction method and device | |
US10923004B2 (en) | Information processing apparatus, information processing method, and computer program product for arranging a planar image within a panoramic image | |
JP5847924B2 (en) | 2D image capture for augmented reality representation | |
US20190026896A1 (en) | Segmentation and representation network for pose discrimination | |
CN106651987A (en) | Path planning method and device | |
CN109754464B (en) | Method and apparatus for generating information | |
TW201429242A (en) | System and method for determining individualized depth information in augmented reality scene | |
CN110648397A (en) | Scene map generation method and device, storage medium and electronic equipment | |
US20220067967A1 (en) | Methods and Systems for Intra-Capture Camera Calibration | |
CN111737506A (en) | Three-dimensional data display method and device and electronic equipment | |
CN109495733B (en) | Three-dimensional image reconstruction method, device and non-transitory computer readable storage medium thereof | |
JP2020009447A (en) | Method and device for augmenting reality | |
CN115349140A (en) | Efficient positioning based on multiple feature types | |
US11770551B2 (en) | Object pose estimation and tracking using machine learning | |
US20240161391A1 (en) | Relightable neural radiance field model | |
WO2021173489A1 (en) | Apparatus, method, and system for providing a three-dimensional texture using uv representation | |
CN109816791B (en) | Method and apparatus for generating information | |
KR20230070976A (en) | Apparatus for generating image dataset for training and evaluation of image stitching and method thereof | |
KR20230096826A (en) | Control method for server providing block puzzle with customized quiz difficulty for user level | |
CN113643343B (en) | Training method and device of depth estimation model, electronic equipment and storage medium | |
KR102534449B1 (en) | Image processing method, device, electronic device and computer readable storage medium | |
CN115239856A (en) | Animation generation method and device for 3D virtual object, terminal device and medium | |
KR102571530B1 (en) | Apparatus for image stitching and method thereof | |
US11202000B2 (en) | Learning apparatus, image generation apparatus, learning method, image generation method, and program |
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 |