资源简介
本资源为HOG+SVM实现的行人检测系统,包括完整的训练、检测和测试程序。检测程序运行环境为VS2013+opencv2.4.13和QT+opencv3.1.0,测试程序运行环境为matlab2016,具体运行方法见资源中的.txt说明文件。
代码片段和文件信息
// Pedestriandetection.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “opencv2/video/background_segm.hpp“
#include
using namespace std;
using namespace cv;
#define PosSamNO 2400 //正样本个数
#define NegSamNO 12660 //负样本个数
#define TRAIN false //是否进行训练true表示重新训练,false表示读取xml文件中的SVM模型
#define CENTRAL_CROP true //true:训练时,对96*160的INRIA正样本图片剪裁出中间的64*128大小人体
//HardExample:负样本个数。如果HardExampleNO大于0,表示处理完初始负样本集后,继续处理HardExample负样本集。
//不使用HardExample时必须设置为0,因为特征向量矩阵和特征类别矩阵的维数初始化时用到这个值
#define HardExampleNO 0
void press(HOGDescriptor &myHOG Mat src);
//继承自CvSVM的类,因为生成setSVMDetector()中用到的检测子参数时,需要用到训练好的SVM的decision_func参数,
//但通过查看CvSVM源码可知decision_func参数是protected类型变量,无法直接访问到,只能继承之后通过函数访问
class MySVM : public CvSVM
{
public:
//获得SVM的决策函数中的alpha数组
double * get_alpha_vector()
{
return this->decision_func->alpha;
}
//获得SVM的决策函数中的rho参数即偏移量
float get_rho()
{
return this->decision_func->rho;
}
};
int main()
{
//检测窗口(64128)块尺寸(1616)块步长(88)cell尺寸(88)直方图bin个数9
HOGDescriptor hog(Size(64 128) Size(16 16) Size(8 8) Size(8 8) 9);//HOG检测器,用来计算HOG描述子的
int DescriptorDim;//HOG描述子的维数,由图片大小、检测窗口大小、块大小、细胞单元中直方图bin个数决定
MySVM svm;//SVM分类器
//若TRAIN为true,重新训练分类器
if (TRAIN)
{
string ImgName;//图片名(绝对路径)
ifstream finPos(“E:\\项目\\数字图像处理\\INRIAPerson\\INRIAPerson\\96X160H96\\Train\\INRIAPerson96X160PosList.txt“);//正样本图片的文件名列表
//ifstream finPos(“PersonFromVOC2012List.txt“);//正样本图片的文件名列表
ifstream finNeg(“E:\\项目\\数字图像处理\\INRIAPerson\\INRIAPerson\\NoPersonFromINRIAList.txt“);//负样本图片的文件名列表
Mat sampleFeatureMat;//所有训练样本的特征向量组成的矩阵,行数等于所有样本的个数,列数等于HOG描述子维数
Mat sampleLabelMat;//训练样本的类别向量,行数等于所有样本的个数,列数等于1;1表示有人,-1表示无人
//依次读取正样本图片,生成HOG描述子
for (int num = 0; num {
cout << “处理:“ << ImgName << endl;
//ImgName = “D:\\DataSet\\PersonFromVOC2012\\“ + ImgName;//加上正样本的路径名
ImgName = “E:\\项目\\数字图像处理\\INRIAPerson\\INRIAPerson\\96X160H96\\Train\\pos\\“ + ImgName;//加上正样本的路径名
Mat src = imread(ImgName);//读取图片
if (CENTRAL_CROP)
src = src(Rect(16 16 64 128));//将96*160的INRIA正样本图片剪裁为64*128,即剪去上下左右各16个像素
//resize(srcsrcSize(64128));
vector descriptors;//HOG描述子向量
hog.compute(src descriptors Size(8 8));//计算HOG描述子,检测窗口移动步长(88)
//
cout << “描述子维数:“ << descriptors.size() << endl;
//处理第一个样本时初始化特征向量矩阵和类别矩阵,因为只有知道了特征向量的维数才能初始化特征向量矩阵
if (0 == num)
{
DescriptorDim = descriptors.size();//HOG描述子的维数
//初始化所有训练样本的特征向量组成的矩阵,行数等于所有样本的个数,列数等于HOG描述子维数sampleFeatureMat
sampleFeatureMat = Ma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-25 00:41 行人检测工程文件\
目录 0 2019-03-25 00:40 行人检测工程文件\Pedestriandetection\
目录 0 2019-03-25 00:40 行人检测工程文件\Pedestriandetection\Debug\
文件 184320 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Debug\Pedestriandetection.exe
文件 960104 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Debug\Pedestriandetection.ilk
文件 3165184 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Debug\Pedestriandetection.pdb
文件 44073 2018-05-18 19:51 行人检测工程文件\Pedestriandetection\HOGDetectorForOpenCV.txt
目录 0 2019-03-25 00:40 行人检测工程文件\Pedestriandetection\Pedestriandetection\
目录 0 2019-03-25 00:40 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\
目录 0 2019-03-25 00:40 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\
文件 13766 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\CL.read.1.tlog
文件 1384 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\CL.write.1.tlog
文件 169 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\Pedestriandetection.lastbuildstate
文件 1878 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\cl.command.1.tlog
文件 2438 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\li
文件 5028 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\li
文件 726 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestri.EA9A9B55.tlog\li
文件 3373 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestriandetection.log
文件 824508 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestriandetection.obj
文件 1703936 2018-05-13 10:24 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\Pedestriandetection.pch
文件 11194 2018-05-13 10:24 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\stdafx.obj
文件 756736 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\vc120.idb
文件 1781760 2018-05-18 19:50 行人检测工程文件\Pedestriandetection\Pedestriandetection\Debug\vc120.pdb
文件 13053 2018-05-18 19:51 行人检测工程文件\Pedestriandetection\Pedestriandetection\Pedestriandetection.cpp
文件 4672 2018-05-13 10:24 行人检测工程文件\Pedestriandetection\Pedestriandetection\Pedestriandetection.vcxproj
文件 1326 2018-05-13 10:19 行人检测工程文件\Pedestriandetection\Pedestriandetection\Pedestriandetection.vcxproj.filters
文件 1594 2018-05-13 10:19 行人检测工程文件\Pedestriandetection\Pedestriandetection\ReadMe.txt
文件 225 2018-05-13 10:19 行人检测工程文件\Pedestriandetection\Pedestriandetection\stdafx.cpp
文件 234 2018-05-13 10:19 行人检测工程文件\Pedestriandetection\Pedestriandetection\stdafx.h
文件 236 2018-05-13 10:19 行人检测工程文件\Pedestriandetection\Pedestriandetection\targetver.h
文件 44 2018-05-18 19:47 行人检测工程文件\Pedestriandetection\Pedestriandetection.opensdf
............此处省略20个文件信息
相关资源
- 基于Matlab行人检测系统
- hog+svm图像二分类
- OpenCV空洞填充算法工程以及代码
- matlab 基于HOG特征值模板匹配的汉字识
- KDE核密度估计行人检测
- LSD直线检测算法代码OpenCV+Matlab
- LSD直线检测opencv+matlab
- 行人检测的matlab实现
- 目标跟踪算法KCF融合HOG+CN特征,matl
- 几个常用到的matlab图像处理工具箱
- 基于SVM+HOG的人脸检测matlab程序
- 基于MATLAB与OpenCV相结合的双目立体视
- 基于HOG+SVM的行人检测系统183534
- Matlab+OpenCV相机标定详细步骤
- hogcascade训练,内有人头训练样本和使
- 图片素材.zip,适用于常见的数字图像
- HOG_SVM的行人检测
- KCF跟踪demo1
- 光流法包括LK光流,HS光流,论文,
- SVM+HOG行人识别算法的matlab实现
- MATLAB 行人检测
- 张正友相机标定Opencv实现带棋盘格打
- HOG特征提取分析MATLAB代码
- HOG目标跟踪
- HOG特征matlab代码实现
- HOG+LBP的行人检测
- 基于MATLAB的行人检测代码
- matlab版hog+svm图像二分类
- HOG特征的三维直方图,很形象的说明
- pHog纹理识别 matlab程序
评论
共有 条评论