• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Smart ICT Convergence Engineering, Konkuk University, Korea)



Multiple Face Recognition, Automatic Attendance, Frontal Face Detection

1. 서 론

최근까지도 계속되는 코로나 바이러스로 인해 언택트 기술이 요구되고 있으며, 다시 한번 사회적 관심을 받고 있다. 그 중에서도 얼굴인식 기술은 딥러닝 분야에서 현재까지도 각광 받는 연구 분야로 많은 연구진들에 의해 발전 해오고 있다. 요즘 사회 곳곳에서 쉽게 찾아 볼 수 있는 얼굴인식 기술은 영상 내 얼굴의 위치를 찾고 해당 영역을 데이터베이스에 저장된 얼굴 이미지들과 비교를 통해 가장 유사도가 높은 얼굴과 매칭을 시켜주는 기술로 범죄 용의자 색출 분야, 공항 출입국 시스템, 모바일 개인인증 시스템 등 다양한 플랫폼에 적용되어 그 효용성을 보이고 있다. 본 논문에서는 얼굴인식 기술을 자동출석 시스템에 적용하였다. 학교에서 학생을 평가하는 중요한 항목 중 하나인 학생출석은 학생 개인의 전반적인 학교 생활이나 성적에 영향을 줄 수 있는 요소이다. 본 논문에서 제안하고 있는 학생 출석 방식은 다음과 같다. 입력으로 수업 영상을 받게되면 영상 내 존재하는 모든 얼굴들을 검출하여 사전 제작된 데이터베이스와 유사도 비교를 통해 얼굴 인식을 수행한다. 최종적으로 인식된 결과를 바탕으로 자동 출석 체크를 하게된다. 여기서 다수의 얼굴 인식의 정확도와 속도는 한명만 인식하는 문제와 비교할 때 크게 저하될 수 있다. 본 논문에서는 이러한 문제를 해결하고자 정면검출 알고리즘을 제안하여 정확도를 높이고 소거 방식의 얼굴 인식을 제안하여 인식된 비율이 증가 할수록 프레임 별 처리 속도를 증가 시켰다.

2. 배경지식 및 관련연구

2.1 얼굴검출

얼굴검출(Face Detection)은 영상 내 특정 물체의 위치를 찾는 객체검출(Object Detection) 기술의 하위 분야로 영상 내 찾고자 하는 범주가 얼굴이란 것을 제외하면 그 개념이 크게 다르지 않다. 다양한 시스템의 보조 기술로 적용되는 얼굴검출 기술은 얼굴인식(Face Recognition) 및 얼굴추적(Face Tracking) 기술의 필수 기술이며 가장 먼저 수행되는 기술이다. 정확한 얼굴 영역을 검출하는 것은 개발하고자 하는 시스템 성능에 많은 영향을 미칠 수 있는 중요한 요소이기 때문에 그만큼 중요하다.

최근 얼굴 검출에 가장 많이 사용되는 도구 중 하나로 OpenCV Haar Cascades Face Detector가 있다. 여기서 Haar Cascades는 기존 머신러닝 기반의 객체 검출 알고리즘이며, Viola and Jones(1)에 의해 처음 제안되었다. 제안 당시 효과적인 검출 방법으로 알려져 많은 연구진들의 관심을 받은 기술이며, 검출할 대상 물체가 있는 이미지를 Positive Image로, 검출 대상이 없는 이미지를 Negative Image로 구분하여 다단계 함수를 훈련하는 방식이다.

Dlib(HOG)은 C++로 작성된 강력한 이미지 프로세싱 라이브러리이다. 주로 얼굴검출 및 정렬(Alignment)을 수행할 때 사용된다. Dlib(HOG)은 얼굴검출을 수행할 때 HOG(Histogram of Oriented Gradients)(2) 기반 얼굴 검출을 수행하게 되는데 HOG는 이미지를 구성하는 모든 단일 픽셀을 보면서 해당 픽셀과 주변 픽셀들과의 비교를 통해 얼마나 어두운지를 알아낸다. 이 과정을 통해 이미지가 어두워지는 방향으로 그래디언트(Gradients)라고 하는 화살표를 그릴 수 있고, 이 화살표를 통해 밝은 부분에서부터 어두워지는 부분으로의 흐름을 알 수 있다. 이 흐름에서 얼굴을 찾기 위해서 반복적인 사전 훈련을 통해 얻어진 얼굴 이미지로부터 추출한 잘 알려진 HOG 패턴과 가장 유사한 부분을 이미지에서 찾으면 얼굴의 위치를 알 수 있다.

Haar Cascades Face Detector와 Dlib(HOG)이 특징소 기반으로 얼굴을 찾았다면, MTCNN(Multi-task Cascaded Convolutional Neural Networks)(3)은 사람의 얼굴을 표현하는 더 복잡한 특징들을 학습하기 위해 딥러닝 방식을 사용한다. MTCNN은 3개의 네트워크로 구성되어 있으며, CNN을 사용하여 얼굴검출 분야에서 큰 성능 향상을 이루어 냈다. 각 네트워크에서는 Face Classification, Bounding Box Regression, Face Landmark Localization 과정들을 수행하며, 이 세 가지 작업을 학습시키는 Joint Learning 개념을 도입해 빠른 속도와 정확도를 달성한 강력한 얼굴검출 기술이다. 본 논문에서는 다수의 얼굴 인식을 위해 다수의 얼굴 검출 과정에서 GPU로 가속화된 버전의 MTCNN을 사용한다.

2.2 얼굴인식

얼굴인식은 2.1장에 서술한 얼굴검출 기술을 통해 찾아낸 영상 내 얼굴이 누구의 얼굴인지 알아내는 기술이다. 얼굴인식 기술은 1991년 Eigenface(4)를 시작으로 연구자들의 관심을 받기 시작했으며, 현재까지도 활발한 연구가 이어지는 분야이다. 얼굴인식의 초창기 인식률이 80% 미만에 그쳤던 반면, 딥러닝 기법을 적용하면서 99%이상의 성능 향상을 이루어냈다. 하지만 얼굴인식 모델의 훈련 또는 추론 단계에서 얼굴의 위치나 각도 조명에 정확도가 영향을 받는 문제가 여전히 존재한다. 이러한 문제를 해결하기 위해 잘 알려진 전처리 방법으로 얼굴 영역에서 얼굴의 특징이 되는 눈, 코, 입 등의 위치를 찾고, 이러한 특징점을 통해 얼굴을 동일한 형태로 바꾸어 주는 정규화 과정을 거친 후 얼굴인식을 수행하게 된다. 본 논문에서는 이러한 과정 없이 얼굴의 특징점들을 활용하여 얼굴 검출 단계에서 얼굴 영역을 검출하게 되면 정면 여부를 판단하는 알고리즘을 제안하여 최종적으로 정면 얼굴만을 검출한다. 정면 얼굴 이미지만을 얼굴인식에 사용하여 정확도를 높였다.

그림. 1. 일반적인 얼굴인식 과정.

Fig. 1. General Face Recognition Process.

../../Resources/kiee/KIEE.2021.70.9.1362/fig1.png

그림 1은 일반적인 얼굴인식 과정을 도식화한 것이다. 먼저 입력 영상에 대한 얼굴 영역 검출이 이루어지며, 2.1절에 서술한 얼굴검출 도구들이 주로 사용된다. 얼굴이 검출 되었더라도 다른 방향을 보고 있으면 컴퓨터는 전혀 다르게 인식을 하기 때문에 각각의 얼굴 이미지들에서 눈, 코, 입 등의 특징점들을 찾아 회전(rotate)하고, 크기(scale)를 조절하고 비틀(shear)어서 얼굴 이미지들을 대략 동일한 위치에 맞추어 준다. 이러한 과정이 Face Alignment과정이며, 완료되면 얼굴인식을 수행하게 된다. 가장 간단한 방법은 레이블이 달린 얼굴들과 이전 과정에서 구해진 얼굴들을 모두 직접 비교하는 방법이다. 하지만 그 수가 방대하다면 효과적일 수 없다. 그렇기 때문에 얼굴에서 몇 가지 기본 특징값들을 추출하는 Face Embedding 과정을 거친다. 이 과정을 통해 얼굴에서 Feature Vector를 생성한다. 최종적으로 데이터베이스와 생성된 Feature Vector간 유사도 비교를 통해 얼굴인식을 수행하거나 분류기(Classifier)를 훈련시켜서 얼굴인식을 수행하는 것이 가장 일반적이다.

2.3 얼굴인식 모델

FaceNet(5)은 구글에서 2015년 공개한 얼굴인식 모델이다. 방대한 양의 자체 비공개 얼굴 이미지 데이터셋을 구축하여 딥러닝 학습 데이터로 사용하였다. 그 결과 기존 80% 미만의 얼굴인식 성능을 99%이상으로 끌어올린 얼굴인식 모델이다. 이 강력한 얼굴인식 모델은 얼굴 이미지로부터 128차원의 Feature Vector를 계산하여 유클리드 공간에서의 거리 즉, 유사도를 통해 분류하는 모델이며 더 나아가 얼굴에 대한 특징값을 구해주는 모델이다. 추가적으로 기존 모델들에서 당연시 되던 전처리 과정인 얼굴정렬을 하지 않고도 높은 성능을 달성했다. FaceNet은 학습과정에서 두 이미지 쌍의 유사도를 이용해 유사 데이터들 사이의 거리는 가깝게 유사하지 않은 데이터들 사이는 멀게 하는 어떤 Metric을 학습하는 Metric Learning을 한다. 이 Metric Learning을 수행하기 위해 대표적인 거리 기반 손실 함수인 Triplet Loss를 사용한다. 이 Triplet Loss는 특징 공간상에 동일인의 Feature Vector를 더 가깝게 비동일인 간의 거리는 더 멀게 표현하는 학습에 사용된다. Metric Learning이 성공적으로 이루어진다면, 거리를 이용한 간단한 학습 모델을 통해 효과적이고 강력한 얼굴인식을 수행 할 수 있다.

VGGFace(6)는 Oxford 대학의 Visual Geometry Group(VGG)이 공개한 모델이다. VGGFace는 Softmax Loss와 Triplet Loss를 모두 사용해서 성능을 높였으며, 공개 데이터베이스인 VGGFace Dataset을 만들었다. 약 200M의 방대한 양의 데이터셋을 사용한 FaceNet과는 다르게 VGGFace는 약 2.6M의 훨씬 더 적은 훈련 데이터셋으로 FaceNet의 99.63% 성능과 비슷한 98.95% 성능을 달성했다. 심지어 YTF(YouTubeFace) 데이터셋에서는 FaceNet의 95.1% 보다 더 좋은 97.3%의 성능을 달성했다. 추가적으로 VGGFace 데이터셋은 공개 및 재현되어 있어 많은 연구자들에 의해 사용되고 있다.

VGGFace2(7)는 VGGFace를 개선한 후속 모델로 2018년 공개되었다. VGGFace보다 더 큰 데이터셋을 구축하여 효과적인 훈련과 평가를 가능하게 했다. 본 논문에서는 VGGFace2에서 사전 훈련된 모델을 통해 얼굴 이미지에서 인코딩된 512차원의 Feature Vector를 계산한다. 본 논문에서는 VGGFace2에서 사전학습된 Inception_Resnet_v1을 사용하여 얼굴 이미지에서 Face Embedding을 계산한다.

2.4 얼굴인식 자동 출석 시스템

Nurkhamid 외 연구진에 의해 연구된 지능형 자동 출석 시스템(8)은 Google Meet를 통해 진행된 수업 영상에서 CNN 방식을 적용하여 수업 영상 내 존재하는 학생들을 동시에 식별할 수 있는 얼굴인식 기술을 적용한 지능형 출석 시스템 개발을 목적으로한다. 이 시스템은 수업 영상에서 HOG 기반 얼굴 검출을 한다. 검출된 얼굴은 CNN을 통해 인코딩하여 Numpy 배열로 저장하고 분류기를 이용하여 얼굴 인식을 수행한다. 총 16명에 대한 실험을 진행 하였으며, 영상 내 학생들의 얼굴은 아래를 응시하거나 측면, 정면 등 자유롭다. 표 1은 얼굴이 정면, 측면, 아래를 응시할 때의 각각의 정확도 실험을 한 결과이다.

표 1. Nurkhamid 외 연구진의 실험결과(8). 정면과 측면, 아래쪽을 응시하고 있을 때의 정확도를 나타낸다.

Table 1. Experimental results of Nurkhamid et al.(8). Accuracy when looking forward, sideways and down.

Conditions

Grand Total

Accuracy

1. Forward

16

81.25%

2. Sideways

16

75.00%

3. Down

16

43.75%

표 1의 결과는 정면을 응시하고 있는 경우 81.25%의 정확도를 보인다. 반면 측면을 응시할 경우 75%, 아래를 응시하고 있을 경우에는 43.75%로 낮은 정확도를 보인다. Nurkhamid 외 연구진들의 실험 결과에서 알 수 있듯이 얼굴 인식을 수행할 때 얼굴의 각도는 정확도에 큰 영향을 미치는걸 알 수 있다. 본 논문에서는 정면 검출 알고리즘을 제안하여 영상 내 인물이 정면을 응시할 경우에만 정면임을 판단하여 검출하고, 해당 검출 이미지만을 얼굴인식에 사용하여 좀 더 견고한 얼굴인식을 수행한다.

Angelo G. Menezes외 연구진의 의해 연구된 원샷 러닝 기반 자동 출석 시스템(9)은 자동출석 시스템에 딥 원샷 학습을 통한 얼굴인식을 적용하였으며 각기 다른 해상도의 이미지 캡처 기기를 통해 해상도에 따른 성능을 평가했다. 해당 연구에서 사용된 캡처 기기는 120만, 80만, 12만 화소의 도구들이며 단일 수업 영상에서 진행 되었다. 얼굴검출은 Nurkhamid 외 연구진들과 동일하게 Dlib(HOG) 방식의 Face Detecor를 사용하였다. 얼굴인식은 검출된 얼굴에 대한 Face Alignment 전처리 과정을 거친 후 사전 훈련된 FaceNet을 통해 수행되었다.

표 2. Angelo G. Menezes 외 연구진 실험환경(9). 각 클래스별 총 인원수를 나타낸다.

Table 2. Experimental environment of Angelo G. Menezes et al.(9). Shows the total number of people in each class.

Class

1

2

3

4

5

6

7

Num

16

18

12

17

10

33

19

표 2는 Angelo G. Menezes 외 연구진의 실험 환경을 보여준다. 표에서 Class는 클래스 넘버이며, Num은 각 클래스의 인식해야할 학생 수이다. 실험은 3가지의 각기 다른 해상도 캡처 도구를 사용하여 진행 되었으며, 강의실 앞쪽에 캡처 도구를 설치하여 영상을 촬영한 후 단일 이미지를 얼굴인식 파이프라인으로 보내어 실험 결과를 도출하였다.

표 3. Angelo G. Menezes 외 연구진 실험결과(10). 해상도가 각기 다른 캡처 디바이스를 통해 클래스별 인식률을 나타낸다.

Table 3. Experimental results of Angelo G. Menezes et al.(10). It shows the recognition rate for each class through capture devices with different resolutions.

Class

12MP

8MP

1.2MP

1

100%

100%

62.5%

2

94.4%

88.9%

44.4%

3

100%

100%

25%

4

100%

82.4%

76.5%

5

90%

80%

50%

6

100%

97%

57.6%

7

94.7%

94.7%

42.7%

Average

97.1%

91.9%

51.2%

표 3은 Angelo G. Menezes 외 연구진들의 실험 결과를 보여준다. 1200만(12MP) 화소의 캡처 도구로 얻은 이미지를 통해 얼굴인식을 수행한 경우 평균 97.1%의 정확도를 달성 했으며, 800만(8MP) 화소는 평균 91.9%, 120만(1.2MP) 화소는 51.2%를 달성 했다. 해당 연구의 실험은 캡처 도구의 해상도가 얼굴인식 정확도에 영향을 미칠 수 있다는 것을 보여주는 연구이며, 좀 더 분석을 한다면 낮은 해상도의 캡처 도구로 얼굴 이미지를 획득하게 되면 획득된 얼굴 영역의 이미지의 해상도 역시 낮아지게 되기 때문에 낮은 해상도의 얼굴 이미지를 얼굴인식에 사용했을 때 좋지 않은 성능을 보이는 것이다.

3. 시스템 구성

3.1 파이프라인

그림. 2. 다수의 얼굴 인식 기반 자동출석 시스템 순서도.

Fig. 2. Flowchart of automatic attendance systems based on multiple face recognition.

../../Resources/kiee/KIEE.2021.70.9.1362/fig2.png

그림 2는 본 논문에서 제안하는 정면 검출 알고리즘과 소거방식의 다수의 얼굴인식을 적용한 자동출석 시스템에 대한 순서도를 보여준다. 먼저 입력 데이터로 온라인 및 오프라인 수업 영상이 들어오면 얼굴 영역 검출을 시도한다. 이때 본 논문에서는 GPU로 가속화된 버전의 MTCNN을 사용하며, Probs (Probability Level)가 95%인 경우만 얼굴로 판단하여 검출한다. Probs는 Probability Level로 모델이 해당 검출 영역을 얼마나 얼굴로 확신하는지에 대한 확률로 Probs가 95라는 것은 주어진 모델이 95%확률로 해당 영역을 얼굴로 확신한다는 것을 의미한다. 만약 Probs에 대한 임계값 설정을 해주지 않는다면 얼굴이 아닌 영역에 대한 검출이 많아져 처리량이 증가하여 시스템 성능 저하의 원인이 된다. 얼굴 영역이 검출되면 정면 여부를 판단한다. 정면을 판단할 때는 얼굴의 특징점을 활용하며 자세한 내용은 뒤에서 다룬다. 정면 얼굴까지 판단이 되었다면 사전 제작된 데이터베이스의 인물들과 코사인 유사도 비교를 통해 임계값 65이상인 인물 중 max값을 뽑아서 해당 인물로 인식한다. 임계값 65는 실험을 통해 구해진 값으로 시스템에서 최적화된 임계값이다. 인식이 완료 되면 소거방식이 적용된다. 소거방식의 다수의 얼굴인식은 인식된 인물의 이름과 정보, 인식된 얼굴의 좌표값을 각각 데이터베이스와 다음 비디오 프레임에서 지우는 방법이다. 데이터베이스에서 인식된 인물 정보를 지우는 이유는 비디오 프레임을 처리하는 시스템 특성상 정면 얼굴이 검출되면 데이터베이스에 존재하는 모든 인물과의 유사도 비교가 반복 되는데, 만약 이미 인식된 인물의 정보가 남아 있다면 무의미한 비교를 반복하게 될 것 이며, 처리 속도에 영향을 줄 것 이다. 이러한 문제를 방지하고자 데이터베이스에서 인식된 인물의 정보에 태깅을 하여 비교 대상에서 지워준다. 인식된 인물의 얼굴 좌표값을 인식된 프레임 다음 프레임부터 지워 주는 것도 같은 이유에서 이다. 한명만 인식하는 작업과는 다르게 다수의 얼굴 인식을 수행할 경우 영상에 존재하는 인물들의 모든 얼굴 영역에 대한 검출이 반복되기 때문에 인식된 프레임 다음 프레임부터는 해당 인식된 인물의 얼굴 좌표값을 지워 인식된 인물의 대한 재검출을 방지한다. 이러한 전 과정은 더 이상 얼굴이 검출되지 않을 때 까지 반복하여 수행한다.

3.2 데이터페이스

수업 중 출석부를 통해 출석 확인을 하듯이 본 논문에서 제안하는 시스템은 데이터베이스를 통해 해당 인물을 인식하여 출석 확인을 한다. 본 논문에서 사용하는 데이터베이스는 인식해야 할 인물들의 대표 정면 이미지를 한명 당 평균 2장에서 3장으로 구성하여 직접 제작하였다. 실험에 사용된 테스트 비디오가 YouTube celebrity들의 인터뷰 영상을 기반으로 제작되었기 때문에 데이터베이스 역시 해당 celebrity의 이미지들 웹에서 크롤링하여 얼굴 영역을 검출하여 검출된 얼굴 이미지를 512차원의 Feature Vector 형태로 저장하여 데이터베이스를 구성하였다.

표 4. 데이터베이스 구성. 총 43명에 대하여 한명당 2장에서 3장의 정면 얼굴이미지로 데이터베이스를 구축하였다.

Table 4. Database configuration. A database was constructed with 2 to 3 frontal face images per person for a total of 43 people.

총 인원

총 얼굴 이미지 수

43명

94장

표 4는 제작된 데이터베스의 구성을 보여준다. 총 43명에 대해 한명 당 2~3장의 얼굴 이미지로 구성하여 총 94장으로 제작되었다. 본 논문에서 제안하고 있는 시스템은 정면 얼굴로 판단 되어야만 유사도 비교를 진행하여 얼굴인식을 수행한다. 만약 영상 내 정면 얼굴을 검출하였다면 검출된 얼굴 하나당 94번 비교를 수행하게 된다. 만약 10명을 인식하는 경우 10명 동시에 정면 얼굴이 검출되었다는 가정하에 단순계산하면 940번 유사도 비교를 수행하는 것이다. 하지만 정면 얼굴 판단을 하지 않고 모든 각도의 얼굴에 대한 얼굴인식이 이루어지면 940번이 아니라 그 수는 더 증가할 것이며, 인식 속도 뿐만 아니라 정확도가 크게 떨어질 것이다. 그렇기 때문에 얼굴 인식을 수행하기 위해 정면 얼굴만을 검출하는 작업은 시스템 성능에 영향을 미치는 중요한 작업이다.

3.3 정면 얼굴 검출

다수의 얼굴 인식을 수행하기 위해 다수의 얼굴 검출을 수행하게 되면 영상 내 존재하는 인물의 수에 따라 수십장의 얼굴 이미지들이 동시에 검출된다. 이때 검출된 이미지마다 유사도 비교를 수행하게 되면 처리 속도에 문제가 된다. 이러한 문제를 해결하고자 검출된 얼굴 이미지에 대한 정면 판단을 수행하게 되고 정면 얼굴 이미지만을 대상으로 유사도 비교를 통한 얼굴인식을 수행하게 된다. 정면 검출 알고리즘은 다음과 같다.

그림. 3. 얼굴 영역 검출 및 5 Facial Landmarks. 검출된 얼굴에 대한 5-Landmark Points를 추출 결과.

Fig. 3. Facial region detection and 5 Facial landmarks. Extraction result of 5-landmark Points for the detected face.

../../Resources/kiee/KIEE.2021.70.9.1362/fig3.png

그림 3은 얼굴 영역 검출과 5-Landmark Points 추출 결과를 보여준다. 얼굴 영역 검출은 MTCNN을 통해 이루어지며, 얼굴 영역이 검출되면 해당 얼굴에 대하여 5-Landmark Points를 추출하게 된다. 5-Landmark Points는 68-Landmark Points와는 다르게 오른쪽 눈 양 끝점 2개, 왼쪽 눈 양 끝점 2개, 코 끝점 1개로 총 5개의 점을 추출한다. 68-Landmark Points의 축소 버전이며, 실제 모델 크기도 1/10 정도로 작다. 그렇기 때문에 속도 향상 측면에서도 도움이 되는 것으로 알려져 있고, 다수의 얼굴에 대한 작업을 수행 하는 본 논문에서 제안하는 시스템에서는 더 적합하다.

정면 얼굴 검출 알고리즘의 아이디어는 다음과 같다. MTCNN으로 얼굴 검출을 수행할 경우 얼굴 주위에 사각형의 바운딩 박스를 그릴 수 있는데, 바운딩 박스 안쪽 얼굴의 눈의 위치는 정면일수록 그림 4이미지 아래 표시된 A와 B의 차이가 적어질 것 이라는 생각에서 시작되었다.

왼쪽 눈의 왼쪽 3번 point의 좌표를 (x1, y1)이라 하고, 오른쪽 눈의 오른쪽 1번 point의 좌표를 (x2, y2)라고 할 때, A는 x1이 되고, B는 이미지 Width와 x2의 차를 구하면 얻을 수 있다. 그런 다음 구해진 A와 B의 값의 차이를 구해서 특정 임계값 이하의 값을 가진다면 정면으로 판단을 할 수 있게 된다.

그림. 4. 정면 얼굴 판단. A와 B를 계산하여 그 차를 구해 특정 임계값 이하인 경우 정면임을 판단 및 검출한다.

Fig. 4. Frontal face detection. Find the values of A and B, calculate the difference, and judge directly if it is less than or equal th the threshold.

../../Resources/kiee/KIEE.2021.70.9.1362/fig4.png

다음은 정면 검출 알고리즘을 사용하여 간단한 정면 검출 실험을 진행한 결과이다. 실험은 10초 길이의 고개를 좌에서 우로 움직이는 영상에서 진행되었다. 정면 검출 알고리즘을 사용했을 때와 그렇지 않을때의 검출된 얼굴 이미지들을 영상 속 인물과 동일 인물의 대표 정면 얼굴이미지와 평균 유사도 값을 계산하여 비교했다.

그림. 5. 알고리즘을 사용 하지 않고 검출한 결과.

Fig. 5. Results of detecting face without using an algorithm.

../../Resources/kiee/KIEE.2021.70.9.1362/fig5.png

그림 5는 실험에 사용된 10초 길이의 영상에서 정면 검출 알고리즘을 사용하지 않고, MTCNN 모델의 Probs가 95% 이상일 때의 결과만을 검출한 결과이다. 검출 결과를 보면 정면 뿐만 아니라 측면 얼굴 까지 모두 검출된 결과를 보인다. 얼굴 이미지 위에 숫자는 영상 속 인물과 동일 인물의 대표 정면 얼굴 이미지와 유사도 비교를 통해 얻어진 값으로 대표 정면 이미지는 다른 시간과 장소에서 촬영된 이미지이다. 각 이미지의 유사도값을 보면 측면일수록 낮은 값을 보이는 것을 알 수 있다.

그림. 6. 알고리즘을 사용 하여 검출한 결과.

Fig. 6. Results of detecting face with using an algorithm.

../../Resources/kiee/KIEE.2021.70.9.1362/fig6.png

그림 6은 본 논문에서 제안하는 정면 검출 알고리즘을 사용하여 얼굴 검출을 수행한 결과이다. 임계값을 5로 설정하여 임계값 미만일 경우에만 얼굴 검출을 수행하였다. 검출 결과에서 알 수 있듯이 정면만을 검출한 결과를 보인다.태로 저장하여 데이터베이스를 구성하였다.

표 5. 정면, 비정면 얼굴의 평균 코사인 유사도.

Table 5. Mean cosine similarity of frontal and non-frontal faces.

평균 코사인 유사도

정면

0.7632

비정면

0.5733

표 5는 알고리즘을 사용했을 때를 정면, 알고리즘을 사용하지 않았을 때를 비정면으로 두고 평균 코사인 유사도를 계산한 결과이다. 표의 결과에서 알 수 있듯이 정면일 때의 평균 유사도가 더 높은 결과를 보인다.

기존 정면 얼굴을 판단하는 방법들에는 머리의 자세를 추정하는 Head Pose Estimation와 Dlib의 정면 검출 함수가 있다. 하지만 Dlib 함수인 get_frontal_face_detector()의 경우 실제 실험을 해보면 정면 뿐만 아니라 측면 까지 모두 검출되는 결과를 보인다. 반면 Head Pose Estimation의 경우 정면만을 검출하는 결과를 보이지만 얼굴의 끄덕임 정도, 기울임 정도 회전 등 룰 설정이 복잡하고 프로그램이 무거워지는 단점이 있다. 본 논문에서 제안하는 정면 검출 알고리즘은 이 두가지 방법 보다 간단한 방식으로 구현이 가능할 뿐만 아니라 다수의 얼굴 인식에 적용할 만큼의 강력한 결과를 보인다.

3.4 얼굴 특징 추출 및 유사도 비교

정면 얼굴이 검출되면 데이터베이스와의 유사도 비교를 통해 얼굴인식이 이루어진다. 하지만 얼굴 이미지간 유사성을 계산하기 위해서는 사전 작업이 필요하다. 얼굴에는 그 사람만 가지는 고유한 특징이 존재한다. 본 논문에서는 VGGFace2에서 사전 훈련된 Inception_Resnet_v1 모델을 통해 얼굴 이미지에서 512차원의 Feature Vector를 추출한다. 이러한 작업을 Face Encoding 또는 Face Embedding이라 한다.

얼굴 이미지에서 얻은 Feature Vector간 유사도를 구하는 방법은 크게 유클리디언 유사도(Euclidean Distance) 측정 방법과 코사인 유사도(Cosine Similarity) 측정 방법이 있다.

유클리디언 유사도는 대표적 거리 기반 유사도 측정 방법으로 L2 Distance, Euclidean Distance 등으로도 불리며, n 차원의 공간에서 두 점 사이의 최단 거리를 구하는 접근법이다.

코사인 유사도는 대표적인 각도 기반 유사도 측정 방법이다. 두 개의 Vector 값에서 코사인 각도를 구하게 되면 –1~1 사이 값을 가지는데 1에 가까울수록 유사도가 높다고 판단 되며, 단순 좌표 상의 거리를 구하는 것에 비해 두 Vector간의 각도를 구하는 것이기 때문에 방향성의 개념이 더해진다.

본 논문에서는 코사인 유사도를 사용하여 새로운 인물에 대해 데이터베이스와 유사도 비교를 수행한다.

3.5 소거 방식의 다수의 얼굴인식

다수의 얼굴 인식의 경우 한 사람만 인식하는 경우와 비교 했을 때 처리 속도나 정확도 측면에서 성능이 떨어질 수 밖에 없다. 이러한 문제를 해결하기 위해 본 논문에서는 소거 방식의 다수의 얼굴인식 방법을 제안한다.

그림 7은 소거 방식의 다수의 얼굴인식 과정을 도식화한 것이다. 비디오 프레임을 처리하는 시스템 특성상 프레임 마다 모든 사람의 얼굴이 검출 되어 수많은 유사도 비교가 이루어진다. 소거 방식은 검출된 얼굴이 데이터베이스와 유사도 비교를 통해 특정 인물로 인식이 되었다면 인식된 프레임의 다음 프레임부터는 해당 인물의 얼굴 좌표값을 지워서 더 이상 검출이 되지 않게 하는 방법이다. 이 방법을 통해 인식된 인물에 대한 불필요한 유사도 비교를 피할 수 있다. 추가적으로 데이터베이스에서도 인식된 인물 정보를 지워서 총 비교횟수를 줄였다. 결과적으로 실험을 통해 소거 방식을 사용하여 인식된 사람의 수가 증가할수록 초당 평균 처리하는 프레임 수가 증가하는 것을 확인 할 수 있었다.

그림. 7. 소거 방식의 다수의 얼굴인식 과정.

Fig. 7. Multiple face recognition process using the erasure method.

../../Resources/kiee/KIEE.2021.70.9.1362/fig7.png

4. 실험 설계 및 구성

4.1 실험 설계

본 논문에서는 다수의 얼굴 인식 성능을 실험하기 위해서 온라인 수업 형태의 영상을 직접 제작했으며, 해당 테스트 영상에서 다수의 얼굴인식 정확도와 소거 방식을 사용했을 때 인식된 인물의 비율이 증가함에 따른 초당 평균 처리 프레임 수의 변화를 측정했다.

4.2 테스트셋 구성

그림. 8. 테스트셋 예. 실제 실험에 사용된 표 6의 Test Video 5의 화면을 캡처한 것이다. 영상 속 인물에 대한 개인정보 보호 및 초상권 문제로 인하여 얼굴을 가렸다.

Fig. 8. Test-set example. It is a screen capture of Test Video 5 of Table 6 used in the actual experiment. Due to privacy and portrait rights issues, the face of the person in the video was covered.

../../Resources/kiee/KIEE.2021.70.9.1362/fig8.png

실험에 사용된 테스트셋은 그림 8과 같이 온라인 수업 형태와 유사한 환경을 직접 제작했다. Google Meet나 Zoom 등의 온라인 수업 플렛폼 특성상 격자 형태의 레이아웃에 각 셀 마다 학생이 위치하며 이동이 크지 않지만 몸이 틀어져 있거나 고개를 좌우로 욺직이는 등 자유로운 특징이 있다. 이러한 영상을 직접 제작하기 위해 YouTube 플랫폼에서 자유롭게 앉아 있는 영상들을 수집하여 2*2, 4*4 크기의 격자 형태로 제작하였다. 격자 셀 하나에는 보통 2명에서 많게는 3명이 존재하는 영상이며, 다양한 인종, 성별, 나이대의 사람들이 존재한다. 실험에 사용된 테스트 비디오는 총 6개이며 비디오마다 영상 내 존재하는 총 사람 수는 모두 다르다. 이는 적게 또는 많이 있는 영상에서 다수의 얼굴 인식을 실험하기 위함이다.

표 6. 테스트 비디오 구성. 각 비디오의 총 사람 수와 비디오 사이즈를 나타낸다.

Table 6. Test video configuration. Shows the total number of people in each video and the size of the video.

총 사람 수(명)

영상크기

Test Video 0

2

1400*900

Test Video 1

9

1920*1080

Test Video 2

8

1400*900

Test Video 3

9

1400*900

Test Video 4

10

1400*900

Test Video 5

36

1400*900

표 6은 실험에 사용된 테스트 비디오 구성이며, 각 테스트 비디오 내 존재하는 총 사람 수와 영상크기를 나타낸다.

4.3 실험 방법

실험은 다양한 수의 다양한 성별, 인종, 나이대의 사람들이 존재하는 테스트 비디오에서 다수의 얼굴 인식 정확도와 인식된 사람의 비율이 증가함에 따른 초당 평균 처리하는 프레임 수를 실험한다.

첫 번째 초당 평균 처리 프레임 수 실험은 인식된 사람의 비율이 30%, 50%, 90%인 지점에서 초당 평균 처리 프레임 수를 측정하였다. 인식 속도가 아닌 초당 평균 처리 프레임 수를 측정하는 이유는 본 논문에서 제안하는 시스템 특성상 정면을 응시해야만 얼굴인식이 진행되기 때문에 정면을 응시하지 않는 사람이 존재하는 영상에서의 인식 속도 측정은 무의미하기 때문이다.

두 번째 다수의 얼굴 인식 정확도 실험은 8명, 9명, 10명, 36명 등 영상 내 존재하는 총 사람의 수를 늘려가면서 정확도 측정을 하였으며, 영상에서 인식되어야 할 사람의 수와 정확히 인식된 사람의 수를 정확도 계산에 사용하였다.

5. 실험 설계 및 구성

5.1 초당 평균 처리 프레임 수

소거방식을 적용한 다수의 얼굴인식을 수행했을 때의 초당 평균 처리 프레임 수 측정에 앞서 비교를 위해 소거방식을 사용하지 않고 다수의 얼굴 검출만 수행 했을 때의 평균 frames per seconds(fps=number of processed frames / total second spent)와 코사인 유사도 비교를 통해 다수의 얼굴인식만 수행 했을 때의 평균 fps를 먼저 측정했다.

표 7은 소거 방식을 사용하지 않고 다수의 얼굴검출 및 인식만 수행 했을 때의 평균 fps를 보여준다. 표 7의 FD(Face Detection)는 다수의 얼굴 검출의 결과이고 FR(Face Recognition)은 다수의 얼굴인식의 결과이다. 표 7표 8의 1280과 640사이즈의 비디오는 표 6의 영상에서 실험을 위해 크기만 줄인 영상이며 같은 영상이다. 검출, 인식 결과 모두 비디오 사이즈가 작아질수록 초당 평균 처리 프레임 수가 증가하고 있다. 그 이유는 MTCNN이 12*12 사이즈의 윈도우를 입력 영상의 좌측 상단에서부터 오른쪽 하단까지 좌에서 우로 이동하면서 얼굴을 검출하기 때문이다. 그렇기 때문에 영상이 커질수록 이동 횟수가 증가하여 평균 처리 프레임 수가 낮아지는 것이다. 하지만 작은 사이즈의 윈도우를 사용하기 때문에 작은 얼굴 까지도 검출할 수 있다는 장점이 있다.

표 7. 얼굴 검출 및 얼굴 인식 초당 평균 처리 프레임 수. 소거 방식을 사용하지 않고, 다수의 얼굴 검출과 인식만을 수행 했을 때의 평균 fps를 나타낸다.

Table 7. Average number of frames processed per second for face detection and face recognition. It shows the average fps when only multiple face detection and recognition are performed without using the erasure method.

Num of Faces

FD(fps)

FR(fps)

Video Size

2

7.9

4.5

1400*900

2

8.0

4.9

1280*720

2

16.0

8.0

640*360

8

7.7

1.9

1400*900

8

8.1

2.1

1280*720

8

12.9

2.3

640*360

36

3.7

0.4

1400*900

36

4.2

0.5

1280*720

36

8.1

0.6

640*360

표 8. 인식된 비율에 따른 초당 평균 처리 프레임 수.

Table 8. Average number of processed frames per second as per recognized rate.

Num of Faces

30%

50%

90%

Video Size

2

-

8.0

-

1400*900

2

-

9.1

-

1280*720

2

-

21.3

-

640*360

8

3.0

6.0

8.5

1400*900

8

3.3

6.4

9.1

1280*720

8

7.1

10.0

16.3

640*360

36

1.2

2.4

4.2

1400*900

36

1.9

3.2

5.0

1280*720

36

2.7

6.0

10.3

640*360

표 8은 다수의 얼굴인식에 소거방식을 적용하여 인식된 비율이 증가함에 따른 초당 평균 처리 프레임 수를 측정한 것이다. 인식된 비율이 증가할수록 초당 평균 처리 프레임수가 증가하는 것을 결과에서 확인 할 수 있었다. 이 이유는 소거방식을 적용하여 인식된 비율이 증가할수록 영상 내 인식해야할 사람 수가 줄어들기 때문이다.

표 9~11표 7의 소거방식을 사용하지 않고 다수의 얼굴인식만 수행 했을 때의 초당 평균 처리 프레임 수와 각 인식된 비율마다 소거방식을 적용하여 측정한 초당 평균 처리 프레임 수를 비교하여 얼마나 빨라졌는지를 측정한 결과값이다. 소거방식을 적용하여 여러 얼굴인식을 수행했을 경우 인식 완료된 구간별 모두 속도가 증가한 것을 확인 할 수 있으며, 640*360 사이즈의 36명을 인식하는 경우 90% 인식이 완료된 구간에서 소거 방식을 적용했을 때 최대 17배 까지 초당 평균 처리 프레임수가 증가 했다. 그 이유는 인식된 인물에 대한 재검출이 이루어지지 않아 불필요한 재인식을 피해서 생긴 결과이다.

표 9. 소거 방식을 통한 속도 향상(30% 완료 구간).

Table 9. Speed up through erasure method(30% complete interval.)

Num of faces

FR(fps)

30%

Speed up

2

4.5

-

-

2

4.9

-

-

2

8.0

-

-

8

1.9

3.0

x1.57

8

2.1

3.3

x1.57

8

2.3

7.1

x3.08

36

0.4

1.2

x3.0

36

0.5

1.9

x3.8

36

0.6

2.7

x4.5

표 10. 소거 방식을 통한 속도 향상(50% 완료 구간).

Table 10. Speed up through erasure method(50% complete interval.)

Num of faces

FR(fps)

50%

Speed up

2

4.5

8.0

x1.77

2

4.9

9.1

x1.85

2

8.0

21.3

x2.66

8

1.9

6.0

x3.15

8

2.1

6.4

x3.04

8

2.3

10.0

x4.34

36

0.4

2.4

x6.0

36

0.5

3.2

x6.4

36

0.6

6.0

x10.0

표 11. 소거 방식을 통한 속도 향상(90% 완료 구간).

Table 11. Speed up through erasure method(90% complete interval.)

Num of faces

FR(fps)

90%

Speed up

2

4.5

-

-

2

4.9

-

-

2

8.0

-

-

8

1.9

8.5

x4.47

8

2.1

9.1

x4.33

8

2.3

16.3

x7.08

36

0.4

4.2

x10.5

36

0.5

5.0

x10.0

36

0.6

10.3

x17.1

5.2 정확도

다수의 얼굴 인식의 정확도 실험은 8명, 9명, 10명, 36명이 존재하는 테스트 비디오에서 정확도 실험을 진행 하였다. 측정 항목은 TAR(True Accept Rate, 데이터베이스에 존재하는 본인으로 인식할 확률), FAR(False Accept Rate, 데이터베이스에 존재 하지 않는 사람을 데이터베이스 있는 누군가로 인식할 확률), FRR(False Rejection Rate, 데이터베이스에는 존재하는데 인식을 못하는 확률), FMR(False Match Rate, 데이터베이스에 존재하는 본인이 아닌 다른 사람을 본인이라고 인식할 확률)을 각각 측정했으며 결과는 다음과 같다.

표 12. Test Video1~4의 8~10명 인식 결과.

Table 12. Recognition results of 8-10 pople in Test Video1~4.

TAR@FAR=0.001(TH=65)

TAR

100%

FRR

0%

FMR

0%

합계

=1

표 13. Test Video5 36명 인식 결과. 36명 인식할 때의 각 평가항목 측정 결과를 나타낸다.

Table 13. 36 recognition result of Test Video5. It shows the results of each evaluation item when recognizing 36 people.

TAR@FAR=0.001(TH=65)

TAR

97.2%

FRR

2.7%

FMR

0%

합계

=1

표 12는 영상 내 존재하는 총 인원이 8명, 9명, 10명인 테스트 비디오에서 다수의 얼굴인식을 수행한 결과이다. 코사인 유사도 임계값은 65로 설정하였고, 65라는 값은 실험을 통해 구해진 값이다. 결과적으로 10명 까지는 모두 정확히 인식한 결과를 보였다. 다만 표 13의 36명을 인식하는 경우 36명 중 1명을 인식하지 못해 FRR이 2.7%인 결과를 보였다. 그러나 인식하지 못한 이유가 시스템 특성상 정면을 응시해야만 얼굴 검출이 이루어지고 인식이 수행되는데 인식되지 않은 1명은 영상이 시작했을 때부터 끝까지 정면을 응시하지 않아서 생긴 결과이다.

6. 결 론

본 논문에서는 정확한 정면 얼굴 검출 알고리즘과 소거방식의 다수의 얼굴인식 방법을 제안하여 자동 출석 시스템에 적용하였다. 기존 호명 방식, 단말기에 RFID 기능의 학생증을 태그하는 방식, 온라인 접속 방식의 출석 체크 방법들이 가장 많이 활용되지만 번거롭고 쉽게 속일 수 있다는 문제가 있다. 최근 코로나 바이러스가 장기화 되면서 언택트 기술이 요구되고 있고, 비접촉 방식의 생체인증 기술의 필요가 증가함에 따라 다수의 얼굴인식 기술을 적용한 출석체크 방식은 현상황에 적절한 기술이다. 본 논문에서 제안한 방법들에 대한 두가지 실험을 진행 하였으며, 정확한 정면 검출 알고리즘을 제안하여 정면 얼굴만을 얼굴인식에 사용해 불필요한 계산을 줄이고 정확도를 유지할 수 있었다. 최대 36명에 대해서 실험을 했고 97.2%의 정확도를 달성했다. 소거 방식을 적용한 초당 평균 처리하는 프레임 수 역시 인식된 비율이 증가함에 따라 640*360 사이즈의 영상 내 36명이 존재하는 테스트 비디오에서 90% 인식이 완료된 시점 소거 방식을 사용하지 않고 다수의 얼굴 인식을 수행 헀을때와 비교하여 최대 17배 까지 빨라지는 것을 확인했다. 하지만 현재 36명을 인식하는 실험에서 알 수 있듯이 정면을 응시하지 않은 인물에 대한 인식이 이루어지지 못하고 있다. 이는 시스템 특성상 정면을 응시해야만 검출 및 인식이 이루어지기 때문인데 이러한 문제를 해결하고자 향후과제로는 측면 얼굴까지도 인식 가능하도록 얼굴 검출 단계에서 정면 얼굴 이미지는 인식에 사용하되, 측면 얼굴 이미지는 따로 수집하여 지속적인 학습이 가능한 Progressive Network의 학습 데이터로 사용하여 측면 인식이 가능한 견고한 출석 시스템을 개발할 예정이다. 또한 Super Resolution 기술을 적용하여 더 많은 사람이 존재해서 검출되는 얼굴 사이즈의 해상도가 낮은 영상에서도 인식이 가능하도록 시스템을 개선할 예정이다.

Acknowledgements

본 연구는 2020년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구 (No.20200021720012002, 인공지능을 이용한 맞춤형 홈트레이닝 플랫폼)로서, 관계부처에 감사드립니다.

References

1 
Paul Viola, Jones Michael, 2001, Rapid object detection using a boosted cascade of simple features, Proceedings of the 2001 IEEE computer society conference on computer vision and pattern recognition. CVPR 2001, Vol. 1, pp. i-IDOI
2 
Navneet Dalal, Triggs Bill, 2005, Histograms of oriented gradients for human detection., 2005 IEEE computer society conference on computer vision and pattern recognition (CVPR'05), Vol. 1, pp. 886-893DOI
3 
K Zhang, 2016, Joint Face Detection and Alignment using Multi task Cascaded Convolutiona Networks, IEEE Signal Processing Letters, pp. 1499-1503DOI
4 
M Turk, 1991, Eigenfaces for recognition, Journal of cognitive neuroscience, Vol. 3, No. 1, pp. 71-86DOI
5 
Florian Schroff, 2015, FaceNet: A Unified Embedding for Face Recognition and Clustering, Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 815-823Google Search
6 
OM Parkhi, 2015, Deep face recognition, BMVCGoogle Search
7 
Q Cao, 2018, Vggface2: A dataset for recognising faces across pose and age, 2018 13th IEEE international conference on automatic face & gesture recognition, pp. 67-74DOI
8 
Nurkhamid, 2021, Intelligent Attendance System with Face Recognition using the Deep Convolutional Neural Network Method, Journal of Physics: Conference Series, Vol. 1737, No. 1, pp. 012031Google Search
9 
G. Menezes Angelo, 2020, Automatic Attendance management system based on deep one-shot learning, 2020 International Conference on Systems Signals and Image Processing IWSSIP IEEE, pp. 137-142DOI

저자소개

이상훈(Sang-Hun Lee)
../../Resources/kiee/KIEE.2021.70.9.1362/au1.png

Dept. of Smart ICT Convergence Engineering, Konkuk University, Korea

M.S Student

윤경로(Kyoungro Yoon)
../../Resources/kiee/KIEE.2021.70.9.1362/au2.png

- Feb. 1987: B.S. in Electronics and Computer Eng., Yonsei University.

- Dec. 1989: M.S.E. in Electrical Engineering/ Systems, University of Michigan, Ann Arbor.

- May 1999 : Ph.D., in Computer and Information Science, Syracuse University.

- June 1999~Aug., 2003: Group Leader, LG Electronics Institute of Technology.

- Sept. 2003~Present: Professor, Dept. of Smart ICT Convergence Eng., Konkuk University.

- Oct。2017~Present: Chair, ISO/IEC JTC1 SC29 Korea Mirror Committee.

- July 2019~Present: Chair, Digital Virtualization Forum.

- Sept. 2019~Present: Chair, IEEE 2888 Working Group.

- Research Interests : Smart media system, Multimedia retrieval, Image processing, Multimedia information and metadata processing.