관리 메뉴

ComputerVision Jack

[Vision Yolov5] 본문

DeepLearning Study/Computer vision 스터디

[Vision Yolov5]

JackYoon 2020. 8. 21. 00:21
반응형

Yolov5 Model

오늘 스터디에서 Yolov5에 관련된 예제를 해보는 시간을 가졌습니다. Yolov5 git을 클론하여 Colab에서 실행했습니다.

Yolov5 Github 주소https://github.com/ultralytics/yolov5

 

ultralytics/yolov5

YOLOv5 in PyTorch > ONNX > CoreML > iOS. Contribute to ultralytics/yolov5 development by creating an account on GitHub.

github.com

실습1 - https://blog.roboflow.ai/how-to-train-yolov5-on-a-custom-dataset/

첫번째 실습은 위 블로그에서 실시한 Custom Dataset에 대한 Yolov5 모델을 작동하는 것입니다.

Colab 깃 클론하기

코렙을 켜고 깃을 클론해줍니다.

pip을 통한 필요 파일 설치

그다음 pip 명령어를 통해서 Yolov5에 관련 필요한 파일을 설치합니다.

 

코렙 환경 출력

코렙을 사용할 때, 하드웨어 가속기를 GPU로 설정하고 진행하면 작업의 속도가 빠르게 됩니다.

그다음 관련 코렙 환경을 출력해봅니다.

 

그 다음은 정말 디렉토리 싸움입니다.

 

DataSet 다운 받는 주소 : https://public.roboflow.ai/object-detection/bccd

 

BCCD Object Detection Dataset

Download 364 free images labeled with bounding boxes for object detection.

public.roboflow.ai

데이터 다룬로드를 클릭하면 다운받을 수 있는 형태를 선택할 수 있게 되어있습니다.

YOLOv5 PyTorch를 선택하고 -> 다운로드 코드 표시를 진행하시면 주피터/코렙용으로 URL을 통해 다운 가능합니다.

 

%cd /content/ 명령어를 통해서 최상위 디렉토리로 갑니다.

데이터 해제

그곳에 데이터를 다운받아 압축을 해제해줍니다.

압축 해제할 때, 저는 [y] [n] [A] [r]에서 r을 통해 새로운 이름의 yaml 파일을 만들었습니다.

 

데이터가 다운이 완료되면

!ls 명령어롤 통해 데이터가 잘 생성됬는지 확인하고 !cat data.yaml 명령어를 통해 데이터를 확인합니다.

이제 %cd /content/yolov5로 yolo 디렉토리로 들어갑니다.

학습 진행

우선 간단하게 50 epoch로 학습을 진행했습니다.

!python 명령어를 통해 train.py 파일을 실행하고 datacfg 모델 선택을 한 후, 학습을 진행합니다.

data와 cfg를 선택할 때 디렉토리 확인을 잘 해주셔야합니다.

 

진행된 학습은 runs 디렉토리에 존재합니다. %cd runs, 그 다음 exp + 숫자 디렉토리로 %cd exp1 들어간 후, !ls 명령어를 통해 내부 파일을 확인합니다.

결과 출력

그다음 Image( ) 함수를 이용하여 해달 결과를 출력할 수 있습니다.

 

실습2 - https://public.roboflow.ai/object-detection/mask-wearing

 

Mask Wearing Object Detection Dataset

Download 149 free images labeled with bounding boxes for object detection.

public.roboflow.ai

마찬가지 방법으로 마스크 데이터 셋에 대해 마스크를 쓴 사람과 안쓴 사람을 구분하는 실습을 진행했습니다.

모든 방법은 위의 예제와 동일합니다.

마스크 데이터셋 학습 진행
test 데이터 셋

학습을 진행하면 test 데이터 셋에 대해 학습이 잘 이뤄진 것을 확인할 수 있습니다.

 

이제 학습된 모델에 제가 직접 아래의 데이터를 넣어서 결과를 출력하도록 하겠습니다.

학습된 모델 결과 표기 사진

우선 디렉토리를 %cd /content/yolov5/ 로 설정한 뒤, !mkdir test 명령어를 통해서 test 디렉토리를 생성했습니다.

%cd test 디렉토리로 이동한 뒤, 

구글 파일 업로드

Colab file Upload를 사용하여 파일을 해당 디렉토리에 업로드합니다. !ls를 통해서 확인해보세요.

다시 디렉토리를 %cd /content/yolov5/ 로 이동합니다.

 

해당 학습 진행된 모델을 사용할 경우 detect.py 파일을 사용합니다.

결과 확인을 위한 모델 실행

source에 아까 업로드한 파일의 디렉토릴를 설정하고 weight을 설정할 때 가장 최근에 사용한 exp파일의 weight을 설정합니다. 디렉토리 확인 중요합니다. 그다음 신뢰값 0.4정도로 하고 실행하겠습니다.

 

해당 과정이 진행되면 결과는 %cd /content/yolov5/inference/output 위치에 존재하게 됩니다.

%cd .. / %cd 디렉토리 명령어를 사용하여 해당 위치로 갑니다.

마스크 결과

다음 해당 디렉토리에 있는 이미지 파일을 실행하면 학습된 결과가 반영된 이미지를 얻을 수 있습니다.

반응형

'DeepLearning Study > Computer vision 스터디' 카테고리의 다른 글

[Vision Mask RCNN - Video]  (0) 2020.10.20
[Vision Mask RCNN - Image]  (0) 2020.10.19
[vision Yolov5-Webcam]  (16) 2020.08.29
Comments