본문 바로가기
프로젝트 기록/딥러닝 모델 개발_공학설계캡스톤디자인(스마트카ICT)

[YOLOv5] 창문 밖 머리, 손 탐지(관심영역 밖 라벨링, 그냥 라벨링)/ 코랩 학습파일 내보내기

by 소요이 2023. 5. 16.
728x90

[1] 그냥 라벨링 (전체)

 

학습환경: COLAB

 

 

!git clone https://github.com/ultralytics/yolov5
%cd yolov5
!pip install -r requirements.txt

실행 -> yolov5 폴더 생김

 

from google.colab import drive
drive.mount('/content/drive')

구글 드라이브와 연동

(코랩은 

 

 

yolov5 - data 폴더에 새로운 폴더 만들고(폴더명: 230516_test)

roboflow에서 이렇게 export한 데이터셋 압축본 넣기

 

 

!unzip ./data/230516_test/head-hands.zip -d ./data/230516_test/

압축 해제

 

 

체크한 곳: 데이터 압축파일 넣은 곳

위 코드 실행시키면 사진처럼 test, train valid폴더가 생기고 data.yaml 파일이 생김

 

 

import yaml

with open("./data/230516_test/data.yaml") as f:
    config = yaml.load(f, Loader=yaml.FullLoader)

config["train"] = "./data/230516_test/train/images"
config["val"] = "./data/230516_test/test/images"

with open("./data/230516_test/data.yaml", "w") as f:
    yaml.dump(config, f)

yaml파일 코랩 경로에 맞게 수정

 

 

!python train.py --img 640 --batch 16 --epochs 300 --data ./data/230516_test/data.yaml --weights yolov5s.pt --cache

학습 - 4분걸림

 

학습된 모델은 best.pt파일로 저장됨

 

 

!python detect.py --weights runs/train/exp/weights/best.pt --img 640 --conf 0.25 --source ./data/230516_test/test/images

테스트 이미지 detect 해보는 코드

 

 

!cp runs/train/exp/weights/best.pt /content/drive/MyDrive/

학습된 모델 파일(best.pt)을 구글드라이브에 복사

 

복사되어있는 것 확인 

다운로드 하기


 

detect폴더의 결과

 

 

 

train폴더의 결과

 

 

 

 


 

 

[2] 관심영역 밖만 라벨링 하고 학습

 

 

 


[3] 결론

 

관심영역 밖이 정확도가 더 높음.

라벨링 방식: 관심영역 바깥 라벨링

으로 결정

 

 

다음은

코랩에서 학습된 best.pt 모델 파일을 불러와서

파이참에서 관심영역을 detect하는 것을 해볼 것