京东金融大数据竞赛猪脸识别(8)- 识别方法之四
2018-03-14 10:27
302 查看
除了softmax层构建的深度网络,Matlab还有一个简单的构建数据分类的函数,那就是patternnet,其用法类似。可以直接对图像特征数据处理,也可以对图像集处理。代码如下:
代码功能与上节京东金融大数据竞赛猪脸识别(6)- 识别方法之三类似,可参看其注释。
%exam1.m 用训练图像特征构建深度网络并计算测试图像得分 clear; load('JDPig_mlhmslbp_spyr.mat'); m = numel(classe_name); n = length(y); label = [] for i=1:n label(:,i) = zeros(m,1); label(y(i),i) = 1; end testImg = load('JDTest_mlhmslbp_spyr.mat'); if ~exist('patternnet.mat') net = patternnet(1000); net = train(net,X,label); fprintf('saving net\n'); save('patternnet.mat','net'); else load('patternnet.mat','net'); fprintf('loading net\n'); end if ~exist('resPatternnet.mat') view(net); scores = net(testImg.X); save('resPatternnet.mat','scores'); else load('resPatternnet.mat','scores'); end fprintf('Testing images!\n'); load('testName.mat','imgName'); for i=1:length(scores) for j=1:m indImg((i-1)*m+j) = imgName(i); plabel((i-1)*m+j) = j; prob((i-1)*m+j) = scores(j,i); end end T = table(indImg',plabel',prob'); writetable(T,'resPatternnet.csv'); fprintf('Image recognition finished!\n');
clear; % 不用特征文件,对图像文件夹进行处理 trainFolder = fullfile(pwd, 'image'); testFolder = fullfile(pwd, 'query'); testSet = imageSet(testFolder); %query image trainImds = imageDatastore(trainFolder,'IncludeSubfolders',true,'FileExtensions','.jpg','LabelSource','foldernames'); testImds = imageDatastore(testFolder,'IncludeSubfolders',false); setNum = numel(qImageSets); y = trainImds.Labels; n = length(y); label = [] for i=1:n label(:,i) = zeros(m,1); label(y(i),i) = 1; end for i=1: if ~exist('patternnet1024.mat') net = patternnet(1024); net = train(net,X,label); fprintf('saving net\n'); save('patternnet1024.mat','net'); else load('patternnet1024.mat','net'); fprintf('loading net\n'); end if ~exist('resPatternnet1024.mat') view(net); scores = net(testImg.X); save('resPatternnet1024.mat','scores'); else load('resPatternnet1024.mat','scores'); end fprintf('Testing images!\n'); load('testName.mat','imgName'); for i=1:length(scores) for j=1:m indImg((i-1)*m+j) = imgName(i); plabel((i-1)*m+j) = j; prob((i-1)*m+j) = scores(j,i); end end T = table(indImg',plabel',prob'); writetable(T,'resPatternnet2000.csv'); fprintf('Image recognition finished!\n');
代码功能与上节京东金融大数据竞赛猪脸识别(6)- 识别方法之三类似,可参看其注释。
相关文章推荐
- 京东金融大数据竞赛猪脸识别(6)- 识别方法之二
- 京东金融大数据竞赛猪脸识别(7)- 识别方法之三
- 京东金融大数据竞赛猪脸识别(5)- 识别方法之一
- 京东金融大数据竞赛猪脸识别(9)- 识别方法之五
- 京东金融大数据竞赛猪脸识别(4)-方法选取
- 京东金融大数据竞赛猪脸识别(3)- 图像特征提取之二
- 京东金融大数据竞赛猪脸识别(1)-从视频提取图像
- 京东金融大数据竞赛猪脸识别(2)- 图像特征提取之一
- 基于机器学习多种方法的kaggle竞赛入门之手写数字的图像识别预测
- 二维物体形状识别方法(二)
- 语音识别方法三:使用Service调用语音识别程序
- java 对部署系统的识别的方法
- [Android 调试] 解决linux系统不识别设备、手机问题方法
- iOS开发教程之手势识别方法
- 无法识别的属性“targetFramework”。请注意属性名称区分大写和小写。错误解决的方法
- 大数据24小时:京东金融发布首个FaaS企业服务云平台,蚂蚁金服研发眼纹识别“黑科技”
- IBM服务器挂接磁盘阵列后的识别方法
- 人脸识别经典算法二:LBP方法
- 【解决方法】服务器未能识别 HTTP 标头 SOAPAction
- 人脸识别方法