查看原文
其他

一文详解三维视频融合,更立体的视频、更动态的三维~

六六/蓝色小丸子 GIS小丸子
2024-09-03

丸子碎碎念:

最近有个合作伙伴找到我们想了解一下视频相关的东西,他核心的痛点是:

1、如何盘活海量的城市视频监控数据,服务于业务;

2、目前市面上大多数GIS和视频结合的方式还是采用再三维模型中通过视频图标集成的方式,这种方式太不直观;

这个的确是当下的一个现状,为此我邀请了一直从事“三维视频融合”的六六给大家介绍一下当前三维和视频融合的现状,原文如下:

01三维视频融合

视频三维融合的概念最早发源于视频地理信息系统研究中,从提出至今已经有十余年时间。回过头来看,视频地理信息系统当初提出了很多新颖的概念,然而真正得到大面积应用的,似乎也唯有视频三维融合这一点。时至今日,大量GIS厂商都已经推出视频三维融合的相关产品,不断拓展视频三维融合的应用范围。传统的监控设备生产厂商也在逐步跟进,试图摆脱对GIS厂商的依赖,形成独立的产品线(如下是南加州大学做的一个视频和三维模型融合的案例)。

说到这里,对视频三维融合不熟悉的读者可能会迷惑:为什么要将视频与三维融合起来呢?出于安防需要,城市中的监控相机越来越多,分辨率越来越高。基本所有的沿街道路,都能够被监控摄像头无缝覆盖。一个普通的地铁站,可能就有上百路监控摄像头接入。对于如此多的摄像头,以往的工作人员只能在显示器上一路一路地观看,或者通过九宫格之类的方式同时观看多路视频。观看一路视频,视角很局限;观看多路视频,需要工作人员在大脑中将多个分散的视频合并,才能得知整个场景的情况。同时,观看视频的时候,我们只能看到视频中的画面,对于视频画面之外的环境一无所知,而很多时候,监控视频画面之外的周边环境,对于应急决策往往有重大的参考意义。

从另一方面说,三维GIS一直在重建静态的场景模型,缺少动态的要素,而一个真实的场景应该是动静结合的。三维模型是静态的,监控视频是动态的。将静态的模型与动态的视频融合,方能同时发挥两者的优势,还原出一个真实的场景。

02融合基本方法

既然视频与三维模型融合有这么多优点,那么怎样才能将视频投影到三维模型表面呢?想象一下在会议室播放PPT的场景,需要一个投影仪和一块幕布。对于视频融合也是同样的配置,监控相机可以类比投影仪,接受视频作为纹理的网格可以类比于幕布。视频融合的问题就简化为两部分:(1)计算监控相机的内、外参数;(2)生成作为幕布的网格。

1.1 计算监控相机的内、外参数

先说一下相机内、外参数。熟悉计算机视觉和摄影测量的读者对相机参数应该比较熟悉。相机的参数分为两部分:内参,即相机内部的参数,指影像传感器和镜头的一些参数,主要包括:焦距、像主点坐标、畸变系数,一般用矩阵K表示;外参,指相机的位置t和朝向R,位置一般用三维的向量表示,朝向可以用四元数或者旋转矩阵表示。

相机内参一般可以根据相机的型号,查询到相关的参数,比如焦距和传感器尺寸等。如果是未知型号的监控相机,可以用计算机视觉中的棋盘标定方法,可以很方便的计算出相机的内参。感兴趣的读者可以百度“opencv相机标定”,随便打开一个网页就能学会。

有了相机内参,就可以开始计算相机外参。不考虑模型变形的情况下,我们重建的三维模型与真实场景可以认为是一一对应的。在真实场景中,我们知道图像中的一些像素点的三维坐标和相机内参,就可以计算出相机的三维坐标,也就是计算机视觉中的PnP问题。(测绘叫后方交会?)那么如何计算监控相机在三维场景中的外参呢?通过在三维场景中选几对和监控视频画面中像素的同名点,即根据监控视频的图像,选几个明显的特征点,然后在三维模型中得到这几个特征点的三维坐标(射线与模型相交),再结合相机内参矩阵,就可以计算出相机的位置和朝向了。还不会?百度“opencv solvepnp”分分钟入门。

1.2 生成投影幕布

幕布的生成相对比较复杂一点,主要是没有现成的工具可以使用。那如何得到幕布呢?最简单的情况,用一个矩形作为幕布,可以这么做,早期确实有人这么做。但是这样做的效果很不好,类似于在三维模型中播放视频,三维模型和视频没有任何融合。

如果希望生成的幕布和模型比较贴合,就需要生成一张网格。网格中每个点对应监控画面的每个像素。那怎么知道每个像素的三维坐标呢?设想一下,你把照片放在相机前面,是不是可以从相机中心到照片中每个像素形成一条直线,这条直线会和场景中某个对象相交,这个交点的坐标就是这个像素所对应的三维坐标。再简单点说,就是从相机中心发射一些穿过图像像素的摄像,利用 这些射线与场景相交,就可以得到每个像素的三维坐标。对这些三维点构网,然后把监控画面作为纹理,映射到网格上,也就完成了视频与三维场景的融合。

细心的读者可能会发现,上述方法有问题,那就是数据量很大。设想1280*720的图像,就有近百万像素,生成的网格有将近两百万三角形。在实时渲染过程中,这已经算是不小的负担了。因此,在应用中一般不会逐像素的生成幕布,更多的是在图像上等距离地选择一些采样点,构建一个比较稀疏的网格,比如每隔10个像素取一个点。当然,这样生成的网格和三维模型贴合的就要差一点,但是网格变稀疏了,渲染效率也就能够保证。

03当前融合还有哪些难点?

视频与三维融合是三维GIS与视频结合的一个典型应用,在可期的未来,视频三维融合应该还会得到进一步推广,出现在各种相关的管理平台中。但吹了这么多,视频与三维融合有没有什么缺点呢?其实还不少:

   (1)增加三维模型的建模成本。虽然倾斜摄影技术的发展,极大地降低了户外三维模型的建模成本,但建模费用仍然是不可忽略的成本。对于室内而言,目前仍然没有一种快捷、廉价地建模方案,大多依据人工建模,成本居高不下。

   (2)观察视角问题。视频映射到模型表面,只要当用户用户与监控相机视角一致的情况下,观察效果才会比较好。如果用户视角与相机视角差异较大,那么浏览的时候画面会被扭曲的非常严重。

   (3)三维场景中能同时接入的视频数量有限。虽然现在的显卡性能越来越好,但是现在一张显卡,单机也能能同时解码十路视频左右,如果三维场景中的监控相机比较多,就难以同时接入很多路视频。

   (4)视频中的目标,如行人和车辆等,无法提取出来。视频投影到三维模型表面后,视频中的人和车看起来不像是立在地面上的,而是整个人或车都贴合在地面上,拉伸非常严重。

   (5)视频拍摄的空间分辨率低,每个像素对应三维场景中很大一块区域(几平方分米,甚至更大),使得视频不得不缩放,以和三维模型的分辨率相匹配,造成视频画面看起来的比实际模糊。

当前对于视频应用比较广泛的方式主要还是以如下几个方式:1、三维模型中视频图标集成;2、AR全景视频相机+POI标注;3、视频的AI要素识别,对于三维的视频融合的方式目前还没有广泛的铺开,但是这种的融合呈现的方式更直观,不仅可以知其形,还可以会其意,这种动态的图像融合既可以让视频更加立体,同时也会让三维场景“动起来”,类似的融合还有VR全景和视频的融合,随着视频采集体系朝着“空天地”一体化的方向发展,丸子觉得这是一个很值得重点投入的方向。

继续滑动看下一个
GIS小丸子
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存