1. 程式人生 > >Faster-RCNN features for instance search(Python)Ubuntu配置

Faster-RCNN features for instance search(Python)Ubuntu配置


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.tgz

                           http://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