비전 센서
빛을 모으는 물리, 빛을 숫자로 바꾸는 파이프라인, 빛 대신 시간을 재는 센서. 카메라, 깊이 카메라, LiDAR가 각각 무엇을 보고 무엇을 못 보는지를 물리에서부터 따라간다. 이 강의의 나머지 전부가 이 센서들의 출력 위에서 돈다.
여덟 시간 동안 열어 둔 창
조제프 니세포르 니엡스(Nicéphore Niépce)는 작업실 창가에 역청을 바른 백랍판을 놓고 카메라 옵스큐라의 구멍을 열었다. 빛이 닿은 곳의 역청이 굳었고, 나머지를 씻어 내자 창밖의 지붕과 나무가 남았다. 노출은 적어도 여덟 시간, 어쩌면 며칠이었다. 사진의 첫 장은 그렇게 빛을 오래 모아서 만들어졌다.
200년이 지난 지금, 차량용 카메라는 1초에 30번, 한 번에 1,000분의 1초씩 빛을 모은다. 노출 시간은 일곱 자릿수가 줄었지만 결정하는 양은 그대로다. 구멍의 크기, 열어 두는 시간, 그리고 받아들이는 면의 민감도. 이 세 가지가 밝기, 흐림, 잡음을 한꺼번에 정한다.
1주차에서 본 2018년 템피 사고의 블랙박스 영상은 보행자가 나타나기 직전까지 검게 보였다. 같은 순간 LiDAR는 5.6초 전에 물체를 잡았다. 센서마다 보는 조건이 다르다는 것은 사고 보고서의 첫 줄이자 이 강의의 첫 줄이다.
읽는 내내 붙들고 갈 구분이 있다. 측정과 추정이다. LiDAR와 ToF 카메라는 거리를 측정하고, 스테레오 카메라는 두 영상의 차이로 거리를 추정하며, 단안 카메라는 학습된 사전 지식으로 거리를 추정한다. 세 가지가 내놓는 숫자는 같은 단위(m)지만 틀리는 방식이 다르다. 측정은 잡음이 크고 추정은 편향이 크다. 센서를 고른다는 것은 어느 쪽 오차를 감수할지 고르는 일이다.
두 번째 구분은 물리 한계와 설계 한계다. 회절, 광자 잡음, 빛의 속도는 돈으로 바꿀 수 없다. 화소 수, 렌즈 품질, 프레임률은 바꿀 수 있다. 어떤 문제가 물리 한계에서 오는지 알면 더 비싼 센서를 사도 해결되지 않는 문제를 미리 안다. 이 자료의 2장이 그 예다.
이 자료를 읽고 나면 답할 수 있어야 하는 질문
① 화소를 1,000만에서 2,000만으로 늘렸는데 사진이 더 선명해지지 않는 경우는 언제인가. ② 카메라 RAW 파일의 값이 128이면 JPEG의 128보다 밝은가 어두운가. ③ 시속 72 km로 달리는 차의 10 Hz LiDAR 한 프레임에서 앞 벽은 몇 m 어긋나 보이는가.
출처 Harry Ransom Center, "The First Photograph" (니엡스 원판 소장 기록). hrc.utexas.edu · NTSB HAR-19/03 (템피 사고, 1주차 참고)
다섯 가지 센서, 일곱 가지 잣대
핀홀과 노출 삼각형
카메라는 구멍이다. 구멍의 크기, 여는 시간, 받는 면의 민감도 세 가지가 밝기와 흐림과 잡음을 한꺼번에 정한다. 셋은 서로 맞바꾸는 관계다.
눈도 카메라도 구멍으로 시작한다
어두운 방의 작은 구멍으로 들어온 빛은 맞은편 벽에 바깥 풍경을 거꾸로 맺는다. 이 장치의 이름이 카메라 옵스큐라(camera obscura), 어두운 방이다. 사람 눈의 동공과 망막, 렌즈 없는 핀홀 카메라, 그리고 수학적 카메라 모델이 전부 같은 구조다.
핀홀 카메라에는 렌즈가 없다. 그런데도 상이 맺히는 이유는 구멍이 작아서 한 점에서 나온 빛 중 거의 한 방향의 빛만 통과하기 때문이다. 이 단순함이 핀홀 모델을 카메라 기하의 기준으로 만든다. 렌즈는 밝기를 얻기 위해 붙이는 장치이고, 렌즈가 만드는 모든 문제(수차, 왜곡, 비네팅, 심도)는 핀홀 모델에서 벗어난 만큼의 오차로 다룬다.
눈과 카메라의 비유는 유용하지만 한 곳에서 어긋난다. 눈은 망막 중심(중심와)에만 해상도가 집중되어 있고, 눈알을 움직여 장면을 훑는다. 카메라는 전체 화소가 균일하다. 그래서 사람은 8K 화면이 필요 없지만 카메라는 필요하다. 반대로 사람이 보는 "선명한 세상"은 뇌가 조립한 결과이고, 카메라 한 장은 조립 전의 원료다. 8장에서 이 차이가 왜 인식을 어렵게 하는지 다시 본다.
출처 Szeliski, Computer Vision: Algorithms and Applications, 2nd ed., 2022, 2.1절 (저자 공개 PDF). szeliski.org/Book
조리개, 셔터, 감도는 서로 빌려 쓴다
센서에 닿는 빛의 양은 조리개 면적 × 셔터 시간에 비례하고, ISO는 그 결과를 증폭하는 이득이다. 같은 밝기를 만드는 조합은 무수히 많다. 문제는 각 조합이 다른 부작용을 갖는다는 것이다. 조리개는 심도, 셔터는 움직임 흐림, ISO는 잡음을 바꾼다.
N = f-number, t = 셔터 시간(초). EV가 1 커지면 빛이 절반.
노출 시뮬레이터
목표: 조리개, 셔터, ISO가 각각 무엇을 망가뜨리는지 눈으로 본다. 조작: 밝기가 "적정"이 되도록 세 슬라이더를 맞춘 뒤, 하나를 움직이고 다른 하나로 되돌려 보자. 관찰 포인트: 같은 밝기인데 어떤 조합은 앞차가 번지고, 어떤 조합은 표지판이 흐려지고, 어떤 조합은 하늘에 잡음이 낀다.
왜 이렇게 되는가. 앞차의 흐림 길이는 셔터 시간 동안 차가 영상에서 움직인 거리다. 표지판의 흐림은 초점이 앞차에 맞아 있을 때 조리개가 클수록 커지는 착란원이다. 하늘의 잡음은 광자 수의 통계적 요동(포아송 잡음)을 ISO가 그대로 증폭한 것이다. 세 현상의 물리가 다르므로 한 슬라이더로 셋을 동시에 고칠 수 없다.
f-number의 정의를 정확히 두자. N = f/D, 초점거리를 조리개 지름으로 나눈 값이다. 그래서 N이 작을수록 구멍이 크다. 빛의 양은 면적, 즉 D²에 비례하므로 N이 √2배(1.4, 2, 2.8, 4, 5.6, 8, 11, 16, 22)씩 커질 때마다 빛이 절반이 된다. 이 수열을 외워 두면 카메라 설정을 읽을 때 계산이 빨라진다.
ISO는 "감도"라고 부르지만 센서의 물리적 감도(양자 효율)는 바뀌지 않는다. 바뀌는 것은 아날로그·디지털 이득이다. 광자가 100개 들어오면 그 요동은 √100 = 10개, 신호 대 잡음비는 10이다. 이득을 8배 올려도 광자가 100개인 사실은 그대로이므로 신호 대 잡음비도 10 그대로다. ISO를 올려서 밝아진 사진의 잡음이 거친 이유다. 밝기를 얻는 순서는 언제나 조리개 → 셔터 → ISO다.
생각해 볼 질문
차량용 카메라가 야간에 1/30초 셔터를 쓰면 시속 60 km 앞차는 영상에서 몇 화소 번지는가. 초점거리 6 mm, 화소 피치 3 µm, 앞차 거리 20 m로 계산해 보자. 답이 나오면 왜 야간 영상이 거친지도 설명된다.
출처 Cambridge in Colour, "Camera Exposure". cambridgeincolour.com · Szeliski 2022, 2.2.3절 "The digital camera"
크면 번지고, 작으면 퍼진다
핀홀을 키우면 한 점에서 온 빛이 원뿔 모양으로 상면에 퍼져 겹치고, 상이 평균처럼 번진다. 핀홀을 줄이면 빛이 파동으로 행동하기 시작해 구멍 가장자리에서 퍼진다. 두 흐림 사이 어딘가에 가장 선명한 크기가 있다.
핀홀의 최적 지름은 레일리(Rayleigh)가 1891년에 근사식으로 제시했다. d ≈ 1.9 √(f λ), 초점거리 f와 파장 λ의 곱의 제곱근에 비례한다. f = 50 mm, λ = 550 nm이면 약 0.32 mm다. 사진 9에서 0.35 mm가 가장 선명한 것과 일치한다. 이 식은 "구멍이 작을수록 좋다"는 직관이 틀리는 지점을 숫자로 알려 주며, 다음 장의 회절 논의로 바로 이어진다.
출처 Rayleigh, "Some Applications of Photography", Nature 44, 1891. doi.org/10.1038/044249e0 · Scratchapixel, "Cameras: pinhole". scratchapixel.com
작은 구멍의 한계, 회절
화소를 아무리 늘려도 조리개가 정한 크기 아래로는 점이 작아지지 않는다. 화소 수와 선명도는 어느 지점부터 무관해진다.
에어리 원반
빛이 구멍을 지날 때 가장자리에서 퍼지는 현상이 회절(diffraction)이다. 원형 구멍을 지난 한 점의 빛은 상면에서 점이 아니라 동심원 무늬로 맺힌다. 가운데 밝은 원을 에어리 원반(Airy disk)이라 하고, 그 지름은 f-number에 비례한다.
λ = 550 nm, f/8 → d ≈ 10.7 µm. f/2.8 → 3.8 µm.
2.44라는 계수는 원형 구멍의 회절 무늬를 베셀 함수로 풀었을 때 첫 번째 어두운 고리까지의 지름에서 나온다. 조지 에어리(George Airy)가 1835년에 계산했다. 사각형 구멍이면 계수가 2가 된다. 렌즈의 조리개는 원형에 가까우므로 2.44를 쓴다.
파장 의존성도 기억해 두자. 파랑(450 nm)보다 빨강(650 nm)의 원반이 1.4배 크다. 그래서 회절 한계 근처에서는 빨간 채널이 먼저 흐려진다. 3장의 색수차와는 원인이 다르지만 결과가 비슷해 혼동하기 쉽다. 색수차는 렌즈 유리의 굴절률이 파장에 따라 다른 것이고, 회절은 렌즈가 없어도 생긴다.
출처 Airy, "On the Diffraction of an Object-glass with Circular Aperture", Trans. Cambridge Phil. Soc. 5, 1835 · Hecht, Optics, 5th ed., Pearson, 2017, 10.2절
화소를 늘려도 선명해지지 않는 지점
센서 화소 피치가 에어리 원반보다 작아지면 원반 하나가 여러 화소를 덮는다. 그때부터 화소를 더 쪼개도 정보는 늘지 않고 파일 크기만 는다. 스마트폰의 1.4 µm 화소는 f/2 렌즈에서 이미 이 지점 근처다.
회절 한계 계산기
목표: 내 카메라가 어느 조리개부터 회절 한계에 들어가는지 계산한다. 조작: 화소 피치와 파장을 넣고 f-number를 움직인다. 관찰 포인트: 원반/화소 비율이 1을 넘는 순간부터 "유효 해상도"가 화소 수보다 작아진다.
주의. 이 계산은 완벽한 렌즈를 가정한다. 실제 렌즈는 큰 조리개에서 수차 때문에 더 흐리고, 그래서 대부분의 렌즈는 최대 개방에서 두세 단 조인 f/5.6~f/8 근처가 가장 선명하다. 회절과 수차의 교차점이 그 렌즈의 "스위트 스팟"이다. 905 nm 파장은 LiDAR와 적외선 카메라를 위해 넣어 두었다. 같은 조리개에서 원반이 가시광의 1.6배다.
스마트폰 카메라가 4,800만, 2억 화소를 내세우는 것과 이 계산은 어떻게 맞는가. 답은 화소 묶기(pixel binning)다. 0.6~0.8 µm 화소 여러 개를 하나로 묶어 실제로는 1,200만 화소로 출력한다. 마케팅 화소 수와 유효 해상도가 다르다는 것을 이 장의 계산으로 직접 확인할 수 있다.
차량용 카메라의 화소 피치가 큰 진짜 이유는 회절보다 야간 감도다. 화소 면적이 4배면 같은 노출에서 광자가 4배 들어오고 신호 대 잡음비가 2배 좋아진다. 1장의 노출 삼각형에서 ISO를 올리지 않고 밝기를 얻는 유일한 방법이 화소를 키우는 것이다. 회절 여유는 그 부산물이다.
출처 Cambridge in Colour, "Diffraction Limited Photography". cambridgeincolour.com · Sony IMX490 (차량용 5.4 MP, 화소 3 µm) 제품 정보. sony-semicon.com
심도, 셔터, ISO, 그리고 렌즈의 결함
선명한 사진은 잘 찍은 사진이 아니라 잘 타협한 사진이다. 렌즈는 밝기를 주는 대신 수차와 비네팅을 함께 준다.
피사계 심도
초점이 맞은 거리 앞뒤로 "충분히 선명한" 구간을 피사계 심도(depth of field, DOF)라 한다. 조리개를 조이면(f-number를 키우면) 착란원이 작아져 심도가 깊어진다. f/1.4에서 0.8 cm이던 심도가 f/22에서 12.4 cm가 된다.
심도의 근사식은 DOF ≈ 2 N c u² / f²이다. N은 f-number, c는 허용 착란원 지름, u는 피사체 거리, f는 초점거리다. 거리의 제곱에 비례한다는 점이 중요하다. 20 m 앞의 차에 초점을 맞추면 심도는 수십 m로 넓어지고, 사실상 무한대까지 선명하다. 차량용 카메라가 고정 초점으로 충분한 이유다. 반대로 실내 로봇의 카메라는 50 cm 앞의 물체를 봐야 하므로 심도가 좁고 자동 초점이 필요해진다.
출처 Szeliski 2022, 2.2.3절 · Cambridge in Colour, "Depth of Field". cambridgeincolour.com
셔터 시간은 움직임을 적분한다
셔터가 열린 동안 움직인 물체는 그 궤적만큼 번진다. 1/8초의 선풍기 날개는 원반이고 1/1000초의 날개는 정지해 있다. 영화 촬영에서는 셔터를 각도로 표현하는데, 180°는 한 프레임 시간의 절반 동안 열린다는 뜻이다.
차량용 카메라에는 셔터 종류가 하나 더 문제가 된다. 대부분의 CMOS 센서는 줄 단위로 순서대로 읽는 롤링 셔터(rolling shutter)다. 위쪽 줄과 아래쪽 줄의 노출 시점이 수 ms 다르므로 빠르게 움직이는 물체나 흔들리는 카메라에서 수직선이 기울어진다. 프레임 전체를 한 시점에 노출하는 글로벌 셔터(global shutter) 센서가 있지만 화소 구조가 복잡해 비싸고 감도가 낮다. 7장의 LiDAR 스캔 왜곡은 같은 문제의 LiDAR판이다.
LED 신호등과 표지판도 셔터와 얽힌다. LED는 눈에 보이지 않는 속도(수백 Hz)로 깜박이므로 짧은 셔터로 찍으면 꺼진 순간이 찍힌다. 차량용 센서의 사양서에 있는 "LED 플리커 완화(LFM)"가 이 문제의 해법이다.
출처 B&H Photo, "Understanding Exposure, Part 3: Shutter Speed". bhphotovideo.com · Cornicello, "Speed, Light, Sync". cornicello.com
ISO는 감도가 아니라 이득이다
CCD는 화소의 전하를 옆으로 옮겨 가며 끝에서 전압으로 바꾸고, CMOS는 화소 안에서 바로 전압으로 바꾼다. 어느 쪽이든 ISO를 올리는 것은 그 전압을 증폭하는 일이다. 신호와 함께 잡음도 증폭된다. 큰 화소, 큰 센서가 잡음에 강한 이유는 광자를 더 많이 받기 때문이다.
잡음의 종류를 셋으로 나누어 두면 뒤에서 편하다. 광자 산탄 잡음은 빛 자체의 통계적 요동이며 신호의 제곱근에 비례한다. 밝은 곳에서 상대적으로 작고 어두운 곳에서 크다. 읽기 잡음은 증폭과 변환 회로에서 생기며 밝기와 무관하게 일정하다. 암전류는 빛 없이도 열로 생기는 전하이며 온도와 노출 시간에 비례한다. 여름 엔진룸 근처의 카메라가 겨울보다 잡음이 많은 이유다.
2000년대 초까지 고급 카메라는 CCD, 저가는 CMOS였다. 지금은 거의 전부 CMOS다. 화소마다 증폭기를 두면 읽기 속도가 빠르고 전력이 적으며 같은 공정으로 처리 회로를 함께 만들 수 있기 때문이다. 이 전환이 스마트폰 카메라와 차량용 카메라의 값을 내린 배경이다.
출처 Litwiller, "CMOS vs. CCD: Maturing Technologies, Maturing Markets", Photonics Spectra, 2005 · Szeliski 2022, 2.2.3절 및 그림 2.24
색수차와 비네팅
유리의 굴절률은 파장에 따라 조금씩 다르다. 그래서 단일 렌즈는 파랑과 빨강의 초점이 다른 거리에 맺히고, 물체 가장자리에 색 테두리가 생긴다. 이것이 색수차(chromatic aberration)다. 비네팅(vignetting)은 화면 가장자리로 갈수록 어두워지는 현상으로, 렌즈 통 자체가 비스듬한 빛을 막기 때문에 생긴다.
두 결함은 소프트웨어로 대부분 보정된다. 색수차는 채널별로 다른 배율의 방사 왜곡으로 모델링해 3주차의 렌즈 왜곡 보정과 같은 식으로 잡는다. 비네팅은 화소 위치의 함수(cos⁴θ 법칙에 가까운 곡선)로 밝기 이득을 곱해 편다. 그런데 보정한다고 정보가 돌아오지는 않는다. 어두운 가장자리를 밝히면 잡음도 함께 밝아진다. 렌즈의 결함은 지우는 것이 아니라 잡음으로 바꾸는 것이다.
이 결함들이 인식에 미치는 영향은 사진의 미관 문제보다 크다. 색수차는 물체 경계의 색을 바꾸어 학습된 검출기의 특징을 흐트러뜨리고, 비네팅은 화면 가장자리의 보행자를 어둡게 만든다. 학습 데이터를 찍은 카메라와 실제 차량의 카메라가 다르면 이 차이가 곧 성능 차이가 된다. 데이터셋을 고를 때 센서 사양을 함께 보는 습관이 여기서 시작된다.
출처 Szeliski 2022, 2.2.2절 "Lens distortions" 및 "Vignetting" · Hecht, Optics, 6.3절 "Aberrations"
영상 센싱 파이프라인
우리가 보는 JPEG은 센서가 본 것이 아니다. 센서와 파일 사이에 열 단계가 있고, 각 단계가 정보를 버린다. 무엇을 어디서 버렸는지 알아야 복원할 수 있다.
열 개의 상자
장면의 복사 휘도는 광학계, 조리개, 셔터를 지나 센서에 닿고, 이득과 아날로그·디지털 변환을 거쳐 RAW가 된다. 그다음 영상 신호 처리기(ISP)가 디모자이킹, 잡음 제거와 선명화, 화이트 밸런스, 감마, 압축을 순서대로 적용해 JPEG을 만든다.
이 파이프라인을 왜 배우는가. 첫째, 학습 데이터의 분포 때문이다. 어떤 카메라의 ISP가 만든 JPEG으로 학습한 검출기는 다른 ISP의 출력에서 성능이 떨어진다. 둘째, 정보 손실의 위치 때문이다. 양자화 Q1(RAW의 12~14비트)과 Q2(JPEG의 8비트) 사이에서 감마가 적용되므로, 어두운 영역의 계조는 JPEG에 거의 남지 않는다. 야간 영상을 다루는 알고리즘이 RAW를 요구하는 이유다. 셋째, 역문제 때문이다. 흐림 제거, 잡음 제거, HDR 합성은 전부 이 파이프라인의 한 상자를 거꾸로 푸는 일이다.
최근에는 ISP 자체를 신경망으로 바꾸거나, 인식 성능을 목표로 ISP의 파라미터를 학습하는 연구가 있다. 사람이 보기 좋은 사진과 검출기가 잘 보는 사진이 다르다는 관찰에서 나온 방향이다. 8장 끝의 노출 제어 연구가 그 초기 사례다.
출처 Szeliski 2022, 2.3절 "The digital camera", 그림 2.23–2.24
에일리어싱
화소는 연속적인 빛을 격자 위의 점으로 표본화한다. 화소 간격보다 촘촘한 무늬는 제대로 기록되지 않고 더 성긴 가짜 무늬로 나타난다. 주파수 3/4의 파동과 5/4의 파동이 같은 표본을 남기는 것이 그 원리이며, 이 가짜 무늬를 에일리어싱(aliasing) 또는 모아레라 한다.
에일리어싱은 4주차 영상 처리에서 축소와 피라미드를 다룰 때 다시 온다. 영상을 절반으로 줄일 때 화소를 그냥 건너뛰면 사진 33(b)처럼 되고, 먼저 흐린 뒤 건너뛰면 (c)처럼 된다. "축소 전에 저역 통과"라는 규칙이 여기서 나온다. 반대로 확대에서는 에일리어싱이 생기지 않는다. 정보를 새로 만들 수 없을 뿐이다.
출처 Szeliski 2022, 2.3.1절 "Sampling and aliasing", 그림 2.25 · Shannon, "Communication in the Presence of Noise", Proc. IRE 37(1), 1949. doi.org/10.1109/JRPROC.1949.232969
색은 화소 셋 중 하나만 재고 나머지는 추측한다
센서는 빛의 세기만 잰다. 색을 얻기 위해 화소마다 빨강, 초록, 파랑 필터 중 하나를 씌운 것이 컬러 필터 배열이고, 코닥의 브라이스 베이어(Bryce Bayer)가 1976년 특허를 낸 RGGB 배치가 표준이 됐다. 초록이 절반인 이유는 사람 눈의 밝기 감도가 초록에서 가장 높기 때문이다. 나머지 두 색은 이웃에서 보간하는데, 이것이 디모자이킹(demosaicing)이다.
베이어 모자이크 만들고 되돌리기
목표: 색 정보의 3분의 2를 버리고 다시 채웠을 때 무엇이 남고 무엇이 생기는지 본다. 조작: 무늬 간격 슬라이더를 줄여 가며 세 패널을 비교한다. 관찰 포인트: 무늬 간격이 4화소 아래로 내려가면 복원 영상에 원본에 없던 색 줄무늬(지퍼 잡음)가 나타난다. 오차 패널이 어디서 붉어지는지 본다.
왜 이렇게 되는가. 빨강 채널은 화소 4개 중 1개만 측정하므로 빨강의 표본 간격이 2화소다. 나이퀴스트 한계는 4화소 주기이고, 그보다 촘촘한 무늬는 빨강 채널에서 에일리어싱된다. 초록은 표본이 2배 많아 한계가 절반이다. 그래서 색 모아레는 빨강과 파랑에서 먼저 생긴다. 이것이 사진 39의 원리다.
실제 카메라의 ISP는 쌍선형보다 훨씬 정교한 방법을 쓴다. 가장자리 방향을 먼저 추정해 그 방향으로만 보간하거나(사진 38의 VNG), 초록 채널을 먼저 복원한 뒤 색차를 보간한다. 최근 스마트폰은 신경망으로 디모자이킹과 잡음 제거를 함께 한다. 그러나 어떤 방법도 측정하지 않은 값을 만들어 내지는 못한다. 촘촘한 무늬에서 방법마다 다른 얼룩이 생기는 이유는 그 자리에 정답이 없기 때문이다.
이 문제를 피하는 하드웨어 해법도 있다. 삼층 센서(Foveon)는 한 화소에서 세 색을 깊이별로 재고, 3판식 카메라는 프리즘으로 빛을 나누어 센서 세 장에 담는다. 둘 다 비싸고 감도가 낮아 차량용에는 거의 쓰이지 않는다. 대신 차량용 센서에는 RCCB(빨강, 투명, 투명, 파랑)처럼 초록 대신 필터 없는 화소를 두어 야간 감도를 높인 배치가 쓰인다. 색 정확도를 감도와 바꾼 것이다.
출처
Bayer, "Color imaging array", US Patent 3,971,065, 1976. patents.google.com ·
Szeliski 2022, 2.3.2절 "Color" ·
OpenCV, cv::demosaicing 문서. docs.opencv.org
흰색을 흰색으로, 그리고 눈의 곡선
광원마다 색이 다르다. 백열등은 2,700 K로 붉고 그늘은 8,000 K로 푸르다. 화이트 밸런스는 채널별 이득을 곱해 흰 물체가 흰색으로 찍히게 하는 단계다. 감마 보정은 센서의 선형 값을 눈의 비선형 감각에 맞게 구부려 저장하는 단계로, 8비트에 어두운 계조를 더 많이 배정하는 효과가 있다.
JPEG 값을 선형 밝기로 되돌리기
목표: 감마 부호화된 값으로 평균을 내면 얼마나 틀리는지 숫자로 본다. 조작: 아래 코드를 실행한다. 관찰 포인트: 검정(0)과 흰색(255)의 "중간"이 sRGB에서는 128이 아니라 188에 가깝다는 것을 확인한다.
# sRGB(0~255) → 선형 밝기(0~1). IEC 61966-2-1 의 공식 그대로 import numpy as np def srgb_to_linear(v): v = np.asarray(v, dtype=np.float64) / 255.0 return np.where(v <= 0.04045, v / 12.92, ((v + 0.055) / 1.055) ** 2.4) def linear_to_srgb(L): L = np.asarray(L, dtype=np.float64) v = np.where(L <= 0.0031308, 12.92 * L, 1.055 * L ** (1 / 2.4) - 0.055) return np.round(v * 255).astype(int) print(srgb_to_linear([0, 46, 128, 188, 255]).round(3)) # [0. 0.028 0.216 0.502 1. ] ← 코드 128은 밝기 21.6%, 밝기 50%는 코드 188 # 검정과 흰색을 반반 섞은 '물리적' 중간 밝기는? mid = (srgb_to_linear(0) + srgb_to_linear(255)) / 2 # 0.5 print(linear_to_srgb(mid)) # 188 print((0 + 255) // 2) # 128 ← 감마 공간에서 그냥 평균 낸 값 # 과제: 회색 카드(반사율 18%)의 sRGB 코드값을 계산해 보자. 사진가들이 말하는 "중간 회색"이 왜 그 값인가?
왜 중요한가. 영상을 축소하거나 흐릴 때, 두 장을 합성할 때, 밝기를 비교할 때 선형화하지 않으면 어두운 쪽이 실제보다 더 어둡게 계산된다. 대부분의 딥러닝 파이프라인은 sRGB 값을 그대로 0~1로 나눠 쓰는데, 잘 작동하는 이유는 네트워크가 그 비선형을 함께 학습하기 때문이지 물리적으로 맞아서가 아니다. 물리량이 필요한 광류(8주차)나 HDR 합성에서는 반드시 되돌린다.
감마의 역사는 브라운관에서 왔다. 브라운관의 밝기는 전압의 약 2.2제곱에 비례했고, 카메라가 미리 1/2.2제곱으로 구부려 보내면 화면에서 원래대로 돌아왔다. 이 우연이 눈의 감각 곡선과 비슷해서 그대로 표준(sRGB, 1996)이 됐다. 브라운관이 사라진 지금도 8비트 저장 효율 때문에 남아 있다.
이 장의 결론을 한 줄로 두면, JPEG의 화소 값은 물리량이 아니다. 비선형으로 구부러졌고, 채널별 이득이 곱해졌고, 8비트로 잘렸고, 압축으로 흔들렸다. RAW를 요구하는 연구가 많은 이유이고, 이 강의 9주차의 3차원 복원이 밝기 값이 아니라 특징점의 위치만 쓰는 이유이기도 하다.
출처 IEC 61966-2-1:1999, "Multimedia systems and equipment — Colour measurement and management — Part 2-1: Default RGB colour space — sRGB" · Poynton, Digital Video and HD, 2nd ed., 2012, "Gamma" 장 · Digital Camera World, "Colour temperature" (사진 40 출처)
깊이 카메라
영상 한 장에서는 광선의 방향만 알 수 있다. 거리를 알려면 두 번째 시점이나 빛의 왕복 시간이 필요하다. 스테레오는 앞의 것, ToF는 뒤의 것이다.
스테레오 카메라
캘리브레이션된 카메라 한 대는 화소 하나에서 광선 하나를 준다. 그 광선 위 어디에 물체가 있는지는 모른다. 두 번째 카메라에서 같은 점을 찾으면 두 광선이 만나는 곳이 3차원 위치다. 남는 문제는 둘이다. 두 카메라의 상대 자세(캘리브레이션)와, 같은 점 찾기(대응).
f = 초점거리(px), B = 기준선 길이(m), d = 시차(px, 왼쪽·오른쪽 영상에서의 열 차이)
대응 찾기의 가장 단순한 방법이 블록 정합이다. 왼쪽 영상의 작은 창을 오른쪽 영상의 같은 행에서 옆으로 밀며 차이의 절댓값 합(SAD)이 가장 작은 위치를 찾는다. 사진 52~54가 그 과정이다. 이 방법은 질감이 없는 벽, 반복 무늬, 가려짐에서 실패한다. 실패하는 조건이 곧 스테레오의 약점 목록이고, 그것을 줄이려는 40년의 연구가 6주차 내용이다.
테슬라와 대부분의 로보택시 회사의 차이를 이 장의 언어로 다시 쓰면 이렇다. 테슬라는 "추정"만으로, 나머지는 "측정"을 섞어서 간다. 그림 5가 보여 주듯 카메라 기반 거리는 멀수록 나빠지므로 고속도로 원거리에서 두 노선의 차이가 가장 크다. 단안 카메라의 거리 추정은 학습된 크기 사전 지식(차는 폭 1.8 m)에 의존하므로 본 적 없는 물체에서 틀린다. 1장의 "본 적 없는 사건"이 센서 수준에서 어떻게 나타나는지의 예다.
출처 Rodriguez et al., "An embedded multi-modal system for object localization and tracking", IEEE ITS Magazine 4(4), 2012. doi.org/10.1109/MITS.2012.2217855 · Menze & Geiger, "Object Scene Flow for Autonomous Vehicles", CVPR 2015 (KITTI 2015). cvlibs.net · Xu et al., "Iterative Geometry Encoding Volume for Stereo Matching", CVPR 2023. arXiv:2303.06615 · Scharstein & Pal, "Learning Conditional Random Fields for Stereo", CVPR 2007 (Middlebury 2005). vision.middlebury.edu
ToF 깊이 카메라와 구조광
비행시간(Time of Flight, ToF) 카메라는 적외선을 변조해 쏘고 돌아온 빛의 위상 차이로 거리를 잰다. 화소마다 거리를 직접 측정하므로 질감 없는 벽도 잡는다. 대신 햇빛에 약하고 측정 거리가 수 m로 짧다. 구조광 방식은 무늬를 투사해 스테레오의 대응 찾기를 쉽게 만든다. 인텔 RealSense가 이 방식이다.
ToF의 위상 측정에는 모호성이 있다. 변조 주파수 f에서 거리 c/(2f)마다 위상이 한 바퀴 돌아 같은 값이 된다. 20 MHz면 7.5 m다. Azure Kinect는 주파수 여러 개를 섞어 이 모호성을 푼다. 그래도 측정 거리는 수 m에 그치는데, 발광 출력을 눈 안전 한계 안에 두어야 하기 때문이다. 같은 원리로 더 멀리 재려면 출력이 큰 레이저와 화소당 하나가 아닌 단일 검출기가 필요하고, 그것이 6장의 LiDAR다.
ToF와 구조광은 둘 다 자기가 쏜 적외선을 봐야 하므로 햇빛 아래에서 급격히 나빠진다. 실내 로봇과 게임기에는 널리 쓰이지만 차량 외부 센서로는 거의 쓰이지 않는 이유다. 반대로 스테레오는 빛을 쏘지 않으므로 햇빛에서 잘 되고 어둠에서 못 된다. 두 방식이 정확히 반대 조건에서 실패한다는 점이 그림 1의 요점을 다시 보여 준다.
출처 Microsoft, "Azure Kinect DK depth camera". learn.microsoft.com · Intel RealSense, "Projectors". dev.intelrealsense.com · Hansard et al., Time-of-Flight Cameras: Principles, Methods and Applications, Springer, 2012. doi.org/10.1007/978-1-4471-4658-2
LiDAR
원리는 ToF 카메라와 같고 파장과 출력이 다르다. 905 nm과 1550 nm의 선택은 검출기 값, 눈 안전, 물 흡수, 햇빛 잡음의 맞바꿈이다.
레이저를 쏘고 돌아올 때까지 세다
LiDAR(Light Detection and Ranging)는 짧은 레이저 펄스를 쏘고 반사가 돌아오는 시간을 잰다. 거리 = 빛의 속도 × 시간 / 2. 100 m 왕복은 667 ns이고, 10 cm 정확도를 내려면 시간을 0.67 ns 단위로 재야 한다. 회전식은 레이저 여러 개를 수직으로 배열해 돌리고, 고체형은 거울이나 MEMS로 빔을 훑는다.
거리 사양을 읽을 때 반사율을 함께 봐야 한다. "200 m"라고 적힌 값은 보통 반사율 80%의 흰 표적 기준이고, 검은 차(반사율 10%)는 그 절반 이하에서만 잡힌다. 젖은 아스팔트는 거울처럼 빛을 앞으로 보내 버려 돌아오지 않는다. 8장의 악천후 사진에서 LiDAR가 비 오는 도로를 놓치는 이유다.
회전식 LiDAR의 구조적 문제는 값과 내구성이었다. 2007년 HDL-64E는 7만 5천 달러였고, 모터와 슬립링이 있어 진동에 약했다. 2020년 무렵부터 MEMS 거울, 광학 위상 배열, 플래시 방식의 고체형이 수백 달러대로 내려오며 양산차에 실리기 시작했다. 사진 64의 M1이 그 첫 세대다. 다만 고체형은 시야각이 좁아(보통 120°) 여러 대를 붙여야 한다.
출처 Synopsys, "What is LiDAR?". synopsys.com · Velodyne HDL-64E 사용자 설명서 (수직 26.9°, 64채널) · RoboSense RS-LiDAR-M1 제품 페이지. robosense.ai
파장 하나가 바꾸는 다섯 가지
| 항목 | 905 nm | 1550 nm |
|---|---|---|
| 검출기 | 실리콘 APD·SPAD. 반도체 공정 그대로, 값이 싸고 대량 생산이 쉽다 | InGaAs. 비싸고 화소 배열을 만들기 어렵다 |
| 눈 안전 | 망막까지 도달하므로 출력 상한이 낮다(Class 1 기준) | 각막과 수정체에서 흡수되어 같은 등급에서 훨씬 큰 출력이 허용된다 |
| 측정 거리 | 출력 제한 때문에 상대적으로 짧다 | 출력을 키울 수 있어 길다(250 m 이상 사양이 많다) |
| 햇빛 잡음 | 지표에 도달하는 태양광이 많아 잡음이 크다 | 대기 흡수로 태양광이 적어 잡음이 작다 |
| 물 흡수 | 낮다. 안개·비의 영향이 상대적으로 작다 | 높다. 습기에 더 약하며 출력을 키워 벌충한다(전력 증가) |
1550 nm이 "더 좋은 LiDAR"가 아니다. 멀리 보는 대신 비싸고 습기에 약하며 전력을 더 쓴다. 로보택시처럼 대당 원가보다 성능이 중요한 곳은 1550 nm을, 양산차는 905 nm을 고르는 경향이 있고, 이것은 기술 우열이 아니라 용도의 차이다.
눈 안전 등급은 IEC 60825-1이 정한다. Class 1은 어떤 조건에서도 눈에 해가 없는 등급이고, 차량 LiDAR는 예외 없이 이 등급을 지켜야 한다. 905 nm 빛은 눈의 투명한 조직을 통과해 망막에 초점을 맺으므로 허용 출력이 낮고, 1550 nm은 각막과 유리체의 물에 흡수되어 망막에 닿지 않으므로 같은 등급에서 수십 배 큰 출력이 허용된다. 이 차이가 측정 거리 차이의 근원이다.
세 번째 선택지도 있다. 850 nm과 940 nm은 실리콘 검출기를 쓰면서 태양광이 조금 적은 파장이고, 일부 ToF 카메라와 근거리 LiDAR가 쓴다. 파장 선택은 결국 검출기 재료(실리콘의 감도는 약 1,100 nm에서 끝난다)와 태양광 스펙트럼, 물 흡수 곡선 세 그래프를 겹쳐 놓고 고르는 문제다.
출처 IEC 60825-1:2014, "Safety of laser products — Part 1: Equipment classification and requirements" · Wojtanowski et al., "Comparison of 905 nm and 1550 nm semiconductor laser rangefinders' performance deterioration due to adverse environmental conditions", Opto-Electronics Review 22(3), 2014. doi.org/10.2478/s11772-014-0190-2
새로운 센서, 그리고 시간 동기화
센서는 계속 좋아진다. 그런데 여러 센서를 함께 쓸 때 가장 흔한 실패는 성능이 아니라 시각이 어긋나는 것이다. 몇 ms의 차이가 몇 m의 오차가 된다.
게이티드, 플래시, 이벤트, HDR, 라이트필드
각각은 기존 센서가 실패하는 한 조건을 겨냥한다. 게이티드 카메라는 안개를, 플래시 LiDAR는 움직이는 부품을, 이벤트 카메라는 움직임 흐림과 지연을, HDR 센서는 역광을, 라이트필드 카메라는 초점을 겨냥한다.
새 센서를 평가할 때 던질 질문은 하나다. 어떤 조건에서 기존 센서보다 낫고, 그 조건이 얼마나 자주 오는가. 게이티드 카메라는 짙은 안개에서 압도적이지만 맑은 날에는 일반 카메라와 같다. 이벤트 카메라는 빠른 움직임에 강하지만 정지 장면에서는 아무것도 주지 않아 기존 인식 알고리즘을 그대로 쓸 수 없다. 센서가 아무리 좋아도 그것을 처리할 알고리즘, 학습 데이터, 그리고 다른 센서와의 동기화가 없으면 차에 실리지 않는다. 다음 카드가 그 마지막 조건이다.
출처 Bijelic et al., "Seeing Through Fog Without Seeing Fog: Deep Multimodal Sensor Fusion in Unseen Adverse Weather", CVPR 2020. arXiv:1902.08913 · Gallego et al., "Event-based Vision: A Survey", IEEE T-PAMI 44(1), 2022. arXiv:1904.08405 · Sony, IMX490 제품 정보. sony-semicon.com · Ng et al., "Light Field Photography with a Hand-held Plenoptic Camera", Stanford Tech Report CTSR 2005-02. graphics.stanford.edu · ASC, "Flash LiDAR technology" (2011, 개관)
몇 ms가 몇 m가 되는 곳
카메라는 30 Hz, LiDAR는 10 Hz, IMU는 200 Hz로 각자의 시계를 가지고 돈다. 시속 72 km(20 m/s)에서 30 ms의 시각 차이는 60 cm다. LiDAR는 한 회전에 100 ms가 걸리므로 그 안에서만 2 m를 움직인다. 센서 융합의 첫 단계는 알고리즘이 아니라 모든 센서가 같은 시계를 보게 만드는 일이다.
스캔 왜곡 시뮬레이터
목표: 속도와 회전 주기가 왜곡 크기를 어떻게 정하는지 본다. 조작: 속도와 LiDAR 주파수를 바꾸고, 보상 스위치를 켜고 끈다. 관찰 포인트: 왜곡은 속도 ÷ 주파수, 즉 한 회전 동안 이동한 거리와 같다. 20 Hz로 올리면 왜곡이 절반이 되지만 점 밀도도 절반이 된다.
센서 융합의 정확도는 가장 좋은 센서가 아니라 가장 나쁜 시계가 정한다. 시각이 어긋난 데이터로 학습한 모델은 그 어긋남까지 학습한다.
동기화에는 층이 셋 있다. 첫째, 시계 동기화. 모든 장치가 같은 시각 기준(GPS PPS 신호나 PTP)을 공유하게 한다. 둘째, 트리거 동기화. 카메라의 노출 시작을 원하는 순간에 하드웨어 신호로 맞춘다. 사진 79의 모듈이 이것이다. 셋째, 움직임 보상. 그래도 남는 시각 차이를 차량의 자세 변화로 보정한다. 그림 7이 이것이다. 소프트웨어 타임스탬프만으로 하는 "동기화"는 첫째 층만 하는 것이고, 그림 8의 왼쪽이 그 결과다.
사진 81의 실험은 동기화 문제를 알고리즘 쪽에서 본 것이다. 검출기가 한 프레임을 처리하는 데 100 ms가 걸리면, 답이 나왔을 때 그 답은 100 ms 전의 세상에 대한 것이다. 시속 72 km면 2 m다. 스트리밍 정확도(streaming AP)는 이 지연을 평가에 넣은 지표이고, 그 지표에서는 느리고 정확한 모델보다 빠르고 덜 정확한 모델이 이기는 경우가 많다. 이 강의 10주차에서 신경망 구조를 고를 때 이 표를 다시 꺼낸다.
출처 심인욱 외, "다중 카메라간의 센서 동기화 방법 및 그 장치", 대한민국 특허 10-2141647, 등록 2020-08-08. 특허 DOI · Li, Wang & Ramanan, "Towards Streaming Perception", ECCV 2020. arXiv:2005.10420 · LiDAR News, "LiDAR sensor scan patterns analyzed" (개관). blog.lidarnews.com
왜 시각 인식은 어려운가
영상은 3차원 세계의 2차원 투영이고, 그 투영에서 잃은 것을 되찾는 일이 컴퓨터 비전이다. 어려움의 목록은 곧 이 강의의 남은 목차다.
숫자의 격자에서 기차를 찾기
사람은 사진에서 탈선한 기관차를 즉시 본다. 컴퓨터에는 0에서 255 사이의 숫자가 격자로 놓여 있을 뿐이다. 그 숫자에서 "기관차"라는 개념까지 가는 길이 인식이고, 이 길이 어려운 이유는 같은 물체가 무한히 다른 숫자로 나타나기 때문이다.
에임스의 방은 5장의 단안 거리 추정 논의와 직결된다. 카메라 한 대는 광선의 방향만 알므로 "먼 곳의 큰 물체"와 "가까운 곳의 작은 물체"를 구별할 수 없다. 사람은 방이 직육면체라는 사전 지식으로 이 모호성을 풀고, 그 사전 지식이 틀렸을 때 착시가 생긴다. 신경망의 단안 깊이 추정도 같다. 학습 데이터에서 배운 "차의 폭은 1.8 m"라는 사전 지식으로 거리를 추정하고, 장난감 차나 광고판 속 차에서 틀린다.
출처 Ittelson, The Ames Demonstrations in Perception, Princeton University Press, 1952 · Fei-Fei Li, Stanford CS231n 강의 슬라이드 (사진 84)
시점, 가려짐, 변형, 조명, 날씨, 그리고 3만 가지 범주
이 변동들은 두 부류로 나뉜다. 시점, 조명, 날씨는 같은 물체가 다른 숫자로 나타나는 문제이고, 변형과 범주 수는 다른 물체가 같은 이름으로 묶여야 하는 문제다. 앞의 것은 불변성(invariance), 뒤의 것은 일반화(generalization)라 부른다. 7주차의 특징점(SIFT)은 앞의 문제를 손으로 설계한 불변성으로 풀려 한 시도이고, 10주차의 합성곱 신경망은 두 문제를 데이터로 함께 풀려는 시도다.
범주 수 1만~3만은 심리학자 비더만(Biederman)이 1987년 사전의 명사 수와 하위 범주 수로 추정한 값이다. ImageNet의 1,000개 클래스는 이 추정치의 3~10%에 불과하다. 자율주행에서는 범주 수보다 본 적 없는 범주가 문제이고, 그래서 "장애물인가 아닌가"만 판단하는 주행 가능 영역 추정이 범주 인식과 별도로 필요하다.
출처 Xiang & Savarese, "Data-Driven 3D Voxel Patterns for Object Category Recognition", CVPR 2015. openaccess.thecvf.com · Biederman, "Recognition-by-components: A theory of human image understanding", Psychological Review 94(2), 1987. doi.org/10.1037/0033-295X.94.2.115
노출 하나가 인식 전체를 바꾼다
카메라의 동적 범위는 눈보다 훨씬 좁다. 밝은 하늘에 맞추면 그늘의 차가 사라지고, 그늘에 맞추면 하늘이 하얗게 날아간다. 자동 노출은 사진이 보기 좋도록 평균 밝기를 맞추지만, 인식 알고리즘에 필요한 것은 보기 좋은 사진이 아니라 경계와 질감이 살아 있는 사진이다.
인식이 어려운 이유의 절반은 세상이 복잡해서이고, 나머지 절반은 센서가 세상을 한 번 망가뜨려서다. 뒤의 절반은 센서를 이해하면 줄일 수 있고, 이 강의의 3~9주차가 그 방법이다.
사진 96~97의 연구는 노출을 "평균 밝기"가 아니라 "영상 기울기의 총량"으로 정하자는 제안이다. 경계가 많이 살아 있는 노출이 인식에 좋은 노출이라는 관찰에서 출발했고, 시각 주행거리 측정과 보행자 검출에서 자동 노출보다 나은 결과를 보였다. 이후 확장판은 카메라 응답 곡선을 함께 추정해 여러 대의 카메라에 적용했다. 이 자료 4장의 파이프라인 중 "이득·노출" 상자를 인식 성능을 목표로 되돌린 사례이며, 센서와 알고리즘의 경계가 고정되어 있지 않다는 것을 보여 준다.
생각해 볼 질문
자동 노출이 18시에 건물을 어둡게 찍은 이유를 1장의 노출 삼각형으로 설명해 보자. 카메라는 무엇을 "적정"이라고 판단했고, 그 판단 기준을 어떻게 바꾸면 되는가. 답을 적은 뒤 사진 97의 세 번째 영상과 비교해 보자.
출처 Shim, Lee & Kweon, "Auto-adjusting Camera Exposure for Outdoor Robotics using Gradient Information", IROS 2014. doi.org/10.1109/IROS.2014.6942682 · Shim et al., "Gradient-Based Camera Exposure Control for Outdoor Mobile Platforms", IEEE T-CSVT 29(6), 2019. doi.org/10.1109/TCSVT.2018.2846292 · arXiv:1708.07338 · Geiger, Ziegler & Stiller, "StereoScan: Dense 3d Reconstruction in Real-time", IV 2011 (LIBVISO2). doi.org/10.1109/IVS.2011.5940405
이 자료가 바로잡은 것
센서에 관해 널리 퍼진 서술 가운데 물리와 어긋난 것을 모았다. 시험에서 묻는다면 이 표에서 묻는다.
흔한 오해 여섯 가지
| 흔한 서술 | 확인한 사실 | 어디서 |
|---|---|---|
| 화소가 많을수록 선명하다 | 에어리 원반이 화소보다 커지는 조리개부터 화소 수는 해상도에 기여하지 않는다. 1.4 µm 화소는 f/2에서 이미 회절 한계다 | 2장, 그림 3 |
| 센서가 크면 회절이 덜하다 | 회절은 f-number와 파장만의 함수다. 센서 크기는 무관하고 화소 피치만 관계있다 | 2장, 사진 17 |
| ISO를 올리면 감도가 좋아진다 | 양자 효율은 그대로이고 이득만 커진다. 광자 수가 정한 신호 대 잡음비는 변하지 않는다 | 3장 |
| JPEG 값 128은 밝기의 절반이다 | sRGB 코드 128은 선형 밝기 21.6%다. 밝기 50%는 코드 188이다 | 4장, 실습 4 |
| 1550 nm LiDAR가 905 nm보다 좋다 | 멀리 보는 대신 비싸고 물 흡수가 크며 전력을 더 쓴다. 용도에 따른 선택이지 우열이 아니다 | 6장 |
| LiDAR는 날씨에 강하다 | 눈송이와 물튀김이 점으로 잡히고 젖은 노면은 반사가 돌아오지 않는다. 날씨에 강한 것은 레이더다 | 8장, 사진 95·99 |
센서는 세상을 한 번 망가뜨린 뒤 넘겨준다. 어디서 어떻게 망가뜨리는지 알면 절반은 되돌릴 수 있고, 나머지 절반은 다른 센서로 메운다.
참고문헌
물리 공식은 교과서(Szeliski, Hecht)와 표준 문서(IEC)를 우선했고, 제품 사양은 제조사 문서를, 연구 결과는 원 논문을 인용했다. 기사와 개관 문서는 (개관)으로 표시했다. 사진과 삽화는 원 강의 슬라이드의 자료이며 캡션에 출처를 적었다.
교과서 · 표준
- Szeliski, R. Computer Vision: Algorithms and Applications, 2nd ed., Springer, 2022. 2장 "Image formation". szeliski.org/Book (저자 공개 PDF)
- Hecht, E. Optics, 5th ed., Pearson, 2017. 6장 (수차), 10장 (회절).
- IEC 61966-2-1:1999 (sRGB) · IEC 60825-1:2014 (레이저 안전 등급).
- Poynton, C. Digital Video and HD: Algorithms and Interfaces, 2nd ed., Morgan Kaufmann, 2012.
논문 · 특허
- Airy, G. B. "On the Diffraction of an Object-glass with Circular Aperture." Trans. Cambridge Phil. Soc. 5, 1835.
- Rayleigh. "Some Applications of Photography." Nature 44, 1891. DOI
- Shannon, C. E. "Communication in the Presence of Noise." Proc. IRE 37(1), 1949. DOI
- Bayer, B. E. "Color imaging array." US Patent 3,971,065, 1976. Google Patents
- Biederman, I. "Recognition-by-components." Psychological Review 94(2), 1987. DOI
- Ng, R. et al. "Light Field Photography with a Hand-held Plenoptic Camera." Stanford CTSR 2005-02. PDF
- Litwiller, D. "CMOS vs. CCD: Maturing Technologies, Maturing Markets." Photonics Spectra, 2005.
- Scharstein, D. & Pal, C. "Learning Conditional Random Fields for Stereo." CVPR 2007. Middlebury 2005
- Geiger, A., Ziegler, J. & Stiller, C. "StereoScan: Dense 3d Reconstruction in Real-time." IV 2011. DOI
- Rodriguez, S. A. F. et al. "An embedded multi-modal system for object localization and tracking." IEEE ITS Magazine 4(4), 2012. DOI
- Hansard, M. et al. Time-of-Flight Cameras. Springer, 2012. DOI
- Shim, I., Lee, J.-Y. & Kweon, I. S. "Auto-adjusting Camera Exposure for Outdoor Robotics using Gradient Information." IROS 2014. DOI
- Wojtanowski, J. et al. "Comparison of 905 nm and 1550 nm semiconductor laser rangefinders' performance deterioration due to adverse environmental conditions." Opto-Electronics Review 22(3), 2014. DOI
- Menze, M. & Geiger, A. "Object Scene Flow for Autonomous Vehicles." CVPR 2015. KITTI 2015
- Xiang, Y. & Savarese, S. "Data-Driven 3D Voxel Patterns for Object Category Recognition." CVPR 2015.
- Shim, I. et al. "Gradient-Based Camera Exposure Control for Outdoor Mobile Platforms." IEEE T-CSVT 29(6), 2019. DOI
- Bijelic, M. et al. "Seeing Through Fog Without Seeing Fog." CVPR 2020. arXiv
- Li, M., Wang, Y.-X. & Ramanan, D. "Towards Streaming Perception." ECCV 2020. arXiv
- 심인욱 외. "다중 카메라간의 센서 동기화 방법 및 그 장치." 대한민국 특허 10-2141647, 2020.
- Gallego, G. et al. "Event-based Vision: A Survey." IEEE T-PAMI 44(1), 2022. arXiv
- Xu, G. et al. "Iterative Geometry Encoding Volume for Stereo Matching." CVPR 2023. arXiv
제품 문서 · 개관
- Microsoft, Azure Kinect DK depth camera 문서 · Intel RealSense projectors 문서 · Sony IMX490 · Velodyne HDL-64E 설명서 · RoboSense RS-LiDAR-M1.
- Harry Ransom Center, "The First Photograph" (니엡스). hrc.utexas.edu
- (개관) Cambridge in Colour (노출, 회절, 심도) · B&H Explora · Scratchapixel · Synopsys · LiDAR News · Digital Camera World.
- (사진·삽화) Andreas Geiger 강의 슬라이드, Nando Harmsen(회절), Fei-Fei Li 강의 슬라이드, Antonio Torralba(범주·조명), Szeliski 교과서 그림, 각 제조사 홍보 자료, 담당 교수 연구실 자료.
도표(그림 1~7)는 matplotlib으로 직접 제작했으며(생성 코드 figs/make_figs_L2.py), 사진과 삽화(사진 1~101)는 담당 교수가 강의용으로 엄선한 원 슬라이드의 자료로 캡션에 원 출처를 표시했다. 교육 목적의 인용이며 재배포 시 각 원 출처의 조건을 따른다.