口罩佩戴检测(四):性能对比及实践评估

技术凯 2021-01-08 03:12:37 5042

  本篇文章主要对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使用多项式核时,泛化效果同样相对于使用其他核甚至是线性核更差一些。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 86 7 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
技术凯
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区