Darkflow 설치 및 사용법 on Windows
이 github 페이지를 참조했습니다.
Anaconda, tensorflow-gpu, opencv3, numpy가 설치되어 있는 환경에서 진행했습니다.
Python 3.5가 권장된다고 합니다. 저는 3.6.5에서 진행했습니다.
선택사항으로 가상 환경(virtualenv, conda, pipenv)에서 진행해도 된다고 하는데, 저는 아직 가상 환경에 대한 체감이 없어서 그냥 base env에서 진행했습니다.
사전 준비
pip3 install --upgrade tensorflow
pip3 install cython
pip3 install opencv-python
repo Download
- Darkflow github Page에서 repo를 다운로드 받고 그 디렉토리에서 다음을 실행합니다.
python setup.py build_ext --inplace
python flow --h
- Microsoft Visual C++ 14.0 is required error가 생기는 경우 이 곳을 참조해서 해보세요. 저는 해당되지 않아서 자세히는 잘 모르겠습니다.
시작 방법
- 3가지 방법이 있다.
python setup.py build_ext --inplace
- 이 방법을 쓰면
./flow
로 명령을 실행해야한다고 한다.
- 이 방법을 쓰면
pip install -e .
pip install .
- 나는 세번째가 제일 짧아서 세번째걸로 했다. 별 문제 없이 됐다.
학습 방법(Training on your own dataset)
cfg 디렉토리에서 cfg 파일을 복사해서 원하는 대로 이름을 변경한다.(Original cfg를 건드리지 않는것이 좋다.)
복사한 cfg 파일의 [region] 부분 밑에 class 수를 원하는대로 변경한다. 나는 일단 신호등 하나만 할거라서 1로 했다.
[region] anchors = 0.57273, 0.677385, 1.87446, 2.06253, 3.33843, 5.47434, 7.88282, 3.52778, 9.77052, 9.16828 bias_match=1 classes=1 coords=4 num=5 softmax=1 jitter=.3 rescore=1
바로 위의 [convolutional] 부분을 수정해야한다. filters 값을 num * (class + 5)로 한다. 나는 num이 5고 class는 1이어서 5 * (1 + 5) = 30으로 바꿨다.
[convolutional] size=1 stride=1 pad=1 filters=30 activation=linear
labels.txt
에 class명을 적는다.traffic light
Train Command 예시
- bash
python flow --model cfg/my.cfg --train --load yolo.weights --dataset data/train_traffic_light --annotation data/annotations --gpu 1.0
- cmd
python flow --model cfg\my.cfg --train --load yolo.weights --dataset data\train_traffic_light --annotation data\annotations --gpu 1.0
- bash
Argument
--train
: 학습 시킬때--load
: weights 파일 Load, -1을 주면ckpt/checkpoint
에서 가장 최근걸 불러온다.--trainer adam
: Adam optimizer로 완전히 새로운 weights 파일로 시작.--model
: cfg 파일 경로--annotation
: xml 파일 경로--dataset
: 학습 image 파일 경로--demo
: video test시 video 파일 경로 입력--imgdir
: image test시 image 파일 경로 입력
defaults.py
- 수정할 수 있는 부분이 많다. 추후 업데이트.
'머신러닝 > YOLO' 카테고리의 다른 글
[YOLO] YOLO Training 및 Test 총 정리 on Windows (4) | 2019.04.02 |
---|---|
[YOLO] YOLO Build on Windows, VS 2017 (0) | 2019.01.06 |
[YOLO] Yolo_mark로 bounding box 그리기 on Windows (2) | 2018.12.28 |
Convert from Darknet annotations to Darkflow annotations(txt to xml) (7) | 2018.11.19 |
[YOLO] YOLO(You Only Look Once) Training 및 Test 하는 법 (이미지 및 동영상) on Windows (4) | 2018.10.30 |