Krew Insight

FRVT 챌린지 참가, 그 두 번째 이야기

chedda.choi 2022. 9. 8. 14:45

시작하며

안녕하세요. 카카오엔터프라이즈 Vision Intelligence팀 Isaac(신종주)입니다. 최근 얼굴인식 기술의 활용성은 점점 높아지고 기술은 더욱 고도화되고 있습니다. 더군다나 코로나가 나타난 이후로 마스크 착용이 일반화되면서 마스크를 착용해도 해당 인물을 식별할 수 있을 정도로 얼굴인식의 기술력이 높아지고 있죠. 실제 저희 판교오피스 내부에 설치된 얼굴인식 기반 출입시스템 ‘워크스루'의 경우에도, 마스크 유무와 관계없이 그 사람을 정확히 식별하고 있는데요.

[그림 1] 카카오엔터프라이즈 판교오피스에 설치된 얼굴인식 기반 출입 시스템 '워크스루'

오늘은 이 얼굴인식 기술로, 세계적인 얼굴인식 챌린지인 FRVT(Face Recognition Vendor Test)에 도전해 센스타임 등 유수의 글로벌 기업을 제치고, 1:1 챌린지에 이어 1:N 챌린지까지 연속하여 1위 성과를 거둔 이야기를 소개해드리려 합니다. 2년 전 이맘때쯤에도 FRVT 1:1 검증 챌린지 참가 스토리를 전해드렸는데요. 그때 향후 연구 계획으로 “모든 부문에서의 상위권 진출을 목표로 자사 얼굴 인식 알고리즘 성능을 높인다는 계획"을 언급한 기억이 새록새록 납니다. 그리고 2년이 흐른 지금, 1:1 검증 챌린지에서 키오스크 부문 1위를 포함해 총 3개 부문에서 상위 5위 안에 들게 되었습니다! 그뿐만 아니라 1:N 챌린지에서도 키오스크 부문 1위를 포함해 총 5개 부문에서 상위 10위 안에 드는 우수한 성적을 거두었는데요. 오늘 포스팅에서는 저희 팀의 2년간의 여정과 함께 1위를 달성하게 된 소감까지 간략하게 이야기하려 합니다.

 

FRVT 챌린지 소개

FRVT 챌린지는 미국국립표준기술연구소(NIST)가 주관하는 얼굴 인식 알고리즘 평가 대회로, 얼굴 정보 대조를 통한 출입국 심사, 여권 불법 복제 탐지와 같은 민간이나 사법, 국가 보안 영역에서 활용되는 자동화된 얼굴 인식 알고리즘의 성능을 측정하는 대회입니다. 대회 참가자는 검증(1:1 매칭), 식별(1:N 매칭), 모프(MORPH), 품질(Quality) 총 4개의 경쟁 주제 중 원하는 분야를 선택해 참가할 수 있습니다. 모프, 품질과 관련된 자세한 내용은 앞서 소개드린 FRVT 1:1 검증 챌린지 참가 스토리에서 확인하실 수 있습니다.

 

① 1:1 검증 챌린지

AI Lab & Service에서 참가한 1:1 검증 챌린지와 1:N 식별 챌린지에 대해 더 자세히 설명해보겠습니다. 우선 1:1 검증 챌린지의 경우 총 6가지 분야가 있으며 세부 분야는 각각 Kiosk, Border, VISA Border, Mugshot, VISA, Wild가 있습니다. 각 분야에 대해 세부적으로 살펴보면 먼저 Kiosk는 우리가 흔히 사용하는 ATM기 같은 키오스크에서 촬영된 사진입니다. Visa부터는 아래 NIST에서 제공하는 예시 이미지를 보시면 이해가 빠르실 것 같은데요. Visa는 표현 그대로 정면을 향해 있는 비자 발급 사진, Mugshot은 범인 식별용 상반신 사진, Wild는 실생활 환경에서 촬영된 일반 얼굴 사진 데이터를 다룹니다. Border는 공항 출입국 심사대 앞에서 촬영된 사진을 다루는데요. 얼굴이 아래쪽으로 많이 향한 사진 데이터를 처리하다보니, 얼굴 위치 및 각도, 배경 조명, 거리에 따라 얼굴 왜곡 및 소실이 있을 수 있습니다. 마지막으로 VISA Border는 공항 출입국 심사대 앞에서 촬영된 라이브 사진과 정면에서 촬영된 사진 데이터를 비교하는 분야입니다.

[그림 2] FRVT 샘플이미지 (출처: NIST 보고서)

② 1:N 검증 챌린지

1:N 챌린지의 경우, 우리가 일반적으로 생각하는 얼굴 인식처럼 사진첩에 수십만, 수백만 명의 얼굴을 등록해놓고 등록된 이미지 중에서 입력 이미지와 일치하는 이미지를 얼마나 잘 찾는지 측정하는 과제입니다. 1:N 챌린지에는 Identification(식별)과 Investigation(조사) 두 가지 종류의 계산 방식이 있습니다. Identification(식별)은 0 이상의 Threshold(임계값)를 기준값으로 설정해 입력값이 기준값보다 가까우면 인식한 결과를 알려주고, 기준값보다 멀면 DB에 등록되지 않은 사람이라고 판단합니다. 쉽게 말하자면 앞서 그림1과 같은 출입시스템 상에서 등록된 얼굴 DB와 기기 앞 사람의 얼굴을 매칭하여 출입여부를 결정짓는 과정과 비슷합니다. 참고로 카카오엔터프라이즈가 사용하는 워크스루에 대해 궁금하시다면 카카오엔터프라이즈 탐방기! 포스팅에서 보다 자세히 확인하실 수 있습니다.

 

Investigation(조사)은 임계값에 상관없이 입력 이미지와 가장 유사하다고 추정되는 얼굴을 추출합니다. 전체 쿼리 이미지 중에서 실제 입력 이미지와 추출된 얼굴이 몇 번이나 불일치하는지 FPIR(False Positive Identification Rate) 수치로 표현합니다. 이때의 FPIR 수치는 낮을수록 성능이 좋다는 것을 의미합니다.

[그림 3] FRVT 1:N 평가메트릭 (출처: NIST 보고서)

 

그동안의 도전 과정

① 데이터 정제

딥러닝 모델에서 데이터는 그 모델의 성능을 결정지을 정도로 큰 역할을 하는데요. 다량의 데이터셋을 수급하는 것도 어려울 뿐더러, 이 데이터를 학습할 수 있는 형태로 만드는 것 또한 쉽지 않고 오랜 시간이 걸립니다. 수집하거나 구매한 데이터가 모델이 학습하기에 완벽한 상태가 아니고, 기존의 데이터와 겹칠 수도 있기 때문에 데이터 정제 과정이 필요하기 때문인데요. 저희는 아래와 같은 데이터 정제 과정을 통해 고품질의 데이터셋을 확보할 수 있었습니다.

먼저 각 인물별로 데이터가 구분되어 있으나 잘못된 이미지가 해당 인물 데이터에 있을 수 있기 때문에 클러스터링 기술을 사용하여 잘못된 이미지를 삭제하였습니다. 또한, 인물이 잘못 구분되어 중복된 인물이 있을 수 있기 때문에 학습된 모델의 결과물을 보고 두 인물이 얼마나 가까운지에 따라 하나로 합칠지 그냥 놔둘지를 판단하였습니다. 이러한 데이터 정제 과정으로 얼굴 인식 모델의 성능을 높일 수 있었습니다.

 

② 모델 크기

데이터 외에도, 모델 크기 자체를 키우는 시도를 하였습니다. 기존에는 Test Time Augmentation(TTA)을 사용하였으나, 이번에는 TTA가 아닌 모델의 크기를 키워 1.5초 이내에 추론할 수 있는 모델을 사용하였습니다. 성능 측정 과정에서 좌우 반전으로 두 번의 추론을 하여 하나의 정보를 만드는 것보다 좀 더 큰 모델로 한 번의 추론 과정을 거치는 것이 더 좋았습니다.

 

③ 지식증류 기법 활용

이밖에도 지식증류(Knowledge Distilliation) 기법을 활용하였습니다. 이 방법론은 경량화된 작은 모델(Student model)이 이미 잘 학습된 거대 모델(Teacher model)을 바탕으로 학습을 진행해, 그에 버금가는 우수한 성능을 내고자 한다는 점이 특징입니다. 이 기법은 보다 효율적인 딥러닝 학습을 위해 기존 딥러닝 모델이 가지는 컴퓨팅 리소스과 메모리의 한계, 긴 추론시간 등의 문제를 해결하고자 제시된 방법입니다.

저희는 이 기법을 활용해 먼저 대회에서 요구하는 제한된 모델 크기보다 더 큰 모델을 만들고, 이를 토대로 작은 모델을 학습시켜 큰 모델의 성능을 유지하면서도 더욱 빠르게 데이터 처리가 가능한 모델을 만들어 제출하였습니다.

 

마침내 달성한 키오스크 부문 1위!

FRVT 챌린지는 하나의 모델을 제출하면 그 모델이 각기 다른 데이터셋에 적용되어 분야별 성적이 나오는 시스템입니다. 카카오엔터프라이즈는 지난 6월 FRVT 1:1 챌린지에 8번째 모델을 제출하였고, 전 분야 모두 고르게 분포한 성적을 기록했습니다. 한 달 뒤, 1:N 챌린지에도 모델을 제출했는데요. 이때의 1:N 챌린지는 두 번째 제출이었습니다.

 

FRVT 챌린지를 시작한 지 3년여만에 1:1 챌린지와 1:N 조사 챌린지(Investigation Performance)에서 모두 키오스크 부문 1등을 차지하였습니다. 특히 키오스크 부문의 경우, 사진에 찍힌 위치와 조명에 따라 인물의 얼굴이 크게 달라보이고, 심지어 얼굴의 일부만 촬영되는 경우도 있어 이미지 식별에 더욱 큰 어려움이 있는데요. 이러한 키오스크 부문에서 1위를 거둘 수 있어 더욱 의미있는 결과라고 생각합니다.

[그림 4] FRVT 1:1 Performance Summary : Kiosk 부문 1위
[그림 5] FRVT 1:N Investigation Performance Summary : Visa-Kiosk 부문 1위
[그림 6] FRVT 1:N Identification Performance Summary : Visa-Kiosk 부문 4위

 

마치며

얼굴 인식은 Computer Vision 분야에서도 상당히 오래된 주제입니다. 오래된 만큼 많이 연구가 된 주제이지만, 딥러닝 시대와 더불어 한 단계 더 성장하게 된 분야 중의 하나입니다. 최근에는 빅모델 시대에 발맞춰 얼굴 인식 모델 또한 그 크기가 점점 커지고 있습니다. 이에 따라 모델을 학습하기 위한 빅데이터와 인프라도 더욱 많이 필요해지고 있는데요. 카카오엔터프라이즈는 얼굴인식 분야에서 다년간 축적한 경험과 인프라를 바탕으로 앞으로도 꾸준히 기술 고도화를 나아갈 계획입니다.

 

사실 열심히 연구해도 얼굴 인식 모델의 성능이 더이상 좋아지지 않으면 때로는 그만하고 싶은 마음이 들기도 합니다. 하지만 도전을 멈추지 않고 축적의 시간을 거쳐 1등을 이루어냈을 때는 우리의 시간이 헛되지 않았다고 느낍니다. 저희는 이번 결과를 기반으로 얼굴 인식 모델을 더욱 고도화하여 출입시스템은 물론, 스마트 CCTV, 지능형 관제시스템 등 다양한 형태의 서비스로 이를 연결해 더 많은 사람에게 안전하고 편리한 환경을 제공하고자 합니다. 얼굴 인식 기술을 선도해나갈 카카오엔터프라이즈의 행보에 많은 기대와 관심 부탁드립니다. 감사합니다.

 

Isaac(신종주)

카카오엔터프라이즈에서 Vision Intelligence 팀장을 맡고 있습니다. Computer Vision 기술이 우리의 생활을 편하게 있도록 열심히 연구하고 서비스화하고 있습니다.