基于视频的船舶航道三维动态呈现系统设计❋
2016-11-21张莉军刘建新
李 强,张莉军,刘建新
(1.河海大学物联网工程学院,常州213022;2.宿迁市普元软件科技有限公司,宿迁223800)
基于视频的船舶航道三维动态呈现系统设计❋
李强,张莉军,刘建新
(1.河海大学物联网工程学院,常州213022;2.宿迁市普元软件科技有限公司,宿迁223800)
针对现有船舶航道三维呈现系统在实时性和动态交互性方面的不足,提出了一种基于视频的船舶航道三维动态呈现系统构建方法。首先,建立静态航道场景的三维模型和船舶模型库;其次,基于视频检测运动船舶并跟踪提取其动态信息;最后,根据所得的船舶动态信息,将三维静态场景模型与运动船舶模型融合,实现三维虚拟场景对视频场景的实时仿真。该系统应用于闸室段,以皂河二线段闸室为例,可以很好地模拟视频中的场景和船舶运动,具有较好的实时性和交互性。
船舶跟踪;目标定位;模型融合;实时仿真;摄像机标定;交互
1 引 言
虚拟现实技术(Virtual Reality,VR),是近些年来新发展起来的“人—机”交互技术,它广泛应用于军事航天、交通运输、室内设计、工业制造、教育医疗等领域。这种仿真的本质是,通过计算机来生成非常接近真实的三维甚至是多维环境,同时用户可以通过键盘、鼠标等输入设备来操纵。虚拟现实技术在交通监控及仿真中的应用具有十分重要的现实意义。目前在水运上,智能化、集成化、可视化系统尚处于起步阶段,随着计算机图形学、虚拟现实、计算机视觉等技术的逐渐发展,对运河闸口运营监管提出了实时、直观、三维真实呈现等管控需求,但现有的三维呈现系统并不能同时满足实时呈现和动态交互。
在船舶运动仿真方面,海军工程大学李文魁[1]通过MATLAB编程开发了船舶运动控制实时仿真平台,可实现多种海况下的船舶仿真实验,并以曲线的形式显示仿真过程中的航迹航向等信息。厦门大学何金花[2]用Creator建立了船舶的三维模型,在Vega中对船舶运动进行了实时交互控制,效果良好。集美大学周世波[3]结合GIS基础地形数据,基于Creator和Vega构建了湄洲湾LNG船舶监管方案仿真系统,并采用了轴向包围盒AABB进行船舶的碰撞检测。武汉理工大学严忠贞[4]研究了内河在航船舶的动态跟踪和轨迹融合,采用了基于改进相邻帧差法和Hu不变矩特征的运动目标识别方法,提出了一种自适应带宽的Mean-shift目标跟踪算法。然而现有系统在船舶的动态信息和三维静态场景的融合方面鲜有涉及,在实时性和动态交互性方面也有待进一步改进。
针对上述问题,面向航道的闸室段,提出一种基于视频的船舶航道三维动态呈现系统构建方法。在通过视频检测到船舶进入航道以后,加载对应的船舶模型;跟踪提取出船舶的位置和速度等动态信息;再将静态模型和船舶的动态信息在三维场景中融合,实现实时动态呈现。该系统易实施、成本低、有利于提高船舶的监管效率,为水运提供了一种便捷的管理方式。
2 系统框架
系统采用VS2010作为开发平台,使用3dsMax实现三维模型的建模,OpenCV和OSG分别进行图像处理部分与三维模型融合部分的设计。设计目标是通过检测和跟踪视频中的运动船舶,得到船舶的动态信息,然后将三维虚拟模型和船舶的动态信息融合,仿真船舶在视频中的运动。仿真的船舶运动过程反映了船舶的实际运动过程,用户可以实时的对航道闸口段中的船舶运动过程进行监管。按照解决问题的逻辑过程,本文将系统分为初始化模块、图像处理模块和模型融合模块,并按照这三个模块设计整个基于视频的船舶船闸三维动态呈现系统。图1所示为系统设计流程图。
图1 系统设计流程图
(1)初始化模块
初始化部分主要包括模型建立、视频数据和摄像机标定。模型建立是通过3dsmax软件建立对应的航道模型和船舶模型库,并对船舶进行分类;视频数据由皂河二线下游闸室段一处固定摄像头事先采集获得;获取摄像机的位置信息与倾斜角度,由摄像机标定计算出摄像机内参数,为二维像素坐标值转化为三维坐标值做准备。
(2)图像处理模块
根据初始化模块采集的视频数据先进行背景建模,由背景减法分割图像,在船舶可能进入航道的初始位置设置感兴趣区域,对所获检测船舶的团块处理和筛选,当检测到有运动船舶进入航道时发出加载船舶模型的指令,并同时截取船舶的部分感兴趣区域作为初始化跟踪模板,由改进的camshift算法进行船舶的实时跟踪,每隔一定帧数返回中心点的坐标,传递给三维融合模块。
(3)三维融合模块
由图像处理模块返回的中心点坐标,结合摄像机标定所得的摄像机内参数,由单目测距模型转化为三维模型中的坐标,从而对三维虚拟船舶进行定位,场景实时更新,同时实现对三维场景的交互。
3 主要功能模块
系统的主要功能模块包括图像处理模块和三维融合模块。其中,在图像处理模块中,运动分割和特征提取、位置跟踪是其中的关键子模块,前者主要负责船舶的检测和分割,后者负责船舶的实时跟踪;在三维融合模块中,三维虚拟模型定位和更新位置与姿态属于关键子模块,实现船舶位置在三维模型中的实时定位与更新。
3.1运动目标检测和分割
运动目标检测是处理视频数据的第一步,关系到后续的船舶跟踪和三维模型的加载。当船舶进入航道时,需要及时检测到运动船舶并将指令传递给三维融合模块以加载对应的船舶模型。采用背景减法[5]从视频图像中分离出前景内容以识别运动船舶,首先用平均背景法建立背景模型,然后将当前图像与背景图像作差运算并采用Otsu算法[6]对图像二值化,最后,筛选团块从而分割得到运动目标。如图2为运动目标检测和分割流程图,图3为运动船舶检测效果图。
图2 运动目标检测和分割流程图
图3 运动船舶检测效果图
3.2运动船舶的camshift自动跟踪
Camshift是一种实时跟踪算法,该算法是基于目标颜色特征通过迭代算法进行目标定位,其准确性和鲁棒性比较好。使用camshift算法需先将RGB颜色空间转化为HSV颜色空间,再利用H分量的直方图建立颜色概率模型。在跟踪过程中,对视频图像处理区域中的每一个像素,通过查询目标的色彩直方图模型,可以得到该像素为目标像素的概率,图像处理区域之外的其他区域作为概率为0的区域。
由于camshift算法是利用区域内的颜色信息对目标进行跟踪,因此就有此算法的缺陷,即当区域内目标颜色与背景颜色相同时会导致区域发散甚至跟踪失败。利用背景差分法先提取目标区域再进行camshift算法跟踪,可有效解决此问题。如图4为改进的camshift跟踪[7-8]流程图,图5为camshift跟踪图,此处选取船尾部分作为感兴趣区域,每隔20帧返回搜索中心的坐标。
图4 camshift跟踪流程图
结合所用皂河二线下游闸室段一处特定摄像头位置和角度特点,由于需要在船舶刚进入航道时加载船舶模型,随即对船舶的位置进行实时跟踪,即检测到船舶时便截取船舶前端作为模板进行跟踪。随着视频的进行,船舶向远离摄像头方向运动,前端逐渐受视角限制,会导致效果变差直至跟踪失败。为解决此问题,采用了多模板设计,对每个模板的窗口大小设定阈值,当窗口的大小值小于阈值时,在原模板基础上自动截取相邻的下一段感兴趣区域做模板,从而保证对船舶的跟踪具有较好的精度。这种情况下,在后续计算位置时,需考虑模板间的距离差,从而对位置进行调整。
图5 camshift跟踪图
3.3三维虚拟模型定位与更新
三维虚拟模型定位与更新包括摄像机标定、单目测距模型及船舶位置更新三部分,通过摄像机标定可获取摄像头内外参数,单目测距模型用来进行船舶的位置计算,最终在三维模型中实现船舶定位与位置更新。
3.3.1摄像机标定
摄像机标定是指建立摄像机成像几何模型,描述空间坐标系中物体点同它在图像平面上像素点之间对应关系的过程。摄像机标定的目的是确定几何模型参数即摄像机参数。利用标定的结果可以计算空间点与像素点之间的转换关系。摄像机的内参数主要是其内部光学和几何特性的描述,外参数是摄像机与世界坐标系的相对位置。本文采用张正友标定算法[9-10]获得摄像机内参数。
张正友标定算法是目前应用最广泛、技术相对成熟的一种基于二维靶标的标定方法。标定使用的靶标选用黑白相间的类似棋盘的2D平面图形,在标定时将世界坐标系建立在靶标上,以棋盘所在的平面为世界坐标系平面,这样根据制定好的棋盘方格大小就能够知道靶标上角点的坐标值。使用张正友标定算法能够快速、有效的建立起世界坐标系与像素坐标系之间的关系。
3.3.2单目测距模型
目前,基于视频的测距技术分为单目测距、双目测距和多目测距。单目测距[11-15]只有一个摄像头,约束条件比双目测距低,具有可用性更强,操作简单和成本低等优点。本文中采用单目视觉测距,基于小孔模型,忽略摄像机的畸变,通过二维图像与三维空间的转换,建立测距公式,求取视频内船舶距离参考点的距离。图6为单目测距的几何模型。
图6 单目测距几何模型
如图6所示,M点为摄像机投影点,O′为图像中的某点,图中OO′=f,u0,v0,fx,fy为摄像机标定所得内参,O′(u0,v0),光轴与地面夹角为α,摄像机高度H,由模型得β=α-γ,ΔOPQ-ΔOP′Q′,可得测距公式为:
由上述测距公式,可测得船舶相对于摄像机投影点的垂直和水平距离。在三维虚拟模型中事先确定摄像机的位置,即可相对准确的获得船舶在对应时刻位于三维模型中的位置。
3.3.3船舶位置更新
在图像处理模块,检测到船舶运动之后,每隔一定帧数(10或20帧),计算船舶的位置变化,当检测到船舶运动时,发出船舶位置更新指令,并将返回的位置及计算的速度参数传递给三维矩阵变换节点(osg::MatrixTransform)。三维融合模块接收到船舶位置更新指令后,通过设置矩阵变换节点参数,即可完成场景中船舶模型的平移、旋转等操作,进而更新船舶的位置。OSG场景的组织结构图如图7所示。
图7 OSG场景组织结构图
4 系统实现
系统采用MFC制作界面,界面分为三个部分:水运图显示区、视频显示区和三维模型显示区。水运图显示区显示江苏省主要水运分布图,视频显示区显示摄像头捕捉的视频文件,三维模型显示区显示航道模型、周围场景模型和后续加载的船舶模型。以宿迁段、皂河二线下游闸室某处摄像头为例,通过鼠标点选选取该水运段,在选取该水运段后加载此处视频及其对应的三维航道模型;检测到船舶进入航道以后,再加载对应的船舶模型。
系统采用三线程设计:UI线程、图像处理线程和OSG线程。图像处理线程负责更新视频、传递添加模型及更新模型位置指令,OSG线程负责三维虚拟场景的实时更新,UI线程负责处理UI事件。图8所示为系统线程图,图9所示为系统的区域分布图。
图8 系统线程图
图9 系统区域分布图
图10为系统在前后不同时刻的界面图。在选取对应航道后,即加载视频文件和场景的对应航道模型,界面如图9所示;当有船只进入航道,检测到船舶,系统提示检测到船只,对应图10(a);随即对船舶进行跟踪,图10(b)和10(c)对应船舶的前后某时刻跟踪状态,三维模型区域的虚拟船舶随着视频中船舶的位置变化而运动;图10(d)对应视频结束时系统的界面,系统提示视频结束。
5 结束语
在MFC框架下,结合OpenCV和OSG提出了一种基于视频的船舶航道三维实时动态呈现系统的构建方法。该方法通过运动船舶的检测与跟踪,将船舶在二维图像的像素位置输出并通过摄像机标定技术转化为三维模型中的位置信息,最终将静态的航道船舶模型与船舶的动态信息融合为三维场景输出。通过对皂河二线下游的一段视频验证,该系统可以较好和较准确的还原视频中船舶的运动,相比于现有的船舶航道三维显示系统,不仅基本满足了实时性要求,且具有很好的交互性。系统目前仅适用于闸室段,在闸室外的复杂场景下有待于进一步研究和改善。
图10 系统不同时刻界面图
[1]李文魁,陈永冰,田蔚风,等.基于MATLAB的船舶运动控制实时仿真研究[J].系统仿真学报,2007,19(19):4424-4427.LI WK,CHEN YB,TIAN WF,et al.Real-time simulation of ship motion control based on MATLAB[J].Journal of System Simulation,2007,19(19):4424-4427.
[2]何金花.船舶运动建模及虚拟现实技术的实现[D].福建:厦门大学,2007.HE JH.The realization of the ship motion modeling and virtual reality technology[D].Xiamen university in 2007.
[3]周世波,熊振南.湄洲湾LNG船舶监管方案仿真系统设计与实现[J].上海海事大学学报,2009,30(4):52-56.ZHOU SB,XIONG ZN.Design and implementation of Meizhou bay LNG ship regulatory scheme simulation system[J].Journal of Shanghai maritime university,2009,30(4):52-56.
[4]严忠贞.内河在航船舶动态跟踪和航迹融合方法研究[D].武汉:武汉理工大学,2013.Yan ZZ.The method research of the navigation of ship dynamic tracing and track fusion in the inland waterway[D].Wuhan university of technology,2013.
[5]杨阳.基于视频的运动目标检测和跟踪技术[D].浙江:浙江大学,2014.Yang Y.Moving target detection and tracking based on video technology[D].Zhejiang university,2014.
[6]汪海洋,潘德炉,夏德深.二维Otsu自适应阈值选取算法的快速实现[J].自动化学报,2007,33(9):968-970.WANG HY,PAN DL,XIA DS.A Fast Algorithm for Two-dimensional Otsu Adaptive Threshold Algorithm[J].Acta Automatica Sinica,2007,33(9):968-970.
[7]赵文倩,匡逊君,李明富.基于改进的Camshift运动目标跟踪算法的研究[J].信息技术,2012(7):165-169. ZHAO WQ,KUANG XJ,LI MF.The research of Moving target tracking algorithm based on improved camshift[J].Journal of information technology,2012(7):165-169.
[8]左军毅,梁彦,潘泉,等.基于多个颜色分布模型的Camshift跟踪算法[J].自动化学报,2008,34(7):736-742.ZUO JY,LIANG Y,PAN Q,et al.Camshift tracking algorithm based on multiple color distribution model[J].Journal of automation,2008,34(7):736-742.
[9]ZHANG ZY.A flexible new technique for camera calibration[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2000,22(11):1330-1334.
[10]ZHANG ZY.Flexible camera calibration by viewing a planefromunknownorientations[C].//Computer Vision,1999.The Proceedings of the Seventh IEEE International Conference on.IEEE,1999(1):666-673.
[11]王士明.基于计算机视觉的车辆单目测距系统研究[D].天津:天津大学,2012.WANG SM.The research of vehicles from single visual system based on computer vision[D].Tianjin university,2012.
[12]ZHU SP,QIANG XF.Study on monocular vision method used for camera positioning[J].Acta Optica Sinica,2001,21(3):339-343.
[13]HUANG GP,LI GY,YE SH.Evolution for monocular vision measurement[J].Acta Metrologica Sinica,2004,25(4):314-317.
[14]GUO L,XU YC,LI KQ,et al.Study on real-time distance detection based on monocular vision technique[J].Journal of Image and Graphics,2006,11(1):74-81.
[15]LIU BR,XIE Y,YANG YM,et al.A self-localization method with monocular vision for autonomous soccer robot[C].//Industrial Technology,2005.ICIT 2005.IEEEInternationalConferenceon.IEEE,2005:888-892.
Design of 3D Ship and Channel Dynamic Rendering System Based on Video
Li Qiang,Zhang Lijun,Liu Jianxin
(1.College of Internet of Things Engineering,Hohai University,Changzhou 213022,China;2.Puyuan Software Technology Co.,Ltd,Suqian 223800,China)
In view of the defects of existing 3D ship rendering system in real-time and dynamic interactive,a method,based on video,is presented to construct the 3D ship and channel dynamic rendering system.First of all,a static 3D channel scene model and ship model library are established;Secondly,based on the video,the movement of ship is detected,and extract the dynamic information is tracked.Finally,according to the ship dynamic information obtained,enable the 3D static scene model and the motion of ship model integration and realize the 3D virtual scene real-time simulation of video scene.This system,applied in lock chamber and using ZaoHe second-line section of the lock chamber as an example,performs simulation in the video scene and ship motion well and has good interactive and controllability.
Ship Tracking;Target Location;Model Integration;Real-time Simulation;Camera Calibration;Interact
10.3969/j.issn.1002-2279.2016.01.016
TP391.9
A
1002-2279(2016)01-0062-06
❋江苏省经信委项目(2013HB1403);常州市科技支撑项目(CE20140008)
李强(1989-),男,安徽省蚌埠市人,硕士研究生,主研方向:虚拟现实。
2015-05-21