새벽_나그네
12시 지난 새벽
새벽_나그네
전체 방문자
오늘
어제
  • 분류 전체보기
    • TIL
    • DevLog
    • Algorithm
    • ComputerScience
    • etc

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개발일지
  • 프로그래머스
  • 코린이
  • docker
  • 내일배움카드
  • TodayILearned
  • AI트랙
  • 코딩프로젝트
  • 내일배움캠프
  • 스파르타코딩클럽
  • 내일배움단
  • portfolio
  • 자기주도학습
  • Python
  • 국비지원
  • Selenium 4
  • 코딩
  • Github
  • machine learning
  • til

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
새벽_나그네

12시 지난 새벽

2-16[Deep learning] 이미지 처리 기초, png 배경 투명도 유지 #1
TIL

2-16[Deep learning] 이미지 처리 기초, png 배경 투명도 유지 #1

2022. 2. 16. 22:59

오늘 한 일 (회고)

1. 파이썬 기초강의 수강 

2. 딥러닝을 통한 이미지 처리 1주 차 듣기

- 딥러닝 모델 구조 복습

  • Deep Feedforward Network (DFN)
    • Fully connected 
    • Multi Layer Perceptron
    • 밑의 사진의 노란색 부분이 인풋 부분 빨간색 부분이 아웃풋 부분 초록색 부분이 히든 레이어

DFN

  • Recurrent Neural Network
    • 시계열 데이터 : 기상, 주식, 물가 등
    • 인풋 부분에 3일 전 2일 전 1일 전 등의 입력값을 넣으면 아웃풋에 1일 후 2일 후 3일 후 등의 값을 예상할 수 있는 모델
  • Long/Short Term Memory
    • 이것도 동일하게 시계열 데이터이지만 이전 값을 저장해놓은 메모리 값이 있음

RNN/LSTM

  • Convolutional Neural Network (CNN)
    • 분홍색 부분이 Convolution을 하는 부분으로 Convolution 연산은 합성곱 연산
    • 분홍색 부분에서 초록색 부분과 연결될 때는 3차원으로 된 이미지에 대한 내용을 1차원으로 연결해줘야 하기 때문에 플래튼 레이어 또는 Reshape을 통하여 넘길 수 있도록 한다.

CNN

  • Generative Adversarial Network (GAN)
    • 경찰과 위조지폐범의 내용처럼 서로 상반된 내용을 만들고 해결하는 것을 통하여 감별 능력을 키우는 방법 

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
    'TIL' 카테고리의 다른 글
    • 2-18[Deep learning] 딥러닝 실습 후 깃허브에 정리 #3
    • 2-17[Deep learning] 인공지능 특강 정리 #2
    • 2-15[Project] 유화제작 프로젝트 아이디어 구상 feat.NFT
    • 2-14[Django, REST_API, decorator] python Django 실무 정리 #5
    새벽_나그네
    새벽_나그네
    IT, 프로그래밍, 정보, 스마트스토어

    티스토리툴바