基于光线折射模型的水下图像转换算法研究

2019-07-03 06:46陈旭阳贺昱曜宗瑞良李宝奇赵耀华
西北工业大学学报 2019年3期
关键词:交界面水密角点

陈旭阳, 贺昱曜, 宗瑞良, 李宝奇, 赵耀华

(1.西北工业大学 航海学院, 陕西 西安 710072; 2.西北工业大学 电子信息学院,陕西 西安 710072)

水下机器人运行在复杂未知的海洋环境中,良好的环境感知是提高其安全性和智能化水平的重要基础和关键因素[1]。光视觉传感器有着视场大、分辨率高、信息获取快捷、相互干扰小等优点,适用于短距离内的目标定位、目标测量等工作,在机器避障、海底地图构建等领域起着重要作用。双目立体视觉是计算机视觉研究的一个重要分支,它通过模拟人的视觉系统来提取目标三维信息,一般使用2台同型号的摄像机,在一定的设置下拍摄同一场景的2幅图像,计算这2幅图像中匹配点的视差,从而得到该点在空间内的三维信息[2]。

高灵敏度的标准相机加上平面玻璃水密罩可以实现简单经济的水下摄影。但在成像过程中,由于目标位于水中而相机位于空气中,介质的不同导致光线在传播过程中会发生折射。光线的折射使相机成像模型由线性变为非线性,造成水下图像中目标的放大与畸变,导致现有的双目立体视觉系统无法直接应用于水下目标的三维信息提取等工作[3]。

针对这一折射现象,国内外学者提出了多种解决方法。Schechner等[4]提出一种通过物理辅助来解决折射问题的方法,该方法通过使用特殊形状的光学部件防止折射现象的发生,但是由于其对光学部件的制作要求十分严格,难以实现。Chang等[5]利用多目相机获取单一折射平面的图像,并用一个与深度有关的模型表示折射失真,但该方法附加条件过多,实现困难。Treibitz等[6]分析了折射失真并利用模拟的方法近似展示了SVP的折射误差。Gedge等[7]提出利用像素的对极曲线得到一个匹配代价量来补偿折射影响,但该方法过程复杂,适用范围小。Lu等[8]提出一种利用单目摄像机提取水下圆形目标三维信息的方法,该方法通过补偿抵消折射影响,但只适合于圆形目标。Zhang等[9]提出一种基于非平行系统的水下图像转化模型,可以将目标水下图像转换为等效空气图像,该方法虽然实现简单、适用范围广,但为简化模型忽略了光线在水密罩玻璃处的二次折射,引入不必要的转换误差。

针对文献[9]所提算法因忽略光线二次折射引入转换误差的问题,本文建立考虑光线二次折射的水下光线折射模型,推导出水下图像与等效空气图像的像素点映射关系,得到水下图像转换算法。该算法通过像素点映射关系计算水下图像像素点在等效空气图像中的坐标信息,得到等效空气图像。本文所提算法可以有效解决因忽略光线二次折射引入转换误差的问题,改善水下图像转换效果,对后续图像处理过程有着积极影响。

1 忽略二次折射的图像转换算法

水下相机多采用平面壳窗水密罩密封高灵敏度标准相机的方式实现水下图像获取功能,该方法简单且经济实用。水下相机简化模型[10]如图1所示。

图1 水下相机简化模型

其中f表示相机的焦距,d表示相机外焦点距水密罩的距离,T表示水密罩石英玻璃厚度,A表示相机外焦点。

由图1可知,光线在进入相机前会由于介质的改变发生2次折射。第一次折射发生在水与水密罩石英玻璃的交界处,光线由水进入玻璃。第二次折射发生在水密罩石英玻璃与空气的交界处,光线由玻璃进入空气。光线的折射导致空气中的立体视觉系统无法应用于水下环境。为了能够仅通过一幅水下图像就能得到其等效空气图像,需要将气水交界面设置在相机的外焦点处[9]。

文献[9]所提图像转换算法认为,由于水密罩玻璃厚度远小于目标相对相机的距离,光线在玻璃中的传播过程可以忽略,光线在进入相机前只在水与空气交界处发生一次折射。通过忽略光线二次折射来简化成像模型,得到水下图像像素点与其对应的空气图像像素点的映射关系。

不失一般性,只讨论一个方向上的坐标映射关系。由于忽略光线二次折射且交界面位于焦距处,相机外焦点距水密罩距离d与水密罩玻璃厚度T为0,经简化得到的成像关系示意图如图2所示。其中,A表示相机外焦点,Z表示目标点与相机的距离,pw(xw,0,zw)表示目标点的世界坐标系坐标,pa(xa,0)表示目标点处于空气中时其成像点的相机坐标系坐标,pi(xi,0)表示目标点处于水中时其成像点的相机坐标系坐标,α表示入射光线与交界面法线的夹角,αa表示目标位于空气中时光线经过交界面后与交界面法线的夹角,αw表示目标位于水中时光线经过交界面后与交界面法线的夹角。

图2 忽略光线二次折射成像关系示意图

由图2可得

(1)

由于交界面位于相机焦距处,因此无论目标点pw(xw,yw,zw)处于空气中还是水中,入射光与交界面法线的夹角都为αa。

同时有

xa=f·tanαa

(2)

进而可得

xa=f·tan(arcsin(na·sin(arctan(xi/f))/nw))

(3)

由(3)式可知,当交界面位于相机焦距处时,水下图像中的像素点与无水时空气中的图像存在一一对应关系。此时,在已知相机参数的条件下,仅凭一幅水下图像所包含的信息即可得到与其对应的等效空气中的图像。

上述算法通过忽略光线二次折射来简化水下相机成像模型,降低了算法的复杂度。但在实际的应用中,水下相机为了抵抗水压的影响,其水密罩的厚度往往可以达到5~10 mm,与一般相机的焦距大小接近。因此,在实际中,光线进入水密罩后会在玻璃中传播较长距离,同时在玻璃与空气的交界处发生折射,直接忽略光线二次折射会为图像转换引入不必要的误差,造成对应像素点位置的偏移,对后续的图像处理造成不利影响。

2 基于光线折射模型的图像转换算法

针对现有图像转换算法因忽略光线二次折射引入转换误差的问题,本文建立考虑光线二次折射的水下光线折射模型,并基于该模型推导得到水下图像转换算法。该算法具有更为准确的图像映射关系,可以有效解决现有图像转换算法因忽略光线二次折射引入转换误差的问题。

2.1 基于平行系统的光线折射模型与转换算法

本文所研究的平行系统指的是相机与水密罩完全平行放置情况下的水下相机系统,由此可以得到其所对应的考虑光线二次折射的水下相机成像关系示意图,如图3所示。不失一般性,只讨论一个方向上的坐标映射关系。

图3 基于平行系统的成像关系示意图

其中f表示相机焦距,T表示防水罩玻璃厚度,Z表示目标点与相机的距离,A表示相机外焦点,na,ng,nw分别为空气、玻璃、水的折射率,pw(xw,0,zw)表示目标点的世界坐标系坐标,pa(xa,0)表示目标处于空气中时其成像点的相机坐标系坐标,pi(xi,0)表示目标处于水中时其成像点的相机坐标系坐标,α为目标点入射光线与交界面法线的夹角,αg.a,αg.w分别为目标位于空气中与水中时经过第一次折射后光线与交界面法线的夹角,αa,αw分别为目标位于空气中与水中时经过第二次折射后光线与玻璃——空气交界面法线的夹角。

由图3可得:

(4)

(5)

由(4)式与(5)式可得:

其中,水密罩玻璃厚度T、相机焦距f、空气折射率na、水的折射率nw、玻璃折射率ng皆为已知量。因此,在图像转换过程中,可以由水下图像像素点的位置信息求得其对应等效空气图像中的像素点位置信息,进而实现水下图像向等效空气图像的转换。

2.2 基于非平行系统的光线折射模型与转换算法

在现实情况中,水下相机系统中相机与水密罩的放置难以达到完全平行的状态,由此可以得到非平行系统状态下考虑光线二次折射的水下相机成像关系示意图,如图4所示。同样只讨论一个方向上的坐标映射关系。

图4 基于非平行系统的成像关系示意图

其中,β表示相机放置平面与水密罩玻璃平面之间的夹角。

由图4可得:

(8)

(9)

由(8)式与(9)式可得:

式中:相机与水密罩玻璃夹角β、水密罩玻璃厚度T、相机焦距f可以通过测量得到,空气折射率na、水的折射率nw、玻璃折射率ng皆为已知量。因此,在非平行系统下也可实现由水下目标图像向等效空气图像的转换。

现实中常用的水下相机是按照平行系统设计的,由于安装误差所造成的夹角β是一个小量,结合(10)式与(11)式,可以将夹角β忽略,将常用的水下相机视为平行系统进行处理。因此,本文后续将采用基于平行系统的图像转换算法进行算法分析与实验对比。

2.3 算法分析

将现有图像转换算法的图像映射关系与本文所提算法的图像映射关系进行对比,通过比较2种映射关系中坐标点畸变大小比较2种算法的转换效果。

现有图像转换算法中,xi与xa的比值关系由(2)式与(3)式可得

(12)

本文所提图像转换算法中,xi与xa的比值关系由(6)式与(7)式可得

(13)

取na=1,nw=1.33,ng=1.5,f=15 mm,

T=10 mm,由(12)式与(13)式可得,当入射角α改变时,xi与xa之间的关系,如图5所示。

图5 xi与xa关系随入射角变化示意图

由图5可知,当交界面位于相机焦距处时,折射现象会造成图像的枕形失真,且放大率随着入射角的增大而增大。经过对比2种算法的曲线可以发现,进行图像转换时考虑光线二次折射可以有效缓解折射现象所造成的图像枕形失真问题,进而改善图像转换算法的转换效果,减小转换所得图像中远离图像中心区域像素点的位置误差。

3 实验验证

为了验证本文所提算法的图像转换效果,采集目标水下图像进行实验验证。实验一采用棋盘角点坐标对比的方法评价图像转换算法的转换效果,实验二采用测量误差对比的方法评价图像转换算法的转换效果。

3.1 实验设备

实验数据采集平台如图6所示。其中,水下摄像机由2台200万像素摄像机与1台绿激光发射机组成,实验采用左目相机获取得到的目标图像作为目标水下图像。实验硬件平台为Core i3 CPU,16GB DDR4 RAM。实验软件平台为OpenCV。实验场地为一尺寸2 400 mm×1 500 mm×600 mm水池。

图6 实验数据采集平台

3.2 实验一

采用棋盘角点坐标对比的方法,通过比较水下图像经2种图像转换算法所得图像角点位置坐标与真实空气中图像对应角点位置坐标的误差来评价2种转换算法转换效果的优劣。

3.2.1 数据获取

获取同一位置、同一姿态的棋盘在空气中与水中的图像,如图7所示。使用OpenCV角点提取函数提取棋盘在2幅图像中的角点坐标,每幅图像提取出54个角点,角点提取结果如图8所示。

图7 不同环境下棋盘图像

图8 角点提取示意图

3.2.2 图像转换

为验证图像转换算法在整幅图中的效果,根据角点提取结果,选取第2,8,19,27,47,53六个位于图像不同位置的角点作为评价角点,记作P1,P2,P3,P4,P5,P6。图像尺寸为640×480,六个角点在图像像素坐标系下的坐标如表1所示。

表1 目标角点图像像素坐标系坐标统计表

相机焦距f=15 mm,玻璃厚度T=10 mm,空气折射率na=1,水的折射率nw=1.33,玻璃折射率ng=1.5。由(3)式与(6)式、(7)式计算得到2种算法转换所得角点坐标,如表2所示。

表2 2种算法转换所得角点坐标统计表

将表2中2种算法计算所得角点坐标与表1中空气图像角点坐标对比得到角点转换误差,角点转换误差如表3所示。

表3 转换误差比较表

由表3可得,u方向上,文献[9]算法所得误差均值为2.289 5,本文算法所得误差均值为1.213 3,误差值较文献[9]算法降低47.01%;v方向上,文献[9]算法所得误差均值为3.252 3,本文算法所得误差均值为1.526 3,误差值较文献[9]算法降低53.07%。因此,本文所提图像转换算法可以明显减小图像转换误差,提高图像转换质量。由前文算法分析可知,折射现象会造成图像的枕形失真,且放大率随着入射角的增加而增大,即距离图像中心越远放大率越大。通过实验发现图像转换误差随着像素点距离图像中心距离的增加而增大,而本文算法能够有效降低远离图像中心像素点的转换误差。因此,对远离图像中心的像素点进行图像转换时,考虑光线二次折射十分必要。

3.3 实验二

采用测量误差对比的方法,通过比较2种算法所得目标等效空气图像经双目视觉测距计算所得测量距离与目标实际距离的误差,评价2种算法在图像转换性能方面的优劣。

本实验采用平行双目立体视觉系统,如图9所示。其中,2个摄像机光心之间的距离为基线距,记做B。

图9 平行双目视觉系统俯视图

假设真实三维空间中存在一点P,该点在世界坐标系下的坐标为P(X,Y,Z),该点在左右目摄像机的成像平面上的坐标分别为pl(xl,yl)与pr(xr,yr)。由于该双目立体视觉系统为平行双目立体视觉系统,左右目摄像机的成像平面在同一水平面上[11],因此yl=yr=y。

由针孔相机成像模型可得

(14)

将视差定义为d=xl-xr,由(14)式可得点P在世界坐标系下的坐标为

(15)

式中,基线距B与相机焦距f为已知量。故根据左右目图像匹配得到的视差信息,即可由(15)式求解出目标点的距离信息Z。

3.3.1 数据获取

获取6组已知实际距离的目标水下图像对,如图10所示。分别采用2种算法对目标水下图像对进行转换,获得对应的目标等效空气图像对,再对目标进行双目视觉测距计算,得到目标距离的测量值。

图10 距离为800 mm的目标水下图像对示意图

3.3.2 图像转换与测距

采用OpenCV图像映射函数,由(3)式与(6)式、(7)式的像素点映射关系对目标水下图像进行图像转换,得到对应的目标等效空气图像,如图11、图12所示。

图11 文献[9]算法转换所得等效空气图像

图12 本文算法转换所得等效空气图像

采用OpenCV双目立体视觉算法对转换所得图像进行测距计算,各组图像测量结果如表4所示。

表4 测量结果汇总表

测量误差对比如表5所示。

表5 测量误差对比表

由表5可得,文献[9]算法所对应测量误差均值为58.83 mm,本文算法所对应测量误差均值为28.88 mm,误差值较文献[9]算法降低50.91%。因此,本文所提图像转换算法有着更好的图像转换效果,可以明显提高图像的测距准确度。进而证明,考虑光线二次折射对改进图像转换效果有着积极作用。

4 结 论

针对水下成像时光线折射所造成图像失真问题及文献[9]图像转换算法因忽略光线二次折射所引入的转换误差。本文提出一种基于光线折射模型的水下图像转换转算法。该算法将光线二次折射考虑进水下图像成像过程,建立水下相机成像模型,推导出水下图像与等效空气图像像素点映射关系,得到水下图像转换算法,通过更为准确的像素点映射关系来提高图像转换准确率。实验可得,u方向图像转换误差均值由2.289 5降为1.213 3,降低47.01%,v方向图像转换误差均值由3.252 5降为1.526 3,降低53.07%。同时,测距误差均值由58.83 mm降为28.88 mm,降低50.91%。实验结果证明了本文所提算法的有效性。本文所提算法可以看作图像预处理阶段的一部分,通过该算法可以将目标的水下图像转换为等效空气图像,解决图像失真问题,为后续图像处理流程提供高质量的数据支撑,帮助各类计算机视觉技术实现水下环境的直接应用。

猜你喜欢
交界面水密角点
一种改进的Shi-Tomasi角点检测方法
钢-混凝土交界面法向粘结性能研究
多支撑区域模式化融合角点检测算法仿真
深海压力环境对水密连接器信号和电能传输的影响
某大型舰船矩形水密风管结构改进设计
Fluent软件中的交界面处理方法介绍
防火风闸与水密风闸设计要求
双块式无砟轨道轨枕与道床交界面损伤特性分析
基于FAST角点检测算法上对Y型与X型角点的检测
半潜式钻井平台水密滑动门结构疲劳强度评估