SlideShare ist ein Scribd-Unternehmen logo
1 von 37
OpenFace
• paper
• Openface
• 소개
• 응용 예제
• 어떻게 사용하지?
• 설치하기.
• 예제 돌려보기
• 기존 데이터 활용해서 학습 시키기
• 새롭게 학습하기
• 질의응답
Training
• Cnn Classification example
• https://www.youtube.com/watch?v=gEfKfF9Ef3U
Bench Mark
Accuracies
LFW
• Labeled Faces in the Wild
• http://vis-www.cs.umass.edu/lfw/index.html
• 어떤 얼굴 인식 프로그램이든 그 성능을 확인할 수 있으려면 알고리즘
을 테스트할 적절한 얼굴 데이터가 필요하다. 물론 이 데이터에는 인종,
나이, 성뿐 아니라 조명, 표정, 자세별로 다른 다양한 얼굴들이 포함돼
있어야 한다. 거기에 헤어스타일, 의상 패션, 화장에 따른 얼굴 변화도
고려돼야 한다. 현재 이런 조건을 갖춘 표준 데이터 역할을 하는 것으
로 LFW(Labelled Faces in the Wild)라는 이름의 데이터세트가 있다. 이
세트에는 웹에서 수집한 약 6000명의 유명인사의 얼굴사진 1만3천여
장이 들어 있다.
• http://www.hani.co.kr/arti/economy/it/636535.html
Openface Library
Openface Library
• Free and Open source Face
recognition with deep
learning network
• Version
• 0.2.0
• Accuracy (0.1.0)76.1 ->
(0.2.0)92.9%
• Base on LFW Data set
• Blog
• https://cmusatyalab.github.io/o
penface/
• Api
• http://openface-
api.readthedocs.io/en/latest/
• Github
• https://github.com/cmusatyalab
/openface
구조
직접 설치
• 직접 빌드
• Git clone https://github.com/cmusatyalab/openface; python setup.py
• And… torch, cutorch etc....
• 복잡함.
Docker를 통한 설치 1
Nvidia-Docker를 이용한 설치1
• Docker for cuda
• Nvidia-Docker + openface
• https://github.com/jaeho-
kang/deep-
learning/blob/master/openface
/Dockerfile
• Cuda 7.5, cudnn5
nvidia-docker run -p 9000:9000 –p 8000:8000 –t –I image /bin/bash
nvidia cuda 지원 docker
Nvidia-Docker를 이용한 설치2
이미지 비교
• ./demos/compare.py ./images/examples/{lennon*,clapton*}
lennon
 clapton
lennon-1 lennon-2 clapton-1 clapton-2
lennon-1 - 0.763 1.132 1.145
lennon-2 0.763 - 1.447 1.521
clapton-1 1.132 1.447 - 0.318
clapton-2 1.145 1.521 0.318 -
분류예제
• ./demos/classifier.py infer models/openface/celeb-
classifier.nn4.small2.v1.pkl ./images/examples/carell.jpg
• class, confidence 출력.
pretrain 이용 학습하기
1. 데이터셋 준비하기
2. 전처리
3. Representations 생성
4. 분류기 학습
5. 분류기 활용
데이터셋 준비하기
오른쪽과 같은 구조의 데이터를 생성
인식하는 확장자는 jpg,png 소문자
전처리
• 위의 코드를 이용 전처리.
• 전처리 된 데이타셋에서 이미지가 임계 수량 보다 작을 경우 가치 치기를 수행
. ./util/prune-dataset.py
Representation 작성
위의 코드를 이용하여 전처리된 이미지를 representation을 작성
labels.csv, reps.csv 작성
분류기 학습 및 활용
• 분류기 학습
• 분류기 테스트
pretrain 이용 학습 정리
for N in {1..8}; do ./util/align-dlib.py <path-to-raw-data> align outerEyesAndNose
<path-to-aligned-data> --size 96 & done.
--preprocess
./batch-represent/main.lua -outDir <feature-directory> -data <path-to-aligned-
data> creates reps.csv andlabels.csv in <feature-directory>.
--representation generate
./demos/classifier.py train <feature-directory>
-- classification training
./demos/classifier.py infer ./models/openface/celeb-classifier.nn4.small2.v1.pkl
images/examples/{carell,adams,lennon}*n <feature-directory>
-- classification test
분류기 작성
1. 데이터셋 준비하기
2. 전처리
3. Model 학습
4. Model 평가
5. Model 활용
데이터셋 준비하기
오른쪽과 같은 구조의 데이터를 생성
인식하는 확장자는 jpg,png 소문자
전처리
• 위의 코드를 이용 전처리.
• 전처리 된 데이타셋에서 이미지가 임계 수량 보다 작을 경우 가치 치기를 수행
. ./util/prune-dataset.py
Model 학습
./training/main.lua –data <DataDir> -lfwDir <LfwDir> -peoplePerBatch 15 –
imagesPerPerson 20
Model 분석
./training/plot-loss.py wordDirs [WordDir]
Model 활용
./demos/classifier.py –networkModel [TrainModel] train datasource
networkModel : ./training/work/dir/model_n.t7 파일 DNN Weight 파일
./demos/classifier.py –networkModel [TrainModel] infer [TrainedModel] DataSource
networkModel : ./training/work/dir/model_n.t7 파일 DNN Weight 파일
TrainModel : classifier.py 결과물을 사용, p
preTrain VS DNN
사용후기
1. GPU는 필수…
• 이미지 1102개 DNN 학습 소요 시간
2. 양질의 데이타 필수
• 전 처리 단계에서 필터링을 하지만 다 거르지는 못함.
3. 분류할 클래스 수량에 따라 방법론를 다르게
분류 클래스 < 1000 : preTrain.
분류 클래스 >= 1000 : DNN 학습
CPU GPU
소요시간 3시간20분 15분
Q&A?
Appendix Library Reference
./demos/classifier.py
./training/main.lua
Appendix LFW Pairs.txt
• LFW 데이타셋을 이용하여 정확률을
계산 하기 위한 데이타 셋
• http://vis-
www.cs.umass.edu/lfw/README.txt
• 3.c pairs.txt format 참고.
• /root/openface/data/imgs/test1/alig
ned/pair_gen.py 작성
[count of iteration] [size of testset]
name n1 n2
name n1 n2
name n1 n2
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
name n1 n2
name n1 n2
name n1 n2
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
name n1 n2
name n1 n2
name n1 n2
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
name n1 n2
name n1 n2
name n1 n2
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
name n1 n2
name n1 n2
name n1 n2
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
name n1 n2
name n1 n2
name n1 n2
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
name n1 n2
name n1 n2
name n1 n2
------------------
name1 n1 name2 n2
name1 n1 name2 n2
name1 n1 name2 n2
-----------------------

Weitere ähnliche Inhalte

Was ist angesagt?

TenforFlow Internals
TenforFlow InternalsTenforFlow Internals
TenforFlow InternalsKiho Hong
 
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기Jaeseung Ha
 
[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_spark[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_sparkNAVER D2
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트itproman35
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)Tae Young Lee
 
Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tae Young Lee
 
Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기Taejun Kim
 
[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템NAVER D2
 
영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출동윤 이
 
집단지성 프로그래밍 03-군집발견-03
집단지성 프로그래밍 03-군집발견-03집단지성 프로그래밍 03-군집발견-03
집단지성 프로그래밍 03-군집발견-03Kwang Woo NAM
 
Deview RecoPick팀 AWS에서 추쳔 구현하기
Deview RecoPick팀 AWS에서 추쳔 구현하기Deview RecoPick팀 AWS에서 추쳔 구현하기
Deview RecoPick팀 AWS에서 추쳔 구현하기Chaehyun Lee
 
클러스터링을 통한 패턴 추출
클러스터링을 통한 패턴 추출클러스터링을 통한 패턴 추출
클러스터링을 통한 패턴 추출kidoki
 
Python machine learning Ch.4
Python machine learning Ch.4Python machine learning Ch.4
Python machine learning Ch.4PartPrime
 
집단지성 프로그래밍 05-문서필터링-02
집단지성 프로그래밍 05-문서필터링-02집단지성 프로그래밍 05-문서필터링-02
집단지성 프로그래밍 05-문서필터링-02Kwang Woo NAM
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)Tae Young Lee
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기NAVER D2
 
Io17ex automl & autodraw
Io17ex automl & autodrawIo17ex automl & autodraw
Io17ex automl & autodrawTae Young Lee
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 

Was ist angesagt? (20)

TenforFlow Internals
TenforFlow InternalsTenforFlow Internals
TenforFlow Internals
 
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
 
[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_spark[264] large scale deep-learning_on_spark
[264] large scale deep-learning_on_spark
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
 
Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)
 
파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)
 
Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기
 
[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템
 
영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출
 
집단지성 프로그래밍 03-군집발견-03
집단지성 프로그래밍 03-군집발견-03집단지성 프로그래밍 03-군집발견-03
집단지성 프로그래밍 03-군집발견-03
 
Deview RecoPick팀 AWS에서 추쳔 구현하기
Deview RecoPick팀 AWS에서 추쳔 구현하기Deview RecoPick팀 AWS에서 추쳔 구현하기
Deview RecoPick팀 AWS에서 추쳔 구현하기
 
클러스터링을 통한 패턴 추출
클러스터링을 통한 패턴 추출클러스터링을 통한 패턴 추출
클러스터링을 통한 패턴 추출
 
Python machine learning Ch.4
Python machine learning Ch.4Python machine learning Ch.4
Python machine learning Ch.4
 
집단지성 프로그래밍 05-문서필터링-02
집단지성 프로그래밍 05-문서필터링-02집단지성 프로그래밍 05-문서필터링-02
집단지성 프로그래밍 05-문서필터링-02
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
Io17ex automl & autodraw
Io17ex automl & autodrawIo17ex automl & autodraw
Io17ex automl & autodraw
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 

Andere mochten auch

딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)
딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)
딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)Daehee Han
 
내가 알고 있는걸 축약판
내가 알고 있는걸 축약판내가 알고 있는걸 축약판
내가 알고 있는걸 축약판jaeho kang
 
Utilizando OpenCV para soluções em visão computacional
Utilizando OpenCV para soluções em visão computacionalUtilizando OpenCV para soluções em visão computacional
Utilizando OpenCV para soluções em visão computacionalGuilherme Spadaccia
 
딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetect딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetectJunyi Song
 
KantoCV/Selective Search for Object Recognition
KantoCV/Selective Search for Object RecognitionKantoCV/Selective Search for Object Recognition
KantoCV/Selective Search for Object Recognitionbelltailjp
 
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出20160417dlibによる顔器官検出
20160417dlibによる顔器官検出Takuya Minagawa
 
Using Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated ApplicationsUsing Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated ApplicationsNVIDIA
 

Andere mochten auch (8)

딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)
딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)
딥러닝을 이용한 얼굴인식 (Face Recogniton with Deep Learning)
 
내가 알고 있는걸 축약판
내가 알고 있는걸 축약판내가 알고 있는걸 축약판
내가 알고 있는걸 축약판
 
콰이어트
콰이어트콰이어트
콰이어트
 
Utilizando OpenCV para soluções em visão computacional
Utilizando OpenCV para soluções em visão computacionalUtilizando OpenCV para soluções em visão computacional
Utilizando OpenCV para soluções em visão computacional
 
딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetect딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetect
 
KantoCV/Selective Search for Object Recognition
KantoCV/Selective Search for Object RecognitionKantoCV/Selective Search for Object Recognition
KantoCV/Selective Search for Object Recognition
 
20160417dlibによる顔器官検出
20160417dlibによる顔器官検出20160417dlibによる顔器官検出
20160417dlibによる顔器官検出
 
Using Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated ApplicationsUsing Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated Applications
 

Ähnlich wie Openface

Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용Youngjae Kim
 
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
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
Spark Day 2017 Machine Learning & Deep Learning With Spark
Spark Day 2017 Machine Learning & Deep Learning With SparkSpark Day 2017 Machine Learning & Deep Learning With Spark
Spark Day 2017 Machine Learning & Deep Learning With SparkSangHoon Lee
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작DACON AI 데이콘
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
Image data augmentatiion
Image data augmentatiionImage data augmentatiion
Image data augmentatiionSubin An
 
Polyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_apiPolyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_apifermat39
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detectionSeung-Woo Kang
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detectionTIMEGATE
 
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024NAVER D2
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템NAVER D2
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다Evion Kim
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)Dongheon Lee
 
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...Lablup Inc.
 

Ähnlich wie Openface (20)

Image Deep Learning 실무적용
Image Deep Learning 실무적용Image Deep Learning 실무적용
Image Deep Learning 실무적용
 
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
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
Spark Day 2017 Machine Learning & Deep Learning With Spark
Spark Day 2017 Machine Learning & Deep Learning With SparkSpark Day 2017 Machine Learning & Deep Learning With Spark
Spark Day 2017 Machine Learning & Deep Learning With Spark
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작생체 광학 데이터 분석 AI 경진대회 1위 수상작
생체 광학 데이터 분석 AI 경진대회 1위 수상작
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
Image data augmentatiion
Image data augmentatiionImage data augmentatiion
Image data augmentatiion
 
Polyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_apiPolyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_api
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detection
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detection
 
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)
 
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...
JMI Techtalk: 강재욱 - Toward tf.keras from tf.estimator - From TensorFlow 2.0 p...
 

Kürzlich hochgeladen

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 

Kürzlich hochgeladen (8)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 

Openface

  • 2. • paper • Openface • 소개 • 응용 예제 • 어떻게 사용하지? • 설치하기. • 예제 돌려보기 • 기존 데이터 활용해서 학습 시키기 • 새롭게 학습하기 • 질의응답
  • 3.
  • 5.
  • 6. • Cnn Classification example • https://www.youtube.com/watch?v=gEfKfF9Ef3U
  • 9. LFW • Labeled Faces in the Wild • http://vis-www.cs.umass.edu/lfw/index.html • 어떤 얼굴 인식 프로그램이든 그 성능을 확인할 수 있으려면 알고리즘 을 테스트할 적절한 얼굴 데이터가 필요하다. 물론 이 데이터에는 인종, 나이, 성뿐 아니라 조명, 표정, 자세별로 다른 다양한 얼굴들이 포함돼 있어야 한다. 거기에 헤어스타일, 의상 패션, 화장에 따른 얼굴 변화도 고려돼야 한다. 현재 이런 조건을 갖춘 표준 데이터 역할을 하는 것으 로 LFW(Labelled Faces in the Wild)라는 이름의 데이터세트가 있다. 이 세트에는 웹에서 수집한 약 6000명의 유명인사의 얼굴사진 1만3천여 장이 들어 있다. • http://www.hani.co.kr/arti/economy/it/636535.html
  • 11. Openface Library • Free and Open source Face recognition with deep learning network • Version • 0.2.0 • Accuracy (0.1.0)76.1 -> (0.2.0)92.9% • Base on LFW Data set • Blog • https://cmusatyalab.github.io/o penface/ • Api • http://openface- api.readthedocs.io/en/latest/ • Github • https://github.com/cmusatyalab /openface
  • 13. 직접 설치 • 직접 빌드 • Git clone https://github.com/cmusatyalab/openface; python setup.py • And… torch, cutorch etc.... • 복잡함.
  • 15. Nvidia-Docker를 이용한 설치1 • Docker for cuda • Nvidia-Docker + openface • https://github.com/jaeho- kang/deep- learning/blob/master/openface /Dockerfile • Cuda 7.5, cudnn5 nvidia-docker run -p 9000:9000 –p 8000:8000 –t –I image /bin/bash nvidia cuda 지원 docker
  • 17. 이미지 비교 • ./demos/compare.py ./images/examples/{lennon*,clapton*} lennon clapton lennon-1 lennon-2 clapton-1 clapton-2 lennon-1 - 0.763 1.132 1.145 lennon-2 0.763 - 1.447 1.521 clapton-1 1.132 1.447 - 0.318 clapton-2 1.145 1.521 0.318 -
  • 18. 분류예제 • ./demos/classifier.py infer models/openface/celeb- classifier.nn4.small2.v1.pkl ./images/examples/carell.jpg • class, confidence 출력.
  • 19. pretrain 이용 학습하기 1. 데이터셋 준비하기 2. 전처리 3. Representations 생성 4. 분류기 학습 5. 분류기 활용
  • 20. 데이터셋 준비하기 오른쪽과 같은 구조의 데이터를 생성 인식하는 확장자는 jpg,png 소문자
  • 21. 전처리 • 위의 코드를 이용 전처리. • 전처리 된 데이타셋에서 이미지가 임계 수량 보다 작을 경우 가치 치기를 수행 . ./util/prune-dataset.py
  • 22. Representation 작성 위의 코드를 이용하여 전처리된 이미지를 representation을 작성 labels.csv, reps.csv 작성
  • 23. 분류기 학습 및 활용 • 분류기 학습 • 분류기 테스트
  • 24. pretrain 이용 학습 정리 for N in {1..8}; do ./util/align-dlib.py <path-to-raw-data> align outerEyesAndNose <path-to-aligned-data> --size 96 & done. --preprocess ./batch-represent/main.lua -outDir <feature-directory> -data <path-to-aligned- data> creates reps.csv andlabels.csv in <feature-directory>. --representation generate ./demos/classifier.py train <feature-directory> -- classification training ./demos/classifier.py infer ./models/openface/celeb-classifier.nn4.small2.v1.pkl images/examples/{carell,adams,lennon}*n <feature-directory> -- classification test
  • 25. 분류기 작성 1. 데이터셋 준비하기 2. 전처리 3. Model 학습 4. Model 평가 5. Model 활용
  • 26. 데이터셋 준비하기 오른쪽과 같은 구조의 데이터를 생성 인식하는 확장자는 jpg,png 소문자
  • 27. 전처리 • 위의 코드를 이용 전처리. • 전처리 된 데이타셋에서 이미지가 임계 수량 보다 작을 경우 가치 치기를 수행 . ./util/prune-dataset.py
  • 28. Model 학습 ./training/main.lua –data <DataDir> -lfwDir <LfwDir> -peoplePerBatch 15 – imagesPerPerson 20
  • 30. Model 활용 ./demos/classifier.py –networkModel [TrainModel] train datasource networkModel : ./training/work/dir/model_n.t7 파일 DNN Weight 파일 ./demos/classifier.py –networkModel [TrainModel] infer [TrainedModel] DataSource networkModel : ./training/work/dir/model_n.t7 파일 DNN Weight 파일 TrainModel : classifier.py 결과물을 사용, p
  • 32. 사용후기 1. GPU는 필수… • 이미지 1102개 DNN 학습 소요 시간 2. 양질의 데이타 필수 • 전 처리 단계에서 필터링을 하지만 다 거르지는 못함. 3. 분류할 클래스 수량에 따라 방법론를 다르게 분류 클래스 < 1000 : preTrain. 분류 클래스 >= 1000 : DNN 학습 CPU GPU 소요시간 3시간20분 15분
  • 33. Q&A?
  • 37. Appendix LFW Pairs.txt • LFW 데이타셋을 이용하여 정확률을 계산 하기 위한 데이타 셋 • http://vis- www.cs.umass.edu/lfw/README.txt • 3.c pairs.txt format 참고. • /root/openface/data/imgs/test1/alig ned/pair_gen.py 작성 [count of iteration] [size of testset] name n1 n2 name n1 n2 name n1 n2 name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 name n1 n2 name n1 n2 name n1 n2 name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 name n1 n2 name n1 n2 name n1 n2 name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 name n1 n2 name n1 n2 name n1 n2 name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 name n1 n2 name n1 n2 name n1 n2 name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 name n1 n2 name n1 n2 name n1 n2 name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 name n1 n2 name n1 n2 name n1 n2 ------------------ name1 n1 name2 n2 name1 n1 name2 n2 name1 n1 name2 n2 -----------------------