AI

[딥러닝] YOLOV5를 이용한 객체 인식하기 1편(feat. 구글 코랩)

알까 2023. 7. 30. 09:56

요즘 AI가 급부상 하고 있습니다.

chat gpt가 특이점을 만들었기 때문일까요? AI에 대한 전세계인의 관심도는 더욱 높아진 것 같습니다.

이번에 프로젝트를 하는데 AI를 활용하고 싶어 정보를 찾다가 YOLOV5라는 것을 알게되었습니다.

 

YOLOV5란 객체인식을 수행하는 딥러닝 모델입니다. 이를 통해 사진 또는 영상, 카메라를 통해 얻은 이미지 내 객체를 인식할 수 있습니다.

뉴시스 사진을 통해 객체인식한 결과

이렇게 Pothole이라는 객체를 인식하였습니다. 이 결과물을 얻기위해 수행해야 할 과정들을 블로그에 적도록 하겠습니다.

 


1. 데이터셋 준비

 

 앞서 YOLOV5가 객체인식을 위한 딥러닝 모델이라고 설명드렸습니다. 딥러닝을 위해서 가장 중요한 것은 학습입니다. 학습을 위해서는 정보가 필요하죠. 이 정보를 얻으려면 라벨링과정이 필요합니다. 즉, 이미지의 어느 부분이 객체에 해당하는지 박스를 만들어 표시해야합니다.

 

 다만 이 과정들을 미리 만들어놓은 사람들이 있습니다. 그리고 그들이 만들어 놓은 커뮤니티가 있습니다. 바로 roboflow입니다.

 

https://universe.roboflow.com/

 

Roboflow Universe: Open Source Computer Vision Community

Download free, open source datasets and pre-trained computer vision machine learning models.

universe.roboflow.com

이곳에서 원하는 데이터셋을 다운로드 받을 수 있습니다. 저같은 경우 포트홀 감지를 위한 데이터셋을 다운로드 받도록 하겠습니다.

오른쪽 download dataset버튼을 누릅니다.
포맷설정

포맷을 입력하는 칸이 나옵니다. 제 포스팅의 경우 YOLO V5를 이용하므로 YOLO V5 PyTorch를 눌러주시면 됩니다.

내보내기를 할 때 두가지 선택조건이 있습니다. 1. zip파일로 받는다. 2. 다운로드 코드로 받는다.

일반적으로 다운로드 코드로 받는 것이 훨씬 편리합니다.

다운로드 코드

continue를 누르시면 다음과 같은 창이 뜹니다. 이 코드들을 복사해서 붙여넣기 하시면 데이터셋을 다운로드받으실 수 있습니다.

 

2. 구글 코랩 접속

구글 코랩 접속 경로

구글 코랩은 구글 드라이브를 통해 들어가실 수 있습니다. 물론 인터넷 검색을 통한 접속도 가능합니다.

해당 버튼을 눌러주시면

구글 코랩 창

해당 창이 뜹니다.

 

구글 코랩을 사용하는 가장 큰 이유는 GPU를 지원해주기 때문입니다. GPU는 딥러닝에 있어 속도를 결정짓는 아주 중요한 요소입니다. 코랩을 이용하면 딥러닝 속도를 줄일 수 있어 효과적입니다.

 

GPU를 활용하기 위해서 해야할 작업이 있습니다. 런타임-런타임유형변경-GPU를 입력해주시면 됩니다.

런타임 - 런타임유형변경 - GPU사용

GPU사용 제한이 있어 사용이 안되는 경우가 있습니다. 이때는 다른 구글 계정을 활용하시는 것이 좋습니다.

 

3. 코드입력

아까 데이터셋에서 복사한 코드를 붙여넣습니다. 왼쪽 하얀색 재생버튼을 누르면 코드가 실행됩니다.

코드가 다 실행되면 체크표시가 뜨면서 파일 영역에 폴더가 생성됩니다.

IPD-Pothole-Detection 파일이 생성되었습니다. 이 파일은 데이터셋으로 학습파일로 구성되어있습니다. 

 

 

다음편에서는 이 파일들을 이용해 딥러닝을 학습하는 방법을 포스팅하도록하겠습니다.