Vision API는 객체 현지화를 사용하여 이미지에서 여러 객체를 감지하고 추출할 수 있습니다.
객체 현지화는 이미지에서 여러 객체를 식별하고 이미지의 각 객체에 LocalizedObjectAnnotation을 제공하는 것입니다. 각 LocalizedObjectAnnotation
은 객체, 객체의 위치, 객체가 포함된 이미지 영역의 사각형 경계에 대한 정보를 식별합니다.
객체 현지화는 이미지에서 중요한 객체와 덜 중요한 객체를 식별합니다.
객체 정보는 영어로만 반환됩니다. Cloud Translation은 영어 라벨을 여러 다른 언어로 번역할 수 있습니다.

예를 들어 API는 위의 이미지에 있는 객체에 대하여 다음 정보와 경계 위치 데이터를 반환할 수 있습니다.
이름 | mid | 점수 | 경계 |
---|---|---|---|
Bicycle Wheel | /m/01bqk0 | 0.89648587 | (0.32076266, 0.78941387), (0.43812272, 0.78941387), (0.43812272, 0.97331065), (0.32076266, 0.97331065) |
Bicycle | /m/0199g | 0.886761 | (0.312, 0.6616471), (0.638353, 0.6616471), (0.638353, 0.9705882), (0.312, 0.9705882) |
Bicycle Wheel | /m/01bqk0 | 0.6345275 | (0.5125398, 0.760708), (0.6256646, 0.760708), (0.6256646, 0.94601655), (0.5125398, 0.94601655) |
Picture Frame | /m/06z37_ | 0.6207608 | (0.79177403, 0.16160682), (0.97047985, 0.16160682), (0.97047985, 0.31348917), (0.79177403, 0.31348917) |
Tire | /m/0h9mv | 0.55886006 | (0.32076266, 0.78941387), (0.43812272, 0.78941387), (0.43812272, 0.97331065), (0.32076266, 0.97331065) |
Door | /m/02dgv | 0.5160098 | (0.77569866, 0.37104446), (0.9412425, 0.37104446), (0.9412425, 0.81507325), (0.77569866, 0.81507325) |
mid에는 라벨의 Google Knowledge Graph 항목에 해당하는 머신 생성 식별자(MID)가 포함됩니다. mid 값 검사에 대한 자세한 내용은 Google Knowledge Graph Search API 문서를 참조하세요.
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Cloud Vision API의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
Cloud Vision API 무료로 사용해 보기객체 현지화 요청
GCP 프로젝트 및 인증 설정
로컬 이미지에서 객체 인식
Vision API는 이미지 파일의 콘텐츠를 요청 본문에 base64로 인코딩된 문자열로 전송하여 로컬 이미지 파일에서 특징 감지를 수행할 수 있습니다.
REST 및 명령줄
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- base64-encoded-image: 바이너리 이미지 데이터의 base64 표현(ASCII 문자열)입니다. 이 문자열은 다음 문자열과 비슷해야 합니다.
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
HTTP 메서드 및 URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON 요청 본문:
{ "requests": [ { "image": { "content": "base64-encoded-image" }, "features": [ { "maxResults": 10, "type": "OBJECT_LOCALIZATION" }, ] } ] }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1/images:annotate
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
요청이 성공하면 서버가 200 OK
HTTP 상태 코드와 응답을 JSON 형식으로 반환합니다.
응답:
Go
이 샘플을 시도하기 전에 클라이언트 라이브러리를 사용하는 Vision 빠른 시작의 Go 설정 안내를 따르세요. 자세한 내용은 Vision Go API 참조 문서를 참조하세요.
자바
이 샘플을 시도하기 전에 Vision API 빠른 시작: 클라이언트 라이브러리 사용의 자바 설정 안내를 따르세요. 자세한 내용은 Vision API 자바 API 참조 문서를 확인하세요.
Node.js
이 샘플을 시도해 보기 전에 클라이언트 라이브러리를 사용하는 Vision 빠른 시작의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vision Node.js API 참조 문서를 참조하세요.
Python
이 샘플을 시도해 보기 전에 클라이언트 라이브러리를 사용하는 Vision 빠른 시작의 Python 설정 안내를 따르세요. 자세한 내용은 Vision Python API 참조 문서를 확인하세요.
원격 이미지에서 객체 인식
편의를 위해 Vision API는 요청 본문 안에 이미지 파일의 콘텐츠를 보내지 않고도 Google Cloud Storage 또는 웹에 위치한 이미지 파일에서 바로 특징 감지를 수행할 수 있습니다.
REST 및 명령줄
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- cloud-storage-image-uri: Cloud Storage 버킷에 있는 유효한 이미지 파일의 경로입니다. 적어도 파일에 대한 읽기 권한이 있어야 합니다.
예를 들면 다음과 같습니다.
https://cloud.google.com/vision/docs/images/bicycle_example.png
HTTP 메서드 및 URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON 요청 본문:
{ "requests": [ { "image": { "source": { "imageUri": "cloud-storage-image-uri" } }, "features": [ { "maxResults": 10, "type": "OBJECT_LOCALIZATION" }, ] } ] }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1/images:annotate
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
요청이 성공하면 서버가 200 OK
HTTP 상태 코드와 응답을 JSON 형식으로 반환합니다.
응답:
Go
이 샘플을 시도하기 전에 클라이언트 라이브러리를 사용하는 Vision 빠른 시작의 Go 설정 안내를 따르세요. 자세한 내용은 Vision Go API 참조 문서를 참조하세요.
자바
이 샘플을 시도하기 전에 Vision API 빠른 시작: 클라이언트 라이브러리 사용의 자바 설정 안내를 따르세요. 자세한 내용은 Vision API 자바 API 참조 문서를 확인하세요.
Node.js
이 샘플을 시도해 보기 전에 클라이언트 라이브러리를 사용하는 Vision 빠른 시작의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vision Node.js API 참조 문서를 참조하세요.
Python
이 샘플을 시도해 보기 전에 클라이언트 라이브러리를 사용하는 Vision 빠른 시작의 Python 설정 안내를 따르세요. 자세한 내용은 Vision Python API 참조 문서를 확인하세요.
gcloud
이미지에서 라벨을 인식하려면 gcloud ml vision detect-objects
명령어를 사용합니다. 예를 들면 다음과 같습니다.
gcloud ml vision detect-objects https://cloud.google.com/vision/docs/images/bicycle_example.png
사용해 보기
아래에서 객체 감지 및 현지화를 시도해 보세요. 이미 지정된 이미지(https://cloud.google.com/vision/docs/images/bicycle_example.png
)를 사용하거나 자체 이미지를 대신 지정할 수도 있습니다. 실행을 선택하여 요청을 보냅니다.

요청 본문:
{ "requests": [ { "features": [ { "maxResults": 10, "type": "OBJECT_LOCALIZATION" } ], "image": { "source": { "imageUri": "https://cloud.google.com/vision/docs/images/bicycle_example.png" } } } ] }