Ultralytics YOLO27: 대기자 명단에 등록해 주십시오.
Get Started

Google Cloud Storage 통합#

Google Cloud Storage 통합은 GCS 버킷을 Ultralytics Platform에 연결합니다. 이미지는 버킷에 그대로 유지되고 Platform은 해당 위치에서 이미지를 인덱싱하므로, 사본을 업로드하지 않고도 이미지를 탐색하고 어노테이션을 추가하며 YOLO 모델을 학습시킬 수 있습니다.

Pro 기능

Google Cloud Storage 데이터셋을 사용하려면 Pro 또는 Enterprise 요금제가 필요합니다. 무료 작업 공간에서도 통합 기능을 확인할 수 있으며, 연결 시 업그레이드 안내가 표시됩니다. 구독이 종료되더라도 기존 Google Cloud Storage 데이터셋은 계속 모두 이용할 수 있습니다. 새로운 연결과 가져오기에만 Pro가 필요합니다.

읽기 전용 서비스 계정 만들기#

Platform은 스토리지에서 데이터를 읽기만 하며 객체를 쓰거나 수정하거나 삭제하지 않습니다. 읽기 권한만 있는 전용 서비스 계정을 만드세요.

  1. Google Cloud 콘솔에서 IAM 및 관리자 > 서비스 계정으로 이동해 서비스 계정을 만듭니다.
  2. 연결하려는 버킷에 Storage Object Viewer(roles/storage.objectViewer) 역할을 부여합니다.
  3. 서비스 계정을 열고 키 > 키 추가 > 새 키 만들기를 선택한 다음, JSON을 선택하고 키 파일을 다운로드합니다.
버킷 검색에는 추가 권한이 필요합니다

roles/storage.objectViewer은 Platform이 데이터에 수행하는 모든 작업에 필요한 권한이지만 프로젝트의 버킷 목록을 조회할 수는 없습니다. Platform이 버킷을 검색하도록 하려면 storage.buckets.list을 포함하는 역할을 추가하세요. 그렇지 않으면 연결할 때 각 버킷 이름을 직접 입력해야 합니다.

Platform에 연결하기#

  1. 설정 > 통합으로 이동한 다음 통합 목록에서 Google Cloud Storage를 선택합니다.
  2. 서비스 계정 JSON 키의 내용을 붙여 넣습니다.
  3. 사용 가능한 버킷 찾기를 클릭한 다음 연결할 버킷을 선택합니다. 서비스 계정에서 버킷 목록을 조회할 수 없다면 알려진 버킷 이름을 직접 입력하세요.
  4. 연결을 클릭합니다. Platform은 설정을 저장하기 전에 선택한 각 버킷을 조회하고 읽을 수 있는지 확인합니다.

Ultralytics Platform Google Cloud Storage 통합 설정

클라우드 스토리지를 연결하려면 작업 공간 관리자 또는 소유자 역할이 필요합니다. 한 번에 최대 50개의 버킷을 추가할 수 있으며, 검색 결과에는 서비스 계정에서 액세스할 수 있는 버킷 중 최대 300개가 표시됩니다.

브라우저는 붙여 넣은 키 파일을 읽고 Platform에 필요한 세 필드인 client_email, private_key, project_id만 전송합니다. 나머지 JSON은 페이지 밖으로 전송되지 않습니다.

나중에 동일한 서비스 계정을 다시 연결하면 기존 통합에 새 버킷이 추가됩니다. 저장된 자격 증명은 교체용 자격 증명으로 이미 연결된 모든 버킷을 계속 읽을 수 있는 경우에만 교체됩니다. 버킷을 하나라도 읽을 수 없으면 같은 서비스 계정으로 이전에 연결한 버킷을 포함해 해당 버킷의 이름이 오류에 표시됩니다.

자격 증명 보안

자격 증명은 저장 시 AES-256-GCM으로 암호화되며, 브라우저로 반환되거나 학습 워크로드에 노출되지 않습니다. 액세스 권한을 취소하려면 Google Cloud에서 서비스 계정 키를 삭제하세요.

GCS 버킷에서 데이터셋 만들기#

  1. 새 데이터셋을 클릭하고 클라우드 탭을 엽니다.
  2. 연결된 버킷을 선택하고 데이터가 있는 폴더로 이동합니다.
  3. 폴더를 확인하고 데이터셋 이름을 조정한 다음 데이터셋을 만듭니다.

Platform은 폴더 목록을 한 번 조회한 다음 해당 폴더에서 찾은 항목을 인덱싱합니다.

  • 이미지 — .jpg, .jpeg, .png, .webp, .avif 객체를 인덱싱하며, 제한된 요청으로 크기를 읽습니다. Platform은 원본 이미지의 사본을 별도로 저장하지 않습니다.
  • 레이블 — YOLO .txt 사이드카를 Platform 어노테이션으로 파싱합니다. 표준 images/ → labels/ 구조 또는 같은 폴더의 파일을 기준으로 매칭합니다.
  • 메타데이터 — YAML 파일에서 클래스 이름과 포즈 키포인트 구조를 가져옵니다. 아카이브 업로드와 동일하게 처리됩니다. 폴더에 여러 파일이 있는 경우 data.yaml과 data.yml를 우선 사용합니다.
  • 작업 — 레이블 파일의 샘플을 바탕으로 작업을 결정하므로, 대화상자에서 선택한 작업이 아니라 레이블 구조를 기준으로 세그먼트, 포즈 및 OBB 폴더를 인식합니다.
  • 분할 — 객체 경로에서 train, val, test 폴더 이름을 찾아 분할을 자동으로 지정합니다.

그러면 데이터셋은 다른 데이터셋과 동일하게 사용할 수 있습니다. 데이터셋을 탐색하고 어노테이션을 추가하고, 공개 또는 비공개로 설정하고, 팀과 공유하고, 관리형 학습을 통해 학습할 수 있습니다. 원본은 요청 시 스트리밍되며, 인덱싱된 이미지는 Platform 스토리지 할당량을 차지하지 않습니다.

제한 사항

한 번의 가져오기로 최대 500,000개의 객체와 각각 최대 1 MB인 라벨 또는 YAML 파일을 인덱싱할 수 있습니다. 더 큰 버킷은 여러 데이터셋으로 나누어야 합니다.

인덱싱된 객체를 변경할 수 없는 상태로 유지

인덱싱된 각 이미지는 GCS 객체 세대에 고정되며, 객체가 변경되면 Platform은 안전하게 작업을 중단합니다. 기존 객체를 덮어쓰는 대신 새 객체를 추가하세요.

가져오기 실패#

가져오기가 실패하면(폴더가 비어 있거나 경로에 오타가 있거나 권한이 취소된 경우) 데이터셋 페이지에 오류가 표시됩니다. 편집자는 Retry import를 클릭해 저장된 버킷과 폴더를 사용하여 가져오기를 다시 시작하거나, 올바른 경로를 지정하는 새 데이터셋을 만들 수 있습니다.

재시도는 이어서 진행하는 대신 폴더를 다시 나열합니다. 첫 시도 이후 추가된 객체는 가져오고, 더 이상 존재하지 않는 객체는 데이터셋에서 제거합니다.

학습#

관리형 학습은 일반 학습 흐름을 통해 진행됩니다. 학습 중에는 실행이 끝날 때까지 Platform 자체의 고정된 이미지 사본을 사용하며, Google Cloud 자격 증명은 학습 워크로드에 노출되지 않습니다.

연결 해제#

연결을 해제하면 Google Cloud의 어떤 항목도 건드리지 않고 저장된 자격 증명만 삭제됩니다. 해당 버킷으로 만든 데이터셋은 클래스, 라벨, 어노테이션과 함께 워크스페이스에 유지되지만, 동일한 서비스 계정을 다시 연결할 때까지 이미지를 불러오거나 미리 보거나 학습에 사용할 수 없습니다. 연결이 해제된 상태에서도 데이터셋 이름 변경, 라벨 편집, 삭제는 가능합니다.

연결을 해제하려면 Settings > Integrations로 이동해 Google Cloud Storage를 선택하고, 자격 증명 옆의 Disconnect를 클릭한 다음 확인하세요. 해당 데이터셋을 열면 이 설정으로 돌아가는 링크와 함께 Google Cloud Storage Disconnected가 표시되며, 다시 연결하면 데이터셋이 자동으로 복원됩니다.

REST API를 사용하여 연결을 해제할 수도 있습니다. GET /api/integrations/buckets에서 반환된 통합 ID를 사용하세요.

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")

대신 원본에서 액세스를 취소하려면 Google Cloud에서 서비스 계정 키를 삭제하세요.

현재 제한 사항#

GCS 기반 데이터셋에서는 이미지 사본을 Platform이 보유해야 하는 기능인 자동 어노테이션, 클러스터링 분석, 데이터셋 복제, 변경 불가능한 버전 스냅샷을 현재 사용할 수 없습니다.

GCS 기반 데이터셋이나 그 안의 개별 이미지를 삭제해도 Platform의 참조만 제거되며, 사용자의 객체에는 아무런 영향을 주지 않습니다.

Amazon S3 및 Azure Blob Storage 통합도 참조하세요.

자주 묻는 질문#

  • 아니요. Platform은 버킷을 한 번 나열하고 이미지 크기와 라벨을 인덱싱합니다. 원본은 탐색 및 어노테이션을 위해 요청 시 스트리밍되며, 관리형 학습에서는 실행이 진행되는 동안에만 고정된 이미지의 Platform 자체 사본을 사용합니다. 인덱싱된 이미지는 스토리지 할당량에 포함되지 않습니다.

  • 데이터셋은 생성할 때 한 번 인덱싱됩니다. 새 객체는 새 데이터셋을 만들거나 실패한 가져오기를 재시도할 때까지 반영되지 않습니다. 인덱싱된 각 이미지는 해당 버전에 고정되므로 객체를 덮어쓰면 Platform은 해당 이미지 처리를 안전하게 중단합니다. 기존 객체를 교체하는 대신 새 객체를 추가하세요.

  • 연결된 데이터셋에서는 이미지 사본을 Platform이 보유해야 하는 기능을 사용할 수 없습니다. 여기에는 자동 어노테이션, 클러스터링 분석, 데이터셋 복제, 변경 불가능한 버전 스냅샷이 포함됩니다. 수동 어노테이션, 공유, 학습은 모두 정상적으로 작동합니다.

  • 저장된 자격 증명을 삭제하려면 Settings > Integrations에서 통합 연결을 해제하거나 Google Cloud에서 서비스 계정 키를 삭제하세요. 두 작업 모두 버킷의 데이터에는 영향을 주지 않습니다.

댓글