Vào thẳng nội dung

Mã QR

Dự án sử dụng học không giám sát để phát hiện mã QR và số bất thường.

Trong ứng dụng này, chúng tôi sử dụng thuật toán PatchCore để học từ bộ dữ liệu chỉ chứa các mẫu tốt. Sau đó, chúng tôi sử dụng thuật toán K-Nearest Neighbors (KNN) để phân biệt dữ liệu tốtng mới được nhìn thấy.

INDAD PatchCore

Mặt hàng thiếu mã QR

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/tsk_qrcode

Thực hiện lệnh này:

!python train.py --model_type patchcore --data_dir "<ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_HUẤN_LUYỆN>"
--generate_dataset "<SỐ_BẢN_SAO>" --split_ratio "<TỶ_LỆ>"
  • SỐ_BẢN_SAO: Số bản sao cho mỗi hình ảnh. Tự động tăng cường đến số lượng bản sao được chỉ định rồi tạo bộ dữ liệu. Ví dụ: 1,2,3,4. Nếu generate_dataset = 0, tạo bộ dữ liệu sẽ tắt.
  • TỶ_LỆ: Nhập tỷ lệ (từ 0-1). Lấy hình ảnh ngẫu nhiên từ bộ dữ liệu huấn luyện để tạo bộ dữ liệu kiểm định nếu thư mục valid chưa tồn tại.

Ghi

ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_HUẤN_LUYỆN nên ở 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/tsk_qrcode

Thực hiện lệnh này:

python predict.py --model_type patchcore --data_dir "<ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_KIỂM_TRA>"
--threshold "<NGƯỠNG_ĐIỂM_ẢNH>"
--is_pixel_score_used "<SỬ_DỤNG_NGƯỠNG_ĐIỂM_ẢNH>" --threshold_pixel_score "<NGƯỠNG_ĐIỂM_ẢNH_PIXEL>"
  • ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_KIỂM_TRA: nên là nơi có các tệp ảnh
  • NGƯỠNG_ĐIỂM_ẢNH: Ngưỡng để xác định kết quả là tốt hoặc NG. Mặc định None, Nếu sử dụng None, mô hình tự động lấy ngưỡng điểm từ quá trình huấn luyện.
  • SỬ_DỤNG_NGƯỠNG_ĐIỂM_ẢNH: sử dụng thêm giá trị điểm ảnh
  • NGƯỠNG_ĐIỂM_ẢNH_PIXEL: Ngưỡng giá trị điểm ảnh để xác định kết quả là tốt hoặc NG. Mặc định: None. Nếu sử dụng None, mô hình tự động lấy ngưỡng điểm ảnh từ quá trình huấn luyện.

Ghi

ĐƯỜNG_DẪN_ĐẾN_THƯ_MỤC_KIỂM_TRA nên là nơi có các tệp ảnh, tức là ../data/test/good

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 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