www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I5_02_videoLabeler.m

    %% Video Labeler偵傛傞儔儀儕儞僌偲専弌婍妛廗

%% 弶婜壔
clc;clear;close all;imtool close all; rng('default');

%% 梊傔儔儀儕儞僌偟偨groundTruth僆僽僕僃僋僩偺僷僗傪廋惓
d = load('I5_02_videoLabeler_GroundTruth.mat');
gTruth = d.gTruth;
oldPathDataSource = "C:\Program Files\MATLAB\R2018b\toolbox\vision\visiondata";
newPathDataSource= fullfile(toolboxdir('vision'),"visiondata");
alterPaths = [oldPathDataSource newPathDataSource];
unresolvedPaths = changeFilePaths(gTruth,alterPaths);

%% Video Labeler 傪婲摦丗壓婰僐儅儞僪傕偟偔偼傾僾儕僞僽偐傜
videoLabeler('visiontraffic.avi')

% ROI儔儀儖偺掕媊乿僙僋僔儑儞偺乽怴偟偄ROI儔儀儖偺掕媊乿偱乽car乿傪Rectangle偲偟偰嶌傞
% 奺夋憸偱幵椉傪僪儔僢僌偱埻傓
% 儔儀儕儞僌嵪傒僨乕僞傪庢傝崬傓応崌偼乽儔儀儖傪僀儞億乕僩乿仺乽儚乕僋僗儁乕僗偐傜乿偱
%丂gTruth傪慖戰

%% groundTruth僆僽僕僃僋僩偐傜妛廗僨乕僞惗惉
imDir = 'I5_02_trainingImages';
[~,~,~] = mkdir(imDir);
trainingData  = objectDetectorTrainingData(d.gTruth,'WriteLocation',imDir);

%% 僥僗僩夋憸1枃偲巆傝偺妛廗夋憸偵暘偗傞
testData = trainingData(15,:);
trainingData(15,:) = [];

%% 妛廗僆僾僔儑儞偺巜掕
options = trainingOptions('sgdm', ...
    'MiniBatchSize', 1, ...
    'InitialLearnRate', 1e-3, ...
    'MaxEpochs', 3, ...
    'VerboseFrequency', 200);

%% Faster R-CNN暔懱専弌婍傪妛廗
% GPU偺巊梡悇彠
detector = trainFasterRCNNObjectDetector(trainingData, 'alexnet', options)

%% 妛廗偟偨Faster R-CNN暔懱専弌婍傪僥僗僩
% 僥僗僩夋憸撉傒崬傒
img = imread(testData.imageFilename{1});
% 暔懱専弌
[bboxes, scores, labels] = detect(detector, img);
% 寢壥傪昞帵
detectedImg = insertObjectAnnotation(img, 'Rectangle', bboxes, cellstr(labels));
figure, imshow(detectedImg)

%%
% Copyright 2018 The MathWorks, Inc.