사출품 각인 문자, 왜 조명 각도 하나로 OCR 판독률이 갈리는가 — 문자 높이와 획 간격으로 계산하는 저각도 링 조명과 사분면 점등
LIGHTING / ALGORITHM
사출품 표면에 성형으로 새겨진 로트 번호나 캐비티 번호는 잉크 인쇄와 달리 색이 없습니다. 문자와 배경이 같은 수지, 같은 색이며, 둘을 구분하는 것은 수십 µm의 높이 차이뿐입니다. 위에서 균일하게 비추는 조명 아래에서 이 문자는 거의 보이지 않고, OCR 엔진은 빈 화면이나 다름없는 영상에서 글자를 찾으려다 엉뚱한 문자를 내놓습니다.
이 상태를 방치하면 비용은 추적성에서 터집니다. 캐비티 번호를 잘못 읽으면 불량이 난 금형 캐비티를 특정하지 못해 전 캐비티를 멈춰야 하고, 판독 실패품을 사람이 다시 읽는 공정이 상시 인력으로 굳어집니다. 오독이 섞인 이력 데이터는 판독 실패보다 더 위험합니다. 틀린 기록이 맞는 기록처럼 남기 때문입니다.
해법은 높이 차이를 밝기 차이로 바꾸는 저각도 링 조명입니다. 수평에 가까운 각도로 빛을 뉘어 비추면, 요철의 벽 한쪽은 빛을 정면으로 받아 밝아지고 반대쪽은 그림자로 어두워집니다. 이 글은 그 입사각을 감으로 고르지 않고 문자 높이(µm)와 획 간격에서 계산하는 방법, 그리고 사분면 분할 점등으로 방향별 콘트라스트를 되살리는 방법을 정리합니다.
색이 없는 문자에서 콘트라스트를 만드는 것은 밝기가 아니라 그림자의 길이입니다.
1. 저각도 조명은 높이를 밝기로 바꾼다
Point. 저각도 링 조명의 역할은 문자를 밝히는 것이 아니라, 문자 요철의 엣지에 밝은 벽과 어두운 그림자의 쌍을 만드는 것입니다.
Reason. 무광 사출품 표면은 빛을 여러 방향으로 확산 반사합니다. 확산 반사에서 표면 밝기는 입사광과 표면 법선이 이루는 각도의 코사인에 비례하므로, 빛이 수평에 가까울수록 평탄한 배경은 어두워지고 빛을 마주 보는 요철 벽은 상대적으로 밝아집니다. 동시에 요철 뒤쪽에는 그림자가 생깁니다. 평탄부와 벽면의 밝기 차이, 그리고 그림자가 합쳐져 엣지 콘트라스트가 됩니다. 입사각이 높은 조명에서는 평탄부와 벽면이 모두 밝아 이 차이가 사라집니다.
Example. 검은색 무광 ABS 하우징에 높이 50 µm로 양각된 캐비티 번호를 생각해 보겠습니다. 돔이나 동축 조명에서는 문자와 배경이 같은 회색으로 합쳐지지만, 입사각 20° 저각도 링에서는 획의 윤곽이 밝은 선과 어두운 선의 쌍으로 떠오릅니다. 다만 저각도 조명은 성형 표면의 흐름 자국이나 미세 텍스처도 함께 부각시키며, 광택 PC처럼 정반사 성분이 강한 수지에서는 벽면 하이라이트가 포화될 수 있어 샘플 테스트 전 확언 불가입니다.
Point. 저각도 링은 “어두운 조명”이 아니라 높이 정보를 밝기 채널로 옮기는 변환기입니다. 변환의 감도를 정하는 변수가 바로 입사각입니다.
2. 입사각은 문자 높이와 획 간격에서 계산한다
Point. 입사각(조명 앙각) E는 “낮을수록 좋다”가 아니라, 그림자 길이 L = h ÷ tan E가 검출 하한과 획 간격 사이에 들어오도록 정하는 값입니다.

Reason. 높이 h인 요철이 앙각 E의 빛을 받으면 수평 방향으로 L = h ÷ tan E 길이의 그림자가 생깁니다. 그림자가 너무 짧으면 화소 몇 개에 불과해 검출되지 않고, 너무 길면 옆 획과의 간격을 덮어 두 글자가 한 덩어리로 붙습니다. 그래서 하한은 “그림자가 3 px 이상”, 상한은 “그림자가 획 간격의 절반 이하”로 잡습니다. 상한 조건을 풀면 E ≥ atan(h ÷ 간격의 절반)이라는 최소 앙각이 나오고, 이것이 이 글의 핵심 통찰입니다. 입사각은 조명 카탈로그가 아니라 도면의 문자 높이와 획 간격에서 결정됩니다.
Example. 양각 높이 50 µm, 획 간격 300 µm인 문자에서 그림자를 간격의 절반인 150 µm 이하로 두려면 E ≥ atan(50 ÷ 150) ≈ 18.4°이므로 20°를 택합니다. 이때 그림자는 50 ÷ tan 20° ≈ 137 µm, 12.3 µm/px에서 약 11 px입니다. 같은 문자를 10°로 비추면 그림자가 약 284 µm까지 늘어나 획 간격을 거의 다 덮습니다. 반대로 20°에서 3 px(약 37 µm)의 그림자를 만드는 최소 높이는 약 13 µm이므로, 금형 마모로 문자가 얕아져도 이 값까지는 판독 여유가 남습니다. 음각 80 µm 각인은 그림자가 약 220 µm로 홈 폭 300 µm 안에 머물러 홈 바닥 일부만 어두워집니다.
Point. 입사각을 정할 때는 조명을 바꿔 보기 전에 도면을 먼저 펴야 합니다. 문자 높이와 획 간격 두 값이면 앙각의 하한과 그림자 길이가 µm 단위로 계산됩니다.
그림자가 짧으면 문자가 사라지고, 길면 문자끼리 붙습니다.
3. 사분면 분할 점등 — 방향을 되살리는 조명
Point. 링 전체를 한 번에 켜면 사방에서 온 빛이 서로의 그림자를 메워 콘트라스트가 줄어듭니다. 링을 네 구역으로 나눠 순차 점등하면 방향별 그림자를 따로 얻을 수 있습니다.
Reason. 한 방향에서 온 빛은 그 방향과 수직인 엣지에서 가장 긴 그림자를 만들고, 빛과 평행한 엣지에는 거의 그림자를 만들지 않습니다. 전체 점등에서는 왼쪽 벽을 비추는 빛이 동시에 오른쪽 벽의 그림자를 채우므로 엣지의 밝고 어두운 쌍이 희석됩니다. 북·남·동·서 네 구역을 따로 켜서 네 장을 찍고, 마주 보는 구역끼리의 차분(북−남, 동−서)을 합성하면 평탄한 배경은 상쇄되고 엣지만 남습니다. 법선을 복원하는 계산 없이 차분만으로 충분하다는 점이 실무상 장점입니다.
Example. 링 ø120 mm를 부품 위 약 21.8 mm 높이에 두면 FOV 중심에서 앙각은 20°입니다. 그러나 FOV 30 mm의 양 끝에서는 가까운 쪽 LED까지 앙각이 약 25.9°, 먼 쪽은 약 16.2°로 벌어져 그림자 길이가 약 103~172 µm로 흔들립니다. 먼 쪽 172 µm는 획 간격 절반인 150 µm를 넘으므로, 구역마다 셰이딩 보정을 따로 적용하고 FOV 가장자리의 문자는 판독 신뢰도를 별도로 관리해야 합니다. 네 장 촬영은 사이클 타임을 늘리며, 촬영 사이 부품 이동에 따른 정합 오차가 생길 수 있습니다. 이송 동기화 자체는 별도 검토가 필요합니다.
Point. 사분면 점등의 가치는 밝기가 아니라 엣지 방향 정보에 있습니다. 소프트웨어 합성은 이 방향 정보가 조명 단계에서 확보되었을 때만 의미가 있으며, 한 장의 전체 점등 영상에서 사라진 그림자를 알고리즘으로 되살릴 수는 없습니다.
4. 핵심 골격 — 매칭표
| 구분 | 항목 | 사양 / 파라미터 | 근거·비고 |
|---|---|---|---|
| ① 최소 불량 사이즈 | 판독 대상 문자 요철 | 양각 높이 50 µm, 음각 깊이 80 µm, 획 폭·획 간격 300 µm | 설계 가정. 문자 높이 2.0 mm(약 163 px) |
| ① 최소 불량 사이즈 | 획 결손(미성형) | 길이 60 µm 이상 | 설계 가정. 약 4.9 px 점유 |
| ① 최소 불량 사이즈 | 판독 가능 최소 요철 높이 | 약 13 µm | 계산값. 3 px(약 37 µm) × tan 20° |
| ② 광학 셋업 | 조명 | 저각도 링 ø120 mm, 설치 높이 약 21.8 mm, 4분할 순차 점등 | FOV 중심 앙각 20°. 최소 앙각 18.4°(계산값) 이상 |
| ② 광학 셋업 | 그림자 길이 | 양각 약 137 µm(약 11 px), 음각 약 220 µm(약 18 px) | 계산값. L = h ÷ tan E. FOV 가장자리 앙각 16.2~25.9°에서 양각 103~172 µm |
| ② 광학 셋업 | 렌즈 | 초점거리 35 mm, F/8 | 설계 가정. 얇은 렌즈 근사 물체거리 약 159 mm(배율 0.28×) |
| ② 광학 셋업 | WD(작동 거리) | 140 mm 이상 확보 필수 | 렌즈 경통 전단 기준. 링 조명 상면과 경통 간섭 없음을 실측 확인 |
| ② 광학 셋업 | 센서·FOV | 2448 × 2048 px(화소 3.45 µm), FOV 30.0 mm × 25.1 mm, 12.3 µm/px | 계산값. 30.0 mm ÷ 2448 px |
| ③ 알고리즘 | 셰이딩 보정 | 구역별 무문자 기준면 영상으로 개별 플랫필드 | FOV 내 앙각 편차에 의한 밝기 기울기 제거 |
| ③ 알고리즘 | 방향 합성 | |북−남| 과 |동−서| 차분의 화소별 최댓값 | 평탄 배경 상쇄, 엣지만 잔류 |
| ③ 알고리즘 | 이진화 | 적응 이진화 창 75 px | 획 폭 약 24.5 px의 약 3배 |
| ③ 알고리즘 | OCR 판정 | 문자 높이 163 px를 32 px로 정규화, 신뢰도 0.90 미만은 재판독 | 설계 가정. 오독보다 판독 보류를 우선 |
표 시사점. 12.3 µm/px에서 획 폭 300 µm는 약 24.5 px, 획 결손 60 µm는 약 4.9 px로 분해능에는 여유가 있습니다. 이 셋업의 실제 병목은 분해능이 아니라 FOV 가장자리의 앙각 편차입니다. 중심에서 137 µm인 그림자가 먼 쪽 가장자리에서 172 µm로 늘어 획 간격 절반을 넘기 때문에, 판독 품질을 균일하게 하려면 문자가 FOV 중심부에 오도록 배치하거나 링 직경을 키워 편차를 줄이는 설계 교환이 필요합니다.
5. 반대 접근이 유리한 조건
- 문자와 배경의 색이나 광택이 다른 경우: 레이저 마킹처럼 표면 색이 바뀐 문자는 높이 정보가 필요 없습니다. 확산 돔이나 동축 조명이 텍스처 노이즈 없이 더 깨끗한 영상을 만듭니다.
- 표면 텍스처가 문자보다 거친 부품: 시보 가공처럼 거친 텍스처는 저각도에서 문자보다 강한 그림자를 만듭니다. 높이를 직접 측정하는 3D 방식이 유리할 수 있습니다.
- 사이클 타임에 여유가 없는 라인: 사분면 네 장 촬영이 불가능하면 문자 방향에 맞춘 한 방향 저각도 바 조명 한 장이 현실적인 절충입니다.
수지 종류와 광택, 표면 텍스처에 따라 저각도의 이득이 크게 달라지므로, 어떤 방식이 유리한지는 샘플 테스트 전 확언 불가입니다.
현장 노트
고속 조립 라인에서 사출 하우징의 캐비티 번호를 읽을 때, 처음에는 저각도 링을 전체 점등으로 쓰면서 앙각만 낮춰 보았습니다. 앙각을 10° 근처까지 내리자 그림자는 선명해졌지만 좁은 획 간격의 숫자들이 서로 붙어 “8”과 “0”을 혼동하는 경우가 늘었습니다. 도면의 양각 높이와 획 간격으로 앙각을 20° 근처로 다시 잡고, 사분면 점등과 차분 합성을 적용한 뒤에야 판독이 안정되었습니다. 다만 FOV 가장자리 문자는 여전히 신뢰도가 낮게 나와 배치를 중심으로 옮겼고, 금형 마모가 진행된 부품에서는 이 설정도 다시 확인해야 한다고 보고 있습니다.
현장 체크포인트
- WD 140 mm 이상이 실측으로 확보되는가 — 렌즈 경통 전단과 링 조명 상면, 부품 상면 사이 간섭 여부를 포함해 확인할 것.
- 대상물 표면 재질과 반사율을 먼저 특정했는가 — 무광 수지인지, 광택 수지인지, 시보 텍스처가 있는지에 따라 저각도의 효과가 달라집니다.
- 도면의 문자 높이와 획 간격으로 최소 앙각 atan(h ÷ 간격의 절반)을 계산했는가.
- 그림자 길이가 3 px 이상이면서 획 간격 절반 이하인가 — FOV 가장자리 앙각 기준으로도 확인할 것.
- 사분면 구역별로 셰이딩 보정 영상을 따로 취득했는가.
- 네 장 촬영이 라인 사이클 타임 안에 들어오는가.


