ArcFace를 사용한 경량 신원인식 네트워크
초록
본 논문에서는 신원인식 분야에서 강인한 특성을 가지는 손실함수인 ArcFace와 ResNet-18을 결합한 경량 신원인식 네트워크를 제안한다. 본 논문에서는 ResNet-18 네트워크의 연산량을 줄이기 위해 ResNet-18을 단일 채널 기반 네트워크로 수정하였다. 그리고 채널 수 감소에 따른 네트워크의 성능 저하 문제를 보완하기 위해 각도 마진 기반의 손실함수를 사용하는 ArcFace를 단일 채널 기반 ResNet-18 네트워크와 결합하여 네트워크의 성능 저하를 보완하였다. 제안된 네트워크는 33명의 얼굴 사진으로 구성된 10,056개의 실험 데이터 세트로 학습 및 추론을 수행하였다. 실험 결과 본 논문에서 제안하는 ArcFace 기반 경량 ResNet-18은 기존 ResNet-18 대비 약 1.3배의 처리 속도 향상을 확인하였으며, 기존 ResNet-18의 추론 정확도인 97.6%와 유사한 96.9%의 추론 정확도를 도출하였다.
Abstract
In this paper, we propose a lightweight identity recognition network combining ArcFace, a loss function with robust characteristics in the field of face recognition, and ResNet-18. In this paper, ResNet-18 is modified to a single-channel-based network to reduce the computational amount of the ResNet-18 network. And to compensate for the network performance degradation due to the decrease in the number of channels, ArcFace, which uses an angle margin-based loss function, was combined with a single-channel-based ResNet-18 network to compensate for the network performance degradation. The proposed network performed training and inference with 10,056 experimental data sets consisting of face photos of 33 people. As a result of the experiment, it was confirmed that the proposed ArcFace-based lightweight ResNet-18 improved processing speed by about 1.3 times compared to the existing ResNet-18. In addition, an inference accuracy of 96.9%, similar to that of the existing network ResNet-18, which is 97.6%, was derived.
Keywords:
ArcFace, lightweight CNN, identity recognition, edge AIⅠ. 서 론
CNN(Convolutional Neural Network)은 이미지 분류 및 객체 검출에 많이 사용될 뿐만 아니라 얼굴인식 분야에서도 높은 성능을 보인다. 또한 보안 등의 신원 정보가 요구되는 분야에서는 CNN을 사용하여 신원을 인식하기 위한 연구가 활발히 이루어지고 있다[1][2]. 또한 지능형 자율 이동 작업 로봇(AMMR, Autonomous Mobile Manipulation Robot)[3] 과 같은 지능형 로봇 분야에서도 사용자의 신원인식을 위한 시스템의 필요성이 증가하고 있다.
CNN을 실시간으로 처리하기 위해서는 고속 병렬 연산 처리 장치인 GPU(Graphics Processing Unit)를 주로 사용한다. 하지만 엣지 디바이스와 같은 소형 디바이스에서는 GPU를 사용하기에 전력 및 크기로 인한 제약이 발생한다. 최근 엣지 디바이스에서 CNN의 실시간 처리를 위한 전용 하드웨어 가속기가 활발히 연구되고 있으며[4], CNN의 경량화를 통해 실시간 처리의 목적을 가지는 경량 딥러닝(Lightweight deep learning) 연구가 활발히 이루어지고 있다[5][6]. 또한 CNN 기반의 네트워크에서 추론 값과 정답 값 사이의 손실을 정의하는 손실함수를 활용하여 신원 인식률을 높이기 위한 연구도 활발히 이루어지고 있다[7]-[10].
ResNet[11]의 경우 분류 및 객체 검출에 널리 사용되고 있으며, 이미지 처리를 위해 세 개의 채널을 사용하는 구조를 가진다. 본 논문에서는 ResNet-18의 연산량을 줄이기 위해 채널 수를 조정하여 네트워크를 경량화하였다. 경량화된 네트워크는 ResNet-18 대비 향상된 처리 속도를 보였으나 채널 수 감소에 따른 네트워크의 성능 저하를 실험을 통해 확인하였다. 이는 채널이 감소함에 따라 입력 데이터의 특징 또한 줄어들어 세 개의 채널을 사용하는 기존 네트워크보다 낮은 추론 정확도를 보인다. 본 논문에서는 단일 채널 기반 경량 ResNet-18 네트워크의 추론 정확도 감소를 보완하기 위해 각도 마진 기반 손실함수(Angular margin loss)를 사용하는 ArcFace[10]를 결합하였다. ArcFace는 얼굴 인식 기반 신원확인 네트워크 모델에서 높은 성능을 보였으며 입력 데이터의 특징을 가지는 특징 벡터(Embedding)를 입력으로 사용한다. ResNet-18 기반 경량 네트워크의 출력은 ArcFace와의 결합을 위해 동일한 크기의 특징 벡터를 가진다. 또한 네트워크의 계층 최적화를 통해 입력 데이터의 특징 손실을 최소화하였으며 실험을 통해 처리속도 및 정확도 향상을 확인하였다.
제안하는 네트워크에 사용된 데이터 세트는 조명이나 표정 등의 다양한 환경을 고려한 33개의 클래스를 가지는 실 환경 데이터 세트를 구축하고 학습 및 추론을 통해 네트워크의 성능을 확인하였다. 또한 동일한 데이터 세트를 사용하여 기존의 ResNet-18과 제안하는 단일 채널 및 ArcFace 기반 ResNet-18 경량 네트워크를 학습하고 추론을 수행하였으며, 구조 및 성능 비교 평가를 통해 기존 연구내용[12]을 확장하였다.
본 논문의 2장에서는 기존의 경량 CNN 중 하나인 ResNet-18과 CNN에서 사용되는 손실함수의 종류와 특징에 대해 설명한다. 3장에서는 본 논문에서 제안하는 ArcFace를 사용한 경량 신원인식 네트워크의 구조에 대해 설명한다. 이후 4장에서는 기존의 네트워크인 ResNet-18과 제안하는 네트워크를 비교 평가한 결과를 제시한다. 5장에서는 본 논문의 결론과 향후 연구에 대해 논한다.
Ⅱ. 기존 연구
2.1 ResNet
네트워크의 계층을 깊게 쌓아 구성된 기존의 일반적인 네트워크는 계층의 수가 깊어지게 되면 기울기 소실(Vanishing gradient), 과적합(Overfitting) 등의 문제가 발생하고 정확도가 저하되는 문제가 나타난다. ResNet은 이를 개선하기 위해 그림 1과 같은 잔여 블록(Residual block)의 구조를 가지며, 합성곱 연산을 하는 합성곱 계층(Convolution layer), ReLU 함수를 사용한 활성화 계층(Activation layer), F(x)의 출력과 잔여 블록의 입력인 x를 합산(Addition)하는 계층으로 구성된다[11]. ResNet은 잔여 블록을 적층하여 네트워크를 구성하며 이러한 구조는 이전 계층의 출력 특징을 유지시키는 연산을 수행하기에 기울기 소실, 과적합, 정확도 저하의 문제를 개선할 수 있다[11].
그림 2는 잔여 블록을 사용하는 ResNet 중 경량 네트워크인 ResNet-18의 구조를 보여준다. ResNet-18은 224×224×3의 입력 크기를 가지며 7×7의 필터를 사용하는 합성곱 계층, 배치 정규화 계층, ReLU 함수를 사용한 활성화 계층, 최대 풀링 계층, 4개의 잔여 블록을 2회 적층하여 구성된 계층, 평균 풀링 계층, 완전 연결 계층과 활성화를 위한 소프트맥스 계층으로 구성된다.
2.2 신원인식률 향상을 위한 손실함수
CNN에 대표적으로 사용되는 활성화 함수인 소프트맥스는 입력의 값을 확률로 표현하기 위해 0~1 사이의 값으로 정규화한다. 학습 또는 추론을 위해서 확률로 표현된 결과의 값과 정답 값의 오차에 대한 정보가 필요하며, 손실함수 통해 오차를 구할 수 있다. 분류의 목적을 가지는 CNN 모델에서는 주로 크로스 엔트로피 손실함수[13]를 사용하여 오차를 구한다. 식 (1)은 크로스 엔트로피 손실함수의 수식을 보여준다. 데이터의 개수(n), 범주의 개수(C), 정답 값(L)과 실제 값에 대한 확률 값(P)을 통해 정답 값과 실제 값의 오차(H(L,P)를 구할 수 있다. 최근 크로스 엔트로피 손실함수 이외의 네트워크의 성능을 높이기 위한 손실함수에 대한 연구가 활발하게 이루어지고 있다[7]-[10]. 특히 ArcFace[10]의 경우 얼굴 인식 분야에서 다른 손실함수보다 높은 성능을 보이며 식 (2)는 ArcFace 손실함수의 수식을 보여준다. xi는 i번째의 특징 벡터(Embedding)를 나타내고 yi는 특징벡터가 몇 번째 범주에 속하는지를 나타낸다. Wj는 j번째의 가중치를 뜻하며, N은 범주의 개수를 의미한다. 또한 특징벡터는 s의 값을 통해 정규화되며 m값을 통해 마진의 강도를 결정한다.
(1) |
(2) |
그림 3은 입력의 특징 정보를 가지는 특징 벡터를 크로스 엔트로피 손실함수와 ArcFace를 사용하여 분류할 경우의 차이점을 보여준다. 크로스 엔트로피 손실함수의 경우 1차원의 결정 경계(Decision boundary)를 사용하여 특징 벡터의 범주(Class)와 범주 중심과의 거리를 측정한다[13]. 범주의 수가 많을 경우 학습 시 결정 경계를 특정하기에 어려움이 있으며 모호한 결정 경계로 인해 학습되지 않은 새로운 특징 벡터를 추론하지 못하는 close-set 문제가 발생할 수 있다[10]. ArcFace의 경우 1차원의 결정 경계를 사용하는 크로스 엔트로피 손실함수와는 달리 각도 정보를 사용한 2차원의 결정 경계로 특징 벡터를 분류한다.
ArcFace의 결정 경계의 경우 식 (2)의 m값에 따라 범주를 결정하는 결정 경계에 마진이 생성되고 학습 또는 추론 시에 크로스 엔트로피 손실함수와는 달리 범주의 수가 많아지더라도 결정 경계를 쉽게 특정할 수 있다[10]. ArcFace를 사용할 경우 크로스 엔트로피 손실함수보다 모델의 일반화(Generalization) 성능이 높으며, 학습되지 않은 특징 벡터를 추론하지 못하는 close-set 문제를 해결할 수 있다[10].
Ⅲ. 제안하는 경량 신원 인식 네트워크
그림 4는 본 논문에서 제안하는 경량 신원 인식 네트워크의 구조를 보여준다. 제안하는 네트워크의 입력은 128×128×1의 입력 크기를 가지며 ResNet-18 대비 약 9배 작은 입력 크기를 가진다. 단일 채널 기반 네트워크의 경우 기존 다채널 기반 네트워크에 비해 적은 연산량을 가지지만 입력의 특징 표현에 한계가 있어 네트워크의 성능에 영향을 미친다.
이에 본 논문에서는 ArcFece를 결합하여 네트워크의 성능을 향상 시켰으며, 최대 풀링 및 평균 풀링 계층을 제거하여 네트워크를 경량화하였다. 또한 기존의 풀링 계층의 기능인 데이터 크기 감소의 역할을 합성곱 계층의 스트라이드(Stride)를 증가시켜 보완하였다.
제안하는 네트워크는 ResNet-18의 연산을 줄이기 위해 채널의 수를 감소시키고 계층을 축소한 경량 네트워크인 Lightweight CNN을 사용한다.
Lightweight CNN의 구조는 그림 5와 같으며, 그림 6에서는 본 논문에서 제안하는 경량 신원인식 네트워크의 동작 흐름을 보여준다. 경량 네트워크에 단일 채널로 구성된 입력 데이터가 입력되면 입력 데이터에 대한 512개의 특징 벡터가 출력되고 이를 ArcFace의 입력으로 사용한다. 경량 네트워크에서 출력된 특징 벡터는 ArcFace의 입력 크기와 동일하며 각도 정보가 추가된 특징 벡터를 출력한다.
Ⅳ. 성능 평가 및 실험 결과
4.1 실험 환경 및 방법
제안하는 경량 신원인식 네트워크의 경우 딥러닝 프레임워크인 Pytorch에서 구현되었으며, 신원인식을 위해 33명의 실험용 얼굴 사진을 데이터 세트로 사용하였다. 그림 7은 신원인식을 위해 사용된 데이터 세트의 예를 보여준다. 실험용 데이터 세트를 확장하기 위해 다양한 방향의 얼굴을 촬영하였으며, 실제 환경을 고려하기 위해 마스크, 안경, 모자를 착용하여 데이터를 구성하였다. 또한 밝기 변화 및 블러링(Blurring) 처리와 같은 이미지 전처리 과정을 통해 데이터를 확장하였다. 총 10,056장의 데이터로 구성되며, 학습에 7,108장, 테스트를 위해 2,552장, 검증에 396장을 사용하였으며 모든 데이터의 크기는 네트워크의 입력 크기로 변환하여 사용하였다.
제안하는 경량 신원인식 네트워크를 학습 시 데이터의 배치(Batch) 크기는 32를 사용하였고 검증 시 데이터의 배치 크기는 30의 크기를 사용하였다.
그림 8은 제안하는 경량 신원인식 네트워크를 신원인식을 위한 실험용 얼굴 데이터 세트를 사용하여 학습한 결과를 보여주며 정답 값과 추론 값의 차이인 손실 값을 나타낸다. 그림 9는 신원인식을 위한 실험용 얼굴 데이터 세트 중 검증용 데이터를 사용한 검증 결과를 보여주며 검증 시 추론 정확도를 나타낸다.
소프트맥스와 크로스 엔트로피 손실함수를 사용하는 ResNet-18과 Lightweight CNN과는 달리 제안하는 경량 신원인식 네트워크는 ArcFace를 손실함수로 사용한다. ArcFace를 사용할 경우 식 (2)와 같이 각도 정보가 포함된 특징 벡터를 출력하기에 그림 10과 같은 과정을 통해 동작 검증을 수행한다. 서로 다른 사람의 얼굴 사진인 두 입력 x와 y에 대해 유사성을 판별하며 각각의 입력에 대한 각도 정보가 추가된 특징 벡터의 차이를 비교한다.
4.2 실험 결과 및 성능 평가
제안하는 경량 신원인식 네트워크의 성능 평가를 위해 ResNet-18과 Lightweight CNN을 동일한 실험용 데이터 세트를 사용하여 학습하고 성능을 비교 평가하였다.
그림 11은 총 3개의 네트워크를 동일한 조건에서 성능 평가한 결과를 보여준다. 제안하는 경량 신원인식 네트워크는 동일한 입력 크기를 가지는 Lightweight CNN 대비 약 5.7%의 정확도 향상과 기존 네트워크인 ResNet-18과 유사한 신원인식 정확도를 가지는 것을 확인하였으며, ArcFace의 특징인 각도 정보를 포함하는 2차원의 결정 경계를 사용함으로 비교 네트워크 중 가장 빠르게 최대 정확도로 수렴하는 것을 확인하였다.
그림 12는 기존의 ResNet-18, ResNet-18을 단일 채널로 경량화한 Lightweight CNN, 그리고 제안하는 네트워크인 ArcFace 기반 Lightweight CNN의 처리 속도를 비교하기 위해 하나의 이미지를 추론할 시 사용되는 처리 시간을 비교한 결과를 보여준다. ResNet-18의 경우 하나의 이미지를 추론할 시 평균 약 0.22초의 처리 시간을 보이며, 단일 채널을 사용하는 경량 네트워크의 경우 평균 약 0.15초의 처리 시간을 확인하였다. ResNet-18보다 빠른 처리 시간을 보여주지만 그림 11의 비교 검증 결과에서 볼 수 있듯이 경량 네트워크의 정확도는 ResNet-18보다 낮은 정확도를 보였으며, 본 논문의 3장 1절에서 언급하였던 입력 데이터의 특징 감소에 따른 성능 저하를 확인하였다.
본 논문에서는 이러한 문제를 해결하기 위해 단일 채널을 사용하더라도 기존의 정확도를 유지하는 경량 신원인식 네트워크를 제안하기 위해 ArcFace를 결합하였다.
제안하는 네트워크는 하나의 이미지를 추론할 시 평균 약 0.17초의 처리 시간을 가지며, ResNet-18 대비 약 1.3배 빠른 처리 속도를 가진다. 하지만 경량 네트워크 보다 약 0.8배 느린 처리 속도를 보이는데 이는 네트워크의 신원인식 정확도 향상을 위해 결합한 ArcFace의 처리 시간이 추가된 결과이다.
표 1은 ResNet-18과 Lightweight CNN을 제안하는 ArcFace 기반 경량 신원인식 네트워크와 비교 평가한 결과를 보여준다. 제안하는 ArcFace 기반 경량 신원인식 네트워크는 약 96.9%의 신원인식 정확도를 보여주며 동일한 입력 크기를 가지는 경량 네트워크 대비 약 5.7%의 정확도 향상을 확인하였다. 처리 속도의 경우 ResNet-18보다 약 1.3배의 향상된 처리 속도를 보였다.
Ⅴ. 결 론
본 논문에서는 엣지 디바이스를 위한 경량 신원인식 네트워크를 제안하였다. 본 논문에서는 ResNet-18을 단일 채널 기반 네트워크로 경량화하였으며, 채널 수 감소에 따른 네트워크의 성능 저하를 각도 마진 기반의 손실함수인 ArcFace와 결합하여 네트워크의 성능 저하를 보완하였다. 성능 평가를 위해 33명의 얼굴 사진으로 구성된 10,056장의 실험 데이터 세트를 사용하여 학습 및 추론을 수행하였으며, 비교평가를 위해 3개의 네트워크를 동일한 데이터 세트를 사용하여 실험을 수행하였다.
실험 결과 제안하는 ArcFace 기반 경량 신원인식 네트워크는 기존 ResNet-18 대비 약 1.3배의 처리 속도 향상을 확인하였다. 이는 제안하는 ArcFace 기반 경량 신원인식 네트워크가 단일 채널 기반으로 동작함으로써 기존 다중 채널 기반 ResNet-18 대비 약 9배 작은 크기의 입력 데이터를 사용하기 때문이다. 하지만 일반적으로 처리 속도 향상을 위해 단일 채널 기반으로 동작할 경우 추론 정확도는 91.27%로써 기존 다중 채널 기반 ResNet-18의 추론 정확도인 97.6%보다 성능이 낮아지게 된다. 본 논문에서는 이러한 정확도 감소 문제를 개선하기 위해 단일 채널 기반 경량 네트워크를 ArcFace와 결합하여 정확도 손실의 폭을 줄였다.
실험 결과 제안하는 ArcFace 기반 경량 신원인식 네트워크는 기존 ResNet-18의 추론 정확도인 97.6%와 유사한 96.9%의 추론 정확도를 나타내었다.
향후 제안하는 경량 신원인식 네트워크는 지능형 자율 이동 작업 로봇(AMMR, Autonomous Mobile Manipulation Robot)[3] 및 엣지 시스템에서 실시간으로 사용자의 신원확인이 필요한 시스템에 적용할 계획이다.
Acknowledgments
“본 연구는 과학기술정보통신부 및 정보통신기획평가원의 지역지능화혁신인재양성(GrandICT연구센터) 사업의연구결과로수행되었음”(IITP-2022-2020-0-01791)
References
- G. Ryu and D. Choi, "Artificial Intelligence Security Attacks and Countermeasures Research Trend", Review of KIISC, Vol. 30, No. 5, pp. 93-99, Oct. 2020. https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10484345, .
- J. Y. Park and S. H. Ok, "A Study on a Identification Method using Multiple Data Synthesis Algorithms and Convolutional Neural Networks", The Journal of Korean Institute of Information Technology, Vol. 19, No. 11, pp. 99-106, Nov. 2021. [https://doi.org/10.14801/jkiit.2021.19.11.99]
- H. S. Kim and S. H. Ok, "Implement of a ROS-based AGV Platform Capable of Omnidirectional Detection", Proc. of KIIT Conference, Jeju, korea, pp. 137-139, Jun. 2021. https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10568891, .
- M. Lee, J. Jeong, J. Lee, J. Han, and Y. Kwon, "Artificial Intelligence Processor Technology Trend", Electronic Communication Trend Analysis, Vol. 35, No 3, pp. 66-75, Jun. 2020.. [https://doi.org/10.22648/ETRI.2020.J.350307]
- Y. J. Lee, Y. H. Moon, J. Y. Park, and O. G. Min, "Recent R&D Trends for Lightweight Deep Learning", Electronics and Telecommunications Trends, Vol. 34, No. 2, pp. 40–50, Apr. 2019. [https://doi.org/10.22648/ETRI.2019.J.340205]
- E. H. Kim, K. H. Lee, and W. K. Sung, "Recent Trends in Lightweight Technology for Deep Neural Networks", Communications of the Korean Institute of Information Scientists and Engineers, Vol 38, No. 8, pp. 18-29, Aug. 2020. https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE09414770, .
- J. Wang, F. Zhou, S. Wen, X. Liu, and Y. Lin, "Deep Metric Learning with Angular Loss", 2017 IEEE International Conference on Computer Vision, pp. 2612-2620. Aug. 2017. [https://doi.org/10.1109/ICCV.2017.283]
- W. Liu, Y. Wen, Z. Yu, M. Li, B. Raj, and L. Song, "SphereFace: Deep Hypersphere Embedding for Face Recognition", 2017 IEEE Conference on Computer Vision and Pattern Recognition, pp. 6738-6746, Jan. 2018. [https://doi.org/10.1109/CVPR.2017.713]
- H. Wang et al., "CosFace: Large Margin Cosine Loss for Deep Face Recognition", 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 5265-5274. Apr. 2018. [https://doi.org/10.1109/CVPR.2018.00552]
- J. Deng, J. Guo, N. Xue and S. Zafeiriou, "ArcFace: Additive Angular Margin Loss for Deep Face Recognition", 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp. 4685-4694, Feb. 2019. [https://doi.org/10.1109/CVPR.2019.00482]
- K. He, X. Zhang, S. Ren, and J. Sun, "Deep Residual Learning for Image Recognition", 2016 IEEE Conference on Computer Vision and Pattern Recognition, pp. 770-778, Jun. 2016. [https://doi.org/10.1109/CVPR.2016.90]
- H. J. Kwon and S. H. Ok, "Lightweight Identity Recognition Network for Edge Devices", The Institute of Electronics and Information Engineers, pp. 1769-1771, Jun. 2021. https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10591562, .
- I. J. Good, "Some Terminology and Notation in Information Theory", Proc. of the IEE - Part C: Monographs, Vol. 103, No. 3, pp. 200-204, Mar. 1956. [https://doi.org/10.1049/pi-c.1956.0024]
2021년 2월 : 동의대학교 로봇·자동화공학전공(공학사)
2021년 3월~현재 : 동의대학교 인공지능학과(석사과정)
관심분야 : On-device AI, NPU, FPGA
2008년 2월 : 경북대학교 전자공학과(공학석사)
2014년 2월 : 경북대학교 전자공학부(공학박사)
2014년 3월 ~ 2017년 8월 : 삼성전자 책임연구원
2017년 9월 ~ 현재 : 동의대학교 로봇·자동화공학전공 조교수
관심분야 : 로봇비전, SoC, VLSI