[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101983586B1 - Method of stitching depth maps for stereo images - Google Patents

Method of stitching depth maps for stereo images Download PDF

Info

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
Application number
KR1020170136880A
Other languages
Korean (ko)
Other versions
KR20190044439A (en
Inventor
김형석
정성신
강민수
안재용
이주영
우장훈
Original Assignee
주식회사 씨오티커넥티드
건국대학교 산학협력단
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 씨오티커넥티드, 건국대학교 산학협력단, 주식회사 엘지유플러스 filed Critical 주식회사 씨오티커넥티드
Priority to KR1020170136880A priority Critical patent/KR101983586B1/en
Publication of KR20190044439A publication Critical patent/KR20190044439A/en
Application granted granted Critical
Publication of KR101983586B1 publication Critical patent/KR101983586B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range 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

스테레오 이미지들에 관한 깊이 맵 스티칭 방법{METHOD OF STITCHING DEPTH MAPS FOR STEREO IMAGES}Depth map stitching method for stereo images {METHOD OF STITCHING DEPTH MAPS FOR STEREO IMAGES}

본 발명은 스테레오 이미지 정합 기술에 관한 것으로, 보다 상세하게는, 스테레오 이미지들과 연관된 깊이 맵들에 관한 스티칭을 실시간으로 수행할 수 있는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법에 관한 것이다.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.

한국등록특허공보 제 10-1370785 (2014.02.27)호Korean Registered Patent Publication No. 10-1370785 (2014.02.27) 한국공개특허공보 제 10-2016-0086802 (2016.07.20)호Korean Patent Publication No. 10-2016-0086802 (2016.07.20)

본 발명의 일 실시예는 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭할 수 있는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법을 제공하고자 한다.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 image generation system 100 may match stereo images in real time through a depth map stitching technique, and may include a camera manager 110 and an image handler. An image handler 130, a depth map generator 150, and a scene image generator 170.

카메라 관리자(Camera Manager)(110)는 복수의 스테레오 카메라들로부터 카메라 이미지를 캡처할 수 있다. 여기에서, 복수의 스테레오 카메라들은 3차원 공간을 촬영하는 스테레오 카메라 장치에 해당하고, 복수의 스테레오 카메라들 각각은 양안을 위한 2대의 카메라 쌍을 이용해 입체 영상을 획득하는 3차원 스테레오 카메라로 구현되거나, 2개의 촬영용 렌즈를 포함하여 같은 피사체에 대해 동시에 2개의 이미지 또는 영상을 촬영할 수 있는 입체 카메라로 구현될 수 있다.The camera manager 110 may capture a camera image from a plurality of stereo cameras. Here, the plurality of stereo cameras correspond to a stereo camera device for shooting a three-dimensional space, each of the plurality of stereo cameras is implemented as a three-dimensional stereo camera to obtain a stereoscopic image using two camera pairs for both eyes, It may be implemented as a stereoscopic camera capable of capturing two images or images of the same subject at the same time, including two lenses for photographing.

카메라 관리자(110)는 캡처된 이미지들을 메인 메모리에 저장할 수 있다. 카메라 관리자(110)의 주된 역할은 각 스테레오 카메라의 좌우 카메라와 다중 스테레오 카메라 간의 동기화 상태를 유지하는 것이다. 동기화 후, 카메라 관리자(110)는 일련의 카메라 이미지를 GPU 메모리에 업로드할 수 있다. 카메라 이미지 캡처에서 이미지 업로드에 이르기까지 각 카메라를 처리하는 작업은 독립적인 스레드에 할당된다. 카메라 관리자(110)는 스레드 동기화에 참여하고 동기화된 카메라의 동작을 수행할 수 있다.The camera manager 110 may store the captured images in the main memory. The main role of the camera manager 110 is to maintain synchronization between the left and right cameras of each stereo camera and the multiple stereo cameras. After synchronization, camera manager 110 can upload a series of camera images to GPU memory. From camera image capture to image upload, the task of processing each camera is assigned to an independent thread. The camera manager 110 may participate in thread synchronization and perform an operation of the synchronized camera.

이미지 핸들러(Image Handler)(130)는 카메라 관리자(110)에 의해 GPU 메모리에 카메라 이미지가 업로드(update)된 이후 보정 데이터와 함께 카메라 이미지를 보정과 정렬 수행에 적합하도록 조정할 수 있다. 이미지 핸들러(130)의 주된 역할은 스테레오 이미지를 적절하게 조정하고 깊이 맵 생성에 유효한 이미지 영역을 결정하는 것이다.The image handler 130 may adjust the camera image along with the correction data to be suitable for performing correction and alignment after the camera image is uploaded to the GPU memory by the camera manager 110. The main role of the image handler 130 is to properly adjust the stereo image and determine the image area valid for generating the depth map.

깊이 맵 생성 장치(Depth map generator)(150)는 이미지 핸들러(130)에 의해 조정된 스테레오 이미지를 사용하여 각 스테레오 카메라에 대한 깊이 맵을 생성한다. 깊이 맵 생성 장치(150)는 왼쪽과 오른쪽 이미지 간의 픽셀별 대응을 통해 깊이 맵을 생성할 수 있다. 깊이 맵 생성 장치(150)는 깊이 맵 생성 과정에서 그래프 컷(Graph-cut) 또는 일정한 신념 전파 방법(Constant Belief Propagation Method)을 포함한 다양한 스테레오 매칭 방법을 사용할 수 있다.The depth map generator 150 generates a depth map for each stereo camera using the stereo image adjusted by the image handler 130. The depth map generator 150 may generate a depth map through pixel-by-pixel correspondence between left and right images. The depth map generating apparatus 150 may use various stereo matching methods including a graph cut or a constant belief propagation method in the depth map generation process.

장면 이미지 생성 장치(170)는 깊이 맵 생성 장치(150)에 의해 깊이 맵이 생성되면 이를 이용하여 합성 가상 시점 이미지(Synthetic Virtual View Point Image)를 생성한다. 장면 이미지 생성 장치(170)는 복수의 스테레오 카메라들 및 깊이 맵 생성 장치와 연결될 수 있는 컴퓨팅 장치에 해당한다. 예를 들어, 장면 이미지 생성 장치(170)는 복수의 스테레오 카메라들과 유선 또는 무선으로 연결될 수 있고, 깊이 맵 생성 장치와 무선 네트워크를 통해 연결될 수 있다. 일 실시예에서, 장면 이미지 생성 장치(170)는 복수의 스테레오 카메라들에 의해 생성된 장면 이미지을 분석하여 실시간으로 합성된 가상 시점 이미지를 생성할 수 있다.The scene image generating apparatus 170 generates a synthetic virtual view point image using the depth map when the depth map is generated by the depth map generating apparatus 150. The scene image generating apparatus 170 corresponds to a computing device that may be connected to a plurality of stereo cameras and a depth map generating apparatus. For example, the scene image generating apparatus 170 may be connected to the plurality of stereo cameras by wire or wirelessly, and may be connected to the depth map generating apparatus through a wireless network. According to an embodiment, the scene image generating apparatus 170 may generate a virtual view image synthesized in real time by analyzing the scene image generated by the plurality of stereo cameras.

도 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 depth map generator 150 may include a depth map generator 210, a depth map controller 230, a depth map stitching unit 250, and a controller 270.

깊이 맵 생성부(210)는 복수의 스테레오 카메라들로부터 스테레오 이미지를 수신하여 깊이 맵을 생성할 수 있다. 카메라 관리자(110)가 카메라 이미지를 캡처하면 이미지 핸들러(130)는 이미지 워핑(Image Warping) 단계를 통해 카메라 이미지를 조정할 수 있다. 깊이 맵 생성부(210)는 조정된 카메라 이미지를 기초로 깊이 맵을 생성할 수 있다. 깊이 맵은 왼쪽과 오른쪽 이미지 간의 픽셀별 대응을 통해 생성할 수 있다.The depth map generator 210 may generate a depth map by receiving a stereo image from a plurality of stereo cameras. When the camera manager 110 captures a camera image, the image handler 130 may adjust the camera image through an image warping step. The depth map generator 210 may generate a depth map based on the adjusted camera image. Depth maps can be generated by pixel-by-pixel correspondence between left and right images.

일 실시예에서, 깊이 맵 생성부(210)는 스테레오 블록 매칭을 통해 로우(raw) 깊이 맵을 생성한 다음 경계 보존 필터를 적용하는 방식으로 깊이 맵을 생성할 수 있고, 그래프-컷(graph-cut) 또는 신념 전파 방법(constant belief propagation method)을 통해 깊이 맵에 관한 최적화를 수행하여 깊이 맵의 품질을 개선할 수 있다.In an embodiment, the depth map generator 210 may generate a depth map by generating a raw depth map through stereo block matching and then applying a boundary preserving filter, and graph-cut. Depth maps can be optimized using cut or constant belief propagation methods to improve the quality of depth maps.

깊이 맵 조정부(230)는 깊이 맵 생성부(210)에 의해 생성된 깊이 맵들 각각을 깊이 맵 변환 (Depth Map Transformation) 단계를 통해 가상 공간 상에서 조정한다. 깊이 맵 조정부(230)는 스테레오 카메라의 물리적 특성를 이용하여 복수의 깊이 맵들을 3차원 좌표계로 정의되는 가상 공간상에 정렬할 수 있다. 여기에서, 스테레오 카메라의 물리적 특성은 복수의 스테레오 카메라들 간의 회전 변화(rotation) 및 평행이동 (translation)을 포함할 수 있다.The depth map controller 230 adjusts each of the depth maps generated by the depth map generator 210 in a virtual space through a depth map transformation step. The depth map controller 230 may align the plurality of depth maps in a virtual space defined by a 3D coordinate system using physical characteristics of the stereo camera. Here, the physical characteristics of the stereo camera may include rotational rotation and translation between the plurality of stereo cameras.

일 실시예에서, 깊이 맵 조정부(230)는 360도 광시야각을 가지는 장면에 관한 깊이 정보를 관리하기 위해 구 좌표계로 깊이 맵을 정의할 수 있고, 이러한 과정에서 영상에 관한 이미지 좌표계를 유클리드(Euclidean)에서 구(sphere) 좌표계로 변환할 수 있으며, 두 픽셀 사이의 거리가 투영 광선 사이의 각도에 비례하는 특성을 가지는 등방장형도법 형태(equirectangular form)로 깊이 맵들 각각을 변환하여 저장할 수 있다. 이후 깊이 맵 조정부(230)는 깊이 맵들을 복수의 스테레오 카메라들에 관한 설정을 기초로 3차원 가상 공간 상에 정렬할 수 있다.In one embodiment, the depth map adjusting unit 230 may define a depth map as a spherical coordinate system to manage depth information about a scene having a 360-degree wide viewing angle, and in this process, an image coordinate system related to an image is Euclidean ) Can be converted into a sphere coordinate system, and each of the depth maps can be converted and stored in an equictangular form in which the distance between two pixels is proportional to the angle between the projection rays. Thereafter, the depth map adjuster 230 may arrange the depth maps on the 3D virtual space based on settings of the plurality of stereo cameras.

일 실시예에서, 깊이 맵 조정부(230)는 정렬을 위해 복수의 스테레오 카메라들 중에서 하나의 왼쪽 카메라를 주 카메라로 임의로 설정할 수 있고, 주 카메라의 광학 중심을 깊이 맵들이 정렬되는 3차원 가상 공간의 원점으로 설정할 수 있으며, 공간의 z축을 주 카메라의 주축과 정렬되도록 설정할 수 있다. 이에 따라, 깊이 맵 조정부(230)는 구체의 중심을 공간의 원점으로 하고 구체의 반경은 주 카메라의 초점 거리로 하는 이미지 구체를 생성할 수 있다. 이러한 설정에 따라 주 카메라의 투영면은 구체의 표면과 수직으로 접하는 평면이 될 수 있고, 투영된 구체는 깊이 맵 구체를 생성하기 위한 가이드라인을 제공할 수 있다.In one embodiment, the depth map adjusting unit 230 may arbitrarily set one left camera among the plurality of stereo cameras as the main camera for alignment, and the optical center of the main camera of the 3D virtual space in which the depth maps are aligned. It can be set as the origin and can be set so that the z axis of the space is aligned with the main axis of the main camera. Accordingly, the depth map adjuster 230 may generate an image sphere in which the center of the sphere is the origin of the space and the radius of the sphere is the focal length of the main camera. According to this setting, the projection plane of the main camera may be a plane perpendicular to the surface of the sphere, and the projected sphere may provide a guideline for generating a depth map sphere.

일 실시예에서, 깊이 맵 조정부(230)는 복수의 깊이 맵들의 깊이 정보를 이용하여 깊이 맵 구체를 생성할 수 있고, 각각의 깊이 맵의 깊이 정보를 하나의 공통 광학 포인트를 가지도록 조정할 수 있다. 이러한 내용은 도 4을 참조하여 설명하도록 한다.In one embodiment, the depth map adjusting unit 230 may generate the depth map sphere by using the depth information of the plurality of depth maps, and adjust the depth information of each depth map to have one common optical point. . This will be described with reference to FIG. 4.

도 4는 도 2에 있는 깊이 맵 조정부(230)가 깊이 맵 구체를 생성하는 과정의 일 실시예를 설명하기 위한 도면이다. 보다 구체적으로, 깊이 맵 조정부(230)는 다음과 같은 단계들을 통해 깊이 맵 구체를 생성할 수 있다.FIG. 4 is a diagram for describing an embodiment of a process in which the depth map controller 230 of FIG. 2 generates a depth map sphere. More specifically, the depth map adjusting unit 230 may generate a depth map sphere through the following steps.

첫 번째로, 깊이 맵 조정부(230)는 이미지면의 자세와 광학점을 고려하여 각 깊이 맵의 픽셀들을 3차원 공간으로 재투영한 다음 이미지 구체에 투영할 수 있다. 도 4에서, ,는 이미지면 i에서 j번째 픽셀을 나타낸다. 깊이 맵 조정부(230)는 재투영 과정 후, ,m를 3차원 지점 ,m으로 재투영할 수 있고, 재투영된 지점 ,m은 (,m과 이미지 구체 1의 중심 사이의 거리 - 구체의 반경)을 저장한 이미지 구체의 동일 픽셀 지점으로 투영될 수 있다. 깊이 맵 조정부(230)는 재투영된 3차원 지점이 이미지 구체에 투영되면 이미지 구체의 동일 픽셀 지점에 하나 이상의 3차원 지점을 투영할 수 있고, 이 경우 3차원 지점의 깊이 정렬이 필요하다.First, the depth map adjusting unit 230 may reproject the pixels of each depth map into a three-dimensional space in consideration of the attitude and the optical point of the image plane and then project the image spheres. In Figure 4, represents the j-th pixel on the image plane i. The depth map adjusting unit 230 may reproject the , m as a three-dimensional point , m after the reprojection process, and the reprojected point , m is the distance between ( , m and the center of the image sphere 1 -the radius of the sphere ) May be projected to the same pixel point of the stored image sphere. When the reprojected three-dimensional point is projected onto the image sphere, the depth map adjusting unit 230 may project one or more three-dimensional points to the same pixel point of the image sphere, in which case the depth alignment of the three-dimensional point is necessary.

두 번째로, 깊이 맵 조정부(230)는 각 3차원 지점과 투영 지점 사이의 거리를 비교하여 거리가 최소인 점을 선택할 수 있다. 도 4에서, 깊이 맵 조정부(230)는 2,22,3을 이미지 구체의 픽셀 지점 ,t에 투영할 수 있고, 2, 2,t와의 거리가 더 가까우면 2, 2,t로 투영할 수 있다. 깊이 맵 조정부(230)는 3차원 지점들을 순차적으로 투영하여 거리 정렬을 간단하게 수행할 수 있다. 깊이 맵 조정부(230)는 특정 3차원 지점을 이미지 구체에 투영하려고 할 때 이미지 구체가 이미 픽셀 지점에서 깊이 값을 갖는 경우 이 값을 현재 3차원 지점의 깊이와 비교하여 현재 3차원 지점의 깊이가 더 작으면 투영 지점의 값을 현재 3차원 지점의 깊이로 변경할 수 있다.Second, the depth map adjusting unit 230 may select a point having a minimum distance by comparing the distance between each 3D point and the projection point. In Figure 4, the depth map adjustment section 230 is the 2,2 and 2,3 the pixel point in the image sphere, can be projected on the t, 2, and 2, with t if the distance is closer 2, 2, t Can be projected by The depth map adjusting unit 230 may simply perform distance alignment by sequentially projecting three-dimensional points. The depth map adjusting unit 230 compares this value with the depth of the current three-dimensional point when the image sphere already has a depth value at the pixel point when attempting to project a specific three-dimensional point to the image sphere. If smaller, the value of the projection point can be changed to the depth of the current three-dimensional point.

일 실시예에서, 깊이 맵 조정부(230)는 GPU에서 병렬 처리로 재투영된 3차원 지점의 투영 작업을 수행할 때 3차원 지점의 순차 처리가 적합하지 않는 문제를 해결하기 위해 병렬 처리에서 3차원 지점을 투영할 수 있다.In one embodiment, the depth map adjusting unit 230 is a three-dimensional in parallel processing to solve the problem that the sequential processing of the three-dimensional point is not suitable when performing the projection operation of the three-dimensional point reprojected in parallel processing on the GPU You can project points.

예를 들어, 픽셀 지점 ,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 map adjusting unit 230 is a projection light beam 1,, t and the first intersection or fully close the three-dimensional point in order to determine the depth of the pixel, In this case, 2 , 1 and , may always be located in the same half plane, and three-dimensional points projected to , t may also exist in the half plane. In this case, the half plane may intersect the image plane # 2, and only three-dimensional points re-projected from pixels on the intersection line may exist in the rays 1 , and t . Here, unless the settings of the cameras are changed, the position of the intersection line for each projection pixel point of the image and the angle between the intersection line and the projection ray do not change, and also the three-dimensional reprojected for each pixel on the intersection line. The depth value that makes the point meet rays C 1 ,, t is constant and can be calculated using the angle between the projection ray and the intersection line and the distance between the pixel and the intersection point p 2, x, t . Accordingly, the depth map adjusting unit 230 sequentially searches for the target pixel on the line along the intersection line starting from the intersection point 2, t and finds the first pixel where the reprojected three-dimensional point is projected to the pixel point , t . You can stop and set the depth value of 2, x to (the distance between the 3D point and the pixel point 2, x )-(the radius of the image sphere). In one embodiment, this algorithm of the present invention eliminates the unnecessary cost of reprojection of pixels that are not displayed in the image area and makes the structure suitable for processing the entire process in parallel.

깊이 맵 조정부(230)는 각 깊이 맵에 대해 상기의 작업을 반복하여 각 스테레오 영상 쌍에 대한 구형 깊이 맵을 생성할 수 있다. 여기에서, 각 구형 깊이 맵에서 원본 깊이 맵으로 덮인 영역만 깊이 정보를 가지는데, 패치는 이러한 영역으로 정의될 수 있다. 깊이 맵 조정부(230)는 패치들을 하나의 구체에서 결합할 수 있고, 이에 따라 패치들 사이에 겹침이 발생할 수 있다. 이러한 현상은 스테레오 카메라의 시야가 겹치기 때문에 발생하는 것으로, 패치의 겹침 영역에서 객체의 깊이 불일치가 발생하기 때문에 완벽한 통합을 위해 각 객체가 일정한 깊이 맵을 가지도록 해야한다. 깊이 맵 스티칭부(250)는 이후의 과정들을 통해 장면간 겹침과 그 영역에서의 깊이 불일치를 해결할 수 있다.The depth map controller 230 may generate the spherical depth map for each stereo image pair by repeating the above operation for each depth map. Here, only the area covered by the original depth map in each spherical depth map has depth information, and the patch may be defined as such an area. The depth map adjusting unit 230 may combine the patches in one sphere, and thus overlap may occur between the patches. This occurs because the stereo camera's field of view overlaps, and because the depth mismatch of objects occurs in the overlapping area of the patch, each object must have a certain depth map for perfect integration. The depth map stitching unit 250 may solve the overlap between scenes and the depth mismatch in the area through the following processes.

깊이 맵 스티칭부(250)는 깊이 맵 조정부(230)에 의해 조정된 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭한다. 여기에서, 스티칭(stitching)이란 각각의 깊이 맵들 간의 중첩 영역에 대해 깊이 맵에 포함된 깊이 값들 중에서 최적의 깊이 값을 선택함으로써 전체 이미지 영역에 대해 하나의 깊이 맵을 생성하는 것을 의미한다.The depth map stitching unit 250 determines an object based on a segment in each of the depth maps adjusted by the depth map adjusting unit 230, and then calculates the depth of the determined object to stitch the depth maps. Here, stitching means generating one depth map for the entire image area by selecting an optimal depth value from depth values included in the depth map for the overlapping areas between the depth maps.

일 실시예에서, 깊이 맵 스티칭부(250)는 3차원 가상 공간 상에 정렬된 깊이 맵들을 하나의 투영 구체로 투영하여 통합할 수 있다. 앞서 서술한 것처럼, 깊이 맵들 간의 완벽한 통합을 위해 인접한 깊이 맵들 간의 겹침을 결정하고 깊이의 불일치를 해결하는 것이 중요하다. 이러한 내용은 도 5를 참조하여 설명하도록 한다.In one embodiment, the depth map stitching unit 250 may integrate and integrate the depth maps aligned on the 3D virtual space into one projection sphere. As described above, it is important to determine overlaps between adjacent depth maps and resolve depth inconsistencies for complete integration between depth maps. This will be described with reference to FIG. 5.

도 5는 도 2에 있는 깊이 맵 스티칭부(250)가 3차원 가상 공간 상에 정렬된 깊이 맵들을 하나의 투영 구체로 투영하여 통합하기 위한 과정을 수행하는 일 실시예를 설명하기 위한 도면이다.FIG. 5 is a diagram for describing an exemplary embodiment in which the depth map stitching unit 250 of FIG. 2 performs a process for integrating and projecting depth maps aligned on a 3D virtual space into one projection sphere.

보다 구체적으로, 도 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 map stitching unit 250 may detect the objects displayed in the overlapping area of the neighboring stereo camera in the process of integrating the aligned depth maps, and adjust the depth so that the detected objects have a consistent 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 image region # 2, # 1 of the image area do.

제어부(270)는 깊이 맵 생성 장치(150)의 전체적인 동작을 제어하고, 깊이 맵 생성부(210), 깊이 맵 조정부(230) 및 깊이 맵 스티칭부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다. 일실시예에서, 제어부(270)는 CPU 모듈 또는 GPU 모듈 내부에서 동작할 수 있고 깊이 맵 생성 장치(150)에서 수행되는 작업들을 CPU 모듈 또는 GPU 모듈에 분산되어 병렬 처리되도록 제어할 수 있다.The controller 270 controls the overall operation of the depth map generator 150 and manages a control flow or data flow between the depth map generator 210, the depth map adjuster 230, and the depth map stitching unit 250. Can be. In one embodiment, the controller 270 may operate inside the CPU module or the GPU module and control the tasks performed in the depth map generating apparatus 150 to be distributed to the CPU module or the GPU module for parallel processing.

도 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 map stitching unit 250 includes a segment labeling module 310, a segment optimization module 330, a segment matching module 350, a segment depth measuring module 370, and a control module 390. do.

세그먼트 라벨링 모듈(310)은 각 깊이 맵 상에서 나타난 이미지 세그먼트들에 대한 라벨링(labeling)을 수행하여 객체 형태(contour)를 검출할 수 있다. 구체적으로 라벨링(labeling)이란 해당 세그먼트를 하나의 평면에 존재하도록 깊이 값의 근사를 진행하여 깊이를 조정하는 것을 의미한다. 일 실시예에서, 세그먼트 라벨링 모듈(310)은 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 객체의 글로벌 깊이(global depth)를 조정할 수 있다. 여기에서 글로벌 깊이는 세그먼트 라벨링을 통해 조정된 객체의 깊이 값을 의미한다.The segment labeling module 310 may detect an object contour by performing labeling on image segments displayed on each depth map. Specifically, labeling means adjusting the depth by approximating the depth value so that the corresponding segment exists in one plane. In one embodiment, the segment labeling module 310 may adjust the global depth of the object by placing the detected object in a single plane to obtain an approximate value of the depth. Here, the global depth means the depth value of the object adjusted through segment labeling.

일 실시예에서, 세그먼트 라벨링 모듈(310)은 정렬된 깊이 맵들 각각의 이미지에 있는 객체들을 배경 객체(background object)와 전경 객체(foreground object)로 분류하고, 전경 객체들 중 중첩 영역으로 재투영되는 객체가 존재하는 경우 깊이 조정이 필요한 대상 객체로 지정하여 라벨링을 수행할 수 있다. 여기에서, 전경 객체는 스테레오 영상에서 충분한 불일치를 보여주는 객체에 해당하고, 배경 객체는 불일치가 관찰되지 않는 객체에 해당할 수 있다.In one embodiment, the segment labeling module 310 classifies the objects in the image of each of the aligned depth maps into a background object and a foreground object, which are reprojected to an overlapping area of the foreground objects. If an object exists, labeling can be performed by designating it as a target object requiring depth adjustment. Here, the foreground object may correspond to an object showing sufficient inconsistency in the stereo image, and the background object may correspond to an object in which no inconsistency is observed.

일 실시예에서, 세그먼트 라벨링 모듈(310)은 라벨링을 위해 깊이 맵에 있는 객체들 간의 깊이 차이를 과장하고 객체 내의 깊이 차이를 감소시켜 각 객체를 보다 구별되도록 하는 깊이 양자화 처리(Depth Quantization)를 수행할 수 있다. 이러한 내용은 도 6를 참조하여 설명하도록 한다.In one embodiment, the segment labeling module 310 performs depth quantization to exaggerate the depth difference between objects in the depth map and reduce the depth difference within the object to make each object more distinguishable for labeling. can do. This will be described with reference to FIG. 6.

도 6는 도 3에 있는 세그먼트 라벨링 모듈(310)이 깊이 양자화 처리를 통해 중첩된 객체들의 깊이를 결정하는 과정의 일 실시예를 나타내는 도면이다.FIG. 6 is a diagram illustrating an embodiment of a process in which the segment labeling module 310 of FIG. 3 determines the depth of overlapping objects through depth quantization.

보다 구체적으로, 세그먼트 라벨링 모듈(310)은 깊이 양자화 처리를 통해 각 객체의 샘플 깊이 값을 선택하여 객체들 간의 깊이 정보에 관해 비교 분석할 수 있다. 일 실시예에서, 세그먼트 라벨링 모듈(310)는 현재 장면에서 객체들의 깊이 정보를 고려하여 샘플 깊이를 적절하게 선택하는 방식으로 깊이 양자화 처리를 수행할 수 있고, 보다 구체적으로, 각 패치에 대해 깊이 값들의 히스토그램을 생성하고 히스토그램을 기초로 깊이 값의 K 평균값 클러스터링을 수행하여 산출된 각 클러스터의 평균 깊이 값을 각 객체의 샘플 깊이 값으로 선택할 수 있다. 여기에서, 패치는 각 깊이 맵에 대해 각 스테레오 영상 쌍에 대한 구형 깊이 맵을 생성할 경우 각 구형 깊이 맵에서 원본 깊이 맵으로 덮인 영역을 나타내고, K는 클러스터 수를 나타내며 설계자에 의해 미리 설정될 수 있다.More specifically, the segment labeling module 310 may compare and analyze depth information between objects by selecting sample depth values of each object through depth quantization. In one embodiment, the segment labeling module 310 may perform the depth quantization process in a manner that appropriately selects the sample depth in consideration of the depth information of the objects in the current scene, and more specifically, the depth value for each patch. An average depth value of each cluster calculated by generating a histogram of the cluster and performing a K average clustering of depth values based on the histogram may be selected as a sample depth value of each object. Here, the patch represents an area covered by the original depth map in each spherical depth map when generating a spherical depth map for each stereo image pair for each depth map, and K represents the number of clusters and can be preset by the designer. have.

일 실시예에서, 세그먼트 라벨링 모듈(310)은 깊이 양자화 처리 후에 깊이 값이 같고 연결된 픽셀들을 클러스터링하여 이미지 세분화(segmentation)를 수행할 수 있고, 이에 따라 객체 형태를 정의할 수 있다.In one embodiment, the segment labeling module 310 may cluster the pixels having the same depth value and are connected after the depth quantization process to perform image segmentation, thereby defining an object shape.

세그먼트 최적화 모듈(330)은 현재 깊이 맵에서 나타난 객체 이미지 영역(segment)의 깊이를 깊이 맵 생성에 사용한 원본 이미지(left/right image)를 이용하여 추정할 수 있다. 이전 단계에서 깊이 맵 상에서의 객체 이미지 영역의 깊이는 이미지 전체를 대상으로 최적화를 수행한 결과이므로, 현재 단계에서는 세그먼트가 존재하는 이미지 영역만을 대상으로 하여 최적화를 추가적으로 수행하는 것이다.The segment optimization module 330 may estimate the depth of the object image segment shown in the current depth map using a left / right image used for generating the depth map. In the previous step, the depth of the object image area on the depth map is a result of optimization of the entire image. In the present step, the optimization is additionally performed only on the image area in which the segment exists.

일 실시예에서, 세그먼트 최적화 모듈(330)은 스테레오 이미지들을 기초로 검출된 객체에 관한 로컬 최적화를 수행하여 상기 검출된 객체의 로컬 깊이(local depth)를 산출할 수 있다. 여기에서, 로컬 깊이는 세그먼트 라벨링 모듈(310)에 의해 검출된 객체를 대상으로 객체 이미지 영역, 즉 객체가 차지하고 있는 내부 영역 안에서 객체의 세부 구성요소들에 대한 구체적인 깊이 값을 나타낸다. In one embodiment, the segment optimization module 330 may calculate a local depth of the detected object by performing local optimization on the detected object based on the stereo images. Here, the local depth represents a specific depth value for the detailed components of the object in the object image area, that is, the internal area occupied by the object, for the object detected by the segment labeling module 310.

세그먼트 매칭 모듈(350)은 중첩된 깊이 맵 상에 나타난 세그먼트들 간의 매칭을 수행할 수 있다. 일 실시예에서, 세그먼트 매칭 모듈(350)은 세그먼트 매칭을 수행하기 위해 먼저 각 패치의 세그먼트들을 3차원 가상 공간 상에 재투영할 수 있다. 이러한 내용은 도 7을 참조하여 설명하도록 한다.The segment matching module 350 may perform matching between the segments displayed on the overlapped depth map. In one embodiment, the segment matching module 350 may first reproject the segments of each patch onto the three-dimensional virtual space to perform segment matching. This will be described with reference to FIG. 7.

도 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 segment matching module 350 of FIG. 3 to perform segment matching. Here, the segments of the patch may be sized when converted at the surface of the sphere, unlike segment reprojection to a planar depth map, and the adjustment factor may be proportional to the depth d s of the segment.

일 실시예에서, 세그먼트 매칭 모듈(350)은 세그먼트에 의해 결정되는 객체의 깊이와 깊이 생성에 사용된 이미지의 평균 RGB 거리(distance)를 이용하여 깊이 맵들이 중첩하는 영역에 나타난 세그먼트들 간의 매칭을 수행할 수 있다. 이러한 내용은 도 8을 참조하여 설명하도록 한다.In one embodiment, the segment matching module 350 uses the depth of the object determined by the segment and the average RGB distance of the image used to create the depth to match the segments appearing in the region where the depth maps overlap. Can be done. This will be described with reference to FIG. 8.

도 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 case 2, the center of gravity of s1.2 and s2 and the average RGB are used to measure the similarity between the segments s1 and s2. Here, the similarity indicates the degree of agreement between the depth value on the modified depth map and the depth value on the raw depth map. Similarly, Case 3 measures the similarity between s1.2 and s2.1. The segment matching module 350 performs matching between the segments with the highest similarity.

세그먼트 깊이 측정 모듈(370)은 세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형을 검출하고 검출된 중첩 유형에 따라 세그먼트들을 통합할 수 있다.The segment depth measurement module 370 may detect the overlapping type of the segments matched by the segment matching module 350 and integrate the segments according to the detected overlapping type.

일 실시예에서, 세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형은 세그먼트의 경계가 중첩 영역 내부에서 존재하는 경우, 중첩 영역과 한쪽 깊이 맵에 걸쳐서 존재하는 경우 및 중첩 영역과 양쪽 깊이 맵에 걸쳐서 존재하는 경우 중 어느 하나에 해당할 수 있다.In one embodiment, the overlapping type of the segments matched by the segment matching module 350 is defined when the boundary of the segment exists inside the overlapping region, when the overlapping region exists over the overlapping region and one depth map, and the overlapping region and both depth maps. It may correspond to any of the cases present over.

일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 상기 매칭된 세그먼트들을 통합할 수 있다. 구체적으로, 세그먼트의 경계가 중첩 영역 내부에서 존재하는 경우에는 양쪽 깊이 맵 상에서 세그먼트들 중 신뢰도가 높은 세그먼트의 깊이 값을 최종 세그먼트의 깊이 값으로 선택한다. 여기에서, 신뢰도는 수정된 깊이 맵 (refined depth map) 상에서의 깊이 값과 최초의 깊이 맵 (raw depth map) 상에서의 깊이 값의 일치 정도를 의미한다. 세그먼트의 경계가 중첩 영역과 한쪽 깊이 맵에 걸쳐서 존재하는 경우에는 매칭된 세그먼트들에 대해 해당 세그먼트들의 각 깊이 맵 상에서의 신뢰도, 세그먼트의 크기 비율을 기준으로 최종 세그먼트의 깊이 값을 추정한다. 세그먼트의 경계가 중첩 영역과 양쪽 깊이 맵에 걸쳐서 존재하는 경우에는 매칭된 세그먼트들에 대해 세그먼트들의 각 깊이 맵 상에서의 신뢰도, 중첩영역 주변 세그먼트의 크기 비율을 기준으로 최종 세그먼트의 깊이 값을 추정한다.In one embodiment, segment depth measurement module 270 may integrate the matched segments to have a single depth value by detecting an overlapping type of matched segments. In detail, when the boundary of the segment exists inside the overlap region, the depth value of the highly reliable segment among the segments is selected as the depth value of the final segment on both depth maps. Here, the reliability means the degree of agreement between the depth value on the modified depth map and the depth value on the original depth map. If the boundary of the segment exists over the overlapping region and one depth map, the depth value of the final segment is estimated based on the reliability of each of the corresponding segment's depth map and the size ratio of the segment. If the boundary of the segment exists over the overlapped region and both depth maps, the depth value of the final segment is estimated based on the reliability of each segment of the segments and the size ratio of the segment surrounding the overlapped region.

일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 스티칭의 경계 및 깊이 맵들의 중첩 영역에서 객체의 외형이 판별되지 않은 영역이 있는 경우 해당 영역을 배경(background)으로 정의하고 양쪽 깊이 맵에서 측정된 깊이 값의 평균으로 깊이 값을 산출하여 깊이 맵들을 통합할 수 있다.In one embodiment, the segment depth measurement module 270 defines an area as a background when there is an area whose appearance of the object is not determined in the overlap area of the stitching and the depth maps, and measures the area in both depth maps. Depth values can be calculated as the average of the depth values to integrate the depth maps.

제어 모듈(390)은 깊이 맵 스티칭부(250)의 전체적인 동작을 제어하고, 세그먼트 라벨링 모듈(310), 세그먼트 최적화 모듈(330), 세그먼트 매칭 모듈(350) 및 세그먼트 깊이 측정 모듈(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control module 390 controls the overall operation of the depth map stitching unit 250 and controls between the segment labeling module 310, the segment optimization module 330, the segment matching module 350, and the segment depth measurement module 370. You can manage flows or data flows.

도 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 depth map generator 210 may generate a depth map by receiving stereo images from a plurality of stereo cameras (step S910). The depth map controller 230 may adjust each of the depth maps generated by the depth map generator 210 on the virtual space through the depth map transformation step (step S920).

깊이 맵 스티칭부(250)는 깊이 맵 조정부(230)에 의해 조정된 깊이 맵들 각각에 있는 세그먼트를 기초로 객체를 결정한 후 결정된 객체의 깊이를 산출하여 깊이 맵들을 스티칭할 수 있다. The depth map stitching unit 250 may determine the object based on the segment in each of the depth maps adjusted by the depth map adjusting unit 230, and then calculate the depth of the determined object to stitch the depth maps.

구체적으로 보면, 깊이 맵 스티칭부(250) 내의 세그먼트 라벨링 모듈(310)은 각 깊이 맵 상에서 나타난 이미지 세그먼트들에 대한 라벨링(labeling)을 수행하여 객체 형태(contour)를 검출할 수 있다(단계 S930). 여기에서 객체 형태(contour)를 검출한다는 것은 각 깊이 맵 상에서 나타난 이미지 세그먼트들이 어떤 객체를 나타내는 것인지를 결정한다 것을 의미한다.Specifically, the segment labeling module 310 in the depth map stitching unit 250 may detect an object contour by labeling image segments displayed on each depth map (step S930). . Detecting an object contour here means determining which object the image segments represented on each depth map represent.

본 발명에 따른 일 실시예에서, 세그먼트 라벨링 모듈(310)은 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 객체의 글로벌 깊이(global depth)를 조정할 수 있다.In one embodiment according to the present invention, the segment labeling module 310 may adjust the global depth of the object by obtaining the approximate value of the depth by placing the detected object in a single plane.

깊이 맵 스티칭부(250) 내의 세그먼트 최적화 모듈(330)은 현재 깊이 맵에서 나타난 객체 이미지 영역의 깊이를 깊이 맵 생성에 사용한 원본 이미지를 이용하여 추정할 수 있다(단계 S940). 이전 단계에서 깊이 맵 상에서의 객체 이미지 영역의 깊이는 이미지 전체를 대상으로 최적화를 수행한 결과이므로 현재 단계에서 세그먼트가 존재하는 이미지 영역을 대상으로 최적화를 추가적으로 수행하여 전체 이미지에 대한 깊이 최적화를 달성할 수 있다.The segment optimization module 330 in the depth map stitching unit 250 may estimate the depth of the object image region shown in the current depth map using the original image used to generate the depth map (step S940). In the previous step, the depth of the object image area on the depth map is the result of optimizing the entire image. Therefore, additional optimization is performed on the image area where the segment exists in the current step to achieve depth optimization of the entire image. Can be.

본 발명에 따른 일 실시예에서, 세그먼트 최적화 모듈(330)은 스테레오 이미지들을 기초로 검출된 객체에 관한 로컬 최적화를 수행하여 검출된 객체의 로컬 깊이(local depth)를 산출할 수 있다.In one embodiment according to the present invention, the segment optimization module 330 may calculate a local depth of the detected object by performing local optimization on the detected object based on the stereo images.

깊이 맵 스티칭부(250) 내의 세그먼트 매칭 모듈(350)은 중첩된 깊이 맵 상에 나타난 세그먼트들 간의 매칭을 수행할 수 있다(단계 S950). 일 실시예에서, 세그먼트 매칭 모듈(350)은 세그먼트에 의해 결정되는 객체의 깊이와 깊이 생성에 사용된 이미지의 평균 RGB 거리(distance)를 이용하여 깊이 맵들이 중첩하는 영역에 나타난 세그먼트들 간의 매칭을 수행할 수 있다.The segment matching module 350 in the depth map stitching unit 250 may perform matching between the segments displayed on the overlapped depth map (step S950). In one embodiment, the segment matching module 350 uses the depth of the object determined by the segment and the average RGB distance of the image used to create the depth to match the segments appearing in the region where the depth maps overlap. Can be done.

깊이 맵 스티칭부(250) 내의 세그먼트 깊이 측정 모듈(370)은 세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형을 검출하고 검출된 중첩 유형에 따라 매칭된 세그먼트들을 단일의 깊이 값을 갖는 세그먼트로 통합할 수 있다(단계 S960).The segment depth measurement module 370 in the depth map stitching unit 250 detects the overlapping type of the segments matched by the segment matching module 350 and segments the matched segments according to the detected overlapping type with a single depth value. Can be integrated (step S960).

세그먼트 매칭 모듈(350)에 의해 매칭된 세그먼트들의 중첩 유형은 세그먼트의 경계가 중첩 영역 내부에서 존재하는 경우, 중첩 영역과 한쪽 깊이 맵에 걸쳐서 존재하는 경우 및 중첩 영역과 양쪽 깊이 맵에 걸쳐서 존재하는 경우 중 어느 하나에 해당할 수 있다.The overlapping type of the segments matched by the segment matching module 350 is when the boundary of the segment exists inside the overlapping region, when it exists over the overlapping region and one depth map, and when it exists over the overlapping region and both depth maps. It may correspond to any one.

일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 매칭된 세그먼트들의 중첩 유형에 따라 중첩된 깊이 맵들을 통합할 수 있다. 일 실시예에서, 세그먼트 깊이 측정 모듈(270)은 스티칭의 경계 또는 중첩 영역에서 특정 객체의 외형이 판별되지 않은 배경 영역이 있는 경우에는 해당 깊이 맵들에서 측정된 배경 영역에 관한 평균 깊이 값으로 깊이 맵들을 통합할 수 있다.In one embodiment, the segment depth measurement module 270 may integrate the overlapped depth maps according to the overlap type of the matched segments. In one embodiment, the segment depth measurement module 270 maps the depth map to an average depth value with respect to the background area measured in the corresponding depth maps when there is a background area where the appearance of a specific object is not determined at the boundary or overlapping area of the stitching. Can be integrated.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 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)

(a) 복수의 스테레오 카메라들로부터 스테레오 이미지들을 수신하여 깊이 맵(depth map)들을 생성하는 깊이 맵 생성단계;
(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.
제1항에 있어서, 상기 (c) 단계는
상기 세그먼트들에 관한 세그멘트 라벨링(labeling)을 수행하여 객체의 형태를 검출하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
The method of claim 1, wherein step (c)
And performing segment labeling on the segments to detect the shape of the object.
제2항에 있어서, 상기 (c) 단계는
상기 검출된 객체를 단일 평면에 배치하여 깊이의 근사 값을 획득하여 상기 객체의 글로벌 깊이(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.
제3항에 있어서, 상기 (c) 단계는
상기 스테레오 이미지들을 기초로 상기 검출된 객체에 관한 로컬 최적화를 수행하여 상기 검출된 객체의 로컬 깊이(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.
삭제delete 삭제delete 제1항에 있어서, 상기 (c) 단계는
상기 매칭된 세그먼트들의 중첩 유형을 검출하여 단일의 깊이 값을 갖도록 상기 매칭된 세그먼트들을 통합하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.
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.
제1항에 있어서, 상기 (c) 단계는
상기 스티칭의 경계 또는 상기 중첩 영역에서 특정 객체의 외형이 판별되지 않은 배경 영역이 있는 경우에는 해당 깊이 맵들에서 측정된 상기 배경 영역에 관한 평균 깊이 값으로 상기 깊이 맵들을 통합하는 단계를 더 포함하는 것을 특징으로 하는 스테레오 이미지들에 관한 깊이 맵 스티칭 방법.

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.

KR1020170136880A 2017-10-20 2017-10-20 Method of stitching depth maps for stereo images KR101983586B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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