LingBot-Vision
LingBot-Vision to rodzina backbone'ów wizyjnych transformer trenowanych samonadzorowanie za pomocą modelowania maskowanego skupionego na granicach do gęstej percepcji przestrzennej, opublikowana przez Robbyant. LibreYOLO łączy backbone z głowicą gęstą i obsługuje go w jednym zadaniu, segmentacji semantycznej.
- Zadania
- semantic
- Rozmiary
- Instalacja
pip install libreyolo- Poziom obsługi
- Obsługiwany, od wersji v. Dodatkowe trenowalne modele: testy CI pozostają zielone, a funkcje są dodawane w miarę możliwości.
- Projekt źródłowy
- LingBot-Vision, autorzy: Robbyant (Ant Group), licencja: Apache-2.0. Publikacja, kod źródłowy
- Licencje
- Kod: Apache-2.0, wagi: Apache-2.0. Użycie komercyjne
Instalacja
LingBot-Vision nie wymaga opcjonalnych dodatków. Wszystkie importowane przez niego elementy znajdują się w instalacji podstawowej.
pip install libreyoloPredykcja
Przy pierwszym użyciu wagi są pobierane z Hugging Face i zapisywane w lokalnej pamięci podręcznej.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreLingBotVisions-sem.pt")result = model(SAMPLE_IMAGE, save=True) mask = result.semantic_maskprint(mask.data.shape, mask.classes)libreyolo predict model=LibreLingBotVisions-sem.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Trueresult.semantic_mask zawiera gęstą mapę klas: .data to tensor (H, W)
z identyfikatorami klas w oryginalnym rozmiarze obrazu, a .classes zawiera
identyfikatory klas rzeczywiście obecnych na obrazie. result.boxes ma wartość
None, ponieważ nie ma detekcji poszczególnych instancji. Parametry conf i
iou są przyjmowane dla zgodności API, ale nie zmieniają wyniku, ponieważ model
zwraca jedną klasę na piksel, a nie detekcje wymagające filtrowania. Zobacz
predykcję, aby poznać źródła, strumieniowanie i obsługę wyników.
Warianty
Opublikowano trzy rozmiary, s, b i l, wydestylowane z modelu nauczyciela ViT-g/16
o 1,1 mld parametrów. Sam nauczyciel w rozmiarze g może być ładowany i
dostrajany w LibreYOLO, ale LibreYOLO nie udostępnia własnego punktu kontrolnego g.
| Plik | Wejście (px) | Licencja wag |
|---|---|---|
| semantic | ||
| LibreLingBotVisions-sem.pt | apache-2.0 | |
| LibreLingBotVisionb-sem.pt | apache-2.0 | |
| LibreLingBotVisionl-sem.pt | apache-2.0 | |
Każdy z powyższych plików jest obecnie dostępny w organizacji LibreYOLO i pobierany przy pierwszym użyciu.
Trenowanie
Metoda train() dostraja opublikowany punkt kontrolny. Domyślna konfiguracja
odpowiada sondzie liniowej z raportu źródłowego: backbone ViT jest zamrożony,
a trenowana jest wyłącznie głowica gęsta 1x1, tak jak podczas tworzenia wag
udostępnianych przez LibreYOLO powyżej. Przekaż freeze_backbone=False, aby
zamiast tego dostroić całą sieć, i odpowiednio zmniejsz lr0.
from libreyolo import LibreYOLO # Backbone jest domyślnie zamrożony, zgodnie z protokołem oceny# projektu źródłowego: trenowana jest tylko głowica gęsta 1x1.model = LibreYOLO("LibreLingBotVisions-sem.pt")model.train(data="my-dataset.yaml", epochs=20, imgsz=512, batch=16)libreyolo train model=LibreLingBotVisions-sem.pt data=my-dataset.yaml \ epochs=20 imgsz=512 batch=16from libreyolo import LibreYOLO model = LibreYOLO("LibreLingBotVisions-sem.pt")model.train( data="my-dataset.yaml", epochs=20, imgsz=512, batch=16, freeze_backbone=False,)libreyolo train model=LibreLingBotVisions-sem.pt data=my-dataset.yaml \ epochs=20 device=0,1 batch=32Informacje o zbiorach danych, augmentacji, wielu GPU i loggerach znajdziesz w sekcji trenowanie.
Walidacja
Metoda val() zwraca słownik kluczy metrics/: mIoU i dokładność pikselową,
mierzone na dowolnym zbiorze danych w formacie użytym do trenowania.
from libreyolo import LibreYOLO model = LibreYOLO("LibreLingBotVisions-sem.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mIoU"])print(metrics["metrics/pixel_accuracy"])libreyolo val model=LibreLingBotVisions-sem.pt data=my-dataset.yamlEksport
| Zadanie | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| semantic | semantic to ONNX: obsługiwane | semantic to TorchScript: obsługiwane | semantic to ExecuTorch: obsługiwane | semantic to TensorRT: obsługiwane | semantic to OpenVINO: obsługiwane | semantic to Paddle: brak obsługi | semantic to MNN: brak obsługi | semantic to RKNN: brak obsługi | semantic to ncnn: brak obsługi | semantic to TFLite: brak obsługi | semantic to CoreML: brak obsługi | semantic to Core AI: obsługiwane |
Wyeksportowany artefakt jest ponownie ładowany przez LibreYOLO() na podstawie
rozszerzenia pliku, więc plik .onnx lub .engine zachowuje się jak punkt
kontrolny i zwraca ten sam obiekt Results. Sekcja eksport
zawiera argumenty akceptowane przez każdy format.
from libreyolo import LibreYOLO model = LibreYOLO("LibreLingBotVisions-sem.pt")model.export(format="onnx", imgsz=512)model.export(format="coreai", imgsz=512)libreyolo export model=LibreLingBotVisions-sem.pt format=onnx imgsz=512from libreyolo import LibreYOLO, SAMPLE_IMAGE # Fabryka wybiera ścieżkę na podstawie rozszerzenia pliku, dlatego# artefakt ładuje się jak punkt kontrolny i zwraca ten sam obiekt Results.model = LibreYOLO("LibreLingBotVisions-sem.onnx")result = model(SAMPLE_IMAGE) print(result.semantic_mask.data.shape)Punkty kontrolne
Wszystkie opublikowane pliki wag dla tej rodziny.
| Plik | Wejście (px) | Licencja wag |
|---|---|---|
| semantic | ||
| LibreLingBotVisions-sem.pt | apache-2.0 | |
| LibreLingBotVisionb-sem.pt | apache-2.0 | |
| LibreLingBotVisionl-sem.pt | apache-2.0 | |
Każdy z powyższych plików jest obecnie dostępny w organizacji LibreYOLO i pobierany przy pierwszym użyciu.
Licencjonowanie
Sprawdź licencję w repozytorium konkretnych pobieranych wag na Hugging Face. Każdy checkpoint w organizacji LibreYOLO ma licencję, która nie zawsze jest taka sama w całej rodzinie. To repozytorium jest źródłem rozstrzygającym, a poniższe podsumowanie opisuje stan z chwili ostatniej weryfikacji tej strony.
To opis obowiązujących licencji, a nie porada prawna. Jeśli odpowiedź ma znaczenie komercyjne, przeczytaj licencje i zasięgnij własnej porady prawnej.
- Oryginalna praca
- LingBot-Vision, Robbyant (Ant Group)
- Licencja projektu źródłowego
- Apache-2.0
- Kod źródłowy projektu
- github.com/robbyant/lingbot-vision
- Kod LibreYOLO
- MIT
- Wagi
- Apache-2.0, ponownie opublikowane w huggingface.co/LibreYOLO
- Interpretacja
- Apache-2.0 is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep its license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. The LibreYOLO-hosted checkpoints combine Robbyant's Apache-2.0 backbone weights with a dense segmentation head LibreYOLO trained itself, so the whole checkpoint file carries the same permissive terms end to end.
W dokumentacji projektu źródłowego opisano ViT jako zbudowany na architekturze DINOv2/DINOv3 opublikowanej przez Meta AI. Robbyant rozpowszechnia swoją implementację na licencji Apache-2.0, a ten port LibreYOLO utworzono wyłącznie na podstawie repozytorium Robbyant, nigdy na podstawie kodu DINOv2 lub DINOv3 firmy Meta.
Cytowanie
@article{lingbot-vision2026,
title={Vision Pretraining for Dense Spatial Perception},
author={Fu, Zelin and Tan, Bin and Sun, Changjiang and Liu, Shaohui and Zheng, Kecheng and Xu, Yinghao and Zhu, Xing and Shen, Yujun and Xue, Nan},
journal={arXiv preprint arXiv:2607.05247},
year={2026}
}Skopiowano z bloku cytowania autorów w github.com/robbyant/lingbot-vision#-citation.