YOLO에 사용할 학습데이터를 생성하기 위해서는 라벨링 도구가 필요합니다.
정확히는 모르겠으나, darkflow는 LabelImg라는 것을 사용합니다.
LabelImg
이미지를 라벨링 하는 도구
설치 방법
저는 맥으로 진행할건데 윈도우로 까실 분은 여기를 참고하세요
저는 안해봐서 되는지는 모르겠습니다
Window
LabelImg를 이용해 나만의 커스텀 Object Detection 데이터셋 만들기
추가 ) 이거말고 아래꺼가 잘된다고 합니다.
+) 추가
이걸로 설치하고 오류나면 두번째 블로그로 해결을 참고하세요
정확한건 제가 안해봐서 모르겠네요 동기가 준 정보입니다
labelImg 설치법 (Windows 10 Anaconda+Python3.6)
MacOS
//가상환경 만들기 (선택사항)
python3 -m venv tutorial-env
//가상환경 실행
source tutorial-env/bin/activate
git clone https://github.com/tzutalin/labelImg.git
brew install qt qt5
brew install libxml2
brew install pyqt5
cd labelImg
make qt5py3
//실행
python3 labelImg.py
terminal / iTerm에 다음과 같이 따라하면됩니다.
근데 저는 실수인지 뭔지 (기억이 안남) 로컬에 설치해버려서
가상환경을 실행하지 않고
cd labelImg
make qt5py3
//실행
python3 labelImg.py
이렇게만 해도 됩니다
물론 git clone은 해야합니다
정상 설치 + 실행 시 화면
정상적으로 설치가 완료되면 다음 실행 명령어에 이와같은 창이 뜹니다
물론 이 귀여운 강아지 사진은 없습니다... 이름: 삼돌이
학습데이터를 만드는 방법은 다음과 같습니다.
라벨링 하는 방법
클래스 지정
자신이 학습시킬 라벨이름(클래스)를 지정해줍니다.
저는 다음과 같이 할거라서 일단 이렇게 지정했습니다.
클래스 목록
- sn_sw : "수능 완성"의 고유번호(serial number)
- pn_sw : "수능 완성"의 문제번호(problem number)
- spn : "교육청/평가원" 고유번호인 동시에 문제번호
- mc_1 : 객관식(multiple choices) 1번
- mc_2 : 객관식(multiple choices) 2번
- mc_3 : 객관식(multiple choices) 3번
- mc_4 : 객관식(multiple choices) 4번
- mc_5 : 객관식(multiple choices) 5번
- 주관식은... 손글씨 + 아이패드로 학습데이터를 만들어야 해서 ... 아직 미정
클래스를 지정 목록으로 변경
labelImg > data > predefined_classes.txt 파일 수정
입력내용
sn_sw
pn_sw
spn
mc_1
mc_2
mc_3
mc_4
mc_5
다음과 같이 파일을 수정해 줍니다.
라벨링 하려는 이미지가 담긴 폴더 생성
정확한 정보는 아니지만.. 일단 한 폴더에 넣어서 학습을 시키는데
이름이 겹치면 곤란하므로 폴더가 여러개일 경우 파일명을 다르게 하여 하나로 모았을 때 겹치지 않게 설정해줍니다.
저는 여러가지가 필요해서 이렇게 만들었습니다.
라벨링 하려는 이미지 목록
sw_PDF- 수능완성 pdf version (우리가 자른 final)
sw_PDF_scan- 수능완성 pdf → scan 화 한 버전
pyeonga_PDF- 평가원 pdf version
- pyeonga_PDF_scan
- 평가원 pdf → scan화 한 버전
gyoyuk_PDF- 교육청 pdf version
- gyoyuk_PDF_scan
- 교육청 pdf → scan화 한 버전
- sw/pyeonga/gyoyuk_Camera_scan
- (수완/평가/교육) 실제 출력 후 사진 스캐너 앱으로 스캔한 버전
- sw/pyeonga/gyoyuk_Camera_original
- (수완/평가/교육) 실제 출력 후 그냥 사진 찍은 버전
→ 폴더이름(sw_PDF)
→사진들 이름(sw_PDF1,sw_PDF2 ... )
이름을 겹치지 않게 하려고 그런것 각자 알아서 지정하시오
LabelImg에 사진 불러오기
OpenDir → 자기가 만든 폴더 클릭해서 열기
라벨링 하기
사진1번부터 끝까지 라벨링하기
노가다의 시간입니다.
바운딩 박스 생성한 다음에 클래스 이름 붙이기
단축키를 사용하시면 좀 더 빠르게 할 수 있습니다.
//단축키 모음
w : Bounding box생성
d : 다음 이미지로 넘어가기
a : 이전 이미지로 넘어가기
이런식으로 모든 파일을 라벨링하면 됩니다
'졸업프로젝트 > YOLO' 카테고리의 다른 글
[YOLO] Darknet 공식문서 번역 (0) | 2021.03.08 |
---|---|
[YOLO]OpenCV를 이용한 YOLO (0) | 2021.03.07 |
[Window10] YOLO Darkflow 설치하기 (1) | 2021.02.15 |
사전조사2 (0) | 2021.02.10 |
사전조사 내용 (0) | 2021.02.10 |