Link to this sectionXuấ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 ứng dụng Python mã nguồn mở. Không có kết nối LabelMe trực tiếp hay 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.
Link to this section1. Chú thích Ả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 của bạn. LabelMe lưu trữ chú thích của từng ả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 đề cập đến cách mở ảnh, vẽ hình khối 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.jsonLink to this section2. 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 bản xuất 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 tài khoản 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 kết quả trước khi xuất. Các nhãn bị bỏ qua khỏi --class-names sẽ không được đưa vào, và thứ tự bạn cung cấp sẽ trở thành thứ tự ID lớp YOLO.
Link to this section3. Xuất sang Định dạng YOLO#
Chạy export-to-yolo với thư mục nguồn và danh sách các tên lớp cách nhau 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 do 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 các lớp theo đú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 bản xuất.
LabelMe Toolkit xuất các hình chữ nhật dưới dạng các hộp bao YOLO. Nó cũng thu gọn các đa giác và mặt nạ về các hộp bao 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.
Link to this section4. Tạo Tệp Lưu trữ ZIP#
Nén các thành phần bên trong của your_dataset.export/, chứ không phải thư mục bọc bên ngoài 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 tệp. Thư mục bao your_dataset.export/ thừa sẽ khiến Platform không thể tìm thấy danh sách lớp gốc.
Link to this section5. 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 quá trình 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 chú thích, train model, và deploy model 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.
Link to this sectionKhắc phục sự cố#
- Các lớp được đặt tên là
class0,class1, v.v.: hãy xác nhận rằngclasses.txtcó mặt ở 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à bao gồm mọi nhãn bắt buộc trong--class-names. - Đa giác biến thành các 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 hộp bao. - Tập dữ liệu không có hình ảnh: 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 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.
Để xem toàn bộ quy trình làm việc cục bộ, hãy tham khảo hướng dẫn train YOLO và tài liệu tham khảo export-to-yolo của LabelMe.