一种跨通道注意力融合的水表读数区域检测方法

未命名 10-22 阅读:57 评论:0


1.本发明涉及智能检测领域,特别涉及一种跨通道注意力融合的水表读数区域检测方法。


背景技术:

2.水资源的合理有效利用对于可持续发展有重要意义,水表读数的获取是管理水资源的重要一环。目前采用人工抄表的方式不仅需要大量人力物力,而且效率没有保障。利用相关设备定时收集水表图像,上传到远端的服务器,由服务器中的算法程序完成水表读数的检测识别,这种远程智能抄表技术正在得到广泛关注。
3.水表读数检测对精确度的要求较高,而水表图像的拍摄角度多样,使用传统的水平目标检测方法在水表数据集上的表现较差,水表图像中前景目标是包含表盘的读数框,分为字轮框和指针框,背景信息比如文字信息繁多,会对前景目标的检测造成干扰,此外,用于水表数据的检测方法应用于实际工程项目中,对检测速度和检测精度有较高的要求。如何在保持较好准确率的同时,提高检测算法的速度,降低检测模型的规模,是一个重要的技术问题。
4.从更广泛的意义上来说,在水表图像数据集上进行旋转/定向目标检测是更有价值的工作。当前有一些用于旋转目标检测的算法,主要有从通用目标检测改进而来的方法,以及构建新范式的旋转目标检测方法,如fcos、cornernet等。使用这些方法,且在主干网络和特征融合阶段未能较好区分上述的前景和背景目标,没有关注到实际需要的信息,以及没有充分利用不同尺度特征图的特征,导致依然存在检测框与实际情况不能很好对齐的问题。


技术实现要素:

5.为了克服现有技术的上述缺点与不足,本发明的目的在于提供一种跨通道注意力融合的水表读数区域检测方法。
6.本方法基于atss方法,这是一种单阶段目标检测方法,相比于二阶段方法减少了区域建议网络的处理,具有更快的训练和检测速度,而且较好地解决了anchor对齐问题,更好地解决了水表图像中检测框不能适应真实框旋转的缺陷。
7.本发明的目的通过以下技术方案实现:
8.一种跨通道注意力融合的水表读数区域检测方法,包括:
9.采集并标注包含有水表表盘的图片;
10.对图片进行数据处理和数据增强;
11.构建水表读数区域检测网络,所述水表读数区域检测网络包括特征提取网络、跨通道注意力融合网络及二阶段特征细化网络;
12.计算损失,并使用反向传播训练水表读数区域检测网络;
13.将待检测水表图片输入到经过训练后的水表读数区域检测网络中进行测试,输出
带有检测框的图片,检测框内包含水表字轮读数以及水表指针读数。
14.进一步,所述标注是采用四边形框标注。
15.进一步,对图片进行数据处理和数据增强,具体是:
16.通过缩放、随机翻转、随机裁剪、归一化和填充操作,将图像的原始分布随机化,将数据增强后的图片减去各通道均值,除以各通道方差,再进行归一化,并转化为特征提取网络所需的图像。
17.进一步,所述特征提取网络,具体包括:
18.使用加入可变形卷积模块dcn的resnet50,输入图片,经过下采样,最后一个阶段输出特征张量维度的输出特征图片。
19.进一步,所述跨通道注意力融合网络,具体为:
20.输入经过特征提取后的张量,所述张量维度为c*h*w,c表示通道数,h表示特征图的高,w表示特征图的宽;
21.采用分支结构得到最终输出张量,具体为:
22.所述分支结构包括第一分支、第二分支及第三分支;
23.所述第一分支,是通道c和宽w通过permute操作交换维度,经过全局平均池化层,然后经过3个3*3卷积块,再经过sigmoid激活函数与第一分支的输入相乘,最后经过permute转换为通道*宽*高的维度特征;
24.所述第二分支,是将通道c和高h通过permute操作交换维度,经过全局平均池化层,然后经过3个3*3卷积模块,每一个3*3卷积模块具体是:首先经过3*3卷积核,再经过relu函数,然后经过batch normalization归一化。再经过sigmoid激活函数与输入相乘,最后经过permute转换为通道*宽*高的维度;
25.所述第三分支,是将经过全局平均池化,然后经过两个1*1卷积层,使用sigmoid处理后与该分支的输入相乘,最后经过permute.view操作,变为c*h*w。
26.将三个分支的输出相加,并取平均,得到最终输出张量。
27.进一步,所述二阶段特征细化网络,具体为:
28.第一阶段:将特征提取提取网络输出的特征张量,进行与特征提取过程中下采样对应的上采样倍数,将相同尺度的上采样输出特征和下采样输出特征相加,得到新特征;
29.设某一尺度新特征为c*h*w,c表示通道数,h表示特征图的高,w表示特征图,输入下述两个分支处理:
30.一个分支,使用全局平均池化,输出张量为c*1*1,经过1*1卷积层,输出张量大小为c/2*1*1,经过relu函数,输出张量维度为c/2*1*1;
31.另一个分支,使用3*3的膨胀卷积层,输出张量为c*(h-2)*(w-2),再经过1*1卷积层,输出张量大小数为c/2*1*1,经过relu函数,输出张量维度为c/2*1*1;
32.将两个分支进行连接,按通道进行cat操作,得到输出特征,记为f1;
33.第二阶段:将第一阶段的输出特征经过与第一阶段相同倍率的下采样,然后再进行相同倍率的上采样,将相同尺度的上采样输出特征和下采样输出的特征相加add得到新的特征,记为f2;
34.将f1和f2相加得到二阶段特征细化网络的输出。
35.进一步,所述计算损失并反向传播训练水表读数区域检测网络,具体为:在水表图
像上遍历像素点,在每个位置上生成不同尺度的anchor锚框,另有根据数据集标注得到的真实框,对anchor锚框和真实框进行编码,计算真实框与anchor框之间的iou;
36.分配正负样本,具体为:对于图像上的每一个ground truth box记为gt,在每一层特征金字塔上,遍历每一个gt,计算每一个gt和anchor之间的iou,计算每个gt中心坐标和该层上所有anchor中心坐标的l2距离,根据l2距离选取跟gt的中心点坐标最近的k个候选正样本,一共有4层特征,总共会选择出4*k个候选框,计算每个候选框和gt的iou值,并且计算这个iou值集合的均值和方差,均值和方差求和作为iou阈值,筛选出大于阈值的候选框作为最终的正样本,负责预测该gt;如果将一个锚框分配给多个gt,则会选择iou最高的那个框,剩下的是负样本;如果阈值设置过大,可能会导致某些正样本位置不在gt内部,过滤掉这部分正样本,设置为背景样本;
37.使用focal策略进行样本平衡,计算正负样本的定位损失、分类损失以及角度回归损失,图像中的感兴趣检测目标分为两个类别:水表字轮读数text类、水表指针读数circle类,分类损失为focal loss,边界框回归损失为smooth-l1 loss;
38.根据生成的anchor框与真实框计算得到的iou值,使用非极大值抑制nms方法过滤多余的候选框,计算完损失后使用反向传播,训练整个网络模型,最终输出带有候选框的图像。
39.进一步,所述下采样包括1/4、1/8、1/16、1/32倍率。
40.一种水表读数区域检测方法的系统,包括:
41.采集模块:用于获取水表表盘图像,并进行标注;
42.处理模块:用于对标注后的图像进行数据处理与增强;
43.构建及训练模块:用于构建水表读数区域检测网络,并对检测网络进行训练;
44.检测模块:将待检测水表图像输入模型中,输出候选框的图像。
45.一种存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现所述的水表读数区域检测方法。
46.与现有技术相比,本发明具有以下优点和有益效果:
47.本方法水表数据集标注以旋转四边形框标注,可检测出旋转矩形框,更适合水表读数检测任务;
48.本方法引入注意力模块和特征细化模块,并结合网络特点,根据任务特点进行修改定制,使用较低的运算量和合适的训练速度,取得较好的性能。
附图说明
49.图1是本发明的工作流程图。
50.图2是本发明跨通道融合关注模块的结构示意图。
51.图3是本发明实施例1中的水表检测结果示意图。
具体实施方式
52.下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
53.如图1-图3所示,一种跨通道注意力融合的水表读数区域检测方法,包括:
54.s1采集并标注包含有水表表盘的图片。
55.图片标注用旋转四边形框,具体为:采集的表盘图像需包含水表表盘内容,图像较清晰。裁剪图像,并使用标注工具,采用旋转四边形框方式,标记水表读数字轮框和水表指针框的像素位置,以四边形的四个边角的像素坐标的形式记录在文件中。
56.s2对图片进行数据处理和数据增强,具体为:
57.所述数据增强操作,通过色彩变换、缩放、随机翻转、随机裁剪和填充操作,将图像的原始分布随机化。转换为大小为1024*1024像素的图片,若原始图片的原始尺寸小于1024*1024像素,用灰度值填充,若原始图片的原始尺寸大于1024*1024像素,则使用随机裁剪转换为统一的大小,作为后续处理的输入。
58.s3构建水表读数区域检测网络,所述水表读数区域检测网络包括特征提取网络、跨通道注意力融合网络及二阶段特征细化网络;
59.所述特征提取网络,使用加入可变形卷积模块dcn的resnet50,输入图片,经过下采样,最后一个阶段输出特征张量维度的输出特征图片。
60.本实施例中的特征提取过程为:
61.使用resnet50,输入图片张量维度为n*3*1024*1024,n表示图片数量,经过1/2、1/4、1/8、1/16、1/32的下采样,最后的输出特征张量维度为n*2048*32*32。
62.由于数据集中水表图像的方向任意,拍摄角度无法保证与水平方向平行,而resnet50网络不具有旋转不变性,在进行卷积运算提取特征的过程中会丢失部分特征,因此在主干网络引入可变形卷积网络dcn,该模块具有旋转不变性,可以较完整地保留旋转图像的特征。具体地,resnet50分为四个阶段,stage1,stage2,stage3,stage4,在stage2、stage3和stage4中加入dcn处理。
63.所述跨通道注意力融合网络,具体为:
64.由于水表图像中的前景和背景权重并不一致,此网络可以提升网络对于前景目标框的注意权重。具体为:输入经过特征提取后的张量,采用分支结构,如图2所示。张量维度为c*h*w,c表示通道数,h表示特征图的高,w表示特征图的宽。
65.分支结构包括三个分支,具体如下:
66.第一个分支:通道c和宽w通过permute操作交换维度,经过全局平均池化层,然后经过3个3*3卷积块,输出特征维度是1*c*w。再经过sigmoid激活函数与第一分支的输入相乘,最后经过permute转换为c*h*w的维度特征图。每一个3*3卷积模块具体是:首先经过3*3卷积核,再经过relu函数,然后经过batch normalization归一化。
67.第二个分支:通道c和高h通过permute操作交换维度,经过全局平均池化层,然后经过3个3*3卷积模块,3*3卷积模块与第一个分支相同,输出特征维度是1*h*c。输出再经过sigmoid激活函数与第二分支输入相乘,最后经过permute,输出张量维度为c*h*w。
68.第三个分支:经过全局平均池化,然后经过两个1*1卷积层,经过sigmoid函数后,与该分支的输入相乘,最后经过permute.view,输出张量维度变为c*h*w。将上述三个分支的输出相加,并取平均,得到最终输出张量,张量维度是(c*h*w),即:
[0069][0070]
将三个分支的输出相加,并取平均,得到最终输出张量。
[0071]
所述二阶段特征细化网络,具体包括两个阶段;
[0072]
第一阶段,包括:
[0073]
特征提取网络中经过1/4、1/8、1/16、1/32倍率的下采样,四个下采样频率分别输出四个尺度的特征张量,即输出张量维度分别为256*256*256,512*128*128,1024*64*64,2048*32*32,第一个数为通道数。随后进行4倍,8倍,16倍,32倍的上采样,将相同尺度上的上采样输出特征和下采样输出的特征相加add得到新的特征,即得到四个尺度的新特征。
[0074]
设在上一步得到的某一尺度上新特征图大小为c*h*w,c表示通道数,h表示特征图的高,w表示特征图的宽。然后经过以下处理,使用两个分支,分别为:使用全局平均池化,输出张量为c*1*1,经过1*1卷积层,输出张量大小为c/2*1*1,经过relu函数,输出张量维度为c/2*1*1;使用3*3的膨胀卷积层,再经过1*1卷积层,输出通道数为c/2,和relu处理。将两个分支进行连接,按通道进行cat操作,此时输出张量维度与进入s3之前的相同。记为f1。
[0075]
进一步,与上述操作类似,将第一阶段输出的特征图再次进行1/4、1/8、1/16、1/32倍率的下采样,四个阶段分别输出四个尺度的特征张量,即输出张量维度依旧是输出张量维度分别为256*256*256,512*128*128,1024*64*64,2048*32*32,随后进行2倍,4倍,8倍,16倍,32倍的上采样,将相同尺度上的上采样输出特征和下采样输出的特征相加add得到新的特征。记为f2。将f1与f2相加add得到最终输出。
[0076]
本方法使用两阶段训练方式,将第一阶段提取的特征和第二阶段提取的特征采用三种方式融合,使第二阶段提取的特征可以指导第一阶段的训练,关注反向传播过程中忽略的特征。
[0077]
s4计算损失并反向传播训练水表读数区域检测网络;
[0078]
具体为:
[0079]
在水表图像上生成预先设定了参数的anchor框,编码候选框和真实框,计算真实框与anchor之间的iou。
[0080]
分配正负样本。具体为:对于图像上的每一个ground truth box记为gt,在每一层特征金字塔上,遍历每一个gt,计算每一个gt和anchor之间的iou,计算每个gt中心坐标和该层上所有anchor中心坐标的l2距离,根据l2距离选取跟gt的中心点坐标最近的k个候选正样本,一共有4层特征,总共会选择出4*k个候选框,计算每个候选框和gt的iou值,并且计算这个iou值集合的均值和方差。均值和方差求和作为iou阈值,筛选出大于阈值的候选框作为最终的正样本,负责预测该gt。如果将一个锚框分配给多个gt,则会选择iou最高的那个框,剩下的是负样本。如果阈值设置过大,可能会导致某些正样本位置不在gt内部,过滤掉这部分正样本,设置为背景样本。
[0081]
使用focal策略进行样本平衡。由于水表图像方向各不相同,引入角度变量。计算正负样本的定位损失、分类损失以及角度回归损失,图像中的感兴趣检测目标分为两个类别:水表字轮读数text类、水表指针读数circle类。分类损失为focal loss,边界框回归损失为smooth-l1 loss,损失函数为:
[0082]
l=l
cls
+l
reg
=l
focal
+l
smooth-l1
+l
angle
[0083]
根据生成的anchor框与真实框计算得到的iou值,使用非极大值抑制nms方法过滤多余的候选框,计算完损失后使用反向传播,训练整个网络模型。最终输出带有候选框的图像。
[0084]
本方法引入了角度预测损失变量,使之具备此前不具备的检测旋转矩形框的能
力,设计了跨通道关注模块,更好地适应水表读数检测的需求。此外本发明增加了特征细化模块,加强了对于多尺度特征的感知,获得了良好的效果。
[0085]
s5将待检测水表图片输入训练后的水表读数区域检测网络,输出带有编码候选框的图像,候选框内包括水表字轮读数text类及水表指针读数circle类。
[0086]
实施例2
[0087]
一种的水表读数区域检测方法的系统,包括:
[0088]
采集模块:用于获取水表表盘图像,并进行标注;
[0089]
处理模块:用于对标注后的图像进行数据处理与增强;
[0090]
构建及训练模块:用于构建水表读数区域检测网络,并对检测网络进行训练;
[0091]
检测模块:将待检测水表图像输入模型中,输出候选框的图像。
[0092]
实施例3
[0093]
一种存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时,实现实施例1所述的检测方法。
[0094]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

技术特征:
1.一种跨通道注意力融合的水表读数区域检测方法,其特征在于,包括:采集并标注包含有水表表盘的图片;对图片进行数据处理和数据增强;构建水表读数区域检测网络,所述水表读数区域检测网络包括特征提取网络、跨通道注意力融合网络及二阶段特征细化网络;计算损失,使用反向传播训练水表读数区域检测网络;将待检测水表图片输入到经过训练后的水表读数区域检测网络中进行测试,输出带有检测框的图片,检测框内包含水表字轮读数以及水表指针读数。2.根据权利要求1所述的水表读数区域检测方法,其特征在于,所述标注是采用四边形框标注。3.根据权利要求1所述的水表读数区域检测方法,其特征在于,对图片进行数据处理和数据增强,具体是:通过缩放、随机翻转、随机裁剪、归一化和填充操作,将图像的原始分布随机化,将数据增强后的图片减去各通道均值,除以各通道方差,再进行归一化,并转化为特征提取网络所需的图像。4.根据权利要求1所述的水表读数区域检测方法,其特征在于,所述特征提取网络,具体包括:使用加入可变形卷积模块dcn的resnet50,输入图片,经过下采样,最后一个阶段输出特征张量维度的输出特征图片。5.根据权利要求1所述的水表读数区域检测方法,其特征在于,所述跨通道注意力融合网络,具体为:输入经过特征提取后的张量,所述张量维度为c*h*w,c表示通道数,h表示特征图的高,w表示特征图的宽;采用分支结构得到最终输出张量,具体为:所述分支结构包括第一分支、第二分支及第三分支;所述第一分支,是通道c和宽w通过permute操作交换维度,经过全局平均池化层,然后经过3个3*3卷积块,再经过sigmoid激活函数与第一分支的输入相乘,最后经过permute转换为通道*宽*高的维度特征;所述第二分支,是将通道c和高h通过permute操作交换维度,经过全局平均池化层,然后经过3个3*3卷积模块,每一个3*3卷积模块具体是:首先经过3*3卷积核,再经过relu函数,然后经过batch normalization归一化,再经过sigmoid激活函数与输入相乘,最后经过permute转换为通道*宽*高的维度;所述第三分支,是将经过全局平均池化,然后经过两个1*1卷积层,使用sigmoid处理后与该分支的输入相乘,最后经过permute.view操作,变为c*h*w,将三个分支的输出相加,并取平均,得到最终输出张量。6.根据权利要求4所述的水表读数区域检测方法,其特征在于,所述二阶段特征细化网络,具体为:第一阶段:将特征提取网络输出的特征张量进行上采样,上采样率与特征提取过程中的下采样对应,将相同尺度的上采样输出特征和下采样输出特征相加,得到新特征;
设某一尺度新特征为c*h*w,c表示通道数,h表示特征图的高,w表示特征图,输入下述两个分支处理:一个分支,使用全局平均池化,输出张量为c*1*1,经过1*1卷积层,输出张量大小为c/2*1*1,经过relu函数,输出张量维度为c/2*1*1;另一个分支,使用3*3的膨胀卷积层,输出张量为c*(h-2)*(w-2),再经过1*1卷积层,输出张量大小数为c/2*1*1,经过relu函数,输出张量维度为c/2*1*1;将两个分支进行连接,按通道进行cat操作,得到输出特征,记为f1;第二阶段:将第一阶段的输出特征经过与第一阶段相同倍率的下采样,然后再进行相同倍率的上采样,将相同尺度的上采样输出特征和下采样输出的特征相加add得到新的特征,记为f2;将f1和f2相加得到二阶段特征细化网络的输出。7.根据权利要求1所述的水表读数区域检测方法,其特征在于,所述计算损失并反向传播训练水表读数区域检测网络,具体为:在水表图像上遍历像素点,在每个位置上生成不同尺度的anchor锚框,另有根据数据集标注得到的真实框,对anchor锚框和真实框进行编码,计算真实框与anchor框之间的iou;分配正负样本,具体为:对于图像上的每一个ground truth box记为gt,在每一层特征金字塔上,遍历每一个gt,计算每一个gt和anchor之间的iou,计算每个gt中心坐标和该层上所有anchor中心坐标的l2距离,根据l2距离选取跟gt的中心点坐标最近的k个候选正样本,一共有4层特征,总共会选择出4*k个候选框,计算每个候选框和gt的iou值,并且计算这个iou值集合的均值和方差,均值和方差求和作为iou阈值,筛选出大于阈值的候选框作为最终的正样本,负责预测该gt;如果将一个锚框分配给多个gt,则会选择iou最高的那个框,剩下的是负样本;如果阈值设置过大,可能会导致某些正样本位置不在gt内部,过滤掉这部分正样本,设置为背景样本;使用focal策略进行样本平衡,计算正负样本的定位损失、分类损失以及角度回归损失,图像中的感兴趣检测目标分为两个类别:水表字轮读数text类、水表指针读数circle类,分类损失为focal loss,边界框回归损失为smooth-l1 loss;根据生成的anchor框与真实框计算得到的iou值,使用非极大值抑制nms方法过滤多余的候选框,计算完损失后使用反向传播,训练整个网络模型,最终输出带有唯一检测的图像。8.根据权利要求4所述的水表读数区域检测方法,其特征在于,所述下采样包括1/4、1/8、1/16、1/32倍率。9.一种基于权利要求1-8任一项所述的水表读数区域检测方法的系统,其特征在于,包括:采集模块:用于获取水表表盘图像,并进行标注;处理模块:用于对标注后的图像进行数据处理与增强;构建及训练模块:用于构建水表读数区域检测网络,并对检测网络进行训练;检测模块:将待检测水表图像输入模型中,输出包含检测框的图像。10.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时,实现权利要求1-8任一项所述的水表读数区域检测方法。

技术总结
本发明公开了一种跨通道注意力融合的水表读数区域检测方法,包括采集并标注包含有水表表盘的图片;对图片进行数据处理和数据增强;构建水表读数区域检测网络,所述水表读数区域检测网络包括特征提取网络、跨通道注意力融合网络及二阶段特征细化网络;计算损失并反向传播训练水表读数区域检测网络;将待检测水表图片输入到经过训练后的水表读数区域检测网络中进行测试,输出带有检测框的图片,检测框内包含水表字轮读数以及水表指针读数。本发明提出的跨通道融合注意力模块和特征细化模块改善了特征提取效果,能较好地适应水表图像检测需求,以较小的运算量达到较好的检测性能,从而提高实际生产过程中算法的运算速度。从而提高实际生产过程中算法的运算速度。从而提高实际生产过程中算法的运算速度。


技术研发人员:高学 谢洪健
受保护的技术使用者:华南理工大学
技术研发日:2023.06.27
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐