DOI QR코드

DOI QR Code

A Study On Three-dimensional Optimized Face Recognition Model : Comparative Studies and Analysis of Model Architectures

3차원 얼굴인식 모델에 관한 연구: 모델 구조 비교연구 및 해석

  • Park, Chan-Jun (Dept. of Electrical Engineering, The University of Suwon) ;
  • Oh, Sung-Kwun (Dept. of Electrical Engineering, The University of Suwon) ;
  • Kim, Jin-Yul (Dept. of Electronic Engineering, The University of Suwon)
  • Received : 2014.11.05
  • Accepted : 2015.04.29
  • Published : 2015.06.01

Abstract

In this paper, 3D face recognition model is designed by using Polynomial based RBFNN(Radial Basis Function Neural Network) and PNN(Polynomial Neural Network). Also recognition rate is performed by this model. In existing 2D face recognition model, the degradation of recognition rate may occur in external environments such as face features using a brightness of the video. So 3D face recognition is performed by using 3D scanner for improving disadvantage of 2D face recognition. In the preprocessing part, obtained 3D face images for the variation of each pose are changed as front image by using pose compensation. The depth data of face image shape is extracted by using Multiple point signature. And whole area of face depth information is obtained by using the tip of a nose as a reference point. Parameter optimization is carried out with the aid of both ABC(Artificial Bee Colony) and PSO(Particle Swarm Optimization) for effective training and recognition. Experimental data for face recognition is built up by the face images of students and researchers in IC&CI Lab of Suwon University. By using the images of 3D face extracted in IC&CI Lab. the performance of 3D face recognition is evaluated and compared according to two types of models as well as point signature method based on two kinds of depth data information.

Keywords

1. 서 론

정보화 사회에서 정보 보안는 매우 중요한 사항이다 정보 유출 및 도용이 쉽게 일어날 수 있는 기존 ID나 Password와 같은 방법의 문제점을 극복하기 위해 오늘날 개인의 신체적 및 행동적 특징을 사용한 생체인식기술을 많이 이용한다. 생체인식기술은 지문, 홍채, 열적외선, 목소리, 얼굴인식 등 인간이 가진 고유한 신체적 특징을 이용하기 때문에 분실 및 도난 등의 문제가 발생하지 않아 네트워크 및 금융 서비스 등 많은 분야에서 사용되고 있다. 그 중 얼굴인식은 비접촉식으로 인식대상자의 불쾌감과 불편함이 적고 값비싼 입력 장치가 필요치 않은 장점으로 현재 인식 모델 중에 많은 분야로 연구가 활발히 진행 중이다. 대부분의 얼굴인식은 2차원 이미지를 기반으로 인식 대상자의 명암 값을 통해 특징점을 추출하고 데이터베이스를 구축하여 모델을 설계하고 인식을 수행한다. 인식 과정은 설계한 모델에 새로운 이미지를 입력받아 특징점을 추출하고 내부의 데이터베이스와 비교하여 오차를 통해 대상자를 확인하는 방법을 사용한다. 하지만 2차원 카메라로 이미지를 입력받아 인식하는 과정에서 대상이 정면을 바라보는 것이 좋지만 대상의 개인적 및 신체적 특성에 따른 포즈 변화와 외부환경에 의한 조명 변화 등으로 대상자의 특징을 추출하는데 있어 오차가 크게 발생해 오인식되는 단점이 있다. 이와 같은 문제를 보완하기 위해 3차원 스캐너를 이용하여 대상자의 3차원 얼굴 형상을 획득하고 전처리 과정을 통한 특징 데이터를 추출 후 데이터베이스를 구성하고 3차원 얼굴인식 모델을 설계하여 인식률을 산출하는 방법을 제시한다. 3차원 얼굴형상은 인식 대상에 구조화된 광을 투과하여 반사되는 패턴을 통해 깊이 정보와 점 구름 형태의 3차원 얼굴형상을 획득하며 조명 변화에 강인하다. 또한 깊이 정보를 통해 2차원 영상에서 발생하는 포즈에 의한 손실이 적고 자유롭게 여러 각도로 포즈 변경이 가능하다.

전처리 과정에서 포즈보상을 수행하여 정면으로 포즈를 보상하며 3차원 얼굴 형상의 특징을 추출하기 위해 포인트 특징 추출 기법(Point Signature)을 사용한다. 포인트 특징 추출 기법(Point Signature)은 거리정보를 각도에 대한 1차원 공간신호로 표현하는 방법으로 얼굴 깊이의 특징과 곡률 정보를 추출한다. 또한 다중 포인트 특징 추출 기법(Multiple Point Signature)을 이용하여 추가적인 특징을 추출할 수 있다. 추출한 특징 데이터를 입력으로 하여 3차원 인식 모델을 설계한다. 본 논문의 설계 모델은 다항식 방사형 기저 함수 신경망(Radial Basis Function Neural Network)과 다항식 신경망(Polynomial Neural Network)을 사용한다. RBFNNs는 빠른 학습시간, 일반화 그리고 단순화의 특징을 가지며, 활성함수를 기존 가우시안 함수대신 FCM(Fuzzy C-Means)를 사용하여 입력 데이터의 특성을 좀 더 잘 반영할 수 있도록 개선하였다. PNN은 다항식에 의한 계층의 부분 표현식에 의하여 수 층을 걸쳐 최적의 추정 모델을 얻는 구조로서 생성한 노드들 중에서 우수한 결과 값을 가진 노드들을 선택과 소멸함으로써 모델의 근사화 및 일반화에 탁월한 효과를 가진다. 모델을 설계하는 과정에서 효율적인 학습과 성능향상을 위해 인공 벌 군집 알고리즘(Artificial Bee Colony)과 입자군집 최적화 알고리즘(Particle Swarm Optimization)을 이용하여 파라미터 최적화를 수행한다. 두 최적화 알고리즘은 연산자를 통한 병렬 구조와 집단의 행동 양식을 바탕으로 최적의 파라미터를 탐색하여 최적의 모델을 설계하고 인식을 통한 인식률을 산출하여 설계 모델과 최적화 알고리즘을 비교한다.

본 논문 2장에서는 3차원 스캐너를 이용한 3차원 얼굴 형상 획득 및 설계 모델의 입력 데이터를 구성하기 위한 전처리 과정을 설명한다. 3장에서는 인식 성능 확인을 위한 다항식 기반 RBFNNs과 다항식 뉴럴 네트워크(PNN) 모델 구조에 대하여 설명하며, 4장에서 최적화 알고리즘을 소개하고 최적의 모델 구조 설계를 위한 파라미터 최적화 방법에 대하여 설명한다. 5장에서 앞서 설명한 2~4장에서의 결과를 이용한 실험 방법을 설명하고 각 실험 결과를 나타낸다. 마지막으로 6장에서는 결론에 대하여 설명한다.

 

2. 3차원 스캐너를 이용한 얼굴 형상 취득 및 전처리 과정

본 논문에서는 2차원 얼굴인식의 단점을 보완하기 위해서 3D Scanner를 이용하여 3차원 얼굴 형상의 획득하고 정면을 향하도록 얼굴을 포즈보상한 후 대상의 각 포즈를 데이터베이스로 구성하여 얼굴의 특징 깊이 정보를 추출하여 학습 모델을 설계하고 3차원 얼굴 인식을 수행한다. 전체적인 인식 수행 절차는 아래 그림 1과 같으며, 본 2장에서는 3D Scanner를 통한 3차원 얼굴 형상 취득 및 전처리 과정에서 깊이 데이터 추출방법에 대해서 설명한다.

그림 13차원 얼굴인식의 절차 Fig. 1 Procedure of the 3D face recognition

2.1 얼굴인식을 위한 3차원 얼굴 형상 획득

본 절에서는 3D Scanner를 사용한 3차원 얼굴 형상의 획득 대해 설명한다. 기존의 2차원 인식모델의 성능 감소에 큰 원인인 외부 환경의 변화 즉, 인식 대상자의 포즈 변화에 의한 손실 데이터 발생 및 조명 변화에 의해 인식 오차가 크게 발생해 오인식 되는 사례가 빈번히 발생되고 있다. 이와 같은 사례를 보완하기 위해서 2차원에는 존재하지 않는 얼굴 형상의 깊이 정보를 이용하여 3차원 얼굴인식을 수행한다. 그림 2(a)의 3D Scanner는 구조화 된 광선을 대상의 얼굴에 투과하여 반사 되는 패턴을 통해 깊이 정보를 획득하고 그림 2(b)와 같은 3차원 얼굴 형상을 취득할 수 있다. 그림 2(c)의 3차원 얼굴형상은 점 구름 형태의 얼굴 형상을 가지며, 깊이 정보를 가짐으로서 조명 변화에 강인하다. 또한 자유롭게 포즈 보상이 가능하여 2차원 얼굴인식의 단점을 보완한다. 본 논문에 3차원 Scanner로 획득하는 얼굴 형상은 대상의 각 포즈 각도(좌 30˚, 좌 15˚, 정면, 우 15˚, 우 30˚)로 총 5가지 포즈의 3차원 얼굴 형상을 획득하였으며, 획득한 형상은 약간의 회전된 영상이므로 전처리 단계로 포즈보상을 수행하여 획득한 얼굴 형상을 정면 얼굴 형상으로 재구성 한다.

그림 2점 구름 형태의 얼굴 이미지 형상 Fig. 2 Facial image shape of point cloud form

2.2 포즈보상을 통한 얼굴형상의 재구성

본 절에서는 3차원 인식을 하기위한 전처리 단계를 설명한다. 인식을 수행하기 위해서 획득한 얼굴형상의 좌표를 기준점을 통한 정규화가 필요하다. 3차원 스캔시 촬영 장소의 환경적인 요인 및 개인의 신체적 특성에 따라서 획득한 얼굴 형상의 크기와 위치가 다르기 때문에 정규화 과정을 거치지 않은 경우 일정한 얼굴 특징데이터를 추출하기가 어렵다. 따라서 정확한 특징 데이터를 추출하기 위해서 정면으로 포즈보상을 수행한다. 2차원 얼굴 인식의 경우에는 아래 그림 3(a)와 같은 회전된 얼굴은 회전된 부분의 데이터 손실이 발생한다. 하지만 3차원 Scanner를 이용한 3차원 얼굴형상은 점 구름 형태로 각 포인트가 X, Y, Z의 좌표를 갖기 때문에 회전 가능한 모든 축으로 포즈 보상이 가능하다는 장점이 있다. 따라서 본 논문에서는 그림 3(b)와 같이 각 공간 좌표 상에서 미간점과 눈꼬리점을 새로운 기준 축으로 회전된 얼굴형상의 포즈 보상을 수행하며 전체적인 과정은 그림 3과 같으며 수행 단계는 아래와 같다.

[Step1] 3D 스캐너를 통해 얼굴 형상을 회전 [Step2] 미간점과 코 밑 점을 기준으로 하여 새로운 Y'축을 설정 [Step3] 양 눈 끝점을 기준으로 하여 새로운 X'축을 설정 [Step4] 새로운 X', Y'축을 기준 좌표계의 투영 [Step5] 기준 좌표계와의 오차를 최소화 하는 방법으로 포즈보상을 수행

그림 3포즈보상의 절차 Fig. 3 Procedure of the pose compensation

2.3 인식 수행을 위한 특징 깊이 데이터 추출 방법

본 절에서는 포즈보상을 통해 정면으로 보상된 얼굴을 인식 수행하기 위해 얼굴의 특징이 강한 깊이 정보를 추출 방법에 대해 설명한다. 2차원 인식은 얼굴의 명암을 특징 값으로 하여 인식을 수행 하지만 3차원 인식의 경우 2차원 영상에는 존재하지 않는 깊이 정보를 이용하여 인식을 수행하며, 본 논문에서는 깊이 정보를 추출하기 위해 포인트 특징 추출 기법(Point Signature)을 이용한다.

포인트 특징 추출 기법은 거리정보를 각도에 대한 1차원 공간 신호로 표현하는 방법으로 Chua와 Ho가 Point Signature[8][9]의 개념을 얼굴인식에 도입하였다. 이는 한 점을 기준으로 각 특징 점에 해당하는 얼굴의 깊이 정보를 추출하는 기법으로 얼굴구조의 곡률정보를 추출할 수 있다. 본 논문에서 사용된 Point Signature 기법의 과정은 다음과 같다.

[Step1] 깊이 데이터 추출을 위한 각도 θ와 반지름 r을 설정 [Step2] 기준점을 설정한 후 법선 벡터를 생성 [Step3] 법선벡터를 중심으로 하는 반지름 r의 원을 얼굴 형상에 투영 [Step4] 각도 θ에 해당하는 부분의 깊이 데이터를 추출

그림 4깊이 데이터 추출 과정(Point signature) Fig. 4 Process of extracted depth data(Point signature)

특징 깊이 정보를 추출 하기위하여 각도 10˚, 반지름 10mm의 원을 생성하였으며, 각 포즈 각도별 특징 점에 해당하는 깊이 정보 데이터는 아래 그림 5에서 나타내며, 추출된 깊이 데이터의 분포를 통해 알 수 있듯이 정면, 좌측15˚, 좌측 30˚, 우측 15˚, 우측 30˚의 각 포즈 변화에 따른 얼굴 이미지 형상에서 유사한 분포의 깊이 데이터를 획득하는 것을 확인할 수 있다. 이는 전처리 단계에서 포즈보상을 수행하여 포즈별 얼굴 형상을 정면으로 재구성하였기 때문이다.

그림 5코 점을 기준으로 추출한 깊이 데이터 분포 Fig. 5 The distribution of the extracted depth data based on nose

2.4 다중 포인트 특징 추출 기법

다중 포인트 특징 추출기법(Multiple Point Signature)은 대해 간단히 정의하면 여러 개의 원을 기반으로 Point Signature 기법을 수행하는 것이다. 앞에서 설명한 Point Signature 기법은 깊이 데이터 추출을 위한 가장 기본적인 알고리즘이지만, 하나의 원을 이용하기 때문에 실제 얼굴 형상의 전체적인 깊이 데이터 사용이 어렵다는 단점이 있다. 이와 같은 단점을 보완하기 위해 여러 개의 원을 이용하는 Multiple Point Signature 기법을 수행하여 동일한 형상에서 더 많은 특징 데이터를 추출한다. 기본적인 수행과정은 Point Signature와 같다.

그림 6각 포즈별 얼굴 형상의 다중 포인트 특징 추출 Fig. 6 Extraction multiple point signature of each face pose

 

3. 3차원 얼굴인식 모델 설계

본 3장에서는 2장에서 설명한 깊이 데이터 추출방법으로 획득한 데이터를 입력으로 사용하여 3차원 얼굴인식 모델의 구조와 설계 방법을 설명한다. 설계 모델은 다항식 방사형 기저 함수 신경망(Radial Basis Function Neural Network)과 다항식 신경망(Polynomial Neural Network)을 사용하며 서론에서 언급하였듯이, RBFNNs는 빠른 학습시간, 일반화 그리고 단순화의 특징을 가지며 구조 동정 방법은 전반부의 활성함수를 기존 가우시안이 아닌 FCM(Fuzzy C-Means)클러스터링을 사용하고 후반부에서 최소자승법(Least Square Estimator)을 사용한다. PNN은 각 층에서 생성한 노드들 중에서 우수한 결과 값을 가진 노드들을 선택하고 소멸함으로써 모델의 근사화 및 일반화에 탁월한 효과를 가진다. 다항식 뉴론인 PN(Polynomial Neuron)을 이용한 부분 표현식 구조를 사용한다.

3.1 다항식 기반 RBFNNs 모델 설계

본 논문에서 다항식 기반 RBFNNs[2] 모델을 설계한다. RBFNNs는 신경회로망의 구조를 기반으로 하여 입력층, 은닉층, 출력층이 모두 1층으로 구성된 3층 구조이다. 입력층에서는 각 노드마다 입력변수의 개수만큼 활성함수가 존재하며, 활성함수는 방사형 기저함수의 형태를 하고 있고, 주로 가우시안 함수를 사용하고 있다. 은닉층에서 활성함수로 변환된 출력은 은닉층과 출력층 사이의 연결가중치 값과 곱해져 출력층의 최종 출력으로 얻어지며, 이때 연결가중치의 값은 상수를 사용한다. 기본적인 RBFNNs의 구조는 그림 7(a)와 같다.

그림 7다항식 기반 RBFNNs의 구조 Fig. 7 Architecture of polynomial based RBFNNs

본 논문에서 제안한 다항식 기반 RBFNNs는 기본적인 RBFNNs와 구조적 모듈로는 동일한 입력층, 은닉층, 출력층 이 3층 구조를 사용하나, 기능적 모듈로서 조건부, 추론부, 결론부로 3가지로 구분 된다. 또한 기존의 은닉층이 조건부에서 활성함수로 사용하였던 가우시안 함수 대신 FCM(Fuzzy C-Means)클러스터링에서 구해지는 적합도 값을 사용함으로써 입력 데이터의 특성을 좀 더 잘 반영할 수 있도록 개선하였다. 또한 결론부의 연결가중치를 상수항에서 1차식 선형식(Linear)과 2차 선형식(Quadratic), 그리고 변형된 2차 선형식(Modified Quadratic)과 같은 다항식의 형태로 확장하여 사용한다는 특징을 가진다.

[Type 1] 1차 선형 추론(Linear)

[Type 2] 2차 선형 추론(Quadratic)

[Type 3] 변형된 2차 선형 추론(Modified Quadratic)

여기서 x = [x1,x2,...,xk], k는 입력변수의 수, Rj는 j번째 퍼지 규칙(j=1,...,c), c는 퍼지 규칙 수이며, fj= (x1,...,xk) 는 j번째 규칙에 대한 후반부로써 j번째 퍼지 규칙에 대한 로컬 모델이며 모델의 출력은 아래 식처럼 구해진다.

이와 같이 다항식 형태의 연결가중치를 사용함으로서 아래 식의 퍼지 규칙 표현과 같은 언어적 관점에서의 해석이 가능하다.

여기서 x는 입력벡터, Ai는 FCM 클러스터링에 의한 i(i = 1,···,c)번째 그룹의 소속 함수, fji(x)는 j(j = 1,···, s)번째 출력에 대한 i번째 퍼지 규칙의 다항식이다. FCM 클러스터링을 이용함으로써 네트워크 측면에서는 활성 함수를 언어적 측면에서는 소속 함수의 기능을 수행한다. “Then”이후 결론부의 다항식은 네트워크 연결가중치로, 퍼지 규칙의 로컬 모델로 동작된다. 추론부에서 네트워크의 최종출력은 퍼지 규칙의 추론 결과로서 구해진다. 이와 같이 개선된 RBFNNs 구조는 퍼지 규칙을 기반으로 한 네트워크 구조를 가지며, 조건부, 결론부, 추론부와 같이 세 가지 기능적 모듈로 분리되어 동작한다. 이러한 다항식 RBFNNs의 구조 동정과정인 전반부 동정과 후반부 동정 방법에 대해서 설명한다.

3.1.1 전반부 동정 과정 : FCM (Fuzzy C-Means) 클러스터링

본 절에서는 RBFNNs의 전반부 동정을 위하여 기존 가우시안 함수 대신 FCM 클러스터링 알고리즘을 사용하였다. FCM(Fuzzy C-Means)클러스터링[1] 알고리즘은 비슷한 패턴, 속성, 형태 등의 기준을 통해 데이터를 분류하는 알고리즘으로, 데이터와 각 클러스터와의 거리를 기준으로 소속정도를 측정하여 데이터를 분류한다. 이는 활성 함수의 적함도 개념과 동일해 다항식 기반 RBFNNs 모델의 은닉층 활성함수 형태를 표현할 수 있다. 아래 단계를 통해 FCM 전반부 동정은 수행된다.

[Type 1] 클러스터의 개수를 결정하고, 소속행렬 U(r)을 초기화한다.

[Type 2] U(r)값을 기반으로 각각의 클러스터에 대한 중심값과 소속함수의 값을 구한다.

[Type 3] 각각의 클러스터 중심과 데이터와의 거리를 계산하여 새로운 소속행렬을 생성한다.

[Type 4] 오차가 허용범위 안에 도달하면 종료하고, 그렇지 않으면 [Step 2]로 돌아간다.

3.1.2 후반부 동정 과정 : 최소자승법 (Least Square Estimator)

후반부 다항식의 파라미터 계수는 Least Square Estimator(LSE) 학습방법을 사용하여 모델을 설계한다. LSE는 오차제곱의 합이 최소가 되도록 계수를 추정하며 후반부 다항식들의 계수를 한번에 구하기 때문에 전역 모델의 학습에 수행 가능하다. LSE에서의 성능평가함수 QL을 행렬 형식으로 표현하면 식 (13)과 같다.

여기서 A는 후반부 다항식 파라미터 계수, Y는 출력 데이터, X는 FCM의 소속행렬이 곱해진 입력데이터의 행렬로 x는 입력행렬, u는 소속행렬을 의미한다. 후반부 구조가 Linear일 경우 X, Y, A 행렬은 다음과 같은 식 (14)로 표현 되며, 여기서 m은 데이터의 수이며, k는 입력수의 수, c는 규칙 수(클러스터 수) 가 된다.

이에 전역 모델에 대한 행렬은 식 (15) 같으며 후반부 다항식의 계수행렬 A는 확장행렬을 구하여 가우스 소거법(Gaussian elimination)을 이용하여 구하거나 식 (16)와 같이 역행렬에 의해 구해진다.

3.2 다항식 뉴럴 네트워크(PNN) 모델 설계

비선형 시스템은 측정된 입출력 데이터로부터 연속적으로 공정의 모델링을 수행하는데 있어서 한계를 가진다. 이에 A. G. Ivakhenko에 의해서 제안된 Group Method of Data Handling(GMDH)[4] 알고리즘은 2변수 2차식의 부분 표현식을 계층적으로 조합시켜 비선형 모델 추정식을 얻을 수 있어 적은 입출력 데이터로 복잡한 다 변수 및 비선형계의 동정, 예측이 가능하다. 하지만 GMDH는 2변수로 다양한 입력 변수들끼리의 상호의존적인 면이 약하고 2차식으로는 다소 복잡한 시스템을 표현하기엔 역부족이다. 이에 고정된 네트워크 구조가 아닌 새로운 네트워크를 생성하는 다항식 신경회로망을 이용하여 GMDH의 한계를 극복하고 간단한 모듈의 집합체들을 이용하여 복잡한 시스템을 모델링한다. 본 절에서는 이러한 다항식 신경회로망을 이루고 있는 다항식 뉴론(Polynomial Neuron: PN)및 다항식 신경회로망의 구조에 대해서 설명한다.

3.2.1 PN (Polynomial Neuron) 알고리즘

다항식 뉴론은 다항식 신경 회로망에 있어서 가장 기본이 되는 유닛으로 선택되어진 입력들이 들어오면 표 1에서의 Type 3가지 형태 중 하나의 다항식 구조를 선택하여 다항식을 이루게 되는 구조이다. 아래 그림 8은 기본적인 PN의 구조를 나타내며, 선택된 2입력(X1, X2), 후반부 다항식 차수가 선형 형태인 Type 1인 선형식이 선택되어진 구조이다. 아래 표 1은 후반부 다항식의 구조를 나타낸다

표 1다항식 구조 Table 1 Type of polynomial equation

그림 8다항식 뉴런(PN) 일반적인 구조 Fig. 8 Structure of the polynomial neuron(PN)

3.2.2 다항식 신경회로망 알고리즘

다항식 신경회로망은 GMDH 방법을 기반으로 하고 있으며, 후반부 다항식은 표 1에서 보이듯이 선형, 2차식, 그리고 변형된 2차식의 다항식을 이용한다. 주어진 전체 입력변수들에서 모델을 구축하는데 있어서 중요한 입력 변수들과 표 1에서 제시한 3가지 형태의 다항식 구조 중에서 하나의 다항식 형태를 취함으로써, 그림 9에서 볼 수 있듯이 다항식 뉴론(PN)으로 구성된 최고의 부분 표현식(Partial description)을 구축할 수 있다. 전체 설계는 그림 9에서 보이듯이 각각의 층에서 최고의 노드들의 선택에 의해서 실행되며 최고의 성능에 도달할 때까지 하나의 층을 증가하며 생성되며 이는 최적의 다항식 신경회로망을 구축하기 위한 하나의 방법론에 해당된다. 이와 같은 설계 방법의 본질은 다항식 신경회로망의 각각의 층에 존재하는 각 노드 즉, 다항식 뉴론에서 간단한 함수들이 결합되며 이는 더욱 복잡한 형태를 이루어 최종적으로는 세밀한 모델을 구축하기 위함이다[5][13].

그림 9다항식 신경망 일반적인 구조 Fig. 9 Structure of the polynomial neural network

식 (17)은 다항식 뉴론에 들어가는 입력으로 2 입력(xi, xj)과 다항식 Type 1인 2차식의 방정식이 주어졌을 때의 일반적인 구조를 나타낸 것이다.

여기서, A, B, C, D, E, F는 다항식의 파라미터 계수를 나타내고, ya는 a번째 노드의 출력을, xi, xj는 노드에 들어가는 입력을 나타낸다.

식 (18)과 같은 다항식들이 그림 9에서 보이듯이 각각의 노드들이 결합한다면, 최종적으로는 고차의 다항식을 얻게 된다. 즉, 다항식의 차수는 각 층에서 선택된 입력 변수들의 수에 의해서 증가하고 이를 이바네콘 다항식(Ivakhnenko polynomial)이라 부른다. 최종 출력식은 다음과 같은 형태를 가지게 된다.

여기서, xi, xj는 노드의 입력 변수들이고, A, Bi, Cj, Dij, Ei, Fj는 이바네콘 다항식(Ivakhnenko polynomia)l의 계수들, 그리고 y는 최종 모델의 출력식이다. 다항식 신경회로망은 원하지 않는 변수들을 자동적으로 제거하는 상호 작용을 갖춤으로써 고차의 자기 구성 경험적인 계층적 모델을 가지게 된다.

 

4. 최적화 알고리즘을 이용한 모델 파라미터 최적화

본 4장에서는 앞의 3장에서 설계한 다항식 기반 RBFNNs와 PNN 모델의 설계 과정에서 효율적인 학습 속도와 성능 향상을 위해 모델의 파라미터의 최적화 방법을 설명한다. 본 장에서는 입자 군집 최적화 알고리즘(PSO)와 인공 벌군집 알고리즘(ABC)을 통해 모델의 파라미터를 최적화 수행한다. 두 최적화 알고리즘인 PSO, ABC 알고리즘의 주된 특징은 집단의 행동양식에 의한 탐색 방법을 사용한다. 여기서 PSO는 생체군집의 사회적 행동양식을 바탕으로 자신과 이웃의 정보를 이용하여 최적의 위치로 이동하며 유일한 연산자인 이동속도(Paticle velocity)와 관성하중(Weight)을 조절하면서 최적의 해를 탐색한다. 또한 이론의 간결성, 구현의 용이성, 연산의 효율성과 짧은 계산시간 안에 최적의 해를 생성하여 다른 확률적 방법보다 안정적인 수렴 특징을 가진다. ABC에서는 꿀벌 집단의 먹이를 수집하는 행동양식 바탕으로 일 벌, 탐색 벌, 스카우트 벌의 세 개의 연산자를 이용한 병렬 구조를 사용하며 여기서 일벌은 탐색공간 내 전역탐색을 수행하며, 탐색 벌은 지역탐색을 비중으로 적합도가 우수한 해의 위치에서 보다 많은 탐색을 수행하고 스카우트 벌은 세대를 거쳐 적합도가 가장 낮은 해를 찾아 제거하여 새로운 해를 생성하여 우수한 해를 저장하는 역할을 한다. 이러한 탐색 방법으로 유전자 알고리즘 보다 안정적인 수렴특징과 계산 시간의 유리함을 가지고 있다.

4.1 입자군집 최적화 알고리즘(Particle Swarm Optimization)

입자군집 최적화 알고리즘[12]은 물고기나 새 때와 같은 무리의 행동 양식을 바탕으로 한 최적화 알고리즘이다. 진화연산 기법을 사용하여 다차원의 불확실한 영역에서의 탐색이 가능하며, 간단한 수학 연산자를 사용하여 이론이 간결하며 다른 확률적 방법보다 안정적인 수렴특징을 가진다. 집단(Swarm)은 여러 개의 Particle로 이루어져 있으며, 각각의 Particle의 위치는 구하고자 하는 최적의 해가 된다. 각각의 Particle들은 매번 반복하여 자신이 위치, 즉 해를 변화시키는데 이 과정에서 모든 Particle 위치 중 가장 좋은 적합도 Global best(gbast)와 각 Particle들의 위치 변화 중 가장 좋은 적합도 Particle best(pbest)를 고려하여 최적의 해를 찾는다. 본 논문에서 사용한 입자군집 최적화 알고리즘은 다음과 같은 절차를 가진다.

[Step 1] 초기 Swarm과 Particle Velocity를 랜덤하게 생성

[Step 2] 초기 Particle을 pbest로 선정하며, 그 중 최적의 값은 다시 gbest로 선정

[Step 3] 아래 식(19)을 통해 관성하중 값을 계산하며, 관성하중 값을 근거로 하여 j번째 Particle Velocity를 계산

[Step 4] Particle Velocity를 바탕으로 Particle의 위치정보를 수정

[Step 5] 각 Particle의 적합도와 pbest의 적합도를 비교하여 재설정하고, 최적해의 pbest와 gbest를 비교하여 재설정

[Step 6] 종료조건이 만족할 때까지 탐색을 계속하며, 최종적으로 최적의 위치정보를 가지는 gbest가 생성

4.2 인공 벌군집 알고리즘(Artificial Bee Colony)

그림 10인공 벌군집 알고리즘 Fig. 10 Artificial bee colony(ABC)

인공 벌군집 알고리즘[11]은 꿀벌 집단의 먹이를 수집하는 행동양식 바탕으로 일벌(Employed bees), 탐색 벌(Onlooker bees), 스카우트 벌(Scout bees)로 구성된 세 개의 연산자로 나눠지며 집단의 반은 일 벌로 구성되고 나머지는 탐색 벌로 구성된다. 탐색 벌에 의해 먹이(Food)를 탐색하고 먹이의 근원지(Food source)에 대해 1마리의 일 벌만 자리를 잡을 수 있다. 다른 먹이 근원지를 찾기 위해 기존의 자기 위치에서 있던 먹이 근원지를 포기한 일벌은 스카우트 벌로 전환된다. 최적화 문제에서 먹이 근원지를 최적의 해로 표현이 가능하며 먹이의 양은 해의 정확도로 표현 될 수 있다. ABC는 크게 초기화, 반복, 수렴 순으로 단계를 가진다. 본 논문에서 사용한 인공 벌 군집 알고리즘은 다음과 같은 절차를 가진다.

[Step 1] 초기 파라미터 설정 및 탐색공간 내에서 임의의 지역해를 생성

[Step 2] 식(24) 통해 일벌을 s개 생성하고 목적함수 평가 및 적합도 생성

[Step 3] 식 (25) 이용하여 적합도를 [0,1] 사이의 확률 값으로 변환

여기서, i와 j는 개체의 수를 나타낸다.

[Step 4] 식 (25)의 확률 값(pi)을 이용하여 s개의 정찰 벌을 생성하고 목적함수를 평가

[Step 5] 스카우트 벌을 통해 제한 조건을 만족하는 해 판별, 만약 조건에 만족하면 제거되고 새로운 해를 임의로 생성

[Step 6] 종료 조건을 만족 할 때 까지 [Step 2] ~ [Step 5] 반복 수행

4.3 최적화 알고리즘 기반 모델 파리미터 최적화

앞서 설명한 PSO와 ABC 최적화 알고리즘 이용하여 3장에서 설계한 모델의 파라미터 최적화를 수행한다. RBFNNs 모델은 퍼지화 계수, FCM 클러스터 수, 다항식 차수 등을 아래 그림 11와 같은 방법으로 파라미터를 최적화 하였고 다음 PNN 모델은 그림 12과 같이 다항식 뉴론의 입력의 수, 입력 변수 선택, 다항식 차수 등을 최적화 하였다.

그림 11최적화된 다항식 기반 RBFNNs 모델의 구조 설계 Fig. 11 Design of optimized polynomial based RBFNNs

그림 12최적화된 PNN 모델의 구조 설계 Fig. 12 Design of optimized polynomial neural network.

본 논문의 인식을 수행하기 위해 앞서 2장에서 설명한 전처리 단계를 RBFNNs, PNN 모델 모두 같은 과정을 거친 후 본 장에서 소개하는 최적화 알고리즘을 이용한 모델 설계 및 인식과정은 아래와 같은 절차를 가진다.

[Step 1] 입력 데이터의 설정 : 모델의 입력은 Point Signature, Multiple Point Signature 기법 통해 추출한 깊이 데이터를 사용 [Step 2] 모델 설계를 위한 데이터 분할 : 각 대상자에게 추출한 전체 입력데이터를 효율적인 학습을 위해 학습, 검증 및 테스트 데이터로 분할한다. 학습 및 검증 데이터는 좌30˚, 좌15˚, 정면, 우15˚, 우30˚ 사용하며, 테스트 데이터는 임의의 각도 좌, 우 약 22˚ 사용. [Step 3A] 그림 11와 같은 최적화 알고리즘을 통해 RBFNN 모델의 최적의 파라미터 탐색 후 최적화를 수행 [Step 3A-1] 첫 번째 파라미터인 피지화 계수 최적화 : 파라미터의 탐색 범위는 1.1에서 3까지이며, 랜덤하게 나온 값을 사용. [Step 3A-2] 두 번째 파라미터인 FCM 클러스터 수(노드 수)를 설정 : RBFNN모델 노드의 수를 최적화 하며, 탐색 범위는 2에서 10사이로 설정, 선택된 값의 반올림하여 사용. [Step 3A-3] 세 번째 파라미터인 후반부 다항식 타입을 설정 : 탐색 범위는 1[Linear]에서 3[M.Quadratic]까지이며, 선택된 값에서 반올림 하여 사용 [Step 3B] 그림 12와 같은 최적화 알고리즘을 통해 PNN 모델의 파라미터 최적화를 수행 [Step 3B-1] 첫 번째 파라미터인 입력변수의 수 선택 최적화 : PNN 모델의 노드의 수를 결정하며, 탐색 범위는 2에서 층의 최대 입력 수까지이며, 선택된 값의 반올림을 하여 사용 [Step 3B-2] 두 번째 파라미터인 입력변수를 설정 : 첫 번째 파라미터의 결정된 노드 수에 따라 결정될 입력 변수를 최적화하며, 탐색 범위는 2에서 입력변수의 수 사이로 설정, 선택된 값의 반올림을 하여 사용 [Step 3B-3] 세 번째 파라미터인 후반부 다항식 타입을 설정 : 탐색 범위는 1[Linear]에서 3[M.Quadratic]까지이며, 선택된 값에서 반올림 하여 사용 [Step 4] [Step 3]을 반복하며 최적화 알고리즘을 이용하여 파라미터의 최적화를 수행하고, 모델을 설계한다. [Step 5] 최적화 된 다항식 기반 3차원 얼굴인식 모델에 테스트 데이터를 입력으로 하여 인식 성능을 평가, 인식성능 및 목적 함수는 아래 식(26)을 이용하여 산출한고 인식률을 확인한다.

err : 오인식대상자수 nerr : 전체인식대상자 수

 

5. 실험 및 결과고찰

5.1 실험 시뮬레이션 개요

본 논문에서는 2차원 얼굴인식의 단점을 보완하기 위해 3차원 Scanner를 통해 획득한 3차원 얼굴 형상에서 인식대상자의 특징 깊이 데이터를 이용하여 얼굴인식을 수행한다. 그림 13는 본 실험의 전체적인 흐름을 나타내며 3차원 Scanner를 통해 획득한 인식대상자의 얼굴형상을 전처리 과정에서 정면으로 포즈보상을 수행하고 아래 표2와 같은 입력데이터베이스 구축하여 Point Signature 기법을 통하여 얼굴형상의 깊이 데이터 추출한다. 추출된 데이터는 학습 및 검증 데이터를 구분하여 k-Fold cross validation을 이용하여 3차원 얼굴인식 RBFNNs 모델과 PNN 모델의 평균 모델을 설계하고 학습과 검증에 사용되지 않은 임의의 각도를 테스트 데이터로 하여 인식을 수행하고 인식률을 산출한다. 또한 각 모델의 효율적인 학습과 성능을 위해 앞서 4장에서 설명한 인공 벌 군집 알고리즘(Artificial Bee Colony)과 입자군집 최적화 알고리즘(Particle Swarm Optimization)을 이용하여 모델의 파라미터 최적화를 수행하고 최적의 3차원 인식 모델을 설계한다. 최종적인 결과는 각 인식대상자의 깊이 데이터 추출방법을 Single point(원1)와 Multiple point(원2)로 나누어 최적화 알고리즘을 통한 최적의 모델을 설계하고 인식률을 산출하여 비교하였다.

그림 133차원얼굴인식 모델 설계 시뮬레이션 전체적인 흐름 Fig. 13 Flow of 3D recognition system

표 23차원 스캐너로 획득한 얼굴형상 데이터베이스 Table 2 Using 3D scanner acquires the from of the face

5.2 실험 데이터 구성

본 실험에 참여한 인원은 수원대학교, 지능제어 및 컴퓨터 지능연구실(IC & CL Lab.)연구원과 학부 학생으로 구성된 전체 19명으로 표 2와 같은 총 7가지 포즈, 133개의 얼굴 형상으로 구성된다. 한명의 얼굴 형상에서 Point Signature를 이용하여 깊이 정보를 추출한다. 이때 추출 데이터는 반지름 10mm, 20mm, 각도 10°으로 1개의 얼굴 형상에서 Single(원1)일 때 학습 및 검증과 테스트를 포함해서 252개, Multiple(원2)일 때에는 총 504개의 특징을 추출한다. 추출되는 데이터는 X, Y, Z축 좌표, 데이터 추출각도, 유클리드 거리이다.

본 실험 설계 모델의 입출력은 Z축을 출력으로 Z축을 제외한 X, Y축 좌표, 데이터 추출각도, 유클리드 거리로 총 5입력 1출력으로 하여 입력 데이터와 출력 데이터가 결정한다. 아래 그림 14는 각 인식대상자의 데이터베이스에서 학습 및 검증에 사용되는 데이터는 좌15°, 좌30°, 정면, 우15°, 우30°의 5가지 방향을 구성하였으며 테스트 데이터는 학습과 검증에 사용되지 않는 임의 좌측 22°,임의 우측 22°의 2가지 방향으로 구성하였다. 모델의 구체적인 성능을 평가하기 위해서 전체데이터를 표3의 5-Fold cross validation을 이용하여 학습과 검증을 분할하여 실험을 진행하였다.

그림 14얼굴 데이터베이스 구성 Fig. 14 Face database composition.

표 35-fold cross validation을 이용한 평균 모델링 Table 3 Average modeling using 5-fold cross validation

5-Fold cross validation는 학습데이터를 학습하는 과정에서 순차적으로 한 개의 데이터를 모델링하지 않고 검증에 사용하여 각 모델에서 얻는 성능을 평균으로 하나의 평균 모델을 설계하고 학습과 검증에 사용하지 않은 테스트 데이터를 입력하여 인식률을 산출한다. 또한 효율적인 학습을 위한 파라미터의 탐색 범위 및 최적화 알고리즘의 파라미터는 아래 표4와 같이 설정하였다.

표 4최적화 파리미터의 설정 및 파리미터의 탐색 범위 Table 4 Setting of initial optimization parameters and search range of parameters

5.3 실험 결과

전처리 과정에서 Point Signature 기법을 통해 추출한 각 인식대상자의 깊이 데이터를 다항식 기반 RBFNN과 PNN 모델에 입력으로 하여 인식성능을 확인하고 비교하였다. 깊이데이터 추출 방법에 따라 코끝을 기준으로 원 1개(반지름 10mm, 각도 10), 원 2개(반지름 20mm 각도 10)로 설정한 후 실험을 진행하였다. 아래 표5, 표6은 최적화 알고리즘을 사용하여 첫 번째 후보의 학습 데이터베이스를 이용하여 최적의 파라미터 통한 RBFNNs와 PNN 모델을 설계하고 테스트 데이터를 입력하여 성능지수를 나타낸다. 또한 설계된 PNN 모델은 총 3층으로 구성하여 마지막 층의 가장 좋은 성능지수를 가지는 노드의 입력변수, 다항식 Type와 성능지수를 확인할 수 있으며, RBFNN 모델에서는 퍼지화 계수, 규칙 수, 다항식 Type과 성능지수를 확인할 수 있다.

표 5첫 번째 후보DB에 있어서의 PNN 모델 성능 Table 5 Performance of PNN model in case of first candidateDB

표 6첫 번째 후보DB를 통한 RBFNN 모델 성능지수 Table 6 Performance of RBFNNs model in case of first candidate DB

최적화 알고리즘을 통해 설계된 각 인식 후보자의 최적의 RBFNNs모델과 PNN모델에 각 인식 후보자이 테스트 데이터를 입력하여 인식 성능을 산출한다. 인식 성능 산출 방법은 식(22)을 통해 최적의 파라미터로 설계된 각 후보들의 모델에 인식률을 확인하고자 하는 후보의 테스트 데이터를 입력하여 본인 모델의 출력과 타 후보의 출력을 비교하여 본인 보다 타 후보의 성능지수가 높게 나오는 경우 오 인식으로 판단하여 전체 인원의 오 인식 판단 횟수로 인식률을 산출한다. 아래 그림 15은 최적으로 설계된 각 인식후보자의 3차원 얼굴인식 모델에 테스트 데이터를 입력하여 인식률을 산출하는 과정을 나타낸다.

그림 15추출된 3D 얼굴 데이터베이스를 사용하여 구축된 두 제안된 모델 Fig. 15 Two proposed models constructed by using the extracted 3D face DB

아래 표 7은 첫 번째 후보의 ABC 기반 RBFNN 모델에 각 후보들의 테스트 데이터를 입력으로 사용하여 첫 번째 후보 본인의 출력과 각 후보들의 출력을 비교하여 성능지수를 나타낸다.

표 7첫 번째 후보의 RBFNN모델에 각 후보 성능 Table 7 Values of entire candidate's recognition performance obtained by RBFNN model of the first candidate DB

첫 번째 후보의 인식률 산출은 표 7에서 나타내듯이 후보 본인 외 다른 인식 후보가 높은 경우 오 인식으로 판단하여 오 인식 횟수를 늘려 식 (26)를 이용하여 최종 인식률을 산출한다. 표 7에서 나타난 첫 번째 후보 RBFNN 모델은 후보 본인 보다 높은 인식 성능을 가진 후보가 없어 아래 식 (27)와 같은 방법으로 최종 인식률을 산출한다.

표 8은 각 후보 19명의 모델의 평균인식률을 나타내며, 3차원 얼굴인식의 모델의 평균 인식률 결과 깊이 데이터 추출 방법인 Point Signature을 Single(원1)과 Multiple(원2)으로 추출하여 모델을 설계하고 인식을 수행한 결과 두 모델 모두 특징 데이터를 원 1개인 경우보다 원2개인 경우가 인식률이 높았으며, 최적화 알고리즘을 통한 학습 모델 설계한 결과 PSO알고리즘보다 ABC 알고리즘이 최적의 파라미터 더 가깝게 수렴하는 것을 확인하였고 PNN 모델 보단 RBFNNs 모델에서 좋은 성능지수를 볼 수 있었다.

표 83차원 얼굴인식 모델 평균 인식률 비교 Table 8 Comparison of average recognition rate of entire candidates for each model

또한, 표 9는 후보 19명에 대한 각 모델의 학습 시간 및 테스트 시간을 나타내며 RBFNN 모델이 PNN보다 빠른 학습시간을 보였고 테스트 시간은 두 모델 모두 비슷한 것을 확인 하였다.

표 93차원 얼굴인식 모델의 수행시간 Table 9 Computing time of 3D facial recognition model

 

6. 결 론

본 연구에서는 3차원 Scanner를 통해 획득한 인식 대상자의 3차원 얼굴형상을 전처리 과정에서 정면으로 포즈보상을 수행하였고 Point Signature 기법과 Multiple Point Signature 기법을 이용하여 깊이 데이터 추출하였다. 추출된 깊이 데이터를 설계 모델의 입력으로 사용하고 최적화 알고리즘을 이용하여 인식 대상자의 각각의 최적의 RBFNNs, PNN 3차원 얼굴인식 모델을 설계하였다. 설계된 3차원 얼굴인식 모델에 각 후보자의 학습과 검증에 사용하지 않은 테스트 데이터를 입력하여 각 후보 모델 인식률을 산출하였고 산출된 인식률을 통해 모델별로 인식 성능을 비교 확인 하였다. 실험 결과, 표 8에서 평균 인식률 표 9에서 수행 시간을 나타냈다. 최적화 알고리즘과 모델 구조를 비교한 결과 최적화 알고리즘에서 PSO 보다 ABC 알고리즘을 사용한 경우가 최적의 파라미터에 더 가깝게 수렴하였으며 깊이 데이터 추출 방법은 하나의 원을 사용하는 Point Signature 기법은 얼굴 전체 영역을 표현하기 어려우며, 특징 데이터 또한 적게 추출이 되어 인식성능이 낮게 나오는 것을 확인할 수 있었다. 반면 Multiple Point Signature 기법은 두 개의 원을 이용하여 깊이 데이터를 추출하는 방법으로 단일 원인 Single 보단 인식 성능이 더 높게 나오는 것을 확인할 수 있었다. RBFNN, PNN 모델 구조를 비교하였을 때 RBFNNs 모델이 PNN 모델보다 평균 인식률은 높았지만, 특정 인식 대상자를 제외한 인식 대상자 별로 비교하였을 때는 크게 차이가 나지 않는 것을 확인하였다. 학습 과정에서 PNN 모델은 다층 구조로 RBFNNs보다 다양하게 모델 구조를 설계 할 수 있으며 다항식 뉴론을 최적화 알고리즘을 통해 구축함으로서 다항식 신경망이 가진 많은 계산 량과 계산의 복잡성 및 장시간 프로그램 연산 속도를 극복 할 수 있었지만 RBFNNs 모델의 조건부에서 방사형 함수를 사용한 빠른 학습시간이 다층구조의 PNN 모델보다 모델링을 하는데 있어 좋은 효과를 보인 것을 확인하였다.

References

  1. W. Huang, S. K. Oh, W. Pedrycz, "Design of hybrid radial basis function neural networks (HRBFNNs) realized with the aid of hybridization of fuzzy clustering method (FCM) and polynomial neural networks (PNNs)" Neural Networks, Vol 60, pp 166-181, December 2014 https://doi.org/10.1016/j.neunet.2014.08.007
  2. S. K. Oh, W. D. Kim, and W. Pedrycz, "Fuzzy Radial Basis Function Neural Networks with information granulation and its parallel genetic optimization." Fuzzy Sets and Systems, Vol 237, pp 96-117, February 2014 https://doi.org/10.1016/j.fss.2013.08.011
  3. S. B. Roh, S. K. Oh, and W. Pedrycz. "Design of fuzzy radial basis function-based polynomial neural networks." Fuzzy sets and systems Vol 185, pp 15-37. December 2011 https://doi.org/10.1016/j.fss.2011.06.014
  4. Ahn, T Chon, et al. "Design of Radial Basis Function Classifier Based on Polynomial Neural Networks." Soft Computing in Artificial Intelligence. Springer International Publishing, Vol 270, pp 107-115, 2014 https://doi.org/10.1007/978-3-319-05515-2_10
  5. S-K. Oh, W-D. Kim, and W. Pedrycz,“Polynomial based radial basis function neural networks (P-RBFNNs) realized with the aid of particle swarm optimization,” Fuzzy Sets and Systems, Vol. 163, No. 1, pp. 54-77, 2011 https://doi.org/10.1016/j.fss.2010.08.007
  6. Y. Wang, C. Chua and Y. Ho, “Facial Feature Detection and Face Recognition from 2D and 3D Images," Pattern Recognition Letters, vol. 23, pp. 1191-1202, 2002. https://doi.org/10.1016/S0167-8655(02)00066-1
  7. C. Chua, R. Jarvis, "Point Signature: A New representation for 3D Object Recognition," International Journal of Computer Vision Vol. 25, No.1, pp. 63-85, 1997. https://doi.org/10.1023/A:1007981719186
  8. Karaboga, Dervis, et al. "A comprehensive survey: artificial bee colony (ABC) algorithm and applications." Artificial Intelligence Review Vol 42, lssue 1 pp 21-57, June 2014. https://doi.org/10.1007/s10462-012-9328-0
  9. Kaveh, A. "Particle Swarm Optimization." Advances in Metaheuristic Algorithms for Optimal Design of Structures. Springer International Publishing, pp 9-40. Mar 2014
  10. B. J, Park, S. K. Oh, and W. Pedrycz. "The design of polynomial function-based neural network predictors for detection of software defects." Information Sciences Vol 229 pp. 40-57 2013. https://doi.org/10.1016/j.ins.2011.01.026

Cited by

  1. Design of Pattern Classifier for Electrical and Electronic Waste Plastic Devices Using LIBS Spectrometer vol.26, pp.6, 2016, https://doi.org/10.5391/JKIIS.2016.26.6.477