这是(shì)opencv SVM图(tú)分类训练图片和测(cè)试图片下载,该训练图(tú)片共有(yǒu)四种(zhǒng),很适合做(zuò)SVM图像分类(lèi)的训练和测(cè)试,图像分类的代码可以(yǐ)自己写(xiě),也可(kě)以用我的工程(chéng)文件。
opencv SVM图分类训练图(tú)片(piàn)和测试图(tú)片是支持(chí)向(xiàng)量机(SVM)中最核心的是什么(me)?个人理解就(jiù)是前4个字——“支持向量”,一(yī)旦在(zài)两(liǎng)类或多累样本集中(zhōng)定位到某些特(tè)定的点作为支持向量(liàng),就可以依据这些支持(chí)向量计(jì)算出来分(fèn)类(lèi)超平面,再依据超平(píng)面对类别(bié)进行归类划分就是水到渠成的事了。有必(bì)要回顾(gù)一下什么是支持向量机中的(de)支(zhī)持(chí)向量。
上图中需要对红色和蓝(lán)色的两类训练样本进(jìn)行区分(fèn),实现绿线是决策面(超平面),最(zuì)靠近决策面的2个实心红色样本和1个实心蓝色(sè)样本分别(bié)是两类训练样(yàng)本的支持向量(liàng),决策面所在的位置是使得两类支持(chí)向量(liàng)与(yǔ)决策面之间的间隔都达到最大时决策面所处的位置。一般情况下,训(xùn)练样本都(dōu)会存(cún)在噪声(shēng),这就(jiù)导致其中一类样本的一个或多个样本跑(pǎo)到了决策面的(de)另一边,掺杂到另一类样本中。针对这种情况,SVM加入了松弛变(biàn)量(liàng)(惩罚变量)来应对,确(què)保这些噪声样本不会被(bèi)作为支持向量,而不管(guǎn)它们离超平面的距离有多(duō)近(jìn)。包括(kuò)SVM中的另一个(gè)重要(yào)概念“核函数”,也是为训练样(yàng)本支(zhī)持(chí)向量的确定提供支持的。
直(zhí)接(jiē)将图片分类好放(fàng)进完好、破损文件(jiàn)夹(jiá),完好文(wén)件夹全体重(chóng)命名为1破(pò)损文(wén)件(jiàn)夹全体重(chóng)命(mìng)名为2,测(cè)试文(wén)件(jiàn)夹(jiá)全体重命名为(wéi)3,重(chóng)命名(míng)后后即可运行项目(mù),完成svm分类训练(liàn)出(chū)分类模型svm.xml,并进行预测图片分类。
