口罩佩戴检测(四):性能对比及实践评估
本篇文章主要对svm分类器的性能进行对比评估,对比算法为bp算法,然后用自己的照片进行实际识别与评估
一、与BP神经网络对比
对比算法matlab代码如下:
(1)导入数据并处理,建立神经网络,网络有一个隐藏层,大小为30个神经元。隐藏层传递函数为’tansig’函数,输出层传递函数为’logsig’函数,优化方法使用GDA,最大迭代次数设为1000,
clear
load('dataset_processed.mat')
tic
% 处理标签数据
Training_label(Training_label==0)=-1;
% 归一化数据
[Training,bp_ps]=mapminmax(Training_b);
Testing=mapminmax('apply',Testing_b,bp_ps);
% 建立bp神经网络
net_bp=newff(Training,Training_label,[30],{'tansig','logsig'},'traingda');
net_bp.trainParam.epochs=1000;
net_bp.trainParam.max_fail=200;
(2)训练并预测
% 训练
net_bp=train(net_bp,Training,Training_label);
% 预测
test_num=size(Testing,2);
predict=sim(net_bp,Testing);
predict(predict>=0.5)=1;
predict(predict<0.5)=0;
acc=sum(predict==Testing_label)/test_num;
fprintf('正确率是:%.2f%%\n',acc*100);
save('model.mat','net_bp','bp_ps','-append');
toc
完整代码如下:
clear
load('dataset_processed.mat')
tic
% 处理标签数据
Training_label(Training_label==0)=-1;
% 归一化数据
[Training,bp_ps]=mapminmax(Training_b);
Testing=mapminmax('apply',Testing_b,bp_ps);
% 建立bp神经网络
net_bp=newff(Training,Training_label,[30],{'tansig','logsig'},'traingda');
net_bp.trainParam.epochs=1000;
net_bp.trainParam.max_fail=200;
% 训练
net_bp=train(net_bp,Training,Training_label);
% 预测
test_num=size(Testing,2);
predict=sim(net_bp,Testing);
predict(predict>=0.5)=1;
predict(predict<0.5)=0;
acc=sum(predict==Testing_label)/test_num;
fprintf('正确率是:%.2f%%\n',acc*100);
save('model.mat','net_bp','bp_ps','-append');
toc
(3)输出结果:
总结:
显然,数据样本是线性可分的。通过SVM与BP神经网络对比发现,在测试集的预测方面,BP要优于SVM。此次分类任务是线性可分的,所以SVM的核函数优势并没有体现出来。
二、使用模型进行实际预测
预测数据集中没有的数据(自己的照片),观察效果,检测模型的泛化能力。
1、使用SVM线性核进行预测
正确率:83%
2、使用SVM多项式核进行预测
正确率:67%
3、使用SVM的RBF核进行预测
正确率:83%
4、使用SVM的sigmoid核进行预测
正确率:83%
5、使用bp神经网络进行预测
正确率50%
三、总结
根据实验结果我们可以看出,虽然在测试集的分类效果很好,但是实际在使用我们自己拍摄的照片并没有很好的效果,正确率下降了不少。我们对比了训练集、测试集、和自己拍摄的照片发现训练集和测试集的照片对比度相对更高,口罩和脸部的色差更大,我们的照片则是佩戴了白色口罩,而且拍摄照片时光照较强,脸上也有不规则阴影导致判别难度增加所以,口罩佩戴识别正确率下降了。我们会在后续的工作中增加训练集的样本,采用更丰富的照片样本来使得我们分类器的性能更加好。在和别的分类器对比过程中我们发现虽然在我们的测试样本中,bp表现出优异的性能,但是预测我们自己的照片时,性能相对于svm较差。这说明svm分类器的泛化性能优于bp神经网络分类器,这也符合我们在之前分析SVM分类器在相同样本时候具有强大的推广和泛化能力。此外,svm使用多项式核时,泛化效果同样相对于使用其他核甚至是线性核更差一些。
- 分享
- 举报
-
浏览量:6929次2021-01-08 02:45:30
-
浏览量:6207次2021-01-08 02:27:20
-
浏览量:229次2023-08-03 15:44:04
-
浏览量:9176次2021-01-08 01:26:48
-
浏览量:616次2024-02-18 14:24:39
-
浏览量:884次2023-06-07 14:19:47
-
浏览量:3069次2024-03-18 11:50:01
-
浏览量:5864次2021-07-09 11:16:51
-
浏览量:4959次2021-02-04 16:47:25
-
浏览量:2073次2020-07-03 14:08:01
-
浏览量:1364次2023-03-15 09:05:04
-
浏览量:417次2023-09-25 14:19:19
-
浏览量:6458次2022-08-11 09:31:37
-
浏览量:4430次2022-10-10 15:32:19
-
浏览量:4881次2022-09-20 15:23:26
-
浏览量:3564次2022-02-06 09:00:19
-
浏览量:2003次2020-05-14 10:34:23
-
浏览量:2017次2020-04-11 10:22:37
-
浏览量:840次2023-07-18 16:09:02
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
技术凯
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明