카테고리 없음

내일 배움 캠프 10 주차 5day

하늘유니콘 2023. 5. 18. 19:13

오늘 배운 것 : 딥러닝 역사, 딥러닝 주요 개념,딥러닝 실습

 

 

딥러닝?

인간의 두뇌 작동 방식을 비슷하게 행동하게 느스한게 모델링한 알고리즘인 신경망 계층으로 지원됩니다.

 

 

대량의 데이터를 통한 학습은 신경망에서 구성이 되어있습니다.

 

학습이 완료하게 되면 새 데이터를 처리하는게 딥 러닝이라고 합니다.

 

딥러닝 주요 개념: 인공신경망: 딥러닝의 기본 구조로, 생물학적 뉴런의 작동 방식을 모방한 수학적 모델입니다.

 

 

 

인공신경망: 입력층, 은닉층, 출력층 등으로 구성되며, 각 층은 여러 개의 뉴런으로 구성됩니다.

 

딥러닝 아키텍처: 딥러닝 모델의 구조를 설계하는 것으로, 다양한 층과 뉴런의 구성, 활성화 함수, 손실 함수, 최적화 알고리즘 등을 결정합니다. 

 

주요 아키텍처로: 다층 퍼셉트론, 합성곱.순환 신경망, 변환 모델이 있습니다.

 

 

최적화 알고리즘: 손실 함수를 최소화하는 최적의 가중치를 찾기 위한 알고리즘으로, 경사 하강법과 널리 사용됩니다. 대표적인 최적화 알고리즘 입니다.

main.py1

import cv2
"""
import cv2: OpenCV 패키지를 가져옵니다.
"""

import dlib
"""
 파일을 읽어온 후, img 변수에 이미지를 저장합니다. 
 imread()는 이미지 파일을 NumPy 배열로 읽어옵니다.
"""

import dlib
"""
img 배열의 내용을 출력합니다. 이는 이미지의 각 픽셀 값을 표시합니다.
"""


"""
img 배열의 형태(shape)를 출력합니다.
이미지의 크기와 채널 수를 나타냅니다.
"""

print(cv2.__version__)
"""
 img 이미지에 pt1과 pt2로 지정된 좌표로 사각형을 그립니다. 
 color는 사각형의 색상을 지정하며, (255, 0, 0)은 파란색을 나타냅니다.thickness는 
 사각형의 선 두께를 나타냅니다.
"""

print(dlib.__version__)

"""
img'라는 윈도우 창에 img 이미지를 표시합니다.
"""

print(tensorflow.__version__)
"""
사용자가 키를 입력할 때까지 대기합니다. 0은 무한히 대기하는 것을 의미합니다. 
코드가 없으면 이미지가 표시되지 않습니다.
"""

main.py2

import cv2
"""
OpenCV 패키지를 가져옵니다.
"""
img = cv2.imread('01.jpg')
"""
OpenCV 패키지를 가져옵니다.
"""
print(img)  

"""
img 배열의 내용을 출력합니다. 이는 이미지의 각 픽셀 값을 표시합니다.
"""

print(img.shape)  
"""
 img 배열의 형태(shape)를 출력합니다.
 이미지의 크기를 나타냅니다.
"""
cv2.rectangle(img, pt1=(259, 89), pt2=(380, 348), color=(255, 0, 0), thickness=2) #파란색 네모
"""
img 이미지에 파란색 사각형을 그립니다.
"""


cv2.circle(img, center=(320, 220), radius=100, color=(0,0,255),thickness=3)#빨간색 원
"""
img 이미지에 빨간색 원을 그립니다.
"""
cropped_img = img[89:348, 259:380]
"""
img 이미지에서 특정 영역을 잘라내어 cropped_img에 저장합니다.
"""

img_resized = cv2.resize(img, (512, 256))
"""
img 이미지의 크기를 (512, 256)으로 변경하여 img_resized에 저장합니다.
"""

#이미지 컬러 시스템 변경하기
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 

"""
img 이미지의 컬러 시스템을 BGR에서 RGB로 변경하여
img_rgb에 저장합니다.
"""

cv2.imshow('result', img_rgb)

"""
'result'라는 윈도우 창에 RGB 이미지를 표시합니다.
"""

cv2.waitKey(0)

"""
사용자가 키를 입력할 때까지 대기합니다.
"""

cv2.imshow('resized', img_resized)

"""
'resized'라는 윈도우 창에 크기 변경된 이미지를 표시합니다.
"""
cv2.imshow('crop', cropped_img)

"""
 'crop'라는 윈도우 창에 잘라낸 이미지를 표시합니다.
"""
cv2.imshow('img' , img) 

"""
 'img'라는 윈도우 창에 원본 이미지를 표시합니다.

"""
cv2.waitKey(0)


"""
사용자가 키를 입력할 때까지 대기합니다.

"""

여기서 이미지 컬러 시스템 변경하기가 있는데  특정 컬러를 이용해서 색을 바꿔주는 기능도 수행을 해봤습니다.

 

이미지 컬러 시스템 변경하기

#이미지 컬러 시스템 변경하기
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 

"""
cv2.cvtColor() 함수를 사용하여 컬러 변환을 수행합니다.
"""
cv2.imshow('result', img_rgb)

"""
'result'라는 윈도우 창에 RGB 이미지인 img_rgb를 표시합니다.
"""

cv2.waitKey(0)

"""
사용자가 키를 입력할 때까지 대기합니다.
"""

 

 

 

 

 

main.py2

import cv2
"""
OpenCV 패키지를 가져옵니다.
"""
img = cv2.imread('01.jpg')
"""
 이미지를 가져옵니다.
"""
print(img)
"""
img 배열의 내용을 출력합니다. 이는 이미지의 각 픽셀 값을 표시합니다.
"""
print(img.shape)  
"""
 img 배열의 형태(shape)를 출력합니다.
 이미지의 크기를 나타냅니다.
"""
cv2.rectangle(img, pt1=(259, 89), pt2=(380, 348), color=(255, 0, 0), thickness=2) #파란색 네모
"""
img 이미지에 파란색 사각형을 그립니다.
"""

cv2.imshow('img' , img) 
"""
cv2.imshow('img' , img) 

"""
cv2.waitKey(0)

"""
사용자가 키를 입력할 때까지 대기합니다.

"""

 

 

main.py2

mport cv2
"""
OpenCV 패키지를 가져옵니다.
"""
img = cv2.imread('01.jpg')
"""
 이미지를 가져옵니다.
"""
print(img)  
"""
img 배열의 내용을 출력합니다. 이는 이미지의 각 픽셀 값을 표시합니다.
"""

print(img.shape)  
"""
 img 배열의 형태(shape)를 출력합니다.
 이미지의 크기를 나타냅니다.
"""

cv2.rectangle(img, pt1=(259, 89), pt2=(380, 348), color=(255, 0, 0), thickness=2) #파란색 네모
"""
img 이미지에 파란색 사각형을 그립니다.
"""
cv2.circle(img, center=(320, 220), radius=100, color=(0,0,255),thickness=3)#빨간색 원
"""
img 이미지에 빨간색 원을 그립니다.
"""

cv2.imshow('img' , img) 
"""
 'img'라는 윈도우 창에 원본 이미지를 표시합니다.

"""
cv2.waitKey(0)
"""
사용자가 키를 입력할 때까지 대기합니다.

"""

 

강의 들으면서 기억나는거 복습하면서 그림을 그려봤습니다.

아직도 적응은 안 되긴하네요......

 

 

main.py2

 

import cv2
"""
OpenCV 패키지를 가져옵니다.
"""
img = cv2.imread('01.jpg')
"""
 이미지를 가져옵니다.
"""
print(img)  
"""
img 배열의 내용을 출력합니다. 이는 이미지의 각 픽셀 값을 표시합니다.
"""
print(img.shape)  
"""
 img 배열의 형태(shape)를 출력합니다.
 이미지의 크기를 나타냅니다.
"""
cv2.rectangle(img, pt1=(259, 89), pt2=(380, 348), color=(255, 0, 0), thickness=2) #파란색 네모

"""
img 이미지에 파란색 사각형을 그립니다.
"""

cv2.circle(img, center=(320, 220), radius=100, color=(0,0,255),thickness=3)#빨간색 원

"""
img 이미지에 빨간색 원을 그립니다.
"""

img_resized = cv2.resize(img, (512, 256))
"""
img 이미지의 크기를 (512, 256)으로 변경하여 img_resized에 저장합니다.
"""

cv2.imshow('resized', img_resized)

"""
'resized'라는 윈도우 창에 크기 변경된 이미지를 표시합니다.
"""
cv2.imshow('crop', cropped_img)

"""
 'crop'라는 윈도우 창에 잘라낸 이미지를 표시합니다.
"""
cv2.imshow('img' , img) 

"""
 'img'라는 윈도우 창에 원본 이미지를 표시합니다.

"""
cv2.waitKey(0)


"""
사용자가 키를 입력할 때까지 대기합니다.

"""