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

Method and apparatus for recovering depth value of depth image Download PDF

Info

Publication number
KR101874486B1
KR101874486B1 KR1020120093530A KR20120093530A KR101874486B1 KR 101874486 B1 KR101874486 B1 KR 101874486B1 KR 1020120093530 A KR1020120093530 A KR 1020120093530A KR 20120093530 A KR20120093530 A KR 20120093530A KR 101874486 B1 KR101874486 B1 KR 101874486B1
Authority
KR
South Korea
Prior art keywords
depth image
depth
value
pixels
nom
Prior art date
Application number
KR1020120093530A
Other languages
Korean (ko)
Other versions
KR20130082054A (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

깊이 영상의 깊이 값을 복원하기 위한 방법 및 장치가 제공된다. 복수 개의 깊이 영상들 내의 대응하는 픽셀들 각각의 모드들의 개수가 결정된다. 대응하는 픽셀들은 동일한 3차원 포인트를 나타내는 픽셀들이다. 모드들의 개수는 마코프 랜덤 필드 에너지를 최소화하는 값으로 결정된다. 하나의 깊이 영상의 깊이 값이 복원되면, 복원된 깊이 값을 사용함으로써 다른 깊이 영상의 깊이 값이 갱신된다.A method and apparatus for reconstructing a depth value of a depth image is provided. The number of modes of each of the corresponding pixels in the plurality of depth images is determined. The corresponding pixels are pixels representing the same three-dimensional point. The number of modes is determined to a value that minimizes the Markov random field energy. When the depth value of one depth image is restored, the depth value of another depth image is updated by using the restored depth value.

Description

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

아래의 실시예들은 깊이 영상 내의 깊이 값을 복원하는 방법 및 장치에 관한 것으로, 보다 상세히는 ToF 카메라에 의해 촬영된 깊이 영상 내의 픽셀의 깊이 값을 계산하는 방법 및 장치가 개시된다.The following embodiments relate to a method and apparatus for restoring a depth value in a depth image, and more particularly, 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는 가시의 면에 대해서만 깊이 정보가 제공됨을 의미한다.Time-of-Flight (ToF) Depth A camera is a camera that provides 2.5-dimensional (D) information about a 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 (IR) light and a sensor for detecting light. The ToF depth camera calculates the distance between the ToF depth camera and the object by measuring the time that the IR light emitted from the LED is reflected on the object and reflected back to the sensor.

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

일 측에 따르면, 제1 깊이 영상 및 제2 깊이 영상을 수신하는 단계, 상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)를 결정하는 단계 및 상기 결정된 NoM에 기반하여 상기 제1 깊이 영상 및 상기 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원하는 단계를 포함하고, 상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내는, 깊이 영상 처리 방법이 제공될 수 있다.According to one aspect, there is provided a method comprising: receiving a first depth image and a second depth image; determining a number of modes (Number of Mods: NoM) 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 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 , A depth image processing method can be provided.

상기 결정하는 단계는, 상기 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계 및 상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계를 포함할 수 있다.Wherein the determining comprises: determining NoM of each of the pixels in the first depth image that minimizes Markov Random Field (MRF) energy for the first depth image; Determining NoM of each of the pixels in the second depth image that minimizes 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 equal to each other if the three-dimensional distances of each of two spatially adjacent pixels in one depth image are similar to each other.

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

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

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

상기 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 상기 데이터 코스트의 값은 강건 잠재 함수(robust potential function)에 의해 상기 문턱치로 변경될 수 있다.If the value of the calculated data cost is greater than the threshold value, the value of the data cost may be changed to the threshold value 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 using the second depth image whose depth value is reconstructed.

상기 갱신하는 단계는 상기 제1 깊이 영상의 상기 복원된 깊이 값 및 상기 제2 깊이 영상의 상기 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 상기 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 상기 복원된 깊이 값을 갱신할 수 있다.Wherein the updating is based on the restored depth value of the second depth image so 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 can be updated by repeatedly minimizing the 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 from each other.

다른 일 측에 따르면, 제1 깊이 영상 및 제2 깊이 영상을 수신하는 수신부, 상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)의 값을 결정하고, 상기 결정된 NoM의 값에 기반하여 상기 제1 깊이 영상 및 상기 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원하는 처리부를 포함하고, 상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내는, 깊이 영상 처리 장치가 제공될 수 있다.According to another aspect of the present invention, there is provided an image processing apparatus including a receiver for receiving a first depth image and a second depth image, a value of a number of modes (Number of Mods: NoM) of corresponding pixels in the first depth image and the second depth image, And a processor for restoring 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, point of the depth image processing apparatus.

상기 처리부는 제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 the Markov Random Field (MRF) energy for the first depth image, and minimize the MRF energy for the second depth image Of the pixels in the second depth image.

상기 처리부는 상기 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제1 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 상기 제1 깊이 영상에 대한 MRF 에너지를 결정할 수 있고, 상기 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제2 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 상기 제2 깊이 영상에 대한 MRF 에너지를 결정할 수 있다.Wherein the processing unit is able to determine the MRF energy for the first depth image based on a data cost of each of the pixels in the first depth image and a discontinuity cost of two adjacent pixels in the first depth image, The MRF energy for the second depth image may be determined based on the data cost of each of the pixels 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을 계산함으로써 상기 데이터 코스트를 계산할 수 있다.Wherein the processing unit is configured to minimize the distance between the restored first three-dimensional point by applying NoM to the first pixel and the restored second three-dimensional point by applying NoM to the second pixel, And calculating the data cost by calculating the determined NoM of the second pixel.

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

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

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

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

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

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

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
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 block diagram of a depth image generating apparatus according to an exemplary embodiment of the present invention.

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

제1 카메라(110)를 씬(scene)을 촬영함으로써 제1 깊이 영상을 생성할 수 있다. 제2 카메라(120)는 상기의 씬을 촬영함으로써 제2 깊이 영상을 생성할 수 있다. 제1 카메라(110) 및 제2 카메라(120)는 각각 서로 상이한 위치 및/또는 방향에서 씬을 촬영함으로써 각각 제1 깊이 영상 및 제2 깊이 영상을 생성할 수 있다. 제1 깊이 영상 및 제2 깊이 영상은 씬을 서로 상이한 위치 및 방향에서 촬영함으로써 생성될 수 있다.The first depth image can be generated by taking a scene of the first camera 110. The second camera 120 can generate the second depth image by photographing the scene. The first camera 110 and the second camera 120 may respectively generate the first depth image and the second depth image by photographing the scene in different positions and / or directions from each other. The first depth image and the second depth image can 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 stereotyped ToF depth cameras.

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

처리부(140)는 제1 깊이 영상의 깊이 값 및 제2 깊이 영상의 깊이 값을 복원할 수 있다. 여기서, 깊이 영상의 깊이 값은 깊이 영상 내의 픽셀들 각각의 깊이 값을 의미할 수 있다. 깊이 값의 복원은 부정확하거나 불충분한 깊이 값을 정확하거나 더 정확한 깊이 값으로 변경하는 것을 의미할 수 있다.The processing unit 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 the depth value of each pixel in the depth image. Restoration of depth values may mean changing an inaccurate or insufficient depth value to an accurate or more accurate depth value.

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

도 2는 일 예에 따른 복수 개의 ToF 깊이 카메라들을 사용하는 거리 계산 방법을 설명한다.FIG. 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 processing unit 140 can calculate the distance between the ToP depth camera and the object based on Equation (1) below.

Figure 112012068615957-pat00001
Figure 112012068615957-pat00001

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

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

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

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

Figure 112012068615957-pat00002
Figure 112012068615957-pat00002

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

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

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

Figure 112012068615957-pat00004
Figure 112012068615957-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 a sine wave sin (2? Ft ) and a cosine wave cos (2? Ft ) by a first mixer 210 and a 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. A first correlated signal B and a second correlated signal C may be generated by passing the signals generated by the mixing through the first low pass filter 212 and the second low pass filter 214, respectively. Here, the sine wave sin (2? Ft ) and the cosine wave cos (2? Ft ) are files corresponding to the first phase and the third phase, respectively.

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

Figure 112012068615957-pat00005
Figure 112012068615957-pat00005

또한, A

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

Figure 112012068615957-pat00007
Figure 112012068615957-pat00007

d max는 모호성(ambiguity) 없이 측정될 수 있는 최대 거리를 나타낼 수 있다. 예컨대, d max는 위상차의 한 주기에 해당하는 거리일 수 있다. d max는 비-모호한 거리 범위(non-ambiguous distance range) 또는 최대 취득 거리로 명명될 수 있다. d max can 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 can be named a non-ambiguous distance range or a 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 to 2? Smaller than the actual phase difference between the irradiation light and the reflected light can be measured as a phase difference.

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

Figure 112012068615957-pat00008
Figure 112012068615957-pat00008

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

Figure 112012068615957-pat00009
에 2πn을 더한 값인
Figure 112012068615957-pat00010
+2πn를 이용하여 d+nd max를 계산할 수 있다. 여기서, n은 0 이상의 정수일 수 있다.In order to calculate the distance d accurately, the processing unit 140 calculates the distance d
Figure 112012068615957-pat00009
Lt; 2 >
Figure 112012068615957-pat00010
D + nd max can be calculated 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. Thus, the maximum distance that can be measured by the depth camera may be d max , and the processing unit 140 may incorrectly calculate the depth value for an object farther than d max from the depth camera as a shorter distance value than the actual . Here, the depth value for the object may be the depth value of the pixel representing the object among the pixels in the depth image.

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

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

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

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

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

단계(320)에서, 제2 카메라(120)는 상기의 씬을 촬영함으로써 제2 깊이 영상을 생성할 수 있다.In step 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 steps 310 and 320, the first camera 110 and the second camera 120 may photograph the same scene in different positions and / or directions. That is, the first depth image and the second depth image can be generated by photographing the scenes at different positions and / or directions, respectively. The first depth image and the second depth image may have different viewpoints for the scene.

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

단계(340)에서, 처리부(140)는 제1 깊이 영상 및 제2 깊이 영상 내의 대응하는 픽셀들 각각의 NoM을 결정할 수 있다. 여기서, 대응하는 픽셀들은 동일한 3 차원 포인트(point)를 나타낼 수 있다. 즉, 씬 내의 객체가 제1 카메라(110) 및 제2 카메라(120) 각각에 의해 촬영되었을 때, 상기의 객체를 나타내는 제1 깊이 영상 내의 픽셀 및 제2 깊이 영상 내의 픽셀은 서로 대응하는 픽셀들이다.In step 340, the processing unit 140 may determine the 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 imaged by each of the first camera 110 and the second camera 120, the pixels in the first depth image representing the object and the pixels in the second depth image are pixels corresponding to each other .

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

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

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

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

단계(350)에서, 처리부(150)는 결정된 NoM에 기반하여 제1 깊이 영상 및 제2 깊이 영상 중 적어도 하나의 깊이 영상의 깊이 값을 복원할 수 있다.In step 350, the processing unit 150 may restore the depth value of at least one 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 processing unit 160 reconstructs the reconstructed depth value of the first depth image and the reconstructed depth value of the second depth image using the reconstructed first depth image and the reconstructed second depth image, The depth value can be updated. Step 360 may be considered as performing the optimization for the first depth image and the second depth image.

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

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

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

도 4는 일 예에 따른 NoM 값에 따른 3D 포인트의 거리 변화를 설명한다.4 illustrates a distance change of the 3D point according to the 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 step 330 described above with reference to FIG. 3, the depth value of the first pixel of the first depth image is d 1 . And 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 less than d max ( f 1 ) greater than or equal to zero, and d 2 may be a value less than d max ( f 2 ) greater than or equal to zero.

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 the d max of the signal sensed by the sensor of the first camera 110 when the light emitted from the first camera 110 is modulated at the frequency f 1 . Where the d max of the signal may be the d max of the pixel in the depth image. Also, d max ( f 2 ) may be the d max of the signal sensed by the sensor of the second camera 120 when the light emitted from the second camera 120 is modulated at the frequency f 2 . Where the d max of the signal may be the d max of the pixel in the depth image. That is, each of the pixels in the first depth image has a depth value that is greater than or equal to zero and less than d max ( f 1 ), regardless of how far the point represented by each of the pixels actually is from the first camera 110 have. The depth value of the pixel of the first depth image may be the remaining value obtained by dividing the value of the actual distance between the first camera 110 and the point indicated by the pixel 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 the 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 x 1 and No 1 of X 1 . n 1 may be an integer equal to or greater than zero. Also, 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 x 2 and No 2 of 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 No 1 of x 1 is k 1 It may represent a 3D points corresponding to x 1. 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 No 2 of x 2 is k 2 x 2 < / RTI >

기호 '≡'는 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. The formula ' X 1 ( k 1 ) ≡ d 1 ' may indicate that the distance between the first camera 110 and X 1 ( k 1 ) is d 1 . The formula ' 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 Figure 4, X 1 (0), X 1 (1) and X 1 (2) was shown that each position, X 2 (0), X 2 (1) and X 2 (2) showing the respective positions .

처리부(140)는 x 1에 기반하여 x 1에 대응하는 3D 포인트인 X 1를 복원할 수 있다. 여기서, 복원이란 x 1의 NoM을 결정하는 것을 의미할 수 있다. 즉, 복원은 X 1(0) 내지 X 1(m 1) 중 하나를 x 1에 대응하는 3D 포인트로서 결정하는 것을 의미할 수 있다. 여기서, m 1k 1의 최대 값일 수 있다.Processing unit 140 may restore the 3D points corresponding to X 1 x 1 on the basis of x 1. Here, restoration may mean to determine No 1 of x 1 . That is, the restoration may mean to determine one of X 1 (0) to X 1 ( m 1 ) as the 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 the 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 in the same position 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 is shown as a straight line. In Figure 4, when the NoM and NoM of X 2 of X 1 2, respectively, X 1 and X 2 may intersect at one point. Therefore, according to Fig. 4, when n 1 and n 2 are 2, respectively, it can be seen that X 1 and X 2 are restored correctly. 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을 계산할 수 있다.Processor 140 on the basis of Equation (7) below can be calculated at the best NoM of X 1 and X 2, respectively.

Figure 112012068615957-pat00011
Figure 112012068615957-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 the rotation from the direction of the first camera 110 to the direction of the second camera 120. R may be a rotation matrix of 3x3. 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 the translation relationship between the first camera 110 and the second camera 120. [ T may be a 3D transform vector representing the translation of the position of the first camera 110 from the position of the second camera 120 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 NoM of the 3D point X 1 corresponding to one pixel x 1 in the first depth image photographed by the first camera 110. n may be NoM of the 3D point X 2 corresponding to one pixel x 2 in the second depth image photographed 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 onto the second depth image, and NoM of the pixel projected on the second depth image is n . Here, the pixel where X 1 ( m ) is projected on 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 projected on the second depth image by X 2 ( n ) 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 the above-mentioned Equation (7) are referred to as a data cost function.

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

도 3을 참조하여 전술된 단계(340)에서, 처리부(140)는 제1 깊이 영상 및 제2 깊이 영상에 전술된 데이터 코스트 함수를 적용함으로써 제1 복원된 깊이 영상(510) 및 제2 복원된 깊이 영상(520)을 생성할 수 있다.In step 340 described above with reference to FIG. 3, the processing unit 140 applies the above-described data cost function to the first depth image and the second depth image to generate a first reconstructed depth image 510 and a second reconstructed depth image 510, The depth image 520 can 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 first depth image photographed by the second camera 120 There is no occlusion between the second depth images. Thus, for each of all pixels in a depth image, the corresponding pixel may be in another 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 the pixels in one depth image, the corresponding pixels are present in the other depth image I can not. That is, there may be occlusion between the first depth image and the second depth image. Also, due to the noise existing in each of the first depth image and the second depth image, the value of NoM calculated by considering the data cost function may not always be accurate.

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

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

Figure 112012068615957-pat00012
Figure 112012068615957-pat00012

여기서, E 1은 제1 깊이 영상에 대한 MRF 에너지일 수 있다. E 2는 제2 깊이 영상에 대한 MRF 에너지일 수 있다.Where E 1 may be the 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 be indexes of pixels in the first depth image or the second depth image, respectively.

N은 제1 깊이 영상 또는 제2 깊이 영상 내의 모든 이웃하는 픽셀 쌍(pixel-pair)들의 집합일 수 있다. 즉, (i, j)는 제1 깊이 영상 또는 제2 깊이 영상 내의 서로 이웃하는 2 개의 픽셀들의 인덱스들의 순서 쌍을 나타낼 수 있다. 인덱스가 i인 픽셀의 이웃 픽셀들은 4 개 또는 8 개일 수 있다. N may be a set of all neighboring pixel-pairs within the first depth image or the second depth image. That is, ( i , j ) may represent an ordered pair of indices of two neighboring pixels within the first depth image or the second depth image. The neighboring pixels of the 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 NoM of a pixel whose index of the first depth image is i . and m j may be NoM of the pixel whose index of the first depth image is j . and n i may be NoM of a pixel whose index of the second depth image is i . and n j may be NoM of the pixel whose 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 the data cost for the first depth image. D 2 may be the data cost for the second depth image. D 1 ( m i ) may be the data cost for the NoM of the pixel whose index of the first depth image is i . D 2 ( n i ) may be the data cost for the NoM of the 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 the discontinuity cost of the first depth image. V 2 may be the discontinuity cost of the second depth image. V 1 (m i, m j ) may be a discontinuity in the cost NoM of the pixel, the index of the first pixel of a depth image and NoM first depth image of the index i of j. V 2 (n i, n j ) may be a discontinuity in the cost NoM of the pixel, the index of the second depth of the image pixel of the index i NoM and a second depth image-j.

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

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

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

처리부(140)는 제1 깊이 영상에 대한 MRF 에너지를 최소화시키는 제1 깊이 영상의 모든 픽셀들 각각의 NoM을 계산할 수 있으며, 제2 깊이 영상에 대한 MRF 에너지를 최소화시키는 제2 깊이 영상의 모든 픽셀들 각각의 NoM을 계산할 수 있다.The processing unit 140 may calculate NoM of each pixel of the first depth image that minimizes the MRF energy for the first depth image and may calculate all pixels of the second depth image that minimize the MRF energy for the second depth image, 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 ) can be defined according to Equation (9) below. The processing unit 140 may use a function defined according to the following equation (9) to calculate the data cost for each of M i and N i .

Figure 112012068615957-pat00013
Figure 112012068615957-pat00013

Figure 112012068615957-pat00014
Figure 112012068615957-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. Further, 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 포인트들 간의 거리가 폐색 또는 노이즈에 의해 소정의 문턱지보다 더 크게 계산된 경우, 더 크게 계산된 값을 문턱치로 치환해주는 역할을 할 수 있다. [delta] may be a function that gives a limit of the final distance error. δ may be a robust potential function. In Equation (9), the data costs D 1 and D 2 can each represent a form in which the robust potential function δ is applied. delta may serve to substitute a larger calculated value for the threshold value when the distance between the two 3D points is calculated larger than a predetermined threshold value by occlusion or noise.

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

수학식 9에서 나타난 것과 같이, 처리부(140)는 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3D 포인트 및 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3D 포인트 간의 거리를 최소로 만드는 제1 픽셀의 결정된 NoM 및 제2 픽셀의 결정된 NoM을 계산함으로써 데이터 코스트를 계산할 수 있다.As shown in Equation (9), the processing unit 140 includes a first 3D point obtained by applying NoM to the first pixel, and a first 3D point obtained by applying NoM to the second pixel by minimizing the distance between the restored second 3D point and the first 3D point 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 ) can be defined according to Equation (10) below. The processing unit 140 may use a function defined according to the following Equation 10 to calculate the discontinuity cost of each ordered pair m i , m j and ( n i , n j ).

Figure 112012068615957-pat00015
Figure 112012068615957-pat00015

Figure 112012068615957-pat00016
Figure 112012068615957-pat00016

여기서, τ는 임계값일 수 있다. 예컨대, 2 개의 3D 포인트들 X 1 i X 1 j 간의 거리가 임계값 τ 이상일 경우 불연속성 비용 V 1(m i , m j )의 값은 0이 될 수 있다. τ는 상수 값을 가질 수 있다.Wherein, τ is a threshold may be a value. For example, if the distance between the two 3D points X 1 i and X 1 j is equal to or greater than the threshold value τ, the value of the discontinuity cost V 1 ( m i , m j ) can be zero. τ can 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)가 큰 값을 갖게하는 함수일 수 있다.
v may be a function or a constant for determining V 1 ( m i , m j ) based on the distance between X 1 i and X i j . v may be a function or a constant for determining V 2 ( m i , m j ) based on the distance between X 2 i and X 2 j . v may be a function that produces an output value that is 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 . In other words, ν 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, then V 1 ( m i , m j ) or V 2 ( n i , n j ) may have a large value.

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

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

픽셀 x 1 a 및 픽셀 x 1 b 는 제1 깊이 영상 내에서 이웃한 픽셀들일 수 있다. 픽셀 x 2 a 및 픽셀 x 2 b 는 제2 깊이 영상 내에서 이웃한 픽셀들일 수 있다.Pixels x 1 a and x 1 b may be neighboring pixels within the first depth image. Pixels x 2 a and x 2 b may be neighboring pixels within 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 the 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 the direction from the first camera 110 or the second camera 120, Are indicated by circles or triangles, respectively.

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

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

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

처리부(140)는 깊이 값이 복원된 제1 깊이 영상 및 깊이 값이 복원된 제2 깊이 영상 양자 모두의 깊이 값을 갱신함으로써, 일관적인 깊이 영상들을 획득할 수 있다.The processing unit 140 can obtain the consistent depth images by updating the 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 processing unit 140 may calculate the first depth image and the second depth image based on Equation (11) below in order to make the first depth image consistent with the second depth image. The reconstructed depth value of the 1 depth image can be updated.

Figure 112012068615957-pat00017
Figure 112012068615957-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 NoM of the pixel x 1 i whose index of the first depth image is i . n k * may be a NoM of a pixel x 2 k whose index of the second depth image whose depth value is reconstructed is k . n i * may be NoM of the pixel whose index of the second depth image determined in step 340 is k . The pixel x 1 i and the pixel x 2 k may be pixels corresponding to each other that represent the same 3D point.

X 2 k (n k *)는 X 1 i (m i )에 대응하는 원거리 복원된 3D 포인트를 나타낼 수 있다. X 2 k ( n k *) may represent a remotely reconstructed 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 processing unit 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 restored second depth image.

제2 깊이 영상의 복원된 깊이 값이 정확한 경우, 수학식 11의 F 1(m i )가 D 1(m i )를 대체할 수 있다. 그러나, 제2 깊이 영상의 복원된 깊이 값은 반드시 정확한 것으로 보장되지 못할 수 있다. 단계(362)에서, 처리부(140)는 제1 깊이 영상의 복원된 깊이 값 및 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 제2 깊이 영상의 복원된 깊이 값에 기반하여 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화할 수 있다. 처리부(140)는 MRF 에너지를 반복적으로(iteratively) 최소화함으로써 제1 깊이 영상의 복원된 깊이 값을 갱신할 수 있다.If the reconstructed depth value of the second depth image is correct, F 1 ( m i ) in Equation (11) can replace D 1 ( m i ). However, the reconstructed depth value of the second depth image may not necessarily be guaranteed to be correct. In step 362, the processing unit 140 restores the depth value based on the restored depth value of the second depth image so 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 MRF energy for the first depth image can be repeatedly minimized. The processing unit 140 may update the reconstructed depth value of the first depth image by iteratively minimizing the MRF energy.

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

Figure 112012068615957-pat00018
Figure 112012068615957-pat00018

여기서, T는 반복(iteration)의 최대 횟수일 수 있다. T는 0 이상의 정수일 수 있다. t는 현재의 반복 횟수일 수 있다. t는 0 이상 T 이하의 정수일 수 있다. 수학식 11은 D 1(m i ) 및 F 1(m i )의 블랜딩(blending)을 나타낼 수 있다.Where T may be the maximum number of iterations. T may be an integer equal to or greater than zero. t may be the current number of iterations. t may be an integer of 0 or more and T or less. Equation (11) can represent the 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 the pixel x 1 i where the index of the first depth image in the t- th iteration is i . The processing unit 140 can 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 )와 함께 사용할 수 있다. If the value of t is 0, the processing unit 140 can use D 1 ( m i ) described above with reference to Equation (9) to restore the depth value of the first depth image. If the value of t is equal to or greater than 1, the processing unit 140 may use F 1 ( m i ) described above with reference to Equation (11) to restore the depth value of the first depth image together with D 1 ( m i ) .

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

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

Figure 112012068615957-pat00019
Figure 112012068615957-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 NoM of the pixel x 2 i whose index of the second depth image is i . m k * may be NoM of a pixel x 1 k whose index of the first depth image whose depth value is restored is k . m k * may be NoM of a pixel whose index of the first depth image determined in step 340 is k . The pixel x 2 i and the pixel x 1 k may be pixels corresponding to each other that represent the same 3D point.

X 1 k (m k *)는 X 2 i (n i )에 대응하는 원거리 복원된 3D 포인트를 나타낼 수 있다. X 1 k ( m k * ) may represent a remotely reconstructed 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 processing unit 140 may update the depth value of the pixel by determining the NoM n i of the pixel to minimize F 2 ( n i ) for 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 restored first depth image.

단계(364)에서, 처리부(140)는 제1 깊이 영상의 복원된 깊이 값 및 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 제1 깊이 영상의 복원된 깊이 값에 기반하여 깊이 값이 복원된 제2 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화할 수 있다.In step 364, the processing unit 140 restores the depth value based on the restored depth value of the first depth image so 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 MRF energy for the second depth image can be repeatedly minimized.

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

Figure 112012068615957-pat00020
Figure 112012068615957-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 the pixel x 2 i where the index of the second depth image in the t- th iteration is i . The processing unit 140 can update the depth value of x 2 i by determining the 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 )와 함께 사용할 수 있다. If the value of t is 0, the processing unit 140 can use D 2 ( m i ) described above with reference to Equation 9 to restore the depth value of the second depth image. If the value of t is equal to or greater than 1, the processing unit 140 can use F 2 ( m i ) described above with D 2 ( m i ) with reference to Equation 13 to restore the depth value of the second depth image .

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

Figure 112012068615957-pat00021
Figure 112012068615957-pat00021

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

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

제1 갱신된 깊이 영상(710)은 도 5를 참조하여 전술된 제2 복원된 깊이 영상(520)의 깊이 값을 사용하여 제1 복원된 깊이 영상(510)의 깊이 값을 갱신함으로써 생성된 깊이 영상이다.The first updated depth image 710 is 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. It is a video.

제2 갱신된 깊이 영상(720)은 도 5를 참조하여 전술된 제1 복원된 깊이 영상(510)의 깊이 값을 사용하여 제2 복원된 깊이 영상(520)의 깊이 값을 갱신함으로써 생성된 깊이 영상이다.The second updated depth image 720 is 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. It is a video.

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

전술된 실시예들은 동일한 시각(time)에서 복수 개의 카메라들에 의해 촬영된 깊이 영상들을 사용함으로써 상기의 깊이 영상들의 깊이 값을 복원할 수 있다. 또한, 전술된 실시예들은 복수 개의 카메라들이 이동하고, 상기의 복수 개의 카메라들의 이동에 독립적으로 이동하는 객체가 있는 상황에서도 깊이 영상들의 깊이 값을 복원할 수 있다. 이 때, 복원된 깊이 값은 최대 취득 거리 이상의 원거리의 깊이 값일 수 있다.
The embodiments described above can recover depth values of the depth images by using depth images taken by a plurality of cameras at the same time. Also, in the above-described embodiments, a depth value of depth images can be restored even in a situation where a plurality of cameras are moved and an object moving independently of movement of the plurality of cameras exists. At this time, the restored depth value may be a depth value at a distance greater 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 foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. 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 an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media 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 machine language code such as those produced by a compiler, as well as 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:

Claims (17)

제1 깊이 카메라와 물체 간의 측정된 제1 거리를 나타내는 제1 깊이 영상 및 제2 깊이 카메라와 상기 물체 간의 측정된 제2 거리를 나타내는 제2 깊이 영상을 수신하는 단계;
상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)를 결정하는 단계; 및
상기 결정된 NoM에 기반하여 상기 측정된 제1 거리 및 상기 측정된 제2 거리 중 적어도 하나의 거리를 복원하는 단계
를 포함하고,
상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내고,
상기 NoM은 상기 3차원 포인트의 거리 변화를 나타내기 위하여 조사광의 주파수에 대응하는 최대 취득 거리에 곱해지는 정수인
깊이 영상 처리 방법.
Receiving a first depth image representing a first distance measured between the first depth camera and an object and a second depth image representing a second distance measured between the second depth camera and the object;
Determining a number of modes (Number of Mods: NoM) of each of the corresponding pixels in the first depth image and the second depth image; And
Restoring at least one of the measured first distance and the measured second distance based on the determined NoM
Lt; / RTI >
The corresponding pixels representing the same three-dimensional point,
The NoM is an integer that is multiplied by the maximum acquisition distance corresponding to the frequency of the irradiation light in order to indicate the change in distance of the three-dimensional point
Depth image processing method.
제1항에 있어서,
상기 결정하는 단계는,
상기 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계; 및
상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 단계
를 포함하는 깊이 영상 처리 방법.
The method according to claim 1,
Wherein the determining comprises:
Determining 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 NoM of each of the pixels in the second depth image that minimizes MRF energy for the second depth image
/ RTI >
제2항에 있어서,
상기 제1 깊이 영상에 대한 MRF 에너지는 상기 제1 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제1 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 결정되고,
상기 제2 깊이 영상에 대한 MRF 에너지는 상기 제2 깊이 영상 내의 픽셀들 각각의 데이터 코스트 및 상기 제2 깊이 영상 내의 인접한 2 개의 픽셀들의 불연속성 비용에 기반하여 결정되고,
상기 불연속성 비용은, 하나의 깊이 영상 내의 공간적으로 이웃한 2 개의 픽셀들 각각의 3차원 거리들이 서로 유사한 경우 상기 2 개의 픽셀들의 NoM들은 서로 동일하다는 제약 조건을 반영하는 비용이고,
픽셀의 상기 3 차원 거리는 상기 픽셀을 포함하는 깊이 영상을 생성한 카메라 및 픽셀에 대응하는 3차원 포인트 간의 거리인 깊이 영상 처리 방법.
3. The method of claim 2,
Wherein the MRF energy for the first depth image is 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,
The 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 if the three-dimensional distances of two spatially neighboring pixels within one depth image are similar to each other, the NoMs of the two pixels are equal to each other,
Wherein the three-dimensional distance of the pixel is the distance between the three-dimensional point corresponding to the camera and the pixel that generated the depth image including the pixel.
제3항에 있어서,
상기 제1 깊이 영상 내의 제1 픽셀 및 상기 제2 깊이 영상 내의 제2 픽셀은 상기 서로 대응하는 픽셀들이고,
상기 데이터 코스트는 상기 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3차원 포인트 및 상기 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3차원 포인트 간의 거리를 최소로 만드는 상기 제1 픽셀의 상기 결정된 NoM 및 상기 제2 픽셀의 상기 결정된 NoM을 계산함으로써 계산되는 깊이 영상 처리 방법.
The method of claim 3,
Wherein the first pixel in the first depth image and the second pixel in the second depth image are pixels corresponding to each other,
Wherein the data cost is determined by minimizing the distance between the restored first three-dimensional point by applying NoM to the first pixel and the restored second three-dimensional point 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,
Wherein the data cost value is changed to the threshold value by a robust potential function when the calculated data cost value is greater than a threshold value.
제1항에 있어서,
깊이 값이 복원된 상기 제2 깊이 영상을 사용하여 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 단계
를 더 포함하는 깊이 영상 처리 방법.
The method according to claim 1,
Updating the restored depth value of the first depth image using the second depth image having the restored depth value
The depth image processing method further comprising:
제6항에 있어서,
상기 갱신하는 단계는,
상기 제1 깊이 영상의 상기 복원된 깊이 값 및 상기 제2 깊이 영상의 상기 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 상기 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 상기 복원된 깊이 값을 갱신하는 깊이 영상 처리 방법.
The method according to claim 6,
Wherein the updating comprises:
And a second depth image reconstructing unit for reconstructing the reconstructed depth value of the second depth image based on the restored depth value of the second depth image so 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, Wherein the reconstructed depth value of the first depth image is updated by repeatedly minimizing MRF energy for the image.
제1항에 있어서,
상기 제1 깊이 영상을 생성하는 단계; 및
상기 제2 깊이 영상을 생성하는 단계
를 더 포함하고,
상기 제1 깊이 영상 및 상기 제2 깊이 영상은 씬을 서로 상이한 위치 및 서로 상이한 방향 중 적어도 하나 이상에서 촬영함으로써 생성되는 깊이 영상 처리 방법.
The method according to claim 1,
Generating the first depth image; And
Generating the second depth image
Further comprising:
Wherein the first depth image and the second depth image are generated by photographing the scene at least one of different positions and directions different from each other.
제1항 내지 제8항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.9. A computer-readable recording medium recording a program for performing the method of any one of claims 1 to 8. 제1 깊이 카메라와 물체 간의 측정된 제1 거리를 나타내는 제1 깊이 영상 및 제2 깊이 카메라와 상기 물체 간의 측정된 제2 거리를 나타내는 제2 깊이 영상을 수신하는 수신부; 및
상기 제1 깊이 영상 및 상기 제2 깊이 영상 내의 대응하는 픽셀들 각각의 모드들의 개수(Number of Mods; NoM)의 값을 결정하고, 상기 결정된 NoM의 값에 기반하여 상기 측정된 제1 거리 및 상기 측정된 제2 거리 중 적어도 하나의 거리를 복원하는 처리부
를 포함하고,
상기 대응하는 픽셀들은 동일한 3차원 포인트(point)을 나타내고,
상기 NoM은 상기 3차원 포인트의 거리 변화를 나타내기 위하여 조사광의 주파수에 대응하는 최대 취득 거리에 곱해지는 정수인
깊이 영상 처리 장치.
A receiver for receiving a first depth image representing a first distance measured between the first depth camera and an object, and a second depth image representing a second distance measured between the second depth camera and the object; And
Determining a value of a number of modes (Number of Mods: NoM) of each of the corresponding pixels in the first depth image and the second depth image, and determining the first distance and the second depth based on the determined NoM value. A processor for restoring at least one of the measured second distances;
Lt; / RTI >
The corresponding pixels representing the same three-dimensional point,
The NoM is an integer that is multiplied by the maximum acquisition distance corresponding to the frequency of the irradiation light in order to indicate the change in distance of the three-dimensional point
Depth image processing device.
제10항에 있어서,
상기 처리부는 제1 깊이 영상에 대한 마코프 랜덤 필드(Markov Random Field; MRF) 에너지를 최소화하는 상기 제1 깊이 영상 내의 픽셀들 각각의 NoM을 결정하고, 상기 제2 깊이 영상에 대한 MRF 에너지를 최소화하는 상기 제2 깊이 영상 내의 픽셀들 각각의 NoM을 결정하는 깊이 영상 처리 장치.
11. The method of claim 10,
The processor determines the NoM of each of the pixels in the first depth image that minimizes the Markov Random Field (MRF) energy for the first depth image, and minimizes the MRF energy for the second depth image And determines the NoM of each of the pixels 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,
Wherein the processing unit determines the MRF energy for the first depth image 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, Determines the MRF energy for the second depth image 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 second depth image,
The discontinuity cost is a cost reflecting the constraint that if the three-dimensional distances of two spatially neighboring pixels within one depth image are similar to each other, the NoMs of the two pixels are equal to each other,
Wherein the three-dimensional distance of the pixel is the distance between the three-dimensional point corresponding to the camera and the pixel that generated the depth image including the pixel.
제12항에 있어서,
상기 제1 깊이 영상 내의 제1 픽셀 및 상기 제2 깊이 영상 내의 제2 픽셀은 서로 대응하는 픽셀들이고,
상기 처리부는,
상기 제1 픽셀에 NoM을 적용함으로써 복원된 제1 3차원 포인트 및 상기 제2 픽셀에 NoM을 적용함으로써 복원된 제2 3차원 포인트 간의 거리를 최소로 만드는 상기 제1 픽셀의 상기 결정된 NoM 및 상기 제2 픽셀의 상기 결정된 NoM을 계산함으로써 상기 데이터 코스트를 계산하는 깊이 영상 처리 장치.
13. The method of claim 12,
Wherein the first pixel in the first depth image and the second pixel in the second depth image are pixels corresponding to each other,
Wherein,
Wherein the determined NoM of the first pixel to minimize the distance between the restored first three-dimensional point by applying NoM to the first pixel and the restored second three-dimensional point by applying NoM to the second pixel, And calculates the data cost by calculating the determined NoM of 2 pixels.
제13항에 있어서,
상기 처리부는 강건 잠재 함수(robust potential function)를 사용함으로써 상기 계산된 데이터 코스트의 값이 문턱치보다 큰 경우 상기 데이터 코스트의 값을 상기 문턱치로 변경시키는 깊이 영상 처리 장치.
14. The method of claim 13,
Wherein the processor uses a robust potential function to change the value of the data cost to the threshold value if the calculated data cost is greater than a threshold value.
제10항에 있어서,
상기 처리부는 깊이 값이 복원된 상기 제2 깊이 영상을 사용하여 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 깊이 영상 처리 장치.
11. The method of claim 10,
Wherein the processing unit updates the restored depth value of the first depth image using the second depth image whose depth value is restored.
제15항에 있어서,
상기 처리부는 상기 제1 깊이 영상의 복원된 깊이 값 및 상기 제2 깊이 영상의 복원된 깊이 값이 서로 일관되도록 상기 제2 깊이 영상의 복원된 깊이 값에 기반하여 상기 깊이 값이 복원된 제1 깊이 영상에 대한 MRF 에너지를 반복적으로 최소화함으로써 상기 제1 깊이 영상의 복원된 깊이 값을 갱신하는 깊이 영상 처리 장치.
16. The method of claim 15,
Wherein the processing unit is configured to reconstruct the first depth image based on the reconstructed depth value of the second depth image so that the reconstructed depth value of the first depth image and the reconstructed depth value of the second depth image are consistent with each other, Wherein the reconstructed depth value of the first depth image is updated by repeatedly minimizing MRF energy for the image.
제10항에 있어서,
씬을 촬영함으로써 상기 제1 깊이 영상을 생성하는 제1 카메라; 및
상기 씬을 촬영함으로써 상기 제2 깊이 영상을 생성하는 제2 카메라
를 더 포함하고,
상기 제1 카메라 및 상기 제2 카메라는 서로 상이한 위치 및/또는 방향에서 상기 씬을 촬영하는 깊이 영상 처리 장치.
11. The method of claim 10,
A first camera for generating the first depth image by photographing a scene; And
A second camera for generating the second depth image by photographing the scene,
Further comprising:
Wherein the first camera and the second camera photograph the scene in different positions and / or directions from each other.
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 KR20130082054A (en) 2013-07-18
KR101874486B1 true 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)

Families Citing this family (1)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110025827A1 (en) * 2009-07-30 2011-02-03 Primesense Ltd. Depth Mapping Based on Pattern Matching and Stereoscopic Information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110025827A1 (en) * 2009-07-30 2011-02-03 Primesense Ltd. Depth Mapping Based on Pattern Matching and Stereoscopic Information

Also Published As

Publication number Publication date
KR20130082054A (en) 2013-07-18

Similar Documents

Publication Publication Date Title
EP2932468B1 (en) Surface geometry imaging
CN107533763B (en) Image processing apparatus, image processing method, and program
Smisek et al. 3D with Kinect
KR101259835B1 (en) Apparatus and method for generating depth information
CN105264331B (en) Determine the depth data of image captured
US7764284B2 (en) Method and system for detecting and evaluating 3D changes from images and a 3D reference model
US20160094830A1 (en) System and Methods for Shape Measurement Using Dual Frequency Fringe Patterns
CN114746715A (en) Three-dimensional model generation method, information processing device, and program
KR20190030456A (en) Mehtod and apparatus for stereo matching
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
CA2954355A1 (en) Video-assisted landing guidance system and method
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
KR20190050819A (en) A method for performing calibration using measured data without an assumed calibration model and a three-dimensional scanner calibration system
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
Young et al. Sparse point cloud registration and aggregation with mesh‐based generalized iterative closest point
JP7274111B2 (en) 3D shape measuring device, 3D shape measuring method, program and recording medium
KR102493653B1 (en) System and method for self-calibration to improve performance of tomographic particle image velocimetry
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
Kowalczuk et al. Three-dimensional mapping for data collected using variable stereo baseline
EP2449441B1 (en) 3-dimensional perception system and method for mobile platform

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