1.配置Faster-RCNN: python implementation by Ross Girshick
2.下载本篇论文代码: Faster-RCNN feature for instance search
3.
cd /retrieval-2016-deepvision-master
gedit params.py
将其中第16行的params['fast_rcnn_path'] = '../faster-rcnn/'的路径改为Faster-RCNN的路径(第1步中设置的)比如我的改成了:params['fast_rcnn_path'] = '/home/wh/fasterRCNN/py-faster-rcnn'
4.下载Oxford和Paris数据集
i)推荐自行下载:
Oxford:http://www.robots.ox.ac.uk/~vgg/data/oxbuildings/oxbuild_images.tgz
下载后放在.data/images/oxford目录下,解压命名文件夹为:data
解压后共5063张图像在retrieval-2016-deepvision-master/data/images/oxford/data目录下
http://www.robots.ox.ac.uk/~vgg/data/oxbuildings/gt_files_170407.tgz
下载后放在.data/images/oxford目录下,解压命名文件夹为:groundtruth
Paris: http://www.robots.ox.ac.uk/~vgg/data/parisbuildings/paris_1.tgzhttp://www.robots.ox.ac.uk/~vgg/data/parisbuildings/paris_2.tgz
两个文件下载后放在.data/images/paris目录下,解压合并,命名文件夹为:data
解压后共6412张图像分为12个文件夹存放在retrieval-2016-deepvision-master/data/images/paris/data/paris目录下
不要将12个文件夹合并!
http://www.robots.ox.ac.uk/~vgg/data/parisbuildings/paris_120310.tgz
下载后放在.data/images/paris目录下,解压命名文件夹为:groundtruth
ii)也可以运行data/images/paris下的get_paris.sh文件,以及data/images/oxford/下的get_oxford.sh文件进行下载。真的超级慢。5. 下载Faster-RCNN模型
./data/models/fetch_models.sh
6. 为数据集图像创建列表
python read_data.py
因为有两个数据集,所以需要相应更改params.py文件中第8行为 params['dataset'] = 'oxford'或者 params['dataset'] = 'paris'
7. 提取Faster-RCNN特征 python features.py
8. 第一过滤阶段(使用IPA以整幅图像进行检索匹配)
python ranker.py
若是出现以下问题,请检查数据库图像是否下载完整,或者存放的位置是否正确:
Applying PCA
Traceback (most recent call last):
File "ranker.py", line 165, in
R.rank()
File "ranker.py", line 146, in rank
self.get_query_vectors()
File "ranker.py", line 71, in get_query_vectors
self.query_feats[i,:] = self.db_feats[np.where(np.array(self.database_list) == query_file)]
ValueError: could not broadcast input array from shape (0,512) into shape (512)
9. 空间重排(使用RPA)
python rerank.py
10. 评估
python eval.py
此处可以看到每一类的mAP。
11. 可视化
python vis.py