DEEP.I - Lab

오프라인 공간의 지능화를 꿈꾸는 딥아이 연구실입니다.

Python/Python

[YOLO] 객체 탐지 알고리즘 학습을 위한 이미지 데이터 라벨링 #3 YOLO 라벨링 프로그램

Jongwon Kim 2020. 12. 2. 02:08
반응형

이미지나 영상에서 객체를 지능적으로 찾기 위해 제안된 객체 탐지 알고리즘은 RCNN 계열과 더불어 SDD와 YOLO 등 다양한 기법으로 파생되고 있습니다. 하지만 아직까지 실제 현업 application 단계에서의 실용성과 효율성 문제, 구현 난이도로 인해 YOLO가 압도적으로 활용되고 있는 것 같습니다. 이번 포스팅에서는 YOLO 학습을 위한 데이터 라벨링 프로그램 하나를 소개하려 합니다.

 

github.com/developer0hye/Yolo_Label

 

developer0hye/Yolo_Label

GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2 https://github.com/AlexeyAB/darknet, https://github.com/pjreddie/darknet - developer0hye/Yolo_Label

github.com

소개하려고 보니 한국분이시네요. 상당히 재미있고 유쾌하신 분인 것 같습니다. 기존 라벨링 업무의 지루함과 불편함을 해소하기 위해 제작하셨다고 합니다. 원문을 읽고 사용법을 익히셔도 될 정도로 직관적이고 쉬운 프로그램입니다.

 

0. 설치하기

 

윈도 환경을 기준으로 작성하도록 하겠습니다. 제작자 링크 또는 여기를 통해 다운로드하시면 됩니다. 설치 후 YoloLabel.exe를 실행하면 준비 끝입니다. 

 

1. 데이터 및 라벨 구축

 

그림 1. 기본 실행 화면

최근 유행하는 레트로 감성이 라벨링 업무까지 전해졌습니다. 좌측 하단의 Open Files를 클릭 후, 이미지 데이터가 포함되어있는 폴더 경로를 지정해주세요. 이미지 개수 대비 로딩도 상당히 빠른 편입니다.

 

 

그림 2. 라벨 파일 (txt 또는 names 파일)

 

 

이후, 목표하는 분류 라벨 정보가 있는 텍스트 파일을 지정해주어야 합니다. txt나 names 상관없지만 일반적으로 학습과 구현 단계에서 names를 사용하니 혼돈이 없도록 후자의 형식으로 텍스트 파일 확장자를 변경해서 사용하시길 바랍니다.

 

라벨은 간단합니다. 목표하는 라벨을 그림 2와 같이 한 라인에 한 개씩 지정해주면 됩니다. 한글까지 지원되니 라벨링을 좀 더? 수월하게 하 실 수 있습니다.

 

 

주의 : 데이터 폴더와 라벨 파일의 경로에 공백이 없도록 해주세요. 예를 들어

지정된 경로의 폴더명이 '데이터 파일'이 아닌 '데이터_파일'로 변경해주시길 바랍니다.

 

 

그림 3. 좀 덜 지루한? 라벨링 작업의 시작

 

정상적으로 실행이 되었다면, 데이터 이미지와 우측의 라벨 정보가 표현됩니다. 십자선이 뚜렷하고 단축키가 잘 구성되어있어 라벨링 작업이 상당히 편리해집니다.

 

 

기본 단축키 및 마우스 동작

 

  • [키보드 상단 숫자키] `부터 0번까지 라벨링 인덱스 변경
  • [스페이스바 및 마우스 휠] : 현재 이미지 라벨 저장 후 다음 이미지로 이동
  • [객체의 경계 상자 내부에서 마우스 우측 버튼] : 객체 삭제

라벨링 업무가 쉽다고 빠르게만 하시지 말고, 중간 중간 저장이 잘 되는지, 놓친 이미지는 없는지 꼭 꼭 확인하시길 바랍니다. 

 

 

 

# 머신러닝 프로젝트 제작 및 상담 / 머신러닝 접목 졸업작품 상담

# 데이터 가공, 수집, 라벨링 작업 / C, 파이썬 프로그램 제작

# email : deepi.contact.us@gmail.com

# site : www.deep-i.net

 

 

 

반응형