개요


이번에 하계 논문 제출을 YoloResnet을 사용한 자율 주행 모델을 작성하게 되었는데 그에 사용되는 YOLOv5를 내가 원하는 데이터 셋을 인식하도록 만들기 위해 데이터 셋을 만들고 새롭게 학습하는 과정이 필요하다. 오늘은 이에 대해 정리해보려고 한다. 참고로 나는 바운딩박스 툴을 RoboFlow를 사용해서 진행하였다.

Roboflow: Give your software the power to see objects in images and video

한마디로 표현하자면 데이터 셋 생성 및 전처리 작업, 증강 작업까지 모두 한큐에 해결하도록 도와주는 API의 한 종류이다. 정말 편하게 바운딩 박스를 만들고 데이터 셋을 불러올 수 있도록 해준다.

유료와 무료 사용 두 가지 버전이 존재하는데 무료로 사용해도 충분히 학습용으로는 커버가 되기 때문에 적어보려 한다.

RoboFlow


우선 사이트에 들어가서 Github 아이디 혹은 구글 아이디를 이용해서 아이디를 만들어야 한다. 이 아이디에 자기만의 데이터 셋을 만들어두고 계속해서 활용할 수 있기 때문에 꼭 만드는 것을 추천 !

추가로 자기랑 같은 작업을 하는 팀원이 있을 때에는 초대할 수 있는 코드도 있으니 초대해서 같이 데이터를 사용하면 된다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c0cb7fbf-3313-4454-a1a6-209d537864c0/image.png

이렇게, 위에 초대하는 코드도 있고 밑에 보면 ALL Projetcts 해서 내가 만들어놓은 프로젝트 파일도 존재한다. 나는 YOLO를 사용해 젯봇을 따라가거나 발견하도록 만드는 것이 목표기에 젯봇 이미지 데이터 셋을 만들어 두었다.

<aside> 💡 3월에 만들어두었는데 5월이 다 지나가는 지금도 멀쩡히 있는 것을 보면 데이터 셋에 기한은 없는듯하다.

</aside>

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fc3eff11-b921-4118-a4ce-bf75bc54547e/image.png

들어가서 보면 333 images가 내가 직접 찍은 사진의 개수이다. 근데 밑에서는 Training Set 831 / Testing Set 56 인 것을 확인 가능하다. 이건 증강 + 전처리 작업을 이용해서 사진에 약간의 변경점을 주고 인공지능 머신이 학습할 때 더 확실하고 원활한 학습을 하도록 돕도록 하기 위해 늘린 사진의 개수이다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f289aab9-ce7e-452c-acbf-8664ee13d80b/image.png

전처리 작업에서는 이러한 작업들이 무료로 가능하고 추가로 Grey Scale도 가능 !