首页 > 其他分享 >无监督多视角行人检测 Unsupervised Multi-view Pedestrian Detection

无监督多视角行人检测 Unsupervised Multi-view Pedestrian Detection

时间:2024-04-11 16:23:33浏览次数:18  
标签:2D Multi 特征向量 Unsupervised 视角 Detection 掩码 PCA 3D

无监督多视角行人检测 Unsupervised Multi-view Pedestrian Detection

论文urlhttps://arxiv.org/abs/2305.12457

论文简述

该论文提出了一种名为Unsupervised Multi-view Pedestrian Detection (UMPD)的新方法,旨在通过多视角视频监控数据准确地定位行人,而无需依赖于人工标注的视频帧和相机视角。

总体框架图

figure1
当我第一时间看到这个框架图,顿时感觉头发都掉了好几根,他这个设计确实有点复杂,并且和之前看的多视角检测方法很不一样,可能有些理解偏差,欢迎指正。

输入

  • 不同视角下多个摄像头的同步图像数据

语义感知迭代分割 Semantic-aware Iterative Segmentation(SIS)

PS: 该模块所在部分就是上图绿色框部分,该模块主要分为两个部分,一个是PCA主成分迭代分析生成前景掩码部分,一个是零样本分类视觉-语言模型CLIP部分生成 $ {S}^{human} $ 语意掩码选择PCA的前景掩码部分。

  • PCA主成分迭代分析:

    • 首先, 多个摄像头的同步图像数据通过无监督模型提取预训练特征,将所有图像的预训练特征向量集合并成一个更大的特征矩阵,在这个矩阵中,每一行代表一个图像的特征向量,每一列代表特征向量中的一个维度。(猜测具体操作应该是模型中的最后一个卷积层的特征图进行展平操作,变成一个一维特征向量。将所有的一维特征向量堆叠起来就形成了一个二维的特征矩阵。)
    • 然后将这个二维的特征矩阵进行PCA降维操作,PCA的目的是找到一个新的低维特征空间,其中第一个主成分捕捉原始高维特征中的最大方差。通过PCA,数据被投影到第一个主成分(即PCA向量)上,生成一个新的一维特征表示。这个一维表示是每个原始高维特征向量在PCA方向上的投影长度。
    • 根据一维PCA值为每个视角生成初步的行人掩膜(即二值图像,设定一个阈值,其中行人前景(大于阈值)被标记为1,背景(小于等于阈值)为0)。
  • 零样本分类视觉-语言模型CLIP:
    CLIP拥有两个模块

    • CLIP Visual Encoder
      输入的是多个摄像头的同步图像数据
      输出是视觉特征图
    • CLIP Text Encoder
      输入是与行人相关的文本描述
      生成语言特征向量
    • 将语言特征向量与视觉特征图进行余弦相似度计算,得出图 $ {S}^{human} $

    figure2

  • 两模块结合操作:

    • 将CLIP生成的 $ {S}^{human} $ 与PCA生成的前景掩码进行重叠,来判断哪些前景掩码属于行人前景,然后将这些前景掩码继续用PCA进行迭代以及CLIP判断直到规定的迭代次数将前景掩码输入到下一部分作为伪标签。

figure3

几何感知体积探测器 Geometric-aware Volume-based Detector(GVD)

PS: 该模块所在部分就是第一张图红色框部分

  • 2D特征提取:每个视角拍摄的图都用ResNet Visual Encoder进行特征提取。
  • 2D到3D的几何投影:提取的特征随后被映射到3D空间中。这一步骤涉及到使用相机的内参和外参矩阵,将2D图像中的像素点映射到3D空间中的体素上。这个过程基于针孔相机模型,通过几何变换将2D图像中的信息转换为3D体积的一部分。
    figure4
  • 3D体积融合:由于每个视角都会生成一个3D体积,GVD模块需要将这些体积融合成一个统一的3D体积。这通常通过一个Soft-Max Volume Feat. Fusion函数来实现,该函数可以对来自不同视角的3D体积进行加权和融合。
    figure5
  • 3D卷积网络解码器:融合后的3D体积被送入一个3D卷积网络解码器,该解码器负责预测每个体素的密度和颜色。这个解码器通常由一系列3D卷积层组成,能够学习从2D图像到3D体积的复杂映射关系。(论文中没有给出该解码器具体是怎么设计的)
  • 3D渲染为2D:作者用PyTorch3D可微分渲染框架将预测的3D密度 $ {D} $ 渲染为2D掩码 \(\tilde{M}\) ,并且将预测的3D颜色 $ {C} $ 渲染为2D图像 \(\tilde{I}\) , $ {M} $ 为SIS输出的前景掩码, $ {I} $ 论文中说是根据前景掩码得出的颜色图像(猜测应该是前景图像中为1的部分才保留原图颜色)。

垂直感知BEV正则化 Vertical-aware BEV Regularization

  • 通过GVD得出的3D体积中的密度信息沿着Z轴(垂直轴)进行最大值投影,以生成BEV(Bird Eye View)表示。这样可以得到一个二维平面图,其中高密度区域表示行人的位置,得出结果。
  • 并且为了应对出现的行人躺着或者斜着的情况(在大多数情况下,行人的姿态是接近垂直的),论文提出了Vertical-aware BEV Regularization(VBR)方法。通过计算 $ {L}_{VBR} $ 损失函数来优化这个影响。
    figure6
  • 损失函数
    figure7
    运用了Huber Loss

效果图

figure8

后记

作者最后应该还做了些后处理,但是论文中没有提及具体内容。该篇内容细节很多,公式变换复杂,有些细节我做了一定的省略,建议结合着论文原文来看。
ps:终于干完这篇了,鼠鼠我要逝了

标签:2D,Multi,特征向量,Unsupervised,视角,Detection,掩码,PCA,3D
From: https://www.cnblogs.com/AzathothLXL/p/18129467

相关文章

  • 52 Things: Number 2: What is the difference between a multi-core processor and a
    52Things:Number2:Whatisthedifferencebetweenamulti-coreprocessorandavectorprocessor?52件事:数字2:多核处理器和矢量处理器有什么区别?Onthefaceofit,youmaybeconfusedastowhatthedifferenceisbetweenthesetwoprocessors.Afterall,yo......
  • Scalable Multi-Hop Relational Reasoning for Knowledge-Aware Question Answering翻
    文章目录论文标题:用于知识感知问答的可扩展的多跳关系推理摘要1简介2问题表述和概述部分3背景:多关系图编码方法4拟议的方法:多跳图关系网络(MHGRN)4.1MHGRN:模型架构4.2结构化关系注意力4.3计算复杂度分析4.4MHGRN的表现力4.5学习、推断和路径解码5实验设置5.1从......
  • CF1913C Game with Multiset 题解
    翻译初始时你有一个空序列,共\(m\)次操作,每次操作读入两个数\(t_i\),\(v_i\),分为以下两种操作:当\(t_i=1\)时,在空序列中加入\(2^{v_i}\)这一元素。(此时\(0\lev_i\le29\))当\(t_i=2\)时,询问是否存在:取当前序列的某些元素,使它们的的和等于\(v_i\)(此时\(0\lev_i\l......
  • 一种提升深度多视角行人检测的泛化性能的方法 Bringing Generalization to Deep Mult
    一种提升深度多视角行人检测的泛化性能的方法BringingGeneralizationtoDeepMulti-ViewPedestrianDetection论文url:https://openaccess.thecvf.com/content/WACV2023W/RWS/html/Vora_Bringing_Generalization_to_Deep_Multi-View_Pedestrian_Detection_WACVW_2023_paper.......
  • 大型场景中通过监督视图贡献加权进行多视图人物检测 Multi-View People Detection in
    Multi-ViewPeopleDetectioninLargeScenesviaSupervisedView-WiseContributionWeighting大型场景中通过监督视图贡献加权进行多视图人物检测论文urlhttps://ojs.aaai.org/index.php/AAAI/article/view/28553论文简述:这篇论文提出了一个用于大型场景中多视角人体检测......
  • C++ 标准模板库 STL(1)set 与 multiset
    一、简介    set与multiset容器能够快速查找键,键是存储在一维容器中的值,二者的区别在于前者不能够存储重复的键值,后者能够存储重复键值。    set与multiset内部结构类似于二叉树,并且被插入到set与multiset容器中的元素会默认进行排序,从而提高查找速度。这意......
  • 批量插入和更新allowmultiqueries和rewritebatchedstatements
    mybatis的批处理(效率)之rewriteBatchedStatements和allowMultiQueries-CSDN博客Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新-CSDN博客通过设置allowmultiqueries和rewritebatchedstatements可以让我们批量插入和删除速度更快。分享removeAbandonedTimeout中间......
  • 实时 3D 深度多摄像头跟踪 Real-time 3D Deep Multi-Camera Tracking
    实时3D深度多摄像头跟踪Real-time3DDeepMulti-CameraTracking论文urlhttps://arxiv.org/abs/2003.11753论文简述:提出了一个名为DeepMulti-CameraTracking(DMCT)的实时3D多摄像机跟踪系统。该系统旨在解决使用多个RGB摄像机进行3D人群跟踪的挑战性任务。总体框架图......
  • 论文解读(CoCo)《CoCo: A Coupled Contrastive Framework for Unsupervised Domain Adap
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:CoCo:ACoupledContrastiveFrameworkforUnsupervisedDomainAdaptiveGraphClassification论文作者:XiaoShen、QuanyuDai、Fu-laiChung、WeiLu、Kup-SzeChoi论文来源:2023aRxiv论文地址:download 论文代......
  • WPF datagrid mvvm multi select via customize datagrid
    usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;namespaceWpfApp39{publicclassMultiSelectDataGrid:D......