HOG + SVM(行人检测, opencv实现)

HOG+SVM流程

1.提取HOG特征

灰度化 + Gamma变换(进行根号求解)

计算梯度map(计算梯度)

图像划分成小的cell,统计每个cell梯度直方图

多个cell组成一个block, 特征归一化

多个block串接,并归一化

2.训练SVM分类器

原文地址:https://www.cnblogs.com/my-love-is-python/p/11110277.html

时间: 2024-10-13 10:45:16

HOG + SVM(行人检测, opencv实现)的相关文章

HOG特征+SVM行人检测

HOG特征+SVM行人检测 API介绍: 1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 int main(int argc, char** argv) { 8 Mat src = imread("L:/opencv_picture/ren4.jpg"); 9 if (src.empty()) { 10

HoG SVM 目标检测分析

前一段时间开始了解HoG跟SVM行人识别,看了很多包括Dalal得前辈的文章及经验分享,对HoG理论有了些初步的认识. HoG 的全称是 Histogram of Oriented Gradient, 直译过来也就是梯度方向直方图. 就是计算各像素的梯度方向,统计成为直方图来作为特征表示目标. 下面简述一下利用HoG + SVM 实现目标检测的简要步骤 Step1:获取正样本集并用hog计算特征得到hog特征描述子.例如进行行人检测,可用IRINA等行人样本集,提取出行人的描述子. Step2:

学习OpenCV——行人检测&amp;人脸检测(总算运行出来了)

http://blog.csdn.net/yangtrees/article/details/7453987 之前运行haar特征的adaboost算法人脸检测一直出错,加上今天的HOG&SVM行人检测程序,一直报错. 今天总算发现自己犯了多么白痴的错误--是因为外部依赖项lib文件没有添加完整,想一头囊死啊 做程序一定要心如止水!!! 仔细查找!!! 1.人脸识别程序: [cpp] view plain copy print? #include "cv.h" #include

【OpenCV】基于HOG与SVM的行人检测学习

最近听了关于HOG与SVM的报告,比较深刻的学习了算法原理与实现方式.这里根据一些资料作下总结,方便日后拾起: A.方向梯度直方图(HOG,Histogram of Gradient) 将图像依次划分为检测窗口(window).块(block).胞元(cell)3个层次 大体流程: 逐像素计算方向梯度: 对cell中的像素根据梯度划分区间,给出统计直方图: 对于每个block中重叠的cell进行对比度归一化: 把所有直方图向量组成HOG特征向量. HOG特征向量: OpenCV对于HOG描述子(

利用Hog特征和SVM分类器进行行人检测

在2005年CVPR上,来自法国的研究人员Navneet Dalal 和Bill Triggs提出利用Hog进行特征提取,利用线性SVM作为分类器,从而实现行人检测.而这两位也通过大量的测试发现,Hog+SVM是速度和效果综合平衡性能较好的一种行人检测方法.后来,虽然很多研究人员也提出了很多改进的行人检测算法,但基本都以该算法为基础框架.因此,Hog+SVM也成为一个里程表式的算法被写入到OpenCV中.在OpenCV2.0之后的版本,都有Hog特征描述算子的API,而至于SVM,早在OpenC

利用opencv的hog+svm实现细胞识别分类器

利用opencv的hog+svm实现细胞识别分类器 图像处理中的细胞识别和人脸识别可以这样来类比,图像中的一张张人脸就是一个个细胞. 模式识别的关键在于样本库的选取,识别率也只能在和样本库比较接近的环境下才能保证.主要工作是三部分一是特征提取,二是样本库的训练train,三是目标检测detect. 一.特征提取 特征提取采用的是HOG特征即HOG描述子,该特征在行人检测中效果非常好.而一般人脸识别采用的是haar特征,这在opencv中都有实现,并都给出了相应的分类器,效果都很不错. 首先采集了

hog+svm+检测人(代替默认的参数)

#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/ml/ml.hpp>//#include <opencv2/gpu/gpu.hpp>#include <fstream>#include <iomanip> #include "opencv2/imgp

OpenCV的HOG+SVM训练程序注意事项

行人训练:http://www.tuicool.com/articles/MvYfui 字符识别:http://www.haogongju.net/art/2328003 用OpenCV使用HOG特征进行SVM算法训练的大概流程是 1)设置训练样本集 需要两组数据,一组是数据的类别,一组是数据的向量信息. 2)设置SVM参数,参考<机器模式->libSVM之参数说明> 注意必须使用线性SVM进行训练,因为检测函数只支持线性检测!!! 3)使用HOGDescriptor计算hog特征 4)

第十八节、基于传统图像处理的目标检测与识别(HOG+SVM附代码)

其实在深度学习分类中我们已经介绍了目标检测和目标识别的概念.为了照顾一些没有学过深度学习的童鞋,这里我重新说明一次:目标检测是用来确定图像上某个区域是否有我们要识别的对象,目标识别是用来判断图片上这个对象是什么.识别通常只处理已经检测到对象的区域,例如,人们总是会使在已有的人脸图像的区域去识别人脸. 传统的目标检测方法与识别不同于深度学习方法,后者主要利用神经网络来实现分类和回归问题.在这里我们主要介绍如何利用OpecnCv来实现传统目标检测和识别,在计算机视觉中有很多目标检测和识别的技术,这里