Python에서 Face API 시작 자습서Getting Started with Face API in Python Tutorial

이 자습서에서는 Python SDK를 통해 Face API를 호출하여 이미지의 인간 얼굴을 감지하는 방법을 알아봅니다.In this tutorial, you will learn to invoke the Face API via the Python SDK to detect human faces in an image.

필수 조건Prerequisites

이 자습서를 사용하려면 다음을 수행해야 합니다.To use the tutorial, you will need to do the following:

  • Python 2.7+ 또는 Python 3.5+ 중 하나를 설치합니다.Install either Python 2.7+ or Python 3.5+.
  • pip를 설치합니다.Install pip.
  • 다음과 같이 Face API용 Python SDK를 설치합니다.Install the Python SDK for the Face API as follows:
pip install cognitive_face
  • Microsoft Cognitive Services에 대한 구독 키를 구합니다.Obtain a subscription key for Microsoft Cognitive Services. 이 자습서의 주 또는 보조 키를 사용할 수 있습니다.You can use either your primary or your secondary key in this tutorial. (Face API를 사용하려면 유효한 구독 키가 있어야 합니다.)(Note that to use any Face API, you must have a valid subscription key.)

이미지의 얼굴 감지Detect a Face in an Image

import cognitive_face as CF

KEY = '<Subscription Key>'  # Replace with a valid subscription key (keeping the quotes in place).
CF.Key.set(KEY)

BASE_URL = 'https://westus.api.cognitive.microsoft.com/face/v1.0/'  # Replace with your regional Base URL
CF.BaseUrl.set(BASE_URL)

# You can use this example JPG or replace the URL below with your own URL to a JPEG image.
img_url = 'https://raw.githubusercontent.com/Microsoft/Cognitive-Face-Windows/master/Data/detection1.jpg'
faces = CF.face.detect(img_url)
print(faces)

다음은 예제 결과입니다.Below is an example result. 감지된 얼굴의 list입니다.It's a list of detected faces. 목록의 각 항목은 dict 인스턴스입니다. 여기서 faceId는 감지된 얼굴의 고유 ID이고 faceRectangle은 감지된 얼굴 위치를 설명합니다.Each item in the list is a dict instance where faceId is a unique ID for the detected face and faceRectangle describes the position of the detected face. 얼굴 ID는 24시간 후에 만료됩니다.A face ID expires in 24 hours.

[{u'faceId': u'68a0f8cf-9dba-4a25-afb3-f9cdf57cca51', u'faceRectangle': {u'width': 89, u'top': 66, u'height': 89, u'left': 446}}]

얼굴 주위의 사각형 그리기Draw rectangles around the faces

이전 명령에서 얻은 json 좌표를 사용하여 이미지에 각 얼굴을 시각적으로 나타내는 사각형을 그릴 수 있습니다.Using the json coordinates that you received from the previous command, you can draw rectangles on the image to visually represent each face. pip install Pillow를 수행하여 PIL 이미징 모듈을 사용해야 합니다.You will need to pip install Pillow to use the PIL imaging module. 파일 맨 위에 다음을 추가합니다.At the top of the file, add the following:

import requests
from io import BytesIO
from PIL import Image, ImageDraw

그런 후, 스크립트에서 print(faces) 뒤에 다음을 포함합니다.Then, after print(faces), include the following in your script:

#Convert width height to a point in a rectangle
def getRectangle(faceDictionary):
    rect = faceDictionary['faceRectangle']
    left = rect['left']
    top = rect['top']
    bottom = left + rect['height']
    right = top + rect['width']
    return ((left, top), (bottom, right))

#Download the image from the url
response = requests.get(img_url)
img = Image.open(BytesIO(response.content))

#For each face returned use the face rectangle and draw a red box.
draw = ImageDraw.Draw(img)
for face in faces:
    draw.rectangle(getRectangle(face), outline='red')

#Display the image in the users default image browser.
img.show()

추가 탐색Further Exploration

Face API를 추가로 탐색하는 데 도움이 되도록 이 자습서는 GUI 예제를 제공합니다.To help you further explore the Face API, this tutorial provides a GUI sample. 이를 실행하려면 먼저 wxPython을 설치한 후 아래 명령을 실행합니다.To run it, first install wxPython then run the commands below.

git clone https://github.com/Microsoft/Cognitive-Face-Python.git
cd Cognitive-Face-Python
python sample

요약Summary

이 자습서에서는 Python SDK 호출을 통해 Face API를 사용하기 위한 기본 프로세스에 배웠습니다.In this tutorial, you have learned the basic process for using the Face API via invoking the Python SDK. API 세부 사항에 대한 자세한 내용은 방법 및 API 참조를 참조하세요.For more information on API details, please refer to the How-To and API Reference.