行人检测之DPM

article/2025/10/3 19:26:23

基于可识别训练的部件模型的目标检测

Object Detection with Discriminatively Trained Part Based Models

摘要

基于多尺度可变形的部件模型我们来描述一个目标检测系统。我们的系统能够表示高度可变的对象类并在PASCAL目标检测挑战达到最先进的结果。虽然可变形部件模型变得十分流行,但是它们的值至今没有在诸如PASCAL数据库这种困难的基准上证明。对于可区分训练,我们的系统依赖于使用部分标记的数据这种新方法。我们结合了一种对数据挖掘反例的高灵敏度的方法,使用一种我们称之为潜在支持向量机的形式。潜在的支持向量机是一种基于潜在变量的MI-SVM的重新生成。一个潜在的支持向量机是半凸的,一旦潜在的信息指定为正面例子,训练问题就会变成凸形。这就引出了一种迭代训练算法,该算法可以在为正例修正潜在值和优化潜在的SVM目标函数之间进行交替。。

目的:检测目标并给定类别考虑从静态图像中的人或汽车等类别检测和定位一般对象的问题。

难点:视角变化、光照因素、非刚性的形变、类内形变等。

多尺度可变形部件模型使用一个可区分的程序进行训练,仅需要一系列图像中目标的边界框。结果非常高效,在PASCAL VOC基准和INRIA行人数据集取得最好的效果。

图形结构框架

图形结构通过一个可变形配置中排列的部分集合来表示对象。每个部分都捕获一个对象的局部外观属性,而可变形的配置则以某些对部分之间的弹簧式连接为特征。

可变形模型抓取表面有意义的变量,可是单一的可变形模型在图像出现多个目标时表现得不够好。解决:混合模型处理多个有意义的变量信息

视觉语法

视觉语法是基于可变形模型的推广,用变量等级结构表示目标。基于模型中的语法的每一部分都能直接或间接被其他部分表示。模型间能共享不同类的信息。

简单的模型能够在实际中效果优于复杂的模型,因为后者在训练期间存在困难。对于目标检测来说,精确的模板和特征袋模型可以容易的使用SVM这样的可区分的方法实现。更丰富的模型却是比较难训练的,尤其是因为他们经常利用潜在的信息。因为部分未被标记,所以视为潜在的信息,但是利用标记的部分信息又会出现较差的训练结果(一旦标记的是次优的部分)  自动部分标记

 

DPM(Deformable Part Model,可变形部件模型)

DPM,一种基于组件的检测方法。该模型是由Felzenszwalb2008年提出,以下是算法思想:

1Root filter+ Part filter

该模型包含了一个8*8分辨率的根滤波器(Root filter)(左)和4*4分辨率的组件滤波器(Part filter)(中)。其中,中图的分辨率为左图的2倍,并且Part filter的大小是Root filter2倍,因此,看的梯度会更加精细。右图为其高斯滤波后的2倍空间模型。

             

                            Root filter                                          Part filter                                  高斯滤波后的模型

2)响应值score的计算

计算公式:

其中,分别为锚点的横坐标、纵坐标和尺度;

      为根模型的响应分数;

      为部件模型的响应分数;

      为不同模型组件之间的偏移系数,加上这个偏移量使其与跟模型进行对齐;

      表示组件模型的像素为原始的2倍,所以,锚点*2

      为锚点和理想检测点之间的偏移系数。

其部件模型的详细响应得分公式如下:

其中,为训练的理想模型的位置;

      为组件模型的匹配得分;

为组件的偏移损失得分;

为偏移损失系数;

为组件模型的锚点和组件模型的检测点之间的距离;

简单的说,这个公式表明,组件模型的响应越高,各个组件和其相应的锚点距离越小,则响应分数越高,越有可能是待检测的物体。

(3DPM特征定义

DPM首先采用的是HOG进行特征的提取,但是又有别于HOGDPM中,只保留了HOG中的Cell。如上图所示,假设,一个8*8Cell,将该细胞单元与其对角线邻域的4个细胞单元做归一化操作。

        提取有符号的HOG梯度,0-360度将产生18个梯度向量,提取无符号的HOG梯度,0-180度将产生9个梯度向量。因此,一个8*8的细胞单元将会产生,(18+9*4=108,维度有点高,Felzenszwalb给出了其优化思想。

        首先,只提取无符号的HOG梯度,将会产生4*9=36维特征,将其看成一个4*9的矩阵,分别将行和列分别相加,最终将生成4+9=13个特征向量,为了进一步提高精度,将提取的18维有符号的梯度特征也加进来,这样,一共产生13+18=31维梯度特征。实现了很好的目标检测。

4)检测流程

如上图所示,对于任意一张输入图像,提取其DPM特征图,然后将原始图像进行高斯金字塔上采样,然后提取其DPM特征图。对于原始图像的DPM特征图和训练好的Root filter做卷积操作,从而得到Root filter的响应图。对于2倍图像的DPM特征图,和训练好的Part filter做卷积操作,从而得到Part filter的响应图。然后对其精细高斯金字塔的下采样操作。这样Root filter的响应图和Part filter的响应图就具有相同的分辨率了。然后将其进行加权平均,得到最终的响应图。亮度越大表示响应值越大。

5Latent SVM

传统的HOG+SVMDPM+ Latent SVM的区别如上面公式所示。

         由于,训练的样本中,负样本集肯定是100%的准确的,而正样本集中就可能有噪声。因为,正样本的标注是人工进行的,人是会犯错的,标注的也肯定会有不精确的。因此,需要首先去除里面的噪声数据。而对于剩下的数据,里面由于各种角度,姿势的不一样,导致训练的模型的梯度图也比较发散,无规则。因此需要选择其中的具有相同的姿势的数据,即离正负样本的分界线最近的那些样本,将离分界线很近的样本称为Hard-examples,相反,那些距离较远的称为Easy-examples

 

作者官网:http://www.rossgirshick.info/latent/

内有四个版本的DPM代码(最下方),我是运行了其中两个版本的代码

实验效果:

Version3:   windows7+vs2013+matlab2015a

 

Version5:   ubuntu16.04+vscode+matlab2015b  

参考博客:http://blog.csdn.net/carson2005/article/details/22499565

                  http://blog.csdn.net/carson2005/article/details/22499685

                  https://blog.csdn.net/qq_30028077/article/details/50846606


http://chatgpt.dhexx.cn/article/ykXLhAVW.shtml

相关文章

Xuxiang Qi--Deep Learning based Semantic Labelling of 3D Point Cloud in Visual SLAM

元学习论文总结||小样本学习论文总结 2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017-2019 NIPS2017-2019 提出了一种建立三维密集语义地图的方法,采用GPU,ROS消息通信无法支持。 摘要 三维(3D)点云…

古老的DPM

基于可识别训练的部件模型的目标检测 Object Detection with Discriminatively Trained Part Based Models 摘要 基于多尺度可变形的部件模型我们来描述一个目标检测系统。我们的系统能够表示高度可变的对象类并在PASCAL目标检测挑战达到最先进的结果。虽然可变形部件模型变得…

OpenCV-Python (官方)中文教程(部分一)

官网链接(英文版):https://docs.opencv.org/4.1.1/d6/d00/tutorial_py_root.html 第一章. OpenCV简介 了解如何在计算机上设置OpenCV-Python! 1.OpenCV-Python教程简介 1.1 OpenCV OpenCV是由Gary Bradsky于1999年在Intel公司创建的,第一次发布是在…

【视觉SLAM十四讲】视觉里程计—特征点法

本文为视觉 SLAM 学习笔记,讲解视觉里程计中的特征点法。 本讲内容概要 图像特征的意义,在单幅及多幅图像中提取特征点。对极几何的原理,利用对极几何的约束恢复图像间相机的三维运动PnP 问题,利用已知三维结构与图像的对应关系…

【记录】一个深度学习算法工程师的成长之路( 思考和方法以及计划 )

原文链接:https://blog.csdn.net/TeFuirnever/article/details/100999282 声明: 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的…

面向动态环境基于面元的RGB-D SLAM系统

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 作者:robot L https://zhuanlan.zhihu.com/p/142175916 本文仅做学术分享,如有侵权,请联系删除。 主要内容 面向动态环境基于面元的RGB-D SLAM系统,主要内容如下…

StaticFusion

主要内容 面向动态环境基于面元的RGB-D SLAM系统,主要内容如下: 同时估计RGB-D相机位姿并分割当前帧图片中的静态像素。将当前帧像素的静态概率当做一个取值范围为 的连续变量,和位姿一起联合优化。构建静态场景的面元地图。为此&#xff…

Caffe各层参数详解

在之前的文章中,整理了 ubuntu18安装和caffe-cpu安装问题汇总(含详细流程),这篇文章则对caffe的各个层进行一个剖析。文章篇幅较长,可根据目录按层选择阅读。 简述 Net是由Layer层层组成的 Net是由Solver文件支配的…

CoppeliaSim用户手册中文翻译版(二)

CoppeliaSim 用户手册 文章目录 5. 计算模块5.1 计算模块属性对话框5.2 碰撞检测5.3 距离计算5.4 逆运动学5.4.1 IK组和IK元素的基础知识5.4.2 解决IK和FK的任何类型的机制 5.5 逆运动对话框5.5.1 IK元素对话框 5.6 动力学5.6.1 设计动态仿真5.6.2 一般动力学特性5.6.2.1 动态引…

【记录】一个深度学习算法工程师的成长之路(思考和方法以及计划)

声明: 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益&#xff0c…

五年无人驾驶工作总结及展望

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达本文转自|计算机视觉工坊现在是晚上22点46分,大小美女都睡觉了,我突然想写一篇这五年无人驾驶工作的总结。没有打草稿,想到啥说啥。如…

CoppeliaSim用户手册中文翻译版(一)

CoppeliaSim 用户手册 文章目录 主要功能历史版本许可证致谢和鸣谢概述1. 用户界面1.1 页面和视图1.2 自定义用户界面1.3 位置/方向操作1.3.1 位置对话框1.3.2 方向对话框1.3.3 使用鼠标移动物体 1.4 欧拉角1.5 用户设置1.6 快捷键1.7 命令行 2. 场景和模型2.1 场景2.2 模型2.2…

深度学习一(PyTorch物体检测实战)

深度学习一(PyTorch物体检测实战) 文章目录 深度学习一(PyTorch物体检测实战)1、浅谈物体检测与PyTorch1.1、深度学习与计算机视觉1.1.1 发展历史1.2.2 计算机视觉 1.2、物体检测技术1.2.1、发展历程1.2.2、技术应用领域1.2.3、评价指标 3、PyTorch简介1.3.1、诞生于特点1.3.2、…

目前学什么专业的人在搞SLAM?各有什么优势?

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 原提问: 目前学什么专业的人在搞SLAM?如需要哪些专业知识,或者找什么专业的人合作? 李雅不诺夫 一些比较牛掰的论文后面都…

opencv-python学习笔记(十):实现人脸特征转换

引言 本次实验来自实验楼,而实验楼代码的出处为如下GitHub链接,加上一些自己的理解与说明,总结成本文笔记。 https://github.com/matthewearl/faceswap 所需环境 Dlib是一个高级的机器学习库,它是为解决复杂的现实世界问题而创…

ROS会议 ROSCon 2017

----ROSCon2012-2017----来源链接:https://roscon.ros.org 具体讲座的日程安排: 2017:https://roscon.ros.org/2017/ 2016:https://roscon.ros.org/2016/ 2015:https://roscon.ros.org/2015/ 2014:http…

Frenet坐标系下横纵向轨迹决策规划(SL投影及ST投影)及Apollo决策算法解析

参考: (1)《攻城狮说 | 应对复杂路况,自动驾驶如何规划它的下一步? “老司机”炼成记!》微信公众号文章 Pony.ai小马智行 (2)《【Apollo】apollo3.5决策分享 --by 百度美研 Yifei J…

基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置

基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDACudnnROSanacondaubuntu装机必备 笔记本双系统安装U盘启动项安装ubuntu18.04.1关闭无线驱动冲突(联想)(option)更新软件源为国内软件源apt-get 锁问题rc.localaria2c BaiduExport ROS me…

几何向量:向量乘法(叉乘)

转载自: https://blog.csdn.net/yinhun2012/article/details/79444277 之前我们学习了物理意义上的做功,也就是数学中向量点积的实际意义,这一篇我们学习物理上另外一种力的作用,也就是力矩。 物理上定义力矩是力对物体产生转动作用的物理量…