Chiến lược thu thập và chú thích dữ liệu cho Thị giác máy tính#
Thu thập dữ liệu và chú thích là hai bước nền tảng của mọi dự án thị giác máy tính: bạn thu thập hình ảnh hoặc video mang tính đại diện, sau đó gắn nhãn để model có thể học từ chúng. Chất lượng của dữ liệu này quyết định trực tiếp đến hiệu suất của model, vì vậy việc định nghĩa lớp, thu thập dữ liệu không thiên lệch và chú thích nhất quán rất quan trọng trước khi bắt đầu bất kỳ quá trình huấn luyện nào.
Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀
Hướng dẫn này trình bày về thiết lập lớp và thu thập dữ liệu, chú thích dữ liệu là gì cùng với các loại và định dạng chú thích để lựa chọn, cũng như các chiến lược gắn nhãn hiệu quả — mọi quyết định đều phù hợp với mục tiêu dự án của bạn.
Thiết lập lớp và thu thập dữ liệu#
Việc thu thập hình ảnh và video cho một dự án thị giác máy tính quy về ba quyết định: xác định bao nhiêu lớp, lấy dữ liệu từ đâu và làm thế nào để giữ cho dataset không bị thiên lệch.
Lựa chọn lớp phù hợp cho dự án của bạn#
Một trong những câu hỏi đầu tiên khi bắt đầu dự án thị giác máy tính là nên đưa vào bao nhiêu lớp. Bạn cần xác định thành phần lớp, bao gồm các danh mục hoặc nhãn khác nhau mà bạn muốn model nhận diện và phân biệt. Số lượng lớp nên được xác định dựa trên mục tiêu cụ thể của dự án.
Ví dụ: nếu muốn giám sát giao thông, các lớp của bạn có thể gồm "ô tô", "xe tải", "xe buýt", "xe máy" và "xe đạp". Mặt khác, để theo dõi các mặt hàng trong cửa hàng, các lớp có thể là "trái cây", "rau củ", "đồ uống" và "đồ ăn nhẹ". Việc định nghĩa lớp dựa trên mục tiêu dự án giúp dataset luôn phù hợp và tập trung.
Khi định nghĩa các lớp, một điểm phân biệt quan trọng khác là nên chọn số lượng lớp thô hay chi tiết. 'Count' đề cập đến số lượng lớp riêng biệt mà bạn quan tâm. Quyết định này ảnh hưởng đến mức độ chi tiết của dữ liệu và độ phức tạp của model. Dưới đây là những điểm cần cân nhắc cho từng phương pháp:
- Số lượng lớp thô: Đây là các danh mục rộng hơn, bao quát hơn, chẳng hạn như "phương tiện" và "không phải phương tiện". Chúng đơn giản hóa việc chú thích và cần ít tài nguyên tính toán hơn, nhưng cung cấp ít thông tin chi tiết hơn, có khả năng hạn chế hiệu quả của model trong các tình huống phức tạp.
- Số lượng lớp chi tiết: Nhiều danh mục hơn với các khác biệt tinh tế hơn, chẳng hạn như "sedan", "SUV", "xe bán tải" và "xe máy". Chúng nắm bắt thông tin chi tiết hơn, cải thiện độ chính xác và hiệu suất của model. Tuy nhiên, việc chú thích tốn nhiều thời gian và công sức hơn, đồng thời cần nhiều tài nguyên tính toán hơn.
Bắt đầu với các lớp cụ thể hơn có thể rất hữu ích, đặc biệt trong những dự án phức tạp nơi các chi tiết quan trọng. Các lớp cụ thể hơn cho phép bạn thu thập dữ liệu chi tiết hơn, thu được thông tin chuyên sâu hơn và thiết lập sự phân biệt rõ ràng hơn giữa các danh mục. Điều này không chỉ cải thiện độ chính xác của model mà còn giúp điều chỉnh model dễ dàng hơn về sau nếu cần, tiết kiệm cả thời gian và tài nguyên.
Nguồn dữ liệu#
Bạn có thể sử dụng dataset công khai hoặc tự thu thập dữ liệu tùy chỉnh. Các dataset công khai như những dataset trên Kaggle và Google Dataset Search Engine cung cấp dữ liệu đã được chú thích kỹ và chuẩn hóa, là điểm khởi đầu tốt để huấn luyện và xác thực model.
Mặt khác, việc thu thập dữ liệu tùy chỉnh cho phép bạn điều chỉnh dataset theo nhu cầu cụ thể. Bạn có thể chụp hình ảnh và quay video bằng camera hoặc drone, thu thập hình ảnh từ web hoặc sử dụng dữ liệu nội bộ hiện có của tổ chức. Dữ liệu tùy chỉnh giúp bạn kiểm soát tốt hơn chất lượng và mức độ phù hợp của dữ liệu. Kết hợp cả nguồn dữ liệu công khai và tùy chỉnh giúp tạo ra một dataset đa dạng và toàn diện.
Tránh thiên lệch trong thu thập dữ liệu#
Thiên lệch xảy ra khi một số nhóm hoặc tình huống nhất định được thể hiện quá ít hoặc quá nhiều trong dataset. Điều này dẫn đến một model hoạt động tốt trên một số dữ liệu nhưng kém trên dữ liệu khác. Việc tránh thiên lệch trong AI là rất quan trọng để model thị giác máy tính có thể hoạt động tốt trong nhiều tình huống khác nhau.
Dưới đây là cách bạn có thể tránh thiên lệch trong quá trình thu thập dữ liệu:
- Nguồn đa dạng: Thu thập dữ liệu từ nhiều nguồn để nắm bắt các góc nhìn và tình huống khác nhau.
- Đại diện cân bằng: Bảo đảm sự đại diện cân bằng từ tất cả các nhóm liên quan. Ví dụ, hãy cân nhắc các độ tuổi, giới tính và dân tộc khác nhau.
- Giám sát liên tục: Thường xuyên xem xét và cập nhật dataset để xác định và xử lý mọi thiên lệch mới phát sinh.
- Kỹ thuật giảm thiểu thiên lệch: Sử dụng các phương pháp như oversampling các lớp được đại diện ít, tăng cường dữ liệu và các thuật toán nhận biết tính công bằng.
Tuân thủ các phương pháp này giúp tạo ra một model mạnh mẽ và công bằng hơn, có khả năng tổng quát hóa tốt trong các ứng dụng thực tế.
Chú thích dữ liệu là gì?#
Chú thích dữ liệu là quá trình gắn nhãn dữ liệu để dữ liệu có thể được sử dụng cho việc huấn luyện các model machine learning. Trong thị giác máy tính, điều này có nghĩa là gắn nhãn hình ảnh hoặc video bằng thông tin mà model cần học. Nếu không có dữ liệu được chú thích đúng cách, model không thể học chính xác mối quan hệ giữa đầu vào và đầu ra.
Các loại chú thích dữ liệu#
Tùy thuộc vào yêu cầu cụ thể của một tác vụ thị giác máy tính, có nhiều loại chú thích dữ liệu khác nhau. Dưới đây là một số ví dụ:
- Bounding Boxes: Các khung hình chữ nhật được vẽ xung quanh đối tượng trong hình ảnh, chủ yếu được sử dụng cho các tác vụ phát hiện đối tượng. Những khung này được xác định bằng tọa độ góc trên bên trái và góc dưới bên phải.
- Polygons: Đường viền chi tiết của đối tượng, cho phép chú thích chính xác hơn bounding box. Polygon được sử dụng trong các tác vụ như phân đoạn instance, trong đó hình dạng của đối tượng rất quan trọng.
- Masks: Mask nhị phân trong đó mỗi pixel либо là một phần của đối tượng, либо là nền. Mask được sử dụng trong các tác vụ phân đoạn semantic để cung cấp thông tin chi tiết ở cấp pixel.
- Keypoints: Các điểm cụ thể được đánh dấu trong hình ảnh để xác định những vị trí cần quan tâm. Keypoint được sử dụng trong các tác vụ như ước lượng pose và phát hiện landmark khuôn mặt.
- Oriented Bounding Boxes: Các hình chữ nhật chứa góc xoay, được sử dụng trong các tác vụ OBB khi đối tượng xuất hiện theo hướng bất kỳ, chẳng hạn như trong ảnh chụp từ trên không.
Các định dạng chú thích phổ biến#
Sau khi chọn loại chú thích, điều quan trọng là chọn định dạng phù hợp để lưu trữ và chia sẻ chú thích. Các định dạng phổ biến nhất là:
| Định dạng | Cấu trúc file | Thường được sử dụng cho |
|---|---|---|
| COCO | Một file JSON duy nhất | Phát hiện đối tượng, phân đoạn instance, phát hiện keypoint, phân đoạn stuff và phân đoạn panoptic, tạo chú thích hình ảnh |
| Pascal VOC | Một file XML cho mỗi hình ảnh | Phát hiện đối tượng |
| YOLO | Một file .txt cho mỗi hình ảnh | Phát hiện đối tượng, phân đoạn, pose và bounding box có hướng |
Định dạng YOLO lưu một dòng cho mỗi đối tượng với chỉ số lớp bắt đầu từ 0. Đối với phát hiện đối tượng, dòng là class x_center y_center width height với các tọa độ được chuẩn hóa trong khoảng 0–1. Dòng phân đoạn thay thế box bằng các điểm polygon đã chuẩn hóa của đối tượng, trong khi dòng pose giữ lại box và nối thêm tọa độ keypoint phía sau, cùng cờ khả kiến cho từng keypoint khi dataset khai báo kpt_shape: [n, 3]. Dòng OBB lưu class x1 y1 x2 y2 x3 y3 x4 y4 bằng các tọa độ góc đã chuẩn hóa.
Nếu công cụ chú thích của bạn xuất COCO JSON, bạn có thể chuyển đổi sang nhãn YOLO .txt hoặc huấn luyện trực tiếp trên JSON bằng một custom dataset class.
Thiết lập hướng dẫn chú thích#
Sau khi chọn loại và định dạng chú thích, bước tiếp theo là thiết lập các quy tắc gắn nhãn rõ ràng và khách quan. Những quy tắc này đóng vai trò như lộ trình để duy trì tính nhất quán và độ chính xác trong suốt quá trình chú thích. Các khía cạnh chính của những quy tắc này gồm:
- Rõ ràng và chi tiết: Bảo đảm hướng dẫn của bạn rõ ràng. Sử dụng ví dụ và hình minh họa để cho thấy yêu cầu cụ thể.
- Tính nhất quán: Giữ cho các chú thích đồng nhất. Đặt ra tiêu chí tiêu chuẩn để chú thích các loại dữ liệu khác nhau, ताकि mọi chú thích đều tuân theo cùng một quy tắc.
- Giảm thiên lệch: Giữ thái độ trung lập. Rèn luyện tính khách quan và giảm thiểu thiên kiến cá nhân để bảo đảm chú thích công bằng.
- Hiệu quả: Làm việc thông minh hơn, không phải vất vả hơn. Sử dụng các công cụ và workflow tự động hóa những tác vụ lặp lại, giúp quá trình chú thích nhanh hơn và hiệu quả hơn.
Thường xuyên xem xét và cập nhật các quy tắc gắn nhãn sẽ giúp chú thích của bạn chính xác, nhất quán và phù hợp với mục tiêu dự án.
Công cụ chú thích#
Một công cụ chú thích tốt cho phép bạn gắn nhãn mọi loại dữ liệu mà tác vụ yêu cầu, thực thi các hướng dẫn nhất quán và xuất nhãn ở định dạng sẵn sàng cho huấn luyện. Ultralytics Platform cung cấp trình chỉnh sửa chú thích tích hợp, hỗ trợ detection, phân đoạn instance, phân đoạn semantic, classification, pose và OBB, cùng tính năng chú thích thông minh do SAM hỗ trợ, biến một lần nhấp thành mask cho các tác vụ detection, phân đoạn instance, phân đoạn semantic và OBB. Vì chú thích được lưu theo layout mà từng tác vụ yêu cầu — các dòng YOLO .txt cho các tác vụ không gian và các thư mục lớp cho classification — dataset đã gắn nhãn của bạn được chuyển thẳng vào huấn luyện mà không cần bước chuyển đổi.
Chất lượng chú thích: độ chính xác, precision và outlier#
Trước khi chú thích ở quy mô lớn, bạn nên hiểu về độ chính xác, precision, outlier và kiểm soát chất lượng để không gắn nhãn dữ liệu theo cách phản tác dụng.
Tìm hiểu về độ chính xác và precision#
Điều quan trọng là hiểu sự khác biệt giữa accuracy và precision cũng như mối liên hệ của chúng với chú thích. Accuracy đề cập đến mức độ gần của dữ liệu được chú thích so với giá trị thực. Nó giúp chúng ta đo lường mức độ nhãn phản ánh các tình huống thực tế. Precision cho biết tính nhất quán của chú thích. Nó kiểm tra xem bạn có gán cùng một nhãn cho cùng một đối tượng hoặc đặc trưng xuyên suốt dataset hay không. Accuracy và precision cao giúp tạo ra các model được huấn luyện tốt hơn bằng cách giảm nhiễu và cải thiện khả năng tổng quát hóa từ dữ liệu huấn luyện.
Xác định outlier#
Outlier là các điểm dữ liệu sai lệch đáng kể so với những quan sát khác trong dataset. Đối với chú thích, outlier có thể là một hình ảnh bị gắn nhãn sai hoặc một chú thích không phù hợp với phần còn lại của dataset. Outlier đáng lo ngại vì có thể làm sai lệch quá trình học của model, dẫn đến dự đoán không chính xác và khả năng tổng quát hóa kém.
Bạn có thể sử dụng nhiều phương pháp khác nhau để phát hiện và sửa outlier:
- Kỹ thuật thống kê: Để phát hiện outlier trong các đặc trưng số như giá trị pixel, tọa độ bounding box hoặc kích thước đối tượng, bạn có thể sử dụng các phương pháp như biểu đồ hộp, histogram hoặc z-score.
- Kỹ thuật trực quan: Để phát hiện điểm bất thường trong các đặc trưng phân loại như lớp đối tượng, màu sắc hoặc hình dạng, hãy sử dụng các phương pháp trực quan như vẽ hình ảnh, nhãn hoặc heat map.
- Phương pháp thuật toán: Sử dụng các công cụ như clustering (ví dụ: K-means clustering, DBSCAN) và các thuật toán phát hiện bất thường để xác định outlier dựa trên các mẫu phân phối dữ liệu.
Kiểm soát chất lượng dữ liệu đã chú thích#
Cũng như các dự án kỹ thuật khác, kiểm soát chất lượng là yêu cầu bắt buộc đối với dữ liệu đã chú thích. Thường xuyên kiểm tra chú thích để bảo đảm chúng chính xác và nhất quán là một thực hành tốt. Có thể thực hiện việc này theo một số cách:
- Xem xét các mẫu dữ liệu đã chú thích
- Sử dụng các công cụ tự động để phát hiện lỗi phổ biến
- Nhờ một người khác kiểm tra lại chú thích
Nếu làm việc với nhiều người, tính nhất quán giữa các annotator khác nhau rất quan trọng. Mức độ đồng thuận tốt giữa các annotator cho thấy hướng dẫn rõ ràng và mọi người đều tuân thủ theo cùng một cách. Điều này giúp mọi người thống nhất và duy trì tính nhất quán của chú thích.
Trong quá trình xem xét, nếu phát hiện lỗi, hãy sửa chúng và cập nhật hướng dẫn để tránh sai sót trong tương lai. Cung cấp phản hồi cho annotator và tổ chức đào tạo thường xuyên để giúp giảm lỗi. Một quy trình xử lý lỗi chặt chẽ giúp dataset của bạn chính xác và đáng tin cậy.
Chiến lược gắn nhãn dữ liệu hiệu quả#
Để quá trình gắn nhãn dữ liệu trôi chảy và hiệu quả hơn, hãy cân nhắc triển khai các chiến lược sau:
- Hướng dẫn chú thích rõ ràng: Cung cấp hướng dẫn chi tiết kèm ví dụ để bảo đảm mọi annotator diễn giải tác vụ nhất quán. Ví dụ, khi gắn nhãn chim, hãy nêu rõ cần bao gồm toàn bộ con chim hay chỉ một số bộ phận cụ thể.
- Kiểm tra chất lượng thường xuyên: Đặt ra các chuẩn đối chiếu và sử dụng những metric cụ thể để xem xét công việc, duy trì tiêu chuẩn cao thông qua phản hồi liên tục.
- Sử dụng công cụ tiền chú thích: Nhiều nền tảng chú thích hiện đại cung cấp các tính năng tiền chú thích có AI hỗ trợ, có thể tăng tốc đáng kể quy trình bằng cách tự động tạo chú thích ban đầu để con người tinh chỉnh.
- Triển khai Active Learning: Phương pháp này ưu tiên gắn nhãn trước các mẫu giàu thông tin nhất, nhờ đó có thể giảm tổng số chú thích cần thiết mà vẫn duy trì hiệu suất model.
- Xử lý theo batch: Nhóm các hình ảnh tương tự lại để chú thích nhằm duy trì tính nhất quán và cải thiện hiệu quả.
Các chiến lược này có thể giúp duy trì chú thích chất lượng cao đồng thời giảm thời gian và tài nguyên cần thiết cho quá trình gắn nhãn.
Kết luận#
Thu thập dữ liệu đa dạng, không thiên lệch và chú thích nhất quán bằng các công cụ phù hợp là nền tảng của một model thị giác máy tính đáng tin cậy. Sau khi thu thập và gắn nhãn dataset, hãy tiếp tục với hướng dẫn về các bước của một dự án thị giác máy tính để chuyển sang huấn luyện và đánh giá. Nếu có câu hỏi trong quá trình thực hiện, hãy hỏi cộng đồng trên repository Ultralytics GitHub hoặc server Ultralytics Discord.
FAQ#
Để giảm thiểu thiên lệch, hãy thu thập dữ liệu từ các nguồn đa dạng, bảo đảm sự đại diện cân bằng giữa tất cả các nhóm liên quan (chẳng hạn như các độ tuổi, giới tính và dân tộc khác nhau), thường xuyên xem xét và cập nhật dataset để phát hiện thiên lệch mới phát sinh, đồng thời áp dụng các kỹ thuật giảm thiểu như oversampling các lớp được đại diện ít, tăng cường dữ liệu và các thuật toán nhận biết tính công bằng. Tránh thiên lệch theo cách này giúp model thị giác máy tính hoạt động tốt trong nhiều tình huống thực tế khác nhau và cải thiện khả năng tổng quát hóa.
Thiết lập hướng dẫn gắn nhãn rõ ràng, khách quan với chỉ dẫn, ví dụ và hình minh họa chi tiết, sau đó áp dụng thống nhất cho tất cả loại dữ liệu để mọi chú thích đều tuân theo cùng một quy tắc. Đào tạo annotator giữ thái độ trung lập để giảm thiên kiến cá nhân, thường xuyên xem xét và cập nhật hướng dẫn, đồng thời sử dụng các bước kiểm tra tính nhất quán tự động cùng phản hồi giữa các annotator để duy trì độ chính xác cao và phù hợp với mục tiêu dự án.
Vài trăm đối tượng được chú thích cho mỗi lớp là đủ để bắt đầu thử nghiệm với transfer learning, nhưng để đạt hiệu suất đáng tin cậy trong thực tế, Ultralytics khuyến nghị ít nhất 1.500 hình ảnh và 10.000 instance được gắn nhãn cho mỗi lớp. Kết hợp dataset đủ lớn với lịch huấn luyện hợp lý — khoảng 300 epoch là điểm khởi đầu phổ biến, có thể giảm xuống nếu model overfit sớm — đồng thời duy trì chú thích nghiêm ngặt và phù hợp với mục tiêu cụ thể của dự án. Tìm hiểu các chiến lược huấn luyện chi tiết trong hướng dẫn huấn luyện YOLO26.
Có. Ultralytics Platform tích hợp trình chỉnh sửa chú thích, hỗ trợ bounding box, polygon, keypoint, bounding box có hướng và nhãn classification trong một workspace duy nhất. Tính năng chú thích thông minh do SAM hỗ trợ tăng tốc việc gắn nhãn cho các tác vụ detection, phân đoạn instance, phân đoạn semantic và OBB bằng cách tạo mask từ một lần nhấp, trong khi pose và classification được chú thích thủ công. Chú thích được lưu theo layout mà từng tác vụ yêu cầu — các dòng YOLO
.txtcho các tác vụ không gian, các thư mục lớp cho classification — và sẵn sàng cho huấn luyện.Hãy chọn loại chú thích phù hợp với tác vụ bạn định huấn luyện. Bounding box là loại nhanh nhất để vẽ và đáp ứng mọi nhu cầu của phát hiện đối tượng. Polygon và mask tốn nhiều thời gian hơn đáng kể cho mỗi đối tượng nhưng cần thiết cho phân đoạn instance khi hình dạng chính xác của đối tượng quan trọng. Keypoint phù hợp với ước lượng pose và phát hiện landmark, còn bounding box có hướng phù hợp với các tác vụ OBB như ảnh chụp từ trên không, trong đó hình chữ nhật thẳng theo trục sẽ bao quanh quá nhiều nền. Chú thích theo đúng tác vụ cụ thể mà bạn thực sự cần giúp nỗ lực gắn nhãn tương xứng với kết quả.