Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 16, No. 1, pp.11-17
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Jan 2018
Received 29 Sep 2017 Revised 02 Jan 2018 Accepted 05 Jan 2018
DOI: https://doi.org/10.14801/jkiit.2018.16.1.11

Mixed-LGP와 해마 구조를 적용한 CNN을 이용한 얼굴검출 알고리즘 연구

공기호* ; 강대성**
*동아대학교 전자공학과
**동아대학교 전자공학과 교수
A Study of Face Detection Algorithm Using CNN with Mixed-LGP and Hippocampus Structure
Ki-Ho Kong* ; Dae-Seong Kang**

Correspondence to: Dae-Seong Kang Dept. of Electronic Engineering, Dong-A University, Busan, Korea. Tel.: +82-51-200-6968, Email: dskang@dau.ac.kr

초록

얼굴인식을 보다 정확하게 하기 위해 정교한 전처리 과정이 필요하다. 전처리 과정으로는 기존의 LBP(Local Binary Pattern)보다 조명, 표정, 배경 등과 같은 외부영향에 강인한 LGP(Local Gradient Pattern) 기반으로 한다. LGP를 기반으로 한 알고리즘에 얼굴 특징을 보다 잘 찾을 수 있도록 기울기(Gradient), 방향(Orientations), 밝기(Intensity), 가장자리(Edge)를 기반으로 하는 다중특징 채널과 Uniform 특징을 사용하고, 복잡한 패턴을 줄여 속도를 향상시켜주는 Symmetry 특징을 사용한다. 이러한 전처리 과정을 통하여 검출한 특징들을 해마구조를 적용시킨 CNN(Convolution Neural Network)에 학습 후 보다 정확한 얼굴 검출에 사용하는 알고리즘을 제안한다. 제안하는 알고리즘의 성능 평가를 위해 Yale 얼굴 데이터베이스, BioID 얼굴 데이터베이스, MU+MIT 데이터베이스를 사용하였고 실험 결과를 통해 기존의 알고리즘보다 3~9% 개선되었음을 보여준다.

Abstract

A precise preprocessing process is required for more accurate face recognition. The preprocessing process is based on LGP(Local Gradient Pattern), which is robust against external influences such as illumination, facial expression, and background, rather than the existing LBP(Local Binary Pattern). We use uniform features and multi-feature channel based on Gradient, Orientations, Intensity, and Edge to better locate facial features in LGP-based algorithms. Symmetry features are used to speed up complex patterns by reducing them. In this paper, we propose an algorithm that uses CNN (Convolution Neural Network) applied hippocampal structure for more accurate face Detection. We used Yale face data base, BioID face data base, and MU + MIT date base to evaluate the performance of the proposed algorithm. Experimental results show that the algorithm is improved by 3 ~ 9%.

Keywords:

LBP, LGP, multi-feature channel, symmetry, uniform, hippocampus, CNN

Ⅰ. 서 론

생체인식 기술은 사람의 측정 가능한 신체적(얼굴, 홍채, 망막, 지문, 손 모양, 혈관), 행동적 특성(음성, 필체, 서명)을 추출하여 본인 여부를 확인, 비교하는 기술을 말한다. 우리 일상에서 지문인식, 홍채인식, 음성인식 기술이 스마트 폰 잠금 해제, 출퇴근 체크에 일상적으로 사용되고 있으며, 근래에 들어 금융거래, 공문서 발급 등에도 널리 쓰이고 있다. 이러한 생체인식 기술 중 얼굴 인식도 여러 분야에 적용되고 있다. 신원 확인용을 위한 주민등록증, 신용카드, 보안시스템, 여권, 입국자 파악, 인사자료 등에 사용되며 범죄 용의자 검색, 범죄 차량추적, 위험 지대 감시 등 보완용으로 사용할 수 있다. 또한, 실종자 수사, 졸음운전 발견, 미성년자 술 및 담배 구매 방지, 사진 정리 등 여러 응용 분야에 적용하여 사용할 수 있다.

얼굴인식 분야는 높은 인식과 빠른 속도를 위해 많은 연구가 되고 있다. 위에서 언급하듯이 여러 응용 분야에 적용할 수 있는 장점이 있지만, 실제적인 응용에 있어 몇 가지 단점 또한 존재한다. 얼굴인식은 조명의 변화, 배경의 밝기 등 환경적인 변화에 많은 영향을 받는다. 그리고 머리 모양, 수염, 옷, 안경 착용, 표정, 사용자와 카메라와의 거리 등 사람의 외적요소에도 영향을 받는다.

얼굴인식을 위해서는 기본적으로 얼굴 영역을 정확하게 추출하는 사전 처리 과정이 필요하다. 얼굴과 배경을 나누기 위해 밝기, 색상, 움직임, 눈 코 입 위치 등의 정보를 이용하는데, 기존의 얼굴검출 기술에는 색상기반 방법, 특정 패턴의 이용해 얼굴을 검출하는 가우시안 혼합모델, 슬라이딩 윈도우를 이용한 신경망 모델 등이 있다. 이러한 모델들은 영상 전체적인 변화에 추출이 어렵고, 성능이 우수하지만 학습이 어렵고 속도가 느리며, 조명등 외부요인에 민감하다는 단점들이 있다[1]-[3]. 그리고 일반적으로 많이 사용하는 알고리즘인 Ojala등이 제안한 LBP(Local Binary Pattern)가 있다[4]. LBP는 간단하게 영상의 질감을 효율적으로 나타내는 방법이다.

본 논문에서 기존 LBP의 조명 변화, 표정, 배경 등과 같은 외부요인에 많은 영향을 받는 단점을 개선하기 위해 LGP(Local Gradient Pattern)를 기반으로 한다. LGP를 기반으로 한 알고리즘에 얼굴 특징을 잘 찾을 수 있도록 도와주는 Uniform 특징과 다중 특징 채널, 복잡한 패턴을 줄여 속도를 향상해주기 위해 Symmetry 특징을 LGP 알고리즘에 적용해 정확한 얼굴검출을 할 수 있도록 한다. 그리고 위와 같은 방법으로 찾은 특징들을 해마구조를 적용한 CNN 알고리즘에 학습 시킨 후 얼굴검출에 사용하는 알고리즘을 제안한다. 2장에서는 본 논문에 사용되는 관련 이론을 설명하고 3장에서는 실제 제안하는 방법을 제시한다. 4장에서는 제안하는 알고리즘을 이용해 기존의 알고리즘과 비교하여 제안하는 알고리즘의 성능을 분석하고, 결론 및 향후 연구 방향을 제시한다.


Ⅱ. 관련 이론

2.1 LBP

LBP는 본래 영상의 질감을 분류하기 위한 용도로 개발된 특징인데 이후 얼굴인식에 활용되고 있다. LBP는 식별력과 조명의 변화에 대한 간단한 연산으로 이미지 분석, 복구 및 인식에 적용되고 식 (1)에서 다음과 같이 나타낼 수 있다.

LBPp,r=p=0p-1sgp-gc2psx=1,if x00otherwise(1) 

식 (1)에서 gp는 중심 화소를 제외한 각 화소 값, gc는 중심 화소를 의미한다. 그리고 그림 1에서 P와 R은 각각 인접한 화소 수와 원의 반지름을 의미하고 그림 2는 LBP의 결과화면이다[5].

Fig. 1.

Example of local binary pattern

Fig. 2.

Results screen of local binary pattern

2.2 LGP

LGP는 기존의 LBP의 단점을 개선하여 배경, 조명, 얼굴 주변 등의 영역에 포함된 부분의 계산 변화를 최소화할 수 있게 개선한 방법이며 수식은 다음과 같다[6].

LGPxa,ya=n=0p-1sgn-gc-M2nM=n=07gn-gc8sx=1,if x00otherwise(2) 

식 (2)에서 xa, ya는 중앙 픽셀의 위치, gn은 이웃하는 픽셀 값, gc는 중앙 픽셀 값, s(x)는 x ≥ 0이면 1, 나머지 경우는 0으로 변환된다. 그림 3은 기존의 중앙 픽셀값과 이웃 픽셀값의 크기를 비교하는 것과 달리 평균 기울기와 이웃 기울기를 비교하여 0과 1로 변환시킨다. 그림 4는 LGP의 결과화면이고, 그림 5는 배경의 명암과 검출하고자 하는 대상의 명암에 따라 LBP와 LGP의 값이 다르다는 것을 나타낸다[6].

Fig. 3.

Local gradient pattern operator in 3x3

Fig. 4.

Results screen of local gradient pattern

Fig. 5.

Comparison of features of LBP and LGP

2.3 Mixed - LGP

LGP는 평균 기울기와 이웃 기울기를 비교하여 이웃의 8개 픽셀에 대해 0(00000000)부터 255(11111111)까지 256개의 경우의 결과 값이 나오기 때문에 특징으로 사용하기에는 복잡한 단점을 가지고 있다. 이러한 단점을 해결하기 위해 평균 기울기와 이웃 기울기를 사용하지 않고 서로 마주 보는 이웃 픽셀을 사용하여 비교한다. 이러한 단점을 해결하여 결과 값의 경우를 줄임으로써 속도를 향상시킬 수 있다.

그림 6은 LGP와 Symmetry 특징으로 특징을 단순화시킨 LGP를 비교한다. 그리고 여러 패턴 중에 의미 있는 패턴들을 선택해 최대 2개의 비트-와이즈 0-1 또는 1-0으로 전이를 포함하는 Uniform 특징과 다중특징채널을 사용해 얼굴에서 가장 확실한 특징을 가지고 있는 눈, 코, 입의 특징 패턴을 보다 정확하게 찾아내 얼굴을 검출할 수 있다. 그림 7은 Uniform 패턴의 패턴 선택 방법이다[7]-[9].

Fig. 6.

Symmetry feature

Fig. 7.

Uniform feature

2.4 CNN

1989년에 제안된 이 모델은 아직도 많이 쓰이는 딥 네트워크 모델이다. 특히 인간의 시신경 구조를 모방하여 인간의 시각 정보를 처리하는 것으로 컴퓨터 비전에 특화된 네트워크이다. CNN은 이미지 인식, 음성 인식, 패턴 인식 등 다양한 분야에 사용된다[10].

CNN은 합성곱층(Convolution Layer), 풀링층(Pooling Layer), 완전 연결층(Fully Connection Layer)으로 구성되어 있다. CNN은 세 가지 특징을 가지고 있다. 첫 번째, 모델의 복잡도를 줄여주는 sparse interactions, 그리고 가중치를 각각 다른 확률변수로 취급하여 갱신하는 방법과 달리 특정 가중치 그룹들은 가중치 값이 항상 같도록 변수를 공유하는 parameter sharing, 마지막으로 상위 중요도를 어떤 특정한 형태로 배치하였을 때, 주어진 입력값의 변화에 대하여 출력이 효율적으로 변화하는 방식이 동등하게 변하는 현상을 의미하는 equivariant representations이다[11].

합성곱 연산은 이미지처리에서의 필터 연산에 해당된다. 합성곱 연산을 위해 입력 데이터 주변에 특정 값을 채워주는 패딩(Padding), 필터 적용 위치 간격을 조절하는 스트라이드(Stride) 등이 있다. 합성곱 계층의 입출력 데이터를 입출력 특징맵이라고 한다. 그리고 풀링층은 보통 합성곱층의 바로 뒤에 배치되며 평균 풀링, 최대 풀링 등이 있다[12].

2.5 해마구조 신경망

생물학적으로 해마는 관자엽의 안쪽에 위치하며 대뇌겉질 밑에 존재한다. 해마머리는 편도의 뒤와 맞닿아 있으며, 해마는 몸통과 꼬리의 두 부분으로 나누어 질수 있는데 외측뇌실의 관자뿔 바닥 중앙을 따라서 꼬리로 갈수록 얇아진다. 기능으로서 속후각겉질을 통하여 주된 들섬유를 받아들이며 기억, 학습 및 새로운 것의 인식 열할을 한다. 뇌활을 통하여 날섬유를 내보낸다. 내후각뇌 피질은 관통경로를 통해 치아이랑의 과립세포들로 정보를 전달하며 해마체의 구조는 CA지역과 피라미드 세포들로 구분할 수 있다. 이끼 섬유 경로는 해마체의 CA3 영역에 있는 피라미드 세포들의 가지살들로 연결된다. 그리고 CA3영역은 두 가지 방향으로의 줄기살들을 가지는데, 하나는 CA1 영역의 피라미드 세포와 시냅스를 이루면서 해마체에 머무른다. 다른 하나는 해마체를 떠난다. CA1 피라미드 세포들의 줄기살들은 행마이행체로로 연결되어 내후각뇌 피질로 재투사된다. 그리고 치아이랑을 제외한 해마 구조의 대부분 뉴런은 대뇌 피질의 다른 지역으로 줄기살들을 보내기 때문에 뇌 전체 영역의 기억 능력 기능을 제어에 좋은 형태를 이루고 있다.

해마의 가장 중요한 특징으로 뇌로 들어오는 특징들을 단기기억에서 장기기억으로 저장하는 특징이 있다. 먼저 정확도가 낮은 특징들이 휘발성 영역인 단기기억에 기억되며, 이러한 특징들의 반복을 통해 장기기억 장소에 저장되는 특징이 있다.

그림 8은 의사코드(Pseudo Code)순으로 학습시킨 알고리즘이고, 패턴의 단순화, 근접화, 인식률 향상과 같은 순서로 진행하며 해마구조 신경망 구현은 VC++의 SLT와 MFC를 사용하여 작성하였다[13].

Fig. 8.

Hippocampal structural neural network algorithm


Ⅲ. 제안하는 방법

얼굴인식을 정확하게 하기 위해서는 먼저 얼굴을 정확하게 검출하는 것이 중요하다. 그러나 여러 가지 요소들이 얼굴검출의 방해요인이 된다. 대표적인 방해요인으로 조명, 배경 등이 있고 이러한 방해요인을 최소화할 수 있어야 높을 검출률을 가질 수 있다. 기존의 하나의 특징채널로 정확한 검출에는 한계가 있다.

그림 9와 같이 기울기(Gradient), 방향(Orientations), 밝기(Intensity), 가장자리(Edge)와 같은 특징채널을 이용해 특징을 검출한다. 그리고 LBP에 비해 조명과 배경 등의 방해요인으로부터 강인한 LGP를 계산 범위를 줄여 속도를 높여주는 Symmetry 특징과 얼굴의 고유한 패턴을 이용해 정확도를 높여 주는 Uniform의 특징으로 개선시킨다.

Fig. 9.

Proposal method

본 논문에서는 다중특징채널과 LGP를 Symmetry, Uniform 특징으로 개선시킨 두 가지 방법을 통하여 얼굴을 검출한다. 그리고 검출한 특징을 해마 구조적으로 변형시킨 CNN 알고리즘을 이용해 학습시켜 얼굴검출에 사용하는 알고리즘을 제안한다.


Ⅳ. 실험 결과 및 결론

본 논문에서는 기존의 조명의 변화, 표정, 배경 등 외부요인에 영향을 많이 받는 LBP 대신에 LGP를 기반으로 한다. LGP 알고리즘에 얼굴 특징을 정확히 찾기 위한 다중특징 채널과 Uniform 특징, 복잡한 패턴 연산을 줄여주는 Symmetry 특징으로 LGP 알고리즘을 개선시킨다. 개선시킨 LGP 알고리즘과 딥러닝 알고리즘 중 하나인 CNN 알고리즘에 해마구조를 적용시켜 얼굴 특징을 학습 및 분류하여 강인한 얼굴 인식을 위한 알고리즘을 제안한다. 제안하는 알고리즘의 신뢰성을 위해 Yale 얼굴 데이터베이스, BioID 얼굴 데이터베이스, MU+MIT 데이터베이스를 이용해 학습하였고, 실험 또한 Yale 얼굴 데이터베이스, BioID 얼굴 데이터베이스, MU+MIT 데이터베이스에서 제공하는 테스트 이미지를 이용해 실험하였다.

4.1 실험 결과

실험 사진으로는 Yale 얼굴 데이터베이스, BioID 얼굴 데이터베이스, MU+MIT 데이터베이스에서 제공하는 실험 사진을 사용하였다. 그럼 10은 총 인원수 36명, 인식 얼굴 수 34명, 오 검출 수 0명, 미 검출 수 2명인 실험 결과다.

Fig. 10.

Experimental results of the proposed method

표 1은 LBP, LGP, CNN 알고리즘 그리고 제안하는 알고리즘을 가지고 테스트한 결과다. 기존 알고리즘 보다 3~9% 성능 향상을 보인다.

Compare results with existing algorithms

4.2 결 론

본 논문에서는 조명, 표정, 배경 등과 같은 외부요인에 영향을 받지 않는 얼굴 검출 알고리즘을 개발하였다. 제안하는 알고리즘은 96%의 검출률을 보였고 기존의 알고리즘보다 3~9% 성능이 개선되었다. 제안하는 얼굴 인식 알고리즘은 먼저 가장 중요한 전처리 과정을 통해 이후 해마구조를 적용한 CNN 알고리즘에 맞게 알맞은 환경을 만들어 주는 것이다. 그러한 환경을 만들기 위해 제안하는 알고리즘을 사용하여 조명, 표정, 배경 등에 영향을 받는 기존의 알고리즘과 달리 외부 요인에 영향을 받지 않는 환경을 만들어 주는 것이다. 전처리 후 많은 양의 데이터를 해마 구조를 적용한 CNN 알고리즘을 통해 분류 및 학습 후 기존의 LBP, LGP, CNN 알고리즘 보다 더 정확한 얼굴 인식을 할 수 있도록 하였다. 향후 연구방향으로는 더 많은 양의 얼굴 데이터를 학습하고 인식되지 않은 얼굴의 특징에 대한 연구를 통해 해결방안을 알고리즘에 적용하여 더욱 신뢰성 있는 얼굴인식 시스템을 구축할 수 있을 것이다.

Acknowledgments

이 논문은 2017 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No.2017R1D1A1B04030870)

References

  • Heak-Bong Kwon, Dong-Jin Kwon, Un-dong Chang, Young-Bok Yun, and Jae-hyeong Ahn, "A Facial Region Detection using the Skin Color and Edge Information at YCbCr", Journal of Korea Multimedia Society, 7(1), p27-34, Jan), (2004.
  • In-Gwon Oh, Hyun-Jin Kim, and Jae-Chan Namgung, "Real Time Facial Recognition using SURF and Hippocampal Neuron Networks", Journal of KIIT, 10(1), p177-185, Jan), (2012.
  • Chan-Ho Lee, Ju-Chul Park, and Hyung-Il Choi, "Face Recognition with Normalized Wavelet Features", Journal of KIISE, 27(10), p1046-1053, Oct), (2000.
  • Ojala, Timo, Matti Pietikäinen, and David Harwood, "A comparative study of texture measures with classification based on featured distributions", Pattern recognition, 29(1), p51-59, Jan), (1996. [https://doi.org/10.1016/0031-3203(95)00067-4]
  • Ahonen, Timo, Abdenour Hadid, and Matti Pietikainen, "Face description with local binary patterns: Application to face recognition", IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(12), p2037-2041, Dec), (2006. [https://doi.org/10.1109/tpami.2006.244]
  • Bongjin Jun, and Daijin Kim, "Robust face detection using local gradient patterns and evidence accumulation", Pattern Recognition, 45(9), p3304-3316, Sep), (2012. [https://doi.org/10.1016/j.patcog.2012.02.031]
  • Jingsong Xu, Qiang Wu, Jian Zhang, and Zhenmin Tang, "Fast and accurate human detection using a cascade of boosted MS-LBP features", IEEE Signal Processing Letters, 19(10), p676-679, Oct), (2012. [https://doi.org/10.1109/lsp.2012.2210870]
  • Wolf, Lior, Tal Hassner, and Itay Maoz, "Facerecognition in unconstrained videos with matched background similarity", Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on. IEEE, p529-534, Jun), (2011. [https://doi.org/10.1109/cvpr.2011.5995566]
  • Yadong Mu, Shuicheng Yan, Yi Liu, T. Huang, and Bingfeng Zhou, "Discriminative local binary patterns for human detection in personal album", Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, p1-8, Jun), (2008. [https://doi.org/10.1109/cvpr.2008.4587800]
  • Y. LeCun, Y. Bengio, and Hinton, G., "Deep Learning", Nature, 521, p436-444, May), (2015.
  • Heeyoul Choi, "Friendly Introduction to Deep Learning", Journal of Platform Technology, 2(3), p3-18, Sep), (2014.
  • Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton, "Imagenet classification with deep convolutional neural networks", Advances in neural information processing systems, (2012). [https://doi.org/10.1145/3065386]
  • Sun-Moon Oh, & Dae-Seong Kang, "Development of Learning Algorithm using Brain Modeling of Hippocampus for Face Recognition", The Institute of Electronics Engineers of Korea - Signal Processing, 42(5), p55-62, Sep), (2005.
저자소개
공 기 호 (Ki-Ho Kong)

2009년 2월 : 동아대학교 전자공학과(공학사)

2016년 ~ 현재 : 동아대학교 전자공학과 석사과정

관심분야 : 영상처리, 컴퓨터비전

강 대 성 (Dae-Seong Kang)

1994년 5월 : Texas A&M 대학교 전자공학과(공학박사)

1995년 ~ 현재 : 동아대학교 전자공학과 교수

관심분야 : 영상처리, 비디오 색인 및 검색, 영상압축

Fig. 1.

Fig. 1.
Example of local binary pattern

Fig. 2.

Fig. 2.
Results screen of local binary pattern

Fig. 3.

Fig. 3.
Local gradient pattern operator in 3x3

Fig. 4.

Fig. 4.
Results screen of local gradient pattern

Fig. 5.

Fig. 5.
Comparison of features of LBP and LGP

Fig. 6.

Fig. 6.
Symmetry feature

Fig. 7.

Fig. 7.
Uniform feature

Fig. 8.

Fig. 8.
Hippocampal structural neural network algorithm

Fig. 9.

Fig. 9.
Proposal method

Fig. 10.

Fig. 10.
Experimental results of the proposed method

Table 1.

Compare results with existing algorithms

Algorithm Face detection(%) False detection(%)
LBP 87 63
LGP 92 52
CNN Algorithm 93 32
Proposal Algorithm 96 16