본문 바로가기
AI & Data/AI&ML Examples

[Colaboratory] YOLO Object Detection Examples: 캐글 이미지 디텍팅 #01

by Henry Cho 2022. 1. 5.
728x90

YOLO Object Detection Examples: 캐글 이미지 디텍팅 #01


포스트 난이도: HOO_Senior

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# Object Detection

YOLO 라이브러리 기반으로 object detect 사용이 가능하다.

한마디로 image detecting이 가능하기에 YOLO 라이브러리를 많이 사용한다.

이번 예제에서는 Colab 기반으로 Kaggle의 dataset을 가져와 이미지 디텍팅을 하는 방법에 대해서 살펴보려고 한다.

필자가 가져온 dataset은 하나의 예시이며, Image detecting을 어떻게 하는지에 대한 부분을 집중적으로 이해하면 된다.

필자가 사용한 데이터셋은 아래 링크와 같다.

 

https://www.kaggle.com/c/tensorflow-great-barrier-reef

 

TensorFlow - Help Protect the Great Barrier Reef | Kaggle

 

www.kaggle.com

 

이번 포스트에서는 캐글에서 데이터셋을 코랩으로 가져와 학습을 하기 전의 준비 과정에 대해 집중적으로 다룰 것이다.

캐글이나 코랩을 사용하지 않는 경우에는 필자의 추후 다른 포스트에서 로컬 환경에서의 YOLO 사용법이나 Kaggle 데이터셋이 아닌 다른 플랫폼 커뮤니티 또는 로컬 데이터셋 사용 방법에 대한 포스트를 참고하길 바란다.

마지막으로 해당 포스트의 난이도는 Senior 레벨 기준으로 작성되기에 추가적인 설명은 생략한다.

 

# Example Codes

!pip install -q kaggle
from google.colab import files 
files.upload()
! mkdir ~/.kaggle
! cp kaggle.json ~/.kaggle/
! chmod 600 ~/.kaggle/kaggle.json
! kaggle datasets list
!kaggle competitions download -c tensorflow-great-barrier-reef
!unzip train.csv.zip

캐글 기본 세팅에서 유의할 점은 데이터셋 사용을 위한 토큰 생성이다.

새로운 토큰 생성을 해도 되지만 기존 토큰이 존재하면 기존 꺼를 활용해도 된다.

또한 압축파일에 있어서도 데이터셋에 따라서 달라진다.

압축이 되어있는 경우 별도로 풀어줘야 하지만 이미 압축이 풀려져 있는 경우 압축을 풀 필요가 없다.

상황에 맡게 unzip은 마지막에 사용하면 된다.

나머지는 공통적으로 동일하다.

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

캐글 기본 데이터셋 설정이 끝났다면 이제는 욜로 사용에 대한 import 과정을 진행한다.

욜로 import가 완료하고 YOLO 패키지를 설치해주면 된다.

YOLO 패키지 설치가 모두 끝났다면 캐글 데이터셋을 활용하여 YOLO 라이브러리를 활용하여 이미지 디텍팅, 즉 ML이 가능하다.

참고적으로 Colab은 Pytorch에 대한 별도의 설치가 필요없다.

굳이 자신이 원하는 버전을 이용하고 싶지 않다면 최신 버전이 항상 제공된다.


728x90

댓글