참고 : Pytorch를 배우기 시작했을 때이 프로젝트에서 더 빠른 RCNN을 다시 구현했습니다. 그런 다음 모든 프로젝트에서 Pytorch를 사용합니다. 나는 Cuda 코드를 Pytorch 레이어로 구축하는 방법을 알아내는 데 일주일이 걸렸다는 것을 여전히 기억합니다 :). 그러나 실제로 이것은 좋은 구현이 아니며 원래 Caffe 코드와 동일한 맵을 달성하지 못했습니다.
이 프로젝트는 더 이상 유지 관리되지 않으며 최신 Pytorch (0.4.0 이후)와 호환되지 않을 수 있습니다. 그래서 나는 제안한다 :
이것은 더 빠른 RCNN의 Pytorch 구현입니다. 이 프로젝트는 주로 Py-Faster-RCNN 및 TFFRCNN을 기반으로합니다.
R-CNN에 대한 자세한 내용은 더 빠른 R-CNN 용지를 참조하십시오 : Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun의 Shaoqing Ren의 Region 제안 네트워크를 사용한 실시간 객체 감지를 향해 참조하십시오.
요구 사항을 설치하십시오 (PIP 또는 Anaconda를 사용할 수 있음) :
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
더 빠른 R-CNN 저장소를 복제하십시오
git clone [email protected]:longcw/faster_rcnn_pytorch.gitNMS 및 ROI_Pooling 레이어 용 Cython 모듈 구축
cd faster_rcnn_pytorch/faster_rcnn
./make.sh 훈련 된 모델 vggnet_fast_rcnn_70000.h5 (업데이트)를 다운로드하고 demo.py 에서 모델 경로를 설정하십시오.
데모 python demo.py 실행하십시오
이 프로젝트 (TFFRCNN)를 따라 교육, 검증, 테스트 데이터 및 imagenet에서 미리 훈련 된 VGG16 모델을 다운로드하고 준비하십시오.
기본적으로 faster_rcnn_pytorch/data 로 데이터를로드하는 프로그램이 있으므로 데이터 경로를 다음과 같이 설정할 수 있습니다.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 그런 다음 .yml 파일에서 train.py 및 훈련 매개 변수로 일부 하이퍼 파라미터를 설정할 수 있습니다.
이제 Origin Paper는 0.699 맵을 얻은 반면 VOC07에 0.661 맵을 받았습니다. faster_rcnn/faster_rcnn.py 로 정의 된 손실 함수를 직접 조정해야 할 수도 있습니다.
Crayon의 도움으로 딥 러닝 프레임 워크에 대한 Tensorboard의 시각화 파워에 액세스 할 수 있습니다.
Tensorboard를 사용하려면 Crayon (https://github.com/torrvision/crayon)을 설치하고 faster_rcnn/train.py 에서 use_tensorboard = True 설정하십시오.
훈련 된 모델의 경로를 test.py 에서 설정하십시오.
cd faster_rcnn_pytorch
mkdir output
python test.py라이센스 : MIT 라이센스 (MIT)