yolov5를 사용할 때 클래스 이름을 영어로 적어야 하는 불편함이 있다.
현재 한식 검출 모델을 만들고 있기 때문에 한글 폰트 적용방법을 정리하고자 한다.
기본 환경:
1. git clone https://github.com/ultralytics/yolov5.git
yolov5 폴더를 받은 상태에서 진행한다.
2. 한글 폰트 다운
한글을 적용하기 위해서는 인터넷에서 폰트를 다운받는 것이 편하다. 나는
눈누
상업용 무료한글폰트 사이트
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일 기준
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 |