라벨링을 시작하기 전에 수집한 이미지에서 불필요한 이미지들부터 제거해줬다.
이미지 크기를 416으로 맞추고 왜곡이 심하거나 기울어진 이미지를 제외했다.
라벨링을 성체 멧돼지와 아기 멧돼지 두 개의 클래스로 진행할 것이기 때문에 성체 멧돼지의 머리와 몸이 잘렸을 때 학습에 혼란이 있을 것을 대비해서 되도록 머리와 몸이 하나인 이미지들로 준비했다.

Roboflow

회원가입

google 계정으로 가입을 했다.
Roboflow 회원가입을 하게 되면 작업 공간을 세팅한다. Hobbies로 진행.

공개 프로젝트

다음엔 공개 프로젝트를 생성한다.

이미지 업로드

수집한 이미지들을 라벨링을 하기 위해 업로드 해준다.
폴더나 이미지를 드래그 앤 드롭으로 가져온 뒤 Save and Continue 하면 업로드가 시작된다.

이미지 라벨링

업로드 완료 후 Assign Images -> Start Annotating 라벨링을 시작한다.

클래스 분류

성체와 아기의 외형에 차이가 있어서 wild-boar와 baby-boar로 class를 나눴다.

데이터 세트 비율

모두 라벨링을 완료하면 뒤로가기 한 뒤 Add images to Dataset 이미지를 데이터 셋에 추가한다.
추가한 데이터 셋을 나눌 수 있다. Train과 Valid의 비율을 8:2로 나눴다.

  • Train Set (학습 데이터 세트): 모델의 학습에 사용됩니다.
  • Validation Set (검증 데이터 세트): 학습된 모델의 성능을 평가하고,
    모델의 하이퍼파라미터를 조정하기 위해 사용됩니다.
  • Test Set (테스트 데이터 세트): 최종적으로 학습된 모델의 성능을 평가하기 위해 사용됩니다.

이미지 처리

이제 데이터 셋으로 버전을 생성할 차례다.
전처리는 넘어가고 증강 단계를 추가해줬다.

증강으로 이미지를 늘려줬다. 무료버전에서는 3배까지 기능을 제공해준다.

데이터 세트 생성

이제 Export Dataset 데이터 셋을 내보낸다.

Yolov5를 사용하므로 Format을 YOLO v5 PyTorch로 설정
zip 파일을 직접 내 컴퓨터로 받거나, Roboflow API를 이용해서 코드로 데이터를 받을 수 있다.

압축을 풀면 라벨링한 모델이 잘 저장된 것을 볼 수 있다.

이제 이 모델로 객체 검출을 하기 위해서 Yolov5의 train.py로 학습을 시켜줘야 한다.
학습은 google colab을 이용해서 진행한다.

profile
student

0개의 댓글