Xuất Chú thích LabelMe sang Định dạng YOLO và Ultralytics Platform#
LabelMe là một công cụ chú thích ả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ộ quá trình tích hợp là một quy trình cục bộ: chú thích trong LabelMe, chuyển đổi các chú thích JSON của LabelMe sang định dạng YOLO bằng LabelMe Toolkit, và tải tệp ZIP kết quả lên làm tập dữ liệu Platform.
1. Chú thích Ảnh trong LabelMe#
Cài đặt LabelMe sử dụng ứng dụng dành cho máyδ tính hoặc gói Python mã nguồn mở, sau đó mở thư mục chứa các ảnh của bạn. LabelMe lưu các 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ẽ các hình chữ nhật xung quanh mỗi đối tượng và gán tên lớp. Hướng dẫn cơ bản về LabelMe bao gồm việc mở ảnh, vẽ hình và lưu chú thích, trong khi hướng dẫn tập dữ liệu LabelMe bao gồm việc xem lại và chuẩn bị một tập dữ liệu đã được chú thích hoàn chỉnh.
Thư mục nguồn của bạn sẽ chứa các tệp ảnh và 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 bằng cách làm theo hướng dẫn cài đặt bộ công cụ của LabelMe. Bộ công cụ và các tệp xuất của nó chạy cục bộ.
export-to-yolo là một phần của LabelMe Pro Toolkit, và việc tải xuống trình cài đặt của nó yêu cầu đăng nhập LabelMe. Đây là yêu cầu sản phẩm của LabelMe; tệp ZIP kết quả có thể được tải lên trên bất kỳ gói dịch vụ Platform nào.
Xác minh cài đặt, sau đó liệt kê mọi nhãn được tìm thấy trong tập dữ liệu nguồn:
labelmetk --version
labelmetk list-labels your_dataset/Xem lại đầu ra trước khi xuất. Các nhãn bị bỏ qua khỏi --class-names sẽ bị bỏ qua, và thứ tự bạn cung cấp sẽ trở thành thứ tự ID lớp 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 lớp được phân tách bằng dấu phẩy:
labelmetk export-to-yolo your_dataset/ --class-names crack,normalThay thế crack,normal bằng các nhãn được trả về bởi list-labels. 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 các lớp theo cùng thứ tự được sử dụng bởi các tệp nhãn YOLO. Hãy giữ nó ở thư mục gốc của gói xuất.
LabelMe Toolkit xuất các hình chữ nhật thành các BBox YOLO. Nó cũng thu gọn các đa giác và mặt nạ thành các BBox căn chỉnh theo trục, do đó 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ị tập dữ liệu phát hiện với quy trình này.
4. Tạo Tệp Lưu trữ ZIP#
Nén các nội dung của your_dataset.export/, chứ không phải thư mục bao quanh chúng. 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 rằng classes.txt, images/, và labels/ nằm ở thư mục gốc của nó. Một thư mục bao bọc your_dataset.export/ thừa sẽ khiến Platform không thể tìm thấy danh sách lớp gốc.
5. Tải lên Ultralytics Platform#
- Mở Settings > Integrations > LabelMe.
- Nhấp vào Upload export.
- Tải lên
your_dataset.zipvà hoàn tất việc tạo tập dữ liệu. - Đợi quá trình xử lý hoàn tất, sau đó xem lại hình ảnh, các lớp và chú thích.
- Chỉnh sửa các chú thích, train a model, và triển khai nó từ cùng một workspace.

LabelMe và quá trình xuất YOLO hoàn toàn hoạt động 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 tới Platform.
Khắc phục sự cố#
- Các lớp được đặt tên
class0,class1, và cứ thế: xác nhận rằngclasses.txtcó mặt ở thư mục gốc của tệp ZIP. - Một số chú thích bị thiếu: chạy lại
labelmetk list-labels your_dataset/và bao gồm mọi nhãn bắt buộc trong--class-names. - Các đa giác trở thành hộp: đây là hành vi được tài liệu hóa của
export-to-yolotrong LabelMe; nó chuyển đổi các hình không phải hình chữ nhật thành các BBox. - Tập dữ liệu không có ảnh nào: xác nhận rằng thư mục
images/đã xuất được bao gồm trong tệp ZIP. - Platform không thể tìm thấy các lớp: xóa bất kỳ thư mục bên ngoài nào khỏi tệp lưu trữ để
classes.txt,images/, vàlabels/là các mục cấp cao nhất.
Để biết quy trình cục bộ hoàn chỉnh, hãy xem hướng dẫn huấn luyện YOLO và tài liệu tham khảo export-to-yolo của LabelMe.