728x90

 

yolov5 기본 개념 정리 참고 블로그 주소:

lv99.tistory.com/69

 

YOLO v5 공개! 개념, 이론, 논문 대신에 iOS...?

YOLO V5가 공개되었습니다! YOLO는 You Only Look Once라는 이름으로, one-stage object detection 딥러닝 기법으로 매우 빠른 속도의 추론 과정으로 2016년에 큰 충격을 안겨주었었습니다. 저는 증강/가상현실을.

lv99.tistory.com

 

작업 환경은 google colab환경에서 작업하였습니다.

 

먼저 구글드라이브에서 새로만들기 버튼을 눌러서 밑의 이미지처럼 창이 뜨게되면 Google Colaboratory를 눌러서 작업환경을 생성합니다.

학습전에 학습때 사용될 환경을 지정해주어야 합니다. 

런타임 -> 런타임 유형 변경 -> gpu

gpu의 경우 cuda와 cudnn환경이 갖추어져 있어야 합니다.

이제 커스텀 데이타셋을 만들어야하지만 저의 경우는 미리 라벨링이 완료된 데이타셋을 다운로드하여 사용하였습니다.

 

roboflow.com/

 

Roboflow: Go from Raw Images to a Trained Computer Vision Model in Minutes.

Even if you're not a machine learning expert, you can use Roboflow train a custom, state-of-the-art computer vision model on your own data.

roboflow.com

위의 주소에서 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을 하려면 만들어진 결과파일을 로컬환경에서 작업하시면 됩니다.

 

학습참고 유튜브 영상 주소:

www.youtube.com/watch?v=T0DO1C8uYP8&ab_channel=%EB%B9%B5%ED%98%95%EC%9D%98%EA%B0%9C%EB%B0%9C%EB%8F%84%EC%83%81%EA%B5%AD

 

728x90

+ Recent posts