Hough Forest目标检测一种比较时兴的目标检测算法,Juergen Gall在2009的CVPR上提出。

Hough Forest听上去像hough变换+Random Forest的结合体,其实,不完全是这样的。它更像是decision forest和regression forest的结合体再加上generalized hough transform:森林中每棵树即不是分类树也不是回归树,而是其中的每个节点可能为分类节点或者回归节点。分类节点最小化class-label uncertainty,而回归节点最小化offset uncertainty。然后输出2D的Hough Image(当然可以扩展到3D,4D),在这上面找到局部极值就是目标的参数(position, scale, aspect ration)。

与传统的目标检测器不同,训练样本是P={I,c,d}, I是目标的一个局部图像块(patch),c是它的类标签,d是它到目标中心的偏移(offset)矢量(2D);随机树生长的目的是使节点样本的类别和offset不纯度最小化,分别对应决策节点和回归节点。节点上的分裂准则采用了像素值比较的方法。最后叶子节点记录一些统计量:CL表示正样本比例,DL样本偏移的集合。另外,训练的时候作者也采用类似级联的方式,forest=5trees+5trees+5trees,即第一次5棵树生长完成后,一些分类比较困难的样本再用来训练下一批树。

检测阶段,从图像上提取patch,pass down through every tree in the forest,然后给2D hough image上位置为x的点投票。对图像进行dense sampling,最后输出hough image。

以下是我读论文时的一些标注。

http://www.pamitc.org/cvpr13/program.php

http://blog.csdn.net/gxf1027/article/details/8308655

目标检测之hough forest---霍夫森林(Hough Forest)目标检测算法的更多相关文章

  1. opencv —— HoughCircles 霍夫圆变换原理及圆检测

    霍夫圆变换原理 霍夫圆变换的基本原理与霍夫线变换(https://www.cnblogs.com/bjxqmy/p/12331656.html)大体类似. 对直线来说,一条直线能由极径极角(r,θ)表 ...

  2. opencv —— HoughLines、HoughLinesP 霍夫线变换原理(标准霍夫线变换、多尺度霍夫线变换、累积概率霍夫线变换)及直线检测

    霍夫线变换的原理 一条直线在图像二维空间可由两个变量表示,有以下两种情况: ① 在笛卡尔坐标系中:可由参数斜率和截距(k,b)表示. ② 在极坐标系中:可由参数极经和极角(r,θ)表示. 对于霍夫线变 ...

  3. 【OpenCV入门教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑

    http://blog.csdn.net/poem_qianmo/article/details/26977557 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog ...

  4. 学习 opencv---(13)opencv霍夫变换:霍夫线变换,霍夫圆变换

    在本篇文章中,我们将一起学习opencv中霍夫变换相关的知识点,以及了解opencv中实现霍夫变换的HoughLines,HoughLinesP函数的使用方法,实现霍夫圆变换的HoughCircles ...

  5. 【OpenCV新手教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26977557 作者:毛星云(浅墨) ...

  6. OpenCV中的霍夫线变换和霍夫圆变换

    一.霍夫线变换 霍夫线变换是OpenCv中一种寻找直线的方法,输入图像为边缘二值图. 原理: 一条直线在图像二维空间可由两个变量表示, 例如: 1.在 笛卡尔坐标系: 可由参数: (m,b) 斜率和截 ...

  7. 霍夫圆检测 opencv

    进行霍夫圆变换中有一个API:HoughCircles(). 第五个参数为double类型的minDist(),为霍夫变换检测到的圆的圆心之间的最小距离,即让算法能明显区分的两个不同圆之间的最小距离. ...

  8. 霍夫直线检测 opencv

    本次实验是检测图像中的直线,用到了HoughLines()和HoughLinesP()函数,其中HoughLinesP()称为累计概率霍夫变换,实验结果显示累计概率霍夫变换要比标准霍夫变换的效果好.具 ...

  9. opencv:霍夫直线检测

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

随机推荐

  1. java面试题之谈谈你对java的理解

    平台无关性:一处编译到处运行 GC:不用像c++那样手动释放堆内容 语言特性:泛型.反射.lamda表达式 面向对象:封装.继承.多态 类库:集合.并发库.网络库.IO库 异常处理

  2. oracle distinct 用法

    oracle distinct 是所有字段都相同才显示一条,要做到根据某一列,则如下 select t1.* from table t1 where t1.rowid = (select min(t2 ...

  3. hdu 4870 rating(高斯消元求期望)

    Rating Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  4. hdu 6118 度度熊的交易计划

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  5. hdu 6108 小C的倍数问题

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  6. js 函数arguments一种用法

    无意改同事的代码发现的 function toggle(){ var _arguments=arguments; var count=0; $("#more").click(fun ...

  7. What is pseudopolynomial time? How does it differ from polynomial time?

    To understand the difference between polynomial time and pseudopolynomial time, we need to start off ...

  8. python,django,mysql学习之环境安装配置

    参考:https://docs.djangoproject.com/en/1.6/intro/tutorial01/ http://rainyang.blog.51cto.com/469543/115 ...

  9. C#知识点总结:Monitor和Lock以及区别

    Monitor对象 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取 ...

  10. Codeforces 246E Blood Cousins Return(树上启发式合并)

    题目链接 Blood Cousins Return #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) f ...