1. 서 론
나이 예측 및 성별 분류 연구는 광고 추천, 휴먼- 컴퓨터 인터랙션(HMI), 영상감시, 광고 효과 측정 등의 많은 유용한 응용을 갖는다[1, 2, 3].실제 신체 나이는 겉보기 나이와는 종종 다르므로, 얼굴 이미지로부터 신체 나이를 추정하는 것은 컴퓨터뿐만 아니라 사람에게도 도전적인 이슈이다.성별 분류는 나이 예측에 비해 덜 어려운 작업이다.성별 분류에서 분류클래스는 단 2개(남성 또는 여성)인 반면, 예측 나이 범위는 0에서 100이상까지 이기 때문이다. 따라서많은 나이 예측 연구에서는 정확한 나이 예측보다는 나이 그룹 (예;10~19, 20~29등)예측을 하기도 한다.
현재의 이미지 기반 성별 분류 및 나이 예측은 딥러닝 기반 연구가 가장 활발히 연구되고 있다. 이러한 연구들[1, 2]은 많은 경우에 정확도 성능 개선에 치중하여 많은 특징을 학습하도록 네트워크 모델이 설계되어 훈련 및 추론에 계산 량이 많다.고객 맞춤형 광고 표출, 광고 효과 측정 등에서는 시청자의 성별 및 나이 예측 정보 둘 다 필요하다.그러나, 성별 분류 및 나이 예측 작업이 동시에 수행되도록 하는 네트워크 모델에 관한 연구는 충분하지 않다. 이러한기존 연구로부터 성별 분류 및 나이 예측 작업을 구현하여 수행하는 것은 CPU처리 속도 및 메모리 용량에 한계를 갖는 저가 내장형 시스템이나 모바일시스템 등에서 실시간으로 동작하게 하기가 쉽지 않다. 따라서 각 작업(성별 분류, 나이 예측)이 따로 수행되지 않고 동시에 수행될 수 있도록 할 필요가 있으며, 성별 분류 및 나이 예측이 모두 얼굴 이미지의 특징 벡터들에 기반을 두기 때문에 얼굴 이미지 특징추출 작업 처리 네트워크 계층을 공유하도록 하여, 전체 계산량을 줄일 필요가 있다.또한, 수행 네트워크 모델의 경량화가 필요하다.한편 속도 성능의 개선이 정확도 성능의 희생하에 이루어지면 곤란하기 때문에, 정확도 성능의 열화도 가능한 한 줄이도록 하여야 한다.
본 논문에서는 멀티태스킹 및 앙상블을 이용한 경량화 딥러닝 기반 성별 분류 및 나이 예측 방법을 제안한다.제안된 방법은 정확도 성능을 저하시키지않으면서 저가 내장 시스템이나 모바일 기기에서도 실시간 수행을 지원한다.
본 논문에서는 먼저 성별 분류 및 나이 예측이 동시에 효과적으로 학습되도록 멀티태스킹 학습 기법 [4]을 활용하였다.멀티태스킹 학습은 여러 개 태스크에 공통으로 적용되는 특징 벡터 추출은 공유하며, 작업별 특정적인 특징 벡터 추가 추출 및 추출된 특징 벡터를 기반으로 각 작업의 최종 결정을 처리하도록 시스템을 설계하여 학습하고 추론하는 기법이다. 이러한 아이디어에 따라, 본 논문의 제안 방법에서는 성별 분류 및 나이 예측 네트워크 모델을 성별 분류 및 나이 예측에 공통인 특징 벡터 추출 계층들은 공유하도록 하며, 작업(성별 분류, 나이 예측)별로 특징적인 특징 벡터 추출 계층, 분류/예측 계층 등은 별도의 분기를 갖도록 설계하였다.입력 이미지 사이즈를 64×64의 작은 크기를 사용하여도 성별 분류 및 나이예측에 필요한 특징 벡터를 충분히 추출할 수 있게 특징 벡터 추출 계층의 깊이가 충분하도록 네트워크모델을 설계·구성하였고, 네트워크 모델의 경량화를 위하여 특징 추출을 위한 계층에서의 컨볼루션을 계산 량이 적은 깊이 기반 가분 컨볼루션(depthwise seperable convolution)[5]으로 구현하였다. 경량화로 인해 속도 성능은 개선되나, 정확도 성능은 저하될 수 있다.정확도 성능 저하를 개선하기 위해, 앙상블 학습 기법을 적용하였다.기계 학습에서 앙상블 학습법(ensemble learningmethod)은 학습 알고리즘들을 따로 쓰는 경우에 비해 더 좋은 예측 성능을 얻기 위해 다수의 학습 알고리즘을 사용하고 이 결과를 통합하여 결론을 도출하는 방법이다[6].
다양한, 잘 알려진 데이터세트에 대한 실험들을 통해, 제안된 방법은 현재까지의 최상 성별 분류 및 나이 예측 방법들과 비견하는 정확도를 보이면서 경량화되어 NVIDIAJetsonNano와 같은 내장형 시스템에서 실시간(평균 14fps)으로 실행됨을 확인하였다.
본 논문의 구성은 다음과 같다.2장에서 본 논문의 기본 이론이 되는 배경 이론과 관련 연구가 기술되며, 3장에서는 제안하는 경량 앙상블 딥러닝 멀티태스킹 기반 성별 분류 및 나이 예측 시스템이 설명된다. 그리고 4장에서는 3장에서 제안한 경량 앙상블 딥러닝 멀티태스킹 기반 성별 분류 및 나이 예측 시스템의 네트워크 모델로 다양한 데이터세트에 대해 실험하고, 이를 기존 최상 연구 결과들과 비교한 결과가 설명된다.마지막으로 5장에서 결론을 맺는다.
2. 배경 이론 및 관련 연구
2.1 배경 이론
2.1.1깊이 기반 가분 컨볼루션(depthwiseseparable convolution) [5]
[5]에서는 모바일 기기에서도 실시간으로 동작할 수 있는 딥러닝 네트워크를 위해 표준 컨볼루션의연산량을 줄일 수 있는 깊이 기반 가분 컨볼루션을도입하였다. 여기서는 이를 간단히 소개한다.
깊이 기반 가분 컨볼루션은 커널 필터를 2개 독립 커널 필터(깊이 기반 컨볼루션 필터 및 포인트 기반컨볼루션 필터)로 분리하고 각 커널별로 따로 컨볼루션 한다.
표준 컨볼루션의 경우, 입력 데이터의 사이즈가 DF×DF×M이며, 커널(필터)사이즈가 DK×DK×M 이고 커널 필터의 개수가 N인 경우에, 전체 곱셈 연산의 개수는 DK2×DK2×M×N 이 된다. 반면에, 깊이 기반 가분 컨볼루션은 표준 컨볼루션이 깊이 기반컨볼루션과 포인트 기반 컨볼루션으로 분리되어 계산된다.
이때, 연산량은 깊이 기반 컨볼루션의 연산량 DF×DF×M×DK×DK과 포인트 기반 컨볼루션의 연산량 M×N×DF×DF로, 총연산량은 DF×DF×M×DK×DK+M×N×DF×DF=DF2×M×DK2+M×N×DF2=DF2×M×(DK2+N)
따라서,\(\frac{D_{F}^{2} \times M \times\left(D_{K}^{2}+N\right)}{D_{F}^{2} \times D_{K}^{2} \times M \times N}=\frac{D_{K}^{2}+N}{D_{K}^{2} \times N}\)으로 계산량 은 깊이 기반 가분 컨볼루션이 표준 컨볼루션보다 \(\frac{D_{K}^{2}+N}{D_{K}^{2} \times N}=\frac{1}{N}+\frac{1}{D_{K}^{2}}\)만큼 줄어든다. MobileNet[5]의 경우에, 3×3깊이 기반 가분 컨볼루션 (즉, DF=3)을 사용하여 정확도 성능은 별 차이가 없으면서 8~9배 계산량이 줄어든다.
2.1.2 멀티태스킹
멀티태스킹 학습은 여러 작업(태스크)을 동시에 학습하는 기술이다[4]. [7]은 모든 작업이 공유하는 네트워크 은닉 계층과 각 작업에 특정적인 네트워크계층을 갖는 멀티태스킹 일반적 구조를 설명하고 모든 작업이 공통으로 훈련하는 공유 은닉 계층으로 인하여 각 작업에서 학습된 내용은 다른 작업이 더 잘 학습하도록 도와준다는 것을 보여주었다.
멀티태스킹 학습은 인간의 학습에서 영감을 받았는데, 예를 들어 피아노 연주를 공부한 사람은 또한 음악 음표와 코드에 대한 지식을 사용하여 기타를 연주하는 방법을 어렵지 않게 학습할 수 있다. 따라서 멀티태스킹 신경망에서 멀티태스킹 수행을 학습할 때, 이들 멀티 태스크들이 서로 공통 관계를 맺고 있어야 제대로 상호 학습이 이루어진다. 멀티태스킹신경망의 특징 추출 계층은 더 많은 정보를 학습할 수 있다.나이 예측과 성별 분류를 동시에 하는 경우, 얼굴 이미지에서 추출한 특징은 나이 예측 및 성별 분류 모두에 활용될 수 있다.
2.2 관련 연구
나이 예측 작업은 나잇값의 경우 수가 많으므로성별 분류 작업보다 복잡하다.이러한 이유로 나이예측에 더 많은 연구와 이러한 연구에 의한 많은 방법이 제안되었다[1].현재 딥러닝 기반 방법이 성능이 우수한 편이어서, 딥러닝 기반에 의한 성별 분류 및 나이 예측 연구가 활발하다[2].따라서, 본 논문의 관련 연구도 최신의 딥러닝 CNN(Convolutional NeuralNetwork)기반 성별 분류 및 나이 예측 방법들에 대해서만 살펴본다.
DEX[8]과 MV[9]는 VGG-16[10]아키텍처를 이용한 다중 클래스 분류 결과를 회귀 문제로 변환하여 나이 예측 작업을 수행한다.ARN[11]은 회귀 네트워크 설계 기반 위에 나이 예측을 회귀 문제로 접근하였다. AgeNet[12]은 나이 예측 문제를 그룹 분류 문제로 접근하고, 학습 및 추론 네트워크로 자체 CNN 을 설계하였다. [13]은 입력 이미지에서 특징을 추출하는 CNN과 중간 결과를 추정 또는 분류하는 ELM (ExtremeLearningMachine)을 포함하는 하이브리드 구조를 도입하여 더욱 효과적인 나이 예측 및 성별 분류 처리를 구현하였다.최근 RankingCNN[14] 및 DLDL(Deep Label Distribution Learning) [15] 기술은 나이 예측에서 매우 좋은 성능을 보인다. 순위 방법[14]은 나이 예측을 훈련 단계에서 나이 예측을 일련의 이진 분류 문제로 변환하여, 그 결과를 집계하여 나이 예측을 수행한다.DLDL방법[15]은 먼저 실제 나이를 이산 나이 분포로 변환한 후에, 훈련 시에 전체 분포를 맞추는 것이다.추론 단계에서 예측 분포에 대한 기댓값을 최종 출력으로 간주하여 결과를 생성한다.이때 사용된 네트워크 모델은 VGG- 016을 경량화한 것이다. [16]은 [15]의 네트워크 모델을 더 경량화한 것이다.
[17]은 전통적 회귀 방법, 분류, 랭킹 방법 뿐만 아니라 개별 LDL기반 나이 예측 방법들을 통합할 수 있는 일반화 구조에 기반하여 조명, 자세, 표현에 따라 달라지는 얼굴 외모에 대해서 강인한 새로운 심화 조건 분포 학습 방법 기반 나이 예측 방법을 제안하였다.
모바일 기기, 내장형 시스템 또는 저가 장치에서 수행될 수 있도록 모델 크기를 줄이는 경량화 기법인 깊이 기반 가분 컨볼루션(depthwiseseparablecon- volution), 밀도 컨볼루션(denseconvolution), 그룹컨볼루션(GroupedConvolution)등을 각각 이용한, MobileNet[5], DenseNet[18], ShuffleNetV2 [19], SSR-Net[20]과 같은 많은 경량 CNN 성별 분류/나이 예측 방법들이 제안되어 있다. [21]에서는 혼합어 텐션 지원 경량 CNN인 ShuffleNetV 2 기반으로 하는 나이 예측 방법을 제안하였다.SSR-Net[19]은 Soft-Stagewise회귀 네트워크를 사용하여 매우 컴팩트하며, 경쟁력 있는 결과를 제시하였다.
이들 네트워크 모델 가운데, 같은 네트워크 모델을 나이 예측 또는 성별 분류에 활용할 수 있도록 설계되어 있지만, 성별 분류와 나이 예측을 동시에 수행하는 것을 지원하는 것은 없다.멀티태스킹 기법을 활용하여 성별 분류와 나이 예측을 동시에 수행하는 아이디어는 [21]에서 시작되었다. [22]는 조건부 다중 작업 학습을 사용하여 나이와 성별을 모두 예측하는 CMT모델을 제안하였다.이 연구는 성별 특징이 나이 예측 작업에도 정말 유용하다는 것을 보였다. [23]은 성별 분류 및 나이 예측을 동시에 수행할 수 있는 compactCNN모델을 제안하였다. [24] 는깊이 기반 가분 컨볼루션을 이용하여 모델 사이즈를 줄이고, 성별분류와 나이 예측을 동시에 할 수 있는 LMTCNN모델을 제안하였다. [25]는 나이 예측을 위해 분류와 회귀를 결합한 간단하지만 효과적인 MTL(다중태스크 학습)네트워크인 CR-MTnet를제안했다. 나이 예측에 있어서, 앙상블 기법의 도입은 [26]에서 볼 수있다. [25]는 나이 예측을 나이 그룹 분류로 접근하고 3개의 약 분류기의 앙상블 학습을 통해 나이 예측을 제공하는 CMT모델을 제안했다. [27]은 손실함수를 4개 분류 손실함수 및 1개 회귀 손실 함수를 결합한 ‘Age-Granularity-Net’을 제안하고 나이 예측 방법을 개선하였다.
3. 제안 경량 앙상블 딥러닝 멀티태스킹 기반 성별분류 및 나이 예측 시스템
3.1 제안 멀티태스킹 및 앙상블 기반 딥러닝 네트워크 모델 설계
본 논문에서 제안하는 얼굴의 성별 분류, 나이별 예측을 동시에 수행하는 멀티태스킹 앙상블 딥러닝 네트워크 모델이 Fig.1에 나타나 있다. Fig.1에서컨볼루션은 표준 컨볼루션이 아니고 앞에서 설명한 깊이 기반 가분 컨볼루션을 이용한다.
제안하는 딥러닝 네트워크 모델은 구조적으로 크게, 1)시작단계;얼굴 이미지 특징 벡터 추출, 2) 중간단계;성별 분류 특정적 특징 벡터 및 나이 예측 특정적 특징 벡터 추출, 3)최종단계;성별 분류 및 나이예측 판별의 3단계로 구성된다.
네트워크의 시작단계는 얼굴 이미지에서 얼굴 특징 벡터를 추출하기 위한 것으로 배치 정규화 및 Leaky-Relu활성화를 갖는 3개의 컨볼루션 계층 분기(branch)로 구성된다.각 분기는 각기 다른 타입의컨볼루션 계층(8X8, 2X2, 1X1)을 활용하여 각기 다른 타입의 얼굴 특징 벡터를 추출한다.추출된 각기 다른 특징 벡터들을 이어 붙어서(concatenate), 다음 중간 단계로 전달되고 이 중간단계에서는 성별 특징 벡터 추출(1번째 분기)및 나이별 특징 벡터를 추출 (2번째 분기)하도록, 2개 분기를 갖도록 구성되었다. 2번째 분기는 나이 예측이 성별 분류 보다 더 어려운 태스크이기 때문에 더 많은 컨볼루션 계층을 갖도록 설계되었다.제안 네트워크 최종단계는 시작단계 및 중간단계 계층에서 추출된 특징 정보를 바탕으로 특정 태스크(성별 분류 또는 나이 예측)를 효과적으로 수행할 수 있는 유용한 고급 특징 정보를 합성하고 각 특정 태스크를 수행한다.이 최종단계는 성능 개선을 위해 앙상블 기법이 도입되어, 3가지 분기의 결과값이 종합되어 판단되도록 설계되었다.이 3가지 분기는 1)메인 분기(outgender1, outage 1);중간단계에서 추출한 성별 분류 특징 정보 및 나이 예측특징 정보를 모두 이용한 분기, 2) 보조 분기(out gender2, outage2) ;중간 단계에서 추출한 성별 분류 특징 정보 및 나이 예측 특징 정보를 각기 따로 이용한 분기, 3)앙상블 분기(outgender3, outage3) ;시작단계에서 추출한 얼굴 이미지 공통 특징 정보만을 이용. 보조 분기는 메인 분기만의 훈련시에 발생할 수 있는 기울기 소멸(vanishinggradient) 문제를 완화하고 학습을 좀 더 촉진시키기 위해 고안된 설계 구조이며, 앙상블 분기는 앙상블 구성요소를 메인 분기, 보조 분기의 2개에서 1개를 더 늘려 앙상블 학습 효과를 증진시키기 위해 고안되었다.당초 메인 분기 하나로만의 멀티태스킹 네트워크만을 고려하였는 데, 실험을 통해 보조분기 및 앙상블 분기들은 앙상블 기법 적용으로 정확도 성능 개선을 위한 유용성이 발견되어 추가적으로 설계된 것들이다. 추가된분기들의 계산량 증가에도 불구하고 임베디드 시스템에서 실시간으로 수행되도록 하기 위해, 각 단계계층의 컨볼루션 연산을 깊이 기반 가분 컨볼루션을도입하여 경량화시켰다.또한 입력 이미지는 연산 횟수를 줄이기 위해 작은 크기(64×64×3)로 하였다.
3.2 손실함수
Fig.1의 제안 멀티태스킹 앙상블 네트워크 모델에서, 성별 분류에 대한 출력 3개 각각에 대한 성별 분류 손실함수는 다음과 같은 이진 교차 엔트로피 손실함수를 채택하였다.
Fig. 1. The proposed Method for gender classification and age estimation based on multi-tasking and ensemble.
\(L_{\text {gender }}(\hat{y}, y)=-\frac{1}{N} \sum_{i=1}^{N}\left[y_{i} \log \hat{y}_{i}+\left(1-y_{i}\right) \log \left(1-\hat{y}_{i}\right)\right]\) (1)
여기서, _N은 총 훈련 샘플 얼굴 이미지 수이며, yi는 i번째 샘플 얼굴 이미지의 성별 라벨(ground truth;1이면, 여자, 0이면 남자)이며, \(\hat{y_{i}}\)는 i번째 샘플 이미지의 성별 분류 확률 \(\widehat{y_{i}}=p\left(y_{i}\right)\)로 각 성별 판별출력의 값이다.
나이 예측에 대한 출력 3개 각각에 대한 손실함수는 다음과 같이 MAE( MaximumAbsoluteError)를채택하였다.
\(L_{\text {age }}(\hat{y}, y)=-\frac{1}{N} \sum_{i=1}^{N}\left|y_{i}-\hat{y_{i}}\right|\) (2)
여기서, yi는 i번째 샘플 얼굴이미지의 나이의 참값(Ground Truth) 값이며, \(\hat{y_{i}}\)는 나이 예측값이다. 이제, 본 논문의 멀티태스킹 네트워크의 최종 손실 함수는 다음과 같이 정의된다.
\(\begin{aligned} \text { total loss }=& \frac{10}{18}\left(L_{\text {gender } 1}(\hat{\mathrm{y}}-\mathrm{y})+\mathrm{L}_{\text {agel }}(\hat{\mathrm{y}}, \mathrm{y})\right) \\ &+\frac{3}{18}\left(\mathrm{~L}_{\text {gender } 2}(\hat{\mathrm{y}}-\mathrm{y})+\mathrm{L}_{\text {age } 2}(\hat{\mathrm{y}}, \mathrm{y})\right) \\ &+\frac{5}{18}\left(L_{\text {aendera }}(\hat{\mathrm{y}}-\mathrm{y})+\mathrm{L}_{\text {apes }}(\hat{\mathrm{y}}, \mathrm{y})\right) \end{aligned}\) (3)
메인 분기 출력 손실함수가 가장 중요하여 가중치를 \(\frac{10}{18}\)로, 보조 분기 출력의 경우는 가중치를 \(\frac{3}{18}\)으로, 앙상블 분기의 출력 가중치는 \(\frac{5}{18}\)로 하였다. 이러 한 가중치는 메인 실험을 통해 얻어졌다.
3.3 성별 분류 판별 및 나이 예측 판별
Fig.1의 앙상블 멀티태스킹 네트워크 모델에 따른 성별 분류 판별과 나이 예측은 각각 식(4)와 (5)로 표현되다.
\(\begin{aligned} &\text { If }\left(\frac{10}{18} \times \text { outgender } 1+\frac{3}{18} \times \text { outgender } 2+\frac{5}{18}\right. \\ &\quad \times \text { outgender3 }) \geq \frac{1}{2}, \text { then female, } \\ &\text { Otherwise, male } \end{aligned}\) (4)
Estimated age=(\(\frac{10}{18}\)×outage1 +\(\frac{3}{18}\)×outage2 +\(\frac{5}{18}\)×outage) (5)
4. 실 험
4.1 데이터세트
MORPH-II [28]는 나이 및 성별 정보가 포함된 13, 617명 사람의 55, 134개의 컬러 이미지(사람당 평균 4장 이미지)를 포함하는 실제 성별 및 나이별 추정을 위한 대규모 데이터세트이다.
Fig. 2. Sample Images of MORPH-II dataset.
Table 1. Race distribution of MORPH-II dataset.
MORPH-II 데이터세트의 나이는 16세에서 77세이며, 인종 분포는 다음과 같다.
FG-NET[29]데이터세트에는 82명의 1002장 이미지가 포함되어 있다. 나이 정보만 제공된다.
Fig. 3. Sample Images of FG-NET dataset.
MegaAge-Asian 데이터세트[30]는 가장 큰 아시아인용 얼굴 데이터세트로 약 44, 000개 얼굴 이미지가 포함되어 있다.그러나 이 데이터세트는 나이 정보만 제공한다.그러므로, 이 데이터세트에 대한 성별 정보에 주석을 달아야 한다.이를 위하여, 우리는 또 다른 아시안 데이터세트인 AAF[31]에 4개의 잘 알려진 이미지 인식(성별 인식)모델을 훈련시켜, 이 훈련된 모델을 이용하여 Mega Age-Asian데이터세트의 남녀 성별 주석을 수행하였다.사용된 4개의 이미지 인식 네트워크 모델은 Inceptionv3, Xception, Resnet50및 Densenet201이며, 이들 4개 이미지 인식 네트워크 모델의 결과가 모두 같은 경우에만 이를 그라운드 트루스(groundtruth)로 주석(레이블링)하였다. 얼굴 이미지의 신체 나이 범위는 0살에서 69살 사이이다.
IMDB-WIKI 데이터세트[32]는 IMDb 데이터 세트로부터 460, 723개의 얼굴 이미지와 Wikipedia으로부터 수집된 62, 328개의 얼굴 이미지 등 총 523, 051장의 이미지를 포함한다.본 논문에서는 실험을 위해 IMDB-WIKI데이터세트에서 성별 라벨이 없는 이미지, 얼굴이 없는 이미지, 2개 이상의 얼굴이 포함된 이미지 등은 제거하였으며, 본 논문의 실험에서 사용한 최종적인 IMDB-WIKI데이터세트는 IMDb 데이터 세트에서 144, 059개의 이미지와 WIKI 데이터 세트에서 33, 963개의 이미지를 포함한다.
Fig. 4. Sample Images of MegaAge-Asian dataset.
Fig. 5. Sample Images of IMDB-WIKI dataset.
4.2 실험 환경
본 논문의 실험에서 사용한 컴퓨팅 기기는 PC와 내장 보드인 JestsonNano[33]이다.그 사양은 다음과 같다.
PC; Intel(R)Core(TM) i5-8400CPU@2.80GHz (6CPUs), ~2.8GHz, 16GBRAM, Windows 10 Pro 64-bit
Jetson Nano 내장 보드 [32]; Quad-core ARM A57@1.43GHz, 128-coreMaxwellGPU, 4GB, Ubuntu 18.04
4.3 평가 실험 방법
본 논문에서는 MORPH-II, FG-NET, MegaAge- Asian및 IMDB-WIKI데이터세트들에 대하여 제안 방법을 평가하고 그 평가 성능을 해당 데이터 세트에 대해 실험 결과가 문헌에서 보고된 현재까지의 최상의 성별 분류, 나이별 추정 방법들과 비교하였다.
성별 분류 성능 평가 지표로 정확도(Accuarcy)를 사용하였다.즉, 남자(여자)사진 이미지를 남자(여자)로 판별하면 정확한 것으로 평가한다.나이별 추정 성능 평가 지표는 MAE(MeanAbsoluteError)로 하였다.MAE는 각 얼굴 사진 이미지에 대해 실제 나이와 예측 나이 차를 계산하고 이를 평가 사진 이미지들에 대해서 평균을 계산한 것이다.
MORPH-II데이터세트의 경우에 K-폴드 교차 검증을 사용하여 평가하였다.k=5인 경우 데이터 세트를 5개 부분으로 나누고, 훈련에 4개 부분을 사용하고 테스트에 나머지 1개 부분을 사용하며 이 과정을 5회 반복했으며 최종 결과는 이들의 평균이다.FG- NET은 82명의 1002장 이미지만 포함하는 작은 데이터 세트이다.보통 이전 연구에서는 LOPO(Leave- One-Person)를 사용하여 그 결과를 평가한다.이 방법은 81명의 얼굴 이미지 데이터를 사용하여 모델을 훈련하고 나머지 한 개의 얼굴 이미지 데이터를 테스트한다. 82명이 있으므로 이러한 과정을 82번 수행하고 이를 평균한다. MegaAge-Asian 데이터 세트의 경우 :데이터세트는 이미 훈련 및 테스트 부분으로 훈련용 40000장 이미지와 테스트용 3945장 이미지로 나누어져 주어 있다. IMDB-WIKI의 경우, 랜덤하게 10, 000장 이미지를 선택하여 훈련한 후에, 이후 5차례 랜덤하게 1000개의 이미지를 무작위(random)로 선택하여 성별 및 나이별 인식을 수행한 후에 평균을 계산하였다.
4.4 실험 결과 및 고찰
각 데이터세트에 대한 실험 평가 결과는 다음과 같다.
4.4.1 MORPH-II데이터세트에 대한 성능 평가
본 논문 제안 얼굴 성별 분류/나이별 추정 방법의 성능을 MORPH-II데이터세트에 대해, 성별 분류 및 나이 예측을 동시에 수행하는 방법 중 현재 최고의 성능을 보여주는 CMT[22]및 Compact CNN[23] 과 비교한 실험 결과가 다음 Table 2에 정리되었다.
Table 2에서 보면, CMT방법의 모델은 5백만 개가 넘는 파라미터 변수를 가지고 있으며 이는 본 논문 제안 얼굴 성별/나이별 추정 방법의 모델보다 50 배 더 크다.또한, 고해상도 이미지 (128x128)를 사용한다. 반면에 본 논문 제안 모델은 더 적은 매개변수로 구성되며, 더 작은 해상도 입력 이미지(64x64)를 사용하더라도 나이 예측 및 성별 분류에 대해 CMT (2.89 years/99.3%) 및 Compact CNN(3.23 years/ 98.8%) 보다 개선된 성능을 보인다.
Table 2. Performance comparison of gender classification and age estimation over MORPH-II dataset.
본 논문 제안 방법의 나이 예측 성능을 MORPH- II데이터세트에 대해, 현재 최고의 성능을 보여주는 알고리즘들과 비교한 실험 결과가 다음 Table 3에 정리되었다.
Table 3. Performance comparison of age estimation over MORPH-II dataset.
(*; indicates pretrained using the IMDB-WIKI Dataset)
(**; DCDL 은 VGG-16를 백본으로 하여 실험한 결과이며, VGG-16 은 138M 파라미터 사이즈를 갖는다.)
Table3의 결과에서 보면, 나이 예측만을 수행하는 방법 중에 본 논문 제안 방법보다 네트워크 파라미터 용량이 적으면서 정확도 성능이 더 좋은 방법은 없다.
4.4.2 FG-NET데이터세트에 대한 성능 평가
본 논문 제안 방법의 얼굴 나이 예측 성능을 FG- NET데이터세트에 대한 실험 결과를 갖는 경쟁 방법들과 비교한 성능 평가 실험 결과가 다음 Table 4에 정리되었다.
Table 4. Performance comparison of age estimation over FG-NET dataset.
DCDL+MV*[17]은 본 논문의 제안 방법보다 MAE 는 더 낮으나, 파라미터 사이즈가 1000배 이상 크다. MV[9]와 비교하여 보면, 본 논문의 제안 방법은 Morph-II데이터세트에 대해서는 MAE가 더 높으나(Table 3), Table4의 결과는 FG-NET 데이터 세트에 대해서는 더 좋은 결과를 보인다는 것을 알려준다. 또한 본 논문 제안 방법의 모델 네트워크는 Table4의 비교 방법들의 네트워크 모델들 보다 훨씬 경량화되어 있다.
4.4.3 MegaAge-Asian 데이터세트에 대한 성능 평가
MegaAge-Asian데이터세트에 대해서는 비교를 위해, 다른 연구 결과가 사용한 Cumulativeaccu- racy(CA)를 이용한다. CA는 다음과 같이 정의된다.
\(C A(n)=\frac{K_{n}}{K}\) (6)
여기서, K는 테스트 전체 이미지 개수, Kn은 절대 에러값(absoluteerror)이 n보다 작은 테스트 이미지 개수를 의미한다.
다음 Table5는 Mega Age-Asian데이터세트에대해서, 본 논문 제안 방법의 얼굴 나이 예측 성능과 다른 방법들의 나이 예측 성능을 비교한 결과이다 (값이 클수록 좋음).
Table 5. Performance comparison of age estimation over MegaAge-Asian dataset.
Table5의 결과는 본 논문의 제안 모델이 비교 대상 모델보다는 성능이 좋음을 보여준다.
4.4.4 IMDB-WIKI데이터세트에 대한 내장 시스템에서의 성능 평가
5개 시험기기(외부 기기;NVIDIAJetsonNano) 에서 데이터세트에서 1000개의 이미지를 무작위로 선택하고 (5회 반복)모델을 사용하여 각 이미지의 성별 및 나이를 예측하였다.나이 예측의 정확성은 예측값과 실제값의 차이가 ±5(년)이하이면 성공으로 간주한다.평가 결과를 Table 6에 정리되었으며, 성별 분류 성공률 95%이상, 나이 예측 성공률 80% 이상을 만족함을 보인다.또한, 처리 속도는 평균 14 fps임을 확인하였다.
Table 6. Performance of gender classification and age estimation of the proposed method over IMDB-WIKI on Jetson Nano embedded board.
IMDB-WIKI데이터세트에 대한 성별/나이 예측실험에서 성공 사례 및 실패 사례가 Fig.6, Fig.7, Fig. 8에 나타나 있다.
Fig. 6. Success cases of gender classification and age estimation of the proposed method.
Fig. 7. Failure cases of age estimation of the proposed method.
Fig. 8. Failure cases of gender classification of the proposed method.
4.4.5 실시간 웹 카메라에 대한 성능 평가
Fig.9는 현재 본 논문에서 개발된 JetsonNano에서의 본 논문 제안의 성별 분류/나이별 예측 방법을 적용한 결과이다.
Fig. 9. Jetson Nano embedded board and working image of the proposed method on Jetson Nano embedded board.
5. 결 론
본 논문에서는 딥러닝 기반의 성별 분류와 나이예측를 동시에 수행하며 신속하게 처리되면서도 좋은 정확도 성능을 내는 성별 분류 및 나이 예측 동시 수행 방법을 제안하였다.깊이 우선 가분 컨볼루션으로 네트워크 모델의 전체 연산 경량화 및 멀티태스킹학습 기법 활용으로 성별 분류 및 나이 예측 작업의 동시 수행이 신속하게 처리되도록 하였으며, 정확도 성능의 저하를 막기 위해 앙상블 기계 학습 방법을 활용하였다.
잘 알려진 다양한 데이터세트에 대한 실험을 통하여, 제안 방법이 경량화되어 JetsonNano와 같은 내장형 시스템에서도 실시간 동작(평균 14fps)을 할 수 있으며, 정확도 성능도 현재까지 발표된 최상의 성별 분류 및 나이 예측 방법들의 성능과 비견할 만큼 좋은 결과를 보임을 밝혔다.현재, 네트워크 모델의 추가 경량화 및 앙상블 학습의 최적화를 통해 더욱 가볍고 높은 정확도 성능을 내는 연구를 진행 중이다.
References
- R.A. Jules, R. Tapamo, and A.O. Adewumi, "Age Estimation via Face Images: a Survey," EURASIP Journal on Image and Video Processing, Article No. 42, pp. 1-35, 2018.
- P. Punyani, R. Gupta, and A. Kumar, "Neural Networks for Facial Age Estimation: a Survey on Recent Advances," Artificial Intelligence Review, Vol. 53, pp. 3299-3347, 2020. https://doi.org/10.1007/s10462-019-09765-w
- K. Oh, and S.-K. Kwon, "Implementation of Character Floating Hologram by Age and Gender Recognitions using Depth Images," Journal of Korea Multimedia Society, Vol. 22, No. 2, pp. 146-156, 2019. https://doi.org/10.9717/KMMS.2019.22.2.146
- S. Ruder, "An Overview of Multi-Task Learning in Deep Neural Networks," arXiv Preprint, arXiv:1706.05098, 2017.
- A.G. Howard, et al., "Mobilenets: Efficient Convolutional Neural Networks For Mobile Vision Applications," arXiv Preprint, arXiv: 1704.04861, 2017.
- R.O. Duda, P.E. Hart, and D.G. Stork, Pattern Classification, 2nd Edition, Wiley.
- R. Caruana, "Multitask Learning," Machine Learning, Vol. 28, pp. 41-75, 1997. https://doi.org/10.1023/A:1007379606734
- R. Rothe, R. Timofte, and L. Van Gool, "Dex: Deep Expectation of Apparent Age from a Single Image," Proc. IEEE Int. Conf. on Computer Vision Workshops, pp. 252-257, 2015.
- H. Pan, H. Han, S. Shan, and X. Chen, "Mean-Variance Loss for Deep Age Estimation from a Face," IEEE Conf. on Computer Vision and Pattern Recognition, pp. 5285-5294, 2018.
- K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition," arXiv P reprint, arXiv: 1409. 1556, 2015.
- E. Agustsson, R. Timofte, and L. Van Gool, "Anchored Regression Networks Applied to Age Estimation and Super Resolution," Int. Conf. on Computer Vision, pp. 1652-1661, 2017
- G. Levi and T. Hassner. "Age and Gender Classification Using Convolutional Neural NetWorks," IEEE Conf. on Computer Vision and Pattern Recognition, pp. 34-42, 2015.
- M. Duan, et al. "A Hybrid Deep Learning CNN -ELM for Age and Gender Classification," Neurocomputing, Vol. 275, pp. 448-461, 2018. https://doi.org/10.1016/j.neucom.2017.08.062
- S. Chen, C. Zhang, M. Dong, J. Le, and M. Rao, "Using Ranking-CNN for age estimation," IEEE Conf. on Computer Vision and Pattern Recognition, pp. 5183-5192, 2017.
- B.-B. Gao, H.-Y. Zhou, J. Wu, and X. Geng, ''Age Estimation Using Expectation of Label Distribution Learning," Proceedings of the 27th. International Joint Conference on Artificial Intelligence, pp. 712-718, 2018.
- O. Agbo-Ajala and S. Viriri, "A Lightweight Convolutional Neural Network for Real and Apparent Age Estimation in Unconstrained Face Images," IEEE Access, Vol. 8, pp. 162800-162808, 2020. https://doi.org/10.1109/access.2020.3022039
- H. Sun, H. Pan, H. Han, and S. Shan, "Deep Conditional Distribution Learning for Age Estimation," IEEE Transactions on Information Forensics and Security, Vol. 16, pp. 4679- 4690, 2021. https://doi.org/10.1109/TIFS.2021.3114066
- G. Huang, Z. Liu, L. Van Der Maaten, and K. Q. Weinberger, "Densely connected convolutional networks," IEEE Conf. on Computer Vision and Pattern Recognition, pp. 2261-2269, 2017.
- N. Ma, X. Zhang, H.-T. Zheng, and J. Sun, "Shuffleenet v2: Practical Guidelines for Efficient CNN Architecture Design," Proceedings of the European Conference on Computer Vision (ECCV), pp. 116-131, 2018.
- T.-Y. Yang, et al., "SSR-Net: A Compact Soft Stagewise Regression Network for Age Estimation," Int. Joint Conf. on Artificial Intelligence Organization, pp. 1078-1084, 2018.
- X. Liu, Y. Zou, H. Kuang, and X. Ma, "Face Image Age Estimation Based on Data Augmentation and Lightweight Convolutional Neural Network," Symmetry, Vol. 146, Issue 1, 146, 2020.
- B.I. Yoo, et al., "Deep Facial Age Estimation Using Conditional Multi-Task Learning with Weak Label Expansion," IEEE Signal Processing Letters, Vol. 25, No. 6, pp. 808-812, 2018. https://doi.org/10.1109/LSP.2018.2822241
- Y. Yang, et al., "Video System for Human Attribute Analysis Using Compact Convolutional Neural Network," IEEE International Conference on Image Processing (ICIP ), pp. 584-588. 2016.
- J.-H. Lee, et al., "Joint Estimation of Age and Gender from Unconstrained Face Images Using Lightweight Multi-Task CNN for Mobile AppliCations," IEEE Conference on Multimedia Information Processing and Retrieval (MIPR), pp. 162-165, 2018.
- N. Liu, F. Zhang, and F. Duan, "Facial Age Estimation Using a Multi-Task Network Combining Classification and Regression," IEEE Access, Vol. 8, pp. 92441-92451, 2020. https://doi.org/10.1109/access.2020.2994322
- N. Yu, et al., "Ensemble Learning for Facial Age Estimation within Non-Ideal Facial Imagery," IEEE Access, Vol. 7, pp. 97938-97948, 2019. https://doi.org/10.1109/access.2019.2928843
- Y. Zhou, H. Huttunen, and T. Elomaa, "Using Multiple Losses for Accurate Facial Age EstimaTion," arXiv Preprint, arXiv:2106.09393, 2021.
- K. Ricanek and T. Tesafaye, "Morph: A longitudinal image database of normal adult ageprogression," 7th Int. Conf. on Automatic Face and Gesture Recognition, 2006.
- The FG-NET Aging Database, https://yanweifu.github.io/FG_NET_data/ (accessed November 30, 2021).
- MegaAge-Asian Dataset, http://mmlab.ie.cuhk.edu.hk/projects/MegaAge/ (accessed November 30, 2021).
- J. Cheng, Y. Li, J. Wang, L. Yu, and S. Wang, "Exploiting Effective Facial Patches for Robust Gender Recognition," Tsinghua Science and Technology, Vol. 24, pp. 333-345, 2019. https://doi.org/10.26599/TST.2018.9010090
- IMDB-WIKI, https://data.vision.ee.ethz.ch/cvl/rrothe/IMDB-WIKI/ (accessed November 30, 2021).
- Jetson Nano Board, https://elinux.org/Jetson_Nano (accessed November 30, 2021).