码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-03-14 11:21:14      阅读:241      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!