교사 네트워크의 soft label과 특징맵 증류가 PCB 트레이스 결손 경계 정보를 경량 학생 세그멘테이션 모델로 전달하는 지식 증류 구조 개념도
비전 알고리즘,  엣지 AI

경량 모델은 왜 가장 가는 결함부터 놓치는가 — 지식 증류로 설계하는 엣지 세그멘테이션

EDGE AI / ALGORITHM

PCB 배선 외관 검사에서 서버급 세그멘테이션 모델은 폭 30 µm의 트레이스 결손까지 경계를 따라 정확하게 칠해 냅니다. 그러나 같은 모델을 라인 옆 엣지 장치에 올리려 하면 연산량과 메모리가 허용 범위를 여러 배 넘습니다. 그래서 채널 수를 줄인 경량 모델을 처음부터 학습시키면, 전체 평균 지표는 크게 떨어지지 않는데 가장 가는 결함의 경계만 뭉개지거나 통째로 사라지는 현상이 나타납니다.

평균 지표만 보고 배포하면 비용은 가장 작은 결함에서 발생합니다. 폭 3 px짜리 결손은 전체 픽셀 중 비율이 극히 작아 평균 mIoU를 거의 움직이지 않습니다. 대시보드에서는 정상으로 보이는데 트레이스 단선의 전조가 그대로 출하되고, 전기 검사나 고객 공정에서 뒤늦게 드러나면 재작업·반품 비용이 몇 배로 돌아옵니다. 검사 공정을 거쳤다는 기록이 오히려 원인 추적을 늦추는 역설도 생깁니다.

해법은 두 층으로 나뉩니다. 첫째, 교사 모델이 경계 부근에서 내는 확률 분포(soft label)와 중간 특징맵을 학생 모델에 증류(knowledge distillation)해 경계 정보 자체를 옮기는 것입니다. 둘째, 증류로도 복원되지 않는 영역 — 학생 모델의 출력 해상도가 결함 폭보다 거칠어지는 구간 — 을 구조 설계와 광학 셋업 단계에서 먼저 막는 것입니다. 증류는 정보를 옮기는 도구일 뿐, 광학이 만들지 못한 콘트라스트를 새로 만들어 내지는 못합니다.

증류가 옮기는 것은 정답이 아니라 교사가 경계에서 망설인 정도입니다.

1. Soft label은 경계의 “폭”을 전달한다

Point. 지식 증류의 핵심 가치는 교사의 정답을 복사하는 데 있지 않고, 교사가 경계 픽셀에서 얼마나 확신하는지를 학생에게 전달하는 데 있습니다.

Reason. 사람이 만든 hard label은 결함과 배경을 0과 1의 계단으로 나눕니다. 그러나 실제 이미지에서 결함 경계는 렌즈의 점확산(PSF)과 조명 각도 때문에 2~3 px에 걸친 완만한 밝기 전이로 기록됩니다. 교사 모델은 이 전이 구간에서 0.3, 0.6 같은 중간 확률을 냅니다. 로짓을 온도 파라미터 T로 나눈 뒤 소프트맥스를 취하면(softmax(z/T)) 분포가 평탄해지고, 이 중간 확률의 차이가 학생 모델이 학습할 수 있는 크기의 기울기로 바뀝니다. T가 1이면 경계에서 조금만 벗어난 픽셀의 확률은 0 또는 1에 달라붙어 정보가 사라지고, T가 지나치게 크면 결함과 배경의 구분까지 흐려집니다.

Example. 10 µm/px 화소 분해능에서 30 µm 트레이스 결손은 폭 3 px입니다. hard label만으로 학습하면 경량 모델은 이 3 px 중 가운데 1 px만 확신하고 양옆은 배경으로 넘기는 경향을 보입니다. 설계 가정으로 T = 4, 손실 L = 0.5 · CE(hard) + 0.5 · T² · KL(soft)를 두면, 경계 픽셀의 중간 확률이 손실에 직접 반영되어 결손 폭이 1 px로 줄어드는 현상이 완화됩니다. T² 계수는 온도로 작아진 기울기 크기를 보정하기 위한 관례적인 항입니다.

Point. 온도는 “얼마나 부드럽게 만드는가”가 아니라 경계 전이 구간의 몇 px까지를 학습 신호로 쓸 것인가를 정하는 파라미터입니다. 결함 폭과 PSF 폭을 먼저 알고 있어야 T를 스윕할 범위도 정할 수 있습니다.

2. 특징맵 증류 — 출력 이전의 표현까지 옮긴다

Point. 출력 확률만 증류하면 학생 모델은 “무엇을 칠할지”는 배우지만 “무엇을 보고 칠하는지”는 배우지 못합니다.

3 px 폭 트레이스 결손의 hard label, 온도 T = 1과 T = 4 soft label 확률 프로파일, 학생 모델 출력 stride 4와 stride 2 셀 점유 비교
온도는 경계 전이 폭을 학습 신호로 바꾸지만, stride 4 출력에서는 3 px 결손이 반 칸 아래로 쪼개진다 (자체 제작 개념도)

Reason. 경량 모델은 채널 수가 적어 초기 층에서 고주파 엣지 정보를 충분히 보존하지 못합니다. 출력 단의 soft label은 이미 여러 층을 거쳐 압축된 결과이므로, 중간 층에서 잃어버린 미세 엣지 표현을 되살리기에는 신호가 약합니다. 특징맵 증류는 교사와 학생의 중간 특징맵을 1 × 1 합성곱 어댑터로 채널 수를 맞춘 뒤, 두 특징맵의 차이(MSE)를 손실에 더하는 방식입니다. 이때 어느 층을 고르느냐가 결정적입니다. 공간 해상도가 너무 낮은 깊은 층을 고르면 3 px 폭 결함은 이미 한 셀 안에 녹아 있어 옮길 정보가 남아 있지 않습니다.

Example. 512 × 512 px 타일 입력 기준으로 stride 8 층의 특징맵은 64 × 64 셀이고, 한 셀은 8 px, 즉 80 µm 영역을 대표합니다. 30 µm 결손은 셀 폭의 절반에 못 미치지만 셀의 특징값을 뚜렷하게 바꾸는 크기입니다. 반면 stride 32 층에서는 한 셀이 320 µm이므로 결손의 흔적이 솔더마스크 텍스처와 구분되지 않습니다. 설계 가정으로 stride 8 층에 가중치 0.1의 특징맵 증류를 걸고, 결함 경계 ±3 px 밴드 안의 픽셀에는 soft label 손실 가중치를 5배로 올리는 경계 가중 마스크를 함께 적용합니다. 배경 픽셀이 압도적으로 많은 상황에서 경계 신호가 평균 속에 묻히지 않게 하기 위한 장치입니다.

Point. 특징맵 증류의 층 선택은 네트워크 구조의 취향 문제가 아니라 화소 분해능과 결함 폭의 비율 문제입니다. µm/px과 stride를 곱해 셀 한 칸의 크기를 먼저 계산하십시오.

증류할 층은 깊이가 아니라 셀 한 칸이 몇 µm인가로 고릅니다.

3. 증류 후에도 사라지는 극소 결함 클래스

Point. 증류를 잘 설계해도 사라지는 결함 클래스가 있으며, 그 원인은 대부분 증류가 아니라 학생 모델의 출력 해상도와 클래스 불균형에 있습니다.

Reason. 경량 세그멘테이션 모델은 연산량을 줄이기 위해 출력 stride 4로 예측한 뒤 업샘플링하는 구조가 흔합니다. 출력 셀 한 칸보다 좁은 결함은 셀 평균 속에서 배경에 묻히고, 업샘플링은 이미 사라진 정보를 되살리지 못합니다. 여기에 픽셀 단위 증류 손실은 배경 픽셀 수에 지배됩니다. 교사가 경계를 정확히 알고 있어도, 그 정보가 손실 합계에서 차지하는 비중이 작으면 학생은 배우지 않습니다. 결과적으로 가장 작고 가장 드문 클래스가 가장 먼저 탈락합니다.

Example. 3 px 폭 결손을 출력 stride 4 모델로 예측하면 결함 폭은 출력 셀 0.75칸이 됩니다. 셀 격자와 결함의 위치 관계에 따라 어떤 샘플에서는 잡히고 어떤 샘플에서는 사라지는, 재현성 없는 검출이 나타납니다. 출력 stride를 2로 낮추면 같은 결손이 1.5칸을 점유해 적어도 한 셀은 결함이 절반 이상을 차지합니다. 연산량은 늘지만, 디코더의 마지막 단만 고해상도로 두는 구조로 증가폭을 제한할 수 있습니다. 온도를 2에서 6까지 바꾸는 것으로는 이 0.75칸 문제가 해결되지 않습니다.

Point. 증류 전에 확인할 순서는 분명합니다. 최소 결함 px 폭 ÷ 학생 출력 stride ≥ 1이 성립하는지 먼저 계산하고, 성립하지 않으면 증류 파라미터가 아니라 구조나 광학 배율을 바꿔야 합니다. 소프트웨어 학습 기법만으로 화소 분해능 부족을 덮을 수는 없습니다.

4. 핵심 골격 — 매칭표

구분항목사양 / 파라미터근거·비고
① 최소 불량 사이즈트레이스 결손(nick)폭 30 µm 이상설계 가정. 10 µm/px에서 3 px(검출 하한)
① 최소 불량 사이즈잔동 돌기(spur)폭 40 µm 이상설계 가정. 4 px 점유
① 최소 불량 사이즈솔더마스크 핀홀직경 50 µm 이상설계 가정. 5 px 점유
② 광학 셋업조명동축낙사 + 저각 링 조명 보조구리 트레이스 고반사·솔더마스크 확산 혼재. 샘플 테스트 전 확언 불가
② 광학 셋업카메라4096 × 3000 px, 화소 3.45 µm설계 가정. 센서 폭 약 14.1 mm
② 광학 셋업렌즈초점거리 35 mm, 배율 약 0.34×계산값: 14.1 mm ÷ 41 mm
② 광학 셋업WD(작동 거리)110 mm 이상 확보 필수물체 거리 계산값 약 137 mm(주점 기준)에서 경통 돌출·동축 하우징 차감 후 실측
② 광학 셋업FOV·화소 분해능FOV 41 mm × 30 mm, 10 µm/px계산값: 41,000 µm ÷ 4,096 px ≈ 10.0 µm/px
③ 알고리즘증류 손실T = 4(2~6 스윕), L = 0.5 CE + 0.5 T² KL설계 가정. 극소 결함 클래스 재현율 기준으로 T 선정
③ 알고리즘특징맵 증류stride 8 층, 1 × 1 어댑터, MSE 가중치 0.1셀 크기 계산값 80 µm(10 µm/px × 8)
③ 알고리즘경계 가중 마스크결함 경계 ±3 px 밴드 손실 가중치 ×5배경 픽셀 지배 완화용 설계 가정
③ 알고리즘학생 출력 stride2(디코더 마지막 단만 고해상도)30 µm 결손 = 1.5셀. stride 4면 0.75셀

표 시사점. 10 µm/px에서 가장 가는 30 µm 결손은 3 px로 검출 전제 하한에 정확히 걸려 있고, 학생 출력 stride 4에서는 0.75셀로 떨어져 증류 설계와 무관하게 사라질 수 있습니다. stride 2(1.5셀)로 두는 것이 1순위이며, 그것이 연산 예산을 넘으면 FOV를 줄여 화소 분해능을 올려야 합니다. 다만 현재 4096 × 3000 px 이미지는 512 px 타일 48장(8 × 6)으로 처리되므로, FOV를 줄이는 만큼 스테이션 수와 사이클 타임이 함께 늘어나는 교환을 받아들여야 합니다.

5. 반대 접근이 유리한 조건

  • 결함이 크고 콘트라스트가 높은 경우: 최소 결함이 10 px 이상을 점유하고 배경과 명확히 구분된다면, 경량 모델을 hard label로 바로 학습해도 충분합니다. 교사 모델 학습에 드는 시간과 연산이 낭비가 됩니다.
  • 엣지 연산 예산이 넉넉하거나 타일 수가 적은 경우: 교사 모델을 그대로 경량화 없이, 혹은 양자화만 적용해 배포하는 편이 경계 재현성 면에서 유리할 수 있습니다.
  • 라벨 품질이 낮은 경우: 교사가 경계를 잘못 배웠다면 증류는 그 오류를 학생에게 충실하게 복제합니다. 라벨 정제가 증류보다 먼저입니다.

증류의 효과 크기는 결함 형태와 표면 반사 특성에 좌우되며, 특히 구리 트레이스처럼 고반사 표면에서 난반사가 섞이면 교사의 경계 확률 자체가 흔들리므로 샘플 테스트 전 확언 불가입니다.

현장 노트

고속 조립 라인으로 들어가는 PCB 외관 검사에서 교사 모델의 경계를 경량 모델로 옮기던 때, 전체 지표는 교사와 거의 같아졌는데 30 µm급 결손만 샘플마다 잡혔다 사라졌다 하는 현상을 겪은 적이 있습니다. 처음에는 온도를 2에서 6까지 바꿔 보았지만 차이가 크지 않았고, 원인은 학생 모델의 출력 stride 4였습니다. 디코더 마지막 단을 stride 2로 바꾸고 경계 ±3 px 밴드에 가중치를 준 뒤에야 재현성이 안정되었습니다. 다만 이 결과는 해당 기판의 솔더마스크 색상과 동축낙사 조건에 묶인 경험이어서, 다른 라인에서 같은 개선 폭을 기대할 수 있을지는 샘플로 다시 확인해야 한다고 생각합니다.

현장 체크포인트

  • WD 110 mm 이상이 실측으로 확보되는가 — 동축낙사 하우징과 링 조명 높이를 포함해 확인할 것.
  • 대상물 표면 재질과 반사율을 먼저 특정했는가 — 구리 트레이스의 정반사와 솔더마스크의 확산 반사가 한 화면에 섞입니다.
  • 최소 결함 px 폭 ÷ 학생 출력 stride ≥ 1이 성립하는가 — 성립하지 않으면 증류 파라미터보다 구조를 먼저 바꿀 것.
  • 특징맵 증류에 쓰는 층의 셀 크기(µm/px × stride)를 계산했는가.
  • 평가 지표를 평균 mIoU가 아니라 클래스별·결함 크기별 재현율로 분리해 보는가.
  • 온도 T 스윕 결과를 극소 결함 클래스의 재현율 기준으로 기록했는가.

카메라 렌즈와 조명, 이미지 처리 알고리즘을 맞춰 넣는 머신비전 엔지니어입니다. 연속 주행 스트립 라인과 고온 롤 구간처럼 진동·발열·먼지가 뒤섞인 생산 현장에서 난반사와 콘트라스트, 분해능의 미세한 차이를 다뤄온 경험을 바탕으로 이론과 현장의 간극을 좁히는 글을 씁니다. 부전공은 완전 기계식 빈티지 필름 카메라 수리이며, 렌즈와 빛을 다루는 감각은 여기서도 이어집니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다