郭宪军赵海旭姚新,2杨文瑞
(1.上海船舶电子设备研究所,上海,201108;2.水声对抗技术重点实验室, 上海, 201108)
声呐图像由目标高亮区、强杂波区和背景区等部分组成。声呐图像分割是图像分析的关键步骤,其目的是从复杂海底混响中提取出目标轮廓区域,并尽量保留图像原始边缘信息。只有在声呐图像准确分割的基础上,才能对水下目标进行特征提取和参数测量,使得更高层次的声呐图像分析和识别成为可能。声呐图像中目标和背景的回波特性区分明显,适合采用阈值法进行分割。
阈值分割法,实现简单、性能较稳定,是一种基本的图像分割技术。常用的阈值法有最大类间方差法(maximal variance between clusters,由日本学者大津(Otsu)提出,又叫大津法,简称Otsu)、最小误差法、最大熵原则法和最小偏态法等,其中Otsu算法因其分割效果较好且适应性强而成为有代表性的阈值分割方法。Otsu算法以图像的直方图计算为基础[1],在整个灰度级遍历上求最大类间方差,运算量较大,为此有学者对此提出改进的快速算法[2,3]。
本文在传统Otsu算法的基础上,结合声呐图像本身的特点,对该算法进行了改进,提出了基于图像灰度方差特征的快速阈值分割方法,仿真和试验数据处理的结果表明,该算法应用于声呐图像的分割具有良好的性能。
阈值处理可视为一种统计决策理论问题,其目的在于把像素分配给两个或多个组(也称为分类)的过程中引入的平均误差最小。Otsu算法以一幅图像的直方图为基础,以目标和背景类间方差最大为阈值选取准则。
设{0,1,2,…,L−1}表示一幅大小为M×N像素的数字图像的L个不同的灰度级,ni表示灰度级为i的像素数。图像中的像素总数MN=n0+n1+n2+…nL−1。归一化直方图分量pi=ni/MN,因此有:
现在选取一阈值T(k)=k,0<k<L−1,并使用它将输入图像阈值分为C0和C1。其中,C0由图像中灰度值在范围[0,k]内的所有像素组成,C1由图像中灰度值在范围[k+1,L−1]内的所有像素组成。利用该阈值,像素被分割到C0类中的概率P0(k)由如下的累积和给出:
同理C1发生的概率为:
分配到类C0的像素的平均灰度值为:
类似的,分配到类C1的像素的平均灰度值为:
直至灰度级k的累加均值由下式给出:
整幅图像的平均灰度值由下式给出:
类间方差的定义式如下:
根据以上各式,式(8)可以写为如下形式:
最佳阈值k*,应最大化
Otsu算法不管图像的直方图是否有明显的双峰,都能得到较满意的结果。所以该方法是全局阈值自动选取的最优方法。
声呐图像中的目标回波呈亮性,与背景形成较大对比,同时背景中存在的杂波区和强目标回波扩展带来的过渡区域,使整个区域呈现多级分布态势,仅依据图像灰度值的Otsu分割效果较差。
在图像的统计分析中,除灰度值外,还可以采用灰度方差来代表图像的特征,相比于灰度特征,灰度方差具有更为丰富、准确的显示特征。由于声呐工作环境的复杂性,声呐图像中,目标区域与背景区域的差别不仅仅体现在回波强度上,同时体现在其强度起伏的分布特性上。
图像灰度方差以直方图分布为基础,直方图分布反应了每一灰度值出现的概率大小,图像的方差分布反映了该概率下每一灰度值处对应的方差大小,计算以整幅图的全局均值为依据,公式如下:
图1~图2是声呐图像回波强度转化成灰度值后的灰度直方图和方差分布。
图1 图像灰度直方图分布图
图2 图像灰度的方差分布图
从图1和图2的对比中可以看出,虽然灰度值在90~150之间的分布较少,但是这段区间的灰度方差较大,图像的方差可以反映出更多的细节特征,同时Otsu算法以最大类间方差为准则进行阈值选取,所以方差比灰度值更适合作为特征量进行阈值分割。因此本文采用图像灰度的方差作为特征量进行图像分割。
选取阈值T将图像分割成C0和C1两部分,求出各个部分出现的概率P0和P1,以及灰度均值m0和m1(计算方法见章节1)之后,再求出各区域的灰度平均方差。
C0和C1两部分的灰度平均方差计算公式如下:
整幅图像的总方差为:
直至灰度级k的累加方差由下式给出:
最后得到采用灰度平均方差的计算公式:
Otsu算法要在整个灰度级遍历上求取最大类间方差,运算量主要集中在计算类间方差时的循环迭代上;而对于一幅图像的直方图来讲,Otsu算法得到的阈值一般在图像的灰度均值附近,因此为缩小阈值的搜索范围,按照下文方法选取阈值。
初始设置三个分割点(ik1,ik2,ik3),将整个灰度域划分成4个子区间:
其中ik2是整个灰度直方图的均值,ik1和ik3分别是以ik2将整个直方图划分后的前后两个区间的灰度均值,定义式如下:
● 比较σmax与周边相邻两点灰度值处的值
● 如果第一步的最大值为σmax,结束搜索过程,最佳阈值即为Kinit。
如果搜索过程没有结束,在搜索子区间范围再次设置三个不同的分割点(k1,k2,k3)。设当前搜索子区间为Rc=(r1,r2),三个不同分割点的取值方法如下:
新的分割点将区间Rc更新为如下4个子区间:
结合章节2.1和2.2,下面给出声呐图像分割的处理过程:
a)数据预处理:原始数据在方位和距离维分别做内插,形成较为精细的图像数据,并将图像强度值转化成灰度值。
b)计算声呐图像的直方图,并计算每个灰度值出现的概率Pi。
c)根据式(16)~(17)分别计算初始分割点ik1、ik2、ik3。
f)根据最大值maxj对应的灰度值Kinit及2.2节初始的4个子区间确定搜索子区间Rc=(r1,r1),步骤如下:
(1)比较σmax与周边相邻两点处的值
(4)如果最大值为σmax,结束搜索过程,Kinit即为最佳阈值。
g)若上一步中搜索过程未结束,进行如下步骤:
(1)按照式(19)~(21)计算更新后区间内的分割点k1、k2、k3;
(4)利用2.2节更新后的4个子区间,根据f)中的步骤确定下一个搜索区间Rc=(r1,r1)。
h)重复过程 g)直到获得最佳阈值k*(灰度值),再将其转化成强度值d*。
i)图像分割处理:将声呐图像中回波强度值小于d*的置为较小的背景值,大于d*的强度值保留。
本文利用基于图像方差特征的快速 Otsu 算法对某声呐的两幅图像数据图3(a)和(b)进行了处理,处理结果见图4和图5。
图4 基于灰度值的Otsu处理结果
图5 基于灰度方差的Otsu处理结果
数据处理结果表明:基于图像灰度值的 Otsu算法对图像的分割效果差,图像中大量的强背景杂波和强目标的扩展回波仍然大量保留,无法分离出来。从Otsu算法处理后的图像上看,这些保留背景图像与目标图像本身在强度及其分布上仍存在较为明显的特征;而基于图像方差特征的Otsu算法处理结果良好,大量背景杂波和目标周围的扩展回波被正确分离,较为完整的保留了目标图像的轮廓。
为验证快速 Otsu算法的性能,在 XP系统Intel(R) Core(TM)2 E7500 2.93 GHz主频CPU上,利用基于图像方差特征的Otsu算法分别对6幅不同的图像数据进行处理。图像1和2为含有目标且背景较为干净的两幅图像(类似图3中的原始图像(a));图像5和6是目标轮廓较模糊且存在较多强杂波的复杂背景图像;图像3和4是含有目标且背景分布介于前两者之间的两幅图像(类似图3中的原始图像(b)),最后统计快速算法与一般算法收敛到最佳阈值时的耗时,如表1所示。
表1 快速Otsu算法与Otsu算法的耗时比较
由表 1可知,对于不同的图像,算法耗时与所选择的图像背景分布有关,较为干净的背景耗时较少,复杂背景耗时相对较长。无论何种背景的图像,改进 Otsu算法都可以得到与Otsu算法相同的分割阈值,并且达到最佳阈值时的耗时更少,更适合图像的实时处理,对于工程应用有一定的实用价值。
本文中分割算法基于声呐图像的灰度方差特征,并采用了快速收敛算法,对满足一定信噪比的目标回波图像既能够实现良好的分割,又能满足工程上实时处理的要求,具有一定的工程应用价值;然而对于低信噪比和杂波干扰较严重的声呐图像分割效果不理想,建议对低信噪比的图像先进行一定的处理(如图像增强)之后再进行分割,可以进一步提高低信噪比下的分割效果。