Faster R CNN Training
실제 해당 과정을 통해서 학습을 수행해 본다.
Prepare dataset and Pre-trained model
VOC-2007 데이터를 다운 받는다.
if [ ! -d data ]; then mkdir data; fi; cd data
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
rm -rf *.tar; cd ../
test_format error
error: AttributeError: 'module' object has no attribute 'text_format'
해결을 위해서 train.py
에 import google.protobuf.text_format
을 추가 한다.
TypeError: slice indices must be integers
(caffe_py2_virtualenv) jemin@jemin-desktop:~/caffe/second/py-faster-rcnn$ TypeError: slice indices must be integers or None or have an __index__ method
TypeError:: 명령을 찾을 수 없습니다
해결을 위해서는 numpy 1.12
버전을 down-grade 한다.
pip uninstall numpy
pip install 'numpy==1.11.0'
모델 학습 방법
Training + Testing = 9963
Testing = 4952
학습하는 방법
일단 free training model을 들고 온다.$ ./data/scripts/fetch_imagenet_models.sh
학습 방법은 총 2가지이다.
- alternating optimization algorithm
- approximate joint training
여기선 후자를 선택한다.
# ./experiments/scripts/faster_rcnn_end2end.sh [GPU_ID] [NET] [DATASET]
# Directly run this command might have an error "AssertionError: Selective search data not found at:". For the solution, please refer to Part 4.
$ ./experiments/scripts/faster_rcnn_end2end.sh 0 ZF pascal_voc
테스팅 방법
caffe zoo model
기본제공되는 caffe zoo 모델의 경우 ./data/faster_rcnn_models/ZF_faster_rcnn_final.caffemodel
에 있다.
이것을 이용해서 테스팅을 수행해 본다.
./tools/test_net.py --gpu 0 --def models/pascal_voc/ZF/faster_rcnn_end2end/test.prototxt --net ./data/faster_rcnn_models/ZF_faster_rcnn_final.caffemodel --imdb voc_2007_test --cfg experiments/cfgs/faster_rcnn_end2end.yml
위와 같이 caffe zoo 모델은 mAP 0.4518
로 그다지 정확도가 높지 않은 것을 알 수 있다.
새로 학습 모델
testing 데이터를 이용해서 과적합 시켜서 학습
- testing data
- end2end
- 80000
정확도는 mAP = 0.8805
**직접 테스팅 실행 **
- 정확도:
mean AP = 0.8805
./tools/test_net.py --gpu 0 --def models/pascal_voc/ZF/faster_rcnn_end2end/test.prototxt --net ./output/faster_rcnn_end2end/voc_2007_test/zf_faster_rcnn_iter_80000.caffemodel --imdb voc_2007_test --cfg experiments/cfgs/faster_rcnn_end2end.yml
'AI > Caffe' 카테고리의 다른 글
openPose 설치 및 구동 (ubuntu 16.04 + 1080) (2) | 2018.04.12 |
---|---|
Faster-R-CNN Install on Ubuntu 16.04(GTX1080 CUDA 8.0,cuDNN 5.1) (4) | 2017.02.26 |