Segment Anything (Meta) logoSegment Anything (Meta)

Découpez n’importe quel objet de n’importe quelle image
Segment Anything (Meta)

Segment Anything de Meta propose le Segment Anything Model (SAM), un modèle d’IA de pointe développé par Meta AI qui vous permet de “découper” n’importe quel objet dans n’importe quelle image en un seul clic. SAM est un système de segmentation basé sur des instructions, capable de généraliser à des objets et images inconnus sans entraînement supplémentaire (zero-shot).

Fonctionnalités de Segment Anything (Meta)

Entraînement du modèle : le moteur de données de SAM

Les capacités avancées de SAM proviennent de son entraînement sur des millions d’images et de masques collectés grâce à un moteur de données intégré au modèle. Les chercheurs ont utilisé SAM et ses données pour annoter des images de manière interactive et mettre à jour le modèle. Ce processus a été répété plusieurs fois pour améliorer à la fois le modèle et le jeu de données.

11 millions d’images, plus d’un milliard de masques

Après avoir annoté un nombre suffisant de masques à l’aide de SAM, nous avons pu automatiser complètement l’annotation de nouvelles images grâce à son design avancé sensible aux instructions. Pour cela, nous avons fourni à SAM une grille de points sur l’image et lui avons demandé de segmenter tous les éléments à chaque point. Notre jeu de données final contient plus de 1,1 milliard de masques de segmentation, collectés à partir d’environ 11 millions d’images sous licence et protégées par la confidentialité.

Conception de modèle efficace et flexible

SAM a été conçu pour permettre à son moteur de données efficace de fonctionner à pleine capacité. Le modèle est divisé en :

  1. un encodeur d’image unique, et
  2. un décodeur de masque léger, pouvant fonctionner dans un navigateur web en quelques millisecondes par instruction.

Segment Anything (Meta) FAQs

Quels types d'instructions sont pris en charge ?

  • Points de premier plan/arrière-plan
  • Boîte englobante
  • Masque
  • Les instructions textuelles sont explorées dans notre article, mais cette fonctionnalité n’est pas disponible

Quelle est la structure du modèle ?

  • Un encodeur d’image ViT-H qui s’exécute une seule fois par image et produit une représentation (embedding) de l’image
  • Un encodeur d’instructions qui encode les entrées comme les clics ou les boîtes
  • Un décodeur de masque léger basé sur un transformeur qui prédit les masques d’objet à partir de l’image et des instructions

Sur quelles plateformes le modèle fonctionne-t-il ?

  • L’encodeur d’image est implémenté en PyTorch et nécessite un GPU pour une inférence efficace.
  • L’encodeur d’instructions et le décodeur de masque peuvent fonctionner directement avec PyTorch ou être convertis en ONNX pour une exécution efficace sur CPU ou GPU sur différentes plateformes prenant en charge ONNX runtime.

Quelle est la taille du modèle ?

  • L’encodeur d’image contient 632 millions de paramètres.
  • L’encodeur d’instructions et le décodeur de masque contiennent 4 millions de paramètres.

Combien de temps prend l’inférence ?

  • L’encodeur d’image prend environ 0,15 seconde sur un GPU NVIDIA A100.
  • L’encodeur d’instructions et le décodeur de masque prennent environ 50 ms sur CPU dans le navigateur avec exécution SIMD multithreadée.

Sur quelles données le modèle a-t-il été entraîné ?

  • Le modèle a été entraîné sur notre jeu de données SA-1B. Voir notre visualiseur de données.

Combien de temps faut-il pour entraîner le modèle ?

  • Le modèle a été entraîné pendant 3 à 5 jours sur 256 GPU A100.

Le modèle produit-il des étiquettes de masque ?

  • Non, le modèle prédit uniquement des masques d’objet et ne génère pas d’étiquettes.

Le modèle fonctionne-t-il sur des vidéos ?

  • Actuellement, le modèle ne prend en charge que les images ou les images individuelles extraites de vidéos.

Où puis-je trouver le code ?

  • Le code est disponible sur GitHub