화장품 챗봇 스토리를 진행하다가 데이터 수집까지 완료하였으므로,
한 챕터가 마무리가 되었습니다 짝짝짝~
그래서 잠시 쉬어가는 타임을 가져볼까 합니다.
휴양지로 여행가고 싶은 마음을 담아, 해외여행지의 사진들을 분석해 보겠습니다.
"자연의 바다와 나무들이 있는 곳에서,
맑은 하늘을 보며 휴가를 보내고 싶다~!"
만약 위와 같은 여행지를 찾고 싶다면, 최적의 장소를 어떻게 찾을 수 있을까요?
Instagram서 다양한 휴양지를 검색해볼수도 있겠지만,
저는 구글 Vision API를 활용해서 각각의 사진에 Scoring을 내는 방식을 활용해 보겠습니다.
우선 구글에 "tour"로 검색해서 다양한 사진들을 검색한 다음, 그 중 마음에 드는 사진들을 골라서 따로 폴더에 저장해둡니다.
이 중 저는 3개의 이미지를 골라봤습니다. 다낭, 디즈니랜드, 홍콩이네요!
세군데 모두 가고싶은 곳이지만, 위에 언급한 "휴양지" 조건에 부합하는 곳을 찾아보겠습니다.
구글 Vision API의 기능은 이미지를 머신러닝으로 분석해서 각 이미지마다 labels를 달아줍니다.
구글 클라우드에 가면 이용이 가능합니다.
https://cloud.google.com/vision
예를 들어 홍콩 이미지를 구글 API에 넣어보면, 아래와 같이 나옵니다.
홍콩의 이미지는 1번이 "Urban Area"네요. 그 뒤로 "Metropolis", "Skyline" 등의 키워드들이 나옵니다. 전반적으로 도시에 Skyscraper들이 즐비한 모습인 것을 알 수 있죠. 일단 제가 가고싶은 휴양지 느낌의 도시는 아닌거 같네요. 구글 vision api는 막연히 이미지로 느껴지는 것들을 이렇게 키워드들을 추출해주고 유사한 정도도 보여줍니다.
이 구글 API의 기능을 좀 더 확장하면, 다양한 이미지의 느낌을 점수화(scoring)를 하는 것이 가능합니다.
여러 장의 해외 휴양지 이미지를 넣고, 내가 원하는 키워드들이 많이 들어가있는 이미지를 scoring하는 것도 가능하겠죠. 우리의 친구 파이썬을 이용해서 그 작업을 해보겠습니다.
구글 Vision API를 파이썬으로 연동해서 작업하기 위해서는 먼저 google-cloud-vision이라는 패키지를 설치하는 것이 필요합니다.
저는 이미지 labels에 Nature, Sea, Tree라는 키워드가 있으면 각각 점수 10점을 주었고,
Sky, Vacation이라는 단어에는 각각 점수 5점을 부여했습니다.
이 키워드들은 수정이 가능하고, 여행지의 조건으로 내가 넣고싶은 키워드가 있다면 추가도 가능합니다.
다낭, 디즈니랜드, 홍콩 사진들을 분석하고 scoring을 내 보았습니다.
최종 점수는 다낭이 40점으로 1등이네요! 2등은 디즈니랜드 3등이 홍콩으로 나왔습니다.
물론 이미지로 어느정도 예측은 되었지만, 실제로 이 label에 가중치를 부여하고 점수화를 해보니 이미지의 점수화가 가능합니다. 디즈니랜드는 홍콩의 3배정도 휴양지 느낌이 나고, 다낭은 홍콩보다 8배 정도 휴양지 느낌이 나는군요.
저는 휴양지와 관련된 키워드 위주로 구성하였지만, 만약 exciting, funny와 같은 active한 키워드들을 넣으면 아마도 디즈니랜드 점수가 가장 높게 나올 것입니다.
'실전 프로젝트 > 구글 API - 여행이미지 분석' 카테고리의 다른 글
[Google Vision API] 2.이미지 라벨 데이터 전처리(Preprocessing Image label data) (1) | 2019.03.06 |
---|