SlideShare a Scribd company logo
1 of 37
Download to read offline
2016년 12월
2017년 12월 추가 테스트
Caricature 생성기
타임게이트 연구소
강 승 우
테스트의 목표
• Tensor Flow 익히기
• Machine Learning 이해
• Machine Learning 응용 가능성 확인
테스트 과제
• 강호동 사진  Caricature를 Machine Learning으로 익힌
다
• 해당 머신런닝 모델에 문근영 사진을 넣을 때 출력은???
테스트 절차
1) 데이터 구하기  인터넷 서핑
2) 데이터 단순화 및 규격화
 크기 조정 (80x100 = 8000 pixel)
 색을 흑백으로 제한 (gray)
 Scipy.misc 내의 imread(), imresize(), imsave()
3) 입력 데이터로 변환
 선택한 알고리즘에 맞는 입력 형태 변환
 생략 : 입력 : 0 ~ 1 사이의 값 ( 0 ~ 255를 255로 나눔)  나누지 말자~~~~
 비교 대상 : [0, 0, …., 1, 0, … 0] 형태  해당 위치의 value에만 1
 기존 CNN (MNIST) 샘플은… 0 ~ 9 숫자 판단  0 ~ 255로 변환
 Output은 [0, 1, 33, 255, …. , 37 ] 형태로 출력
테스트 절차
4) 테스트 모델 선택
 CNN 사용 : Image 인식  가까운 주변의 영향을 받는 모델
 주변의 특성에 따라 해당 위치의 값을 결정
 80 x 100 pixel을 10x10x8000 의 조각으로 나누어 각 점에 대응
 L1 : 20x10 filter를 60개 만들고, Pooling은 하지 않는다
 L2 : 20x10 filte를 120개, Pooling은 하지 않는다
 L3 : 1x1 filter를 3개로 다시 병합
 Fully Connecte Layer 없이 하나하나의 Filtering 결과가 한 점을 표현
 Learning 횟수는 10 ~ 1000 번 변화, 일정 간격으로 accuracy 변화 측정, 수행 시간 측정
5) 예측 결과 이미지 변환
 [0, 0, … 1,0,…0] 의 값을 50x40의 0 ~ 255의 값으로 변환
테스트 결과
10 회 learning, accuracy = 0.0055
100회 learning, accuracy = 0.0835 1689 초
500회 learning, accuracy = 0.9?? 8414 초
테스트 결과 평가
• 1개의 학습 데이터에서 배울 수 있는 정도는?
• Accuracy가 0.99 였음에도 불구하고 이미지는 차이가 큼
• 500회 수행이 8500초  1회 수행에 약 17초
• Filter의 크기, neuron의 갯수, feature의 갯수에 따른 변화를 찾아야 할 듯
• 다양한 테스트 모형에 따른 비교 필요
• 하이브리드 모델 혹은 feature 2 feature mapping 방법은 어떨지????
하이브리드 모델은 어떨까?
• 얼굴 형, 입, 코, 눈 등등 사진에서 인식 후, 준비된 이미지와 매칭 정도 비교 선택
• 유형 선택(귀엽게, 강하게 등등)에 따라 선택 이미지 변화
http://digibody.com/avatar-maker/
하이브리드 방법의 순서
1. 얼굴 형, 입, 코, 눈 등등 사진에서 인식
2. 각 부위 별 매칭 훈련 데이터로 훈련 시킴
3. 새로운 얼굴로 Predict
필요 사항
 테스트용 사진
 각 부위별 캐리커처 그림 집합
 훈련용 맵핑 결과
http://digibody.com/avatar-maker/
평균/분산을 활용한 강화법은 ?
1. 얼굴 형, 입, 코, 눈 등등 사진에서 인식
2. 인종 별 1000여가지 샘플에서 크기, 넓이 등의 평균과 비교
3. 2 x (표준편차) 이상인 특성을 (표준 이미지에서) 특정 비율로 키워줌
4. 2 x (표준편차) 이하의 특성을 (표준 이미지에서) 특정 비율로 줄여줌
필요 사항
 테스트용 사진
 각 부위별 표준 캐리커처 그림
 표준 사이즈 데이터
http://digibody.com/avatar-maker/
GPU 상에서 추가 테스트 결과
1000회 207초 2000회 396초 3000회 605초
20x10 필터 : L1 60채널, L2 120채널, L3 : 3 채널
25x20 필터 : L1 60채널, L2 120채널, L3 : 3 채널
1000회 465초 5x5 필터 1000회 23초 3x3 필터 256 512 채널, 1000회 111초
1000회 554초
4배 확대 입력
Conv2 2x2 MaxPooling 사용 3x3 필터 : L1 256채널, L2 512채널, L3 : 1 채널
Conv2 2x2 MazPooling 사용 : 25x20 필터 : L1 60채널, L2 120채널, L3 : 3채널
1000회 초
학습률0.0001 2286 초
1000회 1298초
Conv2 2x2 MaxPooling 사용 5x5 필터 : L1 256 채널, L2 512 채널, L3 : 3 채널, 학습률:0.0001
Conv2 2x2 MaxPooling 사용 : 10x10 필터 : L1 128채널, L2 256채널, L3 : 3 채널 학습률:0.0001
1000회 1301초
4배 확대 입력
1000회 371초 1000회 463초(L3:256채널 추가) 3000회 1397초 (L3:256채널 추가)
Conv2 3x3 MaxPooling 사용 5x5 필터 : L1 64채널, L2 128채널, L3 : 3 채널, 학습률:0.0001
Conv2 3x3 MaxPooling 사용 : 10x10 필터 : L1 64 채널, L2 128채널, L3 : 3 채널 학습률:0.0001
1000회 1069초 2000회 초 3000회 3603초
9배 확대 입력
5x5 3000회 1195초
1000회 초 2000회 초 3000회 1719 초
1000회 초 2000회 초 3000회 2991초
9배 확대 입력
Conv2 3x3 MaxPooling 사용 L1: 5x5 필터 64채널, L2 : 10x10 필터 128채널, L3 : 3 채널, 학습률:0.0001
Conv2 3x3 MaxPooling 사용 L1: 10x10필터 64채널, L2 : 5x5필터 128채널, L3 : 3 채널, 학습률:0.0001
1000회 259초 1000회 컬러 331초 컬러 1000회 378초
타깃 변경 컬러 1000회 363초
L3 10x10 1000회 919초
3000회 947 초
9배 확대 입력Conv2 3x3 MaxPooling 사용 L1: 3x3 필터 64채널, L2 : 3x3 필터 128채널,
L3 : 3x3 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
L2 5x5 1000회 419초 L2 4x4 1000회 351초
L4 3x3 1000회 303 초
L2 10x10 1000회 1024초
L4 2x21000회 312초
1000회 266초 1000회 컬러 331초 컬러 1000회 378초
타깃 변경 컬러 1000회 363초
L3 10x10 1000회 919초
3000회 947 초
9배 확대 입력
Conv2 3x3 MaxPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 128채널,
L3 : 2x2 필터 512채널 No Pooling L4 : 2x2 필터 3 채널 No Pooling, 학습률:0.0001
L2 5x5 1000회 419초 L2 4x4 1000회 351초
1000회 194초 1000회 84,16,8 240초 1000회 16, 512, 8 219초 1000회 8,8,2048 180초
9배 확대 입력
Conv2 3x3 MaxPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 64채널,
L3 : 2x2 필터 32채널 No Pooling L4 : 2x2 필터 3 채널 No Pooling, 학습률:0.001
Conv2 3x3 MaxPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 64채널,
L3 : 10x10 필터 10채널 No Pooling L4 : 2x2 필터 3 채널 No Pooling, 학습률:0.001
1000회 211초
1000회 8,8,2048 L3:5x5 250초1000회 8,8,2048 L3:20x20 1639초
1000회 471 초 2000회 초 3000회 1719 초
1000회 674초 2000회 초
3000회 초
9배 확대 입력
Conv2 3x3 MaxPooling 사용 L1: 5x5필터 64채널, L2 : 5x5필터 128채널,
L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
Conv2 3x3 MaxPooling 사용 L1: 10x10필터 64채널, L2 : 5x5필터 128채널,
L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
1000회 1575초 컬러 1000회 초 3000회 1719 초
1000회 3601초 2000회 초
3000회 초
9배 확대 입력
Conv2 3x3 MaxPooling 사용 L1: 20x20필터 64채널, L2 : 5x5필터 128채널,
L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
Conv2 3x3 MaxPooling 사용 L1: 5x5 필터 64채널, L2 : 20x20 필터 128채널,
L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
1000회 1862초 2000회 초 3000회 1719 초
1000회 920초 2000회 초
3000회 초
9배 확대 입력
Conv2 3x3 MaxPooling 사용 L1: 5x5 필터 64채널, L2 : 5x5필터 128채널,
L3 : 20x20 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
Conv2 3x3 MaxPooling 사용 L1: 15x15 필터 64채널, L2 : 3x3 필터 128채널,
L3 : 3x3 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
9배 확대 입력
Average Pooling
Conv2 3x3 AvgPooling 사용
L1: 2x2 필터 8채널,
L2 : 2x2 필터 12채널,
L3 : 20x20 필터 2048채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001
Conv2 3x3 AvgPooling 사용
L1: 10x10 필터 8채널,
L2 : 2x2 필터 12채널,
L3 : 2x22 필터 2048채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001 , 278 초
Conv2 3x3 AvgPooling 사용
L1: 2x2 필터 8채널,
L2 : 2x2 필터 12채널,
L3 : 2x2 필터 2048채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001 , 167초
Conv2 3x3 AvgPooling 사용
L1: 1x1 필터 64채널,
L2 : 2x2 필터 32채널,
L3 : 2x2 필터 16채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001 , 160 초
Conv2 3x3 AvgPooling 사용
L1: 2x2 필터 64채널,
L2 : 2x2 필터 32채널,
L3 : 2x2 필터 16채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001 , 초
1000회 초
1000회 134초
L1 : 10x10 1000회 212초
L1 레이어 확장은 큰 변환 효과 증가
까만 머리 부분 변환 효과가
하얀 줄로 보여진다 ~~~
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터
64채널 2x2 Pooling,
L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3
채널 No Pooling, 학습률:0.001
L1 : 5x5 128채널 1000회 250초
채널 확장은
L1 : 2x2 128채널 1000회 226 초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 2x2 128채널 1000회 227초
이걸 훈련 시키니 …. 이렇게 그리네요…. ^^
이걸 훈련 시키니 …. 이렇게 그리네요…. ^^
1000회 249초
1000회 243초
L1 : 10x10 1000회 382초
L1 레이어 확장은 큰 변환 효과
증가
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터
64채널 2x2 Pooling,
L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3
채널 No Pooling, 학습률:0.001
L1 : 5x5 128채널 1000회 271초
채널 확장은
L1 : 2x2 128채널 1000회 245초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 2x2 128채널 1000회 244초
Avg_Pooling 사용
L1: 10x10 1000회 390초
L1: 20x20 1000회 977초 L1 : 20x201000회 981초
입력 : 624x512
Target 사이즈 : 156x128
L1 : 20x20 128초 988초
L1 : 10x10 128채널 1000회 390초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 10x10 128채널 1000회 초
Avg_Pooling2 사용
L1: 2x2 1000회 151초
입력 : 624x512
Target 사이즈 : 624x512
L1 : 10x10 1000회 216초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 5x5 1000회 159초
No Pooling Same Size사용
L1 : 16 채널, L2 : 32 채널, L3 : 16채널, L4 :3 채널
L1 : 20x20 1000회 465초
L1: 2x2 1000회 154초
L1 : 10x10 1000회 초216L1 : 5x5 1000회 162초 L1 : 20x20 1000회 459 초
L1: 2x2 1000회 150초
입력 : 624x512
Target 사이즈 : 624x512
L1 : 10x10 1000회 219초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 5x5 1000회 161초
No Pooling Same Size사용
L1 : 16 채널, L2 : 32 채널, L3 : 16채널, L4 :3 채널
L1 : 20x20 1000회 467초
L1: 2x2 1000회 153초
L1 : 10x10 1000회 217초
L1 : 5x5 1000회 162초
L1 : 20x20 1000회 465초
1000회 초
1000회 134초
L1 : 10x10 1000회 212초
L1 레이어 확장은 큰 변환 효과 증가
훈련 데이터 size와 실데이터
size는 같아야 하는가?
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터
64채널 2x2 Pooling,
L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3
채널 No Pooling, 학습률:0.001
L1 : 5x5 128채널 1000회 250초
채널 확장은
L1 : 2x2 128채널 1000회 226 초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 2x2 128채널 1000회 226초
Avg Pooling : L1 5x5 128 채널
1000회 266초
L1 : 10x10 1000회 362초
L1 레이어 확장은 큰 변환 효과 증가
훈련 데이터 size와 실데이터
size는 같아야 하는가?
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터
64채널 2x2 Pooling,
L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3
채널 No Pooling, 학습률:0.001
L1 : 5x5 128채널 1000회 251초
채널 확장은
L1 : 2x2 128채널 1000회 224초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 2x2 128채널 1000회 226초
Avg Pooling L1 : 2x2 128채널 1000회 243초
Avg Pooling : L1 5x5 128 채널
1000회 266초 L1 : 2x2 1000회 245초
훈련 데이터 size와 실데이터
size는 같아야 하는가?
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터
64채널 2x2 Pooling,
L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3
채널 No Pooling, 학습률:0.001
L1 : 10x10 128채널 1000회 383 초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 5x5 128채널 1000회 271초
Avg Pooling L1 : 2x2 128채널 1000회 243초
AvgPooling 사용
L1 : 10x10 128채널 1000회 381초
L1 : 5x5 1000회 169초L1 : 2x2 1000회157 초 훈련 데이터 size와 실데이터
size는 같아야 하는가?
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 16채널 No Pooling,
L2 : 2x2 필터 32채널 No Pooling,
L3 : 2x2 필터 16채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001
L1 : 10x10 1000회 255초
Training 이미지가 1개  평균 훈련
효과가 없다
L1 : 2x2 1000회 153초
Avg Pooling L1 : 2x2 1000회 150초
Same Size
L1 : 10x10 1000회 227초
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 16채널 No Pooling,
L2 : 2x2 필터 32채널 No Pooling,
L3 : 2x2 필터 16채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001
L1 : 10x10 1000회 217초
Training 이미지가 1개  평균 훈련
효과가 없다
L1:20x20, L2 : 5x5 1000회 515초
Same Size + 원본과 합성
L1 : 20 x20 1000회 462 초 L1:30x30 1000회 942초
L1 : 20 x20 32채널 1000회 534 초
L1:20x20, L2 : 10x10 1000회 771초
L1 : 20 x20 32채널 L2:5x5 1000회 608초
L1:20x20 32 L2 : 10x10 32
5x5 16 1000회 1018초
L1:20x20 32 L2 : 10x10 32
2x2 16 1000회 996 초
L1:30x30 32 L2 : 2x2 32
2x2 16 1000회 1016초
2x2 필터와 30x30 필터 결과 합산?
입력 : 624x512
Target 사이즈 : 156x128
L1: 2x2 필터 16채널 No Pooling,
L2 : 2x2 필터 32채널 No Pooling,
L3 : 2x2 필터 16채널 No Pooling
L4 : 1x1 필터 3 채널 No Pooling,
학습률:0.001
L1 : 10x10 1000회 217초
Training 이미지가 1개  평균 훈련
효과가 없다
L1:20x20, L2 : 5x5 1000회 515초
Same Size + 2x2 결과와 30x30 필터 결과 평균  Saver 필요
L1 : 20 x20 1000회 462 초 L1:30x30 1000회 942초
L1 : 20 x20 32채널 1000회 534 초
L1:20x20, L2 : 10x10 1000회 771초
L1 : 20 x20 32채널 L2:5x5 1000회 608초
L1:20x20 32 L2 : 10x10 32
5x5 16 1000회 1018초
L1:20x20 32 L2 : 10x10 32
2x2 16 1000회 996 초
L1:30x30 32 L2 : 2x2 32
2x2 16 1000회 1016초
추가 연구 항목
• Deconvolution Layer의 효과 검증
• Training을 위한 데이트 위치 맵핑은 어떻게 해야 할까?
• Channel 등을 넓히기 위해서는 Resource가 필요하다…. GPU 메모리인가?
Address
서울특별시 성동구 아차산로 17
11층 (성수동 1가, 서울숲엘타워)
우편번호 04789
Telephone
Tel : (02)575-0409
Fax: (02)6003-1987

More Related Content

More from Seung-Woo Kang

소음과 투자 (도서 요약)
소음과 투자 (도서 요약)소음과 투자 (도서 요약)
소음과 투자 (도서 요약)Seung-Woo Kang
 
피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)Seung-Woo Kang
 
현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)Seung-Woo Kang
 
세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)Seung-Woo Kang
 
확률을 높이는 확률
확률을 높이는 확률확률을 높이는 확률
확률을 높이는 확률Seung-Woo Kang
 
주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)Seung-Woo Kang
 
시계열 분석의 이해와 활용
시계열 분석의 이해와 활용시계열 분석의 이해와 활용
시계열 분석의 이해와 활용Seung-Woo Kang
 
스플렁크 머신러닝 연동
스플렁크 머신러닝 연동스플렁크 머신러닝 연동
스플렁크 머신러닝 연동Seung-Woo Kang
 
하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요Seung-Woo Kang
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detectionSeung-Woo Kang
 
MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기Seung-Woo Kang
 
통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)Seung-Woo Kang
 
블록체인 이해와 활용
블록체인 이해와 활용블록체인 이해와 활용
블록체인 이해와 활용Seung-Woo Kang
 

More from Seung-Woo Kang (13)

소음과 투자 (도서 요약)
소음과 투자 (도서 요약)소음과 투자 (도서 요약)
소음과 투자 (도서 요약)
 
피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)
 
현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)
 
세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)
 
확률을 높이는 확률
확률을 높이는 확률확률을 높이는 확률
확률을 높이는 확률
 
주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)
 
시계열 분석의 이해와 활용
시계열 분석의 이해와 활용시계열 분석의 이해와 활용
시계열 분석의 이해와 활용
 
스플렁크 머신러닝 연동
스플렁크 머신러닝 연동스플렁크 머신러닝 연동
스플렁크 머신러닝 연동
 
하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detection
 
MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기
 
통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)
 
블록체인 이해와 활용
블록체인 이해와 활용블록체인 이해와 활용
블록체인 이해와 활용
 

캐리커처 생성기 테스트

  • 1. 2016년 12월 2017년 12월 추가 테스트 Caricature 생성기 타임게이트 연구소 강 승 우
  • 2. 테스트의 목표 • Tensor Flow 익히기 • Machine Learning 이해 • Machine Learning 응용 가능성 확인
  • 3. 테스트 과제 • 강호동 사진  Caricature를 Machine Learning으로 익힌 다 • 해당 머신런닝 모델에 문근영 사진을 넣을 때 출력은???
  • 4. 테스트 절차 1) 데이터 구하기  인터넷 서핑 2) 데이터 단순화 및 규격화  크기 조정 (80x100 = 8000 pixel)  색을 흑백으로 제한 (gray)  Scipy.misc 내의 imread(), imresize(), imsave() 3) 입력 데이터로 변환  선택한 알고리즘에 맞는 입력 형태 변환  생략 : 입력 : 0 ~ 1 사이의 값 ( 0 ~ 255를 255로 나눔)  나누지 말자~~~~  비교 대상 : [0, 0, …., 1, 0, … 0] 형태  해당 위치의 value에만 1  기존 CNN (MNIST) 샘플은… 0 ~ 9 숫자 판단  0 ~ 255로 변환  Output은 [0, 1, 33, 255, …. , 37 ] 형태로 출력
  • 5. 테스트 절차 4) 테스트 모델 선택  CNN 사용 : Image 인식  가까운 주변의 영향을 받는 모델  주변의 특성에 따라 해당 위치의 값을 결정  80 x 100 pixel을 10x10x8000 의 조각으로 나누어 각 점에 대응  L1 : 20x10 filter를 60개 만들고, Pooling은 하지 않는다  L2 : 20x10 filte를 120개, Pooling은 하지 않는다  L3 : 1x1 filter를 3개로 다시 병합  Fully Connecte Layer 없이 하나하나의 Filtering 결과가 한 점을 표현  Learning 횟수는 10 ~ 1000 번 변화, 일정 간격으로 accuracy 변화 측정, 수행 시간 측정 5) 예측 결과 이미지 변환  [0, 0, … 1,0,…0] 의 값을 50x40의 0 ~ 255의 값으로 변환
  • 6. 테스트 결과 10 회 learning, accuracy = 0.0055 100회 learning, accuracy = 0.0835 1689 초 500회 learning, accuracy = 0.9?? 8414 초
  • 7. 테스트 결과 평가 • 1개의 학습 데이터에서 배울 수 있는 정도는? • Accuracy가 0.99 였음에도 불구하고 이미지는 차이가 큼 • 500회 수행이 8500초  1회 수행에 약 17초 • Filter의 크기, neuron의 갯수, feature의 갯수에 따른 변화를 찾아야 할 듯 • 다양한 테스트 모형에 따른 비교 필요 • 하이브리드 모델 혹은 feature 2 feature mapping 방법은 어떨지????
  • 8. 하이브리드 모델은 어떨까? • 얼굴 형, 입, 코, 눈 등등 사진에서 인식 후, 준비된 이미지와 매칭 정도 비교 선택 • 유형 선택(귀엽게, 강하게 등등)에 따라 선택 이미지 변화 http://digibody.com/avatar-maker/
  • 9. 하이브리드 방법의 순서 1. 얼굴 형, 입, 코, 눈 등등 사진에서 인식 2. 각 부위 별 매칭 훈련 데이터로 훈련 시킴 3. 새로운 얼굴로 Predict 필요 사항  테스트용 사진  각 부위별 캐리커처 그림 집합  훈련용 맵핑 결과 http://digibody.com/avatar-maker/
  • 10. 평균/분산을 활용한 강화법은 ? 1. 얼굴 형, 입, 코, 눈 등등 사진에서 인식 2. 인종 별 1000여가지 샘플에서 크기, 넓이 등의 평균과 비교 3. 2 x (표준편차) 이상인 특성을 (표준 이미지에서) 특정 비율로 키워줌 4. 2 x (표준편차) 이하의 특성을 (표준 이미지에서) 특정 비율로 줄여줌 필요 사항  테스트용 사진  각 부위별 표준 캐리커처 그림  표준 사이즈 데이터 http://digibody.com/avatar-maker/
  • 11. GPU 상에서 추가 테스트 결과
  • 12. 1000회 207초 2000회 396초 3000회 605초 20x10 필터 : L1 60채널, L2 120채널, L3 : 3 채널 25x20 필터 : L1 60채널, L2 120채널, L3 : 3 채널 1000회 465초 5x5 필터 1000회 23초 3x3 필터 256 512 채널, 1000회 111초
  • 13. 1000회 554초 4배 확대 입력 Conv2 2x2 MaxPooling 사용 3x3 필터 : L1 256채널, L2 512채널, L3 : 1 채널 Conv2 2x2 MazPooling 사용 : 25x20 필터 : L1 60채널, L2 120채널, L3 : 3채널 1000회 초 학습률0.0001 2286 초
  • 14. 1000회 1298초 Conv2 2x2 MaxPooling 사용 5x5 필터 : L1 256 채널, L2 512 채널, L3 : 3 채널, 학습률:0.0001 Conv2 2x2 MaxPooling 사용 : 10x10 필터 : L1 128채널, L2 256채널, L3 : 3 채널 학습률:0.0001 1000회 1301초 4배 확대 입력
  • 15. 1000회 371초 1000회 463초(L3:256채널 추가) 3000회 1397초 (L3:256채널 추가) Conv2 3x3 MaxPooling 사용 5x5 필터 : L1 64채널, L2 128채널, L3 : 3 채널, 학습률:0.0001 Conv2 3x3 MaxPooling 사용 : 10x10 필터 : L1 64 채널, L2 128채널, L3 : 3 채널 학습률:0.0001 1000회 1069초 2000회 초 3000회 3603초 9배 확대 입력 5x5 3000회 1195초
  • 16. 1000회 초 2000회 초 3000회 1719 초 1000회 초 2000회 초 3000회 2991초 9배 확대 입력 Conv2 3x3 MaxPooling 사용 L1: 5x5 필터 64채널, L2 : 10x10 필터 128채널, L3 : 3 채널, 학습률:0.0001 Conv2 3x3 MaxPooling 사용 L1: 10x10필터 64채널, L2 : 5x5필터 128채널, L3 : 3 채널, 학습률:0.0001
  • 17. 1000회 259초 1000회 컬러 331초 컬러 1000회 378초 타깃 변경 컬러 1000회 363초 L3 10x10 1000회 919초 3000회 947 초 9배 확대 입력Conv2 3x3 MaxPooling 사용 L1: 3x3 필터 64채널, L2 : 3x3 필터 128채널, L3 : 3x3 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001 L2 5x5 1000회 419초 L2 4x4 1000회 351초 L4 3x3 1000회 303 초 L2 10x10 1000회 1024초 L4 2x21000회 312초
  • 18. 1000회 266초 1000회 컬러 331초 컬러 1000회 378초 타깃 변경 컬러 1000회 363초 L3 10x10 1000회 919초 3000회 947 초 9배 확대 입력 Conv2 3x3 MaxPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 128채널, L3 : 2x2 필터 512채널 No Pooling L4 : 2x2 필터 3 채널 No Pooling, 학습률:0.0001 L2 5x5 1000회 419초 L2 4x4 1000회 351초
  • 19. 1000회 194초 1000회 84,16,8 240초 1000회 16, 512, 8 219초 1000회 8,8,2048 180초 9배 확대 입력 Conv2 3x3 MaxPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 64채널, L3 : 2x2 필터 32채널 No Pooling L4 : 2x2 필터 3 채널 No Pooling, 학습률:0.001 Conv2 3x3 MaxPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 64채널, L3 : 10x10 필터 10채널 No Pooling L4 : 2x2 필터 3 채널 No Pooling, 학습률:0.001 1000회 211초 1000회 8,8,2048 L3:5x5 250초1000회 8,8,2048 L3:20x20 1639초
  • 20. 1000회 471 초 2000회 초 3000회 1719 초 1000회 674초 2000회 초 3000회 초 9배 확대 입력 Conv2 3x3 MaxPooling 사용 L1: 5x5필터 64채널, L2 : 5x5필터 128채널, L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001 Conv2 3x3 MaxPooling 사용 L1: 10x10필터 64채널, L2 : 5x5필터 128채널, L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
  • 21. 1000회 1575초 컬러 1000회 초 3000회 1719 초 1000회 3601초 2000회 초 3000회 초 9배 확대 입력 Conv2 3x3 MaxPooling 사용 L1: 20x20필터 64채널, L2 : 5x5필터 128채널, L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001 Conv2 3x3 MaxPooling 사용 L1: 5x5 필터 64채널, L2 : 20x20 필터 128채널, L3 : 5x5 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
  • 22. 1000회 1862초 2000회 초 3000회 1719 초 1000회 920초 2000회 초 3000회 초 9배 확대 입력 Conv2 3x3 MaxPooling 사용 L1: 5x5 필터 64채널, L2 : 5x5필터 128채널, L3 : 20x20 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001 Conv2 3x3 MaxPooling 사용 L1: 15x15 필터 64채널, L2 : 3x3 필터 128채널, L3 : 3x3 필터 256 채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.0001
  • 23. 9배 확대 입력 Average Pooling Conv2 3x3 AvgPooling 사용 L1: 2x2 필터 8채널, L2 : 2x2 필터 12채널, L3 : 20x20 필터 2048채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 Conv2 3x3 AvgPooling 사용 L1: 10x10 필터 8채널, L2 : 2x2 필터 12채널, L3 : 2x22 필터 2048채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 , 278 초 Conv2 3x3 AvgPooling 사용 L1: 2x2 필터 8채널, L2 : 2x2 필터 12채널, L3 : 2x2 필터 2048채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 , 167초 Conv2 3x3 AvgPooling 사용 L1: 1x1 필터 64채널, L2 : 2x2 필터 32채널, L3 : 2x2 필터 16채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 , 160 초 Conv2 3x3 AvgPooling 사용 L1: 2x2 필터 64채널, L2 : 2x2 필터 32채널, L3 : 2x2 필터 16채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 , 초
  • 24. 1000회 초 1000회 134초 L1 : 10x10 1000회 212초 L1 레이어 확장은 큰 변환 효과 증가 까만 머리 부분 변환 효과가 하얀 줄로 보여진다 ~~~ 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터 64채널 2x2 Pooling, L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 5x5 128채널 1000회 250초 채널 확장은 L1 : 2x2 128채널 1000회 226 초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 2x2 128채널 1000회 227초
  • 25. 이걸 훈련 시키니 …. 이렇게 그리네요…. ^^ 이걸 훈련 시키니 …. 이렇게 그리네요…. ^^
  • 26. 1000회 249초 1000회 243초 L1 : 10x10 1000회 382초 L1 레이어 확장은 큰 변환 효과 증가 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터 64채널 2x2 Pooling, L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 5x5 128채널 1000회 271초 채널 확장은 L1 : 2x2 128채널 1000회 245초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 2x2 128채널 1000회 244초 Avg_Pooling 사용
  • 27. L1: 10x10 1000회 390초 L1: 20x20 1000회 977초 L1 : 20x201000회 981초 입력 : 624x512 Target 사이즈 : 156x128 L1 : 20x20 128초 988초 L1 : 10x10 128채널 1000회 390초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 10x10 128채널 1000회 초 Avg_Pooling2 사용
  • 28. L1: 2x2 1000회 151초 입력 : 624x512 Target 사이즈 : 624x512 L1 : 10x10 1000회 216초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 5x5 1000회 159초 No Pooling Same Size사용 L1 : 16 채널, L2 : 32 채널, L3 : 16채널, L4 :3 채널 L1 : 20x20 1000회 465초 L1: 2x2 1000회 154초 L1 : 10x10 1000회 초216L1 : 5x5 1000회 162초 L1 : 20x20 1000회 459 초
  • 29. L1: 2x2 1000회 150초 입력 : 624x512 Target 사이즈 : 624x512 L1 : 10x10 1000회 219초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 5x5 1000회 161초 No Pooling Same Size사용 L1 : 16 채널, L2 : 32 채널, L3 : 16채널, L4 :3 채널 L1 : 20x20 1000회 467초 L1: 2x2 1000회 153초 L1 : 10x10 1000회 217초 L1 : 5x5 1000회 162초 L1 : 20x20 1000회 465초
  • 30. 1000회 초 1000회 134초 L1 : 10x10 1000회 212초 L1 레이어 확장은 큰 변환 효과 증가 훈련 데이터 size와 실데이터 size는 같아야 하는가? 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터 64채널 2x2 Pooling, L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 5x5 128채널 1000회 250초 채널 확장은 L1 : 2x2 128채널 1000회 226 초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 2x2 128채널 1000회 226초
  • 31. Avg Pooling : L1 5x5 128 채널 1000회 266초 L1 : 10x10 1000회 362초 L1 레이어 확장은 큰 변환 효과 증가 훈련 데이터 size와 실데이터 size는 같아야 하는가? 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터 64채널 2x2 Pooling, L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 5x5 128채널 1000회 251초 채널 확장은 L1 : 2x2 128채널 1000회 224초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 2x2 128채널 1000회 226초 Avg Pooling L1 : 2x2 128채널 1000회 243초
  • 32. Avg Pooling : L1 5x5 128 채널 1000회 266초 L1 : 2x2 1000회 245초 훈련 데이터 size와 실데이터 size는 같아야 하는가? 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 64채널 2x2 Pooling, L2 : 2x2 필터 64채널 2x2 Pooling, L3 : 2x2 필터 32채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 10x10 128채널 1000회 383 초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 5x5 128채널 1000회 271초 Avg Pooling L1 : 2x2 128채널 1000회 243초 AvgPooling 사용 L1 : 10x10 128채널 1000회 381초
  • 33. L1 : 5x5 1000회 169초L1 : 2x2 1000회157 초 훈련 데이터 size와 실데이터 size는 같아야 하는가? 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 16채널 No Pooling, L2 : 2x2 필터 32채널 No Pooling, L3 : 2x2 필터 16채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 10x10 1000회 255초 Training 이미지가 1개  평균 훈련 효과가 없다 L1 : 2x2 1000회 153초 Avg Pooling L1 : 2x2 1000회 150초 Same Size L1 : 10x10 1000회 227초
  • 34. 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 16채널 No Pooling, L2 : 2x2 필터 32채널 No Pooling, L3 : 2x2 필터 16채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 10x10 1000회 217초 Training 이미지가 1개  평균 훈련 효과가 없다 L1:20x20, L2 : 5x5 1000회 515초 Same Size + 원본과 합성 L1 : 20 x20 1000회 462 초 L1:30x30 1000회 942초 L1 : 20 x20 32채널 1000회 534 초 L1:20x20, L2 : 10x10 1000회 771초 L1 : 20 x20 32채널 L2:5x5 1000회 608초 L1:20x20 32 L2 : 10x10 32 5x5 16 1000회 1018초 L1:20x20 32 L2 : 10x10 32 2x2 16 1000회 996 초 L1:30x30 32 L2 : 2x2 32 2x2 16 1000회 1016초
  • 35. 2x2 필터와 30x30 필터 결과 합산? 입력 : 624x512 Target 사이즈 : 156x128 L1: 2x2 필터 16채널 No Pooling, L2 : 2x2 필터 32채널 No Pooling, L3 : 2x2 필터 16채널 No Pooling L4 : 1x1 필터 3 채널 No Pooling, 학습률:0.001 L1 : 10x10 1000회 217초 Training 이미지가 1개  평균 훈련 효과가 없다 L1:20x20, L2 : 5x5 1000회 515초 Same Size + 2x2 결과와 30x30 필터 결과 평균  Saver 필요 L1 : 20 x20 1000회 462 초 L1:30x30 1000회 942초 L1 : 20 x20 32채널 1000회 534 초 L1:20x20, L2 : 10x10 1000회 771초 L1 : 20 x20 32채널 L2:5x5 1000회 608초 L1:20x20 32 L2 : 10x10 32 5x5 16 1000회 1018초 L1:20x20 32 L2 : 10x10 32 2x2 16 1000회 996 초 L1:30x30 32 L2 : 2x2 32 2x2 16 1000회 1016초
  • 36. 추가 연구 항목 • Deconvolution Layer의 효과 검증 • Training을 위한 데이트 위치 맵핑은 어떻게 해야 할까? • Channel 등을 넓히기 위해서는 Resource가 필요하다…. GPU 메모리인가?
  • 37. Address 서울특별시 성동구 아차산로 17 11층 (성수동 1가, 서울숲엘타워) 우편번호 04789 Telephone Tel : (02)575-0409 Fax: (02)6003-1987