CLOVA Face Recognition(CFR) API를 활용한 Face Extension Kit 구현하기

Chang Hwan Jang
NAVER CLOUD PLATFORM
8 min readApr 12, 2021

​CLOVA Face Recognition(CFR) API 알아보기

네이버 클라우드 플랫폼의 ​CFR (CLOVA Face Recognition), 클로바 얼굴 인식 서비스 API를 연동하여 나만의 Face Extension Kit (얼굴 인식 키트) 구현하는 방법을 소개합니다.​

네이버 클라우드 플랫폼 CFR API 알아보기

<그림1> Clova Face Recognition(CFR) — 웹페이지 링크

네이버 클라우드 플랫폼의 CFR(링크)은 얼굴과 관련된 다양한 정보를 제공하는 얼굴 인식 API입니다. 입력된 비전 데이터를 통해 얼굴을 인식하거나 얼굴 감지를 이용한 애플리케이션을 만들 때 유용한 API 서비스입니다. 이미지 속의 얼굴과 가장 닮은 유명인을 찾거나, 얼굴의 윤곽과 눈/코/입 위치, 표정 값을 획득할 수 있습니다.​

<그림2> NAVER Cloud Platform CFR 서비스 요약

Clova Face Recognition API(이하 CFR API)는 이미지 데이터를 입력받은 후 얼굴 인식 결과를 JSON 형태로 반환합니다. CFR API는 이미지에 있는 얼굴을 인식하여 분석 정보를 제공하는 ‘얼굴 감지 API’와 닮은 연예인을 알려주는 ‘유명인 얼굴 인식 API’를 제공합니다. CFR API는 HTTP 기반의 REST API이며, 사용자 인증(로그인)이 필요하지 않은 비로그인 Open API입니다.

<그림3> NAVER Cloud Platform CFR API

1) 유명인 얼굴 인식 API

입력받은 이미지로부터 얼굴을 감지하고, 어떤 유명인과 닮았는지 분석하여 그 결과를 반환하는 REST API입니다. 이미지에서 다음과 같은 정보를 분석합니다.​

✔ 감지된 얼굴의 수

✔ 감지된 각각의 얼굴을 분석한 정보
- 닮은 유명인 이름
- 해당 유명인을 닮은 정도

<그림4> NAVER Cloud Platform CFR Celebrity API Request

2) 얼굴 감지 API

입력받은 이미지로부터 얼굴을 감지해, 얼마나 많은 얼굴이 감지되었고 각 얼굴이 어디에 어떤 크기로 위치하며 어떤 모습을 하고 있는지 반환하는 REST API입니다. 이미지에서 다음과 같은 정보를 분석합니다.

✔ 감지된 얼굴의 수

✔ 감지된 각각의 얼굴을 분석한 정보
- 좌표 및 크기
- 눈, 코, 입의 좌표
- 추정 성별
- 추정 나이
- 얼굴에서 분석된 감정
- 얼굴의 방향

<그림6> NAVER Cloud Platform CFR Face API Request
<그림7> NAVER Cloud Platform CFR Face API Response
<그림7> NAVER Cloud Platform CFR Face API Response
<그림8> NAVER Cloud Platform CFR Face API Object Response

네이버 클라우드 플랫폼 Application 등록하기

네이버 클라우드 플랫폼의 AI/Application 서비스를 사용하기 위해서는 아래와 같이 ‘Application 등록’을 해야 합니다. 해당 인증 정보를 활용하여 서비스 구현 시 Client ID/Secret Key 정보를 사용할 수 있습니다.​

<그림9> NAVER Cloud Platform Application Server 등록

아래와 같이 등록된 서비스의 인증 정보와 서비스 한도를 확인할 수 있습니다.​

<그림10> NAVER Cloud Platform CFR Application 등록 정보
<그림11> NAVER Cloud Platform CFR Application 한도 및 설정

나만의 Face Extension Kit 구현하기

CFR API를 활용하여 나만의 Face Extension Kit을 구현하는 방법을 알아보겠습니다.

▲CFR Server 구현 ▲CFR Server 실행 ▲모자이크 실행 ▲모자이크 실행 결과 ▲원본 이미지 파일 병합 ▲병합 이미지 파일 생성 결과

총 6단계로 설명드리겠습니다.

1) CFR Server 구현

원본 이미지 파일의 얼굴 위치를 분석하여 Json File로 분석 정보를 추출합니다.​

Client ID & Secret Key 입력
Face Recognition API 사용
Express Server 시작

<그림12> CFR Server 구현

2) CFR Server 실행

원본 이미지에서 CFR API를 통해 얼굴에 대한 좌표 정보를 획득합니다.

Image 전체 정보
Face 위치 정보
Face 전체 정보

<그림13> CFR Server 실행 결과

3) 모자이크 실행

CFR Server에서 추출한 얼굴 위치정보를 활용하여 해당 영역을 모자이크 처리할 수 있습니다.​

원본 이미지 파일
모자이크 처리 결과 이미지 영역
모자이크 처리 실행

<그림14> 얼굴 위치 모자이크 처리방법

4) 모자이크 실행 결과

CFR Server에서 추출한 얼굴 정보를 통해 모자이크 실행 결과를 확인할 수 있습니다.​

원본 이미지 파일
모자이크 실행된 이미지 파일

<그림15> 얼굴 위치 모자이크 처리 결과

5) 원본 이미지 파일 병합

원본 이미지 파일과 얼굴 부분만 모자이크 처리된 이미지 파일을 병합하여 최종 이미지 파일을 생성합니다.​

원본 이미지 파일
변환된 모자이크 이미지 파일
2개의 이미지 파일 병합
최종 병합된 이미지 파일 실행

<그림16> 원본 파일과 모자이크 파일 병합

6) 병합 이미지 파일 생성 결과

(5)번에서 실행한 이미지 병합 후, 웹 서버를 통해 병합된 이미지 파일을 확인할 수 있습니다.

<그림17> 원본 파일과 모자이크 파일 병합 결과

아래에서 서비스 설정에서 소스 구현, 실행 방법까지 포함된 영상을 참고하실 수 있습니다.

마지막으로 미니 프로젝트의 소스 코드를 아래에 첨부합니다.​

👉소스코드 : https://github.com/NaverCloudPlatformDeveloper/Simple-AI-Service-DEVEW2020/tree/main/Simple-CFR

<그림18> cfr_service.js
<그림19> convert.html
<그림20> merge.html

지금까지 네이버 클라우드 플랫폼의 CFR(Clova Face Recognition) API를 활용하여 나만의 Face Extension Kit을 구현하는 방법을 알아보았습니다.

​정확한 인식률을 가진 ‘네이버 클라우드 플랫폼의 CFR’을 활용한다면
다양한 얼굴 관련 서비스를 높은 품질로 구현할 수 있습니다.

​앞으로도 네이버 클라우드 플랫폼의 다양한 AI Server API를 활용하는 방법에 대해 공유드리겠습니다.​

많은 관심 부탁드리며, 끝까지 읽어 주셔서 감사합니다.

--

--