关于调用OPENCV库 编写HOG与SVM程序 不同样本训练结果问题 50C

本人前一段时间写了一个车辆检测的程序方法HOG与SVM,利用opencv做的
一开始样本是128x96的 大概5000多正样本 7000多负样本
最近 我从新剪裁了一批新的样本 主要是车的车脸部分,然后今天从新训练发现了一些问题。
图片说明
如图 当车行驶到变大的时候我的程序 才会识别到,这次新的样本用的128x128的 比之前的要大,训练时候参数如下,我不太清楚窗口大小是不是一定要和样本大小一样?
HOGDescriptor * hog = new HOGDescriptor(cvSize(128, 128), cvSize(16, 16), cvSize(8, 8), cvSize(8, 8), 9);
检测视频的时候,参数如下
myHOG.detectMultiScale(frame, found, 0, Size(8, 8), Size(0, 0), 1.15, 5);
以前,样本不标准,正样本里面含有很多背景部分,但是用以前样本生成的SVM检测是参数为myHOG.detectMultiScale(frame, found, 0.5, Size(16, 16), Size(0, 0), 1.15, 5);利用0.5的阈值也就是到超平面距离去掉了很多误报,而且块大小还要大一些就是粗糙一些,检测时候后面的车也会检测到,没有像现在这样离很近才能检测到,而且现在左右两侧有很多车都漏检。
所以想请问一下为什么?
我有几种想法
1.样本128x128过大,以前是128x96所以离得远的目标也能检测到,参数里面的Size(0,0)图像扩充大小我不是很理解?另外1.15是缩放比例,我不知道是图像扩大吗?如果是扩大,调大了应该会有作用,但是经过测试作用不大。
2.是不是参数理解有问题,请会的大神帮我说一下各个参数的设置
3.会不会是样本问题,负样本7000过少,不相干性太大(因为都是随便找的负样本)
正样本 从车身换到车脸我觉得问题不大。
请各位帮我分析一下,咱们共同进步!!!

0

1个回答

你用的是滑动窗口么?这篇博客里说:滑动窗口算法的速度很慢,而且窗口大小,滑动步长等参数对结果的影响也比较大
http://blog.csdn.net/GumpCode/article/details/50561008

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
OpenCV3.1 SVM+HOG训练经验总结
问题一:这个问题是比较乌龙了。我的训练样本是两个类别,正确的情况下是生成一个决策函数,而我却得到了三个。运行总是出错。rn                因为由getDecisionFunction(0,svm_alpha,svm_svidx)得到的svm_alpha出错,导致矩阵维数不能对齐;rn原因:rn        我实际负样本数是5339,我却误写为5341,导致给标识和特征的矩阵多出两
HOG+SVM样本训练测试例子
// HOG+SVM.cpp : 定义控制台应用程序的入口点。rn//rn#include "stdafx.h"rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rn#include rnusing namespace cv;rnusing namespace std;rn
HOG+SVM原版C++代码,略修改,编译成功
HOG+SVM算法作者Dalal提供的C++源码,经过本人在ubuntu15.10(32位)下测试:boost使用apt-get安装,其他包使用作者提到的版本编译安装,此时仍无法顺利编译learcode。本人根据编译错误信息不断修改,此压缩包中的是可以用于编译的版本,希望对于做行人检测的你有所帮助!!
python hog+svm 工具箱调用
1、使用实例https://www.cnblogs.com/luyaoblog/p/6775342.html2、install scikit-learnhttp://scikit-learn.org/stable/install.html3、scikit-learn使用手册http://scikit-learn.org/stable/modules/classes.html#module-skle...
【机器学习--opencv3.4.1版本基于Hog特征描述子Svm对经典手写数字识别】
方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。nnnnnn#include <iostream>nn#include <fstream>nn#include <opencv2/core/core.h...
OpenCV中将一幅图平均分成N*M份,适合SVM+HOG训练的负样本采集
刚刚开始学OpenCV,这个程序是自己写的,运行环境是VS2010+OpenCV2.4.9;rn因为做SVM+HOG对人体头部进行检测,自己偷懒,而且还不会用鼠标选ROI,就用ps,花了一整天,收集了1000+个正样本。感觉脑子都机械了!!!负样本需要3000-,完全没心情搞,就编个程,让电脑自己做。rn这个程序用的 cvLoadImage读图,所以只有在同一个目录下的图片能读取。看有人用txt写
使用OpenCV3.4的SVM实现mnist手写体的训练和预测
n最近在用C++做手写体识别,踩了许多坑。。网上使用SVM的教程遇到的都比较坑,看了半天没怎么涉及原理,而代码又比较乱,没怎么介绍,害我搞了一下午,所以就很烦,所幸最后终于找到了方法,所以想把这段比较痛苦的经历记录下来,造福后人。如果是想从本文弄懂原理的话,那比较抱歉。nnn说明 nn实验环境是:VS2017 + OpenCV3.4.0+win10;nn关于配置OpenCV.3.4.0, 整个过程...
OpenCV3.2.0中使用HOG特征训练SVM分类器时重点注意事项
本篇文章主要是本人在编程的过程遇到的,困扰了我好久的几个小问题,在此与大家分享,希望大家不会被相同的问题所困扰。
opencv中应用HOG特征训练SVM多分类器的一般框架
opencv中应用HOG特征训练SVM多分类器的一般框架
Opencv实现行人检测(HOG + SVM)
1. 理论基础nn使用OpenCv进行行人检测的主要思想: HOG + SVM nHOG: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征. n SVM: (Support Vector Machine)指的是支持向量机,是...
opencv3.1 /vs2013使用hog+svm完成一个多分类问题
最近完成一个svm的多分类问题,中间遇到了一些小问题,特意来这里总结一下。遇到的第一个是提取hog特征的时候,运行到hog.compute时,内存总是出现各种错误。这个问题并没有得到合理的解决方式,网上也有出现相关的错误的情况。我并没有解决这个问题,只是将debug模式调整成release模式,程序就编译通过了。没看到比较通用的解决方案。网上有提供一种将调试模式改成mtd的,但那个对我的工程好像不...
SVM+HOG对图像进行多分类(OpenCV实现)
前几个月写了篇关于MATLAB实现SVM+HOG对图像进行多分类,链接:http://blog.csdn.net/cuixing001/article/details/70908064,先开始是用opencv实现的,可是识别效果很差,以为我写错代码了,后来纠结了好久好久,才发现是核函数选择有很大问题!这次改为线性核,效果在这些图片中(所用的图像数据集为:链接: https://pan.baidu.
OPENCV3之SVM+HOG打开的正确姿势
# 环境: win10+python3+opencv3n'''n因为在做一个手势识别的项目,发现网上五花八门的错误啊 有木有!!.一番摸索,翻墙,折磨才终于找到了正解.n整个算法全部使用opencv模块,包括hog,svmn'''n# nn# 设置HOG一些参数,nnwinSize=(30,60)nblockSize=(10,20)nblockStride=(5,10)ncellSize=(5,...
图像识别--Java中使用openCV提取Hog特征通过SVM训练实现图像识别
图像识别大致可以分为这么几步:rn1.对训练图片进行预处理rn2.对预处理的图片进行Hog特征提取rn3.使用SVM分类器对特征进行分类形成模型rn4.根据模型对测试图片进行预测rn rn以下都是通过openCV实现(若直接使用openCV提取Hog特征可直接跳过预处理阶段直接看Hog特征提取阶段):rn预处理阶段:rn1.图像的灰度化处理rnImgproc.cvtColor(imageMat,
OpenCv学习笔记15--传统目标检测(HOG+SVM)
此opencv系列博客只是为了记录本人对<<opencv3计算机视觉-pyhton语言实现>>的学习笔记,所有代码在我的github主页https://github.com/RenDong3/OpenCV_Notes.nn欢迎star,不定时更新...nn推荐前辈链接:https://www.cnblogs.com/zyly/p/9651261.html,解释的非常清晰nn...
【OpenCV3】HOG+SVM目标识别
SVM,即支持向量机,在结合相关特征描述子之后,在目标识别,如行人识别、汽车识别、人脸识别等领域中有着重要应用。opencv中提供了HOG特征描述子,这种特征提供支持SVM的接口。这不再进行原理性的介绍,直接介绍如何使用opencv进行SVM+HOG训练和检测。nn nn1、svm+hog训练nn nnn#include <iostream> n#include <fstrea...
用opencv实现HOG+SVM行人检测
用opencv实现HOG+SVM行人检测HOG Descriptors 是Navneet Dalal在2005年提出的一种特征,是行人检测方面的经典特征。在opencv中当然也提供了这种方法的实现。我们可以先跑一跑opencv自带的实现方法,使用opencv中已经训练好的SVM分类器,代码如下。n#include <iostream>n#include <opencv2/opencv.hpp>nin
Opencv3.0 手写数字识别(Hog特征+SVM分类器)
配置:VS2013+Opencv3.0n参考:nhttp://blog.csdn.net/iamzhangzhuping/article/details/51254567nnhttp://blog.csdn.net/wang382758656/article/details/52723674nn理论什么的就不多说了,网上很多。n直接上干货n1、前期准备n首先,下载好所需的训练文件
自己训练SVM分类器进行HOG行人检测
声明:本文转载自  masikkk 正样本来源是INRIA数据集中的96*160大小的人体图片,使用时上下左右都去掉16个像素,截取中间的64*1
hog+svm训练自己的分类器
一、原理简述nHOG: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征. nSVM: (Support Vector Machine)指的是支持向量机,是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识...
简单实现一个人脸检测器(HOG+SVM实现人脸检测)
第一步,准备数据。rn原始数据采用FDDB人脸检测测评数据集,FDDB是全世界最具权威的人脸检测评测平台之一,包含2845张图片,共有5171个人脸作为测试集。测试集范围包括:不同姿势、不同分辨率、旋转和遮挡等图片,同时包括灰度图和彩色图,标准的人脸标注区域为椭圆形。rn       当然,为了简单起见,我们不直接使用这个数据集。我的做法是,自己做一些正样本和负样本数据集。正样本,即人脸,从FDD
SVM+HOG识别数字
想实现一个SVM分类器,在网上找了好久,都不能编译,心态要崩了,下楼去跑了一会儿步,才恢复过来。最后找到了一个博客,实现成功了。nn根据网上的教程,我复现了一遍,详见该博客https://blog.csdn.net/wf15725243865/article/details/80894132nn这期间,我遇到了几个很蠢的问题。nn1.一个项目下我编写了多个main函数,当然出错啦nn2.别人博客上...
opencv3使用svm+hog训练数字
先暂时把opencv3的具有参考价值的文章放一下: n1、主要参考这个文章,但是他的是opencv2 文章名称: 使用 svm+hog 训练,检测手写数字:https://blog.csdn.net/weixin_37721518/article/details/74187127 n2、这个是opencv3的,部分参考这个,也理解了一些参数如何修改https://blog.csdn.net/...
Opencv之HOG特征与SVM相结合的人体检测
Hi洛基又回来了,最近正在学习计算机视觉和机器学习,这两门课程都要求做课程设计,于是我想到了这个一举两得(偷懒- -)的题目。n首先来说说图像处理领域的HOG特征:nnnnHOG(histogram of oriented gradient) 是用于目标检测的特征描述子,由Navneetn Dalal和Bill Triggs于05年在CVPR首次提出,是用于静态图像或视频行人检测的实用
OpenCV学习笔记(二):SVM+HOG实现的行人检测
因为一个项目的需求接触到OpenCV里的SVM和HOG特征算法,根据网上的教程一个博客,给自己准备了一个rnrnrn
继续坑自己,EmguCV之SVM.Train
因为最近看了一部美剧《Person of Interest》,想起了当时弃坑很久的EmguCV,加上C#的功力日渐深厚,决定重新拿来研究研究。n这次还是继续沿用Emgu.CV,2.4.10版本,进攻方向:HOG+SVMnnn没想到问题颇多,耗时三个星期,在SVM这个环节上卡了一把。nnn—————————————————————————————————————————————————
OPENCV HOG特征+SVM分类器行人识别(从训练到识别)
代码注解详细,适合初学者读懂,压缩包内含两部程序,请仔细研读,OPENCV HOG特征+SVM分类器行人识别(从训练到识别)
opencv hogsvm的使用方法
对opencv中的hogsvm进行封装,给出一个例子如何训练/检测
OPENCV中LBP,HOG特征结合SVM向量机训练,测试
第一步:n先是得到训练图像集n#include &amp;lt;opencv2/opencv.hpp&amp;gt;n#include &amp;lt;iostream&amp;gt;nnusing namespace std;nusing namespace cv;nnint main()n{n char ad[128] = { 0 };n int filename = 0, filenum = 0;n Mat img = ...
HOG+SVM手势识别可运行程序,识别车
HOG+SVM手势识别可运行程序,识别车。编译时要把opencv设置好。核心程序C++,不是采用opencv
VS2013+OPENCV2.4.10 提取HOG特征使用SVM多分类手势识别
使用VS2013+OPENCV 2.4.10 离线训练及识别手势图片获得识别率
LBP/HOG/SIFT/SURF特征SVM的trainAuto范例
在开源的车牌识别系统EasyPR中,用SVM(支持向量机)模型甄选出候选车牌中真正的车牌。目前EasyPR1.4的SVM模型输入的是LBP特征,本代码将EasyPR的svm_train.cpp独立出来,包含SIFT和SURF结合BOW作为SVM输入,以及LBP和HOG特征作为SVM的输入。
行人检测 opencv
效果很好的行人检测程序 opencv hog SVM
HOG与SVM训练流程总结
以下内容为初步总结HOG特征的SVM训练流程:nn流程1nnnn流程2nn
基于vlfeat的HOG特征提取c++代码实现
HOG特征又叫方向特征直方图特征,是计算机视觉中作为目标检测十分常用且奏效的特征。其最著名的应用就是HOG+SVM这种思路解决了行人检测的任务,这项工作发表在了CVPR2005上,从此之后,HOG+SVM这种模式被复制在了很多其他工作中。有趣的是,在网络上我们可以轻而易举的搜索到无数篇关于HOG特征的理论介绍,却很少可以找到C++版本的代码。这无疑对计算机视觉研究刚刚入门的同学造成了很大困扰,纸上谈
OpenCV3.2 HOG+SVM进行物体分类
利用HOG特征+SVM分类器进行物体分类
opencv(三):HOG+SVM实现手写字符识别
前言nn利用HOG特征和SVM分类实现手写字符识别。
opencv hog特征头文件
opencv3.0的hog特征头文件是  #include  ,属于HOGDescriptor这个类
基于SVM+HOG的手写体数字识别
本文是对下面这篇文章的一些略微详细的解释。。。OpenCV Hog+SVM 学习最近在学习数字识别,搜索资料的时候,发现了这篇文章。文章很久了,是2013年发的,那时候我才刚上大学。。。。。用的是HOG+SVM来进行手写体数字识别。现在都是用神经网络来进行手写体的识别。但是老的方法有些时候还是很好用的。这篇文章写得很详细了,我在参考这篇文章复现这个小工程的时候遇到了一些问题,主要记录一下这些问题。...
hog+svm 实现行人检测(C++ opencv3.4)
最近想学下传统机器学习方法来实现目标检测,从头到尾下来记录下自己的代码过程行人检测加粗样式rn数据集准备:INRIA行人检测数据集百度云下载,http://pan.baidu.com/s/1eSdlw7grn下载完之后我们解压可以看到数据集文件分布rnINRIADATA{**加粗样式**rn normalized_images{rn train{rn pos:96x1...
文章热词 统计学稳健估计opencv函数 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java机器学习库svm 学习java编写小程序