发明名称 一种基于卷积神经网络图像识别的水流测速方法
摘要 一种基于卷积神经网络图像识别的水流测速方法,包括如下步骤:设备安装、样本图片采集。建立样本数据、训练分类器、实际测量。本发明采用非接触式的摄像头,获取大量河流不同状态下的表面图像并预先测量每张图像对应的流速,并对图像进行预处理,生成样本数据训练调整卷积神经网络,再需要测量流速时,只需摄像头拍摄下当时河流表面的图片,利用训练好的卷积神经网络对该图片进行分类,得到的类别所对应的流速,即为此时河流的流速。
申请公布号 CN106156734A 申请公布日期 2016.11.23
申请号 CN201610517559.0 申请日期 2016.06.28
申请人 浙江工业大学 发明人 王万良;鞠振宇;邱虹;李卓蓉;杨平;郑建炜
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 一种基于卷积神经网络图像识别的水流测速方法,包括如下步骤:步骤1,设备安装阶段:选取目标河流并勘察,若河流有桥或码头,则将摄像头安装于桥或码头,若河流无桥或码头,则选取平坦河岸树立支架,安装摄像头;摄像头通过视频线连接水电站主机,该主机需安装视频采集卡;摄像头选择球机以方便调整摄像头角度对准河流表面,调试摄像头,使其捕获的画面仅有河流表面图像,无河岸杂物;如有必要,与拍摄区域安装照明灯,用于夜间的拍摄工作;步骤2,样本图片采集阶段:抽样选取各个时间段、各种天气条件以及洪水高发期等特殊时期,拍摄河流表面的视频,由工作人员使用流速测量仪跟踪浮标,记录每段视频对应时刻的河流流速;利用视频软件逐帧截取图片,同一段视频截取的图片划归为同一流速;根据图片和流速的映射关系,建立图片与流速关系映射表;步骤3,建立样本数据阶段:选取3000张各个流速状态的图片,根据流速测量的精度要求和洪水预防的警报线要求,对流速进行范围性分类并用数字标记每个类别,对照图片与流速映射表,依次对所属流速范围的图片进行类别标记,作为训练样本集的类别标签;将图片转换为同样格式,对图片进行灰度化、直方图均衡、对比度增强的图片预处理操作,并保存为训练样本集;选取1000张各个流速状态的图片,再次进行上述操作,得到测试样本集的类别标签和测试样本集;步骤4,训练分类器阶段:搭建卷积神经网络初步结构模型,用步骤3所得的样本数据训练并测试调整卷积神经网络模型;本网络模型依次由输入层、卷积层、池化层、卷积层、池化层、输出层组成;输入层为训练数据,卷积层(C层)为特征提取层,池化层(S层)位于卷积层后,是一个二次提取的计算层;第二个S层,即完成了对原始数据的特征提取后,把S层的特征数据进行向量化,然后连接到分类器,经输出层输出类别结果;卷积层用卷积核(一个特征矩阵)在图像矩阵上游走,在对应位置元素相乘,再把相乘的结果相加,最后相加的结果形成新的图像矩阵,游走完成后即完成了对原始图像的卷积变换,形成 此卷积核下的特征提取;(本网络模型的卷积核大小为5*5);在通过卷积获得了特征之后,对特征矩阵分区域进行平均值池化,降低特征维度;输出层输出实际类别,与样本的类别标签对比,反向调整权值,直至实际输出与类别标签尽可能接近,调整迭代次数直至误差函数收敛;卷积神经网络包含前向传播与反向传播两个过程;前向传播将上一层的输出加权求和后,经由激活函数输出结果,该结果又作为下一层的输入,继续加权求和,由激活函数输出,如此反复,直到网络模型最后的输出层;假设当前层为l层,当前层的输出结果为a<sup>(l)</sup>,W表示权值,b表示偏置,下一层则为l+1层,l层的输出结果a<sup>(l)</sup>,加权求和得到z<sup>(l+1)</sup>作为l+1层的输入,得到该层的输出a<sup>(l+1)</sup>,激活函数f(·)为sigmod函数;计算公式如下:z<sup>(l+1)</sup>=W<sup>(l)</sup>a<sup>(l)</sup>+b<sup>(l)</sup>a<sup>(l+1)</sup>=f(z<sup>(l+1)</sup>)接下来,通过反向传播调整网络模型的权值W和偏置b;反向传播的核心是使代价函数J(W,b)最小化,从而使得误差更小。具体计算过程如下:(1)代价函数计算公式:<img file="FDA0001033056400000021.GIF" wi="864" he="136" />其中h<sub>w,b</sub>(x)为前向传播的实际输出结果,y为对应的样本标签,即期望输出;(2)对于第n<sub>l</sub>层(输出层)的每个输出单元i,根据以下公式计算其残差δ<sup>(nl)</sup>:δ<sup>(nl)</sup>=‑(y‑a<sup>(nl)</sup>)·f′(z<sup>(nl)</sup>)(3)对l层(中间层)的第i个节点的残差δ<sup>(l)</sup>的计算公式为:δ<sup>(l)</sup>=((W<sup>(l)</sup>)<sup>T</sup>δ<sup>(l+1)</sup>)·f′(z<sup>(l)</sup>)(4)计算需要的偏导数,计算公式为:<img file="FDA0001033056400000022.GIF" wi="863" he="81" /><img file="FDA0001033056400000023.GIF" wi="672" he="84" />(5)更新权值参数:<img file="FDA0001033056400000031.GIF" wi="973" he="79" /><img file="FDA0001033056400000032.GIF" wi="863" he="75" /><img file="FDA0001033056400000033.GIF" wi="1049" he="156" /><img file="FDA0001033056400000034.GIF" wi="613" he="160" />其中α是学习速率,m为数据集的样例个数,λ为权重衰减参数,用于控制公式中两项的相对重要性。接着重复以上迭代步骤,不断更新权值与偏置,减小J(W,b)的值,进而得出完整的卷积神经网络;步骤5,实际测量阶段:继续拍摄河流表面图片,经由步骤3所述方法处理图片,并将图片传入步骤4中训练好的卷积神经网络,经过卷积神经网络分类后得出该图片类别标签,该类别标签所对应的流速范围即为该图片的流速范围。
地址 310014 浙江省杭州市下城区潮王路18号浙江工业大学科技处