이미지데이터 학습을 쉽게하도록 하기위해 다양한 패키지를 제공한다. 그 중 하나가 ImageDataGenerator 클래스이다. ImageDataGenerator 클래스를 통해 객체를 생성할 때 파라미터를 전달해주는 것을 통해 데이터의 전처리를 쉽게할 수 있고, 또 이 객체의 flow_from_directory 메소드를 활용하면 폴더 형태로된 데이터 구조를 바로 가져와서 사용할 수 있다. 이 과정은 매우 직관적이고 코드도 ImageDataGenerator를 사용하지 않는 방법에 비해 상당히 짧아진다. 환경은 keras tensorflow backend를 이용하였다. 3. ImageDataGenerator를 통한 트레이닝, 테스트 데이터 만들기 ImageDataGenerator를 만들 때 아래와 같이 res..
이번 글은 cnn 딥러닝 기법을 이용하여 다양한 꽃을 분류하는 과정을 설명한다. 제일 먼저 해야할 작업은 다양한 꽃의 사진을 수집하고 분류하여 폴더에 저장한다. 이는 구글에서 이미지를 수집하고 꽃의 종류별 폴더를 생성하고 저장한다. 분류하고자 꽃의 종류는 4종으로 한다. 장미, 튜립, 해바라기, 코스모스가 4종에 해당한다. 이를 위해서 구글에서 이미지를 검색하여 다운받는다. 4종에 대해서 다음 그림처럼 폴더별로 저장한다. 이제 폴더별 저장된 수집된 이미지를 image generator 함수를 이용해서 cnn에서 이용할 수 있는 형태로 입력데이터를 다음 구문을 입력하여 생성한다. base_dir="C:/python_work/data/flower/" IMAGE_SIZE=224 BATCH_SIZE=64 #pr..
이번 글에서는 시계열 예측을 위한 딥러닝 방법을 설명하고자 합니다. 우선 시계열 입력데이터를 지도 학습 형식으로 변환하는 방법을 알아봅니다. 실제 기계 학습의 대부분은 지도 학습을 사용합니다. 지도 학습은 입력 변수(X)와 출력 변수(y)가 있고 알고리즘을 사용하여 입력에서 출력으로의 매핑 함수를 학습하는 것입니다. 목표는 새로운 입력 데이터가 있을 때 해당 데이터에 대한 출력 변수를 예측할 수 있도록 실제 기본 매핑을 근사화하는 것입니다. 시계열 데이터는 지도 학습으로 표현될 수 있습니다. 시계열 데이터 세트에 대한 일련의 숫자가 주어지면 지도 학습 문제처럼 보이도록 데이터를 재구성할 수 있습니다. 이전 시간 단계를 입력 변수로 사용하고 다음 시간 단계를 출력 변수로 사용하여 이를 수행할 수 있습니다...
데이터셋 생성하기 케라스에서는 이미지 파일을 쉽게 학습시킬 수 있는 ImageDataGenerator 클래스를 설명한다. 이 클래스는 특정 폴더에 이미지를 분류하고 폴더내 이미지들을 학습시키기 위한 입력 데이터셋으로 만들어주는 기능을 설명한다. 먼저 ImageDataGenerator 클래스를 이용하여 객체를 생성하고, flow_from_directory() 함수를 이용하여 학습데이터를 생성합니다. flow_from_directory() 함수의 주요 인자는 아래와 같습니다. 첫 번째 인자(directory) : 이미지 경로를 지정합니다. target_size : 이미지 크기를 지정합니다. 폴더에 있는 원본 이미지 크기가 다르더라도 targer_size에 지정된 크기로 자동 조절됩니다. batch_size ..
인물이나 동물 등 물체사진이나 위성사진을 이용해서 컨볼루션 뉴럴 네트워크인 CNN모델을 구현하고 물체를 인식하고 분류하기 위해서는 모델에 맞도록 입력 데이터를 생성하여야 한다. 이를 위해서 넘파일 배열자료인 npy포맷으로 파일을 생성하는 것이 하나의 방법일 수 있다. 예를 들어 이미지 폴더가 c:/image_folder이고 tif 이미지 파일이 16000장이 있다고 가정할 때 입력데이터는 glob 함수와 cv2 패키지의 imread함수를 이용하여 다음 구문처럼 생성될 수 있다. 1. 패키지 로드하기 import numpy as np import cv2 import glob 2. 입력데이터 생성하기 train_data=[] for img in glob.glob("c:/image_folder/*.tif"):..
1. TensorFlow 컨볼루션 신경망을 사용한 EuroSAT 토지 피복 분류 토지 피복은 나지, 농경지, 잔디, 숲, 목초지 및 물 등과 같은 지표 대상물체를 포함하여 지구 표면에서 감지된 생물학적 물리적 상태입니다. 이러한 토지피복정보를 얻어내는 다양한 방법이 존재하고 기본적인 과정에는 현장 조사와 함께 원격으로 탐지된 위성영상 이미지를 사용하는 것을 포함합니다. 이번 과정에서 사용되는 데이터는 EuroSAT 데이터세트로 Sentinel-2 위성 이미지로 구성되어 있습니다. Sentinel-2 데이터세트는 공개적으로 다운로드할 수 있습니다. 아래 여러장의 그림은 무작위로 선택된 15개의 토지정보 샘플을 보여주고 10개의 가능한 토지정보 범주 중 8개를 나타냅니다. 나머지 두 개의 보이지 않는 클래스..