yolov5 기본 개념 정리 참고 블로그 주소:
작업 환경은 google colab환경에서 작업하였습니다.
먼저 구글드라이브에서 새로만들기 버튼을 눌러서 밑의 이미지처럼 창이 뜨게되면 Google Colaboratory를 눌러서 작업환경을 생성합니다.
학습전에 학습때 사용될 환경을 지정해주어야 합니다.
런타임 -> 런타임 유형 변경 -> gpu
gpu의 경우 cuda와 cudnn환경이 갖추어져 있어야 합니다.
이제 커스텀 데이타셋을 만들어야하지만 저의 경우는 미리 라벨링이 완료된 데이타셋을 다운로드하여 사용하였습니다.
위의 주소에서 products -> dataset -> object detection -> 원하는 데이타셋 고르기 -> 다운로드 -> 다운방식 선택
밑의 이미지 대로 할 것
위 주소 복사후 코랩 작업환경에 코드를 붙여넣으면 이미지 데이터셋이 저장된다.
데이타셋 저장 후 위의 코드를 똑같이 작성하여 작업환경을 만드시면 됩니다.
(데이타셋을 dataset이라는 폴더를 만들어서 다운된 파일을 모두 넣어주시면 됩니다. yolov5 폴더는 제외)
%cat /content/dataset/data.yaml
을 쳐서 yaml파일의 경로를 확인해 준 후 초기는 경로가 잘못되어 있으므로 경로를 만들어 수정을 해주시면 됩니다.
%cd /
from glob import glob
train_img_list = glob('/content/dataset/train/images/*.jpg')
val_img_list = glob('/content/dataset/valid/images/*.jpg')
print(len(train_img_list), len(val_img_list))
with open('/content/dataset/train.txt','w') as f:
f.write('\n'.join(train_img_list) + '\n')
with open('/content/dataset/val.txt','w') as f:
f.write('\n'.join(val_img_list) + '\n')
import yaml
with open('/content/dataset/data.yaml','r') as f:
data = yaml.load(f)
print(data)
data['train'] = '/content/dataset/train.txt'
data['val'] = '/content/dataset/val.txt'
with open('/content/dataset/data.yaml','w') as f:
yaml.dump(data, f)
print(data)
위의 과정은 경로를 지정해주는 과정이며 이미지의 경로가 적혀있는 txt파일을 list를 이용해 저장하는 방식입니다.
과정이 끝나면 이렇게 경로가 변경된 것을 확인 하실수 있습니다.
이제 학습을 위한 준비는 끝났습니다.
%cd /content/yolov5/
!python train.py --img 416 --batch 16 --epochs 400 --data /content/dataset/data.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt --name car_yolov5m
train.py를 yolov5형식에 맞추어서 학습시켜주시면 됩니다. 저의 경우는 이미지는 416사이즈에 batch는 16 학습횟수는 400번 data와 cfg ,weight의 경로를 지정해주고 저장될 학습파일명을 지정해주시면됩니다.
학습이 진행이 되고 완료후 만들어진 결과파일을 이용해서 사용하시면 됩니다.
웹캠같은 외부장비를 이용해서 object detection을 하려면 만들어진 결과파일을 로컬환경에서 작업하시면 됩니다.
학습참고 유튜브 영상 주소:
'인공지능 > 실습' 카테고리의 다른 글
[tensorflow GAN]tensorflow GAN(심층 합성곱 생성적 적대 신경망) 기본예제 (0) | 2020.11.26 |
---|---|
[tensorflow GAN]인공지능 뷰티간(BeautyGAN) 모델을 이용해서 생얼 화장시키기 (0) | 2020.11.24 |
[ubuntu] YOLOV4파일을 tflite형식으로 변환하기(convert YOLOV4 to tflite) (0) | 2020.10.22 |
[ubuntu,yolo]이미지 라벨링을 위한 YOLO-mark설치(YOLO-mark installation for image labeling) (0) | 2020.10.22 |
[ubuntu] ubuntu에서 YOLOV4 설치(Install Yolo v4 on Ubuntu) (0) | 2020.10.22 |