目标检测的图像特征提取之(三)Haar特征

目标检测的图像特征提取之(三)Haar特征目标检测的图像特征提取之(三)Haar特征zouxy09@qq.com1、Haar-like特征      Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征。Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩

大家好,又见面了,我是你们的朋友全栈君。

目标检测的图像特征提取之(三)Haar特征

zouxy09@qq.com

http://blog.csdn.net/zouxy09

 

1Haar-like特征

       Haar-like特征最早是由Papageorgiou等应用于人脸表示,ViolaJones在此基础上,使用3种类型4种形式的特征。

Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。但矩形特征只对一些简单的图形结构,如边缘、线段较敏感,所以只能描述特定走向(水平、垂直、对角)的结构。

目标检测的图像特征提取之(三)Haar特征

     对于图中的A, BD这类特征,特征数值计算公式为:v=Sum-Sum黑,而对于C来说,计算公式如下:v=Sum-2*Sum黑;之所以将黑色区域像素和乘以2,是为了使两种矩形区域中像素数目一致。

     通过改变特征模板的大小和位置,可在图像子窗口中穷举出大量的特征。上图的特征模板称为“特征原型”;特征原型在图像子窗口中扩展(平移伸缩)得到的特征称为“矩形特征”;矩形特征的值称为“特征值”。

      矩形特征可位于图像任意位置,大小也可以任意改变,所以矩形特征值是矩形模版类别、矩形位置和矩形大小这三个因素的函数。故类别、大小和位置的变化,使得很小的检测窗口含有非常多的矩形特征,如:在24*24像素大小的检测窗口内矩形特征数量可以达到16万个。这样就有两个问题需要解决了:(1)如何快速计算那么多的特征?积分图大显神通;(2)哪些矩形特征才是对分类器分类最有效的?如通过AdaBoost算法来训练(这一块这里不讨论,具体见http://blog.csdn.net/zouxy09/article/details/7922923

 

2Haar-like特征的计算积分图

       积分图就是只遍历一次图像就可以求出图像中所有区域像素和的快速算法,大大的提高了图像特征值计算的效率。

       积分图主要的思想是将图像从起点开始到各个点所形成的矩形区域像素之和作为一个数组的元素保存在内存中,当要计算某个区域的像素和时可以直接索引数组的元素,不用重新计算这个区域的像素和,从而加快了计算(这有个相应的称呼,叫做动态规划算法)。积分图能够在多种尺度下,使用相同的时间(常数时间)来计算不同的特征,因此大大提高了检测速度。

       我们来看看它是怎么做到的。

       积分图是一种能够描述全局信息的矩阵表示方法。积分图的构造方式是位置(i,j)处的值ii(i,j)是原图像(i,j)左上角方向所有像素的和:

  目标检测的图像特征提取之(三)Haar特征

目标检测的图像特征提取之(三)Haar特征        

积分图构建算法:

1)用s(i,j)表示行方向的累加和,初始化s(i,-1)=0;

2)用ii(i,j)表示一个积分图像,初始化ii(-1,i)=0

3)逐行扫描图像,递归计算每个像素(i,j)行方向的累加和s(i,j)和积分图像ii(i,j)的值

s(i,j)=s(i,j-1)+f(i,j)

ii(i,j)=ii(i-1,j)+s(i,j)

4)扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了。

积分图构造好之后,图像中任何矩阵区域的像素累加和都可以通过简单运算得到如图所示。

目标检测的图像特征提取之(三)Haar特征          

D的四个顶点分别为α、β、γ、δ,则D的像素和可以表示为

Dsum = ii( α )+ii( β)-(ii( γ)+ii( δ ));

        而Haar-like特征值无非就是两个矩阵像素和的差,同样可以在常数时间内完成。所以矩形特征的特征值计算,只与此特征矩形的端点的积分图有关,所以不管此特征矩形的尺度变换如何,特征值的计算所消耗的时间都是常量。这样只要遍历图像一次,就可以求得所有子窗口的特征值。

 

3Haar-like矩形特征拓展

         Lienhart R.等对Haar-like矩形特征库作了进一步扩展,加入了旋转45角的矩形特征。扩展后的特征大致分为4种类型:边缘特征、线特征环、中心环绕特征和对角线特征:

目标检测的图像特征提取之(三)Haar特征

       在特征值的计算过程中,黑色区域的权值为负值,白色区域的权值为正值。而且权值与矩形面积成反比(使两种矩形区域中像素数目一致);

竖直矩阵特征值计算:

     对于竖直矩阵,与上面2处说的一样。

45°旋角的矩形特征计算:

      对于45°旋角的矩形,我们定义RSAT(x,y)为点(x,y)左上角45°区域和左下角45°区域的像素和。

 目标检测的图像特征提取之(三)Haar特征      

用公式可以表示为:

目标检测的图像特征提取之(三)Haar特征

为了节约时间,减少重复计算,可按如下递推公式计算:

目标检测的图像特征提取之(三)Haar特征

而计算矩阵特征的特征值,是位于十字行矩形RSAT(x,y)之差。可参考下图:

目标检测的图像特征提取之(三)Haar特征

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124817.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021纪念品csgo_csgo最便宜的开箱网站

    2021纪念品csgo_csgo最便宜的开箱网站2021已知目前最全的国内CSGO开箱网站大全!!incsgo国内CSGO饰品皮肤开箱网站官方链接:www.incsgo.gg注册登录自动免费获得$1.00美金取回状态:直接取回**优惠码:**csgogo(充值使用csgogo可增加5%充值金额)skinsdog狗网CSGO饰品皮肤开箱网站可直接取回官方链接:skinsdog.cc注册登录自动免费获得$0.8美金取回状态:直接取回**优惠码:**csgogo(注册使用送0.8美金)coolkaixiang.

    2022年10月6日
    2
  • 联想笔记本电脑键盘灯怎么设置_笔记本电脑键盘字母键变成数字键

    联想笔记本电脑键盘灯怎么设置_笔记本电脑键盘字母键变成数字键联想笔记本电脑在市场上是比较受欢迎的,在使用联想笔记本电脑的时候都需要连接网络,一般在没有条件连接宽带的情况下,都是会选择连接wifi,那么使用联想笔记本电脑怎么连接wifi呢?还有就是在使用的时候联想笔记本电脑键盘灯怎么开启呢?接下来就为大家介绍有关联想笔记本电脑的相关内容。一、联想笔记本电脑怎么连接wifi1、联想笔记本电脑怎么连接wifi(1)在联想笔记本电脑连接wifi的时…

    2022年9月20日
    3
  • docker启动mysql并打开远程连接「建议收藏」

    docker启动mysql并打开远程连接「建议收藏」1.获取mysql:拉去mysql镜像dockerpullmysql:8.02.启动mysql#–name指定容器名字-v目录挂载-p指定端口映射-e设置mysql参数-d后台运行dockerrun–namemysql-v/usr/local/mysql/data:/var/lib/mysql-v/usr/local/mysql:/etc/mysql/conf.d-v/usr/local/mysql/log:/var/log/mysql-eMYSQL

    2022年9月1日
    3
  • Servlet的工作原理简介

    Servlet的工作原理简介你使用的本地web服务器或者买的别的服务器都一样的原理,鼠标点击事件发出一个HTTP请求以后,服务器会将请求移交给servlet容器,servlet容器首先对所请求的URL进行解析并根据web.xml配置文件找到相应的处理servlet,同时将request、response对象传递给它,servlet通过request对象可知客户端的请求者、请求信息以及其他的信息等,servlet在处理完请求后…

    2022年9月1日
    5
  • python新手怎么兼职-利用python兼职[通俗易懂]

    python新手怎么兼职-利用python兼职[通俗易懂]广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。类似这种需求也在很多ppt兼职群(qq群搜索就可以查到)里能遇到,如果会python来自动批量操作ppt调整格式,那接单岂不是来者不拒?为了给大家增加一个赚钱的小机会,行哥这里给大家分享一下python操作ppt的用法用法大纲如下:?安装工具包首先用pip安装python…

    2022年6月11日
    59
  • settings官方网站_java_home environment variable

    settings官方网站_java_home environment variablesetting —> php,选择php版本,并点击…,选择到php.exe进入到appserv底下找到php.ini文件,查找date.timezone,去掉前面的;号,添加”Asia/Shanghai”重启appserv环境,就是重启下apache 和 mysql服务发现依然失败后面重启电脑就可以了哈哈哈哈哈哈哈哈…

    2022年8月18日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号