협동로봇과 비전 AI로 품질 검사를 자동화하며 배운 것

검사 자동화 프로젝트에서 모델 정확도보다 먼저 결정해야 했던 것들. 조명, 지그, 판정 기준, 시간 예산, 그리고 검사원의 역할.

협동로봇이 부품을 들어 올려 비전 카메라 앞에 놓는 검사 셀

검사 자동화 이야기를 시작하면 대화는 거의 항상 모델에서 시작합니다. 어떤 모델을 쓰는지, 정확도가 몇 퍼센트인지.

2024년 8월, 협동로봇과 AI를 결합한 품질 검사 공정을 처음 구축했습니다. 그 뒤로 여러 라인에 4I-Quality를 적용하며 알게 된 것은, 프로젝트의 성패가 모델보다 훨씬 앞에서 갈린다는 사실이었습니다. 조명을 어떻게 세울지, 부품을 어떤 자세로 놓을지, 무엇을 불량이라 부를지. 이것들이 정해지지 않으면 어떤 모델을 써도 결과는 비슷하게 나쁩니다.

이 글은 그 앞단에서 반복해 마주친 문제와 우리가 내린 결정을 순서대로 정리한 것입니다. 검사 자동화를 검토 중이라면, 모델을 고르기 전에 읽어 두면 시행착오를 줄일 수 있습니다.

배경: 왜 사람이 검사하고 있었나

우리가 처음 들어간 라인은 가공 부품이 컨베이어로 흘러나오고, 검사원이 눈과 손으로 표면 결함을 골라내는 곳이었습니다. 자동화가 안 되어 있던 이유는 기술이 없어서가 아니었습니다. 세 가지가 걸려 있었습니다.

  • 부품 종류가 많고 자주 바뀌어서, 종류마다 검사 장비를 세팅하는 비용이 컸습니다.
  • 결함의 정의가 사람마다 조금씩 달라서, 기계에 넘길 기준이 없었습니다.
  • 라인 속도가 빨라서, 검사에 쓸 수 있는 시간이 부품당 몇 초에 불과했습니다.

이 세 가지는 이후 프로젝트에서도 거의 그대로 반복됐습니다. 그래서 우리는 모델보다 이 세 가지를 먼저 풉니다.

첫 번째 결정: 조명

검사 자동화를 시작하면 대부분 모델 정확도부터 이야기합니다. 실제로는 그 전에 결정할 것이 더 많았고, 가장 오래 걸린 것은 조명이었습니다.

같은 부품이라도 조명 각도에 따라 스크래치가 보이기도, 사라지기도 합니다. 정면광은 표면 색 차이를 잘 보여주지만 얕은 스크래치를 지웁니다. 낮은 각도의 측광은 스크래치를 드러내지만 가공 자국까지 결함처럼 보이게 합니다. 우리는 결함 유형별로 어떤 조명에서 가장 잘 보이는지 표를 만들고, 필요한 경우 한 부품을 두 조명 조건에서 두 번 촬영하기로 했습니다.

카메라 선택은 그 다음이었습니다. 조명 조건이 정해지면 필요한 해상도와 노출 시간이 정해지고, 그러면 카메라와 렌즈는 거의 자동으로 좁혀집니다. 순서를 바꾸어 카메라부터 고르면, 나중에 조명 때문에 카메라를 다시 사게 됩니다.

두 번째 결정: 지그와 로봇 자세

협동로봇이 부품을 어떤 자세로 들어 올릴지에 따라 촬영 가능한 면이 정해집니다. 검사해야 할 면을 먼저 정하고 로봇 경로를 거꾸로 설계했습니다.

여기서 중요한 것은 반복 정밀도입니다. 로봇이 부품을 매번 같은 위치, 같은 각도로 가져다 놓아야 모델이 "정상"의 범위를 좁게 학습할 수 있습니다. 그리퍼와 지그는 부품 형상마다 달랐지만, 기준면을 잡는 방식은 통일했습니다. 부품 종류가 바뀔 때 그리퍼만 교체하고 프로그램은 재사용하기 위해서입니다.

세 번째 결정: 판정 기준을 문서로

"이 정도 스크래치는 양품인가"에 대한 답이 검사원마다 달랐습니다. 기준을 문서로 만들고 라벨링 규칙으로 옮기는 데 현장 분들의 도움이 컸습니다.

문서화 과정에서 배운 것이 하나 있습니다. 기준은 처음부터 완벽할 수 없고, 완벽하려고 하면 프로젝트가 시작되지 않습니다. 우리는 "이건 확실히 불량", "이건 확실히 양품", "애매함" 세 구간으로 시작했고, 애매한 구간의 사례를 모아 매주 한 번 현장과 함께 기준을 갱신했습니다.

판정 기준 문서에 들어간 항목
  • 결함 유형 목록과 각 유형의 사진 예시 (양품 경계 포함)
  • 유형별 허용 크기와 위치 (기능면, 외관면 구분)
  • 조명 조건별 촬영 예시
  • 애매한 사례의 판정 기록과 판정한 사람
  • 기준 변경 이력과 변경 이유

이 세 가지가 정리된 뒤에야 모델 학습이 의미가 있었습니다.

협동로봇이 부품을 들어 올려 카메라 앞에 놓는 검사 셀
검사 셀. 로봇이 부품을 촬영 자세로 정렬한다.

라인 속도가 곧 요구 사항

검사 AI는 라인 속도 안에서 판정을 끝내야 합니다. 정확도가 높아도 사이클 타임을 넘기면 라인이 멈춥니다. 우리는 촬영, 추론, 판정, 로봇 동작을 하나의 사이클로 보고 시간을 배분했습니다.

단계시간 예산비고
픽업과 자세 정렬로봇 경로에 따라 결정그리퍼 교체 시 재측정
촬영면당 수십 ms조명 전환 시간 포함
추론과 판정수백 ms 이내엣지 장비 기준
배출로봇 경로에 따라 결정불량은 별도 트레이

시간 예산을 먼저 정하니 모델 크기와 추론 장비 선택이 자연스럽게 정해졌습니다. 큰 모델을 서버에서 돌리는 대신, 작은 모델을 라인 옆 엣지 장비에서 돌리는 쪽을 택했습니다. 네트워크가 끊겨도 라인이 멈추지 않아야 하기 때문입니다.

데이터: 불량은 적고, 정상은 넘친다

학습을 시작하면 바로 부딪히는 문제가 데이터 불균형입니다. 정상 부품 사진은 하루에 수천 장이 쌓이지만, 불량은 유형별로 몇 장뿐인 경우가 많습니다.

우리는 세 가지를 같이 썼습니다.

  1. 정상 학습. 정상의 분포를 먼저 배우고 거기서 벗어나는 것을 잡는 방식으로 시작했습니다. 불량 사진이 거의 없는 초기에 특히 유효했습니다.
  2. 증강. 조명, 회전, 위치 변화를 인위적으로 만들어 정상의 범위를 넓혔습니다. 다만 실제 조명 조건과 다른 증강은 오히려 오탐을 늘려서, 현장 조건 안에서만 했습니다.
  3. 검사원의 라벨링. 모델이 애매하다고 판단한 사진을 검사원에게 보내 판정을 받았습니다. 이 판정이 다시 학습 데이터가 됩니다. 불량 데이터는 이렇게 조금씩 쌓였습니다.

운영: 배포 후 첫 달

배포 직후 정확도는 학습 때와 비슷했습니다. 문제는 몇 주 뒤에 나타났습니다. 계절이 바뀌며 창으로 들어오는 빛이 달라졌고, 특정 시간대에 오탐이 늘었습니다. 모델이 틀린 것이 아니라, 학습 때 없던 조명 조건이 생긴 것입니다.

이 경험 때문에 우리는 이후 프로젝트에서 두 가지를 기본으로 넣습니다. 하나는 촬영 환경을 외부 빛과 분리하는 차광, 다른 하나는 오탐률이 기준을 넘으면 알리고 재학습을 시작하는 모니터링입니다. 두 번째는 나중에 4I-MLOps의 드리프트 감지 기능이 되었습니다.

처음엔 기계가 검사원을 대신한다고 생각했는데, 써 보니 검사원이 기계를 가르치는 일에 가까웠습니다. 그리고 그게 더 나은 방식이었습니다.

현장 품질 담당자

검사원의 역할은 없어지지 않았습니다

자동화 후에도 검사원은 남았습니다. 역할이 바뀌었을 뿐입니다. AI가 판정한 결과 중 애매한 것을 확인하고, 새로운 불량 유형이 나오면 라벨을 달아 주는 일입니다. 이 피드백이 다시 학습 데이터가 됩니다.

현장에서 배운 가장 큰 교훈은 이것입니다. AI는 검사원을 대체하는 것이 아니라, 검사원이 놓치던 것을 잡아내고 검사원의 판단을 데이터로 남기는 도구입니다.

숫자로 남은 것

실제 생산 라인에서 검증한 4I-Quality의 실시간 결함 검출 정확도는 98%입니다.

다만 프로젝트를 마치고 돌아보면 이 숫자가 가장 큰 변화는 아니었습니다. 더 크게 달라진 것은 판정 이력이 남기 시작했다는 점입니다.

그전까지 불량은 검사원의 손에서 걸러지고 그대로 폐기됐습니다. 몇 개가 걸러졌는지는 알아도, 어느 시간대에 어느 설비를 거친 부품이었는지는 남지 않았습니다. 이력이 쌓이자 그 질문에 답할 수 있게 되었고, 검사는 불량을 걸러내는 마지막 관문에서 원인을 찾는 출발점이 되었습니다.

검사 자동화는 품질 데이터의 시작이기도 합니다.

체크리스트: 검사 자동화를 시작하기 전에

시작 전에 답해야 할 질문 8가지
  1. 검사해야 할 면과 결함 유형이 문서로 정리되어 있는가
  2. 결함 유형별로 가장 잘 보이는 조명 조건을 확인했는가
  3. 부품을 매번 같은 자세로 놓을 수 있는가 (지그, 그리퍼)
  4. 부품당 검사에 쓸 수 있는 시간은 몇 초인가
  5. 불량 사진은 유형별로 몇 장이나 있는가
  6. 애매한 판정을 누가, 어떤 화면에서 확인할 것인가
  7. 정확도가 떨어지면 누가 언제 알게 되는가
  8. 판정 결과와 이력을 어디에 남길 것인가

여덟 개 중 답이 없는 것이 있다면, 모델보다 그 질문부터 푸는 것이 빠릅니다.

다음 편

검사가 돌아가기 시작하면 다음 벽은 데이터입니다. PLC, 센서, 비전 데이터가 서로 다른 곳에 흩어져 있고, 그대로는 쓸 수 없습니다. 시리즈 2편에서 그 이야기를 이어갑니다.

쓴 팀Physical AI팀

복잡한 실제 산업 현장에서 동작하는 AI를 만들어요.

함께 일해요

같이 만들어 갈 동료를 찾고 있어요

제조 현장에서 실제로 돌아가는 AI를 만드는 일이에요. 현장 적용을 검토 중인 분의 문의도 환영해요.