一种提升深度多视角行人检测的泛化性能的方法 Bringing Generalization to Deep Multi-View Pedestrian Detection

论文urlhttps://openaccess.thecvf.com/content/WACV2023W/RWS/html/Vora_Bringing_Generalization_to_Deep_Multi-View_Pedestrian_Detection_WACVW_2023_paper.html

论文简述

论文提出了一种用于多视角行人检测的深度学习模型,旨在提高模型在不同摄像机数量、不同摄像机配置和新场景下的泛化能力。

总体框架图

输入

$ {N} $ 个校准的RGB摄像头图像,图像尺寸为( 3 , $ {H}{i} $ , $ {W} $),其中 $ {H}{i} $ 和 $ {W} $ 分别代表图像的高度和宽度。

DropView Regularization

  • 操作:在训练过程中,对于每批次视角样本,随机选择一个或多个视角进行丢弃,即不使用这些视角图进行训练。
  • 作用:迫使模型学习到不依赖于任何单一视角的特征表示,这一操作也可以看作数据增强,模拟了在实际应用中可能遇到的摄像头失效或视角遮挡等情况,从而使模型在面对不完整数据时仍能保持性能。提高了鲁棒性,增强了泛化能力。

特征提取模块(Feature Extraction)

  • 操作:使用ResNet18作为特征提取的主干网络,并将最后三层的步长大卷积替换为空洞卷积(dilated convolutions),以获得更高空间分辨率的特征图。
  • 输出: $ {N} $ 个摄像头视图的特征,尺寸为( $ {N} $ , $ {C} $ , $ {H}{f} $ , $ {W} $ ),其中 $ {C} $ 是通道数(特征数), $ {H}{f} $ 和 $ {W} $ 是提取的特征图的高度和宽度。

透视变换(Perspective Transformation)

  • 对于每个视角的特征图,使用透视变换将其从相机坐标系映射到世界坐标系中的地面平面(鸟瞰图)上。
  • 透视变换考虑了相机的内参 $ {K} $ 和外参 $ {[R|t]} $,其中内参包括焦距和主点坐标,外参包括旋转和平移向量。
  • 变换过程中,定义一个地面平面,通常假设为 $ {Z=0} $ 的平面,即 $ {W = (X, Y, 0, 1)^T} $ 。每个像素点 $ {(x, y)} $ 从图像坐标系通过以下变换映射到地面平面坐标系:



    其中 $ {s} $ 是缩放因子, $ {P} $ 是透视变换矩阵,$ {(X, Y, Z)} $ 是世界坐标系中的点。
  • 输出:投影到地面平面上的 $ {N} $ 个特征图,尺寸为 $ {(N, C, H_{g}, W_{g})} $ ,其中 $ {H}{g} $ 和 $ {W} $ 是地面平面网格的高度和宽度。

平均池化(Average Pooling)

  • 对所有视图的投影特征图进行平均池化,得到最终的鸟瞰图特征表示 $ {F} $ ,尺寸为 $ {(C, H_{g}, W_{g})} $ 。
  • 特点:在多视角检测中,摄像头的物理排列可能会变化,但模型应该能够独立于特定的摄像头排列来检测行人。平均池化操作是排列不变的,这意味着无论摄像头的输入顺序如何,模型的输出都是一致的,从而提高了模型的泛化能力。

占用图预测(Occupancy Map Prediction)

  • 使用三层空洞卷积层去预测行人占用概率图,输出尺寸为 $ {(H_{g}, W_{g})} $ 。(参考MVDet

损失函数设计

  • 输入:模型输出的概率占用图 $ {(p)} $ 和真实标注的占用图 $ {(g)} $ 。
  • 结合KL散度(KLDiv)和皮尔逊交叉相关系数(CC)作为损失函数,公式如下:



    $ {σ(p,g)} $ 是 $ {p,g} $ 的协方差, $ {σ(p)} $ 是 $ {p} $ 的标准差, $ {σ(g)} $ 是 $ {g} $ 的标准差。

后记

  • 有意思的是该作者不仅仅使用了MultiViewX和WildTrack这两个普遍的数据集,并且还用GTAV里面的拍照模式采样了一些样本。

一种提升深度多视角行人检测的泛化性能的方法 Bringing Generalization to Deep Multi-View Pedestrian Detection的更多相关文章

  1. 一种用单片机AD采样方式来检测交流市电电压的方法

    下面介绍一种用单片机AD采样的方式检测市电电压的方法  要检测交流市电的电压,通常有两种方法 一.通过频繁的采样后再求平均值来获得实际电压值 二.通过采样交流市电的峰值,再通过算法得出实际电压值 这里 ...

  2. paper 86:行人检测资源(上)综述文献【转载,以后使用】

    行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,主要还是在性能和速度方面还不能达到一个 ...

  3. 行人检测(Pedestrian Detection)资源整合

    一.纸 评论文章分类: [1] D. Geronimo, and A. M.Lopez. Vision-based Pedestrian Protection Systems for Intellig ...

  4. CVPR 2019 行人检测新思路:

    CVPR 2019 行人检测新思路:高级语义特征检测取得精度新突破 原创: CV君 我爱计算机视觉 今天 点击我爱计算机视觉置顶或标星,更快获取CVML新技术 今天跟大家分享一篇昨天新出的CVPR 2 ...

  5. paper 87:行人检测资源(下)代码数据【转载,以后使用】

    这是行人检测相关资源的第二部分:源码和数据集.考虑到实际应用的实时性要求,源码主要是C/C++的.源码和数据集的网址,经过测试都可访问,并注明了这些网址最后更新的日期,供学习和研究进行参考.(欢迎补充 ...

  6. 行人检测(Pedestrian Detection)资源

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  7. 目标检测之行人检测(Pedestrian Detection)---行人检测之简介0

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  8. 【计算机视觉】行人检测(Pedestrian Detection)资源

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  9. 深度学习-09(目标检测:Object Detection)

    文章目录 目标检测(Object Detection) 一 .基本概念 1. 什么是目标检测 2. 目标检测的核心问题 3. 目标检测算法分类 4. 目标检测应用 目标检测原理 1.候选区域产生 1 ...

  10. Hog SVM 车辆 行人检测

    HOG SVM 车辆检测 近期需要对卡口车辆的车脸进行检测,首先选用一个常规的检测方法即是hog特征与SVM,Hog特征是由dalal在2005年提出的用于道路中行人检测的方法,并且取的了不错的识别效 ...

随机推荐

  1. 【Azure Developer】开发模式下使用AAD账号访问Azure Blob的相关参考

    问题描述 开发模式下使用AAD账号访问Azure Blob的流程参考文件 问题解答 第一步:先在AAD中注册一个APP,步骤可参考: 将应用程序注册到 Microsoft 标识平台 :https:// ...

  2. cpu过高什么原因?怎么排查?

    运行大型程序或应用程序:当计算机运行大型程序或应用程序时,CPU需要处理更多的数据和指令,因此CPU占用率会相应地增加. 病毒或恶意软件:某些病毒或恶意软件会占用计算机的CPU资源来执行恶意任务,例如 ...

  3. Codeforces Round 928 (Div. 4)(A、B、C、D、E、G)

    目录 A B C D E G A 统计A.B输出 #include <bits/stdc++.h> #define int long long #define rep(i,a,b) for ...

  4. GPT Prompt

    GPT Prompt 本文总结我关于GPT prompt的一些常用模板和资源. 我常用的模板 大致模板:你是一个怎样的人,我的场景是什么,我想要什么,你需要做什么. 比如: 你是一个经验丰富的前端开发 ...

  5. JS3-高级事件

    获取事件和处理事件的第二种方式:事件监听 如何获取和处理鼠标与键盘的基本事件? 事件监听方式 eventTarget.addEventListener(type,listener[,useCaptur ...

  6. Zabbix“专家坐诊”第198期问答汇总

    问题一 Q:请问一下,自带的思科SNMP交换机模板,怎么不监控down的接口? A1:这种一般在自动发现规则里加个过滤器,过滤出IFSTATUS匹配(1|3)的就能实现只发现up的端口了. A2: 1 ...

  7. 6 定时器 &中断管理&资源管理

    生成函数 周期,多久触发一次定时器(从定时器启动开始计算)  触发什么呢? 回调函数被调用,被谁调用呢 1,tick中断去调用timer函数  Linux中使用这个  (定时器回调函数若执行时间过长, ...

  8. 摆脱鼠标系列 - 打开微信(Alt+V) - 打开双核浏览器(Alt+S) - HotkeyP

    摆脱鼠标系列 - 打开微信(Alt+V) - 打开双核浏览器(Alt+S) - HotkeyP 新定义了两个快捷键 这两个比较常用

  9. 基于python下opuslib的下opus编解码实例解析

    一 opuslib 这个是纯粹的opus封装,要比ogg的那个更底层,ogg的那个封装的太严了.很多业务不方便开展. 二 实例解析: import opuslib import opuslib.api ...

  10. C++ allocator类

    new在申请内存时,他将内存分配和对象的构造放在了一起,delete也将对象的析构和内存的释放结合在一起.但allocator类允许将内存分配和对象构造分开. 分配内存 allocator<st ...