Emotion API cURL 퀵 스타트

등록일시: 2018-01-11 08:00,  수정일시: 2018-01-11 08:00
조회수: 3,231
이 문서는 Cognitive Services 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.
본문에서는 cURL 도구를 사용해서 Emotion API를 사용하는 방법을 살펴봅니다.
중요

기존의 Video API 미리보기는 2017년 10월 30일에 만료되었습니다. 새로운 Video Indexer API 미리보기를 이용해서 동영상에서 손쉽게 의미 있는 정보를 얻고, 말/음성, 얼굴, 인물 및 감정을 감지하여 검색 결과 같은 콘텐츠 탐색 경험을 향상시켜 보십시오. 보다 자세한 정보는 Video Indexer (미리보기)를 참고하시기 바랍니다.

본문에서는 cURL과 Emotion API의 Recognize 메서드를 사용해서 이미지에 포함된 한 명 이상의 사람들이 표현하는 감정을 인식하기 위해 필요한 유용한 정보와 예제 코드를 제공합니다.

요구 사항

역주

본문에서는 본격적인 프로그래밍 언어를 사용해서 Emotion API를 사용하는 방법을 살펴보기에 앞서, 먼저 cURL이라는 명령줄 도구를 사용합니다. 이 도구에 친숙하지 않은 분들을 위해서 간단히 설명드리면 다양한 프로토콜을 이용해서 통신을 수행하는, 마치 Fiddler 같은 역할을 하는 명령줄 도구라고 생각하시면 이해가 쉽습니다. HTTP, HTTPS, FTP, FTPS, Gopher, IMAP, IMAPS 등 수십 여 가지에 달하는 프로토콜을 지원하고, 다양한 운영 체제에서 사용할 수 있기 때문에 본격적인 코드를 작성하기에 앞서 테스트를 해보거나 API의 응답 내역 등을 확인하는 작업에 유용합니다.

cURL에 대한 보다 자세한 정보는 공식 홈페이지위키피디아를 참고하시기 바랍니다. 또한 cURL의 한글 메뉴얼과 설치 방법 등은 정광섭님이 정리하신 curl 설치 및 사용법 - HTTP GET/POST, REST API 연계등 문서를 추천드립니다. 특히 해당 문서의 설치 절을 참고하시면 Windows용으로 빌드된 cURL을 다운로드 받을 수 있는 위치를 알 수 있습니다.

감정 인식 curl 요청 예제

노트

REST 호출 시 반드시 구독 키를 발급받은 위치와 동일한 위치의 주소를 사용해야 합니다. 가령 westus 지역에서 구독 키를 발급받았다면, 아래 예제 코드의 URL에서 "westcentralus"를 "westus"로 변경해야 합니다.

@ECHO OFF

curl -v -X POST "https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"

--data-ascii "{body}"
역주

본문의 모든 cURL 예제는 명령줄에 한 줄로 입력해야 하며, --data-ascii 줄도 마찬가지입니다. 본문의 예제는 cURL 명령어가 너무 길기 때문에 가독성을 위해서 정리된 것입니다. 또한 @ECHO OFF 명령은 그냥 무시하는 것을 권해드립니다. 그리고 --data-ascii 줄의 "{body}" 부분에는 "{'url':'http://<image url>'}"과 같이 작업 대상 이미지의 경로를 JSON 형식으로 지정하시면 됩니다. 가령 이번 예제의 경우, 다음과 같이 입력하게 됩니다. 또한, 구독 키를 헤더에 지정해서 전달하는 방법에 유의하시기 바랍니다.

curl -v -X POST "https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription key>" --data-ascii "{'url':'<image url>'}"

감정 인식 결과 응답 살펴보기

호출에 성공하면 얼굴 항목들과 각 항목에 관련된 감정 점수들의 배열이 얼굴 사각형 크기의 역순으로 반환됩니다. 반면 빈 응답은 얼굴이 감지되지 않았음을 의미합니다. 감정 항목은 다음과 같은 필드들을 포함하고 있습니다:

  • faceRectangle - 이미지 상의 얼굴 직사각형의 위치.
  • scores - 이미지의 각 얼굴들에 대한 감정 점수.
application/json

[
  {
    "faceRectangle": {
      "left": 68,
      "top": 97,
      "width": 64,
      "height": 97
    },
    "scores": {
      "anger": 0.00300731952,
      "contempt": 5.14648448E-08,
      "disgust": 9.180124E-06,
      "fear": 0.0001912825,
      "happiness": 0.9875571,
      "neutral": 0.0009861537,
      "sadness": 1.889955E-05,
      "surprise": 0.008229999
    }
  }
]