基于Retinex算法的水面无人艇海天线检测方法
2019-04-25王传龙马善伟
王传龙,马善伟,屈 崇
(上海船用柴油机研究所,上海 201108)
0 引 言
水面无人艇(Unmanned Surface Vessel, USV)是一种具有一定自主航行能力及主动避障、环境感知和资源勘探等能力的小型水面平台,较适合执行危险、枯燥及其他不适合人类执行的任务,因而不论是在军用领域还是民用领域,都具有广阔的应用前景。USV常需面对大雾、大风浪、高湿度和强降雨等恶劣环境,对其自主航行、目标识别等能力及软硬件系统的可靠性提出了极高的要求。
海天线即海洋与天空的交界线,通常是一条有一定倾斜度的由亮及暗的渐变带。USV在航行时,远处的目标必然最先出现在海天线附近,因而海天线的提取能缩小目标识别的区域,去除海浪和云团等噪声的干扰,为目标图像分割提供重要依据。因此,海天线检测对于实现USV的智能化、自动导航和目标识别及跟踪而言具有重要意义。
1 海天线特点分析
海天线附近区域是灰度变化最为剧烈的区域。一般来说,USV视觉系统的成像通常分为天空区域、海天线和海面区域等3个区域,但当海面风浪较为剧烈时,USV的颠簸也会很剧烈,可能会出现全天空区域或全海面区域的情形。此外,本文所采用算法的应用场景属于远距离成像,海天或海岸线一般都是存在的,但在特殊的天气状况下可能会造成海天线成像异常,该情况本文不作讨论。
刘松涛等[1]提出采用直线拟合法提取海天线,算法比较简单,但对复杂水面环境的适用性较差。时磊等[2]对该直线拟合法进行改进,能有效提高海天线检测的正确率。梁世花等[3]将Seam Carving原理应用于海天线检测中,改求最低能量线为求最高能量线,该算法的运算效率较高且具有一定的鲁棒性。谢红等[4]提出一种通过结合最大类间方差法(OTSU)阈值分割和边缘检测提取海天线的算法,易于掌握,但精度不够高且难以确定海天线的具体位置。安博文等[5]针对在机载红外搜救场景中的应用,提出一种OTSU阈值分割与霍夫(Hough)变换相结合的算法,采用随机点采样方式提高算法的运行速度,在复杂场景的适应性方面仍存在不足。TANG等[6]提出一种基于Radon变换的海天线检测方法,该方法难以确定直线段的始终点。ZOU等[7]提出一种基于剪切波变换的海天线检测方法。王兵学等[8]提出一种基于纹理特征分析的海天线提取算法,该算法具有较强的工程应用性。以上研究提到的算法对不同场景均具有一定的适应性,但由于海面环境非常复杂,常会受到降雨、大雾及障碍物的遮挡等不利因素的影响,引发低能见度和海天线不连续等问题,导致识别率和准确度难以满足需求,因此对海天线检测算法进行研究一直是 USV研究领域的热点和难点。
2 Retinex算法与Hough变换相结合的海天线检测
对于正常的水面环境而言,仅通过Hough变换是能提取海天线的,但USV经常会受到降雨、大雾等造成能见度降低的诸多因素的影响,这时仅通过Hough变换几乎是不可能准确提取海天线的,必须采用图像增强算法消除低能见度造成的影响。由于Retinex算法在图像去雾方面有着突出表现[9],本文采用Retinex算法与Hough变换相结合的算法检测海天线,同时采用中值滤波、阈值分割、形态学闭运算和Canny边缘检测对图像进行预处理。
2.1 Retinex图像增强算法
Retinex算法是一种以人类视觉系统感知为出发点,基于科学试验分析的图像增强算法,其优势在于可平衡图像灰度动态范围压缩、图像增强和图像颜色恒常等3个指标,能对含雾的图像自适应增强[10]。Retinex算法可分为单尺度 Retinex(single scale retinex, SSR)、多尺度Retinex(multi-scale retinex, MSR)和带颜色恢复的多尺度Retinex(multi-scale retinex with color restoration, MSRCR)等3种。
根据Retinex理论[9],一幅原始图像I(x,y)由入射光分量L(x,y)和反射光分量R(x,y) 2部分构成(见图1)。
图1 Retinex理论中图像的构成
Retinex理论认为,同一物体在不同颜色光源下的颜色是恒定的,入射光分量只决定一幅图像的像素所能达到的动态范围,而反射光分量则决定图像的内在性质。USV经常会受风浪、降雨、大雾等恶劣环境的影响,摄像头经常会被雨水打湿,这些因素都会严重影响成像质量,给后续海天线的提取带来困难。本文采用MSR算法来增强图像,分别应用Retinex算法对海天背景下的RGB图像的R、G、B等3层进行处理,并将其整合到新的图像中。MSR算法是由SSR算法发展而来的一种算法,基本表达式[9]为
式(1)中:k为环绕尺度的个数;*为卷积运算符号;R(x,y)为算法的输出图像;F(x,y)为环绕函数,一般为高斯函数;kω为尺度权重因子。
2.2 Canny边缘检测
常见的边缘检测算子主要有Roberts算子、Sobel算子、Prewitt算子、LoG算子(高斯-拉普拉斯算子)和Canny算子等,其中:Roberts算子利用局部差分算子来检测边缘信息,定位准确,但不具备抑制噪声的能力;Sobel算子和Prewitt算子均考虑像素邻域的信息,即先对图像进行平滑处理,再进行微分运算,因而具有一定的抑制噪声的能力,但有可能会检测到虚假的边缘信息;LoG算子将高斯低通滤波与拉普拉斯算子相结合,能克服拉普拉斯算子对噪声敏感的缺点,但高斯低通滤波可能会平滑掉一部分边缘,造成边缘信息丢失。
在图像边缘检测中,抑制噪声和保证边缘检测的精度这二者是无法同时满足的。Canny算子是在边缘精确定位与抗噪之间寻找最佳的平衡点,其基本思想是先采用高斯滤波器平滑图像,再采用非极大值抑制技术对其进行处理得到最后的边缘图像。非极大值抑制技术是一种边缘细化的方法,保留局部梯度最大值而抑制其他梯度值,即通过将非局部极大值的点置零来得到细化的边缘图像。
Canny算子的基本步骤[10]为:1) 采用高斯滤波器平滑图像。2) 采用边缘检测算子分别计算水平方向和垂直方向的梯度Gx和Gy,并计算梯度的幅值和方向。梯度幅值梯度方向
3) 对梯度幅值进行非极大值抑制。
4) 采用双阈值算法检测和连接边缘。
2.3 Hough变换
Hough变换是一种检测某一特定边界形状的方法,通常用来检测直线、圆和椭圆等,其基本思想是将图像坐标空间中直线的检测问题转化为参数空间中点的检测问题,图像坐标空间中直线上的点对应于参数空间中的累加器,且每个点都会引起累加器加一,从而将形状检测问题转化为统计峰值问题[10]。简而言之,将图像坐标空间中一条直线上的各点分别对应于参数空间中的一条直线,这些直线均相交于一点,而该点的坐标即为图像坐标空间中该直线方程的参数(见图2)。
对于极坐标系参数空间,用ρ=xc osθ+ysinθ表示直线方程,其中:ρ表示直线到原点的垂直距离;θ表示x轴与原点到直线的垂线之间的夹角,且 -9 0°<θ< 90°(见图3)。与直角坐标空间稍有不同的是,图像坐标空间中直线上的每个点映射到极坐标空间中是一条正弦曲线,但其计算方法和基本原理是一致的。
图2 直角坐标系中Hough变换
图3 极坐标系中Hough变换
Hough变换同样适用于方程已知的曲线检测,通过曲线方程式来建立相应的参数空间;广义Hough变换可实现任意边界形状的检测。
3 MATLAB仿真试验
3.1 算法流程
本文对USV双目视觉系统实际拍摄的海天背景下的可见光图像进行仿真验证。由于其应用场景属于远距离成像,海天或海岸线一般都是存在的,算法流程见图4。
首先采用Retinex算法增强图像并转为灰度图像,然后采用中值滤波器滤波,接着通过OTSU阈值分割和形态学闭运算获得二值化图像,最后经过Canny算子检测边缘后利用Hough变换提取海天线。图5a)为原图像;图5b)为Retinex算法增强图像,目的是去除噪声干扰,解决降雨、雾气等恶劣环境造成的能见度较低的问题;图5c)为中值滤波图像,目的是减少随机噪声造成的干扰;图5d)为二值化图像,采用OTSU算法选取最优阈值进行图像分割;图5e)为边缘检测图像,采用Canny算子对二值化图像进行边缘检测;图5f)为海天线检测图像,对图5e)所示的边缘检测图像进行Hough变换得到海天线之后,将其绘制到图5a)中。
图4 算法流程
图5 算法处理过程图
3.2 样本说明及试验验证
本文试验的样本图片是由USV双目视觉系统在不同天气情况下采集得到的,参考航速约为6kn,共采集1000多张图片。由于同时段内采集的图片比较相似,本文随机抽取50张不同时间、不同环境下采集的图片作为样本并依据其不同海天情况大致分为5类,分别为正常情况、海天倾斜情况、能见度较低情况、海天线部分不可见情况和海天线被建筑物遮挡情况(见图6)。最后分别对每种情况进行实验验证,结果见图7。
图6 样本分类图
图7 在不同情况下的海天线检测结果
4 结 语
海天线检测对于USV的主动避障和目标辨识而言具有重要意义,本文采用Retinex算法与Hough变换相结合的算法,结合中值滤波、阈值分割、形态学闭运算和Canny算子边缘检测等方法,可准确地提取海天线。通过随机抽取50张图片进行测试,精确提取海天线的有48张图,识别率约为96%;仅通过Hough变换可精确提取海天线的有23张,识别率仅为46%。通过试验发现,采用Retinex算法可有效地增强图像并抑制噪声的干扰,尤其对水雾、云团和烟雾等造成的干扰抑制效果显著。通过对不同情况下的海天线进行检测,结果表明,本文的算法具有良好的适应性,海天线的提取达到了理想的效果,为USV目标识别、跟踪及图像配准等打下了基础。
【 参 考 文 献 】
[1] 刘松涛,沈同圣,韩艳丽,等. 舰船目标海天线提取方法研究[J]. 海军航空工程学院学报,2002, 17 (6): 51-53.
[2] 时磊,赵军,叶宗民. 一种基于直线拟合法的新的海天线检测方法[J]. 红外,2011, 32 (8): 25-28.
[3] 梁世花,吴巍,李波,等. 基于Se am Carving的海天线检测算法[J]. 红外与激光工程,2013, 42 (10): 2817-2821.
[4] 谢红,刘玲,刘艳艳. 复杂海天线区域检测算法研究[J]. 应用科技,2006, 33 (6): 96-98.
[5] 安博文,胡春暖,刘杰,等. 基于Hough变换的海天线检测算法研究[J]. 红外技术,2015, 37 (3): 196-199.
[6] TANG D, SUN G, NIU Z. Research on infrared ship detection method in sea-sky background[C]//Society of Photo-Optical Instrumentation Engineers. Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, 2013: 89072H.
[7] ZOU R B, SHI C C. A sea-sky line identification algorithem based on shearlets for infrared image[J]. Advanced Materials Research, 2013, 846-847: 1031-1035.
[8] 王兵学,雍杨,霍义华,等. 基于纹理特征分析的海天线检测方法[J]. 红外技术,2013, 35 (1): 42-46.
[9] 李菊霞,余雪丽. 雾天条件下的多尺度Retinex图像增强算法[J]. 计算机科学,2013, 40 (3): 299-301.
[10] 张铮. 数字图像处理与机器视觉[M]. 北京:人民邮电出版社,2010.