首页 / 专利库 / 人工智能 / 人工神经网络 / 前馈神经网络 / 深度神经网络 / 卷积神经网络 / 一种基于时间序列图像的蓝藻覆盖率计算方法

一种基于时间序列图像的蓝藻覆盖率计算方法

阅读:695发布:2020-05-08

专利汇可以提供一种基于时间序列图像的蓝藻覆盖率计算方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于时间序列图像的蓝藻 覆盖 率计算方法,包括以下步骤:S10:输入时间序列蓝藻图像;S20:对输入的时间序列蓝藻图像按照n种不同分 块 像素 进行分块,构成n个分块集,一个分块集对应一种分块像素;S30:将每个分块集批量输入至其对应的 卷积神经网络 中进行计算,得到分块集中各图像块的分类结果,所述分类结果至少包括蓝藻;根据分类结果,计算每个分块集中分类结果为蓝藻的图像块的数量占比,得到对应的分块像素下的时间序列蓝藻图像的蓝藻覆盖率;S40:将n个分块集的海藻覆盖率进行合并,得到最终的该时间序列蓝藻图像的蓝藻覆盖率。,下面是一种基于时间序列图像的蓝藻覆盖率计算方法专利的具体信息内容。

1.一种基于时间序列图像的蓝藻覆盖率计算方法,其特征在于:包括以下步骤:
S10:输入时间序列蓝藻图像;
S20:对输入的时间序列蓝藻图像按照n种不同分像素进行分块,构成n个分块集,一个分块集对应一种分块像素;
S30:将每个分块集批量输入至其对应的卷积神经网络中进行计算,得到分块集中各图像块的分类结果,所述分类结果至少包括蓝藻;根据分类结果,计算每个分块集中分类结果为蓝藻的图像块的数量占比,得到对应的分块像素下的时间序列蓝藻图像的蓝藻覆盖率;
S40:将n个分块集的海藻覆盖率进行合并,得到最终的该时间序列蓝藻图像的蓝藻覆盖率。
2.根据权利要求1所述的一种基于时间序列图像的蓝藻覆盖率计算方法,其特征在于:
S30中的卷积神经网络在经过卷积和下采样操作后均有两个全连接层,第一个全连接层输出1×1×1024的矩阵,第二个全连接层输出1×1×2的矩阵,经过最后一个全连接的操作后,输出的结果为1或0。
3.根据权利要求1所述的一种基于时间序列图像的蓝藻覆盖率计算方法,其特征在于:
所述分类结果包括蓝藻和体两类。
4.根据权利要求1所述的一种基于时间序列图像的蓝藻覆盖率计算方法,其特征在于:
S20中对输入的时间序列蓝藻图像按照像素1和像素2这2种不同像素分别进行分块,构成对应的2个分块集;
假设按照像素1进行分块得到的分块集批量输入卷积神经网络1中,计算得到蓝藻的覆盖率p1,按照像素2进行分块得到的分块集批量输入卷积神经网络2中,计算得到蓝藻的覆盖率p2;
S40中的合并步骤包括:将各个分块集计算得到的分类结果取平均值p;当p<30%时,取最终分类结果P=p1;当p>60%时,取最终分类结果P=p2;若30%<p<60%,则取最终分类结果P=p。
5.根据权利要求1所述的一种基于时间序列图像的蓝藻覆盖率计算方法,其特征在于:
S20具体操作如下:
S21:将每个分块集中的图像块分成m组,得到m个各自像素对应的图像块组;
S22:利用Python提供的多进程包multiprocessing申请m*n个进程。
6.根据权利要求1所述的一种基于时间序列图像的蓝藻覆盖率计算方法,其特征在于:
还包括S50:
获取上时间间隔计算得到的蓝藻覆盖率记为P',上上时间间隔计算得到的蓝藻覆盖率记为P”;
若满足以下条件:(P”+P)/2-P'>20%,且|P”-P'|>10%,且|P'-P|>10%,且(P”-P')×(P'-P)<0,则P'优化为P'优=P'+((P”+P)/2-P')/2;否则,对P'不做操作。

说明书全文

一种基于时间序列图像的蓝藻覆盖率计算方法

技术领域

[0001] 本发明公开了一种基于上摄像头获取的时间序列图像的蓝藻覆盖率计算方法,属于基于深度学习的图像分类技术领域。

背景技术

[0002] 随着湖泊污染的加剧,对湖泊蓝藻的监测成为湖泊水环境管理的重点内容。蓝藻在适合的环境条件下可以指数级迅速繁殖,进而形成藻类的水华。目前,国内外对于蓝藻治理的方法大致可分为物理法、化学法和生物法。而对于特定的区域,小范围的针对性治理,还要依赖人工打捞。在治理之前需要及时发现和监测蓝藻的爆发,在确定蓝藻的爆发情况和受灾区域时,仅仅通过遥感图像目视解译效率较低,如何自动、快速监测蓝藻已成为蓝藻治理过程中的关键问题。
[0003] 关于蓝藻监测的研究多为遥感图像,如Mark等利用MERIS数据,设计一种MPH算法,用于检测沿海和内陆水体的营养状况,浮游植物和水华情况;Vincent等利用Landsat数据,计算伊利湖中的藻青蛋白,从而绘制水华情况。对于摄像头拍摄的照片,杨朔等设计出一种深度生成式对抗网络进行蓝藻的语义分割,为基于摄影图像的蓝藻语义分割提供了可行的方案;罗娜基于深度神经网络对复杂光照下的蓝藻图片进行语义分割,能够有效地提高分割准确率。
[0004] 杨朔等提出了一种基于深度神经网络(DNN)和生成式对抗网络(GAN)思想的网络结构,称为深度生成式对抗网络(DGAN)。首先在经典的全卷积神经网络(FCN)的基础上构建了一个12层的FCN作为生成网络(G),用于学习分布规律,生成蓝藻图像的分割结果(Fake);然后设计了一个5层的卷积神经网络(CNN)作为判别网络(D),用于区分生成网络生成的分割结果(Fake)和手工标注的真实分割结果(Label),G试图生成Fake并蒙骗D,D试图找出Fake并惩罚G;最后,通过两个网络的对抗式训练,G生成的Fake可以蒙骗D,从而获得了更好的分割结果。
[0005] 在DGAN网络模型训练完成之后,输入一张水上摄像头拍摄的蓝藻图像之后,将输出一张逐像素标记后的分割结果图,根据输出图像中蓝藻的标记,估算这片水域中蓝藻的多少,从而达到监测蓝藻生长情况的目的。
[0006] 现有技术是将分割网络用于蓝藻监测。对于输入的一幅蓝藻图片,网络逐像元地将图片的每一个像元进行分类,最终得到水体和蓝藻语义分割结果,据此判断蓝藻是否过度繁殖。
[0007] 这种方法具有训练样本难以制作、处理效率低、耗时长等缺点。首先网络的训练需要制作训练样本,即需要将大量原始图像逐像元地标注为蓝藻或水体,蓝藻形态的复杂使得这一步骤将耗费大量人物力。其次,此网络是逐像元的计算过程,在网络的训练和使用过程中都将耗费大量的计算资源,不仅效率低、单张图像计算耗时长,对硬件的要求也比较高。
[0008] 对于蓝藻生长情况的监测,可根据自动计算结果对蓝藻的多少划分等级,对计算结果的要求不需要达到逐像元的精度。因此在精度和计算效率之间可以找到一个平衡点,即一个可以达到较高精度且计算较简单的方案。

发明内容

[0009] 本发明的目:为解决现有技术中训练样本难以制作、计算效率低等问题,设计一个简洁的网络模型,利用水上摄像头拍摄的图片,自动监测水体中蓝藻的生长情况,辅助管理部寻找蓝藻爆发地点,对蓝藻爆发的水域快速做出反应,方便人工打捞蓝藻、治理蓝藻。
[0010] 技术方案:本发明公开了一种基于时间序列图像的蓝藻覆盖率计算方法,包括以下步骤:
[0011] S10:输入时间序列蓝藻图像;
[0012] S20:对输入的时间序列蓝藻图像按照n种不同分像素进行分块,构成n个分块集,一个分块集对应一种分块像素;
[0013] S30:将每个分块集批量输入至其对应的卷积神经网络中进行计算,得到分块集中各图像块的分类结果,所述分类结果至少包括蓝藻;根据分类结果,计算每个分块集中分类结果为蓝藻的图像块的数量占比,得到对应的分块像素下的时间序列蓝藻图像的蓝藻覆盖率;
[0014] S40:将n个分块集的海藻覆盖率进行合并,得到最终的该时间序列蓝藻图像的蓝藻覆盖率。
[0015] 进一步的,S30中的卷积神经网络在经过卷积和下采样操作后均有两个全连接层,第一个全连接层输出1×1×1024的矩阵,第二个全连接层输出1×1×2的矩阵,经过最后一个全连接的操作后,输出的结果为1或0。
[0016] 进一步的,所述分类结果包括蓝藻和水体两类。
[0017] 进一步的,S20中对输入的时间序列蓝藻图像按照2种不同像素分别进行分块,构成2个分块集;
[0018] 假设按照像素1进行分块得到的分块集批量输入卷积神经网络1中,计算得到蓝藻的覆盖率p1,按照像素2进行分块得到的分块集批量输入卷积神经网络2中,计算得到蓝藻的覆盖率p2;
[0019] S40中的合并步骤包括:将各个分块集计算得到的分类结果取平均值p;当p<30%时,取最终分类结果P=p1;当p>60%时,取最终分类结果P=p2;若30%<p<60%,则取最终分类结果P=p。
[0020] 进一步的,S20具体操作如下:
[0021] S21:将每个分块集中的图像块分成m组,得到m个各自像素对应的图像块组;
[0022] S22:利用Python提供的多进程包multiprocessing申请m*n个进程。
[0023] 进一步的,还包括S50:
[0024] 获取上时间间隔计算得到的蓝藻覆盖率记为P',上上时间间隔计算得到的蓝藻覆盖率记为P”;
[0025] 若满足以下条件:(P”+P)/2-P'>20%,且|P”-P'|>10%,且|P'-P|>10%且(P”-P')×(P'-P)<0,则P'优化为P'优=P'+((P”+P)/2-P')/2;否则,对P'不做操作。
[0026] 有益效果:采用本发明的计算方法可预测所有图像的蓝藻覆盖率并按时间序列排列,根据蓝藻覆盖率数值可较好的区分蓝藻较少水域,蓝藻聚集水域和蓝藻富集水域,可将每天的蓝藻覆盖率的变化情况绘制成折线图。较好地完成对水体中蓝藻的监测任务,可及时判断是否需要人工打捞,本发明在计算时,显存消耗的峰值为1833Mb,单张图像蓝藻覆盖率的计算时间为15s,在保证较高的计算精度的同时,单张图像的计算耗时也很短,成功地在计算效率和计算精度之间找到了平衡点。附图说明
[0027] 图1为本发明的分块预测示意流程图
[0028] 图2为本实施例的7月20日蓝藻覆盖率变化图;
[0029] 图3为本实施例的LZ_100网络结构;
[0030] 图4为本实施例的LZ_40网络结构;
[0031] 图5为本实施例的网络设计和训练示意图;
[0032] 图6为本实施例的模型使用步骤示意图;
[0033] 图7为本实施例的两模型计算结果合并流程图。

具体实施方式

[0034] 现结合附图和实施例进一步阐述本发明的技术方案。
[0035] 本发明的基本思想为采用二值化的分块标记得到连续覆盖率值输出:具体的,将一张水上摄像头拍摄的蓝藻图像(原图像)分成若干小图像块,利用分类网络将每一个图像块分成蓝藻和水体两类,再统计被分成蓝藻的图像块数量,就能够估算出原图中蓝藻的覆盖率,从而将蓝藻图像分割问题简化为一个二分类问题。
[0036] 参见图1为分块预测示意流程图,包括以下步骤:
[0037] 步骤1:输入时间序列蓝藻图像;
[0038] 步骤2:对图像逐一分块:将原图按照100×100像素和40×40像素两种方案进行分块;
[0039] 步骤3:将图像块批量输入模型计算:此模型中包含分别针对100×100像素图像块和40×40像素图像块的两个卷积神经网络,命名为LZ_100网络和LZ_40网络。
[0040] 步骤4:对于每个图像块,模型会将其分类为蓝藻或水体。
[0041] 步骤5:计算被分为蓝藻图像块的数量占比,即可估计蓝藻的覆盖率;
[0042] 步骤6:根据合并规则对LZ_100网络和LZ_40网络两种结果进行合并,获得最终的蓝藻覆盖率。
[0043] 对于输入的每幅蓝藻图像,可给出对应的蓝藻覆盖率。根据蓝藻覆盖率数值可较好的区分蓝藻较少水域,蓝藻聚集水域和蓝藻富集水域。通过该模型预测所有图像的蓝藻覆盖率并按时间序列排列,可将每天的蓝藻覆盖率的变化情况绘制成折线图。较好地完成对水体中蓝藻的监测任务,可及时判断是否需要人工打捞。如图2所示,为2018年7月20日蓝藻覆盖率时间序列图像,根据变化趋势可确定蓝藻的爆发时间,达到及时打捞的目的。
[0044] 本实施例在计算时,显存消耗的峰值为1833Mb,单张图像蓝藻覆盖率的计算时间为15s。在保证较高的计算精度的同时,单张图像的计算耗时也很短,成功地在计算效率和计算精度之间找到了平衡点。
[0045] 本实施例的LZ_100网络模型和LZ_40网络模型的结构如图3、图4所示。Conv表示卷积层,ReLU表示激活函数,Pool表示下采样层,Fc表示全连接层。
[0046] LZ_100和LZ_40的卷积层将全部由小型的3×3的卷积核构成。LZ_100网络中包含4个卷积块,第一个卷积块包括2个卷积层,每个卷积层由32个3×3×3的卷积核组成;第二个卷积块包括2个卷积层,每个卷积层由64个3×3×32的卷积核组成;第三个卷积块包括3个卷积层,每个卷积层由128个3×3×64的卷积核组成;第四个卷积块包括3个卷积层,每个卷积层由256个3×3×128的卷积核组成。LZ_40网络中包含三个卷积块,这三个卷积块与LZ_100网络前三个卷积块结构相同。在LZ_100及LZ_40网络中,所有的卷积核参数均为:步长为
1;零填充为1,权值初始化方法为msra方法。
[0047] LZ_100网络和LZ_40网络分别有4个卷积块和3个卷积块,故LZ_100网络共有4个下采样层,LZ_40网络共有3个下采样层。两个网络的下采样方法均为最大值采样,窗口大小为2×2,步长为2。
[0048] LZ_100网络和LZ_40网络在经过卷积和下采样操作后均有两个全连接层,第一个全连接层输出1×1×1024的矩阵,第二个全连接层输出1×1×2的矩阵,即经过最后一个全连接的操作后,输出的结果为1或0,就是网络的预测值。
[0049] 此方法的实现步骤分为网络的设计和训练过程、模型的使用过程两部分。
[0050] 参见图5,网络的设计和训练过程有如下五个步骤:
[0051] (1)获取数据集,观察分析数据的特点;
[0052] (2)挑选训练样本,选取具有代表性的能够良好展示蓝藻和水体形态特征的图像;由于所摄图像外部条件复杂,挑选样本图像时尽量兼顾所有不同外部条件下获取的图像;
[0053] (3)训练数据的制作:将样本图像分别按照100×100像素和40×40像素分块,对所得图像块进行标注得到训练数据,取出小部分作为测试集,剩下的作为训练集;
[0054] (4)网络结构设计:在VGG16网络结构的基础上修改网络,减小网络深度,简化网络分任务,设计分别适用于100×100像素分块方案和40×40像素分块方案的网络结构,命名为LZ_100网络和LZ_40网络;
[0055] (5)网络参数推理:选择随机梯度下降作为训练方法,使用权重衰减以避免过拟合,选用caffe框架,将分块的训练样本输入框架进行训练,得到LZ_100网络模型及LZ_40网络模型。
[0056] 参见图6,模型的使用过程有如下七个步骤:
[0057] (1)图像预处理:获取一组时间序列图像,将图像按所摄时间统一命名整理
[0058] (2)图像蓝藻覆盖率的计算:将每张图像分块后输入网络模型进行推理,分别计算两种网络模型的结果;
[0059] (3)两种模型结果的合并:假设LZ_100模型和LZ_40模型最终计算的结果分别为p1和p2,首先计算出平均值p=(p1+p2)/2,然后当p<30%时,取最终结果P=p1;当p>60%时,取P=p2;若30%<p<60%,则取P=p。合并流程参见图7;
[0060] (4)多进程优化:在图像分块分类的过程利用Python提供的多进程包multiprocessing,可以加载多个模型参数,对于每个进程,都输入图像块同时进行预测,可以大大缩短计算时间。一幅图像按照100×100像素分块将分为190块,按照40×40像素分块将分为1296块。优化的过程为:①190个图像块和1296个图像块分别分成3组;②申请6个进程;③加载三个大图像块模型及三个小图像块模型;④按照分组六进程同时计算;⑤汇总计算结果,两模型分别计算出两个结果;⑥得出最终结果;
[0061] (5)时间序列相关性的优化策略:由于摄像头拍摄的时间间隔为十分钟,每张图像之间将存在着时间序列的相关性。在十分钟内,如果没有人为的影响或打捞,蓝藻的多少也许会发生较大的变化,但不会发生比较复杂的变化。例如,对于三个时间点的图像,如果第一个时间点和第三个时间点的结果很大,而第二个时间点的结果很小;或第一个时间点和第三个时间点的结果很小,而第二个时间点的结果很大,呈现一种震荡的曲线,这种情况是不正常的,可以考虑第二个时间点的计算是否有较大误差。假设这三个时间点的结果为P”,P',P,可以利用这三个数值对第二个时间点的结果,即P'稍加优化,使其更符合实际。具体方法为:若(P”+P)/2-P'>20%,且|P”-P'|>10%,且|P'-P|>10%,且(P”-P')×(P'-P)<0,那么优化后的值P'优=P'+((P”+P)/2-P')/2。
[0062] (6)绘制时间序列蓝藻覆盖率变化图:根据一整天的数据,以时间为x轴,十分钟为间隔,图像中蓝藻的比例为y轴绘制一天的蓝藻覆盖率变化图。
[0063] (7)根据所绘制的蓝藻覆盖率变化图可分析出蓝藻生长变化的趋势。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈