【论文解读】Count- and Similarity-aware R-CNN for Pedestrian Detection(基于计数和相似度感知的R-CNN用于行人检测)

本文主要是介绍【论文解读】Count- and Similarity-aware R-CNN for Pedestrian Detection(基于计数和相似度感知的R-CNN用于行人检测),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文题目:Count- and Similarity-aware R-CNN for Pedestrian Detection
论文出处:European Conference on Computer Vision(ECCV)2020
论文链接:文章下载
代码链接:代码

一、创新点

  • 提出了计数和相似性分支网络——count-and-similarity branch(CSB)
  • 提出了计数加权检测损失——count-weighted detection loss(CW-loss)
  • 提出了新的NMS算法——count and similarity-aware NMS(CAS-NMS)

二、基准网络

采用Faster R-CNN作为基础框架,其工作原理为:

  • 第一阶段:使用区域建议网络(region proposal network,RPN)来产生建议框和置信度得分;
  • 第二阶段:也称为Fast R-CNN,从每个建议框中提取感兴趣区域(region of interest,RoI)特征,然后是一个检测分支,生成类别置信度得分和每个建议框的回归坐标。

在RPN和Fast R-CNN模块中,目标检测问题可以表述为分类损失和回归损失的联合最小化: L d e t = L r p n + L f r c L_{det} = L_{rpn} + L_{frc} Ldet=Lrpn+Lfrc
L c = 1 N c l s ∑ i L c l s ( p i , p i ∗ ) L_{c} = \frac 1{N_{cls}}\sum_iL_{cls}(p_i,p_i^*) Lc=Ncls1iLcls(pi,pi)
L r = λ 1 N r e g ∑ i L r e g ( l i , l i ∗ ) L_{r} = \lambda \frac 1{N_{reg}}\sum_iL_{reg}(l_i,l_i^*) Lr=λNreg1iLreg(li,li)
p i p_i pi表示建议框i为行人的预测概率, p i ∗ p_i^* pi是对应的真实标签; l i l_i li是建议框i的预测位置, l i ∗ l_i^* li是对应的真实位置。 λ \lambda λ是平衡参数。

三、新框架

3.1 动机

以前的遮挡检测算法都是利用行人的全身标注或者额外的可见区域表标注进行训练。
本文提出的框架不依赖于额外的可见区域监督,而是利用RoI内的行人计数信息,这些信息可以通过全身标注获得

3.2 框架分析

在这里插入图片描述

整个网络框架包括一个检测分支,一个计数分支和一个相似度分支。

  • 检测分支
    检测分支用来预测行人的概率 p i p_i pi及其位置 l i l_i li

  • 计数分支
    计数分支在Faster R-CNN的RPN和Fast R-CNN模块中对损失进行加权,用来生成计数加权检测损失

  • 相似度分支
    相似度分支用来计算重叠行人之间的相似性

    检测分支

    • 计数加权检测损失
      为了解决拥挤遮挡情况下,行人之间会高度重叠影响检测效果。在分类损失和回归损失中,引入了与建议框对应的真实标签成比例的权重 w i w_i wi,旨在对高度重叠的行人上发生的检测错误赋予更高的权重。计数加权损失函数 L d e t ′ L_{det}^{'} Ldet为:
      L c ′ = 1 N c l s ∑ i w i L c l s ( p i , p i ∗ ) L_c^{'} = \frac 1{N_{cls}}\sum_iw_iL_{cls}(p_i,p_i^*) Lc=Ncls1iwiLcls(pi,pi)
      L r ′ = λ 1 N r e g ∑ i w i L r e g ( l i , l i ∗ ) L_r^{'} = \lambda \frac 1{N_{reg}}\sum_iw_iL_{reg}(l_i,l_i^*) Lr=λNreg1iwiLreg(li,li)
      w i w_i wi是一个损失权重,其将更高的权重分配给大量真实边界框重叠的建议框。每个建议框
      b i b_i bi的权重可以从真实标签的数量 c I ∗ c_I^* cI中获得:
      w i = 1 + α ⋅ m a x ( c i ∗ − 1 , 0 ) w_i = 1 + \alpha · max(c_i^*-1,0) wi=1+αmax(ci1,0)
    • 建议框的计数
      一个建议框 b i b_i bi的真实标签数量 c i ∗ c_i^* ci取决于全身边界框的重叠数量。
      首先,计算 b i b_i bi与其重叠的所有真实边界框之间的交并比(IoU);
      然后, c i ∗ c_i^* ci被定义为: I o U ≥ t h ( 设 定 的 阈 值 ) IoU≥th(设定的阈值) IoUth()的真实边界框的数量。

    计数和相似度分支

    • 计数和相似度的结合使用
      • 在存在人群遮挡的情况下,会生成很多高度重叠的建议框并有较高的检测分数,当使用固定的阈值来进行NMS时,会导致错误抑制。在这种情况下,可以使用RoI的计数预测来获得重叠行人的数量并以此来调整阈值,从而降低错误抑制的出现。
      • 但是,在遮挡情况下,计数对于识别不同的建议框可能不是最优的,因为拥有较高置信度的几个建议框可能属于同一个行人实例。因此,理想的结果是能够识别出不同行人的不建议。
      • 利用相似性嵌入将RoI特征映射到低维表示中,获取重叠行人之间的不同表示
    • 建议框计数
      建议框 b i b_i bi的行人计数网络由三层全连接层组成,其中最后一层输出计数 c i c_i ci,其损失函数定义为:
      L c p = 1 N c p ∑ i = 1 N c p ∥ c i − c i ∗ ∥ 2 2 L_{cp} = \frac 1{N_{cp}}\sum_{i=1}^{N_{cp}}\lVert c_i-c_i^*\rVert_2^2 Lcp=Ncp1i=1Ncpcici22
      N c p N_{cp} Ncp表示建议框, c i c_i ci c i ∗ c_i^* ci分别表示预测的计数以及真实的计数。
    • 建议框相似度
      为了解决预测的计数来识别不同的建议框是次优的,引入了一种相似性嵌入分支,该分支将建议框 b i b_i bi的RoI特征映射到低维特征 F i F_i Fi中,相似性嵌入网络也是由三层全连接组成,最后一层输出嵌入特征 F i F_i Fi
      对于给定的建议框 b i b_i bi,首先选择 I o U ≥ t h IoU≥th IoUth的重叠建议框。 b j b_j bj是其中一个真实标签计数 c i ∗ ≥ 1 c_i^*≥1 ci1的重叠建议框,其嵌入特征为 F j F_j Fj。使用至少有一个真实标签计数的建议框训练相似性嵌入子网络,其损失函数为:
      L s e = ∑ i j ( y i j d i j 2 + ( 1 − y i j ) m a x ( ω − d i j , 0 ) 2 ) N s e L_{se} = \frac {\sum_{ij}(y_{ij}d_{ij}^2+(1-y_{ij})max(\omega-d_{ij},0)^2)}{N_{se}} Lse=Nseij(yijdij2+(1yij)max(ωdij,0)2)
      d i j = ∥ F i − F j ∥ 2 d_{ij} = \lVert F_i-F_j \rVert ^2 dij=FiFj2表示嵌入特征 F i F_i Fi F j F_j Fj之间的距离;
      y i j y_{ij} yij表示真实标签相似度,同一个真实边界框的建议框被标记为相似,即 y i j = 1 y_{ij}=1 yij=1
      N s e N_{se} Nse是训练相似度嵌入损失时使用的建议框数量。

    后处理机制

    遮挡情况下,由于建议框之间严重重叠,传统的NMS算法会导致正确的预测框丢失。为了解决这个问题,引入了通过计数和相似度感知进行后处理的NMS算法,称为CAS-NMS,它考虑了建议框之间的计数和相似度:

    • 首先,根据预测框的置信度分数进行排序;
    • 选择置信度分数最高的预测框 b H b_H bH
    • 假设 b j b_j bj是与 b H b_H bH I o U ≥ t h IoU≥th IoUth的一个预测框,其与 b H b_H bH对应一个不同行人的情况需要满足:(1) b H b_H bH中有多个行人;(2) b j b_j bj中至少有一个行人;(3) b j b_j bj b H b_H bH不相似,即距离较远;
    • CAS-NMS利用 b H b_H bH b j b_j bj的预测计数和相似度嵌入,将 b j b_j bj归类为一个重复建议框,当不满足上面的三种情况,则 b j b_j bj将被抑制。
    • 注意:由于相似度 d j H d_{jH} djH仅在第三个条件中被使用,因此只有满足前两个条件的预测框需要进行相似度计算。

四、实验验证

4.1 CityPersons数据集

  • 检测算法的比较
    在这里插入图片描述
    在这里插入图片描述
  • 消融实验
    在这里插入图片描述
  • 损失函数比较
    在这里插入图片描述
  • NMS比较
    在这里插入图片描述

4.2 CrowdHuman数据集(目标检测)&OCHuman数据集(实例分割)

在这里插入图片描述

五、总结

  • 在两阶段行人检测框架基础上增加了两个并行子网络,用来获取行人计数和建议框相似性。其中,行人计数和提议相似性信息都来自于训练行人检测器的标准全身标注。
  • 引入一个计数加权的检测损失函数,对高重叠情况下的检测错误赋予更高的权值。
  • 引入了一个计数和相似度感知的NMS策略来识别不同的建议。

注意:本博客的初衷是用做个人笔记并进行交流探讨,由于个人能力有限,若存在解读错误问题,或者您在阅读本文有不理解的地方,欢迎指正交流。

这篇关于【论文解读】Count- and Similarity-aware R-CNN for Pedestrian Detection(基于计数和相似度感知的R-CNN用于行人检测)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188754

相关文章

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别

转发来源:https://swift.ctolib.com/ooooverflow-chinese-ocr.html chinese-ocr 基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别 环境部署 sh setup.sh 使用环境: python 3.6 + tensorflow 1.10 +pytorch 0.4.1 注:CPU环境

LeetCode--204 计数质数

题目 统计所有小于非负整数 n 的质数的数量。 示例 示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 class Solution {public:int countPrimes(int n) {if (n <= 2) return 0;int cnt = 0;vector<bool> isPrime(n, true);

基于深度学习的轮廓检测

基于深度学习的轮廓检测 轮廓检测是计算机视觉中的一项关键任务,旨在识别图像中物体的边界或轮廓。传统的轮廓检测方法如Canny边缘检测和Sobel算子依赖于梯度计算和阈值分割。而基于深度学习的方法通过训练神经网络来自动学习图像中的轮廓特征,能够在复杂背景和噪声条件下实现更精确和鲁棒的检测效果。 深度学习在轮廓检测中的优势 自动特征提取:深度学习模型能够自动从数据中学习多层次的特征表示,而不需要

自动驾驶---Perception之Lidar点云3D检测

1 背景         Lidar点云技术的出现是基于摄影测量技术的发展、计算机及高新技术的推动以及全球定位系统和惯性导航系统的发展,使得通过激光束获取高精度的三维数据成为可能。随着技术的不断进步和应用领域的拓展,Lidar点云技术将在测绘、遥感、环境监测、机器人等领域发挥越来越重要的作用。         目前全球范围内纯视觉方案的车企主要包括特斯拉和集越,在达到同等性能的前提下,纯视觉方

YOLOv9摄像头或视频实时检测

1、下载yolov9的项目 地址:YOLOv9 2、使用下面代码进行检测 import torchimport cv2from models.experimental import attempt_loadfrom utils.general import non_max_suppression, scale_boxesfrom utils.plots import plot_o

康奈尔大学之论文审稿模型Reviewer2及我司七月对其的实现(含PeerRead)

前言 自从我司于23年7月开始涉足论文审稿领域之后「截止到24年6月份,我司的七月论文审稿GPT已经迭代到了第五版,详见此文的8.1 七月论文审稿GPT(从第1版到第5版)」,在业界的影响力越来越大,所以身边朋友如发现业界有相似的工作,一般都会第一时间发给我,比如本部分要介绍的康奈尔大学的reviewer2 当然,我自己也会各种看类似工作的论文,毕竟同行之间的工作一定会互相借鉴的,我们会学他们

自动驾驶规划中使用 OSQP 进行二次规划 代码原理详细解读

目录 1 问题描述 什么是稀疏矩阵 CSC 形式 QP Path Planning 问题 1. Cost function 1.1 The first term: 1.2 The second term: 1.3 The thrid term: 1.4 The forth term: 对 Qx''' 矩阵公式的验证 整体 Q 矩阵(就是 P 矩阵,二次项的权重矩阵)

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二)组合训练方法(三)一步精确的似然计算 四、实验(一)使用两种损失对于实现最佳分类器的重要性(二)去噪结果、图像质量和负对数似然 论文:Classification Diffusion Models: Revitalizing

【python】python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C++/Python语言 👉公众号👈:测试开发自动化【获取源码+商业合作】 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】 目录 python葡