본문 바로가기
AI/딥러닝

[기술] 데이터 라벨링 툴 for Machine Learning [이미지만]

by 꼬바리 2021. 4. 15.

데이터 라벨링이란?

  • 데이터 라벨링 작업은 머신러닝이나 딥러닝 모델링 작업 전에 학습 데이터에 특정 값을 부여 해주는 것이다. 이는, AI 산업의 기본이기도 하지만, 기업의 AI 사업의 획기적 발전을 이루기 위한 핵심 요소로 인식된다.
  • 하지만, 사람이 일일이 하다 보니 비용이 많이 들고 시간이 오래 걸리는 작업이다
    - 
    첫째, 머신러닝을 위해서는 많은 양의 데이터가 필요한데, 이미지를 분류할  최소 수천, 수만 장의 이미지가 요구된다.
    - 
    둘째, 시간을 포함한 많은 비용이 든다.
    - 
    라벨링 작업자가 많아질수록 일관되고 정확한 라벨링 작업이 어려워진다.
  • 얼마나 어렵고 오래 걸리는 작업인지 보여주는 실제 사례: 영국 경제지 파이낸셜타임스(FT) "자율주행차 알고리즘이 도로 표지판 등을 학습하려면 수천 시간 분량의 라벨링된 운전 동영상이 필요하다" "1시간짜리 동영상에 라벨링하는  8시간이 걸린다" 했다. => 통상 AI 학습 시간의  80~90% 라벨링 작업이 차지하는 것으로 알려졌다.

데이터 라벨링 툴을 사용했을 , 이점은?(Advantage)

  • 인력, , 시간 모두 줄일  있다.
  • 일관된 데이터 퀄리티를 어느정도 보장할  있다.

이미지

 이름

설명

이미지

참고 링크

labelImg

- 유명한 이미지 라벨링  labelImg 이다.

- object detection 학습을 위해 영상에서 Bounding Box  지정하여 라벨링을 수행하고,  bounding box 정보들을 .xml  저장   있다.

- labelImg라는 Python  Pyqt 기반의 프로그램을 사용한다.

labelImg 

CVAT: Computer Vision Annotation Tool

- 컴퓨터 비전 알고리즘의 데이터 레이블을 지정하는  사용되는 무료 오픈 소스  기반 이미지  비디오 주석 도구이다.

- 웹 기반의 툴이고, 디지털 이미지와 동영상 레이블링에 쓰인다.
주로 object detection, image segmentation and image classification 위해 쓰인다.

- Computer vision data 
레이블링을 위한 광범위한 feature 보유하고 있다.

- CVAT
 데이터 레이블링에 다소 시간이 걸린다.

CVAT

LabelMe

- MIT 컴퓨터 과학  인공 지능 연구소에서 만든 프로젝트로 주석과 함께 디지털 이미지의 데이터 세트를 제공한다.

- 데이터 세트는 동적이며 사용이 자유롭고 대중에게 공개됩니다.

- 컴퓨터
 비전 연구에 적절하다.

- Rectangle 
뿐만 아니라 Polygon, Line, Point 다양한 형태의 도형을 labeling   있다.

- Classification, Segmentation 
 다양한 task labeling 지원한다.

- 다양한 기능을 가진 만큼 사용법을 익히기 위해 tutorial 통해 약간의 사용법을 익힐 필요가 있다.

labelme 

Labelbox

- Computer vision application 구축하기 위한 데이터 annotation에서 가장 빠른 툴로 인식된다.

- Labelbox artificial intelligence applications 만들기 위한 데이터 라벨링 툴이다.

- Labelbox 사용하면 사용자 지정 레이블 인터페이스를 사용할  있다.

- Labelbox 사용하면 이미지와 텍스트의 기본 레이블을 간단하게 만들  있지만, point clouds, maps, videos or medical DICOM imagery 같은 다양한 데이터 유형이 있으므로 맞춤형 레이블 인터페이스가 필요하다. 이를 위해 Labelbox 사용자 지정 레이블 프런트 엔드를 쉽게 작성, 설치  유지 관리   있도록 설계하는데 도움을 준다.

- labeling 결과를 csv, json 뿐만 아니라 일반적으로 많이 사용하는 데이터셋의 format(COCO, VOC, TFRecord) 등으로 export  있어서 사용 중인 코드가 만약 저러한 format input으로 사용하도록 짜여 있는 경우 별도의 변환 과정 없이 쉽게 사용이 가능하다는 장점이 있다.


- 웹을
 통해 데이터를 업로드하고 annotation 제작하는 방식이라 인터넷이 연결 되어있는 상황에서만 사용이 가능하며, 특히 데이터 보안 issue 존재하는 경우에는 사용하기 어려운 단점이 있다.

Labelbox

VoTT

- 데이터 셋을 제작하는데 end-to-end support 제공한다(자료처리 시스템 / 학습시스템에서 여러 단계의 필요한 처리과정을 한번에 처리합니다. , 데이터만 입력하고 원하는 목적을 학습시키는 것을 뜻한다.)

- 비디오와 이미지를 기반으로  객체 탐지 모델(Object Detection)  검증하는데 쓰인다.

- 마이크로 소프트가 개발

 

 

VoTT 

 imglab

- dllib(이미지 처리  기계 학습, 얼굴인식 등을   있는 c++  개발된 고성능의 라이브러리)이나 객체 탐지기를 학습시키기 위한 이미지 레이블링에 사용되는  기반의 툴이다. 

 

 

imglab 

YOLO Mark

- 이미지 안의 객체를 사각형 박스로 표시한 레이어 안의 데이터를 레이블링 하는 툴이다.

- 이는 Yolo v3  Yolo v2라는 Neural network 학습하는  쓰인다.

Yolo_mark 

PixelAnnotationTool

- 디렉토리 안의 이미지에 손으로 빨리 Data annotation 도와주는 소프트웨어이다

- OpenCV
에서는 마커 기반watershed 알고리즘을 기반으로 한다.

PixelAnnotationTool

OpenLabeling

- YOLO v2 포맷에  필요한 학습 데이터 세트를 만들기 위한 Open Source labeling tool

- Open CV 사용한 , SIFT Tracking algorithm 활용하여 라벨링 작업을  한다.

OpenLabeling 

imagetagger

- ImageTagger image labeling, verifying annotations, up- and downloading images/labels, managing users and teams, and the definition of image and label categories 같이 이미지 라벨링에 필요한 통합적 인터페이스들을  기반의 오픈소스 툴이다.

- 주소: https://imagetagger.bit-bots.de

imagetagger 
imagetagger_관련 참고 논문

Alturos.ImageAnnotation

- Neural Networks 위해 학습 데이터셋을 관리하는데 사용되고, 이미지들은 아마존의 S3 버킷과 같은 저장소에 저장이 된다.

- 서로 다른 특성을 가진 이미지에 일괄적으로 annotation하고 싶다면 Alturos.ImageAnnotation 내의 패키지에 태깅하고자 하는 태그값들을 설정하고, 이미지 데이터를 담은 폴더를  패키지에 업로드하면 된다. 이후의 데이터들은 데이터 베이스에 보관이 된다.

Alturos.ImageAnnotation 

DeepLabel

- 레이블링된 bounding box 이미지를 annotation하는 cross-platform tool 이다.

- use-case: 객체 담지 머신러닝 application 위한 ground truth data 라벨링하는 것이다.

 

 

- Windows, Linux and Mac에서 모두 적용할  있다.

deeplabel 

MedTagger

- 의료 데이터셋을 라벨링하고 축적하는데 도움이 되는 소프트웨어 환경을 조성하는데 쓰인다.

- 향후 새로운 데이터에 라벨링할때, 유용하게 사용될 데이터 셋을 만들기 위한 Validation작업도 해준다.

MedTagger 

Turktools

- Turktools Amazon Mechanical Turk 대한 언어 조사를 구성하는  도움이되는 무료 오픈 소스 도구이다.

- 이 도구를 사용하면 언어 문법 조사, 문장 완성 작업  사진 일치 작업을 포함한 광범위한 언어 작업 데이터셋을 만들  있다.

turktool 

 

Pixie

- Pixie 경계 상자, 다각형, 자유 그리기  시맨틱 분할 객체 레이블을 제공하는 GUI Annotation 도구이다.

 

Pixie 

OpenLabeler

- OpenLabeler 데이터에 정보를 Annotation 하기 위한 오픈 소스 응용 프로그램이다.

- 인공 지능   러닝 교육을 위해 PASCAL VOC 형식 XML 주석 파일을 생성할  있다.

- 이 오픈 소스의 특별한 점은 TensorFlow 같은 툴을 참고해서 정확성을 개선하고 Annotation 처리 속도를 높이는 기능이다.

OpenLabeler

Anno-Mage: A Semi Automatic Image Annotation Tool

- 사전 훈련  모델을 사용하여 80 개의 객체 클래스에 대한 Annotation 제안하여 이미지 라벨링을 도와주는 반자동 이미지 주석 도구이다.

- Keras TensrFlow 사용될  있다.

Anno-Mage 

CATMAID

  • 대량의 이미지 데이터를 위한 Annotation 도구이다.
  • CATMAID 사이트

활용사례

 



 

makesense.ai

- makesense.ai 사진 라벨링을 위해 무료 온라인 도구이다.

- 브라우저를 사용하기 때문에 복잡한 설치가 필요하지 않고, 운영 체제에서 실행을   있다.


- 소규모 컴퓨터 비전 딥러닝 프로젝트에 적합한데, 이를 위한 데이터 세트 준비 프로세스가 훨씬 쉽고 빠르게 하는데 도움이 된다.


- 
응용 프로그램은 TypeScript 작성되었으며 React / Redux duo 기반으로 한다.

make-sense 

LOST - Label Objects and Save Time

- LOST 특히 반자동 Annotation 파이프 라인을 모델링하여 Annotation 프로세스의 속도를 높이도록 설계하는데 도움이 된다.

- 여기서 사용되는 반자동 Annotation LOST 내부의 주석에 제시된 AI 생성 주석 제안을 사용하여 달성   있습니다.

- LOST사이트

 

 

 

LOST

annotorious

- 이미지 Annotation 위한 JavaScript 라이브러리를 제공하고,  줄의 코드만으로  페이지의 이미지에 그리기, 주석 달기  태그 지정 기능을 추가할  있다.

- 이
 프로젝트는 오래된 원본 Annotorious 현대적으로 재부팅  것이다.

 

Annotorious 

sloth

- 컴퓨터 비전 연구의 맥락에서 다양한 라벨링 작업을위한 다목적 도구를 제공한다.

- 다양한 레이블 형식과 요구 사항이 있기 때문에 모든 레이블 작업을 처리할  있는 하나의 레이블 도구 구축하는 것은 사실상 어렵다. 이를 해결하기 위해 Sloth 필요에 따라 레이블 도구를 신속하게 구성할  있는 프레임 워크  표준 구성 요소 집합이다.

Sloth  
       

이외의 이미지 라벨링 도구

 이름

이미지

참고링크

Diffgram 

- RCNN 교육을 통해 이미지 주석을 최적화하는 베타 버전의 유망한 플랫폼이다

링크

RectLabel

- 경계 상자와 다각형을위한 멋진 도구

- Mac 최적화되어 있다

링크

Prodigy 

- 경계 상자가있는 이미지 주석을 포함하여 다른 주석 인터페이스가있는 자체 호스팅 백엔드를 제공합니다.

링크

Fast Annotation Tool

- RotatedRect 형식의 경계 상자에 OpenCV 사용하는 다른 오픈 소스 도구

링크

PolygonRNN+

- Cityscapes 데이터 세트에 대해 훈련  도구는 강화 학습을 통해 자율 주행 차량을위한 자동 레이블을 생성한다.

링크

https://kdj1018.tistory.com/entry/%EA%B8%B0%EC%88%A0-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%9D%BC%EB%B2%A8%EB%A7%81-%ED%88%B4-for-Machine-Leraning
출처 / 텍스트나 음성 등 나머지 툴 

 

728x90
반응형

'AI > 딥러닝' 카테고리의 다른 글

DataSet, DataTable이란?  (0) 2021.06.04
GAN 동작 원리 (참고 링크)  (0) 2021.04.21
GAN의 종류와 발전  (0) 2021.04.13
GAN의 종류  (0) 2021.04.13
S2FGAN 개인 공부  (0) 2021.04.02

댓글