본문 바로가기

분류 전체보기85

Albumentations 라이브러리를 이용하여 데이터 증강하기 이미지 증강이 이미지 분류 모델에서 눈에 띄는 성능 향상을 보여주기에 언제나 사용해왔지만, 기존에 사용하던 방식인 Keras의 ImageDataGenator는 이미지의 크기가 너무 큰 경우 모든 파일을 전처리하며 가져오기에 시간이 너무 오래 걸렸다. 따라서 이번에는 내가 아는한 가장 빠른 이미지 증강 라이브러리인 Albumentation을 이용하여 이미지를 증강시키는 예제를 포스팅하겠다. Albumentations를 이용하여 이미지 증강하기 먼저 증강시킬 이미지와 필요한 라이브러리를 가져옵니다. Albumentations는 아래와 같이 Compose안에 원하는 증강법을 넣어주어 이미지 변환을 수행합니다. 증강에 확률을 설정하여 이미지를 반복해서 넣어주어 하나의 이미지와 변환법으로 모두 결과가 다른 여러개.. 2022. 6. 19.
OpenCV, Keras를 이용하여 폴더내의 데이터 읽어오기 이미지 task에서 Data augmentation은 성능 향상에 큰 도움을 줄 수 있다. 따라서 기존에도 Keras의 ImageDataGenerator을 사용하여 간단한 방법으로 이미지를 증강시켰다. 하지만 이 방법은 모델 학습, 평가 시마다 이미지를 읽어와 원하는 size에 맞추어 resize를 한 다음에 진행하기에 이미지의 크기가 클 때 시간이 오래 걸린다. 이를 방지하기 위하여 이미지를 resize하여 다시 저장한 다음 추가적인 이미지 처리 라이브러리를 이용하여 증강시켜야 한다. 프로젝트를 진행하며 여기까지는 생각이 닿았는데 라벨 폴더 별로 나누어진 이미지를 resize하여 다시 라벨 값에 맞추어 분류하는 법은 따로 알지 못했고 잘 정리된 코드 역시 없었기에 직접 구현하여 코드를 공유한다. Ope.. 2022. 6. 19.
[Kaggle] Natural Language Processing with Disaster Tweets 트윗 텍스트와 Nan값을 포함하고 있는 위치, 키워드 정보를 이용하여 재난과 관련된 내용인지 아닌지에 대한 간단한 이진 분류 문제이다. 자연어 처리에 관한 지식이 전무하다고 봐도 될 정도이기 때문에 자연어 모델과 테이블형 데이터 모델을 따로 만들어 소프트 보팅 방식을 통하여 진행하였다. Competition링크: https://www.kaggle.com/competitions/nlp-getting-started/submissions Natural Language Processing with Disaster Tweets | Kaggle www.kaggle.com 전체 코드 라이브러리 및 데이터 다운로드¶ In [2]: import pandas as pd import numpy as np import mat.. 2022. 6. 19.
[Paper review] Deep Residual Learning for Image Recognition(ResNet, 2015) 저번 한 달간 암석 분류 프로젝트를 진행하면서 이를 위하여 CNN모델을 생성하였습니다. 초반에 VGG base로 모델을 만들었는데 심하게 과대 적합하여 당시 알고 있던 방법을 총동원해도 val-accuracy 90%를 넘기는 게 쉽지 않았습니다. 이때 모델을 ResNet base로 바꾼 다음 Data augmentation을 사용하여 거의 100프로에 가까운 val-accuracy를 가지는 모델을 만들었습니다. 성공적으로 플젝을 제출하고 구조상 큰 차이가 없음에도 어떻게 큰 성능 발전을 보여준지 궁금하여 ResNet을 읽어 보았고 정리한 내용을 리뷰해보겠습니다. ResNet 논문 리뷰 Abstract 부분에서 ResNet구조가 어떠한 의미로 고안되었는지 말해줍니다. 깊은 네트워크 학습이 어렵기에 이 문제.. 2022. 6. 19.