본문으로 건너뛰기
IFAI

오픈소스

오픈소스 Anomalib을 활용한 제조 외관 검사 자동화: OpenVINO로 추론 속도 4배 향상

게시 확산 지수 52

머신러닝 엔지니어가 오픈소스 라이브러리 Anomalib을 활용한 산업용 비전 검사 방식을 공유했습니다. 결함 없는 정상 데이터만으로 학습하는 교사-학생 네트워크를 적용해 픽셀 단위로 불량을 감지하며, OpenVINO를 통해 CPU 추론 속도를 약 4배 높여 30.2fps를 기록했습니다.

오픈소스 Anomalib을 활용한 제조 외관 검사 자동화: OpenVINO로 추론 속도 4배 향상
이미지: aws.amazon.com

Anomalib은 산업용 비전 검사를 위해 설계된 오픈소스 딥러닝 라이브러리입니다. 결함 데이터를 일일이 수집하고 라벨링하는 번거로움 없이도 라인에서 결함을 찾아내는 자동 검사 시스템을 구축할 수 있습니다.

제조업 품질 관리에서 가장 큰 난제는 불량 데이터의 부족입니다. 정상 제품은 넘쳐나지만 흠집이나 파손 같은 불량 유형은 드물고 다양합니다. Anomalib은 정상 이미지만으로 학습하는 단일 분류 학습 방식을 채택해 이 문제를 해결합니다.

정상 데이터만으로 결함을 짚어내는 구조

이 솔루션은 피라미드 형태의 교사-학생 네트워크 아키텍처를 기반으로 동작합니다. 교사 모델에는 ImageNet으로 사전 학습된 ResNet18을 쓰고, 학생 모델에는 무작위로 초기화된 동일한 ResNet18을 배치합니다.

검사 시점에는 교사와 학생 모델이 추출한 특징 간의 차이를 계산합니다. 이 차이를 바탕으로 픽셀 단위의 이상 확률 점수를 매겨 이미지 내 결함의 위치와 크기를 정밀하게 찾아냅니다.

CPU 환경 테스트와 OpenVINO를 통한 4배 가속

ML6 엔지니어는 대표적인 산업 검사 벤치마크인 MVTec 데이터셋의 7개 카테고리를 대상으로 성능을 검증했습니다. 입력 이미지 크기는 244x244로 설정하고 하이퍼파라미터는 기본값을 유지했습니다.

테스트 장비는 4코어 Intel Xeon Platinum 8175M 2.50GHz vCPU와 8GB RAM을 갖춘 AWS EC2 t3.xlarge 인스턴스로, 별도의 고성능 외장 GPU 없이 일반적인 CPU 사양에서 진행되었습니다.

테스트 결과 전반적으로 우수한 감지 점수를 기록했으며, 가죽 카테고리에서는 만점을 달성했습니다.

추론 속도 측면의 개선도 두드러졌습니다. 순수 PyTorch 코드로 CPU에서 추론할 경우 속도에 한계가 있었으나, Anomalib의 내장 도구를 통해 Intel OpenVINO 프레임워크로 내보낸 결과 병 카테고리 기준 약 30.2fps의 처리량을 기록했습니다. 기본 PyTorch 대비 4배 가까운 속도 향상입니다.

Anomalib은 GitHub에서 오픈소스로 이용할 수 있으며, 최신 이상 탐지 알고리즘과 벤치마킹 도구, 하드웨어 최적화 내보내기 기능을 모두 포함하고 있습니다.

왜 중요한가

스마트 공장 및 엣지 디바이스 개발자에게 매우 현실적인 도구입니다. 희소한 결함 데이터를 확보하느라 시간을 허비할 필요가 없으며, OpenVINO 최적화 덕분에 고가의 GPU 카드 없이 산업용 PC의 CPU만으로 30fps 수준의 실시간 검사를 수행할 수 있습니다.

다만 단일 분류 학습 특성상 학습용 정상 데이터의 순도가 결과에 큰 영향을 줍니다. 훈련 데이터에 미세한 결함이 섞여 들어가거나 생산 라인의 조명 변화가 심할 경우 오탐률이 높아질 수 있으므로, 실제 현장 도입 전 정교한 임계값 조정이 필요합니다.

출처 (2)

  1. [1]
    medium.com(새 탭에서 열림)원문medium.com
  2. [2]

매일 AI 콘텐츠 픽