DOI QR코드

DOI QR Code

비디오 얼굴 식별 성능개선을 위한 다중 심층합성곱신경망 결합 구조 개발

Development of Combined Architecture of Multiple Deep Convolutional Neural Networks for Improving Video Face Identification

  • Kim, Kyeong Tae (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)
  • 투고 : 2019.03.21
  • 심사 : 2019.05.17
  • 발행 : 2019.06.30

초록

In this paper, we propose a novel way of combining multiple deep convolutional neural network (DCNN) architectures which work well for accurate video face identification by adopting a serial combination of 3D and 2D DCNNs. The proposed method first divides an input video sequence (to be recognized) into a number of sub-video sequences. The resulting sub-video sequences are used as input to the 3D DCNN so as to obtain the class-confidence scores for a given input video sequence by considering both temporal and spatial face feature characteristics of input video sequence. The class-confidence scores obtained from corresponding sub-video sequences is combined by forming our proposed class-confidence matrix. The resulting class-confidence matrix is then used as an input for learning 2D DCNN learning which is serially linked to 3D DCNN. Finally, fine-tuned, serially combined DCNN framework is applied for recognizing the identity present in a given test video sequence. To verify the effectiveness of our proposed method, extensive and comparative experiments have been conducted to evaluate our method on COX face databases with their standard face identification protocols. Experimental results showed that our method can achieve better or comparable identification rate compared to other state-of-the-art video FR methods.

키워드

1. 서론

얼굴식별(Face Identification)은 생체인식, 인간-컴퓨터 상호작용, 비디오 감시등 다양한 응용 프로그램 사용으로 패턴인식과 컴퓨터비전 인식 분야에서 다양하고 활발한 연구가 진행되고 있다[1]. 특히 스마트폰, 카메라,CCTV등으로 수집되어진 환경에서의 얼굴식별은 매우 어려운 문제이다. 동일 신원의 얼굴이더라도 조명 변화, 포즈 변화, 표정 변화에 의해 다르게 보일 수 있다. 이와 같은 문제를 해결하기 위해 컴퓨터 비전 연구자들은 비디오 얼굴식별을 자동으로 분류하기 위한 연구를 시도해왔다. 비디오는 많은 프레임들의 조합으로 복잡한 계산 복잡도를 가지고 있으며, 비디오마다 길이가 다양하다. 그리고 프레임간의 시간적 연관성(temporal dependency)을 갖고 있기 때문에 단일 얼굴을 분류하는 기존 방식으로 분석하기 어렵다. 게다가 ImageNet[2]과 같은 대용량의 데이터가 공개된 것과 달리 비디오에 대한 공개 데이터는 적으며, 해당 인식 대상에 포함되는데이터 수도 현저히 부족하다.

이런 한계점을 극복하기 위해 인공신경망을 활용한 얼굴 인식 연구가 진행되고 있다[3-5]. 참고문헌[6]에서는 비디오 얼굴인식을 위해 여러 개의 프레임정보로부터 단일 특징을 추출하는 심층 신경망인Neural Aggregation Network(NAN)을 제안하였다. 제안된 NAN는 크게 두 모듈로 구성된다. 첫 번째 모듈은 특징 임베딩(Feature Embedding) 모듈로써 각 프레임에 대해 공통된 딥 네트워크 모델을 이용하여 특징을 추출한 후 다중의 특징 벡터를 구성하는 모듈이고, 두 번째 모듈은 통합(Aggregation) 모듈로써 이 특징들을 두 개의 주의(Attention)블록을 이용하여 하나의 융합된 특징 벡터를 생성하게 된다.

이때, 통합 모듈의 주의 블록은 각각의 영상 프레임으로부터 획득된 특징 벡터에 대해 딥 네트워크에 의한 적응적인 가중치를 이용하여 다중의 특징 벡터를 융합하여 하나의 특징 벡터를 생성한다. 이때, 상대적으로 좋은 품질을 갖는 얼굴 영상은 높은 가중치를 갖게 되고, 다양한 변화에 의해 열화된 얼굴 영상에 대해서는 낮은 가중치가 할당되는 것을 실험적으로 보였다. 참고문헌 [7]에서는 신경망 간에 하위 단계(low-level) 및 중간 단계(middle-level)의 합성곱계층을 공유하여 특징을 효율적으로 추출하는 end-to-end 모델인 Trunk-Branch Ensemble CNN(TBE-CNN)을 제안하였다. 제안된 TBE-CNN 다음 같이 크게 2가지로 구성된다. 첫 번째 trunk network 및 branch networks의 출력 특징 맵(feature maps)들의 연결을 통해 결합을 하게되며 두 번째 마지막 완전 연결 계층(last fully connected layer)의 출력을 입력 비디오의 특징표현으로 활용된다. 하지만 대부분의 연구는 시퀀스의 단일 영상을 기반으로 신경망이 설계되어 시간적 정보를 고려하지 않게 된다.

이에, 단일 영상의 분류에서 좋은 성능을 보인 합성곱신경망(Convolutional Neural Network, DCNN)을 비디오 영역에 적용하고자 시간적 정보를 고려한 연구들이 진행되고 있다. 기존의 단일 영상에 적용되던 합성곱신경망(CNN)을 영상의 시퀀스인 비디오에 적용하기 위해 시간 축을 고려하여 2D 합성곱(Convolution)을 3D로 확장한 연구[8,9]가 있었다. 3차원 심층합성곱신경망(Deep 3D Convolutional neural network, 3D-CNN)은 공간적 정보뿐만 아니라 시간적 정보를 이용할 수 있어 비디오 인식에 우수한 성능을 보이고 있다. 본 논문에서는 비디오 시퀀스의 시간 및 공간 특징 정보를 고려하는 3차원 심층합성곱신경망인 C3D 신경망[10]을 활용하여 분류신뢰도(Class-confidence)를 각 비디오 시퀀스에 대해 획득한다. 각 비디오 시퀀스마다 획득된 분류신뢰도를 결합하기 위해 분류신뢰도 행렬을 생성한 후 2차원 심층합성곱신경망(Deep Convolutional Nerual Network, DCNN) 학습 과정에 입력으로 활용한다.

최종적으로 파인 튜닝(Fine-tuning)과 학습된 3차원 심층합성곱신경망과 2차원 심층합성곱신경망이 결합된 다중 심층합성곱신경망이 입력 비디오 시퀀스의 신원(identity)을 식별한다. 제안 방법을 검증하기 위해 비디오 얼굴 데이터베이스인 COX Face 데이터베이스와 표준 프로토콜[11]을 참조하여 최신 얼굴식별 방법과 비교하였다.

2. 제안 방법

제안한 비디오 얼굴식별 방법은 Fig.1에서 볼 수 있듯이, 크게 두 가지 단계로 구성된다. 첫 번째 단계는 주어진 비디오 시퀀스를 다중개의 부분 비디오 시퀀스(sub-video sequences)들로 분리한 뒤 3차원 심층합성곱신경망에 입력되어 분류신뢰도들을 출력한다. 부분 비디오 시퀀스들로부터 획득한 분류신뢰도들은 결합을 통해 분류신뢰도 행렬(class-con-fidencematrix)을 형성한다. 두 번째 단계는 첫 번째 단계에서 생성된 분류신뢰도 행렬은 2차원 심층합성곱신경망의 입력되어 분류를 통해 비디오 얼굴 영상에 대한 신원(identity)을 식별한다. 아래 절들에서 Fig. 1에서 제안하는 각각의 단계들을 상세하게 설명한다.

MTMDCW_2019_v22n6_655_f0001.png 이미지

Fig. 1. An overview of the proposed 3D-2D combined deep convolutional neural network (DCNN) architecture for improved video face identification.

2.1 3차원 심층합성곱신경망의 기본 구조

2차원 심층합성곱신경망(2D Deep Convolutional Neural network)은 다층 인공신경망의 일종으로 영상과 같이 각 데이터 차원 간 기하학적 연관성을 가지는 데이터를 효과적으로 인식하기 위해 제안되었다[12].2차원 심층합성곱신경망은 2차원 합성곱(2D convolution) 연산과 2차원 통합(2Dpooling) 연산으로 2차원 공간에 대해 수행한다면,3차원 심층합성곱신경망은 3D 합성곱(convolution)과 3D 통합(poo-ling) 연산으로 시공간적 정보(spatiotemporal information)를 모델링할 수 있다. 그림 Fig.2(a)와 (b)와 같이 2D 합성곱(convolution)은 여러 영상들이 적용되어도 채널정보로 인식되기 때문에 하나의 영상만을 생성시키지만, Fig.2(c)에서 보인 것 같이 3D합성곱(convolution)은 입력신호의 시간적 정보를 보존하고 생성 결과물이 volume형태가 된다. 3차원 심층합성곱신경망은 3차원 합성곱 계층(3D convolution layer), 3차원 통합 계층(3D poolinglayer)와 완전 연결 계층(fully-connected layer)과 같은 3가지 계층을 깊게 쌓아 신경망을 구성하게 된다.

3차원 합성곱 계층(3D convolution layer)은 입력되는 전체 영상에서 합성곱 연산을 거쳐 특징 맵 추출을 진행한다. 3차원 통합 계층(3D pooling layer)은 (Fig. 2(e) 참조)3차원 합성곱 계층(3D convolution Layer)에서 추출된 특징을 바탕으로 sub-sampling을 사용하여 차원 축소와 입력 공간의 추상화를 통해 약한특징은 무시하면서 강한 특징을 추출한다. 완전 연결계층(fully-connected layer)은 3차원 합성곱 계층(3D convolution layer), 3차원 통합 계층(3D pooling layer)의 반복을 통해 추출 된 특징들을 이용한 객체의 부류별 분류 목적으로 사용된다.

이때 분류결과를 얻기 위해 softmax-loss 계층[13]을 사용한다. 이후 마지막 계층부터 초기 계층까지 역전파(back-propagation) 알고리즘을 사용하여 오차를 최소화하기 위해 가중치를 찾는 학습이 진행되며, 지속적인 반복학습을 통해 점차적으로 강한 특징 맵 추출과 높은 분류 정확도를 도출한다.

MTMDCW_2019_v22n6_655_f0002.png 이미지

Fig. 2. Visualized examples of 2D and 3D convolution/pooling operations. (a) Applying 2D convolution on image results in an images. (b) Applying 2D convolution on a video volume(multiple frames as multiple channels). (c) Applying 3D convolution on a video volume results in another volume. (d) Applying 2D pooling on image results in an images. (e) Applying 3D pooling on a video volume results in another volume.

2.2 분류신뢰도 행렬 생성을 위한 3차원 심층합성곱신경망 파인 튜닝(Fine-tuning)

3차원 심층합성곱신경망은 사전 학습된(pre-trained) 신경망인 기존 C3D 신경망[10]을 사용하여 파인 튜닝(Fine-tuning)을 통해 얼굴식별을 수행하였다. C3D 신경망은 8개의 합성곱 계층과 5개의 통합계층 그리고 2개의 완전 연결 계층으로 구성되어 있으며, 1.1백만 개의 비디오,487개의 부류로 구성된 Sport-1M 데이터베이스[14]를 사용하여 사전 학습된(pre-trained) 신경망 모델이다 [10]. 파인 튜닝을 위해 마지막 완전 연결계층(487개 부류)은 인식 대상자들의 수로 구성된 완전 연결 계층으로 교체하여 3차원 심층합성곱신경망(3D-DCNN)에 적용했다. 여기서 파인튜닝은 심층합성곱신경망(DCNN)의 경험적 손실을 최소화하는(즉, 에러율을 감소시키는)필터 가중치를 찾는 반복적 작업이다.[14]로 부터 생성된 심층합성곱신경망의 필터 가중치는 COX Face 데이터베이스로 재학습을 통해 파인 튜닝되어비디오 얼굴식별을 위한 특징들을 보다 잘 반영 할수 있게 된다. 3차원 심층합성곱신경망의 입력이volume이므로 입력 비디오 시퀀스(sequence) 형태는 K개의 얼굴영상 프레임들로 구성된 부분 비디오 시퀀스 \(S_{m}=\left\{S_{m}^{(1)}, S_{m}^{(2)}, \ldots, S_{m}^{(k)}, \ldots, S_{m}^{(K)}\right\}\)를 생성하여 학습하였다(Fig. 3 참고). 여기서 \(m(1 \leq m \leq M)\)은 주어진 전체 비디오 영상을 분할하여 생성한 시퀀스들의 개수이고 \(k(1 \leq k \leq K)\)는 k번째 프레임을 나타낸다. 부분 비디오 시퀀스 Sm은 정규화를 한 후 사전 학습된(pre-trained) C3D 신경망을 학습하여 파인 튜닝된 신경망을 형성하게 된다.

MTMDCW_2019_v22n6_655_f0003.png 이미지

Fig. 3. Example of generation and normalization of M sub-video sequences each composed of K face images.

정규화는 아래 수식과 같이 정규화하고자 하는 시퀀스에서 전체 시퀀스의 평균을 빼어 구한다. 이를 위해, m번째 시퀀스의 평균 \(\mathbf{E}\left(S_{m}\right)\)은 다음과 같이 구한다.

\(\mathrm{E}\left(S_{m}\right)=\sum_{k=1}^{K}\left(\frac{1}{X \times Y} \sum_{p=(1,1)}^{(X, Y)} S_{m}^{(k)}(p)\right)\)       (1)

여기서, X와 Y는 비디오 얼굴 영상의 넓이와 높이이며, k는 프레임의 수이다. p는 영상에서 픽셀 위치(pixellocation)를 나타내는 변수이다. 정규화한 부분 비디오 시퀀스 NSm의 표현은 다음과 같이 표현된다.

\(N S_{m}^{(k)}=S_{m}^{(k)}-\frac{1}{G} \sum_{m=1}^{G} \mathrm{E}\left(S_{m}\right)\)       (2)

여기서 전체 인식 대상자에 대한 총 비디오의 개수를 N개라고 할 때, 비디오 마다 M개의 부분 비디오 시퀀스 Sm 으로 나누었다. 이때 총 부분 시퀀스의 개수 G= N×M개다.

정규화된 부분 비디오 시퀀스는 C3D 신경망 학습에 사용되며,3차원 심층합성곱신경망은 인식 대상자의 수만큼 분류신뢰도를 출력한다. 분류신뢰도를 얻기 위해,3차원 심층합성곱신경망의 마지막 완전연결 계층은 소프트맥스 계층(softmaxlayer)에 연결이 된다. 연결된 소프트맥스 계층은 이전 계층인완전연결 계층 노드 (fully-connected layernode)의 특징 맵 \(\boldsymbol{h}_{m}=\left\{h_{m}^{(1)}, h_{m}^{(2)}, \ldots, h_{m}^{(i)}, \ldots, h_{m}^{(H)}\right\}\)과 해당 가중치 \(W_{m}=\left[\begin{array}{ccc} W_{m}^{(1,1)} & \cdots & W_{m}^{(1, Z)} \\ & \ddots & \\ \vdots & W_{m}^{(i, z)} & \vdots \\ & & \ddots & \\ W_{m}^{(H, 1)} & \cdots & W_{m}^{(H, Z)} \end{array}\right]\)을 활용하며, m번째 시퀀스에 대한 z번째 얼굴 인식대상자의 특징맵(feturemap) \(\mathrm{f}_{m}^{z}\) 는 다음과 같이 표현된다.

\(\mathrm{f}_{m}^{z}=\sum_{i=1}^{H} h_{m}^{(i)} W_{m}^{(i, z)} \text { for } z \in\{1,2, \ldots, Z\}\)       (3)

여기서 H는 완전 연결 계층 노드의 개수이다.

수식 (3)에 \(\mathrm{f}_{m}^{z}\)를 활용하여 소프트맥스 계층에 의한 확률 \(\mathrm{P}\left(c_{z} | N S_{m}\right)\)은 다음과 같이 구한다.

\(\mathrm{P}\left(c_{z} | N S_{m}\right)=\frac{\exp \left(\mathrm{f}_{m}^{z}\right)}{\sum_{z=1}^{Z} \exp \left(\mathrm{f}_{m}^{z}\right)}\)       (4)

여기서 Z는 얼굴인식 대상자의 총 인원 수이고 \(\mathrm{P}\left(c_{z} | N S_{m}\right)\)는 m번째 부분 비디오 시퀀스가 z번째 신원(identity)으로 식별될 확률을 나타낸다. 결과적으로 각각의 부분 비디오 시퀀스 당 분류신뢰도 값\(\mathrm{F}_{m}=\left[\mathrm{P}\left(c_{1} | N S_{m}\right), \mathrm{P}\left(c_{2} | N S_{m}\right), \ldots, \mathrm{P}\left(c_{Z} | N S_{m}\right)\right]^{\mathrm{T}}\)가 출력된다. 여기서 T는 벡터의 전치 연산자(transpose oper-ator)이다. 총 m개의 부분 시퀀스들에 대한 분류신뢰도 행렬은 아래 수식 (5)와 같이 2차원 행렬형태(matrix form)로 결합된다.

\(\mathrm{F}=\left[\mathrm{F}_{1}: \mathrm{F}_{2}: \mathrm{F}_{3}: \ldots: \mathrm{F}_{M}\right]\)       (5)

여기서 분류신뢰도 행렬 F의 크기는 Z×M이며, M은 총 부분 시퀀스들의 개수이고 Z는 얼굴인식 대상자의 총 인원수 이다.

가중치 w가 주어질 때 m번째 시퀀스 NSm에 대한 부류를 예측하는 3차원 심층합성곱신경망 의 결과(분류 신뢰도)\(\mathbf{f}_{m}=\left\{\mathbf{f}_{m}^{1}, \mathbf{f}_{m}^{2}, \ldots, \mathbf{f}_{m}^{i}, \ldots, \mathbf{f}_{m}^{Z}\right\}, \mathbf{f}_{m} \in \mathbb{R}^{Z}\)을 도출하는 함수를 \(f\left(N S_{m}, \mathbf{W}\right)\)으로 정의하였다. 시퀀스 NSm에 대한 심층합성곱신경망의 손실 함수 L은 아래와 같이 정의된다.

\(L\left(N S_{m}, \mathbf{w}\right)=\frac{1}{Z} \sum_{i=1}^{Z} l\left(f\left(N S_{m}, \mathbf{w}\right), \hat{c}_{i}\right)\)       (7)

여기서 는 i번째 신원의 실제 부류(ground-truth classlabel)이다. 그리고 \(l\left(c_{i}, \hat{c}_{i}\right)\)은 예측한 부류 \(c_{i}\)와 실제 부류 \(\hat{c}_{i}\)간의 차이를 계산하는 손실 함수로, 소프트맥스 손실 함수(softmax-lossfunction) l [15]로 설정하였다. 본 연구에서는 최적의 w를 찾기 위해 미니배치(mini-batch) 확률적 경사 하강법(sto-chastic gradient descent)[16]를 사용했다. 이 손실함수는 부분 시퀀스들의 보완정보(complementaryinformation)를 얼굴인식에 활용하기 위해 부분 시퀀스로 나눈 것이며 부분 시퀀스로 이루어진 Class-confidence matrix 생성하여 2차원 심층합성곱신경망(2D-DCNN)이 이를 분류하도록 설계하기 위해 m개의 부분 시퀀스마다 구하였다. 부가적으로 전체 시퀀스를 사용하여 3차원 심층합성곱신경망(3D-DCNN)을 훈련할 경우 GPU 메모리의 많은 리소스(resource)를 필요로 한다. 따라서 계산 효율성 측면도 고려하여 전체 시퀀스를 개의 부분 시퀀스로 나누어 학습을 하였다.

2.3 분류신뢰도 행렬 활용 2차원 심층합성곱신경망 학습과 신원 분류

수식 (5)에 의해 3차원 심층합성곱신경망을 통해출력된 M개의 부분 시퀀스들의 분류신뢰도를 결합한 분류신뢰도 행렬 F는 직렬로 연결된 2차원 심층합성곱신경망 학습을 위한 입력으로 활용된다. 입력을 F로 하는 2차원 심층합성곱신경망의 손실 함수 L은 아래와 같이 정의된다.

\(L\left(\mathrm{F}, \mathrm{w}_{2}\right)=\frac{1}{Z} \sum_{i=1}^{Z} l\left(f\left(\mathrm{F}, \mathrm{w}_{2}\right), \hat{c}_{i}\right)\)       (8)

여기서 \(f\left(\mathbf{F}, \mathbf{w}_{2}\right)\)은 가중치 w2가 주어질 때 분류신뢰도 행렬 F에 대한 부류를 예측하는 2차원 심층합성곱신경망 함수의 결과이다. \(\hat{c}_{i}\)는 i번째 신원의 실제 부류(ground-truth)이다. 그리고 \(l\left(c_{i}, \hat{c}_{i}\right)\)은 예측한 부류 \(c_{i}\)와 실제 부류 \(\hat{c}_{i}\)간의 차이를 계산하는 손실 함수로, 소프트맥스 손실 함수(softmax-lossfunction) [15]로 설정하였다.

2차원 합성 신경망은 Table1과 같이 7개의 합성곱 계층과 5개의 통합 계층,3개의 완전연결 계층 구조로 설계하였다. 그리고 마지막 계층은 소프트맥스 손실(softmax-loss) 계층을 연결하였다.2차원 심층합성곱신경망의 가중치 초기화 방법은 Xavier 초기화[17]를 사용하였다. 입력을 분류신뢰도 행렬 F로하는 학습된 2차원 심층합성곱신경망은 인식 대상자의 수만큼 분류신뢰도를 출력한다. 분류신뢰도를 얻기 위해 2차원 심층합성곱신경망의 마지막 완전연결계층은 소프트맥스 계층에 연결이 되며, 수식 (3)와 (4)에 의해 분류신뢰도 \(\mathbf{g}_{i}=\left[\mathrm{P}\left(c_{1} | \mathbf{f}_{i}\right), \mathrm{P}\left(c_{2} | \mathbf{f}_{i}\right), \ldots, \mathrm{P}\left(c_{Z} | \mathbf{f}_{i}\right)\right]^{\mathrm{T}}\)를 출력한다. 이때수식 (8)에 의해 비디오 시퀀스의 신원g을 결정한다.

\(\hat{\mathbf{g}}_{i}=\underset{s, 1 \leq j \leq z}{\arg \max }\left(\mathbf{g}_{i}\right)\)       (8)

Table 1. Structure of 2D deep convolutional neural network

MTMDCW_2019_v22n6_655_t0001.png 이미지

3. 실험 결과 및 분석

3.1 실험환경

본 연구에서 제안한 방법은 비디오 얼굴식별의 실험 평가로 많이 사용되는 COX Face 데이터베이스[11]을 사용하여 평가했다. COX Face 데이터베이스는 제약된(constrained) 환경에 대한 비디오 얼굴인식을 위해 만들어졌다. 총 1,000명의 인식 대상자로 구성되어 있고, 각 인식 대상자 당 3개의 비디오 시퀀스(Cam1,2,3)가 있으며 얼굴영역에 대해 검출 및 정렬 처리가 되어있다.COX Face 데이터베이스의 비디오 시퀀스는 평균적으로 170 프레임의 영상으로 구성되어 있다. Fig. 4은 실험에 사용된 영상의 일부를 보여준다. C3D 신경망[10]는 시퀀스 크기가 K=16이므로 본 실험도 동일한 조건으로 훈련했으며, 부분 비디오 시퀀스 간의 8개의 프레임을 겹쳐 형성하였다. 학습 시 파라미터는 학습 속도(learning rate) 0.0001, 가중치 감소(weightdecay)0.0005, 모멘텀(momentum) 0.9, 배치 크기(batchsize)16, 에포크(epoch) 1000으로 설정하였다.

MTMDCW_2019_v22n6_655_f0004.png 이미지

Fig. 4. Example of cropped and aligned facial images in video sequence from COX face database.

3.2 COX Face 데이터베이스 활용 비교실험 및 분석

COX Face 데이터베이스는 표준 프로토콜[11]을참조하여 최신 얼굴 식별 방법과 비교하였고 공정한 비교를 위해 최신 얼굴 인식방법들의 인식율(identification rate)들은 논문[7,15,18-21]에서 직접 인용하였다. 제안한 방법 및 최신 알고리즘의 Rank-1 인식율(identificationrate)는 Table2에 표로 정리되어 있다.Table2에서의 실험 비교는 SV 방법으로 번째 비디오 세트를 프로브(Probe)집합으로 사용하고 정지영상인 S는 갤러리 집합으로 사용하여 테스트가 이루어졌다. 그러나 본 실험에서는 별도의 갤러리 집합을 사용하지 않고 프로브 집합을 활용하여 테스트를 진행하였다. 또한 분류신뢰도 행렬 형성시 부분 시퀀스보다 인식대상자가 많을 경우 직사각행렬이 생성되는데 이때 직사각행렬을 열(row) 방향으로 중복 연결하여 정방행렬에 최대한 가깝게 생성한 뒤 2차원 심층합성곱신경망의 입력으로 활용된다. 예를 들어, 본 실험에서는 분류신되로 행렬의 행(column)의 개수는 인식대상자 수인 1000명이고 열(row)의 개수는 16개의 부분 시퀀스로 구성 되었고(즉 1000×16) 열 방향으로 16개의 부분 시퀀스들을 60번 반복 연결하여 최종적으로 1000×960의 분류신뢰도 행렬을 구성하여 2차원 심층합성곱신경망 입력으로 활용하여 실험하였다.

Table 2. Rank-1 Identification Rates(%) Under the S2V Setting for Different Methods on the COX Face Database

MTMDCW_2019_v22n6_655_t0002.png 이미지

본 논문에서는 3차원 심층합성곱신경망에서 출력되어 결합된 분류신뢰도 행렬을 분류하기 위해 2차원 심층합성곱신경망을 활용하였다. 제안한 방법의 우수성을 검증하기 위해 3차원 심층합성곱신경망의 완전 연결 계층에서 추출된 특징들을 행렬 형태로 결합하여 2차원 심층합성곱신경망 학습에 입력으로 활용하는 방법과 비교하였다.Table2에서 나타낸 것 같이 제안한 방법의 성능은 V1,V2,V3 테스트 집합에 대해 87.84± 1.43%, 87.23± 0.97%, 95.45± 1.36%에성능을 보였다. 참고문헌 [7]에서 제시한 현재까지 보고된 최고 식별 성능과 비교했을 때 0.4%, 0.63%, 0.79% 만큼의 근소한 성능차이를 보였으며 참고논문 [15]에서 제시한 방법과 비교했을 때 인식율(iden-tification rate)이 각각 18.23%, 19.12%, 18.94%만큼향상되었다. 또한 제안 방법에서 분류 신뢰도를 2차원 심층합성곱신경망에 입력으로 활용한 방법이 완전 연결 계층의 특징을 입력으로 활용한 방법보다 4.4%, 4.25%, 5.74%만큼 향상되었다.

비디오 얼굴 영상을 입력으로 하는 경우 2차원 심층합성곱신경망보다 3차원 심층합성곱신경망이 시공간적 특징 정보를 활용하므로 우수한 성능을 얻을 수 있었다. 또한 기존 3차원 심층합성곱신경망[10]의 경우 부분 비디오 시퀀스에 대한 시공간적 특징 정보만 고려되었다. 반면 제안한 방법은 전체 비디오 시퀀스에 대한 시공간적 정보가 통합적으로 결합되어 상호 보완적인(mutually compensational) 차별정보(discriminating information)를 2차원 심층합성곱신경망을 통해 학습하므로 우수한 식별성능 성취가 가능하다. 제안한 방법에서 완전 연결 계층의 특징을 활용하는 경우 분류신뢰도보다 특징차원이 더 크기 때문에 많은 훈련 데이터가 필요하다. 이런 사실은머신러닝 분야에서 차원의 저주(curse of dimensionality) 원리에 근거한다. 본 논문 성능평가에서 사용된 COX Face DB와 같이 보통 비디오 얼굴인식의 경우(예:CCTV 기반 인식 시스템) 각 인식대상당 얼굴영상 샘플들의 수가 적어 심층 특징(deep features)들을 활용하는 경우 분류신뢰도를 활용한 방법보다 성능이 저조하다고 할 수 있다.

Fig.5는 C3D 신경망[10]을 활용하여 파인 튜닝(Fine-tuning)된 3차원 심층합성곱신경망에서 특정계층의 특징 맵(feature map)을 시각화한 그림이다. 특징 맵은 입력 데이터가 합성곱 계층을 통과된 결과로 활성화(activation)가 강하게 발생된 부분은 밝게표시되며, 반대로 약하게 발생된 부분은 어둡게 표시된다. Fig. 5에서 얼굴의 포즈가 변하는 시퀀스 경우, 주로 눈, 코, 입에 활성화(activation)되는 부분이 많아지는 것을 확인 할 수 있다. 또한, 시퀀스의 진행에 따라 눈, 코, 입의 변화를 추적하며 활성화(activation)가 이루어진 것을 역시 확인할 수 있다. 이는 비디오의 단일 프레임에 대해 공간 특징 정보를 활용하면서 동시에 비디오 시퀀스의 시간적 변화에 따른 특징 정보를 사용하고 있음을 의미한다.

Fig. 5. Visualization of feature (activation) maps from a selected layer of our 3D-DCNN trained on C3D [10] network. Herein, the strongest activations for the selected conv2 layer are displayed. Feature maps generated using grayscale input image sequences are shown above.

5. 결론

비디오 얼굴 식별은 많은 프레임들로(frames) 구성 되어 있어 복잡한 계산 복잡도를 가지고 있으며, 프레임들간의 시간적 연관성(temporal dependency)을 고려해야 된다. 이에 보다 많은 프레임을 시간적 순서대로 사용하여 비디오에 시간/공간 특징 정보를얼굴인식에 활용하고 다중 개의 인식결과들을 활용한 학습을 통해 최적화하기 위해 본 논문에서는 결합된 3차원-2차원 심층합성곱신경망을 제안하였다. 제안한 방법에서는 전체 비디오 시퀀스를 부분 시퀀스들로 분할한 후 해당 3차원 심층합성곱신경망(DCNN)식별 결과들의 결합을 위해 전통적인 고정 결합 룰(fusion rule)을 사용하지 않고 2차원 심층합성곱신경망과의 직렬 연결을 통해 결합하는 방식으로 비디오 얼굴인식 성능을 개선하였다. 실험 결과 비디오얼굴 영상을 입력으로 하는 경우 2차원 심층합성곱신경망보다 3차원 심층합성곱신경망이 시공간적 특징 정보를 활용하므로 우수한 인식 성능을 나타내었고 COX Face 데이터베이스를 활용하여 보고된 최고 인식성능과 비교할 때 제안방법은 0.4%, 0.63%, 0.79% 만큼의 근소한 성능차이를 보였다. 최신 방법과 유사한 인식성능이 나타나는 이유는 3차원-2차원 심층합성곱신경망의 직렬연결(Cascade)을 통해 일부 패턴의 손실이 발생하더라도 2차원 심층합성곱신경망 학습을 통해 패턴 손실을 보상할 수 있기 때문이다. 현재 제시한 방법의 단점으로는 인식 대상자의 인원수에 따라 2차원 심층합성곱신경망(2D-DCNN)의 입력 구조를 변형해야 된다는 것이다. 또한 3차원 심층합성곱신경망과 2차원 심층합성곱신경망이 개별적으로 학습이 되고 있어 최적의 결합 성능이 달성되지 못할 수 있다. 추후 연구에서는 인식 대상자의 인원수에 따라 신경망 구조를 변형해야 되는 문제점을 해결하고,3차원 심층합성곱신경망과 2차원 심층합성곱신경망의 손실함수들을 하나의 단일 손실함수로 통합하고 동시에 훈련(joint training)하는 학습방법을 개발하여 인식성능을 고도화하는 연구를 수행하고자 한다.

참고문헌

  1. K.Y. 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
  2. J. Deng, W. Dong, R. Socher, L.J. Li, K. Li, L. Fei-Fei, et al., "ImageNet: A Large-scale Hierarchical Image Database," Computer Vision and Pattern Recognition, pp. 248-255, 2009.
  3. Y. Taigman, M. Yang, M. Ranzato, and L. Wolf, "DeepFace: Closing the Gap to Human-Level Performance in Face Verification," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp. 1701-1708, 2014.
  4. Y. Sun, X. Wang, and X. Tang, "Deep Learning Face Representation from Predicting 10,000 classes," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp. 1891-1898, 2014.
  5. F. Schroff, D. Kalenichenko, and J. Philbin, "FaceNet: A Unified Embedding for Face Recognition and Clustering," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp. 815-823, 2015.
  6. J. Yang, P. Ren, D. Zhang, D. Chen, F. Wen, H. Li, and G. Hua, "Neural Aggregation Network for Video Face Recognition," Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pp. 7, 2017.
  7. C. Ding and D. Tao, “Trunk-branch Ensemble Convolutional Neural Networks for Video- Based Face Recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 40, No. 4, pp. 1002-1014, 2018. https://doi.org/10.1109/TPAMI.2017.2700390
  8. A. Karpathy, G. Toderici, S. Shetty, L. Leung, R. Sukthankar, L. Fei-Fei, et al., "Large-scale Video Classification with Convolutional Neural Networks," Proceeding of International Conference on Computer Vision and Pattern Recognition, pp. 1725-1732, 2014.
  9. S. Ji, W. Xu, M. Yang, and K. Yu, “3D Convolutional Neural Networks for Human Action Recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 35, No. 1, pp. 221-231, 2013. https://doi.org/10.1109/TPAMI.2012.59
  10. D. Tran, L. Bourdev, R. Fergus, L. Torresani, and M. Paluri, "Learning Spatiotemporal Features with 3D Convolutional Networks," Proceedings of the IEEE International Conference on Computer Vision, pp. 4489-4497, 2015.
  11. Z. Huang, et al., “A Benchmark and Comparative Study of Videobased Face Recognition on COX Face Database,” IEEE Transactions Image Processing, Vol. 24, No. 12, pp. 5967-5981, 2015. https://doi.org/10.1109/TIP.2015.2493448
  12. Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, “Gradient-based Learning Applied to Document Recognition,” Proceedings of the IEEE, Vol. 86, No. 11, pp. 2278-2324, 1998. https://doi.org/10.1109/5.726791
  13. GU, Jiuxiang, et al., "Recent Advances in Convolutional Neural Networks," Pattern Recognition, Vol. 77, pp. 354-377, 2018. https://doi.org/10.1016/j.patcog.2017.10.013
  14. A. Karpathy, G. Toderici, S. Shetty, T. Leung, R. Sukthankar, and L. Fei-Fei, "Large-scale Video Classification with Convolutional Neural Networks," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1725-1732, 2014.
  15. O.M. Parkhi, A. Vedaldi, and A. Zisserman, "Deep Face Recognition," Proceedings of European Conference on Computer Vision, pp. 1-12, 2015.
  16. Y. LeCun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, et al., “Backpropagation Applied to Handwritten Zip Code Recognition,” Neural Computation, Vol. 1, No. 4, pp. 541-551, 1989. https://doi.org/10.1162/neco.1989.1.4.541
  17. X. Glorot and Y. Bengio, "Understanding the Difficulty of Training Deep Feedforward Neural Networks," Proceedings of International Conference on Artificial Intelligence and Statistics, pp. 249-256, 2010.
  18. Z. Huang, S. Shan, R. Wang, H. Zhang, S. Lao, A. Kuerban, et al., “A Benchmark and Comparative Study of Video-based Face Recognition on Cox Face Database,” IEEE Transactions on Image Processing, Vol. 24, No. 12, pp. 5967-5981, 2015. https://doi.org/10.1109/TIP.2015.2493448
  19. Z. Huang, R. Wang, S. Shan, and X. Chen, "Learning Euclidean-to-riemannian Metric for Point-to-set Classification," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1677-1684, 2014.
  20. M. Parchami, S. Bashbaghi, E. Granger, and S. Sayed, "Using Deep Autoencoders to Learn Robust Domain-invariant Representations for still-to-video Face Recognition," Proceedings of 2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance, pp. 1-6, 2017.
  21. M. Parchami, S. Bashbaghi, and E. Granger, "Cnns with Cross-correlation Matching for Face Recognition in Video Surveillance Using a Single Training Sample Per Person," Proceedings of 2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance, pp. 1-6, 2017.
  22. M. Hernandez-Duran, Y. Plasencia-Calana, and H. Mendez-Vazquez, "Low-Resolution Face Recognition with Deep Convolutional Features in the Dissimilarity Space," Proceedings of International Workshop on Artificial Intelligence and Pattern Recognition, pp. 95-103, 2018.