딥러닝/이미지처리

naver faceRecognition 사용하기

씩씩한 IT블로그 2020. 10. 2. 16:56
반응형

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) 사용후기

- 여러명일때도 각각을 모두 분석해준다.

- 근데 성별이 틀린 경우가 많았다. 남자를 여자로 판단하는 경우가 좀 많았다.

- 실제 나이보다 좀 더 높게본다.. 대상이 노안일수도있다..

반응형