-
Labelling Tool) labelImg 사용법deep learning/프로젝트 2021. 12. 21. 01:09
우리가 지도학습을 하기 위해서는 이미지와 이에 해당하는 label들이 필요하다. 최근에는 labelling도 딥러닝으로 해주는 auto labelling이나 active learning에 관한 연구들도 많이 진행되고 있지만, 아직 나는 그정도 수준이 안되서 이번에 라벨링하는 툴의 사용법을 알아보고 추후에 auto labelling을 해볼 수 있도록 해봐야 겠다!
그래서 labelimg 프로그램은 https://github.com/tzutalin/labelImg 여기 github에 사용법이 업로드 되어 있다.
Installation
pip3 install labelImg labelImg Ubuntu Linux
Python 3 + Qt5
git clone https://github.com/heartexlabs/labelImg.git cd labelImg sudo apt-get install pyqt5-dev-tools sudo pip install -r requirements/requirements-linux-python3.txt make qt5py3 python labelImg.py # or python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] Windows (anconda 사용)
git clone https://github.com/heartexlabs/labelImg.git cd labelImg conda install pyqt=5 conda install -c anaconda lxml pyrcc5 -o libs/resources.py resources.qrc python labelImg.py # or python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] 설치 후 실행하게 된다면 아래와 같은 화면이 뜬다. (ubuntu)
opendir 을 클릭 하여 img가 있는 폴더를 선택한다.
change save dir을 클릭하여 라벨링 결과가 저장될 폴더를 선택한다.
라벨링 하기 전
한 이후 그렇게 된다면 위의 사진처럼 라벨링 했으면 그 동안 라벨링한 바운딩 박스가 나오고 아니라면 아무 처리도 하지 않은 사진이 나온다.
그리고 옆에 yolo나 pascalvoc 중에 어떤 format으로 저장할 지 선택할 수 있다.
pascalvoc 형식은 잘 모르겠지만
yolo는 처음에 class id의 number 그리고 바운딩 박스의 위치를 비율로 나타낸 4개의 파라미터로 저장하게 된다.
이제 w 키나 옆에 create rectbox를 클릭해 원하는 객체에 바운딩 박스를 그린다.
바운딩 박스를 그리면 위 창이 뜰텐데 class에 맞춰 class id를 선택하거나 입력한다.
또한, 위 class list들은 labelimg를 clone 해 온 폴더로 들어가 data/predefined_classes.txt 로 들어가 txt 파일 안에 있는 것들을 본인 class 순서로 바꿔주면 된다.
이후 계속해서 라벨링 하면 된다.
단축키는 아래와 같으니 참고하고 사용할 수 있다.
Ctrl + u Load all of the images from a directory Ctrl + r Change the default annotation target dir Ctrl + s Save Ctrl + d Copy the current label and rect box Ctrl + Shift + d Delete the current image Space Flag the current image as verified w Create a rect box d Next image a Previous image del Delete the selected rect box Ctrl++ Zoom in Ctrl-- Zoom out ↑→↓← Keyboard arrows to move selected rect box 이상 라벨링 툴에 대한 설명을 마치겠다.