一种基于FCN和CNN的云图分割方法与流程

文档序号:11621257阅读:456来源:国知局
一种基于FCN和CNN的云图分割方法与流程

本发明属于计算机视觉的图像分割领域,涉及超像素聚类及多种神经网络的特征提取,具体涉及毫米波雷达云图的超像素预处理并通过全卷积神经网络fcn和卷积神经网络cnn的特征提取,提出了一种基于fcn_cnn的毫米波雷达云图分割方法。



背景技术:

图像分割是图像处理中的关键技术之一。图像分割从20世纪70年代开始就很受人们的重视,发展至今其应用领域已经非常广泛了。主要表现在:军事研究领域,比如通过图像分割实现军事目标定位和战场分析等;医学影像领域,比如通过图象分割来辅助分析器官和病情等;交通监控领域,比如通过监控图像的分割辅助车辆目标检测和车牌识别等;气象分析领域,通过对遥感或雷达等获取的有关天气图像的分割,实现作物生长情况分析以及天气预测等。

本发明的图像分割算法主要是针对气象领域的毫米波雷达云图。该毫米波雷达是中国气象探测中心,西安华腾微波有限责任公司以及成都信息工程大学联合研制的ka波段全固态多普勒雷达。其发射的毫米波采用垂直顶空瞄准式的工作方式,利用云粒子对电磁波的散射特性,即可获得雷达的回波强度。接着通过伪彩色映射的原理,根据特定的颜色查找表,将不同的回波强度转换为彩色图像,即为图1所示的毫米波雷达云图。本发明分割的云图是连续12小时的云演变图,横向表示时间,纵向表示高度。但是由于低空噪音或者是空气中的气溶胶粒子的影响会使雷达回波强度变弱,在云图中表现为杂波成分如图1中的方框部分所示,这里我们称杂波成分与白色背景区域为“非云”部分。为了准确的天气预测,本发明的主要目的是实现云图的分割,即“非云”和“云”区域的分割。

迄今为止,图像分割算法被提出了上千种,主要包括传统分割算法和基于深度学习的分割方法。传统的分割算法包括阈值分割法、边缘分割法、区域分割法等。阈值分割法一般是根据一个或多个合适的阈值来确定每个像素的特征,例如:2009年杨俊等人在文章“基于自适应阈值的地基云自动检测算法”中基于不同波段的比值、差值和归一化等处理,实现了固定阈值和自适应阈值的对比实验,但是地基观测的云图一般只有蓝色的天空和白色的云两类,没有杂质扰动,这一点不同于本发明中所研究的毫米波雷达云图。边缘分割法是利用图像灰度级的不连续性,检测不均匀区域间的边界实现图像分割。2008年zhang等人在文章“bubbleimagesegmentationofgas/liquidtwo-phaseflowbasedonimprovedcannyoperator”通过引入改进的canny算子使气泡图像的边缘光滑、无噪,从而实现分割。但是气泡之类的图像是规则的,而本专利毫米波雷达云图的“云”或“非云”区域是不规则的,不利于实现边缘检测。区域分割方法有区域生长和分裂合并,根据像素之间的特征相似性实现像素的合并,例如corincomaniciu等人在2002年文章“meanshift:arobustapproachtowardfeaturespaceanalysis”中将特征空间比较相近的像素算成一个区域,这样不断的聚类实现图像的分割。但是本发明中所用的毫米波云图中“云”或“非云”分布不一定是连续的,邻域内的像素聚类之后仍无法判断是云还是非云。近年来,随着大数据和gpu的飞快发展,基于深度学习的图像分割方法也在不断涌现。2014年wu等人在文章“earlyhierarchicalcontextslearnedbyconvolutionalnetworksforimagesegmentation”提出了基于多分辨率的cnn网络,通过充分结合图像上下文的信息来实现图像的精确分割。2015年long等人在文章“fullyconvolutionalnetworksforsemanticsegmentation”中实现全卷积网络的图像分割算法,将cnn网络中全连接层替换为卷积层大大降低了运算时间。

本发明巧妙地用传统的超像素方法对毫米波雷达云图做了聚类预处理,接着结合基于深度学习的图像分割算法提出了fcn_cnn分割方法,fcn_cnn方法实现了毫米波雷达云图的快速、精确分割。



技术实现要素:

本发明的目的是提供一种基于深度学习的快速、精确的毫米波雷达云图分割方法。

本发明的分割系统框架如图2所示。首先通过超像素对云图如图2(a)中每个像素点的近邻域实现相应的聚类,聚类结果如图2(c)所示;同时将云图输入到不同步长的全卷积神经网络fcn32s和fcn8s中,具体fcn网络框架如图3所示,实现云图的预分割结果分别如图2(b)、2(d)所示;统计分析发现fcn32s结果图2(b)中的黑色区域一定是云图中的一部分“非云”区域,fcn8s结果图2(d)中的白色区域一定是云图中的一部分“云”区域。剩下不确定的区域(灰色区域)需要通过深度卷积神经网络cnn来确定,需要选取超像素区域中的关键像素来代表超像素区域的特征,像素的特征通过cnn网络图4所示来判断是“云”或者是“非云”,即可知道不确定部分的超像素区域是“云”还是“非云”。

本发明的具体技术方案和步骤介绍如下:

1、超像素聚类

在本发明中,为了提高云图特征的学习效率以及保持像素特征的一致性,预先用均值偏移(mean-shift)方法对云图中像素进行聚类操作,也就是说在后续的云图分割过程中是以超像素为基本单位而不是像素。

均值偏移的超像素分割是一种特征空间的聚类。输入是一个5维空间,包括2维的(x,y)物理坐标和3维的(l,u,v)颜色坐标,基于高斯核函数核密度估计的无参数统计迭代方法。具体算法是先算出当前像素点的偏移均值,将该点移动到此偏移均值,然后以此为新的起始点,继续移动直至收敛。偏移均值之后分配标签到每一个像素,具有相同标签的像素具有相同的视觉特征,所以在一个超级像素中的每一个像素都是相似的,如纹理性、颜色强度等。如图2(c)所示,这样的超像素处理之后能够很好的保持云图局部一致性,可以避免云图像边界一些有歧义的像素点。

2、全卷积神经网络(fullyconvolutionalnetworks,fcn)介绍及模型训练

本发明用全卷积神经网络fcn来实现云图的预分割,采用的fcn结构框架如图3所示,fcn网络是对卷积神经网络cnn(图4)在分割领域的一个延伸,是一种图像语义分割,对一张图片上的所有像素点进行分类。cnn都是对整张图片进行分类,而全卷积网络是对一张图片中的每个像素进行分类,可以达到对图片特定部分的分类,比较适合分割。基于cnn的分割方法的做法通常是:为了对一个像素分类,使用该像素周围的一个图像块作为cnn的输入用于训练和预测。这种方法存储开销很大。例如对每个像素使用的图像块的大小为a*a,则所需的存储空间为原来图像的a2倍。还有计算效率低下,相邻的像素块基本上是重复的,针对每个像素块逐个计算卷积,这种计算也有很大程度上的重复。cnn的分类网络最后会使用全连接层,将原来二维的特征图转换成一维的固定长度的特征向量,这就丢失了空间信息,最后输出一个特定长度的向量,表示输入图像属于每一类的概率,以此作为分类的标签。

与cnn在卷积层之后使用全连接层得到固定长度的特征向量进行分类不同,fcn可以接受任意尺寸的输入图像,然后通过反卷积层对最后一个卷积层的特征图进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测,同时保留了原始输入图像中的空间信息,最后在与输入图等大小的特征图上对每个像素进行分类,逐像素地分类计算损失,相当于每个像素对应一个训练样本。

因为语义分割需要输出整张图片的分割图,所以要求网络中的特征图至少是二维的,这样才能通过上采样还原到输入图片的同等大小。这就需要替换掉全连接层,改换为卷积层,而这就是卷积化。fcn将cnn中的全连接层转化成卷积层,对应cnn网络fcn把最后三层全连接层转换成为三层卷积层。在图4的cnn结构中,有5个卷积层,两个全连接f1、f2层分别是一个长度为4096的一维向量,f3是长度为2的一维向量,分别对应2个不同类别(云或者是非云)的概率。图3中的fcn将这3个全连接层转换为卷积层,卷积核的大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(2,1,1)。

cnn中输入的图像大小是统一固定调整成227*227大小的图像,其中pooling层是池化层,池化层缩小了特征图的尺寸。第一层pooling后为55*55,第二层pooling后图像大小为27*27,第五层pooling后的图像大小为13*13。而fcn输入的图像是h*w大小,第二层pooling后变为原图大小的1/4,第三层变为原图大小的1/8,第四层变为原图大小的1/16,第五层变为原图大小的1/32。fcn32s网络是直接对1/32尺寸的特征图进行上采样操作,但是这样的操作还原的图片仅仅是conv5中的卷积核中的特征。直接上采样32步长的精度问题不能够很好地还原图像当中的特征,所以把conv4中的卷积核对上一次上采样之后的图进行反卷积补充细节,最后把conv3中的卷积核对刚才上采样之后的图像进行再次反卷积补充细节,最后就完成了整个图像的还原,这就是上采样8步长,也就是fcn8s网络。

在训练fcn模型阶段,输入fcn网络的图像是原图像h*w不需要任何裁剪等处理的。从云图数据库中随机选取e(800<e<1200)张图像做训练集,随机选取f(300<f<400)张图片做测试集。在fcn模型的训练过程中需要引入监督信号,也就是标签,标签的制作本专利是基于photoshop等画图软件手工将云图像中“云”和“非云”区域用黑白颜色区分,然后将其转化成h*w的二值矩阵(“云”部分用1表示,“非云”部分用0表示)。训练过程中批大小设为e(e可以是1、2、4或者是更大,根据服务器内存的情况而定),即每迭代一次处理e张云图,fcn32s的初始学习率为0.001,fcn8s的初始学习率为10-13,而且是每迭代f(f是几百或者几千,根据网络的训练情况而定)次,学习率下降10倍。随着迭代次数的增加,当网络的损失率趋于稳定的时候可以停止训练。

3、fcn模型实现云图的预分割

在语义分割中,我们需要输出和输入图像尺寸相同的分割图片,因此需要对特征图进行上采样。为了得到和输入图像尺寸完全相同的特征图,fcn中还使用了裁剪操作来辅助反卷积操作,因为反卷积操作并不是将特征图恰好放大整数倍。但是直接将全卷积后的结果进行反卷积,得到的结果往往比较粗糙。如图3所示,1/32尺寸的特征图进行上采样操作之后,因为这样的操作还原的图片仅仅是conv5中的卷积核中的特征。所以的得到的分割结果是如图2(b)所示的fcn32s粗分割结果,可以看出此结果的云图没有轮廓信息,丢失了很多的细节信息。

限于直接上采样32步长的精度问题不能够很好地还原图像当中的特征,因此想到向前迭代。把conv4中的卷积核对上一次上采样之后的图进行反卷积补充细节(相当于一个插值过程),最后把conv3中的卷积核对刚才上采样之后的图像进行再次反卷积补充细节,最后就完成了整个图像的还原。最后得到上采样8步长的云图分割结果如图2(d)所示,通过比较fcn32s以及fcn8s的结果可以看出,fcn8s相比较于fcn32s而言更能学到细节信息,fcn8s粗分割结果的轮廓比fcn32s的更清晰,但是同时也可以看出fcn8s的结果也处于“欠学习”状态,精度还远远不够。

分析原因,首先是fcn直接上采样本来就是一个比较粗糙的分割方法,再加上本专利研究的毫米波雷达云图中杂波等因素的影响,使得即使是结合了上下文语义的fcn云图分割效果还是不理想。但是结合fcn32s和fcn8s的结果可以得到的结论是:fcn32s在预测非云区域(黑色)比较准确,fcn8s在预测云区域(白色)比较准确。可以统计第i()个超像素区域的像素总数ni,记超像素i在fcn8s中的白色像素总数yi,在fcn32s中的黑色像素总数xi,既不属于fcn8s中的白色像素也不属于fcn32s黑色像素(即像素在fcn8s中是黑色的,在fcn32s中是白色的)总数记为ui。比较xi、yi、ui,若xi=max{xi,yi,ui},则该超像素区域的属性就确定为“非云”;若yi=max{xi,yi,ui},则该超像素区域的属性就确定为“云”;否则,其他的情况(比如ui=max{xi,yi,ui}、或xi=yi等情况)下的超像素区域(图3的灰色区域)都通过cnn判断。

所以接下来考虑将cnn与fcn结合,对于fcn无法预测的少数超像素区域通过cnn预测分类(云或者是非云)。下边将详细介绍cnn部分。

4、卷积神经网络(cnn)的介绍及模型训练

cnn网络对本分割方法的贡献是补充预测fcn网络无法判断(或者是判断不准确)的少数超像素区域的云分类。本发明采用的cnn结构如图4所示,该网络是通过对alexnet网络(alex等人在imagenet数据库分类上提出的)微调得到的。网络的训练和测试等具体情况将在第4部分介绍。该网络由5个卷积层、3个全连接层组成,并且只给卷积层c1、卷积层c2和卷积层c5加入了pooling层。f1到f3是全连接层,相当于在五层卷积层的基础上再加上一个三层的全连接神经网络分类器。需要注意的一点是,我们将alexnet中f3的神经元个数由1000调为2,原因是为了实现“云”和“非云”的2分类。

在训练和测试cnn网络阶段,为了保证在采集训练集图像时,能够采集到整张云图的每一个像素点,我们对云图a*b的四个边界分别延伸c个像素,使图像变为(a+2c)*(b+2c)。在图像(a+2c)*(b+2c)中,以像素点a为中心,以2c为边长裁剪出2c*2c的图像子块。cnn网络从d(5<d<15)张云图中随机选取了g(800<g<1000)个2c*2c的图像子块来训练,随机选取h(200<h<300)个2c*2c的图像子块来测试。同fcn,在训练cnn网络的时候需要监督信号的输入,也就是所谓的标签。标签的制作过程本专利是利用photoshop等画图软件手工将云图像中“云”和“非云”区域用黑白颜色区分,并转化为txt文件,放成列表的形式(每个像素点是“云”还是“非云”用0或1表示),用于监督cnn网络的训练。在训练过程中,批大小设为g(同fcn的训练,根据输入图片的大小以及内存情况而定),即每迭代一次处理g条数据,学习率初始值为0.01,且每迭代h(同fcn一般是几百或者几千)次学习率下降10倍。最后训练模型的准确度如图5所示,当训练集数据库为900左右的时候,模型的准确率达到最高,即97.26%。

5、cnn网络云图分割

cnn网络来辅助fcn网络实现分割的具体做法是:首先将每一个待cnn处理的超像素转化为一个1维的向量,由于超像素具有良好的特征保持特性,在一个超像素中的像素有相似的视觉特征、颜色、纹理和强度等,所以可以在一个超像素中选取n(n为奇数)个关键的像素点来代替表示该超像素的特性。关键像素点的选取可以采用等间隔或者是随机取点(图8是实验的对比结果)。在此过程中为了避免选取的关键像素点落到超像素的边界,因为当关键像素点落到“云”和“非云”超像素的边界的时候既可以表达“云”也可以表达“非云”属性,所以本发明指出需要对每一个超像素进行腐蚀处理之后再选取关键像素点。具体的腐蚀处理如下:

其中i表示待腐蚀的超像素,l表示的是结构元素如公式(2)所示,把结构元素l平移b后得到lb,若lb包含于i,我们记下这个b点,所有满足上述条件的b点组成的集合称做i被l腐蚀的结果。也就是说用结构元素l扫描超像素i中的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像中的该像素为1,否则为0,也就是会使原来的图像缩小一圈。

接下来,以上述选取的n个关键像素点为中心,裁剪出2c*2c的正方形子块,输入到第4部分训练好的cnn网络中来学习该关键像素点的属性(云或者是非云)。最后对n个关键像素点的特征属性进行投票处理,如果大于或等于(n+1)/2个关键像素点被cnn判断为“云”,则该超像素所在的区域是“云”区域,如果大于或者等于(n+1)/2个关键像素点被cnn判断为“非云”,则该超像素所在的区域是“非云”区域。

6、分割评价

本发明采用像素误差、交并比(intersection-over-union,iou)以及分割所需时间的评价方法来衡量分割结果。

像素误差是给定待测的分割标签l以及其真实的数据标签l’,则:

ppixcel=||l-l'||2(3)

其中||*||代表汉明距,它反映了分割图片与原始标签的像素相似度。按照这种方法,本发明最后将云图的分割准确度达到了99.564%。

iou是系统分割结果与分割标签图的重合程度。即分割结果与分割标签图的交集比上它们的并集,公式表示为:

本发明实现云图分割的交并比达到81.235%。

在处理速度上,fcn-cnn平均分割一张图像只需要19.984秒,

图5是实验结果的对比,可以发现而精度与mr-cnn、sp-cnn相当,但是速度相比于mr-cnn提高了880倍,相比于sp-cnn提高了1.657倍,足以证明本方法是一种高效的毫米波雷达云图分割方法。

与现有技术相比,本发明具有以下优势:

1.保持局部一致性

fcn-cnn中超像素的预处理既保持了云图像中的局部一致性,又避免了云区域边界像素的歧义。

2.云图分割准确度高

与其他分割相比较,本发明通过深度学习中的多种网络:fcn和cnn来自动学习云图的深层特征,不局限于云图的表层特征。最后云图的分割准确率达到99.564%。

3.云图分割速度快

在超像素预处理的同时,结合全卷积网络的实现快速预分割,不确定的部分通过cnn补充,这不仅提高了分割精度,还大大提高了云图的分割效率,平均每张云图需要19.98秒。

附图说明

图1为本发明中的原始毫米波雷达云图像示例;

图2为本发明所设计的整体分割框架;

图3为fcn网络框架;

图4为cnn网络框架;

图5为cnn模型的训练准确率曲线图;

图6为本发明与其他分割方法的结果对比图:

(a)原始图像,(b)超像素聚类结果,

(c)标签参考图,(d)阈值法分割结果,

(e)mr-cnn分割结果,(f)fcn32s分割结果,

(g)fcn8s分割结果,(h)sp-cnn分割结果,

(i)fcn-cnn分割结果

图7为不同分割方法在像素误差和处理时间上的结果统计图;

图8不同关键点选取方法在在像素误差和处理时间上的对比图;

具体实施方式

本发明基于超像素预处理并结合深度学习的多种网络结构fcn、cnn,实现了快速、精确的毫米波雷达云图分割方法。

本发明的具体技术方案和步骤介绍如下:

1、超像素聚类

在本发明中,为了提高云图特征的学习效率以及保持像素特征的一致性,预先用均值偏移(mean-shift)方法对云图中像素进行聚类操作,也就是说在后续的云图分割过程中是以超像素为基本单位而不是像素。

均值偏移的超像素分割是一种特征空间的聚类。输入是一个5维空间,包括2维的(x,y)物理坐标和3维的(l,u,v)颜色坐标,基于高斯核函数核密度估计的无参数统计迭代方法。具体算法是先算出当前像素点的偏移均值,将该点移动到此偏移均值,然后以此为新的起始点,继续移动直至收敛。偏移均值之后分配标签到每一个像素,具有相同标签的像素具有相同的视觉特征,所以在一个超级像素中的每一个像素都是相似的,如纹理性、颜色强度等。如图2(c)所示,这样的超像素处理之后能够很好的保持云图局部一致性,可以避免云图像边界一些有歧义的像素点。

2、全卷积神经网络(fullyconvolutionalnetworks,fcn)介绍及模型训练

本发明用全卷积神经网络fcn来实现云图的预分割,采用的fcn结构框架如图3所示,fcn网络是对卷积神经网络cnn(图4)在分割领域的一个延伸,是一种图像语义分割,对一张图片上的所有像素点进行分类。cnn都是对整张图片进行分类,而全卷积网络是对一张图片中的每个像素进行分类,可以达到对图片特定部分的分类,比较适合分割。基于cnn的分割方法的做法通常是:为了对一个像素分类,使用该像素周围的一个图像块作为cnn的输入用于训练和预测。这种方法存储开销很大。例如本专利中对每个像素使用的图像块的大小为57*57,则所需的存储空间为原来图像的3249倍。还有计算效率低下,相邻的像素块基本上是重复的,针对每个像素块逐个计算卷积,这种计算也有很大程度上的重复。cnn的分类网络最后会使用全连接层,将原来二维的特征图转换成一维的固定长度的特征向量,这就丢失了空间信息,最后输出一个特定长度的向量,表示输入图像属于每一类的概率,以此作为分类的标签。

与cnn在卷积层之后使用全连接层得到固定长度的特征向量进行分类不同,fcn可以接受任意尺寸的输入图像,然后通过反卷积层对最后一个卷积层的特征图进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测,同时保留了原始输入图像中的空间信息,最后在与输入图等大小的特征图上对每个像素进行分类,逐像素地分类计算损失,相当于每个像素对应一个训练样本。

因为语义分割需要输出整张图片的分割图,所以要求网络中的特征图至少是二维的,这样才能通过上采样还原到输入图片的同等大小。这就需要替换掉全连接层,改换为卷积层,而这就是卷积化。fcn将cnn中的全连接层转化成卷积层,对应cnn网络fcn把最后三层全连接层转换成为三层卷积层。在图4的cnn结构中,有5个卷积层,两个全连接f1、f2层分别是一个长度为4096的一维向量,f3是长度为2的一维向量,分别对应2个不同类别(云或者是非云)的概率。图3中的fcn将这3个全连接层转换为卷积层,卷积核的大小(通道数,宽,高)分别为(4096,1,1)、(4096,1,1)、(2,1,1)。

cnn中输入的图像大小是统一固定调整成227*227大小的图像,其中pooling层是池化层,池化层缩小了特征图的尺寸。第一层pooling后为55*55,第二层pooling后图像大小为27*27,第五层pooling后的图像大小为13*13。而fcn输入的图像是719*490大小,第二层pooling后变为原图大小的1/4,第三层变为原图大小的1/8,第四层变为原图大小的1/16,第五层变为原图大小的1/32。fcn32s网络是直接对1/32尺寸的特征图进行上采样操作,但是这样的操作还原的图片仅仅是conv5中的卷积核中的特征。直接上采样32步长的精度问题不能够很好地还原图像当中的特征,所以把conv4中的卷积核对上一次上采样之后的图进行反卷积补充细节,最后把conv3中的卷积核对刚才上采样之后的图像进行再次反卷积补充细节,最后就完成了整个图像的还原,这就是上采样8步长,也就是fcn8s网络。

在训练fcn网路阶段,输入fcn网络的图像是原图像719*490不需要任何裁剪等处理的。从云图数据库中随机选取1000张图像做训练集,随机选取395张图片做测试集。在fcn模型的训练过程中需要引入监督信号,也就是标签,标签的制作本专利是基于photoshop等画图软件手工将云图像中“云”和“非云”区域用黑白颜色区分,然后将其转化成719*490的二值矩阵(“云”部分用1表示,“非云”部分用0表示)。在本专利的实验过程中,训练过程中批大小设为1(由于输入的是整张云图原图,数据比较大),即每迭代一次处理1张云图,fcn32s的初始学习率为0.001,fcn8s的初始学习率为10-13,而且是每迭代2000次,学习率下降10倍。随着迭代次数的增加,当网络的损失率趋于稳定的时候可以停止训练。

3、fcn模型实现云图的预分割

在语义分割中,我们需要输出和输入图像尺寸相同的分割图片,因此需要对特征图进行上采样。为了得到和输入图像尺寸完全相同的特征图,fcn中还使用了裁剪操作来辅助反卷积操作,因为反卷积操作并不是将特征图恰好放大整数倍。但是直接将全卷积后的结果进行反卷积,得到的结果往往比较粗糙。如图3所示,1/32尺寸的特征图进行上采样操作之后,因为这样的操作还原的图片仅仅是conv5中的卷积核中的特征。所以的得到的分割结果是如图2(b)所示的fcn32s粗分割结果,可以看出此结果的云图没有轮廓信息,丢失了很多的细节信息。

限于直接上采样32步长的精度问题不能够很好地还原图像当中的特征,因此想到向前迭代。把conv4中的卷积核对上一次上采样之后的图进行反卷积补充细节(相当于一个插值过程),最后把conv3中的卷积核对刚才上采样之后的图像进行再次反卷积补充细节,最后就完成了整个图像的还原。最后得到上采样8步长的云图分割结果如图2(d)所示,通过比较fcn32s以及fcn8s的结果可以看出,fcn8s相比较于fcn32s而言更能学到细节信息,fcn8s粗分割结果的轮廓比fcn32s的更清晰,但是同时也可以看出fcn8s的结果也处于“欠学习”状态,精度还远远不够。

分析原因,首先是fcn直接上采样本来就是一个比较粗糙的分割方法,再加上本专利研究的毫米波雷达云图中杂波等因素的影响,使得即使是结合了上下文语义的fcn云图分割效果还是不理想。但是结合fcn32s和fcn8s的结果可以得到的结论是:fcn32s在预测非云区域(黑色)比较准确,fcn8s在预测云区域(白色)比较准确。可以统计第i()个超像素区域的像素总数ni,记超像素i在fcn8s中的白色像素总数yi,在fcn32s中的黑色像素总数xi,既不属于fcn8s中的白色像素也不属于fcn32s黑色像素(即像素在fcn8s中是黑色的,在fcn32s中是白色的)总数记为ui。比较xi、yi、ui,若xi=max{xi,yi,ui},则该超像素区域的属性就确定为“非云”;若yi=max{xi,yi,ui},则该超像素区域的属性就确定为“云”;否则,其他的情况(比如ui=max{xi,yi,ui}、或xi=yi等情况)下的超像素区域(图3的灰色区域)都通过cnn判断。

所以接下来考虑将cnn与fcn结合,对于fcn无法预测的少数超像素区域通过cnn预测分类(云或者是非云)。下边将详细介绍cnn部分。

4、卷积神经网络(cnn)的介绍及模型训练

cnn网络对本分割方法的贡献是补充预测fcn网络无法判断(或者是判断不准确)的少数超像素区域的云分类。本发明采用的cnn结构如图4所示,该网络是通过对alexnet网络(alex等人在imagenet数据库分类上提出的)微调得到的。网络的训练和测试等具体情况将在第4部分介绍。该网络由5个卷积层、3个全连接层组成,并且只给卷积层c1、卷积层c2和卷积层c5加入了pooling层。f1到f3是全连接层,相当于在五层卷积层的基础上再加上一个三层的全连接神经网络分类器。需要注意的一点是,我们将alexnet中f3的神经元个数由1000调为2,原因是为了实现“云”和“非云”的2分类。

在训练和测试cnn网络阶段,为了保证在采集训练集图像时,能够采集到整张云图的每一个像素点,我们对云图719*490的四个边界分别延伸28个像素,使图像变为775*546。在图像775*546中,以任意像素点为中心,以56为边长裁剪出56*56的图像子块。cnn网络从10张云图中随机选取了900个2c*2c的图像子块来训练,随机选取250个56*56的图像子块来测试。同fcn,在训练cnn网络的时候需要监督信号的输入,也就是所谓的标签。标签的制作过程本专利是利用photoshop等画图软件手工将云图像中“云”和“非云”区域用黑白颜色区分,并转化为txt文件,放成列表的形式(每个像素点是“云”还是“非云”用0或1表示),用于监督cnn网络的训练。在训练过程中,批大小设为64,即每迭代一次处理64条数据,学习率初始值为0.01,且每迭代100次学习率下降10倍。最后训练模型的准确度如图5所示,当训练集数据库为900左右的时候,模型的准确率达到最高,即97.26%。

5、cnn网络云图分割

cnn网络来辅助fcn网络实现分割的具体做法是:首先将每一个待cnn处理的超像素转化为一个1维的向量,由于超像素具有良好的特征保持特性,在一个超像素中的像素有相似的视觉特征、颜色、纹理和强度等,本专利在一个超像素中等间隔选取5个关键(由于部分超像素内像素个数不足7个,所以只做了1,3,5个关键点的对比实验,如图8所示,等间隔选取5个关键点效果最好)的像素点来代替表示该超像素的特性。在此过程中为了避免选取的关键像素点落到超像素的边界,因为当关键像素点落到“云”和“非云”超像素的边界的时候既可以表达“云”也可以表达“非云”属性,所以本发明指出需要对每一个超像素进行腐蚀处理之后再选取关键像素点。具体的腐蚀处理如下:

其中i表示待腐蚀的超像素,l表示的是结构元素如公式(2)所示,把结构元素l平移b后得到lb,若lb包含于i,我们记下这个b点,所有满足上述条件的b点组成的集合称做i被l腐蚀的结果。也就是说用结构元素l扫描超像素i中的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像中的该像素为1,否则为0,也就是会使原来的图像缩小一圈。

接下来,以上述选取的5个关键像素点为中心,裁剪出56*56的正方形子块,输入到第4部分训练好的cnn网络中来学习该关键像素点的属性(云或者是非云)。最后对5个关键像素点的特征属性进行投票处理,如果大于或等于3个关键像素点被cnn判断为“云”,则该超像素所在的区域是“云”区域,如果大于或者等于3个关键像素点被cnn判断为“非云”,则该超像素所在的区域是“非云”区域。

6、分割评价

本发明采用像素误差、交并比(intersection-over-union,iou)以及分割所需时间的评价方法来衡量分割结果。

像素误差是给定待测的分割标签l以及其真实的数据标签l’,则:

ppixcel=||l-l'||2(3)

其中||*||代表汉明距,它反映了分割图片与原始标签的像素相似度。按照这种方法,本发明最后将云图的分割准确度达到了99.564%。

iou是系统分割结果与分割标签图的重合程度。即分割结果与分割标签图的交集比上它们的并集,公式表示为:

本发明实现云图分割的交并比达到81.235%。

在处理速度上,fcn-cnn平均分割一张图像只需要19.984秒,

图5是实验结果的对比,可以发现而精度与mr-cnn、sp-cnn相当,但是速度相比于mr-cnn提高了880倍,相比于sp-cnn提高了1.657倍,足以证明本方法是一种高效的毫米波雷达云图分割方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1