1. 程式人生 > >Faster-RCNN+ZF用自己的資料集訓練模型(Python版本and MATLAB版本)

Faster-RCNN+ZF用自己的資料集訓練模型(Python版本and MATLAB版本)

說明:本博文假設你已經做好了自己的資料集,該資料集格式和VOC2007相同。下面是訓練前的一些修改。

Faster-RCNN原始碼下載地址:

本文用到的是版本,在Linux下執行。

準備工作:

1.配置caffe

     這個不多說,網上教程很多。

2.其他的注意事項

下面大概翻譯一下上面網址的內容吧。

(1)安裝cython, ,easydict

  1. pip install cython  
  2. pip install easydict  
  3. apt-get install python-opencv  

(2)下載py-faster-rcnn

  1. # Make sure to clone with --recursive  
  2. git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git  

如圖:


(3)進入py-faster-rcnn/lib

   執行make

如圖:

(4)進入py-faster-rcnn\caffe-fast-rcnn

執行 cp Makefile.config.example Makefile.config

然後,配置Makefile.config檔案,可參考我的配置:

Makefile.config檔案

配置好Makefile.config檔案後,執行:

  1. make -j8 && make pycaffe  

如圖:


(5)下載VOC2007資料集

解壓,然後,將該資料集放在py-faster-rcnn\data下,用你的資料集替換VOC2007資料集。(替換Annotations,ImageSets和JPEGImages)

(用你的Annotations,ImagesSets和JPEGImages替換py-faster-rcnn\data\VOCdevkit2007\VOC2007中對應資料夾)

(6)下載ImageNet資料集下預訓練得到的模型引數(用來初始化)

解壓,然後將該檔案放在py-faster-rcnn\data下

下面是訓練前的一些修改。

1.py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt/stage1_fast_rcnn_train.pt修改

  1. layer {  
  2.   name: 'data'  
  3.   type: 'Python'  
  4.   top: 'data'  
  5.   top: 'rois'  
  6.   top: 'labels'  
  7.   top: 'bbox_targets'  
  8.   top: 'bbox_inside_weights'  
  9.   top: 'bbox_outside_weights'  
  10.   python_param {  
  11.     module: 'roi_data_layer.layer'  
  12.     layer: 'RoIDataLayer'  
  13.     param_str: "'num_classes': 16" #按訓練集類別改,該值為類別數+1  
  14.   }  
  15. }  

  1. layer {  
  2.   name: "cls_score"  
  3.   type: "InnerProduct"  
  4.   bottom: "fc7"  
  5.   top: "cls_score"  
  6.   param { lr_mult: 1.0 }  
  7.   param { lr_mult: 2.0 }  
  8.   inner_product_param {  
  9.     num_output: 16 #按訓練集類別改,該值為類別數+1  
  10.     weight_filler {  
  11.       type: "gaussian"  
  12.       std: 0.01  
  13.     }  
  14.     bias_filler {  
  15.       type: "constant"  
  16.       value: 0  
  17.     }  
  18.   }  
  19. }  

  1. layer {  
  2.   name: "bbox_pred"  
  3.   type: "InnerProduct"  
  4.   bottom: "fc7"  
  5.   top: "bbox_pred"  
  6.   param { lr_mult: 1.0 }  
  7.   param { lr_mult: 2.0 }  
  8.   inner_product_param {  
  9.     num_output: 64 #按訓練集類別改,該值為(類別數+1)*4  
  10.     weight_filler {  
  11.       type: "gaussian"  
  12.       std: 0.001  
  13.     }  
  14.     bias_filler {  
  15.       type: "constant"  
  16.       value: 0  
  17.     }  
  18.   }  
  19. }  

2.py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt/stage1_rpn_train.pt修改

  1. layer {  
  2.   name: 'input-data'  
  3.   type: 'Python'  
  4.   top: 'data'  
  5.   top: 'im_info'  
  6.   top: 'gt_boxes'  
  7.   python_param {  
  8.     module: 'roi_data_layer.layer'  
  9.     layer: 'RoIDataLayer'  
  10.     param_str: "'num_classes': 16" #按訓練集類別改,該值為類別數+1  
  11.   }  
  12. }  

3.py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt/stage2_fast_rcnn_train.pt修改

  1. layer {  
  2.   name: 'data'  
  3.   type: 'Python'  
  4.   top: 'data'  
  5.   top: 'rois'  
  6.   top: 'labels'  
  7.   top: 'bbox_targets'  
  8.   top: 'bbox_inside_weights'  
  9.   top: 'bbox_outside_weights'  
  10.   python_param {  
  11.     module: 'roi_data_layer.layer'  
  12.     layer: 'RoIDataLayer'  
  13.     param_str: "'num_classes': 16" #按訓練集類別改,該值為類別數+1  
  14.   }  
  15. }  
  1. layer {  
  2.   name: "cls_score"  
  3.   type: "InnerProduct"  
  4.   bottom: "fc7"  
  5.   top: "cls_score"  
  6.   param { lr_mult: 1.0 }  
  7.   param { lr_mult: 2.0 }  
  8.   inner_product_param {  
  9.     num_output: 16 #按訓練集類別改,該值為類別數+1  
  10.     weight_filler {  
  11.       type: "gaussian"  
  12.       std: 0.01  
  13.     }  
  14.     bias_filler {  
  15.       type: "constant"  
  16.       value: 0  
  17.     }  
  18.   }  
  19. }  

  1. layer {  
  2.   name: "bbox_pred"  
  3.   type: "InnerProduct"  
  4.   bottom: "fc7"  
  5.   top: "bbox_pred"  
  6.   param { lr_mult: 1.0 }  
  7.   param { lr_mult: 2.0 }  
  8.   inner_product_param {  
  9.     num_output: 64 #按訓練集類別改,該值為(類別數+1)*4  
  10.     weight_filler {  
  11.       type: "gaussian"  
  12.       std: 0.001  
  13.     }  
  14.     bias_filler {  
  15.       type: "constant"  
  16.       value: 0  
  17.     }  
  18.   }  
  19. }  

4.py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt/stage2_rpn_train.pt修改

  1. layer {  
  2.   name: 'input-data'  
  3.   type: 'Python'  
  4.   top: 'data'  
  5.   top: 'im_info'  
  6.   top: 'gt_boxes'  
  7.   python_param {  
  8.     module: 'roi_data_layer.layer'  
  9. 相關推薦

    Faster-RCNN+ZF自己資料訓練模型(Python版本and MATLAB版本

    說明:本博文假設你已經做好了自己的資料集,該資料集格式和VOC2007相同。下面是訓練前的一些修改。 Faster-RCNN原始碼下載地址: 本文用到的是版本,在Linux下執行。 準備工作: 1.配置caffe   

    Faster-RCNN+ZF自己資料訓練模型(Python版本)

    說明:本博文假設你已經做好了自己的資料集,該資料集格式和VOC2007相同。下面是訓練前的一些修改。 Faster-RCNN原始碼下載地址: 本文用到的是Python版本,在Linux下執行。 準備工作: 1.配置caffe      這個不多說,網上教程很多。

    【轉載】 Faster-RCNN+ZF自己的數據訓練模型(Matlab版本)

    cmp fin ont -m lac tails ram pos 識別 說明:本博文假設你已經做好了自己的數據集,該數據集格式和VOC2007相同。下面是訓練前的一些修改。 (做數據集的過程可以看http://blog.csdn.net/sinat_30071459/art

    R-FCN+ResNet-50自己資料訓練模型(python版本)

    說明: 本文假設你已經做好資料集,格式和VOC2007一致,並且Linux系統已經配置好caffe所需環境(部落格裡教程很多),下面是訓練的一些修改。 py-R-FCN原始碼下載地址: 也有Matlab版本: 本文用到的是python版本。 準備工作: (1)配

    py-faster-rcnn + ZF 實現自己資料訓練與檢測(一)

    0.前言 最近兩個星期,一直在看faster rcnn物體檢測,在一段折騰之後,總算能夠訓練自己的資料並進行物體檢測了。這篇部落格就當作是對最近整個實驗過程的記錄吧。首先先從最開始如何配置py-fas

    tf-faster rcnn 配置 及自己資料

    下面主要針對 https://github.com/endernewton/tf-faster-rcnn工程,作者寫的很好,但是對於我這種常識比較少的小白還是會遇到很多問題,所有都是從網上一點點找到的,整理在下面,希望可以減少大家的配置時間。 因為我是在windows10

    自己資料訓練faster-rcnn時出現的一些問題及總結(五)

    關於faster-rcnn的原理訓練流程及其資料集的製備,已經都已完成。那麼問題來了,“自己製備的資料集,比如說自己為了增強資料集,進行圖片翻轉操作,然後記錄座標這樣的資料集,在訓練的過程中出現的問題”一、在呼叫append_flipped_images函式時出現: asse

    ChainerCV下自己資料訓練Faster RCNN

    一、ChainerCV         ChainerCV,一個用於計算機視覺的深度學習實用庫。這個庫旨在通過 Chainer 簡易化計算機視覺的訓練和深度學習模型應用的過程。它包含計算機視覺模型的高質量實現,以及開展計算機視覺研究的必備工具集。當前,ChainerCV

    使用pytorch版faster-rcnn訓練自己資料

    使用pytorch版faster-rcnn訓練自己資料集 引言 faster-rcnn pytorch程式碼下載 訓練自己資料集 接下來工作 參考文獻 引言 最近在復現目標檢測程式碼(師兄強烈推薦F

    自己資料訓練faster-rcnn---cpu

    模型下載: 修改模型中的部分程式碼: 因為是用CPU跑模型,所以要對程式碼進行適當修改。 用自己的資料集訓練faster-rcnn: 1.擁有訓練的資料以及資料對應的xml檔案。 我這裡用的是以前人臉座標資料,用的標註工具是LableImg,當然還有其他的標

    Faster-RCNN 訓練自己資料的坑記錄

    主要照這篇部落格進行訓練配置,因為沒有GPU所以好多坑,CPU訓練可以參見這篇部落格 正所謂,跑通了的都一樣,錯誤千萬樣。按照教程來也是坑多 訓練: python train_faster_rcnn_alt_opt.py --net_name ZF --weights

    py-faster-rcnn訓練自己資料需要修改的引數

    faster rcnn預設有三種網路模型ZF(小)、VGG_CNN_M_1024(中)、VGG16 (大) 訓練圖片大小為500*500,類別數1。 修改VGG_CNN_M_1024模型配置

    windows下使用自己製作的資料訓練faster-rcnn(tensorflow版用於目標檢測

    步驟一 步驟二 步驟三 用你的Annotations,ImagesSets和JPEGImages替換…\Faster-RCNN-TensorFlow-Python3.5\data\VOCdevkit2007\VOC2007中對應資料夾

    自己資料訓練Mask-RCNN實現過程中的坑

    本文僅僅是自己實現過程的筆記記錄,僅僅用來交流的。 在網上大量蒐集資料後,實現Mask-RCNN,但是過程中還是出現了很多很多的問題,所以將過程記錄如下,方便日後學習。 一、實驗前準備 1. COCO資料集 COCO的 全稱是Common Objects in COn

    使用自己資料訓練faster-rcnn

    在安裝完成caffe後,並且編譯完成github上的faster-rcnn python版之後,可以採用自己的資料來訓練faster-rcnn了。 一,檔案修改: 1,在py-faster-rcnn目錄下,找到lib/datasets/pascal_vo

    ImageNet的資料訓練Faster R-CNN

    轉自:http://blog.csdn.net/jiajunlee/article/details/50470897 訓練結果 第一次訓練,ZF,30W張圖片,200類,迭代80k40K,mAP: 18.0% 問題彙總 總結: ImageNet訓練資料集部分標註缺失

    Fast RCNN 訓練自己資料 (1編譯配置)

    FastRCNN 訓練自己資料集 (1編譯配置) FastRCNN是Ross Girshick在RCNN的基礎上增加了Multi task training整個的訓練過程和測試過程比RCNN快了許多。別的一些細節不展開,過幾天會上傳Fast RCNN的論文筆記。FastRCNN mAP效能上略有上升。Fa

    tensorflow 自己資料訓練CNN模型

    最近用tensorflow訓練自己的模型的時候發現,tensorflow官網上所給的例子,都是用處理好資料格式的mnist資料或者其他格式的資料,所以在訓練自己的模型的時候的第一步就卡住了。所以上網搜尋了相關的資料之後便得出了相關的解決方案(有好幾種,這裡只說明一種,另外

    自己資料訓練tf-ssd模型

    資料集製作因為老闆接的豐田的一個專案,工廠那邊要求能識別出雨天打傘的行人、交通錐形桶、躺在地上的人等,PASCAL VOC的資料集類別裡沒這些,是滿足不了他們要求了,所以要去製作資料集訓練網路。我們去現場拍了些視訊,然後用我之前寫的一個指令碼解析,得到原始圖片,拿給實驗室的學

    Fast RCNN 訓練自己資料 (2修改資料讀取介面)

    Fast RCNN訓練自己的資料集 (2修改讀寫介面) 這裡樓主講解了如何修改Fast RCNN訓練自己的資料集,首先請確保你已經安裝好了Fast RCNN的環境,具體的編配編制操作請參考我的上一篇文章。首先可以看到fast rcnn的工程目錄下有個Lib目錄 這裡下面存在3個目錄分別是: datase