관리 메뉴

jisoleil's coding good thing

AI 시각지능 딥러닝 2일차 본문

AIVLE/7주차

AI 시각지능 딥러닝 2일차

jisoleil 2023. 3. 14. 23:54
  • Data Agumentation : 갖고 있는 데이터셋을 여러 가지 방법으로 증가시켜 실질적인 학습 데이터셋의 규모를 키울 수 있는 방법

해결할 문제가 특수한 경우

1. 데이터가 없을 확률이 높을 때

2. 수집 난이도가 높을 때

 

Mirroring (대칭), Random Cropping, Roatation, Shearing, Local wraping,Color shifting 등을 활용하여 데이터를 증가시킨다. 

 

이미지 전처리 사용 객체 

  • ImageDataGenerator 클래스

: 실시간 데이터 증강을 사용해서 텐서 이미지 데이터 배치를 생성합니다. 데이터에 대해 (배치 단위로) 루프가 순환됩니다.

from tensorflow.keras.preprocessing.image import ImageDataGenerator
 
datagen= ImageDataGenerator(rotation_range=30,      # 이미지 회전
                         width_shift_range=0.1,  # 이미지 좌우 이동
                         height_shift_range=0.1# 이미지 상하 이동
                         zoom_range=0.2,         # 확대/축소 범위
                         shear_range=0.2,        # 비스듬히 늘림
                         horizontal_flip=True,   # 가로 전환
                         vertical_flip=True,     # 세로 전환           
                         fill_mode='nearest')    # 마지막 옵션 주의하자. 이미지 회전, 이동, 축소할 때 발생하는 공간을 채우는 방식
  • ImageDataGenerator 메서드

-fit

: 인풋 데이터를 학습시킵니다.

datagen.fit(x_train)

-flow

: 인풋데이터와 라벨 배열을 받아 증강된 데이터의 배치를 생성합니다.

train_gen= datagen.flow(x_train, y_train, # 이미지 어레이를 받아서.
                    batch_size=1,
                    save_to_dir='/content/temp/',#디렉토리를 선택적으로 지정해서 생성된 증강 사진을 저장할 수 있도록 합니다. (현재 작업을 시각화하는데 유용합니다).
                    save_prefix='temp',#저장된 사진의 파일이름에 사용할 접두부호 (save_to_dir이 지정된 경우에만 유의미합니다).
                    save_format='jpg' )#"png"나 "jpeg" 중 하나 (save_to_dir이 지정된 경우에만 유의미합니다). 

 

 

 

*예외 알고가라!*

!mkdir /content/temp/ #temp폴더 생성

 

오늘은 그래도 파라미터만 좀 헷갈렸을 뿐!

어제보다는 할만 한 것 같다!

더욱 더 정진해서 

우리 세봉이들을 다 구분 할 수 있는 CNN을 만들어 보고 싶다!

 

그때까지 파이팅! 해야지!

 

 

참고: https://keras.io/ko/preprocessing/image/,

 

Image Preprocessing - Keras Documentation

이미지 전처리 [source] ImageDataGenerator 클래스 keras.preprocessing.image.ImageDataGenerator(featurewise_center=False, samplewise_center=False, featurewise_std_normalization=False, samplewise_std_normalization=False, zca_whitening=False, zca_epsi

keras.io

https://velog.io/@cha-suyeon/Data-augmentation

 

Data augmentation란? 데이터 증강 방법과 예시

Data augmentation는 갖고 있는 데이터셋을 여러 가지 방법으로 augment하여 실질적인 학습 데이터셋의 규모를 키울 수 있는 방법입니다.Andrew Ng의 Data augmentation 소개 영상을 통해 이 개념을 잘 이해해

velog.io

 

'AIVLE > 7주차' 카테고리의 다른 글

AI 시각지능 딥러닝 4일차  (3) 2023.03.17
AI 시각지능 딥러닝 3일차  (2) 2023.03.16
AI 시각지능 딥러닝 1일차  (1) 2023.03.14
Comments