Data Labeling
Tìm hiểu các nguyên tắc cơ bản của việc gắn nhãn dữ liệu cho machine learning. Khám phá các loại hình chính như phát hiện vật thể và cách tăng tốc quy trình làm việc bằng Ultralytics YOLO26.
Gắn nhãn dữ liệu là quá trình cơ bản 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 siêu dữ liệu có thông tin để cung cấp ngữ cảnh. Trong lĩnh vực machine learning (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 xuất hiện dưới dạng các tập dữ liệu được gắn nhãn được sử dụng trong supervised learning. Các nhãn đóng vai trò là ground truth, đại diện cho các câu trả lời chính xác mà model cố gắng dự đoán. Cho dù đang huấn luyện một bộ phân loại đơ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à yếu tố quyết định hàng đầu đến thành công của model.
Gán nhãn dữ liệu so với 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, nhưng vẫn có một sự khác biệt tinh tế đáng chú ý. "Gắn nhãn dữ liệu" nhìn chung đề cập đến hành động rộng lớn là gán một danh mục hoặc thẻ cho một phần dữ liệu (ví dụ: gán nhãn một email là "thư rác"). Ngược lại, data annotation thường cụ thể hơn đối với computer vision (CV), liên quan đến việc định描 chính xác các đối tượng bằng bounding boxes, đa giác hoặc keypoints. Tuy nhiên, trong hầu hết các quy trình ML operations (MLOps), cả hai thuật ngữ đều mô tả việc tạo ra training data 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 dựa trên tác vụ mà mô hình phải thực hiện. Các loại phổ biến bao gồm:
- Image Classification: Gán một nhãn duy nhất cho toàn bộ hình ảnh, chẳng hạn như nhận dạng điều kiện thời tiết là "có mây" hoặc "nắng".
- Object Detection: Vẽ bounding boxes 2D xung quanh các đối tượng riêng biệt để dạy cho model biết đối tượng đó là gì và nó nằm ở đâu.
- Instance Segmentation: Tạo các mặt nạ hoặc polygons hoàn hảo đến từng pixel xung quanh các đối tượng, điều này rất cần thiết để xác định các hình dạng và ranh giới chính xác.
- Pose Estimation: Đánh dấu các keypoints 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ế#
Tiện ích của việc gán nhãn dữ liệu mở rộng trên hầu hết mọi ngành công nghiệp sử dụng AI.
-
Xe tự hành: Xe tự lái dựa vào các tập dữ liệu khổng lồ, nơi mọi phương tiện, người đi bộ, biển báo giao thông và vạch kẻ đường đều được gắn nhãn tỉ mỉ. Dữ liệu được gắn nhãn này cho phép hệ thống nhận thức điều hướng các môi trường phức tạp một cách an toàn. Các công ty Autonomous vehicle đầu tư mạnh mẽ vào việc gắn nhãn ở cấp độ pixel để đảm bảo tuân thủ an toàn.
-
Nông nghiệp chính xác: Trong nền nông nghiệp hiện đại, AI in agriculture đượ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 hình ảnh được gắn nhãn về lá "khỏe mạnh" so với lá "bị bệnh" để tự động hóa việc xử lý, giảm việc sử dụng hóa chất và tăng năng suất.
Quy trình gán nhãn#
Creating a labeled dataset is often the most time-consuming part of an AI project. The process typically involves a "Human-in-the-Loop" (HITL) approach, where human annotators verify labels to ensure high accuracy. Modern workflows leverage tools like the Ultralytics Platform, which simplifies dataset management and allows teams to collaborate on annotations. Advanced techniques like active learning can also be employed, where a model pre-labels the data, and humans only correct the low-confidence predictions, significantly speeding up the process.
Ví dụ sau đây minh họa cách sử dụng mô hình 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 đó có thể được con người 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")





