目标检测“DPMs are CNNs”
来源:互联网 发布:淘宝网皮书包 编辑:程序博客网 时间:2024/06/05 15:23
DPMs是图形模型(Markov 随机域),CNNs是”黑盒子”非线性分类器。论文将DPM重构为CNN,将DPM算法展开,每步映射到一个相当的CNN层,将DPM使用的特征用学到的特征替换,得到DeepPyramid DPM。
基于区域的检测R-CNN和基于滑动窗的方法DPM是互补的,一些物体比较容易分割,比如cats,另一些比如bottle,people难分割。
DeepPyramid DPMs
输入图像金字塔,输出目标检测得分金字塔,可描述为两个小的网络,一个特征金字塔“front-end”CNN和一个DPM-CNN,模型的原理图如下所示:
特征直方图front-end CNN
物体以不同的尺度出现在图像中,常用的技术是使用图像金字塔在多个尺度运行检测器,论文使用单尺度的CNN结构
DPM-CNN
DPM将物体以多”Components”模型化,每个”Components”负责不同的外形表示(如车辆侧视图,倒立的行人等),每个组件使用一个低分辨率的全局模型和几个高分辨率的“part filters”。
测试时,DPM以滑动窗方式在HOG特征金字塔上运行,每个金字塔通过优化得分函数(平衡deformation part costs 和 image match scores)分配一个DPM得分,得分函数的全局最大值通过临近位置的共享计算和动态规划算法得到。对于一个给定的DPM,将每步展开,得到一个具有固定深度的CNN网络,网络的结构如图2所示。
1.DPM-CNN输入是特征金字塔层(con5特征图)
2.将特征图与一个root filter和P个part filter卷积,得到P+1个特征图
3.part filter的P个特征图输入距离变换池化层
4.将P+1个特征图堆栈
5.将P+1个特征图与object geometry filter卷积,生成DPM得分图
距离变换池化
最大池化:
距离变换池化:
对于DPM,d(r)是凸二次函数
Object Geometry Filters
component c在位置s处的得分是root filter的得分和经过距离变化的part的得分之和,每个part相对于锚点的位移为
maxout 所有components的结果
使用
实验设置
两个方法训练Deep Pyramid DPM,第一个方法是将模型认为是一个CNN,使用SGD和BP进行端到端的训练。第二个方法是分两步训练模型,(1)固定front-end CNN;(2)使用latent SVM在第一阶段后训练DPM,本文选用第二种方法。
实验结果
HOG描述尺度不变图像特征,conv5特征描述大图像块,如下图所示:
在VOC2010上的实验结果如下:
- 目标检测“DPMs are CNNs”
- DPM are CNNs学习
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- 目标检测
- Android抽奖(大转盘,随机)
- Android蓝牙设备的检测
- android scroller overscroller用法
- 更改归档日志路径
- glibc-2.15 : fopen 源码
- 目标检测“DPMs are CNNs”
- PASSION之Linux命令详解
- 小巧而又强大的翻译神器--QTranslate
- Java嵌套类
- 基于HashHeap的LFU实现
- js typeof
- swift 初级 断言
- Ubuntu 安装mysql和简单操作
- 【L“”】无法将参数从“const char”转换为“LPCWSTR”