利索能及
我要发布
收藏
专利号: 2020111109910
申请人: 西安工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于深度学习和帧差法的水表读数识别方法,其特征在于,步骤为:步骤1:采集大量水表图片;

步骤2:对每张水表图片进行预处理,构建水表训练集;

步骤3:对水表训练集中水表字符区域位置进行定位;

步骤4:对定位后的水表训练集进行字符分割;

步骤5:用AlexNet模型提取分割后水表训练集的水表字符特征;

步骤6:将水表字符特征送入到全连接网络进行训练,得到训练模型;

步骤7:将新采集的水表图像送入到训练模型中进行识别,得到识别结果;

步骤8:将识别结果正确的水表原图以及标签进行保存,加入到训练集中再次训练模型。

2.如权利要求1所述的一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤1的过程为:固定水表与摄像头的距离,距离为5cm,通过改变水表的读数,获取到大量的水表图片,对所述水表图片分类做标签作为水表训练集。

3.如权利要求1所述的一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤2的过程为:步骤2.1,对水表图片进行二值化;

步骤2.2,对二值化后的水表图片进行隔N点采样,剔除无用像素,得到水表训练集;其中设原图的大小为W*H,宽度和长度的缩小因子分别为K1和K2,则采样间隔为:W/K1,W/K2;在原图的水平方向每隔W/K1,在垂直方向每隔W/K2取一个像素。

4.如权利要求1所述的一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤3的过程为:将字符“M”设置为搜索模板T对水表字符区域进行定位,T通过遍历整幅被搜索图S的像素点,模板覆盖被搜索图的那块区域叫子图Sij;其中i,j为子图左上角在被搜索图S上的坐标,则搜索范围是:其中模板T的大小为m×n个像素,搜索图S的大小为W×H个像素通过比较T和Sij的相似性,完成模板匹配过程;若匹配成功,通过i,j点坐标定位出水表的字符区域,并对定位的水表字符区域进行裁剪,只保留水表读数信息。

5.如权利要求1所述的一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤4的过程为:对定位后的图像进行开运算之后采用8邻域方式连接的连通域进行标记,通过计算定位后水表图片的坐标信息,将5个连在一起的水表字符分割成单一的字符。

6.如权利要求1所述的一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤5包括:步骤5.1,在Tensorflow框架下利用Keras来搭建AlexNet模型,将输入图像的尺寸改为

32*32*3以适应水表训练集,并将原始的AlexNet模型中的11*11、7*7、5*5等大尺寸卷积核均替换成3*3的小卷积核;

步骤5.2,对分割后的水表训练集做两次卷积,第一次是96个3*3的卷积核,第二次是

256个3*3的卷积核,不进行全零填充,为了解决梯度消失的问题,进行批标准化操作,激活函数为Relu进行最大池化,池化核尺寸为3*3,步长为2:f(x)是Relu取最大值的函数;为了提高模型的泛化能力,在第二次做卷积时,采用局部归一化响应:表示第i个卷积核(x,y)经过Relu激活函数的输出;N是该层的核的总数目;常数k,n,α,β是超参数,他们的值使用一个验证集来确定,取k=2,n=5,α=10-4,β=0.75;

步骤5.3,继续做两次卷积,进行全零填充,激活函数为Relu,不进行批标准化操作以及最大池化;

步骤5.4,最后一次做卷积,进行全零填充,激活函数为Relu,不进行批标准化操作,进行最大池化,池化核尺寸为3*3,步长为2,最终得到水表字符特征。

7.一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤6中全连接层共有3层:第一二层共有2048个神经元,激活函数为Relu,为了缓解过拟合的现象,对20%的神经元进行舍弃,第三全连接层共10个神经元,迭代训练次数设置为5。

8.一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤7的步骤包括:步骤7.1,输入新采集的先后两帧水表图像,对上一帧水表图像保存后按步骤2的方式进行预处理,最后送入到训练好的模型中进行识别,得到首次识别结果;

步骤7.2,将下一帧水表图像作为当前图像,将先后两帧水表图像分别进行灰度化;

步骤7.3,对步骤7.2得到的两个灰度化图像做帧差法操作,得到差分水表图像;做完帧差操作后,将当前图像记为上一帧图片进行保存,循环更新保存的上一帧水表图片;

步骤7.4,设定阈值T,对差分图像Dn进行二值化处理,得到二值化图像;

步骤7.5,对二值化图像Rn进行连通性分析,得到差异性区域图像;

步骤7.6,对不同的差异性区域图像进行分割,得到多个分割后的字符图像;

步骤7.7,对多个分割后的字符图像进行隔N点采样;

步骤7.8,将步骤7.7采样后字符图像进行下标标记后,送入到模型中进行识别,得到二次识别结果,将首次识别结果与二次识别结果下标作比较,将二次识别结果下标相同的字符替换掉首次识别结果的水表读数,最终整合输出完整的水表读数。

9.如权利要求1所述的一种基于深度学习和帧差法的水表读数识别方法,其特征在于,所述步骤8的步骤包括:将模型识别正确的水表图像以及它的标签进行保存,当正确识别的水表图片数量达到50时将保存的新数据添加到原有的训练集中重新进行训练。