Vào thẳng nội dung

Phát hiện lỗi của mối hàn

Tổng quan

Sử dụng YOLOv8 để phát hiện các loại lỗi của mối hàn. Các loại lỗi bao gồm: short, insufficient (not enough solder), balling (too much solder).

Các loại lỗi của mối hàn

Các loại lỗi của mối hàn

Ví dụ về phát hiện

Ví dụ về phát hiện

Then, use some techniques and mathematical formulas to determine the front position of the object (flip detection).

Ví dụ về phát hiện vị trí khi lật mặt

Ví dụ về phát hiện vị trí khi lật mặt

Yêu cầu cài đặt

Cài đặt ecos_core: Tải project ecos_core về và thực hiện câu lệnh

pip install -r requirements.txt
pip install -e .

Đào tạo

Chuẩn bị dữ liệu

# Cấu trúc dữ liệu sẽ như này:
data/
    -images/
        -train/
            -*.jpg
        -val/
            -*.jpg
        -test/
            -*.jpg
    -labels/
        -train/
            -*.txt
        -val/
            -*.txt
        -test/
            -*.txt
    -data.yaml

Note

Phần đuôi của ảnh có thể là: .jpeg, .png,...

data.yaml xác định hình ảnh ở đường dẫn nào, nó có bao nhiêu lớp, tên lớp, ví dụ:

nc: 3
names: ["short", "insufficient", "solder_balling"]
train: <path-to-train-images-folder>
val: <path-to-val-images-folder>
test: <path-to-test-images-folder>

Chỉnh sửa các tùy chọn

Trong tệp tùy chọn (opt.json), vui lòng đặt giá trị của khóa data là đường dẫn đến tệp data.yaml.

Có thể sửa đổi imagesz, batch_size, epochs cho cài đặt đào tạo.

Câu lệnh đào tạo

Để đào tạo, hãy thujchw hiện theo lệnh dưới

python train.py --opt <PATH_TO_OPT_FILE> --weight-path <PATH-TO-MODEL-FILE>

Với:

  • PATH_TO_OPT_FILE: là đường dẫn tới tệp opt.json
  • PATH-TO-MODEL-FILE: là đường dẫn đến mô hình, có thể là trọng số được huấn luyện trước (yolov8s.pt) hoặc yaml xác định cấu hình mô hình. Nếu bạn muốn sử dụng imagesz:1280, đường dẫn này phải là đường dẫn đến tệp yolov8-P6.yaml để có hiệu suất tốt hơn.

Ví dụ:

python train.py --opt opt.json --weight-path yolov8-p6.yaml

Kiểm tra

Để đánh giá trên bộ test, vui lòng làm theo lệnh bên dưới:

python test.py --opt <PATH_TO_OPT_FILE> --weight-path <PATH_TO_WEIGHT_FILE>

Hoặc bạn có thể dự đoán thư mục hình ảnh cụ thể bằng lệnh:

python predict.py --opt "<PATH_TO_OPT_FILE>" --weight-path <PATH_TO_WEIGHT_FILE> --input-path "<PATH_TO_TEST_FOLDER>"

Với:

  • PATH_TO_OPT_FILE: là đường dẫn đến tệp opt.json
  • PATH_TO_WEIGHT_FILE: là đường dẫn tới file trọng số (weight) sau khi đào tạo.
  • PATH_TO_TEST_FOLDER: là đường dẫn tới thư mục test