DOI QR코드

DOI QR Code

Compressed Ensemble of Deep Convolutional Neural Networks with Global and Local Facial Features for Improved Face Recognition

얼굴인식 성능 향상을 위한 얼굴 전역 및 지역 특징 기반 앙상블 압축 심층합성곱신경망 모델 제안

  • Yoon, Kyung Shin (Department of Computer and Electronic Systems Engineering, Hankuk University of Foreign Studies) ;
  • Choi, Jae Young (Department of Computer and Electronic Systems Engineering, Hankuk University of Foreign Studies)
  • Received : 2020.07.01
  • Accepted : 2020.07.21
  • Published : 2020.08.31

Abstract

In this paper, we propose a novel knowledge distillation algorithm to create an compressed deep ensemble network coupled with the combined use of local and global features of face images. In order to transfer the capability of high-level recognition performances of the ensemble deep networks to a single deep network, the probability for class prediction, which is the softmax output of the ensemble network, is used as soft target for training a single deep network. By applying the knowledge distillation algorithm, the local feature informations obtained by training the deep ensemble network using facial subregions of the face image as input are transmitted to a single deep network to create a so-called compressed ensemble DCNN. The experimental results demonstrate that our proposed compressed ensemble deep network can maintain the recognition performance of the complex ensemble deep networks and is superior to the recognition performance of a single deep network. In addition, our proposed method can significantly reduce the storage(memory) space and execution time, compared to the conventional ensemble deep networks developed for face recognition.

Keywords

1. 서론

얼굴인식(Face Recognition)은 인간-컴퓨터 상호 작용, 생체인식이나 비디오 감시 등 다양한 응용프로그램의 사용으로 컴퓨터 비전(computer vision)과 패턴 인식(pattern recognition) 분야에서 활발히 연구가 진행되고 있다. 전통적인 얼굴인식 기술은 영상으로부터 얼굴 영역을 검출하고 얼굴 정렬 및 정규화 등 전처리(pre-processing) 작업을 수행한다. 그 후 전처리된 얼굴 영상의 특징을 추출하고, 이를 이용하여 분류기 모델을 학습하고 어떤 인물인지 신원을 분류하게 된다. 대규모 훈련 데이터의 출현으로 인해 최근 발전된 얼굴 인식 시스템은 수십, 수백만 개의 매개변수로 구성되고, 특징 추출과 분류기 모델의 학습을 end-to-end 방식으로 수행하는 심층합성곱신경망(Deep Convolutional Neural Network, DCNN)을 이용한 ImageNet[1], VGGNet[2] 등 이미지 분류에서 좋은 성능을 보인 분류기 모델을 기반으로 구축되었다.

얼굴 인식 성능을 향상시키기 위한 매우 인기 있는 방식은 앙상블 분류기(ensemble classifier)[3]를 사용하는 것이다. 동일한 모델 구조에서 초기화 (initialization)를 다르게 하여 여러 번 학습하거나, 서로 다른 구조의 신경망(neural network)을 여러 개 생성하여 이들로부터 나오는 결과를 평균, 다수결원칙(majority voting)과 같이 다양한 방법으로 결합하는 방법이다. 즉, 하나의 모델을 사용하는 것보다 더 정확하고 신뢰할 수 있는 추정(estimate) 또는 결정 (decision)을 통해 더 나은 복합 전역 모델(composite global model)을 얻기 위해서 각각 동일한 작업을 해결하는 일련의 모델을 결합한다. 이러한 앙상블 모델을 활용하는 얼굴 인식 연구가 활발히 수행되고 있다. 참고문헌 [9]에서는 특징 융합(feature fusion)과 분류기 앙상블(classifier ensemble) 기법을 활용하여 얼굴 인식 성능을 개선하는 방법을 제안하였다. 특징 공간(feature space)에서, DWT(Discrete Wavelet Transform)와 HOG(Histogram of Oriented Gradient) 특징이 얼굴 이미지에서 추출되며 PCA (Principal Component Analysis)를 통해 특징들을 융합 후 분류 목적으로 사용하였다. 또한 분류기 공간(classifier space)에서는 효율적인 분류를 위해 단일 분류기 대신 앙상블 분류기를 사용하였다. AT& T 와 Yale 벤치마크 얼굴 인식 데이터베이스에 대해 우월한 인식 정확도와 공간 해상도(spatial resolution)가 감소된 조건에서도 견고한 것을 실험적으로 보였다. 참고문헌 [10]에서는 다중 합성곱신경망 (Convolutional Neural Network, CNN) 분류기를 기반으로 두 가지 방법을 제안하였다. 이 방법은 동일한 CNN구조를 사용하지만 훈련 데이터 집합을 다르게 하였다. 첫 번째 방법은 무작위 샘플링(random sampling) 및 대체(replacing) 방법을 사용하여 원본 데이터 집합으로부터 서로 다른 훈련 데이터 집합을 추출하여 개별 합성곱신경망을 훈련한다. 두 번째 방법은 원본 데이터 집합의 이미지 크기를 확대 및 축소하여 개별 합성곱신경망을 훈련한다. 두 방법은 투표(voting) 방법을 사용하여 개별 합성곱신경망 결과를 병합한다. [10]에서 제안한 방법은 실험을 통해 ORL 사람 얼굴 DB에 대해 앙상블 분류기가 단일 분류기보다 우수한 인식 정확도를 가짐을 보였다.

분류와 인식을 위해 설계된 앙상블심층모델 (ensemble deep model) 방법은 다중개의(multiple) 딥 러닝 모델들을 활용하여 일반화(generalizability) 성능을 향상시키고 과적합(overfitting)을 피하는 가장 성공적인 방법으로, 인식 및 분류의 최종 성능을 향상시키기는 매우 좋은 방법이지만, 계산하고 저장해야하는 모델들의 매개변수 수가 단일 모델에 비해 수십 배 늘어나기 때문에 필요한 메모리 공간과 계산 복잡도(complexity)가 크게 증가하는 단점이 있다. 소모되는 컴퓨팅 파워(computing power)와 메모리 공간 대비 얻을 수 있는 성능의 효율성이 매우 떨어지는 문제점이 있다[4].

이 한계를 극복하고자 Caruana[5]는 앙상블에 있는 지식을 단일 모델로 압축하는 것이 가능하다는 것을 보여주었고, Hinton[6]은 지식 전파(knowledge distillation)라는 새로운 앙상블 모델 압축 접근법을 제시하였다. 제안 방법과 관련성이 높은 기존 연구로서 [6]에서 제시한 지식 전파의 기본 아이디어는 크고 깊은 딥 러닝 모델에서 소프트맥스 함수(softmax function)를 통해 구한 확률 값이 모델이 학습한 지식을 함축해서 담고 있다고 보고, 이를 이용하여 보다 작은 소형 모델을 학습하면 대형 딥 러닝 모델에 있던 지식이 전달된다는 것이다. 이러한 지식 전파 알고리즘을 기반으로 인식(recognition) 및 분류(classification) 기술에 관한 다양한 딥 러닝 활용 연구가 진행되고 있다[11-13]. 참고문헌 [14]에서는 앙상블 구조를 사용하여 다중 교사 네트워크(multiple teacher networks)의 지식을 소형 학생 네트워크로 지식 전파함으로써 분류 성능 및 소형 네트워크의 모델 일반화(generalization)를 향상시키는 앙상블 지식 전파(Ensemble Knowledge Distillation, EKD) 프레임워크를 제안하였다. 앙상블 지식의 전파를 위해 새로운 훈련 목적 함수(objective function)를 제시한다. 이 목적 함수는 입력 데이터와 참 부류 라벨 (ground truth labels)간의 매핑을 학습하는 목표, 그리고 교사 네트워크와 학생 네트워크의 고수준 특징 (high level features)간의 차이를 최소화하는 목표로 학생 네트워크의 매개 변수를 최적화한다. CIFAR10과 CIFAR-100 데이터 집합에 대한 EKD 기반 소형 네트워크의 분류 정확도가 지식 전파를 사용하지 않은 네트워크보다 우수한 결과를 실험적으로 보였다. 얼굴 인식 문제에 지식 전파 기술을 적용한 참고 문헌 [15]에서는 얼굴 인식을 위한 학생-교사 패러다임을 기반으로 새로운 모델 압축 접근법을 제안하였다. 교사 네트워크는 더 큰 이미지 해상도로 훈련하고 학생 네트워크는 낮은 이미지 해상도로 훈련한다. 학생과 교사 네트워크는 동일한 딥 모델 구조를 사용하며, 학생 네트워크를 훈련시키기 위해 지식 전달 (knowledge transfer), 지식 전파(knowledge distillation) 및 두 기법의 결합의 세 가지 방법을 제시한다. 지식 전파 기법을 사용한 경우 교사 네트워크의 마지막 전역 풀링 계층(global pooling layer)에서 특징 표현을 추출하고, 기본 분류 손실함수와 추출한 특징을 매칭하기 위한 손실함수를 이용하여 학생 네트워크를 훈련한다. 지식 전달 기법을 사용한 경우 교사 모델의 매개 변수로 학생 네트워크를 초기화하고 분류 손실함수 만으로 학생 네트워크를 훈련한다. 또한 이 두 기법의 결합을 활용하여 저해상도(lowresolution) 이미지를 입력으로 하는 학생 네트워크를 훈련하였고, 세 가지 기법을 사용한 것과 안한 것을 비교하여 저해상도 이미지에 대한 향상된 인식 정확도를 실험을 통해 보였다.

얼굴인식 과정에서 얼굴 특징 표현은 인식성능 결정에 중요한 역할을 하는데 얼굴 특징은 얼굴의 부분 영역(예: 눈, 코, 입 등)의 상세한 특성을 나타내는 지역특징(local feature)과 전체적인 얼굴의 일반적 특성을 반영하는 전역특징(global feature)으로 두가지 범주로 나눌 수 있다[7,17]. 얼굴 영상의 지역특징과 전역특징은 정확한 얼굴인식을 위해 서로 상호보완적인 차별정보(complementary discriminated information)를 제공할 수 있기 때문에 지역특징과 전역특징을 동시에 활용하는 앙상블 딥 러닝 모델은 높은 얼굴인식 성능을 달성할 수 있다. 그러나 현재까지 제시된 앙상블 딥 러닝 모델 구성 및 훈련 방법으로는 처리 시간 및 계산 자원(computing resource) 측면에서 지역특징과 전역특징을 동시에 활용하는 모델을 구성하기 어렵다는 문제점이 존재한다. 이런 문제점을 해결하기 위해 본 논문에서는 얼굴 영상의 지역특징 정보를 학습한 앙상블 심층합성곱신경망을 활용하여 지식 전파 알고리즘을 얼굴 인식에 적용한다. 얼굴 영상을 분할하여 지역특징을 표현하는 지역 영역(facial subregions)들을 추출한다. 추출한 지역 영역들이 각각 입력으로 들어가는 해당 심층합성곱신경망들을 훈련하고, 각 신경망들의 소프트맥스 결과들의 스코어 융합(score fusion)을 통해 ‘지역 영역 기반 앙상블 심층합성곱신경망’의 부류(class) 예측 확률을 얻는다. 이 확률은 ‘소프트 타겟(soft target)’이 되며 손실항(loss term)으로 정의하고 오로지 전역특징만 학습하는 단일 심층합성곱신경망을 소프트 타겟 분포를 목표로 훈련할 수 있도록 활용된다. 이 방법으로 지역특징과 전역특징 정보를 동시에 학습시킨 앙상블 압축 심층합성곱신경망(compressed ensemble DCNN)을 통해 신원을 분류한다.

지식 전파 기법을 얼굴인식에 적용한 최근의 기존 연구들은 얼굴의 전체적인 특징을 표현하는 전체 얼굴 영상을 사용하고, 저해상도의 얼굴 영상 사용, 데이터 확대(data augmentation) 기법이나 손실 함수 (loss function)를 추가/수정 하는 등의 방법을 이용하여 인식 성능을 향상시키는 연구를 주로 수행하였다. 본 논문에서는 [7]에서 제시한 것 같이 얼굴의 전역 및 지역 특징의 조합이 얼굴을 식별하는데 효과적이라는 점을 고려하면서 얼굴 영상을 네 부분의 패치로 분할하고 지역 특징을 표현하도록 지역 영역 (예: 왼쪽 눈, 오른쪽 눈, 왼쪽 하관, 오른쪽 하관)을 추출하여 지역 영역 기반 앙상블 심층 신경망을 구성하고 전역 특징만을 학습하는 단일 신경망에 지식을 전달하는 지식전파 기법을 사용한다. 최종적으로 얼굴 영상의 전역 특징 및 지역 특징 정보를 함께 사용하기 위해서 필요한 앙상블 사용의 단점을 보완하는 방법을 제안한다. 실험을 통해 제안한 ‘앙상블 압축 심층합성곱신경망’ 이 전역 및 지역특징을 학습한 ‘앙상블 심층합성곱신경망’ 의 인식 정확도와 비슷하면서 전역특징만을 학습한 ‘단일 심층합성곱신경망’보다 더 높은 정확도를 달성함을 입증하였고, 기존 앙상블 딥 러닝 모델 구성 방법과 비교하여 메모리 저장공간은 약 5배정도 절약하고 인식수행시간은 약 3.9배 빠르게 실행이 가능하다.

논문 구성은 다음과 같다. 2장에서는 제안한 앙상블 압축 심층합성곱신경망에 적용한 심층합성곱신경망 모델에 대해 간략하게 설명하고 3장에서는 앙상블 압축 심층합성곱신경망 구성방법과 얼굴인식에 적용되는 방법을 설명한다. 4장에서는 제안 방법의 우수성을 검증하기 위해 수행한 실험 방법과 해당 결과들을 제시하고 5장에서 결론을 통해 논문을 맺는다.

2. 활용 심층합성곱신경망 모델

본 논문에서는 ‘VGG 심층합성곱신경망’과 ‘Res Net 심층합성곱신경망’을 ‘앙상블 압축 심층합성곱 신경망’에서 기저 모델(base or component model)로 활용한다. 두 개의 모델들에 관한 간략한 내용은 2.1절과 2.2절에서 설명한다.

2.1 VGG 심층합성곱신경망

VGG 모델[2]은 옥스퍼드 대학의 연구팀 VGG (Visual Geometry Group)에 의해 개발된 모델로써, 2014년 ImageNet Challenge(ILSVRC)에서 준우승을 하였고, 이미지 분류를 위한 딥 러닝 관련 대표적 연구 중 하나로 자리매김하였다. 구성된 신경망 계층이 16개 인지 19개인지에 따라 VGG16, VGG19로 불린다. VGG 모델 이전에 이미지 분류에 좋은 성과를 보인 합성곱신경망 모델들은 11×11 필터나 7×7 필터를 사용하였지만, VGG 모델은 신경망의 깊이를 깊게 만들기 위해 모든 합성곱 계층(convolutional layers)에서 가장 작은 3×3 필터를 사용했다. 합성곱신경망 구조를 훈련할 때 3×3 필터를 사용함으로써 훈련시켜야 할 매개 변수의 개수를 줄여 학습 속도를 빠르게 하고, 동시에 합성곱 계층의 개수가 증가함에 따라 비선형성이 증가하게 되면서 모델의 특징 식별성을 증가하게 하였다. 본 논문의 실험에 사용된 VGG16 모델은 13개의 합성곱 계층과 3개의 완전 연결 계층(fully-connected layers)으로 구성되며, 1400만 개의 이미지와 1000개의 부류로 구성된 Image Net 데이터베이스를 사용하여 사전 학습된(pretrained) 모델이다.

2.2 ResNet 심층합성곱신경망

ResNet[8]은 마이크로소프트에서 개발한 모델이며, 2015년 ImageNet Challenge에서 우승을 차지하였다. ResNet의 저자는 기존의 방식으로 신경망을 무조건 깊게 만드는 것이 능사가 아니라는 것을 얘기하며 신경망의 계층이 증가 할수록 소실되거나 폭발하는 그래디언트(vanishing/exploding gradients) 문제를 이유로 들었다. 이에 몇 개의 가중치 계층 후 입력 값과 출력 값이 더해진 것을 다음 계층의 입력으로 사용하는 스킵 연결(skip connection)을 추가한 잔차 블록(residual block)을 신경망의 깊이를 깊게할 수 있는 해결법으로 제안하였다. 입력과 출력간의 잔차를 학습하는 잔차 학습(residual learning)을 목표로 하며, 더 깊어진 네트워크의 연산량을 줄이기 위해 잔차 블록 내에 1×1, 3×3, 1×1 합성곱 연산을 쌓아 특징 맵의 차원을 감소 및 증가시키는 병목 계층(bottleneck layer)을 추가하였다. [8]에서는 병목 계층을 이용하여 50개의 계층으로 구성된 ResNet50, 본 논문의 실험에 사용한 ResNet-101과 더불어 ResNet-152 모델 까지의 성능을 비교한다.

3. 제안 방법

제안한 앙상블 압축 심층합성곱신경망을 이용한 얼굴식별 방법은 Fig. 1에서 볼 수 있듯이, 크게 두 가지 단계로 구성된다. 첫 번째 단계는 얼굴 영상을 분할하여 지역특징 정보를 갖는 지역 영역(local facial region)들을 추출한다. 총 네 개의 지역 영역을 각각 입력으로 하는 해당 네 개의 심층합성곱신경망을 훈련한 후 각 모델의 소프트맥스 결과들을 결합하여 앙상블 심층합성곱신경망의 부류(class) 예측 확률을 구한다. 얼굴 영상을 네 개의 영역으로 자르면 눈,코,입의 정확한 위치를 추출하는 부가적인 모듈 (얼굴 검출기)없이 얼굴 영상으로부터 눈과 코,입을 모두 포함하면서 지역 영역을 표현하는 패치로 자를수 있다. 두 눈 좌표를 기준으로 정렬하는 전처리 작업을 통해 네 개의 패치로 분할하였을 때 양쪽 눈과 턱 모양이 유지된다. 패치가 많아질수록 지역영역기반 앙상블 모델의 계산 복잡도가 증가하므로 계산 복잡도를 최소화 하면서 눈과 코,입을 모두 포함하는 지역 영역을 표현할 수 있도록 네 개의 패치로 추출했다. 네 개의 영역으로 패치를 추출하더라도 앙상블 방법을 사용하면 제안 방법의 얼굴인식 성능을 충분히 개선할 수 있다. 두 번째 단계는 앞서 구한 ‘지역 영역 기반 앙상블 심층합성곱신경망’의 부류 예측 확률을 ‘소프트 타겟(soft target)’ 손실항(loss term)으로 정의하고 오직 전역특징만 학습하는 단일 심층합성곱 신경망(single DCNN)을 훈련하는데 활용한다. 이러한 방법으로 지역특징 정보와 전역특징 정보를 동시에 학습시킨 앙상블 압축 심층합성곱신경망을 통해 신원을 분류한다. 아래 절들에서 제안 방법에 활용한 심층합성곱신경망 모델과 Fig. 1에서 제안하는 각각의 단계들을 상세하게 설명한다.

MTMDCW_2020_v23n8_1019_f0001.png 이미지

Fig. 1. An overview of the proposed face recognition framework which uses knowledge distillation from an ensemble DCNN based on local facial region for improving face recognition performance.

3.1 지역 영역 특징 기반 앙상블 심층합성곱신경망 구성 방법

본 연구에서는 앙상블 심층합성곱신경망, 단일 심층합성곱신경망 및 앙상블 압축 심층합성곱신경망 학습을 위해 VGG-16 모델 또는 ResNet-101 모델을 사용하였다. Fig. 2와 같이 64×64 픽셀의 전역 특징을 표현하는 얼굴 영상을 32×32 픽셀로 네 개의 하위 영역으로 분할하여 지역특징 정보를 갖는 네 개의 지역 영역들을 추출한다. 추출한 지역 영역들을 입력으로 하여 사전 학습(pre-trained)된 심층합성곱신경망 모델을 각각 파인 튜닝(fine-tuning)한 후 소프트맥스 함수를 이용하여 입력 얼굴영상이 인식대상 i번째 부류일 확률을 다음과 같이 구한다(Fig. 3 참고).

\(s_{i}=\frac{\exp \left(z_{i}\right)}{\sum_{j} \exp \left(z_{i}\right)}\)       (1)

MTMDCW_2020_v23n8_1019_f0002.png 이미지

Fig. 2. Example of extraction of local face regions by partitioning face image. Note that local face regions are used for expressing regional features of a face image.

MTMDCW_2020_v23n8_1019_f0003.png 이미지

Fig. 3. Local region-based ensemble DCNN architecture and process of soft target generation.

여기서 zi는 i번째 부류에 대한 지역 영역 기반 심층합성곱신경망 마지막 층의 출력(output)인 score 벡터의 i번째 요소이다. score zi가 소프트맥스 함수를 통해 확률로 바뀐 si는 영상의 지역특징 정보를 담은 부류 예측 확률이 된다. n개의 심층합성곱신경망 모델을 통해 구한 개별 소프트맥스 결과를 평균으로 스코어 융합하여 지역 영역 기반 앙상블 심층합성곱신경망의 부류 예측 확률로 만든다. 개별 소프트맥스 결과에 대한 결합의 표현은 다음과 같다.

\(q_{i}=\frac{\sum_{l=1}^{n} s_{i}^{(l)}}{n}\)       (2)

여기서 n은 앙상블 심층합성곱신경망을 형성하는 단일 모델들의 개수이며, 본 실험의 경우 n=4이다. qi는 i번째 부류에 대한 앙상블 심층합성곱신경망의 부류 예측 확률이다. |V|는 부류의 총 개수 일 때, 각 단일 모델의 예측 확률 s (l) = [s1 (l), ... , s|V| (l) ]은 벡터이므로 i번째 부류에 해당하는 각 확률을 더해주고 n으로 나누는 요소별(element-wise) 평균을 취해 qi를 구한다. 지역 특징 정보를 갖는 패치 영상이 입력으로 들어가는 앙상블 심층합성곱신경망에 의해 생성된 q= [q1 , ... , q|V|]는 얼굴 영상의 지역특징 정보를 함축해서 담은 지식이 된다. 즉 앙상블 압축 심층합성곱신경망에 전달 할 소프트 타겟 값이 된다.

3.2 제안 앙상블 압축 심층합성곱신경망 학습 알고리즘

앙상블 압축 심층합성곱신경망은 소프트 타겟, 즉 지역특징 정보를 학습한 앙상블 심층합성곱신경망의 정보를 단일 심층합성곱신경망이 학습하도록 구성된다. 일반적인 방법으로 모델을 학습 할 때, 입력 데이터에 대한 소프트맥스 결과가 주어진 참 부류 레이블(groundtruth label)과 최대한 비슷해지도록 소프트맥스 cross-entropy 손실(loss) 함수를 최소화 하는 방식이 주로 사용되는데, 지식 전달을 위해서 두 가지 cross-entropy 손실 함수를 정의한다.

\(\begin{array}{l} L_{1}=-\sum_{k=1 }^{|V|} \sum_{t=1}^{T} I(y=k) \times \log P\left(y=k \mid x_{t} ; \theta\right) \\ L_{2}=-\sum_{k=1}^{|V|} \sum_{ t=1}^{T} q\left(y=k \mid x_{t} ; \theta_{E}\right) \times \log P\left(y=k \mid x_{t} ; \theta\right) \end{array}\)       (3)

여기서 T는 앙상블 압축 심층합성곱신경망이 학습될 때 사용되는 회수마다의 훈련 영상 개수이다. q(y = k|xt; ΘE )는 지역특징을 학습하여 형성한 앙상블 심층합성곱신경망의 소프트맥스 확률 값이고, P(y = k|x; Θ)는 전역특징을 활용하여 학습한 단일 심층합성곱신경망의 확률 값이다. k는 부류의 인덱스이며, |V|는 부류의 총 개수를 나타낸다. 위의 식 (3) 에서 나타낸 것 같이 손실 함수 L1은 참 부류 레이블에 대한 인식결과 오류를 기준으로 한 cross-entropy 함수이다. 손실 함수 L2는 지역 영역 기반 앙상블 심층합성곱신경망의 부류 예측 확률 값을 나타내는 소프트 타겟과의 차이(혹은 오류)를 나타내는 cross-entropy 함수이다. 즉 지역 영역 기반 앙상블 심층합성곱신경망에 의해 생성된 부류 예측 확률을 단일 심층합성곱신경망의 소프트 타겟으로 사용하는 함수이고, 단일 심층합성곱신경망을 통해 얻은 소프트맥스 결과가 소프트 타겟 분포와 비슷해지도록 한다. 앙상블 압축 심층합성곱신경망 학습을 위해 사용하는 손실 함수 L의 표현은 다음과 같다.

L= α×L1 + (1-α)×L2, 0<α<1       (4)

식 (4)에서 전역 영상(global facial image)을 입력으로 하는 앙상블 압축 심층합성곱신경망은 두 손실 함수 L1과 L2에 서로 다른 가중치(α)를 부여하여(가중치 결정방법은 Fig. 5 실험결과 참고) 학습(finetuing) 시에 앙상블 심층합성곱신경망이 전달한 지역 특징 정보를 담은 지식(soft taget)과 기존의 참 부류 목표값(true class target value)을 둘 다 사용한다. 즉, 앙상블 압축 심층합성곱신경망은 식 (3)의 두 식을 더한 손실함수 L을 사용함으로써 지역 영역 기반 앙상블 심층합성곱신경망이 학습한 얼굴 영상의 지역특징과 입력으로 들어가는 전역특징을 모두 학습 가능한 단일 심층합성곱신경망 구조를 형성한다. 따라서 전역특징과 지역특징을 개별로 학습하여 결합하는 앙상블 심층합성곱신경망에 비해 제안 방법을 통해 앙상블 심층합성곱신경망의 성능을 비슷하게 유지하면서 메모리 공간의 소비와 처리 시간은 크게 줄일 수 있다.

MTMDCW_2020_v23n8_1019_f0005.png 이미지

Fig. 5. Variation in recognition accuracy of the proposed compressed ensemble DCNN with respect to change of weight α value in the range of [0.9, 0.1].​​​​​​​

3.3 제안 앙상블 압축 심층합성곱신경망 활용 얼굴 인식 방법

역전파(back-propagation) 알고리즘을 사용하여 전역과 지역특징을 동시에 학습하는 손실 함수인 식 (4)의 오차를 최소화하기 위해 가중치를 찾는 학습을 설정한 회수만큼 반복적으로 진행한다. 최종적인 얼굴인식 수행을 위해 앙상블 압축 심층합성곱신경망은 인식 대상자의 수만큼 분류신뢰도를 출력한다. 분류신뢰도를 얻기 위해 앙상블 압축 심층합성곱신경망의 마지막 완전 연결 계층은 소프트맥스 계층 (softmax layer)에 연결 된다. 연결된 소프트맥스 계층은 이전 계층인 완전연결 계층 노드(fully-connected layer node)의 특징 맵

\(\boldsymbol{h}=\left[\begin{array}{cccc} h^{(1,1)} & \cdots & h^{(1, H)} \\ & \ddots & & \\ \vdots & h^{(m, z)} & \vdots \\ & & \ddots & \\ h^{(1, H)} & \cdots & h^{(T, H)} \end{array}\right]\)과 해당 가중치

\(W=\left[\begin{array}{cccc} W^{(1,1)} & \cdots & W^{(1,|V|)} \\ & \ddots & & \\ \vdots & W^{(z, k)} & \vdots \\ & & \ddots & \\ W^{(H, 1)} & \cdots & W^{(H, |V|)} \end{array}\right]\)를 활용하는데, m번째

영상 Gm에 대한 k번째 인식 대상자 부류 ek의 score f(m, k)는 다음과 같이 표현된다.

f(m, k)=\(\sum_{i=1}^{H} h^{(m, i)} W^{(i, k)} \text { for } k \in\{1,2, \ldots, \mid V|​​​​​​​ \}\)       (5)

여기서, H는 완전 연결 계층 노드의 개수를 나타낸다.\(f=\left[\begin{array}{ccccc} f^{(1,1)} & & \cdots & & f^{(1,|V|)} \\ & \ddots & & & \\ \vdots & & f^{(m, k)} & \vdots \\ & & & \ddots & \\ f^{(T, 1)} & & \cdots & & f^{(T,|V|)} \end{array}\right]\) 를 활용하여 소프트맥스 계층에 의한 부류 예측 확률 P(ck|Gm)은 다음과 같이 구한다.

P(ck|Gm)=\(\frac{\exp \left(\mathrm{f}^{(m, k)}\right)}{\sum_{i=1}^{|V|} \exp \left(\mathrm{f}^{(m, i)}\right)}\)       (6)

여기서, |V|는 얼굴 인식 대상자의 총 인원 수이다. P(ck|Gm)는 앙상블 압축 모델에 입력으로 들어가는 m번째 전역 영상이 k번째 신원(identity)으로 인식될 확률을 나타낸다. 결과적으로 식 (5)와 (6)에 의해 각각의 입력 얼굴영상 당 부류 예측 확률 값을 출력하고, 이때 식 (7)에 의해 입력 영상의 신원 C*m을 결정한다.

\(c^{*}{ }_{m}=\underset{c_{k}, 1 \leqq k \leq \mid V|}{\operatorname{argmax}} P\left(c_{k} \mid G_{m}\right)\)       (7)

4. 실험 결과 및 분석

4.1 실험환경

본 연구에서는 얼굴 인식 실험 평가로 자주 사용되는 FERET[16]의 얼굴 영상 데이터베이스를 사용하였다. 두 눈의 좌표 기준으로 64×64픽셀로 잘라 전역특징을 표현하는 얼굴 영역을 형성하고 각각 잘린(cropped) 얼굴 영상은 두 눈 위치를 기준으로 정렬하였다. 잘라진 영상을 32×32픽셀로 네 개의 하위 영역으로 잘라 지역특징을 표현하는 지역 영역을 추출한다. Fig. 4는 FERET 데이터베이스의 자른 얼굴 영상들의 일부를 보여준다. FERET 데이터베이스에서 300명을 대상으로 총 2,508장의 얼굴 영상을 수집하였다. 무작위로 분할하여 훈련 데이터 집합은 300개 부류 당 영상 5장, 즉 1,500장의 영상으로 구성하였고 성능 테스트를 위한 데이터 집합에는 나머지 영상인 1,008장의 영상으로 구성하였다. 또한, 얼굴 영역이 옳게 검출된 얼굴 영상만을 선별하였고, 사용된 얼굴 영상에는 - 45°에서 45°까지 각도의 얼굴 자세가 포함되어있다. 사전 훈련 모델인 VGG16 심층합성곱신경망을 학습 시 파라미터는 학습속도 (learning rate) 0.001, 배치 크기(batch size) 64로 설정하였고, ResNet101 심층합성곱신경망 학습 시 파라미터는 학습속도 0.003, 배치크기 128로 설정하여 실험하였다. 에포크(epoch)의 경우, 각 모델 훈련에 사용한 초기 에포크(epoch)는 300으로 설정하였으며, 손실 함수의 그래프가 수렴할 때 검증 데이터셋 (validation dataset)의 가장 낮은 에러율을 갖는 에포크를 사용하여 성능평가를 진행하였다. VGG16 심층합성곱신경망의 경우는 100번째, ResNet 심층합성곱신경망의 경우엔 200번째 에포크에서 가장 낮은 에러율을 나타내었다.

MTMDCW_2020_v23n8_1019_f0004.png 이미지

Fig. 4. Example of cropped and aligned facial images from FERET database.​​​​​​​

4.2 FERET 데이터베이스 활용 비교실험 및 분석

FERET 데이터베이스로 비교 실험한 결과는 Table 1, Table 2, Table 3, Table 4에 나타내었다. 식 (4)에서 참 부류 라벨을 이용한 전역 특징과 관련된 손실 함수와 소프트 타겟을 이용한 지역 특징과 관련된 손실 함수 사이의 가중치(α) 값을 변화 시켰을 때에 제안 앙상블 압축 심층합성곱신경망의 성능은 Table 1과 Table 2와 같았다. α=0부터 α=0.9까지는 인식정확도가 점차 증가하는 향상을 보였고, α=0.5부터 가중치를 0.1씩 증가시키면서 VGG16 모델과 ResNet 모델을 사용한 앙상블 압축 심층합성곱신경망의 인식 정확도를 Table 1과 Table 2에 작성하였다. 전역 특징과 관련된 손실함수의 가중치(α=0.9)를 더 높게 설정하는 것이 더 좋은 결과를 얻음을 볼 수 있었다. 또한 Table 1, Table 2에서 가장 높은 성능을 얻었던 α=0.9 보다 더 높은 앙상블 압축 모델의 최대 성능을 얻을 수 있는 가중치 α값을 확인 및 검증하기 위해 0.9부터 1까지 0.01 단위로 변화를 주었다. 앙상블 압축 모델의 인식 정확도는 역시 α=0.9일 때 가장 높음을 확인할 수 있다(Fig. 5 참고). 가중치가 α=1 이면 전역특징만을 학습하는 손실함수를 사용하므로 단일 모델과 같은 인식정확도를 보였다. α=0.9부터 α=0.99 까지 제안 앙상블 압축 모델의 인식 성능은 떨어지는 향상을 나타내었으며, 이를 통해 지역 특징과 관련된 손실함수의 가중치가 0.1 일 때 가장 성능이 좋음을 확인 할 수 있었다. 본 실험에서는 압축 모델이 학습하는 지역특징의 비중이 일정 수준 이하로 작아지면 인식 성능 또한 저하되기 때문에 식 (4) 손실함수의 가중치를 최적화된 값 α=0.9로 설정하였다.

Table 1. Recognition accuracy of the proposed compressed ensemble DCNN when using VGG model (as base model) with respect to change of weight α ranging from 0.5 to 0.9 with step size of 0.1

MTMDCW_2020_v23n8_1019_t0001.png 이미지

Table 2. Recognition accuracy of the proposed compressed ensemble DCNN when using ResNet model (as base model) with respect to change of weight α ranging from 0.5 to 0.9 with step size of 0.1​​​​​​​

MTMDCW_2020_v23n8_1019_t0002.png 이미지

Table 3. Comparison of face recogntion accuracy between the proposed compressed ensemble DCNN and the other deep learning models depending on the approach of applying the input face images. Note that in our method, VGG16 was used as base model and α=0.9 in Eq. (4)​​​​​​​

MTMDCW_2020_v23n8_1019_t0003.png 이미지

*DCNN: VGG16​​​​​​​​​​​​​​

Table 4. Comparison of face recogntion accuracy between the proposed compressed ensemble DCNN and the other deep learning models depending on the approach of applying the input face images. Note that in our method, ResNet101 was used as base model and α=0.9 in Eq. (4)​​​​​​​

MTMDCW_2020_v23n8_1019_t0004.png 이미지

*DCNN: ResNet101​​​​​​​

제안한 방법인 앙상블 압축 심층합성곱신경망은 지역 영역 기반 앙상블 심층합성곱신경망의 개별 모델(DCNN1-DCNN4 )과 전역 영상을 입력으로 하는 단일 심층합성곱신경망의 인식 성능보다 우수함을 알 수 있다. 특히 제안한 앙상블 압축 심층합성곱신경망은 하나의(single) 모델임에도 전역과 지역 특징을 함께 학습한 앙상블 심층합성곱신경망의 성능과 거의 비슷하게 유지하면서 단일 심층합성곱신경망보다 인식 성능이 높다는 것을 볼 수 있다. 구체적으로, 제안하는 방법은 VGG16 모델을 사용했을 때(Table 3 참고), 전역 영상과 네 개의 지역 영역을 입력으로 하는 앙상블 심층합성곱신경망의 인식 정확도는 98.95%, 제안 압축 모델은 97.76%로 거의 같으며 단일 심층합성곱신경망과 비교할 때 4.09% 정도 더 높은 정확도를 달성했다. ResNet101 모델을 사용했을 때(Table 4 참고)의 앙상블 심층합성곱신경망의 정확도는 98.66%, 제안 앙상블 압축 심층함성곱신경망은 97.33%로 역시 비슷한 성능을 유지하며 단일 심층합성곱신경망 보다 약 2.18% 더 높은 정확도를 달성함을 보였다.

Table 5에서는 실험에 VGG16 심층 신경망을 사용하였을 때 ‘앙상블 (딥 러닝) 모델’과 ‘단일 모델’, 그리고 제안한 ‘앙상블 압축 모델’ 사이에 메모리 저장 공간과 인식 수행 시간을 비교한 결과를 제시한다. 활용 PC의 사양은 GPU는 NVIDIA 지포스 GTX Titan X(pascal) Galactic Empire D5X 12GB를, CPU는 Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz를 사용하였으며, RAM은 삼성전자 DDR4 16G PC4-19200 × 8개를 사용하였다. 메모리 공간은 심층 신경망을 학습할 때 계산되는 모든 파라미터의 크기를 나타내는 모델의 체크포인트(checkpoint)를 추출하여 크기를 측정하였고, 인식 수행 시간은 테스트 영상을 불러와 입력으로 넣고 인식을 수행하기까지의 소요되는 전체 시간을 나타내며 얼굴 영상 한 장당 소요되는 평균 처리시간이다. 병렬 처리(parallel process)가 아닌 연속 처리(serial process)를 한다는 가정 하에 전역 및 지역 특징을 학습하기 위해 다 섯개의 모델로 구성된 앙상블 모델의 메모리 저장 공간의 크기는 3,373.5 MB, 전역과 지역 특징을 동시에 학습하지만 하나의 모델로 구성되는 제안 앙상블 압축모델은 674.7 MB로 메모리 저장 공간을 약 5배 압축할 수 있음을 보이고, 패치 영상을 넣었을 때와 전역 영상을 넣었을 때 나오는 수행시간을 고려한 앙상블 모델의 인식 수행시간은 약 0.6452 초, 전역 영상을 입력으로 하는 앙상블 압축 모델의 영상 한 장당 평균 인식 수행시간은 0.1628 초로 약 3.9배 빠르게 고속 처리가 가능하다.

Table 5. Comparison of the recognition execution time and the size of memory storage required for single DCNN, typical ensemble DCNN, and the proposed compressed ensemble DCNN​​​​​​​

MTMDCW_2020_v23n8_1019_t0005.png 이미지

*DCNN: VGG16, MB: mega byte​​​​​​​

제시한 실험결과들을 통해 단일 심층합성곱신경망과 앙상블 압축 심층합성곱신경망이 같은 네트워크 구조이고 같은 전역 영상을 입력으로 함에도 불구하고, 단일 심층합성곱신경망은 기존의 cross-entropy 손실함수를 사용하여 전역특징만을 학습하지만, 앙상블 압축 심층합성곱신경망은 소프트 타겟을 사용하는 손실함수를 추가하여 앙상블 심층합성곱신경망의 지식을 전달받아 지역특징도 학습함으로써 단일 신경망과 비교하여 인식 성능을 개선할 수 있음을 보였다. 또한 앙상블 신경망의 성능을 유지하면서 저장 공간과 처리 시간을 크게 줄일 수 있음을 입증하였다.

5. 결론

본 논문에서는 얼굴영상의 지역 영역 기반 앙상블 심층합성곱신경망이 학습한 지식을 단일 심층합성곱신경망으로 전달하는 지식 전파 알고리즘을 얼굴 인식에 적용하는 방법을 제시하였다. 전역 영상을 입력으로 하는 제안 방법인 앙상블 압축 심층합성곱신경망은 지역 특징을 학습한 앙상블 심층합성곱신경망에 의해 생성된 확률을 소프트 타겟으로 사용하여 지역특징과 전역특징을 동시에 학습한다. 전역과 지역 특징을 학습하는 기존 앙상블 딥 러닝 신경망의 성능과 같은 인식성능을 유지하면서 거의 동일한 설계 복잡도(design complexity)와 인식 처리속도를 갖는 단일 심층합성곱신경망 보다 우수한 인식 성능을 나타내었다. 얼굴 영상의 지역 특징을 학습한 앙상블 모델의 지식을 단일 모델로 전달하여 지역특징과 전역특징을 동시에 활용하는 앙상블 압축 모델을 구성함으로써 전역 특징 및 지역 특징 정보를 함께 사용하기 위해서 필요한 앙상블 사용의 단점을 보완하는 방법을 제안하였다. 실험 결과를 통해 제안한 ‘앙상블 압축 심층합성곱신경망’이 전역 및 지역특징을 학습한 ‘앙상블 심층합성곱신경망’ 의 인식 정확도와 비슷하면서 전역특징만을 학습한 ‘단일 심층합성곱신경망’ 보다 더 높은 정확도를 달성함을 입증하였고, 앙상블 딥 러닝 모델 구성 방법과 비교하여 메모리 저장공간은 약 5배정도 절약하고 인식수행시간은 약 3.9배 빠르게 실행이 가능한 것을 보였다.

References

  1. J. Deng, W. Dong, R. Socher, L.J. Li, K. Li, and L.F. Fei, "ImageNet: A Large-scale Hierarchical Image Database," Computer Vision and Pattern Recognition, pp. 248-255, 2009.
  2. K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-scale Image Recognition," arXiv Preprint arXiv:1409.1556, 2014.
  3. L. Rokach, “Ensemble-based Classifiers,” Artificial Intelligence Review, Vol. 33, No. 1-2, pp. 1-39, 2010. https://doi.org/10.1007/s10462-009-9124-7
  4. A. Canziani, A. Paszke, and E. Culurciello, "An Analysis of Deep Neural Network Models for Practical Applications," arXiv Preprint arXiv:1605.07678, 2016.
  5. C. Bucilua, R. Caruana, and A. Niculescu-Mizil, "Model Compression," Proceedings of the 12th ACM Special Interest Group on Knowledge Discovery in Data International Conference on Knowledge Discovery and Data Mining, pp. 535-541, 2006.
  6. G. Hinton, O. Vinyals, and J. Dean, "Distilling the Knowledge in a Neural Network," arXiv Preprint arXiv:1503.02531, 2015.
  7. Y. Su, S. Shan, X. Chen, and W. Gao, “Hierarchical Ensemble of Global and Local Classifiers for Face Recognition,” IEEE Transactions Image Processing, Vol. 18, No. 8, pp. 1885-1886, 2009. https://doi.org/10.1109/TIP.2009.2021737
  8. K. He, X. Zhang, S. Ren, and J. Sun, "Deep Residual Learning for Image Recognition," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770-778, 2016.
  9. H.A. Khan, "Feature Fusion and Classifier Ensemble Technique for Robust Face Recognition," Signal Processing: An International Journal, Vol. 11, pp. 1-15, 2017.
  10. W.C. Cheng, T.Y. Wu, and D.W. Li, "Ensemble Convolutional Neural Networks for Face Recognition," Proceedings of the 2018 International Conference on Algorithms, Computing and Artificial Intelligence, pp. 1-6, 2018.
  11. T. Fukuda, M. Suzuki, G. Kurata, S. Thomas, J. Cui, and B. Ramabhadran, "Efficient Knowledge Distillation from an Ensemble of Teachers," Interspeech, pp. 3697-3701, 2017.
  12. Y. Feng, H. Wang, D.T. Yi, and R. Hu, "Triplet Distillation for Deep Face Recognition," arXiv Preprint arXiv:1905.04457, 2019.
  13. J. Yim, D. Joo, J. Bae, and J. Kim, "A Gift from Knowledge Distillation: Fast Optimization, Network Minimization and Transfer Learning," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4133-4141, 2017.
  14. U. Asif, J. Tang, and S. Harrer, "Ensemble Knowledge Distillation for Learning Improved and Efficient Networks," arXiv Preprint arXiv: 1909.08097, 2019.
  15. J. Karlekar, J. Feng, Z.S. Wong, and S. Pranata, "Deep Face Recognition Model Compression via Knowledge Transfer and Distillation," arXiv Preprint arXiv:1906.00619, 2019.
  16. P.J. Phillips, H. Moon, S.A. Rizvi, and P.J. Rauss, “The FERET Evaluation Methodology for Face Recognition Algorithms,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, pp. 1090-1104, 2000. https://doi.org/10.1109/34.879790
  17. K.T. Kim, and J.Y. Choi, “Using Spatial Pyramid Based Local Descriptor for Face Recognition,” Journal of Korea Multimedia Society, Vol. 20, No. 5, pp. 758-768, 2017. https://doi.org/10.9717/kmms.2017.20.5.758

Cited by

  1. IoT 및 머신러닝 기반 스마트 한우 축사관리 플랫폼에 관한 연구 vol.23, pp.12, 2020, https://doi.org/10.9717/kmms.2020.23.12.1519
  2. 재구조화된 RetinaNet을 활용한 객체 탐지에 관한 연구 vol.23, pp.12, 2020, https://doi.org/10.9717/kmms.2020.23.12.1531
  3. Facial Expression Recognition Based on Convolutional Neural Network Fusion SIFT Features of Mobile Virtual Reality vol.2021, 2020, https://doi.org/10.1155/2021/5763626