face feature recognition system with deep belief networks, for korean/kiise thesis
TRANSCRIPT
KIISE한국정보과학회
딥러닝을이용한이목구비인식시스템
서강대학교데이터마이닝연구실
일시: 2014년 12월 20일 (토요일) 발표자: 안재현
2
INDEX
1. 연구배경 2. Deep Belief Network 3. 적용과정 4. 연구결과 5. 향후과제
- Haar-like feature
- AdaBoost
- 개선점발견
- Deep Neural Networks
- Shallow 와 Deep Learner
- Boltzmann Distribution
- Restricted Boltzmann Machine
- CIFAR-10
- Dataset 구성
- 인터프리터
- 학습과정
- 학습결과
- ConfusionMatrix
- 현재과제
- 향후가능성
3
1. 연구배경Haar-like Feature에대하여
Haar-like Feature는 일반적인 사물 검출방식으로, 검은색 사각형 영역의 Grayscale 값의 총합(1)과 흰색 사각형 영역의 Gray scale값의 총합(2)을 뺀 값이일정하다는가정을통해사물을검출합니다
이미지출처: http://uniknown.wordpress.com/tugas/opencv-haar/
Rwhite
Rblack
FHaar = Rwhite - Rblack
만약우리가 0.1< Fhaar <0.2 일때,Rblack의공간을눈이라고알고있다고한다면
1
2
3
1: 0.32: 0.1243: 0.01
일때, 2의 Rblack의공간을눈으로간주합니다
4
1. 연구배경Haar-like Feature와 Ada-Boost Classifier
이때, Haar-like Feature를 더욱 정확하게 분류하기 위해서, Adaptive Boosting
Algorithm을 사용하여 정확도를 높이는것이 일반적입니다 (Robust Real-Time Face
Detection, P.Viola & M.Jones, 2004)
수식출처: http://en.wikipedia.org/wiki/AdaBoost
ft : 약분류기, T : 분류기의개수, FT : 강분류기
현재 OpenCV가기본샘플로제공하는 createsamples라는
프로그램이위와같은방식으로학습을수행하고있습니다
5
1. 연구배경기존인식방법의개선점발견
모두같은모양에서검출되었으므로, 컴퓨터는4개의형태모두를 ‘눈’이라고간주합니다
이미지출처: https://code.google.com/p/face-off/
속도및정확도개선이필요
그러나 Haar-like Feature를이용한객체검출방식은검출영역의모양에크게
영향을받을뿐만아니라, 각 Feature를이미지전체영역에대조해가며검출을
수행하기때문에시간이오래걸린다는단점이있습니다
6
2. Deep Belief Network Deep Neural Network에대해서
이에 Deep Learning을해당문제의해결방안으로제시하기전에, Deep Neural Network의
적용사례와논문들을보며어떤방식의학습방법이문제해결에적합한지조사하였습니다
Speech Recognition with Deep Neural Network (Hinton, 2012)
Traffic Sign Recognition with Multi-column Deep Neural Network(Ciresan & Meier & Masci, 2011)
Classifying images with Deep Belief Network (Krizhevsky & Hinton, 2012)
7
2. Deep Belief Network Shallow / Deep Learner 사이의차이점
Deep Belief Network(Hinton, 2006)를사용하기이전에, 왜 Belief Network가 Deep한방식
으로학습되는것이이미지분류에더유리한지알아보았습니다
출처: http://www.cs.toronto.edu/~rsalakhu/kdd.htmlhttps://seismo.berkeley.edu/annual_report/ar05_06/node38.html
Architecture of SVM
Architecture of Neural NetWith a single hidden layer Architecture of Deep Belief Network
Multi hidden layers
input
classified
8
2. Deep Belief Network Boltzmann Distribution
Deep Belief Network의처음과마지막 layer를제외하고는 Hidden layer이며, 이러한 multi
-hidden layer는 Boltzmann Distribution을따르는 node들로구성되어있습니다
Boltzmann Disribution
F: 확률, E: 에너지, k: 볼츠만상수, T: 온도
물질의에너지가클수록해당입자가존재할확률은줄어들게된다. 즉, 모든물질(노드)들은안정된(에너지가적은) 상태일때존재할확률이높아진다는가정이전제되어있습니다
이때, 이전레이어의 i노드와다음레이어의 j노드사이의관계는아래와같습니다
출처: http://en.wikipedia.org/wiki/Restricted_Boltzmann_machine
Energy in Boltzmann Disribution
W: 가중치, θ: bias
즉, 에너지를낮추어 node의존재확률을높이기위해서는각노드사이의weight를최대로만들어주어야한다는사실을알수있습니다
9
2. Deep Belief Network Restricted Boltzmann Machine
Deep Belief Network는 Boltzmann Machine이아니라 Restricted Boltzmann Machine을
여러층으로쌓은(Stacking) Network를구성합니다
Why Restricted?
출처: http://en.wikipedia.org/wiki/Restricted_Boltzmann_machine
Restricted 하게 Network를구성할경우,
back propagation에 의한 학습 시간이
매우 효율적으로 단축될 뿐 아니라,
특수한 종류의 Boltzmann machine에
대하여도 학습 알고리즘을 적용할 수
있게됩니다
Back Propagation?
학습의 세대(epochs)가 반복될 때마다, Deep Belief Network는 두 레이어
사이의 weight값을 조정하며 Energy 총량을 optimize합니다. 이때 visible
node와 hidden node가 둘 다 active되는 weight를 조절해주는데, 이 과정을
back propagation이라고합니다
10
3. 적용과정 CIFAR-10 Classification (2010, Hinton/ Krizhevsky)
출처: http://www.cs.toronto.edu/~kriz/cifar.html
CIFAR-10은 Deep Belief Network를사용하여 10개의클래스가있는 60,000개의이미지
를학습한뒤, 구분하는문제로, 2010년에 Hinton교수와 Krizhevsky 박사가수행했습니다
CIFAR-10의예
32 x 32의 이미지를 RGB값으로 각각
정렬한뒤 , 이를 다시 1차원으로
연결하여 학습 데이터 세트를
구성하였습니다. 즉,
<1 x label><3072 x pixel>
. . .
<1 x label><3072 x pixel>
로 구성된 60,000 row의 Array가 Deep
Belief Network의학습데이터가됩니다
11
3. 적용과정학습데이터세트구성
CIFAR-10과 마찬가지로 이목구비를 정확하게 인식할 학습 데이터를 충원하기
위하여 32x32 사이즈로조정한눈, 코, 입, 얼굴을각각 850개씩모으고, 라벨을붙여
관리하였습니다
데이터세트
학습용 테스트용
종류 레이블 개수 종류 레이블 개수
양쪽눈 0 1170
양쪽눈 0 440
입 1 636 입 1 204
코 2 692 코 2 150
얼굴 3 626 얼굴 3 214
CIFAR-10의학습규격과동일한형태의눈학습데이터
학습과검증을위한데이터세트의레이블과항목별개수
12
3. 적용과정인터프리터 / 학습과정
이 름 버전
Python 2.7.8
Nolearn* 0.4
openCV-python 2.4.10
scipy 0.14.0
numpy 1.9.0
*Nolearn은 Deep Belief Network를수행하기위해필요하며, 라이센스는 MIT에있습니다
CIFAR-10에서 수행한 Deep Belief Network학습을 재현하기 위해서는 Python을
비롯한아래의인터프리터들이필요합니다
인터프리터및버전
학습과정
학습은총 20세대(epochs)를수행하였으며, Learning rate는 ε=0.03 으로
설정하였습니다
13
4. 학습결과학습결과및검증행렬(Confusion Matrix)
위와같은변인(총 20세대(epochs)의학습과 ε=0.03의 Learning rate)으로학습한
결과세대별 Error Rate 그래프는다음과같이나왔고, 검증행렬또한얻을수
있었습니다
테스트데이터실제레이블
0 1 2 3
예상레이블
0 440 0 0 0
1 204 0 0
2 0 0 150 0
3 1 1 0 214
세대(epochs)별에러(Error rates)비율그래프
학습된네트워크를테스트데이터로검증한검증행렬(Confusion Matrix)결과
인식률 99.80%
Label Precision Recall F1-scores Support
0 1.00 1.00 1.00 440
1 1.00 1.00 1.00 204
2 1.00 1.00 1.00 150
3 1.00 0.99 1.00 216
Avg/Total 1.00 1.00 1.00 1010
정확률(Precision)과재현율(Recall)그에해당하는 F-measure 점수
14
5. 향후과제현재해결하고있는문제
눈,코,입,얼굴형태의미묘한차이구분
이미지컨설팅회사와함께컨설팅자동화작업진행중
(주)예라고, 서강대학교 LINK사업 (2014~)이미지출처: http://personalpages.manchester.ac.uk/staff/timothy.f.cootes/Models/aam.html
Active Shape Model(ASMs)를이용한얼굴형학습
15
5. 향후과제향후본연구의발전및응용가능성
본연구는딥러닝을통해높은확률로얼굴을인식할수있을뿐만아니라,
이목구비또한정확하게인식할수있음을확인하였습니다
기존이목구비인식방식과는달리, RGB 색상값을 Feature로사용할수있다는
점과, Haar-like feature와 같은 특수한 형태의 검출 방식이 아닌, Network의
반응 정도로 대상을 검출하는 방식은 사각형으로 사물을 구분하는 방식과는
달리유연하고고차원적인 Feature를가진문제들대해서도해법을제시할수
있을것으로보입니다.
본 주제를 이어가면, 다른 인종이 가지는 피부색의 차이나, 인종별 얼굴
형태의 미세한 차이를 구분하는 등의 방식으로 확장할 수 있을 것으로
전망됩니다
KIISE한국정보과학회
감사합니다
딥러닝을이용한이목구비인식시스템
서강대학교데이터마이닝연구실
안재현