실습 중 경량화된 Object Detection 모델이 필요했고, Yolov10 nano를 학습해보기로 했음
#1. Yolov10 Git clone & 가상환경 세팅
경로 : /home/project/yolov10
https://github.com/THU-MIG/yolov10
GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]
YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024] - GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]
github.com
git clone https://github.com/THU-MIG/yolov10.git
사용 중이던 가상환경에서는 버전 오류가 나길래 공식 Github의 Readme를 그대로 참고해서 가상환경 새롭게 만들었다
conda create -n yolov10 python=3.9
conda activate yolov10
pip install -r requirements.txt
pip install -e .
가상환경 이름 : yolov10
이런식으로 base 앞에 가상환경 이름이 뜨거나, base 없이 가상환경 이름이 터미널에 떠있어야 제대로 적용된 것이다
#2. Custom data 정리
Data는 해당 경로대로 지정해야한다
Images에는 이미지들, Labels에는 Yolov를 위한 라벨링 txt 파일들이 저장되어있다.
(ex. ./data/images/test/2.jpg, ./data/labels/test/2.txt)
images 와 labels 에 있는 파일들은 서로 매칭이 되어야함
비율은 Train 0.8 : Test 0.1 : Val 0.1 로 설정하였다
#3. Yaml 파일 제작
경로 : /home/project/yolov10.yaml
train:/data/images/train # train images
val:/data/images/val # val images
test: /data/images/test
nc: 10 # number of classes
names : ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
train, val, test 인자 경로 맞춰주기
nc : 클래스 갯수
names : 클래스 이름
#4. 원하는 모델 .pt 파일 다운로드
경로 : /home/project/yolov10n.pt
https://docs.ultralytics.com/ko/models/yolov10/#key-features
YOLOv10
실시간 객체 감지를 통해 NMS를 없애고 효율성을 높여주는 최신 실시간 객체 감지 기술인 YOLOv10을 만나보세요. 낮은 컴퓨팅 비용으로 최고의 성능을 달성하세요.
docs.ultralytics.com
원하는 모델의 파란색 이름을 클릭하면 해당 모델에 맞는 .pt 파일을 다운로드 받을 수 있다
#5. 학습
!yolo task=detect mode=train epochs=50 batch=10 plots=True model='/home/project/yolov10n.pt' data=' /home/project/yolov10.yaml'
명령어 실행시켜주면 된다
model : 4번에서 다운 받은 모델 .pt
data : 3번에서 제작한 yaml 파일 경로
에폭이 진행되고 완료되었다는 글 이후에 저장된 last.pt와 best.pt 파일 경로가 출력된다
해당 경로에서 가중치 파일을 찾으면 된다!
'AI > Computer Vision' 카테고리의 다른 글
[Vision Transformer(ViT)] 코드 설명 및 인자 정리 (0) | 2024.09.23 |
---|---|
[Active Learning] 데이터 Pre-training, 학습 진행 (0) | 2024.05.27 |
[실전! 컴퓨터 비전을 위한 머신러닝] 06. 전처리 (1) | 2023.10.28 |
[실전! 컴퓨터 비전을 위한 머신러닝] 04 객체 검출과 이미지 세분화 (1) | 2023.10.08 |
[실전! 컴퓨터 비전을 위한 머신러닝] 03. 이미지 비전 (2) (0) | 2023.10.01 |