-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmineacf.m
53 lines (39 loc) · 1.3 KB
/
mineacf.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
imagedir=dir('data-USA/images/set00/V014');
imagedir=imagedir(~ismember({imagedir.name},{'.','..','._*'}));
annotdir=dir('data-USA/annotations/set00/V014');
annotdir=annotdir(~ismember({annotdir.name},{'.','..','._*'}));
detector = peopleDetectorACF('caltech-50x21');
%[bbox, score] = detect(detector, img);
%%
for i=1:numel(annotdir)
ffp=fullfile(annotdir(i).folder,annotdir(i).name);
ffpi=fullfile(imagedir(i).folder,imagedir(i).name);
bbs=importbboxes(ffp);
img= imread(ffpi);
[bbox, score] = detect(detector, img);
if numel(bbox)>0 break; end
i,
end
img = insertShape(img, 'Rectangle', bbox);
img = insertShape(img, 'Rectangle', bbs, 'Color','red');
imshow(img)
%%
net =vgg16;
inputSize = net.Layers(1).InputSize;
layersTransfer = net.Layers(1:end-3);
numClasses=2;
layers = [
layersTransfer
fullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)
softmaxLayer
classificationLayer];
options = trainingOptions('sgdm', ...
'MiniBatchSize',10, ...
'MaxEpochs',6, ...
'InitialLearnRate',1e-4, ...
'ValidationData',augimdsValidation, ...
'ValidationFrequency',3, ...
'ValidationPatience',Inf, ...
'Verbose',false, ...
'Plots','training-progress');
netTransfer = trainNetwork(augimdsTrain,layers,options);