[2023-07-11] 4. 카메라 센서의 구조
카메라 센서의 구조
Camera
컴퓨터 비전에서 좋은 카메라는?
- 정확하게 물리적인 빛의 현상을 담을 수 있는 카메라(정확하게 빛의 밝기를 감지하는 카메라)가 좋은 카메라 라고 할 수 있음
- 단순히 빛의 밝기를 감지하는 센서로 사용하게 됨
Steps to Capture Light
- Light -> Color Filter -> Photodiode -> Voltage/Current -> Analogue-to-Digital Convertor
- Photodiode 센서를 통해서 빛을 받고 전압을 생성하고 생성한 전압으로 Analogue-to-Digital Convertor를 통해서 Digital 신호로 변화
- RGB Camera
- Bayer Pattern 형태의 빨간색, 초록색, 파랑색 광필터를 배치해서 RGB 이미지를 얻어낼 수 있음
- 보통 디지털 신호를 얻어내면 픽셀마다 10bit, 12bit, 16bit 등으로 데이터를 얻음 (8bit RGB 채널보다 섬세하게 빛의 밝기를 표현함)
- Raw 이미지는 이미지 센서가 받아들인 날 것의 빛의 데이터인데 이 데이터를 양자화를 거치면서 카메라 회사에서 지원하는 sRGB colorspace에 맵핑하면 우리가 알고 있는 컬러 이미지가 탄생함
- 실제보다 예쁜 이미지를 위해 후 보정까지 포함한 카메라 steps
-
Camera 내부에서 일어나는 Processing 작업(위 사진의 빨간색 원)
-
렌즈를 통해서 빛이 들어옴
- CCD/CMOS 센서가 빛을 받아서 디지털 신호로 변환함
- 사전에 설정한 ISO 게인 값을 곱해 밝기 값을 조정함
- Bayer Pattern에 맞춰서 Demoasicing 작업을 진행하여 모든 픽셀에 RGB 값이 생성되게 만듬
- 전체적인 신호 분석을 통해 이미지의 노이즈를 분석함
- 밝은 값은 밝게 만들어주고 어두운 값을 어둡게 만들어주는 작업(White-Balance)을 거치고 Color의 warms값이 조정됨
- 이렇게 조정된 값으로 sRGB Colorspace에 맵핑함
- 이미지를 저장하기 위해 압축 작업을 거치고 저장함
-
다양한 카메라 종류
- RGB Camera
- Monochrome Camera(흑백 카메라)
- Polarized Camera
- Infra-red / Multi- / Hyerspectral Camera
- Event Camera
- Light-field Camera
RGB Camera
-
어짜피 흑백 영상을 사용할 것인데 처음부터 흑백 카메라를 사용하면 되는 것 아닌가?
- Traditional Computer Vision을 할 것이면 컬러 카메라를 사용할 이유가 없음
- 대부분의 카메라(스마트폰, 블랙박스)들은 컬러 이미지들을 받게 설계 되어 있으므로 알고리즘을 컬러 카메라에 맞춰 사용했어야 했음
- RGB2GRAY를 무조건 사용했어야 했음
- 딥러닝 네트워크를 사용하게 될 경우 컬러 정보를 사용해서 물체를 구분하므로 자율주행에서는 컬러 카메라를 주로 사용함
-
RGB Camera 단점
- Bayer Pattern에 맞춰서 Demoasicing 작업에서 문제가 발생함
- Bayer Pattern은 픽셀마다 빨간색, 초록색, 파란색 필터 중 하나를 씌워주고 2개의 같은 컬러 픽셀들 사이에 있는 픽셀 값을 interpolation으로 풀어서 모든 픽셀의 값에 RGB 값들이 나타나게 만드는 방법
- interpolation 방법은 실제 센서 데이터를 받는 것이 아닌 주변 픽셀의 정보를 기반으로 빈 픽셀의 값을 추론하는 것(정확한 값을 받는 방법 x)
- 이 때문에 컬러 이미지는 실제 모든 픽셀의 데이터를 받는 것보다 흐려지게 됨(interpolation을 통해 블러링 효과가 나타나기 때문)
- Bayer Pattern을 풀기 위해서는 모든 픽셀들 마다 2번씩의 interpolation 계산이 들어가서 컬러 이미지를 취득하는데 계산 시간이 소요
- Bayer Pattern의 필터 때문에 모든 빛의 스펙트럼을 받을 수 있게 설계 되었음에도 불구하고 하나의 색을 제외한 다른 색의 빛을 받지 못하여 절대적인 광량이 줄어들어 영상의 밝기가 어두워짐
- Bayer Pattern에 맞춰서 Demoasicing 작업에서 문제가 발생함
Monochrome Camera(흑백 카메라)
- 컬러 카메라와 동일한 칩 센서를 갖고 있지만, RGB 컬러 패턴을 이용하는 Bayer Pattern이 없음
- Bayer Pattern이 없다는 이유로 이미지의 퀄리티가 좋아짐
- 전체적인 빛의 스펙트럼을 받을 수 있으므로 광량이 많아짐(아래 오른쪽 사진 참고)
- 신호처리 관점에서 광량이 많다는 것은 전자회로에서 기본적으로 갖고 있는 노이즈 값에 비해 빛의 신호량이 훨씬 많아지므로 신호 대비 노이즈 비율이 훨씬 좋아짐 -> 깔끔한 이미지(아래 왼쪽 사진 참고)
- Bayer Pattern이 없다는 이유로 이미지의 퀄리티가 좋아짐
Multi- / Hyperspectral Camera
- 기존 컬러 카메라는 RGB만 받을 수 있었다면 더 많은 color 채널을 받을 수 있음
- 채널이 4개 이상 ~ 대략 10개의 범주에 속하면 Multi Camera에 속함
- 채널이 100개, 200개 이상일 경우 Hyperspectral Camera라고 함
- VSLAM에서 주로 사용하는 카메라가 아니지만 이 센서의 기술을 사용해서 개발된 기술이 적외선 카메라임
- 교량에서 crack detection, 야간에 vslam, 화재현장에서 vslam에 사용하는 경우가 있음
Polarized Camera(편광 카메라)
- 픽셀들에 편광 필터를 얹으므로 빛 반사를 제거할 수 있는 특별한 카메라
- 공장 같은 환경에서 공장 설비의 금속들, 다양한 비닐 재질에서 반사되는 빛 때문에 시야가 가려져 VSLAM의 작동이 어려울 때 사용
- 현재까지 하드웨어와 소프트웨어로 편광 카메라를 사용하지 않고서 이런 빛 반사를 제거할 수 있는 방법은 없음
Event Camera
- 이벤트가 있을 때만 데이터를 수집함
- 기존의 카메라보다 훨씬 더 빠르게 작동할 수 있음(초고속 카메라와 비슷함)