오늘 한 일 (회고)
1. 파이썬 기초강의 수강
2. 딥러닝을 통한 이미지 처리 1주 차 듣기
- 딥러닝 모델 구조 복습
- Deep Feedforward Network (DFN)
- Fully connected
- Multi Layer Perceptron
- 밑의 사진의 노란색 부분이 인풋 부분 빨간색 부분이 아웃풋 부분 초록색 부분이 히든 레이어
- Recurrent Neural Network
- 시계열 데이터 : 기상, 주식, 물가 등
- 인풋 부분에 3일 전 2일 전 1일 전 등의 입력값을 넣으면 아웃풋에 1일 후 2일 후 3일 후 등의 값을 예상할 수 있는 모델
- Long/Short Term Memory
- 이것도 동일하게 시계열 데이터이지만 이전 값을 저장해놓은 메모리 값이 있음
- Convolutional Neural Network (CNN)
- 분홍색 부분이 Convolution을 하는 부분으로 Convolution 연산은 합성곱 연산
- 분홍색 부분에서 초록색 부분과 연결될 때는 3차원으로 된 이미지에 대한 내용을 1차원으로 연결해줘야 하기 때문에 플래튼 레이어 또는 Reshape을 통하여 넘길 수 있도록 한다.
- Generative Adversarial Network (GAN)
- 경찰과 위조지폐범의 내용처럼 서로 상반된 내용을 만들고 해결하는 것을 통하여 감별 능력을 키우는 방법
- 이미지 처리 기초
rectangle
- img: 사각형을 그릴 이미지
- pt1: 사각형의 왼쪽 위 좌표
- pt2: 사각형의 오른쪽 아래 좌표
- color: 사각형의 색깔 (BGR 순서)
- thickness: 도형 선의 두께
cv2.rectangle(img, pt1=(259, 89), pt2=(380, 348), color=(255, 0, 0), thickness=2)
circle
- img: 원을 그릴 이미지
- center: 원의 중심 좌표
- radius: 원의 반지름
- color: 원의 색깔 (BGR 순서)
- thickness: 도형 선의 두께
cv2.circle(img, center=(320, 220), radius=100, color=(0, 0, 255), thickness=2)
이미지를 자를 때는 y, x 순서로 작성
cropped_img = img[89:348, 259:380]
cv2.imshow('cropped', cropped_img)
이미지를 사이즈 변경
img_resized = cv2.resize(img, (512, 256))
cv2.imshow('resized', img_resized)
cv2.waitKey(0)
기본 칼라시스템인 BGR과 다르게 RGB CMYK등의 칼라 시스템이 있는데 이것 이외의 방법으로 변경하는 것이 가능하다. 모델 학습을 시키는 경우 여러 칼라시스템으로 학습 시키고 그 중 가장 정확도가 좋았던 칼라시스템을 선택하기에 이런 것이 가능하다는 것을 알아두어야 한다.
밑에 코드는 첫 번째 줄에 명시되어있듯이 BGR을 RGB로 변경하는 코드이다.
이렇게 변환하였을때 위에 사각형이나 원을 만들때 설정했던 값도 같이 변경되는 것을 볼 수 있다.
- 이미지 합성
오버레이 이미지는 확장자가. png 인 배경이 투명한 이미지여야 한다. cv2.imread()를 사용하여 png 이미지를 로드할 때는 cv2.IMREAD_UNCHANGED를 붙여줘야 배경 투명도를 유지한다.
import cv2
img = cv2.imread('01.jpg')
overlay_img = cv2.imread('dices.png', cv2.IMREAD_UNCHANGED)
overlay_img = cv2.resize(overlay_img, dsize=(150, 150))
밑의 코드는 합성하는 두 이미지에서 투명화 값을 반대로 주어서 해당 부분을 퍼즐처럼 끼워 맞출 수 있게 해 주기 위한 코드다
overlay_alpha = overlay_img[:, :, 3:] / 255.0
background_alpha = 1.0 - overlay_alpha
3. 작업 중 팁 모음
- 주피터 노트북 HTML 또는 PDF로 저장하기
내일 할 일
1. 파이썬 장고 실무 복습하기
2. 티스토리 블로그에 TIL을 올리면 자동으로 Github에 올라갈 수 있게 만들기
3. 장고 클론 코딩 위주로 실습 시작하기
4. 딥러닝을 통한 이미지 처리 1주 차 듣기
'TIL' 카테고리의 다른 글
2-18[Deep learning] 딥러닝 실습 후 깃허브에 정리 #3 (0) | 2022.02.18 |
---|---|
2-17[Deep learning] 인공지능 특강 정리 #2 (0) | 2022.02.17 |
2-15[Project] 유화제작 프로젝트 아이디어 구상 feat.NFT (0) | 2022.02.15 |
2-14[Django, REST_API, decorator] python Django 실무 정리 #5 (0) | 2022.02.14 |
2-13[Django, prefetch_related, CS] python Django 실무 정리 #4 (0) | 2022.02.13 |