INHA
인하대학교스마트모빌리티공학과 · 차량비전시스템
02 · 비전 센서 · 강의자료
목차
차량비전시스템 · 2주차

비전 센서

빛을 모으는 물리, 빛을 숫자로 바꾸는 파이프라인, 빛 대신 시간을 재는 센서. 카메라, 깊이 카메라, LiDAR가 각각 무엇을 보고 무엇을 못 보는지를 물리에서부터 따라간다. 이 강의의 나머지 전부가 이 센서들의 출력 위에서 돈다.

1826 → 20268개 장해설 · 실습 5종원문 출처 링크
1826년 여름, 프랑스 르 그라

여덟 시간 동안 열어 둔 창

조제프 니세포르 니엡스(Nicéphore Niépce)는 작업실 창가에 역청을 바른 백랍판을 놓고 카메라 옵스큐라의 구멍을 열었다. 빛이 닿은 곳의 역청이 굳었고, 나머지를 씻어 내자 창밖의 지붕과 나무가 남았다. 노출은 적어도 여덟 시간, 어쩌면 며칠이었다. 사진의 첫 장은 그렇게 빛을 오래 모아서 만들어졌다.

200년이 지난 지금, 차량용 카메라는 1초에 30번, 한 번에 1,000분의 1초씩 빛을 모은다. 노출 시간은 일곱 자릿수가 줄었지만 결정하는 양은 그대로다. 구멍의 크기, 열어 두는 시간, 그리고 받아들이는 면의 민감도. 이 세 가지가 밝기, 흐림, 잡음을 한꺼번에 정한다.

1주차에서 본 2018년 템피 사고의 블랙박스 영상은 보행자가 나타나기 직전까지 검게 보였다. 같은 순간 LiDAR는 5.6초 전에 물체를 잡았다. 센서마다 보는 조건이 다르다는 것은 사고 보고서의 첫 줄이자 이 강의의 첫 줄이다.

빛을 모으는 물리조리개, 셔터, 감도의 삼각형. 구멍을 줄이면 선명해지다가 어느 순간 다시 흐려지는 이유.
빛을 숫자로 바꾸는 파이프라인베이어 필터, 디모자이킹, 화이트 밸런스, 감마, 압축. 우리가 보는 JPEG은 센서가 본 것이 아니다.
빛 대신 시간을 재는 센서스테레오, ToF, LiDAR. 거리를 직접 재는 대가로 무엇을 포기하는가.
더 읽기

읽는 내내 붙들고 갈 구분이 있다. 측정추정이다. 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주차 참고)

전체 조망

다섯 가지 센서, 일곱 가지 잣대

카메라, 스테레오 카메라, ToF 깊이 카메라, 회전식 LiDAR, 레이더를 거리 측정, 색·질감, 야간, 악천후, 해상도, 측정 거리, 단가로 평가한 표
그림 1. 어느 열에서도 전부 초록인 행은 없다. 카메라는 색과 해상도에서, LiDAR는 거리와 야간에서, 레이더는 날씨에서 이긴다. 자율주행차가 세 센서를 모두 다는 이유는 성능을 더하기 위해서가 아니라 한 센서가 실패하는 조건에서 다른 센서가 살아 있게 하기 위해서다. 값은 정성적 비교이며 제품마다 다르다.
01
빛을 모으는 물리

핀홀과 노출 삼각형

카메라는 구멍이다. 구멍의 크기, 여는 시간, 받는 면의 민감도 세 가지가 밝기와 흐림과 잡음을 한꺼번에 정한다. 셋은 서로 맞바꾸는 관계다.

15세기 · 카메라 옵스큐라

눈도 카메라도 구멍으로 시작한다

어두운 방의 작은 구멍으로 들어온 빛은 맞은편 벽에 바깥 풍경을 거꾸로 맺는다. 이 장치의 이름이 카메라 옵스큐라(camera obscura), 어두운 방이다. 사람 눈의 동공과 망막, 렌즈 없는 핀홀 카메라, 그리고 수학적 카메라 모델이 전부 같은 구조다.

물리적 핀홀 카메라 모델과 수학적 카메라 모델의 비교 도식
사진 7. 물리적 모델에서는 상면이 초점 뒤에 있어 상이 뒤집히고, 수학적 모델에서는 상면을 초점 앞에 놓아 뒤집힘을 없앤다. 두 모델은 부호만 다르고 수식은 같다. 3주차 카메라 기하는 오른쪽 모델에서 시작한다. (슬라이드: Andreas Geiger)
더 읽기

핀홀 카메라에는 렌즈가 없다. 그런데도 상이 맺히는 이유는 구멍이 작아서 한 점에서 나온 빛 중 거의 한 방향의 빛만 통과하기 때문이다. 이 단순함이 핀홀 모델을 카메라 기하의 기준으로 만든다. 렌즈는 밝기를 얻기 위해 붙이는 장치이고, 렌즈가 만드는 모든 문제(수차, 왜곡, 비네팅, 심도)는 핀홀 모델에서 벗어난 만큼의 오차로 다룬다.

눈과 카메라의 비유는 유용하지만 한 곳에서 어긋난다. 눈은 망막 중심(중심와)에만 해상도가 집중되어 있고, 눈알을 움직여 장면을 훑는다. 카메라는 전체 화소가 균일하다. 그래서 사람은 8K 화면이 필요 없지만 카메라는 필요하다. 반대로 사람이 보는 "선명한 세상"은 뇌가 조립한 결과이고, 카메라 한 장은 조립 전의 원료다. 8장에서 이 차이가 왜 인식을 어렵게 하는지 다시 본다.

출처 Szeliski, Computer Vision: Algorithms and Applications, 2nd ed., 2022, 2.1절 (저자 공개 PDF). szeliski.org/Book

노출 삼각형

조리개, 셔터, 감도는 서로 빌려 쓴다

센서에 닿는 빛의 양은 조리개 면적 × 셔터 시간에 비례하고, ISO는 그 결과를 증폭하는 이득이다. 같은 밝기를 만드는 조합은 무수히 많다. 문제는 각 조합이 다른 부작용을 갖는다는 것이다. 조리개는 심도, 셔터는 움직임 흐림, ISO는 잡음을 바꾼다.

노출 삼각형. 조리개는 심도, 셔터 속도는 움직임 흐림, ISO는 잡음과 연결된다
사진 8. 노출 삼각형. 세 꼭짓점 중 하나를 움직이면 밝기가 변하고, 밝기를 되돌리려면 다른 꼭짓점을 반대로 움직여야 한다. 그 대가가 삼각형 변에 적힌 심도, 움직임 흐림, 잡음이다. (출처: Cambridge in Colour)
조리개와 셔터 시간 격자 위에 같은 노출값을 잇는 등노출선을 그린 그래프
그림 2. 같은 대각선 위의 조합은 같은 밝기를 만든다. f/2.8에 1/1000초와 f/8에 1/125초는 같은 노출값(EV 13)이다. 왼쪽 아래로 갈수록 배경이 흐려지고 오른쪽 위로 갈수록 움직이는 물체가 흐려진다. 차량용 카메라는 움직임 흐림을 피해야 하므로 오른쪽 위를 쓸 수 없고, 대신 ISO(이득)로 밝기를 벌충한다. 그 대가가 잡음이다.
EV = log₂(N² / t) (ISO 100 기준)
N = f-number, t = 셔터 시간(초). EV가 1 커지면 빛이 절반.
직접 해보기 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"

구멍의 크기

크면 번지고, 작으면 퍼진다

핀홀을 키우면 한 점에서 온 빛이 원뿔 모양으로 상면에 퍼져 겹치고, 상이 평균처럼 번진다. 핀홀을 줄이면 빛이 파동으로 행동하기 시작해 구멍 가장자리에서 퍼진다. 두 흐림 사이 어딘가에 가장 선명한 크기가 있다.

렌즈를 지난 빛이 상면 앞뒤에서 맺히며 만드는 착란원 도식. 큰 조리개와 작은 조리개 비교
사진 11. 렌즈가 있어도 같은 일이 생긴다. 초점이 맞지 않은 점은 상면에서 원으로 퍼지는데 이것이 착란원(circle of confusion)이다. 위(큰 조리개)보다 아래(작은 조리개)의 착란원이 작다. 3장의 심도는 이 원의 크기를 얼마까지 허용하느냐의 문제다.
더 읽기

핀홀의 최적 지름은 레일리(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

02
물리 한계

작은 구멍의 한계, 회절

화소를 아무리 늘려도 조리개가 정한 크기 아래로는 점이 작아지지 않는다. 화소 수와 선명도는 어느 지점부터 무관해진다.

파동으로서의 빛

에어리 원반

빛이 구멍을 지날 때 가장자리에서 퍼지는 현상이 회절(diffraction)이다. 원형 구멍을 지난 한 점의 빛은 상면에서 점이 아니라 동심원 무늬로 맺힌다. 가운데 밝은 원을 에어리 원반(Airy disk)이라 하고, 그 지름은 f-number에 비례한다.

에어리 원반 지름 d = 2.44 · λ · N
λ = 550 nm, f/8 → d ≈ 10.7 µm. f/2.8 → 3.8 µm.
f/2.8부터 f/16까지 화소 격자 위에 그린 에어리 원반 크기 비교
사진 15. 화소 격자 위의 에어리 원반. f/2.8에서는 화소 하나 안에 들어가지만 f/16에서는 화소 여러 개에 걸친다. 원반이 화소보다 커지는 순간부터 화소를 더 잘게 나누는 것은 의미가 없다.
더 읽기

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절

화소 vs 회절

화소를 늘려도 선명해지지 않는 지점

센서 화소 피치가 에어리 원반보다 작아지면 원반 하나가 여러 화소를 덮는다. 그때부터 화소를 더 쪼개도 정보는 늘지 않고 파일 크기만 는다. 스마트폰의 1.4 µm 화소는 f/2 렌즈에서 이미 이 지점 근처다.

f-number에 따른 에어리 원반 지름 곡선과 스마트폰, 산업용, 차량용 화소 피치를 나타낸 수평선
그림 3. 곡선이 수평선 위로 올라가는 f-number부터 그 센서는 회절 한계에 들어간다. 1.4 µm 화소는 f/1.4에서도 이미 원반이 화소보다 크고, 5.86 µm 차량용 화소는 f/4까지 여유가 있다. 차량용 카메라가 화소를 크게 쓰는 이유 중 하나다. 다른 이유는 야간 감도다.
직접 해보기 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

03
렌즈와 센서

심도, 셔터, 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 → 잡음

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"

04
빛을 숫자로

영상 센싱 파이프라인

우리가 보는 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

1976 · 베이어 필터

색은 화소 셋 중 하나만 재고 나머지는 추측한다

센서는 빛의 세기만 잰다. 색을 얻기 위해 화소마다 빨강, 초록, 파랑 필터 중 하나를 씌운 것이 컬러 필터 배열이고, 코닥의 브라이스 베이어(Bryce Bayer)가 1976년 특허를 낸 RGGB 배치가 표준이 됐다. 초록이 절반인 이유는 사람 눈의 밝기 감도가 초록에서 가장 높기 때문이다. 나머지 두 색은 이웃에서 보간하는데, 이것이 디모자이킹(demosaicing)이다.

직접 해보기 3 · 실행형

베이어 모자이크 만들고 되돌리기

목표: 색 정보의 3분의 2를 버리고 다시 채웠을 때 무엇이 남고 무엇이 생기는지 본다. 조작: 무늬 간격 슬라이더를 줄여 가며 세 패널을 비교한다. 관찰 포인트: 무늬 간격이 4화소 아래로 내려가면 복원 영상에 원본에 없던 색 줄무늬(지퍼 잡음)가 나타난다. 오차 패널이 어디서 붉어지는지 본다.

왼쪽 위 원본 · 오른쪽 위 베이어 모자이크(센서가 본 것) · 왼쪽 아래 복원 · 오른쪽 아래 오차 ×6

왜 이렇게 되는가. 빨강 채널은 화소 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비트에 어두운 계조를 더 많이 배정하는 효과가 있다.

sRGB 감마 부호화 곡선과 선형 곡선, 그리고 밝기 구간별 8비트 코드 배정 수 비교
그림 4. 왼쪽: sRGB 부호화 곡선은 밝기 18%를 코드값 46%에 놓는다. 오른쪽: 선형 8비트는 밝기 0~10% 구간에 코드 27개만 배정하지만 감마 8비트는 50개를 배정한다. 밝은 쪽에서는 반대다. 눈이 어두운 차이에 민감하므로 이것이 더 효율적인 배정이다. 대가는 하나다. 픽셀 값을 더하거나 평균할 때 선형으로 되돌리지 않으면 물리적으로 틀린 답이 나온다.
입력 밝기, 선형 부호화, 감마 부호화의 계조 띠 비교
사진 42. 같은 밝기 띠를 선형과 감마로 8비트 저장한 결과. 선형 부호화(가운데)는 어두운 쪽 계단이 굵다. 어두운 색을 표현할 비트가 부족한 것이다.
직접 해보기 4 · 코드형

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 출처)

05
거리를 추정하다

깊이 카메라

영상 한 장에서는 광선의 방향만 알 수 있다. 거리를 알려면 두 번째 시점이나 빛의 왕복 시간이 필요하다. 스테레오는 앞의 것, ToF는 뒤의 것이다.

두 시점

스테레오 카메라

캘리브레이션된 카메라 한 대는 화소 하나에서 광선 하나를 준다. 그 광선 위 어디에 물체가 있는지는 모른다. 두 번째 카메라에서 같은 점을 찾으면 두 광선이 만나는 곳이 3차원 위치다. 남는 문제는 둘이다. 두 카메라의 상대 자세(캘리브레이션)와, 같은 점 찾기(대응).

깊이 z = f · B / d
f = 초점거리(px), B = 기준선 길이(m), d = 시차(px, 왼쪽·오른쪽 영상에서의 열 차이)
거리에 따른 스테레오 깊이 오차. 시차 오차 0.25, 1, 2 화소일 때의 곡선
그림 5. 깊이 오차는 거리의 제곱으로 자란다. KITTI의 카메라(f = 721 px, B = 0.54 m)에서 시차 1화소 오차는 10 m에서 26 cm, 40 m에서 4.1 m가 된다. 스테레오가 가까운 곳에서는 LiDAR만큼 정확하지만 먼 곳에서는 급격히 나빠지는 이유다. 기준선을 늘리면 나아지지만 차 폭이 한계다.
더 읽기

대응 찾기의 가장 단순한 방법이 블록 정합이다. 왼쪽 영상의 작은 창을 오른쪽 영상의 같은 행에서 옆으로 밀며 차이의 절댓값 합(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

06
거리를 측정하다

LiDAR

원리는 ToF 카메라와 같고 파장과 출력이 다르다. 905 nm과 1550 nm의 선택은 검출기 값, 눈 안전, 물 흡수, 햇빛 잡음의 맞바꿈이다.

펄스의 왕복

레이저를 쏘고 돌아올 때까지 세다

LiDAR(Light Detection and Ranging)는 짧은 레이저 펄스를 쏘고 반사가 돌아오는 시간을 잰다. 거리 = 빛의 속도 × 시간 / 2. 100 m 왕복은 667 ns이고, 10 cm 정확도를 내려면 시간을 0.67 ns 단위로 재야 한다. 회전식은 레이저 여러 개를 수직으로 배열해 돌리고, 고체형은 거울이나 MEMS로 빔을 훑는다.

거리에 따른 LiDAR 이웃 점 간격. 64채널 0.4도, 16채널 2도, 수평 0.08도
그림 6. 채널 사이 각도가 정해져 있으므로 점 간격은 거리에 비례해 벌어진다. 16채널(수직 2°)은 50 m에서 줄 간격이 1.7 m를 넘어 보행자에 한 줄이 닿을까 말까다. 64채널은 같은 거리에서 4~5줄이 닿는다. "몇 m까지 본다"는 사양은 레이저가 닿는 거리이지 물체를 알아볼 수 있는 거리가 아니다.
더 읽기

거리 사양을 읽을 때 반사율을 함께 봐야 한다. "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 vs 1550 nm

파장 하나가 바꾸는 다섯 가지

항목905 nm1550 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

07
시간

새로운 센서, 그리고 시간 동기화

센서는 계속 좋아진다. 그런데 여러 센서를 함께 쓸 때 가장 흔한 실패는 성능이 아니라 시각이 어긋나는 것이다. 몇 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를 움직인다. 센서 융합의 첫 단계는 알고리즘이 아니라 모든 센서가 같은 시계를 보게 만드는 일이다.

시속 72km로 달리는 차의 10Hz LiDAR 한 회전을 한 시점으로 조립했을 때와 움직임을 보상했을 때의 벽 점구름 비교
그림 7. 시속 72 km, 10 Hz LiDAR. 한 회전을 한 시점으로 조립하면(왼쪽) 앞 벽이 두 조각으로 갈라지고 옆 벽 점의 간격이 바뀐다. 각 점을 찍은 순간의 차량 위치로 되돌리면(오른쪽) 벽이 제자리에 온다. 이 보정에는 점마다의 시각 기록과 그 시각의 차량 자세가 필요하다. 둘 중 하나라도 없으면 벽은 계속 갈라져 보인다.
직접 해보기 5 · 조작형

스캔 왜곡 시뮬레이터

목표: 속도와 회전 주기가 왜곡 크기를 어떻게 정하는지 본다. 조작: 속도와 LiDAR 주파수를 바꾸고, 보상 스위치를 켜고 끈다. 관찰 포인트: 왜곡은 속도 ÷ 주파수, 즉 한 회전 동안 이동한 거리와 같다. 20 Hz로 올리면 왜곡이 절반이 되지만 점 밀도도 절반이 된다.

회색 띠가 실제 벽, 점이 LiDAR가 조립한 벽. 색은 스캔 시각(어두움 → 밝음).
LiDAR 점을 카메라 영상에 투영할 때 33 ms 시각 차가 만드는 어긋남과 0 ms일 때의 정렬, 그리고 시각 차에 따른 어긋남 화소 수 그래프
그림 8. 카메라가 셔터를 연 순간과 LiDAR가 그 방향을 훑은 순간이 33 ms 다르면, 8 m 앞을 시속 36 km로 지나가는 차의 LiDAR 점(초록·벽돌색)은 영상 속 차(회색)보다 29화소 뒤에 찍힌다. 벽돌색 점은 차 밖의 배경에 얹힌 점이다. 하드웨어 트리거로 시각 차를 0으로 만들면(가운데) 점이 차 위에 놓인다. 오른쪽: 어긋남은 속도와 시각 차에 비례하고 거리에 반비례한다. 고속도로 속도에서 한 프레임(33 ms)의 차이는 70화소를 넘는다. 이 값은 시뮬레이션이며, 담당 교수 연구실은 회전식 LiDAR의 회전각을 읽어 카메라 셔터를 맞추는 방법을 개발해 특허(10-2141647, 2020)로 등록했다.
이 장의 결론

센서 융합의 정확도는 가장 좋은 센서가 아니라 가장 나쁜 시계가 정한다. 시각이 어긋난 데이터로 학습한 모델은 그 어긋남까지 학습한다.

더 읽기

동기화에는 층이 셋 있다. 첫째, 시계 동기화. 모든 장치가 같은 시각 기준(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

08
질문

왜 시각 인식은 어려운가

영상은 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만 가지 범주

눈, 비, 안개에서의 카메라 영상과 LiDAR 관측. 물튀김이 LiDAR에 물체로 잡힌다
사진 95. 악천후. 눈 속의 검출, 비 오는 도로의 카메라와 LiDAR(물튀김이 점으로 잡힌다), 앞유리 안팎의 카메라, 안개 속 표지판. 센서마다 실패하는 날씨가 다르다는 그림 1의 표를 사진으로 확인하는 자리다.
더 읽기

이 변동들은 두 부류로 나뉜다. 시점, 조명, 날씨는 같은 물체가 다른 숫자로 나타나는 문제이고, 변형과 범주 수는 다른 물체가 같은 이름으로 묶여야 하는 문제다. 앞의 것은 불변성(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

이 연구실의 문제

노출 하나가 인식 전체를 바꾼다

카메라의 동적 범위는 눈보다 훨씬 좁다. 밝은 하늘에 맞추면 그늘의 차가 사라지고, 그늘에 맞추면 하늘이 하얗게 날아간다. 자동 노출은 사진이 보기 좋도록 평균 밝기를 맞추지만, 인식 알고리즘에 필요한 것은 보기 좋은 사진이 아니라 경계와 질감이 살아 있는 사진이다.

특징점 SIFT, HOG 시각화, 선 검출 LSD, 딥러닝 AlexNet의 결과 예시
사진 101. 노출이 바뀌면 그 위에서 도는 모든 알고리즘이 영향을 받는다. 특징점(SIFT, 7주차), HOG 시각화(Hoggles), 선 검출(LSD), 딥러닝(AlexNet, 10주차). 센서 설정은 알고리즘의 첫 번째 하이퍼파라미터다.
이 장의 결론

인식이 어려운 이유의 절반은 세상이 복잡해서이고, 나머지 절반은 센서가 세상을 한 번 망가뜨려서다. 뒤의 절반은 센서를 이해하면 줄일 수 있고, 이 강의의 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)를 우선했고, 제품 사양은 제조사 문서를, 연구 결과는 원 논문을 인용했다. 기사와 개관 문서는 (개관)으로 표시했다. 사진과 삽화는 원 강의 슬라이드의 자료이며 캡션에 출처를 적었다.

교과서 · 표준

  1. Szeliski, R. Computer Vision: Algorithms and Applications, 2nd ed., Springer, 2022. 2장 "Image formation". szeliski.org/Book (저자 공개 PDF)
  2. Hecht, E. Optics, 5th ed., Pearson, 2017. 6장 (수차), 10장 (회절).
  3. IEC 61966-2-1:1999 (sRGB) · IEC 60825-1:2014 (레이저 안전 등급).
  4. Poynton, C. Digital Video and HD: Algorithms and Interfaces, 2nd ed., Morgan Kaufmann, 2012.

논문 · 특허

  1. Airy, G. B. "On the Diffraction of an Object-glass with Circular Aperture." Trans. Cambridge Phil. Soc. 5, 1835.
  2. Rayleigh. "Some Applications of Photography." Nature 44, 1891. DOI
  3. Shannon, C. E. "Communication in the Presence of Noise." Proc. IRE 37(1), 1949. DOI
  4. Bayer, B. E. "Color imaging array." US Patent 3,971,065, 1976. Google Patents
  5. Biederman, I. "Recognition-by-components." Psychological Review 94(2), 1987. DOI
  6. Ng, R. et al. "Light Field Photography with a Hand-held Plenoptic Camera." Stanford CTSR 2005-02. PDF
  7. Litwiller, D. "CMOS vs. CCD: Maturing Technologies, Maturing Markets." Photonics Spectra, 2005.
  8. Scharstein, D. & Pal, C. "Learning Conditional Random Fields for Stereo." CVPR 2007. Middlebury 2005
  9. Geiger, A., Ziegler, J. & Stiller, C. "StereoScan: Dense 3d Reconstruction in Real-time." IV 2011. DOI
  10. Rodriguez, S. A. F. et al. "An embedded multi-modal system for object localization and tracking." IEEE ITS Magazine 4(4), 2012. DOI
  11. Hansard, M. et al. Time-of-Flight Cameras. Springer, 2012. DOI
  12. Shim, I., Lee, J.-Y. & Kweon, I. S. "Auto-adjusting Camera Exposure for Outdoor Robotics using Gradient Information." IROS 2014. DOI
  13. 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
  14. Menze, M. & Geiger, A. "Object Scene Flow for Autonomous Vehicles." CVPR 2015. KITTI 2015
  15. Xiang, Y. & Savarese, S. "Data-Driven 3D Voxel Patterns for Object Category Recognition." CVPR 2015.
  16. Shim, I. et al. "Gradient-Based Camera Exposure Control for Outdoor Mobile Platforms." IEEE T-CSVT 29(6), 2019. DOI
  17. Bijelic, M. et al. "Seeing Through Fog Without Seeing Fog." CVPR 2020. arXiv
  18. Li, M., Wang, Y.-X. & Ramanan, D. "Towards Streaming Perception." ECCV 2020. arXiv
  19. 심인욱 외. "다중 카메라간의 센서 동기화 방법 및 그 장치." 대한민국 특허 10-2141647, 2020.
  20. Gallego, G. et al. "Event-based Vision: A Survey." IEEE T-PAMI 44(1), 2022. arXiv
  21. Xu, G. et al. "Iterative Geometry Encoding Volume for Stereo Matching." CVPR 2023. arXiv

제품 문서 · 개관

  1. Microsoft, Azure Kinect DK depth camera 문서 · Intel RealSense projectors 문서 · Sony IMX490 · Velodyne HDL-64E 설명서 · RoboSense RS-LiDAR-M1.
  2. Harry Ransom Center, "The First Photograph" (니엡스). hrc.utexas.edu
  3. (개관) Cambridge in Colour (노출, 회절, 심도) · B&H Explora · Scratchapixel · Synopsys · LiDAR News · Digital Camera World.
  4. (사진·삽화) Andreas Geiger 강의 슬라이드, Nando Harmsen(회절), Fei-Fei Li 강의 슬라이드, Antonio Torralba(범주·조명), Szeliski 교과서 그림, 각 제조사 홍보 자료, 담당 교수 연구실 자료.
인하대학교 스마트모빌리티공학과 · 차량비전시스템(FVE4010) · 담당: 심인욱 · 2026년 2학기.
도표(그림 1~7)는 matplotlib으로 직접 제작했으며(생성 코드 figs/make_figs_L2.py), 사진과 삽화(사진 1~101)는 담당 교수가 강의용으로 엄선한 원 슬라이드의 자료로 캡션에 원 출처를 표시했다. 교육 목적의 인용이며 재배포 시 각 원 출처의 조건을 따른다.