本发明涉及人工智能领域,特别涉及一种基于多特征融合的水表读数区域检测算法。
背景技术:
近几年来,随着移动互联网的发展和数字产品的普及,来自于不同设备(智能手机、数码相机,甚至自动驾驶街景车、无人机等摄像头)的图像数据持续爆发式地增长。这些海量的图像中,有相当一部分图像数据携带了文字信息,而文字信息通常蕴含着非常有益的语义信息。比如,这些文字信息可能是对建筑物、商店、交通牌、路牌、商品名称等的描述。因此,这些高层的语义信息可以广泛地应用于机器阅读、自动拍译、图像检索、视频检索、语言翻译、自动驾驶、机器人导航等场合。人类更加迫切地需要一种智能的视觉文字分析技术。视觉文字分析是从机器视觉的角度抽取和理解文字信息的一种技术。它涉及到图像处理、模式识别、计算机视觉、机器学习和心理学等一系列学科知识,一直以来都是相关领域的重要研究方向之一。
基于计算机视觉的水表自动读数就是视觉文字分析中的一个重要应用,它可以取代现有的人工水表读数方式,使得水表读数成为自动化流程。基于视觉的文本分析首要解决的问题就是文字区域的检测。
基于视觉的水表自动读数首要解决的问题就是读数区域的检测,目前主流的方法是基于图像处理的方法,通过图像去噪、基于颜色特征的图像二值化、基于线检测的方向检测、区域分割等步骤来确定读数区域。然而这种方法对各种复杂场景下的光照、形变、遮掩等条件适应性不好,容易受干扰,鲁棒性差。
技术实现要素:
本发明的目的在于克服现有技术的缺点与不足,提供一种基于多特征融合的水表读数区域检测算法。
本发明的目的通过以下的技术方案实现:
一种基于多特征融合的水表读数区域检测算法,包含以下步骤:
S1、获取训练数据,通过摄像头拍摄水表图像样本,并对图像中的水表读数区域进行人工标注,获取水表读数的中心位置、长度和宽度信息;
S2、切割水表图像中读数区域和非读数区域,提取该切割区域的多通道特征并进行特征融合,以提取的多通道特征为输入训练图像分类器;所述切割区域是不确定的区域,由图像分类器进行分类,分为读数区域和非读数区域;
S3、提取水表图像多通道特征,所述多通道特征包括梯度方向直方图、梯度幅值、LUV颜色特征、灰度颜色特征,计算水表图像的特征积分图;
S4、遍历全部滑动窗,利用特征积分图计算各滑动窗特征,利用S2训练的图像分类器对滑动窗进行分类,获取目标窗口;
S5、用外插方法估计原图在多个尺度下的特征积分图,重复S4、S5步骤,获取多尺度的目标窗口;
S6、旋转原图,重复S3、S4、S5、S6步骤,获取多方向的目标窗口。
所述步骤S1具体为:
S1.1、通过RGB摄像头采集实际场景中的水表图像样本;
S1.2、对S1.1中所获取的水表图像样本中的水表读数区域进行人为的标注,包括水表读数区域的中心位置(x,y)、长度h、宽度w和角度a。
所述水表图像样本包括以下不同的参数:光照、视角、水表类型、水表受损程度。这样做是为了保证样本的多样性。
所述步骤S2具体为:
S2.1、按照步骤S1所得水表图像及读数区域标注,切割出读数区域和非读数,用于目标的分类;
S2.2、提取S2.1所切割图像的多通道特征,以多通道特征为输入,训练集成决策树分类器对该区域是否为读数区域进行分类。
所述步骤S3具体为:
S3.1、提取水表图像多通道特征,包括梯度方向直方图、梯度幅值、LUV颜色特征、灰度颜色特征,并计算特征积分图;
所述梯度方向的计算方法:
其中O(i,j)为像素点(i,j)处梯度方向的角度;I为图像,x代表水平方向,y代表垂直方向,i代表像素点在水平方向上的坐标;j代表像素点在垂直方向上的坐标;
所述梯度幅值的计算方法:
其中M(i,j)为像素点(i.j)处的梯度幅值;I为图像,x代表水平方向,y代表垂直方向,i代表像素点在水平方向上的坐标;j代表像素点在垂直方向上的坐标。
所述步骤S4具体为:
S4.1、遍历各滑动窗,利用步骤S3所得特征积分图,计算各滑动窗的多通道特征,并进行特征融合;
S4.2、以S4.1融合的特征向量为输入,利用S2训练所得图像分类器对滑动窗进行分类,得到滑动窗显著性;
S4.3、对检测到的目标进行极大化抑制,得到检测目标。
所述步骤S5具体为:
S5.1、利用相邻尺度图像的统计特性,通过外插的方法估计多尺度下的原图特征,外插算法如下:
其中S代表图像的尺度,Cs代表尺度S下的图像特征,R(C,s)是对特征图C进行尺度为S的重采样;λ为通过大量图像的统计分析得到的通道参数;Ω代表不同的图像通道;外插算法通过某一固定尺度下计算的图像特征来快速计算多个相邻尺度的图像特征;
S5.2、重复S4、S5,得到多尺度下的读数区域目标窗。
所述步骤S6具体为:
以5度为间隔,多次旋转原水表图像,重复S3、S4、S5、S6步骤,计算得到多方向的水表读数区域,即获取多方向的目标窗口。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明利用多特征融合的多尺度特征提取方法,高效的提取多个尺度下的丰富信息,解决了水表自动读数中的首要难题,即多尺度、多方向的水表读数区域检测,具有重大的应用前景。
2、本发明采用目标检测的思路,利用多尺度特征提取方法,高效的提取多个尺度下的丰富信息,从而快速地在多角度、多尺度的图像下进行滑动窗扫描,获取置信度最大的读数区域目标。另外,本发明采用了多特征融合的方法,因此算法鲁棒性强,对各种复杂场景的适应性好。本发明解决了复杂场景下的多方向水表的读数区域检测问题,为进一步的读数识别提供了基础。
附图说明
图1为本发明所述一种基于多特征融合的水表读数区域检测算法的流程图。
图2为图1所述算法的训练流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,基于多特征融合的水表读数区域检测算法主要包括如下步骤:
S1、获取训练数据;训练过程如图2所示;
S1.1、通过RGB摄像头采集大量实际场景中的水表图像样本,包括各种各样的的光照、视角、水表类型、水表受损程度等,以保证样本的多样性;
S1.2、对S1.1中所获取的水表图像样本中的水表读数区域进行人为的标注,包括水表读数区域的中心位置(x,y)、长度(h)、宽度(w)和角度(a);
S2训练目标分类器:
S2.1、按照S1所得水表图像及读数区域标注,切割出读数区域和非读数,用于目标的分类;
S2.2、提取S2.1所切割图像的多通道特征,以该特征为输入,训练集成决策树分类器对该区域是否为读数区域进行分类;
S3计算图像多通道特征:
S3.1、提取水表图像多通道特征,包括梯度方向直方图、梯度幅值、LUV颜色特征、灰度颜色特征,并计算特征积分图:
梯度方向计算方法:
梯度幅值计算方法:
S4滑动窗扫描:
S4.1、遍历各滑动窗,利用S3.1所得特征积分图,计算各滑动窗的多通道特征,并进行特征融合;
S4.2、以S4.1融合的特征向量为输入,利用S2训练所得分类器对滑动窗进行分类,得到滑动窗显著性;
S4.3、对检测到的目标进行极大化抑制,得到检测目标。
S5外插多尺度特征:
S5.1、利用相邻尺度图像的统计特性,通过外插的方法估计多尺度下的原图特征,外插算法如下:
其中S代表图像的尺度,Cs代表尺度S下的图像特征,R(C,s)是对特征图C进行尺度为S的重采样;λ为通过图像的统计分析得到的通道参数;Ω代表不同的图像通道;外插算法通过某一固定尺度下计算的图像特征来快速计算多个相邻尺度的图像特征;
S5.2、重复S4、S5,得到多尺度下的读数区域目标窗。
S6旋转检测:
S6.1、以5度为间隔,多次旋转原水表图像,重复S3、S4、S5、S6步骤,可以计算得到多方向的水表读数区域。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。