HoG
实现步骤
- 先计算每一个像素点位置上x和y方向上的梯度. 这样在每一个像素点位置上得到一个二维向量, 计算它的方向和模长
- 将图片分为一个个的cell, 如\(8\times 8\). 计算它的HOG: cell内的每个像素都给它的梯度方向所在bin投票, 票的权重是梯度向量的模长.
- 将cell组成一个个block, 例如\(4 \times 4\)个cell一个block. Block与block之间可以重叠. 将block内所有cell的HOG拼成一个一维向量, 然后normalize.
- 将一张图片上的所有block的HOG拼接起来成为一个单独的列向量, 作为图片整体的特征向量.
可以指定的参数
- cell的大小, block的大小与步长
- 计算梯度时: 使用的mask类型, 如\([-1, 0, 1], [-1, 0, 1]^T\)或Sobel mask
- 计算histogram: gradient的方向是在0到180度还是0到360度, bin的数量.
- block normalize的方法
如何从不同大小的图片中提取出相同维度的特征?
通常做法是resize到相同大小
Tips
不需要对输入的图片进行平滑操作
参考
https://www.youtube.com/watch?v=0Zib1YEE4LU
https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients
https://github.com/scikit-image/scikit-image/blob/master/skimage/feature/_hog.py skimage的hog实现, 代码注释很详细.
http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_ml/py_svm/py_svm_opencv/py_svm_opencv.html
HoG的更多相关文章
- 特征检测之HOG
参考: http://blog.csdn.net/liulina603/article/details/8291093 http://blog.csdn.net/woxincd/article/det ...
- libsvm Minist Hog 手写体识别(源码文件)
以上是我上一篇文章中的代码实现,里面分别用了opencv中的SVM和LibSVM,opencv的SVM用起来更方便,但貌似内部其实也是基于Libsvm,同样的参数训练出来的结果是一致的,里面有Libs ...
- libsvm Minist Hog 手写体识别
统计手写数字集的HOG特征 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 这篇文章是模式识别的小作业,利用sv ...
- matlab实现hog特征
%%matlab实现hog特征 %修改自http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html %input: img %outp ...
- OpenCV人形检测Hog
#include "iostream" #include "queue" using namespace std; #include "opencv2 ...
- 【HOG】
http://blog.csdn.net/masibuaa/article/details/12917961 把这份资料大概看完了 大概了解Hog了
- 学习OpenCV——HOG+SVM
#include "cv.h" #include "highgui.h" #include "stdafx.h" #include < ...
- HOG matlab练习
matlab练习程序(HOG方向梯度直方图) HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测. 算法流程图 ...
- Hog SVM 车辆 行人检测
HOG SVM 车辆检测 近期需要对卡口车辆的车脸进行检测,首先选用一个常规的检测方法即是hog特征与SVM,Hog特征是由dalal在2005年提出的用于道路中行人检测的方法,并且取的了不错的识别效 ...
随机推荐
- 第10章 同步设备I/O和异步设备I/O(2)_同步IO和异步IO基础
10.3 执行同步设备I/O (1)对设备读写操作的函数 ①ReadFile/WriteFile函数 参数 描述 hFile 文件句柄 pvBuffer 指向要接收文件数据的缓冲区或把缓冲区数据写入设 ...
- combobox 属性、事件、方法
一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActi ...
- java 23 - 3 单例模式实现Runtime类
Runtime:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接. 其中一个方法: exec(String command) 在单独的进程中执行指定的字符串 ...
- java(搜索不区分大小写)
ref.put("myfield", Pattern.compile(".*myValue.*" , Pattern.CASE_INSENSITIVE));
- django复习笔记1:环境配置
一.IDE 推荐使用sublime安装djaneiro插件. 1.安装方式 package control中搜索djaneiro 支持补全请参考:Django support for Sublime ...
- Codevs1026 逃跑的拉尔夫
题目描述 Description 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移动 ...
- 如何把Json格式字符写进text文件中
本篇一步一步学习怎样把显示于网页的json格式的字符串写进text文件中,并保存起来.学习到创建model, Entity, 序列化List<object>转换为json,显示于网页上.然 ...
- Router的创建者——RouteBuilder
Router的创建者--RouteBuilder 在<注册URL模式与HttpHandler的映射关系>演示的实例中,我们总是利用一个RouteBuilder对象来为RouterMiddl ...
- Android各种屏幕适配原理
dip(dp): device independent pixels(设备独立像素) dip,就是把屏幕的高分成480分,宽分成320分.比如你做一条160dip的横线,无论你在320还480的模拟器 ...
- 运行mvc3.0项目所需dll
Microsoft.Web.Infrastructure 位置:C:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies ...