튀빙겐 대학교의 Lecture: Computer Vision 2.4을 공부하며 정리한 자료입니다.
이번 lecture에서는 Image sensing pipeline을 구성하는 요소들에 대해 이야기한다.
Image Sensing Pipeline
- Image sensing pipeline은 세가지 스테이지로 나눌 수 있다.
- 카메라 렌즈/몸체에서 일어나는 physical light transport : 빛이 카메라 셔터 속도 동안 조리개를 통해 렌즈를 통해 들어오는 것을 말하는 듯
- Photon measurement와 conversion을 센서칩으로 함 : 아날로그 신호를 디지털 신호로 변환하는 등
- Image signal processing과 compression : raw 이미지에 대해 추가 처리 및 JPEG 이미지로 바꾸는 등
NeRF in the Dark라는 논문을 읽을 때 처음 알게된건데 우리가 폰으로 찍은 이미지에 보정을 하지 않아도 이미 원본(raw)이미지가 아니라는 것이었다. Image signal processing이 지났기 때문인데 computer vision lecture를 수강했었다면 알 수도 있었겠군..
Shutter
- Focal plane shutter는 보통 이미지 센서 혹은 필름 앞에 위치한다.
- 대부분의 디지털 카메라는 메커니컬 그리고 전자 셔터를 가지고 있다.
- 셔터 스피드(shutter speed)는 빛이 센서로 얼마나 들어오게할지 조절할 수 있다. 그걸 조절함으로서 이것은 over-/underexposed, blurred, noisy 되게 만들 수 있다.
Sensor
두 가지 유형의 디지털 이미지 센서가 존재한다. 과거에는 CCDs를 많이 사용하였지만 요즘 디지털 카메라들은 CMOS를 사용한다. 두 센서 모두 photon(광자)을 electron(전기)로 바꾸는 역할을 한다.
- CCDs : 광전자 변환 요소로 구성된 직렬 라인 구조를 가진 센서. 이미지를 캡처하기 위해 빛이 센서의 각 픽셀에 의해 광전자로 변환되고, 이 광전자는 셀 간 전하를 전달하여 전류를 증폭하고 샘플링한다. 고성능, 높은 화질, 높은 민감도 및 낮은 노이즈와 같은 장점이 있지만 비교적 높은 전력 소비와 높은 생산 비용 등의 단점이 있다.
- CMOS : 광전자 변환 요소와 앰프리파이어, ADC 등의 기능을 포함한 각 픽셀에 모두 통합되어 있는 센서. CMOS는 전력 소비가 낮고 생산 비용이 저렴하여 대량 생산이 가능하다. 그러나 고속 처리나 높은 화질, 민감도와 같은 면에서 CCD보다 성능이 떨어질 수 있다.
- [그림 3]을 보면 CCDs는 직렬 라인으로 이어져서 charge가 pixel to pixel로 움직이고 output node로 voltage가 변환되는 것을 볼 수 있고, CMOS는 각각 픽셀에서 charge to voltage를 바꿀 수 있다는 것이 보여진다.
Color Filter Arrays
- Color filter arrays는 디지털 이미지 센서에서 사용되는 필터 패턴이다. [그림 4]의 왼쪽 이미지의 Bayer RGB Pattern처럼 각 픽셀이 하나의 색상 정보만을 캡처하는 방식이고, 대개 Bayer 패턴이라는 2x2 픽셀 형태의 패턴을 따른다. 이 패턴은 빨강, 녹색 및 파랑 (RGB) 필터로 이루어져 있으며, 이러한 필터 패턴은 이미지의 색상 정보를 포착하기 위해 사용한다. 패턴을 보면 Green의 개수가 가장 많은데 녹색 필터가 이미지에서 가장 많이 사용되기 때문이다. 녹색 필터는 인간의 시각에서 가장 중요한 정보를 담고 있기 때문에, 녹색 정보가 다른 색상 정보보다 더 자주 사용된다.
- CFA를 사용하여 이미지를 캡처하면, [그림 4]의 왼쪽 이미지의 Interpolated Pixels처럼 interpolate해서 누락된 색상 정보를 복원한다. 이것을 demosaicing이라고 한다.
demosaicing도 NeRF in the Dark 발표 준비하다가 나왔는데...! 신기하다
- 각 픽셀이 빛 스펙트럼 L을 그 스펙트럼에 대한 분광감도(spectral senstivity) S에 따라 적분(integration)한다.
- [그림 5]에서 보이는 spectral response curve는 디지털 이미지 센서의 분광감도를 나타내는 곡선이다. 이 곡선은 센서가 감지할 수 있는 빛의 파장 대역을 나타내며, 각 파장에서 센서가 감지할 수 있는 빛의 강도를 나타낸다.
- 적분된 값은 각각의 픽셀에서 빛의 강도를 나타내는 숫자로 변환되어, 디지털 이미지로 처리되거나 저장된다. 따라서, 이미지의 화질과 색상은 각 픽셀의 분광감도와 적분된 빛의 강도에 따라 결정된다.
Color Spaces
다양한 color spaces가 개발되고 사용되고 있다. 우리가 잘 사용하는 RGB도 color spaces 중 하나다. 컬러 스페이스를 사용하면, 다양한 기기 간에 색상이 일관되게 표시되도록 보장할 수 있으며, 색상을 처리하는 애플리케이션 및 장비들 간의 호환성을 높일 수 있다.
Gamma Compression
- 인간의 시각 시스템이 어떻게 밝기를 인식하는지에 대한 연구에서 나온 개념. 우리 눈은 밝기 값이 낮은 부분에서 더 민감하게 작동한다.
- 그러므로 이미지의 밝기 값을 일정 비율로 증가시켰을 때, 우리 눈은 그 차이를 더 민감하게 인식하는데 이러한 인식 특성을 반영하기 위해, gamma compression은 이미지의 밝기 값을 일정 비율로 증가시키는 대신, 더 큰 비율로 증가시키는 방법으로 색상 정보를 표현한다.
Image Compression
- 이미지 압축(Image Compression)은 디지털 이미지를 저장, 전송 및 처리하기 위해 이미지 데이터의 용량을 줄이는 기술.
- 보통 $8 \times 8$사이즈의 패치로 이미지를 분할하고 DCT를 통해 주파수 영역으로 변환한다.
- 최근에는 deep network 기반으로 compression 하기도 한다.