2. 南京水利科学研究院,江苏 南京 210029
随着水利工程、水电工程、桥梁工程等的持续建设,水下结构物(大坝、海洋平台、港口码头以及桥梁工程等)的覆盖范围变得越来越广泛。水下结构物由于长期处于水下复杂环境中,容易受到水流冲刷、渗透、侵蚀以及自身老化等影响,会产生一系列的结构性损伤,进而在水下结构物表面形成各种各样的缺陷[1]。如果不对其进行快速有效的修复,水下结构物表面缺陷会继续扩展,严重威胁到整体工程的安全运行,成为重大安全事故的主要隐患。国内外专家学者们提出了如高密度电阻率法、面波勘探法、瞬变电流法、超声波检测法、振动法和传感器检测法等。但这些方法存在着共同的缺陷,如测量深度浅,对超过百米的深水大坝等水下结构物无法完整探测整体情况,无法测量缺陷的空间信息;而且这些方法定位误差大、效率低下、适应性较弱。
随着计算机科学技术的发展,数字图像处理技术凭借其成本低、处理精度高、适用性广泛的优势,应用于各种情景下,解决了多种复杂性问题。应用数字图像处理技术测量水下结构物表面缺陷,可以有效降低成本,提高测量效率、精度和范围[2]。水下采集的图像对比度低、特征信息缺乏、图像模糊,且包含由于泥沙、水流、微生物等造成的大量随机噪声,现有的缺陷测量方法不能有效测量出水下结构物表面缺陷的空间信息。
针对上述问题,提出了一种基于双目视觉的水下结构物表面缺陷测量方法。该方法通过双目摄像头采集水下结构物表面的图像;通过预先标定的参数矩阵对采集到的图像进行校正;通过基于生物视觉特性的表面缺陷图像增强算法,有效解决水下图像细节模糊、亮度不均等问题;通过双目视觉算法实现对表面缺陷的空间信息的有效测量。
1 双目摄像头水下环境标定基于双目视觉的水下结构物表面缺陷测量根据图像中各对应点的像素距离,计算相应的空间信息,采集到的图像的准确性和可靠性就尤为关键,所以需要对摄像头采集到的有畸变图像进行校正。同时由于在水下环境中,光线从空气中照射入水中时会发生折射,标定方法需要进一步分析、讨论[3]。本文通过对光线从水中入射到摄像头的过程分析,根据折射规律,将折射近似成一个透镜,通过张正友[4]标定方法来标定水下环境中的双目摄像头。采用优化的张正友算法,在标定计算过程增加畸变参数。本文中,将径向畸变参数由张氏标定法中的1个畸变参数k1,增加到3个畸变参数k1,k2和k3,分别为主点周围的泰勒级数展开式前三项的系数;同时考虑切向畸变在水下成像中对图像存在影响,设置2个切向畸变参数p1,p2。
2 基于生物特性的表面缺陷图像增强算法由于水下环境中水流、泥沙、微生物和辅助光照等的影响,会造成图像的亮度不均匀、细节较少、对比度不强等问题,对缺陷测量造成很大的干扰[5]。本文针对这些问题,利用生物视觉特性,设计了一种基于生物特性的表面缺陷图像增强算法。
2.1 生物视觉特性生物学研究表明,眼睛的主观亮度是进入人眼光亮度的对数函数。实际光强度对数与人眼主观亮度的关系曲线如图 1所示[6]。
人类视觉系统能够适应的光强度级别非常宽,但人的视觉系统不能同时在一个范围内工作,所以必须通过改变整个视觉系统的灵敏度来实现这一功能,该现象即为人眼的亮度适应现象。如图 1中,长交叉线表示光强对数与主观亮度之间的关系,而短交叉线表示当人眼适应该光强为Ba强度级时,人眼能感觉到的主观亮度范围。若亮度超出该段交叉线范围时,所有的刺激都可以看做是不可分辨的黑色来处理。
由于人眼的亮度适应特性完全符合对数模型,而对数变换可以通过对图像全局明暗程度进行非线性调整,在一定程度上压缩图像像素值的动态范围,扩展高值图像中的暗像素区域,完成图像的全局亮度变化,以适应人类视觉系统对于光强的主观感觉特性。对数变换的一般表达式为:
$ I_{\mathrm{n}}(x, y)=c \lg (I(x, y)+1) $ | (1) |
$ I_{\mathrm{g}}(x, y)=I_{\mathrm{n}}(x, y) / \lg 256 $ | (2) |
式中:I(x, y)是原始图像在(x, y)处的像素值;In(x, y)是对(x, y)坐标处像素进行亮度变换后的像素值;Ig(x, y)是对(x, y)坐标处亮度变化后的像素值In(x, y)进行归一化后获得的亮度值。
针对由于水下光照亮度不均匀导致的水下大坝裂缝图像的背景灰度不均匀现象,可以利用上述人眼亮度均匀方法压缩该类图像灰度的动态范围,提高图像暗区域的亮度,完成水下图像的全局亮度调整,提高后续算法的自适应能力。
鲎鱼的侧抑制机理,是将鲎鱼复眼中的每个小眼都视为一个单独的感受器,因此,每个复眼中都包含大量的感受器。当某一感受器受到刺激产生兴奋时,该感受器抑制野内的其他感受器受到刺激所产生的兴奋都对其具有抑制作用,而且抑制的强度与两个感受器之间的距离有关。因此,在侧抑制网络中,每个感受器的输出是该感受器接受外部刺激所产生的兴奋性影响和周围感受器对其抑制性影响相互作用的结果。
侧抑制网络的主要功能有:(1)检测图像的边缘信息,增强边缘信息的对比度,具有“勾边”效应;(2)抑制空间内低频信号,压缩输入变化范围,对均匀光照起到亮度调节作用;(3)对由于屈光系统缺陷所引起的成像模糊进行补偿,提高模糊图像的清晰度。
侧抑制网络将边框突出机制、亮度适应机制以及图像复原机制有效结合起来。因此,侧抑制机理对于水下图像的细节模糊、对比度差等问题的解决是一个很好的突破口。
2.2 仿生视觉特性的缺陷图像增强算法根据生物视觉亮度均匀方法,虽然可以通过对数函数对水下大坝裂缝图像亮度不均匀的情况进行亮度非线性调整,在一定程度上压缩图像像素值的动态范围,扩展高值图像中的暗像素区域,使得裂缝图像的全局亮度均匀。但是由于水下环境极其复杂以及大坝表面的复杂情况,导致了拍摄的水下大坝裂缝图像的多样性。为了能够提高生物亮度均匀算法对不同亮度区间、不同类型以及不同大小的裂缝图像的亮度调整的自适应性,建立了参数对数模型来模拟生物视觉亮度系统。该模型可以根据图像自身的整体亮度分布情况自适应地对图像进行全局亮度均匀。其计算模型如式(3)所示。
$ I_{\mathrm{g}}(x, y)=c(k)[\lg (I(x, y)+k+1) / \lg (m(k))-t(k)] $ | (3) |
式中:I(x, y)是原始图像在坐标(x, y)处的灰度值;Ig(x, y)是对原始图像亮度均匀处理后的图像在坐标(x, y)处的灰度值;c (k),m(k)和t(k)是图像亮度信息调整相关参数:
$ m(k)=256+k $ | (4) |
$ t(k)=\lg (k+1) / \lg (m(k)) $ | (5) |
$ c(k)=1 /(1-t(k)) $ | (6) |
而k值是整个自适应算法的关键,k值可以通过计算图像自身的灰度直方图来确定,其计算式为:
$ k=\left\{\begin{array}{c}{\operatorname{Sum}(h(1 : k)), \operatorname{Sum}(h( :)) \leqslant T} \\ {\operatorname{Sum}(h(1 : k+1)), \operatorname{Sum}(h( :))>T}\end{array}\right. $ | (7) |
式中:Sum(h(1:k))表示在统计直方图中1~k的灰度级内所有灰度值的总和,而T为阈值。
通过对生物视觉的亮度调整的模型进行改进,提出了大坝裂缝图像亮度自适应调整算法。该算法不仅可以对图像进行全局亮度均匀,避免影响后续的增强过程,而且针对不同亮度、不同大小的图像,不再需要人工干预进行参数调整,提高了算法的自适应性和实用性。
建立侧抑制网络需要从侧抑制网络模型、抑制系数分布以及抑制野的范围3个方面进行考虑。
(1) 侧抑制网络模型。根据感受器j是对感受器i的输入参数还是输出参数进行抑制,可以将侧抑制网络模型分为非循环抑制模型和循环抑制模型,如图 2所示。其中,感受器i的输入为xi,输出为yi,感受器j对感受器i的抑制系数为kij。若感受器i的抑制野内的所有感受器对其的抑制总和为∑kijxi,则该模型为非循环抑制模型。若感受器i的抑制野内的所有单元对其的抑制总和为∑kijyi,则该模型为循环抑制模型。
根据感受器j对感受器i的抑制影响方式是总和作用还是分流作用,可以将侧抑制模型分为减法型模型和分流型模型。其中,在减法型模型中,每个感受器的输出是该感受器的兴奋性输出与抑制野范围内所有感受器的抑制性输出的总和。而在分流型模型中,每个感受器的兴奋性输出是由抑制野内所有感受器对该感受器的兴奋性输入进行抑制后的产生输出。本文中采用的二维侧抑制模型是二维减法循环模型:
$ y_{i j}=x_{i j}-\sum\limits_{p=-R}^{R} \sum\limits_{q=-R}^{R} k_{i j, p q} y_{p q} $ | (8) |
式中:xij,yij分别为感受器单元(i, j)的输入及输出;kij, pq为感受器单元(p, q)对感受器单元(i, j)的抑制系数;R为抑制野的半径。
(2) 侧抑制系数分布。Hartline等对鲎所做的电生理实验中发现,感受器j对感受器i的抑制作用随着两个感受器之间的距离增大而减小。本文采用高斯分布曲线函数,其计算式如下:
$ k_{i j, p q}=\frac{1}{\beta} \frac{1}{\sqrt{2 \pi} \sigma} \exp \left[-\frac{\left(d_{i j, p q}-\mu\right)^{2}}{2 \sigma^{2}}\right] $ | (9) |
其中,二维侧抑制模型中两个感受器单元(i, j)和(p, q)之间的距离定义为欧几里德距离。
(3) 抑制野的大小。抑制野是指能对中心感受器i产生抑制作用的所有感受器的范围。由于侧抑制作用存在空间总和效应,因此抑制野的范围越大,即对感受器i产生抑制作用的感受器越多,则感受器i受到的抑制作用越大,图像边缘的“勾边”效果就越明显。但是随着抑制野范围的增大,系统的运行时间和空间将会大幅度提高,严重影响系统的实时性。因此,考虑到精确度以及实用性,本文将抑制野范围设置为中心感受器单元的5×5邻域。
3 基于半全局匹配的立体测量算法基于双目视觉的水下结构物表面缺陷测量目的在于检测缺陷的空间信息,检测缺陷空间信息就需要知道缺陷在两幅图像中所对应像素点的位置之差,然后通过像素点的位置之差和两个摄像头的空间位置关系,可以得到缺陷的空间信息。通过立体测量可以将两幅图像对应的像素点找到。本文采用了一种基于半全局匹配的立体测量算法,该算法对光线不敏感、精确度高、准确度高、速度快,适用于水下环境,可获得稠密的视差图。
3.1 匹配代价计算匹配代价算法采用了基于互信息的代价计算[7]。互信息看作是一种熵,如式(10)和(11)所示。
$ H_{I}=-\int_{0}^{1} P_{I}(i) \lg P_{I}(i) \mathrm{d} i $ | (10) |
$ M I_{I_{1}, I_{2}}=H_{I_{1}}+H_{I_{2}}-H_{I_{1}, I_{2}} $ | (11) |
根据式(11),式中第1项和第2项分别是左右图像的熵,第3项是联合熵。熵是一种概率的分布,联合熵是一种概率分布图像, 如式(12)所示:
$ H_{I_{1}, I_{2}}=-\int_{0}^{1} \int_{0}^{1} P_{I_{1}, I_{2}}\left(i_{1}, i_{2}\right) \lg P_{I_{1}, I_{2}}\left(i_{1}, i_{2}\right) \mathrm{d} i_{1} \mathrm{d} i_{2} $ | (12) |
求解式中图像的概率分布,图像概率分布就是图像灰度的统计。将图像的所有灰度概率统计为概率分布PI。图像概率分布PI1,I2是一个256×256的二维的图像,如式(13)所示。
$ P_{I_{1}, I_{2}}(i, k)=\frac{1}{n} \sum\limits_{P} T\left[(i, k)=\left(I_{1_{p}}, I_{2_{p}}\right)\right] $ | (13) |
左图像和右图像中有(i,k)对应点,左图像中点的灰度值为i,右图像中点的灰度值为k。
将式(11)进行泰勒展开可以求出联合熵,如式(14)所示。
$ H_{I_{1}, I_{2}}=\sum\limits_{P} h_{I_{1}, I_{2}}\left(I_{1_{p}}, I_{2_{p}}\right) $ | (14) |
在式(14)中,hI1,I2是以像素的灰度值为自变量的数据项,因此联合熵的求取就转化成了求hI1,I2的值,具体的计算式为:
$ h_{I_{1}, I_{2}}(i, k)=-\frac{1}{n} \lg \left(P_{I_{1}, I_{2}}(i, k) \otimes g(i, k)\right) \otimes g(i, k) $ | (15) |
式中:g(i,k)是高斯核,对联合熵的概率图像进行平滑,对处理后的图像取对数再进行高斯平滑,就可以得到hI1,I2(i,k)。对图像的熵进行计算的时候同样采用上述方法,即:
$ H_{I}=\sum\limits_{P} h_{I}\left(I_{P}\right) $ | (16) |
$ h_{I}(i)=-\frac{1}{n} \lg \left(P_{I}(i) \otimes g(i)\right) \otimes g(i) $ | (17) |
可以得出匹配代价CMI:
$ C_{M I}(P, d)=-m i_{I_{b}, f_{D}\left(I_{m}\right)}\left(I_{b P}, I_{m q}\right) $ | (18) |
$ q=e_{b m}(p, d) $ | (19) |
对代价的聚合需要考虑图像像素之间的关系。具体能量函数如式(20)所示[8]。
$ E(D) = \left\{ {\begin{array}{*{20}{l}} {\sum\limits_P {\left( {C\left( {p, {D_p}} \right) + \sum\limits_{q \in {N_p}} {{P_1}} T} \right)} , \left| {{D_p} - {D_q}} \right| = 1}\\ {\sum\limits_P {\left( {C\left( {p, {D_p}} \right) + \sum\limits_{q \in {N_p}} {{P_2}} T} \right)} , \left| {{D_p} - {D_q}} \right| > 1} \end{array}} \right. $ | (20) |
在式(20)中第1项是互信息的匹配代价,第2项是平滑性约束加入图像邻域的相关性惩罚约束。惩罚系数P2大于惩罚系数P1。
像素的邻域是二维图像,将其分解为8个方向的一维像素条,再对各个方向应用动态规划的方法求取能量函数的最小值。
S(p,d)代表像素点p,视差值为d的一维图像像素的聚合值。计算式如式(21)所示。
$ S(p, d)=\sum\limits_{r} L_{r}(p, d) $ | (21) |
式中:r是8个向量中的1个向量,r向量指向像素p,Lr为向量r上代价的聚合值。Lr的计算如式(22)所示。
$ \begin{array}{l} {L_r}(p, d) = C(p, d) + \min ({L_r}(p - r, d), \\ {L_r}(p - r, d - 1) + {P_1}, {L_r}(p - r, d + 1) + \\ {P_1}, \mathop {\min }\limits_i {L_r}(p - r, i) + {P_2}) - \mathop {\min }\limits_k {L_r}(p - r, k) \end{array} $ | (22) |
在计算点p的邻域在r方向上的聚合值的第2个部分时充分应用了动态规划的思想,将一个点的匹配代价转化为下一个点的匹配代价,最后以递归的方式对匹配代价求解。
3.3 视差图优化上述基于半全局匹配的立体测量算法对误匹配点和遮挡点的处理都是直接置为0,会使得匹配完成的视差图像存在很多空洞。针对该问题,本文提出了一种空洞填充方式,获得稠密的视差图。移动滑窗对整幅视差图填充,然后缩小滑窗,对视差图迭代计算,直至迭代次数完毕。
4 试验与分析为验证本文方法的效果和可靠性,以水库大坝深水表面裂缝为研究对象,对基于双目视觉的水下结构物表面缺陷测量进行了大量试验。
4.1 摄像头标定试验首先制作平面标定标靶。在平面标定标靶上刻画出6×9的黑白棋盘格,每个方格的边长为22 mm。标定时应在平静的水中进行,如图 3所示。然后编写拍照相关程序,将摄像头采集到的图像以图片的形式存取。在拍摄标定使用的图片时应从多个距离、多个角度去拍摄黑白棋盘格。标定过程如图 3所示。
标定结果符合模型对重投影误差低于0.5个像素点的要求。对重投影误差的统计如图 4, 平均像素误差为0.20个像素点,满足要求。
为了验证提出的基于生物视觉特性的大坝裂缝测量算法的有效性,从众多试验中选择3幅典型的大坝裂缝图像,包括弱裂缝、表面裂缝和大裂缝(图 5)。
图 5中,上图是采集到的原始图像,下图是处理后的图像。从图 5中可明显看出,本文提出仿水下生物视觉的增强算法不仅对大坝裂缝的边缘的勾边效果明显,灰度表现力好,且图像平滑性较好,边界明显,并且有抑制噪声的效果。
4.3 立体测量及目标测量试验本文中立体测量及目标测量试验首先测得裂缝的真实空间信息,然后进行试验,得出裂缝的空间信息,并与真实空间信息对比,测出平均误差率。首先在水下环境对图像进行采集,根据上文所述校正双目摄像头的图像,并做图像增强。然后通过立体测量得到初步的视差图,对初步视差图进行空洞填充,然后对其彩色化,不同颜色对应不同深度信息(见图 6)。最后进行人机交互操作,即可获得其相对于左摄像头空间信息。
对水下环境中的缺陷测量,7组典型测量结果如表 1所示, 其中裂缝距离均是相对于左侧摄像头的空间直线距离。
对测量结果进行误差分析和计算。经计算相对误差的平均数为5.10%,相对误差从图像中心向四周逐渐变大,这与摄像头的成像原理相符,在图像四周相对误差均小于10%,且实际应用中水下结构物缺陷的图像位置可经过摄像头及水下平台位置的调整,将其置于图像中心部分。本文对50个裂缝分别进行10组测量试验,得到大量裂缝空间信息试验数据,具有统计意义。经验证,该方法可靠、稳定,测量精度满足工程需要。
5 结语基于双目视觉的水下结构物表面缺陷测量方法,通过对双目摄像头的校正、图像增强和立体测量的一系列处理,实现对缺陷的空间信息的测量,经大量试验得出:
(1) 设计的基于双目视觉的水下结构物表面缺陷测量方法,可以稳定、可靠地实现对水下结构物空间信息的精准测量。
(2) 根据水下光的传播路径分析结果,设计的摄像头标定算法,将水下环境拟合成透镜形式,标定的摄像头参数矩阵可以很好地校正摄像头畸变图像。
(3) 根据人类和鲎鱼视觉系统,通过仿生方式,设计出了基于生物特性的水下结构物缺陷增强算法,并通过试验证明该算法可以对图像进行匀光处理,且图像增强效果明显,对噪声抑制较好。
本文虽然可以稳定、精确测量缺陷处的空间信息,但并未对缺陷进行识别,不能达到自主测量缺陷的目的;本文提出的方法处理速度尚未达到实时效果,需要进一步优化。
[1] |
何金平. 大坝安全监测理论与应用[M]. 北京: 中国水利水电出版社, 2010. ( HE Jinping. Theory and application of dam safety monitoring[M]. Beijing: China Water and Power Press, 2010. (in Chinese))
|
[2] |
彭雪辉, 盛金保, 李雷, 等. 我国水库大坝风险评价与决策研究[J]. 水利水运工程学报, 2014(3): 49-54. ( PENG Xuehui, SHENG Jinbao, LI Lei, et al. Study on risk assessment and decision of reservoir dam in China[J]. Hydro-Science and Engineering, 2014(3): 49-54. DOI:10.3969/j.issn.1009-640X.2014.03.008 (in Chinese)) |
[3] |
潘琳, 陈宏伟. 智能化大坝安全监测系统综述[J]. 水电自动化与大坝监测, 2013(2): 18. ( PAN Lin, CHEN Hongwei. Overview of intelligent dam safety monitoring system[J]. Hydropower Automation and Dam Monitoring, 2013(2): 18. (in Chinese)) |
[4] |
ZHANG Zhengyou. Flexible camera calibration by viewing a plane from unknown orientations[C]//International Conference on Computer Vision. The Proceedings of the Seventh IEEE International Conference on Computer Vision. Greece: IEEE, 1999: 666-673. https://ieeexplore.ieee.org/document/791289
|
[5] |
陈元杰.水下机器人双目立体视觉定位系统研究[D].杭州: 浙江大学, 2011. (CHEN Yuanjie. Research on binocular stereo vision positioning system for underwater robots[D]. Hangzhou: Zhejiang University, 2011. (in Chinese)) http://cdmd.cnki.com.cn/Article/CDMD-10335-1011068918.htm
|
[6] |
DA CUNHA A L, ZHOU J, DO M N. The nonsubsampled contourlet transform: theory, design, and applications[J]. IEEE Transactions on Image Processing, 2006, 15(10): 3089-3101. DOI:10.1109/TIP.2006.877507 |
[7] |
李雅倩, 张岩松, 李海滨, 等. 基于深度约束的水下稠密立体匹配[J]. 光子学报, 2017, 46(7): 204-213. ( LI Yaqian, ZHANG Yansong, LI Haibin, et al. Underwater dense stereo matching based on depth constraint[J]. Acta Photonica Sinica, 2017, 46(7): 204-213. (in Chinese)) |
[8] |
张强, 卢士强, 李海滨, 等. 基于色彩分割的水下立体匹配算法的研究[J]. 光学学报, 2016(8): 193-200. ( ZHANG Qiang, LU Shiqiang, LI Haibin, et al. Research on underwater stereo matching algorithm based on color segmentation[J]. Acta Optica Sinica, 2016(8): 193-200. (in Chinese)) |
2. Nanjing Hydraulic Research Institute, Nanjing 210029, China