Xuất chú thích LabelMe sang YOLO và Ultralytics Platform#
LabelMe là công cụ gán nhãn ảnh ngoại tuyến với một ứng dụng Python mã nguồn mở. Không có kết nối LabelMe trực tiếp hoặc API key nào cần cấu hình trong Ultralytics Platform. Toàn bộ quy trình tích hợp được thực hiện cục bộ: gán nhãn trong LabelMe, chuyển đổi chú thích JSON của LabelMe sang định dạng YOLO bằng LabelMe Toolkit, rồi tải ZIP kết quả lên làm dataset trên Platform.
1. Gán nhãn ảnh trong LabelMe#
Cài đặt LabelMe bằng ứng dụng desktop hoặc gói Python mã nguồn mở, sau đó mở thư mục chứa ảnh. LabelMe lưu chú thích của mỗi ảnh trong một tệp JSON tương ứng.
Đối với quy trình phát hiện YOLO trong hướng dẫn này, hãy vẽ hình chữ nhật quanh từng đối tượng và gán tên class. Hướng dẫn bắt đầu với LabelMe trình bày cách mở ảnh, vẽ hình và lưu chú thích, còn hướng dẫn dataset LabelMe hướng dẫn xem xét và chuẩn bị một dataset đã gán nhãn hoàn chỉnh.
Thư mục nguồn của bạn cần chứa ảnh và các tệp JSON của LabelMe:
your_dataset/
├── image_001.jpg
├── image_001.json
├── image_002.jpg
└── image_002.json2. Cài đặt LabelMe Toolkit#
Cài đặt LabelMe Toolkit theo hướng dẫn cài đặt toolkit của LabelMe. Toolkit và các tệp xuất của toolkit chạy cục bộ.
export-to-yolo thuộc LabelMe Pro Toolkit và cần đăng nhập LabelMe để tải trình cài đặt. Đây là yêu cầu của sản phẩm LabelMe; bạn có thể tải ZIP tạo ra lên bất kỳ gói Platform nào.
Xác minh cài đặt, sau đó liệt kê mọi nhãn có trong dataset nguồn:
labelmetk --version
labelmetk list-labels your_dataset/Kiểm tra đầu ra trước khi xuất. Các nhãn không có trong --class-names sẽ bị bỏ qua, và thứ tự bạn cung cấp sẽ trở thành thứ tự ID class YOLO.
3. Xuất sang định dạng YOLO#
Chạy export-to-yolo với thư mục nguồn và danh sách tên class được phân tách bằng dấu phẩy:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalThay crack,normal bằng các nhãn mà list-labels trả về. LabelMe ghi kết quả vào your_dataset.export/:
your_dataset.export/
├── classes.txt
├── images/
│ ├── image_001.jpg
│ └── image_002.jpg
└── labels/
├── image_001.txt
└── image_002.txtclasses.txt giữ nguyên tên class theo thứ tự được sử dụng trong các tệp nhãn YOLO. Hãy giữ tệp này ở thư mục gốc của bản xuất.
LabelMe Toolkit xuất hình chữ nhật dưới dạng bounding box YOLO. Toolkit cũng chuyển các đa giác và mask thành bounding box căn chỉnh theo trục, vì vậy export-to-yolo không bảo toàn hình học phân đoạn. Hãy vẽ hình chữ nhật khi chuẩn bị dataset phát hiện bằng quy trình này.
4. Tạo tệp ZIP#
Nén nội dung của your_dataset.export/, không nén thư mục chứa các nội dung đó. Trên macOS hoặc Linux:
cd your_dataset.export
zip -r ../your_dataset.zip classes.txt images labelsTrên Windows PowerShell:
Compress-Archive -Path .\your_dataset.export\* -DestinationPath .\your_dataset.zipMở tệp ZIP trước khi tải lên và xác nhận classes.txt, images/ và labels/ nằm ở thư mục gốc. Thư mục bao bên ngoài your_dataset.export/ sẽ khiến Platform không tìm thấy danh sách class ở thư mục gốc.
5. Tải lên Ultralytics Platform#
- Mở Settings > Integrations > LabelMe.
- Nhấp vào Upload export.
- Tải
your_dataset.ziplên và hoàn tất tạo dataset. - Chờ quá trình xử lý hoàn tất, sau đó xem lại ảnh, class và chú thích.
- Chỉnh sửa chú thích, huấn luyện model và triển khai model trong cùng một workspace.

LabelMe và quá trình xuất sang YOLO hoàn toàn ngoại tuyến. Chỉ tệp ZIP bạn chọn trong hộp thoại tải lên mới được gửi đến Platform.
Khắc phục sự cố#
- Các class có tên
class0,class1và các tên tiếp theo: xác nhậnclasses.txtcó trong thư mục gốc của tệp ZIP. - Thiếu một số chú thích: chạy lại
labelmetk list-labels your_dataset/và thêm mọi nhãn cần thiết vào--class-names. - Đa giác bị chuyển thành box: đây là hành vi đã được ghi nhận của
export-to-yolotrong LabelMe; công cụ chuyển các hình không phải hình chữ nhật thành bounding box. - Dataset không có ảnh: xác nhận thư mục
images/đã xuất được đưa vào tệp ZIP. - Platform không tìm thấy class: xóa mọi thư mục bên ngoài khỏi tệp lưu trữ để
classes.txt,images/vàlabels/trở thành các mục ở cấp cao nhất.
Để xem toàn bộ quy trình cục bộ, hãy tham khảo hướng dẫn huấn luyện YOLO và tài liệu tham khảo export-to-yolo của LabelMe.
Câu hỏi thường gặp#
Không. LabelMe và quá trình xuất chạy cục bộ; chỉ ZIP bạn tải lên mới được gửi đến Platform. Lệnh
export-to-yolothuộc LabelMe Pro Toolkit, vốn là yêu cầu của LabelMe, nhưng ZIP tạo ra có thể được tải lên bất kỳ gói Platform nào.Không thể với quy trình này. LabelMe Toolkit chuyển đa giác và mask thành bounding box căn chỉnh theo trục, vì vậy kết quả luôn là dataset phát hiện. Hãy vẽ hình chữ nhật khi chuẩn bị dữ liệu cho lần xuất này.
Platform đọc tên class từ
classes.txtở thư mục gốc của tệp ZIP. Nén nội dung của thư mục xuất, không nén chính thư mục đó, đểclasses.txt,images/vàlabels/trở thành các mục ở cấp cao nhất.Chỉ những nhãn được truyền vào
--class-names, theo thứ tự bạn liệt kê. Trước tiên, chạylabelmetk list-labelsvà thêm mọi nhãn bạn muốn giữ lại.