<--!(源码资源****有常(注意目前是有常哦)私我vx:xdsqczkyqs713**,**仅源码100r,带
一份40页字论文讲解120r报告仅供参考,可以就着写,节省时间,但宝儿你可千万别傻乎乎的直接
拿去上交鸭! **非诚勿扰/<->认真脸**)-->

可变形部件模型(Deformable Parts Model,DPM)是传统的目标检测算法中最为成功的模型之一,它可以看作是方向梯度直方图(Histograms of Oriented Gradients,HOG)模型的扩展。它将目标模型分解为多个子模型部件的组合,每个子模型采取HOG模型思路,计算方向梯度直方图特征,用于刻画目标的每一个部分。对每一个部件HGO特征进行潜在支持向量机(Latent Support Vector Machines)模型训练,得到组合模型的模板,通过目标与模板的匹配,实现目标的检测与位置标定。
本文旨在构建一种基于可变部件模型的视频车辆行人检测系统,模拟真实交通情景中的视频监控,采集,处理,检测与识别。将DPM算法应用到交通场景中最为常见的小型汽车与行人的检测,实现对监控视频图像中的行人与汽车的目标检测与位置标定,并进一步采用基于颜色定位的车牌位置标定的思路,标定车牌位置,分割车牌字符,匹配并识别出车牌号码。

文章目录

  • 系统一览
  • 系统原理
    • HOG方向梯度直方图
    • 可变形部件模型(Deformable Parts Model,DPM)目标检测算法
    • 监控环境模拟
    • DPM检测流程

系统一览

论文截图:

下边的系统运行效果展示截取自论文第四章:

第4章 系统效果展示
运行project.m,加载系统主界面,如图4-1所示,模拟监控视频来源,一是打开监控画面实时获取,二是加载本地保存录制的视频。

图4-1 系统主界面
4.1 监控功能模拟
点击“打开监控画面”,进入模拟监控系统,如图4-2所示,点击“拍照”,可拍摄摄像头实时显示画面,点击“录制”,开始录制视频。


图4-2 监控功能界面
4.2 目标检测与识别
主界面选择“载入本地视频”,选择视频文件,将视频初试画面显示到图窗中,调节“选帧”所示的滑动按钮,可快进或快退视频。


图4-3 目标检测与识别界面

4.2.1 行人检测
选中某一帧画面后,点击“行人检测”,开始对该帧图片进行行人检测,效果如下图所示。

4.2.2 车辆检测
点击“车辆检测”,开始对该帧图片进行车辆检测,效果如下图所示。

图4-5 车辆检测目标框定

4.2.3 车牌识别
车牌识别对图像中的车辆是否可见车牌(例如侧面视角看不到车辆车牌),以及车牌显示的清晰度有一定要求,为便于阐述,下边以另为一条录像中的一帧图片为例,展示车牌识别效果。
原图:
车辆检测效果:


程序成功捕捉到画面中的三辆车,此时点击“车牌识别”,程序将会把框选的车辆位置从原图中自动截取出来,并切换到车牌识别界面:

系统原理

HOG方向梯度直方图

方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。对于数字图像而言,相当于对二维离散函数求梯度,假定I(x ,y)为坐标(x, y)处的像素值,GX为x方向梯度值,GY为y方向梯度值,G为所求梯度值,有如下计算公式:

在HOG中,对一幅图像进行了如下划分:图像(image),检测窗口(win),图像块(block),细胞单元(cell)。将图像划分成小cells(固定数目的像素点构成一个cell),每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的特征描述器(descriptor),将每几个cell组成一个block,一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。将图像image内的所有block的HOG特征descriptor串联起来就可以得到该图像的HOG特征。HOG特征提取的流程图如下:

可变形部件模型(Deformable Parts Model,DPM)目标检测算法

DPM算法采用了改进后的HOG特征,SVM分类器和滑动窗口(Sliding Windows)检测思想,针对目标的多视角问题,采用了多组件(Component)的策略,针对目标本身的形变问题,采用了基于图结构(Pictorial Structure)的部件模型策略。此外,将样本的所属的模型类别,部件模型的位置等作为潜在变量(Latent Variable),采用多示例学习(Multiple-instance Learning)来自动确定。它的检测步骤如下:
1、通过HOG特征模板来刻画每一部分,然后进行匹配。并且采用了金字塔模型,即在不同的分辨率上提取HOG特征。
2、利用提出的DPM模型,在进行目标检测时,检测窗口(detect window)的得分等于子模型(part)的匹配得分减去模型变化的花费(cost)。
3、在训练模型时,需要训练得到每一个part的HOG模板,以及衡量part位置分布cost的参数。文章中提出了Latent SVM方法,将DPM的学习问题转换为一个分类问题:利用SVM学习,将子模型(part)的位置分布作为潜在变量(latent values),模型的参数转化为SVM的分割超平面。具体实现中,作者采用了迭代计算的方法,不断地更新模型。

每一个组件由一个根模型和若干部件模型组成。图 (a)和图 (b)是其中一个组件的根模型和部件模型的可视化的效果,每个单元内都是SVM分类模型系数w对梯度方向加权叠加,梯度方向越亮的方向可以解释为行人具有此方向梯度的可能性越大[12]。如图 4.5(a),根模型比较粗糙,大致呈现了一个直立的正面/背面行人。如图(b)所示,部件模型为矩形框内的部分,共有6个部件,分辨率是根模型的两倍,这样能获得更好的效果。从中,我们可以明显地看到头、手臂等部位。为了降低模型的复杂度,根模型和部件模型都是轴对称的。图(c)为部件模型的偏离损失,越亮的区域表示偏离损失代价越大,部件模型的理想位置的偏离损失为0,图中每一个白色的发散的‘×’代表每一个cell的梯度直方图,他本质是一个31维的特征向量。

DPM采用了传统的滑动窗口检测方式,通过构建尺度金字塔在各个尺度搜索[13]。图2-4为某一尺度下的行人检测流程,即行人模型的匹配过程。某一位置(x, y)与根模型或者部件模型的响应得分,为该模型与以该位置为锚点(即左上角坐标)的子窗口区域内的特征的内积。也可以将模型看作一个滤波算子,响应得分为特征与待匹配模型的相似程度,越相似则得分越高[14]。
图2-4左侧为根模型的检测流程,跟模型响应的图中,越亮的区域代表响应得分越高。右侧为各部件模型的检测过程。首先,将特征图像与模型进行匹配得到部件模型响应图。然后,进行响应变换:以锚点为参考位置,综合考虑部件模型与特征的匹配程度和部件模型相对理想位置的偏离损失,得到的最优的部件模型位置和响应得分。

监控环境模拟

在MATLAB平台的附加功能资源管理器中下载下图所示的视频接口硬件资源支持包,用于MATLAB访问和调用电脑的摄像头资源。

安装完毕后,命令行输入‘imaqhwinfo’,(image acquire hardware information),意思是查看图像获取硬件资源信息,结果如下图:

这里的‘winvideo’即为硬件适配器分配的摄像头资源的名称编号,也是我们接下来要调用的摄像头名称。
输入命令,vid = videoinput(‘winvideo’);创建摄像头对象,然后输入preview(vid)预览摄像头画面,确保摄像头正常可用。
完成摄像头调用后,要实现视频采集,还需要设置相应的视频格式,包括画面宽高比、分辨率大小、颜色格式(rgb真彩色、黑白、索引等)。从网上查阅常用的监控视频格式规制,结合MATLAB平台所支持处理的视频格式,选择采用YUY2_640x480规格的视频,其宽高比为640×480,画面图像颜色格式为真彩色,分辨率可根据摄像头硬件资源能力自适应。视频存储格式选择MATLAB平台支持处理的.avi和.mp4文件格式。

DPM检测流程

从网上下载经VOC数据训练好了的车辆检测与行人检测DPM模型。模型中包含目标模型的视角数(正,反,侧等),模型的部件拆解情况,根滤波器、子滤波器的结构与参数,位置标定矩形框初始化参数,匹配规则(匹配得分响应计算公式)等用于目标检测的结构体与参数。
有了检测模型后,对于一张待检测图片,以下图为例,先提取图片的HOG特征,可视化结果为下图的一个个小的白色的‘×’,代表了该处的cell的边缘方向。将HOG特征提取结果与行人模型的全身的HOG特征模板卷积,即通过模型的根滤波器,得到根滤波器响应,初步确定目标位置框。另一方面将HOG特征提取结果与行人模型的各个部件的HOG特征模板卷积,即通过模型的子滤波器,得到部件响应。这里需要注意的是,考虑到部件模型与全身模型的尺寸大小不同,在求部件响应前,先对原图进行高斯金字塔上采样,提高图像分辨率,相当于放大图片的局部的部件信息,将上采样后的图片,提取HOG特征再与部件模型匹配,即通过子滤波器得到部件响应,确定部件位置框。将部件响应结果进行高斯金字塔下采样,恢复部件响应分辨率大小与根响应大小一致,综合部件位置框与目标位置框的相对关系,最终预测出检测到目标位置,确定目标边界框。整个过程的流程图如下:

基于可变部件模型(DPM)的车辆行人检测相关推荐

  1. 车辆行人检测学习笔记

    车辆行人检测学习笔记 1.目标检测&常见检测网络 目标检测:物体识别是要分辨出图片中有什么物体,输入是图片,输出是类别标签和概率.而目标检测不仅要检测图片中有什么物体,还要输出无异的外框(x, ...

  2. 基于jetson nano和yolov5 的 车行人检测(一)

    毕业设计ing,但中途要出去一波.做个记录,备忘. 基于jetson nano和yolov5 的 车行人检测. 目前已经做的工作: 1.数据集的制作,原本是用的老师给的自己拍的一些数据(含夜间),但效 ...

  3. matlab ssd检测,基于SSD神经网络的违章停车车辆实时检测方法与流程

    本发明属于图像识别和计算机视觉技术领域,尤其涉及一种停车车辆的检测方法,可用于城市环境中对违章停车车辆的检测. 背景技术: 随着现代社会经济的快速发展和城市化的普及,汽车作为一种重要的交通工具,其数量 ...

  4. 【车辆行人检测和跟踪数据集及代码汇总】

    车辆行人检测和跟踪数据集和代码汇总 1. 车辆检测和跟踪 1.1 车辆检测数据集和训练权重 1.2 车辆跟踪 2. 行人检测和跟踪 2.1 行人检测数据集和训练权重 2.2行人多目标跟踪 3. 车辆行 ...

  5. 车辆行人检测数据集_澎思科技行人再识别技术取得突破,刷新三大数据集世界记录...

    近日,国内人工智能企业澎思科技(Pensees)在行人再识别(Person Re-identification,简称ReID)算法上取得突破,在三大主流ReID数据集测试Market1501,Duke ...

  6. 【opencv】(11) 背景建模,帧差法、混合高斯模型,实战:行人检测,附python完整代码和数据集

    各位同学好,今天和大家分享一下opencv背景建模相关操作.主要介绍两种背景建模方法,帧差法和混合高斯模型. 案例简介:现有一份路口摄像机拍摄的行人流视频,通过背景建模方法,区分背景和前景,完成行人识 ...

  7. 【模型训练】YOLOv7行人检测

    YOLOv7行人检测 1.YOLOv7算法行人检测模型训练 2.YOLOv7模型模型评估 3.模型和数据集下载 1.本项目采用YOLOv7算法实现对行人的检测和识别,在一万多张行人检测数据集中训练得到 ...

  8. 基于PP-YOLOE的雾天行人车辆目标检测

    1. 项目说明 随着计算机视觉算法的快速发展,目标检测作为视觉感知的基础任务,在诸多场景中得到了广泛应用.常见的公开数据集和方法大多针对能见度良好条件下的目标检测任务而建立.然而现实应用场景却面临诸如 ...

  9. 车辆行人检测数据集_开源 | 相机和激光雷达融合的行人车辆检测跟踪

    声明:本文首发于我的公众号[当SLAM遇见小王同学],谢绝私自转载,如有需要,可加我微信进行授权!! 最近在GitHub上发现了一个开源项目,关于相机和激光雷达融合的行人车辆检测跟踪. 项目 http ...

  10. 基于jetson nano和yolov5 的车行人检测(二)

    接着上篇~~ 3:准备使用tensorrt加速模型,onnx-tensortrt 将yolov5生成 pt文件先转成onnx文件,这个直接使用 yolov5源码里的 model/export.py转就 ...

最新文章

  1. BZOJ2631tree——LCT
  2. Intellij-Idea使用小细节
  3. 图像拼接和图像融合技术
  4. gsoap(C/C++调用webservice)
  5. RabbitMQ(六)整合SpringBoot
  6. nginx+tomcat
  7. 数据下载工作笔记三:脚本
  8. html怎么整体放大,html页面放大时不能铺满整个页面问题
  9. 图片裁剪(cropperjs)
  10. php砸金蛋程序,简单的几句PHP生成美团3周年砸金蛋抽奖代码
  11. easydarwin 安装_EasyDarwin流媒体服务器的简介和搭建
  12. 软件工程 可行性分析与需求分析
  13. altium 不规则焊盘 创建异形焊盘方法
  14. Cocos creator接 IOS 穿山甲
  15. 提示Could not calculate build plan Plugin org.apache.maven.pluginsmaven-resources
  16. 三维可视化引擎让空间数据管理更高效
  17. 计算机桌面没有打字,打字为什么电脑不显示出来怎么办
  18. Java开发微信公众号初体验
  19. python自适应图片大小_pixmap和label设置图片自适应大小
  20. Pytorch note

热门文章

  1. Mysqldump备份报错1449
  2. 六西格玛dfss_六西格玛设计(DFSS)的概念、核心及优势
  3. 计算机乘法函数公式word,计算机函数乘法word 在word中如何算乘法如图
  4. Web安全工程师成长路线
  5. JavaScript-作用域和作用链
  6. linux cpufreq 设置
  7. 批量下载bilibili视频
  8. ARMv8基础架构之内存屏障(Memory Barriers)
  9. C语言递归函数 写一个程序实现一个函数PrintN,使得传入一个正整数为N的参数后,能顺序打印从1到N的全部正整数
  10. 录音自动上传到服务器,怎么实现手机录音之后,将录音的音频文件上传到服务器上...