[论文理解] Rapid-Object-Detection-using-a-Boosted-cascade-of-simple-features
Rapid-Object-Detection-using-a-Boosted-cascade-of-simple-features
简介
文章是2001年发表的,是一篇很经典的Object Detection的文章,而文章的亮点就在于使用了”Integral Image“计算Haar-like特征,从而加速了计算;此外,文章提出利用级联的方式分类,将很多非脸特征在前面剔除了,减少了大量的计算。文章采用Adaboost训练弱分类器组成强分类器,使得分类精度也很不错,而最大的两点就是其速度在当时也是非常快的。
Haar-like Features
文章使用的haar特征是下面四种,也就是白色区域的像素值与黑色区域像素值之差。其中,C图和D图先分别把黑色、白色区域像素值相加,然后相减。文章提到,使用24*24的滑窗,得到的特征数量超过180,000。

Integral Image
其实理解起来很简单,就是计算某个矩形区域内的像素值的和,比如下面这个图,我们要计算D区域的像素值的和,那我们就可以用s4(表示4点之前的所有像素和,后面一样)-s2-s3+s1计算得到,这样又什么好处呢?减少重复计算。比如算上图中的C类型的特征时,本来要算10点的求和值,但是由于有四个点时重用点,所以只需要算8点。可以利用动态规划全部算完,空间换时间的算法。

Adaboost 算法
”三个臭皮匠顶个诸葛亮“,我理解的Adaboost算法有两个很重要的点,是样本的权重,另一个是分类器的权重,Adaboost算法做的就是先给每个样本分配一个平均权重(样本概率分布),然后根据每个特征训练专门识别这个特征的分类器,这些分类器都是若分类器,但是对某一特征的分类能力很强,但是训练过程中肯定也会出现分错的样本,这时候我们就把分错的样本的权重增加,把分对的分类器的权重增加,进行迭代,前者是为了更好的训练错误率大的样本,后者是为了提高分类器的准确率。然后把弱分类器根据权重线性相加,组合起来就是一个强分类器,我们最终根据强分类器的计算结果来进行分类。
算法流程

本文应用

Attentional Cascade
我理解的就是在最前面放一些能够明显区别非脸特征的分类器,这样如果不是脸部特征,后面的计算就可以不用计算了,直接下一个window。

Learning Results
前两张图是通过adaboost得到的分类器中权重最大的两个特征,按照我的理解,这两个特征在原图中的反映就是人的眼部的亮度和脸部的亮度不同,以及人的两眼之间的亮度与中间鼻梁部分的亮度不同。

链接:论文原文
[论文理解] Rapid-Object-Detection-using-a-Boosted-cascade-of-simple-features的更多相关文章
- Rapid Object Detection using a Boosted Cascade of Simple Features 部分翻译
Rapid ObjectDetection using a Boosted Cascade of Simple Features 使用简单特征级联分类器的快速目标检测 注:部分翻译不准处以红色字体给出 ...
- Viola–Jones object detection framework--Rapid Object Detection using a Boosted Cascade of Simple Features中文翻译 及 matlab实现(见文末链接)
ACCEPTED CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION 2001 Rapid Object Detection using a B ...
- 读论文系列:Object Detection CVPR2016 YOLO
CVPR2016: You Only Look Once:Unified, Real-Time Object Detection 转载请注明作者:梦里茶 YOLO,You Only Look Once ...
- 读论文系列:Object Detection NIPS2015 Faster RCNN
转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大贡献是ROI pooling layer和 ...
- 读论文系列:Object Detection ICCV2015 Fast RCNN
Fast RCNN是对RCNN的性能优化版本,在VGG16上,Fast R-CNN训练速度是RCNN的9倍, 测试速度是RCNN213倍:训练速度是SPP-net的3倍,测试速度是SPP-net的3倍 ...
- 读论文系列:Object Detection SPP-net
本文为您解读SPP-net: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Motivat ...
- 读论文系列:Object Detection ECCV2016 SSD
转载请注明作者:梦里茶 Single Shot MultiBox Detector Introduction 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层featur ...
- Object Detection: Face Detection using Haar Cascades
目录 利用基于Haar特征的级联分类器实现人脸检测:官方教程 目标 学习基于Haar特征的级联分类器(Cascade Callifiers)实现人脸检测: 扩展到人眼检测: 基础知识 Paul V ...
- 深度学习论文翻译解析(四):Faster R-CNN: Down the rabbit hole of modern object detection
论文标题:Faster R-CNN: Down the rabbit hole of modern object detection 论文作者:Zhi Tian , Weilin Huang, Ton ...
- 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks
一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...
随机推荐
- 黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南
目录 修改默认源,为apt-get安装提速 安装python 和 python pip 安装 zsh 安装powerline-font中的特定字体 安装powerline-shell 修改~目录下的配 ...
- xrange与range之间的区别
对于这两个好像功能都差不多,这两个经常会被搞混,所以今天一定要把这个完全弄清楚. 首先我们看看range: range([start,] stop[, step]),根据start与stop指定的范围 ...
- Python实现栈、队列
目录 1. 栈的Python实现 1.1 以列表的形式简单实现栈 1.2 以单链表形式实现栈 2. 队列的Python实现 2.1 以列表实现简单队列 2.2 以单链表形式实现队列 本文将使用py ...
- 移动端tab目录(有待完善)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- UE4中资源加载资源的方式
在UNITY中,我们加载资源一般是通过Resources.Load(path).即可完成.该方法返回的是Object类型.如果你想要的是材质或者贴图等等,只要价格类型转换的关键字就可以了例如 as M ...
- hdu1166(线段树单点更新&区间求和模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:中文题诶- 思路:线段树单点更新,区间求和模板 代码: #include <iost ...
- SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置
一.JdbcTemplate对象 1.JdbcTemplate简介 在Spring Boot2.0框架下配置数据源和通过JdbcTemplate访问数据库的案例. SpringBoot对数据库的操作在 ...
- Request a certificate from a certificate vendor
Request a certificate from a certificate vendor Now, with your CSR in hand, visit the Web site of yo ...
- C#代码生成器附百度云盘源码地址
今晚闲着没事,写了个代码生成器,在这里只做个抛砖引玉,后面可以继续扩展功能,下方附百度云盘源码地址. 使用数据库:sqlserver 编译器:vs2015 废话不多说,上界面: 程序主界面: 数据库: ...
- Django模板语言,标签整理
Django模板语言 标签 内置标签引用 1. autoescape 控制自动转义是否可用. 这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果. 该标签会以一个endautoes ...