本发明涉及计算机视觉领域,特别涉及一种全卷积神经网络的多方向水表读数区域检测算法。
背景技术:
近几年来,随着移动互联网的发展和数字产品的普及,来自于不同设备(智能手机、数码相机,甚至自动驾驶街景车、无人机等摄像头)的图像数据持续爆发式地增长。这些海量的图像中,有相当一部分图像数据携带了文字信息,而文字信息通常蕴含着非常有益的语义信息。比如,这些文字信息可能是对建筑物、商店、交通牌、路牌、商品名称等的描述。因此,这些高层的语义信息可以广泛地应用于机器阅读、自动拍译、图像检索、视频检索、语言翻译、自动驾驶、机器人导航等场合。人类更加迫切地需要一种智能的视觉文字分析技术。视觉文字分析是从机器视觉的角度抽取和理解文字信息的一种技术。它涉及到图像处理、模式识别、计算机视觉、机器学习和心理学等一系列学科知识,一直以来都是相关领域的重要研究方向之一。
基于计算机视觉的水表自动读数就是视觉文字分析中的一个重要应用,它可以取代现有的人工水表读数方式,使得水表读数成为自动化流程。基于视觉的水表自动读数首要解决的问题就是读数区域的检测,目前主流的方法是基于图像处理的方法,通过图像去噪、基于颜色特征的图像二值化、基于线检测的方向检测、区域分割等步骤来确定读数区域。然而这种方法对各种复杂场景下的光照、形变、遮掩等条件适应性不好,容易受干扰,鲁棒性差。
技术实现要素:
本发明的目的在于克服现有技术的缺点与不足,提供一种全卷积神经网络的多方向水表读数区域检测算法。
本发明的目的通过以下的技术方案实现:
一种全卷积神经网络的多方向水表读数区域检测算法,包含以下步骤:
S1、获取训练数据,通过摄像头拍摄水表图像,并对图像中的水表读数区域进行人工标注;
S2、设计一个全卷积神经网络,通过误差反向传播和随机梯度下降法优化全卷积神经网络的参数,从而对水表图像进行多层级联特征学习,获取多通道特征图;
S3、对多通道特征图进行滑动窗扫描,将单个滑动窗的多通道特征进行特征融合,通过分类和回归,获取每个滑动窗的显著性以及读数区域位置,从而初步筛选出水表读数区域矩形候选窗;
S4、依据候选窗的区域位置信息提取特征图上相应区域的特征,将特征进行定长尺度的池化并进行多通道的特征融合,再次通过分类和回归,获得水表读数区域的中心、长宽、角度信息;
S5、通过仿射变换最终以旋转矩形框的形式得到多方向水表读数区域的检测结果。
所述步骤S1具体为:
S1.1、通过RGB摄像头采集大量实际场景中的水表图像样本;
S1.2、对步骤S1.1中所获取的水表图像样本中的水表读数区域进行标注,标注水表读数区域的中心位置(x,y)、长度h、宽度w和角度a;
S1.3、对所有图像样本进行多次正负45度的随机角度旋转,并对相应的样本标注进行修正。以增强样本的多样性,提升多方向水表区域检测性能。
所述水表图像样本包括以下不同的参数:光照、视角、水表类型、水表受损程度。这样做是为了保证样本的多样性。
所述步骤S2具体为:
S2.1、设计一个全卷积神经网络,该卷积神经网络包括多个卷积层、池化层的级联,使得该深度卷积神经网络输入为三通道RGB图像,输出为多通道的特征图;
S2.2、通过误差反向传播和随机梯度下降法,利用S3和S4中损失函数所计算的误差,对全卷积神经网络的参数进行优化更新;
S2.3、误差计算所用的损失函数是多任务损失函数,包括步骤S3和步骤S4所产生的误差的加权和:
L=LS3+λ×LS4。
其中λ为权重,LS3为步骤S3所产生的误差,LS4为步骤S4所产生的误差。
所述步骤S3具体为:
S3.1、对S2中图像样本通过全卷积神经网络计算后得到的多通道特征图进行滑动窗扫描,并将滑动窗内多通道特征图进行特征融合;
S3.2、以S3.1所得特征为输入,设计多个多层全连接神经网络,分别负责不同尺度下目标的检测和定位;其责任归属由水表读数区域的外接水平矩形框和设定的各种尺度的矩形框的重叠率Overlap决定:
当Overlap>0.7时,该分类器将该特征作为正样本特征,回归器以该外接水平矩形框的中心、长度和宽度作为回归目标;
当Overlap<0.3时,该分类器将该特征作为负样本特征,回归器不计算误差;
当0.7≥Overlap≥0.3时,该分类器和回归器均不计算误差;
S3.3、S3.2中所采用的分类器输出为Sigmoid函数:
其中x为全卷积神经网络所提取的图像区域特征;
分类器损失函数为交叉熵损失函数:
其中x(i),y(i)分别为第i个图像区域的图像特征及类别标签,m为图像区域总数;
S3.4、S3.2中所采用的回归器损失函数为欧式距离损失函数:
其中xj(i),分别为图像区域i的第j个目标预测值及目标真实值,m为图像区域总数。目标值包括目标的相对中心、长度、宽度、旋转角度的正切值;
S3.5、根据分类器输出的目标概率,筛选出概率大于0.5的候选窗,并根据回归器输出的目标矩形框参数对所筛选出的候选框进行极大化抑制,其具体做法如下:在重叠率大于0.5的目标框中只保留置信度最高的结果。
所述步骤S4具体为:
S4.1、依据S3.5所得目标候选窗,在多通道特征图上提取相应位置的特征,并进行定尺寸的空间金字塔池化,得到特征向量;
S4.2、特征向量经过分类器和回归器计算后得到目标的显著性以及矩形框,分类器和回归器损失函数与S3.3所述相同;
S4.3、对检测到的目标进行极大化抑制,得到检测目标。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明利用深度学习中的全卷积神经网络,自动学习文字信息特征提取,解决了水表自动读数中的首要难题,即多方向的水表读数区域检测,具有重大的应用前景。
2、本发明利用深度学习中的全卷积神经网络,自动学习水表读数区域信息特征提取,所提取的特征具有非常强的鲁棒性,能够适应不同光照、形变、遮挡等恶劣的复杂环境。另外本发明还能适应不同旋转方向、视角的场景。本发明解决了复杂场景下的多方向水表的读数区域检测问题,为进一步的读数识别提供了基础。
附图说明
图1为一种全卷积神经网络的多方向水表读数区域检测算法的流程图。
图2为图1所述算法的训练流程图。
图3为全卷积神经网络的结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,基于全卷积神经网络的多方向水表读数区域检测算法主要包括如下步骤:
S1、获取训练数据;训练过程如图2;
S1.1、通过RGB摄像头采集大量实际场景中的水表图像样本,包括各种各样的的光照、视角、水表类型、水表受损程度等,以保证样本的多样性;
S1.2、对S1.1中所获取的水表图像样本中的水表读数区域进行人为的标注,包括水表读数区域的中心位置(x,y)、长度(h)、宽度(w)和角度(a);
S1.3、对所有图像样本进行多次正负45度的随机角度旋转,并对相应的样本标注进行修正,以增强样本的多样性,提升多方向水表区域检测性能。
S2设计全卷积神经网络,进行特征提取;
S2.1、设计一个全卷积神经网络(如图3所示),该卷积神经网络包括多个卷积层、池化层的级联,使得该深度卷积神经网络输入为三通道RGB图像,输出为多通道的特征图;
S2.2、通过误差反向传播和随机梯度下降法,利用S3和S4中损失函数所计算的误差,对全卷积神经网络的参数进行优化更新;
S3特征图滑动窗扫描,获得目标区域候选窗;
S3.1、对S2中图像样本通过全卷积神经网络计算后得到的多通道特征图进行滑动窗扫描,并将滑动窗内多通道特征图进行特征融合;
S3.2、以S3.1所得特征为输入,设计多个多层全连接神经网络,分别负责不同尺度下目标的检测和定位。其责任归属由水表读数区域的外接水平矩形框和设定的各种尺度的矩形框的重叠率Overlap决定:
当Overlap>0.7时,该分类器将该特征作为正样本特征,回归器以该外接水平矩形框的中心、长度和宽度作为回归目标;
当Overlap<0.3时,该分类器将该特征作为负样本特征,回归器不计算误差;
当0.7≥Overlap≥0.3时,该分类器和回归器均不计算误差;
S3.3、S3.2中所采用的分类器输出为Sigmoid函数,分类器损失函数为交叉熵损失函数,回归器损失函数为欧式距离损失函数;
S3.4、根据分类器输出的目标概率,筛选出概率大于0.5的候选窗,并根据回归器输出的目标矩形框参数对所筛选出的候选框进行极大化抑制。
S4进行特征映射,得到目标区域:
S4.1、依据S3.5所得目标候选窗,在多通道特征图上提取相应位置的特征,并进行定尺寸的空间金字塔池化,得到特征向量;
S4.2、特征向量经过分类器和回归器计算后得到目标的显著性以及矩形框,分类器和回归器损失函数与S3.3所述相同;
S4.3、对检测到的目标进行极大化抑制,得到检测目标。
S5、通过仿射变换最终以旋转矩形框的形式得到多方向水表读数区域的检测结果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。