YOLO Vision 2026 :

Intégration de Google Cloud Storage#

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

Fonctionnalité Pro

Les datasets Google Cloud Storage nécessitent un abonnement Pro ou Enterprise. Les espaces de travail gratuits voient l'intégration et sont invités à passer à la version supérieure lors de la connexion. Les datasets Google Cloud Storage existants restent entièrement accessibles si un abonnement prend fin — seules les nouvelles connexions et les nouveaux imports nécessitent un compte Pro.

Créer un compte de service en lecture seule#

La Platform lit uniquement tes données — elle n'écrit, ne modifie et ne supprime jamais tes objets. Crée un compte de service dédié disposant uniquement d'un accès en lecture :

  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 Lecteur d'objets Storage (roles/storage.objectViewer) sur les buckets que tu souhaites connecter.
  3. Ouvre le compte de service, choisis Keys > Add key > Create new key, sélectionne JSON, et télécharge le fichier de clé.
La découverte des buckets nécessite une permission supplémentaire

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

Se connecter à la 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 lister les buckets, entre un nom de bucket connu manuellement.
  4. Clique sur Connect. La Platform vérifie qu'elle peut lister et lire chaque bucket sélectionné avant de sauvegarder quoi que ce soit.

Ultralytics Platform Google Cloud Storage Integration Settings

Tu as besoin du rôle d'administrateur ou de propriétaire de l'espace de travail pour connecter le stockage cloud. Une connexion prend en charge jusqu'à 50 buckets, et la découverte liste jusqu'à 300 buckets visibles par le compte de service.

Ton navigateur lit le fichier de clé collé et n'envoie que les trois champs nécessaires à Platform — client_email, private_key et project_id. Le reste du JSON ne quitte jamais la page.

Reconnecter le même compte de service plus tard ajoute de nouveaux buckets à l'intégration existante. Une information d'identification sauvegardée n'est remplacée que si son remplaçant 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 dataset à partir d'un bucket GCS#

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

Platform liste le dossier une fois et indexe ce qu'elle trouve :

  • Images — les objets .jpg, .jpeg, .png, .webp et .avif sont indexés avec des dimensions lues via des requêtes limitées. La Platform ne conserve pas de seconde copie de l'image source.
  • Labels — les fichiers d'accompagnement YOLO .txt sont analysés pour former des annotations sur la Platform, associés selon la structure standard images/labels/ ou en tant qu'éléments frères dans le même dossier.
  • Metadata — un fichier YAML fournit les noms des classes et la forme des points clés de pose, exactement comme pour un téléversement d'archive. data.yaml et data.yml sont recommandés lorsque le dossier en contient plusieurs.
  • Task — un échantillon des fichiers d'étiquettes détermine la tâche, de sorte que les dossiers de segmentation, de pose et d'OBB sont reconnus par la forme de leurs étiquettes plutôt que par la tâche choisie dans la boîte de dialogue.
  • Divisions — les noms de dossiers train, val et test présents dans le chemin de l'objet attribuent automatiquement les divisions.

Le dataset 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-le 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 sur la Platform.

Limites

Une seule importation indexe jusqu'à 50 000 objets, et les fichiers de labels ou YAML jusqu'à 1 Mo chacun. Les buckets plus volumineux devraient être répartis sur plusieurs datasets.

Garde les objets indexés immuables

Chaque image indexée est liée à sa génération d'objet GCS, et la Platform bloque l'accès si un objet change en arrière-plan. Ajoute de nouveaux objets plutôt que d'écraser ceux existants.

Importations échouées#

Si une importation échoue — dossier vide, faute de frappe dans le chemin ou permissions révoquées — le dataset affiche l'erreur sur sa page. Les éditeurs peuvent cliquer sur Retry import pour recommencer avec le bucket et le dossier enregistrés, ou créer un nouveau dataset pointant vers le chemin corrigé.

Une nouvelle tentative liste à nouveau le dossier au lieu de reprendre : les objets ajoutés depuis la première tentative sont inclus, et les objets qui n'y sont plus sont retirés du jeu de données.

Entraînement#

L'entraînement géré fonctionne via le flux d'entraînement normal. L'entraînement utilise les propres copies des images épinglées par Platform pendant la durée de l'exécution, 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 stockés sans modifier quoi que ce soit dans Google Cloud. Les jeux de données construits à 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 l'REST API avec l'ID 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 à la source à la place, supprime la clé du compte de service dans Google Cloud.

Limitations actuelles#

Les datasets basés sur GCS excluent actuellement les fonctionnalités qui nécessitent des copies de tes images détenues par la Platform : l'annotation automatique, l'analyse par clustering, le clonage de datasets et les instantanés de version immuables.

Supprimer un dataset basé sur GCS, ou des images individuelles de celui-ci, ne supprime que les références de la Platform — tes objets ne sont jamais touchés.

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

Commentaires