SAM 3
SAM 3 rozszerza SAM o prompt pojęcia tekstowego obok zwykłych punktów i ramek, dzięki czemu fraza taka jak „yellow school bus” zwraca każdą pasującą instancję. LibreYOLO obsługuje jego ścieżkę obrazową przez osobną fabrykę LibreSAM, niezależną od fabryki detektorów LibreYOLO().
- Zadania
- instance segmentation
- Rozmiary
- large at 1008 px
- Instalacja
pip install libreyolo- Poziom obsługi
- Poziom siostrzany, od wersji v. Osobna część produktu z własną fabryką i kontraktem.
- Projekt źródłowy
- SAM 3, autorzy: Meta FAIR, licencja: SAM License (Meta custom, gated). Publikacja, kod źródłowy
- Licencje
- Kod: MIT, wagi: SAM License (Meta custom, gated). Użycie komercyjne
Instalacja
SAM 3 wymaga dodatku sam, który instaluje zależności transformers i timm.
pip install "libreyolo[sam]"Dostęp do wag jest kontrolowany. Należy odwiedzić stronę
huggingface.co/facebook/sam3, zaakceptować
licencję SAM License firmy Meta, a następnie uruchomić hf auth login (lub
ustawić HF_TOKEN) przed pierwszym pobraniem. LibreYOLO wypisuje informację o
licencji przy pierwszym pobraniu tej rodziny.
Predykcja
LibreSAM(...) (lub właściwy dla tej rodziny LibreSAM3(...)) jest osobnym
punktem wejścia niż LibreYOLO(...). Zwraca segmenter sterowany promptami, a
nie detektor, ponieważ przebieg w przód nie ma tu znaczenia bez promptu. Dla tej
rodziny nie istnieje polecenie CLI libreyolo predict. Należy użyć API Pythona.
Obsługiwana jest tylko inferencja obrazów. Modele wideo SAM 3 pozostają poza
zakresem tej implementacji.
from libreyolo import LibreSAM, SAMPLE_IMAGE # "sam3" to jedyny rozmiar ("large"). Aliasy: "sam3", "sam-3", "sam3-large".model = LibreSAM("sam3") # Prompt punktowy: [x, y] we współrzędnych pikseli, etykieta 1 = pierwszy plan.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy) # wielokąt dla każdej maskiprint(result.boxes.xyxy) # ciasna ramka wyznaczona z maski # Prompt ramkowy zamiast punktowego.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700])from libreyolo import LibreSAM3, SAMPLE_IMAGE model = LibreSAM3("large") # Znajduje każdą instancję pasującą do frazy, a nie tylko jeden obiekt.# text= wzajemnie wyklucza się z points, bboxes, labels i masks.result = model.predict(SAMPLE_IMAGE, text="a person")print(result.names) # {0: "a person"}print(result.boxes.conf) # wynik detekcji PCS dla każdej instancjifrom libreyolo import LibreSAM3, SAMPLE_IMAGE model = LibreSAM3("large") # Enkoder obrazu jest kosztowną częścią. set_image() uruchamia go raz,# a każde kolejne wywołanie predict() ponownie wykorzystuje embedding z pamięci podręcznej.# Wywołanie text= ponownie koduje dane wewnętrznie, ponieważ tracker i enkoder# segmentacji pojęć nie współdzielą pamięci podręcznej.model.set_image(SAMPLE_IMAGE)a = model.predict(points=[640, 420], labels=[1])b = model.predict(bboxes=[300, 200, 900, 700])model.reset_image()Ścieżka punktów i ramek odpowiada pozostałym modelom rodziny SAM. Prompt
punktowy przyjmuje [x, y] dla jednego obiektu lub [[x, y], ...] dla kilku,
labels oznacza każdy punkt jako 1 (pierwszy plan) lub 0 (tło), a prompt
ramkowy przyjmuje [x1, y1, x2, y2] lub listę ramek. conf w tej ścieżce
filtruje według przewidywanej jakości maski (IoU), a nie pewności detekcji.
Ścieżka text= jest rozszerzeniem SAM 3. Ciąg pojęcia zwraca każdą pasującą
instancję na obrazie przez Promptable Concept Segmentation i nie może być
łączony z punktami, ramkami, etykietami ani maskami. conf oznacza w niej wynik
detekcji PCS zamiast IoU maski. Pozostawienie wartości domyślnej stosuje własny
próg modelu 0.3, a conf=0.0 zachowuje każdego kandydata. Zwracane names
mapuje identyfikator klasy 0 na żądany ciąg pojęcia, ponieważ maska sterowana
promptem nie ma innego stałego zbioru klas. Argument device= przenosi model
oraz, jeśli sesja set_image() jest aktywna, jej embedding z pamięci
podręcznej. Wywołania train(), val(), export() i track() zawsze
zgłaszają dla tej rodziny NotImplementedError. SAM 3 służy w LibreYOLO
wyłącznie do predykcji, a śledzenie wideo pozostaje poza zakresem. Informacje o
typach źródeł zawiera strona predykcji.
Warianty
Dostępny jest jeden rozmiar, large, ze stałym wejściem 1008 px. SAM 3.1 nie jest obsługiwany. Jego implementacja podlega niestandardowej licencji, która nie może zostać dołączona do tego repozytorium MIT, a wersja Transformers, od której zależy LibreYOLO, nie wczytuje jeszcze formatu jego checkpointu.
Licencja
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
- SAM 3, Meta FAIR
- Licencja projektu źródłowego
- SAM License (Meta custom, gated)
- Kod źródłowy projektu
- github.com/facebookresearch/sam3
- Kod LibreYOLO
- MIT
- Wagi
- SAM License (Meta custom, gated), rozpowszechniane przez autorów. LibreYOLO ich nie hostuje ani nie udostępnia kopii.
- Interpretacja
- The SAM License is Meta's own agreement, not an OSI-approved license like MIT or Apache-2.0. It grants a worldwide, royalty-free license to use, reproduce, distribute and create derivative works, and does not itself say the weights are non-commercial. It does add terms Apache and MIT do not: publications that use the results must acknowledge SAM Materials, reverse engineering is prohibited, use is subject to export-control and sanctions compliance, filing IP litigation against Meta over the materials terminates your license, and Meta may amend the agreement. Weights are gated on facebook/sam3 on Hugging Face: you must accept the terms there and authenticate before downloading. LibreYOLO calls SAM 3 through the Apache-2.0 Transformers implementation and vendors none of Meta's model source, but does not redistribute the weights themselves; read the license yourself before relying on it commercially.
LibreYOLO nie hostuje własnej kopii wag SAM 3 ani ich nie redystrybuuje.
LibreSAM("sam3") pobiera je bezpośrednio z kontrolowanego repozytorium Meta
facebook/sam3 na Hugging Face, które wymaga zaakceptowania licencji SAM
License firmy Meta oraz uwierzytelnienia przed pierwszym pobraniem.
Cytowanie
@misc{carion2025sam3segmentconcepts,
title={SAM 3: Segment Anything with Concepts},
author={Nicolas Carion and Laura Gustafson and Yuan-Ting Hu and Shoubhik Debnath and Ronghang Hu and Didac Suris and Chaitanya Ryali and Kalyan Vasudev Alwala and Haitham Khedr and Andrew Huang and Jie Lei and Tengyu Ma and Baishan Guo and Arpit Kalla and Markus Marks and Joseph Greer and Meng Wang and Peize Sun and Roman Rädle and Triantafyllos Afouras and Effrosyni Mavroudi and Katherine Xu and Tsung-Han Wu and Yu Zhou and Liliane Momeni and Rishi Hazra and Shuangrui Ding and Sagar Vaze and Francois Porcher and Feng Li and Siyuan Li and Aishwarya Kamath and Ho Kei Cheng and Piotr Dollár and Nikhila Ravi and Kate Saenko and Pengchuan Zhang and Christoph Feichtenhofer},
year={2025},
eprint={2511.16719},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2511.16719},
}Skopiowano z bloku cytowania autorów w github.com/facebookresearch/sam3#citing-sam-3.