一种基于模板匹配的汽车驾驶位仪表区多指针式仪表自动识别系统及方法与流程

文档序号:11708073阅读:233来源:国知局
一种基于模板匹配的汽车驾驶位仪表区多指针式仪表自动识别系统及方法与流程

本发明涉及汽车仪表生产检测领域,尤其涉及到一种基于模板匹配的汽车驾驶位仪表区多指针式仪表自动识别系统及方法。



背景技术:

汽车的生产为模块化生产,各个模块完成后再组装成整车。模块化生产过程中,对各个环节,各个零部件的检测都很重要。新车在量产,销售之前,都需要对驾驶位中控仪表区的各个指针式仪表进行检测,查看汽车启动是否正常。

传统的汽车指针式仪表检测通过人工读数,耗时耗力,并且人工读数经验性和主观性较强,导致评价标准不一,误差较大。另外,传统人工检测一次只能检测一个汽车仪表,而汽车驾驶位存在包括包括燃油表、机油压力表、水温表、电流表、车速里程表、转速表、气压表等在内的多个仪表,人工检测耗时耗力,对人的眼睛也有很大损害。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种节省人力、工作效率高、能同时识别多个汽车指针仪表、仪表识别准确率高的基于模板匹配的汽车驾驶位仪表区多指针式仪表自动识别系统。

为实现上述目的,本发明所提供的技术方案为:系统包括图像采集模块、ftp云端以及图像处理模块;

图像采集模块,实时捕捉汽车驾驶位仪表区图像;

ftp云端,存储实时捕捉到的汽车驾驶位仪表区图像,实现上传和下载功能;

图像处理模块,对从ftp云端下载到的汽车驾驶位仪表区图像进行处理和识别;

其中,图像处理模块包括图像预处理单元、仪表区分割单元、图像校正单元、指针和刻度线信息提取单元、圆心定位和刻度线间角度计算单元、读数模型创建单元、指针示数计算单元以及报表生成单元;

图像预处理单元,消除采集到的指针式仪表图像表面噪声和污染,分开目标区域和背景区域;

仪表区分割单元,使用模板匹配对多仪表进行分割;

图像校正单元,采用sobel算子提取仪表信息特征,图像中有明显的直线信息,使用hough变换找出最长的直线并计算其斜率,求其倾角并进行水平校正;

指针和刻度线信息提取单元,腐蚀掉表盘外缘轮廓,只留下表盘内圆信息;选取包括指针和邻近30°的roi区域;将指针和邻近区域内的刻度线进行膨胀后提取骨架;

圆心定位和刻度线间角度计算单元,用于定位圆心和计算刻度线间角度;

读数模型创建单元,对得到的表盘最小单元夹角值和表盘两示数单元间夹角值,创建读数模型;

指针示数计算单元,用于获取指针当前所在位置的读数;

报表生成单元,将识别结果生成检测报告,以.xls格式保存下来。

进一步地,所述图像预处理单元包括灰度化处理单元、中值滤波处理单元以及对比度增强处理单元;

其中,灰度化处理单元,采用对rgb三分量进行加权平均得到较合理的灰度图像;

中值滤波处理单元,通过中值滤波处理技术消除图像表面噪声和污染;

对比度增强处理单元,通过增强图像对比度使目标区域和背景区域分开。

为实现上述目的,本发明还提供一种用于基于模板匹配的汽车驾驶位仪表区多指针式仪表自动识别系统的方法,该方法包括以下步骤:

(1)图像采集;

将带有网络模块的摄像头安置在汽车驾驶位仪表前适当范围,进行汽车驾驶位仪表区图像的实时捕捉;

(2)图像上传;

摄像头网络模块将捕捉到的汽车驾驶位仪表区图像上传至ftp云端;

(3)软件处理;

对从ftp云端下载的汽车驾驶位仪表区图像进行处理和识别,最后将识别结果生成检测报告,以.xls格式保存下来。

进一步地,步骤(3)中对图像处理和识别包括以下步骤:

1)图像预处理;

2)仪表区分割;

3)图像校正;

4)提取指针和刻度线信息;

5)定位圆心和计算刻度线间角度;

6)创建读数模型;

7)计算指针示数;

8)生成报表。

进一步地,所述步骤1)图像预处理具体步骤如下:先对采集到的指针式仪表图像进行灰度化和中值滤波,消除其表面噪声和污染;接着对滤波后的图像增强对比度,使目标区域和背景区域分开。

进一步地,所述步骤2)仪表区分割具体步骤如下:使用模板匹配对多仪表进行分割,先采集仪表区中每个指针式仪表的工作状态图像并保存,作为后续匹配的模板,采用基于ncc模板匹配算法在仪表区目标图像中进行全局搜索,找到与模板匹配的仪表并分割出来。

ncc取值范围为[-1,1],目标图像即仪表区图像的每个像素点都可以看作是rgb数值,相当于一个样本数据的集合,模板图像相当于它的子集。当模板与目标图像中另外一个样本数据相互匹配则它的ncc值为1,表示相关性很高,如果是-1则表示完全不相关,基于这个原理,实现图像基于模板匹配识别算法。首先对数据归一化,公式如下:

其中,f表示像素点p的灰度值,μ表示窗口所有像素平均值,σ表示标准方差,假设g表示模板像素值,则

其中,m表示模板的像素总数,m-1是自由度。步骤如下:

(1获取模板像素并计算均值与标准方差、像素与均值diff数据样本;

(2根据模板大小,在目标图像上从左到右,从上到下移动窗口,计算每移动一个像素之后窗口内像素与模板像素的ncc值,与阈值比较,大于阈值则记录位置;

(3根据得到位置信息,使用红色矩形标记出模板匹配识别结果;

(4系统显示分割结果。

进一步地,所述步骤3)图像校正具体步骤如下:采用sobel算子提取仪表信息特征,图像中有明显的直线信息,使用hough变换找出最长的直线并计算其斜率,求其倾角并进行水平校正。

设直线公式为:

y=kx+b,

式中:k为直线斜率,b为直线在y轴上的截距。其中直线的斜率定义为:直线与直角坐标系正半轴方向夹角0的正切值,其表达式为:

k=arctanθ,

计算出图像倾斜角度,对其进行旋转倾斜校正。

进一步地,所述步骤4)提取指针和刻度线信息具体步骤如下:腐蚀掉表盘外缘轮廓,只留下表盘内圆信息;选取roi区域,roi区域包括指针和邻近30°区域;将指针和邻近区域内的刻度线进行膨胀后提取骨架。

进一步地,所述步骤5)定位圆心和计算刻度线间角度具体步骤如下:对上述步骤4)提取到的信息进行操作,计算刻度线长度,筛选出长短刻度线;延长指针和邻近的一条长刻度线,使其交于一点,此交点即为圆心位置;延长相邻的一长一短刻度线所在直线,计算两直线角度,该角度值即为表盘最小单元夹角值;延长两相邻示数所对长刻度线,计算两直线角度,该角度值即为表盘两示数单元间夹角值;延长表盘起始刻度线和终止刻度线,计算两直线顺时针角度,该顺时针角度值即为指针从起始位到终止为转过的角度值。

进一步地,所述步骤6)创建读数模型具体步骤如下:对应上述得到的表盘最小单元夹角值和表盘两示数单元间夹角值,创建读数模型;本方案研究的车速里程表表盘区分为0、20、40、60、80、100、120七个读数值,每相邻两数字间有三条刻度线,包括两短一长,再加之读数所在两条长刻度线,即每相邻两读数间共有五条刻度线(包括两短三长),四个间距;每相邻两读数总间距为20,从0-120指针转过角度为240°,所以相邻两读数夹角为40°;而40°又被平均划分为四等分,故相邻两刻度线夹角(最小单元夹角值)为10°,相邻两刻度线间距(最小单元间距)为5。

进一步地,所述步骤7)计算指针示数具体步骤如下:选取仪表盘指针正北方向为起始位置,作为参考位;提取指针工作状态时的位置,计算其角度差,该角度差除以最小单元夹角值后再乘以最小单元间距,从而得到指针当前所在位置的读数。

本方案原理如下:

摄像头实时捕捉汽车驾驶位仪表区图像,并通过装在摄像头上的网络模块将图像上传至ftp云端;当需要识别时,将汽车驾驶位仪表区图像从ftp云端下载至本地pc,接着应用程序对图像进行图像预处理、仪表区分割、图像校正、提取指针和刻度线信息、定位圆心和计算刻度线间角度、创建读数模型、计算指针示数、生成报表一系列的识别处理,最后以excel表格形式导出供汽车工作人员参考。

与现有技术相比,本方案具有以下优点及有益效果:

以视觉检测代替传统人工检测,不仅可以减少人为主观因素所造成的读数误差,而且还可以消除人工在现场操作的危险性;而且在保证准确率的前提下,一次性识别汽车驾驶位仪表区全部仪表,大大节省了工作时间,提高了效率。

附图说明

图1为本发明系统的结构示意图;

图2为本发明的识别处理流程图。

具体实施方式

下面结合具体实施例对本发明作进一步说明:

参见附图1所示,本实施例所述的基于模板匹配的汽车驾驶位仪表区多指针式仪表自动识别系统,包括图像采集模块1、ftp云端2以及图像处理模块3;图像处理模块3包括图像预处理单元3-1、仪表区分割单元3-2、图像校正单元3-3、指针和刻度线信息提取单元3-4、圆心定位和刻度线间角度计算单元3-5、读数模型创建单元3-6、指针示数计算单元3-7以及报表生成单元3-8;图像预处理单元3-1包括灰度化处理单元3-1-1、中值滤波处理单元3-1-2以及对比度增强处理单元3-1-3。

工作时,流程如图2所示,图像采集模块1为带有4g网络模块的摄像头,实时捕捉汽车驾驶位仪表区图像,并将捕捉到的图像上传至ftp云端2,需要识别时,从ftp云端2下载汽车驾驶位仪表区图像至图像处理模块3,具体的处理识别步骤如下:

1)图像预处理:

先对采集到的指针式仪表图像进行灰度化和中值滤波,消除其表面噪声和污染;接着对滤波后的图像增强对比度,使目标区域和背景区域分开。

2)仪表区分割:

使用模板匹配对多仪表进行分割,先采集仪表区中每个指针式仪表的工作状态图像并保存,作为后续匹配的模板,采用基于ncc模板匹配算法在仪表区目标图像中进行全局搜索,找到与模板匹配的仪表并分割出来。

ncc取值范围为[-1,1],目标图像即仪表区图像的每个像素点都可以看作是rgb数值,相当于一个样本数据的集合,模板图像相当于它的子集。当模板与目标图像中另外一个样本数据相互匹配则它的ncc值为1,表示相关性很高,如果是-1则表示完全不相关,基于这个原理,实现图像基于模板匹配识别算法。首先对数据归一化,公式如下:

其中,f表示像素点p的灰度值,μ表示窗口所有像素平均值,σ表示标准方差,假设g表示模板像素值,则

其中,m表示模板的像素总数,m-1是自由度。步骤如下:

(1获取模板像素并计算均值与标准方差、像素与均值diff数据样本;

(2根据模板大小,在目标图像上从左到右,从上到下移动窗口,计算每移动一个像素之后窗口内像素与模板像素的ncc值,与阈值比较,大于阈值则记录位置;

(3根据得到位置信息,使用红色矩形标记出模板匹配识别结果;

(4系统显示分割结果。

3)图像校正:

采用sobel算子提取仪表信息特征,图像中有明显的直线信息,使用hough变换找出最长的直线并计算其斜率,求其倾角并进行水平校正。

设直线公式为:

y=kx+b,

式中:k为直线斜率,b为直线在y轴上的截距。其中直线的斜率定义为:直线与直角坐标系正半轴方向夹角0的正切值,其表达式为:

k=arctanθ,

计算出图像倾斜角度,对其进行旋转倾斜校正。

4)提取指针和刻度线信息:

腐蚀掉表盘外缘轮廓,只留下表盘内圆信息;选取roi区域,roi区域包括指针和邻近30°区域;将指针和邻近区域内的刻度线进行膨胀后提取骨架。

5)定位圆心和计算刻度线间角度:

上述步骤4)提取到的信息进行操作,计算刻度线长度,筛选出长短刻度线;延长指针和邻近的一条长刻度线,使其交于一点,此交点即为圆心位置;延长相邻的一长一短刻度线所在直线,计算两直线角度,该角度值即为表盘最小单元夹角值;延长两相邻示数所对长刻度线,计算两直线角度,该角度值即为表盘两示数单元间夹角值;延长表盘起始刻度线和终止刻度线,计算两直线顺时针角度,该顺时针角度值即为指针从起始位到终止为转过的角度值。

6)创建读数模型:

对应上述得到的表盘最小单元夹角值和表盘两示数单元间夹角值,创建读数模型;本实施例研究的车速里程表表盘区分为0、20、40、60、80、100、120七个读数值,每相邻两数字间有三条刻度线,包括两短一长,再加之读数所在两条长刻度线,即每相邻两读数间共有五条刻度线(包括两短三长),四个间距;每相邻两读数总间距为20,从0-120指针转过角度为240°,所以相邻两读数夹角为40°;而40°又被平均划分为四等分,故相邻两刻度线夹角(最小单元夹角值)为10°,相邻两刻度线间距(最小单元间距)为5。

7)计算指针示数:

选取仪表盘指针正北方向为起始位置,作为参考位;提取指针工作状态时的位置,计算其角度差,该角度差除以最小单元夹角值后再乘以最小单元间距,从而得到指针当前所在位置的读数。

8)生成报表。

将识别结果生成检测报告,以.xls格式保存下来。

本实施例以视觉检测代替传统人工检测,不仅可以减少人为主观因素所造成的读数误差,而且还可以消除人工在现场操作的危险性;而且在保证准确率的前提下,一次性识别汽车驾驶位仪表区全部仪表,大大节省了工作时间,提高了效率。

以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1