인공지능

[AI] roboflow 사용법

LimeCoding 2023. 9. 26. 17:02

인공지능 과제를 수행하다 데이터셋 부족으로 인터넷의 바다를 여기저기 떠돌아 다녔다.

그러던 중 roboflow라는 좋은 툴을 봤는데 이게 사용방법이 조금 헷갈려서 이것 저것 만져보다가 알아낸 방법을 기록으로 남겨보려고 한다.

 

먼저 roboflow에 가입을 한다.

https://roboflow.com/

 

Roboflow: Give your software the power to see objects in images and video

With just a few dozen example images, you can train a working, state-of-the-art computer vision model in less than 24 hours.

roboflow.com

 

가입을 하고난 후

get start를 누르면 개인 프로젝트 페이지로 넘어간다.

 

create project를 누르고

 

프로젝트 목적에 맞게 설정을 한다. 여기서는 객체 탐지가 목적이기에 object detection으로 했다.

 

프로젝트를 생성하면 create new project 밑에 프로젝트가 보이는데 들어간다.

들어가면 왼쪽에 여러가지 메뉴들이 보이는데 우리는 Upload로 들어가 이미지를 업로드 한다.

 

그리고 드래그앤 드롭이나 폴더열기를 통해 원하는 이미지를 업로드한다.

 

그후 save&continue를 누르면 파일업로드가 된다. 이때 올리기 전에 annotation을 할 수도 있지만 필자 오류인지 이미지를 하나하나 넘기는게 안돼서 그냥 이미지 업로드 후 수행했다. 이미지 넘기기가 되면 이미지를 클릭해 라벨링을 진행하면 된다.

 

여기서 필자는 헤맸는데 모니터 화면이 너무 커서 밑에가 보이지 않았다.

여기서 다른 사람을 초대해서 같이 라벨링 작업을 할 수 있다. 만약 이런 창이 보이지 않는다면 왼쪽에 unassigned 메뉴로 들어가 주면 된다. 그후 이미지를 클릭하고 오른쪽 위에 Assign Image를 클릭하면 동일한 화면이 보인다.

 

화면에서 원하는 양만큼 이미지를 할당한 후 맨 아래 Assign images를 누르면 해당 인원하게 라벨링작업이 부여된다.

 

할당을 하고나면 이미지에 라벨링을 할 수 있도록 창이 나오는데 이미지를 클릭하고 라벨링을 시작한다.

 

라벨링 창으로 들어오면 다음과 같이 보이는데 오른쪽에 클립핑 아이콘을 클릭하고 내가 원하는 객체를 선택해 라벨링을 한다. 라벨링이 끝나면 화살표를 눌러 다음이미지로 넘어간다. 모든 이미지에 라벨링이 끝나면 esc키를 눌러 저장을 하면서 빠져나온다.

 

빠져나와 add images to dataset을 누르면 이미지를 train, valid, test로 나누는 창이 나온다. 원하는 만큼 슬라이드를 이용해 분할한 후 add Images를 누른다.

 

이후 데이터셋을 만들기 위해 Generate New Version을 누른다.

 

그러면 여러 전처리 과정에 대한 내용이 나오는데 이는 자신의 데이터셋 환경에 맞게 수행하면 된다. 아마 인공지능에 대해 공부해 본 사람은 설명없이도 충분히 사용할 수 있을 거다. 모두 설정한 후 generate를 누르면 로딩이 되면서 데이터셋을 생성해준다.

 

생성이 완료되면 다음과 같은 창이 나오는데 데이터 셋을 다운받기 위해 export dataset을 클릭한다.

그러면 어떤 형식으로 export할 것인지 물어보는데 모델이나 학습환경에 따라 메뉴를 선택한다. 그리고 아래 데이터셋을 어떤 형태로 받을지 나오는데 zip파일로 받을 수도 있고 python 코드로도 받을 수 있다. 여기서는 파이썬 코드로 받았다.

 

파이썬 코드를 선택하면 다운로드 받을 수 있는 코드를 생성해서 보여준다. 그대로 복사 붙여넣기를 한다 그리고 실행하면 파이썬 코드를 돌리는 디렉토리로 데이터셋들이 받아진다.

이후부터는 모델에 맞게 학습을 진행하면 된다. 혹시 학습하는 법을 모르겠거나 글에 나오지 않은 내용들은 다음 자료를 참고해서 알아가면 좋을 것 같다.

 

코드를 이용한 학습 방법

https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/train-yolov8-object-detection-on-custom-dataset.ipynb#scrollTo=oe9vkEvFABbN

 

train-yolov8-object-detection-on-custom-dataset.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

 

roboflow 이용 가이드

https://blog.roboflow.com/getting-started-with-roboflow/

 

Getting Started with Roboflow

Roboflow eliminates boilerplate code when building object detection models. Get started with an example.

blog.roboflow.com

https://blog.roboflow.com/how-to-train-yolov8-on-a-custom-dataset/

 

Train YOLOv8 on a Custom Dataset

In this article, we walk through how to train a YOLOv8 object detection model using a custom dataset.

blog.roboflow.com

 

'인공지능' 카테고리의 다른 글

[Google MLB] Gemma sprint 후기  (2) 2024.10.03