实时 3D 深度多摄像头跟踪 Real-time 3D Deep Multi-Camera Tracking
实时 3D 深度多摄像头跟踪 Real-time 3D Deep Multi-Camera Tracking
论文url https://arxiv.org/abs/2003.11753
论文简述:
提出了一个名为Deep Multi-Camera Tracking (DMCT)的实时3D多摄像机跟踪系统。该系统旨在解决使用多个RGB摄像机进行3D人群跟踪的挑战性任务。
总体框架图:
输入:
- 多个RGB摄像机的实时视频帧,每个视频帧是一个彩色图像,具有高度和宽度的像素矩阵。
DGPN(Deep GroundPoint Network):
- 基础卷积层(Base CNN Layers)
- 从输入图像中提取基本的视觉特征,如边缘、角点和纹理等,经过卷积和激活函数(如ReLU)处理后,输出的是一组特征图(feature maps),这些特征图捕捉了输入图像的重要视觉信息。
- 深度特征提取层
- 使用预训练的深度网络(如ResNet或DLA)作为骨干网络,进一步提取更深层次的特征。这些特征包括对象的部分、姿态和形状等,输出的是更丰富、更抽象的特征图,这些特征图为后续的地面点预测提供了必要的信息。
- 透视校正层
- 原理:透视校正层的目的是解决由于摄像机视角和距离不同导致的透视变形问题。在多摄像机系统中,同一个物体在不同摄像机视图中的大小和形状可能会有所不同,该层通过学习摄像机的内参和外参(即相机矩阵),来消除透视变形的影响(ps:相机矩阵由摄像头校准过程获取,可能是相机图像标定操作)
- 校正过程:具体来说,对于每个摄像机视图,网络会计算一个从图像平面到虚拟地面平面的映射。这个映射可以通过相机的内参矩阵和外参矩阵来实现,其中内参矩阵描述了相机镜头的畸变,外参矩阵描述了摄像机在世界坐标系中的位置和朝向。(ps:作者提出了一种改进的方法来映射人物位置热图到虚拟地面平面。这种方法通过预畸变处理,校正了由于透视变换引起的图像拉伸变形,从而提高了人物检测的准确性。具体来说,通过将地面平面划分为等半径的单元格并创建相应的掩码,这些掩码被用于损失函数,以优化网络生成的地面点预测。这种方法有效地提高了多视角下人物跟踪的性能。)
- 输出:经过透视校正后的特征图能够更准确地反映物体在地面平面上的真实位置和形状。
- 地面点预测层:
- 原理:地面点预测层的目标是为每个人生成一个地面点概率图,这个概率图表示每个人在地面平面上的投影位置的概率分布。
- 生成heatmap:这一层首先使用一系列卷积层来处理经过透视校正的特征图,然后通过一个特定的输出层(通常是一个卷积层,其卷积核的尺寸与地面点的预期大小相匹配)来生成热图。这个输出层的每个卷积核负责预测一个特定区域的地面点概率。
- 概率转换:输出层的每个卷积核会为每个像素点分配一个概率值,这个值表示该像素点是某个人体地面点的可能性。这通常是通过一个激活函数(如softmax)来实现的,确保每个像素点的概率值在0到1之间,并且整个热图中所有像素点的概率值之和为1。
投影与聚合(Projection & Aggregation):
- 利用相机矩阵将每个视角的概率图投影到共享的地面平面上。这样,来自多个相机的投影概率图就可以融合在一起,形成一个统一的地面平面占用图(occupancy map)。这个过程涉及到3D几何计算,将不同视角的信息整合到一个共享的二维平面上。
占用图融合(Occupancy Map Fusion):
- 融合过程可以通过两种方式进行。第一种方法是通过对投影的概率图进行平均,生成最终的占用图。第二种方法则是将所有概率图堆叠起来,作为人员检测器的输入。在实际应用中,实验表明使用视角感知的融合方法能够更好地处理遮挡和噪声,提高跟踪的准确性。
a图为实际人的分布位置,b图为上述操作后生成的候选的人的位置,上述操作后还需要进行下述操作来捕捉目标在时间序列上的动态信息,进行更精准的人员目标识别
DGN(Deep Glimpse Network):
- 基础卷积层(Base CNN Layers):
- 提取特征信息(作用和输出同上)
- 时间感知层(Temporal Glimpse Layer):
- 作用:时间感知层的目的是捕捉人员在时间序列上的动态信息。这一层使用了的“时间瞥见”(glimpse)机制,通过在时间维度上对特征图进行采样和聚合,来模拟人类视觉系统在观察运动时的聚焦效应。
- 操作:时间感知层通过在特征图序列上应用一组特定的卷积核(temporal convolutional layers),将连续帧的信息融合在一起,生成新的特征表示。这个过程类似于在时间序列上对特征图进行“缩放”,以便更好地捕捉运动模式。
- 输出:经过时间感知层处理后,得到一组包含时间信息的特征图。这些特征图不仅包含了空间信息,还融入了目标随时间变化的动态特征。
- 时间卷积层(Temporal CNN Layer):
- 作用:时间卷积层的作用是进一步处理时间感知层的输出,通过在时间维度上进行更复杂的特征融合和抽象,以提取更高层次的时间特征。
- 操作:时间卷积层使用一系列卷积操作来处理时间感知层的特征图,这些操作可以捕捉更长期的时序依赖关系和复杂的动态模式。
- 输出:时间卷积层输出一组综合了空间和时间信息的高级特征图,这些特征图用于后续的人员分类和跟踪。
Tracker
- 输入:跟踪器接收来自Deep Glimpse Network的人候选检测结果,这些结果是在融合的占用图上通过人检测模块得到的。
- Tracking Graph构建:用于表示轨迹和检测候选之间的关系。在这个图中,矩形节点代表已经形成轨迹的节点,椭圆形节点代表当前帧中检测到的候选节点,五边形节点代表预测节点。
- 轨迹的延伸:对于每个已有的轨迹,跟踪器尝试在当前帧中找到它的延伸。这意味着跟踪器会寻找一个路径,这个路径不仅通过当前轨迹的最后一个节点,而且还要通过所有其他节点,并且保证路径之间不会相交(即节点不共享)。
- 节点间的匹配:跟踪器通过计算节点间的相似度来确定它们是否匹配。这里的相似度通常是通过计算检测候选和轨迹节点之间的欧几里得距离来衡量的。跟踪器会为每个轨迹节点找到最可能的匹配候选节点。
- 轨迹的更新:一旦找到匹配,跟踪器会更新轨迹,将旧的轨迹节点扩展到新的匹配节点。如果在一定数量的帧中(例如100帧),一个轨迹没有找到匹配的候选节点,那么这个轨迹会被移除。
- 新轨迹创建:对于当前帧中没有匹配到任何轨迹的检测候选节点,跟踪器会创建新的轨迹。这些新的轨迹会被加入到跟踪图中,并在下一时刻用于进一步的跟踪
- 输出:跟踪器输出的是每个人在多个摄像头视角下的三维轨迹。这些轨迹以时间为序列,展示了每个人在空间中的移动路径。
效果图片展示:
实时 3D 深度多摄像头跟踪 Real-time 3D Deep Multi-Camera Tracking的更多相关文章
- 教你如何认识人脸识别开发套件中的双目摄像、3D结构光摄像头、单目摄像头的区别及详细讲解
深圳市宁远电子提供的人脸识别模组可支持双目摄像头和3D结构光摄像头,在客户咨询中经常有被问到双目的为什么会比单目的成本高,区别在哪里,他们的适用于哪些场景呢?在此,深圳市宁远电子技术工程师就为大家详细 ...
- 3D深度估计
3D深度估计 Consistent Video Depth Estimation 论文地址:https://arxiv.org/pdf/2004.15021.pdf 项目网站:https://roxa ...
- 前端的3D(css3版本)--淘宝造物节3D创景的制作
其实是依托Css3的功劳,先上一个例子 链接: https://pan.baidu.com/s/1cZ-mMI01FHO3u793ZhvF2w 提取码: d3s7代码地址:链接: https://pa ...
- 深度自适应增量学习(Incremental Learning Through Deep Adaptation)
深度自适应增量学习(Incremental Learning Through Deep Adaptation) 2018-05-25 18:56:00 木呆呆瓶子 阅读数 10564 收藏 更多 分 ...
- 从零3D基础入门XNA 4.0(1)——3D开发基础
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...
- 深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统
深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统 作者:寒小阳 时间:2016年3月. 出处:http://blog.csdn.net/han_xiaoyang/arti ...
- Android+OpenCV 摄像头实时识别模板图像并跟踪
通过电脑摄像头识别事先指定的模板图像,实时跟踪模板图像的移动[用灰色矩形框标识] ps:一开始以为必须使用OpenCV Manager,可是这样会导致还需要用户去额外安装一个apk,造成用户体验很差, ...
- 【深度学习】:一门入门3D计算机视觉
一.导论 目前深度学习已经在2D计算机视觉领域取得了非凡的成果,比如使用一张图像进行目标检测,语义分割,对视频当中的物体进行目标跟踪等任务都有非常不错的效果.传统的3D计算机视觉则是基于纯立体几何来实 ...
- TensorFlow和深度学习入门教程(TensorFlow and deep learning without a PhD)【转】
本文转载自:https://blog.csdn.net/xummgg/article/details/69214366 前言 上月导师在组会上交我们用tensorflow写深度学习和卷积神经网络,并把 ...
- TensorFlow和深度学习新手教程(TensorFlow and deep learning without a PhD)
前言 上月导师在组会上交我们用tensorflow写深度学习和卷积神经网络.并把其PPT的參考学习资料给了我们, 这是codelabs上的教程:<TensorFlow and deep lear ...
随机推荐
- Netty笔记(7) - 使用Netty 模仿 Dubbo 实现简单的 远程调用
使用Netty 模仿 Dubbo 实现简单的 远程调用 使用 java的反射 动态代理 加 Netty的远程访问 实现根据接口的RPC 远程调用 定义两个公共接口: public interface ...
- Java 异常处理(2) : 方法重写的规则之一:
1 package com.bytezero.throwable; 2 3 import java.io.FileNotFoundException; 4 import java.io.IOExcep ...
- 冲击900亿美元估值!邀约路演、秘密交表的Shein上市有望
双十一的狂欢刚刚结束,Shein即将赴美上市的消息又在电商圈里投下一枚重磅炸弹. 继被媒体曝光其寻求900亿美金估值后,最新的消息称其已邀请投资人参与路演,且已秘密完成交表.这个神秘的中国独角兽,离敲 ...
- JavaScript 最新动态:2024 年新功能
前言 随着 Web 技术的日新月异,JavaScript 也在不断地吸收新的特性和技术,以满足日益复杂和多样化的开发需求.在 2024 年,JavaScript 迎来了一系列令人瞩目的新功能,这些功能 ...
- 面试官问我会ES么,我说不会,抓紧学起【ES(一)聚合分析篇】
ES聚合分析 1.metric(指标)聚合 1.1 单值分析 min 求指定字段的最小值 # 求价格的最小值 { "size":0, "aggs":{ &quo ...
- vue初学者入门教程
vue初学者入门教程 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www. ...
- day02-功能实现02
功能实现02 6.功能05-显示家居信息 6.1需求分析 进入后台系统,可以在页面进行所有家居信息的展示 6.2思路分析 完成从后端代码从mapper(dao层)-->Service层--> ...
- Java加密技术(四)——非对称加密算法RSA
Java非对称加密算法rsa 接下来我们介绍典型的非对称加密算法--RSA RSA 这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作,也很 ...
- AOSP12内置三方apk
一.准备工作 1.可正常编译的Android12的源码 2.三方apk:我这里选择的是一个ChatGPT的apk(下载地址:https://aigcfun.com/app-download),选择这个 ...
- RTMP、X264与交叉编译
RTMP.X264与交叉编译 与HTTP(超文本传输协议)同样是一个基于TCP的Real Time Messaging Protocol(实时消息传输协议).由Adobe Systems公司为Fl ...