路径导航方法、相关装置及计算机可读存储介质
技术领域
本申请涉及计算机视觉技术领域,特别涉及一种路径导航方法、相关装置及计算机可读存储介质。
背景技术
随着自动驾驶和导航技术的发展,目前的无人机、自主机器人等智能设备能够通过视觉深度传感器来采集图像信息,并根据获取的图像信息进行分析,从而实现避障和导航。
发明人在研究现有技术过程中发现,现有技术中的自主机器人等智能设备进行自主行走,通过获取障碍物信息实现导航时,往往根据采集的视觉信息通过定位结果确定通路障碍物信息,并进行导航,但由于视角限制和自身设备的缺陷,单纯使用这种方式可能无法获取到准确的通路障碍物信息,因此在根据获取的通路障碍物信息进行导航时,影响导航的准确性。
发明内容
本申请部分实施例所要解决的一个技术问题在于提供一种路径导航方法、相关装置及计算机可读存储介质,以解决上述技术问题。
本申请的一个实施例提供了一种路径导航方法、相关装置及计算机可读存储介质,包括:获取深度图;根据深度图构建世界坐标系下的三维点云,并根据世界坐标系下的三维点云进行路面检测确定第一通路障碍物信息;根据深度图进行图像学习确定第二通路障碍物信息;将第一通路障碍物信息和第二通路障碍物信息进行合并获得第三通路障碍物信息;根据第三通路障碍物信息进行路径导航。
本申请实施例还提供了一种路径导航装置,该路径导航装置包括:获取模块,用于获取深度图;第一确定模块,用于根据深度图构建世界坐标系下的三维点云,并根据世界坐标系下的三维点云进行路面检测确定第一路障碍物信息;第二确定模块,用于根据深度图进行图像学习确定第二通路障碍物信息;合并模块,用于将第一通路障碍物信息和第二通路障碍物信息进行合并获得第三通路障碍物信息;导航模块,用于根据第三通路障碍物信息进行路径导航。
本申请实施例还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意方法实施例中涉及的路径导航方法。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机指令,计算机指令用于使计算机执行本申请任意方法实施例中涉及的路径导航方法。
本申请实施例相对于现有技术而言,根据获取的深度图进行路面检测确定的第一通路障碍物信息,结合根据获取的深度图进行图像学习确定的第二通路障碍物信息,确定出与实际路况更加匹配的第三通路障碍物信息,并根据更符合实际的第三通路障碍物信息进行路径导航,提高路径导航的准确性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请第一实施例中路径导航方法的流程图;
图2是本申请第一实施例中像素坐标系和相机坐标系的关系图;
图3是本申请第一实施例中相机坐标系和世界坐标系的关系图;
图4是本申请第二实施例中路径导航方法的流程图;
图5是本申请第三实施例中路径导航装置的方框示意图;
图6是本申请第四实施例中路径导航装置的方框示意图;
图7是本申请第五实施例中电子设备的结构实例图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请部分实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的第一实施例涉及一种路径导航方法,应用于终端或云端。终端可以是导盲头盔、无人驾驶车辆或智能机器人等设备。云端与终端通信连接,为终端提供用于定位的地图或直接为终端提供定位结果。本实施例以终端为例说明路径导航方法的执行过程,云端执行该路径导航方法的过程可以参考本申请实施例的内容。
该路径导航方法的具体流程如图1所示,包括以下步骤:
在步骤101中,获取深度图。
具体的说,在本实施例中,深度图包括彩色图和彩色图对应的深度值。获取深度图的方式可以是终端在移动过程中通过摄像装置实时拍摄所获得的。
在步骤102中,根据深度图构建世界坐标系下的三维点云,并根据世界坐标系下的三维点云进行路面检测确定第一通路障碍物信息。
具体的说,根据深度图构建第一相机坐标系下的三维点云,获取终端的位姿信息,根据第一相机坐标系下的三维点云和位姿信息构建世界坐标系下的三维点云,再根据世界坐标系下的三维点云进行路面检测确定第一通路障碍物信息。
在一个具体实现中,利用公式(1)构建深度相机坐标系下的三维点云,公式(1)表示如下:
其中,u和v是深度图中像素点的位置坐标,f是深度相机的内参数,Xd、Yd和Zd是三维点云在深度相机坐标系下的坐标值,H表示深度图的宽,W表示深度图的高,并且Zd是深度图中像素点的深度值,为已知量。
另外,需要根据深度相机和彩色相机的转换关系,获得三维点云在第一相机(彩色相机)坐标系下的三维点云,并且利用公式(2)构建第一相机坐标系下的三维点云,公式(2)表示如下:
[Xc Yc Zc]=[R,T]cd[Xd Yd Zd] (2)
其中,Xd、Yd和Zd是三维点云在深度相机坐标系下的坐标值,Xc、Yc和Zc是三维点云在第一相机坐标系下的坐标值,[R,T]cd是深度相机和第一相机之间固定的转换矩阵,为已知量。
具体的说,在获取位姿信息时,具体为根据深度图进行特征提取获取特征角点,并确定特征角点对应的描述子,将深度图中的任意两帧图像的描述子进行匹配获得匹配信息,根据匹配信息获得转换矩阵;根据转换矩阵确定第二相机坐标系下的三维点云,根据第一相机坐标系下的三维点云和第二相机坐标系下的三维点云对转换矩阵进行校验;通过对校验后的转换矩阵进行优化获得位姿信息P。
需要说明的是,在本申请实施方式中,深度相机坐标系下的三维点云是根据包含深度值的深度图所构建的;第一相机坐标系下的三维点云是根据深度相机和彩色相机之间的固定转换关系,对深度相机坐标系下的三维点云通过计算获得的;第二相机坐标系下的三维点云是根据获取的彩色图通过特征点匹配获得的,因此理论上来说,在不存在匹配误差的情况下,第一相机坐标系下的三维点云与第二坐标系下的三维点云应该相同。
需要说明的是,在本实施方式中,具体是对深度图中的彩色图进行特征提取获得特征角点的,因此第二相机坐标系下的三维点云是基于对彩色图中的特征点进行提取和匹配等过程所最终获得的。而第一相机坐标系下的三维点云是通过深度相机坐标系下的三维点云转换获得的。虽然获取方式不同,但两者表达含义相同,所以对于任意一个特征角点,其在第一相机坐标系下的三维点云中的坐标,应与其在第二相机坐标系下的三维点云坐标相同。但由于匹配误差的存在,实际可能并不相同,因此需要对转换矩阵进行校验,并对校验后的转换矩阵进行优化,以使获得的终端位姿信息P更准确。当然,对于获取位姿信息的具体方式并不是本申请的重点,所以本申请实施例不再对其进行赘述。
具体的说,根据获取的位姿信息P和第一相机坐标系下的三维点云构建世界坐标系下的三维点云,以实现三维重建。并且利用公式(3)构建世界坐标系下的三维点云,公式(3)表示如下:
[Xw Yw Zw]=P[Xc Yc Zc] (3)
其中,Xw、Yw和Zw是三维点云在世界坐标系下的坐标值,P是获取的位姿信息,Xc、Yc和Zc是三维点云在第一相机坐标系下的坐标值。
需要说明的是,在进行坐标系方向确定时,设定标准图像坐标系为o1-xy,则相机坐标系和像素坐标系的关系如图2所示,相机坐标系和世界坐标的关系如图3所示。
其中,如图2所示,以深度图像的左上角为原点建立的以像素为单位的直角坐标系o-uv称为像素坐标系。像素的横坐标u与纵坐标v分别是在其图像数组中所在的列数与所在行数。图像坐标系o1-xy的原点o1定义为相机光轴与深度图像平面的交点,且x轴与u轴平行,y轴与v轴平行。相机坐标系Oc-XcYcZc以相机光心Oc为坐标原点,Xc轴和Yc轴分别与图像坐标系的x轴和y轴平行,Zc轴为相机的光轴,和图像平面垂直并交于o1点。
其中,如图3所示,世界坐标系Ow-XwYwZw的原点Ow与相机坐标系的原点Oc重合,均为相机光心,选取水平向右为Xw轴正方向,垂直向下为Yw轴正方向,垂直Xw Yw平面并指向正前方为Zw轴正方向,建立世界坐标系。
具体的说,在根据世界坐标系下的三维点云进行路面检测确定第一通路障碍物信息时,是根据世界坐标系下的三维点云进行路面检测获得道路的地面信息,根据获取的地面信息确定第一通路障碍物信息。
在一个具体实现中,根据世界坐标系下的三维点云进行路面检测,确定出三维点云中的地面区域和非地面区域,将获取的结果作为道路的地面信息。在确定出的地面区域进行障碍物检测确定出地面区域上的通路状况和障碍物状况,并用[x y z L]对世界坐标系下的三维点云进行标定,其中,x、y和z表示世界坐标系下的三维点云中任一点的坐标,L表示该点的属性,L=0表示通路,L=1表示障碍物,并将检测出的通路状况和障碍物状况的结果作为第一通路障碍物信息。
在步骤103中,根据深度图进行图像学习确定第二通路障碍物信息。
具体的说,根据彩色图生成初始候选区域,对初始候选区域进行划分获得至少两个第一候选区域;对每个第一候选区域进行特征提取,并确定每个第一候选区域的类别,其中,类别包括障碍物和路面;根据每个第一候选区域的类别和每个第一候选区域在初始候选区域的位置,确定第二通路障碍物信息。
在一个具体实现中,在彩色图像上经过图像学习生成初始候选区域时,每一个初始候选区域为矩形框并用ROI=[a,b,w,h]表示,a,b表示矩形框初始候选区域的左顶点在彩色图像中的位置坐标,w,h表示初始候选区域矩形框的宽和高。将已经确定位置和大小的初始候选区域ROI平均分割成k×k个第一候选区域,用box=[a+i×k,b+j×k,w/k,h/k]表示每个第一候选区域,i和j分别表示每个第一候选区域在水平方向和竖直方向上的序号。对每个确定的第一候选区域box通过卷积计算进行特征提取,确定每个第一候选区域的类别,其中,类别用字母class表示。若经过特征提取确定该第一候选区域的类别class=1,则表示该第一候选区域为障碍物,若经过特征提取确定该第一候选区域的类别class=0,则表示该第一候选区域为通路。根据每个第一候选区域的类别和每个第一候选区域在初始候选区域的位置,以及初始候选区域在彩色图像中的位置,确定出彩色图像中的障碍物和通路的信息,相应的彩色图像中的每个像素相应的对应着一个障碍物和路面的信息,根据像素坐标系、相机坐标系以及世界坐标系的关系,确定出与彩色图像中像素对应的世界坐标系中对应的点,从而确定出第二通路和障碍物信息。
在步骤104中,将第一通路障碍物信息和第二通路障碍物信息进行合并获得第三通路障碍物信息。
具体的说,将第一通路障碍物信息和第二通路障碍物信息进行合并,即将第一通路障碍物信息和第二通路障碍物信息中同时确定为障碍物和通路的点进行保留,将第一通路障碍物信息或第二通路障碍物信息中仅有一方确定为障碍物和通路点也进行保留,从而获得第三通路障碍物信息。因此在第三通路障碍物信息中既包含第一通路障碍物信息的全部内容,同时也包含第二通路障碍物信息的全部内容。结合定位和图像学习两方面来获得通路信息和障碍物信息,使得获得的结果更加全面,避免了通路信息和障碍物信息的缺失。
在步骤105中,根据第三通路障碍物信息进行路径导航。
与现有技术相比,本实施方式提供的路径导航方法,根据获取的深度图进行路面检测确定的第一通路障碍物信息,结合根据深度图进行图像学习确定的第二通路障碍物信息,确定出与实际路况更加匹配的第三通路障碍物信息,并根据第三通路障碍物信息进行导航,从而提高了路径导航的准确性。
本申请的第二实施例涉及一种路径导航方法,本实施例在第一实施例的基础上做了进一步改进,具体改进之处为:对根据第三通路障碍物信息进行路径导航的方式进行了具体描述。本实施例中的路径导航方法的流程如图4所示。
具体的说,在本实施例中,包括步骤201至步骤208,其中步骤201至步骤204与第一实施方式中的步骤101至步骤104大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的路径导航方法,此处不再赘述。
在步骤201至步骤204之后,执行步骤205。
在步骤205中,根据世界坐标系下的三维点云获取二维格栅地图。
具体的说,在本实施方式中,将世界坐标系下的三维点云投射到路面上,构成二维格栅地图,并在二维格栅地图的基础上进行路径导航。
在步骤206中,根据第三通路障碍物信息确定二维格栅地图中每个格子的属性。
具体的说,根据获得的第三通路障碍物信息确定二维格栅地图中每个格子的属性,其中,属性包括障碍物和通路。并可以用不同的颜色在二维格栅地图中对其属性进行标定。例如,用SG(p,q)=1表示在二维格栅地图中为障碍物的格子,并用白色进行标定;用SG(p,q)=0表示在二维格栅地图中为通路的格子,并用黑色进行标定。
在步骤207中,确定目的地的位置和当前的位置。
具体的说,在本实施方式中,可以通过全球定位系统(Global PositioningSystem,GPS)来确定当前的位置,可以根据接收的用户指令确定要到达的目的地的位置。
在步骤208中,根据目的地的位置、当前的位置和每个格子的属性确定最优的路径。
在一个具体实现中,若在二维格栅地图中确定的目的地的位置为T(u1,v1),确定的当前的位置为G(u0,v0),则根据目的地的位置和当前的位置计算一条直线为L1,确定L1的直线方程为u=A1v+B1,其中A1=(u1-u0)/(v1-v0),B1=u1-A1×v1。以当前的位置G(u0,v0)为圆心,任意给出一条直线L2,L2的直线方程为u=A2v+B2。直线L1与直线L2的夹角为θ,且满足tanθ=|(A1-A2)/(1+A1×A2)|,可以求得A2,则B2=u0-A2×v0。从当前的位置G(u0,v0)开始,遍历直线L2上的点,并且统计属性为SG(p,q)=0的格子的数量,当满足θ最小,并且属性为SG(p,q)=0的格子的总数量大于设定的预设阈值时,即确定θ为最优的前进方向,移动步长为属性为SG(p,q)=0的格子的总数量乘以m,其中m为每个格子对应的实际物理尺寸的大小,单位为米。
本申请的第三实施方式涉及一种路径导航装置,具体结构如图5所示。
如图5所示,路径导航装置包括获取模块301、第一确定模块302、第二确定模块303、合并模块304和导航模块305。
其中,获取模块301,用于获取深度图。
第一确定模块302,用于根据深度图构建世界坐标系下的三维点云,并根据世界坐标系下的三维点云进行路面检测确定第一通路障碍物信息。
第二确定模块303,用于根据深度图进行图像学习确定第二通路障碍物信息。
合并模块304,用于将第一通路障碍物信息和第二通路障碍物信息进行合并获得第三通路障碍物信息。
导航模块305,用于根据第三通路障碍物信息进行路径导航。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本申请的第四实施例涉及一种路径导航装置,该实施方式与第三实施方式大致相同,具体结构如图6所示。其中,主要改进之处在于:第四实施方式对第三实施方式中的导航模块的结构进行了具体描述。
其中,导航模块305包括获取子模块3051、属性确定子模块3052、位置确定子模块3053和路径确定子模块3054。
获取子模块3051,用于根据世界坐标系下的三维点云获取二维格栅地图。
属性确定子模块3052,用于根据第三通路障碍物信息确定二维格栅地图中每个格子的属性。
位置确定子模块3053,用于确定目的地的位置和当前的位置。
路径确定子模块3054,用于根据目的地的位置、当前的位置和每个格子的属性确定最优的路径。
不难发现,本实施方式为与第二实施方式相对应的装置实施例,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
以上所描述的装置实施例仅仅是示意性的,并不对本申请的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限制。
本申请的第五实施例涉及一种电子设备,具体结构如图7所示。包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502。其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行路径导航方法。
本实施例中,处理器501以中央处理器(Central Processing Unit,CPU)为例,存储器502以可读写存储器(Random Access Memory,RAM)为例。处理器501、存储器502可以通过总线或者其他方式连接,图7中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现环境信息确定方法的程序就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述路径导航方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个程序模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施例中的路径导航方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的第八实施例涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本申请任意方法实施例中涉及的路径导航方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。