개요


아마 나같은 사람이 있을 꺼 같아서 올린다.

기존의 욜로 데이터 셋인 코코 데이터 셋에서 원하는 데이터는 유지하면서 내가 가진 데이터 셋을 추가하는 방법이다. 말하자면 80개의 코코 데이터 셋에서 사람, stop sign 등의 데이터는 유지하되 다른 필요없는 데이터는 사치일 뿐이니까 다 제거하고 내가 원하는 데이터를 추가로 붙이는 것이다. 그렇게 되면 새롭게 다른 데이터 셋을 구해서 사용할 필요없이 바로 내 데이터를 다른 데이터를과 합성해서 객체검출이 가능해진다.

이번엔 하나하나 좀 자세히 설명해야겠다. 캡스톤 때 요긴하게 사용했씀 ㅎㅎ

참고로 Roboflow에 존재하는 coco dataset을 사용했다.

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

Custom dataset


여기에 들어가서 데이터를 pytorch 버전으로 다운 받으면 나랑 같게 사용가능하다.

%cd /content/dataset/
!curl -L "<https://public.roboflow.com/ds/GGVKgtg3cx?key=IyBNOzpSPQ>" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip

대충 coco datasetcolab을 활용해서 다운받기 위한 링크 주소이다. curl 명령어를 사용한다.

<aside> 💡 해당 링크는 개인마다 다를수도 있음 !

</aside>

아무튼 이렇게 coco dataset을 준비하고 나의 roboflow를 이용해 만든 jetbot dataset 도 따로 다운링크를 이용해 준비해둔다.

%cd /content/jetbot/

!curl -L "<https://app.roboflow.com/ds/qPrvj0W7PI?key=gPCHeLQrC7>" >

이건 내 개인 데이터 뒤에 코드 삭제함.

다음 glob 명령어를 이용해 하나의 리스트로 긁어 모아주는게 중요한데

%cd / 

import os
from glob import glob

img_list = glob('/content/dataset/train/labels/*.txt')
val_img_list = glob('/content/dataset/valid/labels/*.txt')

print(len(img_list))
print(len(val_img_list))