Optimizing Color Image
Introduction
이 튜토리얼은 Zivid 카메라에서 캡처한 컬러 이미지 품질을 최적화하는 데 도움이 되는 것을 목표로 합니다. 먼저 좋은 색상 정보를 얻기 위한 필수 도구인 획득(Acquisition) 및 색상 설정 조정에 대해 설명합니다. 그런 다음 가장 일반적인 문제(Blooming/over-saturation 및 HDR의 색상 불일치)를 해결하고 이를 극복하는 방법에 대한 권장 사항을 제공합니다.
팁
Zivid 3 및 Zivid 2+ 카메라는 Zivid 2 카메라보다 해상도가 높고 컬러 이미지 알고리즘이 개선되었습니다. 결과적으로 Zivid 3 및 Zivid 2+ 카메라는 더 높은 품질의 2D 컬러 이미지를 생성합니다.
Adjusting Acquisition Settings
컬러 이미지의 품질은 Acquisition Settings (2D) 에 따라 달라집니다. 관심 픽셀 값이 노이즈 플로어에 가깝지 않도록 획득 설정을 조정해야 합니다. 특히 관심 영역에서 이미지의 픽셀 포화를 피하는 것도 중요합니다. 좋은 경험 법칙은 관심 픽셀 값이 포화되지 않으면서 최대한 높게 유지하는 것입니다. 즉, RGB 값을 255에 가깝지만 255는 아닙니다. 이렇게 하면 일부 픽셀이 포화될 수 있지만 관심 픽셀은 여전히 잘 노출됩니다. 이 경우 이미지 처리 알고리즘이 일부 포화를 처리할 수 있는지 확인하세요. 광도가 픽셀 값으로 변환되는 방식을 알아보려면 Detectable Light Intensity in a Camera Capture 을 참조하세요.
컬러 이미지의 획득 설정을 최적화하려면 아래와 같이 Zivid Studio의 2D 뷰와 히스토그램을 사용할 수 있습니다. 관심 영역(이미지의 빨간색 십자가) 위에 마우스 커서를 올리면 왼쪽 하단에 픽셀 RGB 값이 표시됩니다.
이 특정 픽셀의 RGB 값은 히스토그램 보기에서 유사한 RGB 값을 갖는 다른 픽셀들과 함께 비닝됩니다. 위 이미지에서 볼 수 있듯이, 픽셀 (783, 526)은 다음과 같은 특징을 갖습니다.
빨간색 값 224
녹색 값 238
파란색 값 215
이 RGB 값은 해당 픽셀이 히스토그램의 오른쪽 상단 절반에 위치하므로 양호한 픽셀로 간주됨을 나타냅니다. 그러나 히스토그램을 보면 이미지에 채도가 높은 픽셀(RGB 값 255)이 많은 것을 알 수 있는데, 이는 일부 픽셀이 과다 노출되었음을 나타냅니다.
조심
히스토그램을 획득 설정 조정 도구로 사용하려면 Color Mode 를 UseFirstAcquisition 또는 Automatic 으로 설정하여 한 번에 하나의 획득을 평가해야 합니다. 또한 Gamma 및 Color Balance 게인을 1.0으로 설정해야 합니다.
기본 Color Mode 가 Automatic 으로 설정되어 있기 때문입니다. 이는 서로 다른 촬영 설정을 사용하는 다중 촬영 HDR 촬영의 ToneMapping 과 동일합니다. 톤 매핑은 픽셀 값을 수정합니다. Gamma 및 Color Balance 설정도 픽셀 값을 수정합니다.
이미지를 잘 노출시키기 위해 획득 설정을 조정하는 동안, 다양한 획득 설정이 컬러 이미지의 품질에 어떤 영향을 미칠 수 있는지 고려하세요.
Exposure Time and Projector Brightness
노출 시간과 프로젝터 밝기는 컬러 이미지 품질에 영향을 미치지 않습니다. 최대 프로젝터 밝기 값을 사용하는 것이 좋습니다. 최대 밝기 값을 사용하면 노출 시간이 단축되어 2D 캡처 속도가 빨라집니다. 이는 위에서 설명한 대로 이미지가 포화 상태가 아니라는 것을 전제로 합니다.
Aperture
참고
Zivid 3에는 조절 가능한 조리개가 없습니다. 조리개 조정에 대한 다음 정보는 Zivid 2 및 Zivid 2+ 카메라에만 적용됩니다.
정확한 조리개 값은 흐릿한 컬러 이미지를 방지하는 데 중요합니다. 아래 그림을 참조하세요. 일반적으로 작동 거리가 최적 범위 내에 있는 경우 최대 4.0까지의 낮은 f-number 값을 사용하는 것이 좋습니다. 카메라가 최적 범위를 벗어나는 경우 5.6이나 8.0과 같은 더 높은 f-number 값을 사용해 보세요. 더 자세한 설명과 지침은 Depth of Focus 및 Depth of Focus Calculator 를 참조하세요.
참고
위의 이미지는 최적의 이미징 거리 밖에서 캡처되어 큰 조리개 값에 대한 아웃포커스 효과를 강조합니다. 이미지는 최적의 범위에서 캡처될 때 덜 흐릿합니다.
Gain
높은 Gain 값은 이미지 노이즈(세분성) 수준을 증가시켜 2D 이미지 품질을 저하시키므로 낮은 Gain 값(예: 1-2)을 사용하는 것이 좋습니다. 아래 그림을 참조하십시오.
Adjusting Color Settings
컬러 이미지 품질은 획득 설정 외에도 감마, 색상 균형, 색상 모드 설정에 따라 달라집니다. 이 섹션에서는 컬러 이미지에서 원하는 색상 품질을 얻기 위해 이러한 설정을 최적화하는 방법을 설명합니다.
Gamma
카메라는 사람의 눈과 다르게 휘도를 인코딩합니다. 인간의 눈은 스펙트럼의 어두운 쪽을 강조하지만 카메라는 선형 스케일로 휘도를 인코딩합니다. 이 효과를 보상하기 위해 감마 보정을 적용하여 이미지를 어둡게 또는 밝게 하여 사람의 인식에 더 가깝게 만듭니다.
감마 값이 낮을수록 장면이 더 밝게 나타납니다. 감마 값을 높이면 장면이 더 어둡게 나타납니다.
머신 비전 알고리즘의 이미지 품질을 최적화하기 위해 감마 보정이 필요한지 여부는 의문입니다. 그럼에도 불구하고 사람이 초점 및 입자/노이즈 수준과 같은 컬러 이미지 품질의 특정 측면을 평가하는 데 도움이 됩니다.
구현 예를 보려면 다음을 확인하십시오. Gamma Correction. 이 튜토리얼은 구성 가능한 감마 보정으로 2D 이미지를 캡처하는 방법을 보여줍니다.
Color Balance
Zivid 3 및 Zivid 2+ MR130, MR60, LR110 카메라에는 색상 균형 기능이 내장되어 있어 강렬하거나 백색이 아닌 주변광이 컬러 이미지의 RGB 값에 미치는 영향이 거의 없습니다. 따라서 이러한 카메라 모델에서는 별도의 색상 균형 알고리즘을 실행할 필요가 없습니다.
아래 이미지는 Zivid 2+ MR130으로 다양한 주변광 조건에서 촬영한 2D 컬러 이미지의 세부 정보를 보여줍니다.
300 LUX |
1000 LUX |
2000 LUX |
|
3200K |
|
||
5000K |
|||
6500K |
|||
Zivid 3 또는 Zivid 2+ MR130, MR60 또는 LR110 카메라를 사용하는 경우 이 섹션의 나머지 부분은 건너뛸 수 있습니다. 이 섹션의 나머지 부분은 다른 Zivid 카메라 모델에만 적용됩니다.
주변광의 color temperature 컬러 이미지의 표현에 영향을 미칩니다. 프로젝터 사용 시와 미사용 시 두 가지 기본 색상 균형 설정이 있습니다. 프로젝터 밝기를 0으로 설정하거나 끄면 색상 균형이 산업 환경에서 일반적으로 사용되는 4500K로 조정됩니다. 프로젝터 밝기 값이 0보다 크면 색상 균형이 프로젝터 빛의 색온도에 맞춰 조정됩니다. 디지털 게인을 빨간색, 녹색, 파란색 채널로 조정하여 컬러 이미지를 자연스럽게 표현할 수 있습니다. 아래에서 색상 균형 조정 전과 후의 이미지를 확인할 수 있습니다.
참고
Zivid 카메라의 경우 색상 균형가 1.0에서 8.0 사이입니다.
색상 균형을 수행하는 것은 강하고 다양한 주변광 조건에서 유용할 수 있습니다. 구현 예시는 Adjusting Color Balance 튜토리얼을 참조하세요. 이 튜토리얼에서는 흰색 표면(종이, 벽 등)을 반복적으로 촬영하여 2D 이미지의 색상 균형을 맞추는 방법을 보여줍니다.
Color Mode
색상 모드 설정은 색상 이미지가 계산되는 방식을 제어합니다. 색상 모드 설정은 다음과 같습니다.
ToneMappingAutomatic
ToneMapping 모든 획득 데이터를 사용하여 병합되고 정규화된 하나의 컬러 이미지를 생성합니다. 다중 획득 HDR 촬영의 경우, 촬영된 이미지의 동적 범위는 일반적으로 8비트 컬러 이미지 범위보다 넓습니다. 톤 매핑은 배율을 적용하여 HDR 색상 데이터를 8비트 색상 출력 범위에 매핑합니다. 단일 획득 촬영에도 톤 매핑을 사용하여 촬영된 컬러 이미지를 전체 8비트 출력으로 정규화할 수 있습니다. ToneMapping 사용할 때 장면에서 객체를 이동, 추가 또는 제거하는 경우 반복 촬영 시 색상 값이 일관되지 않을 수 있습니다.
Automatic이 기본 옵션입니다.Automatic은 획득 설정이 다른 다중 획득 HDR 캡처에 대한ToneMapping과 동일합니다.
단일 획득 캡처의 경우 ToneMapping을 사용하여 어두운 이미지를 밝게 할 수 있습니다.
다중 획득의 경우 HDR 톤 매핑을 사용하면 동적 범위가 넓은 색상을 제한적인 동적 출력 범위에 매핑할 수 있습니다.
감마, 색상 균형 및 색상 모드를 포함하여 Zivid SDK로 processing settings 을 설정하는 방법을 확인하십시오.
std::cout << "Configuring settings for capture:" << std::endl;
Zivid::Settings2D settings2D{
Zivid::Settings2D::Sampling::Color::rgb,
Zivid::Settings2D::Sampling::Pixel::all,
Zivid::Settings2D::Sampling::Interval::Enabled::no,
Zivid::Settings2D::Sampling::Interval::Duration{ microseconds{ 10000 } },
Zivid::Settings2D::Processing::Color::Balance::Blue{ 1.0 },
Zivid::Settings2D::Processing::Color::Balance::Green{ 1.0 },
Zivid::Settings2D::Processing::Color::Balance::Red{ 1.0 },
Zivid::Settings2D::Processing::Color::Gamma{ 1.0 },
Zivid::Settings2D::Processing::Color::Experimental::Mode::automatic,
};
Console.WriteLine("Configuring settings for capture:");
var settings2D = new Zivid.NET.Settings2D()
{
Sampling =
{
Color = Zivid.NET.Settings2D.SamplingGroup.ColorOption.Rgb,
Pixel = Zivid.NET.Settings2D.SamplingGroup.PixelOption.All,
Interval =
{
Enabled = false,
Duration = Duration.FromMicroseconds(10000),
},
},
Processing =
{
Color =
{
Balance =
{
Blue = 1.0,
Green = 1.0,
Red = 1.0,
},
Gamma = 1.0,
Experimental = { Mode = Zivid.NET.Settings2D.ProcessingGroup.ColorGroup.ExperimentalGroup.ModeOption.Automatic },
},
},
};
print("Configuring settings for capture:")
settings_2d = zivid.Settings2D()
settings_2d.sampling.color = zivid.Settings2D.Sampling.Color.rgb
settings_2d.sampling.pixel = zivid.Settings2D.Sampling.Pixel.all
settings_2d.sampling.interval.enabled = False
settings_2d.sampling.interval.duration = timedelta(microseconds=10000)
settings_2d.processing.color.balance.red = 1.0
settings_2d.processing.color.balance.blue = 1.0
settings_2d.processing.color.balance.green = 1.0
settings_2d.processing.color.gamma = 1.0
settings_2d.processing.color.experimental.mode = zivid.Settings2D.Processing.Color.Experimental.Mode.automatic
Troubleshooting
컬러 이미지에 문제가 발생하면 Vision 문제 해결 문서를 확인하세요.
Further reading
Version History
SDK |
Changes |
|---|---|
2.17.0 |
Zivid 3 XL250에 대한 지원이 추가되었습니다. |
