如何训练分类器

合集下载

熟悉分类器的基本原理与使用方法

熟悉分类器的基本原理与使用方法

熟悉分类器的基本原理与使用方法近年来,随着机器学习技术的发展,分类器已成为一种常用的分类算法。

分类器的作用是根据已有的数据集来分类新的数据。

本文将重点介绍分类器的基本原理与使用方法。

一、分类器的基本原理分类器的基本原理是通过对已有的数据进行学习,建立分类模型,再利用该模型对新的数据进行分类。

具体而言,分类器分为两个阶段:1.训练阶段训练阶段是分类器的学习过程。

这个阶段我们需要准备好一组已经分类好的数据,即训练数据集。

分类器通过学习这些数据集中的种类和规律,建立分类模型,并对训练数据集的正确率进行训练。

分类器训练的目标是使分类模型对未知数据的分类准确率尽可能高。

2.测试阶段测试阶段是分类器应用模型将未知数据进行分类的过程。

在测试阶段中,我们需要将新的数据输入模型,让分类器根据模型对数据进行分类。

分类器会将新数据分到已知分类中,并给出分类概率值,这样我们可以根据概率值来判断分类标签是否正确。

二、分类器的使用方法分类器的使用步骤如下:1.准备数据集分类器需要用到已知分类的数据,所以我们需要准备好一个训练数据集。

在准备数据集时,我们需要注意以下几点:(1)数据集应该足够大,充分反映出数据的统计规律。

(2)数据集应该涵盖所有分类情况,尽量多样化。

(3)数据集应该保持一致性,避免数据集中出现错误或者不一致的情况。

2.选择分类器选择合适的分类器是分类任务的关键。

目前常用的分类器有:朴素贝叶斯分类器、决策树分类器、支持向量机分类器、逻辑回归分类器等。

在选择分类器时应考虑以下因素:(1)样本数量。

(2)样本维度。

(3)分类数据分布特征。

(4)分类准确性要求。

3.训练分类器在选择合适的分类器后,我们需要对分类器进行训练。

分类器学习的过程主要包括以下几个步骤:(1)导入数据。

(2)划分训练集和测试集。

(3)训练分类器。

(4)评估模型性能。

4.测试分类器训练完成后,我们需要对分类器进行测试。

在测试过程中,我们需要将新的数据输入训练好的分类模型,分类器将返回分类结果以及该结果的概率值。

贝叶斯分类器训练过程

贝叶斯分类器训练过程

贝叶斯分类器训练过程贝叶斯分类器是一种常用的机器学习算法,它基于贝叶斯定理进行分类。

贝叶斯分类器的训练过程包括以下几个关键步骤:数据预处理、特征提取、概率计算和分类决策。

数据预处理是贝叶斯分类器训练过程的第一步。

在这一步中,我们需要对原始数据进行清洗和整理,以便后续的特征提取和概率计算。

常见的数据预处理操作包括去除噪声、处理缺失值、标准化数据等。

接下来,特征提取是贝叶斯分类器训练过程中的关键步骤之一。

特征提取是指从原始数据中提取出能够反映样本特点的特征。

常见的特征提取方法包括词袋模型、TF-IDF、n-gram模型等。

在这一步中,我们可以利用文本数据的词频、关键词等信息来构建特征向量。

然后,概率计算是贝叶斯分类器训练过程中的核心步骤。

在这一步中,我们需要计算每个类别的先验概率和条件概率。

先验概率是指在不考虑任何特征的情况下,某个样本属于某个类别的概率。

条件概率是指在给定某个特征的情况下,某个样本属于某个类别的概率。

根据贝叶斯定理,可以通过先验概率和条件概率来计算后验概率,从而进行分类。

分类决策是贝叶斯分类器训练过程中的最后一步。

在这一步中,我们需要根据计算得到的后验概率来决定样本的类别。

通常,我们选择后验概率最大的类别作为样本的分类结果。

在进行分类决策时,还可以设置一个阈值,根据后验概率的大小来进行判断。

贝叶斯分类器的训练过程包括数据预处理、特征提取、概率计算和分类决策这几个关键步骤。

通过这些步骤,我们可以从原始数据中提取有用的特征,并计算出各个类别的概率,从而实现对新样本的分类。

贝叶斯分类器在文本分类、垃圾邮件过滤等领域具有广泛的应用,通过不断优化和改进训练过程,可以提高分类器的准确性和性能。

java-opencv-训练自己的物体分类器

java-opencv-训练自己的物体分类器

java-opencv-训练⾃⼰的物体分类器收集正,负样本(刚开始可以先⽤50~100左右的样本量试试看,正,负样本数量最好⼤于1000,具体看个⼈感觉)。

正样本,需要做识别物体的图⽚(本⽂收集60张):正样本负样本,任意不包含正样本的图⽚(本⽂收集106张):第⼆步:调整样本,并⽣成样本描述⽂件调整样本----将正,负样本转换灰度(本⽂采⽤:IMREAD_GRAYSCALE),调整⼤⼩(本⽂采⽤:正20X20,负50X50)(据说,正20X20最佳)。

调整后正样本:调整后负样本:⽣成样本描述⽂件:cmd 进⼊posdata⽬录,执⾏ dir /b/s/p/w *.jpg > pos.txt同理进⼊negdata⽬录,执⾏ dir /b/s/p/w *.jpg > neg.txtpos.txt内容如下:neg.txt内容如下:修改pos.txt⽂件(neg.txt不⽤修改)如下:“1 0 0 20 20”,为固定格式,其中20指的是照⽚的像素⼤⼩。

第三步:⽣成.vec⽂件将\opencv\build\x64\vc14\bin 下的所有⽂件复制到posdata⽬录同级⽬录下;将上⼀步最后⽣成的pos.txt,neg.txt⽂件也放⼊该同级⽬录,如下:cmd 进⼊该⽬录,执⾏:opencv_createsamples.exe -vec pos.vec -info pos.txt -num 60 -w 20 -h 20其中-num 60,指的是图⽚的数量,-w 20 -h 20,指的是图⽚的规格。

创建traincascade.bat⽂件,添加内容:opencv_traincascade.exe -data xml -vec pos.vec -bg neg.txt -numPos 48 -numNeg 80 -numStages 10 -w 20 -h 20 -mode ALLpause其中-numPos 48为训练取的正样本的样本(取样本数量的0.8~0.9,本⽂取48),-numNeg 80为训练取的负样本的样本(取样本数量的0.8~0.9,本⽂取80),-numStages 10 表⽰训练的层数(建议15~20,本⽂取10),此时⽬录中⽂件如下;双击运⾏traincascade.bat,如下:在xml⽬录下⽣成的cascade.xml⽂件就是训练出来的分类器。

opencv级联分类器训练与使用

opencv级联分类器训练与使用

opencv级联分类器训练与使用什么是级联分类器?级联分类器是一种机器学习模型,用于目标检测和识别。

它是由多个分类器级联组成的模型,每个分类器都有不同的检测强度。

这种级联结构能够有效地筛选出具有较高置信度的正样本,从而加快目标检测速度,同时保持较高的检测准确性。

级联分类器的训练过程:1. 收集训练样本:首先需要收集一些正样本和负样本作为训练样本。

正样本是我们要识别的目标,而负样本则是与目标无关的背景图像。

这些样本应该尽可能覆盖实际应用中可能出现的情况。

2. 特征提取:对于每个训练样本,我们需要提取一些特征来描述图像中的目标。

OpenCV中常用的特征是Haar特征,它可以描述图像中的边缘和纹理等信息。

3. 训练分类器:利用提取的特征,我们可以使用AdaBoost算法训练分类器。

AdaBoost算法是一种迭代训练方法,它通过一系列弱分类器的加权组合来构建一个强分类器。

在每一轮迭代中,AdaBoost会根据分类错误的样本进行权重调整,以便更好地分类错误的样本。

4. 级联分类器的构建:通过训练得到的强分类器,我们可以将它们级联在一起,形成一个级联分类器。

级联分类器的结构通常是以层级的形式组织起来,每一层都包含若干个分类器。

级联分类器的使用过程:1. 加载分类器:首先需要加载训练好的级联分类器模型。

OpenCV提供了一个专门的类——CascadeClassifier来实现这个功能。

可以使用CascadeClassifier类的load方法来加载级联分类器的XML文件。

2. 图像预处理:在进行目标检测之前,我们需要对待检测图像进行一些预处理操作,以提高检测的准确性和速度。

这些预处理操作可以包括图像灰度化、直方图均衡化等。

3. 目标检测:通过调用CascadeClassifier类的detectMultiScale方法,传入待检测的图像,即可进行目标检测。

该方法会返回一组矩形框表示检测到的目标位置。

4. 结果展示:最后,我们可以在原始图像上绘制矩形框来标记检测到的目标位置,从而直观地展示检测结果。

stacking法分类

stacking法分类

stacking法分类摘要:一、引言二、stacking 法的定义和原理三、stacking 法在分类任务中的应用四、stacking 法的优点与局限五、结论正文:一、引言随着人工智能的不断发展,分类问题在机器学习领域中占据了重要地位。

为了提高分类模型的性能,研究者们提出了许多分类算法。

其中,stacking 法作为一种集成学习方法,已经在许多分类任务中取得了显著的成果。

本文将详细介绍stacking 法的原理、应用以及优缺点。

二、stacking 法的定义和原理Stacking(堆叠)法是一种集成学习方法,它的核心思想是将多个基分类器的输出结果进行组合,以提高分类性能。

具体来说,stacking 法分为两个阶段:训练阶段和测试阶段。

1.训练阶段:首先,使用一部分数据训练多个基分类器。

这些基分类器可以是不同的分类算法,如决策树、支持向量机等。

2.测试阶段:将训练好的基分类器应用于测试数据集,得到每个样本的预测结果。

然后,根据这些预测结果,训练一个元分类器。

元分类器的任务是根据基分类器的输出结果,对样本进行重新分类。

三、stacking 法在分类任务中的应用Stacking 法在分类任务中的应用十分广泛,尤其是在数据集较大、类别不平衡或者数据集复杂的情况下。

通过使用多个基分类器,stacking 法能够提高分类性能,减小过拟合和欠拟合的风险。

同时,stacking 法具有较强的适应性,可以应用于多种不同的分类问题。

四、stacking 法的优点与局限1.优点:(1)提高分类性能:通过组合多个基分类器的输出结果,stacking 法能够提高分类准确率。

(2)具有较强的适应性:stacking 法可以应用于多种不同的分类问题,无论是在数据集较大还是较小的情况下,都能取得较好的效果。

(3)易于实现:stacking 法的实现相对简单,只需要在训练和测试阶段分别对基分类器和元分类器进行训练即可。

2.局限:(1)计算复杂度较高:由于需要训练多个基分类器和元分类器,stacking 法的计算复杂度较高,特别是在处理大规模数据集时。

ENVI监督分类步骤

ENVI监督分类步骤

ENVI监督分类步骤ENVI是一种广泛使用的遥感图像分析软件,用于处理和分析多光谱、高光谱和雷达数据。

其中一个功能是进行监督分类,它是通过已标记的训练样本来训练分类器,然后使用分类器对未知像素进行分类。

下面是进行ENVI监督分类的步骤:1.数据准备:在进行监督分类之前,首先需要准备好遥感图像数据。

这包括获取遥感图像数据并导入到ENVI软件中。

确保数据是正确的,包括地理校正和辐射校正。

这些步骤将确保图像数据的准确性和一致性。

2.创建训练样本:在监督分类过程中,需要创建一些训练样本,这些样本用于训练分类器。

训练样本是经过标记的像素,表示各个类别的特征。

在ENVI中,可以使用“ROI工具”手动创建训练样本。

通过选择一个感兴趣区域,并为其分配一个特定的类别,可以创建一个训练样本。

3.设置训练参数:在进行监督分类之前,需要设置一些训练参数。

这些参数包括分类器类型(如像素或对象级别),分类器方法(如最大似然估计或支持向量机)以及其他相关参数,如类别权重和执行群集。

4.训练分类器:一旦训练样本和参数准备好,就可以开始训练分类器了。

在ENVI中,可以使用“Train Iso Cluster”或“Train Support Vector Machine”等工具对训练样本进行分类器训练。

该过程将使用训练样本中的特征来训练分类器,并生成一个能够对未知数据进行分类的模型。

5.分类预测:在分类器训练后,可以使用该模型对未知数据进行分类预测。

在ENVI中,可以使用“Predict Classification”工具来对整个图像或一部分图像进行分类。

该工具将应用训练得到的模型,并基于像素的特征将其分类为相应的类别。

6.评估分类结果:一旦分类预测完成,就可以评估分类结果了。

在ENVI中,可以使用“Confusion Matrix”工具来计算分类的准确性、精度和召回率。

该工具将根据已知的分类结果和分类预测结果来计算这些指标。

7.优化分类结果:如果分类结果不满意,可以考虑对分类器进行优化。

beagle用法

beagle用法

beagle用法一、概述Beagle是一款流行的轻量级搜索引擎,广泛应用于信息检索、内容发现和数据挖掘等领域。

它基于朴素贝叶斯分类器,具有较高的准确率和快速的处理速度。

在本文档中,我们将介绍如何使用Beagle进行文本分类和垃圾邮件过滤等任务。

二、安装和配置1. 下载和安装Beagle库:可以从官方网站或GitHub上下载Beagle库,并按照安装指南进行安装。

2. 配置环境变量:确保已正确配置Python环境变量,以便能够运行Beagle 代码。

3. 导入Beagle库:在Python代码中导入Beagle库,以便使用其功能。

三、使用Beagle进行文本分类1. 准备数据集:将待分类的文本数据集分为训练集和测试集,并使用适当的文本预处理技术(如分词、去除停用词等)对数据进行预处理。

2. 训练分类器:使用训练集训练Beagle分类器,指定分类器的类别数量和相关参数。

3. 测试分类器:使用测试集评估分类器的性能,并生成分类报告。

4. 应用分类器:将训练好的分类器应用于实际数据集,实现文本分类任务。

四、示例代码以下是一个简单的示例代码,演示如何使用Beagle进行文本分类:```pythonimport beagle# 准备数据集train_texts = ["这是垃圾邮件", "这是一个有用的邮件", "这是一个广告邮件"]train_labels = [0, 1, 2] # 类别标签test_text = "这是一个广告邮件"# 训练分类器beagle.train(train_texts, train_labels)# 测试分类器test_label = beagle.predict(test_text)[0] # 返回预测的类别标签print("预测结果:", test_label)# 应用分类器到实际数据集actual_labels = [0, 1, 2, 2] # 实际类别标签列表predictions = beagle.predict_many(actual_labels) # 批量预测结果列表```五、注意事项1. Beagle对文本预处理要求较高,建议使用适当的文本预处理技术对数据进行预处理,以提高分类器的性能。

adaboost例题

adaboost例题

adaboost例题AdaBoost(Adaptive Boosting)是一种集成学习方法,通过反复迭代训练多个弱分类器,最终得到一个强分类器。

下面我们来看一个AdaBoost的例题。

假设我们有一个数据集,包含100个样本和两个特征,目标变量为二分类问题。

我们希望使用AdaBoost算法来训练一个分类器,能够对新样本进行准确的分类。

首先,我们随机初始化样本的权重,假设每个样本的初始权重都为1/100。

然后,我们开始迭代训练弱分类器。

在第一次迭代中,我们使用第一个弱分类器来训练样本。

弱分类器在训练时会根据样本权重来调整权重,以更加关注被错误分类的样本。

训练完成后,我们计算出分类器的错误率,并根据错误率来更新样本权重。

在第二次迭代中,我们使用第二个弱分类器来训练样本。

同样地,训练完后我们计算错误率并更新样本权重。

迭代过程持续进行,直到达到预设的迭代次数或错误率达到某个阈值。

最后,将所有弱分类器的权重相加,得到最终的分类器。

AdaBoost算法的特点是能够逐渐提升分类器的性能,并且对于弱分类器的选择没有特别的限制,可以使用任意的分类算法作为弱分类器。

除了二分类问题,AdaBoost也可以用于多分类问题和回归问题。

在多分类问题中,可以使用一对多的方式来训练多个分类器。

在回归问题中,可以将AdaBoost算法应用于基于树的回归模型。

总结起来,AdaBoost是一种强大的集成学习算法,通过迭代训练多个弱分类器,能够得到一个准确性能较高的强分类器。

它在实际应用中取得了很好的效果,被广泛应用于各种机器学习问题中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何用OpenCV训练自己的分类器另:英文说明http://se.cs.ait.ac.th/cvwiki/opencv:tutorial:haartraining最近要做一个性别识别的项目,在人脸检测与五官定位上我采用OPENCV的haartraining 进行定位,这里介绍下这两天我学习的如何用opencv训练自己的分类器。

在这两天的学习里,我遇到了不少问题,不过我遇到了几个好心的大侠帮我解决了不少问题,特别是无忌,在这里我再次感谢他的帮助。

一、简介目标检测方法最初由Paul Viola [Viola01]提出,并由Rainer Lienhart [Lienhart02]对这一方法进行了改善。

该方法的基本步骤为:首先,利用样本(大约几百幅样本图片)的 harr 特征进行分类器训练,得到一个级联的boosted分类器。

分类器中的"级联"是指最终的分类器是由几个简单分类器级联组成。

在图像检测中,被检窗口依次通过每一级分类器,这样在前面几层的检测中大部分的候选区域就被排除了,全部通过每一级分类器检测的区域即为目标区域。

分类器训练完以后,就可以应用于输入图像中的感兴趣区域的检测。

检测到目标区域分类器输出为1,否则输出为0。

为了检测整副图像,可以在图像中移动搜索窗口,检测每一个位置来确定可能的目标。

为了搜索不同大小的目标物体,分类器被设计为可以进行尺寸改变,这样比改变待检图像的尺寸大小更为有效。

所以,为了在图像中检测未知大小的目标物体,扫描程序通常需要用不同比例大小的搜索窗口对图片进行几次扫描。

目前支持这种分类器的boosting技术有四种:Discrete Adaboost, Real Adaboost, Gentle Adaboost and Logitboost。

"boosted" 即指级联分类器的每一层都可以从中选取一个boosting算法(权重投票),并利用基础分类器的自我训练得到。

根据上面的分析,目标检测分为三个步骤:1、样本的创建2、训练分类器3、利用训练好的分类器进行目标检测。

二、样本创建训练样本分为正例样本和反例样本,其中正例样本是指待检目标样本,反例样本指其它任意图片。

负样本负样本可以来自于任意的图片,但这些图片不能包含目标特征。

负样本由背景描述文件来描述。

背景描述文件是一个文本文件,每一行包含了一个负样本图片的文件名(基于描述文件的相对路径)。

该文件创建方法如下:采用Dos命令生成样本描述文件。

具体方法是在Dos下的进入你的图片目录,比如我的图片放在D:\face\posdata下,则:按Ctrl+R打开Windows运行程序,输入cmd打开DOS命令窗口,输入d:回车,再输入cd D:\face\negdata进入图片路径,再次输入dir /b > negdata.dat,则会图片路径下生成一个negdata.dat文件,打开该文件将最后一行的negdata.dat删除,这样就生成了负样本描述文件。

dos命令窗口结果如下图:正样本对于正样本,通常的做法是先把所有正样本裁切好,并对尺寸做规整(即缩放至指定大小),如下图所示:由于HaarTraining训练时输入的正样本是vec文件,所以需要使用OpenCV自带的CreateSamples程序(在你所按照的opencv\bin下,如果没有需要编译opencv\apps\HaarTraining\make下的.dsw文件,注意要编译release版的)将准备好的正样本转换为vec文件。

转换的步骤如下:1) 制作一个正样本描述文件,用于描述正样本文件名(包括绝对路径或相对路径),正样本数目以及各正样本在图片中的位置和大小。

典型的正样本描述文件如下:posdata/1(10).bmp 1 1 1 23 23posdata/1(11).bmp 1 1 1 23 23posdata/1(12).bmp 1 1 1 23 23不过你可以把描述文件放在你的posdata路径(即正样本路径)下,这样你就不需要加前面的相对路径了。

同样它的生成方式可以用负样本描述文件的生成方法,最后用txt的替换工具将“bmp”全部替换成“bmp 1 1 1 23 23”就可以了,如果你的样本图片多,用txt替换会导致程序未响应,你可以将内容拷到word 下替换,然后再拷回来。

bmp后面那五个数字分别表示图片个数,目标的起始位置及其宽高。

这样就生成了正样本描述文件posdata.dat。

2) 运行CreateSamples程序。

如果直接在VC环境下运行,可以在Project\Settings\Debug 属性页的Program arguments栏设置运行参数。

下面是一个运行参数示例:-info D:\face\posdata\posdata.dat -vec D:\face\pos.vec -num 50 -w 20 -h 20表示有50个样本,样本宽20,高20,正样本描述文件为posdata.dat,结果输出到pos.vec。

或者在dos下输入:"D:\Program Files\OpenCV\bin\createsamples.exe" -info "posdata\posdata.dat" -vec data\pos.vec -num 50 -w 20 -h 20运行完了会d:\face\data下生成一个*.vec的文件。

该文件包含正样本数目,宽高以及所有样本图像数据。

结果入下图:Createsamples程序的命令行参数:命令行参数:-vec <vec_file_name>训练好的正样本的输出文件名。

-img<image_file_name>源目标图片(例如:一个公司图标)-bg<background_file_name>背景描述文件。

-num<number_of_samples>要产生的正样本的数量,和正样本图片数目相同。

-bgcolor<background_color>背景色(假定当前图片为灰度图)。

背景色制定了透明色。

对于压缩图片,颜色方差量由bgthresh参数来指定。

则在bgcolor-bgthresh和bgcolor+bgthresh中间的像素被认为是透明的。

-bgthresh<background_color_threshold>-inv如果指定,颜色会反色-randinv如果指定,颜色会任意反色-maxidev<max_intensity_deviation>背景色最大的偏离度。

-maxangel<max_x_rotation_angle>-maxangle<max_y_rotation_angle>,-maxzangle<max_x_rotation_angle>最大旋转角度,以弧度为单位。

-show如果指定,每个样本会被显示出来,按下"esc"会关闭这一开关,即不显示样本图片,而创建过程继续。

这是个有用的debug选项。

-w<sample_width>输出样本的宽度(以像素为单位)-h《sample_height》输出样本的高度,以像素为单位。

到此第一步样本训练就完成了。

恭喜你,你已经学会训练分类器的五成功力了,我自己学这个的时候花了我一天的时间,估计你几分钟就学会了吧。

三、训练分类器样本创建之后,接下来要训练分类器,这个过程是由haartraining程序来实现的。

该程序源码由OpenCV自带,且可执行程序在OpenCV安装目录的bin目录下。

Haartraining的命令行参数如下:-data<dir_name>存放训练好的分类器的路径名。

-vec<vec_file_name>正样本文件名(由trainingssamples程序或者由其他的方法创建的)-bg<background_file_name>背景描述文件。

-npos<number_of_positive_samples>,-nneg<number_of_negative_samples>用来训练每一个分类器阶段的正/负样本。

合理的值是:nPos = 7000;nNeg = 3000-nstages<number_of_stages>训练的阶段数。

-nsplits<number_of_splits>决定用于阶段分类器的弱分类器。

如果1,则一个简单的stump classifier被使用。

如果是2或者更多,则带有number_of_splits个内部节点的CART分类器被使用。

-mem<memory_in_MB>预先计算的以MB为单位的可用内存。

内存越大则训练的速度越快。

-sym(default)-nonsym指定训练的目标对象是否垂直对称。

垂直对称提高目标的训练速度。

例如,正面部是垂直对称的。

-minhitrate《min_hit_rate》每个阶段分类器需要的最小的命中率。

总的命中率为min_hit_rate的number_of_stages次方。

-maxfalsealarm<max_false_alarm_rate>没有阶段分类器的最大错误报警率。

总的错误警告率为max_false_alarm_rate的number_of_stages次方。

-weighttrimming<weight_trimming>指定是否使用权修正和使用多大的权修正。

一个基本的选择是0.9-eqw-mode<basic(default)|core|all>选择用来训练的haar特征集的种类。

basic仅仅使用垂直特征。

all使用垂直和45度角旋转特征。

-w《sample_width》-h《sample_height》训练样本的尺寸,(以像素为单位)。

必须和训练样本创建的尺寸相同。

一个训练分类器的例子:"D:\Program Files\OpenCV\bin\haartraining.exe" -data data\cascade -vec data\pos.vec -bg negdata\negdata.dat -npos 49 -nneg 49 -mem 200 -mode ALL -w 20 -h 20训练结束后,会在目录data下生成一些子目录,即为训练好的分类器。

训练结果如下:恭喜你,你已经学会训练分类器的九成功力了。

四:利用训练好的分类器进行目标检测。

相关文档
最新文档