육안 검사란?
육안 검사는 표면의 손상이나 결함을 찾아내는 작업입니다. 제조, 건설, 항공우주 등 여러 분야에서 일반적으로 적용됩니다.
자동 육안 검사 시스템
제조 업계에서 고해상도 카메라가 탑재된 자동 육안 검사 시스템은 사람의 눈으로는 포착하기 어려운 마이크로 또는 나노 단위의 결함을 효율적으로 검출할 수 있습니다. 그러나 알려지지 않은 결함 또는 다양한 결함이 존재할 경우 간혹 오검출이 발생하기도 하는데, 이는 해결해야 할 주요 과제입니다. 따라서 MATLAB® 및 Computer Vision Toolbox™ Automated Visual Inspection Library 같은 딥러닝 기술이 구현된 소프트웨어가 더욱 중요한 역할을 하고 있습니다.
MATLAB 및 Computer Vision Toolbox를 사용한 자동 육안 검사 시스템 개발
MATLAB 및 Computer Vision Toolbox Automated Visual Inspection Library를 사용하면 육안 검사 시스템을 개발할 수 있습니다. MATLAB은 영상 수집부터 알고리즘 개발 그리고 배포에 이르는 전체 워크플로를 지원합니다. MATLAB의 대화형 앱을 통해 엔지니어는 알고리즘을 탐색, 반복 및 자동화하여 생산성을 개선할 수 있습니다. 엔지니어들은 이러한 기법을 다양한 산업 응용 사례에 적용합니다.
성공 사례: 자동차 및 항공우주 산업에서의 자동 육안 검사
예를 들어, 자동차 부품 제조업체인 Musashi Seimitsu Industry는 매월 약 130만 개에 달하는 부품을 수동 육안 검사로 검사하고 있었습니다. 이 업체는 MATLAB을 사용해 다양한 유형의 이상을 감지하고 그 위치를 추정하는 딥러닝 기반 접근법을 개발함으로써, 베벨 기어를 검사하는 자동 육안 검사 시스템을 구축했습니다. 이렇게 업데이트된 접근 방식은 회사의 업무 부하는 물론 비용을 상당 수준 줄여줄 것으로 기대됩니다.
Musashi Seimitsu Industry는 MATLAB으로 자동차 부품의 자동 육안 검사에 딥러닝을 사용하고 있습니다.
이와 유사한 사례로, Airbus는 운항 전 항공기에 결함이 없도록 항공기의 여러 컴포넌트에서 결함을 자동으로 검출하는 강력한 육안 검사 AI(인공 지능) 모델을 구축했습니다. MATLAB을 사용한 덕분에 Airbus 엔지니어들은 짧은 시간 내에 알고리즘을 대화형 방식으로 프로토타이핑하고 결함을 테스트할 수 있게 되었으며, 따라서 공정이 간소화되었습니다.
결함 검출 프로세스: 데이터 준비, AI 모델링, 배포
결함 검출 프로세스는 데이터 준비, AI 모델링, 배포, 이렇게 세 가지 주요 단계로 나눌 수 있습니다.
육안 검사에서는 이상 영상이 때때로 드물거나 다양할 수 있습니다. 이런 경우, 훈련에 정상 영상만 필요로 하는 비지도 학습 기반으로 이상 검출기를 훈련시킬 수 있습니다. 이상 영상의 수가 충분하다면 지도 학습이 효과적입니다.
다음 섹션에서는 비지도 학습으로서의 이상 감지 방법과 지도 학습으로서의 객체 검출에 필요한 각각의 단계와 실용적인 MATLAB 기능을 알아볼 수 있습니다.
육안 검사를 위한 데이터 준비
데이터는 여러 출처에서 오며 일반적으로 비정형적이고 잡음이 있기 때문에 데이터 준비 및 관리가 어렵고 시간이 많이 소요됩니다. 데이터셋 내 영상을 전처리하면 이상 감지 정확도가 높아집니다.
MATLAB을 사용한 영상 전처리
MATLAB에는 다양한 전처리 기법을 지원하는 여러 앱이 있습니다. 예를 들어, MATLAB의 정합 추정기 앱을 사용하면 정렬되지 않은 영상을 정합하는 다양한 알고리즘을 살펴볼 수 있어 AI 모델이 결함을 더욱 쉽게 검출하도록 만들 수 있습니다.
MATLAB은 레이블 지정 프로세스를 가속화하는 자동화 기능을 제공합니다. 예를 들어, 영상 레이블 지정기 및 비디오 레이블 지정기 앱은 사용자 지정 의미론적 분할 또는 객체 검출 알고리즘을 적용해 영상 또는 비디오 프레임 내 영역이나 객체에 레이블을 지정할 수 있습니다.
AI 모델링을 사용한 육안 검사
육안 검사에 사용되는 이상 감지 방법의 특성
육안 검사에 사용 가능한 이상 검출기는 다음과 같습니다.
- FCDD (완전 컨벌루션 데이터 기술)
- FastFlow
- PatchCore
다음 표에서는 훈련 및 추론 과정에서 Computer Vision Toolbox Automated Visual Inspection Library를 통해 사용할 수 있는 이러한 이상 감지 방법의 특성과 성능을 볼 수 있습니다.
| 훈련 관련 특성 | PatchCore | FastFlow | FCDD |
| 입력 영상 크기 | (대형 영상의 메모리 제한으로 인해) 소형 및 중형 선호 | (대형 영상의 메모리 제한으로 인해) 소형 및 중형 선호 | 소형~대형 (고해상도 영상) |
| 모델 크기 | 중형~대형 (압축률의 값에 따라 달라질 수 있음) | 중형~대형 | 소형 (가장 가벼운 모델) |
| 성능 속도 | 빠름 | 빠름 | 가장 빠름 |
| 로우샷 훈련 체계 | 지원 | 미지원 | 미지원 |
육안 검사에서의 이상 임계값 및 설명 가능한 AI
이상 감지 방법에서 이상 임계값의 자동 계산을 통해 사람마다 달라지는 판단의 변동을 피할 수 있습니다. 설명 가능한 AI를 사용한 평가 보기를 통해 분류 결과를 탐색하고 해석할 수 있습니다.
육안 검사에서 지도 학습에 사용되는 사전 훈련된 신경망
지도 학습에 딥러닝을 적용할 때는 두 가지 접근법이 있습니다. 하나는 처음부터 심층 신경망을 구축하고 훈련하는 것입니다. 다른 하나는 사전 훈련된 신경망을 조정하고 미세 조정하는 것으로, 전이 학습이라고도 합니다. 두 접근법 모두 MATLAB에서 쉽게 구현할 수 있습니다.
심층 신경망 디자이너 앱을 사용한 딥러닝 신경망 구축, 편집 및 훈련
MATLAB은 딥러닝 신경망을 구축, 시각화, 편집, 훈련할 수 있는 심층 신경망 디자이너 앱을 제공합니다. 또한 신경망을 분석하여 신경망 아키텍처가 올바르게 정의되었는지 확인하고 훈련 전에 문제를 감지할 수 있습니다.
MATLAB에서 외부 플랫폼의 사전 훈련된 신경망을 사용하면 TensorFlow™, PyTorch®에서 신경망 및 신경망 아키텍처를 가져올 수 있고, ONNX™ 모델 형식에 대해서는 가져오기 및 내보내기를 모두 지원합니다. 이런 사전 훈련된 모델을 편집하여 전이 학습에 사용할 수 있습니다.
결함을 검출하고 그 위치를 추정하는 객체 검출
YOLOX와 같은 객체 검출 알고리즘은 영상 내 결함을 검출하고 위치를 추정하여 분류하는 데 사용됩니다. YOLOX 객체 검출 모델은 소형 객체 검출에 도움이 되는 단일 단계 앵커프리 기법으로, 이전 YOLO 모델 대비 모델 크기를 크게 줄이고 계산 속도를 개선합니다. 직사각형 ROI(관심 영역)로 레이블이 지정된 내보낸 데이터는 객체 검출 모델을 훈련시키는 데 사용됩니다.
육안 검사 시스템의 배포
코드 생성 및 배포 프레임워크
딥러닝 모델은 더 큰 시스템에 통합되어야 유용하게 활용할 수 있습니다. MATLAB은 원본 모델을 재작성할 필요 없이 MATLAB에서 개발한 모델을 어디에나 배포할 수 있는 코드 생성 프레임워크를 제공합니다. 이를 통해 전체 시스템 내에서 모델을 테스트하고 배포할 수 있습니다.
임베디드 하드웨어 플랫폼에 우선 배포
MATLAB을 통해 NVIDIA® GPU, Intel® 및 ARM® CPU, Xilinx® 및 Intel SoC와 FPGA 등 다양한 임베디드 하드웨어 플랫폼에 딥러닝 신경망을 배포할 수 있습니다. MATLAB을 사용하면 임베디드 하드웨어를 쉽게 탐색하고 타겟팅할 수 있습니다.
예제 및 방법
소프트웨어 참조
참조: MATLAB을 사용한 영상 처리 및 컴퓨터 비전, Deep Learning Toolbox, 패턴 인식, 컴퓨터 비전, 제조 분석, Image Acquisition Toolbox