0%

基于三维模型的监控画面模拟与深度标定工具开发

基于三维模型的监控画面模拟与深度标定工具开发。基于Vue + vite + electron + cesium的桌面端软件。

最近做的方向有这样一个需求:计算研究区域的众多监控摄像头画面对应的深度图,即能够得到画面上像素点对应的真实世界坐标。因此,开发了一款基于Electron+Vue的,依赖Cesium可视化研究区域三维模型(3dtiles)的桌面端软件Oculus,并模拟监控画面与视锥,以此做到真实画面与三维模型匹配,从而得到真实画面深度。

Oculus的主页面如下:

通过查询并点击右侧的摄像头信息滚动栏或者点击左侧地图中的摄像头图标,可以索引到该摄像头的位置,并在地图右上角弹出具体信息,软件右上角出现摄像头画面。

继续点击右侧栏的相应摄像头编辑按钮,打开编辑窗口如下。

左侧为摄像头基础参数编辑区域,包括经纬度与高程,航向角、俯仰角,垂直视场角,宽高比,远近平面距离。修改后,右侧视锥也会随着参数变化实时渲染。

点击切换为监控视角,即可观察到模拟监控视角画面,通过调整参数,达到和监控画面几乎一样的视域,同时,为了辅助对比,真实画面与模拟画面相应的位置存在五个辅助锚定点。

在调整好参数后,可以点击生成稀疏深度按钮,软件将选取画面上2000个点,计算其真实的三维坐标,并下载,同时下载的还有真实摄像头画面。

为了检测生成的点是否正确,我们将其倒入cesium中,同时加载和上文相同的三维模型,效果如下:

这样的效果证明,我们标定的坐标基本上是正确的,后续可以通过高程筛选z值,或者通过分布筛选,以选取符合目的的点。