Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 논문 리뷰 및 코드 공부
(https://arxiv.org/abs/1506.01497)
논문 리뷰: https://velog.io/@skhim520/Faster-R-CNN-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-%EB%B0%8F-%EC%BD%94%EB%93%9C-%EA%B5%AC%ED%98%84
참고한 코드(baseline): https://github.com/chenyuntc/simple-faster-rcnn-pytorch
anaconda를 이용한 환경설정
# create conda env
conda create --name simp python=3.7
conda activate simp
# install pytorch
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
# install other dependancy
pip install visdom scikit-image tqdm fire ipdb matplotlib torchnet
# start visdom
nohup python -m visdom.server &
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
utils/config.py 에서 voc_data_dir을 데이터가 있는 경로로 설정 또는 실행할 때 argument로 지정하기
ex) voc_data_dir = path/VOCdevkit/VOC2007/
python train.py train --env='fasterrcnn' --plot-every=100
Some Key arguments:
--caffe-pretrain=False
: use pretrain model from caffe or torchvision (Default: torchvison)--plot-every=n
: visualize prediction, loss etc everyn
batches.--env
: visdom env for visualization--voc_data_dir
: where the VOC data stored--use-drop
: use dropout in RoI head, default False--use-Adam
: use Adam instead of SGD, default SGD. (You need set a very lowlr
for Adam)--load-path
: pretrained model path, defaultNone
, if it's specified, it would be loaded.
Pytorch에서 사용할 수 있는 시각화 도구 visdom을 통해 logging을 하고 visualization을 한다.
해당 결과를 확인하기 위해서는 다음과 같이 하면 된다.
웹 브라우저 url에 http://localhost:8097
로 visdom server 접속 8097
은 default 값이다
ssh로 가상 머신에 접속할 때 visdom server를 local 웹 브라우저와 연결시켜줘야 한다.
1 ssh <Username>@<Host> -p<port> -L localhost:18097:localhost:8097
2 웹 브라우저 url에 http://localhost:18097
로 visdom server 접속