Data Labeling
Gán nhãn dữ liệu gắn lớp, bounding box, mask hoặc keypoint vào dữ liệu thô để model học có giám sát có thể sử dụng. Nội dung đề cập các loại nhãn, quy trình và kiểm tra chất lượng.
Gắn nhãn dữ liệu là quá trình gắn thông tin ground truth vào dữ liệu thô, chẳng hạn như tên lớp cho một ảnh, hộp giới hạn quanh mỗi chiếc xe trong ảnh đường phố hoặc bản chép lời cho một đoạn âm thanh, để các model học có giám sát có thể học từ dữ liệu đó. Nhãn xác định tác vụ: model học cách dự đoán chính xác những gì nhãn mô tả, với độ chính xác và tính nhất quán tương ứng. Gán nhãn dữ liệu là từ đồng nghĩa; những người thực hiện công việc này được gọi là labeler hoặc annotator. Gắn nhãn thường là bước chậm và tốn kém nhất khi xây dựng dữ liệu huấn luyện, đó là lý do nhiều quy trình để model đề xuất nhãn rồi con người chỉnh sửa.
Các loại nhãn trong thị giác máy tính#
Định dạng nhãn phụ thuộc vào tác vụ mà model cần thực hiện:
- Phân loại ảnh: Một lớp cho mỗi ảnh, chẳng hạn "lỗi" hoặc "đạt" đối với linh kiện trên dây chuyền kiểm tra.
- Phát hiện đối tượng: Một hộp căn theo trục và một lớp cho mỗi đối tượng cần quan tâm.
- Hộp giới hạn định hướng: Hộp xoay khớp với các đối tượng dài hoặc nghiêng, chẳng hạn tàu thuyền và phương tiện trong ảnh chụp từ trên không.
- Phân đoạn instance: Đa giác hoặc mask pixel phác đường viền riêng cho từng đối tượng.
- Phân đoạn ngữ nghĩa: Gán một lớp cho mỗi pixel, chẳng hạn đường, vỉa hè và bầu trời, mà không tách riêng từng đối tượng.
- Ước tính tư thế: Keypoint tại các mốc cố định, chẳng hạn 17 điểm của COCO từ mũi, mắt đến mắt cá chân, thường đi kèm cờ hiển thị cho từng điểm.
Công sức thực hiện tăng theo mức độ chi tiết. Vẽ một hộp chất lượng cao cho ILSVRC, bộ dữ liệu thử thách ImageNet, mất khoảng 35 giây; phương pháp nhấp chuột cực biên, trong đó annotator nhấp vào điểm trên cùng, dưới cùng, ngoài cùng bên trái và ngoài cùng bên phải của đối tượng thay vì kéo các góc, giảm thời gian xuống còn 7 giây mà vẫn tạo ra hộp có chất lượng tương đương. Đa giác và mask pixel còn mất nhiều thời gian hơn. Ngoài lĩnh vực thị giác, nhãn đánh dấu các đoạn thực thể cho nhận dạng thực thể có tên (NER), cảm xúc cho phân loại văn bản và bản chép lời cho nhận dạng giọng nói.
Quy trình gán nhãn#
Các dự án gắn nhãn bắt đầu bằng hướng dẫn bằng văn bản xác định từng lớp và giải quyết các trường hợp ngoại lệ trước khi bắt đầu: có vẽ hộp quanh chiếc xe bị che khuất 90% hay không, vẽ sát đến mức nào quanh tay chân của người đi xe đạp và xử lý ra sao với hình phản chiếu, đối tượng rất nhỏ và đám đông. Trong gắn nhãn có hỗ trợ model, model được huấn luyện trên các nhãn hiện có sẽ gán nhãn trước cho ảnh mới; annotator sửa lỗi, reviewer kiểm tra một mẫu, rồi mỗi model được huấn luyện lại sẽ đưa ra đề xuất chính xác hơn ở vòng tiếp theo. Học chủ động bổ sung bước chọn dữ liệu vào quy trình này để con người gắn nhãn trước những ảnh mà model kém chắc chắn nhất.
Trình chỉnh sửa annotation trên Ultralytics Platform tích hợp sẵn quy trình này: chế độ Smart biến một lần nhấp thành mask bằng các model Segment Anything của Meta, hoặc thêm dự đoán từ YOLO đã huấn luyện trước hay YOLO do bạn fine-tune dưới dạng annotation nháp. Bước gán nhãn trước tương tự cũng chạy được trong Python bằng detector YOLO26, ghi dự đoán theo định dạng nhãn dùng cho huấn luyện:
from pathlib import Path
from ultralytics import YOLO
# Tải detector YOLO26 nano đã huấn luyện trước để đề xuất nhãn
model = YOLO("yolo26n.pt")
# Dự đoán trên ảnh chưa được gán nhãn
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Ghi một dòng "class x_center y_center width height" cho mỗi đối tượng, được chuẩn hóa về khoảng 0-1
label_file = result.save_txt("bus.txt")
# In các nhãn nháp để annotator xem xét
print(Path(label_file).read_text())Mỗi dòng được in ra là một chỉ số lớp COCO, theo sau là tâm hộp, chiều rộng và chiều cao tính theo tỷ lệ so với kích thước ảnh; đây là định dạng nhãn YOLO mà quy trình huấn luyện đọc trực tiếp sau khi annotator sửa mọi hộp sai hoặc bị thiếu.
Chất lượng nhãn#
Model không thể nhất quán hơn các nhãn của nó, và lỗi thường xuất hiện ngay cả trong các dataset nổi tiếng. Một nghiên cứu về lỗi nhãn trong 10 benchmark được sử dụng rộng rãi ước tính trung bình có ít nhất 3.3% nhãn kiểm thử bị sai, trong đó ít nhất 6% thuộc tập validation ImageNet. Các nhóm phát hiện lỗi bằng một số kiểm tra tiêu chuẩn:
- Câu hỏi chuẩn: Các mục có đáp án đã biết được trộn vào hàng đợi của từng labeler để đo độ chính xác, thường lấy từ một dataset chuẩn.
- Gắn nhãn chồng lặp: Hai hoặc nhiều annotator gắn nhãn cùng một mục, sau đó mức độ đồng thuận được chấm bằng kappa của Cohen cho nhãn lớp hoặc bằng độ giao nhau trên hợp (IoU) giữa các hộp và mask của họ.
- Kiểm tra bằng model: Một model đã huấn luyện đánh dấu các nhãn mà model không đồng tình mạnh; các công cụ như cleanlab xếp hạng những lỗi nhãn có khả năng cao nhất để con người xem xét.
Gắn nhãn dữ liệu và các thuật ngữ liên quan#
- Gán nhãn dữ liệu: Từ đồng nghĩa. Các nhóm thị giác máy tính thường dùng thuật ngữ annotation cho hình học được vẽ như hộp và mask.
- Học bán giám sát: Model tự gắn nhãn dữ liệu chưa được gắn nhãn, giữ lại các dự đoán có độ tin cậy cao của chính nó làm pseudo-label mà không cần con người xem xét.
- Học chủ động: Quyết định những mục nào sẽ được gắn nhãn tiếp theo, thường là những mục mà model hiện tại đánh giá kém chắc chắn nhất.
- Làm sạch dữ liệu: Sửa các vấn đề trong dataset như dữ liệu trùng lặp, tệp lỗi và định dạng không nhất quán, bao gồm cả nhãn sai được phát hiện sau khi gắn nhãn.
- Dữ liệu tổng hợp: Ảnh được kết xuất hoặc tạo ra, có nhãn được bộ tạo cung cấp miễn phí vì bố cục cảnh đã biết chính xác, đổi lại là khoảng cách giữa ảnh tổng hợp và ảnh thực.










