Data Labeling
Tìm hiểu các kiến thức nền tảng về data labeling cho machine learning. Khám phá các loại chính như object detection và cách tăng tốc workflow bằng Ultralytics YOLO26.
Gắn nhãn dữ liệu là quy trình nền tảng để xác định dữ liệu thô—chẳng hạn như hình ảnh, khung hình video, văn bản hoặc âm thanh—và thêm các thẻ hoặc metadata mang tính thông tin để cung cấp ngữ cảnh. Trong lĩnh vực học máy (ML), các thuật toán không thể tự hiểu thế giới vật lý; chúng cần một "giáo viên" để hướng dẫn. Sự hướng dẫn này được thực hiện thông qua các dataset đã gắn nhãn, được sử dụng trong quá trình học có giám sát. Các nhãn đóng vai trò là ground truth, đại diện cho những đáp án đúng mà model cố gắng dự đoán. Dù đang huấn luyện một classifier đơn giản hay một kiến trúc phức tạp như Ultralytics YOLO26, độ chính xác, tính nhất quán và chất lượng của các nhãn này là những yếu tố quyết định hàng đầu đến thành công của model.
Gắn nhãn dữ liệu và chú thích dữ liệu#
Mặc dù các thuật ngữ này thường được dùng thay thế cho nhau trong giao tiếp thông thường, vẫn có một điểm khác biệt tinh tế đáng lưu ý. "Gắn nhãn dữ liệu" thường đề cập đến hành động khái quát là gán một danh mục hoặc thẻ cho một mẩu dữ liệu (ví dụ: gắn thẻ một email là "spam"). Ngược lại, chú thích dữ liệu thường cụ thể hơn đối với thị giác máy tính (CV), bao gồm việc phân định chính xác các đối tượng bằng hộp giới hạn, đa giác hoặc keypoint. Tuy nhiên, trong hầu hết quy trình vận hành machine learning (MLOps), cả hai thuật ngữ đều mô tả việc tạo dữ liệu huấn luyện chất lượng cao.
Các loại chính trong thị giác máy tính#
Phương pháp gắn nhãn thay đổi tùy theo tác vụ mà model phải thực hiện. Các loại phổ biến bao gồm:
- Phân loại hình ảnh: Gán một nhãn duy nhất cho toàn bộ hình ảnh, chẳng hạn như xác định điều kiện thời tiết là "nhiều mây" hay "nắng".
- Phát hiện đối tượng: Vẽ hộp giới hạn 2D xung quanh các đối tượng riêng biệt để dạy model biết đối tượng đó là gì và nằm ở đâu.
- Phân đoạn instance: Tạo các mask hoặc đa giác chính xác đến từng pixel xung quanh đối tượng, điều cần thiết để xác định hình dạng và ranh giới chính xác.
- Ước tính tư thế: Đánh dấu các keypoint cụ thể trên một đối tượng, chẳng hạn như các khớp xương, để phân tích chuyển động hoặc tư thế.
Các ứng dụng trong thực tế#
Tính ứng dụng của việc gắn nhãn dữ liệu trải rộng trên hầu hết mọi ngành sử dụng AI.
-
Xe tự hành: Ô tô tự lái dựa vào các dataset khổng lồ, trong đó mọi phương tiện, người đi bộ, biển báo giao thông và vạch làn đường đều được gắn nhãn tỉ mỉ. Dữ liệu đã gắn nhãn này cho phép hệ thống nhận thức điều hướng an toàn trong các môi trường phức tạp. Các công ty xe tự hành đầu tư mạnh vào việc gắn nhãn ở cấp độ pixel để bảo đảm tuân thủ các yêu cầu an toàn.
-
Nông nghiệp chính xác: Trong hoạt động canh tác hiện đại, AI trong nông nghiệp được sử dụng để phát hiện bệnh cây trồng hoặc theo dõi các giai đoạn sinh trưởng. Nông dân sử dụng các model được huấn luyện trên những hình ảnh đã gắn nhãn của lá "khỏe mạnh" và "bị bệnh" để tự động hóa việc xử lý, giảm lượng hóa chất sử dụng và tăng năng suất.
Quy trình gắn nhãn#
Việc tạo một dataset đã gắn nhãn thường là phần tốn nhiều thời gian nhất của một dự án AI. Quy trình này thường áp dụng phương pháp "con người trong vòng lặp" (HITL), trong đó các annotator là con người xác minh nhãn để bảo đảm độ chính xác cao. Các quy trình hiện đại tận dụng những công cụ như Ultralytics Platform, giúp đơn giản hóa việc quản lý dataset và cho phép các nhóm cộng tác trên các chú thích. Các kỹ thuật nâng cao như học chủ động cũng có thể được sử dụng, trong đó một model gắn nhãn sơ bộ cho dữ liệu còn con người chỉ sửa các dự đoán có độ tin cậy thấp, giúp tăng tốc đáng kể quy trình.
Ví dụ sau minh họa cách sử dụng model Ultralytics YOLO26 đã được huấn luyện trước để tự động tạo nhãn (tự động gắn nhãn) cho một hình ảnh mới, sau đó con người có thể chỉnh sửa:
from ultralytics import YOLO
# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Save the detection results to a text file in standard YOLO format
# This file can now be used as a starting point for data labeling
results[0].save_txt("bus_labels.txt")








