플랫필드 보정 게인은 조명 불균일과 함께 잡음도 키운다
LIGHTING
보정 게인은 모서리의 밝기를 되돌리지만 잡음도 함께 키워서, 빛이 60 %인 모서리에서는 같은 판정선을 잡음이 넘을 확률이 30배가 됩니다.
가로 120 mm의 흰 사출 하우징을 5 MP 카메라로 보는 셋업에서 보정 게인과 잡음, 렌즈 감쇠의 몫, 기준판 평균 장수를 계산했습니다.
읽는 시간 약 13분
흰 기준판을 한 장 찍어 화소마다 게인을 곱하면 조명 얼룩은 끝난다는 생각은 보정 뒤 화면을 보면 그럴듯합니다. 가로 120 mm의 무광 흰색 ABS 하우징을 비추면 면은 빛을 사방으로 고르게 흩는 확산 반사1가 대부분이라, 화면 밝기가 조명의 분포를 거의 그대로 옮겨 놓습니다. 조명의 발광면이 시야를 다 덮지 못하면 모서리는 가운데보다 어두워지고, 플랫필드 보정2은 그 모서리에 게인을 곱해 화면을 평평하게 펴 줍니다.
펴진 화면에서 놓치는 것은 잡음입니다. 가운데에서 잘 잡히던 대비 5 %의 얼룩이 모서리에서는 잡음 속에 묻혀 통과하고, 판정선을 낮추면 이번에는 모서리에서만 과검출이 몰립니다. 불량이 화면의 특정 자리에 치우쳐 새어 나가니 원인이 조명이라는 사실은 한참 뒤에야 드러나고, 그 사이 출하된 로트의 선별 비용은 이미 쌓인 뒤입니다.
물음은 보정 게인이 조명의 불균일을 어디까지 지워 주느냐입니다. 저라면 게인을 지우개가 아니라 조명 상태를 재는 숫자로 다룹니다. 계산은 2,448 × 2,048 px, 화소 3.45 μm인 5 MP 카메라에 25 mm 렌즈를 달아 가로 120 mm, 세로 100 mm를 본다는 가정으로 진행합니다. 한 칸은 49.0 μm, 렌즈 주점에서 하우징까지의 WD3는 약 380 mm입니다.
평평해진 화면이 숨기는 것
보정식은 대개 (원본 − 암 프레임) ÷ (기준판 − 암 프레임) × 기준판 평균의 꼴입니다. 렌즈 캡을 씌우고 찍은 암 프레임4으로 센서의 바닥값을 빼고, 흰 기준판 영상으로 화소마다 받는 빛의 몫을 나눠 주는 셈이죠. 가운데의 60 %만 빛을 받는 모서리에는 1 ÷ 0.6 = 1.67배의 게인이 곱해집니다.
어두운 사진을 휴대폰에서 밝게 끌어올리면 자글자글한 점이 함께 떠오르는 것과 같은 일이 모서리에서 일어납니다. 게인은 신호와 잡음을 가리지 않고 같은 배율로 키우니, 보정 뒤 화면은 평균만 평평할 뿐 잡음의 폭은 위치마다 다릅니다. 아래 그림의 가운데 그래프가 그 모양이에요.

그림의 아래쪽 곡선처럼 조명이 고르지 않으면 모서리의 게인이 경보선을 넘고, 가운데 그래프에서는 같은 얼룩이 한쪽에서는 잡음 위로 떠 있고 다른 쪽에서는 잡음 속에 묻힙니다. 화면 전체에 하나의 판정선을 걸면 가운데와 모서리의 검출 확률이 다른 두 검사가 한 화면 안에서 돌아가는 꼴이 됩니다. 판정선 하나로는 둘을 다 지키지 못합니다.
게인 1.67배가 모서리 잡음을 1.29배로 키운다
숫자로 옮기면 이렇습니다. 빛 알갱이의 수가 흔들리는 샷 노이즈5는 신호의 제곱근을 따라가니, 빛을 60 % 받는 모서리의 신호 대 잡음비6는 보정 전에 이미 가운데의 √0.6 = 0.77배입니다. 플랫필드 보정의 게인 1.67배가 평균을 되돌린 뒤에도 모서리 잡음은 가운데 잡음의 1 ÷ √0.6 = 1.29배로 남습니다.
판정선을 가운데 잡음의 표준편차7 4배, 곧 4σ 자리에 걸었다고 하겠습니다. 잡음이 정규 분포를 따른다고 가정하면 가운데 화소 하나가 잡음만으로 판정선을 넘을 확률은 0.0032 %입니다. 모서리에서는 같은 판정선이 모서리 잡음의 3.10배 자리에 놓여 그 확률이 0.097 %로 뛰고, 비로 따지면 30배입니다. 작은 차이가 아니죠. 판정선을 모서리에 맞춰 올리면 이번에는 가운데에서 잡던 얼룩을 놓칩니다. 조명이 어두워질 때 정상 화소가 불량으로 넘어가는 계산은 조명이 5 % 어두워지면 생기는 일에서 따로 다뤘습니다.
1.67배
빛이 60 %인 모서리에 곱해지는 보정 게인
1.29배
보정 뒤 모서리 잡음, 가운데 대비
30배
같은 4σ 판정선을 잡음이 넘을 확률, 가운데 대비. 정규 분포 가정
8비트 영상이라면 계조도 문제가 됩니다. 가운데 바탕이 200 계조일 때 대비 5 % 얼룩은 10 계조의 차이를 만들지만, 120 계조인 모서리에서는 6 계조입니다. 보정 뒤 이 차이는 다시 10 계조처럼 보여도 계조 간격이 1.67씩 벌어져 히스토그램8에 빈 칸이 생깁니다. 제 기준으로는 게인이 1.2배를 넘는 셋업이라면 12비트 출력으로 바꾸고, 12비트에서는 모서리의 같은 얼룩이 96 계조로 담겨 빈 칸이 판정에 끼어들 여지가 줄어듭니다.
렌즈가 먼저 가져가는 8 %
조명만 고르게 만들면 될 것 같지만 렌즈가 먼저 몫을 떼어 갑니다. 렌즈를 지난 빛은 광축에서 벗어난 각도 θ에 따라 대략 cos⁴θ로 줄어드는데, 이것이 코사인 4승 법칙9이고 조리개를 조여도 사라지지 않습니다.
이 셋업에서 시야 모서리까지의 거리는 √(60² + 50²) = 78.1 mm이고, 물체 거리 380 mm에서 모서리를 보는 각도는 11.6°입니다. cos⁴(11.6°) = 0.92이니 조명이 완벽히 고르더라도 모서리는 가운데보다 8 % 어둡습니다. 렌즈 혼자 만든 차이입니다. 실제 렌즈의 값은 제조사가 내는 상대 조도 곡선으로 확인해야 하지만, 이 8 %는 조명기 카탈로그의 균일도 숫자에는 들어 있지 않은 몫이에요.
화면 균일도 목표를 평균 대비 ±10 %로 잡으면 가장 어두운 곳은 평균의 0.9, 가장 밝은 곳은 1.1이고 둘의 비는 0.82입니다. 렌즈가 모서리에서 8 %를 먼저 가져가니 조명기에 남는 여유는 생각보다 좁아서, 제 기준으로는 발광면을 시야보다 각 변 30 % 이상 크게 잡고 그래도 모자라면 모서리 쪽 출력을 조금 높인 배치로 렌즈 감쇠를 상쇄합니다. 이 목표를 지키면 최대 보정 게인은 1 ÷ 0.9 = 1.11배에 머물고, 모서리 잡음은 1.05배, 같은 4σ 판정선을 잡음이 넘을 확률은 가운데의 2.3배로 묶입니다.
기준판의 잡음은 모든 영상에 복사된다
플랫필드 보정의 기준판 영상은 한 번 찍고 잊는 설정값이 아니라, 이후 모든 검사 영상에 곱해지는 측정값입니다. 기준판 한 장에 섞인 잡음과 표면 결은 역수 게인으로 바뀌어 이후 모든 영상의 같은 자리에 고정된 무늬로 새겨집니다.
기준판을 찍을 때
흰 판 한 장이면 조명의 모양을 담기에 충분할 것 같습니다.
잡음을 더해 보면
한 장으로 만든 보정은 이후 모든 영상의 잡음을 1.41배로 키웁니다. 16장을 평균해야 1.03배로 내려옵니다.
기준판을 한 장만 찍으면 보정 뒤 영상의 잡음은 원래 잡음에 같은 크기의 고정 무늬가 더해져 √2 = 1.41배가 됩니다. 4장을 평균하면 1.12배, 16장이면 1.03배로 내려와 거의 원래 잡음으로 돌아옵니다. 그 정도면 충분합니다. 저라면 16장을 표준으로 두고, 기준판의 결이 무늬로 남지 않도록 장마다 기준판을 몇 mm씩 옮겨 가며 찍습니다.
취득 순서도 결과를 바꿉니다. 조명과 카메라가 운전 온도에 닿은 뒤, 검사와 같은 노출과 게인으로 렌즈 캡을 씌운 암 프레임 16장을 평균합니다. 이어 검사면과 같은 높이에 흰 기준판을 놓고 최대 계조의 70~80 % 근처에서 포화 없이 16장을 평균하고, 마지막으로 게인 맵의 최댓값을 기록합니다. 이 값이 설계 상한 1.25배를 넘으면 보정을 걸지 않고 조명 점검 경보를 띄웁니다.
그래서 게인 맵은 영상을 고치는 도구이기 전에 조명 상태를 기록하는 계측기가 됩니다. 1.25배라는 상한은 가장 어두운 곳이 평균의 80 %라는 뜻이고, 그 자리에서 같은 판정선을 잡음이 넘을 확률은 가운데의 5.5배입니다. 게인 맵 최댓값이 몇 주에 걸쳐 오르는 추이는 조명 열화나 오염을 가장 빨리 알려 주니, 저는 이 숫자를 검사 레시피와 같은 자리에 기록합니다. 조명이 늙으며 판정선이 무너지는 과정은 LED 광출력 열화와 온도 드리프트에서 따로 계산했습니다.
150 μm 흑점과 5 % 얼룩을 지키는 사양
흑점과 얼룩, 긁힘을 두고 조명과 렌즈, 플랫필드 보정 파라미터를 한 장에 모으면 아래와 같습니다. 칸 수는 49.0 μm 한 칸을 기준으로 셌습니다.
| 항목 | 기준값 | 조건·근거 | 풀어 쓰면 |
|---|---|---|---|
| ① 최소 불량 사이즈 · 흑점 이물 | 지름 150 μm = 3.06칸 (49.0 μm/px) | 가로 120 mm ÷ 2,448 px, 잡음이 넓어지면 가장 먼저 놓치는 결함 | 세 칸 남짓이라 모서리 잡음이 관건입니다 |
| ① 최소 불량 사이즈 · 저대비 얼룩 | 지름 1,000 μm(20.4칸), 대비 5 % | 크기보다 대비가 제약, 8비트 모서리에서 6 계조 | 크기는 넉넉해도 대비가 빠듯합니다 |
| ① 최소 불량 사이즈 · 표면 긁힘 | 길이 2,000 μm = 40.8칸 | 선형 결함, 방향성 필터 | 길게 이어진 선으로 봅니다 |
| ② 광학 셋업 · 표면과 조명 | 무광 흰색 ABS, 대면적 확산 면조명, 발광면은 시야보다 각 변 30 % 이상 | 화면 균일도 평균 대비 ±10 % 목표, 가장 어두운 곳과 밝은 곳의 비 0.82 이상 | 조명이 시야보다 넉넉히 커야 합니다 |
| ② 광학 셋업 · 카메라와 렌즈 | 5 MP(3.45 μm), 25 mm, 12비트 출력 | 모서리 각도 11.6°, cos⁴θ = 0.92(렌즈만으로 8 %) | 렌즈가 모서리 8 %를 먼저 가져갑니다 |
| ② 광학 셋업 · WD | 약 380 mm(주점 기준) | 면조명 하우징과 카메라 브래킷의 간섭을 포함해 실측 | 조명 하우징 높이까지 재서 확보합니다 |
| ③ 알고리즘 파라미터 · 보정 기준 | 암 프레임과 흰 기준판 각 16장 평균 | 보정 뒤 잡음 1.03배(한 장이면 1.41배) | 기준판은 여러 장 평균합니다 |
| ③ 알고리즘 파라미터 · 게인 상한 | 1.25배 넘으면 보정 중단과 경보 | ±10 % 설계에서 명목 최대 1.11배, 1.25배는 가장 어두운 곳 80 % | 게인이 크면 조명을 점검합니다 |
| ③ 알고리즘 파라미터 · 검출 임계 | 국소 바탕 대비 편차 4σ, σ는 8 × 8 구역마다 추정 | 위치별 잡음 차이를 판정선에 반영 | 자리마다 잡음에 맞춘 판정선을 씁니다 |
| ③ 알고리즘 파라미터 · 기준 재취득 | 조명이나 렌즈를 바꿀 때와 주 1회 | 게인 맵 최댓값 추이 기록 | 정기적으로 다시 찍습니다 |
표의 첫 줄과 게인 상한 줄을 나란히 보면, 3.06칸짜리 흑점을 지키는 열쇠는 보정 파라미터보다 조명의 균일도라는 점이 드러납니다. ±10 %를 하드웨어로 지키면 명목 게인은 1.11배에 머물고 경보선 1.25배와의 사이에 조명 열화를 흡수할 여유가 남지만, 빛이 60 %인 모서리를 게인으로 메운 셋업에서는 흑점이 가장 먼저 잡음에 묻힙니다. 검출 임계를 구역별 σ로 거는 일은 오검출을 고르게 할 뿐, 묻힌 흑점을 다시 꺼내 주지는 못합니다.
보정만으로 충분한 셋업도 있다
반대로 게인 보정만으로 충분한 셋업도 분명히 있습니다. 시야가 좁은 작은 부품은 모서리 각도가 작아 렌즈 감쇠가 미미하고 발광면도 쉽게 시야를 덮어, 범용 조명에 플랫필드 보정만 더해도 게인이 작게 유지됩니다. 흰 면 위의 검은 이물처럼 결함 대비가 30 %를 넘는다면 게인 1.5배 수준의 잡음 증폭을 받아도 검출 여유가 남아, 조명을 바꾸는 비용이 더 클 수 있어요.
광택 수지나 금속 가공면처럼 난반사와 정반사10가 섞이는 재질은 흰 기준판과 시료의 반사 특성이 달라, 기준판으로 만든 게인이 시료 위에서는 다른 모양으로 작동합니다. 시료가 조금만 기울어도 얼룩 모양 자체가 바뀌니, 이런 표면에서 보정이 얼마나 듣는지는 샘플 테스트 전 확언 불가입니다.
게인 맵의 숫자를 조명 사양으로 되돌리는 사람이 현장의 머신비전 엔지니어입니다. 처음 공부하는 단계라면 흰 종이를 책상 조명 아래 놓고 휴대폰으로 찍은 뒤 모서리를 확대해, 밝기를 끌어올린 자리일수록 점이 자글자글해지는 모습을 직접 견줘 보길 권합니다. 설비 예산 쪽에서 보면 발광면이 큰 조명은 단가가 오르지만, 그 비용은 모서리에서 새어 나간 로트를 선별하는 비용과 같은 표에 놓고 견줘야 공정합니다. 이 글은 기술 설명이며 투자 권유가 아닙니다. 자세한 내용은 면책조항을 참고하세요.
현장 노트
게인 맵의 최댓값이 1.6배 근처라면 저는 보정 결과 대신 조명의 발광면부터 봅니다. 이 셋업의 계산으로는 그 자리가 빛을 60 % 남짓만 받고 있고, 같은 판정선에서 잡음이 판정선을 넘는 확률이 가운데의 30배 가까이 되기 때문입니다. 발광면이 시야보다 작게 놓였다면 키우거나 거리를 조정하고, 기준판을 16장 평균으로 다시 찍어 게인이 1.2배 안쪽으로 내려오는지 확인합니다.
현장 체크포인트
게인 맵 최댓값을 손에 쥐었다면, 아래 질문으로 조명과 보정을 사양서 문장으로 옮겨 봅니다.
- WD 약 380 mm(25 mm 렌즈, 주점 기준) 안에서 면조명 하우징과 카메라 브래킷이 서로 간섭하지 않는가? (렌즈 앞면 기준 거리는 렌즈 도면으로)
- 검사면이 빛을 고루 흩는 무광인지, 정반사가 섞이는 광택면인지 먼저 확인했는가? (기준판 보정이 통하는지가 갈린다)
- 보정 전 원본에서 가장 어두운 곳과 가장 밝은 곳의 비가 0.82 이상인가? (±10 % 목표의 하드웨어 확인값)
- 암 프레임과 흰 기준판을 운전 온도에서 각 16장 평균으로 찍었는가?
- 게인 맵 최댓값이 1.25배 이하이고, 그 추이를 기록하고 있는가?
- 검출 임계를 화면 전체 단일 값 대신 구역별 σ로 걸었는가? (오검출이 모서리에 몰리지 않게)
자주 묻는 질문
게인 대신 노출을 늘리면 모서리 잡음이 줄지 않나요?
줄어듭니다. 노출을 늘리면 모서리에도 광자가 실제로 더 들어와 SNR이 오르니까요. 다만 가운데가 함께 밝아져 포화에 먼저 닿으니, 가운데를 최대 계조의 80 %에 둔 상태에서 모서리 SNR을 가운데만큼 올리려면 결국 조명의 분포를 바꾸는 수밖에 없습니다. 노출은 화면 전체의 밝기를, 조명 배치는 화면 안의 비율을 바꾸는 손잡이라고 보면 갈피가 잡힙니다.
흰 기준판은 아무 흰 판이나 써도 되나요?
표면 결이 고르고 빛을 사방으로 고르게 흩는 판이어야 합니다. 결이 거친 판은 그 결이 고정 무늬로 모든 영상에 새겨지고, 광택이 있는 판은 조명 위치에 따라 반사점이 생겨 게인 맵에 구멍을 냅니다. 저라면 기준판도 오염과 변색이 생기는 소모품으로 보고, 게인 맵 최댓값이 이유 없이 오를 때 기준판을 닦거나 바꿔 본 다음에 조명을 의심합니다.
용어 풀이
- [1] 확산 반사 diffuse reflection
거친 면에서 빛이 사방으로 고르게 흩어져 돌아오는 반사입니다. 어느 방향에서 봐도 밝기가 비슷하게 보입니다. ↩ - [2] 플랫필드 보정 flat-field correction
흰 기준판을 찍은 영상으로 화소마다 게인을 정해 화면 밝기를 평평하게 만드는 보정입니다. 셰이딩 보정이라고도 부릅니다. ↩ - [3] WD working distance, 작동 거리
렌즈에서 검사면까지의 거리입니다. 본문 값은 얇은 렌즈 근사로 렌즈 주점에서 잰 것이고, 렌즈 앞면에서의 실제 여유는 렌즈 도면으로 확인합니다. ↩ - [4] 암 프레임 dark frame
빛을 막고 검사와 같은 노출로 찍은 영상입니다. 센서가 빛 없이도 내는 바닥값을 화소마다 담고 있습니다. ↩ - [5] 샷 노이즈 shot noise
빛 알갱이가 센서에 도착하는 수가 매번 조금씩 달라 생기는 잡음입니다. 크기는 신호의 제곱근을 따라갑니다. ↩ - [6] 신호 대 잡음비 signal-to-noise ratio, SNR
신호의 크기를 잡음의 크기로 나눈 값입니다. 같은 결함이라도 이 값이 낮은 자리에서는 잡음과 가르기 어렵습니다. ↩ - [7] 표준편차 standard deviation, σ
값들이 평균에서 얼마나 흩어져 있는지를 나타내는 폭입니다. 잡음이 정규 분포라면 평균에서 4σ 밖으로 나가는 값은 3만 번에 한 번꼴입니다. ↩ - [8] 히스토그램 histogram
화면의 화소들을 밝기별로 세어 막대로 그린 그래프입니다. 게인을 크게 곱하면 막대 사이에 빈 칸이 생깁니다. ↩ - [9] 코사인 4승 법칙 cos⁴ law, natural vignetting
렌즈를 지난 빛의 밝기가 광축에서 벗어난 각도의 코사인 네제곱을 따라 줄어드는 자연 감쇠입니다. 조리개를 조여도 사라지지 않습니다. ↩ - [10] 정반사 specular reflection
매끈한 면에서 빛이 들어온 각도와 같은 각도로 한 방향으로만 튕겨 나가는 반사입니다. 시료가 조금만 기울어도 밝기가 크게 바뀝니다. ↩
참고 자료
- 계산식: 보정 = (원본 − 암 프레임) ÷ (기준판 − 암 프레임) × 기준판 평균, 게인 = 1 ÷ 상대 밝기, 보정 뒤 잡음 비 = 1 ÷ √상대 밝기, 판정선 초과 확률 = Φ(−4 ÷ 잡음 비), 기준판 N장 평균 뒤 잡음 = √(1 + 1/N), 상대 조도 ≈ cos⁴θ, θ = atan(모서리 거리 ÷ 물체 거리)
- 계산 가정: 5 MP 카메라(2,448 × 2,048 px, 3.45 μm), 25 mm 렌즈, 시야 120 mm × 100 mm, 모서리 상대 밝기 0.6, 판정선 4σ, 잡음은 정규 분포, 8비트 가운데 바탕 200 계조와 모서리 120 계조, 얼룩 대비 5 %
- Vignetting(natural vignetting과 cos⁴ 법칙), Wikipedia. en.wikipedia.org/wiki/Vignetting
함께 읽으면 좋은 글 — LED 조명이 어두워지면 어제의 임계값이 오늘 결함을 놓친다 · 라인스캔 영상의 양 끝은 왜 어두운가 · 조명이 5 % 어두워지면 정상 화소 몇 개가 불량이 될까


