正样本来源是INRIA数据集中的96*160大小的人体图片,使用时上下左右都去掉16个像素,截取中间的64*128大小的人体. 负样本是从不包含人体的图片中随机裁取的,大小同样是64*128(从完全不包含人体的图片中随机剪裁出64*128大小的用于人体检测的负样本). SVM使用的是OpenCV自带的CvSVM类. 首先计算正负样本图像的HOG描述子,组成一个特征向量矩阵,对应的要有一个指定每个特征向量的类别的类标向量,输入SVM中进行训练. 训练好的SVM分类器保存为XML文件,然后根据其中的…
本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类.其实使用起来是很简单的,从后面的代码就可以看出来.本文参考的资料为opencv自带的sample. 关于opencv中hog的源码分析,可以参考本人的另一篇博客:opencv源码解析之(6):hog源码分析 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5. 实验功能: 单击Open Image按钮,选择需要进行人检测的一张图片,确定后自动显示出来.该图片…
原文链接:http://blog.csdn.net/Armily/article/details/8333836 如何制作训练样本 分析了原作者的数据集,结合网上一些资料,下面描述如何制作训练样本 1.如何从原始图片生成样本 对比INRIAPerson\INRIAPerson\Train\pos(原始图片),INRIAPerson\train_64x128_H96\pos(生成样本)可以发现,作者从原始图片裁剪出一些站立的人,要求该人不被遮挡,然后对剪裁的图片left-right reflect…
在2005年CVPR上,来自法国的研究人员Navneet Dalal 和Bill Triggs提出利用Hog进行特征提取,利用线性SVM作为分类器,从而实现行人检测.而这两位也通过大量的测试发现,Hog+SVM是速度和效果综合平衡性能较好的一种行人检测方法.后来,虽然很多研究人员也提出了很多改进的行人检测算法,但基本都以该算法为基础框架.因此,Hog+SVM也成为一个里程表式的算法被写入到OpenCV中.在OpenCV2.0之后的版本,都有Hog特征描述算子的API,而至于SVM,早在OpenC…
HOG+SVM流程 1.提取HOG特征 灰度化 + Gamma变换(进行根号求解) 计算梯度map(计算梯度) 图像划分成小的cell,统计每个cell梯度直方图 多个cell组成一个block, 特征归一化 多个block串接,并归一化 2.训练SVM分类器…
用HOG进行行人检测时,需要用训练好的支持向量机来对图片进行分类,在opencv中,支持向量机已经训练好,但自己来训练支持向量机才能更好的体会这一过程. 参考:http://blog.csdn.net/masikkk/article/category/2267523 (感谢这些无私奉献的博主) 下面是博主的代码. #include <iostream> #include <fstream> #include <opencv2/core/core.hpp> #includ…
原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector machine,简称SVM.通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解. (一)理解SVM基本原理 1,SVM的本质--分类 给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些…
HOG SVM 车辆检测 近期需要对卡口车辆的车脸进行检测,首先选用一个常规的检测方法即是hog特征与SVM,Hog特征是由dalal在2005年提出的用于道路中行人检测的方法,并且取的了不错的识别效果.在人脸检测方面目前主流的方法,先不考虑复杂的深度学习,大多采用Haar和Adaboost的手段来实现.我接下来将会用着两种方法来实现对卡口的车辆检测. 首先引出 Hog特征,Hog特征是梯度方向直方图,是一种底层的视觉特征,主要描述的是图像中的梯度分布情况,而梯度分布信息主要是集中在图像中不同内…
这几个月一直在忙着做大论文,一个基于 SVM 的新的目标检测算法.为了做性能对比,我必须训练一个经典的 Dalal05 提出的行人检测器,我原以为这个任务很简单,但是我错了. 为了训练出一个性能达标的行人检测器,我花了半个月的时间,中间遇到各种 BUG 我就不提了,下面只说正确的步骤.(基于 MATLAB 环境,但是没有代码,请您自己写~) 步骤 1. 训练数据集及其它准备工作 训练检测器的正例(Positive examples)数据库最好采用"全图+标注"的形式,不要是那种切出来的…
利用HOG+SVM实现行人检测 很久以前做的行人检测,现在稍加温习,上传记录一下. 首先解析视频,提取视频的每一帧形成图片存到磁盘.代码如下 import os import cv2 videos_src_path = 'D:\\test1' videos_save_path = 'D:\\test2' videos = os.listdir(videos_src_path) videos = filter(lambda x: x.endswith('avi'), videos) for eac…
原地址:http://blog.csdn.net/van_ruin/article/details/9166591 .方向梯度直方图(Histogramof Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和统计图像局部区域的梯度方向直方图来构成特征.基本知识可以参考博客:http://blog.csdn.net/zouxy09/article/details/7929348 .Adaboost的基础知识可以参考书籍:统计学…
本文主要介绍下opencv中怎样使用hog算法,因为在opencv中已经集成了hog这个类.其实使用起来是很简单的,从后面的代码就可以看出来.本文参考的资料为opencv自带的sample. 关于opencv中hog的源码分析,可以参考本人的另一篇博客:opencv源码解析之(6):hog源码分析 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5. 实验功能: 单击Open Image按钮,选择需要进行人检测的一张图片,确定后自动显示出来.该图片…
目前基于机器学习方法的行人检测的主流特征描述子之一是HOG(Histogram of Oriented Gradient, 方向梯度直方图).HOG特征是用于目标检测的特征描述子,它通过计算和统计图像局部区域的梯度方向直方图来构成特征,用这些特征描述原始图像. HOG的核心思想是所检测的局部物体外形能够被光强梯度或边缘方向的分布所描述.通过将整幅图像分割成小的连接区域(称为cells),每个cell生成一个方向梯度直方图或者cell中pixel的边缘方向,这些直方图的组合可表示出(所检测目标的目…
树莓PI远程控制摄像头请参考前文:http://www.cnblogs.com/yuliyang/p/3561209.html 参考:http://answers.opencv.org/question/133/how-do-i-access-an-ip-camera/ http://blog.youtueye.com/work/opencv-hog-peopledetector-trainning.html 项目环境:opencv2.8  ,debian, QT 代码: 运行: yuliyan…
行人检测是自动驾驶中重要的内容,对于驾驶安全具有重要意义. HOG特征提取: (1)灰度化处理 (2)Gamma变换和梯度计算 (3)Cell划分 (4)Cell组成block,归一化处理 (5)block组合,归一化…
声明:本文是别人发表在github上的项目,并非个人原创,因为那个项目直接下载后出现了一些版本不兼容的问题,故写此文帮助解决.(本人争取在今年有空的时间,自己实现基于YOLO-V4的行人检测) 项目链接:https://github.com/emedinac/Pedestrain_Yolov2 此项目是基于pytorch框架的实现方案. 本文介绍一下ubuntu安装pytorch的安装方法 直接采用pip install pytorch的下载实在太感人,因此先更改一下pip源. 本人采用的是阿里…
这是行人检测相关资源的第二部分:源码和数据集.考虑到实际应用的实时性要求,源码主要是C/C++的.源码和数据集的网址,经过测试都可访问,并注明了这些网址最后更新的日期,供学习和研究进行参考.(欢迎补充更多的资源) 1        Source Code 1.1    INRIA Object Detection and Localization Toolkit http://pascal.inrialpes.fr/soft/olt/ Dalal于2005年提出了基于HOG特征的行人检测方法,行…
行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,主要还是在性能和速度方面还不能达到一个权衡.近年,以谷歌为首的自动驾驶技术的研发正如火如荼的进行,这也迫切需要能对行人进行快速有效的检测,以保证自动驾驶期间对行人的安全不会产生威胁. 1   行人检测的现状 大概可以分为两类 1.1    基于背景建模 利用背景建模方法,提取出前景运动的目标,在目标区域内进行特征提取,然后利用分类器进行…
参考了博客http://blog.csdn.net/carson2005/article/details/7841443 后,自己动手后发现了一些问题,博客里提到的一些问题没有解决 ,是关于为什么图像的HOG特征向量debug后是15876的问题.答案是因为原作者的窗口是64*64的,所以维数为9*4*7*7=1764(图像的大小也是64*64,所以图像的特征维数与一个窗口的维数是相同的,compute()里的窗口步进(8,8)也是无效的).而我的图像时64*128大小的,我把窗口也换成 64*…
一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the state of the art [J].IEEE Transactions on PatternAnalysis andMachine Intelligence, 2012, 34(4): 743-761. [2]M. Enzweiler, and D.Gavrila. Monocular pedestr…
首先我们知道Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主,那么PCL中也是利用这一思想来进行行人的检测, 总体思路: 1.提取正负样本hog特征 2.投入svm分类器训练,得到model 3.由model生成检测子 4.利用检测子检测负样本,得到hardexample 5.提取hardexamp…
一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the state of the art [J].IEEE Transactions on PatternAnalysis andMachine Intelligence, 2012, 34(4): 743-761. [2]M. Enzweiler, and D.Gavrila. Monocular pedestr…
一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the state of the art [J].IEEE Transactions on PatternAnalysis andMachine Intelligence, 2012, 34(4): 743-761. [2]M. Enzweiler, and D.Gavrila. Monocular pedestr…
实验程序视频 下载 1 问题描述 高密度环境下的行人统计一直没有得到很好的解决,主要原因是对高密度人群中的行人检测和跟踪是一个很难的问题,如下图所示环境,存在的困难包括: 检测方面: 由于人群整体处于运动状态,占据了背景的60%以上的面积,导致许多目标检测的方法,如基于背景差的运动目标检测.分割方法难以奏效.另外,由于人群存在大量遮挡,导致基于行人轮廓的检测方法,如HOG也难以奏效. 跟踪方面: 高密度环境中的多目标跟踪,由于存在大量的遮挡.合并.分离,实现准确的跟踪是一个富有挑战性的研究问题.…
  OpenCV全称是Open source Computer Vision Library(开放源代码计算机视觉库),是一个用于图像处理.分析.机器视觉方面的开源函数库,提供了很多图像处理的工具和可以直接使用的API接口.   OpenCV自带了函数detectMultiScale()可以实现对行人和人脸的检测,实现简单,但识别效果相对较差. 行人检测   在行人检测上,OpenCV采用的是HOG(特征检测算法)+SVM算法. import cv2 def is_inside(o,i): ox…
之前运行haar特征的adaboost算法人脸检测一直出错,加上今天的HOG&SVM行人检测程序,一直报错. 今天总算发现自己犯了多么白痴的错误——是因为外部依赖项lib文件没有添加完整,想一头囊死啊 做程序一定要心如止水!!! 仔细查找!!! 1.人脸识别程序: #include "cv.h" #include "highgui.h" #include <stdio.h> #include <stdlib.h> #include &…
原地址:http://blog.csdn.net/delltdk/article/details/9186875 在进入detectMultiScal函数之前,首先需要对CascadeClassifier做初始化. 1.     初始化——read函数 CascadeClassifier的初始化很简单: cv::CascadeClassifier classifier; classifier.load(“cascade.xml”); //这里的xml是训练得到的分类器xml CascadeCla…
对于下图,左边是行人,作为阳性例子,赋值y=1,右边是景物,作为阴性例子,赋值y=0; 步长概念: 如下图所示,步长表示绿色框框移动的距离,有时候也称为滑动参数stride,如果一次移动一个像素,则称步长为1,通常步长为1时,表现最好,但是计算成本高,一般,选用4或8个步长更为常见. 通过绿色框框进行移动,然后运行分类器,对图块(image patches)进行分类,直到最后.随着你在图片的不同位置,滑动这个矩形框,首先从第一行,然后滑到下一行,使用不同的步长对这些不同的图块应用某个步长,通过分…
参考原文: http://blog.csdn.net/zouxy09/article/details/7929531 http://www.cnblogs.com/dwdxdy/archive/2012/05/31/2528941.html http://blog.csdn.net/dujian996099665/article/details/8886576 LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子:它具有旋转不变性和灰度不变性等显著…
本文大部分内容总结于其他文章 1.介绍 HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子,该方法使用梯度方向直方图(Histogram of Oriented Gradients,简称HOG)特征来表达人体,提取人体的外形信息和运动信息,形成丰富的特征集.   2.生成过程 1)图像归一化 归一化图像的主要目的是提高检测器对光照的鲁棒性,因为实际的人体目标可能…