1. labelImg란
- labelImg는 이미지 주석 도구로, 개발자들이 객체 감지 모델을 학습하기 위해 이미지에
주석을 달 수 있도록 도와준느 프로그램이다. 이 프로그램은 영상 및 이미지 처리 작업에
많이 사용되며, 객체 감지 모델을 구축하는 데 필수적인 작업 중 하나이다.
2. labelImg 설치
https://github.com/tzutalin/labelImg
- 먼저 github에 들어가 Releases -> Binary v1.8.1을 클릭한다.
- windows_v 1.8.1.zip 파일을 다운로드 받는다.
- zip 파일을 풀면 data, labelImg 두 파일이 생성된다.
- data 안에는 txt 파일이 들어있는데 이 곳은 라벨링할 클래스명을 적어주면된다.
(ex. monkey)
- labelImg를 클릭하여 실행한다.
3. labelImg 사용법
- 프로그램 실행 시 첫 화면이다.
- 빨간 네모칸 안에 형식을 바꿀수 있는데 우리는 이미지를 라벨링해 YOLO에서 사용할
것이기 때문에 클릭하여 YOLO로 바꾸어 준다.
- PascalVOC로 라벨링 시 XML 파일로 생성 / YOLO로 라벨링시 txt 파일이 생성된다.
- 실수로 안바꾸면 재작업을 해야하니 꼭 바꿔주자.
- 형식이 YOLO로 바뀐 모습이다.
- Open Dir 버튼을 클릭해 이미지 파일이 저장되어 있는 폴더를 지정해준다.
- Change Save Dir 버튼을 클릭해 라벨링 된 txt파일 저장할 폴더를 지정해준다.
- 경로 설정을 완료하면 이미지 폴더에 있는 이미지가 보인다.
<단축키>
- 라벨링하면서 쓰는 단축키 4가지이다. 이 4가지만 알고 있어도 충분하다.
w 클릭 후 마우스 드래그 : 라벨링 범위 지정
a 버튼 : 이전 이미지로 이동
d 버튼 : 다음 이미지로 이동
ctrl + s : 저장하기
- 라벨링 범위를 지정한 모습이다.
- 여기서 Save 버튼을 클릭하거나, ctrl + s를 클릭해 저장해준다.
- 간혹 저장 시 에러가 나는 이미지들이 있는데 그런 이미지들은 그냥 포기하고 넘어가준다.
- 라벨링이 완료된 후 생성된 txt 파일이다.
- 맨 앞 숫자 0은 각 클래스를 숫자로 지정해준다.
- 그 뒤로 나오는 숫자 4개는 객체의 경계 상자 정보이다.
- 일반적으로 (x_min, y_min, x_max, y_max) 형식으로 표현되며, 이는 경계 상자가 왼쪽 위
모서리의 (x_min, y_min) 좌표와 오른쪽 아래 모서리의 (x_max, y_max) 좌표로 정의된다.
지금까지 labelImg 프로그램으로 이미지 라벨링 하는법을 알아보았다.
이렇게 작업한 이미지와 라벨링한 txt을 YOLOv7을 활용해 이미지 분석이 가능하다.
'Python > 이미지 처리' 카테고리의 다른 글
[Python] 이미지 데이터셋 수집 방법 3가지 (0) | 2023.07.10 |
---|---|
[Python] YOLOv7을 활용한 이미지 분석 (0) | 2023.07.10 |