目标检测的图像特征提取之(一)Hog特征提取

Hog特征实质是:梯度的统计信息,即针对边缘作特征提取

意义目标的表象和形状

转载于zouxy09大神的文章,加上自己些微的理解和应用!


http://blog.csdn.net/zouxy09/article/details/7929348/

上述基本讲清楚了,其实重点在于如下:

大概过程:

HOG特征提取方法就是将一个image(你要检测的目标或者扫描窗口):

1)灰度化(将图像看做一个x,y,z(灰度)的三维图像);

2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;

3)计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

4)将图像划分成小cells(例如6*6像素/cell);

5)统计每个cell的梯度直方图(不同梯度的个数),即可形成每个celldescriptor

6)将每几个cell组成一个block(例如3*3cell/block),一个block内所有cell的特征descriptor串联起来便得到该blockHOG特征descriptor

7)将图像image内的所有blockHOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。

其中用Opencv实现需要注意:

    HOGDescriptor *hog = new HOGDescriptor(cvSize(64, 48), cvSize(32, 32), cvSize(8, 8), cvSize(16, 16), 9);

cvSize(64, 48):滑动窗口大小(不明白为什么设为图像的大小)
cvSize(32, 32):block大小
cvSize(8, 8):block的移动步长
cvSize(16, 16):cell大小
9:bins个数
前四个参数的单位都是像素。

一个重要的公式是: (window_size - block_size)/block_stride + 1 

上述公式说明一个样本图像的block数量的计算方法,

而一个样本图像的特征数量的计算方法为        

特征数量= bins * 每个block的cell数量 * block数量


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis类型[string 、list 、 set 、sorted set 、hash]

1. Keys redis本质上一个key-value db,所以我们首先来看看他的key. 首先key也是字符串类型,但是key中不能包括边界字符;由于key不是binary safe的字符串,所以像"my key"和"mykey\n"这样包含空格和换行的key是…

matlab simulink笔记02——延迟模块delay与单位延迟模块unit delay

延迟模块 单位延迟模块 延迟模块具有复位功能,当满足复位条件时会进行复位操作,即输出的值会恢复到初始值,而单位延迟模块没有复位功能; 延迟模块的步长是可以设置的,而单位延迟模块的步长固定为1,不可以改变

局域网传输速度升级

现在很多单位都建成了企业内部局域网,一般的企业网络大多是使用双 绞线连接网卡的方式来进行通信的。其中双绞线通常采用的都是5类线,传输速率为100MB。而网卡则有一定的区别,很多网卡都是采取 10Mbps/100Mbmps自适应的网卡,即传输…

数据结构--栈 codevs 1107 等价表达式

codevs 1107 等价表达式 2005年NOIP全国联赛提高组 时间限制: 1 s空间限制: 128000 KB题目等级 : 钻石 Diamond题目描述 Description明明进了中学之后,学到了代数表达式。有一天,他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式&am…

目标检测的图像特征提取之(二)LBP特征

LBP特征实质是:图像局部特征的提取 意义:纹理的提取 http://blog.csdn.net/zouxy09/article/details/7929531 1)首先将检测窗口划分为1616的小区域(cell); (2)对于每个cell中的一个…

VS2010安装帮助文档出现错误

安装VS2010后的帮助文档安装出现错误:未能在指定文件夹中创建本地存储区 安装完VS2010后,出现错误,取消后 再安装MSDN 打开“Help Library 管理器 - Microsoft Help 查看器 1.0” 提示“请为本地内容选择位置” 默认的位置是在“C:\Documents and Settin…

matlab smulink笔记03——过零检测

★过零检测 变步长解算方法动态地评估计算下一个采样时刻所使用的步长,当前后两个采 样点的状态值变化大时,则缩小采样步长,当前后两个采样点的值变化小时则增大步 这种做法使得解算器在计算不连续临近区域时使用较小的步长,因为不…

电脑下乡的遐想

最近讨论家电下乡的话题很热,其中我个人最关心“电脑下乡”。原因是,我是农村人,正好在电脑相关行业里混。 应当说,让电脑下乡是我多年的梦想,我多么盼望乡下的乡亲们能够上网看新闻、学习、看电视……但是&#xff0c…

angularjs学习曲线

angularjs学习曲线 刚开始学Augular觉得开发应用需要有相当的编程基础. 不得不说这确实是一款了不起的开发框架,它要求开发人员设计低耦合和可维护的应用. 使用AngularJS 的复杂度就像使用PHP,Ruby on Rails等等, 都需要处理依赖注入,路由&am…

HttpWebRequest post上传文件

public static string HttpUploadFile(string url, string path){// 设置参数 HttpWebRequest request WebRequest.Create(url) as HttpWebRequest;CookieContainer cookieContainer new CookieContainer();request.CookieContainer cookieContainer;request.AllowAutoRedir…

文章标题

**1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 main,该符号在函数 “int __cdecl invoke_main(void)” (?invoke_mainYAHXZ) 中被引用 1>D:\vs2015-code\Imae_Client\x64\Debug\Imae_Client.exe : fatal error LNK1120: 1 个无法解析…

matlab simulink笔记04——switch模块

Switch 模块 Switch模块是-.个选择开关模块,可根据判断条件选择多个输入端口中的某个进行输出。图所示为CommonlyUsedBlocks中具有3个输入端口.1个输出端口的Switch模块图标。模块的3个端口中,第1个和第3个端口为输出端口提供输出值,输出端口输出第1个输人口还是第3个输人口的值…

[Ajax]ajax学习与理解

1.新建demo.aspx页面。2.首先在该页面的后台文件demos.aspx.cs中添加引用。 using System.Web.Services;3.无参数的方法调用. 大家注意了,这个版本不能低于.net framework 2.0。2.0已下不支持的。后台代码: [WebMethod] public static string SayHel…

优化Web网站性能

一、前端优化网站性能优化是一个很综合的话题,涉及到服务器的配置和网站前后端程序等各个方面,我只是从实际经历出发,分享一下自己所尝试过的网站性能优化方法。之所以在标题上挂一个web2.0,是因为本文更偏重于中小网站的性能优化…

Gym - 100851F Froggy Ford kruskal

题目链接: http://acm.hust.edu.cn/vjudge/problem/307216Froggy FordTime Limit: 3000MS题意 青蛙过河,河中有若干个石头,现在你可以加一个石头,使得青蛙从左岸跳到右岸的最大跳跃距离最小。 题解 把左岸和右岸作为两个虚节点&am…

Tesseract入门-VS2015下调用Tesseract4.0 +win7 64位系统

本文是基于最近的OCR识别项目学习ocr开源库-tesseract的简单调用,不涉及其余视觉知识。 参考文献:http://blog.csdn.net/u012566751/article/details/54136836 参考库:http://download.csdn.net/download/u010554381/10044876 1.预备工作 …

authconfig命令解析_学习笔记

时间:2017.11.16作者:李强参考:man,info,magedu讲义声明:以下英文纯属个人翻译,英文B级,欢迎纠正,盗版不纠,才能有限,希望不误人子弟为好。1、使用目的与场景先列在这里&…

matlab simulinK笔记06——代数环

★代数环 代数环,就是由于模型的输出反馈到模块或子系统的某个输入端,如果这个输入 是直接馈入的,那么二者在同一个采样点内需得到求解,但又互相依赖,哪一方都不 能完成求解过程,使得解算器无法解算导致错误产生,这样的…

PHP多种序列化/反序列化的方法 (转载)

1. serialize和unserialize函数 这两个是序列化和反序列化PHP中数据的常用函数。 <?php$a array(a > Apple ,b > banana , c > Coconut);//序列化数组 $s serialize($a); echo $s; //输出结果&#xff1a;a:3:{s:1:"a";s:5:"Apple";s:1:&qu…

基于python3的Opencv(一)-打开摄像头显示图像

基于Python3的Opencv学习&#xff1a; import cv2 as cv def video_demo(): #0是代表摄像头编号&#xff0c;只有一个的话默认为0capturecv.VideoCapture(0) while(True):ref,framecapture.read()cv.imshow("1",frame) #等待30ms显示图像&#xff0c;若过程中按“Esc…