FOMO

FOMO là bộ định vị điểm dựa trên lưới: mỗi ô của lưới độ phân giải thấp được phân loại là hậu cảnh hoặc tâm đối tượng, không hồi quy bounding box. LibreYOLO hỗ trợ mô hình cho tác vụ điểm.

Tác vụ
point
Kích thước
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Được hỗ trợ, từ v. Các mô hình huấn luyện bổ trợ: luôn giữ CI ở trạng thái xanh, tính năng được bổ sung khi có cơ hội.
Thượng nguồn
FOMO (Faster Objects, More Objects) của Edge Impulse, MIT. Bài báo, mã nguồn
Giấy phép
Mã nguồn MIT, trọng số MIT. Sử dụng thương mại

Cài đặt

FOMO không cần extra ngoài gói cơ sở.

bash
pip install libreyolo

Dự đoán

Không giống mọi họ khác trên trang này, trọng số LibreFOMO không được tự động tải: LibreYOLO("LibreFOMOs-point.pt") tìm tệp đó trên đĩa và phát sinh ValueError nêu rõ tên tệp thay vì lấy từ Hugging Face. Trước tiên, hãy tải checkpoint từ tổ chức LibreYOLO rồi tải bằng đường dẫn cục bộ, hoặc tự huấn luyện (xem phần Huấn luyện bên dưới).

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Trọng số LibreFOMO không được tự động tải (xem phần Checkpoint bên dưới).# Hãy trỏ đến checkpoint bạn đã tải xuống cục bộ.model = LibreYOLO("./LibreFOMOs-point.pt")result = model(SAMPLE_IMAGE, save=True) for point in result.points:    print(point.cls, point.conf, point.xy)
CLI
libreyolo predict model=./LibreFOMOs-point.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

Kết quả chứa payload points thay cho boxes: mỗi hàng là x, y, class, confidence, có thể truy cập bằng result.points.data hoặc qua các thuộc tính .xy, .xyn, .cls.conf. Không có ngưỡng iou để đặt vì không có box cần loại bỏ; predict(..., nms_radius=1) điều khiển khoảng cách tối thiểu theo số ô lưới để hai phát hiện cùng được giữ lại, còn tên tệp phải có hậu tố tác vụ -point của FOMO để trình tải nhận diện. Xem dự đoán để biết về nguồn, streaming và xử lý kết quả.

Các biến thể

Ba kích thước s, ml dùng các backbone kiểu MobileNetV2 rộng dần với độ phân giải đầu vào cố định và lớn tương ứng, mỗi backbone đi kèm một head phân loại 1x1 duy nhất. Họ này không có bảng benchmark tại đây; kích thước tệp checkpoint trong bảng bên dưới là tín hiệu rõ nhất đã công bố cho từng kích thước.

Huấn luyện

Python
from libreyolo import LibreYOLO model = LibreYOLO("./LibreFOMOs-point.pt")model.train(    data="my-dataset.yaml",    epochs=40, batch=32, lr0=3e-4,)
CLI
# Phải truyền imgsz: CLI mặc định dùng 640, còn checkpoint s# chỉ chấp nhận độ phân giải gốc 96.libreyolo train model=./LibreFOMOs-point.pt data=my-dataset.yaml imgsz=96 epochs=40 batch=32 lr0=3e-4

imgsz không phải lựa chọn tùy ý: giá trị mặc định là độ phân giải gốc của checkpoint đã tải, và truyền giá trị khác sẽ phát sinh ValueError nêu rõ kích thước mong đợi. Các kích thước đó là 96 cho s, 192 cho m và 224 cho l. CLI mặc định đặt imgsz là 640, nên lệnh libreyolo train phải đặt rõ giá trị khớp với checkpoint.

Nếu giữ nguyên các giá trị khác, trình huấn luyện chạy 40 epoch với batch 32, Adam ở lr0=3e-4, không weight decay, và lớp tiền cảnh có trọng số gấp 100 lần hậu cảnh trong loss cross-entropy theo ô vì gần như mọi ô lưới trong cảnh điển hình đều là hậu cảnh. EMA và mixed precision đều tắt theo mặc định; không áp dụng bất kỳ phép tăng cường hình học hoặc màu nào dùng ở nơi khác trong LibreYOLO: mosaic, mixup, nhiễu HSV, lật, xoay, tịnh tiến và shear đều bằng 0.

Đây là luồng được dùng để huấn luyện các checkpoint LibreFOMO đã công bố từ đầu trên COCO.

Xem huấn luyện để biết về tập dữ liệu và logger.

Đánh giá

val() chuyển đến bộ đánh giá cấp lưới được xây dựng cho họ này. Bên cạnh các khóa ghép điểm metrics/precision, metrics/recallmetrics/mAP@ dùng chung với các tác vụ điểm khác, phương thức quét các ngưỡng độ tin cậy và giá trị nms_radius, rồi công bố tổ hợp có F1 tốt nhất trong metrics/grid_F1, metrics/grid_precision, metrics/grid_recallmetrics/grid_mean_distance, cùng ngưỡng và bán kính tạo ra kết quả đó trong decode/thresholddecode/nms_radius.

Python
from libreyolo import LibreYOLO model = LibreYOLO("./LibreFOMOs-point.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/grid_F1"])print(metrics["metrics/grid_precision"], metrics["metrics/grid_recall"])
CLI
libreyolo val model=./LibreFOMOs-point.pt data=my-dataset.yaml

Xuất

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
pointpoint to ONNX: được hỗ trợpoint to TorchScript: được hỗ trợpoint to ExecuTorch: được hỗ trợpoint to TensorRT: được hỗ trợpoint to OpenVINO: được hỗ trợpoint to Paddle: không được hỗ trợpoint to MNN: không được hỗ trợpoint to RKNN: không được hỗ trợpoint to ncnn: được hỗ trợpoint to TFLite: không được hỗ trợpoint to CoreML: không được hỗ trợpoint to Core AI: được hỗ trợ

Artifact đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp, vì vậy tệp .onnx hoặc .engine hoạt động như checkpoint và trả về cùng Results. Cũng hỗ trợ chạy đồ thị trong runtime độc lập không cài LibreYOLO, nhưng khi đó bạn phải tự viết bước tiền xử lý và hậu xử lý.

Python
from libreyolo import LibreYOLO model = LibreYOLO("./LibreFOMOs-point.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=./LibreFOMOs-point.pt format=onnx
Dùng tệp đã xuất
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến theo hậu tố tệp, nên artifact đã xuất được tải# như mọi checkpoint và trả về cùng đối tượng Results.model = LibreYOLO("./LibreFOMOs-point.onnx")result = model(SAMPLE_IMAGE) print(result.points.xy)

Checkpoint

Mọi tệp trọng số đã công bố cho họ này. Không tệp nào được tải tự động: hãy lấy tệp bạn muốn từ trang Hugging Face được liên kết và truyền đường dẫn cục bộ vào LibreYOLO().

TệpĐầu vào (px)Giấy phép trọng số
point
LibreFOMOs-point.ptmit
LibreFOMOm-point.ptmit
LibreFOMOl-point.ptmit

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
FOMO (Faster Objects, More Objects), Edge Impulse
Giấy phép thượng nguồn
MIT
Mã nguồn LibreYOLO
MIT
Trọng số
MIT, được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
FOMO is a technique Edge Impulse introduced through a blog post and its product documentation, not a code release, so there is no upstream repository or license to inherit. LibreYOLO's architecture is an original MobileNetV2-style reimplementation of the published description, and the LibreFOMO checkpoints are trained from scratch on COCO, so both the code and these weights are MIT, LibreYOLO's own. They are also not auto-downloaded: LibreYOLO("LibreFOMOs-point.pt") looks for that file locally and raises rather than fetching it, so get the checkpoint from the Hugging Face repository first. The name FOMO and the technique it describes remain Edge Impulse's.

Không có repo mã thượng nguồn nào cho FOMO để liên kết: Edge Impulse mô tả kỹ thuật qua bài blog và tài liệu sản phẩm nhưng chưa phát hành mã huấn luyện hoặc suy luận FOMO. Kiến trúc và cách huấn luyện ở đây là bản triển khai riêng của LibreYOLO dựa trên mô tả đã công bố, còn các checkpoint LibreFOMO đã công bố được huấn luyện từ đầu trên COCO. Vì vậy, cả mã và các trọng số này đều theo MIT và thuộc LibreYOLO. Tên FOMO cùng kỹ thuật mà nó mô tả vẫn thuộc Edge Impulse.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.