(1.长江科学院 空间信息技术研究所,武汉 430010;2.鄂北地区水资源配置工程建设与管理局,武汉 430071)
工程安全是工程建设管理的重要环节,视频监控信息是描述工地现场安全状况最为直观的资料,也是工程建设过程管理的核心数据来源。传统的视频监控系统将所有视频探头的监控视频在屏幕上进行平铺展示,用户无法直观地了解监控点的具体位置、周围环境;同时,由于监控点之间是互相独立的,多路视频之间的关系不直观,无法还原整体施工场景。
将施工场景的地表三维模型与视频监控信息进行综合集成应用,实现视频流在三维场景下的实时展示和播放,便于管理部门有效而全面地把握施工现场的真实环境,为工地现场的安全防护、突发性事故应急与救援提供决策支持。
自Neumann等[1]提出实时视频与三维场景融合技术在大范围增强虚拟环境(augmented virtual environment,AVE)的构建以来,刘启芳等[2]对AVE技术用于目标检测也做了初步的探讨。动态纹理映射是增强虚拟环境相关技术中的一项关键技术,文献[3-4]对其进行了深入的研究。刘猛[5]详细探讨了动态纹理映射问题,但其主要针对序列图像进行实验,未做到多路视频实时渲染。李增忠[6]对纹理映射进行了详细研究,提出了各种局部纹理精确映射算法。赵凯等[7]根据实际应用提出Extend Shadow map算法将视频图像与三维场景无缝贴合,但未对视频和场景的配准过程做详细说明。阮芹[8]利用2个普通的USB摄像头进行了视频流的无缝拼接和实时显示研究,包括摄像头标定、畸变校正、特征点提取与配准、图像融合和视频显示等部分。侯沛宏[9]利用消费级深度相机和配准好的多视图像与网格模型,对多视纹理的无缝拼接方法做了探讨。王力[10]和王聪[11]对视频配准技术进行了详细研究,王一等[12]提出了一种基于梯度和与一致性组合策略的无缝纹理映射方法,针对三维纹理映射中存在接缝、颜色差异大等问题,采用基于梯度值之和的选片算法,结合一致性检查、全局颜色校正和局部颜色校正等策略,消除影像的模糊、重影与色差,实现无缝纹理映射,同时避免影像失焦和障碍物的影响,但该方法仅在数据量小的情况下适用,效率上无法满足实时视频映射需求。简洪登等[13]在视频与场景已配准的前提下提出了基于GLSL的多重视频纹理映射与融合。
综上所述,虽已有多位学者对投影纹理映射技术进行了探讨,但多是讨论映射处理的某一项关键技术,比如纹理映射方法[5-7]、纹理拼接方法[8-9]、影像配准方法[10-11]等,并没有给出一个完整的从视频监控到三维模型的解决方案,无法将其有效应用于解决现实工程问题当中去;同时,现有文献多是针对纹理投影的技术研究,基于纹理与图像已配准的前提,对于任意视频摄像头,在姿态未知的情况下如何进行映射的问题并未做深入探讨。
本文研究海量视频流与三维场景实时集成的解决方案,集成现场安装多视角视频探头,通过视频流解码技术得到多路视频影像序列,再通过影像与地表三维模型配准估算视频探头姿态,采用多路视频纹理增强和融合技术改善视频视觉效果,消除多路视频间的色差,真实还原监控现场的动态信息。
图1 视频流与三维场景实时集成技术流程Fig.1 Flow chart of real-time integration of video streaming and 3D scene technology
本文提出的具体解决方案流程如图1所示。首先对监控现场传输回的视频流进行视频解码,获取视频影像序列,再将序列影像与地表三维模型进行配准,估算摄像头姿态;随后,对视频影像进行纹理映射,并对多个视频纹理进行增强显示和融合处理,最终实现视频流在三维场景下的集成渲染。
视频编码技术的复杂程度直接影响后续视频解码过程的效率。目前国际上常用的视频编码技术标准主要有MPEG系列[14-15]、H.26X系列及VC-1系列[16]。
MPEG是活动图像专家组(Moving Picture Exports Group)的缩写,是压缩运动图像及其伴音的视/音频压缩标准[15],也是最为经典的视频压缩标准。它基于帧间压缩技术,存储连续帧间差异(高频信息),因此能够获得较大的压缩比。MPEG-4的最大压缩比可达到4 000∶1,大大提高了视频流传输效率。
H.264是MPEG-4压缩标准的第10部分,采用混合编码的方式来提高压缩比率,其最大压缩比优于MPEG-4。H.264编码在对误码和丢包的处理更为鲁棒的同时也具有很强的网络适应性。
VC-1编解码器是目前常用的高清编码格式之一,虽然其压缩比不如MPEG-4,但其解码计算量小于MPEG-4,在实现流畅播放方面更为容易。
根据视频的编码技术不同,本文分别采用相应的解码器对视频进行实时解码以获取视频影像序列。
为了实现海量视频流与三维场景的纹理映射,首先要进行视频影像与地表三维模型点之间的配准,才能准确获取视频影像上每一点纹理的精确位置。由于监控系统中摄像头是固定不变的,其位置和姿态都相对固定,因此就可以进一步解算出视频摄像头的外方位元素,得到摄像头的姿态数据。
本文具体配准流程如下:
(1)对视频影像序列以及当前的数字表面模型像分别进行SIFT特征提取,然后对特征描述量进行匹配,从而找到对应点。这里采用SIFT特征基于其平移旋转不变特性,提取到的特征点准确性更高。
(2)对于影像上某个SIFT关键点,遍历计算其到数字表面模型上的每个SIFT特征点的欧式距离,得到最邻近点与次邻近点,其距离分别表示为D1和D2,当二者比值满足小于某一阈值时,认为该点对为匹配点对。本文认为二者比值满足D1/D2<0.8时是初匹配正确的点。
(3)采用RANSAC算法对初匹配正确的点进行二次筛选,进一步剔除残差,得到最终的配准结果。
根据地表模型上的三维点和视频影像上的二维点的对应关系,采用直接线性法解算摄像头姿态。
假设相机矩阵为P,地表三维点为X,它在影像上的对应点x=[u,v,1]T满足关系
λx=PX。
(1)
式中λ为系数。
令P1,P2,P3分别表示相机矩阵的第1、第2、第3行,则
(2)
令
(3)
则
AP=0 。
(4)
当匹配点对个数>6时,采用最小二乘法求得相机矩阵的解。表1为本实验中计算得到的第1路视频对应的相机位置及姿态信息。
表1 第1路视频相机位置与姿态计算值Table 1 Estimation result of the location and pose of camera #1
在已知摄像头姿态的情况下,根据摄像头的姿态参数可直接计算得到需要映射的纹理坐标。纹理投影映射在可实现纹理与空间三维点的实时对应的同时,也有效避免了纹理的拉伸变形。
整个映射过程为:①根据估计得出的摄像头的位置姿态建立地表三维点和视频影像上纹理坐标的映射关系;②透视修正插值得到当前屏幕像素对应的纹理坐标;③进行纹理拾取,将映射纹理投射到三维模型表面进行显示,并每秒进行视频影像的刷新显示。
在三维展示平台上进行不同摄像头拍摄的视频流实时纹理映射时,需要对不同摄像头拍摄的视频依次进行纹理渲染。不同时间、不同位置拍摄的视频由于光照条件不同,视频之间的纹理明暗程度通常会有差别,这导致了2个问题:一方面,有些视频影像成像条件不佳导致视频动态对比度不够,视觉效果不佳;另一方面,不同的光照条件导致相邻的视频影像之间存在明暗差异,产生明显的拼缝。为了改善视觉效果,需要对视频影像进行影像增强,再在重叠区域进行融合处理以消除拼接线。具体流程如下:
(1)在视频映射前,对视频影像进行硬件加速实现实时直方图均衡化,以改善视频流影像的动态对比度。
(2)对于拼接线,采用倒距离加权融合的思路对相邻影像进行融合,实现影像渐变效果以消除拼接线。在纹理重叠区域,沿拼接重叠区域的对角线方向进行加权融合,随着离对角线的距离增加,一个视频影像的权值逐渐减小,而另一个影像的权值逐渐增加,权值大小由当前点到重叠区域的对角线的距离决定。
图2为2个视频帧的重叠区域示意图,其中ABCD为重叠区域,BD为重叠区域对角线。
图2 对角倒距离加权算法示意图Fig.2 Schematic diagram of diagonal weighted algorithm
假设第1个摄像头视频的纹理坐标为(s1,t1),第2个摄像头视频的纹理坐标为(s2,t2)。
(1)根据当前三维点对应的纹理坐标计算纹理重叠区域的位置,包括水平距离Smax和垂直距离Tmax,并得到对角线方程。
(2)在重叠区域内根据当前渲染点到对角线的距离,分别计算2个通道的权值。
(3)根据2个权值计算得到融合后的颜色值,得到当前点的渲染值。
直线BD的斜率k为
(5)
文献[13]给出了具体的加权融合公式,如式(6)所示,其中α为当前通道的权值。
(6)
本文采用武汉某仓库作为实验区域,该区域现有三维展示平台,加载了数字高程模型(DEM)和仓库的数字表面模型(DSM),如图3(a)所示。利用高清摄像头采集了多路视频数据,视频图像采用了H.264编码技术进行编码。本实验中采用的硬件设备为普通计算机,CPU为Intel i5四核CPU,内存为8 G,显卡为NVIDIA Geforce GTX970M,显存为1 G。
本实验首先对视频进行解码,得到影像序列,为平衡配准精度和计算量,选取前5 min的监控视频流,在SIFT+RANSAC配准后,估算摄像头的姿态。由于该仓库的摄像头是固定摄像头,认为该姿态为不变常量,因此在完成一次估计之后,后续所有基于该摄像头拍摄的视频均可直接做纹理映射。实验截图如图3(b)所示,为视频投影到DSM上的显示结果。可以从植被颜色看出视频中的植被由于光照不同而偏亮,DSM中的植被颜色偏暗一些。除色彩差别以外,几何形状上可以实现精确映射。
图3 场景三维叠加显示Fig.3 Three-dimensional display of the experiment area
将视频投影结果放大,并在动态播放条件下进行实时渲染,图4为视频实时动态播放下不同时刻的渲染结果截图。由图4可以看到,三维场景下,视频被准确投影到每个摄像头所在的位置,当点击摄像头图标时,可清晰地看到当前监控区域的视频信息,视频纹理与三维平台上的地表模型之间能有较好的融合效果,从视觉上可以清晰地看到小车在地表三维场景中流畅地行驶。
图4 不同时刻的视频映射结果Fig.4 Result of the experiment at different instances
该实验场景渲染的面数大概为200万,表2为实时渲染的效率统计。由表2可知,针对2路、4路、6路、8路视频,本文渲染效率稳定在48 fps以上,均能达到实时映射渲染的标准,同时运行效率优于文献[13]的实验结果。另外,文献[13]未给出8路视频下的实时渲染效率,本文给出了8路视频的渲染效率,为高于48 fps。
表2 实时渲染效率Table 2 Real-time rendering efficiency
本文对多路视频流与三维场景的实时集成技术进行了深入的探讨,给出了完整的解决方案。实验结果表明,本文的方法可以获得较好的视觉效果,不同摄像头拍摄的视频流之间的明暗程度一致,视频接边实现平滑过渡。在整个算法流程中,相机姿态求解是否准确直接影响后期高质量纹理映射。为了提高相机姿态估算,可在配准环节之后进行人机交互操作,微调相机参数。另一方面,当摄像头拍摄的视频流影像与当前平台展示的三维场景具有较大的差异时,若要保证前景和背景的色彩一致性,在做色彩融合时可能需要更多耗时,在此情况下需要对视频流与三维模型的高效色彩融合算法进行进一步研究和探讨。