
서론: LabelImg란?
LabelImg는 오픈소스 이미지 데이터 라벨링 도구로, 바운딩 박스(Bounding Box) 기반의 라벨링을 손쉽게 수행할 수 있도록 설계되었습니다. 이 도구는 주로 컴퓨터 비전 프로젝트에서 이미지 데이터를 학습 데이터로 변환하기 위해 사용됩니다. YOLO, TensorFlow Object Detection API, PASCAL VOC 포맷 등 다양한 데이터 형식을 지원하여 객체 탐지(Object Detection) 모델을 위한 데이터 준비에 적합합니다.
이 글에서는 LabelImg 설치부터 기본 사용법, 그리고 효율적인 라벨링 팁까지 단계별로 설명합니다.
목차
- LabelImg 주요 특징
- LabelImg 설치 방법
- LabelImg 기본 사용법
- 3.1 데이터셋 불러오기
- 3.2 바운딩 박스 그리기
- 3.3 라벨 추가 및 수정
- 3.4 저장 및 데이터 형식 설정
- LabelImg 라벨링 팁과 주의사항
- 결론
1. LabelImg 주요 특징
- 오픈소스: LabelImg는 무료로 사용할 수 있는 오픈소스 도구로, 다양한 운영체제에서 동작합니다.
- 포맷 지원: PASCAL VOC(XML)와 YOLO(txt) 포맷을 기본으로 지원.
- 사용자 친화적 인터페이스: 간단하고 직관적인 GUI를 통해 초보자도 쉽게 라벨링 가능.
- 단축키 제공: 빠른 작업을 위한 다양한 단축키 지원.
- 다중 언어 지원: 영어, 중국어 등 다국어를 지원하여 글로벌 사용자 기반을 갖춤.
2. LabelImg 설치 방법
LabelImg는 Windows, macOS, Linux 환경에서 사용할 수 있으며, Python을 사용해 설치할 수 있습니다.
2.1 요구 사항
- Python 3.7 이상
- pip 패키지 관리자
2.2 설치 절차 (Python 기반)
- LabelImg 소스코드 다운로드bash코드 복사
git clone https://github.com/heartexlabs/labelImg.git cd labelImg
- 필수 라이브러리 설치bash코드 복사
pip install -r requirements/requirements-linux-python.txt # Linux pip install -r requirements/requirements-windows-python.txt # Windows
- LabelImg 실행bash코드 복사
python labelImg.py
2.3 Windows 환경에서 실행
Windows 사용자는 사전 빌드된 실행 파일을 사용할 수 있습니다:
- LabelImg GitHub에서 Windows용 실행 파일 다운로드.
- 다운로드한 파일을 실행하면 설치 없이 바로 사용 가능.
2.4 macOS 설치
- Homebrew를 사용해 PyQt5 설치:bash코드 복사
brew install qt brew install pyqt
- LabelImg 실행:bash코드 복사
python labelImg.py
3. LabelImg 기본 사용법
LabelImg는 직관적인 사용자 인터페이스를 제공하며, 다음과 같은 작업을 통해 데이터를 라벨링할 수 있습니다.
3.1 데이터셋 불러오기
- LabelImg 실행
설치 후 LabelImg를 실행하면 기본 UI가 표시됩니다. - 이미지 폴더 선택
- 상단 메뉴에서 “Open Dir” 버튼을 클릭.
- 라벨링할 이미지가 있는 폴더를 선택.
- 저장 폴더 설정
- “Change Save Dir” 버튼을 클릭하여 라벨링된 데이터(XML 또는 txt 파일)의 저장 경로를 설정.
3.2 바운딩 박스 그리기
- 이미지 선택
- 좌측 파일 탐색기에서 라벨링할 이미지를 선택.
- 바운딩 박스 생성
- 마우스를 드래그하여 객체를 감싸는 **사각형(바운딩 박스)**을 생성.
- 생성된 박스는 빨간색 테두리로 표시됩니다.
- 객체 이름 입력
- 바운딩 박스를 생성하면 라벨 이름을 입력하는 창이 나타남.
- 객체의 이름(예: car, dog, person)을 입력하고 OK를 클릭.
3.3 라벨 추가 및 수정
- 라벨 추가
- 여러 객체를 라벨링하려면 위 단계를 반복하여 추가 바운딩 박스를 생성.
- 각 바운딩 박스에 고유한 라벨을 입력.
- 라벨 수정
- 기존 바운딩 박스를 선택한 후, 우클릭하여 라벨 이름 변경 가능.
- 바운딩 박스 크기 조정도 가능(마우스로 박스의 모서리를 드래그).
3.4 저장 및 데이터 형식 설정
- XML(PASCAL VOC) 또는 txt(YOLO) 저장
- 상단 메뉴에서 “Save” 또는 Ctrl + S를 눌러 라벨링 결과를 저장.
- 기본 저장 형식은 PASCAL VOC(XML)이며, YOLO(txt) 형식을 사용하려면 설정을 변경해야 합니다.
- YOLO 형식 설정
- 상단 메뉴에서 “View” > “Advanced Settings” 선택.
- “YOLO” 옵션을 활성화하면 이후 저장되는 데이터는 txt 형식으로 저장됩니다.
4. LabelImg 라벨링 팁과 주의사항
4.1 라벨링 작업 효율화
- 단축키 사용
- 빠른 작업을 위해 LabelImg는 여러 단축키를 제공합니다.
w
: 바운딩 박스 그리기 모드.Ctrl + S
: 작업 저장.d
: 다음 이미지.a
: 이전 이미지.
- 빠른 작업을 위해 LabelImg는 여러 단축키를 제공합니다.
- 라벨 이름 자동 완성
- 동일한 객체가 자주 등장하는 경우, 라벨 이름이 자동 완성되므로 작업 속도가 빨라짐.
- 기본 라벨 설정
- “Default Label” 기능을 사용하여 동일한 라벨을 반복적으로 입력할 필요를 줄일 수 있음.
4.2 주의사항
- 정확한 바운딩 박스 생성
- 객체를 최대한 정확하게 감싸도록 바운딩 박스를 생성하여 모델 학습 데이터의 품질을 유지.
- 데이터 형식 통일
- 프로젝트에 따라 PASCAL VOC 또는 YOLO 형식을 선택하고 일관되게 저장.
- 정기 저장
- 작업 도중 예기치 않은 종료를 방지하기 위해 주기적으로 저장(Ctrl + S).
5. 결론
LabelImg는 간단하면서도 강력한 바운딩 박스 기반 이미지 라벨링 도구로, 컴퓨터 비전 프로젝트에서 학습 데이터 준비에 필수적입니다. 직관적인 UI와 단축키 기능 덕분에 초보자도 쉽게 사용할 수 있으며, PASCAL VOC와 YOLO 형식을 지원하여 다양한 객체 탐지 모델과 호환됩니다.
라벨링 작업의 정확성과 효율성을 높이기 위해 단축키 활용, 정확한 바운딩 박스 생성, 데이터 저장 형식 통일을 유념하세요. LabelImg는 프로젝트 규모에 관계없이 데이터 준비 시간을 줄이고, 높은 품질의 학습 데이터를 생성하는 데 큰 도움이 될 것입니다.
링크: LabelImg GitHub
성공적인 라벨링 작업을 기원합니다! 🚀
2930 Blog에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.