ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [기술] 데이터 라벨링 툴 for Machine Learning
    데이터 분석 공부 2020. 6. 10. 18:31

    데이터 라벨링이란?

    • 데이터 라벨링 작업은 머신러닝이나 딥러닝 모델링 작업 전에 학습 데이터에 특정 값을 부여 해주는 것이다. 이는, 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

    활용사례

     



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

    링크

     

    Text

    이름

    설명

    이미지

    참고 링크

    YEDDA: A Lightweight Collaborative Text Span Annotation Tool

    - Text span annotation 대한 체계적인 솔루션을 제공합니다.(예시: collaborative user annotation, administrator evaluation and analysis)

    - 직접 텍스트에 주석을 매우 효율적인 short cut key 기능을 지원하는데, 이를 통해사용자는 텍스트 범위만 선택하고 short cut key 누르면 범위가 자동으로 Annotation 처리가 된다. 이는 기존의 annotation toole 낮은 효율성을 극복한 것이다.

    - Yedda 또한 최신 주석이 달린 텍스트를 학습하여 지능적인 권장 사항을 제공한다.

    YEDDA_참고 논문

    YEDDA

    ML-Annotate

    - 기계 학습 목적으로 텍스트 데이터에 레이블링을 서포트해준다.

    - ML-Annotate 이진, 다중 레이블 다중 클래스 레이블링을 하는데 도움이 된다.

    ML-Annotate 

    TagEditor(v2.2.4) annotation tool

    - TagEditor spaCy 라이브러리를 통해 텍스트에 주석을 달기 위해 설계된 데스크톱 응용 프로그램이다.

    - TagEditor 사용하면 종속성, 품사, 명명 엔터티, 텍스트 범주 참조 해상도를 레이블링 하는데 도움을 준다.

    사용 예시

    TagEditor 

    SMART

    - 지도학습을 위한 레이블링된 데이터셋을 Reseach하는데 도움이 된다.

    smart_documentation

    SMART

     

     

    이외의 Text data labeling open source

    이름

    설명

    참고링크

    Doccano 

    - 텍스트 분류, 시퀀스 레이블 시퀀스에서 시퀀스 작업에 대한 주석 기능을 제공한다.

    - 감정 분석, 명명 엔터티 인식, 텍스트 요약 등을위한 레이블이 지정된 데이터를 만들 있다.


    -
    프로젝트를 만들고 데이터를 업로드하고 주석을 달기 만하면 된다. 이를 통해, 시간 안에 데이터 세트를 구축 있다.

    링크

    Universal Data Tool

    - Universal Data Tool 이미지, 텍스트, 오디오, 문서를 편집하고 주석을 달고 확장 가능한 .udt.json .udt.csv 표준에 정의 데이터를보고 편집하기위한 / 데스크톱 앱이다

    링크

     

     

    Audio

    이름

    설명

    이미지

    참고 링크

    EchoML

    - Audio파일을 시각화하고 레이블링하게 해주는 도구이다.

    EchoML

    audio-annotator

    - 사용자가 오디오 녹음에 라벨링을 있는 인터페이스이다.

    - 3 가지 유형의 오디오 시각화:
    첫째, Invisible - 사용자가 영역을 그릴 수있는 사각형으로 나타남
    둘째, Spectrogram - 사용자가 특정 영역을 오디오 파일에 그릴 수있는 스펙트로 그램으로 표시됨
    셋째, Waveform - 사용자가 특정 오디오 파일 영역에 파형의 형태로 표시할 있음

    audio-annotator

    audio-labler

    - Docker Flask 사용하여 오디오 파일을 랜덤으로 레이블링할 있는 in-browser 도구이다.

    audio-labeler 

    wavesurfer.js 

    - Web Audio and Canvas 사용하여 오디오를 시각화하는 툴이다.

    wavesurfer.js

    peaks.js

    - Peaks.js HTML 캔버스 요소를 사용하여 파형을 다양한 확대 / 축소 수준으로 표시하며 파형보기를 사용자가 지정할 수있는 구성 옵션이 있다.

    - Peaks.js 사용하면 확대 / 축소 스크롤을 포함하여 파형보기와 상호 작용하며 활용할 있다.

    - 참조 음악 또는 음성과 다른 음악 트랙을 식별하는 내용을 나타내는 포인트 또는 세그먼트 마커를 만들 있다.

    - 브라우저상에서 오디오 파일을 파형의 형태로 시각화하고 라벨링할 있다.


     

    peak.js

    Praat: doing phonetics by computer

    - 스펙트로그램을 분석할 수있는 과학 도구이다.

    - Praat
    다른 방식으로 녹음 프로그램이나 오디오 파일로 녹음 소리를 읽을 있게 해준다.

    Praat

    aubio

    - 음성 신호에 annotation 정보를 추출하는데 사용되는 도구이다.

    Aubio 

     

    VIdeo

    이름

    설명

    이미지

    참고 링크

    UltimateLabeling

    - 통합 SOTA 검출기 추적기를 갖춘 Python 다목적 비디오 라벨링 GUI이다.

    PyQt5 사용하여 개발되었다.

    UltimateLabeling

    VATIC - Video Annotation Tool from Irvine, California

    Amazon Mechanical Turk에서 작동하는 컴퓨터 비전 연구를위한 온라인 비디오 Annotation 도구

    저렴한 대규모 비디오 데이터 세트를 구축하는 용이하다.

    VATIC

     

    Time Series

    이름

    설명

    이미지

    참고 링크

    Curve

    - 시계열 데이터에서 변칙이 보이는 부분을 라벨링하는데 도움을 주는 도구이다.

    Curve

    taganomaly

    - 다중 시계열 데이터에서 보이는 변칙을 탐지하고 라벨링해주는 도구

     

    사용 이미지

    TagAnomaly

    CrowdCurio Time Series Annotator Library

    - The CrowdCurio Time Series Annotation Library 활용하여 시계열 데이터에서 필요한 분류작업을 도와준다.

    time-series-annotator

    WDK

    - Wearables Development Toolkit (WDK) 웨어러블 기기에서 탐지되는 행동 인식 프로그램을 개발을 위한 효율화 작업에 쓰인다.

    추가 참고 자료

    WDK

     

     

    3D

    이름

    설명

    이미지

    참고 링크

    KNOSSOS

    - 3D 이미지 데이터의 시각화와 주석 작업을 위한 소프트웨어이다.

    -
    이는 신경의 형태 서로간의 연결성을 빨리 재구축하기 위해 개발됐다.

    주로 SBEM (Serial Block-Face Electron Microscopy)에서 생성 3D 전자 현미경 데이터에서 2 광자 초점 광학 현미경 데이터에 적용되는 형태를 재구성하는 주로 사용된다.

    knossos 사이트

    KNOSSOS

     

     

    Lidar

    이름

    설명

    이미지

    참고 링크

    Semantic Segmentation Editor

    AI 학습 데이터셋을 만들기 위한 기반의 라벨링 도구이다.

    • 이는 자율 주행 자동차를 위한 학습 데이터 셋을 만들기 위해 만들어졌다.
    • jpg, png, pcd형태의 이미지 파일 형태를 지원한다.

     

    semantic-segmentation-editor 

     

     

    MultiDomain

     

    이름

    설명

    이미지

    참고 링크

    Lable studio

    - 다양한 데이터 형태에 맞게 수정을 있는 데이터 라벨링 도구이다.

    <활용 범주>

    label-studio_참고 주소

    Label Studio

    Dataturks

    - 비디오, 이미지(classification, segmentation and labelling), 텍스트(full length document annotations for PDF, Doc, Text etc) 데이터를 라벨링하는 데에 End-to-End 서비스를 제공한다.

    활용 방법들

    Dataturks

     

    댓글 3

Designed by Tistory.