KR20130082054A - Method and apparatus for recovering depth value of depth image - Google Patents

Method and apparatus for recovering depth value of depth image

Info

Publication number
KR20130082054A
KR20130082054A KR1020120093530A KR20120093530A KR20130082054A KR 20130082054 A KR20130082054 A KR 20130082054A KR 1020120093530 A KR1020120093530 A KR 1020120093530A KR 20120093530 A KR20120093530 A KR 20120093530A KR 20130082054 A KR20130082054 A KR 20130082054A
Authority
KR
South Korea
Prior art keywords
depth image
depth
value
pixel
nom
Prior art date
Application number
KR1020120093530A
Other languages
Korean (ko)
Other versions
KR101874486B1 (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 US13/736,463 priority Critical patent/US9225959B2/en
Publication of KR20130082054A publication Critical patent/KR20130082054A/en
Application granted granted Critical
Publication of KR101874486B1 publication Critical patent/KR101874486B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • 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/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

PURPOSE: A method and apparatus for restoring a depth value of a depth image determines the number of modes of corresponding pixels within a first depth image and a second depth image, and restores at least one depth value of a depth image of the first depth image and the second depth image, based on the determined NoM. CONSTITUTION: A receiving unit receives a first depth image and a second depth image (330). A processing unit determines NoM (Number of Mods) of modes of corresponding pixels within the first depth image and second depth image (340). The processing unit restores a depth value of at least one depth image of the first depth image and the second depth image based on the determined NoM (350). The processing unit uses the first depth image and the second depth image of which the depth values are restored, and renews each restored depth value of the first depth image and the second depth image (360). [Reference numerals] (310) Generate a first depth image; (320) Generate a second depth image; (330) Receive the depth images; (340) Decide a NoM; (342) Decide a NoM for each pixel of the first depth image; (344) Decide a NoM for each pixel of the second depth image; (350) Recover the depth value of the depth images; (360) Update the recovered depth value; (362) Update the recovered depth value of the first depth image; (364) Update the recovered depth value of the second depth image; (AA) Start; (BB) End

Description

깊이 영상의 깊이 값을 복원하는 방법 및 장치{METHOD AND APPARATUS FOR RECOVERING DEPTH VALUE OF DEPTH IMAGE}METHOD AND APPARATUS FOR RECOVERING DEPTH VALUE OF DEPTH IMAGE}

아래의 실시예들은 깊이 영상 내의 깊이 값을 복원하는 방법 및 장치에 관한 것으로, 보다 상세히는 ToF 카메라에 의해 촬영된 깊이 영상 내의 픽셀의 깊이 값을 계산하는 방법 및 장치가 개시된다.The following embodiments relate to a method and apparatus for reconstructing a depth value in a depth image, and more particularly, to a method and apparatus for calculating a depth value of a pixel in a depth image photographed by a ToF camera.

비행시간(Time-of-Flight; ToF) 깊이(depth) 카메라는 씬의 2.5차원(Dimension; D) 정보를 제공하는 카메라이다. 여기서, 2.5D는 가시의 면에 대해서만 깊이 정보가 제공됨을 의미한다.A time-of-flight (ToF) depth camera is a camera that provides 2.5D (D) information of the scene. Here, 2.5D means that depth information is provided only for the visible surface.

ToF 깊이 카메라는, 적외선(InfraRed; IR) 광을 조사하는 발광다이오드(Light Emitting Diode; LED) 및 광을 검출(detection)하는 센서(sensor)를 포함한다. ToF 깊이 카메라는 LED로부터 조사된 IR 광이 물체에 맞고 반사되어 센서로 돌아오는 시간을 측정함으로써 ToF 깊이 카메라 및 물체 간의 거리를 계산한다.The ToF depth camera includes a light emitting diode (LED) for irradiating infrared (InfraRed) light and a sensor for detecting light. The ToF depth camera calculates the distance between the ToF depth camera and the object by measuring how long the IR light emitted from the LED hits the object, reflects, and returns to the sensor.

조사된 IR 광은 주파수 f로 변조된다. 즉, IR 광은 주파수 f를 갖는 광이다. ToF ttime-of-flight는 센서로 돌아오는 광의 세기를 2 개의 페이즈(phase) 또는 4 개의 페이즈에 대해 측정함으로써 간접적으로 계산된다.The irradiated IR light is modulated at the frequency f . In other words, the IR light is light having a frequency f . ToF t time-of-flight is calculated indirectly by measuring the intensity of the light returning to the sensor for two phases or four phases.

일 측에 따르면, 제1 깊이 영상 및 제2 깊이 영상을 수신하는 단계, 상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)를 결정하는 단계 및 상기 결정된 NoM에 기반하여 상기 제1 깊이 영상 및 상기 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원하는 단계를 포함하고, 상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내는, 깊이 영상 처리 방법이 제공될 수 있다.The method may further include receiving a first depth image and a second depth image, and determining a number of mods (NoM) of modes of respective pixels in the first depth image and the second depth image. Reconstructing a depth value of at least one depth image of the first depth image and the second depth image based on the determined NoM, wherein the corresponding pixels represent the same three-dimensional point. The depth image processing method may be provided.

상기 결정하는 단계는, 상기 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계 및 상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계를 포함할 수 있다.The determining may include determining a NoM of each pixel in the first depth image and minimizing a Markov Random Field (MRF) energy for the first depth image and for the second depth image. And determining the NoM of each of the pixels in the second depth image to minimize MRF energy.

상기 제1 깊이 영상에 대한 MRF 에너지는 상기 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제1 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 결정될 수 있다.The MRF energy for the first depth image may be determined based on the data cost of each of the pixels in the first depth image and the discontinuity cost of two adjacent pixels in the first depth image.

상기 제2 깊이 영상에 대한 MRF 에너지는 상기 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제2 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 결정될 수 있다.The MRF energy for the second depth image may be determined based on the data cost of each of the pixels in the second depth image and the discontinuity cost of two adjacent pixels in the second depth image.

상기 불연속성 비용은, 하나의 깊이 영상 내의 공간적으로 이웃한 2 개의 픽셀들 각각의 3차원 거리들이 서로 유사한 경우 상기 2 개의 픽셀들의 NoM들은 서로 동일하다는 제약 조건을 반영하는 비용일 수 있다.The discontinuity cost may be a cost reflecting the constraint that the NoMs of the two pixels are the same when three-dimensional distances of two spatially neighboring pixels in one depth image are similar to each other.

픽셀의 상기 3 차원 거리는 상기 픽셀을 포함하는 깊이 영상을 생성한 카메라 및 픽셀에 대응하는 3차원 포인트 간의 거리일 수 있다.The three-dimensional distance of the pixel may be a distance between a camera that generates a depth image including the pixel and a three-dimensional point corresponding to the pixel.

상기 제1 깊이 영상 내의 제1 픽셀 및 상기 제2 깊이 영상 내의 제2 픽셀은 상기 서로 대응하는 픽셀들일 수 있다.The first pixel in the first depth image and the second pixel in the second depth image may be pixels corresponding to each other.

상기 데이터 코스트는 상기 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3차원 포인트 및 상기 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3차원 포인트 간의 거리를 최소로 만드는 상기 제1 픽셀의 상기 결정된 NoM 및 상기 제2 픽셀의 상기 결정된 NoM을 계산함으로써 계산될 수 있다.The determined data cost of the first pixel that minimizes the distance between the first three-dimensional point reconstructed by applying NoM to the first pixel and the second three-dimensional point reconstructed by applying NoM to the second pixel. It can be calculated by calculating the NoM and the determined NoM of the second pixel.

상기 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 상기 데이터 코스트의 값은 강건 잠재 함수(robust potential function)에 의해 상기 문턱치로 변경될 수 있다.When the value of the calculated data cost is greater than the threshold, the value of the data cost may be changed to the threshold by a robust potential function.

상기 깊이 영상 처리 방법은, 깊이 값이 복원된 상기 제2 깊이 영상을 사용하여 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 단계를 더 포함할 수 있다.The depth image processing method may further include updating the reconstructed depth value of the first depth image by using the second depth image in which the depth value is reconstructed.

상기 갱신하는 단계는 상기 제1 깊이 영상의 상기 복원된 깊이 값 및 상기 제2 깊이 영상의 상기 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 상기 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 상기 복원된 깊이 값을 갱신할 수 있다.The updating may include the depth value based on the restored depth value of the second depth image such that the restored depth value of the first depth image and the restored depth value of the second depth image are consistent with each other. The reconstructed depth value of the first depth image may be updated by repeatedly minimizing MRF energy for the reconstructed first depth image.

상기 깊이 영상 처리 방법은 상기 제1 깊이 영상을 생성하는 단계 및 상기 제2 깊이 영상을 생성하는 단계를 더 포함할 수 있다.The depth image processing method may further include generating the first depth image and generating the second depth image.

상기 제1 깊이 영상 및 상기 제2 깊이 영상은 씬을 서로 상이한 위치 및/또는 방향에서 촬영함으로써 생성될 수 있다.The first depth image and the second depth image may be generated by photographing the scene at different positions and / or directions.

다른 일 측에 따르면, 제1 깊이 영상 및 제2 깊이 영상을 수신하는 수신부, 상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)의 값을 결정하고, 상기 결정된 NoM의 값에 기반하여 상기 제1 깊이 영상 및 상기 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원하는 처리부를 포함하고, 상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내는, 깊이 영상 처리 장치가 제공될 수 있다.According to another aspect, a receiver for receiving a first depth image and a second depth image, a value of a number of mods (NoM) of respective modes of pixels corresponding to the first depth image and the second depth image And a processor configured to reconstruct a depth value of at least one depth image of the first depth image and the second depth image based on the determined value of NoM, wherein the corresponding pixels have the same three-dimensional point ( A depth image processing apparatus may be provided.

상기 처리부는 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정할 수 있고, 상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정할 수 있다.The processor may determine the NoM of each of the pixels in the first depth image that minimizes Markov Random Field (MRF) energy for the first depth image, and minimizes the MRF energy for the second depth image. The NoM of each of the pixels in the second depth image may be determined.

상기 처리부는 상기 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제1 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 상기 제1 깊이 영상에 대한 MRF 에너지를 결정할 수 있고, 상기 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제2 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 상기 제2 깊이 영상에 대한 MRF 에너지를 결정할 수 있다.The processor may determine the MRF energy for the first depth image based on the data cost of each pixel in the first depth image and the discontinuity cost of two adjacent pixels in the first depth image, and the second depth The MRF energy for the second depth image may be determined based on the data cost of each pixel in the image and the discontinuity cost of two adjacent pixels in the second depth image.

상기 처리부는 상기 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3차원 포인트 및 상기 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3차원 포인트 간의 거리를 최소로 만드는 상기 제1 픽셀의 상기 결정된 NoM 및 상기 제2 픽셀의 상기 결정된 NoM을 계산함으로써 상기 데이터 코스트를 계산할 수 있다.The processing unit minimizes the distance between the first three-dimensional point reconstructed by applying NoM to the first pixel and the second three-dimensional point reconstructed by applying NoM to the second pixel, wherein the determined NoM of the first pixel is minimized. And calculating the data cost by calculating the determined NoM of the second pixel.

상기 처리부는 강건 잠재 함수(robust potential function)를 사용함으로써 상기 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 상기 데이터 코스트의 값을 상기 문턱치로 변경시킬 수 있다.The processor may change the value of the data cost to the threshold when the value of the calculated data cost is greater than the threshold by using a robust potential function.

상기 처리부는 깊이 값이 복원된 상기 제2 깊이 영상을 사용하여 상기 제1 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.The processor may update the reconstructed depth value of the first depth image by using the second depth image in which the depth value is reconstructed.

상기 처리부는 상기 제1 깊이 영상의 복원된 깊이 값 및 상기 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.The processor may further include a first depth in which the depth value is restored based on a restored depth value of the second depth image such that the restored depth value of the first depth image and the restored depth value of the second depth image are consistent with each other. By repeatedly minimizing the MRF energy for the image, the reconstructed depth value of the first depth image may be updated.

상기 깊이 영상 처리 장치는, 씬을 촬영함으로써 상기 제1 깊이 영상을 생성하는 제1 카메라 및 상기 씬을 촬영함으로써 상기 제2 깊이 영상을 생성하는 제2 카메라를 더 포함할 수 있다.The depth image processing apparatus may further include a first camera that generates the first depth image by photographing a scene, and a second camera that generates the second depth image by photographing the scene.

상기 제1 카메라 및 상기 제2 카메라는 서로 상이한 위치 및/또는 방향에서 상기 씬을 촬영하는, 깊이 영상 생성 장치.And the first camera and the second camera photograph the scene at different positions and / or directions.

도 1은 일 실시예에 따른 깊이 영상 생성 장치의 구조도이다.
도 2는 일 예에 따른 복수 개의 ToF 깊이 카메라들을 사용하는 거리 계산 방법을 설명한다.
도 3은 일 실시예에 따른 깊이 영상의 깊이 값 복원 방법의 흐름도이다.
도 4는 일 예에 따른 NoM 값에 따른 3D 포인트의 거리 변화를 설명한다.
도 5는 일 예에 따른 데이터 코스트 함수를 사용함으로써 복원된 깊이 영상들을 나타낸다.
도 6은 일 예에 따른 불연속성 비용의 역할을 설명한다.
도 7은 일 예에 따른 깊이 값의 갱신이 적용된 깊이 영상들을 나타낸다.
1 is a structural diagram of a depth image generating apparatus according to an exemplary embodiment.
2 illustrates a distance calculation method using a plurality of ToF depth cameras according to an example.
3 is a flowchart illustrating a method of restoring a depth value of a depth image, according to an exemplary embodiment.
4 illustrates a change in distance of a 3D point according to a NoM value according to an example.
5 illustrates depth images reconstructed by using a data cost function according to an example.
6 illustrates a role of discontinuity cost according to an example.
7 illustrates depth images to which a depth value update is applied according to an example.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
In the following, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

도 1은 일 실시예에 따른 깊이 영상 생성 장치의 구조도이다.1 is a structural diagram of a depth image generating apparatus according to an exemplary embodiment.

깊이 영상 처리 장치(100)는 제1 카메라(110), 제2 카메라(120), 수신부(130) 및 처리부(140)를 포함할 수 있다.The depth image processing apparatus 100 may include a first camera 110, a second camera 120, a receiver 130, and a processor 140.

제1 카메라(110)를 씬(scene)을 촬영함으로써 제1 깊이 영상을 생성할 수 있다. 제2 카메라(120)는 상기의 씬을 촬영함으로써 제2 깊이 영상을 생성할 수 있다. 제1 카메라(110) 및 제2 카메라(120)는 각각 서로 상이한 위치 및/또는 방향에서 씬을 촬영함으로써 각각 제1 깊이 영상 및 제2 깊이 영상을 생성할 수 있다. 제1 깊이 영상 및 제2 깊이 영상은 씬을 서로 상이한 위치 및 방향에서 촬영함으로써 생성될 수 있다.The first depth image may be generated by photographing a scene of the first camera 110. The second camera 120 may generate a second depth image by capturing the scene. The first camera 110 and the second camera 120 may generate a first depth image and a second depth image, respectively, by photographing the scene at different positions and / or directions. The first depth image and the second depth image may be generated by photographing the scene at different positions and directions.

제1 카메라(110) 및 제2 카메라(120)는 각각 ToF 깊이 카메라일 수 있다. 제1 카메라(110) 및 제2 카메라(120)는 스테레오 타입의 ToF 깊이 카메라일 수 있다.The first camera 110 and the second camera 120 may each be a ToF depth camera. The first camera 110 and the second camera 120 may be a stereo type ToF depth camera.

수신부(130)는 촬영된 제1 깊이 영상 및 제2 깊이 영상을 수신할 수 있다.The receiver 130 may receive the captured first depth image and the second depth image.

처리부(140)는 제1 깊이 영상의 깊이 값 및 제2 깊이 영상의 깊이 값을 복원할 수 있다. 여기서, 깊이 영상의 깊이 값은 깊이 영상 내의 픽셀들 각각의 깊이 값을 의미할 수 있다. 깊이 값의 복원은 부정확하거나 불충분한 깊이 값을 정확하거나 더 정확한 깊이 값으로 변경하는 것을 의미할 수 있다.The processor 140 may restore the depth value of the first depth image and the depth value of the second depth image. Here, the depth value of the depth image may mean a depth value of each pixel in the depth image. Restoration of the depth value may mean changing an incorrect or insufficient depth value to an accurate or more accurate depth value.

깊이 영상 내의 픽셀의 깊이 값은 상기의 깊이 영상을 촬영한 카메라 및 상기의 픽셀에 대응하는 씬의 3차원(3Dimensional; 3D) 포인트 간의 거리를 나타낸다. 따라서, 상기의 거리 및 상기의 픽셀의 깊이 값이 더 근접할수록, 상기의 픽셀의 깊이 값은 더 정확한 것으로 간주될 수 있다.
The depth value of a pixel in the depth image represents a distance between a camera photographing the depth image and a 3D point of a scene corresponding to the pixel. Thus, the closer the distance and depth value of the pixel are, the more accurate the depth value of the pixel can be considered.

도 2는 일 예에 따른 복수 개의 ToF 깊이 카메라들을 사용하는 거리 계산 방법을 설명한다.2 illustrates a distance calculation method using a plurality of ToF depth cameras according to an example.

복수 개의 ToF 깊이 카메라들은 제1 카메라(110) 및 제2 카메라(120)일 수 있다.The plurality of ToF depth cameras may be the first camera 110 and the second camera 120.

처리부(140)는 하기의 수학식 1에 기반하여 ToP 깊이 카메라 및 물체 간의 거리를 계산할 수 있다.The processor 140 may calculate a distance between the ToP depth camera and the object based on Equation 1 below.

Figure pat00001
Figure pat00001

여기서, d는 ToP 깊이 카메라 및 물체 간의 거리일 수 있다. c는 빛의 속도일 수 있다. t time-of-flight는 광이 ToP 깊이 카메라의 LED로부터 조사된 후 물체에 맞고 반사되어 ToF 깊이 카메라의 센서로 돌아올 때까지의 시간일 수 있다. 이하, LED로부터 조사된 광을 조사 광으로, 물체에 맞고 반사되어 센서로 돌아온 광을 반사 광으로 약술한다. LED로부터 조사되는 광은 주파수 f로 변조된 광일 수 있으며, IR 광일 수 있다. Here, d may be a distance between the ToP depth camera and the object. c may be the speed of light. t time-of-flight may be the time from when the light is irradiated from the LED of the ToP depth camera to hit the object, reflect, and return to the sensor of the ToF depth camera. Hereinafter, the light irradiated from the LED is irradiated with the irradiated light, and the light reflected by the object and returned to the sensor is outlined as the reflected light. The light irradiated from the LED may be light modulated at a frequency f , and may be IR light.

t time-of-flight는, 예컨대 처리부(140)에 의해, 센서로 돌아오는 빛의 세기를 2 개의 페이즈들 또는 4 개의 페이즈들에 대해서 측정함으로써 간접적으로 계산될 수 있다. t time-of-flight may be indirectly calculated by measuring the intensity of light returning to the sensor for two phases or four phases, for example by the processor 140.

도 2는 2 개의 서로 상이한 페이즈들에서 측정된 광의 세기를 이용함으로써 거리를 계산하는 방식을 나타낼 수 있다. 여기서, 2 개의 서로 다른 페이즈들은 각각 0°의 페이즈 및 180° 의 페이즈일 수 있다.2 may represent a way to calculate the distance by using the intensity of light measured in two different phases. Here, the two different phases may be phases of 0 ° and phases of 180 °, respectively.

센서에 의해 수신된 신호는 하기의 수학식 2로서 표현될 수 있다. 여기서, 수신된 신호는 센서가 수신한 반사 광일 수 있다.The signal received by the sensor can be expressed as Equation 2 below. Here, the received signal may be reflected light received by the sensor.

Figure pat00002
Figure pat00002

여기서, A는 수신된 신호의 진폭(amplitude)을 나타낼 수 있다. t는 시각을 나낼 수 있다.

Figure pat00003
는 조사 광 및 반사 광 간의 위상차일 수 있다.Here, A may represent the amplitude of the received signal. t can represent time.
Figure pat00003
May be a phase difference between the irradiation light and the reflected light.

처리부(140)는 하기의 수학식 3에 기반하여 t time-of-flight를 계산할 수 있다.The processor 140 may calculate t time-of-flight based on Equation 3 below.

Figure pat00004
Figure pat00004

수신된 신호는 제1 믹서(210) 및 제2 믹서(220)에 의해 사인 파 sin(2πft) 및 코사인 파 cos(2πft)와 혼합될 수 있다. 혼합에 의해 생성된 신호들은 각각 제1 로우 패스 필터(low pass filter)(212) 및 제2 로우 패스 필터(214)를 통과할 수 있다. 혼합에 의해 생성된 신호들이 각각 제1 로우 패스 필터(212) 및 제2 로우 패스 필터(214)를 통과함으로써 제1 상관(correlation)된 신호 B 및 제2 상관된 신호 C가 생성될 수 있다. 여기서, 사인 파 sin(2πft) 및 코사인 파 cos(2πft)는 각각 1차 페이즈 및 3차 페이즈에 대응하는 파일 수 있다.The received signal may be mixed with sine wave sin (2 pi ft ) and cosine wave cos (2 pi ft ) by the first mixer 210 and the second mixer 220. The signals generated by the mixing may pass through a first low pass filter 212 and a second low pass filter 214, respectively. As the signals generated by the mixing pass through the first low pass filter 212 and the second low pass filter 214, the first correlated signal B and the second correlated signal C may be generated. Here, the sine wave sin (2 pi ft ) and the cosine wave cos (2 pi ft ) may be files corresponding to the first and third phases, respectively.

BC는 하기의 수학식 4에 기반하여 계산될 수 있다. B and C may be calculated based on Equation 4 below.

Figure pat00005
Figure pat00005

또한, A

Figure pat00006
는 각각 하기의 수학식 5에 기반하여 계산될 수 있다.In addition, A and
Figure pat00006
Each can be calculated based on Equation 5 below.

Figure pat00007
Figure pat00007

d max는 모호성(ambiguity) 없이 측정될 수 있는 최대 거리를 나타낼 수 있다. 예컨대, d max는 위상차의 한 주기에 해당하는 거리일 수 있다. d max는 비-모호한 거리 범위(non-ambiguous distance range) 또는 최대 취득 거리로 명명될 수 있다. d max may represent the maximum distance that can be measured without ambiguity. For example, d max may be a distance corresponding to one period of the phase difference. d max may be named the non-ambiguous distance range or the maximum acquisition distance.

조사 광 및 반사 광 간의 위상차가 2π 보다 더 큰 경우, 조사 광 및 반사 광 간의 실제의 위상차보다 더 작은 0 이상 2π 이하의 값이 위상차로서 측정될 수 있다.When the phase difference between the irradiation light and the reflected light is larger than 2π, a value of 0 or more and 2π or less smaller than the actual phase difference between the irradiation light and the reflected light can be measured as the phase difference.

d는 하기의 수학식 6에 기반하여 계산될 수 있다. d may be calculated based on Equation 6 below.

Figure pat00008
Figure pat00008

거리 d를 정확하게 계산하기 위해서, 처리부(140)는 측정된 위상차인

Figure pat00009
에 2πn을 더한 값인
Figure pat00010
+2πn를 이용하여 d+nd max를 계산할 수 있다. 여기서, n은 0 이상의 정수일 수 있다.In order to accurately calculate the distance d , the processing unit 140 measures the phase difference
Figure pat00009
Plus
2 πn
Figure pat00010
We can calculate d + nd max using +2 π n . Here, n may be an integer of 0 or more.

단일한 깊이 카메라의 깊이 측정 방식으로는 n의 값이 결정되지 못할 수 있다. 따라서, 깊이 카메라에 의해 측정될 수 있는 최대의 거리는 d max일 수 있으며, 처리부(140)는 깊이 카메라로부터 d max 보다 더 멀리 떨어진 물체에 대한 깊이 값을 실제보다 더 짧은 거리 값으로 잘못 계산할 수 있다. 여기서, 물체에 대한 깊이 값은 깊이 영상 내의 픽셀들 중 상기의 물체를 나타내는 픽셀의 깊이 값일 수 있다.The value of n may not be determined by the depth measurement method of a single depth camera. Therefore, the maximum distance that can be measured by the depth camera may be d max , and the processor 140 may incorrectly calculate a depth value for an object farther than d max from the depth camera as a shorter distance value than the actual value. . The depth value of the object may be a depth value of a pixel representing the object among pixels in the depth image.

즉, 즉, 모호성에 의해 제1 카메라(110) 또는 제2 카메라(120)에 의해 촬영된 깊이 영상의 깊이 값은 nd max 부분이 유실된 잘못된 깊이 값일 수 있다. 처리부(140)는 촬영에 의해 생성된 깊이 영상의 깊이 값에 nd max 부분을 가함으로써 깊이 값을 복원할 수 있다.That is, the depth value of the depth image captured by the first camera 110 or the second camera 120 due to ambiguity may be an incorrect depth value in which the nd max portion is lost. The processor 140 may restore the depth value by adding an nd max portion to the depth value of the depth image generated by the imaging.

도 1을 참조하여 전술된 복원된 깊이 값은, n의 값을 결정함으로써 원거리 복원된 깊이 값일 수 있다. 또한, 복원된 깊이 영상은 깊이 영상 내의 픽셀들 각각의 깊이 값에 대해 n의 값을 결정함으로써 원거리 복원된 깊이 값을 갖는 깊이 영상일 수 있다.The reconstructed depth value described above with reference to FIG. 1 may be a far reconstructed depth value by determining a value of n. Also, the reconstructed depth image may be a depth image having a far reconstructed depth value by determining a value of n for each depth value of each pixel in the depth image.

수학식 1 내지 수학식 6을 참조하여 전술된 설명은 복수 개의 카메라들에 의해 수신된 신호들 각각에 대해 적용될 수 있다.
The above description with reference to Equations 1 to 6 may be applied to each of the signals received by the plurality of cameras.

도 3은 일 실시예에 따른 깊이 영상의 깊이 값 복원 방법의 흐름도이다.3 is a flowchart illustrating a method of restoring a depth value of a depth image, according to an exemplary embodiment.

단계(310)에서, 제1 카메라(110)는 씬을 촬영함으로써 제1 깊이 영상을 생성할 수 있다.In operation 310, the first camera 110 may generate a first depth image by capturing a scene.

단계(320)에서, 제2 카메라(120)는 상기의 씬을 촬영함으로써 제2 깊이 영상을 생성할 수 있다.In operation 320, the second camera 120 may generate a second depth image by capturing the scene.

단계(310) 및 단계(320)에서, 제1 카메라(110) 및 제2 카메라(120)는 서로 상이한 위치 및/또는 방향에서 동일한 씬을 촬영할 수 있다. 즉, 제1 깊이 영상 및 제2 깊이 영상은 각각 씬을 서로 상이한 위치 및/또는 방향에서 촬영함으로써 생성될 수 있다. 제1 깊이 영상 및 제2 깊이 영상은 씬에 대한 서로 상이한 시점을 가질 수 있다.In operations 310 and 320, the first camera 110 and the second camera 120 may photograph the same scene at different positions and / or directions. That is, the first depth image and the second depth image may be generated by photographing the scene at different positions and / or directions, respectively. The first depth image and the second depth image may have different views of the scene.

단계(330)에서, 수신부(130)는 제1 카메라(110)로부터 제1 깊이 영상을 수신할 수 있고, 제2 카메라(120)로부터 제2 깊이 영상을 수신할 수 있다.In operation 330, the receiver 130 may receive a first depth image from the first camera 110 and may receive a second depth image from the second camera 120.

단계(340)에서, 처리부(140)는 제1 깊이 영상 및 제2 깊이 영상 내의 대응하는 픽셀들 각각의 NoM을 결정할 수 있다. 여기서, 대응하는 픽셀들은 동일한 3 차원 포인트(point)를 나타낼 수 있다. 즉, 씬 내의 객체가 제1 카메라(110) 및 제2 카메라(120) 각각에 의해 촬영되었을 때, 상기의 객체를 나타내는 제1 깊이 영상 내의 픽셀 및 제2 깊이 영상 내의 픽셀은 서로 대응하는 픽셀들이다.In operation 340, the processor 140 may determine a NoM of each of the corresponding pixels in the first depth image and the second depth image. Here, the corresponding pixels may represent the same three-dimensional point. That is, when an object in the scene is photographed by each of the first camera 110 and the second camera 120, the pixels in the first depth image and the pixels in the second depth image representing the object are pixels corresponding to each other. .

NoM의 결정에 대해서, 하기에서 도 4를 참조하여 상세히 설명된다.The determination of NoM is described in detail with reference to FIG. 4 below.

단계(340)는 단계(342) 및 단계(344)를 포함할 수 있다.Step 340 may include step 342 and step 344.

단계(342)에서, 처리부(140)는 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정할 수 있다. 마코프 랜덤 필드 에너지에 대해서, 하기에서 도 5를 참조하여 상세히 설명된다.In operation 342, the processor 140 may determine a NoM of each pixel in the first depth image that minimizes Markov Random Field (MRF) energy for the first depth image. The Markov random field energy is described in detail with reference to FIG. 5 below.

단계(344)에서, 처리부(140)는 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정할 수 있다.In operation 344, the processor 140 may determine a NoM of each pixel in the second depth image that minimizes the MRF energy for the second depth image.

단계(350)에서, 처리부(150)는 결정된 NoM에 기반하여 제1 깊이 영상 및 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원할 수 있다.In operation 350, the processor 150 may restore a depth value of at least one depth image of the first depth image and the second depth image based on the determined NoM.

단계(360)에서, 처리부(160)는 깊이 값이 복원된 제1 깊이 영상 및 깊이 값이 복원된 제2 깊이 영상을 사용하여 제1 깊이 영상의 복원된 깊이 값 및 제2 깊이 영상의 복원된 깊이 값을 갱신할 수 있다. 단계(360)는 제1 깊이 영상 및 제2 깊이 영상에 대한 최적화를 수행하는 단계로 간주될 수 있다.In operation 360, the processor 160 reconstructs the reconstructed depth value of the first depth image and the second depth image by using the first depth image in which the depth value is restored and the second depth image in which the depth value is restored. You can update the depth value. Step 360 may be regarded as performing optimization on the first depth image and the second depth image.

단계(360)는 단계(362) 및 단계(364)를 포함할 수 있다.Step 360 can include step 362 and step 364.

단계(362)에서, 처리부(160)는 깊이 값이 복원된 제2 깊이 영상을 사용하여 제1 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.In operation 362, the processor 160 may update the restored depth value of the first depth image by using the second depth image in which the depth value is restored.

단계(364)에서, 처리부(160)는 깊이 값이 복원된 제1 깊이 영상을 사용하여 제2 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.
In operation 364, the processor 160 may update the restored depth value of the second depth image by using the first depth image in which the depth value is restored.

도 4는 일 예에 따른 NoM 값에 따른 3D 포인트의 거리 변화를 설명한다.4 illustrates a change in distance of a 3D point according to a NoM value according to an example.

제1 픽셀은 제1 깊이 영상 내의 픽셀들 중 하나의 픽셀일 수 있다, 제2 픽셀은 제2 깊이 영상 내의 픽셀들 중 하나의 픽셀일 수 있다. 제1 픽셀 및 제2 픽셀은 서로 대응하는 픽셀들일 수 있다.The first pixel may be one of the pixels in the first depth image, and the second pixel may be one of the pixels in the second depth image. The first pixel and the second pixel may be pixels corresponding to each other.

도 3을 참조하여 전술된 단계(330)에서, 제1 깊이 영상의 제1 픽셀의 깊이 값은 d 1이다. 제2 깊이 영상의 제2 픽셀의 깊이 값은 d 2이다. 도 2를 참조하여 전술된 것처럼, d 1은 0 이상의 d max(f 1)보다 작은 값일 수 있고, d 2는 0 이상의 d max(f 2)보다 작은 값일 수 있다.In operation 330 described above with reference to FIG. 3, the depth value of the first pixel of the first depth image is d 1 . The depth value of the second pixel of the second depth image is d 2 . As described above with reference to FIG. 2, d 1 may be a value smaller than 0 or more d max ( f 1 ), and d 2 may be smaller than 0 or more d max ( f 2 ).

d max(f 1)는 제1 카메라(110)로부터 조사된 광이 주파수 f 1로 변조되었을 때, 제1 카메라(110)의 센서가 감지한 신호의 d max일 수 있다. 여기서, 신호의 d max는 깊이 영상 내의 픽셀의 d max일 수 있다. 또한, d max(f 2)는 제2 카메라(120)로부터 조사된 광이 주파수 f 2로 변조되었을 때, 제2 카메라(120)의 센서가 감지한 신호의 d max일 수 있다. 여기서, 신호의 d max는 깊이 영상 내의 픽셀의 d max일 수 있다. 즉, 제1 깊이 영상 내의 픽셀들 각각은, 픽셀들 각각이 나타내는 포인트가 실제로 제1 카메라(110)로부터 얼마나 멀리 떨어졌는가 와는 무관하게, 0 이상이며 d max(f 1)보다 작은 깊이 값을 가질 수 있다. 제1 깊이 영상의 픽셀의 깊이 값은 제1 카메라(110) 및 상기의 픽셀이 나타내는 포인트 간의 실제 거리의 값을 d max(f 1)로 나누었을 때의 나머지 값일 수 있다. d max ( f 1 ) may be d max of a signal detected by a sensor of the first camera 110 when the light emitted from the first camera 110 is modulated at a frequency f 1 . Here, d max of the signal may be d max of the pixel in the depth image. Also, d max ( f 2 ) may be d max of a signal detected by a sensor of the second camera 120 when the light emitted from the second camera 120 is modulated at a frequency f 2 . Here, d max of the signal may be d max of the pixel in the depth image. That is, each of the pixels in the first depth image may have a depth value equal to or greater than 0 and smaller than d max ( f 1 ), regardless of how far each point represented by the pixels actually falls from the first camera 110. have. The depth value of the pixel of the first depth image may be the remaining value when the value of the actual distance between the first camera 110 and the point indicated by the pixel is divided by d max ( f 1 ).

x 1은 제1 픽셀을 나타낼 수 있다. 또한, x 2는 제2 픽셀을 나타낼 수 있다. X 1x 1에 대응하는 3D 포인트를 나타낼 수 있다. X 2x 2에 대응하는 3D 포인트를 나타낼 수 있다. x 1 may represent the first pixel. Also, x 2 may represent a second pixel. X 1 may represent a 3D point corresponding to x 1 . X 2 may represent a 3D point corresponding to x 2 .

제1 카메라(110)에 의해 생성된 x 1의 깊이 값이 d 1일 때, 제1 카메라(110) 및 X 1 간의 거리는 d 1+n 1 d max(f 1)일 수 있다. n 1x 1X 1의 NoM일 수 있다. n 1은 0 이상의 정수일 수 있다. 또한, 제2 카메라(120)에 의해 생성된 x 2 의 깊이 값이 d 2일 때, 제2 카메라(120) 및 X 2 간의 거리는 d 2+n 2 d max(f 2)일 수 있다. n 2 x 2X 2 의 NoM일 수 있다. n 2 은 0 이상의 정수일 수 있다. When the depth value of x 1 generated by the first camera 110 is d 1 , the distance between the first camera 110 and X 1 may be d 1 + n 1 d max ( f 1 ). n 1 may be NoM of x 1 and X 1 . n 1 may be an integer of 0 or more. In addition, when the depth value of x 2 generated by the second camera 120 is d 2 , the distance between the second camera 120 and X 2 may be d 2 + n 2 d max ( f 2 ). n 2 may be NoM of x 2 and X 2 . n 2 may be an integer of 0 or more.

X 1(k 1)은 n 1의 값이 k 1일 때의 x 1에 대응하는 3D 포인트를 나타낼 수 있다. 즉, X 1(k 1)는 x 1의 NoM이 k 1일 때, 제1 카메라(110)의 위치, 제1 카메라(110)의 방향, d 1d max(f 1)에 의해 결정되는 x 1에 대응하는 3D 포인트를 나타낼 수 있다. X 2(k 2)은 n 2 의 값이 k 2일 때의 x 2에 대응하는 3D 포인트를 나타낼 수 있다. 즉, X 2(k 2)는 x 2의 NoM이 k 2일 때, 제2 카메라(120)의 위치, 제2 카메라(120)의 방향, d 2d max(f 2)에 의해 결정되는 x 2에 대응하는 3D 포인트를 나타낼 수 있다. X 1 ( k 1 ) may represent a 3D point corresponding to x 1 when the value of n 1 is k 1 . That is, X 1 ( k 1 ) is determined by the position of the first camera 110, the direction of the first camera 110, d 1 and d max ( f 1 ) when the NoM of x 1 is k 1. 3D points corresponding to x 1 may be represented. X 2 ( k 2 ) may represent a 3D point corresponding to x 2 when the value of n 2 is k 2 . That is, X 2 ( k 2 ) is determined by the position of the second camera 120, the direction of the second camera 120, d 2 and d max ( f 2 ) when the NoM of x 2 is k 2. 3D points corresponding to x 2 may be represented.

기호 '≡'는 3D 포인트의 거리를 나타내기 위해 사용될 수 있다. 수식 'X 1(k 1) ≡ d 1'는 제1 카메라(110) 및 X 1(k 1) 간의 거리가 d 1임을 나타낼 수 있다. 수식 'd 2X 2(k 2)'는 제2 카메라(120) 및 X 2(k 2) 간의 거리가 d 2임을 나타낼 수 있다.The symbol '≡' can be used to indicate the distance of the 3D point. Equation ' X 1 ( k 1 ) ≡ d 1 ' may indicate that the distance between the first camera 110 and X 1 ( k 1 ) is d 1 . Equation ' d 2X 2 ( k 2 )' may indicate that the distance between the second camera 120 and X 2 ( k 2 ) is d 2 .

도 4에서, X 1(0), X 1(1) 및 X 1(2) 각각의 위치가 도시되었고, X 2(0), X 2(1) 및 X 2(2) 각각의 위치가 도시되었다.In FIG. 4, the positions of X 1 (0), X 1 (1) and X 1 (2) are shown respectively, and the positions of X 2 (0), X 2 (1) and X 2 (2) are shown respectively. It became.

처리부(140)는 x 1에 기반하여 x 1에 대응하는 3D 포인트인 X 1를 복원할 수 있다. 여기서, 복원이란 x 1의 NoM을 결정하는 것을 의미할 수 있다. 즉, 복원은 X 1(0) 내지 X 1(m 1) 중 하나를 x 1에 대응하는 3D 포인트로서 결정하는 것을 의미할 수 있다. 여기서, m 1k 1의 최대 값일 수 있다.The processor 140 may restore X 1 , which is a 3D point corresponding to x 1 , based on x 1 . Here, the restoration may mean determining the NoM of x 1 . That is, reconstruction may mean determining one of X 1 (0) to X 1 ( m 1 ) as a 3D point corresponding to x 1 . Here, m 1 may be the maximum value of k 1 .

x 1x 2 가 서로 대응한다면, x 1로부터 복원된 3D 포인트 및 x 2 로부터 복원된 3D 포인트는 동일한 위치에 있거나 일정한 거리 내에 있는 포인트들일 수 있다. If x 1 and x 2 correspond to each other, the 3D point reconstructed from x 1 and the 3D point reconstructed from x 2 may be points that are at the same location or within a certain distance.

도 4에서, n 1의 값이 변경됨에 따른 x 1에 대응하는 X 1의 궤적 및 n 2 의 값이 변경됨에 따른 x 2에 대응하는 X 2의 궤적이 직선으로서 도시되었다. 도 4에서, X 1의 NoM 및 X2의 NoM이 각각 2일 때, X 1X 2는 하나의 포인트에서 교차할 수 있다. 따라서, 도 4에 따르면, n 1n 2 가 각각 2일 때, X 1X 2가 정확하게 복원된 것이라고 볼 수 있다. 즉, x 1로부터 복원된 3D 포인트는 X 1(2)일 수 있고, x 2로부터 복원된 3D 포인트는 X 2(2)일 수 있다.In FIG. 4, the trajectory of X 1 corresponding to x 1 as the value of n 1 is changed and the trajectory of X 2 corresponding to x 2 as the value of n 2 is changed as a straight line. In FIG. 4, when NoM of X 1 and NoM of X 2 are each 2, X 1 and X 2 may intersect at one point. Therefore, according to FIG. 4, when n 1 and n 2 are each 2, it can be seen that X 1 and X 2 are correctly restored. That is, the 3D point reconstructed from x 1 may be X 1 (2), and the 3D point reconstructed from x 2 may be X 2 (2).

처리부(140)는 하기의 수학식 7에 기반하여 X 1X 2 각각의 최적의 NoM을 계산할 수 있다.The processor 140 may calculate an optimal NoM of each of X 1 and X 2 based on Equation 7 below.

Figure pat00011
Figure pat00011

여기서, R은 제1 카메라(110) 및 제2 카메라(120) 간의 회전 관계를 나타내는 회전(rotation) 행렬일 수 있다. R은 제1 카메라(110)의 방향으로부터 제2 카메라(120)로의 방향으로의 회전을 나타내는 회전 행렬일 수 있다. R은 3x3의 회전 행렬일 수 있다. R T R의 전치(transpose) 행렬일 수 있다.Here, R may be a rotation matrix indicating a rotation relationship between the first camera 110 and the second camera 120. R may be a rotation matrix representing rotation in the direction from the first camera 110 to the second camera 120. R may be a rotation matrix of 3 × 3. R T may be a transpose matrix of R.

T는 제1 카메라(110) 및 제2 카메라(120) 간의 평행 이동 관계를 나타내는 3D 변형(translation) 벡터(vector)일 수 있다. T는 제1 카메라(110)의 위치로부터 제2 카메라(120)의 위치로의 평행 이동을 나타내는 3D 변형 벡터일 수 있다. T may be a 3D translation vector representing a parallel movement relationship between the first camera 110 and the second camera 120. T may be a 3D deformation vector representing parallel movement from the position of the first camera 110 to the position of the second camera 120.

RT는 각각 제1 카메라(110) 및 제2 카메라(120) 간의 외부의(extrinsic) 캘리브레이션(calibration)에 의해 주어진 소정의 값일 수 있다. R and T may be predetermined values given by extrinsic calibration between the first camera 110 and the second camera 120, respectively.

수학식 7에서, m은 제1 카메라(110)에 의해 촬영된 제1 깊이 영상 내의 한 픽셀 x 1에 대응하는 3D 포인트 X 1의 NoM일 수 있다. n은 제2 카메라(120)에 의해 촬영된 제2 깊이 영상 내의 한 픽셀 x 2에 대응하는 3D 포인트 X 2의 NoM일 수 있다.In Equation 7, m may be a NoM of 3D point X 1 corresponding to one pixel x 1 in the first depth image captured by the first camera 110. n may be the NoM of the 3D point X 2 corresponding to one pixel x 2 in the second depth image captured by the second camera 120.

X 2(n)은 X 1(m)이 제2 깊이 영상에 투영되고, 상기의 제2 깊이 영상 상에 투영된 픽셀의 NoM이 n일 때의 3D 포인트를 나타낼 수 있다. 여기서, X 1(m)이 제2 깊이 영상에 투영된 픽셀은 X 2일 수 있다. X 1(m)은 X 2(n)이 제1 깊이 영상에 투영되고, 상기의 제1 깊이 영상 상에 투영된 픽셀의 NoM이 m일 때의 3D 포인트를 나타낼 수 있다. 여기서, X 2(n)이 제2 깊이 영상에 투영된 픽셀은 X 1일 수 있다. X 2 ( n ) may represent a 3D point when X 1 ( m ) is projected on the second depth image, and NoM of the pixel projected on the second depth image is n . Here, the pixel in which X 1 ( m ) is projected onto the second depth image may be X 2 . X 1 ( m ) may represent a 3D point when X 2 ( n ) is projected on the first depth image, and NoM of the pixel projected on the first depth image is m . Here, the pixel in which X 2 ( n ) is projected on the second depth image may be X 1 .

m *n *은 각각 X 1을 복원함으로써 생성된 3D 포인트 및 X 2를 복원함으로써 생성된 3D 포인트 간의 거리를 최소화하는 최적의 NoM 값들일 수 있다. m * and n * may be, NoM optimum value to minimize the distance between the 3D point generated by reconstructing a 3D point, and X 2 generated by reconstructing the X 1, respectively.

전술된 수학식 7의 함수들을 데이터 코스트 함수로 명명한다.
The functions of Equation 7 described above are called data cost functions.

도 5는 일 예에 따른 데이터 코스트 함수를 사용함으로써 복원된 깊이 영상들을 나타낸다.5 illustrates depth images reconstructed by using a data cost function according to an example.

도 3을 참조하여 전술된 단계(340)에서, 처리부(140)는 제1 깊이 영상 및 제2 깊이 영상에 전술된 데이터 코스트 함수를 적용함으로써 제1 복원된 깊이 영상(510) 및 제2 복원된 깊이 영상(520)을 생성할 수 있다.In operation 340 described above with reference to FIG. 3, the processor 140 may apply the first and second reconstructed depth images 510 and the second reconstructed data by applying the above-described data cost function to the first and second depth images. The depth image 520 may be generated.

만약, 제1 카메라(110)의 시점 및 제2 카메라(120)의 시점(viewpoint)이 동일하다면, 제1 카메라(110)에 의해 촬영된 제1 깊이 영상 및 제2 카메라(120)에 의해 촬영된 제2 깊이 영상 간에는 폐색(occlusion)이 존재하지 않는다. 따라서, 한 깊이 영상 내의 모든 픽셀들 각각에 대해, 대응하는 픽셀이 다른 깊이 영상 내에 존재할 수 있다.If the viewpoint of the first camera 110 and the viewpoint of the second camera 120 are the same, the first depth image photographed by the first camera 110 and the photographing by the second camera 120 are taken. There is no occlusion between the captured second depth images. Thus, for each of all the pixels in one depth image, a corresponding pixel may be present in the other depth image.

그러나, 제1 카메라(110) 및 제2 카메라(120)는 씬에 대해 서로 상이한 위치 및/또는 방향을 갖기 때문에, 한 깊이 영상 내의 모든 픽셀들에 대해, 대응하는 픽셀이 다른 깊이 영상 내에는 존재하지 않을 수 있다. 즉, 제1 깊이 영상 및 제2 깊이 영상 간에 폐색이 존재할 수 있다. 또한, 제1 깊이 영상 및 제2 깊이 영상 각각 내에 존재하는 노이즈(noise)로 인해, 데이터 코스트 함수를 사욤함으로써 계산된 NoM의 값이 항상 정확한 것은 아닐 수 있다.However, since the first camera 110 and the second camera 120 have different positions and / or directions with respect to the scene, for all pixels in one depth image, a corresponding pixel exists in the other depth image. You can't. That is, occlusion may exist between the first depth image and the second depth image. Also, due to noise present in each of the first depth image and the second depth image, the value of NoM calculated by using the data cost function may not always be accurate.

도시된 제1 복원된 깊이 영상(510) 및 제2 복원된 깊이 영상(520)은 전술된 폐색 및 노이즈로 인해 복원된 깊이 영상이 항상 정확하지는 않을 수 있다는 것을 예시할 수 있다.The first reconstructed depth image 510 and the second reconstructed depth image 520 shown may illustrate that the reconstructed depth image may not always be accurate due to the aforementioned occlusion and noise.

제1 깊이 영상 및 제2 깊이 영상 각각에 대해, 하기의 수학식 8과 같이, MRF 에너지가 정의될 수 있다. 처리부(140)는 제1 깊이 영상 내의 픽셀들 각각의 NoM 및 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하기 위해 하기의 수학식 8에 따라 정의된 MRF 에너지 함수를 사용할 수 있다.For each of the first depth image and the second depth image, MRF energy may be defined as shown in Equation 8 below. The processor 140 may use the MRF energy function defined according to Equation 8 below to determine the NoM of each pixel in the first depth image and the NoM of each pixel in the second depth image.

Figure pat00012
Figure pat00012

여기서, E 1은 제1 깊이 영상에 대한 MRF 에너지일 수 있다. E 2는 제2 깊이 영상에 대한 MRF 에너지일 수 있다.Here, E 1 may be MRF energy for the first depth image. E 2 may be the MRF energy for the second depth image.

ij는 각각 제1 깊이 영상 또는 제2 깊이 영상 내의 픽셀의 인덱스일 수 있다. i and j may each be an index of a pixel in the first depth image or the second depth image.

N은 제1 깊이 영상 또는 제2 깊이 영상 내의 모든 이웃하는 픽셀 쌍(pixel-pair)들의 집합일 수 있다. 즉, (i, j)는 제1 깊이 영상 또는 제2 깊이 영상 내의 서로 이웃하는 2 개의 픽셀들의 인덱스들의 순서 쌍을 나타낼 수 있다. 인덱스가 i인 픽셀의 이웃 픽셀들은 4 개 또는 8 개일 수 있다. N may be a set of all neighboring pixel-pairs in the first depth image or the second depth image. That is, ( i , j ) may represent an ordered pair of indices of two neighboring pixels in the first depth image or the second depth image. The neighboring pixels of the pixel at index i may be four or eight.

m i 는 제1 깊이 영상의 인덱스가 i인 픽셀의 NoM일 수 있다. m j 는 제1 깊이 영상의 인덱스가 j인 픽셀의 NoM일 수 있다. n i 는 제2 깊이 영상의 인덱스가 i인 픽셀의 NoM일 수 있다. n j 는 제2 깊이 영상의 인덱스가 j인 픽셀의 NoM일 수 있다. m i may be the NoM of the pixel at which the index of the first depth image is i . m j may be the NoM of the pixel at which the index of the first depth image is j . n i may be the NoM of the pixel at which the index of the second depth image is i . n j may be the NoM of the pixel at which the index of the second depth image is j .

D 1은 제1 깊이 영상에 대한 데이터 코스트일 수 있다. D 2은 제2 깊이 영상에 대한 데이터 코스트일 수 있다. D 1(m i )는 제1 깊이 영상의 인덱스가 i인 픽셀의 NoM에 대한 데이터 코스트일 수 있다. D 2(n i )는 제2 깊이 영상의 인덱스가 i인 픽셀의 NoM에 대한 데이터 코스트일 수 있다. D 1 may be a data cost for the first depth image. D 2 may be a data cost for the second depth image. D 1 ( m i ) may be a data cost for NoM of a pixel whose index of the first depth image is i . D 2 ( n i ) may be a data cost for NoM of a pixel whose index of the second depth image is i .

V 1은 제1 깊이 영상의 불연속성 비용(discontinuity cost)일 수 있다. V 2는 제2 깊이 영상의 불연속성 비용일 수 있다. V 1(m i , m j)는 제1 깊이 영상의 인덱스가 i인 픽셀의 NoM 및 제1 깊이 영상의 인덱스가 j인 픽셀의 NoM의 불연속성 비용일 수 있다. V 2(n i , n j)는 제2 깊이 영상의 인덱스가 i인 픽셀의 NoM 및 제2 깊이 영상의 인덱스가 j인 픽셀의 NoM의 불연속성 비용일 수 있다. V 1 may be a discontinuity cost of the first depth image. V 2 may be a discontinuity cost of the second depth image. V 1 ( m i , m j ) may be the discontinuity cost of the NoM of the pixel at which the index of the first depth image is i and the NoM of the pixel at the index of j of the first depth image. V 2 ( n i , n j ) may be the discontinuity cost of the NoM of the pixel at which the index of the second depth image is i and the NoM of the pixel at the index of j of the second depth image.

불연속성 비용은 하나의 깊이 영상 내의 공간적으로 이웃한 2 개의 픽셀들 각각의 3 차원 거리들이 서로 유사한 경우 2 개의 픽셀들의 NoM들은 서로 동일하다는 제약 조건을 반영하는 비용일 수 있다. 여기서, 픽셀의 3 차원 거리는 픽셀을 포함하는 깊이 영상을 생성한 카메라 및 픽셀에 대응하는 3 차원 포인트 간의 거리일 수 있다.The discontinuity cost may be a cost reflecting the constraint that the NoMs of the two pixels are the same when the three-dimensional distances of each of two spatially neighboring pixels in one depth image are similar to each other. Here, the 3D distance of the pixel may be a distance between the camera generating the depth image including the pixel and the 3D point corresponding to the pixel.

λ는 불연속성 비용 및 데이터 코스트 간의 단위 또는 불연속성 비용 및 MRF 에너지 간의 단위를 맞춰주는 값인 균형 계수(balancing coefficient)일 수 있다. λ는 상수 값을 가질 수 있다. λ may be a balancing coefficient that is a value that fits a unit between the discontinuity cost and the data cost or a unit between the discontinuity cost and the MRF energy. λ may have a constant value.

즉, 처리부(140)는 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 제1 깊이 영상 내의 인접한 픽셀들의 불연속성 비용에 기반하여 제1 깊이 영상에 대한 MRF 에너지를 결정할 수 있으며, 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 제2 깊이 영상 내의 인접한 픽셀들의 불연속성 비용에 기반하여 제2 깊이 영상에 대한 MRF 에너지를 결정할 수 있다.That is, the processor 140 may determine the MRF energy for the first depth image based on the data cost of each pixel in the first depth image and the discontinuity cost of adjacent pixels in the first depth image, and in the second depth image. The MRF energy for the second depth image may be determined based on the data cost of each of the pixels and the cost of discontinuity of adjacent pixels in the second depth image.

처리부(140)는 제1 깊이 영상에 대한 MRF 에너지를 최소화시키는 제1 깊이 영상의 모든 픽셀들 각각의 NoM을 계산할 수 있으며, 제2 깊이 영상에 대한 MRF 에너지를 최소화시키는 제2 깊이 영상의 모든 픽셀들 각각의 NoM을 계산할 수 있다.The processor 140 may calculate the NoM of each pixel of the first depth image for minimizing the MRF energy for the first depth image, and all pixels of the second depth image for minimizing the MRF energy for the second depth image. Each NoM can be calculated.

D 1(m i ) 및 D 2(n i )는 각각 하기의 수학식 9에 따라 정의될 수 있다. 처리부(140)는 M iN i 각각에 대한 데이터 코스트를 계산하기 위해 하기의 수학식 9에 따라 정의된 함수를 사용할 수 있다. D 1 ( m i ) and D 2 ( n i ) may be defined according to Equation 9 below. The processor 140 may use a function defined according to Equation 9 below to calculate a data cost for each of M i and N i .

Figure pat00013
Figure pat00013

Figure pat00014
Figure pat00014

x 1 i 는 제1 깊이 영상의 인덱스가 i인 픽셀을 나타낼 수 있다. x 2 i 는 제2 깊이 영상의 인덱스가 i인 픽셀을 나타낼 수 있다. x 1 k 는 제1 깊이 영상의 인덱스가 k인 픽셀을 나타낼 수 있다. x 2 k 는 제2 깊이 영상의 인덱스가 k인 픽셀을 나타낼 수 있다. x 1 i x 2 k 는 각각 도 4를 참조하여 전술된 제1 픽셀 및 제2 픽셀일 수 있다. 즉, x 1 i x 2 k 는 서로 대응하는 픽셀들일 수 있다. 또한, x 1 k x 2 i 는 각각 도 4를 참조하여 전술된 제1 픽셀 및 제2 픽셀일 수 있다. 즉, x 1 k x 2 i 는 서로 대응하는 픽셀들일 수 있다. x 1 i may represent a pixel whose index of the first depth image is i . x 2 i may represent a pixel whose index of the second depth image is i . x 1 k may represent a pixel whose index of the first depth image is k . x 2 k may represent a pixel whose index of the second depth image is k . x 1 i and x 2 k may be the first pixel and the second pixel described above with reference to FIG. 4, respectively. That is, x 1 i and x 2 k may be pixels corresponding to each other. In addition, x 1 k and x 2 i may be the first pixel and the second pixel described above with reference to FIG. 4, respectively. That is, x 1 k and x 2 i may be pixels corresponding to each other.

X 1 i (m i )는 x 1 i 의 NoM이 m i 일 때, m i 에 기반하여 계산된, X 1 i 에 대응하는 3차원 포인트를 나타낼 수 있다. X1 k (m k )는 x 1 k 의 NoM이 m k 일 때, m k 에 기반하여 계산된, x 1 k 에 대응하는 3차원 포인트를 나타낼 수 있다. X2 i (n i )는 x 2 i 의 NoM이 n i 일 때, n i 에 기반하여 계산된, x 2 i 에 대응하는 3차원 포인트를 나타낼 수 있다. X2 k (n k )는 x 2 k 의 NoM이 n k 일 때, n k 에 기반하여 계산된, x 2 k 에 대응하는 3차원 포인트를 나타낼 수 있다. X 1 i (m i) when one NoM yi m i of x i 1, may represent a three-dimensional point corresponding to a, X 1 i calculated on the basis of m i. X 1 k (m k) is when NoM yi m k of the k x 1, can represent the three-dimensional point corresponding to a, x 1 k calculated on the basis of m k. X 2 i (n i) may represent a three-dimensional point corresponding to the time of NoM x 2 i n i day, calculated on the basis of n i, x 2 i. X 2 k (n k) may represent the three-dimensional point corresponding to a, x 2 k calculated by the NoM of 2 x k based on, when the n k n k.

δ는 최종적인 거리 오차의 한계를 부여하는 함수일 수 있다. δ는 강건 잠재 함수(robust potential function)일 수 있다. 수학식 9에서, 데이터 코스트 D 1D 2는 각각 강건 잠재 함수 δ가 적용된 형태를 나타낼 수 있다. δ는 2 개의 3D 포인트들 간의 거리가 폐색 또는 노이즈에 의해 소정의 문턱지보다 더 크게 계산된 경우, 더 크게 계산된 값을 문턱치로 치환해주는 역할을 할 수 있다. δ may be a function that gives a limit of the final distance error. δ may be a robust potential function. In Equation 9, data costs D 1 and D 2 may each represent a form to which a robust latent function δ is applied. δ may serve to replace a larger calculated value with a threshold when the distance between two 3D points is calculated larger than a predetermined threshold by occlusion or noise.

수학식 9에서, 계산된 데이터 코스트의 값이 문턱치보다 더 큰 경우, 데이터 코스트의 값은 강건 잠재 함수에 의해 문턱치로 변경될 수 있다. 처리부(140)는 강건 잠재 합수를 사용함으로써 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 데이터 코스트의 값을 문턱치로 변경시킬 수 있다.In Equation 9, when the value of the calculated data cost is larger than the threshold, the value of the data cost may be changed to the threshold by the robust potential function. The processor 140 may change the value of the data cost to a threshold when the value of the calculated data cost is greater than the threshold by using the robust potential sum.

수학식 9에서 나타난 것과 같이, 처리부(140)는 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3D 포인트 및 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3D 포인트 간의 거리를 최소로 만드는 제1 픽셀의 결정된 NoM 및 제2 픽셀의 결정된 NoM을 계산함으로써 데이터 코스트를 계산할 수 있다.As shown in Equation (9), the processor 140 may generate a first distance between the first 3D point reconstructed by applying NoM to the first pixel and the second 3D point reconstructed by applying NoM to the second pixel. The data cost can be calculated by calculating the determined NoM of the pixel and the determined NoM of the second pixel.

V 1(m i , m j) 및 V 2(n i , n j)는 각각 하기의 수학식 10에 따라 정의될 수 있다. 처리부(140)는 순서쌍 (m i , m j) 및 (n i , n j) 각각의 불연속성 비용을 계산하기 위해 하기의 수학식 10에 따라 정의된 함수를 사용할 수 있다. V 1 ( m i , m j ) and V 2 ( n i , n j ) may be defined according to Equation 10 below. The processor 140 may use a function defined according to Equation 10 below to calculate the discontinuity cost of each of the ordered pairs ( m i , m j ) and ( n i , n j ).

Figure pat00015
Figure pat00015

Figure pat00016
Figure pat00016

여기서, τ는 임계값일 수 있다. 예컨대, 2 개의 3D 포인트들 X 1 i X 1 j 간의 거리가 임계값 τ 이상일 경우 불연속성 비용 V 1(m i , m j )의 값은 0이 될 수 있다. τ는 상수 값을 가질 수 있다.Here, τ may be a threshold value. For example, when the distance between two 3D points X 1 i and X 1 j is greater than or equal to the threshold τ, the value of the discontinuity cost V 1 ( m i , m j ) may be zero. τ may have a constant value.

νX 1 i X i j 간의 거리에 기반하여 V 1(m i , m j )를 결정하기 위한 함수 또는 상수일 수 있다. νX 2 i X 2 j 간의 거리에 기반하여 V 2(m i , m j )를 결정하기 위한 함수 또는 상수일 수 있다. ν는 입력 값인 X 1 i X i j 간의 거리 또는 X 2 i X 2 j 간의 거리에 반비례하는 출력 값을 생성하는 함수일 수 있다. 즉, ν X 1 i X i j 간의 거리 또는 X 2 i X 2 j 간의 거리가 짧고, m i m j 의 값이 서로 상이할 경우, V 1(m i , m j) 또는 V 2(n i , n j)가 큰 값을 갖게하는 함수일 수 있다.
ν may be a function or constant for determining V 1 ( m i , m j ) based on the distance between X 1 i and X i j . ν may be a function or constant for determining V 2 ( m i , m j ) based on the distance between X 2 i and X 2 j . ν may be a function for generating an output value inversely proportional to the distance between the input values X 1 i and X i j or the distance between X 2 i and X 2 j . That is, ν is If the distance between X 1 i and X i j or the distance between X 2 i and X 2 j is short and the values of m i and m j are different from each other, V 1 ( m i , m j ) or V 2 ( n i , n j ) can be a function that has a large value.

도 6은 일 예에 따른 불연속성 비용의 역할을 설명한다.6 illustrates a role of discontinuity cost according to an example.

불연속성 비용 V는 하나의 깊이 영상 내에서 공간적으로 이웃하는 2 개의 픽셀들이 있고, 이웃한 2 개의 픽셀들의 3 차원 거리들이 서로 유사한 경우, 상기의 유사성을 유지시키기 위해서 이웃한 2 개의 픽셀들의 NoM의 값들도 동일하야 한다는 제약 조전을 나타낼 수 있다.The discontinuity cost V is the value of the NoM values of two neighboring pixels to maintain the similarity when there are two spatially neighboring pixels in one depth image and the three-dimensional distances of the two neighboring pixels are similar to each other. May also indicate constraint constraints to be the same.

픽셀 x 1 a 및 픽셀 x 1 b 는 제1 깊이 영상 내에서 이웃한 픽셀들일 수 있다. 픽셀 x 2 a 및 픽셀 x 2 b 는 제2 깊이 영상 내에서 이웃한 픽셀들일 수 있다.Pixel x 1 a and pixel x 1 b may be neighboring pixels in the first depth image. Pixel x 2 a and pixel x 2 b may be neighboring pixels in the second depth image.

x 1 a x 2 a 는 서로 대응할 수 있다. x 2 a x 2 b 는 서로 대응할 수 있다. x 1 a and x 2 a may correspond to each other. x 2 a and x 2 b may correspond to each other.

도 6에서, x 1 a 에 대응하는 3D 포인트인 X 1 a 의 궤적(610), x 1 b 에 대응하는 3D 포인트인 X 1 b 의 궤적(620), x 2 a 에 대응하는 3D 포인트인 X 2 a 의 궤적(630) 및 x 2 b 에 대응하는 3D 포인트인 X 2 b 의 궤적(640)이 도시되었다.In Figure 6, the 3D point of 3D points corresponding to the trajectory (620), x 2 a of the X 1 b 3D points corresponding to the trajectory (610), x 1 b of X 1 a which corresponds to x 1 a X The trajectory 630 of 2 a and the trajectory 640 of X 2 b , which is a 3D point corresponding to x 2 b , are shown.

제1 카메라(110) 또는 제2 카메라(120)로부터 가까운 지점으로부터 먼 지점으로의 방향으로, NoM이 0, 1 및 2일 때의 X 1 a , X 1 b , X 2 a , 및 X 2 b 가 각각 원 또는 삼각형으로 표시되었다. X 1 a , X 1 b , X 2 a , and X 2 b when NoM is 0, 1, and 2 in a direction from a near point to a far point from the first camera 110 or the second camera 120. Are represented by circles or triangles, respectively.

도 6에 따르면, X 1 a , X 1 b , X 2 a , 및 X 2 b 모두의 NoM들의 값은 2이다. 따라서, 하나의 깊이 영상 내의 이웃한 픽셀들의 복원된 깊이들 또한 일관성(consistency)을 가질 수 있다.
According to FIG. 6, the values of NoMs of all of X 1 a , X 1 b , X 2 a , and X 2 b are two. Therefore, the reconstructed depths of neighboring pixels in one depth image may also have consistency.

도 6을 참조하여 전술된 MRF 에너지를 사용하는 깊이 영상의 깊이 값의 복원은 깊이 영상들 각각에 대해 별개로 진행될 수 있다. 따라서, 도 3을 참조하여 전술된 단계(360)에서 깊이 값이 복원된 제1 깊이 영상 및 깊이 값이 복원된 제2 깊이 영상은 서로 간에 불일치(inconsistent)할 수 있다.Reconstruction of the depth value of the depth image using the MRF energy described above with reference to FIG. 6 may be performed separately for each of the depth images. Therefore, in operation 360 described above with reference to FIG. 3, the first depth image in which the depth value is restored and the second depth image in which the depth value is restored may be inconsistent with each other.

상기의 불일치를 해결하기 위해, 단계(360)에서, 처리부(160)는 2 개의 깊이 값이 복원된 깊이 영상들 중 하나의 깊이 영상을 사용하여 다른 하나의 깊이 영상의 복원된 깊이 값을 갱신할 수 있다. 즉, 처리부(160)는 단계(350)에 의해 깊이 값이 복원된 제1 깊이 영상 및 제2 깊이 영상 각각의 깊이 값을 다른 깊이 값이 복원된 깊이 영상을 사용하여 갱신할 수 있다.In order to resolve the above inconsistency, in step 360, the processor 160 may update the reconstructed depth value of the other depth image by using the depth image of one of the depth images from which the two depth values are reconstructed. Can be. That is, the processor 160 may update the depth values of the first depth image and the second depth image in which the depth values are restored by the operation 350, using the depth image in which the other depth values are restored.

처리부(140)는 깊이 값이 복원된 제1 깊이 영상 및 깊이 값이 복원된 제2 깊이 영상 양자 모두의 깊이 값을 갱신함으로써, 일관적인 깊이 영상들을 획득할 수 있다.The processor 140 may obtain consistent depth images by updating depth values of both the first depth image in which the depth value is restored and the second depth image in which the depth value is restored.

제1 깊이 영상 및 제2 깊이 영상의 깊이 값이 복원된 경우, 처리부(140)는 제1 깊이 영상을 제2 깊이 영상과 일관성 있게(consistent)하게 하기 위해, 하기의 수학식 11에 기반하여 제1 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.When the depth values of the first depth image and the second depth image are reconstructed, the processor 140 may generate a first depth image based on Equation 11 below to make the first depth image consistent with the second depth image. The restored depth value of the one depth image may be updated.

Figure pat00017
Figure pat00017

여기서, F 1(m i )은 제1 깊이 영상의 깊이 값의 갱신을 위한 데이터 코스트일 수 있다.Here, F 1 ( m i ) may be a data cost for updating the depth value of the first depth image.

m i 은 제1 깊이 영상의 인덱스가 i인 픽셀 x 1 i 의 NoM일 수 있다. n k *은 깊이 값이 복원된 제2 깊이 영상의 인덱스가 k인 픽셀 x 2 k 의 NoM일 수 있다. n i *은 단계(340)에서 결정된 제2 깊이 영상의 인덱스가 k인 픽셀의 NoM일 수 있다. 픽셀 x 1 i 및 픽셀 x 2 k 은 서로 동일한 3D 포인트를 나타내는 서로 대응하는 픽셀들일 수 있다. m i may be the NoM of pixel x 1 i whose index of the first depth image is i . n k * may be NoM of pixels x 2 k having an index k of the second depth image from which the depth value is reconstructed. n i * may be the NoM of the pixel at which the index of the second depth image determined in step 340 is k . Pixel x 1 i and pixel x 2 k may be pixels corresponding to each other representing the same 3D point.

X 2 k (n k *)는 X 1 i (m i )에 대응하는 원거리 복원된 3D 포인트를 나타낼 수 있다. X 2 k ( n k *) may represent a remotely restored 3D point corresponding to X 1 i ( m i ).

처리부(140)는, 제1 깊이 영상의 인덱스가 i인 픽셀에 대해 F 1(m i )를 최소화하도록 상기의 픽셀의 NoM m i 를 결정함으로써 상기의 픽셀의 깊이 값을 갱신할 수 있다. F 1(m i )는 깊이 값이 복원된 제2 깊이 영상의 깊이 값에 기반하여 계산되는 제1 깊이 영상의 픽셀에 대한 데이터 코스트일 수 있다.The processor 140 may update the depth value of the pixel by determining the NoM m i of the pixel to minimize F 1 ( m i ) for the pixel whose index of the first depth image is i . F 1 ( m i ) may be a data cost for a pixel of the first depth image calculated based on the depth value of the second depth image in which the depth value is reconstructed.

제2 깊이 영상의 복원된 깊이 값이 정확한 경우, 수학식 11의 F 1(m i )가 D 1(m i )를 대체할 수 있다. 그러나, 제2 깊이 영상의 복원된 깊이 값은 반드시 정확한 것으로 보장되지 못할 수 있다. 단계(362)에서, 처리부(140)는 제1 깊이 영상의 복원된 깊이 값 및 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 제2 깊이 영상의 복원된 깊이 값에 기반하여 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화할 수 있다. 처리부(140)는 MRF 에너지를 반복적으로(iteratively) 최소화함으로써 제1 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.When the reconstructed depth value of the second depth image is correct, F 1 ( m i ) of Equation 11 may replace D 1 ( m i ). However, the reconstructed depth value of the second depth image may not necessarily be guaranteed to be accurate. In operation 362, the processor 140 restores the depth value based on the restored depth value of the second depth image such that the restored depth value of the first depth image and the restored depth value of the second depth image are consistent with each other. It is possible to repeatedly minimize the MRF energy for the first depth image. The processor 140 may update the restored depth value of the first depth image by repeatedly minimizing the MRF energy.

처리부(140)는 하기의 수학식 12에 기반하여 MRF 에너지를 반복적으로 최소화할 수 있다.The processor 140 may repeatedly minimize the MRF energy based on Equation 12 below.

Figure pat00018
Figure pat00018

여기서, T는 반복(iteration)의 최대 횟수일 수 있다. T는 0 이상의 정수일 수 있다. t는 현재의 반복 횟수일 수 있다. t는 0 이상 T 이하의 정수일 수 있다. 수학식 11은 D 1(m i ) 및 F 1(m i )의 블랜딩(blending)을 나타낼 수 있다.Here, T may be the maximum number of iterations. T may be an integer of 0 or more. t may be the current number of iterations. t may be an integer of 0 or more and T or less. Equation 11 may represent blending of D 1 ( m i ) and F 1 ( m i ).

D 1 t (m i )은 t 번째의 반복에서의 제1 깊이 영상의 인덱스가 i인 픽셀 x 1 i 의 NoM에 대한 데이터 코스트일 수 있다. 처리부(140)는 D 1 t (m i )를 최소화하도록 x 1 i 의 NoM m i 를 결정함으로써 x 1 i 의 깊이 값을 갱신할 수 있다. D 1 t ( m i ) may be the data cost for the NoM of pixel x 1 i whose index of the first depth image at the t- th iteration is i . The processor 140 may update the depth value of x 1 i by determining NoM m i of x 1 i to minimize D 1 t ( m i ).

t의 값이 0일 경우, 처리부(140)는 제1 깊이 영상의 깊이 값을 복원하기 위해 수학식 9를 참조하여 전술된, D 1(m i )을 사용할 수 있다. t의 값이 1 이상인 경우, 처리부(140)는 제1 깊이 영상의 깊이 값을 복원하기 위해 수학식 11을 참조하여 전술된 F 1(m i )를 D 1(m i )와 함께 사용할 수 있다. When the value of t is 0, the processor 140 may use D 1 ( m i ) described above with reference to Equation 9 to restore the depth value of the first depth image. When the value of t is 1 or more, the processor 140 may use F 1 ( m i ) described above with reference to Equation 11 together with D 1 ( m i ) to restore the depth value of the first depth image. .

전술된 깊이 값의 갱신에 대한 설명은 깊이 값이 복원된 제2 깊이 영상에도 적용될 수 있다.The above description of updating the depth value may also be applied to the second depth image in which the depth value is restored.

처리부(140)는 제2 깊이 영상을 제1 깊이 영상과 일관성 있게 하기 위해, 하기의 수학식 13에 기반하여 제2 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.The processor 140 may update the reconstructed depth value of the second depth image based on Equation 13 below to make the second depth image consistent with the first depth image.

Figure pat00019
Figure pat00019

여기서, F 2(n i )은 제2 깊이 영상의 깊이 값의 갱신을 위한 데이터 코스트일 수 있다.Here, F 2 ( n i ) may be a data cost for updating the depth value of the second depth image.

n i 은 제2 깊이 영상의 인덱스가 i인 픽셀 x 2 i 의 NoM일 수 있다. m k * 은 깊이 값이 복원된 제1 깊이 영상의 인덱스가 k인 픽셀 x 1 k 의 NoM일 수 있다. m k * 은 단계(340)에서 결정된 제1 깊이 영상의 인덱스가 k인 픽셀의 NoM일 수 있다. 픽셀 x 2 i 및 픽셀 x 1 k 은 서로 동일한 3D 포인트를 나타내는 서로 대응하는 픽셀들일 수 있다. n i may be the NoM of pixel x 2 i whose index of the second depth image is i . m k * may be NoM of pixels x 1 k having an index k of the first depth image from which the depth value is restored. m k * may be the NoM of the pixel at which the index of the first depth image determined in step 340 is k . Pixel x 2 i and pixel x 1 k may be pixels corresponding to each other representing the same 3D point.

X 1 k (m k *)는 X 2 i (n i )에 대응하는 원거리 복원된 3D 포인트를 나타낼 수 있다. X 1 k ( m k * ) may represent a remotely restored 3D point corresponding to X 2 i ( n i ).

처리부(140)는, 제2 깊이 영상의 인덱스가 i인 픽셀에 대해 F 2(n i )를 최소화하도록 상기의 픽셀의 NoM n i 를 결정함으로써 상기의 픽셀의 깊이 값을 갱신할 수 있다. F 2(n i )는 깊이 값이 복원된 제1 깊이 영상의 깊이 값에 기반하여 계산되는 제2 깊이 영상의 픽셀에 대한 데이터 코스트일 수 있다.The processor 140 may update the depth value of the pixel by determining the NoM n i of the pixel to minimize F 2 ( n i ) with respect to the pixel whose index of the second depth image is i . F 2 ( n i ) may be a data cost for a pixel of the second depth image calculated based on the depth value of the first depth image in which the depth value is reconstructed.

단계(364)에서, 처리부(140)는 제1 깊이 영상의 복원된 깊이 값 및 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 제1 깊이 영상의 복원된 깊이 값에 기반하여 깊이 값이 복원된 제2 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화할 수 있다.In operation 364, the processor 140 restores the depth value based on the restored depth value of the first depth image such that the restored depth value of the first depth image and the restored depth value of the second depth image are consistent with each other. It is possible to repeatedly minimize the MRF energy for the second depth image.

처리부(140)는 하기의 수학식 14에 기반하여 MRF 에너지를 반복적으로 최소화할 수 있다.The processor 140 may repeatedly minimize the MRF energy based on Equation 14 below.

Figure pat00020
Figure pat00020

D 2 t (m i )은 t 번째의 반복에서의 제2 깊이 영상의 인덱스가 i인 픽셀 x 2 i 의 NoM에 대한 데이터 코스트일 수 있다. 처리부(140)는 D 2 t (m i )를 최소화하도록 x 2 i 의 NoM m i 를 결정함으로써 x 2 i 의 깊이 값을 갱신할 수 있다. D 2 t ( m i ) may be the data cost for the NoM of pixel x 2 i whose index of the second depth image at the t- th iteration is i . The processor 140 may update the depth value of x 2 i by determining NoM m i of x 2 i to minimize D 2 t ( m i ).

t의 값이 0일 경우, 처리부(140)는 제2 깊이 영상의 깊이 값을 복원하기 위해 수학식 9를 참조하여 전술된, D 2(m i )을 사용할 수 있다. t의 값이 1 이상인 경우, 처리부(140)는 제2 깊이 영상의 깊이 값을 복원하기 위해 수학식 13을 참조하여 전술된 F 2(m i )를 D 2(m i )와 함께 사용할 수 있다. When the value of t is 0, the processor 140 may use D 2 ( m i ) described above with reference to Equation 9 to restore the depth value of the second depth image. When the value of t is 1 or more, the processor 140 may use F 2 ( m i ) described above with reference to Equation 13 together with D 2 ( m i ) to restore the depth value of the second depth image. .

단계(360)에서, 처리부(140)는 하기의 수학식 15에 기반하여 MRF 에너지 함수를 반복적으로 최소화함으로써 제1 깊이 영상 및 제2 깊이 영상이 서로 일관되도록 제1 깊이 영상의 깊이 값 및 제2 깊이 영상의 깊이 값을 갱신할 수 있다.In operation 360, the processor 140 repeatedly minimizes the MRF energy function based on Equation 15 below to ensure that the first depth image and the second depth image are consistent with each other. The depth value of the depth image may be updated.

Figure pat00021
Figure pat00021

여기서, E 1 t E 2 t 는 각각 t 번째 반복에서의 제1 깊이 영상에 대한 MRF 에너지 및 제2 깊이 영상에 대한 MRF 에너지를 나타낼 수 있다.
Here, E 1 t and E 2 t may represent MRF energy for the first depth image and MRF energy for the second depth image in the t- th iteration, respectively.

도 7은 일 예에 따른 깊이 값의 갱신이 적용된 깊이 영상들을 나타낸다.7 illustrates depth images to which a depth value update is applied according to an example.

제1 갱신된 깊이 영상(710)은 도 5를 참조하여 전술된 제2 복원된 깊이 영상(520)의 깊이 값을 사용하여 제1 복원된 깊이 영상(510)의 깊이 값을 갱신함으로써 생성된 깊이 영상이다.The first updated depth image 710 is a depth generated by updating the depth value of the first reconstructed depth image 510 using the depth value of the second reconstructed depth image 520 described above with reference to FIG. 5. It is a video.

제2 갱신된 깊이 영상(720)은 도 5를 참조하여 전술된 제1 복원된 깊이 영상(510)의 깊이 값을 사용하여 제2 복원된 깊이 영상(520)의 깊이 값을 갱신함으로써 생성된 깊이 영상이다.The second updated depth image 720 is a depth generated by updating the depth value of the second reconstructed depth image 520 using the depth value of the first reconstructed depth image 510 described above with reference to FIG. 5. It is a video.

도 7을 참조하여 전술된 갱신에 의해, 제1 복원된 깊이 영상(510) 및 제1 복원된 깊이 영상(520) 간의 일관성에 비해서 제1 갱신된 깊이 영상(710) 및 제2 갱신된 깊이 영상(720) 간의 일관성이 더 향상될 수 있다.
By the update described above with reference to FIG. 7, the first updated depth image 710 and the second updated depth image are compared with the consistency between the first reconstructed depth image 510 and the first reconstructed depth image 520. Coherence between 720 may be further improved.

전술된 실시예들은 동일한 시각(time)에서 복수 개의 카메라들에 의해 촬영된 깊이 영상들을 사용함으로써 상기의 깊이 영상들의 깊이 값을 복원할 수 있다. 또한, 전술된 실시예들은 복수 개의 카메라들이 이동하고, 상기의 복수 개의 카메라들의 이동에 독립적으로 이동하는 객체가 있는 상황에서도 깊이 영상들의 깊이 값을 복원할 수 있다. 이 때, 복원된 깊이 값은 최대 취득 거리 이상의 원거리의 깊이 값일 수 있다.
The above-described embodiments may restore the depth values of the depth images by using the depth images photographed by the plurality of cameras at the same time. In addition, the above-described embodiments may restore the depth values of the depth images even in a situation where a plurality of cameras move and an object moves independently of the movement of the plurality of cameras. In this case, the reconstructed depth value may be a depth value of a far distance more than the maximum acquisition distance.

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

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

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

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

110: 제1 카메라
120: 제2 카메라
130: 수신부
140: 처리부
110: First camera
120: Second camera
130:
140: processing unit

Claims (17)

제1 깊이 영상 및 제2 깊이 영상을 수신하는 단계;
상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)를 결정하는 단계; 및
상기 결정된 NoM에 기반하여 상기 제1 깊이 영상 및 상기 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원하는 단계
를 포함하고,
상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내는 깊이 영상 처리 방법.
Receiving a first depth image and a second depth image;
Determining a number of mods (NoM) of modes of each of the corresponding pixels in the first depth image and the second depth image; And
Restoring a depth value of at least one depth image of the first depth image and the second depth image based on the determined NoM
Lt; / RTI >
And the corresponding pixels represent the same three-dimensional point.
제1항에 있어서,
상기 결정하는 단계는,
상기 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계; 및
상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계
를 포함하는 깊이 영상 처리 방법.
The method of claim 1,
Wherein the determining comprises:
Determining a NoM of each of the pixels in the first depth image that minimizes Markov Random Field (MRF) energy for the first depth image; And
Determining a NoM of each of the pixels in the second depth image that minimizes MRF energy for the second depth image
Depth image processing method comprising a.
제2항에 있어서,
상기 제1 깊이 영상에 대한 MRF 에너지는 상기 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제1 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 결정되고,
상기 제2 깊이 영상에 대한 MRF 에너지는 상기 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제2 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 결정되고,
상기 불연속성 비용은, 하나의 깊이 영상 내의 공간적으로 이웃한 2 개의 픽셀들 각각의 3차원 거리들이 서로 유사한 경우 상기 2 개의 픽셀들의 NoM들은 서로 동일하다는 제약 조건을 반영하는 비용이고,
픽셀의 상기 3 차원 거리는 상기 픽셀을 포함하는 깊이 영상을 생성한 카메라 및 픽셀에 대응하는 3차원 포인트 간의 거리인 깊이 영상 처리 방법.
The method of claim 2,
MRF energy for the first depth image is determined based on the data cost of each pixel in the first depth image and the discontinuity cost of two adjacent pixels in the first depth image,
MRF energy for the second depth image is determined based on the data cost of each of the pixels in the second depth image and the discontinuity cost of two adjacent pixels in the second depth image,
The discontinuity cost is a cost reflecting the constraint that the NoMs of the two pixels are the same when the three-dimensional distances of the two spatially neighboring pixels in one depth image are similar to each other,
And the three-dimensional distance of the pixel is a distance between the camera that generated the depth image including the pixel and the three-dimensional point corresponding to the pixel.
제3항에 있어서,
상기 제1 깊이 영상 내의 제1 픽셀 및 상기 제2 깊이 영상 내의 제2 픽셀은 상기 서로 대응하는 픽셀들이고,
상기 데이터 코스트는 상기 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3차원 포인트 및 상기 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3차원 포인트 간의 거리를 최소로 만드는 상기 제1 픽셀의 상기 결정된 NoM 및 상기 제2 픽셀의 상기 결정된 NoM을 계산함으로써 계산되는 깊이 영상 처리 방법.
The method of claim 3,
A first pixel in the first depth image and a second pixel in the second depth image are pixels corresponding to each other;
The determined data cost of the first pixel that minimizes the distance between the first three-dimensional point reconstructed by applying NoM to the first pixel and the second three-dimensional point reconstructed by applying NoM to the second pixel. And calculating the NoM and the determined NoM of the second pixel.
제4항에 있어서,
상기 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 상기 데이터 코스트의 값은 강건 잠재 함수(robust potential function)에 의해 상기 문턱치로 변경되는 깊이 영상 처리 방법.
5. The method of claim 4,
And when the value of the calculated data cost is greater than a threshold, the value of the data cost is changed to the threshold by a robust potential function.
제1항에 있어서,
깊이 값이 복원된 상기 제2 깊이 영상을 사용하여 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 단계
를 더 포함하는 깊이 영상 처리 방법.
The method of claim 1,
Updating the reconstructed depth value of the first depth image by using the second depth image in which the depth value is reconstructed
Depth image processing method further comprising.
제6항에 있어서,
상기 갱신하는 단계는,
상기 제1 깊이 영상의 상기 복원된 깊이 값 및 상기 제2 깊이 영상의 상기 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 상기 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 상기 복원된 깊이 값을 갱신하는 깊이 영상 처리 방법.
The method according to claim 6,
Wherein the updating comprises:
A first depth from which the depth value is restored based on the restored depth value of the second depth image such that the restored depth value of the first depth image and the restored depth value of the second depth image are consistent with each other And updating the reconstructed depth value of the first depth image by repeatedly minimizing MRF energy for the image.
제1항에 있어서,
상기 제1 깊이 영상을 생성하는 단계; 및
상기 제2 깊이 영상을 생성하는 단계
를 더 포함하고,
상기 제1 깊이 영상 및 상기 제2 깊이 영상은 씬을 서로 상이한 위치 및 서로 상이한 방향 중 적어도 하나 이상에서 촬영함으로써 생성되는 깊이 영상 처리 방법.
The method of claim 1,
Generating the first depth image; And
Generating the second depth image
Further comprising:
The depth image processing method of claim 1, wherein the first depth image and the second depth image are generated by photographing a scene from at least one of different positions and different directions.
제1항 내지 제8항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer readable recording medium having recorded thereon a program for performing the method of any one of claims 1 to 8. 제1 깊이 영상 및 제2 깊이 영상을 수신하는 수신부; 및
상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)의 값을 결정하고, 상기 결정된 NoM의 값에 기반하여 상기 제1 깊이 영상 및 상기 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원하는 처리부
를 포함하고,
상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내는 깊이 영상 처리 장치.
A receiver configured to receive a first depth image and a second depth image; And
A value of the number of mods (NoM) of the respective pixels in the first depth image and the second depth image is determined, and the first depth image and the first depth image are determined based on the determined value of NoM. A processor to restore the depth value of at least one depth image of the two depth image
Lt; / RTI >
And the corresponding pixels represent the same three-dimensional point.
제10항에 있어서,
상기 처리부는 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정하고, 상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 깊이 영상 처리 장치.
The method of claim 10,
The processor determines a NoM of each of the pixels in the first depth image that minimizes Markov Random Field (MRF) energy for the first depth image, and minimizes the MRF energy for the second depth image. And a depth image processing apparatus for determining the NoM of each pixel in the second depth image.
제11항에 있어서,
상기 처리부는 상기 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제1 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 상기 제1 깊이 영상에 대한 MRF 에너지를 결정하고, 상기 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제2 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 상기 제2 깊이 영상에 대한 MRF 에너지를 결정하고,
상기 불연속성 비용은, 하나의 깊이 영상 내의 공간적으로 이웃한 2 개의 픽셀들 각각의 3차원 거리들이 서로 유사한 경우 상기 2 개의 픽셀들의 NoM들은 서로 동일하다는 제약 조건을 반영하는 비용이고,
픽셀의 상기 3 차원 거리는 상기 픽셀을 포함하는 깊이 영상을 생성한 카메라 및 픽셀에 대응하는 3차원 포인트 간의 거리인 깊이 영상 처리 장치.
12. The method of claim 11,
The processor determines an MRF energy for the first depth image based on a data cost of each pixel in the first depth image and a discontinuity cost of two adjacent pixels in the first depth image, and determines the MRF energy for the second depth image. Determine MRF energy for the second depth image based on the data cost of each of the pixels in the pixel and the cost of discontinuity of two adjacent pixels in the second depth image,
The discontinuity cost is a cost reflecting the constraint that the NoMs of the two pixels are the same when the three-dimensional distances of the two spatially neighboring pixels in one depth image are similar to each other,
And the three-dimensional distance of the pixel is a distance between the camera generating the depth image including the pixel and a three-dimensional point corresponding to the pixel.
제12항에 있어서,
상기 처리부는,
상기 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3차원 포인트 및 상기 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3차원 포인트 간의 거리를 최소로 만드는 상기 제1 픽셀의 상기 결정된 NoM 및 상기 제2 픽셀의 상기 결정된 NoM을 계산함으로써 상기 데이터 코스트를 계산하는 깊이 영상 처리 장치.
The method of claim 12,
Wherein,
The determined NoM and the first of the first pixel to minimize the distance between the first three-dimensional point reconstructed by applying NoM to the first pixel and the second three-dimensional point reconstructed by applying NoM to the second pixel And calculating the data cost by calculating the determined NoM of two pixels.
제13항에 있어서,
상기 처리부는 강건 잠재 함수(robust potential function)를 사용함으로써 상기 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 상기 데이터 코스트의 값을 상기 문턱치로 변경시키는 깊이 영상 처리 장치.
The method of claim 13,
And the processor is configured to change the value of the data cost to the threshold when the value of the calculated data cost is greater than the threshold by using a robust potential function.
제10항에 있어서,
상기 처리부는 깊이 값이 복원된 상기 제2 깊이 영상을 사용하여 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 깊이 영상 처리 장치.
The method of claim 10,
And the processor is configured to update the reconstructed depth value of the first depth image by using the second depth image in which the depth value is reconstructed.
제15항에 있어서,
상기 처리부는 상기 제1 깊이 영상의 복원된 깊이 값 및 상기 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 깊이 영상 처리 장치.
16. The method of claim 15,
The processor may further include a first depth in which the depth value is restored based on a restored depth value of the second depth image such that the restored depth value of the first depth image and the restored depth value of the second depth image are consistent with each other. And updating the reconstructed depth value of the first depth image by repeatedly minimizing MRF energy for the image.
제10항에 있어서,
씬을 촬영함으로써 상기 제1 깊이 영상을 생성하는 제1 카메라; 및
상기 씬을 촬영함으로써 상기 제2 깊이 영상을 생성하는 제2 카메라
를 더 포함하고,
상기 제1 카메라 및 상기 제2 카메라는 서로 상이한 위치 및/또는 방향에서 상기 씬을 촬영하는 깊이 영상 생성 장치.
The method of claim 10,
A first camera generating the first depth image by photographing a scene; And
A second camera generating the second depth image by photographing the scene
Further comprising:
And the first camera and the second camera photograph the scene at different positions and / or directions.
KR1020120093530A 2012-01-10 2012-08-27 Method and apparatus for recovering depth value of depth image KR101874486B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/736,463 US9225959B2 (en) 2012-01-10 2013-01-08 Method and apparatus for recovering depth value of depth image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261584925P 2012-01-10 2012-01-10
US61/584,925 2012-01-10

Publications (2)

Publication Number Publication Date
KR20130082054A true KR20130082054A (en) 2013-07-18
KR101874486B1 KR101874486B1 (en) 2018-07-05

Family

ID=48993525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120093530A KR101874486B1 (en) 2012-01-10 2012-08-27 Method and apparatus for recovering depth value of depth image

Country Status (1)

Country Link
KR (1) KR101874486B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190081867A (en) 2017-12-29 2019-07-09 재단법인 구미전자정보기술원 System and method for acquisition of safe vision based on 3d bpc imaging technology

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013079A1 (en) * 2009-07-30 2011-02-03 Primesense Ltd. Depth mapping based on pattern matching and stereoscopic information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190081867A (en) 2017-12-29 2019-07-09 재단법인 구미전자정보기술원 System and method for acquisition of safe vision based on 3d bpc imaging technology

Also Published As

Publication number Publication date
KR101874486B1 (en) 2018-07-05

Similar Documents

Publication Publication Date Title
US20200333467A1 (en) Time-of-Flight (TOF) Assisted Structured Light Imaging
US20210021799A1 (en) Three-dimensional computational imaging method and apparatus based on single-pixel sensor, and non-transitory computer-readable storage medium
EP2932468B1 (en) Surface geometry imaging
KR102468897B1 (en) Method and apparatus of estimating depth value
CN105264331B (en) Determine the depth data of image captured
KR101259835B1 (en) Apparatus and method for generating depth information
CN107533763B (en) Image processing apparatus, image processing method, and program
KR102455632B1 (en) Mehtod and apparatus for stereo matching
CA2563380A1 (en) Method and system for detecting and evaluating 3d changes from images and a 3d reference model
KR101592405B1 (en) Method for obtaining three-dimensional image, apparatus and computer-readable recording medium using the same
Guan et al. 3D object reconstruction with heterogeneous sensor data
US9225959B2 (en) Method and apparatus for recovering depth value of depth image
JP6573196B2 (en) Distance information correction apparatus, distance information correction method, and distance information correction program
KR101874486B1 (en) Method and apparatus for recovering depth value of depth image
EP3663801B1 (en) Time of flight sensor module, method, apparatus and computer program for determining distance information based on time of flight sensor data
JP5656018B2 (en) Sphere detection method
JP7274111B2 (en) 3D shape measuring device, 3D shape measuring method, program and recording medium
KR101032509B1 (en) System and method of estimating real-time foot motion using kalman filter
KR101893770B1 (en) 3D CAMERA FOR CORRECTING DEPTH ERROR BY IR(infrared ray) REFLECTIVITY AND METHOD THEREOF
EP2449441B1 (en) 3-dimensional perception system and method for mobile platform
KR102162019B1 (en) Three dimensional image generating method and apparatus
JP2018066655A (en) Specular surface information acquisition device, specular surface measurement method, and computer program
KR20180107917A (en) Method and device for usign pattern and inverse pattern corresponding differ polarized light
KR102232390B1 (en) Three dimensional image generating method and apparatus
KR20180107916A (en) Method and device for performing projection using black and white using fixed pattern mask

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