一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种密集排布的细小指示灯的状态识别方法及装置与流程

2022-06-29 15:20:45 来源:中国专利 TAG:


1.本发明涉及一种密集排布的细小指示灯的状态识别方法及装置。


背景技术:

2.随着人力成本提升与信息化管理的需要,机房巡检对智能化、信息化的需求日益强烈。智能巡检机器人被越来越多地应用在机房巡检中,其中基于视觉的非接触式的指示灯状态检测又是智能巡检机器人的重要检测内容。
3.目前较为主流的指示灯检测算法分为两种。一种是基于传统图像处理技术的检测算法,此类算法先在颜色空间中利用指示灯的颜色先验进行分割得到roi,再根据指示灯的颜色特征进行分类,判断指示灯的状态。这种方法存在如下缺陷:因颜色特征受光照影响大,且指示灯在熄灭状态没有颜色特征,导致识别准确率低,再者,不同种类的指示灯需要设计不同特征来进行分割与识别,一个通信机房往往需要设计多种算法,鲁棒性弱。另一种是基于深度学习来识别指示灯状态,将图像输入已训练好的深度学习检测模型中,检测模型直接检测出指示灯位置并识别出指示灯状态,常见的深度学习检测模型有yolo系列、ssd系列、faster-rcnn等。但这些检测模型在识别指示灯状态之前需要定位指示灯位置,而定位的学习需要提供大量的训练样本,且对于小目标对象,这些检测模型的定位和识别效果都非常不好。


技术实现要素:

4.本发明提出一种密集排布的细小指示灯的状态识别方法及装置,将特征点匹配和卷积循环神经网络相配合,无需对指示灯进行定位,从而无需大量的训练样本,识别准确率高、鲁棒性强。
5.本发明通过以下技术方案实现:
6.一种密集排布的细小指示灯的状态识别方法,包括如下步骤:
7.s1、获取模板图像,对模板图像进行特征点查找;
8.s2、采集训练图像,对训练图像进行特征点查找,并将训练图像的特征点与模板图像的特征点进行匹配,获取训练图像的透视变换矩阵,再根据该透视变换矩阵对训练图像进行透视变换图像矫正,得到矫正图像;
9.s3、根据模板图像中指示灯的位置信息,从矫正图像的对应位置获取指示灯序列图像,指示灯序列图像中的各指示灯排列成一行;
10.s4、对指示灯序列图像中的各指示灯状态进行标注,以得到训练样本;
11.s5、采用训练样本对卷积循环神经网络进行训练,得到识别模型。
12.进一步的,所述步骤s4中,采用不同的阿拉伯数字对指示灯不同的状态进行标注。
13.进一步的,所述步骤s3中,若矫正图像中的指示灯成列排列,则先获取过渡图像,过渡图像中的各指示灯排列成一列,再对过渡图像进行旋转,以得到所述指示灯序列图像。
14.进一步的,所述步骤s4中,从采集的训练图像得到n张所述指示灯序列图像后,分
别通过对n张指示灯序列图像进行旋转、翻转、裁剪、增减对比度和/或增加噪声得到训练样本,训练样本数量为指示灯序列图像两倍以上。
15.进一步的,所述步骤s2还包括:将矫正图像与模板图像进行比对,若比对结果符合要求,则进入步骤s3,否则,结束本轮计算,并调整参数,重新进行步骤s2。
16.进一步的,所述步骤s2中,采用orb算法和ransa算法,进行特征点匹配并获取透视变换矩阵。
17.进一步的,所述步骤s1中,所述模板图像为指示灯的正面图像。
18.进一步的,所述步骤s4中,熄灭的指示灯用“0”标注,亮绿色的灯用“1”标注,亮红色的灯用“2”标注,亮黄色的灯用“3”标注。
19.本发明还通过以下技术方案实现:
20.一种密集排布的细小指示灯的状态识别装置,包括:
21.模板获取模块:用于获取模板图像,并对模板图像进行特征点查找;
22.变换模块:用于采集训练图像,对训练图像进行特征点查找,并将训练图像的特征点与模板图像的特征点进行匹配,获取训练图像的透视变换矩阵,再根据该透视变换矩阵对训练图像进行透视变换图像矫正,得到矫正图像;
23.训练样本获取模块:用于根据模板图像中指示灯的位置信息,从矫正图像获得对应位置取指示灯序列图像,指示灯序列图像中的各指示灯排列成一行;对指示灯序列图像中的各指示灯状态进行标注,以得到训练样本;
24.模型获取模块:用于采用训练样本对卷积循环神经网络进行训练,以得到识别模型。
25.本发明具有如下有益效果:
26.1、为了避免现有技术中采用颜色特征进行分类进行指示灯识别所存在的鲁棒性弱的缺陷,本发明选择深度学习来进行指示灯状态的识别,但现有技术中的深度学习检测模型对密集排布的细小指示灯这样的小目标进行定位和识别的效果很差,因此本发明先利用特征点匹配获取训练图像的透视变换矩阵,并根据该透视变换矩阵对训练图像进行透视变换图像,以得到矫正图像,从而可根据模板图像中指示灯的位置信息,从矫正图像的对应位置获取指示灯序列图像,可见获取指示灯序列图像的过程中无需对各指示灯进行定位,仅需要利用特征点匹配定位出面板区域和指示灯序列区域,相比于定位出单独的指示灯,面板区域和指示灯序列区域的定位要容易很多,如此就无需训练定位模型,而识别模型的训练对训练样本需求量小,故大大减少了需要的训练样本量,另一方面,若采用现有深度学习检测模型,则需要将各指示灯单独分割出来,但指示灯排列密集且细小,非常难分割,因此本发明在得到矫正图像后,将排列紧密的一行或者一列指示灯作为一个序列进行分割,得到指示灯序列图像,再利用用于序列识别的卷积循环神经网络对指示灯序列图像进行识别,如此即无需将指示灯单独切割,且最终识别准确率足够高,鲁棒性强,能够很好地满足复杂环境下的检测任务。
附图说明
27.下面结合附图对本发明做进一步详细说明。
28.图1为本发明的流程图。
29.图2为本发明矫正图像上指示灯排布示意图。
30.其中,1、矫正图像;2、面板;3、指示灯;4、指示灯序列图像。
具体实施方式
31.如图1和图2所示,密集排布的细小指示灯3的状态识别方法包括如下步骤:
32.s1、在本实施例中,若干指示灯3设置在设备面板2上,且分为多列间隔布置,各列均有多个指示灯3,各列中,相邻两指示灯3之间的距离很小,而相邻两列之间的距离足够大到方便地进行分割;通过机器人拍摄图像,利用现有技术中的图像处理技术对该图像进行处理,使指示灯3角度为正面,且将背景部分去除,仅留下设置指示灯3的设备面板2部分,该部分即为模板图像,再对模板图像进行特征点查找,并记录模板图像中各指示灯3的位置信息;
33.s2、通过机器人拍摄训练图像,对训练图像进行特征点查找,并将训练图像的特征点与模板图像的特征点进行匹配,获取训练图像的透视变换矩阵,再根据该透视变换矩阵对训练图像进行透视图像矫正,得到矫正图像1;其中,采用orb算法进行特征点查找,采用ransa算法进行特征点匹配;
34.获取矫正图像1后,将矫正图像1与模板图像进行比对,若比对结果符合要求,则进入步骤s3,否则,结束本轮计算,并调整检测算法和特征点匹配算法的参数,重新进行步骤s2;透视变换公式为:
35.其中,(u,v)表示原始图像像素坐标,(x

,y

,z

)表示变换后的图像像素坐标,表示图像线性变换,t2=[a
13 a
23
]
t
用于产生图像透视变换,t3=[a
31 a
32
]表示图像平移;
[0036]
其中,orb特征由关键点和描述子两部分组成,相比于brief特征描述子orb特征具备旋转不变性的优点,利用orb优良的特征表征能力并配合ransac算法能够更好地完成特征点匹配,从而在一定程度上纠正因机器人位置跑偏或者拍照角度跑偏带来的误差;orb算法、ransa算法和矫正图像1与模板图像的比对过程,均为现有技术;
[0037]
s3、根据模板图像中指示灯3的位置信息,从矫正图像1获得对应位置获取指示灯序列图像4,指示灯序列图像4中的各指示灯3排列成一行,在本实施例中,面板2上的指示灯3排列成列,且相邻两列之间的距离足够大,因此先根据位置信息获取过渡图像,过渡图像中的各指示灯3排列成一列,再对过渡图像进行旋转,得到指示灯序列图像4;
[0038]
s4、对指示灯序列图像4中的各指示灯3状态进行标注,以得到训练样本,在本实施例中,采用不同的阿拉伯数字对指示灯3不同的状态进行标注,更具体的地,熄灭的指示灯3用“0”标注,亮绿色的灯用“1”标注,亮红色的灯用“2”标注,亮黄色的灯用“3”标注;在本实施例中,标注后的指示灯序列图像4共有n=1402张,分别对这n张指示灯序列图像4进行旋转、翻转、裁剪、增减对比度和/或增加噪声得到训练样本,训练样本的数量为2804张;
[0039]
s5、将训练样本按照7:3的比例划分为训练集和测试集,对卷积循环神经网络进行训练,以得到识别模型;得到识别模型后,利用机器人拍摄识别图像,对识别图像进行与训练图像相同的处理后,输入识别模型,完成指示灯3的状态识别。
[0040]
在本实施例中,将多个排列紧密的指示灯3直接作为序列进行序列识别,直接进行序列识别能够避开单独指示灯3的分割这一步骤,这就与常规的指示灯3状态识别思路完全不同了,特别适合于识别密集排布的细小指示灯3的识别,而因为指示灯3的状态仅有几个,进行序列识别不像普通序列识别那样需要借助之前的识别结果,识别错误的情况很少出现,从而能够保证识别的准确率。
[0041]
对应于上述识别方法,密集排布的细小指示灯3的状态识别装置包括:
[0042]
模板获取模块:用于获取模板图像,并对模板图像进行特征点查找;
[0043]
变换模块:用于采集训练图像,对训练图像进行特征点查找,并将训练图像的特征点与模板图像的特征点进行匹配,获取训练图像的透视变换矩阵,再根据该透视变换矩阵对训练图像进行透视变换图像矫正,得到矫正图像1;
[0044]
训练样本获取模块:用于根据模板图像中指示灯3的位置信息,从矫正图像1获得对应位置取指示灯序列图像4,指示灯序列图像4中的各指示灯3排列成一行;对指示灯序列图像4中的各指示灯3状态进行标注,以得到训练样本;
[0045]
模型获取模块:用于采用训练样本对卷积循环神经网络进行训练,以得到识别模型。
[0046]
以上所述,仅为本发明的较佳实施例而已,故不能以此限定本发明实施的范围,即依本发明申请专利范围及说明书内容所作的等效变化与修饰,皆应仍属本发明专利涵盖的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献