[카메라·영상]

감마(gamma), 비닝(binning), 오프셋(offset), 트리거(trigger) 란 무엇인가?

Neo Park 2019. 8. 15. 08:04


출처 : https://www.edmundoptics.co.kr/resources/application-notes/imaging/basics-of-digital-camera-settings-for-improved-imaging-results/


아날로그 카메라에 비해 디지털 카메라는 구입한 소프트웨어를 이용해 사용자가 카메라 설정을 조절할 수 있어 융통성이 훨씬 뛰어납니다.

경우에 따라서는 dual in-line package (DIP) 스위치 또는 RS-232 connections과 같은 하드웨어를 통해 아날로그 카메라의 설정을 조절할 수 있습니다. 그럼에도 불구하고, 소프트웨어를 통해 설정을 수정하는 융통성은 화질, 속도 및 contrast를 크게 증가시킵니다. 이 점은 결함 포착 가능성을 결정하는 중요한 요소가 될 수 있습니다.

많은 디지털 카메라에는 디지털 신호 처리 및 카메라 기능을 위한 FPGA(field-programmable gate arrays)가 내장되어 있습니다. FPGA는 많은 디지털 카메라 기능 뒤의 연산 작업뿐 아니라 단순한 이미지 처리 및 모자이크 필터용 color interpolation과 같은 추가 기능까지도 수행합니다(스마트 카메라의 경우).

카메라 펌웨어는 FPGA 및 온보드 메모리를 제어합니다. 카메라의 펌웨어를 업데이트해 기능을 추가 및 개선할 수 있는 경우도 있습니다. 디지털 카메라의 온보드 메모리는 설정, 조회 테이블 저장, 고속 전송을 위한 버퍼링, 그리고 이더넷 스위치를 통한 멀티 카메라 네트워크 연결을 허용합니다.

가장 일반적인 디지털 카메라 설정 중 몇 가지로는 gain, gamma, area of interest, binning/subsampling, pixel clock, offset, 그리고 triggering이 있습니다. 이러한 기본 설정을 이해해 두면 다양한 용도에서 최상의 결과를 달성하는 데 도움이 될 것입니다.

GAIN

Gain은 카메라 센서의 신호 증폭을 제어하는 디지털 카메라 설정입니다. 이것은 관련 배경 소음을 포함해 모든 신호를 증폭한다는 점을 주목해야 합니다. 대부분의 카메라는 automatic gain, 또는 autogain 기능이 있는데 줄여서 AGC라고 부릅니다. 어떤 카메라에서는 이 기능을 사용자가 끄거나 수동으로 설정할 수 있습니다.

Gain은 ADC(analog-to-digital converter) 앞뒤에 있을 수 있습니다. 하지만 ADC 이후에 적용되는 gain은 진정한 의미의 gain이 아닌 digital gain이라는 점을 유념하는 것이 중요합니다. Digital gain은 조회 테이블을 사용해 다른 값에 디지털 값을 매핑하기 때문에 프로세스에서 일부 정보가 손실됩니다.

거의 언제나 신중한 조명이 바람직하긴 하지만 ADC 이전의 Gain은 low light 조건에서 카메라의 bit-depth를 최대한 활용하는 데 유용할 수 있습니다. Gain은 multi-tap sensor의 tap이 잘 매칭되도록 보장하는 데도 사용할 수 있습니다. Sensor tap에 대한 자세한 설명을 보려면 Imaging Electronics 101: 개선된 이미징 시스템 성능을 위한 카메라 해상도를 참조하십시오. 일반적으로, gain은 exposure 설정을 최적화한 뒤, 그리고 exposure time이 주어진 frame rate을 위한 최대값으로 설정된 뒤에만 사용해야 합니다. Gain이 이미지 안에서 만들 수 있는 개선 효과를 시각적으로 보려면 그림 1a, 1b, 2a, 그리고 2b를 비교하십시오.


그림 1a: Gain이 없고(AGC = 0), Gamma = 1, 8MHz Pixel Clock, 그리고 0.2ms Exposure로 촬영한 실제 이미지

그림 1b: AGC = 0, Gamma = 1, 8Hz Pixel Clock, 그리고 0.2ms Exposure로 근접 촬영한 이미지

 


그림 2a: 높은 Gain(AGC = 100), Gamma = 1, 8MHz Pixel Clock, 그리고 3.4ms Exposure로 촬영한 실제 이미지

그림 2b: AGC = 100, Gamma = 1, 8MHz Pixel Clock, 그리고 3.4ms Exposure로 근접 촬영한 이미지

 

GAMMA

Gamma는 이미지에 재현된 그레이스케일을 제어하는 디지털 카메라 설정입니다. 이미지 gamma가 개체일 경우(그림 3a - 3b) 이는 camera sensor가 object grayscale(linear response)을 정밀하게 재현함을 나타냅니다. Gamma 설정이 개체보다 훨씬 클 경우 이미지가 흑백 윤곽으로 표시됩니다(그림 4a – 4b). 그림 4b에서 그림 3b에 비해 감소된 contrast를 주목하십시오. Gamma는 다양한 픽셀 범위의 한 면(검정또는 백색)을 늘릴 수 있는 능력으로 간주할 수 있습니다. 이 컨트롤은 signal-to-noise ratio (SNR)를 높이기 위해 신호 처리에 사용되곤 합니다.


그림 3a: Gamma가 개체와 동일(Gamma = 1), 10MHz Pixel Clock, 그리고 5ms Exposure로 촬영한 실제 이미지

그림 3b: Gamma = 1, 10MHz Pixel Clock, 그리고 5ms Exposure로 근접 촬영한 이미지

 


그림 4a: 개체보다 큰 Gamma(Gamma = 2), 10MHz Pixel Clock, 그리고 5ms Exposure로 촬영한 실제 이미지

그림 4b: Gamma = 2, 10MH Pixel Clock, 5ms Exposure로 근접 촬영한 이미지

 

AOI(Area of Interest)

AOI(Area of Interest)는 소프트웨어 또는 온보드 모듈을 통해 필드별로 카메라 센서 어레이 일부를 읽을 수 있게 해 주는 디지털 카메라 설정입니다. 이 설정은 전송 데이터 양을 줄여 가능한 frame rate를 높일 수 있도록 field of view (FOV) 또는 해상도를 최소한의 필수 수준으로 줄일 때 유용합니다. 전체 필드의 서브셋에 대해 Nyquist frequency 또는 spatial sampling frequency를 기준으로 최대 해상도를 유지할 수 있습니다. 예를 들어, 494 x 494의 square field에는 특정 프레임에 유용한 모든 정보가 포함될 수 있으며 대역폭을 낭비하지 않기 위해 사용할 수 있습니다. Nyquist frequency에 대한 자세한 내용을 보려면 Imaging Electronics 101: Machine Vision 용도에 적합한 카메라 종류 및 인터페이스를 참조하십시오.

BINNING/SUBSAMPLING

Binning 또는 subsampling을 사용하면 전체 FOV가 바람직하지만 카메라 최대 해상도는 필요하지 않습니다. 이 사례에서 인접 픽셀의 gray value를 모두 평균화해 더 큰 effective pixels을 형성하거나 다른 모든 픽셀만 읽을 수 있습니다. Binning 또는 subsampling은 전송 데이터 양을 줄여 속도를 높입니다.

Binning은 CCD 센서별로 적용되며 인접 픽셀의 전하가 물리적으로 결합되어 effective exposure 및 sensitivity를 높입니다. Subsampling은 일반적으로 binning이 불가능한 경우에 CMOS 센서에 적용됩니다. Subsampling은 exposure 또는 sensitivity를 증가시키지 않습니다. 원래의 exposure가 필요하지 않고 저해상도 및 높은 전송 속도가 바람직할 때 binning 대신 Subsampling을 CCD 센서에 사용할 수도 있습니다. Sensor에 대한 자세한 내용을 보려면 Imaging Electronics 101: Machine Vision 용도에 적합한 카메라 센서 이해를 참조하십시오.


그림 5: Camera Pixel Binning 또는 Subsampling 도해

PIXEL CLOCK

CCD 카메라 센서에서 pixel clock은 charge packets을 shift registers를 통해 read out amplifiers쪽으로 옮기는 데 사용되는 complementary signals의 속도를 설명합니다. 이것에 의해 전체 센서를 읽는 데 걸리는 시간이 결정되지만 패킷이 너무 빨리 전송될 때 발생하는 noise 및 spillover 이슈에 의해 제한되기도 합니다. 예를 들어, 동일한 센서를 사용하는 두 대의 카메라가 서로 다른 pixel clock rates를 사용해 saturation capacity(linear range) 및 frame rate 성능이 달라질 수 있습니다. 이 설정은 센서와 FPGA 기능별로 최적값으로 설정되기 때문에 사용자가 쉽게 조절할 수 없습니다. Pixel clock을 높여 센서를 오버클럭하면 과열 문제도 생길 수 있습니다.

OFFSET

Offset이란 비디오 또는 이미지 신호의 DC 컴포넌트를 의미하며 이미지의 black level을 효과적으로 설정합니다. black level은 pixel value of zero에 해당되는 pixel level(electrons 또는 volts 단위)입니다. 카메라 bit-depth를 최대한 사용해 signal-to-noise를 효과적으로 높일 수 있도록 보장하기 위해 histogram과 사용되곤 합니다. 데이터 개선 효과는 없지만 non-black pixels을 0으로 만들어 이미지를 밝게 합니다. Black level을 높임으로써 offset은 이미지를 밝게 하고 blob detection을 위한 임계값을 효과적으로 만드는 단순한 machine vision 이미지 처리 기술로 사용됩니다(특정 값 미만의 모든 픽셀을 0으로 설정해 밝게 하는 기능).

TRIGGERING

용도에 따라 관심이 있는 이벤트가 발생하는 경우에만 노출 또는 활성화하는 데 유용할 수 있습니다. 이럴 경우 사용자는 디지털 카메라의 trigger 설정을 사용해 카메라가 명령이 주어질 때만 이미지를 촬영하도록 만들 수 있습니다. 이 기능은 strobed light source와 이미지 캡처를 동기화하거나, 피사체가 특정 지점을 통과하거나 proximity switch를 작동시킬 때만 이미지를 촬영하도록 하는 데 사용할 수 있으며 후자의 경우 나중에 검토하기 위해 이미지를 저장하는 경우에 유용합니다. Trigger는 또한 사용자가 일정한 frame rate와 같이 비 주기적인 방식으로 일련의 이미지를 촬영할 때에도 사용할 수 있습니다.

Triggering은 하드웨어 또는 소프트웨어를 통해 수행할 수 있습니다. 하드웨어 triggers는 소프트웨어 trigger 고유의 latency(수 milliseconds)로는 부적합한 초정밀 용도에 이상적입니다. 소프트웨어 triggers는 일반적인 통신 경로를 통해 전송된 컴퓨터 명령의 형태를 갖기 때문에 구현하기가 더 쉽습니다. 소프트웨어 trigger의 예로는 image viewing 소프트웨어에서의 snap 기능을 들 수 있습니다.

다양한 추가 디지털 카메라 설정이 존재하지만 gain, gamma, AOI(area of interest), binning/subsampling, pixel clock, offset, 그리고 trigger 등의 기본 설정을 이해하는 것이 중요합니다. 이 기능들은 앞서 언급한 기본 설정에 대한 지식이 필요한 고급 이미지 처리 기법의 토대가 됩니다. Imaging electronics에 대한 보다 많은 정보를 보려면 카메라 센서카메라 해상도, 그리고 카메라 종류에 관련된 추가 imaging electronics 101 시리즈를 참조하십시오.