머신러닝 & 딥러닝

[OpenVINO] Datumaro

O_oz 2024. 1. 20. 08:00
반응형

CVAT과 이어짐

 

Datumaro는 준비한 데이터셋을 Train, Val, Test 용으로 분리해주는 툴이다

이렇게 데이터셋을 분리하면 정확도를 더 잘 측정할 수 있다

 

이번 글에서는 Datumaro 사용 방법에 대해 알아보고자 한다

 

준비물 : 파이썬 otx 가상환경, 데이터셋, Annotation 메타 파일

 

1. dataset 준비

    - test 폴더 생성 > dataset 폴더 생성 > annotations과 images 폴더 생성

    - annotations 폴더에는 json 파일 하나

    - images 폴더에는 수집한 dataset

    - 나는 데이터셋 900개 어노테이션 1개, 이렇게 901개의 파일을 준비했다

 

2. 가상환경 준비 및 실행

# test 폴더에서 실행
python -m venv .otx
source .otx/bin/activate
python -m pip install -U pip
pip install wheel
pip install datumaro[default]

 

3. 프로젝트 생성

# test 폴더에서 실행
datum project create -o workspace

    - test 폴더에 workspace라는 이름으로 폴더를 생성함

 

- 폴더 내부는 .git으로 되어 있기 때문에 모든 작업을 생성한 폴더 내에서 진행하면 됨

 

4. 데이터 복사

# workspace 폴더에서 실행
datum source import -f coco -n source1 ../dataset/

    - source1 라는 폴더를 생성하고 해당 폴더에 workspace 폴더의 상위에 있는 dataset 폴더의 내용을 복사함

 

5. 데이터 쪼개기

# workspace 폴더에서 실행
datum transform -t split -- -t detection --subset train:.7 --subset val:.2 --subset test:.1

    - 데이터를 지정한 비율 만큼 train, val, test로 나눔

    - 폴더 내에 이미지 파일들과 어노테이션 파일들이 나뉜것을 확인할 수 있음

 

6. 데이터 추출

# workspace 폴더에서 실행
datum project export -f coco -- --save-media

    - 나뉜 파일을 토대로 OTX에 사용할 수 있게 데이터를 정리함

workspace 폴더에 export 폴더가 생성되고, 그 안에 분리된 데이터가 정리되어 있음

반응형

'머신러닝 & 딥러닝' 카테고리의 다른 글

[OpenVINO] OTX - Classification  (0) 2024.01.22
[OpenVINO] OTX - Detection  (0) 2024.01.21
[OpenVINO] CVAT  (1) 2024.01.19
AI 머신러닝에 대하여  (0) 2023.12.19