SAM 3
SAM 3 amplía SAM con un prompt de concepto en texto además de los puntos y cajas habituales, así que una frase como "yellow school bus" devuelve todas las instancias que coinciden. LibreYOLO soporta su camino de imagen mediante una factoría LibreSAM dedicada, separada de la factoría de detectores LibreYOLO().
- Tareas
- instance segmentation
- Tamaños
- large at 1008 px
- Instalación
pip install libreyolo- Nivel de compatibilidad
- Nivel hermano, desde v. Una superficie de producto independiente con su propia factoría y su propio contrato.
- Licencias
- Código MIT, pesos SAM License (Meta custom, gated). Uso comercial
Instalación
SAM 3 necesita el extra sam, que arrastra transformers y timm.
pip install "libreyolo[sam]"Los pesos están restringidos: visita
huggingface.co/facebook/sam3, acepta la
SAM License de Meta y luego ejecuta hf auth login (o define HF_TOKEN) antes
de la primera descarga. LibreYOLO registra un aviso de licencia la primera vez
que descarga esta familia.
Predicción
LibreSAM(...) (o el LibreSAM3(...) específico de la familia) es un punto de
entrada distinto de LibreYOLO(...): devuelve un segmentador guiado por
prompts en lugar de un detector, porque aquí un forward pass no significa nada
sin un prompt. No hay comando de CLI libreyolo predict para esta familia; usa
la API de Python. Solo se admite inferencia sobre imágenes; los modelos de
vídeo de SAM 3 quedan fuera del alcance aquí.
from libreyolo import LibreSAM, SAMPLE_IMAGE # "sam3" es el único tamaño ("large"); alias: "sam3", "sam-3", "sam3-large".model = LibreSAM("sam3") # Un prompt de punto: [x, y] en coordenadas de píxel, label 1 = primer plano.result = model.predict(SAMPLE_IMAGE, points=[640, 420], labels=[1])print(result.masks.xy) # un polígono por máscaraprint(result.boxes.xyxy) # caja ajustada derivada de la máscara # Un prompt de caja en lugar de un punto.result = model.predict(SAMPLE_IMAGE, bboxes=[300, 200, 900, 700])from libreyolo import LibreSAM3, SAMPLE_IMAGE model = LibreSAM3("large") # Encuentra todas las instancias que coinciden con la frase, no solo un objeto.# text= es mutuamente excluyente con points, bboxes, labels y masks.result = model.predict(SAMPLE_IMAGE, text="a person")print(result.names) # {0: "a person"}print(result.boxes.conf) # la puntuación de detección PCS por instanciafrom libreyolo import LibreSAM3, SAMPLE_IMAGE model = LibreSAM3("large") # El encoder de imagen es la parte cara. set_image() lo ejecuta una vez;# cada llamada posterior a predict() reutiliza el embedding cacheado. Una# llamada con text= vuelve a codificar internamente, ya que el tracker y# el encoder de segmentación por concepto no comparten caché.model.set_image(SAMPLE_IMAGE)a = model.predict(points=[640, 420], labels=[1])b = model.predict(bboxes=[300, 200, 900, 700])model.reset_image()El camino de punto y caja coincide con el resto de la familia SAM: un prompt de
punto acepta [x, y] para un objeto o [[x, y], ...] para varios, labels
marca cada punto con 1 (primer plano) o 0 (fondo), y un prompt de caja toma
[x1, y1, x2, y2] o una lista de cajas. En este camino, conf filtra por la
calidad de máscara predicha (IoU), no por una confianza de detección.
El camino de text= es lo que añade SAM 3: una cadena de concepto devuelve
todas las instancias coincidentes de la imagen mediante Promptable Concept
Segmentation, y no se puede combinar con puntos, cajas, labels o máscaras. Ahí
conf es la puntuación de detección PCS en lugar del IoU de la máscara;
dejarlo en su valor por defecto aplica el propio umbral de 0.3 del modelo, y
conf=0.0 conserva todos los candidatos. El names devuelto asigna el id de
clase 0 a la cadena de concepto solicitada, ya que una máscara guiada por
prompts no tiene por lo demás ningún conjunto fijo de clases. device= mueve
el modelo y, si hay una sesión de set_image() activa, su embedding cacheado.
train(), val(), export() y track() lanzan todos NotImplementedError
en esta familia: en LibreYOLO, SAM 3 es solo de predicción, y el seguimiento en
vídeo queda fuera de alcance. Consulta predicción para los
tipos de fuente.
Variantes
Un único tamaño, large, con una entrada fija de 1008 px. SAM 3.1 no está soportado: su implementación lleva una licencia propia que no se puede incorporar a este repositorio MIT, y la versión de Transformers de la que depende LibreYOLO todavía no carga su formato de checkpoint.
Licencia
Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.
Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.
- Trabajo original
- SAM 3, Meta FAIR
- Licencia del proyecto original
- SAM License (Meta custom, gated)
- Fuente del proyecto original
- github.com/facebookresearch/sam3
- Código de LibreYOLO
- MIT
- Pesos
- SAM License (Meta custom, gated), distribuidos por sus autores. LibreYOLO no los aloja ni los replica.
- Interpretación
- 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 no aloja una copia propia de los pesos de SAM 3 y no los
redistribuye. LibreSAM("sam3") descarga directamente del repositorio
restringido facebook/sam3 de Meta en Hugging Face, que exige aceptar la SAM
License de Meta y autenticarse antes de la primera descarga.
Cita
@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},
}Copiado del bloque de cita de los autores en github.com/facebookresearch/sam3#citing-sam-3.