Face age Dataset의 활용: 딥러닝이 변해가는 사람의 얼굴을 인식하는 방법
딥러닝이 변해가는 사람의 얼굴을 인식하는 방법 들어가며 대한민국에서는 매년 아동 실종 신고가 2만건 가까이 발생합니다. 다행히 신고 후 아동을 발견한 비율은 99%가 넘지만, 작년(2021년)을 기준으로 장기 실종아동으로 분류된 사례는 1,000건 가까이에 이릅니다. 그 중 663건이 실종 된지 20년 이상이 된 경우입니다.실종 문제를 해결하기 위한 노력들도 이어지고 있습니다. 경찰은 실종에 대비해 18세 미만 아동의 얼굴 사진이나 지문을 지속적으로 등록하고 있으며 작년 기준 446만명에 이르는 생체 정보 데이터베이스를 구축하고 있습니다. 이러한 데이터베이스를 바탕으로 보호시설 등의 무연고 아동과 실종 아동의 얼굴이 비슷하다 판단되는 경우를 추려 조사하는 사업들도 지속적으로 진행되고 있습니다. [10]이러한 노력에도 불구하고 여전히 실종 아동을 찾는일은 굉장히 어려운 업무입니다. 가장 큰 문제는 등록된 아동의 사진과 현재 실종 아동의 얼굴간의 차이입니다. 실종 기간동안 얼굴이 노화 하면서 많은 변화를 겪기 때문에 과거의 얼굴을 통해 현재 실종 아동을 식별하는 일은 쉽지 않습니다.그렇다면 AI는 어떨까요? 얼굴 인식 분야에서 AI는 이미 인간의 얼굴 인식 능력을 뛰어넘어 극한에 가까운 성능을 보여주고 있습니다. 이러한 초인간적인 성능을 가진 AI라면 실종 아동 문제의 실마리를 줄 수 있지 않을까요? 어쩌면 가능할 수도 있습니다. 언제나 그랬듯 데이터만 충분하다면 말이죠. 실종 아동을 찾기 위해서는 AI가 노화로 인한 얼굴 변화가 일어나더라도 얼굴 인식이 작동 가능하도록 모델을 학습시켜야 합니다. 이러한 학습들에 대한 연구 분야를 Age-Invariant Face Recognition (AIFR) 이라고 합니다. AIFR을 위해서는 인물들의 연령 별 사진이 포함된 다수의 학습 데이터셋이 반드시 필요합니다. 이러한 데이터셋을 Age 데이터셋라고 하죠. Age 데이터셋은 실종 아동 문제 뿐 아니라, 인식된 인물의 연령을 확인하거나 기존 얼굴 인식 시스템의 노화에 대한 성능을 향상시키는 등 얼굴 인식 분야 내 다양한 task에서 높은 활용성을 보입니다. 본문에서는 Age 데이터셋에 대해 알아봅니다. Age 데이터셋의 중요성에 대해 살펴보고, 공개된 Age 데이터셋들은 어떻게 구성되어 있는지, 어떤 한계를 가지고 있는지 알아보겠습니다.Age데이터셋이란?[그림 1] 나이정보를 포함하는 얼굴 데이터셋 예[12] Age데이터셋은 얼굴 데이터셋 중에서 나이정보를 포함한 데이터셋을 말합니다. 노화에 의한 얼굴인식 성능 저하를 방지하기위해 학습에 사용될 수 있으며 아래의 문제 영역 등에 사용됩니다. Age estimation주어진 얼굴 이미지로부터 나이나 나이그룹(범위)을 추정하는 문제입니다. 활용 가능한 응용으로는 술이나 담배를 판매하는 자판기나 연령제한 컨텐츠의 인증 수단이 될 수 있습니다. 일본에서는 2007년경 담배 자동판매기에 얼굴 인식 기반 인증을 도입한 적이 있습니다. 도서관에서 관심도서 추천서비스, 백화점에서 추천 상품 안내 등에도 쓰일 수 있는데, 얼굴 인식으로 나이, 성별을 추정해 추천 상품을 안내해 주는 서비스 등에 응용할 수 있습니다. 또한 범죄 용의자나 재난 피해자 등의 미확인 인물의 나이를 추정함으로 수색에 필요한 시간 및 비용을 단축시킬수도 있습니다. Age progression주어진 얼굴 이미지로부터 과거 또는 미래의 얼굴 이미지를 추정하는 문제입니다. 현재 정확한 얼굴 모습을 파악하기 힘든 실종 아동이나 특정 시점에서의 용의자의 외모를 추정하는데 사용될 수 있습니다. Age 데이터셋의 필요성AIFR을 위해서도 동일인의 나이대별 얼굴 이미지 정보를 포함하는 데이터셋이 필요합니다. 나이 정보를 포함하는 학습을 통해 모델이 노화에 더 견고하게 만들거나, 특정 나이대로 얼굴 이미지를 변환시키기 위해서는 얼굴 이미지의 노화 정보를 포함하는 대량의 데이터셋이 필요합니다. 하지만 일반적인 얼굴 인식용 데이터셋과는 다르게 나이정보를 포함하는 데이터셋은 많이 부족하고, 데이터셋의 구축 또한 많은 제약을 따르게 됩니다. 또한 AIFR은 일반적인 얼굴인식보다 난이도가 높은데, AIFR이 어려운 이유로는 1) 노화에 의한 얼굴 변화 과정은 복잡하며, 개개인에 따라 다른 특성을 보입니다. 유전적 요인, 성별, 민족성 등의 내재적 특성과 생활환경, 생활패턴 등의 외재적 요인이 작용합니다. 2) 얼굴 형태와 피부 조직이 나이에 따라 급격하게 변합니다. 어린 나이에서는 주로 골격성장에 의한 얼굴의 형태가, 성인의 경우 피부의 노화가 주로 나타납니다.3) 학습 기반의 cross-age 얼굴인식은 cross-age 데이터베이스에 높은 의존도를 보이지만, 데이터셋의 작은 규모, 동일인의 좁은 나이범위, 성별, 민족성, 나이범위의 편향으로 인해 AIFR에 많은 제약이 따릅니다. 대부분의 일반적인 얼굴인식 모델의 경우 cross-age 얼굴 인식에서 많게는 13%의 성능 저하를 보이기도 합니다. [7]Age 데이터셋앞서 설명한 것처럼, AIFR 연구를 위해서는 양질의 Age 데이터셋이 필요합니다. 이번 챕터에서는 AIFR 연구를 위한 몇가지 공개된 얼굴 인식 데이터셋에대해 알아봅니다. AgeDB [2]noise free 라벨의 나이데이터셋 구축을 위해 수동으로 구축된 in-the-wild 데이터셋입니다. 여기서 in-the-wild란 다양한 이미지의 배경, 포즈, 표정 등의 노이즈를 포함한 데이터셋을 의미합니다. Google Images에서 정확한 날짜가 기재된 이미지만으로 구축되었기에, 반자동으로 크롤링해 구축 된 데이터셋들과는 다르게 noise free age label 입니다. 568인의 배우, 작가, 과학자, 정치인 등의 유명인으로 구성된 16,488장의 이미지로 구성되어 있습니다. 평균 나이는 50.3살이며, 1살부터 101살까지의 나이범위로 구성되어 있습니다. IMDB-WIKI [3]대량의 나이 라벨링을 포함한 얼굴 이미지 데이터셋을 구축하기 위해 IMDB와 Wikipedia로부터 수집된 데이터셋입니다. IMDB에 등록된 100,000명의 배우의 프로필로부터 나이 정보와 얼굴 이미지 데이터를 크롤링해 대량의 데이터셋을 구축했습니다. 한 명의 얼굴 이미지만 포함 된 이미지를 사용해 프로필의 생일과 촬영된 시간으로부터 나이를 구했습니다. 실제로는 기재된 시간정보가 실제 사진이 촬영된 시간과 다를 수 있기에 노이즈로부터 자유롭지는 못한 데이터셋입니다. 시간정보가 없는 이미지들은 제거되어 IMDB로부터는 461,871장의 얼굴 이미지를 얻을 수 있었습니다. Wikipedia에서도 IMDB와 같은 방식으로 62,359장의 얼굴 이미지가 수집되어 총 524,230장의 나이 어노테이션이 있는 얼굴 데이터셋을 구축했습니다.CLF [4]919명의 어린이로 구성된 3,682장의 얼굴 이미지 데이터셋입니다. 2~18살 어린아이로부터 수집된 이미지이며 604명의 남자아이와 315명의 여자아이로 구성됩니다. 동일인 기준으로 최소 2년에서 최대 7년, 평균 4년의 시간 간격을 두고 수집된 이미지를 사용했습니다. 자세, 표정, 조명 등의 노이즈를 포함한 데이터셋이며 사진에서 얼굴이 차지하는 비율은 50 - 70% 입니다. postprocess 과정에서 중복은 제거되었으며, 동일인 기준으로 연도별로 1개의 이미지만을 사용합니다.[그림 2]. CLF 데이터셋 샘플AFAD [5] 16만장 이상으로 구성된 아시아인 얼굴 나이 데이터셋입니다. 다른 얼굴 데이터셋에서는 아시아인이 적게 포함되어 데이터 편향을 보이는 경우가 많은데(MORPH에서는 asian 1%), AFAD는 아시아인 얼굴 나이 데이터로만 구축되었습니다. 63,680의 여성, 100,752의 남성으로 15–40 살의 나이대로 구성됩니다. RenRen Social Network(RSN)이라는 중국의 SNS의 셀프카메라 이미지로부터 구축되어 아시아인 중에도 실제로는 중국인 얼굴 이미지가 많은 비중을 차지합니다. 계정 생성시의 생년월일 정보를 기반으로 나이를 계산했지만, 자기자신 이외의 사진을 SNS에 올리는 경우도 많으므로, 그러한 경우는 수동으로 걸러내 제거했습니다. [그림 3] AFAD 데이터셋의 나이 성별 분포 [5]DatasetImagesSubjectsNoise-free labelsIn-the-wildAgeDB16,488568ooIMDB-WIKI523,05120,284xoCLF3,682919ooAFAD164,432xo[표 1] Age 데이터셋 OverviewAge 데이터셋 구축의 어려움 위에서 살펴본 바와 같이 얼굴 나이 데이터셋 구축의 경우 웹에서 크롤링하는 기법을 많이 사용하고 있습니다. 특정 인물의 출생년도 및 이미지가 촬영된 시점을 기준으로 나이를 계산하기 때문에 유명인으로 구성된 데이터셋도 많다는 특징도 있습니다. 그리고 실제 데이터 구축을 위해 긴 시간간격을 두고 촬영을 하기는 비현실적이므로 이미 촬영해 둔 이미지를 활용하는 경우가 많으며, 동일인에 대해 넓은 나이대를 커버하는 데이터셋 또한 구축하기 어렵습니다.한국인으로만 구성된 공개된 얼굴 나이 데이터셋의 부재 또한 AIFR의 장애물 중 하나입니다. 현재 공개된 age데이터셋들은 일반적으로 동양인 비율이 타 인종에 비해 적은 편이며, 한국인 정보는 더더욱 부족합니다. 타 인종 얼굴은 동일한 인종 얼굴에 비해 인식능력이 떨어지는 인종간 얼굴인식 효과도 무시할 수 없기에 한국인으로 구축된 age데이터셋 구축 또한 필요합니다.Age데이터셋 활용 연구 소개다음으로는 Age데이터셋을 모델 학습에 활용한 몇가지 예를 살펴봅니다.(1) Discriminative approach 먼저 discriminative approach의 하나로 [1]을 살펴봅니다. 논문에서는 AIFR을 위해, identity dependent 성분과 age dependent 성분을 분해하는 방법으로 학습을 진행합니다. 개개인에 따라 다른 특성을 보이는 나이에 따른 얼굴 이미지를 두 성분으로 분해해 학습함으로 모델에 동일인의 나이정보에 의한 변화에도 변별력을 가지게 학습합니다. 제안된 네트워크는 아래와 같습니다.[그림 4] 제안된 네트워크 구조 backbone 네트워크로부터 추출된 피쳐 x = F(p) 가 x=xid+xage로 분해된다는 가정하에 매핑함수 R을 사용해 나이성분xage를R(x)로 두고 잔차방식으로 xid를 학습합니다. (Residual Mapping Function, RMF) identity dependent 성분인 xid는 나이에 불변인 개인 고유의 특성을 보여야 하지만, xid와 xage는 실제로는 서로 높은 선형상관을 같는 잠재관계(latent relationship)에 해당합니다. 따라서 학습과정에서 xid와 xage의 상관관계를 줄이기 위해 DAL(Decorrelated Adversarial Learning) 정규화 알고리즘을 제안합니다. CMM(Canonical Mapping Module)을 통해 xid, xage를 vid, vage의 정준변수로 선형변환하고 아래의 정준계수를 계산해, 상관관계를 줄이는 방향으로 학습을 진행합니다.vt = C(xt) = wtTxt =Cov(vid , vage)/Var(vid)Var(vage)0.5two-player min-max 방식으로 학습이 진행되는데, 먼저 xid, xage의 정준관계를 최대화하는 과정으로 F와 R을 고정하고 C를 학습합니다. 다음으로는 피처의 상관관계를 최소화하는 과정으로 C를 고정하고 F와 R을 학습합니다. 즉 최대 정준계수를 줄이는 방향으로 학습해xid와 xage의 상관관계를 줄이게 됩니다.LDAL = minF, RmaxC (|
- FaceAge
- Aging
- FaceAging