一种基于对抗生成网络的流速监测实现方法

申请号 CN201710120373.6 申请日 2017-03-02 公开(公告)号 CN106951919A 公开(公告)日 2017-07-14
申请人 浙江工业大学; 发明人 王万良; 李卓蓉; 杨胜兰; 邱虹; 张兆娟;
摘要 一种基于对抗生成网络的流速监测实现方法,包括以下步骤:(1) 水 流图像预处理;(2)基于对抗生成网络进行图像分类;(3)流速测定:将图像分类结果与流速区间进行一一对应;(4)状态分析:当监测到水流速度超出预设 阈值 时发出状态异常 信号 。本 发明 的有益效果主要表现在:生成器和判别器的对抗训练有效结合了判别性和生成性分类 算法 的优点并实现了 无 监督学习 ,将对抗生成网络的生成器输出的合成水流图像与真实图像共同作为判别器的输入大大提高了分类器对含噪水流图像的鲁棒性,根据水流图像进行分类并对应于预设的流速区间可实现流速的快速测定并便于大量水流信息的分类管理。
权利要求

1.一种基于对抗生成网络的流速监测实现方法,包括以下步骤:
步骤1,流图像预处理:将RGB水流图像转换为灰度图并依次经过直方图均衡化和随机裁剪,然后对处理后的图像灰度值按列展开并进行串联,所得列向量构成了待分类的水流图像数据集的特征矩阵X=[x1,x2,…,xn],其中样本xi是维度为d的列向量;
步骤2,基于对抗生成网络进行图像分类:训练一双对抗的模型:判别器D的目的是正确区分真实数据和生成数据并对真实数据进行分类从而最大化判别准确率,而生成器G的目的则是生成以假乱真的数据并最小化判别器D的判别准确率,两者的训练是一个二元零和博弈过程;H表示熵,E表示期望值,p表示概率,data和g分别表示真实数据集和生成数据集,生成器G将先验分布为P(z)的随机噪音矢量z通过x=G(z)映射为生成样本;
2.1依式(1)计算真实数据集data中类别y的边缘概率的熵:
其中,D表示判别器,p(y|·)表示y的边缘概率,N表示真实数据集data的样本个数;
2.2依式(2)计算图像x来自真实数据集data的条件熵的经验估计:
其中,K表示图像类别(也即流速区间)个数,p(y=k|·)表示图像属于类别k的边缘概率;
2.3依式(3)的蒙特卡罗采样对图像x来自生成数据集g的条件熵的经验估计进行逼近:
其中,M表示独立采样的数量,噪音矢量zi~P(z);
2.4依式(4)计算生成数据集g中类别y的边缘概率的熵:
2.5监督学习建模,基于对抗生成网络的无监督图像分类的目标函数如式(5)所示:
其中,LD是判别器D的损失函数,LG是生成器G的损失函数;
2.6半监督学习建模:当训练集data中部分水流图像的类别信息已知时,上述无监督分类问题可进一步转化为半监督分类问题,此时,式(5)中生成器G的损失函数保持不变,即,LlabelG=LG,而判别器D的损失函数调整为:
其中,λ是平衡参数,标签数据集datalabel={(x1,y1),…,(xL,yL)},L表示标签数据个数,CE[y,p(y|x,D)]表示datalabel中图像x的真实类别y与预测类别的条件分布p(y|x,D)的交叉熵,具体计算如式(7)所示:
2.7模型优化求解:由于生成器G和判别器D都是可微的,因此可根据目标函数(5)或(6)利用随机梯度下降法对LD和LG进行交替训练;
步骤3,流速测定:将步骤2的分类结果与预定义的流速区间进行一一对应;
步骤4,状态分析:当监测到水流速度超出预设阈值时发出状态异常信号

说明书全文

一种基于对抗生成网络的流速监测实现方法

技术领域

[0001] 本发明涉及一种流速监测实现方法,具体涉及一种基于对抗生成网络的流速监测实现方法,属于模式识别领域。

背景技术

[0002] 流速度监测可直接或间接用于水电站智能调度、水文监测和灾害预报,是水利工程规划设计、防汛抗旱和灌溉生产等工作所必需,快速、准确的流速监测能显著提高水利工程调度的科学性和旱涝灾害的预见性。基于图像识别的流速监测具备低成本、高精度的优点,其核心技术在于图像识别。图像识别的分类算法大致可分为判别性和生成性两类,其中,前者无需对真实数据分布进行显式建模,只需利用某些分类机制便可直接对无标签数据进行分类,但容易对数据中的虚假相关产生过拟合,在非线性分类器中尤为如此;后者则通过训练深度玻尔兹曼机或前馈式神经网络等参数化生成模型以及通过训练自编码器直接对数据分布或几何属性进行建模,这类基于重构的学习方法试图学习那些保留了输入样本全部信息的特征,然而,生成样本未必正确反映真实数据特征从而导致基于这些特征难以得到正确的分类。
[0003] 分类方法往往需要大量标签信息,然而,随着水流图像数量的不断累积,对所有采样到的水流图像逐一进行人工标识是不现实的,因此,基于监督学习或仅利用少量标签信息的半监督学习的图像分类比传统的基于监督学习的分类方法更具实际应用价值。此外,现场节点往往受到雨、雾和光线等不利因素的干扰而导致采样图像包含大量噪音,大大加剧了分类难度。因此,如何提高分类器对含噪水流图像的鲁棒性和实现基于无监督或半监督特征学习的水流图像分类具有深远意义。

发明内容

[0004] 本发明针对上述现有技术的局限性,提出将对抗生成网络(Generative Adversarial Networks,GAN)应用于基于图像分类的水流测速,通过对抗地训练一对生成器和判别器以结合生成算法和判别算法各自优点并实现无监督或半监督学习,将生成器输出的合成图像与真实水流图像同时作为判别器的输入有效提高了分类算法对含噪水流图像的鲁棒性。
[0005] 本发明解决其技术问题所采用的技术方案是:
[0006] 一种基于对抗生成网络的流速监测实现方法,包括以下步骤:
[0007] 步骤1,水流图像预处理:将RGB水流图像转换为灰度图并依次经过直方图均衡化和随机裁剪,然后对处理后的图像灰度值按列展开并进行串联,所得列向量构成了待分类的水流图像数据集的特征矩阵X=[x1,x2,…,xn],其中样本xi是维度为d的列向量;
[0008] 步骤2,基于对抗生成网络进行图像分类:训练一双对抗的模型:判别器D的目的是正确区分真实数据和生成数据并对真实数据进行分类从而最大化判别准确率,而生成器G的目的则是生成以假乱真的数据并最小化判别器D的判别准确率,两者的训练是一个二元零和博弈过程;H表示熵,E表示期望值,p表示概率,data和g分别表示真实数据集和生成数据集,生成器G将先验分布为P(z)的随机噪音矢量z通过x=G(z)映射为生成样本;
[0009] 2.1依式(1)计算真实数据集data中类别y的边缘概率的熵:
[0010]
[0011] 其中,D表示判别器,p(y|·)表示y的边缘概率,N表示真实数据集data的样本个数;
[0012] 2.2依式(2)计算图像x来自真实数据集data的条件熵的经验估计:
[0013]
[0014] 其中,K表示图像类别(也即流速区间)个数,p(y=k|·)表示图像属于类别k的边缘概率;
[0015] 2.3依式(3)的蒙特卡罗采样对图像x来自生成数据集g的条件熵的经验估计进行逼近:
[0016]
[0017] 其中,M表示独立采样的数量,噪音矢量zi~P(z);
[0018] 2.4依式(4)计算生成数据集g中类别y的边缘概率的熵:
[0019]
[0020] 2.5无监督学习建模,基于对抗生成网络的无监督图像分类的目标函数如式(5)所示:
[0021]
[0022] 其中,LD是判别器D的损失函数,LG是生成器G的损失函数;
[0023] 2.6半监督学习建模:当训练集data中部分水流图像的类别信息已知时,上述无监督分类问题可进一步转化为半监督分类问题,此时,式(5)中生成器G的损失函数保持不变,即,LlabelG=LG,而判别器D的损失函数调整为:
[0024]
[0025] 其中,λ是平衡参数,标签数据集datalabel={(x1,y1),…,(xL,yL)},L表示标签数据个数,CE[y,p(y|x,D)]表示datalabel中图像x的真实类别y与预测类别的条件分布p(y|x,D)的交叉熵,具体计算如式(7)所示:
[0026]
[0027] 2.7模型优化求解:由于生成器G和判别器D都是可微的,因此可根据目标函数(5)或(6)利用随机梯度下降法对LD和LG进行交替训练;
[0028] 步骤3,流速测定:将步骤2的分类结果与预定义的流速区间进行一一对应;
[0029] 步骤4,状态分析:当监测到水流速度超出预设阈值时发出状态异常信号
[0030] 本发明的技术构思:经训练的无监督对抗生成网络的判别器可作为一个概率型分类器,该分类器由于同时经合成图像和真实图像训练而具备较高鲁棒性,在此基础上利用少量(远远小于训练集的样本数量)具有类别信息的水流图像进行半监督学习可大大提高分类准确率。基于上述对抗生成网络对水流图像进行分类,然后将分类结果与各个流速区间进行一一对应从而实现水流速度的快速测定。
[0031] 本发明的有益效果:生成器和判别器的对抗训练有效结合了判别性和生成性分类算法的优点并实现了无监督学习,将对抗生成网络的生成器输出的合成水流图像与真实图像共同作为判别器的输入大大提高了分类器对含噪水流图像的鲁棒性,根据水流图像进行分类并对应于预设的流速区间可实现流速的快速测定和大量水流信息的分类管理。该方法成本较低、准确率较高,易于推广。附图说明
[0032] 图1是本发明方法流程图
[0033] 图2a是水流图像灰度图。
[0034] 图2b是经直方图均衡化后的水流图像。
[0035] 图3a、图3b、图3c分别是流速区间0-0.25m/s,0.25-0.5m/s,0.5-0.75m/s的水流图像示例。

具体实施方式

[0036] 下面对本发明作进一步描述。
[0037] 一种基于对抗生成网络的流速监测实现方法,包括以下步骤:
[0038] 步骤1,水流图像预处理:将RGB水流图像转换为灰度图并依次经过直方图均衡化和随机裁剪,然后对处理后的图像灰度值按列展开并进行串联,所得列向量构成了待分类的水流图像数据集的特征矩阵X=[x1,x2,…,xn],其中样本xi是维度为d的列向量;
[0039] 步骤2,基于对抗生成网络进行图像分类:训练一双对抗的模型:判别器D的目的是正确区分真实数据和生成数据并对真实数据进行分类从而最大化判别准确率,而生成器G的目的则是生成以假乱真的数据并最小化判别器D的判别准确率,两者的训练是一个二元零和博弈过程。H表示熵,E表示期望值,data和g分别表示真实数据集和生成数据集,生成器G将先验分布为P(z)的随机噪音矢量z通过x=G(z)映射为生成样本;
[0040] 2.1依式(1)计算真实数据集data中类别y的边缘概率的熵:
[0041]
[0042] 其中,D表示判别器,p(y|·)表示y的边缘概率,N表示真实数据集data的样本个数;
[0043] 2.2依式(2)计算图像x来自真实数据集data的条件熵的经验估计:
[0044]
[0045] 其中,K表示图像类别(也即流速区间)个数,p(y=k|·)表示图像属于类别k的边缘概率;
[0046] 2.3依式(3)的蒙特卡罗采样对图像x来自生成数据集g的条件熵的经验估计进行逼近:
[0047]
[0048] 其中,M表示独立采样的数量,噪音矢量zi~P(z);
[0049] 2.4依式(4)计算生成数据集g中类别y的边缘概率的熵:
[0050]
[0051] 2.5无监督学习建模,基于对抗生成网络的无监督图像分类的目标函数如式(5)所示:
[0052]
[0053] 其中,LD是判别器D的损失函数,LG是生成器G的损失函数;
[0054] 2.6半监督学习建模:当训练集data中部分水流图像的类别信息已知时,上述无监督分类问题可进一步转化为半监督分类问题,此时,式(5)中生成器G的损失函数保持不变,即,LlabelG=LG,而判别器D的损失函数调整为:
[0055]
[0056] 其中,λ是平衡参数,标签数据集datalabel={(x1,y1),…,(xL,yL)},L表示标签数据个数,CE[y,p(y|x,D)]表示datalabel中图像x的真实类别y与预测类别的条件分布p(y|x,D)的交叉熵,具体计算如式(7)所示:
[0057]
[0058] 2.7模型优化求解:由于生成器G和判别器D都是可微的,因此可根据目标函数(5)或(6)利用随机梯度下降法对LD和LG进行交替训练;
[0059] 步骤3,流速测定:将步骤2的分类结果与预定义的流速区间进行一一对应;
[0060] 步骤4,状态分析:当监测到水流速度超出预设阈值时发出状态异常信号。实例:
[0061] 图片预处理:由于监测点在室外,对水流图像的拍摄不免受到天气(如:雨、和雾)和光照变化等因素影响。为减弱这些因素对图像质量的影响,将水流图像的RGB图转化为灰度图并进行直方图均衡化处理,增强对比度从而使水纹轮廓变得明显,图2(a)和2(b)分别是灰度图和经直方图均衡化处理的图。根据该监测点的历史数据预定义10个流速区间(区间个数可根据实际应用中对精度的要求进行增减),分别是0-0.25m/s,0.25-0.5m/s,0.5-0.75m/s,0.75-1.0m/s,1.0-1.25m/s,1.25-1.5m/s,1.5-2.0m/s,2.0-2.5m/s,2.5-
3.0m/s,3m/s及以上,每个流速区间包含30张有类别标签的水流图像(用于半监督学习),流速阈值为2.3m/s。图3(a)-(c)分别展示了区间1、2、3的水流图像,每张水流原图大小为1000×750。为降低对抗生成网络的计算复杂度从而有效提高运算效率,将每一张原图随机裁剪为100张32×32的小尺寸图片。
[0062] 对抗生成网络的架构设置如下:判别器和生成器分别采用卷积神经网络和反卷积神经网络,具体如表1所示,其中,conv表示卷积层,LeakyReLU表示Leaky修正线性单元,fc表示全连接层,stride表示最大池化操作max-pool步幅;
[0063] 表1架构细节
[0064]
[0065]
[0066] 对抗生成网络的参数设置如下:所加入的高斯噪音的标准差为0.05,噪音矢量z的维度设为128,leak rate=0.1,批归一化的规模B=100,即,每次从真实数据集data(或标签数据集datalabel)以及生成器G(z)中所随机抽取的样本数均为100个,学习率根据Adam算法进行自适应调节且上限为0.001;
[0067] 模型训练:由于生成器G和判别器D都是可微的,因此可根据目标函数(5)或(6)利用随机梯度下降法对LD和LG进行交替训练:首先,固定判别器D并优化生成器G,使判别器D的判别准确率尽可能低,然后,固定生成器G并优化判别器D,从而提高判别器D的判别准确率。为平衡平衡生成器G和判别器D,设置判别器D每更新5次后生成器G才更新1次以避免生成器G出现模式坍塌。此外,为克服对抗生成网络的不稳定性,在模型训练过程中采取如下两个措施:首先,对判别器D的所有层以及生成器G除最后一层外的所有层使用批归一化(batch normalization),这使得每一层的激活值有界从而有效防止生成器的模式切换并提高判别器的泛化性能,然后,通过将高斯噪音加入经批归一化处理的判别器隐层以实现判别器的正则化。
[0068] 本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
QQ群二维码
意见反馈