본인은 로컬에서 학습시키다가 너무 오래 걸려서 colab으로 학습시켰지만 방법은 같음
classes: 학습시킬 클래스 갯수
train: 학습용 이미지들의 경로가 적혀있는 텍스트 파일
valid: 검증용 이미지들의 경로가 적혀있는 텍스트 파일 (본인은 생략)
(이미지 폴더에는 각 이미지마다 YOLO 라벨 텍스트가 존재해야함)
names: 클래스 이름이 적힌 파일
backup: 가중치 파일들이 저장될 폴더
본인은 colab을 통해 학습했기 때문에 이미지들의 경로가 아래와 같음
아래 파이썬 코드를 이용하면 custom.txt를 쉽게 생성할 수 있음
import glob
# 대상 폴더
image_directory = "C:/Users/asdfr/Pictures/Saved Pictures/pose/"
# 확장자
extension = "*.jpg"
# 텍스트 파일이 저장될 경로
save_at = "C:/Users/asdfr/darknet/build/darknet/x64/pose/custom.txt"
# 대상 폴더에서 지정한 확장자를 가진 파일들의 경로를 리스트화
files = sorted(glob.glob(image_directory + extension))
# 파일들의 경로를 텍스트 파일에 추가 및 출력
for file in files:
f = open(save_at, 'a')
f.write(file + "\n")
print(file)
cfg파일은 darknet에서 제공하는 yolov4-custom.cfg를 복사 후 수정하여 사용함
batch = 64
subdivisions = 16 (GPU 메모리에 따라 32, 64로 수정 가능)
width = 416
height = 416 (너비, 높이 또한 GPU 메모리에 따라 32의 배수로 수정 가능 ex. 224, 320, 608)
max_batches = 클래스 갯수 * 2000
steps = max_batches * 0.8, max_batches * 0.9
나머지는 건드리지 않음
3개의 [yolo]레이어의 classes와 [convolutional]레이어의 filters를 수정
classes = 클래스 갯수
filters = (클래스 갯수 + 4 + 1) * 3
학습된 가중치 파일(yolov4.conv.137) 다운로드 후 darknet.exe와 같은 디렉터리에 저장
github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.conv.137
마지막으로 darknet.exe가 설치된 폴더에서 파워쉘을 열어 아래 명령어를 입력하여 학습 실행
.\darknet.exe detector train pose/custom.data pose/yolov4-custom.cfg yolov4.conv.137
만약 PSSecurityException 오류가 발생한다면 아래 명령어를 입력 후 다시 실행
Set-ExecutionPolicy RemoteSigned
'윈도우' 카테고리의 다른 글
[윈도우] SSH 비밀번호 없이 접속 (0) | 2021.07.20 |
---|---|
[윈도우] 한글 형태소 분석기 MeCab(eunjeon) 설치하기 (0) | 2020.09.09 |
[윈도우] Darknet 설치 (0) | 2020.08.11 |
[윈도우] NVDIA CUDA 및 cuDNN 설치 (1) | 2020.08.03 |
[윈도우] CMake를 이용하여 opencv, opencv_contrib, cuda, eigen 빌드 (1) | 2020.07.30 |