Faster RCNN参数详解
1.首先是function model =ZF_for_Faster_RCNN_VOC2007(model)中的參數(shù)
% Stride in inputimage pixels at the last conv layer
model.feat_stride?????????????????????????????? = 16;
%此處必須是16,和5次卷積對(duì)應(yīng)。若不是16,如為8,則只有左上角1/4的位置有anchor
%% final test
% 對(duì)已排好序的abox,先選擇6000個(gè),然后進(jìn)行nms消除,閾值0.7,最后從中篩選300個(gè)。
model.final_test.nms.per_nms_topN??????????? ????? =6000; %圖像中目標(biāo)較少時(shí)可考慮降低
model.final_test.nms.after_nms_topN????????? ????? =300; %圖像中目標(biāo)較少時(shí)可考慮降低,recall較低時(shí)可考慮增大
?
2.?functionconf = proposal_config(varargin)和function conf = fast_rcnn_config(varargin)中的參數(shù)
??? ip.addParamValue('scales',????????? 600,??????????? @ismatrix);
??? % Max pixel size of a scaled input image
??? ip.addParamValue('max_size',??????? 1000,??????????@isscalar);
??? ip.addParamValue('batch_size', ?? ?128, ? ? ? ? ? ?@isscalar);
?? ip.addParamValue('test_min_box_size',16,? ? ? ? ? ?@isscalar);
根據(jù)圖片和目標(biāo)的尺度可以修改scale和max_size參數(shù);根據(jù)圖片中目標(biāo)的尺度,可以修改test_min_box_size參數(shù)。
根據(jù)類別數(shù)量和每張圖包含目標(biāo)數(shù)目,可修改batch_size
3.solve.txt中的參數(shù)
base_lr: 0.001?
lr_policy:"step"?
gamma: 0.1
stepsize: 30000
這四個(gè)參數(shù)根據(jù)loss變化情況修改,loss波動(dòng)較大時(shí)考慮降低lr
max_iter: 40000 %樣本較少時(shí)可以適當(dāng)降低
weight_decay: 0.0005 %過(guò)擬合時(shí)可以考慮增大
?
4.function anchors =proposal_generate_anchors(cache_name, varargin)中的參數(shù)
??? ip.addParamValue('base_size',?????? 16,???????????? @isscalar);
??? % ratio list of anchors
??? ip.addParamValue('ratios',????????? [0.5, 1, 2],??? @ismatrix);
??? % scale list of anchors
??? ip.addParamValue('scales',????????? 2.^[3:5],?????? @ismatrix);???
小目標(biāo)時(shí),可考慮降低base_size或者scales。
?
5.ZF-net和VGG-net選擇
樣本較多,目標(biāo)尺度較大時(shí),優(yōu)先考慮VGG-net;
小樣本容易過(guò)擬合,優(yōu)先考慮ZF-net
?
6. RPN的train_val.prototxt
如果proposal_config中修改了base_size,則這里的loss_bbox層(最后一層)中的loss_weight也需要相應(yīng)調(diào)整
總結(jié)
以上是生活随笔為你收集整理的Faster RCNN参数详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Windows+Caffe(Faster
- 下一篇: 使用caffe训练faster-rcnn