라인스캔 영상의 양 끝은 왜 어두운가
LIGHTING
라인스캔 영상의 양 끝은 렌즈가 먼저 23 %를 깎아 어둡고, 그 몫은 조명을 양 끝에서 1.3배 밝게 짜야 밝기와 잡음이 함께 돌아옵니다.
4,096 px 라인 센서로 가로 300 mm를 보는 셋업에서 코사인 4승 감쇠, 막대 조명의 끝 처짐, 높이가 2 mm 흔들릴 때 빛 띠가 미끄러지는 거리를 계산했습니다.
읽는 시간 약 13분
가로 300 mm를 4,096 px 라인 센서로 찍은 영상에서 양 끝의 밝기는 가운데의 0.77배입니다. 조명이 아무리 고르게 비춰도 이 숫자는 남는데, 원인이 조명보다 렌즈 쪽에 있기 때문이에요. 검사할 면이 빛을 사방으로 흩는 무광 사출 패널이라면 반사의 방향보다 빛의 양이 화면 밝기를 정하고, 헤어라인을 낸 금속판처럼 한 방향으로 튕기는 성분이 섞인 면이라면 조명 각도에도 따로 민감해집니다.
양 끝이 어두우면 같은 판정선에서 가장자리 결함은 놓치고, 가장자리에 맞춰 판정선을 내리면 가운데에서 과검출이 늘어납니다. 여기에 패널 높이가 흔들려 비스듬히 들어오는 빛 띠가 카메라가 보는 줄에서 비켜 나가면, 결함이 없는 구간이 통째로 어두워져 오판정이 줄지어 생깁니다. 라인스캔은 한 줄씩 영상을 쌓으니 그 한 줄의 빛이 영상 전체의 콘트라스트1를 정합니다.
물음은 양 끝을 무엇으로 메울지입니다. 저라면 소프트웨어 게인보다 조명의 길이 방향 분포로 먼저 메우고, 비스듬히 들어오는 각도는 높이가 흔들리는 폭에 맞춰 정합니다. 계산은 화소 7 μm인 4,096 px 라인 센서에 35 mm 렌즈를 달아 가로 300 mm를 본다는 가정으로 진행하고, 이때 한 칸은 73.2 μm, 렌즈 주점에서 패널까지의 WD2는 약 401 mm입니다.
양 끝의 0.77은 렌즈가 만든다
렌즈를 지난 빛이 센서에 닿을 때의 밝기는 광축에서 벗어난 각도 θ에 따라 대략 cos⁴θ로 떨어집니다. 코사인 4승 법칙3이라 부르는 자연 감쇠로, 렌즈 경통이 빛을 가리는 기계적 비네팅이 없어도 생기고 조리개를 조여도 사라지지 않습니다. 라인스캔은 한 방향으로만 시야가 길어 화각이 커지기 쉽고, 그만큼 이 감쇠가 크게 나타납니다.
이 셋업에서 센서 길이는 4,096 × 7 μm = 28.7 mm이고 배율은 0.0956이라, 얇은 렌즈 근사로 물체 거리는 약 401 mm가 됩니다. 시야 가장자리까지의 반화각4은 tanθ = 150 ÷ 401에서 20.5°이고, cos⁴(20.5°)는 0.77입니다. 조명이 완벽히 고르더라도 양 끝의 신호는 가운데의 77 %에 머뭅니다. 실제 렌즈는 경통 구조와 조리개 위치에 따라 이 값에서 조금씩 벗어나니, 제조사가 내는 상대 조도 곡선이나 흰 기준판을 찍은 영상으로 한 번 확인해 두고 그 값을 이후 계산의 출발점으로 씁니다.
초점거리가 길수록 같은 시야를 보는 반화각이 줄어 이 숫자는 1에 가까워집니다. 같은 300 mm를 70 mm 렌즈로 보면 물체 거리가 약 802 mm로 늘고 반화각은 10.6°, cos⁴는 0.93이 됩니다. 대신 WD가 두 배로 늘어 설치 높이를 따로 확보해야 하고, 긴 렌즈가 분해능까지 지키는지는 라인스캔 렌즈의 MTF로 따로 따져야 합니다. 짧은 렌즈의 0.77을 조명으로 메울지 긴 렌즈로 피할지가 설계의 첫 갈림길이에요.
게인 1.3배는 밝기만 돌려준다
양 끝의 0.77을 메우는 가장 쉬운 방법은 화소마다 보정 게인을 곱하는 플랫필드 보정5입니다. 가장자리에 1 ÷ 0.77 = 1.30배를 곱하면 영상의 밝기는 평평해집니다. 아래 그림의 위쪽 그래프에서 렌즈 감쇠 곡선과 보정 뒤의 평평한 선을 볼 수 있습니다.

차이는 아래쪽 그래프가 보여 줍니다. 빛 알갱이의 수가 흔들리는 샷 노이즈6는 신호의 제곱근을 따라가서, 신호가 0.77인 가장자리의 신호 대 잡음비7는 가운데의 √0.77 = 0.88에 머뭅니다. 게인은 신호와 잡음을 같은 배율로 키우니 이 0.88은 보정 뒤에도 그대로 남아요. 반대로 조명을 양 끝에서 1.3배 밝게 짜면 가장자리에 광자가 실제로 더 도착해 SNR까지 가운데와 같아집니다.
그래서 저는 조명 프로파일로 대부분을 메우고 플랫필드 보정은 남은 몇 %를 다듬는 데만 씁니다. 가장자리의 SNR이 12 % 낮다는 것은 같은 판정선에서 가장자리만 잡음이 판정선을 더 자주 넘거나 가는 결함이 잡음에 더 자주 묻힌다는 뜻이고, 결함이 화면 어디에 생길지는 고를 수 없습니다. 검출률이 얼마나 떨어지는지는 판정선과 결함의 대비에 따라 달라 12 %가 그대로 검출률 12 % 하락을 뜻하지는 않지만, 같은 판정선 아래에서 가장자리만 불리하다는 방향은 바뀌지 않습니다. 보정 게인이 잡음을 얼마나 키우는지는 플랫필드 보정의 한계에서 면 카메라 기준으로 따로 계산했습니다.
막대 조명은 자기 끝에서도 처진다
끝을 깎는 것은 렌즈만이 아닙니다. 라인 조명은 LED를 길이 방향으로 줄지어 놓은 막대라, 면 위의 한 점은 양옆 LED의 빛을 함께 받습니다. 시야 가운데는 양쪽 이웃을 다 받지만 막대 끝 근처는 한쪽 이웃이 없어 그만큼 어두워져요.
조명이 패널에서 70 mm 떨어져 있고 길이 방향으로는 LED가 고르게 퍼지는 빛을 낸다고 가정하고 계산하면, 막대 길이가 시야와 같은 300 mm일 때 시야 끝의 조도는 가운데의 0.51까지 떨어집니다. 양쪽으로 30 mm씩 길게 잡으면 0.76, 60 mm씩 늘려 420 mm로 잡으면 0.89까지 올라옵니다. 렌즈의 0.77과 막대의 끝 처짐은 곱해지니, 막대를 시야 폭에 맞춰 사면 양 끝은 가운데의 0.40으로 절반 아래까지 내려갑니다.
막대 길이를 고를 때
조명이 시야 폭만큼만 길면 양 끝까지 고르게 비출 것 같습니다.
끝 처짐을 계산하면
시야와 같은 300 mm 막대는 시야 끝을 가운데의 0.51로만 비춥니다. 양쪽에 60 mm를 더해야 0.89까지 올라옵니다.
그래서 막대 길이는 시야 폭에 양쪽 여유를 더해 정하고, 남은 끝 처짐과 렌즈 감쇠는 LED 구동 전류를 구간별로 나눠 양 끝을 키우는 프로파일로 메웁니다. 그림의 1.3배는 면에 닿는 조도 기준이라, 막대 자체의 0.89까지 고려하면 양 끝 LED의 출력은 가운데보다 1.45배 남짓 세게 잡아야 합니다. 제 기준으로는 막대 자체의 끝 처짐이 0.9 아래로 내려가지 않을 만큼 길이를 먼저 확보하고, 구간별 전류 조정이 안 되는 조명이라면 여유 길이를 더 늘리는 쪽을 택합니다. 전류를 구간별로 맞출 때는 흰 기준판을 찍으면서 양 끝 구간을 한 단계씩 올리고, 보정 전 길이 방향 밝기가 ±5 % 안에 들어오는 지점에서 멈춥니다.
높이가 흔들리면 빛 띠가 옆으로 미끄러진다
라인스캔은 노출이 짧아 빛을 좁은 띠로 모아야 합니다. 한 줄을 찍는 주기가 50 μs라면 노출은 45 μs 안팎이고, 1 ms 노출의 면 카메라와 같은 신호를 얻으려면 22배 센 빛이 필요합니다. 그래서 로드 렌즈로 LED 빛을 폭 몇 mm의 띠로 모으는 집광형 라인 조명8을 쓰는데, 이 띠는 정해진 거리에서만 그 폭을 지킵니다.
카메라가 수직으로 내려다보고 조명이 법선에서 θ만큼 기울어 있을 때, 패널이 Δz만큼 오르내리면 빛 띠가 비추는 자리는 Δz × tanθ만큼 옆으로 미끄러집니다. 카메라가 보는 줄은 그대로이니 줄은 띠의 가운데 대신 비탈을 보게 되죠. 책상 위에 손전등 빛을 비스듬히 비춰 두고 종이 한 묶음을 받쳐 올리면 빛 자국이 옆으로 밀리는 것과 같은 모양입니다.
띠의 반치폭을 3 mm, 높이 흔들림을 ±2 mm로 가정하면 입사각 30°에서 띠는 1.15 mm 미끄러지고, 줄 위의 조도는 흐려짐을 빼고도 34 % 떨어집니다. 입사각을 15°로 낮추면 미끄러짐은 0.54 mm, 조도 저하는 8.5 %로 줄어듭니다. 여기에 띠가 정해진 거리를 벗어나며 넓어지는 흐려짐이 더해지니 실제 저하는 이 숫자보다 조금 큽니다.
1.15mm
입사각 30°에서 높이 2 mm가 띠를 미는 거리
34%
그때 줄 위의 조도 저하, 띠 반치폭 3 mm 가정
8.5%
입사각을 15°로 낮췄을 때의 저하
대가도 있습니다. 카메라가 수직이고 조명이 15°라면 면이 7.5°만 기울어도 정반사9가 렌즈로 들어오고, 30°라면 15°까지 버팁니다. 헤어라인 금속처럼 한 방향으로 튕기는 성분이 섞인 면이나 휘어진 패널에서는 입사각을 낮추는 만큼 반짝이는 줄무늬가 생길 위험이 커지니, 이 교환이 어디서 맞는지는 샘플 테스트 전 확언 불가입니다. 높이 흔들림 자체를 붙잡는 기구 쪽 대책은 별도 검토가 필요합니다.
여기서 쓸모 있는 부산물이 하나 생깁니다. 결함이 없는 구간의 줄 평균 밝기가 곧 높이 흔들림의 지표라는 점이에요. 저라면 줄 평균이 기준보다 10 % 넘게 떨어지는 줄은 판정보다 먼저 보류 신호를 띄웁니다. 입사각 15°에서 최악의 저하는 8.5 %라 이 경보 안쪽에 머물고, 30°였다면 34 %가 경보를 늘 울렸을 겁니다. 줄 평균은 결함이 지나갈 때도 조금 내려가지만, 4,096 px 줄에서 폭 4칸짜리 결함이 평균을 바꾸는 몫은 0.1 %에도 못 미쳐 높이 흔들림과 섞이지 않습니다.
250 μm 긁힘을 지키는 라인 조명 사양
렌즈 감쇠와 막대 길이, 입사각을 사양서 한 장으로 옮기면 아래와 같습니다. 칸 수는 73.2 μm 한 칸을 기준으로 셌고, 조명 줄에는 각 숫자가 어디서 왔는지를 함께 적었습니다.
| 항목 | 기준값 | 조건·근거 | 풀어 쓰면 |
|---|---|---|---|
| ① 최소 불량 사이즈 · 표면 긁힘 | 폭 250 μm = 3.41칸 (73.2 μm/px) | 300 mm ÷ 4,096 px, 가장자리 SNR 0.88이면 여유가 가장 먼저 줄어드는 결함 | 세 칸 남짓이라 가장자리가 관건입니다 |
| ① 최소 불량 사이즈 · 이물과 찍힘 | 지름 300 μm = 4.10칸 | 블롭 4칸 이상 | 네 칸이면 잡습니다 |
| ① 최소 불량 사이즈 · 광택 얼룩 | 2 mm = 27.3칸 | 저주파 밝기 편차로 판정 | 넓은 얼룩은 밝기 차로 봅니다 |
| ② 광학 셋업 · 라인 조명 | 집광형, 길이 420 mm(시야 양쪽 60 mm 여유), 띠 반치폭 3 mm, 입사각 15° | 막대 끝 처짐 0.89(조명 높이 70 mm 가정), 면 조도 기준 양 끝 1.3배 프로파일 | 양 끝을 더 밝게 짠 막대를 씁니다 |
| ② 광학 셋업 · 카메라와 렌즈 | 라인 센서 4,096 px(7 μm), 35 mm, 노출 45 μs 안팎 | 반화각 20.5°, 양 끝 cos⁴θ = 0.77 | 렌즈가 양 끝 23 %를 깎습니다 |
| ② 광학 셋업 · WD | 약 401 mm(주점 기준) | 조명 하우징이 렌즈 시야를 가리지 않는지 실측, 70 mm 렌즈라면 약 802 mm | 설치 높이부터 잽니다 |
| ③ 알고리즘 파라미터 · 플랫필드 | 암전류와 흰 기준판의 2점 보정 | 조명 프로파일로 메운 뒤 남은 몇 %만 | 마지막 몇 %만 소프트웨어로 다듬습니다 |
| ③ 알고리즘 파라미터 · 균일도 판정 | 보정 전 길이 방향 밝기 ±5 % 이내 | 조명 프로파일 × cos⁴θ를 흰 기준판으로 실측 | 보정 전에 거의 평평해야 합니다 |
| ③ 알고리즘 파라미터 · 높이 이탈 경보 | 줄 평균 밝기가 기준보다 10 % 넘게 떨어지면 판정 보류 | 입사각 15°의 최악 저하 8.5 %가 경보 안쪽 | 빛 띠가 미끄러지면 먼저 알립니다 |
| ③ 알고리즘 파라미터 · 결함 검출 | 긁힘: 줄 방향 선형 필터, 이물: 블롭 4 px 이상 | 정상품 기준으로 재조정 | 선과 점을 따로 찾습니다 |
표에서 가장 빠듯한 줄은 3.41칸짜리 긁힘이고, 그 여유를 가장 먼저 깎는 것이 가장자리의 SNR이라는 점이 보입니다. 소프트웨어 게인만으로 양 끝을 메우면 3.41칸의 긁힘을 가장자리에서 12 % 낮은 SNR로 찾아야 하니, 제 판단으로는 조명 프로파일을 짜는 일이 이 결함을 지키는 길입니다. 입사각과 경보 기준도 한 쌍으로 묶여 있어서 하나를 바꾸면 다른 하나를 다시 계산합니다.
집광형과 확산형이 갈리는 표면
반대 접근이 맞는 표면도 분명히 있습니다. 패널 높이가 크게 흔들리거나 표면이 휘어 있고 광택이 강하다면, 집광 띠의 미끄러짐과 정반사 줄무늬가 함께 커지니 띠가 넓고 부드러운 확산형 라인 조명10이 낫습니다. 같은 전력에서 줄 위 조도는 훨씬 낮아지니 노출 45 μs에서 신호가 모자라지 않은지를 함께 계산해야 하고요.
빛 여유가 넉넉해 가장자리 SNR 0.88을 감수할 수 있다면 조명 프로파일을 따로 짜지 않고 고른 막대와 플랫필드 보정만으로 운영하는 편이 싸고, 시야가 좁거나 초점거리가 길어 반화각이 작으면 cos⁴θ 감쇠 자체가 작아 프로파일 보상의 이득이 거의 없습니다. 표면의 난반사와 정반사 비율, 실제 높이 흔들림의 분포는 제품마다 달라서 어느 쪽이 맞는지는 샘플 테스트 전 확언 불가입니다.
이 곱셈을 매일 다루는 사람이 라인스캔 셋업을 맡는 머신비전 엔지니어입니다. 처음 익히는 단계라면 흰 종이 위에 막대 조명을 놓고 휴대폰 카메라로 양 끝과 가운데를 같은 노출로 찍어, 끝이 어디서부터 처지는지 눈으로 확인해 보길 권합니다. 설비 예산 쪽에서 보면 구간별 전류 조정이 되는 막대 조명은 단가가 오르니, 그 차액과 가장자리 결함을 놓쳤을 때의 비용을 한 표에 놓고 견주는 편이 맞습니다. 이 글은 기술 설명이며 투자 권유가 아닙니다. 자세한 내용은 면책조항을 참고하세요.
현장 노트
라인 평균 밝기가 일정한 간격으로 출렁인다면 저는 조명 전원을 의심하기 전에 줄 평균을 시간 축으로 기록해 그 주기부터 봅니다. 주기가 패널 높이가 오르내리는 주기와 맞고 저하 폭이 이 셋업의 계산처럼 입사각 30°에서 30 % 안팎이라면, 빛 띠가 옆으로 미끄러지고 있는 쪽입니다. 그때는 입사각을 15° 근처로 낮추되, 광택이 강한 품목에서 반짝이는 줄무늬가 생기는지를 품목별로 따로 봅니다.
현장 체크포인트
현장 노트의 줄 평균 기록이 손에 있다면, 아래 질문으로 라인 조명을 사양서 문장으로 옮겨 봅니다.
- WD 약 401 mm(35 mm 렌즈, 주점 기준)가 실측으로 확보되고, 라인 조명 하우징이 렌즈 시야를 가리지 않는가? (렌즈 앞면 기준 거리는 렌즈 도면으로)
- 검사면이 빛을 고루 흩는 무광인지, 한 방향 성분이 섞인 헤어라인이나 광택면인지 먼저 나눴는가? (집광형과 확산형의 갈림길)
- 막대 길이가 시야보다 양쪽으로 충분히 긴가? (같은 길이면 끝이 0.51까지 처진다)
- 흰 기준판으로 보정 전 길이 방향 밝기를 찍어 렌즈 감쇠와 조명 프로파일을 나눠 봤는가? (보정 전 ±5 % 목표)
- 실제 높이 흔들림 폭을 재서 Δz × tanθ로 띠의 미끄러짐을 계산했는가?
- 줄 평균 밝기 저하 경보가 판정 보류로 이어지게 설정했는가? (기준 대비 10 %)
용어 풀이
- [1] 콘트라스트 contrast
화면에서 결함과 바탕의 밝기 차이가 얼마나 뚜렷한지를 나타내는 값입니다. 이 차이가 잡음보다 넉넉히 커야 판정이 섭니다. ↩ - [2] WD working distance, 작동 거리
렌즈와 검사면 사이의 거리입니다. 본문 값은 얇은 렌즈 근사로 렌즈 주점에서 잰 것이라, 렌즈 앞면에서 잰 여유는 렌즈 도면으로 다시 맞춥니다. ↩ - [3] 코사인 4승 법칙 cos⁴ law, natural vignetting
렌즈를 지난 빛의 밝기가 광축에서 벗어난 각도의 코사인 네제곱을 따라 줄어드는 자연 감쇠입니다. 조리개를 조여도 사라지지 않습니다. ↩ - [4] 반화각 half field angle
광축과 시야 가장자리를 보는 시선 사이의 각도입니다. 시야가 넓거나 초점거리가 짧을수록 커집니다. ↩ - [5] 플랫필드 보정 flat-field correction
흰 기준판을 찍은 영상으로 화소마다 게인을 정해 화면 밝기를 평평하게 만드는 보정입니다. 밝기는 맞춰도 잃은 광자는 되돌리지 못합니다. ↩ - [6] 샷 노이즈 shot noise
빛 알갱이가 센서에 도착하는 수가 매번 조금씩 달라 생기는 잡음입니다. 크기는 신호의 제곱근을 따라갑니다. ↩ - [7] 신호 대 잡음비 signal-to-noise ratio, SNR
신호의 크기를 잡음의 크기로 나눈 값입니다. 클수록 결함과 잡음을 가르기 쉽습니다. ↩ - [8] 집광형 라인 조명 focused line light
로드 렌즈로 LED 빛을 폭 몇 mm의 띠로 모으는 조명입니다. 띠 위의 조도는 높지만 정해진 거리에서만 그 폭을 지킵니다. ↩ - [9] 정반사 specular reflection
매끈한 면에서 빛이 들어온 각도와 같은 각도로 한 방향으로만 튕겨 나가는 반사입니다. 그 방향에 렌즈가 있으면 조명이 그대로 찍힙니다. ↩ - [10] 확산형 라인 조명 diffuse line light
확산판을 거쳐 넓고 부드러운 빛을 내는 라인 조명입니다. 높이 흔들림과 광택에 너그러운 대신 같은 전력에서 조도가 낮습니다. ↩
참고 자료
- 계산식: 화소 분해능 = 시야 ÷ 화소 수, 배율 m = 센서 길이 ÷ 시야, 물체 거리 = f × (1 + 1/m), 반화각 θ = atan(시야 ÷ 2 ÷ 물체 거리), 상대 조도 ≈ cos⁴θ, 샷 노이즈 기준 SNR ∝ √신호, 띠 미끄러짐 = Δz × tanθ, 줄 위 조도 = exp(−미끄러짐² ÷ 2σ²)(σ = 반치폭 ÷ 2.355), 막대 끝 처짐은 길이 방향 램버시안 선광원의 적분
- 계산 가정: 라인 센서 4,096 px(화소 7 μm), 35 mm 렌즈, 시야 300 mm, 노출 45 μs, 띠 반치폭 3 mm, 높이 흔들림 ±2 mm, 조명과 면 사이 70 mm, 막대 여유 양쪽 0·30·60 mm
- Vignetting(natural vignetting과 cos⁴ 법칙), Wikipedia. en.wikipedia.org/wiki/Vignetting
함께 읽으면 좋은 글 — 플랫필드 보정 게인은 조명 불균일과 함께 잡음도 키운다 · 8K 라인스캔 카메라 시대, 검사 분해능의 상한은 여전히 렌즈가 정한다 · CIS 카메라는 라인 스캔보다 얼마나 가까이 붙을까

