Getting the Right Exposure for Good Point Clouds

Introduction

Zivid 3D 카메라에는 노출에 영향을 미치는 네 가지 획득 설정이 있습니다.

이 튜토리얼에서는 획득 설정 값을 찾을 때 Zivid Studio의 히스토그램을 사용하여 포인트 클라우드의 품질을 평가합니다. 설정을 조정하는 동안 노출 변수에 다른 값을 사용할 때 고려해야 할 사항을 살펴보겠습니다.

목표는 충분히 높은 SNR로 가능한 한 많은 픽셀을 노출하여 포인트 클라우드가 낮은 시간 노이즈를 얻도록 하는 것입니다. Zivid Studio의 Available Views Signal-to-Noise-Ration을 확인하십시오. 7 이상의 SNR 값은 양호한 것으로 간주됩니다. 이러한 SNR 값은 일반적으로 잘 노출되는 RGB 채널과 관련이 있으며 값은 32에서 255 사이입니다. 이 문서의 방법은 이 영역 내에서 가능한 한 많은 픽셀을 포함하는 것을 목표로 합니다.

When using the Omni Engine, an SNR value of 2 and above is considered good.

이 섹션에서 설명하는 방법은 전체 장면의 완전한 포인트 클라우드를 캡처하는 것을 목표로 합니다. 많은 실제 어플리케이션에서는 장면 내의 특정 개체 또는 영역에 대한 적절한 노출만 얻으면 됩니다. 이러한 시나리오에 동일한 방법을 적용할 수 있지만 관심이 없는 영역은 노출할 필요가 없습니다.

이 튜토리얼에서는 장면에 금속 실린더와 같은 매우 반짝이는 재료와 검은색 플라스틱과 같은 어두운 재료가 모두 포함되어 있다고 가정합니다. 또한 50Hz 주파수의 전력선으로 구동되는 주변광에 노출된 환경에서 이미징이 발생한다고 가정합니다. 예시 장면이 아래 이미지에 나와 있습니다.

높은 동적 범위의 샘플 장면

이러한 장면은 특히 Phase Engine을 사용하는 경우 Zivid 3D 카메라가 단일 획득으로 캡처할 수 있는 것보다 훨씬 더 넓은 동적 범위를 포함할 수 있습니다. 따라서 아래 이미지와 같이 강도 스펙트럼의 서로 다른 영역에 대해 다중 획득과 함께 Zivid의 HDR 기능을 사용해야 하는 경우가 많습니다.

참고

Omni Engine 사용한 단일 획득은 Stripe Engine 보다 더 넓은 동적 범위를 포괄합니다. Phase Engine 보다 넓은 범위를 다시 포함합니다. Stripe 및 Omni 엔진은 반사 처리와 같이 더 넓은 동적 범위를 커버하는 것보다 더 많은 이점을 제공합니다.

다양한 획득에 의해 커버되는 광도 설명

The histogram

Zivid Studio의 히스토그램은 포인트 클라우드 품질을 평가하기 위한 강력한 도구입니다. 이미지 내에서 고유한 강도 값을 갖는 픽셀 수를 계산하고 0에서 255까지의 빈에 표시합니다. 포인트 클라우드 품질을 평가하는 데 사용하는 히스토그램 방법은 픽셀 강도와 3D 품질 간의 관계를 기반으로 합니다. 픽셀 강도가 높을수록(포화되지 않은 경우) SNR이 높아져 3D 품질이 높아집니다. 각 빈은 대수 x축으로 히스토그램을 표시할 때 하나의 Exposure Stop을 나타냅니다. 이 표현은 장면의 특정 영역을 잘 노출하는 데 필요한 노출 값을 추정하는 데 매우 편리합니다.

광도 히스토그램 설명

위의 이미지는 장면이 잘 노출된 히스토그램의 예를 보여줍니다. 대부분의 픽셀이 대수 그래프의 오른쪽 상단에 있기 때문에 이를 알 수 있습니다. 다음은 히스토그램에서도 쉽게 알 수 있습니다. 강도를 두 배로 늘리거나 하나의 노출 정지를 추가하면 강도가 64-128에서 128-255(히스토그램의 가장 오른쪽 영역)인 픽셀로 형성된 혹을 “이동” 합니다. 예를 들어 노출 시간을 두 배로 늘림으로써 이를 달성할 수 있습니다.

조심

기본 Color ModeAutomatic 으로, 각각의 획득 설정이 다른 다중 획득 HDR 캡처의 ToneMapping 과 동일합니다. 톤 매핑은 픽셀 값을 수정하여 히스토그램에 영향을 미치므로 히스토그램을 사용하여 노출 품질을 평가할 수 없습니다. 따라서 히스토그램을 사용할 때는 한 번에 하나의 획득을 평가하고 Color ModeUseFirstAcquisition 또는 Automatic 으로 설정해야 합니다.

조심

Gamma 보정 및 Color Balance 설정은 픽셀 값을 수정하므로 히스토그램을 사용하여 노출 품질을 평가할 수 없습니다. 따라서 히스토그램을 사용할 때는 GammaColor Balance 를 1.0으로 설정해야 합니다.

Introduction to the Stops Table

우리가 사용할 두 번째 강력한 도구는 Stops Table입니다(아래 참조). 표는 Zivid 3D 카메라의 스탑 범위를 보여줍니다. 여기서 각 행은 Zivid의 각 노출 매개변수에 대해 사용 가능한 범위를 보여줍니다. 각 셀은 Zivid 카메라의 4가지 노출 변수(조리개, 노출 시간, 밝기 및 게인) 중 하나에 대한 Stops 위치를 나타냅니다. 원스톱으로 노출을 늘리기 위해 특정 변수에 대해 오른쪽으로 한 셀 이동합니다. 원스톱으로 노출을 줄이기 위해 특정 변수에 대해 왼쪽으로 한 셀 이동합니다. 예: 현재 노출 시간은 10,000μs입니다. 원스톱으로 노출을 늘리고자 합니다. 노출 시간을 20,000μs로 늘립니다.

셀의 색상 코딩은 값이 얼마나 “좋음” 인지 보여줍니다.

  • 강한 녹색: 훌륭함

  • 연한 녹색: 양호

  • 노란색: 확인

  • 빨간색: 필요하지 않으면 피하십시오

카메라당 두 개의 테이블이 있습니다. Exposure Time 에 설명된 동작으로 인해 50Hz 또는 60Hz 전력선 주파수를 보상하려면 올바른 것을 사용하십시오.

스탑 테이블의 녹색 셀 조합을 가능한 한 많이 사용하여 노출 값을 구축하십시오.

참고

특정 노출 설정 값은 컬러 이미지의 품질에 영향을 줄 수 있습니다. 좋은 컬러 이미지 품질을 위한 고려 사항은 뒷부분의 Optimizing Color Image 문서의 Adjusting Acquisition Settings 섹션에서 다룹니다.

획득 설정에 대한 스톱 테이블
획득 설정에 대한 스톱 테이블
획득 설정에 대한 스톱 테이블
획득 설정에 대한 스톱 테이블

참고

카메라 모델마다 조리개, 노출 시간 및 밝기 범위가 다릅니다.

Preparation

편안한 ROI 및 필터

가능한 한 많은 좋은 점을 평가하기 위해 먼저 관심 영역과 모든 필터를 완화합니다. 모든 노출 값을 찾은 후 필터를 마지막 단계로 설정합니다.

  • Region Of Interest: 비활성화됨

  • Cluster: 비활성화됨

  • Hole Repair: Disabled

  • Noise Removal: 1.0

  • Noise Repair: Disabled

  • Noise Suppression: Disabled

  • Outlier: 50

  • Reflection: 비활성화됨(Phase Engine을 사용하는 경우)

  • Gaussian: 비활성화

  • Contrast Distortion: 비활성화됨(Phase Engine을 사용하는 경우)

Setting color settings

히스토그램을 사용하려면 색상 설정(Histogram 의 주의 사항 참조)을 다음 값으로 설정합니다.

  • Color Balance - Red: 1.0

  • Color Balance - Green: 1.0

  • Color Balance - Blue: 1.0

  • Gamma: 1.0

  • Color Mode: UseFirstAcquisition

Acquisition #1 - 하이라이트 노출

하이라이트를 노출하는 것으로 시작한 다음 중간 톤과 낮은 조명(어두운 영역)을 포함하도록 노출을 점진적으로 늘리고 싶습니다. 다음 절차로 특히 반짝이고 밝은 부분에 대한 좋은 데이터를 얻기에 충분하지 않은 경우, Dealing with Highlights and Shiny Objects 의 단계를 따라 첫 번째 획득을 얻으십시오.

Step 1 - 낮은 노출 값 설정

하나의 획득을 제외하고 모두 끄는 것으로 시작하므로 단일 획득 캡처만 있습니다. 그런 다음 이미지(또는 히스토그램)의 어떤 픽셀도 RGB 값이 255가 되지 않도록 노출을 매우 낮게 설정합니다. 다음 시작 조건은 대부분의 경우에 해당합니다.

  • Aperture(\(f\)-number): 32

  • Exposure time: 10,000(60Hz 전력선 주파수가 있는 지역에서 8,333)

  • Brightness: max

  • Gain: 1.0

캡처 후 히스토그램을 켜고 로그 모드로 설정합니다.

과다 노출된 이미지를 보여주는 히스토그램 과다 노출 이미지

위의 그림과 같이 과다 노출된 이미지 영역이 여전히 있는 경우 노출 시간을 더 줄이고 \(f\)-number를 늘리십시오. 아래 그림은 과다 노출된 픽셀이 없는 캡처를 보여줍니다. 과다 노출 영역이 없으면 2단계로 이동합니다.

노출 부족 이미지를 보여주는 히스토그램 노출 부족 이미지

Step 2 - 가장 밝은 픽셀에서 좋은 노출 얻기

Stops 테이블에서 오른쪽으로 한 번에 한 중지씩 이동하여 \(f\)-number를 줄입니다. 가장 밝은 픽셀의 강도가 255에 가까워질 때까지 이 작업을 수행합니다. 포인트 클라우드 또는 RGB 이미지를 관찰하여 장면의 하이라이트에 데이터가 있는지 확인합니다.

이 예에서는 두 스톱 증가해야 합니다. 따라서 첫 번째 인수는 다음 값으로 구성됩니다.

  • Aperture (\(f\)-number): 16

  • Exposure time: 10,000(60Hz 전력선 주파수가 있는 지역에서 8,333)

  • Brightness: max

  • Gain: 1.0

일반적으로 카메라 모델에 사용할 수 있는 최대 밝기 값을 사용하는 것이 좋습니다.

첫 번째 획득을 찾은 후 히스토그램 첫 번째 획득을 찾은 후의 컬러 이미지

Acquisition #2 - 중간 톤 노출

하이라이트를 덮은 후 이미지를 더 많이 노출하려고 합니다. 히스토그램을 보고 32 미만의 강도로 노출된 이미지의 다음 부분을 식별합니다. 일반적으로 3-4 정지점을 추가하여 이미지의 위쪽 절반에서 255 쪽으로 이 영역을 이동하려고 합니다.

추가 획득의 효과를 보여주는 히스토그램

Step 1 - 신규 획득

다른 Acquisition(획득)을 추가하고 첫 번째 획득을 비활성화합니다.

다른 Acquisition(획득)을 추가하고 첫 번째 획득을 비활성화합니다.

Step 2 - 노출 증가

오른쪽으로 총 3~4 스탑을 더 이동합니다. 첫 번째 스톱은 프로젝터 밝기를 최대화해야 하고 다른 스톱은 일반적으로 조리개에서 나와야 합니다.

The example, acquisition #1 from above has an aperture of 16. Therefore, move three aperture stops to the right (count aperture columns in the Stops Table), which results in aperture 5.6.

그러면 Acquisition #2의 값은 다음과 같습니다.

  • Aperture (\(f\)-number): 5.6

  • Exposure time: 10,000(60Hz 전력선 주파수가 있는 지역에서 8,333)

  • Brightness: max

  • Gain: 1.0

두 번째 획득을 찾은 후 히스토그램 두 번째 획득의 컬러 이미지

Acquisition #N - 저조도에 대한 노출을 계속 증가시킵니다.

Acquisition #2에 대한 절차를 반복합니다. 더 높게 노출되어야 하는 픽셀의 다음 영역을 찾고 해당 픽셀의 강도를 255에 가깝게 만드는 데 필요한 정지 수를 계산합니다. 하나의 획득이 활성화된 상태에서만 히스토그램을 사용하는 것을 기억하십시오.

다음 영역의 강도가 약 16이면 강도를 약 255로 끌어올리고자 합니다. 이는 4개의 추가 정지입니다. 조리개, 노출 시간 및 게인을 추가하여 이러한 스톱을 얻을 수 있습니다.

Acquisition #3:

  • Aperture(\(f\)-number): 2.8

  • Exposure time: 20,000 (60Hz 전력선 주파수가 있는 지역에서 16,667)

  • Brightness: max

  • Gain: 2.0

세 번째 획득을 찾은 후 히스토그램 세 번째 획득의 컬러 이미지

가장 어두운 영역에서 데이터를 추출하려면 매우 높은 노출이 필요할 수 있습니다. 이를 위해서는 최종 획득에서 높은 노출 시간과 이득을 사용해야 할 수 있습니다.

아래 이미지와 같이 거의 모든 픽셀이 로그 히스토그램(logarithmic histogram)의 오른쪽에 올 때까지 획득을 계속 추가합니다.

전체 적용 범위를 가질 때 마지막 획득의 히스토그램 마지막 획득의 컬러 이미지

Enjoy the HDR

모든 획득을 활성화하고 HDR을 캡처하여 증가된 다이내믹 레인지(Dynamic range)를 커버했는지 확인합니다.

마지막 획득의 컬러 이미지

Pro tip: 시간을 희생하면서 노이즈를 더욱 개선할 수 있습니다.

시간 예산이 허용하는 경우 중복 획득(Acquisition 복제)을 통해 추가적인 SNR 부스팅을 수행합니다. 동일한 수집을 여러 개 잡는 것은 오버샘플링을 수행하는 것과 같으므로 최대 \(\sqrt{N}\) 까지 노이즈를 억제합니다. \(N\) 은 획득(Acquisition)의 수입니다. 획득을 복제하는 것은 시간을 희생하면서 포인트 클라우드 품질을 극대화하는 훌륭한 방법입니다. 더 높은 정확도가 필요한 영역에 대해 노출된 획득을 복제하는 것을 추천드립니다.

주요 획득 복제

Be aware of your trade-offs

Exposure Variable

장점

단점

Exposure Time

  • 노이즈에 대한 영향이 가장 작습니다.

  • 획득 시간 증가

  • 잘못된 사용은 주변광(일반적으로 50Hz/60Hz)과 간섭을 일으켜 잔물결/파동의 형태로 포인트 클라우드 왜곡을 유발할 수 있습니다.

Aperture

  • 빠른 노출 조정이 가능합니다. (HDR에서 넓은 동적 범위를 얻기에 유리합니다.)

  • 가장 많은 exposure stops 단계를 가집니다.

  • 초점에 따른 DOF을 변경으로 노이즈 및 대비 왜곡이 증가할 수 있습니다.

  • 낮은 f-number으로 흐릿한 2D 이미지를 얻을 수 있습니다.

Projector Brightness

  • 더 강한 프로젝터 밝기, 더 높은 SNR을 얻는데 유리합니다.

  • 더 약한 프로젝터 밝기, 더 낮은 신호, 더 많은 노이즈를 얻기 쉽습니다.

  • 높은 듀티 사이클은 열 조절을 활성화할 수 있습니다.

Gain

  • 매우 빠른 노출 조정이 가능합니다. (HDR에서 넓은 동적 범위를 얻기에 유리합니다.)

  • 더 높은 Gain, 더 많은 노이즈 획득을 의미합니다.

  • 더 높은 값, 더 거친 2D 이미지를 얻을 수 있습니다.

참고

For Zivid cameras, changing Exposure Time is faster than changing Aperture.

Further reading

획득(Acquisition)의 노출이 올바르게 설정된 후에는 Adjusting Filters 에 설명에 따라 필터를 조정하는 것을 추천드립니다.