주요 요점
딥러닝 프로젝트를 효과적으로 구성하는 방법은 다음과 같습니다.
- 데이터세트 재정의: 교차 검증을 사용하고 비정상적인 결함이나 조명 반사와 같은 복잡한 이미지를 포함하여 모델을 개선합니다.
- 가변성 최적화: 여러 시나리오 전반에 걸쳐 강력한 성능을 보장하기 위해 많은 생산 라인 및 결함 유형의 데이터로 훈련합니다.
- 결함 감지 전략: 정확한 결함 측정 및 분류를 위해 픽셀 기반 분석 및 Blob 툴을 사용합니다.
- 지표 추적: F1 점수와 같은 지표에 집중하고 비용 함수의 균형을 유지하여 과잉과 언더킬을 최소화합니다.
- 반복적인 개선: 엔드 투 엔드 최적화를 위한 고급 툴로 모델을 지속적으로 개선합니다.
이 단계에서 인간 검사자와 비전 시스템은 생산 부품을 양호 또는 불량으로 분류합니다. 그 다음에 사내 전문가가 불분명한 부품을 검토하고 올바르게 라벨링합니다. 수정된 모호한 부품, 양호 및 불량 부품의 샘플은 데이터베이스로 옮겨져 딥러닝 모델을 개선합니다. 개발자는 비정상적인 결함 또는 조명 반사가 있는 부품을 보여주는 이미지와 같은 복잡한 이미지를 교육 세트에 추가해야 합니다.
데이터 증강
딥러닝 기반 소프트웨어에는 일반적으로 최적화용 교육 세트와 툴이 있지만, 교차 검증 등의 추가 단계를 수행해야 합니다. 충분한 데이터를 얻고 나면 데이터세트의 다른 부분으로 세트의 나머지 부분을 훈련시키고 검증해야 합니다. 데이터세트의 어떤 부분을 선택하든, 한 부분이 다른 부분과 다르게 작동하면 라벨링 문제가 있거나 일부 결함 유형에 대표성이 떨어지는 것일 수 있으므로 결과가 일정한지 확인해야 합니다.
또 다른 단계는 복합 최적화를 위해 생산 공정에서 개별 주요 변수를 분리하는 것입니다. 생산 라인이 여러 개인 경우, 각 라인의 이미지를 확보하고 이를 교육에 사용하는 동시에 각 라인에서 얻은 데이터와 결과가 적절한지 확인해야 합니다. 또한 회사에서 다른 검사 방법을 사용하는 경우, 파일명 지정 규칙 또는 파일 폴더 구조를 통해 다른 제품 버전과 결함 유형을 최적화해야 합니다.
또한 교육 데이터에 가능한 한 많은 결함 부품 이미지를 제공하는 것을 목표로 해야 합니다. 예를 들어, 양호 부품 이미지 500개와 불량 부품 이미지 282개가 있는 경우, 불량 부품 이미지를 사용하여 시스템이 생산 중에 더 효과적으로 작동하려면 무엇을 살펴봐야 하는지 교육합니다.
다양한 결함 유형 처리
딥러닝에서는 여러 가지 방법으로 이미지 결함을 확인합니다. 시스템은 전체 이미지에 기초하여 측정을 수행하여 부품의 양호 또는 불량 여부를 판단하거나 부품의 특정 결함을 식별하는 결함 기반 접근법을 적용할 수 있습니다. 후자는 공정 관리에 분류 단계가 추가될 때 유용하지만, 결함을 병합하거나 분리하는 이차 공정이 필요할 수 있습니다.
그 대신에 딥러닝 시스템은 이미지 내 개별 결함 상의 특정 픽셀을 분리하여 결함 영역을 측정할 수 있습니다. 이 방법은 또한 일반적으로 결함 영역을 조작하여 주변 또는 경계 구역을 생성하고 결함을 측정하여 양호 또는 불량으로 분류하는 이차 이미지 처리를 필요로 합니다. 애플리케이션마다 다양한 접근 방식이 필요하므로 개발자는 결함 지표와 이를 최적화하는 방법을 이해해야 합니다.
또한 다양한 유형의 결함을 이해하고 품질 사양을 설정하면 엔드투엔드 최적화를 수행하여 모델을 더욱 개선할 수 있습니다. 10mm2를 초과하는 결함 하나, 또는 5mm2를 초과하는 결함 두 개를 불량 부품의 조건으로 설정하는 경우, 딥러닝 시스템은 반드시 정확하게 픽셀을 측정하지는 않습니다. 이러한 경우, Blob 분석 툴을 사용하면 이런 이미지로 모델을 정제하여 결함을 보다 정확하게 측정할 수 있습니다. 그러나 추가 최적화 및 분석용으로 Blob 툴을 사용할 경우, 개발자는 딥러닝 시스템에 편향을 주어 경계선 사례도 결함으로 보고하게 함으로써 안전을 확보해야 합니다.
핵심 지표를 유지하십시오
핵심 딥 러닝 지표 는 이 단계에서 반드시 염두에 두어야 합니다. 모든 팀원이 딥러닝의 모든 면을 알 필요는 없지만 개발자는 모든 핵심 지표와 이를 최적화하는 방법을 알고 있어야 합니다. 정밀도 및 회수율 대비 과검과 미검의 차이, F1 점수, 곡선 아래 면적(area under curve, AUC) 통계 등이 여기에 포함됩니다.
또한 비용 기능을 살펴보고 폐기 비용(과검)과 탈출 비용(미검)의 균형을 맞춰 솔루션의 가치를 결정해야 합니다. 딥러닝 프로젝트 최초 셋업 시에는 개발자가 비용 기능에 지나치게 신경 쓰지 않아야 하지만, 시간이 지남에 따라 높은 F1 점수를 받는 방향으로 프로젝트를 추진하게 됩니다.
딥 러닝 프로젝트를 시작할 때는 여러 가지 중요한 단계를 거쳐야 합니다. 먼저, 파트 1의 이 시리즈의 기획 단계는 기획의 중요성과 프로젝트의 탄탄한 기반을 마련하는 방법을 탐구합니다. 파트 2: 데이터 수집은 정확한 모델 훈련에 필수적인 데이터 수집 및 검증 자료 확립에 중점을 둡니다. In 4부: 공장 수락 테스트에서는 생산 환경에서 시스템을 검증하고 시간이 지남에 따라 모델 성능을 지속적으로 개선하는 방법을 배웁니다.