基于红外成像的船舶净空高度测量方法
2020-06-30董丽丽许文海
董丽丽, 张 科, 许文海
(大连海事大学信息科学技术学院,大连 116026)
由于中国对于通航水域桥梁防止船舶碰撞法规和工程技术规范仍不完善,部分桥梁对于船舶碰撞的防护能力仍并未达到国家现行建筑规范的要求,同时船舶的大型化导致船舶的撞击能力增加,部分桥梁对于船舶碰撞的防护能力无法适应船舶大型化的要求,超过桥梁高度的船舶一旦通过桥梁,轻者将造成船-桥损伤,重者将船毁桥塌,造成重大的人员伤亡、财产损失以及严重的环境污染[1]。以2015年广东肇庆西江大桥吸砂船碰撞事故为例,该事故造成了西江大桥桥梁受损,经济损失4 000余万元,而此类事故在国外也时有发生。因此,研究一套有效的桥梁防撞系统对于中外水上交通的安全和发展有重要意义。
中外学者针对船舶撞桥问题开展研究工作起源于20世纪60年代末,直到1983年6月,国际桥梁和结构工程协会IABSE第一次在哥本哈根举行“船撞桥合理设计与分析”专题研讨会,使船撞桥研究迈入了一个快速发展的时期[2]。目前,桥梁防撞技术的研究主要有两种。一种是被动防撞技术,该防撞技术通过改变船舶撞击力方向、吸收或消散撞击能、限制及降低由船舶转移到桥墩上的撞击能等方式保护桥梁。孙亚军[3]在2012年提出了刚-聚氨酯夹层结构,提高了桥梁的耐撞性能;金轩慧[4]在2014年设计了一种复合材料防撞套箱,减少船桥碰撞的撞击能。2018年,彭达[5]结合钢板的刚性和橡胶等材料的塑形变形吸能较大的特性,将钢板层和橡胶层连接,提出一种软硬交替的防护系统。被动防船撞技术仅考虑对桥梁的防护,以物理手段降低事故后果的严重性[6],不能降低事故频次。第二种为主动防撞技术,近年来,许多学者对主动防撞系统进行了研究:徐言民[7]在2010年运用船舶操纵运动理论及运动数学模型建立了受控船舶安全航行模型、失控船舶临界撞桥模型,并据此建立了桥梁主动防船撞系统;张慧哲等[8]在2011年提出了基于视频监控技术的桥梁防撞系统解决方案,通过监控预警体系发现违规行驶船舶并发出警告;王淑等[9]在2012年提出了基于光电复合探测的桥梁主动防船撞系统,该系统主要通过船舶目标航迹预测船舶通过桥梁的位置、到达时间等,对撞桥风险给予准确的判断。上述船桥防撞系统都只对偏离航道或失控船舶进行了监视和预防,间接对船-桥碰撞进行预测,没有直接考虑超高船舶通过桥梁造成的严重影响。
根据目前研究现状,以预防超高船舶通过大桥为目的,以摄像机针孔模型为原理,以目标检测算法和高精度船舶轮廓提取算法为基础,提出了一种基于红外成像的船舶净空高度测量方法。该方法摒弃了传统的可见光监视技术,采用红外监测技术,避免恶劣天气和夜间情况对监视效果的影响;针对红外图像相不清晰问题,重点对脉冲耦合神经网络(PCNN)边缘检测算法进行改进,提高船舶轮廓的提取精度,以实现全天时、全天候测量,达到实时检测、减少通航水域船桥碰撞事故的目的。
1 测量方案
采用红外摄像机完成视频序列的采集工作。由于红外成像受外界光照条件的影响弱,穿透烟雾能力强,避免了恶劣天气(如大雾)和夜间光照弱对视频监视的影响,可满足全天候,全天时的设计需求。测量方法示意图如图1所示。
图1 测量方法示意图Fig.1 Schematic of measure method
为了获取合适的红外图像序列,将红外摄像机架设于岸边的立杆上,俯拍江面船舶,架设高度和岸边距离等可根据实际情况而定。由于红外摄像机视场过大会导致计算精度降低,所以选择较小视场,但是小视场带来的问题是小视场不能监测到整个江面,故可将摄像机置于可上下旋转的云台上,通过云台的转动调节监视视场,达到监测整个江面船舶的目的。
船舶净空高度的测量整体算法分为三部分,分别为船舶检测、高精度船舶轮廓提取、船舶净空高度的计算。整体算法方案如图2所示。
图2 整体算法结构图Fig.2 Overall algorithm structure diagram
红外摄像机采集红外视频序列后,将红外图像经预处理作为初始图像,通过船舶检测算法(视觉注意力模型目标检测算法与管道滤波算法相结合)对初始红外图像进行目标检测,若检测到目标船舶,则提取船舶精确轮廓,判断图像中船舶是否为船舶正侧面图像,若是直接计算船舶像素高度,反之通过透视变换矫正后计算船舶像素高度。最后根据摄像机针孔模型计算船舶实际净空高度,反馈计算结果。若发现超过桥梁通航高度的船舶则立刻发出警报,通知相关监管人员阻止船舶通过大桥,同时记录告警事件和视频数据。
2 算法方案
2.1 船舶检测算法
船舶检测算法用于从红外序列图像中检测船舶目标,获取船舶所在的连通域,为船舶轮廓提取部分奠定基础。
目前常用的目标检测算法有小波变换法、视觉注意力模型算法和局部峰值算法。其中小波变换算法对于纹理方向性较强的干扰(如江水波浪、云层)有很强的抑制效果,适用于弱小目标的检测,局部峰值算法同样对于弱小目标有很好的检测准确率。视觉注意力模型算法能够实现对图像中大目标以及小目标的同时检测。结合的测量目标主要为大型船舶,视觉注意力模型检测算法能够更好地实现检测船舶的目的。
由于红外摄像机采集的红外图像中不仅包含船舶目标,还可能包含其他背景,所以采用视觉注意力模型目标检测算法检测到疑似目标后,再根据船舶运动的特点采用管道滤波多帧判决算法去除干扰,找到真实船舶目标。船舶检测算法结构框图如图3所示。
图3 船舶检测算法结构框图Fig.3 Ship target detection algorithm block diagram
传统视觉注意力模型目标检测处理过程一般分为三步:特征图提取、显著图合成和显著性区域提取。由于红外图像为灰度图像,传统视觉注意力模型算法在此应用中存在以下三点缺陷:①红外图像中颜色形态将无法应用;②计算背景平滑度时会将图像边缘区域显著性降低导致图像边缘地区的目标被漏检;③检测过程需要人工监督,无法得以工程应用。
所以在实际应用中,选用改进的视觉注意力模型算法,改进部分分别是基于背景平滑性评估的原始特征依据选取、非边缘衰减的center-surround 差异算子、基于局部显著性强度的显著图并行化阈值处理方法,参看文献[10]。
单帧的目标检测中可能包含伪目标,为了去除这些伪目标,应用管道滤波算法。管道滤波算法是依据目标轨迹在图像序列中的连续性所构造的一种时空滤波器[11],它的基本原理是以第一帧图像中的某个检测目标为中心建立一个沿时间轴伸展的时空管道,管道长度代表连续检测的时间长度,管道直径代表作用范围[12]。当该检测目标在管道内的出现次数达到阈值要求时,判定该检测结果为真实目标,否则将其视作干扰去除。
通过上述单帧检测算法和多帧判决算法,能很好地达到检测船舶的目的,算法检测结果如图4所示。结果表明,管道滤波能够有效去除伪目标,如图4中的桥梁,准确检测到船舶目标。
图4 船舶目标检测结果Fig.4 Ship target detection results
2.2 改进的PCNN轮廓提取算法
船舶轮廓提取算法是在船舶检测算法的基础上完成,进行轮廓提取时重点关注目标的连通区域。是否能够提取较为精确的船舶轮廓信息对船舶净空高度测量模块的提取精度有直接的影响。
常用的轮廓提取方法有脉冲耦合神经网络法(PCNN)、Canny边缘检测法等。但当船舶的灰度值和背景的灰度值接近的时候,Canny算法容易受到江面波浪等干扰,无法将船舶轮廓从背景中提取精确的轮廓PCNN算法能够结合局部区域特性进行区域触发,很好地避免了相似灰度级的背景和杂点的触发[13],所以选择PCNN算法来提取船舶轮廓。
基本的PCNN算法存在一定的缺陷:①根据经验选取初始阈值的不合理性;②由于船舶所处环境的特殊性,江面形成的倒影与船舶灰度值接近,虽然PCNN对杂点的触发有很好的抑制作用,但轮廓提取结果仍然存在少量冗余点。
针对以上缺点,做了两点改进,分别是基于大律法的最佳阈值选取,形态学运算去除冗余点。改进的PCNN轮廓提取算法结构如图5所示。
图5 轮廓提取算法结构框图Fig.5 Contour extraction algorithm block diagram
2.2.1 基于大律法的PCNN轮廓提取
由于PCNN模型中初始阈值的设定常依赖于经验,而不合理的设置会抑制PCNN的优势[14],所以初始阈值的选取对PCNN轮廓提取效果有着重要影响。结合船舶红外图像的灰度分布信息,选择大律法对PCNN初始阈值的选取进行优化。
大律法基于图像的统计特性实现阈值的自动选取,其基本思想是用某一假定的灰度将图像分成两组,当两组的类间方差最大时,目标和背景的方差最大,这就意味着图像目标和背景的差别越大,当部分目标错分为背景或背景错分为目标时都会导致方差值减小,因此大律法可以使图像分割出错的概率最小。
由大律法得到最佳初始阈值后,进入PCNN轮廓提取算法。PCNN处理灰度图像时模型如图6所示。
Fjk、Ljk分为反馈输入和连接输入;Ujk为神经元内部活动项;θjk为动态阈值;Yjk为输出项;β为连接连接强度系数;α为阈值比例系数,调节阈值大小;Vθ为阈值幅度系数图6 PCNN模型结构示意图Fig.6 Structure of PCNN model
PCNN处理灰度图像时,将图像中的每个像素点的灰度和以该像素点为中心周围像素点灰度加权和作为输入部分;通过连接系数β将两者耦合内部活动项,作为调制部分;最后将内部活动项和动态阈值θ进行比较,若大于阈值,则该神经元为激发态(俗称点火),输出Y置1,反之为未激发态,输出Y置0,通过这样反复迭代循环,就会将原始图像分割成一幅二值图像。再应用最大香农熵法则对分割结果进行最佳分割的判断,若符合最佳判定标准则分割结束。
使用大律法最佳阈值为PCNN初始阈值轮廓提取结果如图7所示。
图7 改进PCNN轮廓提取算法结果Fig.7 Improved PCNN contour extraction algorithms
由图7(b)可知,根据经验选取初始阈值造成了船舶轮廓的部分缺失,而图7(c)中通过大律法最佳阈值自动选取避免了船舶底部部分被划分为背景的错误分割现象,提取的轮廓较为完整。通过计算,图7(b)、图7(c)船舶像素高度差为18像素,这意味着由于轮廓提取不准确会导致船舶净空高度计算误差增大1.8 m。可以看出,基于大律法的 PCNN 轮廓提取比较精确,但该算法提取得到的轮廓周围仍不可避免地存在少量较小的冗余点,故加入了形态学运算去除冗余点,达到高精度轮廓提取的目的,提高船舶净空高度计算精度。
2.2.2 形态学运算
PCNN轮廓提取算法在应用背景中存在轮廓边缘多余像素点的问题,形态学运算可以通过二值化图像和结构元素相互作用的运算使图像质量得到改善[15],其中形态学开运算通常用于去除较小的明亮细节,并且图像的整体外部轮廓基本不会发生变化,故选择形态学开运算去除冗余点。
通过上述基于大律法初始阈值选取和形态学运算去除冗余点PCNN算法的改进,PCNN轮廓提取效果得到了较大的提升。
改进的PCNN最终轮廓提取结果如图8所示。
图8 轮廓提取结果Fig.8 Contour extraction results
由图8可知,改进后的轮廓提取算法可以很好地提取船舶轮廓,为后续船舶净空高度的计算奠定良好的基础。
2.3 透视变换矫正
透视变换用于矫正船舶检测到的不同角度的大型船舶图像。由于摄像机拍摄的红外图像中,船舶可能处于不同角度(分为正投影图像和斜投影图像),同时摄像机的成像特性和与光学原理所产生的透视效果会导致图像中的目标产生透视畸变[16],从而影响船舶净空高度测量精度,故需要对红外摄像机获取的斜投影图像进行二次投影变换得到正投影图像,同时矫正透视畸变。
透视变换是通过坐标变换将图像投影到一个新的视平面,也称投影映射。它基于3×3矩阵的变换,计算式如式(1)所示:
(1)
式(1)中:(u,v)为原始图像像素坐标;(x,y,z)为其次坐标,透视变换后得到的图像像素坐标为(x′,y′),则:
(2)
(3)
由式(2)、式(3)可知,透视变换方程组有8个未知数,故求解需要找到四组映射点。对于斜投影的船舶红外图像,可以根据图像中船舶的倾斜角度绘制船舶外接四边形,分别以此外接四边形四个角点的坐标为四组映射点,由此可求解得到透视变换矩阵,从而得到透视变换矫正后图像。矫正前后图像如图9所示。
图9 透视变换矫正Fig.9 Perspective transformation correction image
2.4 船舶净空高度测量方法
船舶净空高度测量方法主要基于摄像机针孔模型原理。将摄像机假设为一个简单的摄像机针孔模型,如图10所示。此模型中,假设光线从场景或很远的物体发射过来,此时目标在图像平面上被聚焦[17]。以针孔的点为投影中心,摄像机与远处目标大小相关的参数为焦距f。
图10 摄像机针孔模型示意图Fig.10 Schematic diagram of camera pinhole model
图10中,Z为摄像机到船舶的距离,m;Y为船舶实际高度,m;y为船舶在图像平面上的像素高度,px。根据相似三角形,可得到物体实际高度的计算公式:
(4)
式(4)中:船舶到摄像机的距离Z可由摄像机GPS位置信息与系统接收到的船舶GPS数据计算;船舶在图像平面上的像素高度y由第2.2节阐述的算法获得。
2.5 报警模块
报警模块在本系统的作用为当测量得到超过通航高度的船舶则立刻发出报警信息通知相关人员。
通过2.2~2.4节对中红外图像中船舶的检测和对船舶净空高度的计算,可以检测得到船舶目标并对其净空高度进行预算。当报警系统接收到超过桥梁通航高度的船舶的信息,系统自动产生告警信息,包括地理位置、实测净空高度、限制净空高度等信息。系统将报警系统与有关管理部门的信息系统连接,一旦发现超高船舶的警告信息,海事管理人员可通过适当的通信方式,如VHF通话、拨打船舶电话等,及时向船舶提供预警信息。
3 实验验证及结果
为了验证系统的可行性与可靠性,进行实验验证,采集大量红外图像对船舶净空高度测量方法进行试验和分析。实验应用分辨率为640×512,焦距为228.671 mm,像元大小为15 μm的红外摄像机,架设于高度约为30 m,距离江边约60 m,俯拍江面船舶(租用)。为了方便测量船舶在江面时实际净空高度,实验前人工测量船顶到船上边缘的高度,实验过程中分别测量红外摄像机到船舶不同距离处船水交界线到船舶上边缘的高度,并记录,同时在软件平台接收、记录船舶的GPS位置信息。
以现场拍摄到的5张典型红外图像为例进行分析计算,如图11所示,原图1、原图2为正侧面图像,所以矫正前后不变,原图3~原图5为斜侧面图像。图11中矩形框为船舶的正外接矩形。船舶矫正前后净空高度计算结果如表1所示,误差计算结果如表2所示。表1中,距离表示红外摄像机到船舶的距离。
图11 实验图像Fig.11 Experimental image
表1 船舶净空高度计算Table 1 Calculation of ship clearance height
表2 误差计算
由表2可知,图11(a)~图11(c)的误差较小,表明船舶轮廓提取算法的精确度较高,但图11(e)、图11(g)、图11(j)的结果表明当船舶为斜投影时,直接提取轮廓计算船舶净空高度导致误差较大。表2中,图11(f)、图11(h)、图11(j)数据表明,通过透视变换矫正后能够有效的减小计算误差。
通过实验验证与分析,提出的船舶净空高度测量方法可行,当检测最大作用距离为6 km时测量精度可优于1.5 m。
4 结论
从主动防撞的角度出发,基于摄像机针孔模型,提出了一种船舶净空高度测量方法。
(1)应用了红外摄像机,避免了可见光相机夜间拍摄效果差,容易受天气(如大雾)影响的缺点。
(2)提出改进的PCNN算法,加入大律法自动化初始阈值的选取和形态学运算处理冗余点,提高了船舶轮廓提取的精确度,解决了船舶净空高度测量的精度问题。
利用实验数据验证了方法的可行性,结果表明基于红外成像的船舶净空高度测量方法有良好的测量性能。