Anomaly Detection vTool#
Anomaly detection은 정상(원하는) 데이터와 비정상(원하지 않는) 데이터를 구별하여 이미지를 양품과 불량품으로 분류할 수 있도록 하는 이진 분류의 한 형태입니다. 표준 분류와 달리, 이상 현상이 드물거나 학습 데이터셋에 잘 나타나지 않거나 전혀 존재하지 않는 고도로 불균형한 데이터를 처리할 수 있습니다.
Anomaly Detection vTool은 Image 입력 핀을 통해 수신한 이미지를 분류할 수 있습니다. 결과는 Classes, Scores, Regions, Heatmaps 및 InferenceImage 출력 핀을 통해 출력됩니다.
Anomaly detection 전에 ROI Creator vTool을 사용하여 관심 영역을 지정하는 경우, Anomaly Detection vTool은 Roi 입력 핀을 통해 ROI 데이터를 수신합니다. 이 경우 관심 영역에 대해서만 anomaly detection이 수행됩니다. 부수적인 효과로 처리 속도가 빨라집니다.
Anomaly Detection vTool 라이선스를 구매하려면 Basler 웹사이트를 방문하세요.

작동 원리#
PCB 생산 라인에서 이상 유무를 확인한다고 가정해 보겠습니다.
핀이 구부러진 PCB를 보여주는 입력 이미지입니다(이미지 출처: a):

PCB의 결함을 감지하도록 학습된 모델을 로드하여 vTool을 구성합니다.

다음으로 감지 설정을 구성합니다:
-
Visualize anomalies and output heatmap: vTool에는 시각화 기능이 포함되어 있으며 기본적으로 활성화되어 있습니다. 이를 통해 데이터를 히트맵 형태로 볼 수 있습니다. 히트맵에 다양한 컬러 맵을 선택할 수 있습니다. 데이터와 컨텍스트에 따라 서로 다른 컬러 맵이 이상 현상을 더 효과적으로 강조 표시합니다.
이 시각화가 필요하지 않고 이미지 데이터에 대한 추가 분석이 필요하지 않은 경우 히트맵을 선택 해제할 수 있습니다. 이렇게 하면 처리량이 증가할 수 있습니다. 이 옵션을 선택 해제하면 Regions, Heatmaps 및 InferenceImage 출력 핀이 비활성화됩니다.InferenceImage, Heatmaps 및 Regions의 차이점
InferenceImage는 핀 데이터 뷰에서 이상 현상을 시각화하기 위해 히트맵 오버레이가 적용된 입력 이미지입니다.
Heatmaps는 핀 데이터 뷰에서 이상 현상을 시각화하기 위한 것이 아닙니다. 이는 각 픽셀의 이상 점수를 나타내는 부동 소수점 값의 이미지이며, 애플리케이션에서 추가 분석이 필요한 경우에 사용됩니다.
Regions는 히트맵 값에 임계값을 적용하여 계산됩니다. 이상 점수가 특정 값보다 높은 픽셀은 영역으로 그룹화되어 정상 영역과 비정상 영역을 구분합니다.
-
Anomaly threshold: Anomaly threshold는 선택한 모델이 반환한 점수를 기반으로 정상으로 분류된 이미지와 비정상으로 간주되는 이미지 간의 경계를 정의합니다. 기본 임계값은 학습 데이터셋을 기반으로 모델 학습 중에 선택됩니다. 그러나 최적의 임계값은 애플리케이션의 특정 요구 사항과 수용하려는 절중에 따라 다릅니다. 필요에 따라 조정할 수 있습니다. 임계값이 높으면 감지되는 이상 현상은 줄어들지만 감지된 이상 현상의 신뢰도가 높아집니다. 임계값이 낮으면 더 많은 이상 현상이 감지되지만 일부는 오경보일 수 있습니다.
정보
비정상이지 않은 추론 이미지의 픽셀 강도 변화는 일반 이미지와의 약간의 편차를 나타냅니다. 그러나 이러한 편차가 미리 정의된 anomaly threshold 아래로 유지되는 한 이미지는 정상으로 분류됩니다. 이 관찰 결과는 필요한 경우 임계값을 수동으로 조정하는 데 유용할 수 있습니다.
vTool을 구성한 후 추론 프로세스를 시작하는 레시피를 실행합니다. vTool은 모델을 사용하여 이미지를 분석하고 존재하는 객체를 분류합니다. 분석이 완료되면 anomaly detection 결과가 반환됩니다. 그런 다음 핀 데이터 뷰에서 결과를 볼 수 있습니다.
InferenceImage Pin이 선택된 상세 출력

InferenceImage: 4개의 이상 영역이 감지되어 이미지에 픽셀 강도 히트맵으로 강조 표시되었습니다. 그러나 그중 하나만 이상 임계값을 초과하여, 해당 이미지는 "비정상(abnormal)"으로 분류됩니다.
Scores: 전체 이미지에서 가장 높은 이상 점수는 52.5901입니다. 4개의 이상 영역이 감지되었음에도 불구하고, 임계값을 초과한 영역은 하나뿐이므로 해당 영역에만 이상 점수가 부여됩니다.
Classes: 점수가 임계값을 초과하므로 이미지는 비정상으로 분류되었습니다.
Regions Pin이 선택된 상세 출력

Classes: 점수가 임계값을 초과하므로 이미지는 비정상으로 분류되었습니다.
Scores: 전체 이미지에서 가장 높은 이상 점수는 52.5901입니다.
Regions: 이상 영역이 강조 표시되었습니다(스크린샷의 화살표 참조). 추론 이미지 출력과 달리, 영역 출력은 이상 점수가 특정 값 이상인 이미지의 일부분만 표시합니다.
vTool 설정하기#
Anomaly Detection vTool을 구성하려면:

-
vTool Settings 영역의 Recipe Management 창에서 Open Settings를 클릭하거나 해당 vTool을 두 번 클릭합니다.
Anomaly Detection 대화상자가 열립니다. -
Server Selection 영역에서 연결할 서버를 선택합니다.
연결하려면 서버가 실행 중이어야 합니다.- 옵션 1: Triton Inference Server의 IP 주소와 포트를 수동으로 입력합니다.
- 옵션 2: 드롭다운 목록에서 서버의 IP 주소/호스트 이름과 포트를 선택합니다.
-
Connect를 클릭하여 연결을 설정합니다.
그러면 vTool이 사용 가능한 모델을 로드합니다. -
다음에서 모델 선택 영역에서 드롭다운 목록의 원하는 모델이 포함된 번들을 선택합니다.
번들을 선택한 후, 드롭다운 목록 아래의 정보가 번들 세부 정보로 채워져 올바른 번들을 선택했는지 확인할 수 있습니다.
-
원하는 번들이 목록에 없는 경우 클릭하세요. 새 모델 배포 드롭다운 목록에서.

이것은 다음을 엽니다. pylon AI Agent 더 많은 모델을 배포할 수 있습니다.
새 모델을 배포한 후 다음 버튼을 클릭해야 합니다. Refresh button. -
Detection Settings 영역에서 히트맵에 사용할 컬러 맵을 선택합니다.
-
Detection Settings 영역에서 필요한 경우 anomaly threshold를 조정합니다.
anomaly threshold는 모델의 일부입니다. 이를 변경하면 원치 않는 결과가 발생할 수 있습니다.정보
이 영역에서 사용할 수 있는 파라미터는 선택한 모델에 따라 다릅니다. 일부 파라미터는 특정 모델을 선택한 경우에만 사용할 수 있습니다. 기본값은 모델에서 제공됩니다.
-
OK를 클릭합니다.
pin data view에서 Anomaly Detection 결과를 확인할 수 있습니다. 여기에서 표시할 출력을 선택할 수 있습니다.
입력#
이미지#
Camera vTool 또는 이미지를 출력하는 vTool(예: Image Format Converter vTool)에서 직접 이미지를 허용합니다.
- 데이터 형식: 이미지
- 이미지 포맷: 8비트~16비트 컬러 이미지
ROI#
ROI Creator vTool 또는 직사각형을 출력하는 기타 vTool에서 ROI를 생합니다. 여러 개의 직사각형이 입력되는 경우, 첫 번째 직사각형이 단일 ROI로 사용됩니다.
- 데이터 타입: RectangleF, RectangleF Array
출력#
Classes#
각 입력 이미지의 클래스(정상 또는 비정상)를 반환합니다.
- 데이터 타입: String Array
Scores#
클래스의 anomaly score를 반환합니다. 이는 감지된 이상의 심각도, 즉 이미지 비정상일 가능성을 나타냅니다. 이 값은 확률이 아니며, 모델에 따라 매우 작은 수부터 매우 큰 수까지 다양할 수 있습니다. 정의된 임계값과의 관계에서만 해석해야 합니다.
- 데이터 타입: Float Array
Heatmaps#
히트맵을 반환합니다. 이 출력은 비활성화할 수 있습니다. 히트맵은 pin data view에서 이상을 시각화하기 위한 것이 아닙니다. 각 픽셀의 anomaly score를 나타내는 부동 소수점 값의 이미지이며, 애플리케이션에서 추가 분석이 필요한 경우에 사용됩니다.
- 데이터 타입: Image Array
Regions#
예측된 각 이상의 영역을 반환합니다. 이 출력은 비활성화할 수 있습니다. 영역은 히트맵 값에 임계값을 적용하여 계산됩니다. 특정 값 이상의 anomaly score를 가진 픽셀이 하나의 영역으로 그룹화되어 정상 영역과 비정상 영역이 구분됩니다.
- 데이터 타입: Region Array
InferenceImage#
pin data view에서 이상을 시각화하기 위해 히트맵 오버레이가 포함된 입력 이미지를 반환합니다. 이 출력은 비활성화할 수 있습니다.
- 데이터 형식: 이미지
Payload#
평가를 위한 Inference Server의 성능과 관련된 추가 정보를 반환합니다. 이 출력 핀은 Debug Settings 파라미터 그룹의 Features - All 창에서 활성화한 경우에만 사용할 수 있습니다.
- 데이터 타입: String
관련 vTools#
일반적인 선행 vTools#
-
Visual Anomaly (VisA) was accessed on DATE from https://registry.opendata.aws/visa. Zou, Yang, Jongheon Jeong, Latha Pemula, Dongqing Zhang, and Onkar Dabeer. "SPot-the-Difference Self-Supervised Pre-training for Anomaly Detection and Segmentation." arXiv preprint arXiv:2207.14315 (2022).