一种配电柜的圆形指示灯定位与状态识别方法
技术领域
本申请涉及指示灯
技术领域
,更具体地说涉及一种配电柜的圆形指示灯定位与状态识别方法。背景技术
目前,随着公共安全意识的增强,巡检机器人在市场上的重要性也日益凸显。在电力产业的方面,智能巡检作为电力产业的重要一环,相应的智能巡检机器人也就扮演者越来越重要的角色。在智能巡检的过程中,往往会涉及到对各种仪表、开关等对象中的指示灯状态进行设别,从而获得相关仪表开关的工作状态。
一般情况下,圆形指示灯状态识别方法可以分为两步,第一步是定位,把待识别的圆形指示灯位置定位出来;第二步是状态判断,结合指示灯区域内外的一些特征来判断指示灯的开关状态。但是,如果第一步指示灯的定位不精准,则会影响到第二步的相关特征的计算,进而影响到最终指示灯的开关状态判断。
传统的圆形指示灯的定位方法是先检测原始图像中的圆形目标;目前比较常用的圆形检测算法是基于霍夫变换的圆形检测,首先对图像进行一个滤波操作,降低一定程度内的噪声;接着利用常见的一些边缘检测算法(如Canny 算法),提取出图像的边缘特征;然后利用霍夫变换的方法,在边缘特征图的基础上提取出圆形目标。该方法在一般情况下,可以取得较好的效果,但是在噪声较大的情况下,其对圆形指示灯的圆心与半径的计算会出现较大的偏差,从而影响到定位的准确性。
另外,在定位到指示灯后,就可以提取指示灯区域内的一些统计特征来判断指示灯状态。传统方法一般只利用灰度图来计算指示灯区域内平均亮度与指示灯区域外的平均亮度差是否大于某个预设的阈值来判断指示灯状态,但是该方法在亮度不均、阴影等情况效果并不理想,从而会导致最终指示灯状态的判断出现误差。
发明内容
本申请提供了一种配电柜的圆形指示灯定位与状态识别方法,用于解决现有的圆形指示灯定位与状态识别方法对圆形指示灯定位与工作状态判断误差较大的技术问题。
有鉴于此,本申请提供了一种配电柜的圆形指示灯定位与状态识别方法,包括圆形指示灯位置的定位过程与所述圆形指示灯状态的识别过程,具体的所述圆形指示灯位置的定位过程包括以下步骤:
S101:根据圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图Igray,转换后的所述灰度图Igray的灰度值gray=0.299×r+0.587×g+0.114×b,其中,r、 g与b分别为原始彩色图像Irgb中的红色、绿色与蓝色的像素值;
S102:对所述灰度图Igray进行双边滤波;
S103:利用Canny边缘检测算子对所述灰度图Igray进行双边检测,获得边缘特征图Iedge;
S104:对所述步骤S103中获得的所述边缘特征图Iedge进行霍夫圆检测,得到所述圆形指示灯的圆形估计区域;
S105:计算所述边缘特征图Iedge中每个边缘点与所述圆形估计区域的圆心的距离,并保存满足预设距离阈值范围的边缘点;
S106:根据过所述边缘点与所述圆形估计区域的圆心的直线与水平轴之间的夹角大小对满足所述预设距离阈值范围的边缘点进行排序从而获得边缘点集;
S107:对所述步骤S106中所述边缘点集进行划分为n份边缘点集,n>0,并采样m份边缘点集,其中,0<m≤n,并根据最小二乘法对采样的m份边缘点集进行二次圆拟合,重复进行采样并进行二次圆拟合步骤,从而获得种拟合圆结果,所述拟合圆结果包括对所述圆形指示灯的圆心与半径的估计值;
S108:筛选满足预设阈值的拟合圆结果,分别计算满足所述预设阈值的拟合圆结果对应的所述圆形指示灯的圆心与所述圆形指示灯的半径的平均值,获得所述圆形指示灯的圆心位置与半径,从而确定所述圆形指示灯的定位区域;
经过所述步骤S108确定所述圆形指示灯的定位区域后,对所述圆形指示灯状态的识别,具体的所述圆形指示灯状态的识别过程包括以下步骤:
S109:将所述圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图 Igray2,转换后的所述灰度图Igray2的灰度值gray2=0.5×(r+g+b-min{r,g,b}), 其中,r、g与b分别为原始彩色图像Irgb中的红色、绿色与蓝色的像素值;
S110:通过所述灰度值gray2分别计算所述圆形指示灯的所述定位区域的平均亮度与所述圆形指示灯的背景区域的平均亮度,其中,所述圆形指示灯的所述背景区域是预先设立的矩形区域内除所述圆形指示灯的定位区域之外的区域,所述预先设立的矩形区域是以所述圆形指示灯的圆心位置为中心点,其边长大于所述圆形指示灯的直径;
S111:基于所述圆形指示灯的RGB三基色的原始彩色图像Irgb,分别计算所述圆形指示灯的所述定位区域内的红色、绿色与蓝色三个基色通道的像素平均值;
S112:计算所述圆形指示灯的定位区域的平均亮度与所述圆形指示灯的背景区域的平均亮度的差值,当所述圆形指示灯的定位区域的平均亮度与所述圆形指示灯的背景区域的平均亮度的差值满足第一预设条件时,同时,所述圆形指示灯的定位区域对应的红色、绿色与蓝色三个基色通道的像素平均值满足第二预设条件时,则判定所述圆形指示灯的状态为开启状态。
优选地,所述步骤S105具体包括:以所述圆形指示灯的初步估计区域的中心点为原点建立二维坐标系,则所述圆形指示灯的圆心定义为(a,b),所述圆形指示灯的半径定义为r,计算所述边缘特征图Iedge中每个边缘点与所述圆形指示灯的所述圆心(a,b)的欧式距离dis,并将欧式距离dis满足 (1-λ)×r≤dis≤(1+λ)×r条件的边缘点保存在edgeArray数组中,其中,0<λ<1。
优选地,所述步骤S106中的排序方法包括:按照满足预设距离范围阈值的边缘点跟圆心组成的直线与水平轴之间的夹角大小进行升序或降序。
优选地,所述步骤S108具体包括:
S1081:将所述步骤S107获得的种拟合圆结果按照所述圆形指示灯的圆心初步位置到所述二维坐标系的原点的欧氏距离大小进行排序,分别删除排序后的所述拟合圆结果排列最前与排列最后的满足占比为β1的拟合圆结果,其中,β1取值范围为0<β1<0.5;
S1082:将经所述步骤S1081筛选后的拟合圆结果按照所述圆形指示灯的半径的初步数值大小进行排序,分别删除排序后的所述拟合圆结果排列最前与排列最后的满足占比为β2的拟合圆结果,其中,β2的取值范围为0<β2< 0.5;
S1083:计算经所述步骤S1082筛选后的拟合圆结果内的所述圆形指示灯的圆心的矢量坐标平均值与半径的平均值从而确定所述圆形指示灯的定位区域。
优选地,所述步骤S112中所述第一预设条件为当所述圆形指示灯的定位区域的平均亮度与所述圆形指示灯的背景区域的平均亮度的差值大于预设的第一阈值;所述第二预设条件为所述圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的像素平均值均大于预设的第二阈值。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种配电柜的圆形指示灯定位与状态识别方法,首先,通过对灰度图进行双边滤波可以降低噪声,减少噪声对其定位结果的影响,提高定位的精准度,其次,通过在霍夫圆检测得到圆形的初步估计后,对距离圆心一定预设范围内的边缘点集进行划分,结合最小二乘法的圆拟合方法,提高定位鲁棒性和定位精准度;在对圆形指示灯进行精确定位后,通过结合指示灯区域内外的平均亮度差和RGB三通道颜色特征的指示灯状态识别方法,避免了单一利用亮度信息判断依据,极大地提高了状态识别的准确率。
附图说明
图1为本申请实施例提供的一种配电柜的圆形指示灯定位与状态识别方法中圆形指示灯位置的定位过程的流程图;
图2为本申请实施例提供的一种配电柜的圆形指示灯定位与状态识别方法中圆形指示灯状态的识别过程的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下为本申请提供的一种配电柜的圆形指示灯定位与状态识别方法的一个实施例。
本实施例提供的一种配电柜的圆形指示灯定位与状态识别方法,包括圆形指示灯位置的定位过程与圆形指示灯状态的识别过程,参见图1,具体的圆形指示灯位置的定位过程包括以下步骤:
S101:根据圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图Igray,转换后的灰度图Igray的灰度值gray=0.299×r+0.587×g+0.114×b,其中,r、g与 b分别为原始彩色图像Irgb中的红色、绿色与蓝色的像素值;
S102:对灰度图Igray进行双边滤波;
可以理解的是,对灰度图Igray进行双边滤波可以降低噪声,减少噪声对其计算结果的影响。
S103:利用Canny边缘检测算子对灰度图Igray进行双边检测,获得边缘特征图Iedge;
需要说明的是,Canny边缘检测算子为现有技术,在此不做赘述。
S104:对步骤S103中获得的边缘特征图Iedge进行霍夫圆检测,得到圆形指示灯的圆形估计区域;
S105:计算边缘特征图Iedge中每个边缘点与圆形估计区域的圆心的距离,并保存满足预设距离阈值范围的边缘点;
S106:根据过边缘点与圆形估计区域的圆心的直线与水平轴之间的夹角大小对满足预设距离阈值范围的边缘点进行排序从而获得边缘点集;
S107:对步骤S106中边缘点集进行划分为n份边缘点集,n>0,并采样 m份边缘点集,其中,0<m≤n,并根据最小二乘法对采样的m份边缘点集进行二次圆拟合,重复进行采样并进行二次圆拟合步骤,从而获得种拟合圆结果,拟合圆结果包括对圆形指示灯的圆心与半径的估计值;
可以理解的是,根据排列组合原理,在n份边缘点集中采样m份边缘点
集进行二次圆拟合,最终获得的拟合圆结果为种,同时,根据最小二乘法对采样的m份边缘点集进行二次圆拟合,可以提高定位鲁棒性和定位精准度。
S108:筛选满足预设阈值的拟合圆结果,分别计算满足预设阈值的拟合圆结果对应的圆形指示灯的圆心与圆形指示灯的半径的平均值,获得圆形指示灯的圆心位置与半径,从而确定圆形指示灯的定位区域;
经过步骤S108确定圆形指示灯的定位区域后,对圆形指示灯状态的识别,参见图2,具体的圆形指示灯状态的识别过程包括以下步骤:
S109:将圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图Igray2,转换后的灰度值gray2=0.5×(r+g+b-min{r,g,b}),其中,r、g与b分别为原始彩色图像Irgb中的红色、绿色与蓝色的像素值;
需要说明的是,步骤S109中对圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图的转换方式则更加注重指示灯的颜色特性,能够真实的反映出指示灯的真实亮度,从而提高对指示灯状态判断的准确性。
S110:通过灰度值gray2分别计算圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度,其中,圆形指示灯的背景区域是预先设立的矩形区域内除圆形指示灯的定位区域之外的区域,预先设立的矩形区域是以圆形指示灯的圆心位置为中心点,其边长大于圆形指示灯的直径;
S111:基于圆形指示灯的RGB三基色的原始彩色图像Irgb,分别计算圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的像素平均值;
S112:计算圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度的差值,当圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度的差值满足第一预设条件时,同时,圆形指示灯的定位区域对应的红色、绿色与蓝色三个基色通道的像素平均值满足第二预设条件时,则判定圆形指示灯的状态为开启状态。
通过本实施例,首先,通过对灰度图进行双边滤波可以降低噪声,减少噪声对其定位结果的影响,提高定位的精准度,其次,通过在霍夫圆检测得到圆形的初步估计后,对距离圆心一定预设范围内的边缘点集进行划分,结合最小二乘法的圆拟合方法,提高定位鲁棒性和定位精准度;在对圆形指示灯进行精确定位后,通过结合指示灯区域内外的平均亮度差和RGB三通道颜色特征的指示灯状态识别方法,避免了单一利用亮度信息判断依据,极大地提高了状态识别的准确率。同时,本实施例可应用于巡检机器人,可以帮助巡检机器人在巡检的过程中能够更准确地识别圆形指示灯的开关状态。
以上为本申请提供的一种配电柜的圆形指示灯定位与状态识别方法,以下为本申请提供的一种配电柜的圆形指示灯定位与状态识别方法的另一个实施例。
本实施例提供的一种配电柜的圆形指示灯定位与状态识别方法,包括圆形指示灯位置的定位过程与圆形指示灯状态的识别过程,具体的圆形指示灯位置的定位过程包括以下步骤:
S201:根据圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图Igray,转换后的灰度图Igray的灰度值gray=0.299×r+0.587×g+0.114×b,其中,r、g与 b分别为原始彩色图像Irgb中的红色、绿色与蓝色的像素值;
S202:对灰度图Igray进行双边滤波;
可以理解的是,对灰度图Igray进行双边滤波可以降低噪声,减少噪声对其计算结果的影响。
S203:利用Canny边缘检测算子对灰度图Igray进行双边检测,获得边缘特征图Iedge;
需要说明的是,Canny边缘检测算子为现有技术,在此不做赘述。
S204:对步骤S203中获得的边缘特征图Iedge进行霍夫圆检测,得到圆形指示灯的圆形估计区域;
S205:计算边缘特征图Iedge中每个边缘点与圆形估计区域的圆心的距离,并保存满足预设距离阈值范围的边缘点;
S206:根据过边缘点与圆形估计区域的圆心的直线与水平轴之间的夹角大小对满足预设距离阈值范围的边缘点进行排序从而获得边缘点集;
S207:对步骤S206中边缘点集进行划分为n份边缘点集,n>0,并采样 m份边缘点集,其中,0<m≤n,并根据最小二乘法对采样的m份边缘点集进行二次圆拟合,重复进行采样并进行二次圆拟合步骤,从而获得种拟合圆结果,拟合圆结果包括对圆形指示灯的圆心与半径的估计值;
可以理解的是,根据排列组合原理,在n份边缘点集中采样m份边缘点集进行二次圆拟合,最终获得的拟合圆结果为种,同时,根据最小二乘法对采样的m份边缘点集进行二次圆拟合,可以提高定位鲁棒性和定位精准度。
S208:筛选满足预设阈值的拟合圆结果,分别计算满足预设阈值的拟合圆结果对应的圆形指示灯的圆心与圆形指示灯的半径的平均值,获得圆形指示灯的圆心位置与半径,从而确定圆形指示灯的定位区域;
经过步骤S208确定圆形指示灯的定位区域后,对圆形指示灯状态的识别,具体的圆形指示灯状态的识别过程包括以下步骤:
S209:将圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图Igray2,转换后的灰度值gray2=0.5×(r+g+b-min{r,g,b}),其中,r、g与b分别为原始彩色图像Irgb中的红色、绿色与蓝色的像素值;
需要说明的是,步骤S209中对圆形指示灯的RGB三基色的原始彩色图像Irgb转为灰度图的转换方式则更加注重指示灯的颜色特性,能够真实的反映出指示灯的真实亮度,从而提高对指示灯状态判断的准确性。
S210:通过灰度值gray2分别计算圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度,其中,圆形指示灯的背景区域是预先设立的矩形区域内除圆形指示灯的定位区域之外的区域,预先设立的矩形区域是以圆形指示灯的圆心位置为中心点,其边长大于圆形指示灯的直径;
需要说明的是,圆形指示灯的定位区域为圆形区域,其圆形区域的圆心定义为圆形区域的的半径定义为通过灰度值gray2计算圆形指示灯的定位区域内像素值的平均值,也就是计算圆形区域内的像素值的平均值,作为圆形指示灯的平均亮度;然后,以圆心为中心点、边长皆为(ω大于2)的矩形区域除了圆形区域之外的区域为圆形指示灯的背景区域,随后,计算圆形指示灯的背景区域内的像素值的平均值,作为圆形指示灯的背景区域的平均亮度。
S211:基于圆形指示灯的RGB三基色的原始彩色图像Irgb,分别计算圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的像素平均值;
S212:计算圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度的差值,当圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度的差值满足第一预设条件时,同时,圆形指示灯的定位区域对应的红色、绿色与蓝色三个基色通道的像素平均值满足第二预设条件时,则判定圆形指示灯的状态为开启状态。
进一步地,步骤S205具体包括:以圆形指示灯的初步估计区域的中心点为原点建立二维坐标系,则圆形指示灯的圆心定义为(a,b),圆形指示灯的半径定义为r,计算边缘特征图Iedge中每个边缘点与圆形指示灯的圆心(a,b) 的欧式距离dis,并将欧式距离dis满足(1-λ)×r≤dis≤(1+λ)×r条件的边缘点保存在edgeArray数组中,其中,0<λ<1。
进一步地,步骤S206中的排序方法包括:按照满足预设距离范围阈值的边缘点跟圆心组成的直线与水平轴之间的夹角大小进行升序或降序。
进一步地,步骤S208具体包括:
S2081:将步骤S207获得的种拟合圆结果按照圆形指示灯的圆心初步位置到二维坐标系的原点的欧氏距离大小进行排序,分别删除排序后的拟合圆结果排列最前与排列最后的满足占比为β1的拟合圆结果,其中,β1取值范围为0<β1<0.5;
S2082:将经步骤S2081筛选后的拟合圆结果按照圆形指示灯的半径的初步数值大小进行排序,分别删除排序后的拟合圆结果排列最前与排列最后的满足占比为β2的拟合圆结果,其中,β2的取值范围为0<β2<0.5;
S2083:计算经步骤S2082筛选后的拟合圆结果内的圆形指示灯的圆心的矢量坐标平均值与半径的平均值从而确定圆形指示灯的定位区域。
需要说明的是,步骤S2081与步骤S2082之间的执行顺序不设限定,在另一示例中,可以先将步骤S207获得的个拟合圆结果按照圆形指示灯的半径的初步数值大小进行排序,分别删除排序后的拟合圆结果排列最前与排列最后的满足占比为β2的拟合圆结果,然后,在将筛选后的拟合圆结果按照圆形指示灯的圆心初步位置到二维坐标系的原点的欧氏距离大小进行排序,分别删除排序后的拟合圆结果排列最前与排列最后的满足占比为β1的拟合圆结果,从而计算经上述两次筛选后的拟合圆结果内的圆形指示灯的圆心的矢量坐标平均值与半径的平均值从而确定圆形指示灯的定位区域。
进一步地,步骤S212中第一预设条件为当圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度的差值大于预设的第一阈值;第二预设条件为圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的像素平均值均大于预设的第二阈值。
需要说明的是,在一个示例中,首先,圆形指示灯的平均亮度记为Lobj,圆形指示灯的背景区域的平均亮度记为Lgt,判断当圆形指示灯的定位区域的平均亮度与圆形指示灯的背景区域的平均亮度的差值是否大于预设的第一阈值,即第一预设条件记为C1=Lobj-Lgt>T1,其中,T1为预设的第一阈值,当 Lobj-Lgt>T1成立时,则第一预设条件C1为真,否则为假;其次,圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的像素平均值分别记为LR、 LG与LB,判断圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的像素平均值均是否大于预设的第二阈值,也即判断圆形指示灯的定位区域内的红色、绿色与蓝色三个基色通道的最小像素平均值是否大于预设的第二阈值,即第二预设条件记为C2=min{LR、LG、LB}>T2,T2为预设的第二阈值,当min{LR、LG、LB}>T2成立时,则第二预设条件C2为真,否则为假。而需要第一预设条件C1与第二预设条件C2同时为真的情况下,才可以判定圆形指示灯的状态为开启状态,否则为关闭状态。另外,阈值T1、T2均为实际实验或用户需求取得。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于辐射成像的集装箱空箱检测方法