KR101983586B1 - Method of stitching depth maps for stereo images - Google Patents
Method of stitching depth maps for stereo images Download PDFInfo
- Publication number
- KR101983586B1 KR101983586B1 KR1020170136880A KR20170136880A KR101983586B1 KR 101983586 B1 KR101983586 B1 KR 101983586B1 KR 1020170136880 A KR1020170136880 A KR 1020170136880A KR 20170136880 A KR20170136880 A KR 20170136880A KR 101983586 B1 KR101983586 B1 KR 101983586B1
- Authority
- KR
- South Korea
- Prior art keywords
- depth
- depth map
- segment
- image
- maps
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000002372 labelling Methods 0.000 claims description 23
- 238000005457 optimization Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 16
- 238000005259 measurement Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000013139 quantization Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
스테레오 이미지들에 관한 깊이 맵 스티칭 방법은 복수의 스테레오 카메라들로부터 스테레오 이미지들을 수신하여 깊이 맵들을 생성하는 깊이 맵 생성단계, 깊이 맵들 각각을 가상 공간 상에 조정하는 깊이 맵 조정단계 및 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭하는 깊이 맵 스티칭 단계를 포함한다. 따라서, 스테레오 이미지들에 관한 깊이 맵 스티칭 방법은 깊이 맵들이 중첩하는 영역에 나타난 세그먼트들 간의 매칭을 수행하고 매칭된 세그먼트들의 중첩 유형을 검출하여 검출된 중첩 유형에 따라 매칭된 세그먼트들을 하나의 깊이 값을 갖는 세그먼트로 통합할 수 있는 기술을 제공할 수 있다.The depth map stitching method for stereo images includes a depth map generation step of receiving stereo images from a plurality of stereo cameras to generate depth maps, a depth map adjustment step of adjusting each of the depth maps in a virtual space, and a depth map each. Determining an object based on the segment having a depth map stitching step of calculating the depth of the determined object to stitch the depth maps. Therefore, the depth map stitching method for stereo images performs matching between segments appearing in an area where the depth maps overlap and detects overlapping types of matched segments to determine matched segments according to the detected overlapping type as one depth value. It can provide a technique that can be integrated into a segment having a.
Description
본 발명은 스테레오 이미지 정합 기술에 관한 것으로, 보다 상세하게는, 스테레오 이미지들과 연관된 깊이 맵들에 관한 스티칭을 실시간으로 수행할 수 있는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법에 관한 것이다.FIELD OF THE INVENTION The present invention relates to stereo image matching techniques, and more particularly, to a depth map stitching method for stereo images capable of performing in real time stitching on depth maps associated with stereo images.
3차원 이미지는 스테레오 카메라를 통해 획득될 수 있다. 보다 구체적으로, 스테레오 카메라는 양안을 통해 각각 획득되는 오른쪽 및 왼쪽의 2차원 이미지들을 생성한다. 3차원 이미지는 오른쪽 및 왼쪽의 2차원 이미지에 관한 영상 처리를 통해 획득될 수 있고, 이러한 과정에서 깊이 맵이 사용될 수 있다. The three-dimensional image may be obtained through a stereo camera. More specifically, the stereo camera produces right and left two-dimensional images, respectively obtained through both eyes. The 3D image may be obtained through image processing on the 2D image of the right and the left, and the depth map may be used in this process.
한국 등록특허공보 제10-1370785호는 입체 영상의 깊이 맵 생성 방법 및 장치에 있어서, 소실점 뿐만 아니라 영상 내에 세부적인 선들도 함께 고려함으로써 영상의 깊이감을 보다 세부적으로 표현할 수 있도록 하는 입체 영상의 깊이 맵 생성 방법 및 장치에 관한 것이다.Korean Patent Publication No. 10-1370785 discloses a depth map of a stereoscopic image in a method and apparatus for generating a depth map of a stereoscopic image so that the depth of the stereoscopic image can be expressed in detail by considering not only vanishing points but also detailed lines in the image. It relates to a production method and apparatus.
한국 공개특허공보 제10-2016-0086802호는 깊이 맵 생성 장치 및 방법과 이를 이용한 입체 영상 변환 장치 및 방법에 관한 것으로서, 구체적으로는 입력 영상에 대해 적어도 하나의 특성 정보를 추출하는 특성정보 추출부, 상기 특성 정보를 기초로 상기 입력 영상에 대한 초기 깊이 맵을 생성하는 깊이 맵 초기화부, 상기 입력 영상에 대해 FFT를 수행하여 주파수 영상으로 변환하는 FFT 변환부, 상기 주파수 영상의 대표값과 상기 초기 깊이 맵의 평균값을 이용하여 상관관계 값을 구하고, 상기 상관 관계값을 근거로 최종 깊이 맵을 결정하는 깊이 맵 결정부를 포함하는 깊이 맵 생성 장치가 제공된다.Korean Patent Laid-Open Publication No. 10-2016-0086802 relates to a depth map generating apparatus and a method and a stereoscopic image converting apparatus and method using the same, specifically, a feature information extracting unit extracting at least one feature information on an input image A depth map initializer for generating an initial depth map of the input image based on the characteristic information, an FFT converter for performing an FFT on the input image, and converting the image into a frequency image, a representative value of the frequency image, and the initial value Provided is a depth map generator including a depth map determiner for obtaining a correlation value using an average value of a depth map and determining a final depth map based on the correlation value.
본 발명의 일 실시예는 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭할 수 있는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법을 제공하고자 한다.An embodiment of the present invention is to provide a depth map stitching method for stereo images that can stitch the depth maps by determining the object based on a segment in each of the depth maps and calculating the depth of the determined object.
본 발명의 일 실시예는 깊이 맵들의 중첩 영역에 있는 세그먼트들을 매칭 및 통합하여 깊이 맵들을 스티칭할 수 있는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법을 제공하고자 한다.One embodiment of the present invention is to provide a depth map stitching method for stereo images capable of stitching depth maps by matching and integrating segments in overlapping regions of the depth maps.
본 발명의 일 실시예는 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 매칭된 세그먼트들을 통합할 수 있는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법을 제공하고자 한다.One embodiment of the present invention is to provide a depth map stitching method for stereo images capable of integrating matched segments to have a single depth value by detecting overlapping types of matched segments.
실시예들 중에서, 스테레오 이미지들에 관한 깊이 맵 스티칭 방법은 복수의 스테레오 카메라들로부터 스테레오 이미지들을 수신하여 깊이 맵(depth map)들을 생성하는 깊이 맵 생성단계, 상기 깊이 맵들 각각을 가상 공간 상에 조정하는 깊이 맵 조정단계 및 상기 깊이 맵들 각각에 있는 세그먼트(segment)를 기초로 객체를 결정한 후 상기 결정된 객체의 깊이를 산출하여 상기 깊이 맵들을 스티칭(stitching)하는 깊이 맵 스티칭 단계를 포함한다.Among the embodiments, a depth map stitching method for stereo images includes a depth map generation step of receiving stereo images from a plurality of stereo cameras to generate depth maps, adjusting each of the depth maps in a virtual space; And a depth map stitching step of determining an object based on a segment in each of the depth maps, and calculating the depth of the determined object to stitch the depth maps.
상기 깊이 맵 스티칭 단계는 상기 세그먼트들에 관한 세그멘트 라벨링(labeling)을 수행하여 객체의 형태를 검출하는 단계를 더 포함할 수 있다.The depth map stitching may further include detecting a shape of an object by performing segment labeling on the segments.
상기 깊이 맵 스티칭 단계는 상기 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 상기 객체의 글로벌 깊이(global depth)를 조정하는 단계를 더 포함할 수 있다.The depth map stitching step may further include adjusting the global depth of the object by obtaining the approximate value of the depth by placing the detected object in a single plane.
상기 깊이 맵 스티칭 단계는 상기 스테레오 이미지들을 기초로 상기 검출된 객체에 관한 로컬 최적화를 수행하여 상기 검출된 객체의 로컬 깊이(local depth)를 산출하는 단계를 더 포함할 수 있다.The depth map stitching step may further include calculating a local depth of the detected object by performing local optimization on the detected object based on the stereo images.
상기 깊이 맵 스티칭 단계는 상기 깊이 맵들의 중첩 영역에 있는 세그먼트들을 매칭 및 통합하여 상기 깊이 맵들을 스티칭하는 단계를 포함할 수 있다.The depth map stitching step may include stitching the depth maps by matching and integrating segments in an overlapping area of the depth maps.
상기 깊이 맵 스티칭 단계는 상기 세그먼트들에 있는 각 객체의 깊이와 해당 스테레오 이미지들에 있는 각 해당 객체의 평균 RGB 거리를 기초로 상기 중첩 영역에 있는 세그먼트들을 매칭하는 단계를 더 포함할 수 있다.The depth map stitching step may further include matching segments in the overlap region based on a depth of each object in the segments and an average RGB distance of each corresponding object in the stereo images.
상기 깊이 맵 스티칭 단계는 상기 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 상기 매칭된 세그먼트들을 통합하는 단계를 더 포함할 수 있다.The depth map stitching step may further include incorporating the matched segments to have a single depth value by detecting an overlapping type of the matched segments.
상기 깊이 맵 스티칭 단계는 상기 스티칭의 경계 또는 상기 중첩 영역에서 특정 객체의 외형이 판별되지 않은 배경 영역이 있는 경우에는 해당 깊이 맵들에서 측정된 상기 배경 영역에 관한 평균 깊이 값으로 상기 깊이 맵들을 통합하는 단계를 더 포함할 수 있다.The depth map stitching may include integrating the depth maps into an average depth value of the background area measured in the corresponding depth maps when there is a background area in which the appearance of a specific object is not determined at the boundary of the stitching or the overlapping area. It may further comprise a step.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique can have the following effects. However, since a specific embodiment does not mean to include all of the following effects or only the following effects, it should not be understood that the scope of the disclosed technology is limited by this.
본 발명의 일 실시예에 따른 스테레오 이미지들에 관한 깊이 맵 스티칭 방법은 깊이 맵들의 중첩 영역에 있는 세그먼트들을 매칭 및 통합하여 깊이 맵들을 스티칭할 수 있는 기술을 제공할 수 있다.The depth map stitching method for stereo images according to an embodiment of the present invention may provide a technique for stitching depth maps by matching and integrating segments in overlapping regions of the depth maps.
본 발명의 일 실시예에 따른 스테레오 이미지들에 관한 맵 스티칭 방법은 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 매칭된 세그먼트들을 통합할 수 있는 기술을 제공할 수 있다.The map stitching method for stereo images according to an embodiment of the present invention may provide a technique capable of integrating matched segments to have a single depth value by detecting an overlapping type of matched segments.
도 1은 본 발명의 일 실시예에 따른 깊이 맵 스티칭 방법을 적용하여 실시간으로 합성된 가상 시점 이미지를 생성하는 전체 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 깊이 맵 생성 장치를 설명하는 블록도이다.
도 3은 도 2에 있는 깊이 맵 스티칭부를 설명하는 블록도이다.
도 4는 도 2에 있는 깊이 맵 조정부가 깊이 맵 구체를 생성하는 과정의 일 실시예를 설명하기 위한 도면이다.
도 5는 도 2에 있는 깊이 맵 스티칭부가 3차원 가상 공간 상에 정렬된 깊이 맵들을 하나의 투영 구체로 투영하여 통합하기 위한 과정을 수행하는 일 실시예를 설명하기 위한 도면이다.
도 6은 도 3에 있는 세그먼트 라벨링 모듈이 깊이 양자화 처리를 통해 중첩된 객체들의 깊이를 결정하는 과정의 일 실시예를 나타내는 도면이다.
도 7은 도 3에 있는 세그먼트 매칭 모듈이 세그먼트 매칭을 수행하기 위해 각 패치의 세그먼트들을 3차원 가상 공간 상에 재투영하는 과정의 일 실시예를 나타내는 도면이다.
도 8은 도 3에 있는 세그먼트 매칭 모듈이 깊이 맵들 간의 중첩 영역 내에 있는 중첩 세그먼트들 간의 매칭을 수행하는 과정의 일 실시예를 설명하는 도면이다.
도 9는 도 2에 있는 깊이 맵 생성 장치에서 수행되는 깊이 맵 스티칭 과정을 설명하는 순서도이다.1 is a diagram illustrating an entire system for generating a virtual view image synthesized in real time by applying a depth map stitching method according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an apparatus for generating a depth map in FIG. 1.
3 is a block diagram illustrating a depth map stitching unit in FIG. 2.
FIG. 4 is a diagram for describing an embodiment of a process of generating a depth map sphere by the depth map controller of FIG. 2.
FIG. 5 is a diagram for describing an exemplary embodiment in which the depth map stitching unit of FIG. 2 performs a process for integrating and projecting depth maps aligned on a 3D virtual space into one projection sphere.
FIG. 6 is a diagram illustrating an embodiment of a process of determining, by the segment labeling module of FIG. 3, depths of overlapping objects through depth quantization.
FIG. 7 is a diagram illustrating an embodiment of a process of reprojecting segments of each patch onto a 3D virtual space by the segment matching module of FIG. 3 to perform segment matching.
FIG. 8 is a diagram illustrating an embodiment of a process of performing matching between overlapping segments within an overlapping area between depth maps by the segment matching module of FIG. 3.
FIG. 9 is a flowchart illustrating a depth map stitching process performed by the depth map generating apparatus of FIG. 2.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as limited by the embodiments described in the text. That is, since the embodiments may be variously modified and may have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the present invention does not mean that a specific embodiment should include all or only such effects, the scope of the present invention should not be understood as being limited thereby.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is referred to as being "directly connected" to another component, it should be understood that there is no other component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprise" or "have" refer to a feature, number, step, operation, component, part, or feature thereof. It is to be understood that the combination is intended to be present and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted to coincide with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 깊이 맵 스티칭 방법을 적용하여 실시간으로 합성된 가상 시점 이미지를 생성하는 전체 시스템을 설명하는 도면이다.1 is a diagram illustrating an entire system for generating a virtual view image synthesized in real time by applying a depth map stitching method according to an embodiment of the present invention.
도 1을 참조하면, 가상 시점 이미지(Virtual View Point Image) 생성 시스템(100)은 깊이 맵 스티칭 기술을 통해 실시간으로 스테레오 이미지를 정합할 수 있고, 카메라 관리자(Camera Manager)(110), 이미지 핸들러(Image Handler)(130), 깊이 맵 생성 장치(Depth map generator)(150) 및 장면 이미지 생성 장치(170)를 포함할 수 있다.Referring to FIG. 1, the virtual view point
카메라 관리자(Camera Manager)(110)는 복수의 스테레오 카메라들로부터 카메라 이미지를 캡처할 수 있다. 여기에서, 복수의 스테레오 카메라들은 3차원 공간을 촬영하는 스테레오 카메라 장치에 해당하고, 복수의 스테레오 카메라들 각각은 양안을 위한 2대의 카메라 쌍을 이용해 입체 영상을 획득하는 3차원 스테레오 카메라로 구현되거나, 2개의 촬영용 렌즈를 포함하여 같은 피사체에 대해 동시에 2개의 이미지 또는 영상을 촬영할 수 있는 입체 카메라로 구현될 수 있다.The
카메라 관리자(110)는 캡처된 이미지들을 메인 메모리에 저장할 수 있다. 카메라 관리자(110)의 주된 역할은 각 스테레오 카메라의 좌우 카메라와 다중 스테레오 카메라 간의 동기화 상태를 유지하는 것이다. 동기화 후, 카메라 관리자(110)는 일련의 카메라 이미지를 GPU 메모리에 업로드할 수 있다. 카메라 이미지 캡처에서 이미지 업로드에 이르기까지 각 카메라를 처리하는 작업은 독립적인 스레드에 할당된다. 카메라 관리자(110)는 스레드 동기화에 참여하고 동기화된 카메라의 동작을 수행할 수 있다.The
이미지 핸들러(Image Handler)(130)는 카메라 관리자(110)에 의해 GPU 메모리에 카메라 이미지가 업로드(update)된 이후 보정 데이터와 함께 카메라 이미지를 보정과 정렬 수행에 적합하도록 조정할 수 있다. 이미지 핸들러(130)의 주된 역할은 스테레오 이미지를 적절하게 조정하고 깊이 맵 생성에 유효한 이미지 영역을 결정하는 것이다.The
깊이 맵 생성 장치(Depth map generator)(150)는 이미지 핸들러(130)에 의해 조정된 스테레오 이미지를 사용하여 각 스테레오 카메라에 대한 깊이 맵을 생성한다. 깊이 맵 생성 장치(150)는 왼쪽과 오른쪽 이미지 간의 픽셀별 대응을 통해 깊이 맵을 생성할 수 있다. 깊이 맵 생성 장치(150)는 깊이 맵 생성 과정에서 그래프 컷(Graph-cut) 또는 일정한 신념 전파 방법(Constant Belief Propagation Method)을 포함한 다양한 스테레오 매칭 방법을 사용할 수 있다.The
장면 이미지 생성 장치(170)는 깊이 맵 생성 장치(150)에 의해 깊이 맵이 생성되면 이를 이용하여 합성 가상 시점 이미지(Synthetic Virtual View Point Image)를 생성한다. 장면 이미지 생성 장치(170)는 복수의 스테레오 카메라들 및 깊이 맵 생성 장치와 연결될 수 있는 컴퓨팅 장치에 해당한다. 예를 들어, 장면 이미지 생성 장치(170)는 복수의 스테레오 카메라들과 유선 또는 무선으로 연결될 수 있고, 깊이 맵 생성 장치와 무선 네트워크를 통해 연결될 수 있다. 일 실시예에서, 장면 이미지 생성 장치(170)는 복수의 스테레오 카메라들에 의해 생성된 장면 이미지을 분석하여 실시간으로 합성된 가상 시점 이미지를 생성할 수 있다.The scene
도 2는 도 1에 있는 깊이 맵 생성 장치를 설명하는 블록도이다.FIG. 2 is a block diagram illustrating an apparatus for generating a depth map in FIG. 1.
도 2을 참조하면, 깊이 맵 생성 장치(150)는 깊이 맵 생성부(210), 깊이 맵 조정부(230), 깊이 맵 스티칭부(250) 및 제어부(270)를 포함할 수 있다.Referring to FIG. 2, the
깊이 맵 생성부(210)는 복수의 스테레오 카메라들로부터 스테레오 이미지를 수신하여 깊이 맵을 생성할 수 있다. 카메라 관리자(110)가 카메라 이미지를 캡처하면 이미지 핸들러(130)는 이미지 워핑(Image Warping) 단계를 통해 카메라 이미지를 조정할 수 있다. 깊이 맵 생성부(210)는 조정된 카메라 이미지를 기초로 깊이 맵을 생성할 수 있다. 깊이 맵은 왼쪽과 오른쪽 이미지 간의 픽셀별 대응을 통해 생성할 수 있다.The
일 실시예에서, 깊이 맵 생성부(210)는 스테레오 블록 매칭을 통해 로우(raw) 깊이 맵을 생성한 다음 경계 보존 필터를 적용하는 방식으로 깊이 맵을 생성할 수 있고, 그래프-컷(graph-cut) 또는 신념 전파 방법(constant belief propagation method)을 통해 깊이 맵에 관한 최적화를 수행하여 깊이 맵의 품질을 개선할 수 있다.In an embodiment, the
깊이 맵 조정부(230)는 깊이 맵 생성부(210)에 의해 생성된 깊이 맵들 각각을 깊이 맵 변환 (Depth Map Transformation) 단계를 통해 가상 공간 상에서 조정한다. 깊이 맵 조정부(230)는 스테레오 카메라의 물리적 특성를 이용하여 복수의 깊이 맵들을 3차원 좌표계로 정의되는 가상 공간상에 정렬할 수 있다. 여기에서, 스테레오 카메라의 물리적 특성은 복수의 스테레오 카메라들 간의 회전 변화(rotation) 및 평행이동 (translation)을 포함할 수 있다.The
일 실시예에서, 깊이 맵 조정부(230)는 360도 광시야각을 가지는 장면에 관한 깊이 정보를 관리하기 위해 구 좌표계로 깊이 맵을 정의할 수 있고, 이러한 과정에서 영상에 관한 이미지 좌표계를 유클리드(Euclidean)에서 구(sphere) 좌표계로 변환할 수 있으며, 두 픽셀 사이의 거리가 투영 광선 사이의 각도에 비례하는 특성을 가지는 등방장형도법 형태(equirectangular form)로 깊이 맵들 각각을 변환하여 저장할 수 있다. 이후 깊이 맵 조정부(230)는 깊이 맵들을 복수의 스테레오 카메라들에 관한 설정을 기초로 3차원 가상 공간 상에 정렬할 수 있다.In one embodiment, the depth
일 실시예에서, 깊이 맵 조정부(230)는 정렬을 위해 복수의 스테레오 카메라들 중에서 하나의 왼쪽 카메라를 주 카메라로 임의로 설정할 수 있고, 주 카메라의 광학 중심을 깊이 맵들이 정렬되는 3차원 가상 공간의 원점으로 설정할 수 있으며, 공간의 z축을 주 카메라의 주축과 정렬되도록 설정할 수 있다. 이에 따라, 깊이 맵 조정부(230)는 구체의 중심을 공간의 원점으로 하고 구체의 반경은 주 카메라의 초점 거리로 하는 이미지 구체를 생성할 수 있다. 이러한 설정에 따라 주 카메라의 투영면은 구체의 표면과 수직으로 접하는 평면이 될 수 있고, 투영된 구체는 깊이 맵 구체를 생성하기 위한 가이드라인을 제공할 수 있다.In one embodiment, the depth
일 실시예에서, 깊이 맵 조정부(230)는 복수의 깊이 맵들의 깊이 정보를 이용하여 깊이 맵 구체를 생성할 수 있고, 각각의 깊이 맵의 깊이 정보를 하나의 공통 광학 포인트를 가지도록 조정할 수 있다. 이러한 내용은 도 4을 참조하여 설명하도록 한다.In one embodiment, the depth
도 4는 도 2에 있는 깊이 맵 조정부(230)가 깊이 맵 구체를 생성하는 과정의 일 실시예를 설명하기 위한 도면이다. 보다 구체적으로, 깊이 맵 조정부(230)는 다음과 같은 단계들을 통해 깊이 맵 구체를 생성할 수 있다.FIG. 4 is a diagram for describing an embodiment of a process in which the
첫 번째로, 깊이 맵 조정부(230)는 이미지면의 자세와 광학점을 고려하여 각 깊이 맵의 픽셀들을 3차원 공간으로 재투영한 다음 이미지 구체에 투영할 수 있다. 도 4에서, ,는 이미지면 i에서 j번째 픽셀을 나타낸다. 깊이 맵 조정부(230)는 재투영 과정 후, ,m를 3차원 지점 ,m으로 재투영할 수 있고, 재투영된 지점 ,m은 (,m과 이미지 구체 1의 중심 사이의 거리 - 구체의 반경)을 저장한 이미지 구체의 동일 픽셀 지점으로 투영될 수 있다. 깊이 맵 조정부(230)는 재투영된 3차원 지점이 이미지 구체에 투영되면 이미지 구체의 동일 픽셀 지점에 하나 이상의 3차원 지점을 투영할 수 있고, 이 경우 3차원 지점의 깊이 정렬이 필요하다.First, the depth
두 번째로, 깊이 맵 조정부(230)는 각 3차원 지점과 투영 지점 사이의 거리를 비교하여 거리가 최소인 점을 선택할 수 있다. 도 4에서, 깊이 맵 조정부(230)는 2,2와 2,3을 이미지 구체의 픽셀 지점 ,t에 투영할 수 있고, 2, 2와 ,t와의 거리가 더 가까우면 2, 2를 ,t로 투영할 수 있다. 깊이 맵 조정부(230)는 3차원 지점들을 순차적으로 투영하여 거리 정렬을 간단하게 수행할 수 있다. 깊이 맵 조정부(230)는 특정 3차원 지점을 이미지 구체에 투영하려고 할 때 이미지 구체가 이미 픽셀 지점에서 깊이 값을 갖는 경우 이 값을 현재 3차원 지점의 깊이와 비교하여 현재 3차원 지점의 깊이가 더 작으면 투영 지점의 값을 현재 3차원 지점의 깊이로 변경할 수 있다.Second, the depth
일 실시예에서, 깊이 맵 조정부(230)는 GPU에서 병렬 처리로 재투영된 3차원 지점의 투영 작업을 수행할 때 3차원 지점의 순차 처리가 적합하지 않는 문제를 해결하기 위해 병렬 처리에서 3차원 지점을 투영할 수 있다.In one embodiment, the depth
예를 들어, 픽셀 지점 ,t의 깊이 값을 선택하는 문제에 있어서, 깊이 맵 조정부(230)는 픽셀 ,의 깊이를 결정하기 위해 투영 광선 1, ,t과 첫 번째 교차점 또는 충분히 근접한 3 차원 지점을 생성할 수 있고, 이 경우, 2, 1 및 ,는 항상 같은 반평면에 위치할 수 있으며, ,t에 투영되는 3차원 지점도 그 반평면에 존재할 수 있다. 이때, 반평면은 이미지 평면(Image plane) #2와 교차할 수 있고, 광선 1, ,t에는 교차선 상의 픽셀들에서 재투영된 3차원 지점들만 존재할 수 있다. 여기에서, 카메라들의 설정이 변경되지 않는 한, 이미지의 각 투영 픽셀 지점에 대한 교차 선의 위치와 교차 선과 투영 광선 사이의 각도도 변경되지 않고, 또한, 교차 선상의 각 픽셀에 대해 재투영된 3차원 지점을 광선 C1, ,t와 만나게 하는 깊이 값은 일정하며 투영 광선과 교차 선 사이의 각도와 그 픽셀과 교차 지점 p2,x,t사이의 거리를 이용해 계산할 수 있다. 이에 따라, 깊이 맵 조정부(230)는 교차점 2,t에서 시작하여 교차 선을 따라 선상의 대상 픽셀을 순차적으로 검색하여 재투영된 3차원 점이 픽셀 점 ,t로 투영된 첫 번째 픽셀을 찾으면 검색을 중지하고 (3차원 점과 픽셀 점 2,x 사이의 거리) - (이미지 구체의 반경)으로 2,x의 깊이 값을 설정할 수 있다. 일 실시예에서, 이러한 본 발명의 알고리즘을 사용하면 이미지 영역에 표시되지 않는 픽셀의 재투영 계산을 위해 들어가는 불필요한 비용을 제거할 수 있고, 전체적인 프로세스가 병렬로 처리되는데 적합한 구조로 만들 수 있다.For example, in the problem of selecting the depth value of the pixel point, t, depth
깊이 맵 조정부(230)는 각 깊이 맵에 대해 상기의 작업을 반복하여 각 스테레오 영상 쌍에 대한 구형 깊이 맵을 생성할 수 있다. 여기에서, 각 구형 깊이 맵에서 원본 깊이 맵으로 덮인 영역만 깊이 정보를 가지는데, 패치는 이러한 영역으로 정의될 수 있다. 깊이 맵 조정부(230)는 패치들을 하나의 구체에서 결합할 수 있고, 이에 따라 패치들 사이에 겹침이 발생할 수 있다. 이러한 현상은 스테레오 카메라의 시야가 겹치기 때문에 발생하는 것으로, 패치의 겹침 영역에서 객체의 깊이 불일치가 발생하기 때문에 완벽한 통합을 위해 각 객체가 일정한 깊이 맵을 가지도록 해야한다. 깊이 맵 스티칭부(250)는 이후의 과정들을 통해 장면간 겹침과 그 영역에서의 깊이 불일치를 해결할 수 있다.The
깊이 맵 스티칭부(250)는 깊이 맵 조정부(230)에 의해 조정된 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭한다. 여기에서, 스티칭(stitching)이란 각각의 깊이 맵들 간의 중첩 영역에 대해 깊이 맵에 포함된 깊이 값들 중에서 최적의 깊이 값을 선택함으로써 전체 이미지 영역에 대해 하나의 깊이 맵을 생성하는 것을 의미한다.The depth
일 실시예에서, 깊이 맵 스티칭부(250)는 3차원 가상 공간 상에 정렬된 깊이 맵들을 하나의 투영 구체로 투영하여 통합할 수 있다. 앞서 서술한 것처럼, 깊이 맵들 간의 완벽한 통합을 위해 인접한 깊이 맵들 간의 겹침을 결정하고 깊이의 불일치를 해결하는 것이 중요하다. 이러한 내용은 도 5를 참조하여 설명하도록 한다.In one embodiment, the depth
도 5는 도 2에 있는 깊이 맵 스티칭부(250)가 3차원 가상 공간 상에 정렬된 깊이 맵들을 하나의 투영 구체로 투영하여 통합하기 위한 과정을 수행하는 일 실시예를 설명하기 위한 도면이다.FIG. 5 is a diagram for describing an exemplary embodiment in which the depth
보다 구체적으로, 도 5는 스테레오 카메라들의 2개의 뷰 사이에 중첩이 발생한 경우를 보여준다. 도 5에서, 음영 영역은 왼쪽 및 오른쪽 카메라 쌍 사이에 중첩되는 영역을 나타낸다. 객체 점이 중첩 영역에 있으면 객체가 두 스테레오 카메라에 모두 나타나고, 이에 관한 객체의 깊이는 각 스테레오 카메라에 의해 측정될 수 있다. 깊이 맵 스티칭부(250)는 정렬된 깊이 맵들을 통합하는 과정에서 이웃하는 스테레오 카메라의 중첩 영역에 표시된 객체들을 검출하고, 검출된 객체들이 일관된 깊이를 갖도록 깊이를 조정할 수 있다.More specifically, FIG. 5 shows a case where an overlap occurs between two views of stereo cameras. In FIG. 5, the shaded areas represent areas that overlap between left and right camera pairs. If an object point is in an overlapping area, the object appears in both stereo cameras, and the depth of the object can be measured by each stereo camera. The depth
3차원 공간에서의 카메라 설정에 따라 중첩 영역은 다르게 발생한다. 도 5에서, 해당 중첩의 경우에 이론적으로 장면의 모든 객체가 카메라로부터 무한 거리에 있다면 겹치는 영역은 선 1,l 1,k로 표시된 이미지 영역을 차지하게 된다. 여기에서, 1,는 이미지 영역 #1의 왼쪽 경계선, 2,는 이미지 영역 #2의 오른쪽 경계선, 1,k은 이미지 영역 #2의 투영 광선이 2,r에 평행한 픽셀 점들로 이루어진 선에 해당한다.Overlapping areas occur differently according to camera settings in three-dimensional space. In FIG. 5, the overlapping area occupies the image area indicated by line 1, l 1, k if theoretically all objects in the scene are infinitely far from the camera in the case of the overlap. Here, the first, corresponds to a line consisting of a left border, 2, the right border, 1, k is the pixel points by which the projection light of the image region # 22, parallel to the r in the
제어부(270)는 깊이 맵 생성 장치(150)의 전체적인 동작을 제어하고, 깊이 맵 생성부(210), 깊이 맵 조정부(230) 및 깊이 맵 스티칭부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다. 일실시예에서, 제어부(270)는 CPU 모듈 또는 GPU 모듈 내부에서 동작할 수 있고 깊이 맵 생성 장치(150)에서 수행되는 작업들을 CPU 모듈 또는 GPU 모듈에 분산되어 병렬 처리되도록 제어할 수 있다.The
도 3은 도 2에 있는 깊이 맵 스티칭부를 설명하는 블록도이다.3 is a block diagram illustrating a depth map stitching unit in FIG. 2.
도 3을 참조하면, 깊이 맵 스티칭부(250)는 세그먼트 라벨링 모듈(310), 세그먼트 최적화 모듈(330), 세그먼트 매칭 모듈(350), 세그먼트 깊이 측정 모듈(370) 및 제어 모듈(390)을 포함한다.Referring to FIG. 3, the depth
세그먼트 라벨링 모듈(310)은 각 깊이 맵 상에서 나타난 이미지 세그먼트들에 대한 라벨링(labeling)을 수행하여 객체 형태(contour)를 검출할 수 있다. 구체적으로 라벨링(labeling)이란 해당 세그먼트를 하나의 평면에 존재하도록 깊이 값의 근사를 진행하여 깊이를 조정하는 것을 의미한다. 일 실시예에서, 세그먼트 라벨링 모듈(310)은 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 객체의 글로벌 깊이(global depth)를 조정할 수 있다. 여기에서 글로벌 깊이는 세그먼트 라벨링을 통해 조정된 객체의 깊이 값을 의미한다.The
일 실시예에서, 세그먼트 라벨링 모듈(310)은 정렬된 깊이 맵들 각각의 이미지에 있는 객체들을 배경 객체(background object)와 전경 객체(foreground object)로 분류하고, 전경 객체들 중 중첩 영역으로 재투영되는 객체가 존재하는 경우 깊이 조정이 필요한 대상 객체로 지정하여 라벨링을 수행할 수 있다. 여기에서, 전경 객체는 스테레오 영상에서 충분한 불일치를 보여주는 객체에 해당하고, 배경 객체는 불일치가 관찰되지 않는 객체에 해당할 수 있다.In one embodiment, the
일 실시예에서, 세그먼트 라벨링 모듈(310)은 라벨링을 위해 깊이 맵에 있는 객체들 간의 깊이 차이를 과장하고 객체 내의 깊이 차이를 감소시켜 각 객체를 보다 구별되도록 하는 깊이 양자화 처리(Depth Quantization)를 수행할 수 있다. 이러한 내용은 도 6를 참조하여 설명하도록 한다.In one embodiment, the
도 6는 도 3에 있는 세그먼트 라벨링 모듈(310)이 깊이 양자화 처리를 통해 중첩된 객체들의 깊이를 결정하는 과정의 일 실시예를 나타내는 도면이다.FIG. 6 is a diagram illustrating an embodiment of a process in which the
보다 구체적으로, 세그먼트 라벨링 모듈(310)은 깊이 양자화 처리를 통해 각 객체의 샘플 깊이 값을 선택하여 객체들 간의 깊이 정보에 관해 비교 분석할 수 있다. 일 실시예에서, 세그먼트 라벨링 모듈(310)는 현재 장면에서 객체들의 깊이 정보를 고려하여 샘플 깊이를 적절하게 선택하는 방식으로 깊이 양자화 처리를 수행할 수 있고, 보다 구체적으로, 각 패치에 대해 깊이 값들의 히스토그램을 생성하고 히스토그램을 기초로 깊이 값의 K 평균값 클러스터링을 수행하여 산출된 각 클러스터의 평균 깊이 값을 각 객체의 샘플 깊이 값으로 선택할 수 있다. 여기에서, 패치는 각 깊이 맵에 대해 각 스테레오 영상 쌍에 대한 구형 깊이 맵을 생성할 경우 각 구형 깊이 맵에서 원본 깊이 맵으로 덮인 영역을 나타내고, K는 클러스터 수를 나타내며 설계자에 의해 미리 설정될 수 있다.More specifically, the
일 실시예에서, 세그먼트 라벨링 모듈(310)은 깊이 양자화 처리 후에 깊이 값이 같고 연결된 픽셀들을 클러스터링하여 이미지 세분화(segmentation)를 수행할 수 있고, 이에 따라 객체 형태를 정의할 수 있다.In one embodiment, the
세그먼트 최적화 모듈(330)은 현재 깊이 맵에서 나타난 객체 이미지 영역(segment)의 깊이를 깊이 맵 생성에 사용한 원본 이미지(left/right image)를 이용하여 추정할 수 있다. 이전 단계에서 깊이 맵 상에서의 객체 이미지 영역의 깊이는 이미지 전체를 대상으로 최적화를 수행한 결과이므로, 현재 단계에서는 세그먼트가 존재하는 이미지 영역만을 대상으로 하여 최적화를 추가적으로 수행하는 것이다.The
일 실시예에서, 세그먼트 최적화 모듈(330)은 스테레오 이미지들을 기초로 검출된 객체에 관한 로컬 최적화를 수행하여 상기 검출된 객체의 로컬 깊이(local depth)를 산출할 수 있다. 여기에서, 로컬 깊이는 세그먼트 라벨링 모듈(310)에 의해 검출된 객체를 대상으로 객체 이미지 영역, 즉 객체가 차지하고 있는 내부 영역 안에서 객체의 세부 구성요소들에 대한 구체적인 깊이 값을 나타낸다. In one embodiment, the
세그먼트 매칭 모듈(350)은 중첩된 깊이 맵 상에 나타난 세그먼트들 간의 매칭을 수행할 수 있다. 일 실시예에서, 세그먼트 매칭 모듈(350)은 세그먼트 매칭을 수행하기 위해 먼저 각 패치의 세그먼트들을 3차원 가상 공간 상에 재투영할 수 있다. 이러한 내용은 도 7을 참조하여 설명하도록 한다.The
도 7은 도 3에 있는 세그먼트 매칭 모듈(350)이 세그먼트 매칭을 수행하기 위해 각 패치의 세그먼트들을 3차원 가상 공간 상에 재투영하는 과정의 일 실시예를 나타내는 도면이다. 여기에서, 패치의 세그먼트들은 평면 깊이 맵으로의 세그먼트 재투영과 달리, 구의 표면에서 변환될 때 크기가 조정될 수 있고, 조정 계수는 세그먼트의 깊이 ds에 비례할 수 있다.FIG. 7 is a diagram illustrating an embodiment of a process of reprojecting segments of each patch onto a 3D virtual space by the
일 실시예에서, 세그먼트 매칭 모듈(350)은 세그먼트에 의해 결정되는 객체의 깊이와 깊이 생성에 사용된 이미지의 평균 RGB 거리(distance)를 이용하여 깊이 맵들이 중첩하는 영역에 나타난 세그먼트들 간의 매칭을 수행할 수 있다. 이러한 내용은 도 8을 참조하여 설명하도록 한다.In one embodiment, the
도 8은 도 3에 있는 세그먼트 매칭 모듈이 깊이 맵들 간의 중첩 영역 내에 있는 중첩 세그먼트들 간의 매칭의 일 실시예를 설명하는 도면이다. 도 8를 참조하면, Case 2의 경우에 세그먼트 s1과 s2 간의 유사도를 측정하기 위해 s1.2와 s2의 무게중심 위치와 평균 RGB를 사용한다. 여기에서, 유사도는 수정 깊이 맵(refined depth map) 상에서의 깊이 값과 원본 깊이 맵(raw depth map) 상에서의 깊이 값의 일치 정도를 나타낸다. 마찬가지로, Case 3의 경우에는 s1.2와 s2.1 사이의 유사도를 측정한다. 세그먼트 매칭 모듈(350)은 유사도가 가장 큰 세그먼트들 간의 매칭을 수행한다. FIG. 8 is a diagram illustrating an embodiment of matching between overlapping segments within the overlapping region between depth maps by the segment matching module in FIG. 3. Referring to FIG. 8, in
세그먼트 깊이 측정 모듈(370)은 세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형을 검출하고 검출된 중첩 유형에 따라 세그먼트들을 통합할 수 있다.The segment
일 실시예에서, 세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형은 세그먼트의 경계가 중첩 영역 내부에서 존재하는 경우, 중첩 영역과 한쪽 깊이 맵에 걸쳐서 존재하는 경우 및 중첩 영역과 양쪽 깊이 맵에 걸쳐서 존재하는 경우 중 어느 하나에 해당할 수 있다.In one embodiment, the overlapping type of the segments matched by the
일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 상기 매칭된 세그먼트들을 통합할 수 있다. 구체적으로, 세그먼트의 경계가 중첩 영역 내부에서 존재하는 경우에는 양쪽 깊이 맵 상에서 세그먼트들 중 신뢰도가 높은 세그먼트의 깊이 값을 최종 세그먼트의 깊이 값으로 선택한다. 여기에서, 신뢰도는 수정된 깊이 맵 (refined depth map) 상에서의 깊이 값과 최초의 깊이 맵 (raw depth map) 상에서의 깊이 값의 일치 정도를 의미한다. 세그먼트의 경계가 중첩 영역과 한쪽 깊이 맵에 걸쳐서 존재하는 경우에는 매칭된 세그먼트들에 대해 해당 세그먼트들의 각 깊이 맵 상에서의 신뢰도, 세그먼트의 크기 비율을 기준으로 최종 세그먼트의 깊이 값을 추정한다. 세그먼트의 경계가 중첩 영역과 양쪽 깊이 맵에 걸쳐서 존재하는 경우에는 매칭된 세그먼트들에 대해 세그먼트들의 각 깊이 맵 상에서의 신뢰도, 중첩영역 주변 세그먼트의 크기 비율을 기준으로 최종 세그먼트의 깊이 값을 추정한다.In one embodiment, segment
일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 스티칭의 경계 및 깊이 맵들의 중첩 영역에서 객체의 외형이 판별되지 않은 영역이 있는 경우 해당 영역을 배경(background)으로 정의하고 양쪽 깊이 맵에서 측정된 깊이 값의 평균으로 깊이 값을 산출하여 깊이 맵들을 통합할 수 있다.In one embodiment, the segment
제어 모듈(390)은 깊이 맵 스티칭부(250)의 전체적인 동작을 제어하고, 세그먼트 라벨링 모듈(310), 세그먼트 최적화 모듈(330), 세그먼트 매칭 모듈(350) 및 세그먼트 깊이 측정 모듈(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The
도 9는 도 2에 있는 깊이 맵 생성 장치에서 수행되는 깊이 맵 스티칭 과정을 설명하는 순서도이다.FIG. 9 is a flowchart illustrating a depth map stitching process performed by the depth map generating apparatus of FIG. 2.
도 9을 참조하면, 깊이 맵 생성부(210)는 복수의 스테레오 카메라들로부터 스테레오 이미지를 수신하여 깊이 맵을 생성할 수 있다(단계 S910). 깊이 맵 조정부(230)는 깊이 맵 생성부(210)에 의해 생성된 깊이 맵들 각각을 깊이 맵 변환 단계를 통해 가상 공간 상에서 조정할 수 있다(단계 S920). Referring to FIG. 9, the
깊이 맵 스티칭부(250)는 깊이 맵 조정부(230)에 의해 조정된 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭할 수 있다. The depth
구체적으로 보면, 깊이 맵 스티칭부(250) 내의 세그먼트 라벨링 모듈(310)은 각 깊이 맵 상에서 나타난 이미지 세그먼트들에 대한 라벨링(labeling)을 수행하여 객체 형태(contour)를 검출할 수 있다(단계 S930). 여기에서 객체 형태(contour)를 검출한다는 것은 각 깊이 맵 상에서 나타난 이미지 세그먼트들이 어떤 객체를 나타내는 것인지를 결정한다 것을 의미한다.Specifically, the
본 발명에 따른 일 실시예에서, 세그먼트 라벨링 모듈(310)은 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 객체의 글로벌 깊이(global depth)를 조정할 수 있다.In one embodiment according to the present invention, the
깊이 맵 스티칭부(250) 내의 세그먼트 최적화 모듈(330)은 현재 깊이 맵에서 나타난 객체 이미지 영역의 깊이를 깊이 맵 생성에 사용한 원본 이미지를 이용하여 추정할 수 있다(단계 S940). 이전 단계에서 깊이 맵 상에서의 객체 이미지 영역의 깊이는 이미지 전체를 대상으로 최적화를 수행한 결과이므로 현재 단계에서 세그먼트가 존재하는 이미지 영역을 대상으로 최적화를 추가적으로 수행하여 전체 이미지에 대한 깊이 최적화를 달성할 수 있다.The
본 발명에 따른 일 실시예에서, 세그먼트 최적화 모듈(330)은 스테레오 이미지들을 기초로 검출된 객체에 관한 로컬 최적화를 수행하여 검출된 객체의 로컬 깊이(local depth)를 산출할 수 있다.In one embodiment according to the present invention, the
깊이 맵 스티칭부(250) 내의 세그먼트 매칭 모듈(350)은 중첩된 깊이 맵 상에 나타난 세그먼트들 간의 매칭을 수행할 수 있다(단계 S950). 일 실시예에서, 세그먼트 매칭 모듈(350)은 세그먼트에 의해 결정되는 객체의 깊이와 깊이 생성에 사용된 이미지의 평균 RGB 거리(distance)를 이용하여 깊이 맵들이 중첩하는 영역에 나타난 세그먼트들 간의 매칭을 수행할 수 있다.The
깊이 맵 스티칭부(250) 내의 세그먼트 깊이 측정 모듈(370)은 세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형을 검출하고 검출된 중첩 유형에 따라 매칭된 세그먼트들을 단일의 깊이 값을 갖는 세그먼트로 통합할 수 있다(단계 S960).The segment
세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형은 세그먼트의 경계가 중첩 영역 내부에서 존재하는 경우, 중첩 영역과 한쪽 깊이 맵에 걸쳐서 존재하는 경우 및 중첩 영역과 양쪽 깊이 맵에 걸쳐서 존재하는 경우 중 어느 하나에 해당할 수 있다.The overlapping type of the segments matched by the
일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 매칭된 세그먼트들의 중첩 유형에 따라 중첩된 깊이 맵들을 통합할 수 있다. 일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 스티칭의 경계 또는 중첩 영역에서 특정 객체의 외형이 판별되지 않은 배경 영역이 있는 경우에는 해당 깊이 맵들에서 측정된 배경 영역에 관한 평균 깊이 값으로 깊이 맵들을 통합할 수 있다.In one embodiment, the segment
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.
100: 실시간으로 합성된 가상 시점 이미지 생성 시스템
110: 카메라 관리자 130: 이미지 핸들러
150: 깊이 맵 생성 장치 170: 장면 이미지 생성 장치
210: 깊이 맵 생성부 220: 깊이 맵 조정부
250: 깊이 맵 스티칭부 270: 제어부
310: 세그먼트 라벨링 모듈 330: 세그먼트 최적화 모듈
350: 세그먼트 매칭 모듈 370: 세그먼트 깊이 측정 모듈
390: 제어 모듈100: virtual view image generation system synthesized in real time
110: camera manager 130: image handler
150: depth map generator 170: scene image generator
210: depth map generator 220: depth map controller
250: depth map stitching unit 270: control unit
310: segment labeling module 330: segment optimization module
350: segment matching module 370: segment depth measurement module
390: control module
Claims (8)
(b) 상기 깊이 맵들 각각을 가상 공간 상에 조정하는 깊이 맵 조정단계; 및
(c) 상기 깊이 맵들 각각에 있는 세그먼트(segment)를 기초로 객체를 결정한 후 상기 결정된 객체의 깊이를 산출하여 상기 깊이 맵들을 스티칭(stitching)하는 깊이 맵 스티칭 단계를 포함하되,
상기 (c) 단계는
상기 세그먼트들에 있는 각 객체의 깊이와 해당 스테레오 이미지들에 있는 각 해당 객체의 평균 RGB 거리를 기초로 중첩 영역에 있는 세그먼트들을 매칭한 후 통합하여 상기 깊이 맵들을 스티칭하는 단계를 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
(a) a depth map generation step of receiving stereo images from a plurality of stereo cameras and generating depth maps;
a depth map adjustment step of adjusting each of the depth maps in a virtual space; And
(c) determining a object based on a segment in each of the depth maps, and calculating a depth of the determined object to stitch the depth maps;
Step (c) is
Stitching the depth maps by matching and integrating segments in an overlapping area based on a depth of each object in the segments and an average RGB distance of each corresponding object in the stereo images. Depth map stitching method for stereo images.
상기 세그먼트들에 관한 세그멘트 라벨링(labeling)을 수행하여 객체의 형태를 검출하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
The method of claim 1, wherein step (c)
And performing segment labeling on the segments to detect the shape of the object.
상기 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 상기 객체의 글로벌 깊이(global depth)를 조정하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
The method of claim 2, wherein step (c)
Placing the detected object in a single plane to obtain an approximate value of depth to adjust the global depth of the object.
상기 스테레오 이미지들을 기초로 상기 검출된 객체에 관한 로컬 최적화를 수행하여 상기 검출된 객체의 로컬 깊이(local depth)를 산출하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
The method of claim 3, wherein step (c)
And calculating a local depth of the detected object by performing local optimization on the detected object based on the stereo images.
상기 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 상기 매칭된 세그먼트들을 통합하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
The method of claim 1, wherein step (c)
And detecting the overlapping types of the matched segments and incorporating the matched segments to have a single depth value.
상기 스티칭의 경계 또는 상기 중첩 영역에서 특정 객체의 외형이 판별되지 않은 배경 영역이 있는 경우에는 해당 깊이 맵들에서 측정된 상기 배경 영역에 관한 평균 깊이 값으로 상기 깊이 맵들을 통합하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
The method of claim 1, wherein step (c)
Incorporating the depth maps into an average depth value of the background area measured in the corresponding depth maps when there is a background area in which the appearance of a specific object is not determined at the boundary of the stitching or the overlapping area. Characterized by depth map stitching method for stereo images.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170136880A KR101983586B1 (en) | 2017-10-20 | 2017-10-20 | Method of stitching depth maps for stereo images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170136880A KR101983586B1 (en) | 2017-10-20 | 2017-10-20 | Method of stitching depth maps for stereo images |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190044439A KR20190044439A (en) | 2019-04-30 |
KR101983586B1 true KR101983586B1 (en) | 2019-09-03 |
Family
ID=66285830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170136880A KR101983586B1 (en) | 2017-10-20 | 2017-10-20 | Method of stitching depth maps for stereo images |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101983586B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023146372A1 (en) * | 2022-01-28 | 2023-08-03 | Samsung Electronics Co., Ltd. | Reconstructing a three-dimensional scene |
KR102667946B1 (en) | 2023-02-23 | 2024-05-22 | 경희대학교 산학협력단 | Apparatus and method of image stitching using depth based seam generation matrix construction |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102354750B1 (en) * | 2020-05-22 | 2022-01-24 | 주식회사 유캔스타 | A system and method of implementing a touch-enabled media facade |
KR102523091B1 (en) * | 2020-10-30 | 2023-04-18 | 주식회사 유캔스타 | System and Method for Providing Location-based Content using Motion Base and Tracker in Immersive VR Experience Space |
KR102510465B1 (en) * | 2021-09-08 | 2023-03-16 | (주)아로씽킹 | Media Facade Implementation System and Method Capable of Four-Sided Touch |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004054928A (en) | 2002-06-21 | 2004-02-19 | Microsoft Corp | System and method for image stitching of camera |
JP2004054308A (en) * | 2002-07-16 | 2004-02-19 | Japan Science & Technology Corp | Method and device for integrating distance image |
JP2017050819A (en) * | 2015-09-04 | 2017-03-09 | Kddi株式会社 | Generation device for panoramic image data, generation method and program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101526948B1 (en) * | 2008-02-25 | 2015-06-11 | 삼성전자주식회사 | 3D Image Processing |
KR101370785B1 (en) | 2012-11-06 | 2014-03-06 | 한국과학기술원 | Apparatus and method for generating depth map of streoscopic image |
KR101720161B1 (en) | 2016-07-11 | 2017-03-27 | 에스케이플래닛 주식회사 | Apparatus and Method for generating Depth Map, stereo-scopic image conversion apparatus and method usig that |
-
2017
- 2017-10-20 KR KR1020170136880A patent/KR101983586B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004054928A (en) | 2002-06-21 | 2004-02-19 | Microsoft Corp | System and method for image stitching of camera |
JP2004054308A (en) * | 2002-07-16 | 2004-02-19 | Japan Science & Technology Corp | Method and device for integrating distance image |
JP2017050819A (en) * | 2015-09-04 | 2017-03-09 | Kddi株式会社 | Generation device for panoramic image data, generation method and program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023146372A1 (en) * | 2022-01-28 | 2023-08-03 | Samsung Electronics Co., Ltd. | Reconstructing a three-dimensional scene |
KR102667946B1 (en) | 2023-02-23 | 2024-05-22 | 경희대학교 산학협력단 | Apparatus and method of image stitching using depth based seam generation matrix construction |
Also Published As
Publication number | Publication date |
---|---|
KR20190044439A (en) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101983586B1 (en) | Method of stitching depth maps for stereo images | |
US10818029B2 (en) | Multi-directional structured image array capture on a 2D graph | |
US10540806B2 (en) | Systems and methods for depth-assisted perspective distortion correction | |
US11348267B2 (en) | Method and apparatus for generating a three-dimensional model | |
US20190158813A1 (en) | Real Time Re-Calibration of Stereo Cameras | |
KR101956149B1 (en) | Efficient Determination of Optical Flow Between Images | |
EP3668093B1 (en) | Method, system and apparatus for capture of image data for free viewpoint video | |
US8730232B2 (en) | Director-style based 2D to 3D movie conversion system and method | |
US8897548B2 (en) | Low-complexity method of converting image/video into 3D from 2D | |
US20140002612A1 (en) | Stereoscopic shooting device | |
US20150379720A1 (en) | Methods for converting two-dimensional images into three-dimensional images | |
CN106682673A (en) | Image processing device and method | |
TW201214335A (en) | Method and arrangement for multi-camera calibration | |
KR101853269B1 (en) | Apparatus of stitching depth maps for stereo images | |
KR101933037B1 (en) | Apparatus for reproducing 360 degrees video images for virtual reality | |
CN107376360B (en) | Game live broadcast method and game live broadcast system | |
Zhao et al. | Learning perspective undistortion of portraits | |
Vu et al. | Efficient hybrid tree-based stereo matching with applications to postcapture image refocusing | |
Li et al. | HDRFusion: HDR SLAM using a low-cost auto-exposure RGB-D sensor | |
US11935209B1 (en) | Systems and methods for dynamic backfilling of a three-dimensional object | |
JP2013185905A (en) | Information processing apparatus, method, and program | |
KR20210141922A (en) | How to 3D Reconstruct an Object | |
AU2016273979A1 (en) | System and method for adjusting perceived depth of an image | |
US12015755B2 (en) | Real-time omnidirectional stereo matching method using multi-view fisheye lenses and system thereof | |
CN117333659A (en) | Multi-target detection method and system based on multi-camera and camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |