이미지 전처리

    [이미지 전처리]. ImageDataGenerator 클래스 : 이미지 제너레이터

    케라스 공식 홈페이지 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 ImageDataGenerator 클래스란? 이미지를 학습시킬 때 학습데이터의 양이 적을 경우 학습데이터를 조금씩..

    [이미지 전처리] Pillow PIL , Opencv cv2 , 이미지 형태 정규화(RGB, RGBA)

    나는 사용자들이 업로드한 이미지를 받아서 처리해주는 프로젝트를 진행하고 있고 역시 에러가 발생하기 전까지는 이런 사실을 전혀 몰랐다. 이미지 칼라의 형식은 다양한 형식이 있고 이것에 따라 차원이 달라진다. RGB , RGBA 등등... 모든 데이터를 RGB든 RGBA 든 모두 같은 형식(정규화)으로 통일 시켜야 정확한 결과를 얻을 수 있다. 내가 여지것 본 데이터들은 ( 143 , 266 , 3 ) 과 같이 뒤에가 항상 3 으로 끝나는 이미지가 대부분이여서 이미지는 끝이 3으로 끝나는 구나 라고 생각했는데 그게 아니였다. 에러를 발생시킨 이미지를 봤더니 위처럼 이미지 객체가 이런식으로 차원의 맨 끝이 4로 되어있더라.. 궁금해서 mode( ) 함수를 통해 형식을 알아봤다. 보니까 RGBA 형식이더라 RG..

    [이미지 전처리]. 이미지 차원 추가하기 , np.append_dim()

    코딩을 하다보면 아주 간단한 문제인데도 불구하고 오랜시간을 매달리게 되는 경우가 많다. 이것 역시 간단한 문제... 모델을 학습시킬 때는 많은 차원의 데이터들이 트레이닝 데이터로 활용된다. 하지만 우리가 실제로 사용할 때는 하나의 데이터를 넣고 모델을 거쳐 결과를 뽑아낸다. 여기서 차원이 맞지 않는 문제가 발생한다. *어떤 예측모델인지에 따라 다르지만 예측할때 들어가는 input 데이터의 shape를 확인해서 shape을 맞춰주는 작업이 필요하다. 이미지는 행렬로 변환하면 3차원 데이터이다. 하지만 예측할 때 이 데이터를 넣으면 에러가 발생한다. 왜냐하면 예측에 필요한 데이터는 4차원 데이터 이기 때문이다. 그래서 서론이 길었지만 차원을 하나 추가해주어야한다. testimg_resized = np.exp..

    [이미지 전처리] Url to image , url 주소를 통한 이미지 처리

    이미지 학습데이터를 크롤링하며 수집하는 도중 이런 생각이 들었다. 아니 어차피 값을 통해 이미지 url을 열어서 하드에 저장하는 방식인데. 그냥 src 값만 저장하고 나중에 읽기만한 다음에 트레이닝데이터로 쓰면 좋지 않을까? 심지어 PIL 의 Image 패키지를 사용하면 로컬경로를 넣지않고 이미지 주소값을 넣어도 이미지가 주피터에서 열린다는 사실도 알고있었다. Image.open(url) 하면 해당 이미지가 주피터에서 열림.. 그래서 나는 이미지주소만 받아서 그 이미지를 numpy 객체로 변환하는 방법을 공유하려 한다. 어차피 모델 학습을 위한 input data 는 numpy 이니까.. ㅎㅎ 먼저 나는 이미지주소만 크롤링했다. url 을 다 크롤링했다면 함수를 정의해서 사용하면된다. import url..

    [이미지 전처리]. 이미지 크기 한꺼번에 변경하기 ( image preprocessing)

    구글의 티쳐블 머신을 학습시키기 위해선 224px , 224px로 이미지 크기를 조정해야 한다. 많은 이미지들의 크기를 한번에 바꾸는 방법을 알아보자.프로그래머는 귀차니즘이 많을수록 실력이 늘어나는 것같다. ㅋㅋ 먼저 패키지를 임포트 한다.import os import glob 그리고 현재 경로를 확인하는 함수 os.getcwd() 실행해서 현재 위치를 체크한다.os.getcwd() # 현재경로 확인 그리고 glob 함수를 통해서 이미지들의 경로들을 리스트로 받아온다.animal = glob.glob(os.getcwd() + "./동물/동물/*.jpg") beauti = glob.glob(os.getcwd() + "./뷰티/뷰티/*.jpg") fashion = glob.glob(os.getcwd() + ..