DPM(Deformable Parts Model)

article/2025/9/17 20:23:18

目标检测方法

(1)基于cascade的目标检测

cascade的级联思想可以快速抛弃没有目标的平滑窗(sliding window),因而大大提高了检测效率,但也不是没缺点,缺点就是它仅仅使用了很弱的特征,用它做分类的检测器也是弱分类器,仅仅比随机猜的要好一些,它的精度靠的是多个弱分类器来实行一票否决式推举(就是大家都检测是对的)来提高命中率,确定分类器的个数也是经验问题。这节就来说说改进的特征,尽量使得改进的特征可以检测任何物体,当然Deep Learning学习特征很有效,但今天还是按论文发表顺序来说下其他方法,(服务器还没配置好,现在还不能大批跑Deep Learning ),。

(2)基于形变部件的目标检测

形变部件模型检测方法是现在除了深度学习之外的还相对不错的目标检测方法,先来看下为什么要使用形变部件,在下图1中,同一个人的不同姿态,试问用前面几节中的什么方法可以检测到这些不同姿态的人?阈值不行,广义霍夫变换行吗?人的姿态是变换无穷的,需要太多的模板。霍夫森林投票?貌似可以,但是霍夫森立的特征是图像块,只适用于一些形变不大的物体,当图像块内的形变很大时同样不太适用。那么ASM可以吗?想想也是和广义霍夫变换一样,需要太多的均值模板。归根结底就是我们没有很好的形状描述方法,没有好的特征。而Pedro几乎每发表一篇论文就改进一下形状描述的方法,最终由简单的表示方法到语法形式的表示方法,其演化过程可以在参考文献[4]中看出,参考文献[4]是Pedro的博士论文。

图1

1 思路

DPM是一个非常成功的目标检测算法,连续获得VOC(Visual Object Class)07,08,09年的检测冠军。目前已成为众多分类器、分割、人体姿态和行为分类的重要部分。DPM可以看做是HOG(Histogrrams of Oriented Gradients)的扩展,大体思路与HOG一致。先计算梯度方向直方图,然后用SVM(Surpport Vector Machine )训练得到物体的梯度模型(Model)。有了这样的模板就可以直接用来分类了,简单理解就是模型和目标匹配。DPM只是在模型上做了很多改进工作。

上图是HOG论文中训练出来的人形模型。它是单模型,对直立的正面和背面人检测效果很好,较以前取得了重大的突破。也是目前为止最好的的特征(最近被CVPR20 13年的一篇论文 《Histograms of Sparse Codes for Object Detection》 超过了)。但是, 如果是侧面呢?所以自然我们会想到用多模型来做。DPM就使用了2个模型,主页上最新版本Versio5的程序使用了12个模型。


                       

上图就是自行车的模型,左图为侧面看,右图为从正前方看。训练的时候只是给了一堆自行车的照片,没有标注是属于component 1,还是component 2.直接按照边界的长宽比,分为2半训练。这样肯定会有很多很多分错了的情况,训练出来的自然就失真了。不过没关系,论文里面只是把这两个Model当做初始值。重点就是作者用了多模型。

 

上图右边的两个模型各使用了6个子模型,白色矩形框出来的区域就是一个子模型。基本上见过自行车的人都知道这是自行车。之所以会比左边好辨识,是因为分错component类别的问题基本上解决了,还有就是图像分辨率是左边的两倍,这个就不细说,看论文。

有了多模型就能解决视角的问题了,还有个严重的问题,动物是动的,就算是没有生命的车也有很多款式,单单用一个Model,如果动物动一下,比如美女搔首弄姿,那模型和这个美女的匹配程度就低了很多。也就是说,我们的模型太死板了,不能适应物体的运动,特别是非刚性物体的运动。自然我们又能想到添加子模型,比如给手一个子模型,当手移动时,子模型能够检测到手的位置。把子模型和主模型的匹配程度综合起来,最简单的就是相加,那模型匹配程度不就提高了吗?还有个小细节,子模型肯定不能离主模型太远了,试想下假如手到身体的位置有两倍身高那么远,那这还是人吗?也许这是个检测是不是鬼的好主意。所以我们加入子模型与主模型的位置偏移作为Cost,也就是说综合得分要减去偏移Cost.本质上就是使用子模型和主模型的空间先验知识。

 

来一张合影。最右边就是我们的偏移Cost,圆圈中心自然就是子模型的理性位置,如果检测出来的子模型的位置恰好在此,那Cost就为0,在周边那就要减掉一定的值,偏离的越远减掉的值越大。


参考文献[1]、[2]、[3]分别讲述了如何利用形变模型描述物体(特征阶段)、如何利用形变部件来做检测(特征处理+分类阶段)、如何加速检测。文献[1]的形变部件。在Deformable Part Model中,通过描述每一部分和部分间的位置关系来表示物体(part+deformable configuration)。其实早在1973年,Part Model就已经在 “Therepresentation and matching of pictorial structures” 这篇文章中被提出了。

图2

         Part Model中,我们通过描述a collection of parts以及connection between parts来表示物体。图2表示经典的弹簧模型,物体的每一部分通


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

相关文章

DPM 2012 配置

1、添加虚拟磁盘,并配置磁盘: 2、在DPM 2012中添加磁盘: 选择管理--磁盘--添加 添加完成后界面: 3、设置许可证: 4、安装保护代理: 添加代理成功后界面: 插曲: 因为之前机器上有安…

DPM(Deformable Parts Models)-----目标检测算法理解

DPM(Deformable Parts Models)翻译成中文是可变型部件模型,是一种用于目标探测的方法。 首先说一下什么是目标探测。 目标探测概念:我的理解,目标探测就是输入一幅图像,输出该图像中包含的物件以及该物件的…

DPPM(动态电源路径管理)与VINDPM(输入电压动态电源管理)

转载自:http://www.elecfans.com/d/737271.html 动态电源路径管理(DPPM) DPPM是电源路径设备的另一个功能。它可以监测设备的输入电压和电流,并在适配器不能支持系统负载时自动对系统进行优先级排序。输入源电流会在系统负载和电…

Discriminatively Trained Partbased Models (DPM) 理解

以下转自 http://blog.csdn.net/ttransposition/article/details/12966521 Reference: Object detection with discriminatively trained partbased models. IEEE Trans. PAMI, 32(9):1627–1645, 2010. "Support Vector Machines for Multiple-Instance Learning,"…

【机器学习】传统目标检测算法之DPM

前面介绍了一下HOG,HOG有一个缺点:很难处理遮挡问题,人体姿势动作幅度过大或物体方向改变也不易检测。 继2005年HOG提出之后,DPM模型在借鉴了HOG之后也被提了出来同时还取得了不错的成绩。 DPM概述 DPM(Deformable …

【FLUENT案例】02:DPM模型

1 引子 1.1 案例描述 1.2 学习目标 1.3 模拟内容 2 启动FLUENT并导入网格 3 材料设置 4 Cell Zones Conditions 5 Calculate 6 定义Injecions 7 定义DPM材料 8 颗粒追踪 9 设置粒子分布直径 10 粒子追踪 11 统计出口面上粒径分布 12 修改壁面边界以捕捉颗粒 13 颗粒追踪 14 考虑…

DPM目标检测算法

DPM算法由Felzenszwalb于2008年提出,是一种基于部件的检测方法,对目标的形变具有很强的鲁棒性。目前DPM已成为众多分类、分割、姿态估计等算法的核心部分,Felzenszwalb本人也因此被VOC授予"终身成就奖"。 DPM算法采用了改进后的HOG…

Deformable Parts Model (DPM) 简介

Deformable Parts Model (DPM) 是一种很成功的物体检测方法。可以说这种方法是从HOG继承而来的。传统的HOG特征只采用一个模板表示某种物体,而DPM把物体的模板划分成根模型和部分模型,其中的根模型等效于传统的HOG特征,部分模型则是物体某些部…

DPM(Deformable Part Model)原理详解

写在前面: DPM(Deformable Part Model),正如其名称所述,可变形的组件模型,是一种基于组件的检测算法,其所见即其意。该模型由大神Felzenszwalb在2008年提出,并发表了一系列的cvpr&a…

DPM模型

今天带来的主题——1000000类的快速精确检测。比Base Line快了将近2000倍。但是任何一个好的东西都会有美中不足之处,之后我们在讨论其缺陷。 今天说的这个模型主要优势在于速度快,具体就是对于多类检测问题,检测速度可以做到和类别数目无关…

DPM原理

转自:DPM(Deformable Parts Model)--原理(一) DPM(Deformable Parts Model) Reference: Object detection with discriminatively trained partbased models. IEEE Trans. PAMI, 32(9):1627–1645, 2010. "Support Vector Machines for Multiple-Instance …

十六、DPM模型-颗粒流动

颗粒流动问题是很多同学目前正在研究的问题,这类问题一般来说都比较复杂,Fluent提供了多种模型对这类问题进行模拟,包括DPM、DDPM、DEM、PBM等,上述的每种模型都有其适用的工况,并不通用,这次我们介绍一下D…

十八、DPM模型案例(二)

关于DPM模型的设置,文章十六给出了一个简单的案例,文章十七介绍了DPM离散相界面的设置,本文通过一个案例来介绍DPM模型中Injection界面的设置,主要是颗粒粒径分布的设置。 1 概念介绍 DPM适用条件:DPM模型只适用于颗…

CV精选知识点:DPM(Deformable Parts Model)算法流程详解

解析1: 将原图与已经准备好的每个类别的“模板”做卷积操作,生成一中类似热力图(hot map)的图像,将不同尺度上的图合成一张,图中较量点就是与最相关“模板”相似的点。 拓展: SGD(stochastic…

目标检测(四)传统目标检测与识别的特征提取——基于部件的可变形模型(DPM)的目标检测原理

目录 简介 基于部件的可变形模型(DPM) DPM检测算法原理 DPM特征提取 检测步骤 简介 DPM(Deformable Part Model),正如其名称所述,可变形的组件模型,是一种基于组件的检测算法,这…

分布式电源管理 (DPM)一图搞懂

分布式电源管理 (DPM) 概述 DPM 是 DRS 的"扩展",有助于节省电力。建议在 CPU资源利用率降低或增加时关闭电源或在 HC 主机上供电。DPM 还涉及了 HA 设置或用户指定的限制。这意味着,例如,如果我们的 HA 容忍…

十七、DPM模型参数设置详解

上篇文章只是给出了DPM模型的一个案例,本篇文章就来详细介绍一下DPM模型参数设置的意义。 当打开Discrete Phase模型时,会弹出下图的窗口,我们来逐项分析选项的设置意义。 1.Interaction 表示双向耦合…

Matlab中abs函数的使用

目录 语法 说明 示例 标量的绝对值 向量的绝对值 复数的模 绝对值 复数的模 abs函数的功能是绝对值和复数的模 语法 Y abs(X) 说明 Y abs(X) 返回数组 X 中每个元素的绝对值。如果 X 是复数,则 abs(X) 返回复数的模。 示例 标量的绝对值 y abs(-5) …

ABS函数怎么用?

Excel的ABS函数主要作用是计算数字的绝对值 本文介绍Microsoft Excel中ABS函数的公式语法和使用实例。 ABS函数的功能 ABS函数用于返回数字的绝对值,正数和0返回数字本身,负数返回数字的相反数。 ABS函数语法 ABS(number) ABS函数参数说明 number(必…