Matlab Faster R-CNN

imageLabeler用法

  1. Load -> Add images from folder
  2. Define new rectangle or pixel ROI
  3. Manual labeling
  4. Export Labels -> To Workspace -> “TrainData”&“table”

代码

%标注工具箱
imageLabeler

%参数
options = trainingOptions('sgdm', ...
'MiniBatchSize', 4, ... 
'InitialLearnRate', 1e-4, ... 
'LearnRateSchedule', 'piecewise', ...
'LearnRateDropFactor', 0.1, ...
'LearnRateDropPeriod', 100, ...
'MaxEpochs', 20, ...
'CheckpointPath', tempdir, ...
'Verbose', true, ...
'ExecutionEnvironment', 'gpu');

%训练
FD_Detector = trainFasterRCNNObjectDetector(TrainData,alexnet,options);

%测试
img = imread([pathname,filename]);
[bbox,score,label] = detect(FD_Detector,img);
index = find(score>0.6);
bbox = bbox(index,:);
score = score(index,:);
label = label(index,:);
img = insertObjectAnnotation(img,'Rectangle',bbox,score);
img = insertShape(img,'Rectangle',bbox);

%多物体检测显示
object = char(sort(unique(label)));
number = size(object);
text = 'Defects:';
text = strcat(text,{32},object(1,:));
if(number(1)>1)
    for j = 2:number(1)
        text = strcat(text,{32},{43},{32},object(j,:));
    end
end
text = strrep(text,'_',' ');
imshow(img);
xlabel(text,'Color','r','FontSize',14)

你可能感兴趣的:(Matlab)