SlideShare a Scribd company logo
1 of 15
Download to read offline
AdaBoost를 이용한 Face Recognition
한국산업기술대학교
인공지능연구실
2007152025 신요섭
00Introduction
어떠한 대상을 인식하기 위해서는 먼저 인식할 대상에 대한 특징이 입력되어야 함
대상에 대한 공통적인 특징을 찾아내기 위해서 ‘학습’과정이 필요함
AdaBoost는 이러한 학습과정을 통해 정확한 분류기를 만들기 위한 알고리즘
영상 인식
00Introduction
P.Viola & M.Jones
Rapid Object Detection using a Boosted Cascade of Simple Features, 2011
P.Viola & M.Jones
Robust Real-Time Face Detection, 2004
01AdaBoost?
적응형 부스팅 알고리즘
Boosting Algorithm
약한 분류기를 반복적으로 이용해 강한 분류기를 만들어내는 알고리즘
Adaptive Boosting Algorithm
잘못 검출된 데이터에 가중치를 주어 정확도를 높이는 부스팅 알고리즘
AdaBoost
01AdaBoost
h 약분류기
α 가중치(신뢰도)
T 분류기의 개수
f(x) 강분류기
01AdaBoost
   "
t=1;"
    강분류기 f(x) = empty;"
 "
    while (1 to T) {"
        과정1) 모든 약분류기에 대해, 모든 학습 샘플들을 테스트한다."
        과정2) 최소 에러를 보였던 약분류기 ht 를 선택한다."
        과정3) 과정 1, 2에 근거하여 약분류기의 가중치 wt를 계산한다."
       "
        과정4) 강 분류기를 다음과 같이 업그레이드 한다."
              새 강분류기  = 이전 단계의 강분류기 + wt * ht"
       "
        과정5) 모든 학습 샘플에 대해 강분류기의 정확도 테스트."
        과정6) t++"
     }"
‣ Adaboost process
02HaarFilter
edge
line
4-rectangled
‣ Haar Filter
• Haar Filter를 다양한 크기로 변화시켜 영상에서 비교를 수행
• Haar like Feature 는 검정영역의 밝기와 흰 영역의 밝기 차이
를 의미함.
• 예를 들어, 필터를 통과한 경우 1, 그렇지 않은 경우 0으로 분
류할 수 있음
• 필터를 통과한 영상의 부분을 feature라고 지칭함.
• 이 feature들은 해당 부분을 인식할 수 있는 하나의 기준이 됨.
02Haar-likeFeature
Sub-windowSub-window
• 영상의 특징을 검출해내기 위한 feature 선택
edge
line
4-rectangled
24*24 크기의 이미지에서 5개의 필터를 이용하여 학습
하기 위한 Sub-window의 개수는 180,000개 이상이고
학습에 매우 오랜 시간이 걸리므로 검출에 필요한 적절
한 적은 수의 필터를 선택하는 것은 매우 중요함.
03IntegralImage
‣ Integral Image (적분영역)
• 영상에는 무수히 많은 영역이 존재 (24*24픽셀의 영상에 5가지의 Haar 필터를 적용한
다면 영역의 수는 180,000개에 달함)
• Haar Filter를 계산할때마다 이러한 영역의 픽셀 수를 일일이 계산한다면 연산 시간이
상당히 오래 걸리므로 각 점에서의 적분영역을 미리 계산해 두어 연산 시간을 줄임.
D 영역의 픽셀 수 :
(A+B+C+D) - (A+B) - (A+C) +A
A B
C D
P4
P1 P2
P3
0
04Cascading
1 2 3 4
T T T
F F F F
T
Reject Sub-window
All Sub-windows
Further
Processing
05OpenCV에서AdaBoost의활용
‣ feature 학습
영상에서 원하는 부분을 검출해내기 위해서는 positive 이미지와 negative 이미지를 이
용한 학습을 수행해야 함. -> OpenCV에서 제공되는 createsamples 프로그램 이용
얼굴을 검출하기 위한 Positive 이미지와 Negative 이미지의 예
학습된 데이터는 xml 형식으로 추출됨.
05OpenCV에서AdaBoost의활용
‣ 인식
OpenCV에는 학습과 인식에 관한 AdaBoost 알고리즘이 모두 라이브러리로 구현되어
있으므로, 학습후 추출된 xml형식의 분류기를 이용하여 비교적 쉽게 원하는 부분을 인식
하는 프로그램 제작이 가능함.
05OpenCV에서AdaBoost의활용
‣ OpenCV에 기본적으로 포함되어 있는 분류기:
06결론
Viola가 제안한 이 방법은 학습에 시간이 많이 소요된다는 단점이 있으나 그에 반해 인식
속도는 굉장히 빠른 방법으로, 실시간으로 영상에서 특징을 검출하기 위해 사용할 수 있는
매우 좋은 방법임.
"
진행해야 할 프로젝트는 큰 영상에서 얼굴을 검출하고 눈을 검출하는 일련의 과정이 필요
하지 않고 오직 영상에서 눈을 검출하고 눈의 감긴정도만을 알아내야 하므로 이 방법을 사
용하면 더욱더 빠른 수준의 검출이 가능할 것으로 예상됨.
"
OpenCV에 학습부터 인식까지의 알고리즘이 전부 라이브러리로 구현되어 있으므로, 적
절한 학습데이터를 얻을 수 있다면 인식 자체는 비교적 어렵지 않게 구현할 수 있을 것으로
생각됨.
07Reference
[1] P.Viola & M.Jones, Rapid Object Detection using a Boosted Cascade of Simple Features, 2011
[2] P.Viola & M.Jones, Robust Real-Time Face Detection, 2004
[3] 정병우 & 박기영, 객체검출을 위한 빠르고 효율적인 Haar-Like 피쳐 선택 알고리즘, 2013
[4] 정종률 & 최종욱, AdaBoost 학습을 이용한 얼굴 인식, 2003
[5] http://heidi88.blogspot.kr/2014/01/boosting.html, “Boosting 알고리즘”
[6] http://en.wikipedia.org/wiki/Haar-like_features, “WIKIPEDIA: Haar-like features”
[7] http://blogs.burnsidedigital.com/2009/04/using-haar-cascades-and-opencv-in-as3/, “Using
Haar Cascades and OpenCV in AS3"
[9] http://hlena33.blog.me/30025530042, “AdaBoost로 XML만드는 방법입니다”
[8] http://cafe.naver.com/opencv/28587, “초보자도 이해할만한 AdaBoost 설명”
[10] http://readme.skplanet.com/?p=4308, “얼굴인식 기술을 소개합니다!”

More Related Content

Similar to Adaboost를 이용한 face recognition

[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기Amazon Web Services Korea
 
[스프링 스터디 3일차] AOP와 LTW
[스프링 스터디 3일차] AOP와 LTW[스프링 스터디 3일차] AOP와 LTW
[스프링 스터디 3일차] AOP와 LTWAnselmKim
 
Python machine learning_chap04_2
Python machine learning_chap04_2 Python machine learning_chap04_2
Python machine learning_chap04_2 PartPrime
 
Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2Young Oh Jeong
 
Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020)
Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020) Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020)
Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020) Jihwan Bang
 
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung Ha
 
carrier of_tricks_for_image_classification
carrier of_tricks_for_image_classificationcarrier of_tricks_for_image_classification
carrier of_tricks_for_image_classificationLEE HOSEONG
 
사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리Dong Hwa Jeong
 
Ai&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloudAi&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloudHWANGTAEYONG
 
S#03 김용현:VS2010으로 마이그레이션
S#03 김용현:VS2010으로 마이그레이션S#03 김용현:VS2010으로 마이그레이션
S#03 김용현:VS2010으로 마이그레이션codercay
 
15.ai term project_final
15.ai term project_final15.ai term project_final
15.ai term project_final호상 장
 
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐Amazon Web Services Korea
 
IBM PowerAI Vision
IBM PowerAI VisionIBM PowerAI Vision
IBM PowerAI VisionSeoro Kim
 
[2B2]기계 친화성을 중심으로 접근한 최적화 기법
[2B2]기계 친화성을 중심으로 접근한 최적화 기법[2B2]기계 친화성을 중심으로 접근한 최적화 기법
[2B2]기계 친화성을 중심으로 접근한 최적화 기법NAVER D2
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinderJunHo Yoon
 
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여Kwangsung Ha
 
권기훈_포트폴리오
권기훈_포트폴리오권기훈_포트폴리오
권기훈_포트폴리오Kihoon4
 
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기GDG Korea
 

Similar to Adaboost를 이용한 face recognition (20)

[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 
[스프링 스터디 3일차] AOP와 LTW
[스프링 스터디 3일차] AOP와 LTW[스프링 스터디 3일차] AOP와 LTW
[스프링 스터디 3일차] AOP와 LTW
 
Python machine learning_chap04_2
Python machine learning_chap04_2 Python machine learning_chap04_2
Python machine learning_chap04_2
 
Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2
 
Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020)
Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020) Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020)
Low Price, High Quality: 적은 비용으로 모델 성능 높이기 (Naver Deview 2020)
 
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
 
carrier of_tricks_for_image_classification
carrier of_tricks_for_image_classificationcarrier of_tricks_for_image_classification
carrier of_tricks_for_image_classification
 
사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리사물인터넷 노트7_사물인터넷과 영상처리
사물인터넷 노트7_사물인터넷과 영상처리
 
Ai&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloudAi&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloud
 
llvm 소개
llvm 소개llvm 소개
llvm 소개
 
S#03 김용현:VS2010으로 마이그레이션
S#03 김용현:VS2010으로 마이그레이션S#03 김용현:VS2010으로 마이그레이션
S#03 김용현:VS2010으로 마이그레이션
 
15.ai term project_final
15.ai term project_final15.ai term project_final
15.ai term project_final
 
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
[2017 AWS Startup Day] 스타트업이 인공지능을 만날 때 : 딥러닝 활용사례와 아키텍쳐
 
IBM PowerAI Vision
IBM PowerAI VisionIBM PowerAI Vision
IBM PowerAI Vision
 
[2B2]기계 친화성을 중심으로 접근한 최적화 기법
[2B2]기계 친화성을 중심으로 접근한 최적화 기법[2B2]기계 친화성을 중심으로 접근한 최적화 기법
[2B2]기계 친화성을 중심으로 접근한 최적화 기법
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinder
 
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
 
권기훈_포트폴리오
권기훈_포트폴리오권기훈_포트폴리오
권기훈_포트폴리오
 
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
 

Adaboost를 이용한 face recognition

  • 1. AdaBoost를 이용한 Face Recognition 한국산업기술대학교 인공지능연구실 2007152025 신요섭
  • 2. 00Introduction 어떠한 대상을 인식하기 위해서는 먼저 인식할 대상에 대한 특징이 입력되어야 함 대상에 대한 공통적인 특징을 찾아내기 위해서 ‘학습’과정이 필요함 AdaBoost는 이러한 학습과정을 통해 정확한 분류기를 만들기 위한 알고리즘 영상 인식
  • 3. 00Introduction P.Viola & M.Jones Rapid Object Detection using a Boosted Cascade of Simple Features, 2011 P.Viola & M.Jones Robust Real-Time Face Detection, 2004
  • 4. 01AdaBoost? 적응형 부스팅 알고리즘 Boosting Algorithm 약한 분류기를 반복적으로 이용해 강한 분류기를 만들어내는 알고리즘 Adaptive Boosting Algorithm 잘못 검출된 데이터에 가중치를 주어 정확도를 높이는 부스팅 알고리즘 AdaBoost
  • 5. 01AdaBoost h 약분류기 α 가중치(신뢰도) T 분류기의 개수 f(x) 강분류기
  • 6. 01AdaBoost    " t=1;"     강분류기 f(x) = empty;"  "     while (1 to T) {"         과정1) 모든 약분류기에 대해, 모든 학습 샘플들을 테스트한다."         과정2) 최소 에러를 보였던 약분류기 ht 를 선택한다."         과정3) 과정 1, 2에 근거하여 약분류기의 가중치 wt를 계산한다."        "         과정4) 강 분류기를 다음과 같이 업그레이드 한다."               새 강분류기  = 이전 단계의 강분류기 + wt * ht"        "         과정5) 모든 학습 샘플에 대해 강분류기의 정확도 테스트."         과정6) t++"      }" ‣ Adaboost process
  • 7. 02HaarFilter edge line 4-rectangled ‣ Haar Filter • Haar Filter를 다양한 크기로 변화시켜 영상에서 비교를 수행 • Haar like Feature 는 검정영역의 밝기와 흰 영역의 밝기 차이 를 의미함. • 예를 들어, 필터를 통과한 경우 1, 그렇지 않은 경우 0으로 분 류할 수 있음 • 필터를 통과한 영상의 부분을 feature라고 지칭함. • 이 feature들은 해당 부분을 인식할 수 있는 하나의 기준이 됨.
  • 8. 02Haar-likeFeature Sub-windowSub-window • 영상의 특징을 검출해내기 위한 feature 선택 edge line 4-rectangled 24*24 크기의 이미지에서 5개의 필터를 이용하여 학습 하기 위한 Sub-window의 개수는 180,000개 이상이고 학습에 매우 오랜 시간이 걸리므로 검출에 필요한 적절 한 적은 수의 필터를 선택하는 것은 매우 중요함.
  • 9. 03IntegralImage ‣ Integral Image (적분영역) • 영상에는 무수히 많은 영역이 존재 (24*24픽셀의 영상에 5가지의 Haar 필터를 적용한 다면 영역의 수는 180,000개에 달함) • Haar Filter를 계산할때마다 이러한 영역의 픽셀 수를 일일이 계산한다면 연산 시간이 상당히 오래 걸리므로 각 점에서의 적분영역을 미리 계산해 두어 연산 시간을 줄임. D 영역의 픽셀 수 : (A+B+C+D) - (A+B) - (A+C) +A A B C D P4 P1 P2 P3 0
  • 10. 04Cascading 1 2 3 4 T T T F F F F T Reject Sub-window All Sub-windows Further Processing
  • 11. 05OpenCV에서AdaBoost의활용 ‣ feature 학습 영상에서 원하는 부분을 검출해내기 위해서는 positive 이미지와 negative 이미지를 이 용한 학습을 수행해야 함. -> OpenCV에서 제공되는 createsamples 프로그램 이용 얼굴을 검출하기 위한 Positive 이미지와 Negative 이미지의 예 학습된 데이터는 xml 형식으로 추출됨.
  • 12. 05OpenCV에서AdaBoost의활용 ‣ 인식 OpenCV에는 학습과 인식에 관한 AdaBoost 알고리즘이 모두 라이브러리로 구현되어 있으므로, 학습후 추출된 xml형식의 분류기를 이용하여 비교적 쉽게 원하는 부분을 인식 하는 프로그램 제작이 가능함.
  • 14. 06결론 Viola가 제안한 이 방법은 학습에 시간이 많이 소요된다는 단점이 있으나 그에 반해 인식 속도는 굉장히 빠른 방법으로, 실시간으로 영상에서 특징을 검출하기 위해 사용할 수 있는 매우 좋은 방법임. " 진행해야 할 프로젝트는 큰 영상에서 얼굴을 검출하고 눈을 검출하는 일련의 과정이 필요 하지 않고 오직 영상에서 눈을 검출하고 눈의 감긴정도만을 알아내야 하므로 이 방법을 사 용하면 더욱더 빠른 수준의 검출이 가능할 것으로 예상됨. " OpenCV에 학습부터 인식까지의 알고리즘이 전부 라이브러리로 구현되어 있으므로, 적 절한 학습데이터를 얻을 수 있다면 인식 자체는 비교적 어렵지 않게 구현할 수 있을 것으로 생각됨.
  • 15. 07Reference [1] P.Viola & M.Jones, Rapid Object Detection using a Boosted Cascade of Simple Features, 2011 [2] P.Viola & M.Jones, Robust Real-Time Face Detection, 2004 [3] 정병우 & 박기영, 객체검출을 위한 빠르고 효율적인 Haar-Like 피쳐 선택 알고리즘, 2013 [4] 정종률 & 최종욱, AdaBoost 학습을 이용한 얼굴 인식, 2003 [5] http://heidi88.blogspot.kr/2014/01/boosting.html, “Boosting 알고리즘” [6] http://en.wikipedia.org/wiki/Haar-like_features, “WIKIPEDIA: Haar-like features” [7] http://blogs.burnsidedigital.com/2009/04/using-haar-cascades-and-opencv-in-as3/, “Using Haar Cascades and OpenCV in AS3" [9] http://hlena33.blog.me/30025530042, “AdaBoost로 XML만드는 방법입니다” [8] http://cafe.naver.com/opencv/28587, “초보자도 이해할만한 AdaBoost 설명” [10] http://readme.skplanet.com/?p=4308, “얼굴인식 기술을 소개합니다!”