R&D
CENTER

정렬(Alignment) — 부품을 같은 자세로 세우는 기술

부품이 매번 다른 각도로 놓이면 모델은 결함보다 회전을 먼저 배웁니다. 원형 부품의 Ring 정렬, 임의 형상의 PCA 정렬, 정렬 후 판정하는 yolo_align까지 정렬의 원리와 쓰임을 정리합니다.

입문4 분1 조회
이 강의의 핵심
  1. 정렬은 '위치'와 '회전'을 없애 모델이 결함에만 집중하게 만듭니다.
  2. 원형 부품은 원의 중심과 방향 특징(탭·귀)으로, 임의 형상은 이미지 모멘트(PCA)로 방향을 정합니다.
  3. 학습 데이터와 현장 검사에 똑같은 정렬을 써야 합니다. 정렬 설정은 Image Processing Tool과 Multi-Inspector가 공유합니다.
  4. 정렬에 실패하면 원본으로 판정을 계속해, 정렬 오류가 라인을 멈추지 않게 합니다.

이상 탐지 모델은 "정상 부품은 이렇게 생겼다"를 배웁니다. 그런데 정상 부품이 매번 다른 각도로 찍히면, 모델이 배워야 할 '정상'의 범위가 회전한 모든 모습으로 넓어집니다. 범위가 넓어질수록 작은 결함은 그 안에 묻힙니다. 정렬은 이 문제를 촬영 직후에 없앱니다.

촬영 원본 · 회전 −38° rotation-fix 정렬 후 · 탭이 12시, 중심이 화면 중앙 ① 원 중심 찾기② 탭 각도 계산③ 회전·이동
원형 부품의 Ring 정렬. 원의 중심을 화면 중앙으로 옮기고, 방향 특징(탭)이 12시를 향하도록 돌립니다.

원형 부품 — Ring 정렬

밴드, 링, 베어링처럼 둥근 부품은 다음 순서로 정렬합니다. Multi-Inspector의 rotation-fix 모드가 이 방식입니다.

  1. 중심 찾기 — 원 검출(Hough Circle)이나 윤곽에 원을 맞춰(circle fitting) 부품의 중심을 구합니다.
  2. 방향 찾기 — 원은 돌려도 똑같아 보이므로, 탭이나 귀(ear)처럼 한 곳에만 있는 특징의 각도를 찾습니다.
  3. 회전·이동 — 중심을 화면 중앙으로, 특징을 12시 방향으로 옮깁니다.

임의 형상 — Shape(PCA) 정렬

시트벨트 버클처럼 둥글지 않은 부품은 원을 찾을 수 없습니다. 이때는 부품 영역의 이미지 모멘트로 자세를 구합니다.

  • 1차 모멘트(무게중심) — 부품의 위치.
  • 2차 모멘트(주축) — 부품이 가장 길게 뻗은 방향. 주성분 분석(PCA)과 같은 계산입니다.
  • 3차 모멘트(비대칭도) — 주축만으로는 앞뒤가 180° 뒤집혀도 구분이 안 됩니다. 질량이 더 쏠린 쪽을 앞으로 정해 이 모호함을 없앱니다.

자세한 계산과 설정은 기술 노트 원형이 아닌 부품을 정렬하는 법에 있습니다. 방향은 필요 없고 위치만 맞추면 되는 경우에는 Center-Only 정렬을 씁니다.

정렬 후 판정 — yolo_align

Multi-Inspector EB 라인 빌드는 v2.2부터 yolo_align 모드를 지원합니다. 부품을 정렬·중앙 정렬한 뒤 YOLO로 결함을 찾습니다. 결함이 항상 비슷한 위치·방향으로 나타나므로, 같은 양의 데이터로도 탐지가 안정됩니다. 자세한 설정은 yolo_align 모드 노트를 참고하세요.

학습과 검사는 같은 정렬을 써야 한다

정렬은 학습할 때 한 번, 현장에서 검사할 때 또 한 번 실행됩니다. 두 정렬이 조금만 달라도 모델은 학습 때와 다른 영상을 받습니다. 그래서 fineAi Image Processing Tool에서 만든 정렬 설정을 Multi-Inspector가 그대로 가져다 씁니다. 데이터를 준비한 정렬과 라인에서 돌아가는 정렬이 같은 결과를 냅니다.

실패에 대비하기

정렬은 영상에서 특징을 찾는 과정이라 실패할 수 있습니다. 부품이 반쯤 잘려 찍혔거나 조명이 순간적으로 흔들린 경우입니다. Multi-Inspector는 정렬에 실패하면 원본 영상으로 판정을 계속하고 로그를 남깁니다. 정렬 오류 때문에 라인이 멈추지 않으며, 실패한 영상은 나중에 모아 원인을 분석할 수 있습니다.

언제 정렬을 쓰지 않는가

  • 부품이 지그에 고정되어 항상 같은 자리에 찍히면, 정렬 없이도 충분합니다.
  • 형상이 일정하지 않은 대상(식품, 농산물 등)은 정렬 기준을 정하기 어렵습니다. 이때는 위치 변화에 강한 모델(AnomalyDINO 등)이나 정렬 없는 YOLO가 맞습니다. 이상 탐지 알고리즘 선택 강의를 참고하세요.