一种指针式仪表图像数据合成方法

文档序号:1862006 发布日期:2021-11-19 浏览:4次 >En<

阅读说明:本技术 一种指针式仪表图像数据合成方法 (Pointer instrument image data synthesis method ) 是由 田联房 王昭霖 杜启亮 于 2021-07-28 设计创作,主要内容包括:本发明公开了一种指针式仪表图像数据合成方法,包括:1)构建表盘定位数据集和准备待增强数据集,训练表盘检测网络,使用网络输出表盘图像;2)量程量纲数据集的构建,训练字符识别网络,使用网络输出量程量纲的文字信息;3)下载不同风格字符数据集,训练字符生成GAN网络,使用网络输出新的量程量纲图像替换原量程量纲图像,输出量程量纲增强表盘图像;4)指针刻度数据集的构建,训练Mask R-CNN网络,使用网络输出指针刻度的掩模,对指针和刻度进行形态学变换,对指针进行旋转,生成新的指针图像和刻度图像,输出指针刻度增强表盘图像,嵌入原仪表图像表盘位置。本发明具有多样性、灵活性以及在不同背景下有更好的泛化能力,扩增可供读数仪表数据。(The invention discloses a pointer instrument image data synthesis method, which comprises the following steps: 1) constructing a dial plate positioning data set and a data set to be enhanced, training a dial plate detection network, and outputting a dial plate image by using the network; 2) constructing a range dimension data set, training a character recognition network, and outputting text information of the range dimension by using the network; 3) downloading character data sets of different styles, training characters to generate a GAN network, outputting a new range dimension image to replace an original range dimension image by using the network, and outputting a range dimension enhanced dial image; 4) constructing a pointer scale data set, training a Mask R-CNN network, using a Mask of network output pointer scales, performing morphological transformation on a pointer and the scales, rotating the pointer to generate a new pointer image and a new scale image, outputting a pointer scale enhanced dial image, and embedding the pointer scale enhanced dial image into the position of an original instrument image dial. The invention has diversity, flexibility and better generalization ability under different backgrounds, and can amplify data of a reading instrument.)

一种指针式仪表图像数据合成方法

技术领域

本发明涉及图像处理与神经网络的技术领域,尤其是指一种指针式仪表图像数据合成方法。

背景技术

仪表作为一种监测装置,主要有压力仪表、温度仪表、流量仪表、电工仪表、电子测量仪表,它也被广泛应用于工业生产和社会生活的各个方面,为生产生活提供了极大的便利。通过图像采集设备采集仪表图像进行检测分类读数,相较于人工分类读数方法具有适用范围广、分类读数效率高的优势,随着图像处理技术和神经网络技术的发展,这种方法也在逐步成为主流,该方法中的关键环节就包括仪表的定位与识别,仪表图像数据集的质量对于仪表的定位和分类网络的训练具有重要影响。

目前对于仪表分类方法的研究与实现,主要集中在使用神经网络网络对不同类型的仪表图像进行分类训练,这种方法需要一定量的训练集对神经网络进行训练,需要识别的仪表图像都需要训练,不同类型的仪表在图像数据不足一直是神经网络中的一个热点问题,缺乏优质数据集时神经网络对不同的仪表的识别分类性能并不理想。目前对于仪表数据增强的方法的研究与实现,主要集中在传统图像处理技术的应用上,具体通过翻转、旋转、缩放、颜色扰动一系列图像处理技术实现数据集的增强,这种方法虽然简单易行,但是泛化能力不足,对于仪表的数据增强效果并不明显,并且指针式仪表并不适用于翻转、旋转的变换。随着近年来GAN(Generative Adversarial Networks)技术和图像处理技术的迅猛发展,使得使用神经网络对抗生成图像扩增数据集产生可能。

综合以上论述,发明一种具备多样性的指针式仪表数据合成方法具有较高的实际应用价值。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提出了一种指针式仪表图像数据合成方法,主要利用神经网络和图像处理技术设计实现对指针式仪表仪表图像数据的合成,从而扩增数据集,该方法具有多样性、灵活性以及在不同背景下有更好的泛化能力,可大大增加指针式仪表读数系统的训练、测试数据,提高人工智能在仪表检测、识别、读数的能力,提升网络的鲁棒性,有效推动自动化仪表识别的发展。

为实现上述目的,本发明所提供的技术方案为:一种指针式仪表图像数据合成方法,包括以下步骤:

1)对仪表图像上的表盘进行标注构建表盘定位数据集及准备待增强数据集,装载训练参数使用表盘定位数据集训练表盘检测网络,训练完毕后得到最优的表盘检测网络,将待增强仪表数据集输入最优的表盘检测网络,输出表盘图像并将表盘图像裁剪出来;其中,所述表盘检测网络采用YOLO网络,并将YOLO网络的骨干网络改进为mobilenet轻量化网络以减少网络参数和计算量,提高运算速度;

2)将步骤1)标注的表盘图像裁剪出来,对表盘图像上的量程量纲进行标注,标注内容为量程量纲的位置和文字信息,构建量程量纲数据集,装载训练参数使用量程量纲数据集训练字符识别网络,训练完毕后得到最优的字符识别网络,将步骤1)输出的表盘图像输入字符识别网络,输出表盘图像上的量程量纲的文字信息;其中,所述字符识别网络采用YOLO网络,并将YOLO网络的骨干网络改进为mobilenet轻量化网络以减少网络参数和计算量,提高运算速度;

3)在网上下载不同风格字符数据集,分别用不同风格字符数据集装载训练参数训练字符生成GAN网络,训练完毕后得到多个相应的字符生成GAN网络,将步骤2)输出的量程量纲的文字信息输入任意一个训练完的字符生成GAN网络,生成新的字符风格的量程量纲图像,并替代步骤1)输出的表盘图像上的原量程量纲图像,输出量程量纲增强表盘图像;

4)将步骤1)标注的表盘图像裁剪出来,对表盘上的指针和刻度进行掩模的标注,构建指针刻度数据集,装载参数使用指针刻度数据集训练Mask R-CNN网络,训练完毕后得到最优的Mask R-CNN网络,将步骤3)输出的量程量纲增强表盘图像输入最优的Mask R-CNN网络,输出指针和刻度的掩模,根据刻度掩模获得刻度图像,对刻度图像进行形态学变换生成新的刻度图像并替换原刻度图像,根据指针掩模获得指针图像,对指针图像进行形态学变换再进行旋转后生成新的指针图像替换原指针图像,输出指针刻度增强表盘图像;将指针刻度增强表盘图像嵌入原仪表图像表盘位置,完成指针式仪表图像数据合成。

进一步,在步骤1)中,通过摄像机采集不同环境下的各类仪表图像,对仪表图像进行滤波、图像增强和灰度化的预处理操作,从而构建表盘定位数据集,然后再将其中的异常数据剔除,包括存在表面脏污、光照极端以及拍摄不全的异常图像,再对其余数据进行标注,标注内容为表盘位置。

进一步,在步骤1)中,所述表盘检测网络的具体情况如下:

a、根据实时性和高精度要求构建特征提取网络,特征提取网络由多个组合卷积模块组成,具体如下:

第一层为组合卷积模块A,它由一个零填充层、一个卷积层、一个批归一化层和一个激活层组成;

第二层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第三层为组合卷积模块C,它由一个零填充层、一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第四层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第五层为组合卷积模块C,它由一个零填充层、一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第六层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第七层为组合卷积模块C,它由一个零填充层、一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第八层为组合卷积模块D,它由五个组合卷积模块B组成;

第九层为组合卷积模块C,它由一个零填充层、一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第十层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

b、根据特征提取网络不同层的输出构建输出预测不同尺寸目标的预测网络,有大尺寸目标预测网络、中等尺寸目标预测网络和小尺寸目标预测网络;

b1、大尺寸目标预测网络的输入为特征提取网络的第十层输出,大尺寸目标预测网络由多种组合卷积模块和卷积层组成,具体如下:

第一层为组合卷积模块D,它由五个组合卷积模块B组成;

第二层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第三层为一个卷积层;

b2、中等尺寸目标预测网络的输入为特征提取网络的第八层输出和大尺寸目标预测网络的第一层输出,中等尺寸目标预测网络由多种组合卷积模块和卷积层组成,具体如下:

第一层为输入融合模块A,它由一个组合卷积模块B、一个上采样层和一个张量拼接层组成;

第二层为组合卷积模块D,它由五个组合卷积模块B组成;

第三层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第四层为一个卷积层;

b3、小尺寸目标预测网络的输入为特征提取网络的第六层输出和中等尺寸目标预测网络的第二层输出,小尺寸目标预测网络由多种组合卷积模块和卷积层组成,具体如下:

第一层为输入融合模块A,它由一个组合卷积模块B、一个上采样层和一个张量拼接层组成;

第二层为组合卷积模块D,它由五个组合卷积模块B组成;

第三层为组合卷积模块B,它由一个深度卷积层、两个批归一化层、两个激活层和一个卷积层组成;

第四层为一个卷积层;

最后,将大尺寸目标预测网络、中等尺寸目标预测网络和小尺寸目标预测网络的输出通过非极大值抑制层得到预测目标位置和类别;

c、设置损失函数有中心坐标损失函数、宽高损失函数、置信度损失函数和类别损失函数;

中心坐标损失函数公式如下:

Lossxy=markobject*(2-w*h)*Losslog(xytrue,xypredict)

式中,Lossxy代表中心坐标损失,markobject代表锚点框否存在物体的标志位,w代表锚点框的宽,h代表锚点框的高,Losslog代表二值交叉熵损失,xytrue代表真实中心坐标值,xypredict代表预测中心坐标值;

宽高损失函数公式如下:

Losswh=0.5*markobject*(2-w*h)*(whtrue-whpredict)2

式中,Losswh代表宽高损失,whtrue代表真实宽高值,whpredict代表预测宽高值;

置信度损失函数公式如下:

Lossconfidence=markobject*Losslog(markobject,cpredict)

+(1-markobject)*Losslog(markobject,cpredict)*markignore

式中,Lossconfidence代表置信度损失,cpredict代表预测框的置信度值,markignore代表IOU小于阈值的锚点框的标志位;

类别损失函数公式如下:

Losscls=markobject*Losslog(clstrue,clspredict)

式中,Losscls代表类别损失,clstrue代表真实类别,clspredict代表预测类别;

总损失函数公式如下:

Loss=(Lossxy+Losswh+Lossconfidence+Losscls)/numf

式中,Loss代表总损失,numf代表输入总数的浮点数;

装载训练参数训练所设计的表盘检测网络,训练参数的设置如下:设置训练优化器为Adam、初始学习率为0.001、最大训练周期为500以及批次大小为8;并设置验证集间隔检测训练精确度,训练完成标志为达到最大训练周期或均交并比满足要求,训练完成后保存网络。

进一步,在步骤3)中,所述字符生成GAN网络由生成式网络和判别式网络组成,其具体情况如下:

a、根据生成字符图像的需求构建生成式网络,生成式网络由多个组合卷积模块组合,具体如下:

第一层为全连接层;

第二层为重构层;

第三层为组合卷积模块A,它由一个零填充层、一个卷积层、一个批归一化层和一个激活层组成;

第四层为上采样层;

第五层为组合卷积模块A,它由一个零填充层、一个卷积层、一个批归一化层和一个激活层组成;

第六层为上采样层;

第七层为组合卷积模块A,它由一个零填充层、一个卷积层、一个批归一化层和一个激活层组成;

第八层为组合卷积模块A,它由一个零填充层、一个卷积层、一个批归一化层和一个激活层组成;

b、根据判别字符图像的有效性构建判别式网络,输入为生成式网络输出图像,判别式网络由多个组合卷积模块组合,具体如下:

第一层为组合卷积模块E,它由一个零填充层、一个卷积层、一个批归一化层、一个激活层和一个Dropout层组成;

第二层为组合卷积模块E,它由一个零填充层、一个卷积层、一个批归一化层、一个激活层和一个Dropout层组成;

第三层为零填充层;

第四层为组合卷积模块E,它由一个零填充层、一个卷积层、一个批归一化层、一个激活层和一个Dropout层组成;

第五层为组合卷积模块E,它由一个零填充层、一个卷积层、一个批归一化层、一个激活层和一个Dropout层组成;

第六层为全局池化层;

第七层为全连接层;

c、设置损失函数为多分类交叉熵,公式如下:

式中,Loss代表损失,n代表类别数,yi代表对应i类别的真实概率,代表对应i类别的预测概率。

进一步,在步骤4)中,所述Mask R-CNN网络为深层Mask R-CNN网络,由基网络、区域建议网络(RPN)、区域特征聚集模块(RoIAlign)、分类分支、坐标回归分支以及Mask分支组成,其具体情况如下:

a、输入图像先通过基网络提取特征,获得不同尺度的特征图;

b、RPN进行区域建议,其在特征图上每个点生成不同尺度的候选框,并通过RPN进行粗分类和粗定位,基于置信度和非极大抑制思想筛除大量候选框,将剩余候选框送入后续网络中;

c、将不同大小和尺度的候选框所在的特征图区域通过RoIAlign输出得到固定尺寸的特征图;其中,RoIAlign先将候选框分割成固定个数的单元,每个单元的边界不进行量化,在每个单元中计算固定四个坐标位置,然后采用双线性内插的方法计算这四个位置的值,并基于这四个位置的值进行最大池化操作;

d、将固定大小的特征图作为分类分支、坐标回归分支和Mask分支的输入;其中,分类分支是以热编码形式输出特征图类别,坐标回归分支为预测候选框与真实目标区域的坐标、宽高偏差值,Mask分支输出以0、1值表述的目标的二值化掩膜图像;

深层Mask R-CNN网络的深层体现在基网络与Mask分支均采用深层的卷积神经网络,采用ResNet-50作为基网络和Mask分支的主网络结构。

进一步,在步骤4)中,根据刻度掩模获得刻度图像,对刻度图像进行形态学变换,生成新的刻度图像,形态学变换方法有腐蚀、膨胀、对比度调整、缩放和拉伸;将新刻度图像替换掉原刻度图像,其中超出原刻度图像部分则覆盖,少于原刻度图像部分则根据附近非刻度区域图像像素值自适应变化;根据指针掩模获得指针图像,同样对指针图像进行形态学变换,生成新的指针图像,再对新的指针图像进行顺时针旋转,范围为0到45度,将旋转后的新的指针图像替换掉原指针图像,输出指针刻度增强表盘图像;将指针刻度增强表盘图像嵌入原仪表图像表盘位置,即可完成指针式仪表图像数据合成。

本发明与现有技术相比,具有如下优点与有益效果:

1、本发明使用神经网络、图像处理结合的方法实现指针式仪表图像数据合成,从而扩增数据集,其与传统图像处理方法相比具有多样性、灵活性以及在不同背景下有更好的泛化能力。

2、本发明通过对指针式仪表图像数据合成,增加了可供检测、识别、读数的仪表数据,大大增加了指针式仪表读数系统的训练、测试数据,提高人工智能在仪表检测、识别、读数的能力,提升网络的鲁棒性,有效推动自动化仪表识别的发展。

附图说明

图1为本发明方法的流程图。

图2为组合卷积模块示意图。

图3为输入融合模块示意图。

图4为Mask R-CNN网络结构图。

图5为ResNet-50整体结构图。

图6为ID block结构图。

图7为conv block结构图。

图8为Mask分支结构图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

如图1所示,本实施例所提供的指针式仪表图像数据合成方法,包括以下步骤:

1)准备表盘定位数据集和待增强数据集;其中通过摄像机采集不同环境下的各类仪表图像,通过图像处理技术对表盘图像进行滤波、图像增强和灰度化等预处理操作,从而构建表盘定位数据集,然后再将其中的异常数据剔除,包括存在表面脏污、光照极端以及拍摄不全的异常图像,再对其余数据进行标注,标注内容为表盘位置。

装载训练参数使用表盘定位数据集训练表盘检测网络,训练完毕后得到最优的表盘检测网络,将待增强仪表数据集输入最优的表盘检测网络,输出表盘图像并将表盘图像裁剪出来。

所述表盘检测网络采用YOLO网络,并将YOLO网络的骨干网络改进为mobilenet轻量化网络以减少网络参数和计算量,提高运算速度。步骤1)中激活层若未额外声明,均为Leaky Relu激活函数,构建表盘检测网络,包括以下步骤:

a、构建特征提取网络

根据实时性和高精度要求构建特征提取网络。特征提取网络主要由多个组合卷积模块组成。

特征提取网络结构如下:

输入图像为416×416×3。

第一层为组合卷积模块A,如图2中(a)所示。模块首先经过零填充层,输出为418×418×3。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为2,滤波器数量为32,输出为208×208×32。

第二层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为208×208×32。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为64,使用填充使得输入输出大小一致,输出为208×208×64。

第三层为组合卷积模块C,如图2中(c)所示。模块首先经过零填充层,输出为210×210×64。再经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为2,输出为104×104×64。最后经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为128,使用填充使得输入输出大小一致,输出为104×104×128。

第四层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为104×104×128。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为128,使用填充使得输入输出大小一致,输出为104×104×128。

第五层为组合卷积模块C,如图2中(c)所示。模块首先经过零填充层,输出为106×106×128。再经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为2,输出为52×52×128。最后经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为256,使用填充使得输入输出大小一致,输出为52×52×256。

第六层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为52×52×256。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为256,使用填充使得输入输出大小一致,输出为52×52×256。

第七层为组合卷积模块C,如图2中(c)所示。模块首先经过零填充层,输出为54×54×256。再经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为2,输出为26×26×256。最后经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为512,使用填充使得输入输出大小一致,输出为26×26×512。

第八层为组合卷积模块D,如图2中(d)所示。模块依次经过五个组合卷积模块B,如图2中(b)所示。其中在每个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为26×26×512。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为512,使用填充使得输入输出大小一致,输出为26×26×512。依次经过相同的组合卷积模块B后,输出为26×26×512。

第九层为组合卷积模块C,如图2中(c)所示。模块首先经过零填充层,输出为28×28×512。再经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为2,输出为13×13×512。最后经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为1024,使用填充使得输入输出大小一致,输出为13×13×1024。

第十层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为13×13×1024。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为1024,使用填充使得输入输出大小一致,输出为13×13×1024。

b、构建预测网络

根据特征提取网络不同层的输出构建输出预测不同尺寸目标的预测网络,有大尺寸目标预测网络、中等尺寸目标预测网络和小尺寸目标预测网络。

b1、大尺寸目标预测网络

输入为特征提取网络第十层输出,大尺寸目标预测网络主要由多种组合卷积模块和卷积层组成。

输入图像为13×13×1024。

大尺寸目标预测网络结构如下:

第一层为组合卷积模块D,如图2中(d)所示。模块依次经过五个组合卷积模块B,如图2中(b)所示。在第一个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(1,1),步长为1,使用填充使得输入输出大小一致,输出为13×13×1024。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为512,使用填充使得输入输出大小一致,输出为13×13×512。在第二个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为13×13×512。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为1024,使用填充使得输入输出大小一致,输出为13×13×1024。之后交替输入两种不同参数的组合卷积模块B后,输出为13×13×512。

第二层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为13×13×512。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为1024,使用填充使得输入输出大小一致,输出为13×13×1024。

第三层为一个卷积层。卷积核为(1,1),步长为1,滤波器数量为255,输出为13×13×255。

b2、中等尺寸目标预测网络

输入为特征提取网络第八层输出和大尺寸目标预测网络第一层输出,中等尺寸目标预测网络主要由多种组合卷积模块和卷积层组成。

输入图像为26×26×512和13×13×512。

中等尺寸目标预测网络结构为:

第一层为输入融合模块,如图3所示。输入13×13×512首先经过组合卷积模块B,在其中首先经过深度卷积、批归一化层和激活层,卷积核为(1,1),步长为1,使用填充使得输入输出大小一致,输出为13×13×512。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为512,使用填充使得输入输出大小一致,输出为13×13×512。再经过上采样层,采样因子为2,输出为26×26×512。最后该输出和输入26×26×512经过张量拼接层,输出为26×26×1024。

第二层为组合卷积模块D,如图2中(d)所示。模块依次经过五个组合卷积模块B,如图2中(b)所示。在第一个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(1,1),步长为1,使用填充使得输入输出大小一致,输出为26×26×1024。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为256,使用填充使得输入输出大小一致,输出为26×26×256。在第二个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为26×26×256。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为512,使用填充使得输入输出大小一致,输出为26×26×512。之后交替输入两种不同参数的组合卷积模块B后,输出为26×26×256。

第三层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为26×26×256。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为512,使用填充使得输入输出大小一致,输出为26×26×512。

第四层为一个卷积层。卷积核为(1,1),步长为1,滤波器数量为255,输出为26×26×255。

b3、小尺寸目标预测网络

输入为特征提取网络第六层输出和中等尺寸目标预测网络第二层输出,小尺寸目标预测网络主要由多种组合卷积模块和卷积层组成。

输入图像为52×52×256和26×26×256。

小尺寸目标预测网络结构为:

第一层为输入融合模块,如图3所示。输入26×26×256首先经过组合卷积模块B,在其中首先经过深度卷积、批归一化层和激活层,卷积核为(1,1),步长为1,使用填充使得输入输出大小一致,输出为26×26×256。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为256,使用填充使得输入输出大小一致,输出为26×26×256。再经过上采样层,采样因子为2,输出为52×52×256。最后该输出和输入52×52×256经过张量拼接层,输出为52×52×512。

第二层为组合卷积模块D,如图2中(d)所示。模块依次经过五个组合卷积模块B,如图2中(b)所示。在第一个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(1,1),步长为1,使用填充使得输入输出大小一致,输出为52×52×512。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为128,使用填充使得输入输出大小一致,输出为52×52×128。在第二个组合卷积模块B中,输入首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为52×52×128。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为256,使用填充使得输入输出大小一致,输出为52×52×256。之后交替输入两种不同参数的组合卷积模块B后,输出为52×52×128。

第三层为组合卷积模块B,如图2中(b)所示。模块首先经过深度卷积、批归一化层和激活层,卷积核为(3,3),步长为1,使用填充使得输入输出大小一致,输出为52×52×128。再经过卷积、批归一化层和激活层,卷积核为(1,1),步长为1,滤波器数量为256,使用填充使得输入输出大小一致,输出为52×52×256。

第四层为一个卷积层。卷积核为(1,1),步长为1,滤波器数量为255,输出为52×52×255。

最后,将大尺寸目标预测网络的输出13×13×255、中等尺寸目标预测网络的输出26×26×255和小尺寸目标预测网络的输出52×52×255通过非极大值抑制层得到预测目标位置和类别。

c、设置损失函数

设置损失函数为中心坐标损失函数、宽高损失函数、置信度损失与类别损失函数的求和均值。损失函数公式如下:

Loss=(Lossxy+Losswh+Lossconfidence+Losscls)/numf

其中Loss代表总损失,Lossxy代表中心坐标损失,Losswh代表宽高损失,Lossconfidence代表置信度损失,Losscls代表类别损失,numf代表输入总数的浮点数。各个损失函数公式如下:

Lossxy=markobject*(2-w*h)*Losslog(xytrue,xypredict)

Losswh=0.5*markobject*(2-w*h)*(whtrue-whpredict)2

Lossconfidence=markobject*Losslog(markobject,cpredict)

+(1-markobject)*Losslog(markobject,cpredict)*markignore

Losscls=markobject*Losslog(clstrue,clspredict)

其中markobject代表锚点框否存在物体的标志位,w代表锚点框的宽,h代表锚点框的高,Losslog代表二值交叉熵损失,xytrue代表真实中心坐标值,xypredict代表预测中心坐标值,whtrue代表真实宽高值,whpredict代表预测宽高值,cpredict代表预测框的置信度值,markignore代表IOU小于阈值的锚点框的标志位,clstrue代表真实类别,clspredict代表预测类别。

训练过程包括以下步骤:

d1、设置训练参数

设置训练优化器为Adam、初始学习率为0.001、迭代次数为500、批次大小为8以及对所有标签进行K means聚类生成初始先验框为(38,29)、(65,52)、(94,87)、(142,134)、(195,69)、(216,206)、(337,320)、(397,145)、(638,569)。

d2、在线数据增强

对输入图像进行数据增强,扩充数据集,数据增强的方法如下:随机镜像翻转、随机添加噪声、随机调整对比度

d3、设置训练完成标志

设置验证集间隔检测训练精确度,训练完成标志为达到最大迭代次数500以及精确度满足要求,训练完成后保存网络。

2)使用步骤1)标注的表盘,对表盘上的量程量纲进行标注,标注内容为量程量纲的位置和文字信息,构建量程量纲数据集,装载训练参数使用量程量纲数据集训练字符识别网络,训练完毕后得到最优的字符识别网络;所述字符识别网络采用YOLO网络,并将YOLO网络的骨干网络改进为mobilenet轻量化网络以减少网络参数和计算量,提高运算速度。将步骤1)输出的表盘图像输入字符识别网络,输出表盘中的量程量纲的文字信息。

3)在网上下载不同风格字符数据集,分别用不同风格字符数据集装载训练参数训练字符生成GAN网络,训练完毕后得到多个相应的字符生成GAN网络,将步骤2)输出的量程量纲的文字信息输入任意一个训练完的字符生成GAN网络,生成新的字符风格的量程量纲图像,并替代步骤1)输出的表盘图像上的原量程量纲图像,输出量程量纲合成表盘图像,即量程量纲增强表盘图像。

构建字符生成GAN网络,由生成式网络和判别式网络组成,包括以下步骤:

a、构建生成式网络

根据生成字符图像的需求构建生成式网络。生成式网络主要由多个组合卷积模块组合。

生成式网络结构如下:

输入随机噪声图像为28×28×1。

第一层为全连接层。

第二层为重构层,输出为7×7×32。

第三层为组合卷积模块A,如图2中(a)所示。模块首先经过零填充层,输出为9×9×32。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为1,滤波器数量为64,输出为7×7×64。

第四层为上采样层,输出为14×14×64。

第五层为组合卷积模块A,如图2中(a)所示。模块首先经过零填充层,输出为16×16×64。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为1,滤波器数量为128,输出为14×14×128。

第六层为上采样层,输出为28×28×128。

第七层为组合卷积模块A,如图2中(a)所示。模块首先经过零填充层,输出为30×30×128。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为1,滤波器数量为64,输出为28×28×64。

第八层为组合卷积模块A,如图2中(a)所示。模块首先经过零填充层,输出为30×30×64。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为1,滤波器数量为1,输出为28×28×1。

b、构建判别式网络

根据判别字符图像的有效性构建判别式网络。输入为生成式网络输出图片,判别式网络主要由多个组合卷积模块组合,具体如下:

输入图像为28×28×1。

第一层为组合卷积模块E,如图2中(e)所示。模块首先经过零填充层,输出为30×30×1。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为2,滤波器数量为16,输出为14×14×16。

第二层为组合卷积模块E,如图2中(e)所示。模块首先经过零填充层,输出为30×30×1。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为2,滤波器数量为32,输出为7×7×32。

第三层为零填充层,输出为8×8×32。

第四层为组合卷积模块E,如图2中(e)所示。模块首先经过零填充层,输出为10×10×32。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为2,滤波器数量为64,输出为4×4×64。

第五层为组合卷积模块E,如图2中(e)所示。模块首先经过零填充层,输出为6×6×64。再经过卷积层、批归一化层和激活层,卷积核为(3,3),步长为1,滤波器数量为128,输出为4×4×128。

第六层为全局池化层,输出为1×1×128。

第七层为全连接层,输出为1+10+m,m为可识别的量纲数。

c、设置损失函数

设置损失函数为多分类交叉熵

其中Loss代表损失,n代表类别数,yi代表对应i类别的真实概率,代表对应i类别的预测概率。

将生成的图像转换为三通道图像,并对图像进行颜色空间变换,替换原表盘图像中的量程量纲图像。

4)使用步骤1)标注的表盘,对表盘上的指针和刻度进行掩模的标注,构建指针刻度数据集,装载参数使用指针刻度数据集训练深层Mask R-CNN网络,训练完毕后得到最优的深层Mask R-CNN网络,将步骤3)输出的量程量纲增强表盘图像输入最优的深层Mask R-CNN网络,输出指针图像和刻度图像的掩模。

深层Mask R-CNN网络结构如图4所示,主要由基网络ResNet-50、区域建议网络(RPN)和区域特征聚集模块(RoIAlign)、分类分支、坐标回归分支、Mask分支组成。图中,conv为传统卷积层,Softmax为用于分类输出层,FC为全连接层。整体网络其主要结构介绍如下:

基网络ResNet-50整体结构如图5所示,主要由ID block和conv block组成,IDblock和conv block主要由非线性激活函数ReLU和组合卷积模块F组成,ID block如图6所示,conv block如图7所示。图中CONV2D为传统卷积层,BatchNorm为批归一化层,ReLU为非线性激活函数,MAXPOOL为最大池化层,AVGPOOL为平均池化层,FC为全连接层。

RPN由1个3×3、两个1×1卷积层和非线性函数Softmax构成,主要用于对基网络中最后特征图上生成的先验的候选框进行粗分类和坐标回归,并基于分类置信度和矩形框的重叠度进行筛选,得到一定数量的潜在候选框,用于后续处理。

RoIAlign主要是将候选框所在的特征图进行池化得到固定大小的特征图。即将每个候选框中的特征图先平均划分为14×14的单元格,对每个单元的边界不进行量化操作,然后在每个单元中计算固定四个坐标位置,双线性插值计算四个坐标的值,基于四个坐标的值进行最大池化操作。

分类分支由3×3、1×1卷积层和输出层Softmax组成,输出候选框中的目标类别以及置信度。坐标回归分支同样由3×3、1×1卷积层和输出层Softmax组成,输出候选框与真实框之间的坐标、宽高偏差值。Mask分支用于预测目标的二值化掩膜,为一个全卷积的网络结构,同样采用ResNet-50网络结构,中间网络层的通道数channel均为256,其最后一层的通道数为类别数量,此处为2,结构示意图如图8所示。

输入图像先通过ResNet-50提取特征,RPN进行区域建议,获得大量潜在候选框,然后每个候选框所在特征图区域通过RoIAlign得到固定尺寸的特征图,将该特征图作为分类分支、坐标回归分支和Mask分支的输入,在Mask分支获得目标的二值化掩膜,在分类分支获得目标的类别结果,在坐标回归分支获得目标定位偏差值用于坐标校正。

将表盘刻度掩模提取出来。根据刻度掩模获得刻度图像,对刻度图像进行随机选取几种形态学变换方法,生成新的刻度图像,形态学变换方法有:腐蚀、膨胀、对比度调整、缩放、拉伸。

根据指针掩模获得指针图像,同样对指针图像进行形态学变换,生成新的指针图像,再对新的指针图像进行顺时针旋转,范围为0到45度,其中,旋转中心是根据获取的刻度图像拟合得到的中心点,即指针中心,将旋转后的指针图像替换掉原指针图像,输出指针刻度增强表盘图像。

将指针刻度增强表盘图像嵌入原仪表图像表盘位置,完成指针式仪表图像数据合成。

综上所述,在采用以上方案后,本发明为指针式仪表图像数据增强提供了新的方法,将合成数据作为数据增强的一种有效手段,能够有效解决指针式仪表图像数据不足问题,有效推动自动化仪表识别的发展,具有实际推广价值,值得推广。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于图像文本的仪表检测分类方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!