2018/12
케라스 CNN을 활용한 비행기 이미지 분류하기 Airplane Image Classification using a Keras CNN
2018. 12. 31.Airplane Image Classification using a Keras CNN Data Acquisition여기서 사용될 데이터셋은 Kaggle 에서 가져온다. 해당 데이터셋은 rhammel 라는 사용자가 업로드한 것으로, 32,000개의 라벨링된 비행기의 위성 사진이다. 먼저 여기로 이동하여 “planesnet.zip” 을 다운로드 받는다. 다운로드받은 파일의 압축을 풀어보면, “0__20140723_181317_0905__-122.14328662_37.697282118.png” 와 같은 이름으로 구성된 32,000개의 이미지 파일을 확인할 수 있을 것이다. Data Preprocessing앞선 데이터를 ML 알고리즘에 활용가능하게 다듬는 작업을 데이터 프로세싱이라고 한다. 다운로드받은 이미지를..
CNN, 케라스, 텐서플로우 벡엔드를 이용한 이미지 인식 분류기 만들기 Create your first Image Recognition Classifier using CNN, Keras and Tensorflow backend
2018. 12. 28.Create your first Image Recognition Classifier using CNN, Keras and Tensorflow backend Getting Started — Dog or Cat본 튜토리얼에서 일단 주어진 이미지가 개인지 고양이인지 구분하는 이미지 분류기를 만들고자 한다. 그리고 추후 더 큰 규모로 확장해보자. Tools And Technologies본 튜토리얼 진행을 위해서는 다음의 도구들이 필요하다. 아래는 Ubuntu 18.04 환경에서 구현되었다.Anaconda 아나콘다는 데이터터 사이언스와 머신러닝 관련 어플리케이션 제작 관련 패키지 관리 및 배포를 도와주는 오픈 소스 프로그램이다. 설치는 다음을 참조한다.https://www.anaconda.com/download/..
파이썬 3.6 아나콘다 PIL 설치하기 ModuleNotFoundError: No module named 'PIL' 과 UnsatisfiableError
2018. 12. 24.우분투 환경의 파이썬 3.6 버전의 경우 PIL 패키지 설치시 아래와 같이 UnsatisfiableError 를 반환한다.1234567891011121314151617ModuleNotFoundError Traceback (most recent call last) in 1 from IPython.display import display----> 2 from PIL import image 3 4 classifier.fit_generator( 5 training_set, ModuleNotFoundError: No module named 'PIL' (tfKeras) founder@hilbert:~$ conda install -c anaconda pilSolving environment: failed Unsati..
Deep Learning Tutorial for Beginners - 2. Logistic Regression
2018. 12. 20.Logistic Regression이진 분류에 대해 이야기 할 때, 즉, 0과 1 이라는 결과물에 대해서 말할 때 가장 먼저 떠오르는 것은 로지스틱 회귀이다. 하지만 딥러닝에 있어 로지스틱 회귀를 어떻게 활용할 수 있는가? 사실 로지스틱 회귀는 심플한 신경망이다. 그런데 신경망과 딥러닝은 사실 같은 것이다. 인공신경망을 다룰 때 "deep" 이라는 용어에 대해 상세히 설명할 기회가 있을 것이다. 이에 앞서 로지스틱 회귀를 이해하기 위해 computation graph 에 대해 알아보자. Computation graph 일종의 수학적 표현의 시각화 정도라고 생각하면 될 것이다. 예를 들어, 의 경우 다음과 같이 표현할 수 있다. http://image.ibb.co/hWn6Lx/d.jpg 그러면 로지스틱 회..
Deep Learning Tutorial for Beginners - 1. Overview the Data Set
2018. 12. 18.# Overview the Data Set본 튜토리얼에서는 수화 데이터를 사용한다. 데이터셋 다운로드와 상세한 데이터셋에 대한 설명은 다음 링크를 참조한다. 데이터셋 다운로드 https://www.kaggle.com/ardamavi/sign-language-digits-dataset데이터셋 개요 https://www.kaggle.com/ardamavi/sign-language-digits-dataset/home아래 코드를 실행시키면 input 디렉토리에 있는 파일 디렉토리가 호출된다.1234567import numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)import matplo..
케라스 딥러닝 이진분류 Classifying movie reviews: a binary classification example
2018. 12. 15.케라스 버전 확인import keras keras.__version__ Using TensorFlow backend. Out[1]:'2.2.4' IMDB 데이터셋영화 리뷰 텍스트를 기반으로 해당 리뷰를 긍정과 부정으로 분류하는 방법, 즉 이진 분류 방법에 대해 알아본다. IMDB 데이터셋은 훈련데이터, 테스트데이터 각각 25,000개로 구성 (긍정리뷰 50%, 부정리뷰 50%)같은 데이터를 가지고 모델을 훈련하고 테스트해서는 안되기 때문에 훈련 데이터와 테스트 데이터를 나누게 됨훈련 데이터에서의 작동이 새로운 데이터에서의 작동을 보장해주지는 않음 (훈련 데이터의 레이블은 이미 알고 있기 때문에 이를 예측하는 모델은 필요없음)데이터셋을 로드한다.from keras.datasets import imdb (t..
아나콘다 matplotlib 설치
2018. 12. 15.아나콘다 matplotlib 설치12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394(tfKeras) founder@hilbert:~/tfKeras$ conda install -c conda-forge matplotlibSolving environment: done ## Package Plan ## environment location: /home/founder/anaconda3/envs/tfKeras added / updated specs..
딥러닝 툴 설치하기 Anaconda, Jupyter Notebook, TensorFlow and Keras for Deep Learning
2018. 12. 15.딥러닝 학습을 위해 필요한 아나콘다, 주피터 노트북, 텐서플로우와 케라스를 설치해보자. Downlaod Anaconda먼저 아나콘다를 설치한다. 아나콘다 가상환경에 데이터 사이언스와 딥러닝에 필요한 패키지를 설치한다. 아나콘다를 사용하면 특정 프로젝트에 필요한 특정 버전의 패키지 설치 등 버전 충돌에 대한 우려를 덜 수 있는 장점이 있다. 다음과 같이 현재 기준으로 텐서플로우나 케라스가 지원하는 파이썬 3.6 버전을 갖춘 환경을 설치해보자.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354founder@hilbert:~$ conda create --name tfKeras pyth..
Computer Vision (4) scikit-image 이미지 처리 기본
2018. 12. 9.scikit-image 는 이미지 처리를 위한 파이썬 라이브러리, 엔터프라이즈급 응용프로그램을 작성하는데 적합하다. 우분투의 경우 다음과 같이 설치한다. 123456789101112(venv) fuchsia@fuchsia:~$ pip install -U scikit-imageInstalling collected packages: toolz, dask, cloudpickle, scikit-image Found existing installation: scikit-image 0.13.1 Not uninstalling scikit-image at /usr/lib/python3/dist-packages, outside environment /home/fuchsia/venv Cant uninstall 'sciki..
Computer Vision (3) 이미지 변환 및 향상
2018. 12. 8.기하학적 변환Pillow 를 통해 크기 변환, 회전, 뒤집기와 같은 여러 가지 유형의 이미지 변환이 가능하다. 크기 변환 - 새로운 크기를 인수로 담는 resize() 함수를 이용한다.resize_img = img.resize((500,300)) imshow(np.array(resize_img)) Out[12]: 회전 - 이미지의 회전 처리된 복사본을 반환한다. 센터를 기준으로 시계반대 방향(counter clockwise)으로 회전시킨 이미지를 반환한다.rotate_img = img.rotate(90) imshow(np.array(rotate_img)) Out[13]: 이미지 향상이미지의 대비, 밝기, 색상 밸런스, 선명도 변경 등의 작업을 포함한다. 이미지 밝기 변환 - enhance() 함수는 실수..
Computer Vision (2) 색상공간(그레이스케일, RGB, HSV)
2018. 12. 8.색상공간은 이미지를 저장하는 다양한 형태를 의미하는 용어로, 흔히 접하는 그레이스케일, RGB, CMYK 등이 이에 해당한다. 그리고 색상공간의 각 값을 색상채널이라고 부른다. 그레이스케일이미지의 각 픽셀 값은 0 (검은색) ~255 (흰색) 사이의 값을 가진다. 엄밀히 말해서 흑백이미지와는 다르다. 흑백 이미지에서 각 픽셀은 0 혹은 255 만을 가지며 그 사이에는 값이 없다. RGB빨간, 녹색, 파란색 채널의 3가지 값의 조합으로 나타낸다. 검은색 = (0, 0, 0)빨간색 = (255, 0, 0)녹색 = (0, 255, 0)파란색 = (0, 0, 255)흰색 = (255, 255, 255) HSV 색조hue, 채도saturation, 값valueRGB 값을 원통에 투영하는 원통형 좌표계. https..
Computer Vision (1) 이미지 읽기, 자르기, 저장
2018. 12. 8.이미지 처리의 핵심색, 픽셀 간의 상호 관계, 물체 배치, 다른 미세한 세부 항목과 같은 이미지의 다른 속성을 이용하여 에지, 물체, 윤곽선 등 이미지 특징이라고 부르는 유용한 정보를 추출하는 것 이미지 읽기여기서는 이미지 처리 라이브러리 중 Pillow 를 사용한다. 설치 등에 관련된 내용은 아래 링크를 참조한다. https://pillow.readthedocs.io/en/5.3.x/from matplotlib.pyplot import imshow import numpy as np from PIL import Image %matplotlib inline img = Image.open('legus.png', 'r') imshow(np.asarray(img)) Out[1]: 이미지 자르기원본 이미지에서 특..