전공관련/Deep Learning

[Caffe] Faster R-CNN을 이용하기. 환경설정. 셋팅 (object detection)

매직블럭 2017. 3. 17. 11:02

caffe를 이용한 detection에 대해 공부하며 기록.


이런저런 논문 찾아보면 가장 간단한 검출기는  sliding window 와 cascade를 이용한 검출기..

얘는 전통적인 방식에서 얼굴인지 아닌지 판단하는 부분만 CNN으로 변경 됐을 뿐..


새로운 CNN을 이용한 검출기를 적용 해보기 위해 시도 해 보면서 하나씩 기록.


======================================================================

1. faster r-cnn 을 github에서 다운로드 받기

( https://github.com/rbgirshick/py-faster-rcnn )

여기서 사용하는 caffe는 원래 caffe와 다르니 따로 받아주자.


2. caffe 빌드하기

따로 받은 caffe를 빌드 해 준다. 

이때 Makefile.config 를 수정 할 때 cudnn을 사용하고 파이썬레이어도 활성화 해 줘야 한다.

Make 해 보면 에러가 나는데 에러가 나는 파일은 원래 caffe에 있는 코드로 변경 해 준다

include/caffe/util/cudnn.hpp

src/caffe/layers/cudnn_tanh_layer.cu

include/caffe/layers/cudnn_tanh_layer.hpp

src/caffe/layers/cudnn_sigmoid_layer.cu

include/caffe/layers/cudnn_sigmoid_layer.hpp

src/caffe/layers/cudnn_conv_layer.cu

src/caffe/layers/cudnn_relu_layer.cu

include/caffe/layers/cudnn_relu_layer.hpp


3. cython 모듈 빌드하기

>> cd $FRCN_ROOT/lib

>> make


4. pre-train 된 faster r-cnn을 다운로드 받기

>> cd $FRCN_ROOT

>> ./data/scripts/fetch_faster_rcnn_models.sh


5. easydict, opencv-python 이 설치되지 않았다면 설치하기

>> sudo pip install easydict

>> sudo pip install opencv-python


6. 데모 실행 해 보기

>> cd $FRCN_ROOT

>> ./tools/demo.py


여기까지 진행되면 일단 환경설정은 끝난 것.


이후 개인 데이터를 이용하여 학습 해보는건 아래 블로그를 참고하자

yochin47.blogspot.kr/2017/03/faster-r-cnn-db.html