콘텐츠로 바로 가기
STAGING SERVER
DEVELOPMENT SERVER

이미지 Quality 최적화#

이 항목에서는 스테레오 및 심도 이미지에서 최고의 Quality를 얻기 위해 조정할 수 있는 파라미터에 대해 설명합니다.

Camera parameters(예: frame rate, Exposure Time, gain)는 이미지 캡처 시기와 방법을 결정합니다. 그뿐만 아니라 이미지 Quality에도 큰 영향을 미칩니다. 심도 이미지의 Quality을 더욱 향상하기 위해 조정할 수 있는 여러 stereo matching parameters가 있습니다.

두 유형의 파라미터 모두 pylon 3D Viewer를 사용하여 구성할 수 있습니다. 이를 통해 각 image windows에서 설정 변경 사항의 효과를 즉시 확인할 수 있습니다.

Camera Parameters#

변경 사항을 확인하려면 Intensity image window를 사용하십시오.

프레임 레이트#

최대 달성 가능 frame rate(초당 프레임 수 = fps)는 카메라 구성과 호스트 시스템의 하드웨어 모두에 따라 다릅니다. frame rate에 영향을 미치는 주요 요인은 다음과 같습니다.

  • Illumination Control: 프로젝터의 듀티 사이클은 최대 2.5%로 제한됩니다. 최대 5ms의 Exposure Time와 함께 이미지 캡처 속도가 제한됩니다.
  • Exposure Time: Exposure Time은 이미지 취득 간격에 직접적인 영향을 미칩니다. Exposure Time이 짧을수록 더 높은 frame rate가 가능하며, Exposure Time이 길어지면 최대 가능한 frame rate가 낮아집니다.
  • 심도 계산: 심도 이미지 연산에 필요한 시간은 다음을 통해 설정된 해상도에 따라 다릅니다. BslDepthResolution 파라미터 및 호스트 시스템에서 사용 가능한 처리 하드웨어(CPU 또는 GPU). 해상도가 높고 하드웨어 성능이 낮을수록 처리 시간이 늘어나므로 달성 가능한 frame rate가 낮아집니다.

frame rate는 GigE Vision 인터페이스를 통해 전송되는 이미지의 수를 결정합니다. frame rate를 줄이면 Stereo ace 카메라와 수신 호스트 컴퓨터 모두의 네트워크 부하와 컴퓨팅 부하를 크게 줄일 수 있습니다. 많은 애플리케이션에서 애플리케이션의 요구 사항을 충족하면서 시스템의 성능에 맞게 frame rate를 줄이거나 줄여야 합니다.

Exposure Time 및 Gain#

Exposure Time은 이미지 취득 중 이미지 센서가 빛에 노출되는 시간입니다. 캡처된 이미지의 밝기에 영향을 미칩니다. Exposure Time은 일반적으로 수 밀리초 정도입니다. 장면에 빛이 부족한 경우 더 긴 Exposure Time이 필요합니다. 그러나 Exposure Time이 길어지면 장면의 개체나 Stereo ace 카메라 자체가 움직일 때 모션 블러가 발생할 수 있습니다.

이미지 밝기에 영향을 미치는 두 번째 파라미터는 gain입니다. gain은 이미지를 더 밝게 보이게 하는 증폭 계수입니다. 하지만 동시에 이미지 노이즈도 증가합니다.

Exposure Time과 gain을 구성하여 장면의 중앙에 있는 개체 등 애플리케이션과 관련된 장면의 부분에 집중할 수 있습니다. 관심 영역 내의 과다 노출은 피해야 하지만 애플리케이션과 관련 없는 장면 부분에서는 허용될 수 있습니다.

일반적으로 과다 노출된 영역의 정보는 픽셀이 너무 빨리 포화되어 손실되기 때문에 과다 노출은 이미지 처리에 과소 노출보다 더 나쁩니다. 반면, 과소 노출된 영역에는 이미지 처리에 충분한 정보가 포함되어 있는 경우가 많습니다. 따라서 이미지가 너무 밝은 것보다 어두워지도록 파라미터를 구성하는 것이 좋습니다.

gain은 조명이 어두운 조건에서나 모션 블러를 방지하기 위해 Exposure Time을 줄이려는 경우에만 높여야 합니다. 일반 원칙으로 gain 값은 항상 가능한 가장 낮아야 합니다.

Stereo Matching Parameters#

변경 사항을 확인하려면 Point Cloud, Depth Map, Confidence image windows를 사용하십시오.

작업 범위#

먼저 애플리케이션의 작동 범위를 고려해야 합니다. 다음 설정으로 BslDepthMaxDepth 파라미터를 특정 값으로 설정하면 더 멀리 있는 심도 이미지의 모든 픽셀이 무효화됩니다. 이는 애플리케이션과 관련이 없는 장면의 일부를 제외하는 쉬운 방법입니다.

마찬가지로 다음을 늘릴 수 있습니다. BslDepthMinDepth 지정된 거리보다 Stereo ace 카메라에 더 가까운 타겟 물체가 없다고 확실한 경우 매개변수입니다. 최소 깊이를 늘리면 깊이 이미지 연산 시간이 단축되어 프레임 속도가 향상되는 이점이 있습니다.

Latency#

일부 애플리케이션에서는 깊이 값의 품질보다 깊이 이미지 연산 지연 시간이 더 중요할 수 있습니다. 이 경우 다음을 줄일 수 있습니다. BslDepthResolution 파라미터 변경: Full 에서 High 또는 Low. 깊이 해상도가 낮아지면 스테레오 매칭 전에 이미지 크기가 줄어듭니다. 이를 통해 처리 시간이 단축되고 달성 가능한 프레임 속도가 크게 향상됩니다. 그러나 깊이 이미지 연산의 프레임 속도는 항상 카메라의 프레임 속도 설정에 의해 제한됩니다.

호스트 측 전송 및 디스플레이 부하가 병목 현상인 경우 다음을 줄일 수도 있습니다. BslIntensityResolution.

앞서 설명한 바와 같이 지연 시간을 줄이고 달성 가능한 프레임 속도를 높이는 데도 도움이 되므로 가능하면 최소 깊이를 늘려야 합니다.

Density#

밀도는 이미지에 유효하지 않은 픽셀이 얼마나 되는지 나타내는 척도입니다. 밀도가 높다는 것은 유효하지 않은 픽셀이 적다는 의미입니다. 깊이 이미지에는 pylon 3D Viewer에 표시되는 깊이 맵에서 검은색으로 나타나는 유효하지 않은 값이 포함되는 경우가 많습니다. 이는 지정된 working range을 벗어난 장면의 영역뿐만 아니라 물체의 왼쪽 영역에서도 발생합니다. 이는 왼쪽 카메라이기 때문입니다. reference 카메라이며 배경의 일부가 오른쪽 카메라에 보이지 않습니다. 이를 오클루전(occlusion)이라고 하며 일반적인 현상입니다.

일반적으로 유효하지 않은 픽셀은 바람직하지 않습니다. 이는 스테레오 매칭 방법이 깊이를 연산하지 못하기 때문에 발생합니다. 여기에는 여러 가지 이유가 있습니다. 깊이 이미지의 밀도를 높이기 위해 다섯 가지의 상호 보완적인 전략을 사용할 수 있습니다.

  • 이미지 노출 조정: 과노출된 영역에는 매칭에 필요한 정보가 충분하지 않으므로 유효하지 않은 것으로 나타납니다. 또한 이미지 노이즈가 장면의 텍스처보다 강한 경우 영역이 유효하지 않게 나타날 수 있습니다. 이 두 문제는 Exposure Time and Gain 섹션에서 설명한 대로 Exposure Time 및 이득 설정을 조정하여 해결할 수 있습니다.
  • Static Scene 활용: 이미지 캡처 중에 장면과 Stereo ace 카메라가 움직이지 않는 경우 Basler에서는 static 모드 사용을 권장합니다(BslDepthStaticScene 매개변수). 이 매개변수가 활성화되면 Stereo ace 카메라는 내부적으로 연속된 이미지를 수집하고 이 이미지들을 평균화하여 노이즈를 줄입니다. 이를 통해 텍스처가 약한 물체에 대해서도 스테레오 매칭이 가능합니다. 이는 종종 훨씬 더 촘촘한 깊이 이미지로 이어집니다.
  • 프로젝터를 통한 장면 텍스처 개선: 실내 환경에서 유효하지 않은 영역이 발생하는 가장 일반적인 이유 중 하나는 텍스처가 없거나 매우 반복적인 텍스처가 존재하기 때문입니다. 일반적으로 벽과 탁자는 텍스처가 없는 단색입니다. 다른 구조물은 반복성이 높습니다. 두 경우 모두 성공적인 스테레오 매칭에 실제로 도움이 되지 않습니다. 이러한 텍스처가 과도하거나 부족한 물체와 장면의 부품이 애플리케이션에 중요한 경우, 이를 캡처하는 유일한 방법은 프로젝터를 사용하여 인위적으로 텍스처를 추가하는 것입니다.
  • Illumination Mode 선택: 장면에 프로젝션된 패턴 없이 강도 데이터를 검색하려면 다음을 사용하세요. AlternateActive Illumination Mode. 이 모드에서는 이미지마다 두 번의 노출이 수행됩니다. 하나는 깊이 계산을 위해 프로젝터를 활성화한 상태이고 다른 하나는 강도 데이터를 캡처하기 위한 것입니다. 다음 사항에 유의하세요. AlternateActive 지연 시간이 늘어납니다. disparity 데이터만 필요한 경우 다음을 설정하여 지연 시간을 줄일 수 있습니다. BslIlluminationMode 에서 AlwaysActive 대신에 AlternateActive. 이렇게 하면 노출 중에는 항상 프로젝터가 활성화됩니다.
  • 조명 구성: 조정합니다. illumination 매개변수 BslIlluminationStrength 및 BslIlluminationMode 를 사용하여 장면에 맞게 프로젝션된 패턴을 최적화하세요. Illumination Strength를 높이면 특히 주변광이 강한 장면에서 프로젝션된 패턴의 가시성을 향상시킬 수 있습니다. 동시에 듀티 사이클과 최대 활성화 시간을 초과하지 않도록 해야 합니다. 최상의 결과를 얻으려면 적절한 Illumination Mode를 선택하여 프로젝터를 카메라 노출과 동기화하세요. 다음에서 AlternateActive Illumination Mode에서 주변광이 거의 없고 프로젝션된 패턴이 없는 이미지가 너무 어두운 경우, 더 나은 이미지 밝기를 달성하기 위해 Illumination Strength를 낮추고 Exposure Time을 늘려 보세요.

Depth Artifacts#

다음과 같은 깊이 아티팩트가 일반적입니다.

  • 아웃라이어(Outliers): 일반적으로 작업 영역 어디에나 나타날 수 있는 작은 깊이 값 패치입니다.
  • 기하학적 오차: 실제 깊이에 가깝지만 잘못된 것으로 판단되는 깊이 값입니다.

필터링 오차는 잘못된 깊이 값을 무효로 설정함을 의미합니다. BslDepthFill 파라미터를 사용하여 주로 오차 필터링으로 인해 발생하는 소규모 영역을 보간할 수 있습니다. Fill 값이 높을수록 보간할 수 있는 영역의 수가 증가합니다. 보간되는 영역의 크기는 오차 필터링의 세분화 설정에 직접적으로 의존합니다.

아웃라이어 는 다음 파라미터를 사용하여 필터링할 수 있습니다. BslDepthSeg 이 파라미터는 제거할 연결된 픽셀의 최대 개수를 지정합니다. 이보다 적은 픽셀을 가진 모든 패치는 무효로 설정됩니다. 크기는 또한 BslDepthFill 파라미터에도 사용됩니다. 이 필터로 인해 발생한 홀은 일반적으로 보간됩니다.

아웃라이어 발생 가능성을 줄이는 또 다른 방법은 최소 신뢰도(minimum confidence)를 높이는 것입니다. 신뢰도는 픽셀이 아웃라이어가 아닐 확률이기 때문입니다.

잠재적으로 높은 기하학적 오차 가 있는 깊이 값은 다음을 사용하여 필터링할 수 있습니다. BslDepthMaxDepthErr 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다.

일부 응용 분야에서는 깊이 이미지의 표면이 매끄러워야 합니다. 이는 Smoothing 파라미터를 활성화하여 달성할 수 있습니다.

카메라 이미지에 깊이 이미지로 재구성되지 않는 하이라이트(경면 반사)가 포함된 경우, 이러한 하이라이트가 카메라의 프로젝터로 인해 발생했는지 확인할 수 있습니다(예: 프로젝터를 간단히 꺼서 확인). 이러한 경우 Basler는 Double-Shot 모드 사용을 권장합니다.