[go: up one dir, main page]

KR102488813B1 - Method and apparatus for generating disparity map using edge image - Google Patents

Method and apparatus for generating disparity map using edge image Download PDF

Info

Publication number
KR102488813B1
KR102488813B1 KR1020190166925A KR20190166925A KR102488813B1 KR 102488813 B1 KR102488813 B1 KR 102488813B1 KR 1020190166925 A KR1020190166925 A KR 1020190166925A KR 20190166925 A KR20190166925 A KR 20190166925A KR 102488813 B1 KR102488813 B1 KR 102488813B1
Authority
KR
South Korea
Prior art keywords
target
determining
pixel
disparity map
image
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190166925A
Other languages
Korean (ko)
Other versions
KR20210075618A (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 KR1020190166925A priority Critical patent/KR102488813B1/en
Publication of KR20210075618A publication Critical patent/KR20210075618A/en
Application granted granted Critical
Publication of KR102488813B1 publication Critical patent/KR102488813B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

시차맵을 생성하기 위해, 제1 이미지 및 제2 이미지에 기초하여 초기 시차맵을 생성하고, 제1 이미지에 기초하여 엣지 이미지를 생성하며, 초기 시차맵 및 엣지 이미지에 기초하여 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하고, 타겟 픽셀에 기초하여 설정된 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하고, 제1 타겟 영역에 대응하는 초기 시차맵의 제2 타겟 영역의 제2 대표 값을 결정하고, 제1 대표 값 및 제2 대표 값을 미리 학습된 알고리즘에 입력함으로써 타겟 픽셀에 대한 타겟 시차 값을 결정하고, 타겟 시차 값에 기초하여 초기 시차맵을 갱신함으로써 타겟 시차맵을 생성한다.To generate the disparity map, an initial disparity map is generated based on the first image and the second image, an edge image is generated based on the first image, and pixels in the edge image are generated based on the initial disparity map and the edge image. determine a target pixel of the target pixel, determine a first representative value of a first target region in the set edge image based on the target pixel, and determine a second representative value of a second target region of the initial disparity map corresponding to the first target region A target disparity value for a target pixel is determined by inputting the first representative value and the second representative value into a pre-learned algorithm, and a target disparity map is generated by updating an initial disparity map based on the target disparity value.

Description

엣지 이미지를 이용한 시차맵 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING DISPARITY MAP USING EDGE IMAGE}Method and apparatus for generating parallax map using edge image {METHOD AND APPARATUS FOR GENERATING DISPARITY MAP USING EDGE IMAGE}

아래의 실시예들은 시차맵을 생성하는 기술에 관한 것으로, 구체적으로 엣지 이미지를 이용하여 시차맵을 생성하는 기술에 관한 것이다.The following embodiments relate to a technique for generating a disparity map, and specifically to a technique for generating a disparity map using an edge image.

이미지 내의 오브젝트를 검출하기 위해 시차맵을 이용하는 방법이 사용되고 있다. 예를 들어, 서로 다른 시점들에서 촬영된 스테레오스코픽(stereoscopic) 이미지들을 매칭함으로써 시차맵이 생성될 수 있다. 시차맵을 이용하여 오브젝트를 검출하는 경우 가장 중요한 정보 중 하나는 오브젝트의 외곽의 명확한 경계이다. 다만, 상기의 방법으로 생성된 시차맵은 매칭 알고리즘의 부정확성으로 인하여 에러를 가질 수 있다.A method using a disparity map is used to detect an object in an image. For example, a disparity map may be generated by matching stereoscopic images taken at different viewpoints. When an object is detected using a disparity map, one of the most important information is a clear boundary of the object's outer perimeter. However, the disparity map generated by the above method may have errors due to the inaccuracy of the matching algorithm.

일 실시예는 엣지 이미지를 이용하여 시차맵을 생성하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for generating a disparity map using an edge image.

일 실시예는 시차맵을 이용하여 오브젝트를 검출하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for detecting an object using a disparity map.

일 측면에 따른, According to one aspect,

도 1은 일 예에 따른 스테레오스코픽 이미지들을 이용하여 오브젝트를 검출하는 방법의 개략도이다.
도 2는 일 실시예에 따른 시차맵을 생성하는 전자 장치의 구성도이다.
도 3은 일 실시예에 따른 시차맵을 생성하는 방법의 흐름도이다.
도 4는 일 예에 따른 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하는 방법의 흐름도이다.
도 5는 일 예에 따른 엣지 이미지 내의 타겟 픽셀을 결정하는 방법의 개략도이다.
도 6은 일 예에 따른 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하는 방법의 흐름도이다.
도 7은 일 예에 따른 제1 타겟 영역의 제1 대표 값으로서 생성된 대표 행렬을 도시한다.
도 8은 일 예에 따른 그레이 이미지를 더 이용하여 타겟 시차 값을 결정하는 방법의 흐름도이다.
도 9는 일 예에 따른 타겟 시차 값을 결정하는 알고리즘의 개략도이다.
도 10은 일 예에 따른 오브젝트를 검출하는 방법의 흐름도이다.
도 11은 일 예에 따른 수평 방향의 행렬에 기초하여 외곽 픽셀을 결정하는 방법의 흐름도이다.
도 12는 일 예에 따른 시차맵에 기초하여 검출된 오브젝트를 도시한다.
1 is a schematic diagram of a method of detecting an object using stereoscopic images according to an example.
2 is a configuration diagram of an electronic device generating a disparity map according to an exemplary embodiment.
3 is a flowchart of a method of generating a disparity map according to an exemplary embodiment.
4 is a flowchart of a method of determining a target pixel among pixels in an edge image according to an example.
5 is a schematic diagram of a method for determining a target pixel in an edge image according to an example.
6 is a flowchart of a method of determining a first representative value of a first target area in an edge image according to an example;
7 illustrates a representative matrix generated as a first representative value of a first target region according to an example.
8 is a flowchart of a method of determining a target disparity value by further using a gray image according to an example.
9 is a schematic diagram of an algorithm for determining a target parallax value according to an example.
10 is a flowchart of a method of detecting an object according to an example.
11 is a flowchart of a method of determining an outer pixel based on a matrix in a horizontal direction according to an example.
12 illustrates an object detected based on a disparity map according to an example.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these examples. Like reference numerals in each figure indicate like elements.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various changes may be made to the embodiments described below. The embodiments described below are not intended to be limiting on the embodiments, and should be understood to include all modifications, equivalents or substitutes thereto.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only to describe specific examples, and are not intended to limit the examples. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.

도 1은 일 예에 따른 스테레오스코픽 이미지들을 이용하여 오브젝트를 검출하는 방법의 개략도이다.1 is a schematic diagram of a method of detecting an object using stereoscopic images according to an example.

왼쪽 이미지 및 오른쪽 이미지에 기초하여 시차맵이 생성될 수 있다. 왼쪽 이미지 및 오른쪽 이미지는 서로 상이한 시점에서 생성된 스테레오스코픽 이미지들일 수 있다.A disparity map may be generated based on the left image and the right image. The left image and the right image may be stereoscopic images generated at different viewpoints.

왼쪽 이미지의 픽셀들 및 오른쪽 이미지 픽셀들을 서로 매칭함으로써 매칭된 픽셀들 간의 차이에 기초하여 시차맵이 생성될 수 있다.A disparity map may be generated based on a difference between the matched pixels by matching the pixels of the left image and the pixels of the right image with each other.

오브젝트들의 경계들 사이에 발생하는 시차 값들 간의 차이에 기초하여 오브젝트가 검출될 수 있다. 오브젝트가 정확하게 검출되기 위해서는 시차맵의 정확도가 요구된다. 이에 따라, 스테레오스코픽 이미지들에 기초하여 생성된 초기 시차맵 내의 픽셀들 중 오류가 있는 픽셀을 검출하고, 해당 픽셀의 시차 값을 정확히 계산함으로써 초기 시차맵을 갱신할 수 있다.An object may be detected based on a difference between disparity values generated between boundaries of the objects. In order to accurately detect an object, the accuracy of the disparity map is required. Accordingly, the initial disparity map may be updated by detecting a pixel with an error among pixels in the initial disparity map generated based on the stereoscopic images and accurately calculating a disparity value of the corresponding pixel.

아래에서, 도 2 내지 도 9를 참조하여 시차맵을 생성하는 방법이 상세히 설명되고, 도 10 내지 12를 참조하여 오브젝트를 검출하는 방법이 상세히 설명된다.Below, a method of generating a disparity map will be described in detail with reference to FIGS. 2 to 9 , and a method of detecting an object will be described in detail with reference to FIGS. 10 to 12 .

도 2는 일 실시예에 따른 시차맵을 생성하는 전자 장치의 구성도이다.2 is a configuration diagram of an electronic device generating a disparity map according to an exemplary embodiment.

전자 장치(200)는 통신부(210), 프로세서(220), 및 메모리(230)를 포함한다.The electronic device 200 includes a communication unit 210, a processor 220, and a memory 230.

통신부(210)는 프로세서(220), 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.The communication unit 210 is connected to the processor 220 and the memory 230 to transmit and receive data. The communication unit 210 may transmit/receive data by being connected to another external device. Hereinafter, the expression “transmitting and receiving “A” may indicate transmitting and receiving “information or data indicating A”.

통신부(210)는 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전자 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.The communication unit 210 may be implemented as circuitry within the electronic device 200 . For example, the communication unit 210 may include an internal bus and an external bus. As another example, the communication unit 210 may be an element that connects the electronic device 200 and an external device. The communication unit 210 may be an interface. The communication unit 210 may receive data from an external device and transmit the data to the processor 220 and the memory 230 .

프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The processor 220 processes data received by the communication unit 210 and data stored in the memory 230 . A “processor” may be a data processing device implemented in hardware having circuitry having a physical structure for executing desired operations. For example, desired operations may include codes or instructions included in a program. For example, a data processing unit implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , Application-Specific Integrated Circuit (ASIC), and Field Programmable Gate Array (FPGA).

프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.Processor 220 executes computer readable code (eg, software) stored in memory (eg, memory 230 ) and instructions invoked by processor 220 .

메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 시차맵을 생성할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.The memory 230 stores data received by the communication unit 210 and data processed by the processor 220 . For example, the memory 230 may store a program (or application or software). The stored program may be a set of syntaxes coded to generate a disparity map and executed by the processor 220 .

일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, the memory 230 may include one or more of volatile memory, non-volatile memory and random access memory (RAM), flash memory, a hard disk drive, and an optical disk drive.

메모리(230)는 전자 장치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 전자 장치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.The memory 230 stores a command set (eg, software) for operating the electronic device 200 . A set of instructions for operating the electronic device 200 is executed by the processor 220 .

통신부(210), 프로세서(220), 및 메모리(230)에 대해, 아래에서 도 3 내지 도 12를 참조하여 상세히 설명된다.The communication unit 210, the processor 220, and the memory 230 will be described in detail with reference to FIGS. 3 to 12 below.

도 3은 일 실시예에 따른 시차맵을 생성하는 방법의 흐름도이다.3 is a flowchart of a method of generating a disparity map according to an exemplary embodiment.

아래의 단계들(310 내지 370)은 도 2를 참조하여 전술된 전자 장치(200)에 의해 수행된다.Steps 310 to 370 below are performed by the electronic device 200 described above with reference to FIG. 2 .

단계(310)에서, 전자 장치(200)는 제1 이미지 및 제2 이미지에 기초하여 초기 시차맵을 생성할 수 있다. 제1 이미지 및 제2 이미지는 스테레오스코픽 이미지들일 수 있다. 스테레오스코픽 이미지들에 기초하여 초기 시차맵을 생성하는 방법에 대해서는 한정하지 않으며, 발명의 명확하고 간단한 설명을 위해 초기 시차맵을 생성하는 방법에 대한 설명은 생략하도록 한다.In operation 310, the electronic device 200 may generate an initial disparity map based on the first image and the second image. The first image and the second image may be stereoscopic images. A method of generating an initial disparity map based on stereoscopic images is not limited, and a description of a method of generating an initial disparity map will be omitted for a clear and simple description of the invention.

단계(320)에서, 전자 장치(200)는 제1 이미지에 기초하여 엣지 이미지를 생성한다. 예를 들어, 전자 장치(200)는 제1 이미지 내의 윤곽석을 검출함으로써 엣지 이미지를 생성할 수 있다.In step 320, the electronic device 200 generates an edge image based on the first image. For example, the electronic device 200 may generate an edge image by detecting contour stones in the first image.

단계(330)에서, 전자 장치(200)는 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정한다. 타겟 픽셀은 초기 시차맵 내에서 개선 또는 갱신이 필요한 대응 픽셀에 대응하는 픽셀일 수 있다.In step 330, the electronic device 200 determines a target pixel among pixels in the edge image. The target pixel may be a pixel corresponding to a corresponding pixel that needs to be improved or updated in the initial disparity map.

타겟 픽셀을 결정하는 방법에 대해, 아래에서 도 4 및 5를 참조하여 상세히 설명된다.A method for determining the target pixel is explained in detail with reference to FIGS. 4 and 5 below.

단계(340)에서, 전자 장치(200)는 타겟 픽셀에 기초하여 설정된 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정한다. 제1 타겟 영역을 설정하는 이유는 타겟 픽셀의 주변 픽셀들을 고려하여 타겟 픽셀에 대한 시차 값을 결정하기 위함일 수 있다. 제1 타겟 영역의 제1 대표 값을 결정하는 이유는 시차 값을 결정하는 알고리즘이 제1 타겟 영역 내의 모든 값을 고려하기는 어려우므로 대표 값이 사용될 수 있다.In step 340, the electronic device 200 determines a first representative value of a first target region in the set edge image based on the target pixel. The reason for setting the first target area may be to determine a parallax value for the target pixel in consideration of neighboring pixels of the target pixel. The reason why the first representative value of the first target area is determined is that it is difficult for an algorithm for determining a parallax value to consider all values in the first target area, so a representative value may be used.

제1 타겟 영역을 설정하는 방법 및 제1 대표 값을 결정하는 방법에 대해, 아래에서 도 6 및 7을 참조하여 상세히 설명된다.A method of setting the first target region and a method of determining the first representative value will be described in detail with reference to FIGS. 6 and 7 below.

단계(350)에서, 전자 장치(200)는 제1 타겟 영역에 대응하는 초기 시차맵의 제2 타겟 영역의 제2 대표 값을 결정한다. 제2 타겟 영역의 제2 대표 값을 결정하는 방법은 제1 타겟 영역의 제1 대표 값을 결정하는 방법과 유사하므로, 이에 대한 설명을 생략한다.In operation 350, the electronic device 200 determines a second representative value of a second target area of the initial disparity map corresponding to the first target area. Since a method of determining the second representative value of the second target area is similar to the method of determining the first representative value of the first target area, a description thereof will be omitted.

단계(360)에서, 전자 장치(200)는 제1 대표 값 및 제2 대표 값을 미리 훈련된 알고리즘에 입력함으로써 타겟 픽셀에 대한 타겟 시차 값을 결정한다. 예를 들어, 알고리즘은 신경망(neural network)에 기초한 알고리즘, SVM(support vector machine)과 같이 훈련 또는 학습이 가능한 알고리즘일 수 있고, 기재된 실시예로 한정되지 않는다. 예를 들어, 알고리즘은 Ground Truth에 기초하여 학습된 알고리즘이고, 입력으로서 제1 대표 값 및 제2 대표 값을 수신하고, 결과로서 시차맵의 대응 픽셀의 시차 값을 출력할 수 있다. 출력된 시차 값은 타겟 시차 값이다.In step 360, the electronic device 200 determines a target parallax value for the target pixel by inputting the first representative value and the second representative value to a pretrained algorithm. For example, the algorithm may be an algorithm that can be trained or learned, such as an algorithm based on a neural network or a support vector machine (SVM), and is not limited to the described embodiments. For example, the algorithm is an algorithm learned based on ground truth, may receive a first representative value and a second representative value as inputs, and output a disparity value of a corresponding pixel of a disparity map as a result. The output parallax value is the target parallax value.

알고리즘에 대해 아래에서 도 9를 참조하여 상세히 설명된다.The algorithm is described in detail with reference to FIG. 9 below.

단계(370)에서, 전자 장치(200)는 타겟 시차 값에 기초하여 초기 시차맵을 갱신함으로써 타겟 시차 맵을 생성한다. 예를 들어, 대응 픽셀의 기존 시차 값을 타겟 시차 값으로 변경함으로써 초기 시차맵이 갱신될 수 있다.In step 370, the electronic device 200 creates a target disparity map by updating the initial disparity map based on the target disparity value. For example, the initial disparity map may be updated by changing an existing disparity value of a corresponding pixel to a target disparity value.

갱신되어야 할 대응 픽셀이 복수 개인 경우, 반복적으로, 타겟 시차맵이 갱신됨으로써 최종 시차맵이 생성될 수 있다.When there are a plurality of corresponding pixels to be updated, the final disparity map may be generated by repeatedly updating the target disparity map.

최종 시차맵은 제1 이미지 또는 제2 이미지 내의 오브젝트를 검출하기 위해 이용될 수 있다. 시차맵을 이용하여 제1 이미지 내의 오브젝트를 검출하는 방법에 대해서는 도 10 내지 12를 참조하여 상세히 설명된다.The final disparity map may be used to detect objects in the first image or the second image. A method of detecting an object in the first image using the disparity map will be described in detail with reference to FIGS. 10 to 12 .

도 4는 일 예에 따른 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하는 방법의 흐름도이다.4 is a flowchart of a method of determining a target pixel among pixels in an edge image according to an example.

일 측면에 따른, 도 3을 참조하여 전술된 단계(330)는 아래의 단계들(410 내지 430)을 포함할 수 있다.According to one aspect, the step 330 described above with reference to FIG. 3 may include steps 410 to 430 below.

단계(410)에서, 전자 장치(200)는 엣지 이미지 내의 엣지 성분이 존재하는 후보 타겟 픽셀을 결정한다.In step 410, the electronic device 200 determines a candidate target pixel in which an edge component in the edge image exists.

단계(420)에서, 전자 장치(200)는 후보 타겟 픽셀에 대응하는 초기 시차맵의 대응 픽셀을 결정한다.In step 420, the electronic device 200 determines a corresponding pixel of the initial disparity map corresponding to the candidate target pixel.

단계(430)에서, 전자 장치(200)는 대응 픽셀을 기준으로 미리 설정된 범위 내에서 시차 값들이 변화하는 경우 후보 타겟 픽셀을 타겟 픽셀로 결정한다. 시차 값들이 변화는 미리 설정된 범위 이상의 변화일 수 있다.In operation 430, the electronic device 200 determines a candidate target pixel as a target pixel when parallax values change within a preset range based on the corresponding pixel. Changes in parallax values may be changes greater than or equal to a preset range.

도 5는 일 예에 따른 엣지 이미지 내의 타겟 픽셀을 결정하는 방법의 개략도이다.5 is a schematic diagram of a method for determining a target pixel in an edge image according to an example.

엣지 이미지(510) 내의 픽셀들 중 엣지 성분이 존재하는 후보 타겟 픽셀이 결정되고, 후보 타겟 픽셀에 대응하는 초기 시차맵(520)의 대응 픽셀들이 결정될 수 있다.A candidate target pixel having an edge component among pixels in the edge image 510 may be determined, and corresponding pixels of the initial disparity map 520 corresponding to the candidate target pixel may be determined.

대응 픽셀을 기준으로 미리 설정된 범위(521) 내에서 시차 값들이 변화하는 경우 후보 타겟 픽셀을 타겟 픽셀(512)로 결정한다.When parallax values change within a preset range 521 based on the corresponding pixel, the candidate target pixel is determined as the target pixel 512 .

또한, 추가의 처리를 위해 타겟 픽셀(512)에 기초하여 제1 타겟 영역(520)이 설정될 수 있다. 제1 타겟 영역(520)에 대해서는 아래의 도 6 및 7을 참조하여 상세히 설명된다.Also, a first target region 520 may be set based on the target pixel 512 for further processing. The first target area 520 will be described in detail with reference to FIGS. 6 and 7 below.

도 6은 일 예에 따른 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하는 방법의 흐름도이다.6 is a flowchart of a method of determining a first representative value of a first target area in an edge image according to an example;

일 측면에 따르면, 도 3을 참조하여 전술된 단계(340)는 아래의 단계들(610 내지 630)을 포함할 수 있다.According to one aspect, the step 340 described above with reference to FIG. 3 may include the following steps 610 to 630.

단계(610)에서, 전자 장치(200)는 타겟 픽셀에 기초하여 제1 타겟 영역을 설정한다. 예를 들어, 제1 타겟 영역은 타겟 픽셀을 중심으로 할 수 있다.In step 610, the electronic device 200 sets a first target area based on the target pixels. For example, the first target area may be centered on the target pixel.

단계(620)에서, 전자 장치(200)는 미리 설정된 크기의 윈도우를 제1 타겟 영역 내에서 슬라이딩함으로써 윈도우가 슬라이딩된 위치에 대응하는 복수의 행렬들을 생성한다. 윈도우가 제1 타겟 영역 내의 특정 위치에 있는 경우, 해당 위치에서 윈도우에 포함되는 픽셀들의 값이 행렬의 형태로 생성될 수 있다.In step 620, the electronic device 200 generates a plurality of matrices corresponding to the sliding position of the window by sliding a window having a preset size within the first target area. When the window is located at a specific location within the first target area, values of pixels included in the window at that location may be generated in a matrix form.

단계(630)에서, 전자 장치(200)는 복수의 행렬들에 기초하여 제1 대표 값으로서 대표 행렬을 생성한다. 예를 들어, 대표 행렬의 크기는 윈도우의 크기와 동일할 수 있다. 복수의 행렬들의 동일 위치 값들의 평균 값, 중앙 값 또는 최빈 값이 대표 행렬의 값으로 결정될 수 있다.In step 630, the electronic device 200 generates a representative matrix as a first representative value based on the plurality of matrices. For example, the size of the representative matrix may be the same as the size of the window. An average value, a median value, or a mode value of co-located values of a plurality of matrices may be determined as the value of the representative matrix.

복수의 행렬들에 기초하여 대표 행렬을 생성하는 방법에 대해, 아래에서 도 7을 참조하여 상세히 설명된다.A method of generating a representative matrix based on a plurality of matrices will be described in detail with reference to FIG. 7 below.

도 7은 일 예에 따른 제1 타겟 영역의 제1 대표 값으로서 생성된 대표 행렬을 도시한다.7 illustrates a representative matrix generated as a first representative value of a first target region according to an example.

미리 설정된 윈도우(710)의 크기는 Px×Py이고, 미리 설정된 제1 타겟 영역(720)의 크기는 Sx×Sy일 수 있다.The size of the preset window 710 may be Px×Py, and the size of the preset first target area 720 may be Sx×Sy.

윈도우(710)를 제1 타겟 영역(720) 내에서 슬라이딩함으로써 제1 행렬(730) 내지 제(Sx-Px+1)×(Sy-Py+1)(740) 행렬이 생성된다.By sliding the window 710 within the first target area 720 , first matrices 730 to (Sx-Px+1)×(Sy-Py+1) 740 matrices are generated.

제1 행렬(730) 내지 제(Sx-Px+1)×(Sy-Py+1) 행렬(740)의 동일한 위치의 값들에 기초하여 해당 위치의 대표 값이 결정될 수 있다. 예를 들어, 행렬들의 최 좌측 상단 위치의 값들(731 및 741)의 평균 값, 중앙 값 또는 최빈 값이 대표 행렬(750)의 최 좌측 상단 위치의 대표 값(751)으로 결정될 수 있다. 다른 예로, 행렬들의 최 우측 상단 위치의 값들(732 및 742)의 평균 값, 중앙 값 또는 최빈 값이 대표 행렬(750)의 최 우측 상단 위치의 대표 값(752)으로 결정될 수 있다.A representative value of a corresponding position may be determined based on values of the same position of the first matrix 730 to the (Sx-Px+1)×(Sy-Py+1)th matrix 740 . For example, an average value, a median value, or a mode value of the values 731 and 741 at the top left of the matrices may be determined as the representative value 751 at the top left of the representative matrix 750 . As another example, the average value, the median value, or the most frequent value of the values 732 and 742 at the upper rightmost position of the matrices may be determined as the representative value 752 at the uppermost rightmost position of the representative matrix 750 .

도 8은 일 예에 따른 그레이 이미지를 더 이용하여 타겟 시차 값을 결정하는 방법의 흐름도이다.8 is a flowchart of a method of determining a target disparity value by further using a gray image according to an example.

도 3 내지 도 7을 참조하여 설명된 시차맵 갱신 방법은 엣지 이미지 및 초기 시차맵을 이용하였으나, 시차맵 갱신을 위해 그레이 이미지가 더 이용될 수 있다. 아래의 단계(810)는 단계들(310 및 320)과 독립적으로 병렬적으로 수행될 수 있다.The disparity map update method described with reference to FIGS. 3 to 7 uses an edge image and an initial disparity map, but a gray image may be further used to update the disparity map. Step 810 below may be performed independently of steps 310 and 320 and in parallel.

단계(810)에서, 전자 장치(200)는 제1 이미지에 기초하여 그레이 이미지를 생성한다.In step 810, the electronic device 200 generates a gray image based on the first image.

단계(820)에서, 전자 장치(200)는 제1 타겟 영역에 대응하는 그레이 이미지의 제3 타겟 영역의 제3 대표 값을 결정한다. 제3 타겟 영역의 제3 대표 값을 결정하는 방법은 제1 타겟 영역의 제1 대표 값을 결정하는 방법과 유사하므로, 이에 대한 설명을 생략한다.In operation 820, the electronic device 200 determines a third representative value of a third target area of the gray image corresponding to the first target area. Since the method of determining the third representative value of the third target region is similar to the method of determining the first representative value of the first target region, a description thereof is omitted.

일 측면에 따르면, 단계(360)는 단계(830)를 포함할 수 있다.According to one aspect, step 360 may include step 830 .

단계(830)에서, 전자 장치(200)는 제1 대표 값, 제2 대표 값 및 제3 대표 값을 알고리즘에 입력함으로써 타겟 픽셀에 대한 타겟 시차 값을 결정한다.In operation 830, the electronic device 200 determines a target parallax value for the target pixel by inputting the first representative value, the second representative value, and the third representative value into an algorithm.

도 9는 일 예에 따른 타겟 시차 값을 결정하는 알고리즘의 개략도이다.9 is a schematic diagram of an algorithm for determining a target parallax value according to an example.

일 측면에 따른, 알고리즘(920)은 복수의 레이어들로 구성될 수 있다. 알고리즘(920)은 훈련을 통해 레이어들의 노드들 간의 연결 파라미터가 조정될 수 있다. 연결 파라미터가 바람직하게 조정될수록 Ground Truth에 근접하는 시차 값이 출력될 수 있다.According to one aspect, algorithm 920 may be composed of a plurality of layers. In the algorithm 920, connection parameters between nodes of layers may be adjusted through training. As the connection parameter is preferably adjusted, a parallax value closer to ground truth may be output.

입력 레이어(910)는 제1 대표 값, 제2 대표 값 및 제3 대표 값을 포함할 수 있다. 예를 들어, 대표 값이 행렬인 경우, Px×Py개의 엣지 대표 값(911 내지 912), Px×Py개의 시차 대표 값(913 내지 914) 및 Px×Py개의 그레이 대표 값(915 내지 916)이 알고리즘(920)에 입력될 수 있다.The input layer 910 may include a first representative value, a second representative value, and a third representative value. For example, when the representative value is a matrix, Px×Py edge representative values 911 to 912, Px×Py disparity representative values 913 to 914, and Px×Py gray representative values 915 to 916 It can be input to the algorithm 920.

알고리즘(920)의 연산에 의해 입력에 대한 결과로서 타겟 시차 값(930)이 출력될 수 있다.A target disparity value 930 may be output as a result of an input by the operation of the algorithm 920 .

도 10은 일 예에 따른 오브젝트를 검출하는 방법의 흐름도이다.10 is a flowchart of a method of detecting an object according to an example.

일 측면에 따른, 아래의 단계(1000)는 단계들(1010 내지 1040)을 포함할 수 있고, 단계(1000)는 도 3을 참조하여 전술된 단계(370)가 수행된 후 수행될 수 있다. 단계(1000)는 오브젝트를 검출하는 방법이다.According to one aspect, step 1000 below may include steps 1010 to 1040, and step 1000 may be performed after step 370 described above with reference to FIG. 3 is performed. Step 1000 is a method of detecting an object.

단계(1010)에서, 전자 장치(200)는 시차맵의 대상 픽셀을 포함하는 수평 방향의 제1 픽셀 행렬을 생성한다. 대상 픽셀은 검사의 대상이 되는 픽셀이다. 수평 방향의 제1 픽셀 행렬에 대해 아래에서 도 11을 참조하여 상세히 설명된다.In step 1010, the electronic device 200 generates a first pixel matrix in a horizontal direction including target pixels of the disparity map. The target pixel is a pixel to be inspected. The first pixel matrix in the horizontal direction will be described in detail with reference to FIG. 11 below.

단계(1020)에서, 전자 장치(200)는 대상 픽셀을 포함하는 수직 방향의 제2 픽셀 행렬을 생성한다.In step 1020, the electronic device 200 generates a second pixel matrix in the vertical direction including the target pixel.

단계(1030)에서, 전자 장치(200)는 제1 픽셀 행렬 및 제2 픽셀 행렬에 기초하여 대상 픽셀이 오브젝트의 외곽 픽셀인지 여부를 결정한다.In operation 1030, the electronic device 200 determines whether the target pixel is a pixel outside the object based on the first pixel matrix and the second pixel matrix.

단계(1040)에서, 전자 장치(200)는 대상 픽셀이 오브젝트의 외곽 픽셀인 경우 대상 픽셀에 기초하여 제1 이미지 내의 오브젝트를 검출한다.In step 1040, the electronic device 200 detects the object in the first image based on the target pixel when the target pixel is a pixel outside the object.

도 11은 일 예에 따른 수평 방향의 행렬에 기초하여 외곽 픽셀을 결정하는 방법의 흐름도이다.11 is a flowchart of a method of determining an outer pixel based on a matrix in a horizontal direction according to an example.

수평 방향의 제1 픽셀 행렬(1110)은 복수의 픽셀들을 포함한다. 복수의 픽셀들의 시차 값들을 그래프(1120)로 나타낼 수 있다. 그래프(1120) 중 변화를 나타내는 위치(1121)가 결정될 수 있다. 위치(1121)에 대응하는 픽셀(1111) 또는 픽셀(1111) 주위의 픽셀이 외곽 픽셀로 결정될 수 있다.The first pixel matrix 1110 in the horizontal direction includes a plurality of pixels. Parallax values of a plurality of pixels may be represented as a graph 1120 . A position 1121 representing a change in the graph 1120 may be determined. The pixel 1111 corresponding to the location 1121 or pixels around the pixel 1111 may be determined as an outer pixel.

도 12는 일 예에 따른 시차맵에 기초하여 검출된 오브젝트를 도시한다.12 illustrates an object detected based on a disparity map according to an example.

시차맵 내에 외곽 픽셀(1210)들이 검출될 수 있고, 외곽 픽셀(1210)들을 포함하는 영역이 검출 영역(1220)으로 검출될 수 있다.Outer pixels 1210 may be detected in the disparity map, and an area including the outer pixels 1210 may be detected as the detection area 1220 .

검출 영역(1220)에 대응하는 제1 이미지 내의 영역이 오브젝트 영역(1230)으로 결정될 수 있다.An area in the first image corresponding to the detection area 1220 may be determined as an object area 1230 .

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

 이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

200: 전자 장치
210: 통신부
220: 프로세서
230: 메모리
200: electronic device
210: communication department
220: processor
230: memory

Claims (14)

전자 장치에 의해 수행되는, 시차맵 생성 방법은,
제1 이미지 및 제2 이미지에 기초하여 초기 시차맵을 생성하는 단계;
상기 제1 이미지에 기초하여 엣지 이미지를 생성하는 단계;
상기 초기 시차맵 및 상기 엣지 이미지에 기초하여 상기 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하는 단계;
상기 타겟 픽셀에 기초하여 설정된 상기 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하는 단계;
상기 제1 타겟 영역에 대응하는 상기 초기 시차맵의 제2 타겟 영역의 제2 대표 값을 결정하는 단계;
상기 제1 대표 값 및 상기 제2 대표 값을 미리 학습된 알고리즘에 입력함으로써 상기 타겟 픽셀에 대한 타겟 시차 값을 결정하는 단계; 및
상기 타겟 시차 값에 기초하여 상기 초기 시차맵을 갱신함으로써 타겟 시차맵을 생성하는 단계
를 포함하는,
시차맵 생성 방법.
The method for generating a disparity map, performed by an electronic device,
generating an initial disparity map based on the first image and the second image;
generating an edge image based on the first image;
determining a target pixel among pixels in the edge image based on the initial disparity map and the edge image;
determining a first representative value of a first target area in the edge image set based on the target pixel;
determining a second representative value of a second target area of the initial disparity map corresponding to the first target area;
determining a target parallax value for the target pixel by inputting the first representative value and the second representative value to a previously learned algorithm; and
generating a target disparity map by updating the initial disparity map based on the target disparity value;
including,
How to create a parallax map.
제1항에 있어서,
상기 제1 이미지에 기초하여 그레이 이미지를 생성하는 단계;
상기 제1 타겟 영역에 대응하는 상기 그레이 이미지의 제3 타겟 영역의 제3 대표 값을 결정하는 단계
를 더 포함하고,
상기 타겟 픽셀에 대한 타겟 시차 값을 결정하는 단계는,
상기 제1 대표 값, 상기 제2 대표 값 및 제3 대표 값을 상기 미리 학습된 알고리즘에 입력함으로써 상기 타겟 픽셀에 대한 상기 타겟 시차 값을 결정하는 단계
를 포함하는,
시차맵 생성 방법.
According to claim 1,
generating a gray image based on the first image;
Determining a third representative value of a third target area of the gray image corresponding to the first target area
Including more,
Determining a target parallax value for the target pixel,
determining the target parallax value for the target pixel by inputting the first representative value, the second representative value, and the third representative value to the pre-learned algorithm;
including,
How to create a parallax map.
제1항에 있어서,
상기 제1 이미지 및 상기 제2 이미지는 스테레오 이미지들인,
시차맵 생성 방법.
According to claim 1,
The first image and the second image are stereo images,
How to create a parallax map.
제1항에 있어서,
상기 초기 시차맵 및 상기 엣지 이미지에 기초하여 상기 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하는 단계는,
엣지 성분이 존재하는 후보 타겟 픽셀을 결정하는 단계;
상기 후보 타겟 픽셀에 대응하는 상기 초기 시차맵의 대응 픽셀을 결정하는 단계; 및
상기 대응 픽셀을 기준으로 미리 설정된 범위 내에서 시차 값들이 변화하는 경우, 상기 후보 타겟 픽셀을 상기 타겟 픽셀로 결정하는 단계
를 포함하는,
시차맵 생성 방법.
According to claim 1,
Determining a target pixel among pixels in the edge image based on the initial disparity map and the edge image,
determining a candidate target pixel in which an edge component exists;
determining a corresponding pixel of the initial disparity map corresponding to the candidate target pixel; and
determining the candidate target pixel as the target pixel when parallax values change within a preset range based on the corresponding pixel;
including,
How to create a parallax map.
제1항에 있어서,
상기 타겟 픽셀에 기초하여 설정된 상기 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하는 단계는,
상기 타겟 픽셀에 기초하여 상기 제1 타겟 영역을 설정하는 단계;
미리 설정된 크기의 윈도우를 상기 제1 타겟 영역 내에서 슬라이딩함으로써 상기 윈도우가 슬라이딩된 위치에 대응하는 복수의 행렬들을 생성하는 단계; 및
상기 복수의 행렬들에 기초하여 상기 제1 대표 값으로서 대표 행렬을 생성하는 단계
를 포함하는,
시차맵 생성 방법.

According to claim 1,
Determining a first representative value of a first target region in the edge image set based on the target pixel,
setting the first target area based on the target pixel;
generating a plurality of matrices corresponding to positions where the window is slid by sliding a window having a preset size within the first target area; and
generating a representative matrix as the first representative value based on the plurality of matrices;
including,
How to create a parallax map.

제5항에 있어서,
상기 복수의 행렬들에 기초하여 상기 제1 대표 값으로서 대표 행렬을 생성하는 단계는,
상기 복수의 행렬들의 동일 위치 값들의 평균 값, 중앙 값 또는 최빈 값을 상기 대표 행렬의 값으로 결정하는 단계
를 포함하는,
시차맵 생성 방법.
According to claim 5,
Generating a representative matrix as the first representative value based on the plurality of matrices,
Determining an average value, a median value, or a mode value of co-located values of the plurality of matrices as a value of the representative matrix
including,
How to create a parallax map.
제1항에 있어서,
상기 타겟 시차맵이 갱신되어 생성된 최종 시차맵에 기초하여 상기 제1 이미지 내의 오브젝트를 검출하는 단계
를 더 포함하는,
시차맵 생성 방법.
According to claim 1,
Detecting an object in the first image based on a final disparity map generated by updating the target disparity map
Including more,
How to create a parallax map.
제7항에 있어서,
상기 최종 시차맵에 기초하여 상기 제1 이미지 내의 오브젝트를 검출하는 단계는,
상기 최종 시차맵의 대상 픽셀을 포함하는 수평 방향의 제1 픽셀 행렬을 생성하는 단계;
상기 대상 픽셀을 포함하는 수직 방향의 제2 픽셀 행렬을 생성하는 단계;
상기 제1 픽셀 행렬 및 상기 제2 픽셀 행렬에 기초하여 상기 대상 픽셀이 오브젝트의 외곽 픽셀인지 여부를 결정하는 단계; 및
상기 대상 픽셀이 오브젝트의 외곽 픽셀인 경우, 상기 대상 픽셀에 기초하여 상기 제1 이미지 내의 상기 오브젝트를 검출하는 단계
를 포함하는,
시차맵 생성 방법.
According to claim 7,
The step of detecting an object in the first image based on the final disparity map,
generating a first pixel matrix in a horizontal direction including target pixels of the final disparity map;
generating a second pixel matrix in a vertical direction including the target pixel;
determining whether the target pixel is an outer pixel of the object based on the first pixel matrix and the second pixel matrix; and
Detecting the object in the first image based on the target pixel when the target pixel is an outer pixel of the object
including,
How to create a parallax map.
제1항 내지 제8항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
A computer-readable recording medium containing a program for performing the method of any one of claims 1 to 8.
시차맵을 생성하는 전자 장치는,
시차맵을 생성하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
제1 이미지 및 제2 이미지에 기초하여 초기 시차맵을 생성하는 단계;
상기 제1 이미지에 기초하여 엣지 이미지를 생성하는 단계;
상기 초기 시차맵 및 상기 엣지 이미지에 기초하여 상기 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하는 단계;
상기 타겟 픽셀에 기초하여 설정된 상기 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하는 단계;
상기 제1 타겟 영역에 대응하는 상기 초기 시차맵의 제2 타겟 영역의 제2 대표 값을 결정하는 단계;
상기 제1 대표 값 및 상기 제2 대표 값을 미리 학습된 알고리즘에 입력함으로써 상기 타겟 픽셀에 대한 타겟 시차 값을 결정하는 단계; 및
상기 타겟 시차 값에 기초하여 상기 초기 시차맵을 갱신함으로써 타겟 시차맵을 생성하는 단계
를 수행하는,
전자 장치.
An electronic device for generating a parallax map,
a memory in which a program for generating a parallax map is recorded; and
Processor that executes the above program
including,
said program,
generating an initial disparity map based on the first image and the second image;
generating an edge image based on the first image;
determining a target pixel among pixels in the edge image based on the initial disparity map and the edge image;
determining a first representative value of a first target area in the edge image set based on the target pixel;
determining a second representative value of a second target area of the initial disparity map corresponding to the first target area;
determining a target parallax value for the target pixel by inputting the first representative value and the second representative value to a previously learned algorithm; and
generating a target disparity map by updating the initial disparity map based on the target disparity value;
to do,
electronic device.
제10항에 있어서,
상기 프로그램은,
상기 제1 이미지에 기초하여 그레이 이미지를 생성하는 단계;
상기 제1 타겟 영역에 대응하는 상기 그레이 이미지의 제3 타겟 영역의 제3 대표 값을 결정하는 단계
를 더 수행하고,
상기 타겟 픽셀에 대한 타겟 시차 값을 결정하는 단계는,
상기 제1 대표 값, 상기 제2 대표 값 및 제3 대표 값을 상기 미리 학습된 알고리즘에 입력함으로써 상기 타겟 픽셀에 대한 상기 타겟 시차 값을 결정하는 단계
를 포함하는,
전자 장치.
According to claim 10,
said program,
generating a gray image based on the first image;
Determining a third representative value of a third target area of the gray image corresponding to the first target area
do more,
Determining a target parallax value for the target pixel,
determining the target parallax value for the target pixel by inputting the first representative value, the second representative value, and the third representative value to the pre-learned algorithm;
including,
electronic device.
제10항에 있어서,
상기 초기 시차맵 및 상기 엣지 이미지에 기초하여 상기 엣지 이미지 내의 픽셀들 중 타겟 픽셀을 결정하는 단계는,
엣지 성분이 존재하는 후보 타겟 픽셀을 결정하는 단계;
상기 후보 타겟 픽셀에 대응하는 상기 초기 시차맵의 대응 픽셀을 결정하는 단계; 및
상기 대응 픽셀을 기준으로 미리 설정된 범위 내에서 시차 값들이 변화하는 경우, 상기 후보 타겟 픽셀을 상기 타겟 픽셀로 결정하는 단계
를 포함하는,
전자 장치.
According to claim 10,
Determining a target pixel among pixels in the edge image based on the initial disparity map and the edge image,
determining a candidate target pixel in which an edge component exists;
determining a corresponding pixel of the initial disparity map corresponding to the candidate target pixel; and
determining the candidate target pixel as the target pixel when parallax values change within a preset range based on the corresponding pixel;
including,
electronic device.
제10항에 있어서,
상기 타겟 픽셀에 기초하여 설정된 상기 엣지 이미지 내의 제1 타겟 영역의 제1 대표 값을 결정하는 단계는,
상기 타겟 픽셀에 기초하여 상기 제1 타겟 영역을 설정하는 단계;
미리 설정된 크기의 윈도우를 상기 제1 타겟 영역 내에서 슬라이딩함으로써 상기 윈도우가 슬라이딩된 위치에 대응하는 복수의 행렬들을 생성하는 단계; 및
상기 복수의 행렬들에 기초하여 상기 제1 대표 값으로서 대표 행렬을 생성하는 단계
를 포함하는,
전자 장치.
According to claim 10,
Determining a first representative value of a first target region in the edge image set based on the target pixel,
setting the first target area based on the target pixel;
generating a plurality of matrices corresponding to positions where the window is slid by sliding a window having a preset size within the first target area; and
generating a representative matrix as the first representative value based on the plurality of matrices;
including,
electronic device.
제10항에 있어서,
상기 프로그램은,
상기 타겟 시차맵이 갱신되어 생성된 최종 시차맵에 기초하여 상기 제1 이미지 내의 오브젝트를 검출하는 단계
를 더 수행하는,
전자 장치.
According to claim 10,
said program,
Detecting an object in the first image based on a final disparity map generated by updating the target disparity map
to do more,
electronic device.
KR1020190166925A 2019-12-13 2019-12-13 Method and apparatus for generating disparity map using edge image Active KR102488813B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190166925A KR102488813B1 (en) 2019-12-13 2019-12-13 Method and apparatus for generating disparity map using edge image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190166925A KR102488813B1 (en) 2019-12-13 2019-12-13 Method and apparatus for generating disparity map using edge image

Publications (2)

Publication Number Publication Date
KR20210075618A KR20210075618A (en) 2021-06-23
KR102488813B1 true KR102488813B1 (en) 2023-01-16

Family

ID=76599143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190166925A Active KR102488813B1 (en) 2019-12-13 2019-12-13 Method and apparatus for generating disparity map using edge image

Country Status (1)

Country Link
KR (1) KR102488813B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114998412B (en) * 2022-08-01 2022-11-18 北京中科慧眼科技有限公司 Shadow region parallax calculation method and system based on depth network and binocular vision
CN116597098B (en) * 2023-07-14 2024-01-30 腾讯科技(深圳)有限公司 Three-dimensional reconstruction method, three-dimensional reconstruction device, electronic device and computer readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130071009A1 (en) 2011-09-15 2013-03-21 Broadcom Corporation Depth range adjustment for three-dimensional images
JP2013232064A (en) 2012-04-27 2013-11-14 Toshiba Corp Image processing device, image processing method, and program
US20170223334A1 (en) 2016-02-03 2017-08-03 Canon Kabushiki Kaisha Depth imaging correction apparatus, imaging apparatus, and depth image correction method
KR101866135B1 (en) 2017-05-12 2018-06-08 연세대학교 산학협력단 Device and method for generating depth information of 2d image, recording medium thereof
KR101937585B1 (en) 2017-09-08 2019-04-09 연세대학교 산학협력단 Cost Aggregation Apparatus and Method for Depth Image Generation, and Recording Medium thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130071009A1 (en) 2011-09-15 2013-03-21 Broadcom Corporation Depth range adjustment for three-dimensional images
JP2013232064A (en) 2012-04-27 2013-11-14 Toshiba Corp Image processing device, image processing method, and program
US20170223334A1 (en) 2016-02-03 2017-08-03 Canon Kabushiki Kaisha Depth imaging correction apparatus, imaging apparatus, and depth image correction method
KR101866135B1 (en) 2017-05-12 2018-06-08 연세대학교 산학협력단 Device and method for generating depth information of 2d image, recording medium thereof
KR101937585B1 (en) 2017-09-08 2019-04-09 연세대학교 산학협력단 Cost Aggregation Apparatus and Method for Depth Image Generation, and Recording Medium thereof

Also Published As

Publication number Publication date
KR20210075618A (en) 2021-06-23

Similar Documents

Publication Publication Date Title
TWI708210B (en) 3d model reconstruction method, electronic device, and non-transitory computer readable storage medium
KR102459853B1 (en) Method and device to estimate disparity
KR102108953B1 (en) Robust camera and lidar sensor fusion method and system
CN110807350B (en) System and method for scan-matching oriented visual SLAM
US20210090327A1 (en) Neural network processing for multi-object 3d modeling
US10572072B2 (en) Depth-based touch detection
KR102723996B1 (en) Method for detecting 3d object from 2d image and apparatus thereof
KR102483641B1 (en) Method and apparatus for processing binocular image
US10506219B2 (en) Method and apparatus for determining interpupillary distance (IPD)
EP3182067A1 (en) Method and apparatus for determining spacecraft attitude by tracking stars
KR102608956B1 (en) A method for rectifying a sequence of stereo images and a system thereof
WO2017143745A1 (en) Method and apparatus for determining movement information of to-be-detected object
KR102488813B1 (en) Method and apparatus for generating disparity map using edge image
US20190235063A1 (en) System and method for calibrating light intensity
KR20210074163A (en) Joint detection and description systems and methods
KR20220109537A (en) Apparatus and method for calibration of sensor system of autonomous vehicle
US11470298B2 (en) Method and apparatus with updating of algorithm for generating disparity image
Barath Recovering affine features from orientation-and scale-invariant ones
KR102240403B1 (en) Image rectification method and image rectification apparatus
KR102315622B1 (en) Method and apparatus for determining training data for updating algorithm
KR20230011045A (en) Method and apparatus for light estimation
KR102426479B1 (en) Method and apparatus for updating object determining model
KR102708278B1 (en) Apparatus and method of video stitching using depth based seam regeneration for seam optimized video stitching
CN114743019B (en) Cross-modal target detection method and system based on multi-scale features
US9721151B2 (en) Method and apparatus for detecting interfacing region in depth image

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20191213

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200713

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20191213

Comment text: Patent Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220715

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230106

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230111

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230112

End annual number: 3

Start annual number: 1

PG1601 Publication of registration