[Data Labeling] 2. Data Labeling Tool : CVAT

happy_quokka·2024년 1월 8일
1

자율주행 Perception

목록 보기
7/19

Data Labeling Tool

  • 이미지 데이터를 labeling하는 tool은 다양하다
  • 공개 tool : CVAT, labelme, labelmg

CVAT

  • CVAT는 3단계로 labeling을 구분한다
  • project > tasks > job
  • task는 object detection, segmentation 등으로 나눌 수 있다
  • job은 task가 가지고 있는 전체 이미지의 N개를 기준으로 만든다
  • task에서 만든 label을 job은 공유한다

CVAT 장점

  • CVAT는 사용하기 간단하고 편리하다
  • labeling 데이터 배포 시 다양한 포맷의 데이터로 변환이 가능하다
    : KITTI, Cityscape, YOLO 등 다양한 포맷이 존재한다

CVAT 설치

1. clone CVAT

$ git clone https://github.com/opencv/cvat
$ cd cvat

2. docker container 실행

$ docker compose up -d


CVAT 사용 방법

  • http://localhost:8080/auth/login 에 들어가서 CVAT 계정을 만들어야한다
  • 이때 google chrome에서만 CVAT를 지원하기 때문에 chrome에서 사이트로 들어가야한다

1. 계정만들기

2. project 만들기

  1. project 탭에서 creat a new project 클릭
  2. project 설정 후 submit & open 클릭
    • Name : project 이름
    • labels : class 이름과 색상을 지정해서 만들 수 있다
  3. project open 결과
    • label도 더 추가할 수 있다
    • 여기서 바로 tacks를 만들 수 있다

3. task 만들기

  1. creat a new task 클릭
  2. task 설정 후 submit & open 클릭
    • name : task 이름
    • labels : project 생성할 때 만들었던 label을 사용하기 때문에 따로 설정할 필요가 없다
    • select files : 이미지를 업로드하여 labeling 작업 가능
    • advanced configuration : 이미지 압축 등 세부 설정 가능
      - Sorting method : 파일 정렬
      - Image quality : 원본 이미지 파일 압축률, 100으로 하면 원본 그대로 사용
      - Segment size : job을 구분할 때 사용한다
  3. 결과
    • Segment size를 2로 설정했기 때문에 job이 2개가 생성되었다

project 생성 안하고 바로 task 만들기

  1. Tasks 탭에서 create a new task 클릭
  2. task 옵션 지정
  3. task 목록에서 확인할 수 있다

4. labeling

  • job을 클릭한다

object detection

  • 왼쪽의 사각형(Draw new rectangle)을 클릭한 후 원하는 object에 box를 그리면 된다
  • labeling이 끝나면 save 버튼을 눌러서 저장한다

segmentation

  • 왼쪽의 오각형(Draw new polygon)을 클릭한 후 원하는 space에 그리면 된다
  • 이전의 point를 취소하고 싶으면 마우스 오른쪽 버튼을 누르면된다
  • 다 선택했으면 N을 누르면 된다
  • alt키를 누르고 point를 선택하면 해당 point가 삭제된다
  • shift키를 누르고 point를 선택하면 그 위치부터 point를 추가할 수 있다 (이때 shift키를 쭉 누르고 있으면 point가 계속 추가되니 조심해야한다)

5. export

  1. menu -> export job dataset을 통해 다양한 포맷으로 export할 수 있다
  2. 원하는 format 선택 후 ok를 누르면 저장이 된다
    • object detection이기 때문에 kitti를 선택했다
    • segmentation은 cityscape로 선택했다

6. finish

  • annotation까지 저장했다면 menu -> finish the job을 눌러 종료한다

7. 데이터 확인

object detection

  • class
  • label : kitti dataset의 format에 맞게 잘 저장되었다

segmentation

  • gtfine

0개의 댓글