CVPR18 Paper: Multi-scale Location-aware Kernel Representation for Object Detection
论文地址:https://arxiv.org/abs/1804.00428
论文代码:https://github.com/Hwang64/MLKP
我google了一下,找不到关于这个论文实验部分的复现过程,然后去他的github上看了一下,只有88个star,表示跟的人不是很多,所以复现这个算法的人也少.今天抽半天复现下,然后做个实验记录,貌似是第一个写关于MLKP复现的博客,哈哈。PS: 作者很多地方一句话带过了,有不少坑需要注意。
1、实验环境:https://blog.csdn.net/xiqi4145/article/details/88101246
上一篇我的关于复现ssd的博客,里面有我的环境配置,下面只用文字简单说明一下:
OS:Linux 16.04
GPU: 七彩虹 1080ti 11g显存 (根据你的显卡来选择arch参数,这里也是个坑)
CUDA : Version 8.0
CUDNN:Version 5.0 (CUDA 8对应 CUDNN5,CUDA9对应CUDNN7,最好对应)
2、载终端中执行 git clone https://github.com/Hwang64/MLKP.git , 下载MLKP的repository如下图:
然后解压到你自己的工作目录下,提取之后是这样的:
3、下载好源代码之后,就要开始关键的编译环节了
cd $MLKP_ROOT (ps:有人问过我,这种$MLKP_ROOT是什么路径, 简单的说,就是你解压MLKP-matster后的文件夹,就是上面4个文件夹,一个README.md的文件夹,这里用$ 符号,表示引用的意思)
git clone https://github.com/Hwang64/caffe-mlkp.git (这一步执行完成之后,MLKP-master里面会多了一个叫做caffe-mlkp的文件夹)
cd caffe-mlkp
make clean (养成好习惯,在编译之前先 make clean)
make all -j16 (这里在make之前,参考我上一篇复现ssd的博客,如何修改Makefile和Makefile.config文件,作者提供的github里面这部分步骤省略了)
make pycaffe
上面这几步通过后如下图:
编译好之后在终端执行:
cd $MLKP_ROOT/lib
make
通过后如下图:
3、安装训练和测试模型
-
Download the training, validation, test data and VOCdevkit
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
-
Extract all of these tars into one directory named
VOCdevkit
tar xvf VOCtrainval_06-Nov-2007.tar tar xvf VOCtest_06-Nov-2007.tar tar xvf VOCdevkit_08-Jun-2007.tar
-
It should have this basic structure
$VOCdevkit/ # development kit $VOCdevkit/VOCcode/ # VOC utility code $VOCdevkit/VOC2007 # image sets, annotations, etc. # ... and several other directories ...
然后README.md写到这里,就丢了一个网址 ,叫你具体参考py-faster-rcnn,话说这里坑很有点多,我反正是搞了一整天,才搞定,- - . 下一篇详细讲遇到了哪些坑。
4、加载 已经载VOC07数据上训练好的VGG16来测试mAP指标
在终端执行:
python ./tools/test_net.py --def models/VGG16/test.prototxt --net output/VGG16_voc07_test.caffemodel --imdb voc_2007_test --cfg experiments/cfgs/faster_rcnn_end2end.yml
成功运行后截图如下:
当4952张图片测试完成后,会显示每一个类别的mAP,如下图:
坑很多,下一篇讲遇到的坑,以及如何解决的,有问题,欢迎留言,一起学习讨论.