1. 程式人生 > >pva-faster-rcnn配置安裝及訓練自己的資料集

pva-faster-rcnn配置安裝及訓練自己的資料集

繼fasterrcnn後,又一個pva-fasterrcnn的配置教程,希望可以幫助大家。

注意:有些複製的終端命令如果不能在終端執行,請注意英文全形半形問題,可以將命令輸入終端,無須複製貼上命令

第一部分:下載並編譯pvanet
1、終端輸入:
git clone --recursive https://github.com/sanghoon/pva-faster-rcnn.git
2、建立Cython模組:
cd $pva-faster-rcnn/lib
make –j16(為啥用16相信大家也很清楚啦)
3、編譯caffe及pycaffe
cd $pva-faster-rcnn/caffe-fast-rcnn
cp Makefile.config.example Makefile.config


修改Makefile.config檔案:
去掉cudnn前面#(我用cudnn4.0,僅供參考
Opencv_version不用註釋(我用的2.4.10,3.0沒有測試過,所以不用註釋
BLAS=atlas(我測試的庫,mkl沒有試過)(sudo apt-get install libatlas-base-dev即可安裝)
去掉with_python_layer前面的#,注意一定要去掉,不然無法訓練資料(測試的時候不需要)

修改後儲存退出

make –j16
make pycaffe –j16

第二部分:下載預訓練模型(外網真心慢啊大哭
為小夥伴們提供百度網盤下載連結大笑
連結:http://pan.baidu.com/s/1kVRRPDd 密碼:1cdt


1、開啟檔案將test.model放入$pva-faster-rcnn/models/pvanet/full/這個目錄下
2、將test(1).model重新命名為test.model放入$pva-faster-rcnn/models/pvanet/comp/目錄下
其他的模型我就沒有去試驗啦,後續有時間就會更新這些模型的訓練方法的


第三部分:下載voc07資料

開啟終端(任何目錄)輸入:
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

將生成的VOCdevkit資料夾更名為VOCdevkit2007移動至$pva-faster-rcnn/data/目錄下面


第四部分:voc07測試預訓練模型

終端輸入:
cd $pva-faster-rcnn
1、full/test.model測試:
./tools/test_net.py --gpu 0 --def models/pvanet/full/test.pt --net models/pvanet/full/test.model --cfg models/pvanet/cfgs/submit_160715.yml
2、Comp/test.model測試:
./tools/test_net.py --gpu 0 --def models/pvanet/comp/test.pt --net models/pvanet/comp/test.model --cfg models/pvanet/cfgs/submit_160715.yml
此測試會得到系列類別的AP值

第五部分:預訓練model訓練並測試voc07資料
終端輸入:
1、訓練:
cd $pva-faster-rcnn
./tools/train_net.py --gpu 0 --solver models/pvanet/example_finetune/solver.prototxt --weights models/pvanet/full/test.model –iters 100000 --cfg models/pvanet/cfgs/train.yml –imdb voc_2007_trainval(其他引數預設)
訓練結果會在pva根目錄生成output資料夾,模型就在裡面吐舌頭
2、測試:
./tools/test_net.py --gpu 0 --def models/pvanet/example_finetune/test.prototxt --net output/faster_rcnn_pavnet/voc_2007_trainval/pvanet_frcnn_iter_100000.caffemodel --cfg models/pvanet/cfgs/submit_160715.yml (其他引數預設)


第六部分:預訓練model
訓練並測試自己資料
1、資料製作:
還記得fasterrcnn資料如何製作的嗎?參考部落格http://blog.csdn.net/samylee/article/details/51201744
Tips:參考voc07的資料格式,我們可發現,生成的資料最後只需保留Annotations、ImageSets和JPEGImages三個資料夾即可,ImageSets/Main檔案中用到的只有trainval.txt和test.txt這兩個檔案(資料分佈:trainval=train+val,all_data=trainval+test),多類別如果增加負樣本或模糊樣本可以考慮1、0及-1操作(其中1表示有目標,0表示模糊目標,-1表示沒有目標
資料集製作完成後將這三個資料夾複製至一個資料夾(命名為VOC2007)當中,再移動至$pva-faster-rcnn/data/VOCdevkit2007中,替換原來的VOC2007

2、類別設定:(有幾類設定幾類,類似fasterrcnn,我的資料集為1類行人資料)

1)開啟檔案/models/pvanet/example_finetune/train.prototxt

num_classes:2(開頭處)(我實驗時一類)

2)修改lib/datasets/pascal_voc.py

self._classes = ('__background__', # always index 0
                              'people')(只有這一類)

3)修改lib/datasets/imdb.py

資料整理,在一行程式碼為 boxes[:, 2] = widths[i] - oldx1 - 1下加入程式碼:
 for b in range(len(boxes)):

      if boxes[b][2]< boxes[b][0]:

         boxes[b][0] = 0

4)修改完pascal_voc.py和imdb.py後進入lib/datasets目錄下刪除原來的pascal_voc.pyc和imdb.pyc檔案,重新生成這兩個檔案,因為這兩個檔案是python編譯後的檔案,系統會直接呼叫。

終端進入lib/datasets檔案目錄輸入:

python(此處應出現python的版本)

>>>import py_compile

>>>py_compile.compile(r'imdb.py')

>>>py_compile.compile(r'pascal_voc.py')

3、訓練資料:
cd $pva-faster-rcnn
./tools/train_net.py --gpu 0 --solver models/pvanet/example_finetune/solver.prototxt --weights models/pvanet/full/test.model –iters 100000 --cfg models/pvanet/cfgs/train.yml –imdb voc_2007_trainval
(其他引數預設)
4、測試模型:
./tools/test_net.py --gpu 0 --def models/pvanet/example_finetune/test.prototxt --net output/faster_rcnn_pavnet/voc_2007_trainval/pvanet_frcnn_iter_100000.caffemodel --cfg models/pvanet/cfgs/submit_160715.yml (其他引數預設)


第七部分:實驗結果

目前我訓練了10000左右,loss為0.1左右,其他四個引數分別在0.2、0.1、0.01、0.01左右
後續工作可做demo演示程式,小夥伴們盡請期待!

任何問題請加唯一QQ2258205918(名稱samylee)  !!!



相關推薦

pva-faster-rcnn配置安裝訓練自己資料

繼fasterrcnn後,又一個pva-fasterrcnn的配置教程,希望可以幫助大家。 注意:有些複製的終端命令如果不能在終端執行,請注意英文全形半形問題,可以將命令輸入終端,無須複製貼上命令 第一部分:下載並編譯pvanet1、終端輸入:git clone --re

py-faster-rcnn + cpu安裝訓練自己資料

下面分兩部分來講解,第一部分為py-faster-rcnn及caffe框架安裝。第二部分講解如何修改相關檔案,訓練自己的資料集。 第一部分 安裝 把專案程式碼clone下來, 注意是遞迴下載,裡面包含專案自帶的caffe,跟原版的caffe略有不同,

Ubuntu16.04+cuda8.0+cudnn5.1配置faster-rcnn的方法以及訓練自己資料出現的問題

  最近在用教研室的伺服器跑faster rcnn, 伺服器配置太高了ubuntu 16.04 + cuda8.0 + cudnn 5.1, 但是原本的faster rcnn 點選開啟連結已經是兩年前的了,所以會出現不相容的問題.網上查了一個大神的,就用了這個點選開啟連結部

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

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

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

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

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模型配置

SSD安裝訓練自己資料

https://blog.csdn.net/zhang_shuai12/article/details/52346878最近一直在搞object detection玩,之前用的是faster-rcnn,準確率方面73.2%,效果還不錯,但是識別速度有點欠缺,我用的GPU是GT

Faster RCNN從demo到訓練自己資料(1)——前言篇

注意: 一定要保證電腦裝有353.66(CUDA7.5)或369.30(CUDA8.0)以上的N卡驅動,至少保證使用GeForce800系列以上的顯示卡!否則caffe會顯示  “Check failed: error == cudaSuccess (35 vs. 0)”。

Faster RCNN從demo到訓練自己資料(3)——資料製作篇

製作資料集可以選擇自己編寫一個demo,也可以直接下載labelImg進行標註。Faster RCNN需要的標註檔案為xml檔案。 我是自己編寫的一個demo,標記出每一張圖片的座標框和分類,生成的文字為txt檔案,也是常見的caffe標註規格,如下圖。 1.將txt

YOLO v3 安裝訓練自己資料

1. 安裝 YOLO v3的安裝與YOLO v2的安裝方法一樣 git clone https://github.com/pjreddie/darknet 直接使用上邊的命令下載YOLO安裝包。下載完以後,開啟進入到安裝包路徑內 cd darkn

FastRCNN 訓練自己資料(一)——編譯配置

FastRCNN是Ross Girshick在RCNN的基礎上增加了Multi task training整個的訓練過程和測試過程比RCNN快了許多。別的一些細節不展開,過幾天會上傳Fast RCNN的論文筆記。FastRCNN mAP效能上略有上升。Fast RCNN中,提取OP的過程和訓練過程仍

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

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

YOLO訓練自己資料配置檔案修改.md

VOC2016 最早1093張personVOC2017 劉堯792張personVOC2018 恩德792張person_handVOC2019 person_head_hand(hand/hand1) 但是可以不生成hand1的labelVOC2020 person_head_hand size=224*

《錯誤手記-01》 facenet使用預訓練模型fine-tune重新訓練自己資料報錯

環境資訊:windows10+python3.5+tensorflow1.6.0 問題描述: 在自己的訓練集上跑train_softmax.py.  引數: --logs_base_dir F:/work/runspace/log/  --models_base_

Kaldi中thchs30訓練自己資料的步驟

一、資料準備過程 網上下載的thchs-openslr資料集需要換成自己的資料集,包含兩個資料夾:data_thchs30和resource。下面講解如何搞定這一部分。 資料集在data_thchs30檔案中,包含四個部分(data、train、dev、test)。 data資料夾中包

yolov3訓練自己資料可參考文章

參考部落格原址: https://blog.csdn.net/u012966194/article/details/80004647 這篇文章將介紹編譯darknet框架開始,到整理資料集,到用yolo網路實現一個內部資料集中號碼簿的定

Yolov3訓練自己資料+資料分析

訓練自己到資料集已經在上一篇文中說明過了,這一篇著重記錄一下資料分析過程 資料分析 1. mAP值計算 1)訓練完成後,執行darknet官方程式碼中到 detector valid 命令,生成對測試集到檢測結果,命令如下: ./darknet detector va

【YOLO初探】之 keras-yolov3訓練自己資料

寫在前面 如何使用官方資料集參看上一篇文章《【YOLO初探】之 使用官方資料集做目標分類》 傳送門:https://blog.csdn.net/plSong_CSDN/article/details/85108256 這裡,筆者使用了260張訓練資料,完成了人臉中“眼睛”、“鼻子”、“嘴

YOLOv3在訓練自己資料時的速度慢問題

YOLOv3以速度快著稱,但是在訓練自己的資料集時發現儘管在命令中同時開啟了多塊gpu,但速度仍舊很慢。按照其他人的訓練日誌可以看出64batch的單gpu訓練,每次迭代大約需要不到1秒但是自己在訓練時卻需要好幾個小時,首先想到的是自己的資料集是否圖片解析度太高,比較之後發現