Présentation du modèle

MultiMatte est un modèle de matting d’image capable de supprimer l’arrière‑plan à partir d’une consigne textuelle. Il s’appuie sur SAM 3, le détecteur concept‑promptable de Meta publié en 2025, et transforme les masques binaires en alpha‑mattes continus, ce qui permet de rendre les frontières floues (cheveux, écrans translucides) avec une opacité graduée.

Méthode d’entraînement et architecture

SAM 3 regroupe plusieurs sous‑réseaux (vision tower, texte CLIP, encodeur géométrique, décodeur de détection et décodeur de masque). MultiMatte conserve l’alignement texte‑image en appliquant le parameter‑efficient fine‑tuning (PEFT) via LoRA (Hu et al., 2021). Un adaptateur de rang 16 a été injecté dans chaque couche linéaire d’attention et de MLP, couvrant 19,49 M paramètres, soit 2,27 % des 860 M poids totaux du modèle. L’adaptateur a été fusionné aux poids finaux, éliminant toute dépendance à une bibliothèque externe lors de l’inférence.

Le jeu d’entraînement comprend 19 953 images, dont 4 949 (24,8 %) portent une annotation textuelle explicite. Le processus a duré 14 000 pas d’optimisation, en utilisant la même fonction de perte que SAM 3 : combinaison de focal loss et de Dice loss. Cette configuration a permis de transférer la capacité de compréhension de concepts textuels tout en ajoutant une tête de matting.

Performances sur les benchmarks

Sur le benchmark DIS‑VD, MultiMatte atteint un S‑measure de 0,901 contre 0,667 pour SAM 3, soit une hausse de 0,234 point. Sur les cinq découpes haute résolution de DIS, les scores varient entre 0,893 et 0,923, alors que SAM 3 se situe entre 0,649 et 0,703. Les évaluations hors‑domaine DAVIS‑S et DUT‑OMRON montrent respectivement 0,979 et 0,901, ce dernier passant de 0,792 à 0,901. Les améliorations inférieures à 0,002 en S‑measure ou 0,0005 en MAE sont considérées comme du bruit de mesure.

Les tests de généralisation de prompts révèlent que l’ajout d’un nom de concept augmente le S‑measure de SAM 3 de 0,150 sans aucun gradient, tandis que MultiMatte ne gagne que 0,036, indiquant que le chemin de prompt a bien survécu à la ré‑entraînement.

Utilisation et limites

from nobg import AutoModel, AutoProcessor
model = AutoModel.from_pretrained("feyninc/multimatte")
processor = AutoProcessor.from_pretrained("feyninc/multimatte")
cutout = model.predict(processor, "photo.jpg", "the dog")
cutout.save("output.png")

Le modèle est distribué via la bibliothèque NoBg et ne nécessite aucune étape d’inférence supplémentaire. Toutefois, la dépendance à la qualité du texte d’entrée persiste : des descriptions imprécises peuvent conduire à des masques partiels. De plus, le fine‑tuning a été réalisé sur un corpus limité à 20 k images, ce qui peut restreindre la généralisation à des scènes très différentes ou à des objets très rares.