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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了京东金融大数据竞赛猪脸识别- 识别方法之五相关的知识,希望对你有一定的参考价值。

这里给出使用深度网络中间层输出结果作为图像特征,并构建分类模型和对训练数据进行识别的代码。相关内容可参看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%。这段代码不是比赛用的完整代码,不过用法类似。

以上是关于京东金融大数据竞赛猪脸识别- 识别方法之五的主要内容,如果未能解决你的问题,请参考以下文章

京东金融大数据竞赛猪脸识别- 识别方法之二

京东金融大数据竞赛猪脸识别- 识别方法之三

京东金融大数据竞赛猪脸识别-方法选取

京东金融大数据竞赛猪脸识别- 图像特征提取之二

京东金融大数据竞赛猪脸识别- 图像特征提取之一

京东金融大数据竞赛猪脸识别-从视频提取图像