面向巡检机器人的变视角多仪表同时识别方法与流程

文档序号:16755892发布日期:2019-01-29 17:21阅读:270来源:国知局
面向巡检机器人的变视角多仪表同时识别方法与流程

本发明属于仪表读数自动判读领域,涉及到变视角情况下仪表的读数识别方法,特别涉及到面向巡检机器人的变视角多仪表同时识别方法。



背景技术:

仪表按照其显示的方式分为指针式仪表、数字式仪表,其中指针式仪表是工业领域中较为传统的测量仪表之一,目前仍广泛应用于工业生产中。并且由于指针式仪表的防尘防水抗干扰性强等优点,在国内众多行业中,尤其是电力、化工、石油等行业中的一些严禁易燃易爆的场合,指针式仪表仍然是首选。

对于企业来说,仪表的识别被视作是工业生产过程中不可或缺的关键环节之一,是把握企业生产和产品标准的有效途径。然而,人工进行校验,往往因为工作疏忽和仪表精密度过高肉眼难以准确分辨等因素,有时并不能达到理想的识别效果并且造成人力资源的浪费。借助机器视觉技术可以有效地识别仪表并提高识别的精度和效率,更显著地提高了工业生产的自动化程度(梁宏希.仪表图像检测技术研究与应用[d].广东工业大学,2013.)。因此,利用巡检机器人搭载机器视觉系统将很好地解决这一问题,而相应的仪表识别方法的研发也显得尤为重要。

场区中的仪表类型主要为指针式仪表,巡检机器人的主要任务是在室内场区中巡检,到达指定目标点,利用机器视觉来进行指针式仪表的识别和读数读取。由于控制精度问题,巡检机器人每次运动到指定目标点时的位姿会存在偏差,造成机器视觉所获取的图像数据往往存在视角变化,当视角变换明显时,传统方法将无法准确定位表盘。而且在实际场区内某一区域会在近距离内放置多个仪表,这种情况则导致传统单仪表识别方法误读、漏读,造成数据的缺失和混乱,这些问题都将直接影响巡检机器人和企业的正常工作。

目前,主流的指针式仪表识别方法的步骤是先进行仪表表盘定位,再进行指针和读数的识别。corraalegria描述了一种结合差影法和hough变换得到指针的读数方法(alegriafc,serraac.computervisionappliedtotheautomaticcalibrationofmeasuringinstruments[j].measurement,2000,28(3):185-195),而陈杰来、尤丽华等人通过小波变换边缘检测提取表盘图像,通过差影法将要读取数据的图像和初始图像相减得到指针信息,再通过hough变换提取指针,最后通过角度差法读取数值(陈杰来,尤丽华,张秋菊.数字图像处理技术在指针式仪表读数系统中的应用[j].江南大学学报:自然科学版,2005,4(6):611-614.)。但是差影法是利用前后两帧图像之间的差异来进行目标的识别,要求这两帧图像拍摄视角和位置固定,且短时间内仪表读数发生变化,因此差影法比较适合视角固定情况下仪表示数变化频繁的场景,并且仅仅适合单一仪表情况下的读数识别。专利(邢宏伟,唐守伟,于秋红,等.一种指针式圆形多仪表盘实时读数识别方法:,cn106529559a[p].2017.)提出在视频流中利用hough圆检测定位表盘,找到合适表盘区域后扣取出该区域,下一步对表盘进行倾斜校正并利用hough直线检测找指针,接下来计算指针角度并完成读数识别。该方法存在一定的局限性,非正对表盘视角情况下的图像中表盘表现出来的椭圆特征并不能被hough圆检测所识别,很有可能发生漏读等现象。



技术实现要素:

本发明是为了解决现有技术所存在的上述技术问题,提供一种面向巡检机器人的变视角多仪表同时识别方法。

本发明的技术解决方案是:一种面向巡检机器人的变视角多仪表同时识别方法,其特征在于依次按照如下步骤进行:

步骤1:获取多仪表图像或视频数据;

步骤2:对视频数据的每一帧或者单一图像直接进行预处理;

步骤3:对预处理后的图像数据进行边缘检测;

步骤4:用改进freeman编码法对边缘进行跟踪编码;

步骤5:对得到的链码进行计算,筛选出每个仪表的表盘边缘;

步骤6:利用筛选出的表盘边缘和链码信息,对表盘进行定位并作正视化处理;

步骤7:对得到的所有表盘图像分别进行圆内对比度拉伸;

步骤8:对表盘图像中心区域使用最大类间方差法进行二值分割,然后利用快速概率hough变换搜索直线集,找到直线集中且长度在阈值范围内的最长直线,并利用直线端点和圆心距离关系,生成指针向量;

步骤9:对步骤7得到的表盘图像进行边缘提取,滤除下扇区文字并利用半径缩小法获取刻度点集,利用刻度点集的关系筛选出基准刻度点,利用基准刻度点与圆心,生成基准刻度向量;

步骤10:利用获得的指针向量和基准刻度向量,配合坐标系计算出当前夹角,利用角度法和量程信息计算当前读数。

步骤4所述改进freeman编码法是设置0、2、4、6所代表的方向为主方向,编码过程中先判断当前点是否存在主方向点,若存在则继续判断按顺时针扫描的下个方向是否存在像素,若存在则当前编码往主方向进行;否则均将按freeman编码法的顺时针方式从0开始对边缘进行搜索并编码;

步骤5所述对每一条链码进行计算是按照如下公式计算:

式中:num[k]表示方向k上在当前链码中的编码数量,k=0,1,…,7;ave1为0、2、4、6方向的编码数量的平均值;ave2为1、3、5、7方向的编码数量的平均值;i方向和j方向的链码偏差比率值;则为链码偏差比率值的均值。

步骤5所述筛选出每个表盘边缘具体如下:

a.设置阈值tc(取图像大小*0.01),链码长度小于tc则不是表盘边缘;

b.<=0.45,是表盘边缘;

c.若存在ave1或者ave2是0,则该链码不是表盘边缘;

d.计算最高相似匹配度maxrate,当maxrate在区间(0.6,0.88)时,该链码是表盘边缘。

步骤6所述利用筛选出的表盘边缘和其链码信息,对各表盘进行定位并作正视化处理是生成当前表盘的外接矩形,利用矩形的四个顶点,抠取表盘及附带的少量边缘,计算正视化需要的透视矩阵后,使用如下公式对表盘进行透视变换,投影至正视面

式中:为原始图像坐标,为透视变换后对应的图像坐标,为计算得到的透视矩阵。

步骤9具体步骤如下:

(1)对图像使用canny算子进行边缘提取,获得图像p2;

(2)以图像p2的中心为原点,建立xy坐标系,并滤除图像下半部分扇区

内文字,所述扇区范围为以y轴负方向为中心线,左右各40度区域;

(3)以图像p2的中心为原点,生成初始半径为0.83倍原始半径的圆,

的半径以像素为单位逐渐缩小;在缩小过程中,如果当前时刻的圆与表盘刻度线的交点个数与上一时刻相比变化小于10个,则将当前时刻圆与刻度线的交点作为刻度线点集,刻度线点集中各点坐标以像素为单位;

(4)生成从xy坐标系原点到刻度线点集中各个点的向量,形成点集对应的向量集;

(5)根据向量集中各个向量与y轴正方向逆时针转角的大小,对向量进行升序排序;

(6)计算排序后向量集中当前向量和后一向量的夹角,如果夹角在85度到110度之间,那么当前向量为基准刻度向量。

本发明能够同时识别变化视角下采集到视频或图像中的单个或多个仪表读数,具有一定的鲁棒性,可满足工业生产中对指针式仪表读数的精度要求,提高了工作效率,减少了人力资源等工业消耗。

附图说明

图1为本发明实施例的流程图。

图2为本发明实施例改进freeman编码方向示意图。

图3为本发明实施例将两个不同视角下的仪表拼合得到的图像。

图4为本发明实施例的canny算子边缘提取结果示意图。

图5为本发明实施例筛选出来的表盘边缘并外接矩形结果示意图。

图6为本发明实施例用图4的表盘边界标注图3中的表盘位置示意图。

图7为本发明实施例对图6中右侧表盘的正视化和对比度拉伸结果示意图。

图8为对图3使用hough变换法寻找表盘结果示意图。

具体实施方式

本发明的面向巡检机器人的变视角多仪表同时识别方法,如图1所示,依次按照如下步骤进行:

步骤1:获取多仪表图像:

由巡检机器人上搭载臂载视觉系统,移动到指定位置后,利用视觉系统进行图像数据采集,获取多仪表图像。

本发明实施例所用图像如图3所示,是将两个不同视角下的仪表拼合得到的图像。

步骤2:对单一图像直接进行预处理:

利用公式(1)将彩色图像进行灰度变换转化成灰度图进行处理:

(1)

式(1)中,为灰度变换后图像(x,y)处像素值,为红色分量图像(x,y)处像素值,为绿色分量图像(x,y)处像素值,为蓝色分量图像(x,y)处像素值。

然后对得到的灰度图像,使用公式(2)所示的二维高斯函数生成3*3高斯模板对图像卷积实现高斯平滑滤波处理:

(2)

式(2)中m=(高斯平滑窗口大小-1)/2,参数σ取0.89。

步骤3:对预处理后的图像数据进行边缘检测:

边缘检测的方法采用的是canny算子,由于预处理中已经使用了高斯平滑,因此接下来对预处理图像进行差分求水平方向和垂直方向梯度,再进行非极大值抑制和插值来得到待确定边缘点,然后使用双阈值分割并使用跟踪法实现边缘连接,最终得到较为理想的图像边缘。对于图3所示图像的canny算子边缘提取结果如图4所示。

步骤4:用改进freeman编码法对边缘进行跟踪编码:

所述改进freeman编码法如图2所示,是设置0、2、4、6所代表的方向为主方向,编码过程中先判断当前点是否存在主方向点,若存在则继续判断按顺时针扫描的下个方向是否存在像素,若存在则当前编码往主方向进行;否则均将按freeman编码法的顺时针方式从0开始对边缘进行搜索并编码。

步骤5:对得到的链码进行计算,筛选出每个仪表的表盘边缘:

对每一条链码按照公式(3)计算:

(3)

式中:num[k]表示方向k上在当前链码中的编码数量,k=0,1,…,7;ave1为0、2、4、6方向的编码数量的平均值;ave2为1、3、5、7方向的编码数量的平均值;i方向和j方向的链码偏差比率值;则为链码偏差比率值的均值;

按照如下标准筛选出每个表盘边缘:

a.设置阈值tc(取图像大小*0.01,如0.45,),链码长度小于tc则不是表盘边缘;

b.<=0.45,是表盘边缘;

c.若存在ave1或者ave2是0,则该链码不是表盘边缘;

d.计算最高相似匹配度maxrate,当maxrate在区间(0.6,0.88)时,该链码是表盘边缘:

所述计算最高相似匹配度算法如下:

1生成对称链码,从中间段附近开始,计算出最高的相似匹配度

m1为原始链码m2为m1生成的对称链码

2maxcount=0;

3fori=-ttotm/2-t到m/2+tt为阈值一般取5

4count=0;

5forj=0tomm为链码的长度

6j2=i+j+m/2;

7ifj2>m

8j2=i+j-m/2;

9endif;

10ifm1[j]==m2[j2]

11count=count+1;

12endif;

13endfor;

14ifmaxcount<count

15maxcount=count;

16endif;

17endfor;

18maxrate=maxcount/m。

对于含有多仪表的图像,经过此步骤处理可以获取图像中各个仪表的边缘信息(如图5和图6所示),将表盘边缘信息按照其在图像中扫描得到的顺序(图像扫描方式为从上到下,从左到右),用循环的方式,逐个传输给下一步进行后续处理。

步骤6:利用筛选出的表盘边缘和链码信息,对表盘进行定位并作正视化处理:

利用筛选出的表盘边缘和其链码信息,对各表盘进行定位并作正视化处理是生成当前表盘的外接矩形,利用矩形的四个顶点,抠取表盘及附带的少量边缘,计算正视化需要的透视矩阵后,使用公式(4)对表盘进行透视变换,投影至正视面。

(4)

式中:为原始图像坐标,为透视变换后对应的图像坐标,为计算得到的透视矩阵。

步骤7:对得到的所有表盘图像分别进行圆内对比度拉伸:

正视化图像中,表盘区域则表现为内接圆,因此,为了更好的获取正视化表盘图像的细节特征,对正视化表盘图像中圆内区域进行对比度拉伸,具体步骤如下:

(1)计算圆心和半径(圆心为当前图像中点,半径为边长的一半)。

(2)统计圆内像素分布。

(3)利用公式(5)对圆内像素进行操作实现对比度拉伸

(5)

式(7)中为原图(x,y)处像素,为原图中像素最大值,为原图中像素最小值,为对比度拉伸后图像(x,y)处的像素。

本发明实施例对图5中右侧表盘的正视化和对比度拉伸结果如图7所示。

图7中(a)为基于图4中的外接矩形获取的原图表盘,(b)为图(a)经过透视变换正视化结果,(c)为图(b)表盘内对比度拉伸结果。

由于表盘是斜着放置的,所以在图7(a)中表盘是一个椭圆,为了方便后续处理,需要将图(a)中的表盘矫正成圆形,本发明采用的是透视变化方法,结果如图7(b)所示;图7(c)是在图(b)的基础上,用对比度拉伸的方法,提高表盘内刻度线与背景的对比度,便于后续读数识别。从图7(c)中可见,表盘中的刻度线更加清晰。

步骤8:对表盘图像中心区域使用最大类间方差法进行二值分割,然后利用快速概率hough变换搜索直线集,找到直线集中且长度在阈值范围内的最长直线,并利用直线端点和圆心距离关系,生成指针向量;

具体如下:

(1)抠取图像中间位置的内容,抠取的大小为输入图像的3/4,将抠取得到

的图像记为p1。

(2)对p1使用最大类间方差法进行二值化处理。

(3)使用快速概率hough变换提取直线集。

(4)设置阈值tl=(4/5)*图像边长,在直线集中,在长度小于tl的直线中

找到最大直线,认为该直线是指针上的直线。

(5)计算直线和圆心的关系,并将直线离圆心近的那一端点减去离圆心远

的端点,生成指针向量。

步骤9:对步骤7得到的表盘图像进行边缘提取,滤除下扇区文字并利用半径缩小法获取刻度点集,利用刻度点集的关系筛选出基准刻度点,利用基准刻度点与圆心,生成基准刻度向量;

具体步骤如下:

(1)对图像使用canny算子进行边缘提取,获得图像p2;

(2)以图像p2的中心为原点,建立xy坐标系,并滤除图像下半部分扇区

内文字,所述扇区范围为以y轴负方向为中心线,左右各40度区域;

(3)以图像p2的中心为原点,生成初始半径为0.83倍原始半径的圆,

的半径以像素为单位逐渐缩小;在缩小过程中,如果当前时刻的圆与表盘刻度线的交点个数与上一时刻相比变化小于10个,则将当前时刻圆与刻度线的交点作为刻度线点集,刻度线点集中各点坐标以像素为单位;

(4)生成从xy坐标系原点到刻度线点集中各个点的向量,形成点集对应的向量集;

(5)根据向量集中各个向量与y轴正方向逆时针转角的大小,对向量进行升序排序;

(6)计算排序后向量集中当前向量和后一向量的夹角,如果夹角在85度到110度之间,那么当前向量为基准刻度向量。

步骤10:利用获得的指针向量和基准刻度向量,配合坐标系计算出当前夹角,利用角度法和量程信息计算当前读数。

以传统hough变换检测圆来处理多视角图像,结果如图8所示。结果表明传统hough变换法在此类图像中并不能准确获取表盘的位置。

以图3为测试样例,结果如下表所示:

由上述可知,本发明实施例能够有效地计算出仪表的读数,且读数结果和人工抄表相比,引用误差不超过0.03,能够满足工业生产中的指针式仪表读数的精度要求,并应用至巡检机器人中。

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