当前位置:文档之家› 基于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月软件开发复杂背景区分出来,并且HOG特征在几何和光学变化环境都能保持很好的不变性。

HOG算法具体实现过程:(1)获取视频监控的帧图像进行标准化处理,使用所有图片具有相同的标准、颜色和灰度,有助于实现对行人有效特征提取,因为图像的颜色信息对目标检测影响较小,为减少特征提取的复杂度可先对检测图像进行灰度化处理;(2)使用伽马(Gamma)变换对图像进行归一化处理,调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时还可以抑制噪音干扰;(3)计算图像横坐标和纵坐标方向的梯度,图像局部特征不连续(如颜色、纹理等特征的突变)的边缘位置灰度值的梯度较大,据此计算每个像素的梯度方向值可用来捕获轮廓、人影和纹理信息并进一步弱化光照的影响;(4)将图像划分成一个cell单元,将cell单元内的每一个点的梯度角度将其离散化为9个bin来计算梯度方向,再对cell内每个像素用梯度方向在直方图中进行加权投影便能够计算出cell的梯度直方图,由于局部光照和前景背景对比的影响使得视频图像的梯度绝对值变化范围很大,需要对图像梯度进行归一化处理,即可形成每个cell 的描述子;(5)将每几个cell(例如3×3个cell)组成一个block,一个block内所有cell的特征描述子串联起来便得到该block的HOG特征描述子;(6)采用滑动窗口获取图像内的所有block的HOG特征描述子,串联起来就可以得到检测目标的HOG特征描述子[4-5]。

HOG特征提取后需要通过合适的机器学习算法从大量的训练样本数据中获得相应的分类器,只有配上合适的训练器才能够达到真正的机器学习统计分类的目标。

行人检测算法处理过程为将待检测的目标图像中获得的HOG特征作为分类器的输入,分类器给出行人判断的一个概率值,通过设定概率阈值来判断检测目标是否为行人。

目前比较常用的分类算法有基于神经网络(Neural Network, NN)的方法、基于Adaboost的方法以及基于支持向量机(SVM)的方法等。

SVM方法能够通过非线性映射将原来的样本空间映射到高维以至于无穷维的特征空间,若在原始空间是非线性不可分的,通过SVM非线性映射可以使之变成高维空间线性可分,同时SVM方法利用对于核函数的展开定理能够很容易解决提高维度情况下带来的计算复杂度高的难题,计算复杂度不会增加,某种程序上也可以避免“维数灾难”。

一般提取窗口的HOG特征都有比较高的维数,常用的检测窗口大小是64×128,从中提取的HOG特征维数高达3780维,而SVM在处理高维图像数据时有很大优势,因此图像识别中的行人检测广泛应用HOG特征结合SVM分类器。

3 Visual Studio 2017和OpenCV实现行人检测行人检测算法程序实现较为复杂,借助于功能强大的开源平台进行系统的快速实现是应用软件开发的一种常用手段,本论文中系统实现采用开源计算机视觉库OpenCV,适合监控视频系统的二次开发。

OpenCV(Open Source Computer Vision Library)是一个采用C/C++为主要编程语言的跨平台计算机视觉库,主要应用于人机交互、图像区分、人脸识别、动作识别、运动跟踪等领域。

在OpenCV 库中已包含一个预先训练好的HOG+线性SVM的检测算法,HOG提取的具体方法为训练过程中正样本统一为64×128,同时也为检测窗口的大小,在8×8的cell单元中统计每一个像素点的HOG特征,并通过投影形成9维特征向量,在cell单元所属的16×16的block单元中进行组合,每个block形成36维特征,由于每个图像包含有105个block所以最后每一幅样本图形成3780维的HOG特征。

其行人检测过程采用的是滑动窗口法,其过程为获取视频图像并对图片按照算法进行尺寸缩放,使用128×64的检测滑动窗口在每一层的图像上滑动,每个滑动窗口内计算并提取出HOG特征,再将HOG特征输入已训练好的SVM分类器中,即可检测该图层是否存在行人目标,如果该层检测到目标则存储下目标区域,如无则继续滑动,最后在图像上标识出检测到的行人目标区域[6-7]。

软件开发平台使用Visual Studio 2017社区版和OpenCV3.4.1版本。

OpenCV的核心模块中CV模块包含基本的图像处理函数和高级视觉算法。

检测程序主要使用视频采集类VideoCapture、HOG特征结构体HOGDescriptor、SVM模型设置函数setSVMDetector()以及行人检测函数detectMultiScale()。

首先使用HOGDescriptor定义HOG特征描述子并默认参数初始化该结构体,即检测窗口winSize(64,128)、块大小blockSize(16,16)、块步长blockStride(8,8)、细胞单元大小cellSize(8,8)、bin数nbins(9)。

然后利用setSVMDetector(HOGDescriptor::ge tDefaultPeopleDetector())为SVM分类器设置默认的训练模型,最后利用detectMultiScale(img, found_locations)函数采用多尺度的窗口进行检测,该函数作用为将大于64×128的图像进行分层使得每层都满足检测窗口大小,通过循环调用detect()函数实现大尺寸图像的行人检测。

检测结果通过参数found_locations返回,该参数为vector 类型的矩形结构,即可在图像中标识出行人位置,同时可以检测结果导入监控预警系统做进一步处理,本系统中将检测(下转第9页)www�ele169�com | 59电子电路设计与方案触。

特别要注意蓝牙模块的接地端与功率放大器的接地端连接,容易产生噪声干扰,不能通过插座直接连接,而是采用一条导线(R0)来连接,这样可以有效的消除干扰,最后在电路板的底板下面再安装一块相同尺寸的有机玻璃,电路板的安装就完成了,实物图如图8所示。

电路板安装完成后,在通电前一定要认真检查有无焊错的地方,特别要注意引线有无焊接短路,有无元件引脚焊反,例如二极管、电解电容。

检查完毕后准备通电调试,在交流220V输入端接上变压器,先不接入音箱,而是把数字万用表接入音频输出端,万用表置于直流2V档。

然后接通电源,此时观察万用表的读数,读数如果在30mV以内,表明该功率放大器功能基本正常,才能接入音箱。

如果电压不在这个范围内,电路可能存在问题则需马上断电检查电路。

一切准备就绪,首先操作手机打开蓝牙功能,操作搜索蓝牙设备,当出现“BH-BT3706”设备后,然后选择连接“BH-BT3706”,当听到音箱发出“嘟”的一声,表明手机与功率放大器已经正常连接,然后播放手机音乐,调节手机音量按键,音箱音量大小应该有变化,经过实际测试,该蓝牙功率放大器输出高音清晰,低音震撼,音质非常好,电路调试成功。

5 总结从设计方案到电路制作,一个小型、便携的、基于蓝牙技术的功率放大器破茧而出,经过长时间测试,蓝牙模块BH-BT3706配上发出NE5532和LM1875的组合,以其音质优美,还有成本低的优点,用它来长时间欣赏高保真音乐不会感到浮噪刺耳朵,是制作蓝牙功率放大器的理想选择。

参考文献* [1]陆鑫潮,蒋敏兰,李慧芬.基于NI无线传感器网络的智能家居监控系[J].计算机系统应用,2013.22(9):64-69.* [2]常兴,赵婷婷.音频功率放大器的设计[J].电子技术与软件工程,2016(21):132-132.* [3]葛中海,吕秋珍,陈芳.音频功率放大器[M].北京:电子工业出版社2017.到的行人利用矩形框标识出来,其检测结果如图3所示。

图3 视频监控系统行人检测结果4 结束语本论文中利用OpenCV中的HOG+SVM的行人检测算法实现的视频监控系统,基本满足在背景固定的视频监控系统中行人检测和跟踪要求。

由于行人的多变性和背景的复杂性,在检测过程中还存在着许多技术难点。

在今后的研究中需要关注两个问题:(1)准确性问题,实际应用场景中行人姿态和着装、环境背景、动态遮挡以及拍摄因素等影响着行人检测的准确性,因此可尝试在行人检测时采用多特征结合的方法以增强特征描述,分类器能够更加高效地检测人体目标;(2)实时性问题,由于动态视频中行人检测对实时性要求非常高,需要具有较高的计算精度和计算速度。

因此实现较高的准确性和较快的检测速度的实时行人检测监控系统在未来很长一段时间内还是一个非常具有挑战性的研究课题。

参考文献* [1]吴群,王田,王汉武等.现代智能视频监控研究综述[J].计算机应用研究,2016,33(6):1601-1606.* [2]黄凯奇,陈晓棠,康运锋,谭铁牛.智能视频监控技术综述[J].计算机学报,2015,38(6):1093-1118.* [3]徐渊,许晓亮,李才年,姜梅,张建国.结合SVM分类器与HOG特征提取的造价检测[J].计算机工程,2016,42(1):56-60.* [4]刘文振.基于HOG特征的行人检测系统的研究[D].南京邮电大学,2016.* [5]单仁光.智能视频监控中行人检测与跟踪技术的研究与实现[D].浙江工业大学,2015.* [6]夏红丽.中小学校视频监控中的行人检测方法研究[D].苏州大学,2014.* [7]汪成龙,陈广财,陈治明.基于Opencv的行人检测方法[J].惠州学院学报,2016,36(3):55-57.(上接第59页)图8 制作完成的实物图www�ele169�com | 9。

相关主题