Google Cloud Vision API 사용하여 모니터링 어플리케이션 구축하는 방법[1]
Jul 23, 2017 · 3 min read

딥러닝, 이미지 인식과 같은 인공지능 기술들이 요즘 제 호기심을 자극합니다. 그중 작년 이맘쯤 구글이 발표한 이미지 탐색(Image detection)이 가능한 Cloud Vision API라는 오픈 API에 대해 알아보았습니다.
Cloud Vision API 특징
자신이 원하는 기준에 맞게 많은 양의 이미지를 분류하는 데 매우 유용한 것 같습니다. 아래는 Cloud Vision의 주요 기능들입니다.
- 이미지 속 사물들을 찾아주는 Label Detection ( ex. 가구, 동물, 음식등)
- 이미지 속 문자들을 인지하는 Text Detection (ex. 전단지)
- 불쾌한 콘텐츠를 식별하여 걸러내는 Safe Search Detection ( ex. 성인 컨텐츠, 폭력 컨텐츠)
- 이미지 속 세계 곳곳에 있는 랜드마크도 식별하여 위도/경도도 표시하는 Landmark Detection (ex. 경복궁, 피라미드, 스핑크스)
- 잘 알려져 있는 회사 로고들을 식별하는 Logo Detection (ex. 맥도날드, 애플, KFC)
- 입, 눈, 코 등의 요소 데이터를 종합하여 얼굴 표정을 식별하는 Face Detection. ( ex. 기쁨, 화남, 우울함 등)
- 이미지 속 개체의 색상(RGB)값을 알려주는 IMAGE_PROPERTIES

첫번째, 마라톤하는 이미지를 보면 Label Detection이 생각외로 높은 정확도를 가진 것을 볼 수 있습니다. running과 marathon외로도 people도 나올 수 있을 것 같네요.
두번째 예시는 사람의 표정을 잡아내고 기분의 상태와 정확도 정도를 very likely로 표시하였습니다. 또한 들고 있는 표지판의 글자도 에스파냐어인지 잘 잡았습니다.
사실 아직도 Vision API가 불안정한 것은 맞습니다만, 시간이 지날수록 더 높은 정확성을 가지기엔 틀림없어 보이네요.
Vision API 이해하기
Vision API는 REST API를 사용하기 쉽습니다. API는 JSON 포맷 형식으로 주어지는데 분석 할 이미지 목록과 API에서 정보를 감지하고 반환 할 이미지 기능으로 구성됩니다.
The JSON Request format은 아래와 같습니다.
{
"requests":[
{
"image":{
"content":"<base64-encoded-image-bytes>"
},
"features":[
{
"type":"<FEATURE_TYPE>",
"maxResults":1
},
{
"type":"<FEATURE_TYPE>",
"maxResults":1
}
]
}
]
}JSON포맷안의 image는 base64로 인코딩 되어 있고 FEATURE_TYPE (Label Detection, Text Detection, Logo Detection 등…)요청 배열로 구성되어 있습니다.
[2]에서 계속…