YOLO Vision 2026 :

Intégration Google Cloud Storage#

L’intégration Google Cloud Storage connecte tes buckets GCS à Ultralytics Platform. Tes images restent dans tes buckets : Platform les indexe sur place, ce qui te permet de les parcourir, de les annoter et d’entraîner des modèles YOLO sans téléverser de copie.

Fonctionnalité Pro

Les jeux de données Google Cloud Storage nécessitent un forfait Pro ou Enterprise. Les espaces de travail gratuits voient l’intégration et sont invités à passer à un forfait supérieur lors de la connexion. Les jeux de données Google Cloud Storage existants restent entièrement accessibles si un abonnement prend fin ; seules les nouvelles connexions et importations nécessitent Pro.

Créer un compte de service en lecture seule#

Platform ne lit jamais que les données de ton stockage : il n’écrit, ne modifie et ne supprime jamais tes objets. Crée un compte de service dédié avec un accès en lecture seule :

  1. Dans la console Google Cloud, va dans IAM & Admin > Service Accounts et crée un compte de service.
  2. Accorde-lui le rôle Storage Object Viewer (roles/storage.objectViewer) sur les buckets que tu veux connecter.
  3. Ouvre le compte de service, sélectionne Keys > Add key > Create new key, choisis JSON, puis télécharge le fichier de clé.
La détection des buckets nécessite une autorisation supplémentaire

roles/storage.objectViewer couvre tout ce que Platform fait avec tes données, mais ne permet pas de répertorier les buckets d’un projet. Ajoute un rôle incluant storage.buckets.list si tu veux que Platform trouve tes buckets pour toi ; sinon, saisis manuellement le nom de chaque bucket lors de la connexion.

Se connecter à Platform#

  1. Va dans Settings > Integrations et sélectionne Google Cloud Storage dans la liste des intégrations.
  2. Colle le contenu de la clé JSON du compte de service.
  3. Clique sur Find available buckets, puis sélectionne les buckets à connecter. Si le compte de service ne peut pas répertorier les buckets, saisis manuellement le nom d’un bucket connu.
  4. Clique sur Connect. Platform vérifie qu’il peut répertorier et lire chaque bucket sélectionné avant d’enregistrer quoi que ce soit.

Paramètres de l’intégration Google Cloud Storage d’Ultralytics Platform

Tu dois avoir le rôle d’administrateur ou de propriétaire de l’espace de travail pour connecter un stockage cloud. Une connexion peut contenir jusqu’à 50 buckets, et la détection répertorie jusqu’à 300 des buckets visibles par le compte de service.

Ton navigateur lit le fichier de clé collé et envoie uniquement les trois champs dont Platform a besoin — client_email, private_key, et project_id. Le reste du JSON ne quitte jamais la page.

Reconnecter ultérieurement le même compte de service ajoute de nouveaux buckets à l’intégration existante. Un identifiant enregistré n’est remplacé que lorsque son remplacement peut toujours lire chaque bucket que tu as déjà connecté.

Sécurité des identifiants

Les identifiants sont chiffrés au repos avec AES-256-GCM, ne sont jamais renvoyés au navigateur et ne sont jamais exposés aux charges de travail d’entraînement. Pour révoquer l’accès, supprime la clé du compte de service dans Google Cloud.

Créer un jeu de données à partir d’un bucket GCS#

  1. Clique sur New Dataset et ouvre l’onglet Cloud.
  2. Choisis un bucket connecté et accède au dossier contenant tes données.
  3. Confirme le dossier, ajuste le nom du jeu de données, puis crée-le.

Platform répertorie le dossier une seule fois et indexe ce qu’il trouve :

  • Images — Les objets .jpg, .jpeg, .png, .webp et .avif sont indexés avec les dimensions lues au moyen de requêtes limitées. Platform ne conserve pas de seconde copie de l’image source.
  • Étiquettes — Les fichiers associés YOLO .txt sont analysés pour créer des annotations dans Platform, puis associés selon la structure standard images/labels/ ou en tant que fichiers voisins dans le même dossier.
  • Métadonnées — Un fichier YAML fournit les noms des classes et la structure des points clés de pose, exactement comme lors d’un téléversement d’archive. data.yaml et data.yml sont privilégiés lorsque le dossier en contient plusieurs.
  • Tâche — Un échantillon des fichiers d’étiquettes détermine la tâche ; les dossiers de segmentation, de pose et d’OBB sont donc reconnus à partir de la structure de leurs étiquettes plutôt que de la tâche choisie dans la boîte de dialogue.
  • Divisions — Les noms de dossiers train, val et test dans le chemin de l’objet attribuent automatiquement les divisions.

Le jeu de données se comporte ensuite comme n’importe quel autre : parcours-le et annote-le, rends-le public ou privé, partage-le avec ton équipe et entraîne des modèles dessus via l’entraînement géré. Les originaux sont diffusés à la demande et les images indexées ne consomment pas ton quota de stockage Platform.

Limites

Une seule importation indexe jusqu’à 50 000 objets, ainsi que les fichiers d’étiquettes ou YAML de 1 Mo maximum chacun. Les buckets plus volumineux doivent être répartis entre plusieurs jeux de données.

Conserver les objets indexés immuables

Chaque image indexée est liée à la génération de son objet GCS, et Platform bloque l’opération si un objet est modifié entre-temps. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent.

Importations échouées#

Si une importation échoue — dossier vide, erreur de saisie dans le chemin ou autorisations révoquées — le jeu de données affiche l’erreur sur sa page. Les éditeurs peuvent cliquer sur Retry import pour la redémarrer avec le bucket et le dossier enregistrés, ou créer un nouveau jeu de données pointant vers le chemin corrigé.

Une nouvelle tentative réanalyse le dossier au lieu de reprendre l’opération : les objets ajoutés depuis la première tentative sont récupérés et ceux qui n’y sont plus sont supprimés du jeu de données.

Entraînement#

L’entraînement géré fonctionne via le flux d’entraînement normal. Pendant toute la durée de l’exécution, l’entraînement utilise les propres copies Platform des images liées, et tes identifiants Google Cloud ne sont jamais exposés aux charges de travail d’entraînement.

Déconnecter une connexion#

La déconnexion supprime les identifiants enregistrés sans rien modifier dans Google Cloud. Les jeux de données créés à partir de ces buckets restent dans ton espace de travail avec leurs classes, étiquettes et annotations, mais leurs images ne peuvent pas être chargées, prévisualisées ou utilisées pour l’entraînement tant que le même compte de service n’est pas reconnecté.

Utilise la REST API avec l’identifiant d’intégration renvoyé par GET /api/integrations/buckets :

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_ID
from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")

Pour révoquer l’accès directement à la source, supprime plutôt la clé du compte de service dans Google Cloud.

Limites actuelles#

Les jeux de données associés à GCS excluent actuellement les fonctionnalités qui nécessitent des copies de tes images détenues par Platform : annotation automatique, analyse de clustering, clonage de jeux de données et instantanés de version immuables.

La suppression d’un jeu de données associé à GCS, ou d’images individuelles qui en font partie, supprime uniquement les références de Platform ; tes objets ne sont jamais modifiés.

Voir également les intégrations Amazon S3 et Azure Blob Storage.

FAQ#

  • Non. Platform liste le bucket une seule fois et indexe les dimensions et les étiquettes des images qu'il trouve. Les originaux sont diffusés à la demande pour la navigation et l'annotation, et l'entraînement géré fonctionne à partir des copies des images épinglées par Platform uniquement pour la durée de l'exécution. Les images indexées ne sont pas décomptées de ton quota de stockage.

  • Un jeu de données est indexé une seule fois lors de sa création. Les nouveaux objets ne sont pas pris en compte tant que tu ne crées pas un nouveau jeu de données ou que tu ne relances pas un import échoué, et chaque image indexée est épinglée à sa version, de sorte que l'écrasement d'un objet entraîne l'échec de Platform sur cette image. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent déjà.

  • Les fonctionnalités qui nécessitent des copies de tes images appartenant à Platform sont exclues sur les jeux de données connectés : l'annotation automatique, l'analyse par clustering, le clonage de jeux de données et les instantanés de version immuables. L'annotation manuelle, le partage et l'entraînement fonctionnent normalement.

  • Déconnecte l'intégration dans Settings > Integrations pour supprimer les identifiants stockés, ou supprime la clé du compte de service dans Google Cloud. Aucune de ces actions ne touche aux données de tes buckets.

Commentaires