论文地址:https://arxiv.org/abs/1904.02948v1

代码地址:https://github.com/liuwei16/CSP

1、概述

传统的目标检测大多基于滑动窗体或者先验框方式,而无论哪个方法都需要繁杂的配置。本文中所介绍的检测器(CSP--Center and Scale Prediction),以行人检测为例,提出了一个高级语义特征检测的新视角。CSP放弃传统的窗体检测方式,通过卷积操作直接预测行人的中心位置和维度大小。结果显示CSP在准确率和速度上都有显著提高。

图1 CSP过程图

2、结构设计

图2 CSP整体结构

CSP整体结构如图一所示,其中主干网络部分缩减自一个标准的网络结构(如:ResNet-50 和 MobileNet),并且在ImageNet上预训练过。主要分成两部分:Feature Extraction和Detection Head。

2.1 Feature Extraction

以ResNet-50为例,以每次下采样为界将其卷积层分为五个阶段,每个阶段的大小是原图以缩减因子分别为2,4,8,16,32得到的缩略特征图。并且在第五步采用孔洞卷积,最终得到的特征图大小与第四阶段一致,是原图的1/16。因为浅层含有更加准确的位置信息,深层拥有更多的语义信息,所以作者将不同阶段的特征图串联成一个。又因为图片特征图大小不一,所以采用反卷积方式将图片转换成相同大小后再做串联操作。因为不同的特征图含有的数据维度也是不相同的,所以我们还要先使用L2标准化将其标准差变更为10。

2.2 Detection Head

在这个部分中,作者首先对Feature Extraction部分得到的特征图做卷积操作,将其通道数缩减至256,然后添加两个并行的卷积层,卷积核大小是1x1,分别生成中心点热力图和维度大小预测图。

下采样特征图的缺点就是位置信息不准确,为了减少误差,可选择稍微调整中心位置,在上述两个并行的分支加上额外的偏移量预测分支。

3、训练

3.1 Ground Truth

最终得到的预测图与Feature Extraction部分得到的特征图大小一致(H/r X W/r),所以我们训练数据也要做相应的压缩。实际的训练数据如图3(a)所示,给出了标记行人的bounding boxes,但是CSP并没有采用滑动窗体或者先验框的方式来预测物体,所以这种标记方式不适用与CSP,所以作者对原数据做了一些调整。

对于位置信息,作者将bounding boxes中心像素点标记为positive,其他点则标记为negative。对于维度大小信息,因为bounding boxes采用了固定的纵横比0.41,所以此处用高度信息代表bounding boxes的维度大小,这样在预测中也只需要预测高度信息。其中第k个标记为positive的点,还会分配到一个log(hk)值,代表第k个bounding box的高度。同时,为了降低不确定性,将该点半径两个像素值以内的negative点都指派为log(hk)值。如图3(b)所示。

图3 训练数据

如果加上了偏移量预测分支,这些中心点的偏移量可以定义成:

3.2 Loss Function

损失函数包含两个部分,第一部分是预测中心点位置的损失,第二部分是预测维度大小的损失。

在预测中心点位置时,作者将其视为一个分类问题。由于很难预测到一个准确的像素点,这样在训练中,positive点附近的点就会带来较多的误差,不利于网络的训练。为了减少这种不确定性带,作者采用了在positive点上添加二维高斯掩膜。如图3(c)所示,具体计算方式如下:

其中,K代表图片中目标数量, (xk,yk,wk,hk)代表k物体的中心点坐标、宽度和高度。方差( , )与物体的宽和高对应成比例。如果掩膜有重叠,则选值高的那个。

因此,中心点预测损失函数是:

其中:

在上述公式里,pij∈[0,1]是预测当前像素点是中心点的可能性,yij∈{0,1}是ground truth标签,yij=1代表该像素点被标记为positive,yij=0表示该点为negative。通过参数αij减少positive附近的negative点对总体损失函数的影响,经过多次实验将γ设置为2,将β设置为4。(这里我认为是在中心点预测时,很难准确找到该点,所以网络把positive点附近的各个negative预测为positive的可能性很大,这样所有点加起来就会贡献较大的误差,网络的拟合效果不佳。而使用高斯掩膜之后会减少附近negative点所带来的误差影响,有利于网络训练。)

对于维度大小的预测,作者将其视为回归任务,具体损失计算如下:

其中,sk和tk分别代表每个positive点的预测值和真实值。(上文有提到将positive附近半径在2以内的negative都赋值log(hk),我认为理由同上,减少中心点不确定所带来的影响)

如果添加了偏移量预测分支,其损失计算也是使用SmoothL1损失函数,标记为Loffset。

最终的损失函数为:

其中λc设置为0.01,λs设置成1,λo设置成0.1。

3.3 Inference

在测试时,CSP只运行一次前向的FCN,得到多个预测值,具体而言,保持中心点预测热力图中置信度大于0.01的点,以及在维度预测图中的相应维度,然后自动生成边界框并且映射到原始图像大小。接着使用NMS(非极大值抑制)算法,阈值设置为0.5。

4、实验

这部分内容作者进行了一系列对比实验,主要对比预测点的选择(中心点、上顶点、下顶点):

图4 预测点选择

框体维度值预测(高度、宽度、高加宽):

图5 维度值选择

特征值分辨率(r=2,4,8,16):

标图6 分辨率选择题

特征图的组合(Φ2、Φ3、Φ4、Φ5的搭配组合):

图7 特征图组合

最后,作者给出了在Caltech数据集上的实验结果对比图:

图8 Caltech结果对比图

在CityPersons数据集上的结果对比图(红色和绿色分别表示结果最优和其次的值):

图9 CityPersons结果对比图

OK,这只是我个人学习心得。作为刚入坑的博客小白,诚惶诚恐,还请各位大佬不吝赐教。

【学习笔记】High-level Semantic Feature Detection: A New Perspective for Pedestrian Detection/CSP相关推荐

  1. 论文笔记-SSF-DAN: Separated Semantic Feature based Domain Adaptation Network for Semantic Segmentation

    论文信息 论文标题:SSF-DAN: Separated Semantic Feature based Domain Adaptation Network for Semantic Segmentat ...

  2. Zero-Shot Learning学习笔记 -- CVPR_2022_MSDN: Mutually Semantic Distillation Network for Zero-Shot Learn

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 动机与主要知识点介绍 网络结构 Attribute→Visual Attention Sub-net Visual→Attr ...

  3. YOLOv1 学习笔记

    YOLOv1 学习笔记 论文标题: <You Only Look Once: Unified, Real-Time Object Detection> 论文地址:https://arxiv ...

  4. FSAF:Feature Selective Anchor-Free Module for Single-Shot Object Detection笔记

    论文地址: https://arxiv.org/abs/1903.00621. 作者在B站解读视频:https://www.bilibili.com/video/av49972561/. 注:本文在查 ...

  5. 论文笔记 Feature Selective Anchor-Free Module for Single-Shot Object Detection - CVPR 2019

    2019 FSAF Feature Selective Anchor-Free Module for Single-Shot Object Detection Chenchen Zhu, Yihui ...

  6. cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Community Detection in Networks 2. Network Com ...

  7. 【Machine Learning 学习笔记】feature engineering中noisy feature的影响

    [Machine Learning 学习笔记]feature engineering中noisy feature的影响 通过本篇博客记录一下添加噪声对Lasso和SVM的影响,采用的数据集为sklea ...

  8. 机器学习 基础理论 学习笔记 (8)特征选择(feature selection)(一)

    0.说明 本文也许比较乱,请看目录再食用. 后续会 出文 机器学习 基础理论 学习笔记 (8)特征选择(feature selection)(二) 将 分类问题 和 回归问题 分开总结. 以及或将出文 ...

  9. 【面向对象】 JML(Level 0) 学习笔记

    JML Level 0 学习笔记 注释结构 JML表达式 原子表达式 量化表达式 集合表达式 操作符 方法规格 类型规格 约束限制 方法与类型规格的关系 一个完整例子   JML是用于对Java程 在 ...

最新文章

  1. 区块链教程Fabric1.0源代码分析scc(系统链码)
  2. 成人教育还是K12,对网易有道来说都很难
  3. 计算机学院开展活动,团学会 | 以梦为马,不负韶华 计算机学院开展“逐梦100”活动(一)...
  4. CSS的clear去除清除浮动元素
  5. 爬虫、框架scrapy
  6. ssl协议及开源实现openssl
  7. 从DataTable导出Excel,并下载,删除Excel进程。
  8. 计网期末复习 - 发送时延和传播时延计算
  9. java图书商城项目介绍_JavaWeb网上图书商城完整项目--11.项目所需jquery函数介绍...
  10. 联想小新触摸板驱动_联想lenovo笔记本触摸板驱动-联想触摸驱动 win7版下载16.2.5.0 官方版-西西软件下载...
  11. 真正菜鸟用教程之WQSG Scrip Export WQSG (脚本导出导入工具,PSP、NDS汉化必备 )
  12. matlab构造跟驰模型,基于跟驰模型的交通流混沌研究
  13. 一世人中,最黑仔嘅一日
  14. 笨笨图片批量抓取下载 V0.2 beta[C# | WinForm | 正则表达式 | HttpWebRequest | Async异步编程]...
  15. 各个框架原理总结归纳
  16. 微型计算机原理指令系统,微机原理与接口技术 指令系统.ppt
  17. Android WebView 加载失败(net::ERR_CLEARTEXT_NOT_PERMITTED)
  18. typecho个人轻量级博客搭建
  19. 淘宝客高级接口 阿里妈妈高级接口调用示例 淘宝客高佣转链接口 淘宝客订单接口...
  20. C#反序列化json字符串时,提示:应为来自命名空间“”的元素“root”。。遇到名称为“”、命名空间为“”的“None”。...

热门文章

  1. uva 1451 - Average 数形结合
  2. Fiddler 里面的 Headers, TextView
  3. 前端页面c标签之foreach循环
  4. 人工智能时代,学习机器人需要学习哪些知识
  5. android和和jni的关系,Android.mk与jni目录的关系
  6. 批量图片去底色,用压缩图工具怎么操作
  7. OpenCV学习 查表函数LUT C++
  8. 15位和18位身份证号码的结构介绍
  9. CFF CSP认证考试题 第29次 LDAP
  10. emmm第一篇博客哦…