[KT AIVLE] 12. 시각지능 딥러닝(2)

onlyJoon·2023년 3월 15일
0

KT AIVLE

목록 보기
8/31
post-thumbnail

요약

  • Convolution Layer, Pooling Layer 코드 구현
  • 표준화(standardization)
  • Data Augmentation

CNN 실습

Convolution Layer

from tensorflow.keras.layers import Conv2D

Conv2D(filters = ,
	   kernel_size = ,
       padding = ,
       strides = ,
       activation = )
  • filters = feature map의 개수
  • kernel_size = 필터 사이즈
  • padding = 패딩의 종류(valid/same)
  • strides = 필터의 보폭

Pooling Layer

from tensorflow.keras.layers import MaxPool2D, AvgPool2D

MaxPool2D(pool_size = ,
          strides = )
  • pool_size = pooling 필터의 사이즈
  • strides = 필터의 보폭

표준화: Standardization

  • 스케일링의 방법 중 하나

  • feature 간 영향력을 균등하게 해줌

  • Xscaled=Xoriginalmean(X)std(X)X_{scaled} = \frac{X_{original}-mean(X)}{std(X)}

Data Augmentation

  • 항상 데이터가 많이 있는 것은 아님
  • 있는 데이터를 활용하여 데이터 뻥튀기가 필요할 수 있음
  • Data Augmentation이 그 역할을 수행

불러오기

from tf.keras.preprocessing.image import ImageDataGenerator

ImageDataGenerator(
    rotation_range=0,
    width_shift_range=0.0,
    height_shift_range=0.0,
    shear_range=0.0,
    zoom_range=0.0,
    fill_mode='nearest',
)
  • rotation_range= 회전 범위
  • width_shift_range= 가로 확대/축소 범위
  • fill_mode= 이미지 변경하면서 생기는 공간 처리 방법
  • 그 외 내용은 공식문서 확인

참고 내용

  • Deprecated 이슈로 곧 쓰이지 않을 예정
  • from tf.keras.utils.image_dataset_from_directory

마무리

  • 이미지 다루기
    • load_img('이미지 파일'): 이미지 파일 불러오기
    • img_to_array(image): 이미지를 배열로 변환
  • 모델에 적용하기 위해 차원 추가가 필요할 수 있음
    • np.expand_dims(image, axis = 0)
profile
A smooth sea never made a skilled sailor

0개의 댓글