《SVM+HOG特征识别.docx》由会员分享,可在线阅读,更多相关《SVM+HOG特征识别.docx(3页珍藏版)》请在优知文库上搜索。
1、最终结果:(列举几个)Predict(C:UserszydDesktop第七周数据集img999.jpg);Predict(,C:UserszydDesktop第七周数据集imgl999.jpg);Predict(,C:UserszydDesktop第七周数据集img2999.jpg);Predict(C:UserszydDesktop第七周数据集img3999.jpg);测试集(文件夹test)共有AB图片362张,NB图片32张(提前标注好);识别结果如下:35210032即AB中有10张错误识别为NB,NB识别率为100%总体正确率为98.62%有一些图像.感觉也不太能强求程序识别.好像
2、我自己也判断不出来是NB还是AB-算法流程:1 .首先建立图库,通过matlab作图,绘出所有数据的图像,略去图像中的横纵坐标与图像边框,结果保存至数据集中(好像有IW多张FjPgEjwim9jiP9m95iWFjp9F7gFjP9.jpgi三9n4P9Fl2利F3iP9FMjpgF5jpgFeiPg1t9ip9EHinElojroimg2ajp9im92ljpgm9jp9i94P9i9jp91t9Mip9im9P9gQggaijpeim9jp9im9”jP9叼“jP9FT利E*9Fwjpgi90P9im941iP9im942jpgim944gF4XP9m9jp9,乂,iw94aP9Fso/9
3、F9F物f松im4jp9g5p9im9%jgFS7jp9Fmjp9FW*92 .手动标注一些图像,建立训练集与测试集,将正常(NB)放于NB文件夹内,异步(AB)放于AB文件夹内。ABNB训练集文件夹名为图,测试集文件夹名为test(测试集也标注好了.可以用来判断最终算法的准确性)3 .在程序中设置好对应路径dir=(C:UserszydDesktop第七周图);testdir=(C:UserszydDesktop第七周test);trainingSet=ImageSet(dir,recursive,);testSet=imageSet(testdir,recursive,);4 .将图像重整
4、为256*256(原图像较大)5 .BxtractHOGFeatures函数获取图像HOG特征(Inatlab中自带函数)参数原理等不再赘述6 .建立分类器(fitcecoc函数)classifier=fitcecoc(trainingFeatures,trainingLabels);输入图像特征与该图像对应的标签(NB还是AB)训练7 .循环迭代训练集中的所有图像8 .训练完成9 .调用测试集,获取测试集图片HOG,并通过训练好的SVM模型预测该特征下,图片是AB还是NBPredictedLabel=predict(classifier,testFeature);10 .循环迭代所有测试集IL误差分析。程序结构:MainLln主函数,调用特征获取函数、训练SVM、调用PrediCt预测extractFeature.m循环迭代获取图像特征,并对应其标签getGLCMFeatures.m自定特征,从上文件中调用获取,整合为一个特征向量PrCdiCt.m预测结果,输入路径,标注图像标签后返回。