Meet YOLO26: next-gen vision AI.

Link to this sectionCách kiểm thử các model thị giác máy tính#

Link to this sectionGiới thiệu#

Kiểm thử model giúp kiểm tra hiệu suất của một trained model trên dữ liệu thực tế, chưa từng thấy trước đây — bao gồm các đối tượng đang chuyển động, điều kiện ánh sáng kém hoặc bị che khuất một phần thay vì chỉ dùng các tập benchmark đã được tinh chỉnh. Trong khi model evaluation đo lường các chỉ số trên một tập dữ liệu có gắn nhãn, việc kiểm thử xác nhận rằng hành vi học được của model khớp với các mục tiêu ứng dụng của bạn trước khi triển khai. Hướng dẫn này bao gồm cách chuẩn bị dữ liệu kiểm thử, kiểm thử các model Ultralytics YOLO26, và phát hiện overfitting, underfitting, cùng tình trạng rò rỉ dữ liệu (data leakage).



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Link to this sectionKiểm thử model so với Đánh giá model#

Kiểm thử model và đánh giá model là hai bước riêng biệt trong một dự án thị giác máy tính. Đánh giá đo lường hiệu suất bằng các chỉ số trên tập dữ liệu đã gắn nhãn; kiểm thử kiểm tra xem hành vi đã học của model có duy trì được trong các điều kiện giống với môi trường triển khai thực tế hay không.

Giả sử bạn đã huấn luyện một model thị giác máy tính để nhận diện chó và mèo, và bạn muốn triển khai model này tại một cửa hàng thú cưng để giám sát vật nuôi. Trong giai đoạn đánh giá model, bạn sử dụng tập dữ liệu có gắn nhãn để tính toán các chỉ số như accuracy, precision, và recall. Ví dụ, model có thể đạt độ chính xác 98% trong việc phân biệt chó và mèo trên một tập dữ liệu nhất định.

Sau khi đánh giá, bạn kiểm thử model bằng các hình ảnh từ cửa hàng thú cưng để xem model nhận diện chó và mèo tốt đến mức nào trong các điều kiện đa dạng và thực tế hơn. Bạn kiểm tra xem model có thể gắn nhãn đúng chó và mèo khi chúng đang di chuyển, trong các điều kiện ánh sáng khác nhau, hoặc bị che khuất một phần bởi đồ chơi hoặc đồ nội thất. Kiểm thử model giúp đảm bảo model hoạt động như mong đợi bên ngoài môi trường đánh giá có kiểm soát.

Link to this sectionChuẩn bị cho việc kiểm thử model#

Các datasets thị giác máy tính thường được chia thành tập huấn luyện và tập kiểm thử để mô phỏng các điều kiện thực tế: training data giúp huấn luyện model, trong khi dữ liệu kiểm thử xác thực hành vi của nó trên các ví dụ chưa từng gặp trước đó. Ultralytics Platform giữ cho việc tổ chức và gán nhãn dataset tập trung tại một nơi, giúp ích cho việc xây dựng một tập kiểm thử đã được gán nhãn.

Trước khi kiểm thử
  • Đại diện thực tế: Dữ liệu kiểm thử chưa từng thấy trước đây phải tương tự như dữ liệu mà model sẽ xử lý khi được triển khai. Điều này mang lại cái nhìn thực tế về khả năng của model.
  • Kích thước đủ lớn: Tập dữ liệu kiểm thử cần đủ lớn để cung cấp thông tin đáng tin cậy về hiệu suất của model.

Link to this sectionCách kiểm thử một model YOLO26#

Việc kiểm thử một model YOLO26 đã huấn luyện bao gồm hai quy trình bổ trợ: xác thực trên tập kiểm thử đã gắn nhãn để có các chỉ số định lượng, và dự đoán trên các hình ảnh mới để kiểm tra chất lượng hành vi.

Link to this sectionXác thực trên tập kiểm thử đã gắn nhãn#

Validation mode so sánh các dự đoán của model với nhãn ground-truth và báo cáo precision, recall, mAP50, và mAP50-95 cho các model phát hiện. Chế độ này cũng lưu các công cụ trực quan như ma trận nhầm lẫn (confusion matrix) và đường cong precision-recall, giúp bạn xác định các vùng cụ thể mà model có thể hoạt động chưa tốt.

Cách sử dụng
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Validate; add split="test" if your dataset YAML defines a test split
metrics = model.val(data="coco8.yaml")
print(metrics.box.map)  # mAP50-95

Theo mặc định, xác thực chạy trên tập val của dataset. Để đo hiệu suất trên một tập kiểm thử riêng biệt (held-out test set), hãy định nghĩa một tập test: trong YAML của dataset và sử dụng split="test".

Link to this sectionDự đoán trên các hình ảnh mới#

Prediction mode chạy model trên dữ liệu mới, chưa từng thấy mà không cần nhãn. Chế độ này không tạo ra các chỉ số hiệu suất, nhưng việc lưu các kết quả đầu ra đã chú thích giúp bạn xem xét hành vi của model trên hình ảnh thực tế — ví dụ, kiểm tra toàn bộ thư mục ảnh kiểm thử cùng một lúc.

Cách sử dụng
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Run predictions on a folder of test images and save annotated results
results = model.predict(source="path/to/test_images", save=True)
Kiểm thử model tiền huấn luyện (pretrained) trước khi huấn luyện tùy chỉnh

Để kiểm tra xem YOLO26 có phù hợp với ứng dụng của bạn trước khi đầu tư vào huấn luyện tùy chỉnh hay không, hãy chạy chế độ dự đoán với checkpoint tiền huấn luyện trên chính dữ liệu hình ảnh của bạn. Các model này được tiền huấn luyện trên các dataset như COCO, vì vậy kết quả sẽ cung cấp cái nhìn nhanh chóng về mức độ hiệu quả của model trong bối cảnh cụ thể của bạn.

Link to this sectionChế độ xác thực so với Chế độ dự đoán#

Chế độMục đíchYêu cầu nhãnĐầu ra
ValidationĐịnh lượng hiệu suất dựa trên ground truthPrecision, recall, mAP50, mAP50-95, ma trận nhầm lẫn, các đường cong PR
PredictionKiểm tra hành vi model trên dữ liệu mới, không có nhãnKhôngHình ảnh đã chú thích và kết quả dự đoán, không có chỉ số

Link to this sectionCách phân tích kết quả kiểm thử#

Sau khi có kết quả dự đoán và các chỉ số, hãy đi sâu vào tìm hiểu nơi model thất bại và lý do tại sao:

  • Hình ảnh phân loại sai: Xác định và xem lại các hình ảnh mà model phân loại sai để hiểu lý do tại sao nó xảy ra sai sót.
  • Phân tích lỗi: Thực hiện phân tích lỗi kỹ lưỡng để hiểu các loại lỗi (ví dụ: dương tính giả so với âm tính giả) và nguyên nhân tiềm ẩn của chúng.
  • Định kiến và sự công bằng: Kiểm tra xem có định kiến nào trong các dự đoán của model hay không. Đảm bảo rằng model hoạt động tốt như nhau trên các tập con khác nhau của dữ liệu, đặc biệt nếu nó bao gồm các thuộc tính nhạy cảm như chủng tộc, giới tính hoặc độ tuổi.

Link to this sectionOverfitting và Underfitting trong học máy#

Khi kiểm thử một model học máy, đặc biệt là trong thị giác máy tính, điều quan trọng là phải chú ý đến overfitting và underfitting. Những vấn đề này có thể ảnh hưởng đáng kể đến khả năng hoạt động của model với dữ liệu mới.

Vấn đềDấu hiệu phổ biếnCách khắc phục
OverfittingĐộ chính xác huấn luyện cao nhưng độ chính xác xác thực thấp; quá nhạy cảm với những thay đổi nhỏ hoặc chi tiết không liên quan trong hình ảnhÁp dụng regularization như dropout, tăng kích thước tập huấn luyện, đơn giản hóa kiến trúc model
UnderfittingĐộ chính xác thấp ngay cả trên tập huấn luyện; liên tục không nhận diện được các đặc điểm hoặc đối tượng rõ ràngSử dụng model phức tạp hơn, cung cấp thêm các đặc trưng phù hợp, tăng số epochs huấn luyện

Chìa khóa là tìm ra sự cân bằng để model hoạt động tốt trên cả tập dữ liệu huấn luyện và xác thực. Việc thường xuyên theo dõi các chỉ số và kiểm tra trực quan các dự đoán trong quá trình kiểm thử giúp bạn phát hiện xu hướng tiến về một trong hai cực này.

Comparison of underfitting, appropriate fitting, and overfitting on the same dataset

Link to this sectionRò rỉ dữ liệu trong thị giác máy tính và cách tránh nó#

Rò rỉ dữ liệu xảy ra khi thông tin từ bên ngoài tập huấn luyện vô tình được sử dụng để huấn luyện model. Model có thể trông rất chính xác trong quá trình huấn luyện, nhưng nó sẽ không hoạt động tốt trên dữ liệu mới, chưa từng thấy khi xảy ra rò rỉ dữ liệu.

Sự rò rỉ có thể khó phát hiện và thường xuất phát từ các định kiến ẩn trong dữ liệu huấn luyện:

Loại định kiếnBiểu hiện
Định kiến cameraCác góc độ, ánh sáng, bóng đổ và chuyển động camera khác nhau đưa vào các mẫu không mong muốn
Định kiến lớp phủ (overlay bias)Logo, dấu thời gian hoặc các lớp phủ khác trong hình ảnh làm model bị chệch hướng
Định kiến phông chữ và đối tượngCác phông chữ hoặc đối tượng cụ thể thường xuất hiện trong các lớp nhất định làm sai lệch quá trình học của model
Định kiến không gianSự mất cân bằng trong phân phối tiền cảnh-hậu cảnh, bounding box và vị trí đối tượng ảnh hưởng đến việc huấn luyện
Định kiến nhãn và miềnNhãn không chính xác hoặc sự thay đổi trong các kiểu dữ liệu dẫn đến rò rỉ

Link to this sectionCách phát hiện và tránh rò rỉ dữ liệu#

Để tìm rò rỉ dữ liệu, hãy kiểm tra xem kết quả của model có quá tốt một cách bất ngờ hay không, xem xét liệu một đặc trưng có quan trọng hơn nhiều so với những cái khác hay không, kiểm tra kỹ xem các quyết định của model có hợp lý về mặt trực giác hay không, và xác minh rằng dữ liệu đã được chia đúng cách trước khi xử lý.

Để ngăn chặn, hãy sử dụng một dataset đa dạng với hình ảnh hoặc video từ nhiều camera và môi trường khác nhau, đồng thời kiểm tra kỹ dữ liệu của bạn xem có các định kiến ẩn hay không — chẳng hạn như tất cả các mẫu dương tính đều được chụp vào một thời điểm cụ thể trong ngày. Tránh rò rỉ dữ liệu giúp các model thị giác máy tính của bạn đáng tin cậy hơn trong các tình huống thực tế.

Link to this sectionĐiều gì xảy ra sau khi kiểm thử model#

Sau khi kiểm thử model, các bước tiếp theo phụ thuộc vào kết quả. Nếu model hoạt động tốt, bạn có thể triển khai nó vào môi trường thực tế. Nếu kết quả không đạt yêu cầu, bạn cần thực hiện các cải tiến. Điều này có thể bao gồm việc phân tích lỗi, thu thập thêm dữ liệu, cải thiện chất lượng dữ liệu, điều chỉnh siêu tham số, và huấn luyện lại model.

Link to this sectionKết luận#

Việc kiểm thử model nghiêm ngặt — xác thực trên tập kiểm thử riêng biệt, dự đoán trên hình ảnh thực tế, và kiểm tra tình trạng overfitting và rò rỉ dữ liệu — là yếu tố biến một model đã được đánh giá tốt thành một model đáng tin cậy. Hãy xử lý các vấn đề mà quá trình kiểm thử phát hiện trước khi triển khai, và model của bạn sẽ có khả năng hoạt động như dự định trong môi trường sản xuất. Nếu có câu hỏi phát sinh, hãy đặt câu hỏi cho cộng đồng trên Ultralytics GitHub repository hoặc Ultralytics Discord server.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionNhững khác biệt chính giữa đánh giá model và kiểm thử model trong thị giác máy tính là gì?#

Đánh giá model đo lường hiệu suất bằng các chỉ số trên tập dữ liệu đã gắn nhãn, trong khi kiểm thử model kiểm tra cách model hoạt động trên dữ liệu mới, chưa từng thấy giống với các điều kiện triển khai. Đánh giá tạo ra các con số như precision và mAP từ một tập dữ liệu có kiểm soát; kiểm thử tiết lộ liệu hành vi đã học có duy trì được trong điều kiện ánh sáng, chuyển động hoặc bị che khuất đa dạng hay không. Xem Model Testing vs. Model Evaluation để có ví dụ minh họa.

Link to this sectionLàm thế nào để kiểm thử model Ultralytics YOLO26 của tôi trên nhiều hình ảnh?#

Sử dụng prediction mode và truyền đường dẫn thư mục làm source — YOLO26 sẽ chạy trên mọi hình ảnh trong thư mục và có thể lưu kết quả đã chú thích để xem xét. Chế độ dự đoán không tính toán các chỉ số; để định lượng hiệu suất trên một tập đã gắn nhãn, hãy sử dụng validation mode thay thế. Cả hai quy trình đều được hiển thị trong How to Test a YOLO26 Model.

Link to this sectionYOLO26 báo cáo những chỉ số nào khi xác thực trên tập kiểm thử?#

Đối với các model phát hiện, xác thực báo cáo precision, recall, mAP50, và mAP50-95, đồng thời lưu các biểu đồ bao gồm ma trận nhầm lẫn và đường cong precision-recall. Để xác thực trên tập kiểm thử chuyên biệt thay vì tập val mặc định, hãy định nghĩa test: trong YAML của dataset và sử dụng split="test". Xem hướng dẫn về các chỉ số hiệu suất để biết cách giải thích từng chỉ số.

Link to this sectionTôi nên làm gì nếu model thị giác máy tính của mình có dấu hiệu overfitting hoặc underfitting?#

Đối với overfitting, hãy áp dụng các kỹ thuật regularization như dropout, tăng kích thước tập huấn luyện hoặc đơn giản hóa kiến trúc model. Đối với underfitting, hãy sử dụng model phức tạp hơn, cung cấp nhiều đặc trưng liên quan hơn hoặc huấn luyện nhiều epoch hơn. Các dấu hiệu của mỗi vấn đề và các bản sửa lỗi tương ứng được tóm tắt trong Overfitting and Underfitting in Machine Learning.

Link to this sectionLàm thế nào để phát hiện và tránh rò rỉ dữ liệu trong thị giác máy tính?#

Hãy nghi ngờ rò rỉ dữ liệu khi hiệu suất kiểm thử có vẻ tốt bất ngờ, một đặc trưng đơn lẻ chi phối các dự đoán, hoặc các quyết định của model không có ý nghĩa trực giác. Hãy ngăn chặn bằng cách sử dụng các dataset đa dạng từ nhiều camera và môi trường khác nhau, xem xét dữ liệu để tìm các định kiến ẩn và xác minh rằng việc chia tập huấn luyện/kiểm thử đã diễn ra trước bất kỳ quá trình xử lý nào. Xem Data Leakage in Computer Vision để biết các loại định kiến phổ biến.

Link to this sectionTôi nên thực hiện các bước nào sau khi kiểm thử model thị giác máy tính?#

Nếu kết quả đáp ứng các mục tiêu dự án, hãy triển khai model; nếu không, hãy cải thiện nó trước khi triển khai. Điều đó có nghĩa là phân tích lỗi, thu thập thêm dữ liệu đa dạng hơn, cải thiện chất lượng dữ liệu, tinh chỉnh siêu tham số, và huấn luyện lại. Lặp lại quá trình kiểm thử sau mỗi vòng thay đổi để xác nhận các bản sửa lỗi đã hoạt động.

Bình luận