您好, 访客   登录/注册

基于对抗生成网络的漂浮物分割算法研究

来源:用户上传      作者:

  摘要:本文设计一种基于对抗生成网络的水面漂浮物分割算法。该算法利用改进的K-means算法,保留只需关注的水面区域,去除多余检测信息。之后构建基于对抗生成网络的水面漂浮物分割网络,实现精细化分割水面漂浮物。最后可通过统计分割图像,获取当前水域的漂浮物污染程度。
  关键词:漂浮物;对抗生成网络;图像分割
  中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2020)01-0108-02
  0 引言
  目前我国十分重视生态环境的保护,尤其是对水环境资源的保护。水面漂浮物是常见的水污染情况之一,对水体生态平衡造成严重的影响[1],因此研究一种水面漂浮分割算法具有很高的应用前景。由于水面漂浮物检测设备需要在野外环境布置,这导致分割效果受到地形多样、光线复杂等环境因素的干扰。目前,漂浮物分割处理主要采用传统的图像处理算法,往往采用阈值分割、边缘提取、形态学提取、分水岭分割等方式提取水面漂浮物。但是,传统的图像处理技术对光照以及图像噪声极为敏感,鲁棒性较差[2]。在处理背景相对复杂、对比度较低的对象时,传统图像处理技术并不能产生理想分割和识别效果。深度学习[2]是近年研究的热点之一,其具有高精度、高鲁棒性、抗干扰能力强的特点,因此适合用于水面漂浮物的检测。
  本文提出了一种基于对抗生成网络的水面漂浮物分割算法。该算法利用改进的K-means区域分割算法,对图像进行粗分割,提取水面区域以及河岸背景区域,得到所需关注的水面区域。之后构建一个基于对抗生成网络的漂浮物分割网络,对水域中的漂浮物进行更加精细的分割,获取准确的分割图像。最后可根据漂浮物分割图像,计算当前水面漂浮物的占比,实现水面漂浮物污染情况的判断。系统检测流程如图1所示。
  1 基于改进的K-means区域分割算法
  由于检测图像可能存在着河岸区域和水面区域。相对于水面区域,河岸上存在着行人、植被等不可预见的干扰事物,这会将河岸上的干扰项引入到分割图像中,影响漂浮物分割的精度。本算法设计了一种基于颜色直方图改进的K-means算法,实现了对河岸以及水面区域的分离,排除河岸背景对检测结果的影响,提高漂浮物检测的精度。
  原始的K-means算法可能由于初始聚类中心的选择不同,导致最后聚类的结果不同,使聚类结果陷入局部最优解。为了解决这一弊端,本算法将颜色直方图和K-means算法进行结合,实现一种根据颜色直方图的自适应K-means区域分割算法。与原始方法不同,改进的K-means区域分割算法对初始化阶段进行改进,根据直方图信息自适应地选取K-means初始聚类中心点。在初始化阶段,算法对采集图像进行颜色直方图统计,获得检测图像像素的颜色分布。由于水面区域是我们需要关注的区域,水面区域颜色相似且占最大的图像面积,因此可以设定直方图中数值最大的颜色值作为水面区域类的聚类中心,同时设置3个较小的值作为其他区域的聚类中心。之后多次计算欧氏距离以及中心点的,更新聚类中心,使区域间方差达到最大,类内的方差达到最小。再通过区域合并,实现河岸与河道区域的二分类分割。基于改进的K-means算法流程如图2所示。
  2 基于对抗生成网络的漂浮物分割网络
  普通卷积神经网络利用卷积层和池化层提取低维图像特征,再组合低维特征,形成更加抽象的高维表示,从而实现像素级图像分割。然而由于特征提取的过程中使用了多次下采样操作,使得漂浮物边缘细节出现丢失,降低了分割精度。对抗生成网络(GAN)是优秀的图像生成模型之一,其包含生成器G和判别器D,通过零和博弈的思想,使生成器G在动态博弈的过程中学会生成细节丰富的图像[3]。因此GAN的引入能够使分割图像生成更多的图像细节,提高了检测的精度。
  本研究提出了基于对抗生成网络的图像分割网络,用于对水面漂浮物进行精细化分割。模型包含生成器G和判别器D。生成器G包含了下采样和上采样两个过程。在下采样中,网络通过卷积层逐步降低输出的分辨率,增加特征维度。过程包含4个卷积块,每个卷积块都包含卷积核大小为3x3,步长为2的卷积层、批量归一化Batch Normalization以及激活函数Rule,每个卷积块输出的分辨率为输入特征的1/4。在上采样中,通过反卷积层逐步提高输出分辨率,减小特征维度。其网络结构与下采样操作相似,只是将卷积操作变为反卷积操作,最终通过softmax层输出与检测图像尺寸大小相同的单通道分割图像。判别器D包含了6个卷积块,每个卷积块都包含卷积核大小为3x3,步长为1或2的卷积层、Batch Normalization、激活函数Rule,最终判别器D会输出特征大小为8x8x512特征图,用于计算网络损失。生成器和判别器的网络结构如图3所示。其中,k代表卷积核的大小,n代表卷积的维度,s代表卷积核的步长。
  在模型训练的过程中,我们将检测图像的像素值进行像素归一化,加快网络收敛速度。然后将检测图像与区域分割图像进行维度叠加,令检测图像与区域分割信息在卷积层中融合,抑制干扰。经过生成网络G的处理后,得到分割图像。再将生成的分割图像与标签图像分别与检测图像相乘,将相乘后的结果分别输入至判别器D,得到分别得到真实标签和生成分割图像的特征图,计算生成网络和判别网络的损失函数。生成器和判别器的损失函数分别由公式1、公式2所示。最后将利用Adam优化器更新生成器G和判别器D的网络参数。通过不断迭代优化,生成器能够生成准确的分割图像。
  其中,D为判别器的输出,y1为标签图像与检测图像相乘的图像,y2为与生成器输出的分割图像与检测图像相乘的图像,||||2表示计算L2范数。
  3 实验参数与测试
  本文利用大疆精灵3pro平台对广东省内某河道进行多次实地采集,共采集了387张大小为256x256的图像,涵盖了水瓶、泡沫、水浮莲等常见漂浮物。算法在Ubuntu系统下运行,利用python进行编写,运行库为tensorflow1.15,opencv3.4。在网络训练时,设置训练集大小为300张,batch size为5,训练速率为0.0001,迭代次数为500。实验得到mIoU(即:分割结果和真实标签的交集除以分割结果和真实标签的并集)为73.7%,检测时间为0.42秒/图,基本满足实际检测的需要。
  4 结论
  本文设计的水面漂浮物分割算法,通过基于颜色直方图改进的K-means算法分割出水面区域和河岸背景区域,排除河岸事物对检测结果的影响。并且构建了一个基于对抗生成网络的漂浮物分割网络,能更好地对漂浮物细节进行精细分割,提高了分割的效果。实验表明该算法滿足实际检测的需要,为水面漂浮物检测领域提供了新的方法。
  参考文献
  [1] 蔡莹,唐祥甫,蒋文秀.河道漂浮物对工程影响及研究现状[J].长江科学院院报,2013,30(08):84-89.
  [2] 屈薇.基于深度学习的图像识别算法研究[J].数字技术与应用,2019,37(09):121-122.
  [3] 邹秀芳,朱定局.生成对抗网络研究综述[J].计算机系统应用,2019,28(11):1-9.
转载注明来源:https://www.xzbu.com/8/view-15176089.htm