Xác thực mô hình với Ultralytics YOLO
Giới thiệu
Xác nhận là một bước quan trọng trong quy trình học máy, cho phép bạn đánh giá chất lượng của các mô hình được đào tạo của mình. Chế độ Val trong Ultralytics YOLOv8 Cung cấp một bộ công cụ và số liệu mạnh mẽ để đánh giá hiệu suất của các mô hình phát hiện đối tượng của bạn. Hướng dẫn này đóng vai trò là tài nguyên hoàn chỉnh để hiểu cách sử dụng hiệu quả chế độ Val để đảm bảo rằng các mô hình của bạn vừa chính xác vừa đáng tin cậy.
Xem: Ultralytics Chế độ Hướng dẫn: Xác nhận
Tại sao phải xác thực với Ultralytics YOLO?
Đây là lý do tại sao sử dụng YOLOv8Chế độ Val của có lợi thế:
- Chính xác: Nhận các chỉ số chính xác như mAP50, mAP75 và mAP50-95 để đánh giá toàn diện mô hình của bạn.
- Thuận tiện: Sử dụng các tính năng tích hợp ghi nhớ cài đặt đào tạo, đơn giản hóa quy trình xác thực.
- Linh hoạt: Xác thực mô hình của bạn với các bộ dữ liệu và kích thước hình ảnh giống nhau hoặc khác nhau.
- Điều chỉnh siêu tham số: Sử dụng số liệu xác thực để tinh chỉnh mô hình của bạn để có hiệu suất tốt hơn.
Các tính năng chính của Val Mode
Đây là những chức năng đáng chú ý được cung cấp bởi YOLOv8Chế độ Val của bạn:
- Cài đặt tự động: Các mô hình ghi nhớ cấu hình đào tạo của họ để xác nhận đơn giản.
- Hỗ trợ đa số liệu: Đánh giá mô hình của bạn dựa trên một loạt các chỉ số chính xác.
- CLI và Python API: Chọn từ giao diện dòng lệnh hoặc Python API dựa trên tùy chọn xác thực của bạn.
- Khả năng tương thích dữ liệu: Hoạt động liền mạch với các bộ dữ liệu được sử dụng trong giai đoạn đào tạo cũng như các bộ dữ liệu tùy chỉnh.
Mẹo
- YOLOv8 Các mô hình tự động ghi nhớ cài đặt đào tạo của họ, vì vậy bạn có thể xác thực mô hình ở cùng kích thước hình ảnh và trên tập dữ liệu gốc một cách dễ dàng chỉ với
yolo val model=yolov8n.pt
hoặcmodel('yolov8n.pt').val()
Ví dụ sử dụng
Xác thực đào tạo YOLOv8n mô hình chính xác trên tập dữ liệu COCO8. Không cần phải thông qua tranh luận như model
Giữ lại nó là đào tạo data
và các đối số làm thuộc tính mô hình. Xem phần Đối số bên dưới để biết danh sách đầy đủ các đối số xuất.
Ví dụ
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n.pt') # load an official model
model = YOLO('path/to/best.pt') # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category
Đối số cho YOLO Xác thực mô hình
Khi xác thực YOLO Các mô hình, một số đối số có thể được tinh chỉnh để tối ưu hóa quá trình đánh giá. Các đối số này kiểm soát các khía cạnh như kích thước hình ảnh đầu vào, xử lý hàng loạt và ngưỡng hiệu suất. Dưới đây là bảng phân tích chi tiết về từng đối số để giúp bạn tùy chỉnh cài đặt xác thực của mình một cách hiệu quả.
Lý lẽ | Kiểu | Mặc định | Sự miêu tả |
---|---|---|---|
data |
str |
None |
Chỉ định đường dẫn đến tệp cấu hình tập dữ liệu (ví dụ: coco8.yaml ). Tệp này bao gồm đường dẫn đến dữ liệu xác thực, tên lớp và số lớp. |
imgsz |
int |
640 |
Xác định kích thước của hình ảnh đầu vào. Tất cả các hình ảnh được thay đổi kích thước theo kích thước này trước khi xử lý. |
batch |
int |
16 |
Đặt số lượng hình ảnh mỗi đợt. Dùng -1 cho AutoBatch, tự động điều chỉnh dựa trên tính khả dụng của bộ nhớ GPU. |
save_json |
bool |
False |
Nếu True , lưu kết quả vào tệp JSON để phân tích thêm hoặc tích hợp với các công cụ khác. |
save_hybrid |
bool |
False |
Nếu True , lưu phiên bản kết hợp của nhãn kết hợp chú thích gốc với dự đoán mô hình bổ sung. |
conf |
float |
0.001 |
Đặt ngưỡng tin cậy tối thiểu để phát hiện. Các phát hiện có độ tin cậy dưới ngưỡng này sẽ bị loại bỏ. |
iou |
float |
0.6 |
Đặt ngưỡng Giao lộ qua Liên minh (IoU) cho Triệt tiêu Không Tối đa (NMS). Giúp giảm phát hiện trùng lặp. |
max_det |
int |
300 |
Giới hạn số lần phát hiện tối đa cho mỗi hình ảnh. Hữu ích trong các cảnh dày đặc để tránh phát hiện quá mức. |
half |
bool |
True |
Cho phép tính toán nửa độ chính xác (FP16), giảm mức sử dụng bộ nhớ và có khả năng tăng tốc độ với tác động tối thiểu đến độ chính xác. |
device |
str |
None |
Chỉ định thiết bị để xác thực (cpu , cuda:0 , v.v.). Cho phép linh hoạt trong việc sử dụng tài nguyên CPU hoặc GPU. |
dnn |
bool |
False |
Nếu True , sử dụng mô-đun OpenCV DNN cho ONNX suy luận mô hình, cung cấp một giải pháp thay thế cho PyTorch phương pháp suy luận. |
plots |
bool |
False |
Khi được đặt thành True , tạo và lưu các biểu đồ dự đoán so với sự thật cơ bản để đánh giá trực quan về hiệu suất của mô hình. |
rect |
bool |
False |
Nếu True , sử dụng suy luận hình chữ nhật để trộn, giảm đệm và có khả năng tăng tốc độ và hiệu quả. |
split |
str |
val |
Xác định phần tách tập dữ liệu để sử dụng để xác thực (val , test hoặc train ). Cho phép linh hoạt trong việc lựa chọn phân khúc dữ liệu để đánh giá hiệu suất. |
Mỗi cài đặt này đóng một vai trò quan trọng trong quá trình xác thực, cho phép đánh giá có thể tùy chỉnh và hiệu quả YOLO Mô hình. Điều chỉnh các thông số này theo nhu cầu và nguồn lực cụ thể của bạn có thể giúp đạt được sự cân bằng tốt nhất giữa độ chính xác và hiệu suất.
Xác thực ví dụ với các đối số
Các ví dụ dưới đây giới thiệu YOLO Xác thực mô hình với các đối số tùy chỉnh trong Python và CLI.
Ví dụ