1. 어떻게 만들까? 사진 준비하기
- 얼굴이 포함된 사진을 준비하고 -> 사진으로부터 얼굴 영역을 찾고 -> 머리에 왕관 스티커를 씌운다.
- import cv2, matplotlib.pyplot, numpy, os
- os.getenv, cv2.imread, cv2.resize, cv2.cvtColor
2. 얼굴 검출 : face detection
- 이미지에서 gradient를 feature로 사용하는 이유 : 주변 상황과 무관하게 동일한 표현을 얻을 수 있다.
- 단일 픽셀의 gradient를 사용하지 않고 16x16의 정사각형을 이용하는 이유 : 너무 자세히 다루면 숲을 보지 못한다.
- import dlib
- dlib.get_frontal_face_detector
- for dlib_rect in dlib_rects + dlib.rect.left, dlib.rect.top, dlib.rect.right, dlib.rect.bottom
- cv2.rectangle
3. 얼굴 랜드마크 : face landmark
- object keypoint estimation 알고리즘
- shape_predictor_68_face_landmarks.dat
- dlib.shape_predictor
4. 스티커 적용하기
- 스티커를 붙일 좌표 계산하기
- x, y, width, height 구하기
오늘 과제는 꽤나 고민과 고생을 했다. 처음 해보는 거라 코드도 눈에 안 들어왔고, 무엇을 하는 코드인지 이해하기도 힘들었다. 그러나 많은 고민 끝에 대충이라도 작동방식을 이해했고, 왕관을 씌우기 위해 계산한 식을 변형하여 고양이 수염을 콧등에 가게해서 얼굴위에 고양이 수염을 잘 붙였다.
'공부 > AIFFEL' 카테고리의 다른 글
FUNDAMENTAL 8. 데이터를 한눈에! Visualization (0) | 2021.01.15 |
---|---|
FUNDAMENTAL 7. 터미널로 배우는 리눅스 운영체제 (0) | 2021.01.13 |
풀잎스쿨 - DeepML(CS231N) Lec. 03 ~ Lec. 04(일부) (0) | 2021.01.11 |
FUNDAMENTAL 6. 딥러닝과 신경망의 본질 (0) | 2021.01.11 |
FUNDAMENTAL 5. Data 어떻게 표현하면 좋을까? 배열(array)과 표(table) (0) | 2021.01.08 |