반응형
0. 서론
naver의 face recognition api를 사용해본다.
사진을 입력받으면 얼굴의 개수, 눈코입의 위치, 추정되는 나이 성별 감정 등의 정보를 분석해서 반환한다.
1. application 등록
sosoeasy.tistory.com/329 여기서 1.application이랑 똑같이하면된다. 종류만 face recognition으로..
2. 코드
(1) id와 secret, 파일경로를 입력한다.
import os
import sys
import requests
# id, secret 입력
client_id = "본인의 id값 입력"
client_secret = "본인의 secret값 입력"
# 파일경로 설정
files = {'image': open('파일경로 입력', 'rb')}
(2) 나머지 코드는 똑같이 치면된다.
url = "https://naveropenapi.apigw.ntruss.com/vision/v1/face"
headers = {'X-NCP-APIGW-API-KEY-ID': client_id, 'X-NCP-APIGW-API-KEY': client_secret }
response = requests.post(url, files=files, headers=headers)
rescode = response.status_code
if(rescode==200):
print (response.text)
else:
print(rescode)
print("Error Code:" + rescode)
(3) 딕셔너리 형식으로 바꿔준다
a=response.json() #dictionary 형태로
dict_response=dict(a)
(4) 약 8개의 att가 존재한다.
print("[info]")
for key in a["info"]:
print(key)
print("[faces]")
for key in a["faces"][0]:
print(key)
[info]
size
faceCount
[faces]
roi
landmark
gender
age
emotion
pose
(5) 표정과 신뢰도를 분석해 준다.
dict_response["faces"][0]["emotion"]
{'value': 'smile', 'confidence': 0.60552}
(6) 사용후기
- 여러명일때도 각각을 모두 분석해준다.
- 근데 성별이 틀린 경우가 많았다. 남자를 여자로 판단하는 경우가 좀 많았다.
- 실제 나이보다 좀 더 높게본다.. 대상이 노안일수도있다..
반응형