custom 데이터를 이용하여 YOLO를 학습하기 위한 방법 정리.
(일단 뼈대 작성 해놓고 내용은 차차 수정하자)
1. github 에서 darknet 코드를 다운로드 받는다.
1.1 CUDA 설치
1.2 CUDNN 설치
1.3 OPENCV 설치
2. MakeFile 수정
GPU사용여부 설정
OPENCV 사용여부 설정
GPU architecture 버전 맞추기
3. darknet make
4. training sample 만들기
이미지 한장당 txt파일로 gt 하나.
최종 결과물은 [클래스index] [x_r] [y_r] [w_r] [h_r] 의 형태.
x,y는 좌상단 좌표가 아닌 ROI의 중심좌표.
x, y, w, h 모두 영상의 크기를 이용하여 0~1로 정규화 한 값 이용
참고 - tagging tool, converter
5. train list 만들기
이미지는 images 폴더에, GT는 labels 폴더에 넣고 images
폴더 내 파일의 절대경로를 지정하여 list로 만들기
6. data & names 파일 만들기
학습 데이터에 관련된 정보 설정
data 파일에 클래스 개수, train list path, backup path 등 설정
names 파일에 label 설정
7. cfg 파일 수정
batch, subdivisions 값 설정 (나머지 하이퍼 파라미터도 알아서 수정)
마지막 convolutional layer에 filters 값 수정 => ( coords + 1 + num of class ) * num
region layer anchors 수정 ( 학습 데이터의 k-means clustered rate, 참고 : https://github.com/Jumabek/darknet_scripts/blob/master/gen_anchors.py )
classes 값 수정
8. pre-trained data download (optional)
https://pjreddie.com/media/files/darknet19_448.conv.23
9. training
'전공관련 > Deep Learning' 카테고리의 다른 글
[TensorFlow] Slim을 써보자 - custom dataset을 만들자 (0) | 2017.12.06 |
---|---|
[TensorFlow] Slim을 써보자 - 예제 (0) | 2017.12.06 |
[Caffe] Faster R-CNN을 학습하던 중 발생한 문제 및 해결 (0) | 2017.03.21 |
[Caffe] Faster R-CNN을 이용하기. 환경설정. 셋팅 (object detection) (2) | 2017.03.17 |
[Caffe] Digits을 위한 NCCL 설정 방법 (0) | 2017.02.02 |