libreyolo label

Khởi chạy một công cụ web cục bộ để vẽ và chỉnh sửa bounding box. Nó ghi ra các tệp nhãn theo định dạng gốc của LibreYOLO, nên tập dữ liệu (dataset) được gán nhãn ở đây huấn luyện được ngay mà không cần bước chuyển đổi nào.

Lệnh
libreyolo label
Đầu ra
Một URL server trên stdout; nhãn được ghi thành labels/*.txt cạnh các ảnh

Cú pháp

bash
libreyolo label [data=<dataset.yaml|folder>] [key=value ...]

Các tham số là những cặp key=value, và dạng POSIX cũng dùng được, nên port=9200 và --port 9200 là cùng một tham số.

Tham số

Tham sốMặc địnhÝ nghĩa
dataTệp YAML hoặc thư mục dataset để mở thẳng. Bắt đầu ở trang chủ dự án khi không đặt
host127.0.0.1Host hoặc interface để bind
port8000Cổng để bind. Nhảy sang cổng trống kế tiếp nếu cổng này đã bị chiếm
deviceautoThiết bị cho việc tự động gán nhãn bằng AI: 0, cpu, mps, auto
no_assistfalseTắt tự động gán nhãn bằng AI, chỉ còn công cụ gán nhãn thủ công
no_browserfalseKhông tự động mở trình duyệt
sharefalseBind vào 0.0.0.0 để đồng nghiệp trong mạng của bạn có thể vào cùng
jsonfalseXuất JSON ra stdout
quietfalseTắt stderr
verbosefalseXuất stderr chi tiết

Ví dụ

Cơ bản
# Mở trang chủ dự án; chọn hoặc tạo một dataset trong trình duyệtlibreyolo label
Chỉ thủ công, cổng cố định
libreyolo label no_assist=true port=9200 no_browser=true
Cho đồng nghiệp cùng vào
libreyolo label share=true

Ghi chú

Nó ghi ra những gì

Các box được lưu thành tệp labels/*.txt theo định dạng gốc của LibreYOLO, đúng định dạng mà libreyolo train đọc, nên sau đó không phải chuyển đổi gì cả. Phiên bản này chỉ xử lý bounding box. Các chỉnh sửa được lưu khi bạn chuyển qua lại giữa các ảnh.

Mở một dataset

Khi không có data, công cụ khởi động ở trang chủ dự án và dataset được chọn hoặc tạo từ trình duyệt. Truyền data=path/to/data.yaml sẽ mở thẳng dataset đó, và dòng khởi động báo số lượng ảnh, số lượng lớp đối tượng, và dataset có ghi được hay không. Một dataset chỉ đọc vẫn mở được và cho biết vì sao không ghi vào đó được.

Label-Error Radar

Khi bật hỗ trợ bằng AI, nút Radar, hoặc phím Y, sẽ chạy mô hình hỗ trợ trên mọi ảnh đã gán nhãn và liệt kê các ảnh mà mô hình không đồng ý với nhãn, theo thứ tự từ tệ nhất: một box mà mô hình không tìm thấy gì bên trong, một phát hiện có độ tin cậy cao nhưng không có box, hoặc một box mà mô hình phản đối lớp đối tượng của nó. Radar không ghi gì cả; mọi sửa chữa đều là chỉnh sửa thủ công. N chuyển sang ảnh bị gắn cờ tiếp theo theo đúng thứ tự từ tệ nhất đó và quay vòng lại khi tới cuối. Nhấn Y lần nữa sẽ mở lại lần quét gần nhất, kèm thời điểm chạy và một nút Rescan, thay vì quét lại. Radar không khả dụng trên các dự án hộp xoay, và cả hai phím đều có thể gán lại trong hộp thoại phím tắt ?.

Chia sẻ, và host làm gì

share=true bind vào địa chỉ wildcard, nhờ đó các máy khác trong mạng của bạn truy cập được công cụ, trong khi các thao tác quản trị (chuyển hoặc xóa dự án và khởi động tính toán) vẫn nằm ở máy này.

Đặt host thành một interface cụ thể lại làm chuyện khác và kém an toàn hơn: máy host trở nên không phân biệt được với một client trong mạng, nên mọi client đều có quyền quản trị. Lệnh sẽ in một cảnh báo ra stderr khi bạn làm vậy. Hãy ưu tiên share=true.

Cổng và việc tắt

Một cổng đang bị chiếm sẽ chuyển sang cổng kế tiếp, tối đa hai mươi cổng sau cổng được yêu cầu. Nếu cả hai mươi đều hỏng thì lệnh thoát với io_error. URL in ra stdout chính là cổng đã thực sự được bind. Với share=true, kết quả còn kèm theo lan_url, địa chỉ mà đồng nghiệp nên mở.

Lệnh phục vụ ở chế độ foreground cho đến khi Ctrl+C.

Liên quan: libreyolo doctor để kiểm tra dataset đã gán nhãn trước khi huấn luyện, và libreyolo train để huấn luyện trên dataset đó.

Đã kiểm chứng với LibreYOLO v1.5.0.