[YOLO] YOLOv5 데이터셋 만들기 (Roboflow)
AI vision 프로젝트를 진행할때 Roboflow 사이트를 이용하면 사용할 데이터셋을 쉽게 제작, 수집하는 등 편리하게 관리할 수 있다.
직접 사용할 데이터에 tool을 사용해 직접 Annotate 해서 커스텀 데이터셋을 만들수도 있고,
다른 사람들이 제작한 데이터셋을 검색해 이용할 수도 있다.
Roboflow: Give your software the power to see objects in images and video
With just a few dozen example images, you can train a working, state-of-the-art computer vision model in less than 24 hours
roboflow.com
처음에 workspace를 private 이 아니라 public으로 생성할 경우, 위와 마찬가지로 내가 제작한 데이터셋을 다른사람이 이용할 수 있으니
사내 보안 프로젝트를 진행하는 경우에는 주의해야 한다. 다만 private workspace는 무료체험 후 매달 이용료를 지불해야한다.
1. Custom dataset 만들기
workspace에서 프로젝트를 생성하고 사용할 데이터를 업로드한다. * webp 확장자는 지원하지 않음
업로드가 완료되었으면 Finish Uploading 버튼을 눌러 다음 단계를 진행한다
* 데이터는 나중에 추가, 삭제가 가능하다.
* 이미 예전에 추가했던 데이터일경우에는 진행되지 않는다.
업로드한 데이터를 한땀한땀 Annotation을 진행한다.
AI model의 성능하락을 방지하기 위해 데이터에 bounding box(이하 bb)를 그릴때는 객체로부터 여유공간이 남지 않게 최대한 딱 맞도록 진행하는것을 추천한다. 또한 검출하고자 하는 객체가 겹쳐있을경우, 하나에만 bb를 그리는 것이 좋다.
위처럼 직접 커스텀 데이터를 제작한다면 최소 몇백장의 데이터를 annotation 하게 될텐데, 팀과 함께 진행하는 프로젝트라면 roboflow에는 팀원들과 분배하여 진행 할 수 있는 기능이 존재하므로 메일계정을 이용해 팀원들을 초대해 효율적으로 진행할 수 있다.
만들어진 데이터셋을 클릭하면 세부사항이 나오는데, 여기서 Train / Test / Vaild 데이터의 개수, output size 등을 설정할 수 있다.
Generate 를 클릭하면 이 화면이 나온다. 여기서 Export 버튼을 클릭하면
너무나 친절하게도 사용할 모델에 맞춰 데이터셋을 Export 할 수 있다. 나는 YOLOv5 를 사용할 것이므로 여기에 체크한다.
그나저나 YOLOv7 도 벌써 나왔네..
만들어진 데이터셋은 직접 컴퓨터에 다운로드 할 수도 있고, 코드를 통해 다운로드를 할 수도 있다.
나는 데이터를 Google drive에 마운트해서 Google colab 으로 AI 세미나를 진행할거기도 하고,
AI 프로젝트는 회사 local docker 환경에서 진행할 것이기 때문에 다운로드 하는 방식으로 진행했다.
압축파일의 내부를 뜯어보면 설정한 AI 모델의 dataloader 로직에 맞게 구성되어 있는 모습을 확인할 수 있다.
2. Public dataset 이용하기
Roboflow 홈페이지 상단에서 Universe를 클릭하면 구글처럼 키워드로 검색이 가능하다. 여기서 다른사람들이 만든 데이터셋을 이용할 수 있다. 이때 본인의 목적에 맞는 데이터셋인지 잘 확인해야 한다. 데이터셋의 퀄리티가 굉장히 낮거나, annotation이 잘못되어 있는 경우도 많기 때문이다.
데이터셋을 Export하는 방법은 1번에서 한 방법과 동일하다.
끝!