[YOLOv5] Custom Data Augmentation 하기 (roboflow)
object detection을 위한 데이터셋을 구축할 일이 있어서 찾아보다가 roboflow라는 사이트를 알게 되었다.
vision task를 위한 여러 데이터셋이 이미 잘 구축되어 있고 라벨링도 본인이 원하는 방식에 맞게 다운받을 수 있어 알아두면 편할 것 같은 사이트이다!
다음 링크에 들어가면 많은 데이터셋 list가 나열되어 있다.
Computer Vision Datasets
Download free, open source datasets for computer vision machine learning models in a variety of formats.
public.roboflow.com
Data augmentation 하는 방법
본론으로 들어가서, 필자는 custom dataset를 구축할 때 data augmentation을 하기 위해서 roboflow 사이트를 사용하였다.
우선, 아래 링크로 접속해서 roboflow에 회원가입을 한 후, 로그인을 해야한다.
Sign in to Roboflow
Even if you're not a machine learning expert, you can use Roboflow train a custom, state-of-the-art computer vision model on your own data.
app.roboflow.com
그러면 roboflow application에서 workspace를 만들 수 있고, 그 안에 projects를 만들 수 있다.
workspace만 만든 첫 화면이 다음과 같다.
프로젝트 생성
이제 new project를 눌러서 새로운 프로젝트 공간을 만들어보자.
new project를 누르면 다음과 같은 화면이 나온다.
Project Name, Annotation Group, Project Type 은 본인이 하고자 하는 task에 맞게 기입하면 된다.
데이터셋 업로드
맞게 클릭하면 다음과 같은 화면이 나온다.
여기에 본인의 dataset 업로드하면 된다. 필자의 경우는 2,500개의 이미지와 annotation 파일을 업로드 하였고 다 업로드하기까지 넉넉히 20분 정도 소요되었다.
annotation 파일까지 다 업로드하고 나면 라벨링이 이미지에 표시되어서 나타나고 Not Annotated 된 파일이 있는 이유는 object가 없는 이미지가 30개라는 의미이다.
만약 Not Annotated 이미지에 객체가 있는 파일이 있다면 라벨링이 누락된 것이니 확인해보길 바란다.
데이터셋 저장
확인이 끝났으면 Save and Continue를 눌러서 저장하자.
저장을 누르면 다음과 같은 화면이 나오는데 이는 원하는 대로 설정해주면 된다.
(저장하는 데 생각보다 오래 걸리니 참고 할 것!)
Data Preprocessing
다 저장되었으면 Generate를 선택하고 New Version을 선택한다.
Preprocessing 단계에서 resize를 얼마로 할지 선택하면 된다.
Augmentation options 선택
데이터 augmentation에서 아래 Add Augmentation Step 버튼을 누르면 다음과 같이 여러 증강 옵션이 나타난다.
아래 링크에서 Box Level Augmentation이 모델 성능에 효과가 있다는 것을 보여주고 있음과 기법을 선택할 때 동시에 너무 많이 하면 모델 성능이 저하될 수 있다는 warning 문구도 같이 보여주고 있다.
Introducing Bounding Box Level Augmentations (roboflow.com)
Introducing Bounding Box Level Augmentations
Having training data that matches the diversity of your task is paramount to the success of your models. At Roboflow, we’re committed to providing you with state-of-the-art techniques that can improve your deep learning model [https://models.roboflow.com
blog.roboflow.com
기법을 선택하고 적용을 누르면 얼마나 증강할지 maximun version size를 선택할 수 있다.
4x 부터는 요금제를 결제해야 하므로 최대인 3x로 선택하였다.
생성된 이미지는 다음과 같다.
2,500개의 이미지에서 6,450개의 이미지로 augmentation 된 것을 확인할 수 있다!
Export Dataset을 통해서 원하는 방식으로 라벨링된 데이터를 다운받을 수 있다.