본문으로 건너뛰기
버전: docs v25.02

VAD Input and Artifacts

Updated 2025.05.12

데이터 준비

학습 데이터 준비

  1. png, .jpg 형태의 동일한 shape(1024x1024, 3채널와 같은 형태)을 가진 정상(혹은 동일한 유형) 이미지 데이터를 준비합니다.
  2. 이미지 경로와 정답 label(모두 정상이기 때문에 동일 유형으로 작성)로 이루어진 tabular 형태의 Ground truth 파일을 준비합니다.
  3. 일부 비정상(혹은 소수의 다른 유형) 이미지 데이터가 있는 경우 학습 데이터에 포함시키면 더욱 더 정확한 AI 모델이 생성됩니다.
  4. Ground truth 파일은 하기와 같은 형태로 준비하시면 됩니다.
  5. Ground truth 파일을 준비할 때 여러 유형을 가진 이상 이미지에 대해 라벨을 통일할 필요는 없습니다.
  6. 만약 검증을 원하는 데이터가 있다면 train_validation_column argument에 항목명을 입력하면 train에 해당하는 이미지는 학습에 사용되며 기타 이미지는 검증에 사용되어 성능을 확인할 수 있습니다. (만약 정상 이미지만 있어도 성능만 도출이 되지 않을 뿐 정상적으로 학습됩니다.)
  7. Ground truth 파일과 이미지 파일을 같은 폴더에 넣어서 준비합니다.
  8. 추론 데이터의 경우 학습 데이터와 마찬가지로 Ground truth 파일을 준비하거나, 추론을 원하는 이미지를 하나의 폴더 내 준비합니다. (추론 데이터의 경우 Ground truth 파일이 없는 경우 이미지가 저장된 경로를 보고 내부적으로 파일을 생성합니다.)
  9. 학습 데이터 유형은 여러 유형으로 구성되도 정상 유형과 abnormal 유형으로 두 가지로만 분류를 수행합니다.

학습 데이터셋 예시

labelimage_pathtrain_val_split
good./image0.pngtrain
bad./image1.pngvalid
good./image2.pngtrain
good./good/image0.pngtrain
good./good/image1.pngtrain
good./good/image0.jpgtrain
good./good/image1.jpgtrain

input data directory 구조 예시

/project_folder/sample_data
└ inference
└ 10479_0.png
└ 1080_7.png
└ 10735_7.png
└ train
└ train.csv
└ abnormal
└ 10019_0.png
└ 10024_0.png
└ 10097_0.png
└ good
└ 10395_7.png
└ 10034_7.png
└ 10852_7.png


데이터 요구사항

필수 요구사항

입력 데이터는 다음 조건을 반드시 만족하여야 합니다.

indexitemspec.
1충분한 수의 정상 혹은 단일 유형 이미지100~50000장
2Ground Truth 파일 항목명 양식 준수(label, image_path)Yes
3채널 수 고정: 3채널 혹은 1채널(gray)Yes
4해상도32x32 ~ 1920x1920 픽셀
5신규 이미지에 대한 inference 간격이 3초 이상인가Yes
6학습에 필요한 시간 간격이 6시간 이상인가Yes
  • Data Examples 참고

추가 요구사항

최소한의 성능을 보장하기 위한 조건입니다. 하기 조건이 만족되지 않아도 알고리즘은 돌아가지만 성능은 확인되지 않았습니다  

indexitemspec.
1이미지명이 유형에 무관하게 고유의 이름으로 저장Yes
2AI 성능을 확인하기 위한 소수의 이상 이미지 확보이상 유형 별 10장
3해상도224x224 ~ 1024x1024 픽셀
4ROI(Region Of Interests, 관심영역) 크기15x15픽셀 이상(224x224 기준)
5제품 위치/방향/카메라와의 거리 고정허용오차: rotation +/- 3도 이내, translation 1픽셀 이하(224x224 기준)
6이미지 초점이 뚜렷해야 함Yes
7이미지 측정 환경: 학습/검증/운용 시 최대한 동일하고 일정한 환경 유지(명도, 조도, 배경 등)Yes


산출물(artifacts)

학습/추론을 실행하면 아래와 같은 산출물이 생성됩니다.

model config

/project_folder/.workspace/vad/model_artifacts/config
└ config
└ input
└ config.json
└ readiness
└ config.json
└ train
└ config.json
└ fastflow_model.ckpt
└ model_lite.pt
└ model.pickle
└ best_model_path.json

Train pipeline

/project_folder/.workspace/vad/history/latest/train
└ dataset
└ abnormal
└ 1.png
└ 2.png
└ ...
└ good
└ a.png
└ b.png
└ ...
└ train.csv
└ output
└ output.csv
└ score
└ train_summary.yaml
└ extra_output
└ images
└ abnormal_1.png
└ abnormal_2.png
└ ...
└ threshold_test_result.csv
└ threshold_test_result.png
└ validation_classificaion_report.json
└ validation_confusion_matrix.csv
└ validation_score.csv
└ log
└ pipeline.log
└ process.log

Inference pipeline

/project_folder/.workspace/vad/history/latest/inference
└ log
└ pipeline.log
└ process.log
└ dataset
└ 1.png
└ 2.png
└ ...
└ score
└ inference_summary.yaml
└ output
└ output.csv
└ 1.jpg

각 산출물에 대한 상세 설명은 다음과 같습니다.

{model_name}_model.ckpt

학습이 완료된 모델파일입니다.

output.csv

추론 결과와 확률이 기록된 표 형태의 파일입니다.

validation_confusion_matrix.csv

학습 파이프라인에서 검증 데이터에 대한 성능이 기록된 confusion matrix결과가 저장된 파일입니다. 검증 데이터에 abnormal 데이터가 있는 경우에만 저장됩니다.

validation_score.csv

학습 파이프라인에서 검증 데이터에 대한 성능이 기록된 파일입니다. 정확도, precision, recall, F1-score, AUROC가 기록되어 있습니다.

{imagefilename}.png

abnormal 영역이 표시된 이미지입니다. 학습 파이프라인의 경우 잘못 추론한 이미지와 모든 abnormal 이미지에 대해 저장합니다. 추론 파이프라인의 경우 output폴더에 재학습을 위한 원본 이미지가 저장됩니다.

inference_summary.yaml

추론 결과에 대한 요약 파일입니다. edge conductor에서 사용되며 score, result, probability 등으로 이루어져 있습니다.

threshold_test_result.csv

이상 탐지를 위한 기준 threshold를 변경했을 때 validation 데이터에 대한 성능 변화 표입니다.

threshold_test_result.png

이상 탐지를 위한 기준 threshold를 변경했을 때 성능 변화 그래프입니다.



VAD Version: 3.0.0