基于OpenCV和USB的实时人脸跟踪系统_宋宏嘉

基于OpenCV和USB的实时人脸跟踪系统_宋宏嘉
基于OpenCV和USB的实时人脸跟踪系统_宋宏嘉

基于opencV的动态背景下运动目标检测及跟踪(修改版)

基于openCV的动态背景下的运动目标检测 摘要:介绍在动态背景下对视频图像序列进行运动目标的检测,主要包括三个步骤,分别是运动估计,运动补偿和目标检测。在运动估计中采用的主要是基于特征点匹配算法。这种算法与传统的块匹配算法最大的好处在于它的数据量少,计算简单迅速而且图像的匹配可靠性更高。最后用计算机视觉类库openCV进行实现。 关键词:运动目标检测;openCV;特征点匹配 Moving Object Detection in the Dynamic Background Based on openCV Abstract:Introducing a moving object detection algorithm of the dynamic background in the video image sequence,which includes three steps. They are motion estimation, motion compensation and object detection. At the motion estimation, we take an algorithm based on the feature points matching. The advantages of this algorithm is that it needs fewer data and indicates faster calculating speed compared to the block matching algorithm. What’s more, the matching of the video image sequence is more reliable. Then used openCV realized the algorithm. Keywords: moving object detection; openCV; feature points matching 引言 在生活中摄像头可以说随处可见,我们经常需要对视频中的运动目标进行相关操作,这就设涉及到了对运动目标的检测及跟踪。作为视觉领域的一部分,它不仅对我们的生活,在军事,医学等各种领域里都有着广泛的影响。 所谓运动目标的检测就是在一段序列图像中检测出变化区域,并将运动目标从背景图像中提取出来[2],它是基础,能否正确的检测与分割出运动目标对后续的工作有着巨大的影响。常见的运动目标检测方法有:背景差分法,帧差法,累积差分法,光流法。本文主要介绍的是一种在动态背景下对运动目标进行检测的算法。 检测算法介绍 检测算法有很多种,不同的算法有他们各自的利与弊。背景差分法:是事先将背景图像存储下来,再与观测图像进行差分运算,实现对运动区域的检测。这种方法能得到较为完整的运动目标信息,但背景图像必须随着外部条件比如光照等的变化而不断更新,所以背景模型的获取和更新比较麻烦。帧差法:直接比较相邻两帧图像对应像点的灰度值的不同,然后通过阈值来提取序列图像中的运动区域[2]。这种方法更新速度快,算法简单易实现,适应性强,不需要获取背景图像。但是背景与运动目标间需要有一定程度的灰度差,否则可能在目标内部产生空洞,不能完整的提取出运动目标。为了改进相邻两帧间的差分效果,人们提出了累积差分法。累积差分法是利用三帧图像计算两个差分图像,再令其对应像素相乘的算法。它通过分析整个图像序列的变化来检测小位移或缓慢运动的物体。光流法是在时间上连续的两幅图想中,用向量来表示移动前后的对应点,在适当平滑性约束的条件下,根据图像序列的时空梯度估计运动场,通过分析运动场的变化对运动目标和场景进行检测和分割。 上面的几种算法都是基于静态背景下的方法,下面主要介绍动态背景下运动目标的检测。 因为生活中我们在很多情况下背景图像都不是静态的,有时摄像机都是安装在一个运动

基于opencv的运动目标检测和跟踪

本科毕业论文
(科研训练,毕业设计)

目: opencv 的运动目标检测
姓 学
名:汤超 院:信息科学与技术学院 系:电子工程系
专 年 学
业:电子信息工程 级:2005 号:22220055204057 职称:教授
指导教师(校内) :杨涛
2009 年
5 月
25 日

厦门大学电子工程系 2005 级本科毕业论文 -
基于 opencv 的运动目标检测和跟踪
摘要
Opencv(Open Source Computer Vision Library)是一种用于数字图像处理和计算机视 觉的函数库,由 Intel 微处理器研究实验室(Intel's MicroprocessorResearch Lab)的视 觉交互组(The Visual Interaetivity Group)开发.采用的开发语言是 C++,可以在 window: 系统及 Linux 系统下使用,该函数库是开放源代码的,能够从 Intel 公司的网站免费下载 得到.opencv 提供了针对各种形式的图像和视频源文件(如:bitmap 图像,video 文件和实 时摄像机)的帧提取函数和很多标准的图像处理算法,这些函数都可以直接用在具体的视频 程序开发项目中. 针对在背景中检测出运动目标并实施警戒等特定提示,本文利用 opencv 的运动物体 检测的数据结构,函数以及基本框架,建立了一个由人机交互界面模式.实施对物体的检 测.该方面在安防方面已经很受重视.相信在不久的将来将会成为一种监督秩序的方式.
关键字 视频,运动目标检测,帧差分

开题报告--监控系统中的行人检测算法的实现

开 题 报 告 -- 监 控 系 统 中 的 行 人 检测算法的实现

毕业设计(论文)开题报告
题 目 监控系统中的行人检测算法的实现
学院
通信工程
专业
信息对抗技术
姓名
班级
学号
指导教师

一、综述本课题国内外研究动态,说明选题的依据和意义
科学技术的快速发展,在给人带来利益和便利的同时,也给人带来了安全隐患。 如为保护某些具有较高的经济价值或技术优势的核心技术及机密而设立的禁区,交 通工具的快速行驶等都会给人们带来安全隐患。因此,监控系统(特别是智能监控 系统)越来越受到人们的重视。纵观各种影响社会安全稳定的事件,给人们带来严 重损失的除不可控因素(地震、火山喷发等)外,主要是人的行为。因此,在监控 系统中实现行人检测将可以避免巨大的人身、经济等损失,也成为了国内外研究的 热点。
目前,清华大学、浙江大学、上海交通大学计算机实验室以及中国科学院自动 化研究所等是国内在行人检测研究上比较著名的高校或研究机构。而且,中国科学 院自动化研究所的生物识别与安全技术研究中心开发的人脸识别系统已经投入使用 (2008 年北京奥运会和 2010 年上海世博会等重大活动)。浙江大学人工智能研究 所采用了单目视觉的方法[1] ,中科院的李和平、胡占义等提出基于监督学习的异常 检测和行为建模算法[2]。国外著名的智能监控系统有 IBM 的智能监控系统和以色列 的 IOImage 公司推出的智能监控系统。另外,卡耐基梅隆大学开发的 NabLab.10 系统已经应用 于汽车的检测系统。虽然国内的监控系统行业近些年发展较快,但是和国外相比仍 有一定的差距。
监控系统中行人检测技术研究至今,比较成熟的算法主要有 Leibe 等人基于“局 部特性的编码”进行的行人检测、Oliver 等人利用边缘图像来对不同的形状模型进行 匹配(ASM)和 Dalal 与 Triggs 提出的基于梯度直方图 HOG+支持向量机 SVM 的行 人检测算法等。而在所有的行人检测技术,基本都包括了运动目标检测和运动目标 识别两个关键技术。
运动目标检测是指通过比较视频图像中像素点的变化判断是否有运动物体,并 通过图像处理技术将运动目标分割出来。运动目标的检测是运动目标识别的前提和 保障,目前主要有光流法和帧差法(包括对称帧差法和背景减除法)。运动目标识别 是对运动目标检测阶段获得的运动目标进行处理,识别出其是行人还是其他的物体。 目前主要有基于运动的方法、基于模板匹配的方法、基于统计学习方法[3]等。
OpenCV 是著名的开源的计算机视觉的函数库,由大量的 C 函数和 C++类构 成作为接口,实现了图像处理和计算机视觉方面的很多通用算法。而且 OpenCV 中 的机器学习函数库实现了机器学习研究领域中比较常见、应用较为广泛的学习方法, 包括了贝叶斯分类器、K 邻近算法、支持向量机、决策树、Adaboost 算法以及神经 网路算法,基本上覆盖了机器学习领域中的主流算法。因此,使用 OpenCV 能够较 灵活的实现行人检测。

opencv之HOG特征详解与行人检测

HOG(Histogram of Oriented Gradient)特征在对象检测与模式匹配中是一种常见的特征提取算法,是基于本地像素块进行特征直方图提取的一种算法,对象局部的变形与光照影响有很好的稳定性,最初是用HOG特征来来识别人像,通过HOG特征提取+SVM训练,可以得到很好的效果,OpenCV已经有了。HOG特征提取的大致流程如下: 详细步骤 第一步:灰度化 对HOG特征提取来说第一步是对输入的彩色图像转换为灰度图像,图像灰度化的方法有很多,不同灰度化方法之间有一些微小的差异,从彩色到灰度的图像转换可以表示如下: 第二步:计算图像梯度 计算图像的X方向梯度dx与Y方向梯度dy,根据梯度计算mag与角度,计算梯度时候可以先高斯模糊一下(可选步骤),然后使用sobel或者其它一阶导数算子计算梯度值dx、dy、mag、angle:

第三步:Cell分割与Block 对于图像来说,分成8x8像素块,每个块称为一个Cell,每个2x2大小的 Cell称为一个Block,每个Cell根据角度与权重建立直方图,每20度为一 个BIN,每个Cell得到9个值、每个Block得到36个值(4x9), 图像如下: 每个Block为单位进行L2数据归一化,作用是抵消光照/迁移影响,L2的归一化的公式如下: 第四步:生成描述子 对于窗口64x128范围大小的像素块,可以得到8x16个Cell,使用Block 在窗口移动,得到输出的向量总数为7x15x36=3780特征向量,每次Block 移动步长是八个像素单位,一个Cell大小。

使用HOG特征数据 HOG特征本身是不支持旋转不变性与多尺度检测的,但是通过构建高斯金字塔实现多尺度的开窗检测就会得到不同分辨率的多尺度检测支持。OpenCV中HOG多尺度对象检测API如下: virtual void cv::HOGDescriptor::detectMultiScale( InputArray img, std::vector< Rect > & foundLocations, double hitThreshold = 0, Size winStride = Size(), Size padding = Size(), double scale = 1.05, double finalThreshold = 2.0, bool useMeanshiftGrouping = false ) Img-表示输入图像 foundLocations-表示发现对象矩形框 hitThreshold-表示SVM距离度量,默认0表示,表示特征与SVM分类超平面之间 winStride-表示窗口步长 padding-表示填充 scale-表示尺度空间 finalThreshold-最终阈值,默认为2.0 useMeanshiftGrouping-不建议使用,速度太慢拉 使用OpenCV预训练SVM行人HOG特征分类器实现多尺度行人检测的代码如下: import cv2 as cv if __name__ == '__main__': src = cv.imread("D:/images/pedestrian.png") cv.imshow("input", src)

行人检测与目标跟踪算法研究

基于opencv中光流法的运动 行人目标跟踪与检测 一、课题研究背景及方法 行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智 能机器人等领域。从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,个人觉得主要还是在性能和速度方面还不能达到一个权衡。 早期以静态图像处理中的分割、边缘提取、运动检测等方法为主。例如 (1)以Gavrila为代表的全局模板方法:基于轮廓的分层匹配算法,构造了将近2500个轮廓模板对行人进行匹配, 从而识别出行人。为了解决模板数量众多而引起的速度下降问题,采用了由粗到细的分层搜索策略以加快搜索速度。另外,匹配的时候通过计算模板与待检测窗口的距离变换来度量两者之间的相似性。 (2)以Broggi为代表的局部模板方法:利用不同大小的二值图像模板来对人头和肩部进行建模,通过将输入图像的边缘图像与该二值模板进行比较从而识别行人,该方法被用到意大利Parma大学开发的ARGO智能车中。 (3)以Lipton为代表的光流检测方法:计算运动区域内的残余光流; (4)以Heisele为代表的运动检测方法:提取行人腿部运动特征; (5)以Wohler为代表的神经网络方法:构建一个自适应时间延迟神经网络来判断是否是人体的运动图片序列; 以上方法,存在速度慢、检测率低、误报率高的特点。 2、行人检测的研究现状

(1)基于背景建模的方法:分割出前景,提取其中的运动目标,然后进一步 提取特征,分类判别;在存在下雨、下雪、刮风、树叶晃动、灯光忽明忽暗等场 合,该方法的鲁棒性不高,抗干扰能力较差。且背景建模方法的模型过于复杂,对 参数较为敏感。 (2)基于统计学习的方法:根据大量训练样本构建行人检测分类器。提取的 特征一般有目标的灰度、边缘、纹理、形状、梯度直方图等信息,分类器包括神经 网络、SVM,adaboost等。该方法存在以下难点: (a)行人的姿态、服饰各不相同; (b)提取的特征在特征空间中的分布不够紧凑; (c)分类器的性能受训练样本的影响较大; (d)离线训练时的负样本无法涵盖所有真实应用场景的情况; 尽管基于统计学习的行人检测方法存在着诸多的缺点,但依然有很多人将注 意力集中于此。 行人检测国外研究情况: 法国研究人员Dalal在2005的CVPR发表的HOG+SVM的行人检测算法(Histograms of Oriented Gradients for Human Detection, Navneet Dalel,Bill Triggs, CVPR2005)。 Dollar 在 2010 年 BMVC 的《The fastest pedestrian detector in the west》一文中提出了一种新的思想,这种思想只需要训练一个标准 model,检测N/K(K ≈10)然后其余的 N-N/K 种大小的图片的特征不需要再进行这种复杂的计算,而是跟据这 N/K 次的结果,由另外一种简单的算法给估计出来,这种思 想实现的基础是大小相近的图像的特征可以被足够精确的估计出来;同年,德国

基于OpenCV的运动目标检测与跟踪毕业设计

基于VC的运动图像跟踪算法设计

沈阳航空航天大学毕业设计(论文) 摘要 运动目标检测与跟踪作为计算机视觉领域的一个重要分支与基础,在工业、医疗保健、航空航天、军事等各个领域具有广泛的应用前景,一直受到广泛的关注,并成为计算机视觉领域的一个研究热点。但是由于运动目标检测问题本身的复杂性,运动目标的检测与跟踪依然面临着诸多挑战。本文在现有研究成果的基础上,对静态场景下的运动目标检测跟踪进行了深入的讨论。 本文首先对运动目标检测的基本方法----帧间差分法与背景差分法进行了深入的学习和探讨,然后,借助于OpenCV技术,在Visual C++ 6.0编程环境下开发了运动目标检测跟踪系统。该系统首先对采集的视频图像序列进行相关的预处理之后,将视频图像序列中的运动目标比较可靠地检测出来。通过系统的测试结果和数据可以得出结论:本文基于OpenCV设计的运动目标检测跟踪系统具有良好的实时性,能够正确地进行运动目标的实时检测与跟踪。 关键词:运动目标检测;帧间差分法;视频图像;OpenCV

基于VC的运动图像跟踪算法设计 Algorithm Design of Image Motion Tracking Based on VC Abstract Moving target detection and tracking field of computer vision as an important branch of the foundation, in the industrial, healthcare, aerospace, military and other fields with a wide range of applications, has been widespread concern, and the field of computer vision to become a research hotspot. However, due to moving target detection complexity of the problem itself, moving target detection and tracking is still facing many challenges. In this paper, based on the results of existing research in static scenes of the moving target detection and tracking in-depth discussion. This article first basic method of moving target detection - frame difference method and background subtraction method conducted in-depth study and discussion, and then, by means of OpenCV technology, Visual C 6.0 programming environment developed a moving target detection and tracking system. The system and the collection of the associated video sequence after pretreatment, the video image of the moving target sequence comparison reliably detected. Through systematic test results and data can be concluded: Based on OpenCV design moving target detection and tracking system has good real-time, be able to properly carry out real-time moving target detection and tracking. Keywords: moving target detection; frame difference method; video frame; OpenCV

基于OpenCV的行人检测监控系统研究与实现

过程中对动态场景中的感兴趣目标进行检测、分类、跟踪、识别和分析,实现犯罪预防、交通管理、意外防范和医疗监护等功能,成为当前智能视频监控技术重要研究和关注点[2]。国内外的学术研究机构和安防产业针对行人检测技术的研究和应用做过大量工作,其检测核心问题是如何在复杂环境中提取行人特征与分类定位,目前行人检测特征中使用最为广泛的行人特征描述子为HOG(Histogram Oriented of Gradient)梯度方向直方图[3]。本论文研究了通过HOG 特征提取和SVM分类器在视频监控系统中利用计算机视觉的OpenCV建立行人检测模型,实现运动目标检测、识别和分析的智能监控系统方案。 1 视频监控系统行人检测总体结构 行人检测监控系统包括监控系统网络硬件部分和行人检测监控软件两个部分。系统硬件部分包括:(1)前端高清摄像头,主要安装在出入口、大楼门厅、通道、电梯、停车场、外围等人员出入频繁的公共区域;(2)网络部分,通过网络和交换机级联接入至监控中心,如果距离较远还可以利用光纤和光纤收发设备;(3)监控中心,包括机房交换机、电视墙、存储服务器;(4)视频显示,摄像头集中显示供人随时查看,还可以通过服务器远程监控或手机监控。监控系统网络拓扑结构如图1所示。 行人检测监控软件部分利用Visual Studio 2017和OpenCV视觉库开发环境实现检测功能,其整体设计如图2所示。首先通过网络高清摄像头实时采集监控视频图像,不断截取视频帧图像并分析和提取每一帧图像中的行人的HOG特征,利用已经训练好的SVM(基于支持向量机)分类模型对图像中提取的HOG特征进行判断,实现运动目标的实时检测与识别。 图2 行人检测软件系统整体结构框图 2 HOG特征提取与SVM分类器 方向梯度直方图(HOG)特征是当前广泛使用的行人检测特征描述子,在计算机视觉和图像处理中通过计算和统计图像局部区域的梯度方向直方图可有效地将运动人体和 图1 监控系统网络拓扑结构图 58 | 电子制作 2018年5月

基于opencv的运动物体跟踪实验报告

基于opencv的运动物体跟踪 一、实验目的 1.通过实验了解opencv运动物体跟踪的数据结构、函数以及基本框架; 2.通过实验提高对于图像的认识; 3.通过实验了解光流法、背景差分法、Camshift等主流视频跟踪算法; 4.通过实验将理论和实践联系起来,提升对于理论知识的认识; 二、实验要求 1.调用基于intel 的开源视觉库opencv,实现视频或者摄像头的监控; 2.编程实现对进入视觉范围内的运动物体实施监测与跟踪; 3.统计出进入视觉范围内的物体个数,速度等; 4.针对实际的监控效果,实现对算法的改进,完成复杂背景下物体跟踪问题 三、实验环境 PC机一台(VC++)、摄像头一个 四、实验内容 1.opencv相关信息: opencv是hite严开源计算机视觉库。它由一系列c函数和少量c++类构成,实现了图像处理和计算机视觉方面的很多通用算法。 其重要重要特性包括:拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。 openCv的优势在于:(1)纯c代码,源代码开放;(2)丰富的函数功能,强大的图像和矩阵运算能力;(3)平台无关性;(4)程序运行的实时性;(5)方便灵活的用户接口;(6)交互性及强大的扩展功能;(7)可嵌入性。 可见,作为一个基本的图像处理、计算机视觉和模式识别的开源项目OpenCv可以直接应用于很多领域,作为二次开发的理想工具。 2.图像噪声的处理方面 图像信号在产生、传输和记录过程中,经常会受到各种噪声的干扰,一般来说,现实中的图像都是带噪图像。通常在图像处理工作中,在边缘检测、图像分割、特征提取、模式识别等高层次处理之前,选用适当的方法尽量地去除噪声干扰是一个非常重要的预处理步骤。依据噪声产生的原因,将经常影响图像质量的噪声源分为三类:阻性元器件内部产生的高斯噪声;光电转换过程中的泊松噪声(椒盐噪声);感光过程中产生的颗粒噪声。噪声的均值表明了图像中噪声的总体强度。一般地,对噪声的描述采用统计意义上的均值与方差。 综合使用各种方法去除图像噪声,通过实验比较了这些方法所适用的场合,深入了解了其中的均值和中值滤波算法,兼顾质量和实时性的要求,将两者结合起来,采用一种改进的实时滑窗递归中值算法。 均值滤波一般的具体实现步骤是: .选择一个(2n+l)X(2n+l)的窗口(通常为3X3或5X5),并用该窗口沿图像数据进行行或列的滑动; .读取窗口下各对应像素的灰度值; .求取这些像素的灰度平均值替代窗口中心位置的原始像素灰度值。 中值滤波一般的具体实现步骤是: .选择一个(2n+l)x(2n+l)的窗口(通常为3x3或5X5),并用该窗口沿图像数据进行行或

行人检测现状

行人检测现状 转自 https://www.360docs.net/doc/4317337924.html,/huixingshao/article/details/43793653 https://www.360docs.net/doc/4317337924.html,/susongzhi/item/085983081b006311eaf e38e7行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域。从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,个人觉得主要还是在性能和速度方面还不能达到一个权衡。 1.行人检测的现状(大概可以分为两类) (1).基于背景建模:利用背景建模方法,提取出前景运动的目标,在目标区域内进行特征提取,然后利用分类器进行分类,判断是否包含行人; 背景建模目前主要存在的问题:(背景建模的方法总结可以参考我的前一篇博文介绍)(前景目标检测总结) 必须适应环境的变化(比如光照的变化造成图像色度的变化);相机抖动引起画面的抖动(比如手持相机拍照时候的移

动);图像中密集出现的物体(比如树叶或树干等密集出现的物体,要正确的检测出来);必须能够正确的检测出背景物体的改变(比如新停下的车必须及时的归为背景物体,而有静止开始移动的物体也需要及时的检测出来)。物体检测中往往会出现Ghost区域,Ghost区域也就是指当一个原本静止的物体开始运动,背静差检测算法可能会将原来该物体所覆盖的区域错误的检测为运动的,这块区域就成为Ghost,当然原来运动的物体变为静止的也会引入Ghost区域,Ghost区域在检测中必须被尽快的消除。 (2).基于统计学习的方法:这也是目前行人检测最常用的方法,根据大量的样本构建行人检测分类器。提取的特征主要有目标的灰度、边缘、纹理、颜色、梯度直方图等信息。分类器主要包括神经网络、SVM、adaboost以及现在被计算机视觉视为宠儿的深度学习。 统计学习目前存在的难点: (a)行人的姿态、服饰各不相同、复杂的背景、不同的行人尺度以及不同的关照环境。 (b)提取的特征在特征空间中的分布不够紧凑;

行人检测参考

行人检测参考 1.制作样本 2.对每一张图片调用 https://www.360docs.net/doc/4317337924.html,pute(img, descriptors,Size(8,8), Size(0,0)); 可以生成hog descriptors,把它保存到文件中 for(int j=0;j<3780;j++) fprintf(f,"%f,",descriptors[j]); 3.利用SVM进行训练和分类,可得到权重系数,即getDefaultPeopleDetector()函数中调用的 检测算子detector[] OpenCV2.0提供了行人检测的例子,用的是法国人Navneet Dalal最早在CVPR2005会议上提出的方法。 最近正在学习它,下面是自己的学习体会,希望共同探讨提高。 1、VC 2008 Express下安装OpenCV2.0--可以直接使用2.1,不用使用CMake进行编译了,避免编译出错 这是一切工作的基础,感谢版主提供的参考:https://www.360docs.net/doc/4317337924.html,/index.php /VC_2008_Express?????‰è£…OpenCV2.0 2、体会该程序 在DOS界面,进入如下路径:C:/OpenCV2.0/samples/c peopledetect.exe file name.jpg 其中filename.jpg为待检测的文件名

3、编译程序 创建一个控制台程序,从C:/OpenCV2.0/samples/c下将peopledetect.cpp加入到工程中;按步骤1的方法进行设置。编译成功,但是在DEBUG模式下生成的EXE文件运行出错,很奇怪 。 改成RELEASE模式后再次编译,生成的EXE文件可以运行。 4程序代码简要说明 1) getDefaultPeopleDetector() 获得3780维检测算子(105 blocks with 4 histograms each and 9 bins per histogram there are 3,780 values)--(为什么是105blocks?)2).cv::HOGDescriptor hog; 创建类的对象一系列变量初始化 winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1), histogramNormType(L2Hys), L2HysThreshold(0.2), gammaCorrection(true) 3). 调用函数:detectMultiScale(img, found, 0, cv::Size(8,8), cv::Size(24,16), 1.05, 2); 参数分别为待检图像、返回结果列表、门槛值hitThreshold、窗口步长winStride、图像padding margin、比例系数、门槛值groupThreshold;通过修改参数发现,就所用的某图片,参数0改为0.01就检测不到,改为0.001可以;1.05改为1.1就不行,1.06可以;2改为1可以,0.8以下不行,(24,16)改成(0,0)也可以,(32,32)也行 该函数内容如下 (1) 得到层数levels 某图片(530,402)为例,lg(402/128)/lg1.05=23.4 则得到层数为24

行人检测综述.

最近一直在看行人检测的论文,对目前的行人检测做大概的介绍。 行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域。从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,个人觉得主要还是在性能和速度方面还不能达到一个权衡。 1.行人检测的现状(大概可以分为两类) (1).基于背景建模:利用背景建模方法,提取出前景运动的目标,在目标区域内进行特征提取,然后利用分类器进行分类,判断是否包含行人; 背景建模目前主要存在的问题:(背景建模的方法总结可以参考我的前一篇博文介绍)(前景目标检测总结) ?必须适应环境的变化(比如光照的变化造成图像色度的变化); ?相机抖动引起画面的抖动(比如手持相机拍照时候的移动); ?图像中密集出现的物体(比如树叶或树干等密集出现的物体,要正确的检测出来); ?必须能够正确的检测出背景物体的改变(比如新停下的车必须及时的归为背景物体,而有静止开始移动的物体也需要及时的检测出来)。 ?物体检测中往往会出现Ghost区域,Ghost区域也就是指当一个原本静止的物体开始运动,背静差检测算法可能会将原来该物体所覆盖的区域错误的检测为运动的,这块区域就成为Ghost,当然原来运动的物体变为静止的也会引入Ghost区域,Ghost区域在检测中必须被尽快的消除。 (2).基于统计学习的方法:这也是目前行人检测最常用的方法,根据大量的样本构建行人检测分类器。提取的特征主要有目标的灰度、边缘、纹理、颜色、梯度直方图

等信息。分类器主要包括神经网络、SVM、adaboost以及现在被计算机视觉视为宠儿的深度学习。 统计学习目前存在的难点: (a)行人的姿态、服饰各不相同、复杂的背景、不同的行人尺度以及不同的关照环境。 (b)提取的特征在特征空间中的分布不够紧凑; (c)分类器的性能受训练样本的影响较大; (d)离线训练时的负样本无法涵盖所有真实应用场景的情况; 目前的行人检测基本上都是基于法国研究人员Dalal在2005的CVPR发表的 HOG+SVM的行人检测算法(Histograms of Oriented Gradients for Human Detection, Navneet Dalel,Bill Triggs, CVPR2005)。HOG+SVM作为经典算法也别集成到opencv里面去了,可以直接调用实现行人检测 为了解决速度问题可以采用背景差分法的统计学习行人检测,前提是背景建模的方法足够有效(即效果好速度快),目前获得比较好的检测效果的方法通常采用多特征融合的方法以及级联分类器。(常用的特征有Harry-like、Hog特征、LBP特征、Edgelet 特征、CSS特征、COV特征、积分通道特征以及CENTRIST特征。 2.行人检测综述性文章

基于深度学习算法的遮挡行人检测

基于深度学习算法的遮挡行人检测 近年来,随着人工智能技术的迅猛发展,机器视觉渗透到我们生活中的各个方面,人们的生活发生了日新月异的变化。行人检测作为其中一项较为基础的识别技术,对安防监控、自动驾驶、新零售等多个领域提供技术支持,具有广泛的应用场景。 本论文主要以SSD目标检测算法为基础,针对遮挡行人这一特定目标,重新设计其网络结构,使其检测性能得到大幅度的提高。本文主要包括以下内容:论文对行人检测的研究难点及现状做了简单的总结,对传统的基于机器学习的行人检测方法以及基于深度学习目标检测算法的相关知识做了梳理。 其中,基于HOG+SVM的行人检测算法是传统方法中最为经典的一种算法,基于深度学习的目标检测算法主要包括RCNN系列、SSD以及YOLO系列三大类。之后,综合考虑检测的速度与性能,采用自建的遮挡行人数据集训练了一个基于SSD目标检测框架的行人检测系统,并用测试集以及重新标注的INRIA测试集对OpenCV中自带的基于HOG+SVM的行人检测系统和训练好的SSD模型进行对比实验。 实验结果表明SSD模型的检测效果要明显好于传统的基于HOG+SVM的行人检测系统,通过深度卷积神经网络学习到的特征更具有鲁棒性。最后,针对遮挡行人检测,对SSD模型的网络结构进行了相应的修改。 (1)在SSD模型的前置网络中,加入了SE-Inception结构,使其能够更加高效的提取特征;(2)重新设计了网络中的先验框,使其能够更加容易的匹配到行人的形状,并对小尺寸的行人采用了密集采样的策略;(3)针对行人中容易出现环境遮挡和相互遮挡的情况,在模型的训练集中加入了遮挡行人的数据,并采用

相关文档
最新文档