본문 바로가기

졸업프로젝트/YOLO

[YOLOdarkflow] Image Labeling

728x90

 

YOLO에 사용할 학습데이터를 생성하기 위해서는 라벨링 도구가 필요합니다.

정확히는 모르겠으나,  darkflow는 LabelImg라는 것을 사용합니다.

 

 

 

LabelImg

이미지를 라벨링 하는 도구

 

 

 

설치 방법

 

저는 맥으로 진행할건데 윈도우로 까실 분은 여기를 참고하세요

저는 안해봐서 되는지는 모르겠습니다

 

Window 

LabelImg를 이용해 나만의 커스텀 Object Detection 데이터셋 만들기

 

LabelImg를 이용해 나만의 커스텀 Object Detection 데이터셋 만들기

일반적으로 Object Detection은 바운딩 박스(Bounding Box)를 찾는 과제를 의미한다. 이때 자신만의 커스텀 데이터셋을 만드는 경우 LabelImg를 이용할 수 있다. 사진을 한 장씩 올려서 직접 사각형 바운딩

ndb796.tistory.com

추가 ) 이거말고 아래꺼가 잘된다고 합니다.

 

 

+) 추가 

이걸로 설치하고 오류나면 두번째 블로그로 해결을 참고하세요

정확한건 제가 안해봐서 모르겠네요 동기가 준 정보입니다

labelImg 설치법 (Windows 10 Anaconda+Python3.6)

 

labelImg 설치법 (Windows 10 Anaconda+Python3.6)

확실한 방법은 아니는데 저도 Trial and Error을 통해 설치 했습니다. 과정을 설명 해 드리겠습니다. 일...

blog.naver.com

labelImg 윈도우 설치오류 해결 방법

 

labelImg 윈도우 설치오류 해결 방법

https://github.com/tzutalin/labelImg Windows Install Python3, pip install PyQt5 and pip install lxml. Open cmd and go to the labelImg directory pyrcc5 -o libs/resources.py resources.qrc pytho..

swconsulting.tistory.com

 

 

 

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 : 이전 이미지로 넘어가기

 

 

 

이런식으로 모든 파일을 라벨링하면 됩니다

 

728x90

'졸업프로젝트 > 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