首页 > 其他 > 详细

京东金融大数据竞赛猪脸识别(9)- 识别方法之五

时间:2018-03-14 11:18:48      阅读:325      评论:0      收藏:0      [点我收藏+]
这里给出使用深度网络中间层输出结果作为图像特征,并构建分类模型和对训练数据进行识别的代码。相关内容可参看Matlab图像识别/检索系列(7)-10行代码完成深度学习网络之取中间层数据作为特征。代码如下:

clear
trainPath = fullfile(pwd,‘image‘);
trainData = imageDatastore(trainPath,...
        ‘IncludeSubfolders‘,true,‘LabelSource‘,‘foldernames‘);
%对训练数据集进行划分
[trainingImages,testImages] = splitEachLabel(trainData,0.7,‘randomized‘);
numTrainImages = numel(trainingImages.Labels);
%设定要加载的预训练模型
% net1 = googlenet;
% net2 = vgg16;
% net = vgg19;
net = alexnet;
layer = ‘fc7‘;
%提取第7层网络输出数据
trainingFeatures = activations(net,trainingImages,layer);
testFeatures = activations(net,testImages,layer);
trainingLabels = trainingImages.Labels;
testLabels = testImages.Labels;
%训练多分类模型
classifier = fitcecoc(trainingFeatures,trainingLabels, ‘FitPosterior‘,1);
%预测数据的类别
predictedLabels = predict(classifier,testFeatures);
[label,NegLoss,PBScore,Posterior] = predict(classifier,testFeatures);
idx = [1 5 10 15];
figure
for i = 1:numel(idx)
    subplot(2,2,i)
    I = readimage(testImages,idx(i));
    label = predictedLabels(idx(i));
    imshow(I);
    title(char(label));
end
%计算准确率
accuracy = mean(predictedLabels == testLabels);

该方法在csv文件上传后得分在1左右,排名约在前8%。这段代码不是比赛用的完整代码,不过用法类似。

京东金融大数据竞赛猪脸识别(9)- 识别方法之五

原文:http://blog.51cto.com/8764888/2086360

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!