标签图像的特征提取方法、装置及定位方法、定位设备与流程

文档序号:20785768发布日期:2020-05-19 21:41阅读:302来源:国知局
标签图像的特征提取方法、装置及定位方法、定位设备与流程

本公开涉及视觉定位的技术领域,特别涉及标签图像的特征提取方法、装置及相关的定位方法、定位设备。



背景技术:

在视觉定位领域,其中一种主流定位方式是:将标签(或称视觉标签、视觉标记等)置于室内或室外场景中,通过摄像头对场景进行拍摄,获得场景图像,对场景图像进行处理(例如通过深度学习的方法进行特征识别),能识别或获得场景图像中的标签图像,根据标签图像可以推算出摄像头到对应的标签的相对位置,同时根据该标签所在真实位置,能获得摄像头或者与摄像头相关联的定位目标(即定位目标与摄像头具有已知的相对位置关系)的位置信息。

然而,在具体实施过程中,经常会出现这样的情况:由于受到干扰(如标签被部分地损坏、摄像过程标签被部分地遮挡)而影响获取到的标签图像的质量,导致标签图像的特征完备度较低,即标签图像未能充分地反映出标签本身的特征,例如标签图像中具有遮挡区,挡住了标签的一些线段的交点,例如由于标签被损坏而导致标签图像中相应的位置出现空白的色块等。对于这种情况,一般的做法是只对标签图像中可看到的交点进行坐标位置的获取。

事实上,获取到的标签图像上的线段(为区分理解,称为第一线段)包括线段之间的交点,具有一定的像素宽度,目前主流的技术一般会采用亚像素边缘提取(也可以理解为亚像素线段提取、亚像素边缘检测等,即从像素级别的线段中提取处理得到亚像素级别的线段,例如通过检测而获得像素级别的边缘,然后利用最小二乘法等拟合方法处理得到亚像素级别的线段)的方法对标签图像进行处理,得到对应于每条第一线段的亚像素线段(为区分理解,称为第二线段)。由于第一线段是具有一定像素宽度的,因此多条第一线段相交于一点时,意味着它们在该处仅有一个交点。但由于第一线段之间的相对位置可能会在拍摄获取的过程中受到晃动、反光等影响而产生失真,而第二线段又是由对第一线段进行亚像素提取操作而获得,其提取过程本身也会存在一定误差,因此很难出现多条第二线段相交于一点的情况。如图2所示,图2(a)示意了三条第一线段相交的情形,图2(b)示意了对图2(a)进行亚像素线段提取处理后,得到的三条第二线段的相交的情形。对此,现有技术的处理方式,一般是直接对在第二线段相交的几个交点(为区分理解,称为亚像素交点)直接采用计算中心点的方式,计算得到它们的中心点,以此来表示第一线段的交点的位置。

这样的处理方式的缺陷在于,对于获得的存在失真情况的图像,通过执行亚像素线段提取而获得的第二线段,其位置具有较大的不确定性,基于亚像素交点直接进行中心点计算而得到的反应第一线段交点的位置的做法,精度较低;另外,当标签图像的特征完备度较低时,可能只有极少数的可看到的交点供特征提取,也会影响这些特征信息后续的应用(如定位解算)。



技术实现要素:

为解决前述的至少一个技术问题,本公开在第一方面提出了一种标签图像的特征提取方法,所述标签图像包括相交的第一线段,包括以下步骤:根据先验信息,判断是否符合用于判断特征完备度的第一条件;若符合,对所述标签图像执行亚像素线段提取操作,获得用于表示所述第一线段位置的第二线段;根据所述第二线段的位置信息,获得亚像素交点的位置信息,所述亚像素交点包括可视交点以及未显示交点;根据所述第二线段以及所述亚像素交点的位置信息,生成对应于每一第二线段的直线向量的数据及确定调整范围,所述直线向量至少具有一个相交的第一端点;在所述调整范围内,调整所述直线向量的位置,直至每一所述直线向量与对应的调整范围内的像素梯度矢量的关系符合第二条件;将此时所述第一端点的位置信息作为所述标签图像的特征进行提取。

优选地,所述第一条件包括:第一线段交点的数量符合第三条件或所述第一线段的完整度符合第四条件。

优选地,所述第二条件包括每一所述直线向量与对应的调整范围内的每一像素梯度矢量的点积之和达到最小值。

优选地,所述调整范围包括根据所述先验信息以及所述亚像素交点的位置信息确定的第一范围;调整所述直线向量的位置包括:在所述第一范围内,调整所述第一端点的位置。

优选地,所述第一范围的边界包括所述亚像素交点所在的位置。

优选地,所述调整范围还包括根据所述第二线段的位置信息确定的第二范围;调整所述直线向量的位置还包括:当某一直线向量具有与其他直线向量不相交的第二端点时,则在所述第二范围内调整所述第二端点的位置。

在第二方面,本公开提出了一种标签图像的特征提取装置,用于提取具有相交的第一线段的标签图像的特征,它包括:(1)特征完备度判断模块,用于根据先验信息,判断是否符合用于判断特征完备度的第一条件;(2)亚像素线段提取模块,用于在符合所述第一条件时,对所述标签图像执行亚像素线段提取操作,获得用于表示所述第一线段位置的第二线段;用于根据所述第二线段的位置信息,获得亚像素交点的位置信息,所述亚像素交点包括可视交点以及未显示交点;(3)调整信息生成模块,用于根据所述第二线段以及所述亚像素交点的位置信息,生成对应于每一第二线段的直线向量的数据及确定调整范围,所述直线向量至少具有一个相交的第一端点;(4)位置调整模块,用于在所述调整范围内,调整所述直线向量的位置,直至每一所述直线向量与对应的调整范围内的像素梯度矢量的关系符合第二条件;(5)特征提取模块,用于在符合第二条件时的所述第一端点的位置信息作为所述标签图像的特征进行提取。

在第三方面,提出了一种基于标签图像的特征的定位方法,包括以下步骤:获取摄像头拍摄到的场景图像;对所述场景图像进行处理,获得标签图像;执行所述的特征提取方法,获得所述标签图像的特征;根据所述标签图像的特征,获得相对位置信息。

在第四方面,提出了一种定位设备,包括摄像头以及处理器,所述摄像头用于对场景进行拍摄,得到场景图像;所述处理器用于对所述场景图像进行处理,获得标签图像;还用于执行所述特征提取方法的步骤,获得所述标签图像的特征;根据所述标签图像的特征,获得相对位置信息。

在第五方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的特征提取方法步骤。

本公开的一些技术效果在于:利用直线向量与像素梯度矢量的关系以及先验信息,在全局的角度优化了第一线段交点的最终位置信息,能有助于更精准提取标签图像的特征,以及保证标签图像具有相对较多的特征进行输出。

附图说明

为更好地理解本公开的技术方案,可参考下列的、用于对现有技术或实施例进行辅助说明的附图。这些附图将对现有技术或本公开部分实施例中,涉及到的产品或方法有选择地进行展示。这些附图的基本信息如下:

图1为一种情况下,标签被遮挡前后的示意图;

图2为一种情况下,标签图像中的原始线段与经亚像素线段提取方法处理后得到的亚像素线段的示意图;

图3为一个实施例中,第二线段及其对应的直线向量的示意图;

图4为一个实施例中,第一范围的示意图;

图5为一个实施例中,第二范围的示意图;

图6为一些实施例中,不同的第一范围的示意图;

图7为一个实施例中,直线向量与像素梯度矢量的示意图。

上述附图中,附图标记及其所对应的技术特征如下:

1-第一范围,2-第二范围,3-第二范围的像素,4-直线向量,5-像素梯度矢量。

具体实施方式

下文将对本公开涉及的技术手段或技术效果作进一步的展开描述,显然,所提供的实施例(或实施方式)仅是本公开意旨涵盖的部分实施方式,而并非全部。基于本公开中的实施例以及图文的明示或暗示,本领域技术人员在没有作出创造性劳动的前提下所能获得的所有其他实施例,都将在本公开保护的范围之内。

本公开在第一方面提出了一种标签图像的特征提取方法,所述标签图像包括相交的第一线段,包括以下步骤:根据先验信息,判断是否符合用于判断特征完备度的第一条件;若符合,对所述标签图像执行亚像素线段提取操作,获得用于表示所述第一线段位置的第二线段;根据所述第二线段的位置信息,获得亚像素交点的位置信息,所述亚像素交点包括可视交点以及未显示交点;根据所述第二线段以及所述亚像素交点的位置信息,生成对应于每一第二线段的直线向量的数据及确定调整范围,所述直线向量至少具有一个相交的第一端点;在所述调整范围内,调整所述直线向量的位置,直至每一所述直线向量与对应的调整范围内的像素梯度矢量的关系符合第二条件;将此时所述第一端点的位置信息作为所述标签图像的特征进行提取。

需要注意的是,所述特征提取方法的适用目标为至少有两条相交的第一线段的标签图像。所说的标签图像,指的是含有部分或完整的标签图案的图像,它可以是对在现场直接拍摄包括标签在内的场景所得的图像,也可以是对拍摄所得的场景图像进行处理后得到的新图像。

所说的第一线段,是指标签图像中的原始线段,每条这样的线段均具有一定的像素宽度,即线宽为多个像素。一般来说,图像中的线段到背景之间存在多个像素,这些像素的灰度是渐变的。

因此,可以将第一线段的交点理解为第一线段相交之处的若干个像素的集合,显然,如果要更精确地表达出第一线段交点的位置,则需要找到一个亚像素的坐标点,并将之视为第一线段交点的位置。

在现实场合,可以先对采集得到的场景图像进行预处理,筛选出适合于所述确定方法的图像再执行具体的处理方式。在执行所述特征提取方法之前,还可以先对标签图像进行一定的滤波、去噪、灰度调节等处理,这些都可以借鉴现有的技术进行,视乎具体需求,在此不作详述。

另外,标签图像既可以是黑白的也可以是彩色的,这意味着一些情况下,每条第一线段之间也可以具有不同的色差。甚至第一线段可以具有不同的宽度。

关于先验信息。先验信息记录了标签的特点,例如包括标签本身线段的数量、线段的相对位置、线段的id(用于区分不同线段,例如每个标签的每条线段都有与其他线段所不一样的编号)、线段的交点的相对位置、标签的id中的一种或多种。最重要的是,先验信息记录了线段之间存在交点的相关信息。这样,当对标签图像进行特征识别时,便能获知该标签图像对应于哪个标签,以及该标签图像是否反映出了该标签的全貌。对标签图像中的第一线段进行识别,判断它们对应于标签的哪些线段,这样的方法在现有技术中是成熟的,在此不作展开;同理地,在标签图像中找到与先验信息中对应的交点也可以采用成熟的现有技术。

关于特征完备度。特征完备度是一个用于描述标签图像是否能反映出标签最初始完整的全貌,或反映出多少该原貌的词语。一般来说,当标签被损坏时,或当拍摄场景照片时标签被遮挡时,特征完备度就会相对较低;一般来说,标签图像中被遮挡的区域面积越大,特征完备度就越低;或者标签的线段的交点被遮挡得越多,特征完备度就越低。特征完备度的高低的具体定义,不作特别限制,视乎实际实施时的需求。需要注意的是,用于判断特征完备度的方法是多样的,只要不脱离前述原理即可。例如,可以结合先验信息,根据标签被遮挡的面积和没被遮挡的面积的比例,来判断特征完备度是否符合第一条件;例如,可以结合先验信息,根据标签被遮挡的线段交点的数量来判断是否符合第一条件;例如,可以结合先验信息,根据标签被遮挡的线段的数量来判断是否符合第一条件;例如可以结合先验信息,根据标签被遮挡的线段的总长度来判断是否符合第一条件;例如可以结合先验信息,根据标签被遮挡的区域所在的位置是否为关键位置来判断是否符合第一条件。

因此,对应地,第一条件也可以是多样的,既可以是数量、面积,也可以是位置、长度等。标签图像的特征经常被用于视觉定位,例如可以提取标签图像中的第一线段的交点的位置信息,然后采用pnp(perspective-n-point,透视n点投影)算法进行视觉定位。一般来说,特征越多,对提高定位的精度帮助越大。因此,在要求相对严格的应用中,当标签的至少一个交点被遮挡时或标签的至少一条线段被遮挡时,可以视为“符合用于判断特征完备度的第一条件”。

在一些实施例中,所述第一条件包括:第一线段交点的数量符合第三条件或所述第一线段的完整度符合第四条件。第三条件、第四条件取决于标签本身的特征的数量以及具体实施时的需求。例如,当第三条件为最多3个时,第一条件可以是:第一线段交点的数量小于等于3个。例如,当第四条件为第一线段的数量为最多5条时,第一条件可以是:第一线段的数量小于等于5条。当然,除了数量,还可以用长度占比来评价完整度。例如第四条件可以是:第一线段的长度之和最多占标签对应的线段的总长度之和的40%。

需要说明的是,很多时候特征完备度较低,或者符合第一条件,可以不是因为标签被遮挡而引起的,例如可能是标签被损坏、拍摄过程因为反光而无法获取完整的标签图像等等,但是,无论何种原因引起,均可以采用文中提到的特征提取方法的原理来解决相关问题。为了能更简洁地描述本公开涉及的方案以及效果,文中会极可能多地统一采用“遮挡”来描述特征完备度较低的引起原因,但不表示特征提取方法只适用于标签被遮挡的情况。

本文所说的第二线段,是一个相对于第一线段的概念,指的是对图像进行亚像素线段提取处理后,对应地得到的亚像素线段。通常的做法是,采用一条第二线段代表一条第一线段,一般来说,可以将前者理解为后者的更细致的位置表述,这是因为前者的坐标精度是亚像素级的,而后者的坐标的精度是像素级的。第二线段的特征信息包括了能指示第二线段的位置的信息,一般包括了第二线段的端点的坐标或第二线段的方程。

一般来说,亚像素线段提取(或称亚像素边缘检测、提取,即对像素级别的线段进行处理而获得亚像素级别的线段)的技术是成熟的,其方法是很多的,本领域技术人员可以采用sobel算子边缘检测、canny算子边缘检测或深度学习的边缘检测等诸多现有的技术进行实现(例如识别出第一线段的边缘,然后根据该边缘求取第一线段的中心线,将该中心线提取出来用于表示第一线段的位置),在此不作展开。

关于可视交点及未显示交点。由前文可知,第一线段是指出现在标签图像上的线段,而且第一线段是与客观存在的标签的线段相对应的。可视交点是指出现在标签图像上的第一线段的交点所对应的一个或多个的亚像素的交点。未显示交点是指标签被遮挡的交点所对应的一个或多个亚像素的交点。例如,如图2所示,图2(a)的第一线段的一个交点,在图2(b)中有三个亚像素的交点与之对应。未显示交点并非一个真实的交点,而是一个虚拟的交点,它的位置是第二线段的延长线的交汇之处。如图1所示,图1(a)表示标签的真实状态,多条线段相交形成了点a、b、c、d、e五个交点;图1(b)表示由于受遮挡的缘故,标签图像上只出现了点a、b、e三个交点。图1(b)的虚线表示因被遮挡而未显示出来的第一线段。此时可以根据先验信息可以得知,在点d附近应该有一个交点,在点c附近应该有一个交点,据此可以使第一线段对应的第二线段向点d和点c的方向进行延伸,便可以得到对应的亚像素交点,即未显示交点;而对于可视的点a、点b、点e,其附近出现的对应的第二线段的交点,则视为可视交点。对于图1(b)及其类似情况,由于受遮挡,可视的特征点(一般指交点)只有点a、点b、点e三个,如果能将点d、点c的位置也计算出来,特征点的数量将更多。由于点d和点c先验地是交点,因此有助于更准确地确定标签线段ad、ac、bd、bc对应的第二线段的角度。

关于直线向量。本质上,本公开所述特征提取方法的设计,是希望用第二线段来的位置表示第一线段的位置(所在的中心线的位置),再用直线向量的位置表示第二线段的所在的直线的位置。一般来说,在一个第一交点周围确定该交点的亚像素的位置时,一个直线向量对应于一条第二线段。但当一条第一线段上存在多个第一交点时,则相当于需要对多个线段交点位置进行确定,在具体实施时可以利用本文所说的原理生成一个或多个与该第一线段对应的直线向量。事实上,本公开希望通过将直线向量与直线向量周围的像素灰度的变化情况进行匹配,使直线向量的最终位置确定在直线向量与周围像素梯度矢量尽可能多地相对垂直的地方,这样能相对合理地反映出第一线段的位置,更重要的是,由于相关的直线向量之间是相交的(意味着具有共同的端点),所以在确定一个第一线段的亚像素交点位置时,相关的直线向量的位置都会进行相适应的调整,这种调整更能适应全局的像素梯度矢量的变化情况。

“相关的直线向量”是指用于求解某一个第一线段交点的位置的直线向量。如图3(a)所示,第二线段a1a2、b1b2、c1c2对应于三条第一线段,先验的信息为三条第一线段相交于一点。对这三条第一线段进行亚像素线段提取后,得到的三条第二线段具有三个交点(点o1、o2、o3)。此时相关的直线向量为图3(b)中的带箭头的粗线段形状,每一直线向量对应于一条第二线段,这些直线向量拥有一个共同的端点——这是由先验信息决定的——说明第二线段也应该只有一个交点。图3所示的三条第二线段之所以具有三个交点而非一个交点,是因为主要在图像处理过程以及拍摄过程中出现了一些误差,因此第二线段的位置是需要调整的,而本公开采用的方式是调整直线向量的位置,经过调整后的直线向量的共同的端点的位置即可视为第二线段最终交点的位置,也可视为第一线段的(亚像素)交点的位置。

调整直线向量,意味着直线向量的位置甚至方向会发生变化。一些实施例中,可以沿直线向量两个端点所在像素的梯度方向,对直线向量两个端点的位置进行调整。一些实施例中,也可以采用遍历法,对直线向量两个端点的位置进行调整。当然还可以采取其他的方法(本质上是使两个端点在一定范围内不断移动),在此不作展开,总之,只要能在调整范围内(在一些实施例中,包括第一范围和第二范围),用某种方法调整直线向量,使其满足第二条件即可。

在一些实施例中,为了降低运算量,可以对相关的多条直线向量进行归一化处理,使其长度一致。在另外一些实施例中,也可以不作归一化处理,直线向量可以有着不同的长度。

关于像素梯度矢量。一个像素梯度矢量用于表示一个像素周围的灰度的变化大小以及方向。在调整范围内,存在许多个像素,而以每个像素为中心,则对应地存在着与这个像素对应的像素梯度矢量。对于像素梯度矢量的计算,可以借鉴经典的图像梯度算法,经典的图像梯度算法是考虑图像的每个像素的某个邻域内的灰度变化,利用边缘临近的一阶或二阶导数变化规律,对原始图像中像素某个邻域设置梯度算子,通常我们用小区域模板进行卷积来计算,有sobel算子、robinson算子、laplace算子等。一般来说,在现有技术中,像素梯度矢量的一种表示形式如公式一所示:

这个梯度矢量的长度如公式二所示:

这个梯度矢量的方向角如公式三所示:

公式一、公式二、公式三中,是像素的梯度矢量(也称像素梯度矢量),具有长度以及方向。gx是梯度矢量在x轴方向的梯度,gy是梯度矢量在y轴方向的梯度,梯度矢量的长度为方向角为式中带角标t的矩阵表示转置矩阵,以及为不同的方向一阶偏导数;g(x,y)表示图像梯度,为不同的二阶偏导数,arctan表示反正切函数。

在一些实施例中,可以对调整围内的图像块进行滤波处理,然后再计算对应的像素梯度矢量;在另一些实施例中,也可以不进行滤波处理,而直接计算。

在一些实施例中,所述调整范围包括根据所述先验信息以及所述亚像素交点的位置信息确定的第一范围;调整所述直线向量的位置包括:在所述第一范围内,调整所述第一端点的位置。

在一些实施例中,所述第一范围的边界包括所述亚像素交点所在的位置。

在一些实施例中,所述调整范围还包括根据所述第二线段的位置信息确定的第二范围;调整所述直线向量的位置还包括:当某一直线向量具有与其他直线向量不相交的第二端点时,则在所述第二范围内调整所述第二端点的位置。

关于第一范围。它的主要作用是圈定一个合理的范围,以供在该范围内推算/计算得到第一线段的交点以及被遮挡的标签的交点的亚像素级别的位置,同时,该位置也会是两个以上直线向量的共同交点。在一些实施例中,某两条第一线段相交而得到一个第一交点时,对应的第二线段会有两条,此时“确定调整范围”包括了根据第二线段相交的点(包括对第二线段进行延长后得到的未显示交点)所在的位置而确定交点(即线段交点位置)的第一范围,包括但不限于以下方式:

(1)以亚像素交点为圆心,以设定长度(如3至7个像素长度,可视乎实际需求而具体设定)为半径,以该圆心和半径形成的圆所覆盖的范围作为第一范围;

(2)以亚像素交点为中心而形成的多边形所覆盖的范围作为第一范围,多边形的边长可根据实际需求而进行设定;

(3)与亚像素交点具有设定的相对位置的规则的或不规则的多边形所覆盖的范围作为第一范围,多边形的边长可根据实际需求而进行设定,也可以采用其他封闭形状代替所述多边形。

当相交于一处的第一线段为三条或更多时,意味着对应的第二线段也是三条或更多,而亚像素交点也是三个或更多,此时,设计第一范围还是可以根据亚像素交点的位置进行设计,其方式包括但不限于:

(1)以某一亚像素交点作为参考点,设计对应的封闭区间(例如圆、多边形等)作为第一范围;

(2)以两个以上亚像素交点作为参考点,设计对应的封闭区间(例如圆、多边形等)作为第一范围。

为使读者更直观地理解第一范围,一些典型的例子如图3、图4所示。图3示出了三条第二线段相交的情况,第二线段a1a2、b1b2、c1c2相交,形成的第二交点为点o1、o2、o3。如图4所示,可以直接以三角形o1o2o3作为第一范围1。当然也可以以三角形o1o2o3的质心o0作为圆心,以设定半径为圆而形成的覆盖范围作为第一范围。无论如何,这样的第一范围的设计,均可以以一个或多个相交的点(点o1、o2、o3)作为依据而形成的。

又如图6所示,图6(a)示出了多个亚像素交点作为顶点而形成的封闭区间,在一些实施例下,可以直接以该封闭区间作为搜索范围;也可以在该封闭区间外作圆,以该圆覆盖的区域作为第一范围1,图6(b)示出了范围较大的第一范围1;图6(c)示出了范围较小的第一范围1。第一范围的大小,可以根据对执行确定方法涉及的计算量或精确度的要求进行取舍考量。

关于第二范围。第二范围的主要作用是圈定一个合理的范围,以供在该范围内推算/计算得到待最终确定的直线向量的位置。一条第二线段对应一个第二范围。一般来说,一个直线向量的一端会落在第一范围内,而另一端会落在第二范围内。不排除一些情况下,第二范围与第一范围有所重叠,甚至从区域上看,第一范围可以是第二范围的一部分。

根据以上所说第一范围的设计(或设置)原理,可以同理地对第二范围进行设计。但不同的是,第一范围的设计一般是以亚像素交点作为参考,而第二范围的设计一般是以整条第二线段的位置作为参考。如图5所示,对于第二线段a1a2而言,它对应的第二范围2的边界是一个矩形,至于矩形与第二线段a1a2的相对位置,视乎具体需求而定,一般来说,矩形到第二线段的距离可以取3至10个像素的长度。在其他实施例,第二范围2的边界不一定是矩形,可以是其他多边形或不规则的封闭型曲线。

在一些实施例中,可以以第二线段经过的每一像素为圆心,以设定长度作为半径,这样能形成一个个的圆,这些一个个的圆所覆盖的区域可以作为第二范围来使用。

关于第二条件。第二条件用于决定各直线向量的最终位置,即用于确定第一线段的交点的亚像素坐标,以及被遮挡的标签交点反映在标签图像上的亚像素坐标。一般来说,可以通过对直线向量与对应的调整范围内的像素梯度矢量的点积关系来判断直线向量的位置是否相对准确地反映出第一线段之间的相对位置关系。一个实施例如图7所示,图7示意性地、大致性地展示了一些实施例中,部分的像素梯度矢量5与直线向量4的位置关系,像素梯度矢量5由灰度值较低的像素指向灰度值较高的像素。图7还部分地示出了第二范围内的像素3——即图中的一个个小方格。在小方格内的数字表示对应的该像素的灰度值。直线向量4具有初始位置,但它的角度可能会在一定范围内变化,以迎合所设的设定条件。

当我们假设:相关第二线段的编号为i(i大于1,小于等于l),l为第二线段的条数,某第二线段i对应的直线向量为(它的终点——也是相关直线向量的共同端点为p0,起点为px——第二范围内的某一点,),第二线段i对应的待分析范围有m·n个像素,是编号为jk的像素的梯度矢量时,设定条件可以体现在下式中:

在数学中,argmin代表最小值,当给定的表达式在给定的参数范围内进行运算,当表达式的值达到最小时,确定出此时的以及上式中,当以及被确定时,对应的pxp0也得以被确定。另外,式中表示两参数的点积。

在其他一些实施例中,也可以通过变换的位置(例如使i在大于1且小于等于l的范围内变动,例如使点px在待分析范围内变动,例如使点po在搜索范围内变动;变换的位置的方法包括但不限于沿像素梯度方向的最速下降法、高斯牛顿迭代法等,也包括对像素分为多个单元,使其首尾位置在多个单元内变化移动等方法,也包括基于概率的方法,例如模拟退火法等),每变换一次,则计算一次下式的值,直至该值小于等于阈值t时则可视为满足设定条件:

上式体现的点积关系为点积之和,对应的设定条件为点积之和小于等于阈值t。阈值t一般可以取0或更大的数,该取值越小,表示要求越严格。

在其他实施例中,点积关系也可以是上面公式的变形或者是点积之差、点积之积等关系,总之点积关系有助于判断出使尽可能地內积(或点积)为0(或接近于0)情况即可。

一些实施例中,相关的多个直线向量的共同端点为p0,这些直线向量的方向也是指向点p0的。

在一些实施例中,确定了相关的直线向量的共同的端点——即第一端点的坐标后,可以将该第一端点的坐标信息作为标签图像的特征进行提取。

在一些实施例中,所述第二条件包括每一所述直线向量与对应的调整范围内的每一像素梯度矢量的点积之和达到最小值。

在一些实施例中,“确定交点的搜索范围”包括以下步骤:根据所述第二线段形成的第二交点,以所述第二交点为参考点,确定搜索范围的边界。

在一些实施例中,当所述亚像素交点的个数为3个以上时,以所述第二交点为顶点形成的封闭多边形对应的范围作为所述第一范围。

在一些实施例中,所述第二范围的确定,包括以下步骤:根据所述第二线段所在的像素位置,以每一所述像素位置作为参考点,确定所述第二范围的边界。即以第二线段经过的像素位置作为参考点,确定第二范围的边界。

在一些实施例中,所述确定方法还包括以下步骤:对第二范围内的图像块(即位于第二范围内的部分图像)进行滤波处理;所述“调整范围内的像素梯度矢量”为进行所述滤波处理后的像素的梯度矢量。滤波的目的是为了降低噪音,使上面公式计算得到的结果更为可靠。这也是本公开的重点之一。滤波的方式可以借鉴诸多现有技术,如高斯滤波、中值滤波、线性滤波等,在实施该方案时可根据自身需求而进行选择,在此不作过多展开。

在一些实施例中,所述标签图像具有多条所述第一线段以及多个所述第一交点;所述第一范围具有多个,分别与多个所述第一交点一一对应。一般来说,一幅标签图像中会有多条第一线段,这些线段的交点经常不止一个,在执行确定方法时,可以依次地针对这些交点来进行相关计算;当然,也可以执行一次性计算,即同时在标签图像中确定多个第一范围,以同时确定这些第一范围对应的线段交点的位置。在更具体的情况下,若一条所述第一线段上具有3个以上的第一交点,调整这些第一交点对应的第一范围内的第一端点的位置时,使这些第一端点同时位于同一直线上。

在第二方面,本公开提出了一种标签图像的特征提取装置,用于提取具有相交的第一线段的标签图像的特征,它包括:(1)特征完备度判断模块,用于根据先验信息,判断是否符合用于判断特征完备度的第一条件;(2)亚像素线段提取模块,用于在符合所述第一条件时,对所述标签图像执行亚像素线段提取操作,获得用于表示所述第一线段位置的第二线段;用于根据所述第二线段的位置信息,获得亚像素交点的位置信息,所述亚像素交点包括可视交点以及未显示交点;(3)调整信息生成模块,用于根据所述第二线段以及所述亚像素交点的位置信息,生成对应于每一第二线段的直线向量的数据及确定调整范围,所述直线向量至少具有一个相交的第一端点;(4)位置调整模块,用于在所述调整范围内,调整所述直线向量的位置,直至每一所述直线向量与对应的调整范围内的像素梯度矢量的关系符合第二条件;(5)特征提取模块,用于在符合第二条件时的所述第一端点的位置信息作为所述标签图像的特征进行提取。

上述的模块可以集成在一起,也可以是分开的。一个模块也可以有多个更小的单元组成。所述特征提取装置还可以执行更多步骤,例如前文所说的实施例提到的各种步骤。

在第三方面,提出了一种基于标签图像的特征的定位方法,包括以下步骤:获取摄像头拍摄到的场景图像;对所述场景图像进行处理,获得标签图像;执行所述的特征提取方法,获得所述标签图像的特征;根据所述标签图像的特征,(可利用现有技术进行视觉定位的运算)获得相对位置信息。所述相对位置信息包括利用摄像头与标签的相对位置作为基础而得到的位置信息。标签图像的特征提取方法,应用于定位时,能改善标签被遮挡时定位效果不佳的情况。

在第四方面,提出了一种定位设备,包括摄像头以及处理器,所述摄像头用于对场景进行拍摄,得到场景图像;所述处理器用于对所述场景图像进行处理,获得标签图像;还用于执行所述特征提取方法的步骤,获得所述标签图像的特征;根据所述标签图像的特征,获得相对位置信息。

在第五方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述特征提取方法的步骤。

本领域技术人员可以理解的是,实施例中的全部或部分步骤,可以通过计算机程序来指令相关的硬件实现,该程序可以存储于计算机可读介质中,可读介质可以包括闪存盘、移动硬盘、只读存储器、随机存取器、磁盘或光盘等各种可以存储程序代码的介质。

在符合本领域技术人员的知识和能力水平范围内,本文提及的各种实施例或者技术特征在不冲突的情况下,可以相互组合而作为另外一些可选实施例,这些并未被一一罗列出来的、由有限数量的技术特征组合形成的有限数量的可选实施例,仍属于本公开揭露的技术范围内,亦是本领域技术人员结合附图和上文所能理解或推断而得出的。

另外,多数实施例的描述是基于不同的重点而展开的,未详述之处,可参见现有技术的内容或本文的其他相关描述进行理解。

再次强调,上文所列举的实施例,为本公开较为典型的、较佳实施例,仅用于详细说明、解释本公开的技术方案,以便于读者理解,并不用以限制本公开的保护范围或者应用。在本公开的精神和原则之内所作的任何修改、等同替换、改进等而获得的技术方案,都应被涵盖在本公开的保护范围之内。

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