一种基于自主倾斜校正和投影直方图的电梯按钮识别方法与流程

文档序号:11231980阅读:226来源:国知局
一种基于自主倾斜校正和投影直方图的电梯按钮识别方法与流程

本发明涉及一种基于自主倾斜校正和投影直方图的电梯按钮识别方法,属于电梯按钮智能识别技术领域。



背景技术:

机器人正在发挥着越来越重要的作用,在日常生活中经常可以看到各种机器人的身影。然而,现实生活中的环境复杂多变,要使机器人能够在多种场合下服务于人们的生活和工作,尚有很多问题需要解决。其中一个需要解决的问题就是实现机器人在不同楼层之间进行自主行走,例如,在办公场所可以指定机器人在不同楼层之间传递物品和文件,在酒店或宾馆可以让机器人把订餐或者物品送到指定的房间,在医院机器人可以帮助医生在不同楼层之间传送药品和某些器械,在某些危险场合可以让机器人代替救护人员完成搜索、检测、救护、运送物资等任务。

迄今为止,对于在同一平面内的机器人自主平稳行走问题,人们已经进行了很多研究,其中涉及到机器人的稳定性、躲避障碍物、路径规划、自然物和人工标志物的识别等问题。对于跨楼层行走问题,通常有以下三种方式来实现:

第一是利用扶梯。扶梯分为台阶式和平直式两种,一般会出现在超市、商场等场所中。机器人在使用扶梯上下楼梯时,只需站稳即可。但是扶梯很少出现在高层建筑中,且跨楼层数较少。因此,机器人使用扶梯自主上下楼层存在较大的局限性。

第二是利用台阶式楼梯。台阶式楼梯比较常见,在所有高层建筑中都可以看到。文献提出了一种四足机器人运动控制方法,该方法以间歇爬行步态为主步,将爬行运动分解为若干任务分别进行控制,并在连续台阶中进行了测试,取得了一定的效果。然而使用这种方法在上下楼梯时,需要连续跨越阶梯,耗费的时间过长,尤其跨越的楼层数较大时,实用性也受到较大限制。

第三是利用直梯。直梯的位置在人们的办公场所中是固定的,在对应的电子地图中也有确定的位置。当机器人通过电子地图进行路径规划,并且需要跨越不同楼层自主行走时,必然要经过楼梯或者直梯。显然,利用直梯是一种比较快捷有效和容易实现的跨越楼层方式。

当机器人通过路径规划进入到直梯中,可以利用机器人视觉系统来判断直梯中按钮的位置,实现直梯按钮的识别,进而就可以通过机械臂操作完成自主上下楼层。显然,其关键就是如何让机器人利用视觉系统对直梯按钮进行识别,因此,迫切需要一种直梯按钮识别技术。



技术实现要素:

针对上述不足,本发明提供了一种基于自主倾斜校正和投影直方图的电梯按钮识别方法,其能够使机器人自主上下楼层过程中准确地识别出直梯中的各个按钮。

本发明解决其技术问题采取的技术方案是:

本发明提供的一种基于自主倾斜校正和投影直方图的电梯按钮识别方法,其特征是,它包括电梯按钮训练过程和电梯按钮识别过程,所述电梯按钮训练过程为通过训练生成电梯按钮图像模板并计算电梯按钮图像在水平和垂直方向上的投影直方图;所述电梯按钮识别过程为:首先获取电梯按钮图像并对发生倾斜的电梯按钮图像进行校正,其次计算获取的电梯按钮图像在水平和垂直方向上的投影直方图,然后利用训练时生成电梯按钮图像模板中的投影直方图计算相关性,并根据相关性计算出精确电梯按钮区域,最后确定每个电梯按钮的位置并调用相应的电梯按钮图像模板。

优选地,所述电梯按钮训练过程包括以下步骤:首先在电梯按钮图像训练样本上分割出电梯按钮区域,并对电梯按钮区域进行图像预处理;然后计算电梯按钮图像训练样本在水平和垂直方向上的投影直方图;最后计算电梯按钮图像训练样本中每个电梯按钮的位置,并生成相应的电梯按钮模板。

本发明还提供的一种基于自主倾斜校正和投影直方图的电梯按钮识别方法,其特征是,包括以下步骤:

步骤1,在电梯按钮图像训练样本上分割出电梯按钮区域,并对电梯按钮区域进行图像预处理;

步骤2,计算电梯按钮图像训练样本在水平和垂直方向上的投影直方图;

步骤3,计算电梯按钮图像训练样本中每个电梯按钮的位置,并生成相应的电梯按钮模板;

步骤4,获取电梯按钮图像,并判断获取的电梯按钮图像是否发生倾斜,如果获取的电梯按钮图像发生倾斜则进行校正,否则进入下一步骤;

步骤5,对获取的电梯按钮图像进行图像处理,并计算其在水平和垂直方向上的投影直方图;

步骤6,利用步骤3中获得的投影直方图计算步骤3中获得的投影直方图与步骤5中获得的投影直方图的相关性,并根据相关性计算出精确电梯按钮区域;

步骤7,计算出每个电梯按钮的位置,并调用相对应的模板,完成电梯按钮的识别过程。

优选地,所述步骤1包括以下具体步骤:

步骤11,手工在电梯按钮图像上分割出电梯按钮区域;

步骤12,对分割出的电梯按钮区域进行光照均匀化处理,所述光照均匀化处理过程为:定义3×3的窗口,在窗口内计算新的像素值,像素值计算公式为:

f(x,y)=k×(a(x,y)-μ)/σ+b

其中,f(x,y)为光照均匀化处理后的像素值,a(x,y)为窗口内的像素值,μ为窗口内像素的均值,σ为整幅图像像素值的方差,k为目标和背景之间的调节系数,调节目标与背景之间的差别,b为亮度调节系数,调节生成图像的明暗程度;

步骤13,采用大津法对光照均匀化处理后的电梯按钮区域进行二值化处理;

步骤14,对二值化处理后的电梯按钮图像分别采用算子a1(1×11)和a2(11×1)进行形态学开运算处理,得到图像a和图像b。

优选地,所述步骤2包括以下具体步骤:

步骤21,统计图像a中每一列像素值为0的个数,得到电梯按钮区域在x轴上的投影直方图;

步骤22,统计图像b中每一行像素值为0的个数,得到电梯按钮区域在y轴上的投影直方图。

优选地,所述步骤3包括以下具体步骤:

步骤31,根据y轴上的投影直方图,计算电梯按钮的y坐标和高度;

步骤32,根据y轴上的投影直方图,在图像a中完成对每行电梯按钮的切割;

步骤33,计算切割结果在x轴上的投影直方图,进而根据投影直方图计算出每个电梯按钮的x坐标和宽度,并结合每个电梯按钮的y坐标和高度生成相应的电梯按钮图像模板。

优选地,在步骤4中,对倾斜电梯按钮图像进行校正的过程包括以下具体步骤:

步骤41,将倾斜电梯按钮图像按照电梯按钮的两条外边线划分为电梯按钮区域、电梯按钮左边三角区域和电梯按钮右边三角区域;

步骤42,在电梯按钮左边三角区域中通过公式tanθi=wi/hi计算出10个倾斜角度θ1,θ2,θ3,…,θ10,i=1,2,3,…,10;

步骤43,同样在电梯按钮右边三角区域中也计算出10个倾斜角度,然后对计算出的20个倾斜角度进行从小到大排序,选取排序结果的中数为电梯按钮图像的倾斜角度。

步骤44,根据计算出的倾斜角度对电梯按钮图像进行旋转变换,旋转公式为:x=vcosθ-wsinθ,y=vsinθ+wcosθ,其中(v,w)为原图像中像素的坐标,(x,y)为变化后图像中像素的坐标;

步骤45,对于电梯按钮图像旋转之后出现的空洞点,采用双线性差值的方法对空洞点进行填充。

优选地,所述步骤6的具体步骤为:首先步骤3中获得的投影直方图与步骤5中获得的投影直方图计算它们之间的相关性,然后通过相关性计算精确电梯按钮区域,最后对精确电梯按钮区域进行分割。

优选地,所述相关性的计算公式为:

f(s)=∫f(x)g(x-s)dx

其中,f(x)和g(x)分别为训练和测试过程中所得投影直方图的归一化函数,f(s)为两个投影直方图的相关性数值,s为测试过程中投影直方图偏移量的区间值,s*为相关性数值最大时的最优值。

优选地,所述步骤7的具体步骤为:根据计算出的精确电梯按钮区域,利用精确电梯按钮区域在水平和垂直方向上的投影直方图,计算出每个电梯按钮的位置,并调用相应的电梯按钮模板。

本发明的有益效果是:本发明采用电梯按钮训练和电梯按钮识别来对直梯中的电梯按钮进行识别,在电梯按钮训练过程中,首先切割出电梯按钮区域,然后对电梯按钮区域进行光照均匀化、二值化、形态学滤波等预处理后,再计算电梯按钮区域的投影直方图,最后根据投影直方图计算出每个电梯按钮的位置;在电梯按钮识别过程中,首先判断电梯按钮图像是否发生倾斜,校正倾斜的电梯按钮图像,然后根据预处理结果计算电梯按钮图像的投影直方图,再结合测试过程中电梯按钮区域的投影直方图,通过计算相关性,计算出精确的电梯按钮区域,最后在精确的电梯按钮区域内计算每个电梯按钮的位置。本发明通过电梯按钮训练和电梯按钮识别两个过程使机器人自动的识别出直梯中的各个按钮,从而有助于实现机器人在不同的楼层之间自主行走。

本发明的电梯按钮训练过程简单,易于实施,只需要选取一幅未发生倾斜的图像即可完成训练过程;电梯按钮识别过程首先获取电梯按钮图像并对发生倾斜的电梯按钮图像进行校正,计算获取的电梯按钮图像在水平和垂直方向上的投影直方图,然后利用训练时生成电梯按钮图像模板中的投影直方图计算相关性,并根据相关性计算出精确电梯按钮区域,最后确定每个电梯按钮的位置并调用相应的电梯按钮图像模板,它解决了传统机器人在自主上下楼层过程中不能对直梯按钮进行有效识别的问题,即传统机器人不能准确地识别出直梯中的各个按钮的问题。

附图说明

图1为本发明的一种方法流程图;

图2为本发明的电梯按钮训练过程示意图,图2中,a为人工标记电梯按钮区域示意图,b为光照均匀化效果图,c为二值化效果图,d为1×n滤波效果图,e为n×1滤波效果图,g为截取的图像,h和g分别为水平和垂直方向上的投影直方图;

图3为本发明在电梯按钮训练过程中生成电梯按钮模板的示意图;

图4(a)为非倾斜电梯按钮图像示意图;

图4(b)为倾斜电梯按钮图像示意图;

图5(a)、图5(b)和图5(c)为对图4(b)进行倾斜校正的示意图;

图6为对图4(b)进行倾斜校正后的电梯按钮图像示意图;

图7(a)、图7(b)、图7(c)和图7(d)为本发明所述相关性的计算示意图;

图8为本发明调用电梯按钮模板的示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式并结合其附图对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

本发明主要采用了电梯按钮训练过程和电梯按钮识别过程,所述电梯按钮训练过程为通过训练生成电梯按钮图像模板并计算电梯按钮图像在水平和垂直方向上的投影直方图;所述电梯按钮训练过程包括以下步骤:首先在电梯按钮图像训练样本上分割出电梯按钮区域,并对电梯按钮区域进行光照均匀化、二值化、形态学滤波等图像预处理;然后计算电梯按钮图像训练样本在水平和垂直方向上的投影直方图;最后计算电梯按钮图像训练样本中每个电梯按钮的位置,并生成相应的电梯按钮模板。所述电梯按钮识别过程包括以下步骤:首先获取电梯按钮图像并对发生倾斜的电梯按钮图像进行校正,其次计算获取的电梯按钮图像在水平和垂直方向上的投影直方图,然后利用训练时生成电梯按钮图像模板中的投影直方图计算相关性,并根据相关性计算出精确电梯按钮区域,最后确定每个电梯按钮的位置并调用相应的电梯按钮图像模板。

如图1所示,本发明的一种基于自主倾斜校正和投影直方图的电梯按钮识别方法,它包括以下步骤:

步骤1,在电梯按钮图像训练样本上分割出电梯按钮区域,并对电梯按钮区域进行图像预处理;

步骤2,计算电梯按钮图像训练样本在水平和垂直方向上的投影直方图;

步骤3,计算电梯按钮图像训练样本中每个电梯按钮的位置,并生成相应的电梯按钮模板;

步骤4,获取电梯按钮图像,并判断获取的电梯按钮图像是否发生倾斜,如果获取的电梯按钮图像发生倾斜则进行校正,否则进入下一步骤;

步骤5,对获取的电梯按钮图像进行图像处理,并计算其在水平和垂直方向上的投影直方图;

步骤6,利用步骤3中获得的投影直方图计算步骤3中获得的投影直方图与步骤5中获得的投影直方图的相关性,并根据相关性计算出精确电梯按钮区域;

步骤7,计算出每个电梯按钮的位置,并调用相对应的模板,完成电梯按钮的识别过程。

优选地,所述步骤1包括以下具体步骤:

步骤11,手工在电梯按钮图像上分割出电梯按钮区域,如图2(a)所示。

步骤12,对分割出的电梯按钮区域进行光照均匀化处理,所述光照均匀化处理过程为:定义3×3的窗口,在窗口内计算新的像素值,像素值计算公式为:

f(x,y)=k×(a(x,y)-μ)/σ+b

其中,f(x,y)为光照均匀化处理后的像素值,a(x,y)为窗口内的像素值,μ为窗口内像素的均值,σ为整幅图像像素值的方差,k为目标和背景之间的调节系数,调节目标与背景之间的差别,b为亮度调节系数,调节生成图像的明暗程度,如图2(b)所示。

步骤13,采用大津法(otsu)对光照均匀化处理后的电梯按钮区域进行二值化处理,如图2(c)所示。otsu分割法即最大类间方差法是一种自适应的阈值确定方法。此方法是按照图像的灰度特性,将图像分成背景和目标两个部分。背景和目标之间的方差越大,就会使得背景和目标分割越明显。

otsu分割法是根据前景和背景像素值所占整幅图像像素值的比例,以及前景和背景区域像素值的均值找出最佳分割阈值其中ω0,ω1是图像中目标和背景区域像素值在整幅图像像素值中占的比例,p(i)为灰度级为i的像素值在整幅图像像素中所占的比例。其中μ0,μ1,μ分别为目标、背景和整幅图像像素值的平均值。首先赋予t初值,然后遍历灰度级[0,255],最后计算出最佳分割阈值t*

步骤14,对二值化处理后的电梯按钮图像分别采用算子a1(1×11)和a2(11×1)进行形态学开运算处理,得到如图2(d)所示的图像a和如图2(e)所示的图像b。

开运算是对图像先进行腐蚀再进行膨胀处理。腐蚀:设a为电梯按钮图像上的目标区域,设腐蚀结构元素为s1,定义位于坐标(x,y)上的结构元素s1所表示的区域为s1(x,y),则对于a的腐蚀处理结果可以表示为:{(x,y)|(x,y)∈a,s1(x,y)/a=ο}。对电梯按钮图像的腐蚀处理会去除图像中的噪声和部分目标区域,再通过膨胀处理可以恢复被腐蚀掉的目标区域。膨胀:设b为图像上的腐蚀结果区域,设膨胀结构元素为s2,定义位于坐标(x,y)上的结构元素s2所表示的区域为s2(x,y),则对于b的膨胀处理结果可以表示为:采用算子a1(1×11)和算子a2(11×1)对二值化后的图像进行开运算处理,得到如图2(d)和(e)所示的效果。

优选地,所述步骤2包括以下具体步骤:

步骤21,统计图2(d)所示的图像a中每一列像素值为0的个数,得到电梯按钮区域在x轴上的投影直方图;

步骤22,统计如图2(e)所示的图像b中每一行像素值为0的个数,得到电梯按钮区域在y轴上的投影直方图。

优选地,所述步骤3包括以下具体步骤:

步骤31,根据y轴上的投影直方图,计算电梯按钮的y坐标和高度,如图2(f)所示;

步骤32,根据y轴上的投影直方图,在图像a中完成对每行电梯按钮的切割,如图2(g)所示;

步骤33,计算切割结果在x轴上的投影直方图,进而根据投影直方图计算出每个电梯按钮的x坐标和宽度,如图2(h)所示,并结合每个电梯按钮的y坐标和高度生成相应的电梯按钮图像模板,如图3所示。

优选地,在步骤4中,获取的电梯按钮图像如图4(a)和图4(b)所示。判断获取的电梯按钮图像是否发生倾斜,如果获取的电梯按钮图像发生倾斜,如图4(b)所示,则对倾斜电梯按钮图像进行校正的过程包括以下具体步骤:

步骤41,将倾斜电梯按钮图像按照电梯按钮的两条外边线划分为电梯按钮区域c、电梯按钮左边三角区域a和电梯按钮右边三角区域b,如图5(a)所示;

步骤42,在电梯按钮左边三角区域a中通过公式tanθi=wi/hi计算出10个倾斜角度θ1,θ2,θ3,…,θ10,i=1,2,3,…,10,如图5(b)和图5(c)所示;

步骤43,同样在电梯按钮右边三角区域b中也计算出10个倾斜角度,然后对计算出的20个倾斜角度进行从小到大排序,选取排序结果的中数为电梯按钮图像的倾斜角度。

步骤44,根据计算出的倾斜角度对电梯按钮图像进行旋转变换,旋转公式为:x=vcosθ-wsinθ,y=vsinθ+wcosθ,其中(v,w)为原图像中像素的坐标,(x,y)为变化后图像中像素的坐标;

步骤45,对于电梯按钮图像旋转之后出现的空洞点,采用双线性差值的方法对空洞点进行填充,如图6所示。

优选地,在步骤5中,对获取的非倾斜电梯按钮图像或者校正后倾斜电梯按钮图像按照步骤1的方法进行图像处理,并按照步骤2的方法计算其在水平和垂直方向上的投影直方图。

优选地,所述步骤6的具体步骤为:首先步骤3中获得的投影直方图与步骤5中获得的投影直方图计算它们之间的相关性,然后通过相关性计算精确电梯按钮区域,最后对精确电梯按钮区域进行分割。

优选地,所述相关性的计算公式为:

f(s)=∫f(x)g(x-s)dx

其中,f(x),g(x)为两个投影直方图累积投影值的归一化函数,f(s)为两个投影直方图的相关性数值,s为投影直方图中的区间值,s*为相关性数值最大时的最优值。

相关性的计算过程如图7(a)至图7(d)所示,图7(a)为在电梯按钮训练过程中电梯按钮图像在y轴上的投影示意图,图7(b)为在电梯按钮识别过程中电梯按钮图像在y轴上的投影示意图,图7(c)为计算相关性的初始位置,图7(d)相关性最大的位置,即找到最佳最优值s*。图7(a)至图7(d)中,x轴为图像的高度,y轴为归一化的累积投影值。

优选地,所述步骤7的具体步骤为:根据步骤6计算出的精确电梯按钮区域,利用精确电梯按钮区域在水平和垂直方向上的投影直方图,计算出每个电梯按钮的位置,并调用相应的电梯按钮模板,如图8所示。图8所示模板中右区域的功能键对应于电梯按钮图像中的每一个按钮,点击功能键,直接标记电梯按钮图像中相应的按钮,根据调用出的模板可以直接对电梯按钮进行操作,不必再输入每个功能键的功能。

此外,本发明的应用范围不局限于说明书中描述的特定实施例的工艺、机构、制造、物质组成、手段、方法及步骤。从本发明的公开内容,作为本领域的普通技术人员将容易地理解,对于目前已存在或者以后即将开发出的工艺、机构、制造、物质组成、手段、方法或步骤,其中它们执行与本发明描述的对应实施例大体相同的功能或者获得大体相同的结果,依照本发明可以对它们进行应用。因此,本发明所附权利要求旨在将这些工艺、机构、制造、物质组成、手段、方法或步骤包含在其保护范围内。

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