DPM(Deformable Part Model)原理详解

article/2025/9/17 21:34:03

写在前面:

DPMDeformable Part Model),正如其名称所述,可变形的组件模型,是一种基于组件的检测算法,其所见即其意。该模型由大神Felzenszwalb在2008年提出,并发表了一系列的cvpr,NIPS。并且还拿下了2010年,PASCAL VOC的“终身成就奖”。

 

由于DPM用到了HOG的东西,可以参考本人http://blog.csdn.net/qq_14845119/article/details/52187774

 

算法思想:

1Root filter+ Part filter

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


(左)Rootfilter(中) Part filter (右)高斯滤波后模型

2)响应值(score)的计算:

响应值得分公式如下:

其中,

x 0, y 0, l 0分别为锚点的横坐标,纵坐标,尺度。

R 0,l 0 (x 0, y 0)为根模型的响应分数

Di,l 0−λ(2(x 0, y 0) + vi)为部件模型的响应分数

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

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

vi为锚点和理想检测点之间的偏移系数,如下图中红框和黄框

 

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


其中,

x, y为训练的理想模型的位置

Ri,l(x + dx, y + dy)为组件模型的匹配得分

di · φd(dx, dy))为组件的偏移损失得分

di ·为偏移损失系数

φd(dx, dy))为组件模型的锚点和组件模型的检测点之间的距离

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

 

3DPM特征定义:

DPM首先采用的是HOG进行特征的提取,但是又有别于HOG,DPM中,只保留了HOG中的Cell。如上图所示,假设,一个8*8的Cell,将该细胞单元与其对角线临域的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特征图。对于原始图像的DPM特征图和训练好的Root filter做卷积操作,从而得到Root filter的响应图。对于2倍图像的DPM特征图,和训练好的Part filter做卷积操作,从而得到Part filter的响应图。然后对其精细高斯金字塔的下采样操作。这样Root filter的响应图和Part filter的响应图就具有相同的分辨率了。然后将其进行加权平均,得到最终的响应图。亮度越大表示响应值越大。

5Latent SVM:

传统的Hog+SVM和DPM+LatentSVM的区别如上面公式所示。

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

         实际效果图如下图所示:

实验效果:

如下图所示,左面为检测自行车的检测效果,右面为Root filter,Part filter,2维高斯滤波下的偏离损失图

References:

[1]: https://people.eecs.berkeley.edu/~rbg/latent/index.html

[2]: P. Felzenszwalb, D. McAllester, D.Ramanan A Discriminatively Trained, Multiscale, Deformable Part Model IEEEConference on Computer Vision and Pattern Recognition (CVPR), 2008

[3]: P. Felzenszwalb, R. Girshick, D.McAllester, D. Ramanan Object Detection with Discriminatively TrainedPart Based Models IEEE Transactions on Pattern Analysis and MachineIntelligence, Vol. 32, No. 9, Sep. 2010 

[4]: P. Felzenszwalb, R. Girshick, D.McAllester Cascade Object Detection with Deformable Part Models IEEEConference on Computer Vision and Pattern Recognition (CVPR), 2010

[5]: P. Felzenszwalb, D. McAllester ObjectDetection Grammars University of Chicago, Computer Science TR-2010-02, February2010

[6]: R. Girshick, P. Felzenszwalb, D.McAllester Object Detection with Grammar Models Neural InformationProcessing Systems (NIPS), 2011

[7]: R. Girshick From RigidTemplates to Grammars: Object Detection with Structured Models
Ph.D. dissertation, The University of Chicago, Apr. 2012




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

相关文章

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(必…

c语言/abs()函数和fabs ()函数

c语言中存在两个函数表示一个数的绝对值abs()和fabs(); 要想引用这两个函数则需要引用头文件 #include<math.h> abs函数是对整数进行取绝对值 fabs函数是对浮点型进行取绝对值 cplusplus对abs和fabs()函数的理解如下&#xff1a; #include <math.h> int aabs(-1);…

某策略游戏(SLG)数据分析:新增、付费和活动效果评估

之前DC发起过一个关于游戏玩家付费预测的算法大赛&#xff0c;比赛所提供的玩家七日内游戏行为数据不仅可以用于算法比赛&#xff0c;也可以让我们利用数据进行一些分析&#xff0c;从而了解游戏的运营状况和数值状况。 本数据共包含有109个字段&#xff0c;一眼看上去有点蒙&a…

python数据分析可视化项目——游戏销售量

python数据分析可视化项目——video游戏销售量 数据来源可视化数据准备游戏出版年份和销量统计——折线图游戏类型、出版商、游玩平台销量统计——柱形图游戏类型比例——饼图 数据来源 本项目数据来源于kaggle数据集&#xff0c;地址https://www.kaggle.com/datasets/gregoru…

【每周一本书】之《游戏数据分析实战》:盛大游戏数据分析专家亲历16年的实战经验分享

【数据猿导读】《游戏数据分析实战》贯穿整个游戏生命周期&#xff0c;提供了丰富的数据分析案例&#xff0c;从预热到封测&#xff0c;再到公测&#xff0c; 均为作者在实际工作中经历的真实案例。案例分析包含数据来源、分析方法、分析过程、分析结论及小结。通过学习本书不但…

大数据开发:基于Hadoop的数据分析平台

互联网的发展&#xff0c;带来了各种数据的爆发式增长&#xff0c;所以接入互联网的相关操作行为&#xff0c;都化为虚拟的数据被记录了下来。大数据时代的带来&#xff0c;一个明显的变化就是全样本数据分析&#xff0c;面对TB/PB级及以上的数据规模&#xff0c;Hadoop始终占据…

移动游戏数据分析(入门篇)

作者&#xff1a;GRG专栏作家 刘异 网龙公司 产品分析经理&#xff0c;专注移动互联网数据分析 前言&#xff1a; 最近一段时间在做部门网游业务的分析沉淀和框架培训&#xff0c;刚好应网大的需求在公司内开设游戏产品数据分析师认证的课程&#xff0c;因此开始尝试把这几年…

从零开始的游戏运营数据分析生活?如何构建数据分析的逻辑框架?

5月30日,数数课堂特邀盛趣游戏数据分析专家黎湘艳老师坐镇第五期直播。 黎湘艳老师向学员们分享了历经超50多款产品沉淀下来的数据分析思维,让大家对数据分析的岗位理解从一个日常节点,展开成为可以预测产品、行业走向的方向标。 /以下为直播当天文字实录/ 我在《游戏数据…

数据分析岗之游戏业务类面试整理学习

⌚️200506 面试某游戏公司数据分析岗的准备 碎碎念 ⚠️部分文字是整理了其他前辈的文章&#xff08;具体见最后&#xff09;&#xff0c;仅用来学习&#xff0c;这样复习更有体系&#xff0c;也希望能帮助到其他同学&#xff0c;遵纪守法好青年&#xff5e; 如果哪篇漏了也…

宝可梦数据分析

pokemon_analysis 一、分析背景二、分析步骤三、其他分析特别说明 一、分析背景 宝可梦数据分析-平民最强宝可梦选择方案 二、分析步骤 下载数据集数据预处理数据分析及数据可视化结论 阿里云 导入库 #导入库 import pandas as pd import seaborn as sns import matplotli…

4000字干货 | 如何搭建游戏数据分析平台?

本文作者为数数科技某游戏客户的运营总监,在使用数数科技的产品之前,他们在内部尝试自建数据分析平台,“从入门到放弃”。上线数数科技的大数据分析平台后,该公司一款全球下载量5000W+的休闲游戏每天所有的数据都在平台上流转。 1 为什么需要数据分析 移动游戏已经进入…