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的更多相关文章

  1. Rapid Object Detection using a Boosted Cascade of Simple Features 部分翻译

    Rapid ObjectDetection using a Boosted Cascade of Simple Features 使用简单特征级联分类器的快速目标检测 注:部分翻译不准处以红色字体给出 ...

  2. 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 ...

  3. 读论文系列:Object Detection CVPR2016 YOLO

    CVPR2016: You Only Look Once:Unified, Real-Time Object Detection 转载请注明作者:梦里茶 YOLO,You Only Look Once ...

  4. 读论文系列:Object Detection NIPS2015 Faster RCNN

    转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大贡献是ROI pooling layer和 ...

  5. 读论文系列:Object Detection ICCV2015 Fast RCNN

    Fast RCNN是对RCNN的性能优化版本,在VGG16上,Fast R-CNN训练速度是RCNN的9倍, 测试速度是RCNN213倍:训练速度是SPP-net的3倍,测试速度是SPP-net的3倍 ...

  6. 读论文系列:Object Detection SPP-net

    本文为您解读SPP-net: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Motivat ...

  7. 读论文系列:Object Detection ECCV2016 SSD

    转载请注明作者:梦里茶 Single Shot MultiBox Detector Introduction 一句话概括:SSD就是关于类别的多尺度RPN网络 基本思路: 基础网络后接多层featur ...

  8. Object Detection: Face Detection using Haar Cascades

    目录   利用基于Haar特征的级联分类器实现人脸检测:官方教程 目标 学习基于Haar特征的级联分类器(Cascade Callifiers)实现人脸检测: 扩展到人眼检测: 基础知识 Paul V ...

  9. 深度学习论文翻译解析(四):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 ...

  10. 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks

    一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...

随机推荐

  1. 2018年第九届蓝桥杯国赛试题(JavaA组)

    1.结果填空 (满分13分)2.结果填空 (满分39分)3.代码填空 (满分27分)4.程序设计(满分45分)5.程序设计(满分71分)6.程序设计(满分105分) 1.标题:三角形面积 已知三角形三 ...

  2. Working Experience - How to handle the destroyed event of UserControl

    正文 问题: UserControl 如何在父窗体(程序)关闭时, 释放一些需要手动释放的资源 方法: 使用 Control.FindForm() 获取父窗体, 从而得到父窗体的 Closing/Cl ...

  3. 英语学习Start

  4. xampp搭建discuz论坛

    xampp搭建discuz论坛 软件相关 xampp 下载 1.下载xampp,地址 2.下载discuz,地址 配置 1.安装xampp并启动apache和mysql 2.将discuz安装包中的u ...

  5. Python实现栈、队列

    目录 1. 栈的Python实现 1.1 以列表的形式简单实现栈 1.2 以单链表形式实现栈 2. 队列的Python实现 2.1 以列表实现简单队列 2.2 以单链表形式实现队列   本文将使用py ...

  6. redis win连接以及配置连接密码

    redis连接格式为 redis-cli -h host -p port -a password 但由于刚安装的redis是没有密码的 因此可以进行直接连接, cd转到redis目录里 redis-c ...

  7. 51nod1154(dp)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1154 题意:中文题目诶- 思路:字符串长度不大于5e3,O(n ...

  8. 洛谷P2134 百日旅行

    P2134 百日旅行 题目背景 重要的不是去哪里,而是和你在一起.——小红 对小明和小红来说,2014年7月29日是一个美好的日子.这一天是他们相识100天的纪念日. (小明:小红,感谢你2场大考时默 ...

  9. 洛谷 P1070 道路游戏(noip 2009 普及组 第四题)

    题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 nn个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn个机器人工厂编 ...

  10. c#之quartz任务调度的使用

    这里讲下,quartz这种任务调度程序的简单使用 这是使用的quartz的3.x 版本 2.x 版本与此稍有区别,可以在网上查看2.x版本教程 使用语言为c# quartz的使用分为几个步骤 创建一个 ...