labelimg tool 사용하기
코딩과 관련된 첫 글이다.
블로그를 개설하고 꾸준한 업로드를 다짐했지만 처음부터 그르치고 말았다.
하지만 마냥 놀던 것은 아니고 전처리 아르바이트를 하는 중이었다.
이걸 하면서 하루에 알고리즘 문제 1개라도 업로드할 시간이 부족했다는 건 핑곗거리도 될 수 없지만,
했던 일 중 사용했던 labelimg tool을 소개하며 첫 포스팅을 하려고 한다.
1. Github 주소
https://github.com/tzutalin/labelImg
GitHub - tzutalin/labelImg: 🖍️ LabelImg is a graphical image annotation tool and label object bounding boxes in images
🖍️ LabelImg is a graphical image annotation tool and label object bounding boxes in images - GitHub - tzutalin/labelImg: 🖍️ LabelImg is a graphical image annotation tool and label object bounding b...
github.com
labelimg tool의 코드와 사용방법이 모두 친절하게 설명되어 있다. 각 환경에 맞는 버전을 다운로드 받아 사용하면 큰 문제없이 tool을 이용할 수 있다.
2.에러 및 주의할 내용
나는 깃허브 사용방법조차 익숙하지 않았기에 코드를 일일히 적으며 resources.qrc파일이 없다는 등 에러를 맞닥뜨렸지만 zip 파일을 다운로드 받으면 에러가 뜰 일 없이 손쉽게 해결이 된다.
두번째로는 TypeError: unsupported operand type(s) for ^: 'DockWidgetFeatures' and 'DockWidgetFeatures' 라는 에러를 맞닥뜨렸다. 요약하자면 파이썬 버전의 문제이다. 최신 버전으로 갈수록 기능이 향상만 되었으면 좋겠는데, 아예 기능을 없애버리는 경우가 많아서 나는 환경설정이 제일 귀찮다. 하지만 이 문제의 경우 가상환경의 버전만 따로 지정해주면 된다.따라서 conda create -n fish python=3.8를 통해 fish라는 이름의 파이썬 버전은 3.8인 가상환경을 만들어 해결해주면 된다.
마지막으로 세번째. 두번째까지 모든게 끝이 났다면 설치가 완료되었을 것이다. 라벨링 툴을 사용하려면 각 이미지 파일에 맞는 클래스가 정해져 있어야 한다. labelimg 파일에 들어가서 data파일로 들어간 후 predefined_classes라는 텍스트 파일을 확인할 수 있다. 이 텍스트 파일의 내용을 준비해둔 이미지들의 순서에 맞게 내용을 하나씩 세로로 바꿔주면 된다.
이것을 하지 않으면 라벨링 툴이 제대로 돌아가지 않고 작동 시 꺼지므로 필수적인 내용이다.
3.환경설정
1)이미지 준비
2)가상환경 생성
3)라벨링!
먼저 라벨링을 할 이미지를 준비한다. 그 다음 가상환경을 생성한다. conda create -n fish python=3.8를 통해 생성할 수 있다. 가상환경을 생성했으면 anaconda prompt에서 라벨링 창을 띄우면 된다.
3문장으로 간단하게 라벨링 창을 활성화시킬 수 있다.
1)먼저 conda activate fish를 통해 fish라는 가상환경으로 접속한다.
2)두번째로 나의 위치를 cd 명령어를 통해 바꾸어준다. 바탕환경인 Desktop의 crawling 폴더로 들어가 그 속에 labelimg라는 폴더로 들어가는 것이다.
3)labelimg폴더에는 labelimg라는 파이썬 파일이 존재하고 그것을 활성화시키기 위해서는 python labelimg.py 를 사용할 수 있다.
위 1,2번째 문장을 각각 본인의 환경에 맞게 바꾸어주면 된다.
이것이 완료되면 라벨링 창이 뜨고 라벨링을 진행해주면 된다!
이렇게 뜬 초기화면에 왼쪽의 open Dir을 통해 이미지가 담긴 폴더를 선택하고,
Change Save Dir을 통해 라벨링 결과를 저장할 폴더를 선택한다.
그리고 저장 형태를 설정할 수 있는데 나는 yolo로 저장하였다.
그 다음 오른쪽 상단에 use default label을 체크하고 다룰 클래스를 선택하면 라벨링과 동시에 자동으로 해당 클래스로 인식된다.
마지막으로 상단의 바에서 view를 눌러 Auto Save Mode를 활성화 시켜주면 자동으로 저장이 된다.
여기까지가 labelimg tool을 사용하는 모든 것이다. 환경설정이란게 처음이 막막하지만 1번만 해봐도 바로 다시할 수 있을만큼 간단하다는 걸 다시금 깨닫는다. 이렇게 서투르지만 첫 포스팅을 마무리하겠다!