haar+adaboost制作自己的分类器过程(代码片段)

walterj726 walterj726     2022-12-04     208

关键词:

做haar特征的原因

  1. 有些深度学习的目标检测算法有时候在物体非常相近的时候,误检率会非常高。所以我们可以先进行深度学习然后检测出大概的区域,然后再使用传统的机器学习算法来检测
  2. opencv里面只有眼,脸之类的分类器,如果要实现自己的分类器就需要自己训练

https://blog.csdn.net/baolinq/article/details/78579317 # 可以从这里看一下有什么传统的算法

以下几个网站都可以学

  1. https://blog.csdn.net/weixin_30536513/article/details/96878204?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-2

  2. https://blog.csdn.net/weixin_41695564/article/details/80071090(必看)

  3. https://blog.csdn.net/zhuangxiaobin/article/details/25476833(必看)

  4. https://blog.csdn.net/yangdashi888/article/details/80385041

  5. https://blog.csdn.net/xiao_lxl/article/details/44655819

注意的点

  1. 参数搞清楚就好了,一定要看清楚参数!,可以直接在百度搜xxx.exe的参数意义
  2. 如果想在Windows里面运行Linux命令就用gitbash打开文件夹然后运行就ok了
  3. haar_trainings和traincascade是有不同的,traincascade可以选择不同的训练特征,这个自己在设置参数的时候改变就好了
  4. 非最大抑制(待写)
  5. 负样本的意义(待写)

问题

  1. 如果出现了问题,可以百度搜索用opencv建立自己的分类器(因为这个做haar特征这个过程就是做分类器)
  2. 如果opencv里面没有createsamples.exe文件(opencv没有exe文件),必须用Cmake来编译opencv的那个文件夹才行(必须要去编译)。不知道python可不可以实现,知道的小伙伴可以告诉我

实现代码

https://github.com/deepcourse/cv_tutorial.git

adaboost算法详解(haar人脸检测)(代码片段)

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。Adaboost算法本身是通过改变数据分布来实现的,它根据每次训... 查看详情

6-9haar+adaboost人脸识别

...析了Haar特征的概念以及如何计算Haar特征,并介绍了Haar+Adaboost分类器它们的组合以及Adaboost分类器如何使用和训练。这节课我们将通过代码来实现一下Haar+Adaboost分类器实现的人脸识别。计算jpg图片的haar特征,不过这一步opencv已... 查看详情

如何用opencv自带的adaboost程序训练并检测目标

  OpenCV自带的adaboost程序能够根据用户输入的正样本集与负样本集训练分类器,常用于人脸检测,行人检测等。它的默认特征采用了Haar,不支持其它特征。Adaboost的原理简述:(原文)每个Haar特征对应看一个弱分类器,但并不... 查看详情

浅谈人脸检测之haar分类器方法

...(提升算法)的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并且在底层的特征提取中采用了高效率的矩形特征和积分图方法,这里涉及到的几个名词接下来会具体讨论。... 查看详情

opencv中的haar+adaboost:minhitrate与maxfalsealarm

...。那么在了解这些内容的基础上,本节开始正式讲解OpenCVAdaboost训练过程。需要再次说明的是,本系列文章讲解的是OpenCV中的opencv_traincascade.exe程序的实现方法,并不代表仅只有此一种实现方法。-------------------------------------------... 查看详情

基于adaboost算法——世纪晟结合haar-like特征训练人脸检测识别

 AdaBoost?算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。 系统在技术上的三个贡献:1.用简单的Haar-like矩形特征作特征,可... 查看详情

opencv中的haar+adaboost:adaboost之dab与gab

...的文章将逐步开始介绍训练相关的内容。而本节主要介绍AdaBoost的理论,以及AdaBoost中的DAB与GAB算法,为后续讲解奠定基础。 (一)AdaBoost背景介绍  在了解AdaBoost之前,先介绍弱学习和强学习的概念:1.弱学习:识别错误... 查看详情

adaboost理解

AdaBoost是一种准确性很高的分类算法,它的原理是把K个弱分类器(弱分类器的意思是该分类器的准确性较低),通过一定的组合(一般是线性加权进行组合),组合成一个强的分类器,提高分类的准确性。因此,要想使用AdaBoost,需要... 查看详情

人脸检测——基于机器学习3adaboost算法

简介主要工作AdaBoost算法的人脸检测算法包含的主要工作:(1)通过积分图快速求得Haar特征;(2)利用AdaBoost算法从大量的特征中选择出判别能力较强的少数特征用于人脸检测分类;(3)提出一个级联结构模型,将若干个弱分... 查看详情

如何用opencv训练自己的分类器

...是,OpenCV自带的haartraining提取的特征是haar特征分类器是AdaBoost级联分类器(如需了解Adaboost算法,。所谓的级联分类器,就是将若干的简单的分量分类器(可以理解为一般的普通分类器)依次串联起来,最终的检测分类结果,要... 查看详情

如何用opencv训练自己的分类器

...是,OpenCV自带的haartraining提取的特征是haar特征分类器是AdaBoost级联分类器(如需了解Adaboost算法,。所谓的级联分类器,就是将若干的简单的分量分类器(可以理解为一般的普通分类器)依次串联起来,最终的检测分类结果,要... 查看详情

机器学习——提升方法adaboost算法,推导过程

0提升的基本方法  对于分类的问题,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类的分类规则(强分类器)容易的多。提升的方法就是从弱分类器算法出发,反复学习,得到一系列弱分类器(... 查看详情

机器学习-分类器-adaboost原理

Adaboost原理          Adaboost(AdaptiveBoosting)是一种迭代算法,通过对训练集不断训练弱分类器,然后把这些弱分类器集合起来,构成强分类器。adaboost算法训练的过程中,初始化所有训练样例的具... 查看详情

8.提升方法adaboost

1.提升方法AdaBoost算法AdaBoost的思想:是先得到一个弱分类器,然后在这个弱分类器的基础上将其提升到强分类器,具体方法是提升上一个分类器中被误分类的样本的权重,使得本次训练的分类器更加重视这些样本,最后的分类器... 查看详情

adaboost

...成。代表算法是boosting系列算法。在boosting系列算法中,Adaboost是最著名的算法之一。第二类是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(RandomForest)系列算法。。Adaboost既... 查看详情

集成学习之adaboost算法

1.回顾Boosting提升算法AdaBoost是典型的Boosting算法,属于Boosting家族的一员。在说AdaBoost之前,先说说Boosting提升算法。Boosting算法是将“弱学习算法“提升为“强学习算法”的过程,主要思想是“三个臭皮匠顶个诸葛... 查看详情

你好,看到你说opencv中人脸检测转换成眼睛只要替换一个分类器。请问它们程序原理一样吗?是adaboost,矩形

参考技术A原理一样,都是用haar分类器,Adaboost算法你写程序时候载入两个分类器,一个叫face一个叫eye然后检测到脸部,就设定ROI为脸部,在进行眼睛检测 查看详情

[opencv][转载]利用级联分类器车辆检测训练

本文转载:Adaboost卡口车辆检测训练-Hello~again-博客园之前做了SVM的车脸检测,主要是针对车脸,接下来尝试利用Adaboost和Haar进行车脸的检测。我利用的主要是opencv中的cascade,其已经把Adaboost相关的算法做成了exe... 查看详情