일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- clustering
- 자료구조
- image processing
- AlexNet
- TD
- 머신러닝
- MinHeap
- 백준
- MySQL
- Python
- IN
- exists
- 그래프 이론
- opencv
- edge detection
- 딥러닝
- machine learning
- 인공지능
- C++
- dfs
- sklearn
- DP
- BFS
- classification
- canny edge detection
- SIFT
- Mask Processing
- dynamic programming
- Reinforcement Learning
- 강화학습
- Today
- Total
JINWOOJUNG
[ YOLOv8 ] Custom Dataset 구축(Roboflow) 본문
YOLOv8을 통한 Object Detection을 위해선 적합한 Model을 생성해야 한다.
Model 학습을 위해선 Custom Dataset을 구축해야 하며, YOLOv8의 경우 Roboflow를 통하여 진행하면 쉽게 구축 가능하다.
https://app.roboflow.com/camera-ne3fn
먼저 Roboflow에 계정을 등록한 뒤 새로운 프로젝트를 생성한다.
Project Name, Annotation Group은 Custom Dataset을 구축하는 환경에 맞게 기입하면 된다.
이후 학습시킬 Dataset을 Upload 한다. 추가적인 Dataset을 구축하기 위해서 프로젝트 생성 이후 추가적인 Image를 추가하는 것도 가능하다. 전부 Upload 완료 하였으면 Save and Continue.
감지할 객체에 대한 Class를 생성한다. 이후 추가 및 수정이 가능하다. 생성 완료 하였다면 Save and Continue.
Roboflow는 헤당 데이터 셋을 다수의 인원들에게 할당 가능하다. 다수의 팀원이 함께 데이터 셋을 구축한다면, 각 팀원의 계정을 통하여 분배 가능하다. 나는 혼자하였으므로 전부 나아게 할당 하였다. 분배 완료 후 우측 하단 Assign Images.
이제 Dataset에 대하여 Class에 맞는 객체의 Bounding Box를 생성하면 된다. 우측 세로 창의 두번째 버튼을 클릭하면 다음과 같이 흰색 격자선이 생성되고, 객체에 맞게 Bounding Box를 생성한 뒤 그에 맞는 Class를 선택하면 된다.
모든 데이터 셋에 대하여 작업 완료 되었다면 한번 더 확인 후 우측 상단 Add xxx images to Dataset.
생성한 Custom Dataset을 기반으로 학습 Dataset 생성을 위해 우측 상단 Create New Version.
Roboflow는 Dataset을 기반으로 Training, Validation, Test Dataset을 자동으로 생성 해 준다. 또한, 해당 데이터를 Resize, Crop, Flip 등 다양한 Augmentation을 제공하니 유용하게 사용하면 된다.
선택 완료 하였다면, 해당 Data를 학습시키는 환경에 맞춰서 Dataset을 생성하면 된다. 필자는 구글 코랩에서 학습시키기 위하여 Jupyter Version으로 생성하였다.
다음에는 해당 Dataset을 기반으로 YOLOv8 Model을 학습시키는 과정을 포스팅 할 예정이다.
'딥러닝' 카테고리의 다른 글
[ YOLOv8 ] 학습된 모델 성능 분석(Confusion Matrix, Precision, Recall, Confidence, NMS) (0) | 2024.08.18 |
---|---|
[ YOLOv8 ] Custom Dataset 학습(Google Colab) (4) | 2024.05.07 |