一种仪表指示灯的视觉检测系统的制作方法

文档序号:12124104阅读:419来源:国知局

本发明属于视觉自动检测领域,尤其涉及一种仪表指示灯的视觉检测系统。



背景技术:

工人在巡检过程中,经常会遇到检查面板的某个状态指示灯的任务,工人需要记住哪个指示灯对应哪个零件设备的状态,指示灯的颜色分别对应什么状态,使得工人有极大的记忆负担,直接导致检查出错率较高。



技术实现要素:

有鉴于此,为了克服现有技术的不足,本发明提供一种仪表指示灯的视觉检测系统,能够自动化检测面板上指示灯的状态,提高了效率,节约了成本。

为了实现上述技术目的,本发明采用如下技术方案实现:

一种仪表指示灯的视觉检测系统,包括:

1)定位:对通过摄像头拍摄到的仪表指示灯实时图像进行匹配,从匹配结果中计算单应矩阵,将子图像的四个边缘点映射到实时图像中,根据映射的四个点构建外接矩形框,确认目标仪表指示灯的位置;

2)提取轮廓:首先目标图像进行灰度化;从灰度图计算直方图,对直方图进行平滑,根据明显的双峰中间的谷底的值来进行二值化;其次对二值化之后的图像取外轮廓;最后筛选外轮廓,得到成线性的轮廓子集;

3)识别轮廓内是否含仪表指示灯的颜色:对轮廓的外接矩形分割出的子图像作处理,如果排出白色、黑色和灰色,提取HSV中的H分量的灰度图,在其灰度直方图中查找最高峰作为仪表指示灯的主颜色;

进一步,不同所述仪表指示灯的主颜色表示不同的状态。

进一步,所述仪表指示灯由人工佩戴AR眼镜观察。

进一步,通过所述步骤1)、步骤2)和步骤3)能够得出每个亮着的所述仪表指示灯的位置和颜色。

进一步,根据所述AR眼镜判断出实时图像上框出所述仪表指示灯的位置并标识颜色。

进一步,所述步骤1)中对实时图像使用SIFT特征点匹配。

本发明的有益效果为:本技术旨在解决了目前在检查面板状态仪表指示灯时,传统检测方案存在着工人记忆负担重、或效率低下、耗费人力过多等缺陷的问题,如采用AR巡检加上视觉自动识别算法,则能够取得极高的效率。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

一种仪表指示灯的视觉检测系统,包括以下步骤:

1)定位:对通过摄像头拍摄到的仪表指示灯实时图像进行匹配,从匹配结果中计算单应矩阵,将子图像的四个边缘点映射到实时图像中,根据映射的四个点构建外接矩形框,确认目标仪表指示灯的位置;其中,实时图像使用SIFT特征点匹配。

SIFTT特征匹配是指:尺度不变特征变换(Scale Invariant Feature Transform,SIFT)是David G Lowe在1999年提出的基于不变量描述子的匹配算法,SIFT特征是一个图像的局部特征,对平移、旋转、尺度缩放、亮度变化、遮挡和噪声等具有良好的不变性,对视觉变化、仿射变换也保持一定程度的稳定性;

SIFT特征点匹配,是对两组SIFT特征向量进行匹配,SIFT特征点的检测和SIFT特征向量的计算详细可参考David G Lowe的论文,SIFT特征点的匹配本质上就是在第一组特征向量中对每一个去寻找第二组特征向量中与只最近的向量,这个距离的定义可以采用欧几里得距离.

这样的匹配算法叫做暴力匹配算法,两两之间都进行匹配,第一组有N个特征就会有N个匹配结果,但实际上有时因为视角的变化,有些特征点已经在第二幅图像中找不到了,所以我们需要进行过滤条件约束,我们采用的过滤算法就是RANSAC算法。

单应矩阵是对单应性的一个定量描述,视觉中的单应性就是指一个真实的平面的每个点(x,y),如果他们经过任意摄像机拍摄投影到任意两个成像平面的对应的像素点位置分别为(x1,y1)和(x2,y2),单应性就是满足f(x1,y1)=(x2,y2)的一个跟x,y,x1,y1,x2,y2都无关的函数

单应矩阵是一个8自由度的3*3的矩阵,可以通过分别取两个平面上的至少4对点坐标,通过求解线性方程组得到H.在opencv开源库中,有findHomography函数可以直接调用计算单应矩阵

这四对点的选取就是根据之前SIFT特征点匹配和过滤算法之后,留下的高质量的匹配点

2)提取轮廓:首先目标图像进行灰度化;从灰度图计算直方图,对直方图进行平滑,根据明显的双峰中间的谷底的值来进行二值化;其次对二值化之后的图像取外轮廓;最后筛选外轮廓,得到成线性的轮廓子集;

灰度化是指:对于RGB模式的图像来说,图像的灰度化就是将图像的RGB三个颜色值通过一定的规则转换成相应的灰度值。颜色较深的部分灰度值较高,较浅的部分灰度值较低。这样不需要对图像的不同颜色通道分别进行操作,并且由所有通道值合成的灰度值能更好地反应图像的特征。

opencv中有封装好的函数cvtColor函数,使用CV_BGR2GRAY标志。

将直方图的柱子为bin,对每一个bin,将其与左右两边的bin值的高度求和取平均作为该bin的新的高度值,两端的bin的高度值不变,如果循环执行100次以上即可完成平滑。

二值化需要一个阈值,像素值大于这个阈值的就被设为255,小于这个阈值的设为0。

这个阈值就是通过对灰度直方图双峰的谷底的值,谷底的定义就是周围的bin的高度值都比该bin的高度值要高。

二值化之后的图像取外轮廓是由于:只取外轮廓而不是内外轮廓都取,是因为取外轮廓就足以取到所有仪表指示灯周围的那多个黑色方块,内外轮廓都取会产生的轮廓数量会很多,后续判断呈线性的时间复杂度是O(n^2),所以轮廓数量的增多将直接导致计算量大量增加。

最后筛选外轮廓,得到成线性的轮廓子集;具体算法采用RANSAC思想,随机取两个点,组成一条直线,看是否有其他轮廓面积相近且靠近这条直线。

RANSAC:RANdom Sample Consensus,随机抽样一致算法

它是本领域的常用算法,具体来说是一种思想,基本的原理就是给定的数据集合中含有大量的噪声数据,如果直接使用全部数据来求解,必然会有一定误差,不如随机抽取一定数量的数据子集来求解,根据剩余的数据评估求解质量,有可能达到的最佳结果所来源的数据子集没有任何噪声数据。

成线性的轮廓子集是指:给定二值化提取出来的所有外轮廓集合,我们希望找出在同一条直线上的大小相近的轮廓.

首先,要成线性的点是轮廓的中心点,我们的定义是去轮廓上所有的点的坐标的平均值

其次,判断是否呈线性是通过计算pearson相似度,它是衡量两组数据的线性相关程度

最后,判断大小相近就是要求两个轮廓的面积相差不大,即(较大面积–较小面积)/较大面积<某个阈值才认为相近

3)识别轮廓内是否含有仪表指示灯的颜色:对轮廓的外接矩形分割出的子图像作处理,排出白色、黑色和灰色,提取HSV中的H分量的灰度图,在其灰度直方图中查找最高峰作为仪表指示灯的主颜色;

截取子图像就是将矩形的左上角作为新的图像的(0,0)点,矩形的大小作为新图像的大小

对子图像的处理就是后续的语句,排除掉白色,黑色,灰色的像素值,转化为HSV颜色空间,提取H分量的单色图,在H分量的直方图中查找最高峰作为仪表指示灯的主要色。

不同仪表指示灯的主颜色表示不同的状态。

仪表指示灯由人工佩戴AR眼镜观察。

通过定位、提取轮廓和识别轮廓内是否含有仪表指示灯的颜色能够得出每个亮着的仪表指示灯的位置和颜色。

根据AR眼镜判断出实时图像上框出仪表指示灯的位置并标识颜色。

从仪表指示灯的位置和标示的颜色从而判断出仪表指示灯后面装置的状态。

以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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