当前位置: 首页 > news >正文

返回链接 网站惩罚检查 错误检查做网站公司经营范围

返回链接 网站惩罚检查 错误检查,做网站公司经营范围,品牌营销的四大策略,网站设计 网站建设上个月用了两周的时间#xff0c;学习了用于人脸检测的haartraining算法#xff0c;今天打算做一总结 首先先为和我一样的初学者推荐几篇博客 http://blog.csdn.net/zouxy09/article/details/7922923真的很感谢写这篇文章的博主#xff0c;讲解深入浅出。本文中的主要逻辑…上个月用了两周的时间学习了用于人脸检测的haartraining算法今天打算做一总结 首先先为和我一样的初学者推荐几篇博客 http://blog.csdn.net/zouxy09/article/details/7922923真的很感谢写这篇文章的博主讲解深入浅出。本文中的主要逻辑也都是由他的文章启发而来有部分引用的内容这里提前声明。 http://blog.sina.com.cn/s/blog_5f853eb10100sdgn.html 这篇文章是AdaBoost算法的代码实现注释实在是详细赞 http://www.cnblogs.com/tornadomeet/archive/2012/03/28/2420936.html 这篇文章非常明白的讲解了如何利用opencv提供的可执行文件一步步尝试进行人脸识别 开始进入正题 haartraining方法是基于Haar特征和AdaBoost算法以及级联思想的 那么首先特征是什么 假设在人脸检测时我们需要有这么一个子窗口在待检测的图片窗口中不断的移位滑动子窗口每到一个位置就会计算出该区域的特征这个能够按照我们规定的方式计算出某个区域的特征值的子窗口就是特征 那么haar特征又是什么 haar特征是由Viola、Lienhart等人提出的原理并没有不同这里不多赘述 大家可以参考我之前总结的人脸识别尝试二——Haar特征  总结的还是挺用心的希望大家多支持 http://blog.csdn.net/u011583927/article/details/44782197 总之一个Haar特征的数据结构应该包含以下内容  *haar特征模板类型 *是否有旋转 *矩阵位置及大小 知道了Haar特性是什么我们来聊聊AdaBoost算法 AdaBoost是一种具有一般性的分类器提升算法既然是提升那么一定是从弱分类器到强分类器的一个过程 先说弱分类器是怎样产生的 在这之前我先引出一个最差的分类器暂且叫它“糟糕分类器” 对于一个待检测的图片选出任意一种Haar特征就可以计算得到一个特征值 如果我们定义一个阈值那么将计算的特征值与这个阈值进行比较就能做出一个最低级的决策 我将这整个的过程称为一个“糟糕分类器”实际上并没有这个称呼只是我个人这样理解用下图表示 显然仅仅凭借这样粗糙的方式不可能判别一副图片是否为人脸因为它的效果确实太糟糕了。我们应用多个这样的糟糕分类器进行级联如下图所示 一个弱分类器就是一个基本和上图类似的决策树最基本的弱分类器只包含一个Haar-like特征也就是它的决策树只有一层被称为树桩stump。注意这里这样的结构还不能称之为弱分类器因为我们的阈值目前为止还是未知也可以理解为随意选取的这样当然不行。 对于这样一个弱分类器或者说是二叉决策树最重要的就是如何决定每个结点判断的输出要比较输入图片的特征值和弱分类器中阈值。也就是要寻找合适的分类器阈值使该分类器对所有样本的判读误差最低。寻找最优阈值的过程也就是我们进行样本训练的过程训练后二叉决策树就是一个弱分类器。 那么如何寻找最优阈值呢对于某一种特征我们可以将输入样本既有正样本又有负样本分别计算对应的特征值并按升序排序成一个队列Seq。那么我们将阈值取遍队列中每一个特征值对于每次循环计算分错样本的加权平均和并记录。遍历完成后分错样本的加权最小的那个位置对应的特征值就是最优阈值。然后我们要根据这次阈值的选取将错分的样本适当的增加权重选取另一个Haar特征重复上面的过程。直至训练出要求的个数个“糟糕分类器”级联起来组成一个弱分类器。 现在我们已经能够得到弱分类器了。它的数据结构如下 typedef struct CvCARTHaarClassifier {CV_INT_HAAR_CLASSIFIER_FIELDS()int count;int* compidx;CvTHaarFeature* feature;CvFastHaarFeature* fastfeature;float* threshold;int* left;int* right;float* val; } CvCARTHaarClassifier; 那么由以上讨论假设我们由第一组样本已经训练出了一个弱分类器。显然我们可以找出这个分类器错分的样本出来与一些新样本组成第二组样本由这组样本训练出第二个弱分类器。重复这个过程可以得到T个弱分类器。我们组合这T个弱分类器成为一个强分类器CvStageHaarClassifier。我们先这样理解让这些最优弱分类器根据自己的地位进行表决判别的正确率决定其地位决定当前判断的子窗口是否为人脸。这样一个表决过程就代表了强分类器。然后我们可以训练多个强分类器让他们强强联手。还是构造一颗二叉决策树树的每个节点是一个强分类器 强分类器的数据结构如下 /* internal stage classifier */ typedef struct CvStageHaarClassifier {CV_INT_HAAR_CLASSIFIER_FIELDS()int count;float threshold;CvIntHaarClassifier** classifier; } CvStageHaarClassifier;强强联手后就得到的最终的分类器最终的分类器就如下图一样进行判决得出结论 最终的Haar分类器为CvTreeCascadeClassifier它代表一颗树树中的每一个节点的核心功能就是一个强分类器数据结构如下 typedef struct CvTreeCascadeClassifier {CV_INT_HAAR_CLASSIFIER_FIELDS()CvTreeCascadeNode* root; /* root of the tree */CvTreeCascadeNode* root_eval; /* root node for the filtering */int next_idx; } CvTreeCascadeClassifier;/* internal tree cascade classifier node */ typedef struct CvTreeCascadeNode {CvStageHaarClassifier* stage;struct CvTreeCascadeNode* next;struct CvTreeCascadeNode* child;struct CvTreeCascadeNode* parent;struct CvTreeCascadeNode* next_same_level;struct CvTreeCascadeNode* child_eval;int idx;int leaf; } CvTreeCascadeNode;到这里haartraining的主要思想就都说清楚了 最后我们总结一下上面的内容得出这样的结论 一组学习样本可以通过训练得到一个弱分类器。 弱分类器就是一颗决策树决策树的每个结点存储的是一种haar特征和对应的最优阈值 多个弱分类器可以构成一个强分类器 Haar分类器就是一颗结点是强分类器的决策树 毕竟水平有限希望大家看了这篇文章能够多多指正也希望小白能从中学到一点东西。 大家一起分享才能一起变得强大~
http://www.pierceye.com/news/66568/

相关文章:

  • 电商网站建设收费小程序商城货源怎么找
  • 上传自己做的网站吗公众号如何推广运营
  • cn域名做犯法网站如何制作统计小程序
  • 手机做照片下载网站网上申报系统入口
  • DS716 II 做网站3d效果图怎么制作
  • 网站后台做链接网络工程师是干什么的
  • wordpress 社交网站网站分析怎么写
  • 网站防注入怎么办wordpress连接数据库出错
  • 怎样找到正规代加工网站网站建设方案服务器
  • 综治暨平安建设网站秦皇岛网站建设哪家好
  • 长沙长沙建设网站毕业设计模板网站
  • 个人网站推广怎么做湖州做网站建设的公司哪家好
  • 潍坊网站建设哪里好浙江省城乡住房建设网站
  • 自学做网站的书化工企业商城网站建设公司
  • 海阳建设局网站一单一结手机兼职
  • 关于建设工程招标类的公共网站董事长办公室装修设计效果图
  • 宁波做网站排名的公司有哪些济南建站都选企汇优先做后付
  • 做网站犯法吗wordpress 网页 登录界面
  • 珠海网站建设的公司ie禁止访问网站
  • 濮阳网站建设 公司名字长沙有哪些推广平台
  • 高端医疗网站开发wordpress 新闻主题
  • 诸暨网站制作公司 网页南宁网络推广方案
  • 家具展示型网站想开个网站不知怎样做
  • 游戏网站建设视频教程福建省网站建设绩效排名
  • 拿别的公司名字做网站幼教网站建设分析
  • 山东网站建设网络公司wordpress不自动更新
  • 仿中国加盟网站源码做网站先付款
  • 微信公众号对接网站乐清站在那儿
  • 深圳做网站那家好k5 wordpress主题
  • 做网站后台要做些什么南京省住房和城乡建设厅网站