상세 컨텐츠

본문 제목

yolov5 class 한글 폰트 적용

정리_모음

by go_ra_ni 2022. 4. 9. 21:42

본문

728x90

yolov5를 사용할 때 클래스 이름을 영어로 적어야 하는 불편함이 있다.

 

현재 한식 검출 모델을 만들고 있기 때문에 한글 폰트 적용방법을 정리하고자 한다.

 

 

기본 환경:

1. git clone https://github.com/ultralytics/yolov5.git

yolov5 폴더를 받은 상태에서 진행한다.

 

2. 한글 폰트 다운

한글을 적용하기 위해서는 인터넷에서 폰트를 다운받는 것이 편하다. 나는 

https://noonnu.cc/

 

눈누

상업용 무료한글폰트 사이트

noonnu.cc

여기 사이트에서 무료 폰트를 사용했다.

~~~.ttf 파일이 폰트 파일이다.

 

 

 

3. 이제부터 코드 수정을 해보자

 

yolov5/detect.py

170번째 언저리 코드를 보면 save_img 부분이 있다.

주석 부분에 코드를 추가할 것이다.

자신이 사용할 data.yaml 파일의 names = ['dog', 'cat'] 형태처럼 한글로 리스트를 만들자

ex)

names = ['강아지', '고양이']

! 중요한 건 순서를 똑같이 맞춰야한다.

기존 1번째가 dog이면 매칭되는 강아지가 리스트의 1번에 똑같이 와야한다.

 

 

나의 경우 array변수에 리스트를 넣었다.  

바로 다음 줄의 label = ~~코드를 수정한다.

윗줄 코드의 names 부분을 array로 변경한다.

 

 

 

 

 

 

다음으로 box_label 메소드를 찾아간다.

 

yolov5/utils/plots.py

파일의 box_label 메소드를 찾아보자

 

주석 표기한 부분에 코드를 추가할 것이다.

 

 

 

박스를 그린 뒤 코드를 수정해야 오류가 나지 않았다.  - 아주 오랜시간 해맴..

아래 표기한 부분에 사전 형태로 한글을 적고 폰트를 적용시킬 것이다.

 

 

 

 

먼저 폰트 파일을 적용시킨다. 디렉토리 안에 다운받은 폰트파일이 있어야한다.

 

보이는 기존 self.font 부분은 2개이다. 이 부분을 fontt로 변경하자

 

 

마지막으로 Annotator 클래스를 찾아가자

yolov5/utils/plots.py

box_label 메소드 조금 위쪽에 있다.

 

드래그한 2줄을 아래 else문에 복사 붙여넣기 하자

 

한글 폰트가 적용된 모습이다.

-22년 4월 9일 기준

728x90

'정리_모음' 카테고리의 다른 글

photon GameObject 위치 이동 potal 사용법  (0) 2022.08.17
photon bulid 창과 unity 내부 game씬 동기화 문제  (0) 2022.08.16
CSS 정리  (0) 2021.08.09
HTML 태그 정리  (0) 2021.08.04
express정리  (0) 2021.07.29

관련글 더보기