一种环境图像的特征表示方法、机器和存储介质与流程

文档序号:19682105发布日期:2020-01-14 17:31阅读:168来源:国知局
一种环境图像的特征表示方法、机器和存储介质与流程

本发明实施例涉及机器视觉领域,特别涉及一种环境图像的特征表示方法、机器和存储介质。



背景技术:

由于机器人能代替人类从事繁重的家务劳动,因此深受人类的喜爱。机器人在完成用户的任务时,需要在未知环境中运动。在运动过程中为了实现自主定位和导航,需要构建增量式地图,同时估计自身在地图中的位置。

机器人在定位和建图过程中,需要对不同环境图像中的位置进行匹配,现有技术中,常采用特征点匹配的方法,该方法在比较复杂的户外环境中,可以获得较好的效果。

实现本发明过程中,发明人发现相关技术中至少存在如下问题:在家居环境中,由于家居环境中环境比较简单,常存在较大面积的同色图案,如采用特征点匹配的方法,匹配准确性较差。



技术实现要素:

本发明实施例的目的是提供一种环境图像的特征表示方法、机器和存储介质,采用线特征来表示环境图像,采用该方法匹配环境图像时,匹配准确性高。

第一方面,本发明实施例提供了一种环境图像的特征表示方法,所述方法包括:

获取环境图像;

对所述环境图像进行图像识别获得所述环境图像中的线段;

基于所述线段获得所述线段周围预设范围内的局部区域;

获取所述线段的局部区域的像素特征,并根据所述像素特征获得所述线段的描述子;

将所述线段的描述子匹配预先获取的环境字典,获得所述线段的类别,所述环境字典包括至少两个线段样本及所述线段样本对应的描述子和类别;

根据所述线段的坐标信息和类别获得所述线段的线特征。

在其中一些实施例中,所述方法还包括获取环境字典:

获取至少两个环境图像样本;

对所述至少两个环境图像样本进行图像识别获得所述至少两个环境图像样本中的线段样本;

基于所述线段样本获得所述线段样本周围预设范围内的局部区域;

获取所述线段样本的局部区域的像素特征,并根据所述像素特征获得所述线段样本的描述子;

对各个线段样本的描述子进行聚类,获得至少一个类别,以获得各个线段样本对应的描述子和类别。

在一些实施例中,所述获取所述线段的局部区域的像素特征,并根据所述像素特征获得所述线段的描述子,包括:

将所述线段的局部区域分成至少三个子区域,并获得每个子区域对应的像素特征;

根据所述线段的局部区域中各个子区域的像素特征获得所述线段的描述子。

在一些实施例中,所述线段的线特征还包括第二类别;

所述方法还包括:

比较所述线段的局部区域中各子区域的像素特征,并基于各子区域像素特征的变化获得所述线段的第二类别。

在一些实施例中,将局部区域分成至少三个子区域,包括:

沿所述线段的垂直方向将所述局部区域分成至少三个子区域。

在一些实施例中,所述像素特征包括第一像素值、第二像素值和第三像素值;

所述比较所述线段的局部区域中各子区域的像素特征,并基于各子区域像素特征的变化获得所述线段的第二类别,包括:

按固定顺序比较所述局部区域中各子区域对应的第一像素值、第二像素值和第三像素值,如果相邻子区域像素值变大,则赋予第一值,否则,赋予第二值;

将获得的第一值和第二值按固定顺序组成一数据,并将所述数据作为所述第二类别。

在一些实施例中,所述子区域对应的第一像素值为所述子区域的r平均值、所述子区域对应的第二像素值为所述子区域的g平均值、所述子区域对应的第三像素值为所述子区域的b平均值。

在一些实施例中,在获取所述局部区域后,所述方法还包括:

若所述局部区域超出所述环境图像的图像范围,则舍弃所述局部区域。

在一些实施例中,所述将所述线段的描述子匹配预先获取的环境字典,获得所述线段的类别,包括:

根据所述线段的描述子和预设距离获得所述线段的描述子的邻近范围空间;

获得所述环境字典中位于所述邻近范围空间内的线段样本的描述子,并将位于所述邻近范围空间内的线段样本的描述子中、包含最多数量描述子的类别作为所述线段的类别。

第二方面,本发明实施例还提供了一种机器,所述机器包括:

机器主体;

控制器,所述控制器内置于所述机器主体中;

所述控制器包括:

至少一个处理器,以及

存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。

第三方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被机器执行时,使所述机器执行上述的方法。

本申请与现有技术相比,至少具有以下有益效果:本发明实施例的环境图像的特征表示方法、机器及计算机可读存储介质,通过提取环境图像中的线段,获取线段周围预设范围内的局部区域,并根据局部区域的像素特征获得所述线段的描述子。将该线段的描述子匹配环境字典,获得线段的类别,再根据线段的坐标信息和类别获得线段的线特征。在将该特征表示方法应用于环境简单、含线条多的场景中进行图像匹配时,可以基于线特征进行图像匹配,相较于特征点匹配的方法,匹配准确率高。且同时利用线段的坐标信息和线段所属类别表示线段的线特征,能更准确的描述线段的特征,进一步提高了匹配精度。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明实施例环境图像的特征表示方法和装置的一个应用场景示意图;

图2是本发明机器人的一个实施例的结构示意图;

图3a是本发明环境图像的特征表示方法的一个实施例的流程示意图;

图3b是本发明环境图像的特征表示方法的一个实施例中获取环境字典的流程示意图;

图4是本发明环境图像的特征表示方法的一个实施例中获取线段的局部区域的示意图;

图5是本发明环境图像的特征表示方法的一个实施例中将局部区域分成若干子区域的示意图;

图6是本发明环境图像的特征表示装置的一个实施例的结构示意图;

图7是本发明环境图像的特征表示装置的一个实施例的结构示意图;

图8是本发明机器人的一个实施例中控制器的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在机器视觉领域,常需要匹配两个或者两个以上的场景图像,目前,多采用特征点匹配的方法匹配场景图像。该方法在比较复杂的环境(例如户外环境)中匹配准确性高。家居环境的结构和颜色组成较为简单,出于美观的考虑,同一物品一般颜色相同,但是两物品相接的地方,会有大量的线条。在这样的环境中,如果采用线条特征来描述场景图像,并基于线条特征进行图像匹配,则相较于特征点匹配的方法,匹配精度更高。

其中,获得环境图像的线特征,可以先基于环境图像进行直线识别,获得环境图像中的线段,然后用该线段的坐标和所属类别表示该线段的线特征。其中,可以由该线段周围一定区域的颜色特征描述子获得该线段的类别。具体的,先训练获得环境字典,该环境字典中包括大量线段样本,每个线段样本具有对应的颜色特征描述子和类别。将线段的颜色特征描述子比对环境字典中的线段样本的颜色特征描述子,即可获得该线段的类别。

图1示出了本发明实施例的环境图像的特征表示方法和装置的应用场景。所述应用场景包括机器人10,其中,机器人10可以为可移动机器人,例如扫地机器人、巡检机器人、无人采样机器人、无人叉车等等。

机器人10在为了完成用户的任务或者其他情况下,需要在未知环境中运动。在运动过程中为了实现自主定位和导航,需要构建增量式地图,同时进行定位,即估计自身在地图中的位置。

机器人10根据自身对周围物体的观测距离对自身在地图中的位置进行定位,在获取所述观测距离时,可以采用双目视觉方法,需对双目相机获得的两幅图像进行匹配。如果机器人应用于环境简单、含线条多的环境中,利用本发明实施例的特征表示方法用线特征表示场景图像,并基于线特征进行图像匹配,则匹配准确性更高,从而能获得更准确的观测距离,进而提高机器人的定位精度。

其中,在一些实施例中,请参照图2,机器人10包括机器人主体11、摄像装置12、控制器13和行走机构14。机器人主体11是机器人的主体结构,可以根据机器人10的实际需要,选用相应的形状结构及制造材质(如硬质塑料或者铝、铁等金属),例如设置为扫地机器人常见的较为扁平的圆柱形。

行走机构14设置于机器人主体11上,是为机器人10提供移动能力的结构装置。该行走机构14具体可以采用任何类型的移动装置实现,例如滚轮、履带式等。摄像装置12用于获得周围环境的图像,例如rgbd摄像机。

控制器13是内置于机器人主体11中的电子计算核心,用于执行逻辑运算步骤以实现机器人10的智能化控制。控制器13与摄像装置12连接,用于根据摄像装置12采集的周围环境图像,执行预设的算法进行自身定位和地图构图。

在该实施例中,本发明实施例的环境图像的特征表示方法可以由控制器13执行,控制器13执行该特征表示方法用线特征表示摄像装置获得的环境图像,并基于线特征进行图像匹配。

需要说明的是,本发明实施例的环境图像的特征表示方法尤其适用于环境简单、含线条多的场景,在这样的环境中能获得比特征点匹配方法更高的匹配准确度。但本发明实施例的特征表示方法同样适用于其他环境,例如复杂的户外环境等。

本发明实施例的环境图像的特征表示方法可以应用于各种合适的机器,除应用于可移动机器人外,还可应用于非可移动机器人。除应用于机器人外,本发明实施例的方法还可以应用于其他机器,例如无人飞行器,计算机、移动终端等。

图3a为本发明实施例提供的环境图像的特征表示方法的流程示意图,该方法可以应用于任意机器,例如图1或图2所示的机器人10,在应用于机器人10时,该方法由机器人10中的控制器13执行,在应用于其他机器时,该方法可由其他机器的控制器执行。如图3所示,所述方法包括:

101:获取环境图像。

其中,所述环境图像可以是机器自带的摄像装置获取的,也可以是其他设备获取之后通过通信装置传送给所述机器的。

102:对所述环境图像进行图像识别获得所述环境图像中的线段。

其中,识别环境图像中的线段,可以采用现有技术中任何合适的直线识别算法,例如霍夫(hough)直线检测算法,lsd(linesegmentdetector)直线提取算法等。

103:基于所述线段获得所述线段周围预设范围内的局部区域。

其中,所述局部区域可以是在所述线段周围一定范围内的区域,例如长度覆盖所述线段、宽度适当扩展大于线段宽度的一定区域,该局部区域可以采用任意合适的形状。在图4所示的实施例中,局部区域为矩形,该矩形的长度与其对应的线段长度相同。

在其中一些实施例中,为了进一步提高线段特征描述的准确性,获得局部区域后,确定该局部区域是否超出图像范围,如果超出图像范围,则舍弃该局部区域,否则,继续使用该局部区域进行计算。

104:获取所述线段的局部区域的像素特征,并根据所述像素特征获得所述线段的描述子。

其中,所述局部区域的像素特征可以是所述局部区域的rgb值,为了减少噪声,可以采用局部区域内的rgb平均值,即对局部区域内红(r)、绿(g)、蓝(b)三个颜色通道的值分别取均值,获得r值r、g值g和b值b,然后按顺序将这些描述组合在一起,则该线段的描述子为(r,g,b)。

在另一些实施例中,为了使各线段的特征更明显,从而使各线段之间更易于区分,将所述线段的局部区域分成至少两个子区域,并获得每个子区域对应的像素特征;再根据所述线段的局部区域中各个子区域的像素特征获得所述线段的描述子。其中,子区域的数量可以是任何合适的数量,例如3个、4个、5个等。对子区域的分割可以沿任何合适的方向进行分割,例如沿着线段方向或者沿着与线段垂直的方向。

在其中一些实施例中,由于沿着线段的方向颜色一般不发生变化,因此,沿着垂直于线段的方向将局部区域分成若干子区域,这样能更准确的描述线段的特征。在图5所示的实施例中,沿着与线段垂直的方向将局部区域平均分成三个子区域band1、band2和band3。其中,dl表示线段方向,d⊥表示线段的垂直方向。

以像素特征为rgb均值,分成三个子区域为例,获得该局部区域对应的线段的描述子,可以先分别获得各个子区域的rgb均值r1、g1、b1、r2、g2、b2、r3、g3、b3,则该线段的描述子为(r1,g1,b1,r2,g2,b2,r3,g3,b3)。

105:将所述线段的描述子匹配预先获取的环境字典,获得所述线段的类别,所述环境字典包括至少两个线段样本及所述线段样本对应的描述子和类别。

其中,环境字典可以是事先通过其他机器训练获得之后直接加载在机器的控制器中的,在另一些实施例中,环境字典也可以是由机器自身训练获得的,在该实施例中,请参照图3b,所述方法还包括训练环境字典的步骤:

101a:获取至少两个环境图像样本;

102a:对所述至少两个环境图像样本进行图像识别获得所述至少两个环境图像样本中的线段样本;

103a:基于所述线段样本获得所述线段样本周围预设范围内的局部区域;

104a:获取所述线段样本的局部区域的像素特征,并根据所述像素特征获得所述线段样本的描述子;

在步骤101a-104a中,换取大量环境图像样本,然后基于环境图像样本识别出其中的线段样本、并获得线段样本的局部区域,根据局部区域的像素特征获得线段样本的描述子。其中,识别线段样本、获得局部区域以及获得线段样本的描述子的步骤可以参照步骤102、103和104,在此不再赘述。

105a:对各个线段样本的描述子进行聚类,获得至少一个类别,以获得各个线段样本对应的描述子和类别。

其中,可以采用k均值聚类算法(k-means)对各个线段样本的描述子进行聚类,获得至少一个类别。即设置k值,然后根据线段样本的像素特征描述子进行聚类,获得k个类别。该k个类别可以用不同的字符来表示,例如1、2…k。

获得线段的类别时,可以将线段的描述子对比环境字典中的描述子,获得所述线段的类别。具体的,通过k近邻算法(k-nearestneighbor,knn)将所述线段的描述子匹配环境字典中的线段样本,获得所述线段的类别。首先,根据该线段的描述子和预设距离获得该线段的描述子的邻近范围空间,其中,该邻近范围空间的维度取决于描述子的维度,例如,在局部区域被分成三个子区域、像素特征包括r值、g值和b值的场合,该描述子为九维,则该邻近范围空间为九维空间。然后,获得环境字典中位于该邻近范围空间内的描述子,并取其中包含最多数量的描述子对应的类别作为该线段的类别。

106:根据所述线段的坐标信息和类别获得所述线段的线特征。

按顺序将线段的坐标信息和类别组合在一起,获得线段的线特征,假如用group_id_rgb表示线段的类别,则线段的线特征可以表示为:linei=(start_x,start_y,end_x,end_y,group_id_rgb),其中,(start_x,start_y)表示起始点坐标,(end_x,end_y)表示终止点坐标。

在另一些实施例中,为了进一步提高线段特征描述的准确性,还基于各子区域像素特征的变化获得所述线段的第二类别。首先,按相同顺序比较各子区域的颜色值,即针对每个局部区域,对子区域颜色值的比较均按相同顺序。例如,顺序比较第二个子区域和第一个子区域,第三个子区域和第二个子区域,…,倒数第一个子区域和倒数第二个子区域,最后一个子区域和第一个子区域。如果相邻子区域颜色值变大,则赋予第一值,否则,赋予第二值,其中,该第一值和第二值可以为任何合适的字符,例如1和0。然后将各个第一值和第二值按顺序组成一数据,该数据即为第二类别,该顺序可以采用与比较顺序相同的顺序。具体的,该数据可以是二进制数据,将获得的各个第一值和第二值按固定顺序作为各个位的值组成一个二进制数据。

在像素特征为rgb均值的场合,分别针对r值、g值和b值进行比较,如果ri+1>ri则为1、否则为0,如果gi+1>gi则为1、否则为0,如果bi+1>bi则为1、否则为0。在图5所示的实施例中,如果r2>r1、b2>b1、g2>g1、r3<r2、b3<b2、g3<g2、r3>r1、b3>b1、g3>g1,则第二类别为111000111。如果用group_id_fast表示第二类别,则线段特征可以表示为:linei=(start_x,start_y,end_x,end_y,group_id_fast,group_id_rgb)。

本发明实施例的环境图像的特征表示方法、机器及计算机可读存储介质,通过提取环境图像中的线段,获取线段周围预设范围内的局部区域,并根据局部区域的像素特征获得所述线段的描述子。将该线段的描述子匹配环境字典,获得线段的类别,再根据线段的坐标信息和类别获得线段的线特征。在将该特征表示方法应用于环境简单、含线条多的场景中进行图像匹配时,可以基于线特征进行图像匹配,相较于特征点匹配的方法,匹配准确率高。且同时利用线段的坐标信息和线段所属类别表示线段的线特征,能更准确的描述线段的特征,进一步提高了匹配精度。,而且这种基于线特征的稀疏描述方法可以极大地减少存储空间。

相应的,如图6所示,本发明实施例还提供了一种环境图像的特征表示装置,可以应用于任何机器,例如图1或图2所示的机器人10,环境图像的特征表示装置600包括:

图像获取模块601,用于获取环境图像;

识别模块602,用于对所述环境图像进行图像识别获得所述环境图像中的线段;

局部区域获取模块603,用于基于所述线段获得所述线段周围预设范围内的局部区域;

描述子获得模块604,用于获取所述线段的局部区域的像素特征,并根据所述像素特征获得所述线段的描述子;

类别获取模块605,用于将所述线段的描述子匹配预先获取的环境字典,获得所述线段的类别,所述环境字典包括至少两个线段样本及所述线段样本对应的描述子和类别;

线特征获取模块606,用于根据所述线段的坐标信息和类别获得所述线段的线特征。

本发明实施例通过提取环境图像中的线段,并基于所述线段获得所述线段的线特征。在将该特征表示方法应用于环境简单、含线条多的场景中进行图像匹配时,可以基于线特征进行图像匹配,匹配准确率高。而且这种基于线特征的稀疏描述方法可以极大地减少存储空间。

在一些实施例中,环境图像的特征表示装置600还包括环境字典获取模块607,用于:

获取至少两个环境图像样本;

对所述至少两个环境图像样本进行图像识别获得所述至少两个环境图像样本中的线段样本;

基于所述线段样本获得所述线段样本周围预设范围内的局部区域;

获取所述线段样本的局部区域的像素特征,并根据所述像素特征获得所述线段样本的描述子;

对各个线段样本的描述子进行聚类,获得至少一个类别,以获得各个线段样本对应的描述子和类别。

在一些实施例中,描述子获得模块604具体用于:

将所述线段的局部区域分成至少三个子区域,并获得每个子区域对应的像素特征;

根据所述线段的局部区域中各个子区域的像素特征获得所述线段的描述子。

在一些实施例中,所述线段的线特征还包括第二类别;

类别获取模块605还用于:

比较所述线段的局部区域中各子区域的像素特征,并基于各子区域像素特征的变化获得所述线段的第二类别。

在一些实施例中,描述子获得模块604具体用于:

沿所述线段的垂直方向将所述局部区域分成至少三个子区域。

在一些实施例中,所述像素特征包括第一像素值、第二像素值和第三像素值;

类别获取模块605还用于:

按固定顺序比较所述局部区域中各子区域对应的第一像素值、第二像素值和第三像素值,如果相邻子区域像素值变大,则赋予第一值,否则,赋予第二值;

将获得的第一值和第二值按固定顺序组成一数据,并将所述数据作为所述第二类别。

在一些实施例中,所述子区域对应的第一像素值为所述子区域的r平均值、所述子区域对应的第二像素值为所述子区域的g平均值、所述子区域对应的第三像素值为所述子区域的b平均值。

在一些实施例中,局部区域获取模块603还用于:

若所述局部区域超出所述环境图像的图像范围,则舍弃所述局部区域。

需要说明的是,上述装置可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

图8为机器中控制器的硬件结构示意图,以机器为机器人为例,如图8所示,控制器13包括:

一个或多个处理器131以及处理器132,图8中以一个处理器131为例。

处理器131和处理器132可以通过总线或者其他方式连接,图8中以通过总线连接为例。

处理器132作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的环境图像的特征表示方法对应的程序指令/模块(例如,附图6所示的图像获取模块601)。处理器131通过运行存储在处理器132中的非易失性软件程序、指令以及模块,从而执行控制器的各种功能应用以及数据处理,即实现上述方法实施例的环境图像的特征表示方法。

处理器132可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据环境图像的特征表示装置的使用所创建的数据等。此外,处理器132可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,处理器132可选包括相对于处理器131远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述处理器132中,当被所述一个或者多个处理器131执行时,执行上述任意方法实施例中的环境图像的特征表示方法,例如,执行以上描述的图3a中的方法步骤101至步骤106、图3b中的方法步骤101a-105a;实现图6中的模块601-606、图7中的模块601-607的功能。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图8中的一个处理器131,可使得上述一个或多个处理器可执行上述任意方法实施例中的环境图像的特征表示方法,例如,执行以上描述的图3a中的方法步骤101至步骤106、图3b中的方法步骤101a-105a;实现图6中的模块601-606、图7中的模块601-607的功能。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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