没有合适的资源?快使用搜索试试~ 我知道了~
视频个体计数的分解与推理
423t+1Cross-line crowd counting al Counting2312345MOT Association Error: same person counted twice231234DRNet: Id irrelevantId irrelevanttIN b)t:t+1:Update to a new track 30830DR.VIC:视频个体计数的分解与推理0Tao Han 1 †,Lei Bai 2 †,Junyu Gao 1,Qi Wang 1 �,Wanli Ouyang 201 中国西北工业大学,西安 710072,中国 2悉尼大学,SenseTime计算机视觉组,澳大利亚0hantao10200@mail.nwpu.edu.cn,{baisanshi,gjy3035,crabwq}@gmail.com,0wanli.ouyang@sydney.edu.au0摘要0行人计数是了解行人模式和人群流动分析的基本工具。现有的工作(例如,图像级别的行人计数,跨线人群计数等)要么只关注图像级别的计数,要么受限于线的手动注释。在这项工作中,我们提出从一个新的角度进行行人计数 -视频个体计数(VIC),它计算给定视频中的个体行人总数(每个人只计数一次)。我们不依赖于多目标跟踪(MOT)技术,而是通过将所有行人分解为初始帧中存在的行人和每个后续帧中具有独立身份的新行人来解决这个问题。然后,设计了一个端到端的分解和推理网络(DRNet),用于使用密度估计方法预测初始行人计数,并使用可微分的最优传输推理每帧的新行人计数。在拥挤的行人和多样化场景的两个数据集上进行了大量实验,证明了我们的方法在计数个体行人方面相对于基线具有巨大的优势。代码:https://github.com/taohan10200/DRNet。01. 引言0世界人口目睹了快速增长,伴随着加速的城市化。预计全球约70%的人口将居住在城市中[10,51],这给城市管理带来了重大挑战,如交通管理、公共空间设计、疏散计划和公共安全。为了解决这些挑战,准确获取任何区域在一段时间内的行人数量,例如,通过某个路段的人数0† 平等贡献。* 通讯作者。0t+1 t0视频个体计数 单张图像人群计数0MO计数0t I τ +0图1. 不同人群计数范式的示意图。视频个体计数(Video IndividualCounting)对视频中出现的所有行人进行计数,每个人只计数一次,例如,计数①②③④得到计数结果4。单张图像人群计数(Single ImageCrowdCounting)针对图像级别进行计数。直接应用于视频个体计数会导致过度计数,例如,在帧t上计数①②③,在帧t+1上计数②③④,得到计数结果6。跨线人群计数(Cross-line CrowdCounting)针对视频级别进行计数,但只关注通过红色虚拟线的行人,例如,计数③得到结果1。0过去10分钟内的交叉口,是一个基本问题。从图像/视频中自动估计行人数量是一种实际解决方案,吸引了来自不同角度的研究人员的关注。具体而言,单张图像人群计数(SICC)[9, 18, 27, 39,54]估计图像级别的人群数量,可以反映某个时间点的拥挤程度。视频人群计数(VCC)[15, 58,59]通过探索历史帧的信息进一步增强了SICC,以实现更准确和稳健的目标帧计数。与SICC和VCC不同,跨线人群计数技术[11, 38, 63,64]侧重于从视频中估计一段时间内的行人。通过手动设置适当的虚拟线(例如,图1中所示的红线),跨线人群计数发现通过该线的行人,这可以反映视频中的拥挤程度和总人数。与上述讨论的工作设置不同,本工作针对的是一个类似但不同的任务 -视频个体计数(VIC),它计算给定视频中具有独立身份的行人的总数。如图1所示,人们从各个方向进入30840摄像机视角应该通过时间计数,并且每个人只能计数一次。VIC的输出是关于一段时间内(即视频长度)场景中总行人数的共同概念,它准确地测量了区域的拥挤程度和受欢迎程度,因此对于众多应用非常有价值,例如计算参加活动的人数,或者测量交叉口的总行人数。尽管存在相似之处,视频个体计数具有挑战性,不能直接通过现有的图像级行人计数和跨线计数方法来解决。图像级行人计数方法在相邻帧中不可避免地多次计数同一个人,并且如果直接将每帧的人群数量相加,会极大地高估行人数量。跨线计数方法只计数通过线的行人,因此会错过停留在视频中或与线不连续的人群。此外,它需要对不同摄像机设置的线进行手动注释,这与计算机视觉研究人员使人群计数自动化的目标不符,并且在考虑到像伦敦这样的单个城市可能有50万多个闭路电视摄像头时,也是耗时的。VIC的潜在现有解决方案是多目标跟踪(MOT)方法[50,61],这是一种用于识别和跟踪视频中所有对象的通用技术,并已经在特定领域(例如公交车入口计数[49])中进行了探索。MOT中的轨迹数量和状态可以用于揭示视频中的总人群数量以及一段时间内的流入和流出(分别是进入和离开场景的人数)。然而,由于MOT是为跟踪而设计的,而不是行人计数,因此使用MOT进行此任务的准确性和效率将因两个原因而较差。对于准确性,MOT中的对象关联取决于多帧的检测结果,并且极易受到ID切换的影响,这会通过过度计数严重影响计数性能。对于效率,大多数MOT在每帧上运行,这是耗时且对于人群计数任务来说是不必要的。我们提出了一种不依赖于MOT的视频个体计数新范式。我们不像MOT那样将整个视频中的所有行人关联起来,而是仅关联每对帧以识别每个时间段的流入(即新行人)。具体而言,我们将所有行人分解为存在于第一帧中的初始行人和在后续帧中具有单独身份的新行人。这个想法背后的理由是观察到人群通常停留在或穿过一个区域(例如摄像机视角区域)。只有在少数情况下,人们可能会在摄像机视角之外出现并消失,与计数误差相比可以忽略不计。以CroHD[50]数据集为例,只有17名行人在经过75帧的间隔后离开并重新进入摄像机视角区域,而视频中的总行人数为5230。基于这个想法,我们提出了一种高效的端到端视频个体计数框架,名为分解和推理网络(DRNet)。DRNet首先从视频中采样帧,并使用时间窗口将相邻帧组成的每对帧分别输入神经网络,以生成两个CNN特征图,基于这些特征图可以分别预测每帧头部位置的两个密度图。在下一步中,从CNN特征图中采样出包含每个定位头部描述符的两组特征,并使用可微分的最优传输实现的行人流入推理模块使用这些特征,可以预测输入帧对的流入(加入后一帧的行人)和流出(离开前一帧的行人)。最后,可以通过整合第一帧的人群计数和后续采样帧对中的所有行人流入来获得整个视频中的总行人数。我们的核心贡献总结如下:0摄像机视角区域在75帧的间隔后,有17名行人离开并重新进入。视频中的总行人数为5230。基于这个想法,我们提出了一种高效的端到端视频个体计数框架,名为分解和推理网络(DRNet)。DRNet首先从视频中采样帧,并使用时间窗口将相邻帧组成的每对帧分别输入神经网络,以生成两个CNN特征图,基于这些特征图可以分别预测每帧头部位置的两个密度图。在下一步中,从CNN特征图中采样出包含每个定位头部描述符的两组特征,并使用可微分的最优传输实现的行人流入推理模块使用这些特征,可以预测输入帧对的流入(加入后一帧的行人)和流出(离开前一帧的行人)。最后,可以通过整合第一帧的人群计数和后续采样帧对中的所有行人流入来获得整个视频中的总行人数。我们的核心贡献总结如下:0•我们提出将视频中的个体行人分解为初始行人和随后帧中的新行人,避免了复杂且容易出错的视频级关联问题,并为行人计数开辟了新的方向。0•我们提出了一种高效的端到端框架,通过使用可微分的最优传输,直接推理出帧的新行人。0•在涵盖拥挤人群和多样场景的两个数据集上进行了大量实验。实验结果证明了所提方法在强基线上的有效性。02. 相关工作02.1. 图像级人群计数0图像级人群计数是指在给定的静态人群图像中计算人数。近年来,大多数最先进的SICC方法集中在密度图估计上,将密度图作为计数值进行集成。基于CNN的方法[5,27,33,34,57,60,62]在特征提取和表示方面显示出强大的能力,优于基于手工特征的模型[19,31]。除了密度图监督,一些方法[14,36,39,55]直接利用点级标签来监督计数模型。由于密度图只能给出粗略的计数,人的位置分布仍然无法得知。因此,最新的研究[2,4,16,20,32,48,53,56]致力于计数的定位。多帧图像级计数。也有一些基于视频的人群计数方法[15,29,t=T1k=T/τ3085035,58,59],这些方法利用时间信息来增强目标帧中的计数。与这些方法不同,我们的工作集中在视频层面上的个体行人计数,预测视频帧中动态人数的总数。如前所述,视频个体计数的目标任务不能通过直接使用图像级计数方法来解决。然而,由于图像级计数方法可以作为我们设计中的基本组件,图像级人群计数的进展可以使我们的模型受益,用于第一帧的初始计数和头部定位的子任务。02.2. 视频级人群计数02.2.1 在人群中的跟踪0在人群中的跟踪[28,37]是指在视频的连续图像序列中提取人群的时间信息。考虑到群体运动行为由个体行为组成,Kratz和Nishino[23]提出了一个贝叶斯框架,使用时空模型来跟踪人群中的个体。Bera等人[7]提出了一种实时算法AdaPT,用于计算人群场景中的个体轨迹。SSIC也可以与人群跟踪集成,Ren等人[43]提出了一种跟踪计数方法,联合建模检测、计数和跟踪,以捕获互补信息。由于跟踪明确区分视频中每个人的身份,因此也可以用于实时人数统计。Sun等人[49]提出了一个从监控视图中公交车入口门收集的RGB-D数据集,并利用跟踪来识别和计数进入和离开的人。最近,Sundararaman等人[50]提出了一个拥挤的头部数据集(CroHD),一个基于粒子滤波器的头部检测器,以及一个基于颜色直方图的重新识别模块,用于跟踪拥挤场景中的多个人。虽然我们的方法也计算了跨帧关联,但它不依赖于检测或视频级关联。我们只利用跨帧关联来获得每个时间间隔的流入量,并将其与第一帧的计数相结合,得到整个视频中的总个体数。这样,我们的设计对于检测和跟踪错误更加鲁棒。02.2.2 越线人群计数0越线人群计数是视频行人计数的一种受限方向,旨在计算越过检测线或在指定区域内的行人数量。早期的研究[3, 6,8]使用多条线来计数进入或存在的人员。然而,这些方法需要对属于计数区域的每条线独立进行计数,效率低下。此外,它不计算停留在场景中但不越过线的人员。0越过线。更重要的是,它不允许对帧进行采样以减少长时间间隔的时间冗余。Cong等人[11]将越过线的行人视为流体流动,并设计了一种估计流速场的算法。最终的计数是通过在每帧的兴趣线(LOI)上积分像素来获得的。为了解决blob-centric方法[11]中的一些缺点,Ma等人[38]提出了一种整数规划方法,用于估计LOI上的瞬时计数,该方法将视频中的帧切割为一组时间切片,然后使用SICC方法计算这些切片图像中的人数。为了进一步消除时间切片的限制,Zhao等人[63]提出了直接估计配对图像的人群计数的方法,该方法通过估计像素级人群密度图和人群速度图来解决LOI人群计数问题。后续工作[64]进一步改进了[63],以获得局部人群密度的细粒度估计。总的来说,越线人群计数在实际应用中受到限制,因为它高度依赖于虚拟线,对于大量的视频来说很难设置,并捕捉以随机方向进入和退出的行人(例如,广场)。相比之下,我们的方法可以处理多方向的行人,因此适用于更一般的场景。03. 问题建模0给定一个长度为 T 的视频剪辑 I = { I 0 , I 1 , ..., I T − 1},表示一个场景(例如,交叉口、广场、展览),其中第 t帧 I t 包含 N ( t )个主体,每个主体通常在许多连续帧中出现,这是由于相机的相对高感知频率(例如,每秒25帧)所致。我们的目标是计算在此视频中以不同身份显示的总人数 N (0 : T −1)。我们提出了一种新的解决方案来进行视频个体计数,而不是依赖于MOT技术直接获得在 T时刻的人群计数和轨迹编号。具体而言,我们将视频个体计数问题分解为两个子问题:1)推断起始时间点的人群计数N (0),2)确定每个后续帧 t的新身份进入场景的数量(流入量)N in ( t ),这需要将帧t − 1 和 t中的主体进行关联。通过解决这两个子问题,可以轻松获得整体视频行人计数:0N (0 : T − 1) =0t =1 N in ( t ) + N (0) . (1)0考虑到视频帧高度冗余,大多数帧的流入量为0。因此,我们通过推断每 τ 帧的流入量进一步简化公式 1 :0N (0 : T − 1) ≈0k =1 N τ in ( k × τ ) + N (0) ,(2)0其中 N τ 在 ( t ) 是帧 I t 与 I t − τ 相比的流入量。1: { ,}ttMtiiigx y+11: { ,}ttNtiiigx yDifferentiable Optimal Transport ModuleHead LocalizationItItDensity Mapa) Image Representation b) Head Descriptor Extractionc) Pedestrian Inflow ReasoningHead LocalizationCPtFtF+t Ft F4 Inflow2123Outflow countInflow count231301110100000000002234TT[,M]Nb1 TMN1a30860可微分的最优传输模块0密度图0a) 图像表示 b) 头部描述符提取 c) 行人流入推理0C P0t �F0t F0+ t � F t � � � F0图2. DRNet架构概述。DRNet是一个端到端的视频个体计数(VIC)框架,它以t和t + τ的帧作为输入,并推理t +τ相对于t的流入。基于由共享的骨干网络获得的图像表示,可以获得两个密度图,以指导头部描述符的提取。通过推理它们的头部描述符到P,可以得到成对图像中的行人流入。04. 方法0根据第3节中定义的公式,我们的方法应具有在帧级别上计算所有行人数量并与其前一帧相比识别新行人的能力。我们通过设计一个端到端网络DRNet来实现这个目标,将视频行人计数分解为图像级行人计数和跨帧推理,它由图像表示模块、头部描述提取模块和流入推理模块组成。图像表示。图像表示模块将两个输入图像分别映射到高级嵌入空间中的特征图,使用共享的神经网络。如图2所示,我们从{ I 0 , I 1 ,∙ ∙ ∙ , I T − 1 }中采样一对图像I t和I t +τ,其中τ是时间间隔。使用骨干网络(例如VGG-16骨干网络[46]和特征金字塔网络(FPN)[30])将人群图像转换为相应的多尺度特征表示F t和F t + τ ∈ R C × H/ 4 × W/4。头部描述提取。根据现有的基于密度的人群计数工作[2,17, 20, 32, 48,53],我们使用来自图像表示模块的特征图来定位头部位置,这些位置可以用于为每个头部中心提案生成描述符(例如特征)。详细信息在第4.1节中详述。密度图也可以用于在测试阶段直接生成第一帧的图像级人群计数。行人流入推理。给定来自头部描述提取模块的两个帧的头部描述符,行人流入推理模块通过最优传输来区分在I t + τ中与It相比哪个主体是新的。详细信息在第4.2节中详述。04.1. 头部描述提取0如图2中间部分所示,头部描述提取模块有两个分支,一个是头部定位分支,另一个是描述符生成分支。0行人流入0流出计数0流0�0�0�0�� �� �0� T T [ N ,M] b 10 � �0T M N1 a0行人流出0图3.人群运输的示意图。通过正确解决运输矩阵P,P的最后一行对应于我们所需的t +τ帧的流入,即④,P的最后一列描述了关于t帧的流出,即行人①和匹配对②③。0分支。定位分支包含多个卷积层和两个反卷积层,将每个图像表示映射到头部密度图,其中地面真实头部点用高斯核G(σ = 4,窗口大小=15)模糊。因此,密度图中局部最大值的坐标是头部中心提案。0将帧I t和I t + τ的头部中心提案集分别表示为p t i := { ( h t i, w t i ) } M i =1和p t + τ i := { ( h t + τ i , w t + τ i ) } N i=1。我们首先添加一些噪声来增强这些头部提案,以提高鲁棒性。0pti → pti + z1, pt+τi → pti + τi + z2。0其中z1和z2是服从标准正态分布N(0,1)的噪声项。a控制噪声水平,经验上设置为2。然后,增强的提议被扩展到8×8的区域进行池化。最后,使用PreciseRoIPooling[21]在最终特征图F′t和F′t+τ(由Ft和Ft+τ的几个卷积层输出)上提取两组头部描述符,分别表示I_t中的M个主体的集合X := {x1, ..., xm | xi ∈RD×1}和I_t+τ中的N个主体的集合Y := {y1, ..., yn | yi ∈RD×1}。D是描述符的维度,默认设置为256。Ci,j = x⊤i yj, ∀(i, j) ∈ M × N .(7)U(a, b)def.=�P : P1N = a and PT1M = b�.(8)Pi,j = uiKi,jvj,(9)u(ℓ+1) def.=ℓ+1) , (10)308704.2. 行人流入推理0目标。给定从头部描述符提取模块(第4.1节)获得的头部中心提议的描述符,行人流入推理模块用于通过关联头部中心提议来获取流入。如图3所示,给定X和Y中的主体,行人流入推理将它们分为三个类别:1)匹配的实例对M(�X×Y),包含在t和t+τ帧中都出现的人;2)不匹配的流入实例I(�Y),只包含在t+τ帧中出现的人;3)不匹配的流出实例O(�X),只包含在t帧中出现的人。因此,在时间间隔τ内,集合I的大小是我们想要获得的流入数量,即方程2中的Nτ。流出集合O是一个超额输出。理论基础。上述问题是一个典型的分配问题,匈牙利算法[40]是一个可行的解决方案。然而,匈牙利算法需要预定义的距离阈值作为分类基准,这将耗费大量的工作来找到最优阈值。更重要的是,匈牙利算法是一个非微分过程,只能给出一个硬匹配(要么是零,要么是一)。因此,它不允许通过匹配结果来优化图像表示。为了避免这些问题,我们选择了最优传输(OT)理论[42]来推理这个分配问题,该理论被广泛用于在一些约束条件下规划两个目标群体之间的运输。OT还提供了一个可微的关联过程,使得DRNet成为一个端到端可训练的网络。流入推理的原理。受到图匹配和关键点匹配任务中使用的解决方案的启发[13,45],我们的论文中的行人流入可以通过解决一个增强的Kantorovich的OT问题来获得。0LC(a, b) = 0P是一个在区间(a, b)上的矩阵。0C是一个0i ∈ M+1, j ∈ N+1。0Ci,jP(i,j)。0其中P是一个运输矩阵。如图3所示,它的元素P(i,j)(0 ≤i
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功