基于libsvm的gist和phog特征的图像分类研究(3)

2019-09-01 13:47

[predict_label, accuracy, dec_values] = svmpredict(T,D, model); T2=toc

松竹梅训练样本代码:

clc clear all close all tic

%读入训练图像;

A=dir('D:\\松竹梅gist\\train\\*.jpg'); C=[];

for k=1:size(A)%k为训练图像的总数; B=strcat('D:\\松竹梅gist\\train\\',A(k).name); img=imread(B);

%获取图像的GIST特征向量; Nblocks = 4; imageSize = 60;

orientationsPerScale = [8 8 8 8];%每个数值范围的方向数量 numberBlocks = 4;

createGabor(orientationsPerScale, imageSize); G = createGabor(orientationsPerScale, imageSize); output = prefilt(double(img), 4);

g = gistGabor(output, numberBlocks, G); C(k,:)=g;%C为该图像的特征矩阵; end

%设置训练图像标签; s=[]; for i=1:3

A=i*ones(10,1); s=[s;A]; end

%对图像进行训练; model = svmtrain(s, C); T1=toc

松竹梅测试样本代码: tic

A=dir('D:\\松竹梅gist\\test\\*.jpg'); D=[];

%读入测试图像;

for k=1:size(A)%k为测试图像的总数; B=strcat('D:\\松竹梅gist\\test\\',A(k).name);

img=imread(B);

%获取图像的GIST特征向量; Nblocks = 4; imageSize = 60;

orientationsPerScale = [8 8 8 8];%每个数值范围的方向数量 numberBlocks = 4;

createGabor(orientationsPerScale, imageSize); G = createGabor(orientationsPerScale, imageSize); output = prefilt(double(img), 4); g = gistGabor(output, numberBlocks, G); D(k,:)=g;%C为该图像的特征矩阵; end T=[]; for i=1:3

A=i*ones(30,1); T=[T;A]; end

%对图像进行测试;

[predict_label, accuracy, dec_values] = svmpredict(T,D, model); T2=toc

4.1.2 测试结果

梅兰竹菊gist测试结果:对其进行四分类,其中每一类的训练图像为10幅,测试图像为30幅,测试时间为t=t1+t2=10.5512+20.4377=30.9889S,Accuracy = 87.5% (105/120) 。当改成orientationsPerScale=[8, 8, 4]时,测试结果变为t=t1+t2=7.6699+14.1259=21.7958S,Accuracy = 84.1667% (101/120) 。

松竹梅gist测试结果:对其进行三分类,其中每一类的训练图像为10幅,测试图像为30幅,测试时间为t=t1+t2=5.7285+15.0340=20.7625S,Accuracy = 91.1111% (82/90) 。

4.2 基于libsvm的phog特征提取分类仿真结果

4.2.1 代码及注释 梅兰竹菊训练样本代码:

clc clear all

close all tic

%显示训练图像工作路径; cd('D:\\梅兰竹菊phog\\train') files=dir('*.jpg');

m=size(files,1);%m为训练图像的总数; %获取训练图像的PHOG特征向量; bin = 8;%直方图的方向个数; angle = 360;%方向角度; L=3;%图像分三层;

roi = [1;60;1;60];%提取图像大小; C=[]; for k=1:m

p = anna_phog(files(k).name,bin,angle,L,roi); C(k,:)=p;%C为该图像的特征矩阵; end

%设置训练图像标签 s=[];

for i=1:4 A=i*ones(10,1); s=[s;A]; end

%对图像进行训练; model = svmtrain(s, C); T1=toc

梅兰竹菊测试样本代码: tic

%显示测试图像工作路径; cd('D:\\梅兰竹菊phog\\test') files=dir('*.jpg');

m=size(files,1);%m为测试图像的总数; %获取测试图像的PHOG特征向量; bin = 8;%直方图的方向个数; angle = 360;%方向角度; L=3;%图像分三层;

roi = [1;60;1;60];%提取图像大小; D=[]; for k=1:m

p = anna_phog(files(k).name,bin,angle,L,roi); D(k,:)=p;%D为该图像的特征矩阵; end

%设置测试图像标签

T=[];

for i=1:4 A=i*ones(30,1); T=[T;A]; end

%对图像进行测试;

[predict_label, accuracy, dec_values] = svmpredict(T,D, model); T2=toc

松竹梅训练样本代码:

clc clear all close all Tic;

%显示训练图像工作路径; cd('D:\\松竹梅phog\\train') files=dir('*.jpg');

m=size(files,1);%m为训练图像的总数; %获取训练图像的PHOG特征向量; bin = 8;%直方图的方向个数; angle = 360;%方向角度; L=3;%图像分三层;

roi = [1;60;1;60];%提取图像大小; C=[]; for k=1:m

p = anna_phog(files(k).name,bin,angle,L,roi); C(k,:)=p;%C为该图像的特征矩阵; end

%设置训练图像标签 s=[];

for i=1:3 A=i*ones(10,1); s=[s;A]; end

%对图像进行训练; model = svmtrain(s, C); T2=toc

松竹梅测试样本代码: Tic;

%显示测试图像工作路径; cd('D:\\松竹梅phog\\test')

files=dir('*.jpg');

m=size(files,1);%m为测试图像的总数; %获取测试图像的PHOG特征向量; bin = 8;%直方图的方向个数; angle = 360;%方向角度; L=3;%图像分三层;

roi = [1;60;1;60];%提取图像大小; D=[]; for k=1:m

p = anna_phog(files(k).name,bin,angle,L,roi); D(k,:)=p;%D为该图像的特征矩阵; end

%设置测试图像标签 T=[];

for i=1:3 A=i*ones(30,1); T=[T;A]; end

%对图像进行测试;

[predict_label, accuracy, dec_values] = svmpredict(T,D, model); T2=toc;

4.2.2 测试结果

梅兰竹菊phog测试结果:对其进行四分类,其中每一类的训练图像为10幅,测试图像为30幅,测试时间为t=t1+t2=8.6881+10.0942=18.7823S,Accuracy = 53.3333% (64/120) 。改成L=0时,t=t1+t2=1.3464+2.0309=3.3773S,Accuracy = 43.3333% (52/120) ;改成L=2时,t=t1+t2=1.7162+3.2901=5.0063S,Accuracy = 51.6667% (62/120) 。

松竹梅phog测试结果:对其进行三分类,其中每一类的训练图像为10幅,测试图像为30幅,测试时间为t=t1+t2=2.3445+5.1615=7.506S,Accuracy = 70% (63/90)

roi

=

[15;45;15;45]

t=t1+t2=2.5186+5.8621=8.3807S,Accuracy = 75.5556% (68/90)。

4.3 基于libsvm的gist特征分类不同训练集测试结果


基于libsvm的gist和phog特征的图像分类研究(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初级会计实务(2016) 第7章 财务报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: