[UL] Phát hiện bất thường
UL viết tắt của Học Không Giám Sát.
Trong ứng dụng này, chúng ta sử dụng thuật toán PatchCore để học từ bộ dữ liệu chỉ chứa các mẫu good. Sau đó, chúng ta sử dụng thuật toán K-Nearest Neighbors (KNN) để phân biệt dữ liệu good và ng mới được nhìn thấy.
1. Chuẩn bị bộ dữ liệu của bạn
# Cấu trúc bộ dữ liệu của bạn nên như sau
data/
-train/
-good/
-*.jpg
-test/
-good/
-*.jpg
-ng/
-*.jpg
Ghi
Số lượng dữ liệu huấn luyện phải > 10 mục. Nếu < 10 mục, vui lòng xoay các ảnh để tạo thêm.
2. Cách sử dụng
Huấn luyện
Đi tới /projects/indad-holes
Thực hiện lệnh này:
python train.py --model_type spade --data_dir "<ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_HUẤN_LUYỆN>"
Ghi
ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_HUẤN_LUYỆN
nên nằm ở một cấp trên các tệp ảnh, tức là ../data/train
, không phải ../data/train/good
Mô hình sẽ được lưu trong thư mục results
.
Kiểm tra
Đi tới /projects/indad-holes
Thực hiện lệnh này:
python predict.py --model_type spade --data_dir "<ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_KIỂM_TRA>" --threshold 1
Ghi
ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_KIỂM_TRA
nên là nơi chứa các tệp ảnh, tức là ../data/train/good
Các hình ảnh kết quả sẽ được lưu trong thư mục results
.
3. Cải thiện hiệu suất
Nếu kết quả dự đoán không tốt, hãy cân nhắc điều chỉnh ngưỡng hoặc thêm dữ liệu