APP下载

基于光斑跟踪的夜间航行船舶跟踪方法

2021-01-06王群朋张金水赵银祥张明阳

中国航海 2020年4期
关键词:光斑算子滤波

王群朋, 张金水, 赵银祥, 张明阳

(1. 广州航海学院 海运学院, 广州 510725; 2. 武汉理工大学 a. 智能交通系统研究中心;b. 国家水运安全工程技术研究中心, 武汉 430063; 3. 阿尔托大学 工程学院, 艾斯堡 芬兰 20110)

提高船舶检测和跟踪技术对于保障船舶安全航行、减少海事事故和实现船舶信息化管理而言具有重要意义。[1]船舶检测和跟踪的方法繁多,检测设备复杂多样,例如雷达、船舶自动识别系统(Automatic Identification System, AIS)和视频装置等。 在特殊环境下,各种类型设备的监控效果都会受到影响,例如夜间环境能见度低,视线模糊,虽然雷达能助航,但雷达目标不够直观,无法判断目标的种类[2],AIS信号易丢失且易受船载设备的影响。[3]针对夜间海事监控存在的不足,提出一种基于视频图像处理的夜间船舶检测和跟踪方法,进一步为船舶夜间航行监管提供技术支持。

传统的夜间船舶检测方法可分为红外摄像头、合成孔径雷达(Synthetic Aperture Radar, SAR)和卫星检测等3类。首先,利用红外摄像头较强的适应能力进行夜间船舶检测。LIU等[4]通过在桥墩上搭建平台、架设红外摄像头构建船桥碰撞报警系统,能实现白天和夜间的船舶检测。LIU等[5]为实现港口全天候船舶异常行为检测,避免船舶发生被偷事件,采用红外摄像头进行港口船舶检测,并运用SAR进行全天候船舶检测。TELLO等[6]和MARINO[7]分别采用小波变换和陷波滤波器进行SAR图像船舶检测,但因SAR能量消耗较高,无法保证对夜间船舶航行的持续监控,该方式主要应用于渔业检测和漏油管理中;同时,运用卫星图像进行渔船检测,主要利用渔船灯光进行船舶检测,最早为操作线性扫描系统,后来发展为可视红外成像辐射系统,通过可视红外成像辐射系统(Visible Infrared Imaging Radiometer Suite, VIIRS)采集昼夜波段(Day/Night Band, DNB)数据。ELVIDGE等[8]设计DNB数据船舶检测系统;YAMAGUCHI[9]基于DNB数据和BT3.7提出船舶交通流密度评估算法,但该类夜间船舶检测方法主要针对渔船检测,在其他情景中应用较少。

目前,采用视频实现船舶检测的应用领域包括复杂码头运动船舶监控[10]、渔业监管中船舶监控[11]、控制河段船舶违章航行检测[12]和基于视频的船舶流量统计[13]等。在视频船舶检测方法中,主要有基于传统图像处理的方法,如Vibe背景检测算法[14]、基于卷积神经网络的方法[15]和采用Opencv[16]或DirectShow[17]等软件技术的监控方法。然而,这些船舶检测方法均依靠视频图像中船舶的特征进行检测,不适合对夜间航行的船舶进行特征检测。综上所述,当前针对夜间视频船舶检测方法的研究较少,需进一步研究如何在夜间采用普通摄像头捕捉运动船舶并对其进行动态跟踪。借鉴实时交通信号灯检测方法[18],船舶在夜间航行时开启船灯,考虑对船灯进行检测并跟踪,以实现对夜间船舶的检测和跟踪。

夜间航行船舶的检测和跟踪包含船灯检测和跟踪2步。夜间航行船舶船灯检测即边缘检测,边缘检测算子可分为一阶微分算子(Laplacian of Gaussian, LOG)(例如:Prewitt和Sobel算子)和二阶微分算子。陈娟等[19]对多个LOG的应用进行分析,提出边缘检测方法需根据不同图像类型和应用场合进行选择。常用的一阶微分算子(如Roberts算子和Laplacian算子)运算简单,但抗干扰性能较差,且会在边缘检测到噪声,适用性有限;Canny算子在性能上优于LOG算子,但在相同尺度下定位和执行效率具有一定的局限性。[20]常用的目标跟踪算法包括光流跟踪、MeanShift跟踪算法和Kalman滤波等。对船舶的检测多采用线性Kalman滤波[21-22],由于一般图像序列中相邻帧的时间间隔通常很小,船舶航行状态难以发生明显变化,特别是在受限水域或其他特殊航行环境下,基本可认为船舶匀速运动,即目标在视频中具有连续性的特征,从而满足Kalman滤波模型。

基于上述分析,本文采用LOG算子进行船舶灯光检测并使用Kalman滤波进行光斑跟踪。通过实际夜间船舶航行视频分析,研究夜间船舶检测和跟踪方法。本文主要创新之处在于:

1. 提出通过对船舶船灯进行检测和跟踪的方法,实现对夜间航行船舶的跟踪。

2. 采用LOG算子对船舶灯光进行检测,并结合光斑阈值过滤方法,提高船舶光斑检测的有效性。

1 问题分析

1.1 夜间船舶跟踪

当前夜间船舶主要依靠红外摄像头、SAR和卫星检测,但各类方法存在费用较高和无法持续性检测等问题,同时受适用范围的限制,在部分水域无法适用。普通的摄像头广泛应用于视频检测中,然而船舶夜间航行难以对船舶本身进行识别,尤其是在航行环景复杂时,难以提取船舶图像的特征,因此很少应用于夜间船舶检测。

1.2 船灯检测

夜间船舶跟踪可基于对船舶灯光的检测和跟踪转化为边缘检测,在夜间船舶航行视频中对船舶灯光进行检测时,由于视频背景为江岸居民生活区而存在光斑,会干扰对船舶灯光的检测。同时,江水对船舶灯光的反光效果也会对检测结果产生消极影响。船灯检测算子需具备较强的抗干扰性能。此外,同一艘船舶多个船灯之间较近,需要保证光斑的检测准确性。

1.3 研究动机

针对当前夜间航行船舶跟踪主要依靠红外摄像头和雷达等问题,为弥补采用普通摄像头实现的不足,提出一种基于光斑跟踪的夜间船舶航行跟踪方法。当船舶航行时,船灯点亮,随着船舶移动,因此将对船舶的跟踪转换为对船灯的跟踪,完成基于普通摄像头的夜间船舶航行跟踪。在船灯检测中,受沿岸生活区灯光和船灯在水面反光的影响,采集的图像中包含其他无效光斑。在通过LOG算子对光斑进行准确检测的基础上,结合试验方法设置光斑阈值对无效光斑进行过滤,以保证船灯检测效果。

2 算法

2.1 算法框架

船舶灯光检测跟踪方法流程包括图像预处理、光斑检测和光斑跟踪等部分,见图1。通过输入船舶航行监控视频,获取视频帧图像,在预处理(包括图像裁剪和灰度化)的基础上,先对光斑进行检测,根据光斑检测结果(光斑在图像中的X/Y坐标)对光斑进行跟踪,获取船舶夜间航行轨迹。该过程主要包括光斑检测和光斑跟踪2步。

1) 在夜间视频灰度图像中检测所有光斑,从夜间航行视频中检测到的灯光可能包含岸边建筑物或桥灯灯光,因此需对光斑进行过滤。本文首先选择LOG算子[23]作为边缘检测算子进行灯光检测,再根据光斑的灰度值对光斑进行阈值过滤,尽可能地保留船灯光斑。

2) 对光斑进行跟踪。由于在同一帧图像中不同的船舶有各自的船灯,且同一艘船舶可能有多个船灯,因此需要对多个目标进行跟踪。本文采用Kalman跟踪方法[21]对多运动目标进行跟踪,以实现对运动船舶的跟踪。

2.2 船舶灯光检测

船灯检测即光斑检测,可进一步将光斑检测转化为图像边缘检测,本文采用LOG算子进行边缘检测。Marr和Hildreth将高斯滤波与拉普拉斯算子相结合形成LOG,其充分利用高斯函数减小噪声点,并借助拉普拉斯模板使检测到假边缘的概率减小。[19]LOG算子为

(1)

然而,由于图像中受到其他沿岸灯光和船灯在江面的反光等干扰,需保证船灯检测效果。考虑到沿岸灯光和水面反光光斑亮度会受距离等因素的影响,光斑亮度低于船灯,可通过设置光斑阈值对光斑进行过滤。因此,光斑检测主要流程包括:使图像灰度化,并进行LOG算子检测;对图像光斑阈值进行过滤;进行最大值滤波和背景检测,从而检测图像峰值,判断光斑的中心位置和和半径;根据光斑重叠面积占光斑自身面积的比例判断光斑重叠情况;输出光斑和图像。光斑检测算法流程见图2。

2.2.1图像尺度变换

摄像头采集原始图像为RGB图像,首先需将图像转为灰度图像。由于光斑尺度未确定,可采用不同尺度滤波器对图像进行边缘检测。滤波器尺度取决于卷积核参数σ,因此构建等间隔向量用于不同尺度滤波器中。

2.2.2LOG光斑检测

分别在水平方向和垂直方向上进行高斯卷积运算和高斯-拉普拉斯卷积运算,并对2个方向上的计算结果进行求和运算。具体过程为:首先对垂直方向进行高斯拉普拉斯卷积运算;其次对水平方向进行高斯卷积运算,并将卷积运算后的图像在水平方向进行高斯卷积运算;接着在水平方向进行高斯拉普拉斯卷积运算;最后对2个方向上的卷积运算结果进行求和运算。

2.2.3光斑阈值判断

由于夜间内河视频图像中包含建筑灯光等背景灯光,因此需对检测到的非船舶光斑进行过滤。通过设置灰度值阈值进行判断:若阈值过小,则检测到光斑包含其他类型的灯光,从而导致光斑数量过多,难以有效跟踪;若阈值过大,则检测光斑数量过少,无法实现船舶检测和后续跟踪。阈值的大小影响光斑的数量和检测精度,由于无法事先确定各类光斑间的差异,拟通过试验的方法确定阈值。

2.2.4峰值检测

峰值检测在于获取光斑的中心位置和半径,包含最大值滤波、背景检测和图像腐蚀等3步。

(1) 图像阈值判断后图像光斑较小,采用最大值滤波增大光斑,最大值滤波的原理是用卷积核最大像素值替代中心像素值,从而有效放大原始光斑。

(2) 根据最大值滤波前后图像数据的对比结果,区分船舶光斑和背景,即将最大值滤波后像素值发生变化的情况取值为0,否则取值为1。

(3) 根据背景检测结果对图像背景进行腐蚀,获取光斑实际大小;对最大值滤波后的结果与腐蚀后背景图像做差,得出船舶光斑中心位置和光斑的半径。

2.2.5光斑重叠判断

光斑重叠判断规则如下:首先计算2个光斑半径之和rsum、半径之差的绝对值rdiff和2个光斑中心点之间的距离d。若d≤rdiff,说明小光斑位于大光斑圆环内,可不考虑小光斑;若rsum≤d,说明不存在重叠,否则计算2个光斑之间的重叠面积。光斑重叠面积计算示意见图3,其中:r1、r2和d分别为2个光斑的半径和光斑中心之间的距离;在此基础上,分别计算重叠区域面积与各光斑面积的比值,若该比值大于设定阈值(本文初始取0.1),则认为该光斑存在重叠。光斑重叠区域面积计算流程伪代码如下:

图3 光斑重叠面积计算示意

Inputs:x1,y1,r1,x2,y2,r2

rdiff=r1-r2

2:ifd≤rdiff,then

3: area=π×r2×r2

4: else ifd≥rsum

5: area=0

6: else

7:θ1=acos×((d2+r1-r2)/2×r1×d)

8:θ2=acos×((d2+r2-r1)/2×r2×d)

10: end if

2.3 船舶灯光跟踪

在实现视频光斑检测之后,采用Kalman滤波对光斑进行跟踪。由于在视频图像中检测到的光斑数量较多,需对多个光斑进行跟踪。对单帧图像中检测到的光斑依次循环进行Kalman滤波单目标跟踪,即可实现滤波多目标跟踪。[24]

2.3.1Kalman滤波

船舶在规定的航道内航行时,其航行状态主要受航速的影响,同时船舶在相邻帧短时间内具有连续性特征,因此可构建船舶的位置和航速状态向量,基于线性Kalman滤波模型进行跟踪。以单个光斑跟踪为例,假设:xk和yk分别为k时刻光斑中心所在位置;vx和vy分别为x和y方向上的速度;ax和ay分别为x和y方向上的加速度。定义用来描述运动目标状态的向量为

(2)

观测向量Zk为

(3)

由此确定状态转移矩阵A,控制输入矩阵B,k时刻对系统的控制量Uk、系统测量矩阵H及其对应的协方差矩阵为

(4)

当确定Kalman滤波参数以后,采用Kalman滤波实现目标跟踪的过程如下:

首先对下一刻的状态进行预测并计算协方差矩阵,有

(5)

通过更新加入观测值校正以后,得到状态变量值矩阵和协方差矩阵,有

(6)

Kalman增益计算为

(7)

经过式(5)和式(6)的预测和更新,可得到下一时刻的校正值,不断循环上述2个步骤,以实现Kalman滤波跟踪。

2.3.2光斑多目标跟踪算法流程

夜间船舶多光斑跟踪需解决的主要问题包括:由于光斑数量较多,需对每一帧图像检测到的光斑进行匹配;由于灯光闪烁的问题,导致光斑检测不稳定,例如同一个光斑相邻帧图像未能均检测到该光斑。同时,船舶驶离视频监控区域范围时,需将对应光斑的观测结果删除。

针对第一个问题,采用匈牙利算法[25]进行光斑匹配;针对第二个问题,首先对上一帧跟踪光斑进行Kalman滤波,再对观测结果与测量结果进行匈牙利匹配,根据匹配的结果和设定的距离阈值判断光斑是否保留。将未匹配上的新检测到的光斑作为新的光斑,同时将原有而之后未匹配次数达到阈值的光斑设为已离开视频监控区域的光斑,进行删除。跟踪流程见图4。

图4 光斑跟踪算法流程

(1) Kalman滤波预测。根据2.3.1节所述Kalman滤波各参数依次对前一帧图像中检测到的光斑进行预测,并计算协方差矩阵和Kalman系数。

(2) 数据匹配。计算各测量点与观测点之间的欧氏距离,根据距离矩阵,采用匈牙利算法对点集进行匹配。设定距离阈值,通过匹配点之间的距离与阈值进行比较,确定是否为有效的匹配,若测量点与观测点较远,则认为配对无效。

(3) Kalman滤波更新。对基于测量值的有效匹配点观测值进行更新,并更新协方差矩阵。

(4) 光斑新增与删除。考虑新的船舶进入视频监控区域,需对新的光斑进行跟踪。在数据匹配过程中,除了无效匹配以外,还包含未进行匹配的测量点,被认为是新增的光斑,添加到当前光斑跟踪数据中。同时,对观测点中未匹配上的点进行标记,若标记次数达到阈值,则光斑可能已超出视频监控区域范围,需删除该观测点。循环上述步骤,以实现光斑的跟踪。

3 试验分析

利用opencv和vs2013编程环境实现夜间船舶监控视频光斑检测和跟踪,以实际夜间船舶航行监控视频作为案例进行验证,沿海水域夜间船舶航行视频图像见图5,经裁剪后的图像分辨率为550×420,圆圈所示物标即为航行船舶船灯。由图5可知:除了船灯,船舶的其他区域与图像背景均为黑色,难以从图像背景中区分船舶,从而检测到其他船舶特征。

3.1 光斑检测试验

3.1.1灰度值阈值试验

船舶在夜间航行时,因受沿岸灯光、海面反射灯光和船灯闪烁等影响,导致船舶光斑检测难度增加。为将其他光斑过滤,经LOG运算之后,采用灰度值阈值对光斑进行过滤。将灰度阈值分别取60、65、70、75和80时,视频每隔20帧进行光斑检测并过滤,光斑个数变化情况见图6。

由图6可知:当灰度阈值分别取60、65、70、75和80时,光斑检测个数在1~6范围内变化;随着灰度阈值增大,光斑检测个数减少;对于同一灰度阈值而言,检测到的光斑个数动态变化。为保证通过光斑检测船舶跟踪的有效性,需保证既能检测到船舶灯光,又能使船舶灯光检测个数稳定。当前航行船舶主要有2个光斑,同时有一个弱光斑在闪烁,部分帧中可能被当作重叠光斑,因此取光斑检测个数为2~3的灰度阈值,即取灰度值阈值为70。

3.1.2光斑检测结果

根据光斑检测流程和灰度值阈值试验结果对船舶光斑进行检测。同样,为使船舶跟踪效果明显,在视频中间每隔20帧取一帧图像进行光斑检测和跟踪,实现算法验证。视频中图像检测到的光斑结果见图7。由图7可知:光斑检测个数相对稳定,检测到的船舶光斑个数为2个。由此可确定光斑检测方法的稳定性较好。

3.2 光斑跟踪试验

在光斑跟踪过程中,需对新出现的光斑保持记忆功能,即对检测到的新光斑进行标记。当后续图像中光斑未检测到标记达到指定次数时,可认为已退出监控区域或视为无效光斑。

3.2.1距离阈值试验

采用匈牙利算法对观测数据与跟踪数据进行匹配之后,需对匹配上的点进行判断,若匹配点之间的距离大于设定的阈值,则可认为是无效匹配。

a) 第1帧

距离阈值设置依据:前后帧图像中同一光斑能有效匹配,不同帧不同光斑不能匹配。若阈值设置过小,易导致不同帧同一光斑的实际距离大于阈值,则无法匹配,可认为是无效匹配;若阈值设置过大,可能出现不同帧不同光斑被匹配到一起的现象,影响光斑跟踪效果。

本文采用试验的方法对距离阈值进行取值,设置初始化阈值为6,阈值增长步长为2,观察阈值取值为6、8和10时的光斑跟踪效果,从而确定距离阈值。当距离阈值为6、8和10时,对应第441帧、481帧、501帧、541帧和第641帧跟踪结果见图8,将光斑分别标记为a、b和c,将跟踪轨迹标记为1、2、3和4。在第441帧出现第3个光斑c,对光斑c进行标记。在第481帧:当距离为6时,光斑b与第441帧中的光斑c和跟踪轨迹2均无法完成匹配;当距离为8和10时,光斑b与第441帧中的光斑c距离较近,完成匹配,连接成跟踪轨迹4,此时跟踪轨迹2虽未匹配上,但暂被保留。在第501帧:当距离为6时,光斑b无法完成匹配;当距离为8和10时,光斑b与跟踪轨迹2完成匹配。在第541帧出现第3个光斑c:当距离为6时,跟踪轨迹3与光斑b完成匹配,跟踪轨迹2与光斑c匹配,原始跟踪轨迹2变形;当距离为8时,跟踪轨迹4未与光斑c未匹配上;当距离为10时,二者则完成匹配,跟踪轨迹4出现变形。在第641帧:当距离为6时,跟踪轨迹2消失,出现新的跟踪轨迹3;当距离为8和10时,轨迹4消失,仍保留最原始的跟踪轨迹2。

光斑跟踪试验结果如图8所示。由图8可知:当距离阈值取6时,阈值过小,导致同一光斑未被有效跟踪,影响跟踪效果;当距离为10时,出现不同光斑被匹配到一起的情形。因此,确定距离阈值可取8。

3.2.2光斑跟踪结果

根据Kalman滤波多目标跟踪算法流程,对光斑进行跟踪,图8对应帧图像跟踪结果见图9(其中距离阈值为8),图片分辨率仍为550×420,采用有色折线对前后帧图像中的同一光斑进行连接。

第441帧

a) 第1帧

由图9可知:采用基于光斑检测和Kalman滤波的多目标跟踪方法能实现夜间船舶的检测跟踪。经光斑检测,得到2个主要光斑,通过2条光斑跟踪连线,能准确判断出光斑的运行状态,从而判断出当前视频监控区域内的船舶及其运行状态。但是,由于船灯闪烁的原因,图像跟踪视觉效果受到一定程度的影响,如图9中第481帧和第601帧中由于光斑闪烁出现无效跟踪轨迹,直至后续图像中未检测到该光斑,无效跟踪轨迹消失。

4 结束语

本文对光斑检测和跟踪方法进行研究,并基于对实际夜间船舶航行监控视频的试验分析验证该方法的有效性。采用LOG算子和光斑阈值过滤方法实现对夜间航行船舶船灯的检测,保证在检测到船灯的同时过滤掉其他噪声;同时,基于Kalman滤波构建船灯跟踪模型,对光斑进行跟踪,实现对夜间船舶的跟踪。通过试验发现,采用光斑跟踪实现船舶跟踪存在以下2个问题:

1) 由于灯光闪烁,导致灯光检测数目不稳定,可能出现无效跟踪轨迹。

2) 由于同一艘船舶存在多个光斑,因此对同一艘船舶出现多条跟踪轨迹,影响跟踪视觉效果。当前采用摄像头实现对夜间航行船舶检测的研究较少,基于该研究可实现普通摄像头对夜间航行船舶的检测和跟踪,从而提高夜间航行船舶检测的精度。今后研究可考虑如何过滤无效光斑和如何将同一艘船舶的多光斑跟踪转化为单目标的跟踪。同时,本文以船舶内河夜间航行视频为对象进行研究,场景较为简单,有关夜间船舶航行更复杂场景中光斑检测效果的有效性需要进一步研究,从而进一步提高夜间航行船舶跟踪效果。

猜你喜欢

光斑算子滤波
基于HP滤波与ARIMA-GARCH模型的柱塞泵泄漏量预测
基于改进自适应中值滤波的图像降噪方法*
有界线性算子及其函数的(R)性质
Domestication or Foreignization:A Cultural Choice
有趣的光斑
主角光环
有趣的光斑
夏末物语
QK空间上的叠加算子
基于非下采样剪切波变换与引导滤波结合的遥感图像增强