版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向视频流的实时目标检测系统设计实现案例分析目录TOC\o"1-3"\h\u8382面向视频流的实时目标检测系统设计实现案例分析 173241.1需求分析 1240021.2系统设计 2250871.2.1系统环境 231821.2.2系统结构 2320281.3系统实现 3232471.4检测过程 10目标检测领域的研究已经有较多实用价值的应用,本章通过第3,4章提出的基于多尺度特征的感受野模块及基于关键点的目标检测方法,实现了一种适用于实时视频流目标检测系统[49][50],该系统可以实现对于安防监控领域的视频流的目标检测[51][52],能满足对于大部分视频流的实时性检测检测需求,同时满足安防监控领域中对部分小目标的高精度检测需求。在本章节中,首先介绍了本课题所实现系统的实验环境及对应的设计结构,接下来介绍该系统的实现及详细描述检测过程,最后将检测结果进行展示,并使用先进特征可视化工具验证检测结果的正确性,并做出相应总结。1.1需求分析本系统应用于安防监控领域中的实时视频流检测,系统可以处理实时视频流和本地视频流两种类型的视频数据,首先将视频内容拆分成单帧图像,再对视频中每一帧的图像进行检测,最后将检测的结果以文件的形式保存在目录中,通过时间序列编号汇合成视频流进行本地保存。(1)功能性需求可以处理两种类型的视频数据,一种是实时视频流,另一种是本地视频流;可以通过控制台查看每秒钟图像检测到的目标类别;实现对多个实时视频流数据进行检测;对检测后视频数据的结果保存。(2)非功能性需求可以根据业务需求,调整部分参数,达到符合业务检测需求的检测速率或者准确度;安防监控视频会不断地输入实时视频数据,因此检测算法必须具有较好地实时性,才能稳定地展示实时结果;系统的设计需要易于操作,在设备出现故障的情况下,需要简单的人工指令即可恢复运行状态;检测数据及结果需要定时备份,并保证一段时间内的存储;算法端应提供便于使用的接口,方便对检测功能的扩展及再使用。1.2系统设计1.2.1系统环境本章系统的实现基于实验室设备实现的,系统环境如表1.1。表1.1实验软硬件环境Table1.1Theenvironmentofhardwareandsoftwareexperiment实验软硬件环境参数CPUGPU内存硬盘摄像头IntelCorei7-8700(3.2GHz)RTX207016GB500GLogiC310操作系统Ubuntu16.04开发环境相关软件开发语言Pytrorch1.0.0、Python3.7、CUDA10、GCC4.9.2Opencv2.4.9.1、GUVCviewC++、Python1.2.2系统结构本系统是一种基于关键点的检测方式,具体包括:视频输入模块、目标位置生成模块、目标检测模块以及视频输出模块。目标位置生成模块是对输入图像进行一次粗略的检测,找到图像中最可能包含目标的位置,替代原来生成候选框的检测方式。目标检测模块会对目标位置生成模块处理后的图像进行细粒度的目标检测。在视频输入模块中,提供了两种类型的视频数据输入方式,一种是输入录制好的本地视频,另一种是通过摄像头获取到实时的视频流数据,将视频流拆分成帧,存储在具体的位置中,传输给下一个模块。目标位置生成模块通过漏斗网络的特征提取,针对不同大小目标生成不同大小的注意力图,然后对初步筛选出的目标进行排序并使用非极大抑制的方法进行选取,获取出前K个最可能包含目标的子图像,将选取出来的子图像输入给下一个模块。其中K值是调整该系统速度和准确度的核心参数值。若希望系统的检测速度较快,可以降低选取的子图像个数,若希望系统的检测速度更高,可以增加选取的子图像个数。目标检测模块是对前一模块传递过来的子图像进行细粒度的检测。通过角点检测的方式高效定位目标的位置,通过中心点分辨出有大量重叠部分的图像,提升检测准确度。最后将子图像中的目标位置进行汇总,去除掉重复位置的目标,完成图像的合并。视频输出模块会针对不同的输入情况分开处理,若输入的是本地视频,则将检测后的逐帧图像进行合并,并将可视化的结果进行输出。若输出的实时视频数据,会向将检测后的结果进行可视化,之后进行本地存储。该模块的整体结构及各模块的具体功能如图1.1。图1.1系统结构和模块划分Fig.1.1Thestructureofsystemandthedivisionofmodule1.3系统实现该节将对系统中每个模块的流程与方法进行详细讲解。(1)视频输入模块,该模块负责对获取到的视频数据进行捕获及处理,该系统可以处理的视频数据分为两种:本地视频数据和实时视频数据。其中对于本地视频数据,需要将视频拆分成固定的帧数,存储到一个固定的路径中,以便于后续的处理,而对于实时的视频流数据,首先通过摄像头捕获到实时的视频数据,然后将视频根据具体的硬件处理能力对视频流进行拆分,对拆分后的图像进行传输及存储,以便后续处理。(2)目标位置生成模块,该模块具体流程如图1.2。图1.2目标位置生成模块流程图Fig.1.2Theprocessofgeneratingobjectlocationsmodule该模块负责对视频输入模块传递过来的单帧图像进行检测,通过目标位置生成模块,获取到可能包含目标排序较高的前K个图像位置。具体的内部逻辑可以由相应的流程伪代码表示,如算法1.1。算法1.1:目标位置生成模块算法Input:ImagesOutput:ThefirstKObjectlocationsBeginfor(constimage:Images):constautotransinput=GetImageTransform()constautoresized_image=cv2.resize(trnas_input)constautoout_put=GetFeatureProcess(resized_image)for(constautoimg:out_put){if(img.size<32):GetSmallAttentionMap()elif(img.size<96):GetMediumAttentionMap()else:GetHugeAttentionMap()}RankingAndSorted()NMS()End其中:NMS()Input:B={b1,…bN},S={s1,…,sN},NtOutPut:D,SBeginD←{}WhileB!=NULLdom←argmaxSM←bmD←D∪M;B←B–MForbiinBdoIfiou(M,bi)>=NtthenB←B-bi;S←S-siEndEndEnd(3)目标检测模块,该模块具体流程如图1.3。图1.3目标检测模块流程图Fig.1.3Theprocessofobjectdetectionsmodule该模块负责对目标位置生成模块获得的局部图像进行细粒度的检测,在特征提取的过程使用了感受野模块进行多尺度的特征提取,并将检测后的图像进行合并处理,去除掉重复的检测框。具体的内部逻辑可以由相应的流程伪代码表示,如算法1.2:算法1.2:目标检测模块算法Input:subImagesOutput:detectionsresults{yi}BeginExtractfeaturefromconvolutionallayerCalculatecornerheatmapviaCornerScore()ComparingembeddingvectorbyformulaLpullandForLpull<ThresholdpullIfLpush<ThresholdpushCalculatethecentralareaofObjectbyformula4.12to4.15Ifctlx1!=ctlx2||ctly1!=ctly2GettheoffsetsofboundingboxbysmoothL1lossfunctionAdjustboundingboxbyoffsetsVideoFrameInference()End其中:CornerScore()Input:rotatedboundingboxB,g×gregulargridG,SegmationmapSOutput:scoreBeginGeneratingBinsbyspittingBwithGM←0,i←0Foriinrange(g×g)dobin←Bins[i],C←0,P←0R←MiniRect(bin)forpixelinRdoifpixelinbinthenC←C+1,P←P+G[i][pixel].valueM←M+PScore←MEndVideoFrameInference()Input:videoframes{Ii},aggregationrangeKOutput:detectionresult{yi}BeginFork=1toK+1dofk=Nfeat(Ik)Fori=1to∞doForj=max(1,i-K)toi+Kdofj→i=W(fj,F(Ii,Ij))fj→ie,fie=ℰ(fwj→i=exp(ffiyfEnd(4)视频输出模块,该模块负责对目标检测模块获得修正后的图像按照视频流拆分的时间顺序进行合并,对于实时视频流将处理后的图像按照时间顺序直接输出即可,对于本地视频,需按照时间顺序合并调整后的图像,并进行本地的视频存储。1.4检测过程在本节中,将展示使用实际中的视频流数据测试面向视频流目标检测系统的检测结果,整体的检测过程已通过上节功能流程图及伪代码的实现过程进行展示。(1)视频流拆分本检测视频分为两类,一类是本地视频,另一类是实时检测视频,首先在获取到本地视频时,会将视频拆分成帧。实时视频由于实时检测的特点,并未手动进行拆分。拆分后的视频如图1.4所示。图1.4视频流拆分结果Fig.1.4Theresultofsplittingvideostream拆分后视频的部分图像帧如图1.5所示。图1.5视频流中部分图像帧Fig.1.5ThePartoftheimageframeinthevideostream(2)视频流目标位置生成模块在视频流目标位置生成模块为了提升对于小目标的检测准确度,在网络结构提取特征的过程中使用了感受野模块,通过感受野模块实现对于多尺度特征的提取,其中感受野模块中的卷积核的大小分别为1×1、3×3及5×5,通过多尺度的特征提取、特征融合操作及对不同尺度的目标采用不同尺度的注意力图使得算法对于小目标的感受野同样敏感,提升了算法整体对于小目标的检测准确度。为了直观的了解算法训练后获得的模型是对图像中的哪部分进行检测,获取到目标检测的结果,使用了Grad-CAM[53]对图像中进行特征提取的区域进行了可视化,这种方式可以有效的帮助理解模型检测结果所对应的特征区域,以及判断出图像中的哪些位置对输出结果更直观的影响。Grad-CAM是一种独特的类激活可视化方法,通过类激活热图和相关的特征区域可视化图像可以证明模型检测结果的正确性[54][55]。对于图1.6中图A展示了使用Grad-CAM获得高像素可视化和对应类观察区域的结果,图B以热图的形式展示了对应类的主要观察区域,图C展示了对检测结果有贡献特征的高像素的可视化效果。在图1.6中图B展示的结果可以看到模型对于小孩子类目标的检测区域主要集中在孩子的头部,对凳子的检测主要集中在凳子腿部,通过图1.6中图C这种特征区域可视化的方式,可以验证在该系统中的目标位置生成模块的结果是正确的。使用Grad-CAM类的特征可视化工具可以在模型调优的过程中,有助于模型的可视化分析,提供了更好的改进方向。Grad-CAM的效果如图1.6所示。(A)(B)(C)图1.6视频流图像部分帧中的Grad-CAM图像Fig.1.6TheGrad-CAMimageinpartialframeofvideostream(3)目标检测模块在目标检测模块中,对目标位置生成模块获取的子图像进行角点检测,通过角点级联池化得到角点热图,通过公式4.18及4.19计算角点热图中的嵌入向量,嵌入向量差值最小的即为同一对目标的角点,对于高度重叠的同类目标图像,通过公式4.12到4.15来计算目标的中心区域,再使用中心池化来区分出高度重叠的目标图像,最后通过模块传递回的偏移量对边界框的位置进行调整,将子图像的检测目标进行合并,去除掉冗余的目标,输出检测后的结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智慧安防系统集成项目实施方案
- 湖南省编六年级下册信息技术理论教案
- 保险销售管理与技巧
- 升旗仪式行为规范教育
- 樱桃种植和管理技术大纲
- 耳鼻喉科听力损失患者听力康复训练
- 白血病患者综合治疗方案
- 以改革创新为时代精神的
- 2026年海外安防市场机会洞察与出海策略报告
- ICU休克护理处理流程
- 2026年畜牧业疫病防控培训
- 2026及未来5年中国原子力显微镜(AFM)行业市场竞争态势及发展趋向研判报告
- 企业员工信息安全培训
- 2026年麻醉药品、精神药品规范化使用与管理培训考试题测试题库及答案
- 加装电梯工程监理实施细则
- 雾化吸入教学课件
- 2025年环评工程师《环境影响评价技术导则与标准》真题及答案解析
- GB/T 27572-2025橡胶密封件110 ℃热水供应管道的管接口密封圈材料规范
- 福州三坊七巷教学课件
- 2025年10月自考13000英语专升本试题及答案
- 2026年河南应用技术职业学院单招职业适应性测试题库附答案
评论
0/150
提交评论