CN111288971B - 一种视觉定位方法及装置 - Google Patents
一种视觉定位方法及装置 Download PDFInfo
- Publication number
- CN111288971B CN111288971B CN202010221493.7A CN202010221493A CN111288971B CN 111288971 B CN111288971 B CN 111288971B CN 202010221493 A CN202010221493 A CN 202010221493A CN 111288971 B CN111288971 B CN 111288971B
- Authority
- CN
- China
- Prior art keywords
- image
- positioning
- sub
- pose
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/02—Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3415—Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Navigation (AREA)
Abstract
本说明书公开了一种视觉定位方法及装置,无人车可获取当前时刻的环境图像以及待定位姿,并根据电子地图中最近一次确定出实际位姿的第一子图包含的各定位图像对应的实际位姿,确定与该待定位姿的距离小于第一预设距离的实际位姿,并将该实际位姿对应的定位图像作为目标图像,确定以该目标图像为锚点的第二子图,最后根据该第二子图包含的各定位图像以及该环境图像,确定该无人车的实际位姿。通过从最近一次确定出实际位姿的第一子图包含的各定位图像中,确定当前时刻的目标图像,以确定第二子图,并根据该第二子图包含的各定位图像和环境图像,基于各定位图像对应的实际位姿进行定位,提高了定位的准确率。
Description
技术领域
本申请涉及定位技术领域,尤其涉及一种视觉定位方法及装置。
背景技术
随着基于位置的服务(Location Based Service,LBS)的发展,全球定位系统(Global Positioning System,GPS)定位、激光定位以及视觉定位都得到了广泛应用,由于高精度的GPS设备以及激光雷达设备成本较高,因此在无人驾驶设备以及智能机器人的定位中,常采用定位精度较低的GPS设备与视觉定位技术结合的方式进行定位。
现有技术中的一种视觉定位方法是:在进行定位时,首先无人车可通过定位精度较低的GPS设备确定自身的待定位姿,并采集无人车周围的环境图像。之后确定以该待定位姿为中心,以预设长度为半径的定位范围,再从预先构建的电子地图中,确定在该定位范围内的各定位图像,其中,预先构建的电子地图是基于历史采集的若干定位图像构建的。然后分别提取环境图像以及确定出的各定位图像的图像特征,并进行特征匹配,从确定出的各定位图像中确定出与该环境图像匹配的定位图像。最后根据该环境图像、该匹配到的定位图像以及预先采集该定位图像时采集设备的实际位姿,通过位姿解算,确定该无人车当前的实际位姿。
但是,当定位精度较低的GPS设备确定出的待定位姿误差较大时,根据该待定位姿确定出的定位范围不够准确,进而导致后续通过匹配定位图像确定出的该无人车当前的实际位姿不准确,定位效果较差。
发明内容
本说明书实施例提供一种视觉定位方法及装置,用于部分解决现有技术中存在的上述问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种视觉定位方法,包括:
获取当前时刻无人车周围的环境图像,以及确定获取所述环境图像时所述无人车的待定位姿;
确定电子地图包含的各子图中最近一次确定出所述无人车实际位姿的子图,作为第一子图,其中,子图由作为锚点的定位图像对应的数据以及若干其他定位图像对应的数据组成,定位图像对应的数据至少包含采集所述定位图像时采集设备的实际位姿;
根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像;
从所述电子地图包含的各子图中,确定以所述目标图像作为锚点的子图,作为第二子图;
根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿。
可选地,所述实际位姿包括采集定位图像时采集设备的坐标和朝向;
采用下述方法构建所述电子地图,其中:
获取采集的各定位图像,并确定各定位图像对应的数据;
针对每个定位图像,从其他各定位图像中,确定与该定位图像对应的坐标的距离小于第二预设距离,且与该定位图像对应的朝向的角度差小于预设角度的其他定位图像;
根据该定位图像对应的数据以及确定出的其他定位图像对应的数据,确定子图,其中该定位图像是所述子图中作为锚点的定位图像;
根据确定出各子图,构建所述电子地图。
可选地,根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像,具体包括:
针对所述第一子图中包含的各定位图像分别对应的实际位姿,确定与所述待定位姿距离最近的实际位姿;
判断所述距离最近的实际位姿与所述待定位姿的距离是否小于第一预设距离;
若是,则将所述距离最近的实际位姿对应的定位图像作为当前时刻的目标图像;
若否,则确定定位失败。
可选地,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿,具体包括:
根据所述环境图像以及所述第二子图中的各定位图像,通过位姿解算确定解算位姿;
判断所述解算位姿与所述第二子图中作为锚点的定位图像对应的实际位姿的距离是否小于所述第二预设距离;
若是,则将所述解算位姿作为当前时刻所述无人车的实际位姿;
若否,则确定定位失败。
可选地,所述定位图像对应的数据至少包括:实际位姿以及所述定位图像的特征信息;
所述无人车本地存储有所述电子地图中各子图包含的定位图像对应的实际位姿,以及各子图中最近一次确定出所述无人车实际位姿的子图包含的各定位图像的特征信息。
可选地,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿,具体包括:
根据所述第一子图包含的各定位图像,确定所述第二子图包含的各定位图像中,特征信息未存储在本地的定位图像;
根据确定出的特征信息未存储在本地的定位图像,向服务器发送获取请求;
接收所述服务器返回的数据,确定所述第二子图包含的各定位图像的特征信息;
根据所述环境图像、所述第二子图包含的各定位图像的特征信息以及所述第二子图包含的各定位图像对应的实际位姿,确定当前时刻所述无人车的实际位姿。
可选地,所述方法还包括:
当确定出当前时刻所述无人车的实际位姿时,删除本地存储的所述第二子图包含的各定位图像的特征信息以外的特征信息,使本地仅存储一个子图包含的定位图像的特征信息。
可选地,所述方法还包括:
当确定基于所述第一子图定位失败的次数大于预设次数时,删除本地存储的第一子图包含的各定位图像的特征信息,并重新根据所述待定位姿以及所述电子地图包含的各定位图像对应的实际位姿,从所述电子地图包含的各定位图像中确定目标图像。
可选地,所述方法还包括:
确定最近一次确定出所述无人车实际位姿的历史时刻;
确定所述历史时刻与所述当前时刻的时间差;
当确定出的时间差大于预设时间差时,删除本地存储的第一子图包含的各定位图像的特征信息,并重新根据所述待定位姿以及所述电子地图包含的各定位图像对应的实际位姿,从所述电子地图包含的各定位图像中确定目标图像。
本说明书提供一种视觉定位装置,包括:
获取模块,获取当前时刻无人车周围的环境图像,以及确定获取所述环境图像时所述无人车的待定位姿;
第一子图确定模块,确定电子地图包含的各子图中最近一次确定出所述无人车实际位姿的子图,作为第一子图,其中,子图由作为锚点的定位图像对应的数据以及若干其他定位图像对应的数据组成,定位图像对应的数据至少包含采集所述定位图像时采集设备的实际位姿;
目标图像确定模块,根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像;
第二子图确定模块,从所述电子地图包含的各子图中,确定以所述目标图像作为锚点的子图,作为第二子图;
实际位姿确定模块,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述视觉定位方法。
本说明书提供的一种无人车,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述视觉定位方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
在确定无人车当前时刻的实际位姿时,该无人车可先获取当前时刻周围的环境图像以及待定位姿,并确定电子地图包含的各子图中最近一次确定出实际位姿的子图为第一子图,之后根据该待定位姿以及该第一子图中包含的各定位图像对应的实际位姿,确定与该待定位姿的距离小于第一预设距离的实际位姿,并将该实际位姿对应的定位图像作为当前时刻的目标图像,以从该电子地图包含的各子图中,确定以该目标图像作为锚点的子图作为第二子图,最后根据该第二子图以及该环境图像,确定当前时刻该无人车的实际位姿。通过从最近一次确定出实际位姿的第一子图包含的各定位图像中,确定当前时刻的目标图像,以确定第二子图,并根据该第二子图中各定位图像对应的实际位姿,确定无人车当前时刻的实际位姿,提高了定位的准确率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种视觉定位方法的示意图;
图2为本说明书实施例提供的一种子图确定方法的示意图;
图3为本说明书实施例提供的一种待定位姿确定方法的示意图;
图4为本说明书实施例提供的一种第二子图确定方法的示意图;
图5为本说明书实施例提供的一种特征信息获取方法的示意图;
图6为本说明书实施例提供的一种视觉定位流程的示意图;
图7为本说明书实施例提供的一种视觉定位的装置的结构示意图;
图8为本说明书实施例提供的实现视觉定位方法的无人车的示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中用于视觉定位的电子地图中包含历史采集的定位图像,通常这种电子地图包含的定位图像数量是海量的,并且是通过自身携带有高精度定位装置的设备采集的,例如,携带有高精度的GPS装置以及图像传感器的勘测车,通过在道路上行驶采集定位图像。于是,针对电子地图中包含的每个定位图像,电子地图中还包含该定位图像对应的实际位姿。
另外,由于后续进行视觉定位时是通过对环境图像的特征和定位图像的特征进行匹配进行定位的,因此通常为了节省存储空间,电子地图中可只包含从定位图像中提取出的特征,而不用包含定位图像本身。在常见的用于视觉定位的电子地图中,针对每个定位图像,该定位图像对应的数据从数据类型上可分为:基础数据以及特征信息。其中,基础数据通常包括:定位图像的标识以及定位图像对应的实际位姿,而特征信息则与视觉定位采用的技术有关,不同技术采集的特征信息包含的数据可能不完全一致。例如,利用激光点云和图像进行视觉定位的技术中,特征信息可包括:定位图像中特征点的图像特征以及特征点对应的激光点云信息。而利用深度图像进行视觉定位的技术中,特征信息可包括:定位图像的特征点的图像特征以及特征点的深度特征。并且由于定位过程实际是根据电子地图中各定位图像中特征点的图像特征以及特征点的实际坐标与无人车采集的环境图像中特征点的图像特征以及特征点的实际坐标进行匹配,确定无人车的实际位姿。因此通过激光点云或深度图像确定图像的特征信息时,还需要进一步确定特征点的实际坐标。当以激光点云和图像进行视觉定位时,可通过激光点云确定各特征点的实际坐标。当以深度图像进行视觉定位时,可通过特征点的深度特征确定各特征点的实际坐标。
现有技术中基于全局搜索的视觉定位方法,无人车采集周围的环境图像后,可先提取该环境图像的图像特征,之后将该环境图像的图像特征与预先构建的电子地图中的各定位图像的图像特征进行特征匹配,确定出匹配度较高的K张定位图像,以通过后续计算确定该无人车的实际位姿。
由于采用全局搜索的视觉定位方法进行定位时,需要将该环境图像的图像特征与电子地图中海量的定位图像的图像特征进行特征匹配,计算量较大,因此为了减少匹配的计算量,可先通过无人车上配置的GPS设备确定无人车的待定位姿,再从该电子地图中确定该待定位姿周围的各定位图像,最后将该环境图像与确定出的该待定位姿周围的环境图像进行匹配,从而确定该无人车当前时刻的实际位姿。由于确定出的待定位姿用于粗略该无人车的位置,以从电子地图中确定该无人车周围的各定位图像,因此可采用定位精度较低的GPS设备测量,以节省定位成本。
本说明书提供的视觉定位方法,可部分解决现有技术中存在的上述问题。以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例提供的一种视觉定位方法,具体可包括以下步骤:
S100:获取当前时刻无人车周围的环境图像,以及确定获取所述环境图像时所述无人车的待定位姿。
本说明书提供的视觉定位方法具体可由无人车执行,或者也可由控制无人车的服务器执行,本说明书对于由何种设备执行该视觉定位过程不做限定,具体可根据需要设置。其中,当由该无人车执行时,该无人车本地可存储有全部的电子地图数据,包括该电子地图中的各定位图像对应的基础数据以及特征信息。为了方便描述,后续以无人车执行该视觉定位过程为例进行说明。
在本说明书一个或多个实施例中,无人车可基于采集的环境图像与电子地图中的各定位图像匹配进行定位,且为了减少匹配的计算量,该无人车还可确定自身的待定位姿。
具体的,无人车可通过自身配置的图像传感器采集包含该无人车周围环境信息的环境图像,并通过自身配置的GPS设备确定无人车采集该环境图像时的待定位姿,或者当已知该无人车的起始位置时,也可通过该无人车上配置的里程计或惯性测量单元(Inertialmeasurement unit,IMU),确定该无人车的待定位姿。其中,该图像传感器可根据需要设置,当进行特征匹配是基于激光点云以及图像特征进行特征匹配时,可配置为激光雷达传感器以及相机,当进行特征匹配是基于特征点的深度特征以及图像特征进行特征匹配时,可配置为双目相机,本说明书对此不做限制,可根据需要设置。
S102:确定电子地图包含的各子图中最近一次确定出所述无人车实际位姿的子图,作为第一子图,其中,子图由作为锚点的定位图像对应的数据以及若干其他定位图像对应的数据组成,定位图像对应的数据至少包含采集所述定位图像时采集设备的实际位姿。
在本说明书一个或多个实施例中,在构建电子地图时,可针对历史采集的每个定位图像,根据各定位图像对应的实际位姿,确定以该定位图像对应的实际位姿为中心,预设长度为半径的定位范围内的各定位图像,并根据该定位图像以及确定出的各定位图像,确定以该定位图像为锚点的子图。
具体的,该电子地图可采用下述方法构建,首先获取历史上采集的各定位图像,并确定各定位图像对应的数据,定位图像对应的数据至少包含采集该定位图像时采集设备的实际位姿,实际位姿包括采集定位图像时采集设备的坐标和朝向。之后针对每个定位图像,从其他各定位图像中,确定与该定位图像对应的坐标的距离小于第二预设距离,且与该定位图像对应的朝向的角度差小于预设角度的其他定位图像,然后根据该定位图像对应的数据以及确定出的其他定位图像对应的数据,确定以该定位图像为锚点(即,以该定位图像对应的实际位姿为中心)的子图,最后根据确定出各子图,构建该电子地图。为方便描述,后续将子图中包含的定位图像所覆盖的范围、以锚点定位图像对应的实际位姿为中心,第二预设距离为半径,确定出的范围,统称为子图的定位范围。
其中,第二预设距离通常与电子地图应用场景中用于定位的设备的行驶速度呈正相关,例如,当电子地图用于无人配送车的定位过程中时,无人配送车的行驶速度为5m/s,因此可设置该电子地图中的第二预设距离为10m。当电子地图用于高速行驶的无人车的定位过程中时,由于高速行驶的无人车的行驶速度为10m/s,因此可设置该电子地图中的第二预设距离为20m。应用场景中用于定位的设备的行驶速度越快,可设置该电子地图中的该第二预设距离越长。第二预设距离与预设角度可根据需要设置,本说明书对此不作限制。例如:通常无人车可采集行驶前方的环境图像以进行定位,因此可设预设角度为±90°。当不同子图中作为锚点的定位图像对应的实际位姿相近时,则对应的子图中存在有重复的定位图像。
当然,在本说明书中,子图也可不限制角度,可根据该待定位姿,确定以该待定位姿为中心,预设长度为半径的定位范围,并从该电子地图中确定该定位范围内的各定位图像,以根据确定出的各定位图像对应的数据确定子图,使得无人车在改变方向,采集的环境图像的朝向发生变化时,也可根据子图进行定位。
需要说明的是,电子地图中的子图为:包含预设定位范围内定位图像对应的数据的子地图,该定位范围内的定位图像包括:作为锚点的定位图像以及距离该定位图像小于预设距离,且朝向与该定位图像的角度差小于预设角度的其他定位图像。
如图2所示,假设第二预设距离为R,预设角度为±90°,图中A、B、C…表示构建地图时的采集设备,a、b、c…表示采集的各定位图像。图中实线圆表示以定位图像a作为锚点的子图的定位范围,即,以采集设备A采集定位图像a时的坐标为中心,R为半径的定位范围。图中实线圆内用实线表示的采集设备与定位图像与定位图像a对应的朝向的角度差小于±90,图中实线圆内用虚线表示的采集设备与定位图像与定位图像a对应的朝向的角度差大于±90,实线圆外用虚线表示的采集设备与定位图像与定位图像a对应的坐标之间的距离大于R。根据第二预设距离R以及采集设备A采集定位图像a时的朝向,可确定与定位图像a距离小于R且与朝向小于±90°的各定位图像,如图中实线圆内用实线表示的采集设备与定位图像,因此可确定以定位图像a为锚点的子图中有定位图像b、c、d、g、h。
进一步的,由于子图对应有定位范围,而无人车是连续移动的,因此通常在进行连续定位时,当前时刻可认为无人车仍行驶在最近一次确定出实际位姿的第一子图的定位范围内,或者即时驶离了该第一子图的定位范围也不会距离该范围太远。于是,在本说明书一个或多个实施例中,可根据该待定位姿,从最近一次确定出实际位姿的第一子图中,确定目标图像,以确定第二子图进行定位。
由于无人车的实际位姿是通过该环境图像与子图中的定位图像进行匹配确定的,因此该实际位姿应处于该子图的定位范围内,当确定出无人车的实际位姿时,可认为无人车处于确定出该实际位姿的子图的定位范围内,而无人车是连续移动的,在进行连续定位时,可认为该无人车仍行驶在最近一次确定出该无人车实际位姿的子图的定位范围内。因此无人车可基于最近一次确定出该无人车实际位姿的子图,确定该无人车当前时刻的实际位姿。具体的,无人车可先从电子地图包含的各子图中确定最近一次确定出该无人车实际位姿的子图,作为第一子图,以通过后续步骤确定该无人车当前时刻的实际位姿。
S104:根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像。
在本说明书一个或多个实施例中,通过步骤S102确定出第一子图后,无人车便可从该第一子图中包含的各定位图像中确定出当前时刻的目标图像,以通过后续步骤确定该无人车当前时刻的实际位姿。
具体的,无人车可针对该第一子图中包含的各定位图像分别对应的实际位姿,确定与该待定位姿距离最近的实际位姿,由于待定位姿是采用定位精度较低的GPS设备确定的,当确定出的待定位姿偏差较大时,表明GPS设备在定位时受到干扰,确定出的待定位姿不能用于确定无人车的位置,根据该待定位姿确定出的目标图像不具有参考意义,无人车可确定当前时刻定位失败。如图3所示,图中在第一子图的定位范围内,定位图像h对应的实际位姿与无人车采集环境图像m时的待定位姿的距离最近,两者之间的距离用Z表示,当距离Z较大时,确定出的待定位姿不能用于确定无人车的位置,根据该待定位姿确定出的目标图像h不具有参考意义,无人车可确定当前时刻定位失败。
因此还需进一步限制距离最近的实际位姿与该待定位姿的距离,判断距离最近的实际位姿与该待定位姿的距离是否小于第一预设距离,若是,则将该距离最近的实际位姿对应的定位图像作为当前时刻的目标图像,若否,则确定定位失败。其中,第一预设距离可根据需要设置,本说明书对此不做限制。
假设子图中其他各定位图像中与作为锚点的定位图像对应的朝向的角度差不做限制,如图4所示,图中弧线表示无人车的运动轨迹,黑色圆点表示第一子图中作为锚点的定位图像对应的实际位姿,虚线圆表示第一子图的定位范围,灰色圆点表示第二子图中作为锚点的定位图像对应的实际位姿,虚线圆表示第二子图的定位范围。则可确定第一子图包含虚线圆内的各定位图像,由于无人车连续移动,进行定位时仍行驶在该第一子图的定位范围内。因此可根据该待定位姿以及该第一子图包含的各定位图像对应的实际位姿,确定出当前时刻的目标图像,以确定以该目标图像作为锚点的第二子图。
S106:从所述电子地图包含的各子图中,确定以所述目标图像作为锚点的子图,作为第二子图。
S108:根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿。
在本说明书一个或多个实施例中,通过步骤S104从该第一子图包含的各定位图像中确定出当前时刻的目标图像后,便可根据确定出的目标图像,确定第二子图,以通过该第二子图确定该无人车的实际位姿。
具体的,无人车可先从该电子地图包含的各子图中,确定以该目标图像作为锚点的子图,作为第二子图。之后根据该环境图像以及该第二子图中的各定位图像,通过位姿解算确定该无人车的实际位姿。
进一步地,由于该无人车的实际位姿是基于该第二子图确定的,所以该实际位姿也应处于该第二子图的定位范围内。因此在本说明书中通过位姿解算确定出解算位姿后,还可进一步确定该解算位姿与该第二子图中作为锚点的定位图像对应的实际位姿的距离,并判断确定出的距离是否小于第二预设距离,若是,则将该解算位姿作为当前时刻该无人车的实际位姿,若否,则确定定位失败。
更进一步地,根据该环境图像以及该第二子图中的各定位图像,通过位姿解算确定该无人车的实际位姿。具体的,可先确定该环境图像的图像特征,之后将该环境图像中的图像特征与该第二子图中的各定位图像的图像特征进行特征匹配,并根据匹配结果确定匹配到的定位图像,最后根据该环境图像、该匹配到的定位图像以及采集该匹配到的定位图像时采集设备的实际位姿,通过位姿解算确定该无人车的实际位姿。其中,位姿解算常应用于定位过程中,是一种成熟的现有技术,本说明书对此不再赘述。在根据匹配结果确定匹配到的定位图像时,可确定匹配度最高的定位图像作为匹配到的定位图像。
基于图1所示的视觉定位方法,在确定无人车当前时刻的实际位姿时,该无人车可先获取当前时刻周围的环境图像以及待定位姿,并确定电子地图包含的各子图中最近一次确定出实际位姿的子图为第一子图,之后根据该待定位姿以及该第一子图中包含的各定位图像对应的实际位姿,确定与该待定位姿的距离小于第一预设距离的实际位姿,并将该实际位姿对应的定位图像作为当前时刻的目标图像,以从该电子地图包含的各子图中,确定以该目标图像作为锚点的子图作为第二子图,最后根据该第二子图以及该环境图像,确定当前时刻该无人车的实际位姿。通过从最近一次确定出实际位姿的第一子图包含的各定位图像中,确定当前时刻的目标图像,以确定第二子图,并根据该第二子图中各定位图像对应的实际位姿,确定无人车当前时刻的实际位姿,提高了定位的准确率。
由于全部的电子地图数据需要较大的存储空间,当无人车本地存储有全部的电子地图数据时,所需要的存储成本较高,因此为节省无人车的存储成本,在无人车本地也可不存储全部的电子地图数据。在本说明书中,定位图像对应的数据至少包括:实际位姿以及该定位图像的特征信息,该定位图像的特征信息中包括该定位图像的图像特征。可在无人车本地存储该电子地图中各子图包含的定位图像对应的实际位姿,以及各子图中最近一次确定出该无人车实际位姿的子图包含的各定位图像的特征信息,在通过本地存储的该电子地图中各子图包含的定位图像对应的实际位姿确定出第二子图后,再从控制无人车的服务器获取该第二子图包含的各定位图像的特征信息,以通过后续特征匹配进行定位。
进一步地,由于无人车本地未存储该第二子图中的各定位图像的特征信息,因此在进行特征匹配时,可从控制该无人车的服务器获取,又由于第一子图包含的各定位图像中存在属于第二子图的定位图像,而本地存储有第一子图包含的各定位图像的特征信息,因此无人车可从服务器获取该第二子图中不属于第一子图的各定位图像的特征信息。
具体的,无人车可先根据该第一子图包含的各定位图像,确定该第二子图包含的各定位图像中,特征信息未存储在本地的定位图像,即确定第二子图的各定位图像中不属于第一子图的各定位图像。之后根据确定出的特征信息未存储在本地的定位图像,向控制该无人车的服务器发送获取请求,该获取请求包含有第二子图中不属于第一子图的各定位图像,用于获取该第二子图中不属于第一子图的各定位图像的特征信息。接下来接收该服务器返回的包含该第二子图中不属于第一子图的各定位图像的特征信息的数据,并根据接收到的数据以及本地存储的第一子图中属于第二子图的各定位图像的特征信息,确定该第二子图包含的各定位图像的特征信息,最后根据该环境图像、该第二子图包含的各定位图像的特征信息以及该第二子图包含的各定位图像对应的实际位姿,确定当前时刻该无人车的实际位姿。
另外,在本说明书步骤S108中,由于无人车本地存储空间有限,通常只存储用于定位当前时刻无人车实际位姿的第二子图中各定位图像的特征信息,因此当确定出当前时刻该无人车的实际位姿时,便可删除本地存储的该第二子图包含的各定位图像的特征信息以外的特征信息,以使本地仅存储一个子图包含的定位图像的特征信息。如图5所示,图中虚线圆表示第一子图,实线圆表示第二子图,点线圆表示根据第二子图确定出的实际位姿对应的子图,即以该实际位姿为中心的子图,S1-S6分别表示各区域内包含的各定位图像。由于无人车本地存储有第一子图中各定位图像的特征信息,而确定出的第二子图中包含有与第一子图重复的S2+S5,因此在从服务器获取到第二子图中S3+S6的特征信息后,便可将无人车本地存储的第一子图中的S1+S4的特征信息删除。
进一步地,如图5所示,图中X点表示无人车的待定位姿,Y点表示无人车的实际位姿,因此在通过第二子图确定出无人车的实际位姿后,还可根据该第二子图中各定位图像对应的实际位姿以及确定出无人车的实际位姿,确定以该无人车的实际位姿为中心的子图,以在接下来的定位过程中根据该子图进行定位。则无人车可删除本地存储的S1+S2+S3的特征信息,仅从服务器获取S7的特征信息,用于接下来的定位过程。
在本说明书步骤S106中,当确定基于该第一子图定位失败的次数大于预设次数时,说明该第一子图中不包含当前时刻的目标图像,则可删除本地存储的第一子图包含的各定位图像的特征信息,不再基于该第一子图进行定位。并重新根据该待定位姿以及该电子地图包含的各定位图像对应的实际位姿,从该电子地图包含的各定位图像中确定目标图像,以通过后续步骤S106-S108确定该无人车的实际位姿。其中,该预设次数可根据需要设置,本说明书对此不做限制。当然,也可在确定出第二子图时,再从本地存储的第一子图包含的各定位图像的特征信息删除不属于第二子图的特征信息,以减少从服务器获取的数据量。
在本说明书一个或多个实施例中,当无人车的定位时间间隔过长时,当前时刻的目标图像可能已经超出第一子图的定位范围,如图4所示,当定位时间间隔过长,则无人车行驶超出虚线圆范围,则无法从该第一子图包含的各定位图像中确定当前时刻的目标图像。因此在本说明书步骤S100之前,无人车还可确定最近一次确定出该无人车实际位姿的历史时刻,并确定该历史时刻与该当前时刻的时间差。当确定出的时间差大于预设时间差时,表明当前时刻的目标图像已经超出第一子图的定位范围,则需删除本地存储的第一子图包含的各定位图像的特征信息,不再基于该第一子图进行定位。并重新根据该待定位姿以及该电子地图包含的各定位图像对应的实际位姿,从该电子地图包含的各定位图像中确定目标图像,以通过后续步骤S106-S108确定该无人车的实际位姿。其中,该预设时间差可根据需要设置,本说明书对此不做限制。
当然,在无人车第一次进行定位时,由于不存在最近一次确定出所述无人车实际位姿的子图,因此无人车可根据待定位姿以及该电子地图包含的各定位图像对应的实际位姿,从该电子地图包含的各定位图像中确定目标图像,以通过后续步骤S106-S108确定该无人车的实际位姿。
进一步地,由于关键帧即可包含电子地图中的各建筑物、道路等地图信息,且关键帧的数据量少,所占存储空间较小,因此为进一步减少本地存储的数据量以及匹配时的计算量,可基于关键帧构建电子地图,则该电子地图中的各子图为包含作为锚点的关键帧对应的数据以及若干其他关键帧对应的数据,在步骤S108中进行特征匹配时,将采集到的环境图像与该第二子图中的各关键帧进行匹配,以确定该无人车当前时刻的实际位姿。
更进一步地,在构建地图时,定位图像对应的数据也可包含:基本数据以及特征信息。其中,基本数据中还可包含定位图像的激活状态,激活状态表征本地是否存储该定位图像的特征信息,当某一定位图像的激活状态为已激活时,表示本地子图存储有该定位图像的特征信息。则在后续从服务器获取数据时,可从服务器获取第二子图中未被激活的各定位图像的特征信息。
在本说明书中,当由服务器执行该视觉定位方法时,在无人车数量较多,服务器控制压力较大时,也可采用上述将定位图像对应的数据中实际位姿与特征信息分开存储的方式,将定位图像对应的实际位姿存储在无人车本地,以在后续进行特征匹配时,从服务器获定位图像的特征信息。
在本说明书中,基于图1所示的视觉定位方法,不仅可以用于无人车的定位过程中,还可用于无人机等无人驾驶设备、智能机器人以及有人驾驶车辆的定位过程中,例如:可应用于无人车在配送过程中的定位,本说明书对基于图1所示的视觉定位方法的应用场景不做限制,可根据需要设置。
本说明书实施例提供的一种视觉定位方法,具体流程可如图6所示,首先无人车可采集周围的环境图像,并确定采集该环境图像时的待定位姿,之后可判断在该无人车本地是否存储有最近一次确定出无人车实际位姿的第一子图,若存在,则根据该第一子图进行定位,否则,则根据全局电子地图进行定位,接下来还需判断该无人车进行定位的失败次数是否大于预设次数,若是,则确定定位失败,否则,则根据待定位姿,从确定出的第一子图包含的各定位图像中确定出当前时刻的目标图像,并确定以该目标图像为锚点的第二子图。然后根据环境图像以及该第二子图中的各定位图像,通过特征匹配以及位姿解算确定出解算位姿,最后判断该解算位姿是否位于第二子图的定位范围内,若是,则定位成功,确定该无人车的实际位姿,否则,则确定定位失败。
本说明书实施例还对应提供一种视觉定位装置的结构示意图,如图7所示。
图7为本说明书实施例提供的一种视觉定位装置的结构示意图,所述装置包括:
获取模块200,获取当前时刻无人车周围的环境图像,以及确定获取所述环境图像时所述无人车的待定位姿;
第一子图确定模块202,确定电子地图包含的各子图中最近一次确定出所述无人车实际位姿的子图,作为第一子图,其中,子图由作为锚点的定位图像对应的数据以及若干其他定位图像对应的数据组成,定位图像对应的数据至少包含采集所述定位图像时采集设备的实际位姿;
目标图像确定模块204,根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像;
第二子图确定模块206,从所述电子地图包含的各子图中,确定以所述目标图像作为锚点的子图,作为第二子图;
实际位姿确定模块208,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿。
可选地,所述实际位姿包括采集定位图像时采集设备的坐标和朝向,所述第一子图确定模块202具体用于,获取采集的各定位图像,并确定各定位图像对应的数据,针对每个定位图像,从其他各定位图像中,确定与该定位图像对应的坐标的距离小于第二预设距离,且与该定位图像对应的朝向的角度差小于预设角度的其他定位图像,根据该定位图像对应的数据以及确定出的其他定位图像对应的数据,确定子图,其中该定位图像是所述子图中作为锚点的定位图像,根据确定出各子图,构建所述电子地图。
可选地,所述目标图像确定模块204具体用于,针对所述第一子图中包含的各定位图像分别对应的实际位姿,确定与所述待定位姿距离最近的实际位姿,判断所述距离最近的实际位姿与所述待定位姿的距离是否小于第一预设距离,若是,则将所述距离最近的实际位姿对应的定位图像作为当前时刻的目标图像,若否,则确定定位失败。
可选地,所述实际位姿确定模块208具体用于,根据所述环境图像以及所述第二子图中的各定位图像,通过位姿解算确定解算位姿,判断所述解算位姿与所述第二子图中作为锚点的定位图像对应的实际位姿的距离是否小于所述第二预设距离,若是,则将所述解算位姿作为当前时刻所述无人车的实际位姿,若否,则确定定位失败。
可选地,所述定位图像对应的数据至少包括:实际位姿以及所述定位图像的特征信息,所述无人车本地存储有所述电子地图中各子图包含的定位图像对应的实际位姿,以及各子图中最近一次确定出所述无人车实际位姿的子图包含的各定位图像的特征信息。
可选地,所述实际位姿确定模块208具体用于,根据所述第一子图包含的各定位图像,确定所述第二子图包含的各定位图像中,特征信息未存储在本地的定位图像,根据确定出的特征信息未存储在本地的定位图像,向服务器发送获取请求,接收所述服务器返回的数据,确定所述第二子图包含的各定位图像的特征信息,根据所述环境图像、所述第二子图包含的各定位图像的特征信息以及所述第二子图包含的各定位图像对应的实际位姿,确定当前时刻所述无人车的实际位姿。
可选地,所述实际位姿确定模块208还用于,当确定出当前时刻所述无人车的实际位姿时,删除本地存储的所述第二子图包含的各定位图像的特征信息以外的特征信息,使本地仅存储一个子图包含的定位图像的特征信息。
可选地,所述目标图像确定模块204具体用于,当确定基于所述第一子图定位失败的次数大于预设次数时,删除本地存储的第一子图包含的各定位图像的特征信息,并重新根据所述待定位姿以及所述电子地图包含的各定位图像对应的实际位姿,从所述电子地图包含的各定位图像中确定目标图像。
本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的视觉定位方法。
基于图1所示的视觉定位方法,本说明书实施例还提出了图8所示的无人车的示意结构图。如图8,在硬件层面,该无人车包括处理器、内部总线、网络接口、内存以及非易失性存储器,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所示的视觉定位方法。当然,该无人车中还可能包括其他用于实现视觉定位功能的部件,例如,无人车移动所需的驱动装置、进行通信所需的通信装置、采集周围环境信息的电子设备等等。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (12)
1.一种视觉定位方法,其特征在于,包括:
获取当前时刻无人车周围的环境图像,以及确定获取所述环境图像时所述无人车的待定位姿;
确定电子地图包含的各子图中最近一次确定出所述无人车实际位姿的子图,作为第一子图,其中,子图由作为锚点的定位图像对应的数据以及若干其他定位图像对应的数据组成,定位图像对应的数据至少包含采集所述定位图像时采集设备的实际位姿;
根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像;
从所述电子地图包含的各子图中,确定以所述目标图像作为锚点的子图,作为第二子图;
根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿。
2.如权利要求1所述的方法,其特征在于,所述实际位姿包括采集定位图像时采集设备的坐标和朝向;
采用下述方法构建所述电子地图,其中:
获取采集的各定位图像,并确定各定位图像对应的数据;
针对每个定位图像,从其他各定位图像中,确定与该定位图像对应的坐标的距离小于第二预设距离,且与该定位图像对应的朝向的角度差小于预设角度的其他定位图像;
根据该定位图像对应的数据以及确定出的其他定位图像对应的数据,确定子图,其中该定位图像是所述子图中作为锚点的定位图像;
根据确定出各子图,构建所述电子地图。
3.如权利要求1所述的方法,其特征在于,根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像,具体包括:
针对所述第一子图中包含的各定位图像分别对应的实际位姿,确定与所述待定位姿距离最近的实际位姿;
判断所述距离最近的实际位姿与所述待定位姿的距离是否小于第一预设距离;
若是,则将所述距离最近的实际位姿对应的定位图像作为当前时刻的目标图像;
若否,则确定定位失败。
4.如权利要求1所述的方法,其特征在于,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿,具体包括:
根据所述环境图像以及所述第二子图中的各定位图像,通过位姿解算确定解算位姿;
判断所述解算位姿与所述第二子图中作为锚点的定位图像对应的实际位姿的距离是否小于第二预设距离;
若是,则将所述解算位姿作为当前时刻所述无人车的实际位姿;
若否,则确定定位失败。
5.如权利要求1或3所述的方法,其特征在于,所述定位图像对应的数据至少包括:实际位姿以及所述定位图像的特征信息;
所述无人车本地存储有所述电子地图中各子图包含的定位图像对应的实际位姿,以及各子图中最近一次确定出所述无人车实际位姿的子图包含的各定位图像的特征信息。
6.如权利要求5所述的方法,其特征在于,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿,具体包括:
根据所述第一子图包含的各定位图像,确定所述第二子图包含的各定位图像中,特征信息未存储在本地的定位图像;
根据确定出的特征信息未存储在本地的定位图像,向服务器发送获取请求;
接收所述服务器返回的数据,确定所述第二子图包含的各定位图像的特征信息;
根据所述环境图像、所述第二子图包含的各定位图像的特征信息以及所述第二子图包含的各定位图像对应的实际位姿,确定当前时刻所述无人车的实际位姿。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
当确定出当前时刻所述无人车的实际位姿时,删除本地存储的所述第二子图包含的各定位图像的特征信息以外的特征信息,使本地仅存储一个子图包含的定位图像的特征信息。
8.如权利要求5所述的方法,其特征在于,所述方法还包括:
当确定基于所述第一子图定位失败的次数大于预设次数时,删除本地存储的第一子图包含的各定位图像的特征信息,并重新根据所述待定位姿以及所述电子地图包含的各定位图像对应的实际位姿,从所述电子地图包含的各定位图像中确定目标图像。
9.如权利要求5所述的方法,其特征在于,所述方法还包括:
确定最近一次确定出所述无人车实际位姿的历史时刻;
确定所述历史时刻与所述当前时刻的时间差;
当确定出的时间差大于预设时间差时,删除本地存储的第一子图包含的各定位图像的特征信息,并重新根据所述待定位姿以及所述电子地图包含的各定位图像对应的实际位姿,从所述电子地图包含的各定位图像中确定目标图像。
10.一种视觉定位装置,其特征在于,包括:
获取模块,获取当前时刻无人车周围的环境图像,以及确定获取所述环境图像时所述无人车的待定位姿;
第一子图确定模块,确定电子地图包含的各子图中最近一次确定出所述无人车实际位姿的子图,作为第一子图,其中,子图由作为锚点的定位图像对应的数据以及若干其他定位图像对应的数据组成,定位图像对应的数据至少包含采集所述定位图像时采集设备的实际位姿;
目标图像确定模块,根据所述待定位姿以及所述第一子图中包含的各定位图像对应的实际位姿,确定与所述待定位姿的距离小于第一预设距离的实际位姿,将确定出的实际位姿对应的定位图像作为当前时刻的目标图像;
第二子图确定模块,从所述电子地图包含的各子图中,确定以所述目标图像作为锚点的子图,作为第二子图;
实际位姿确定模块,根据所述第二子图以及所述环境图像,确定当前时刻所述无人车的实际位姿。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-9任一所述的方法。
12.一种无人车,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010221493.7A CN111288971B (zh) | 2020-03-26 | 2020-03-26 | 一种视觉定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010221493.7A CN111288971B (zh) | 2020-03-26 | 2020-03-26 | 一种视觉定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111288971A CN111288971A (zh) | 2020-06-16 |
CN111288971B true CN111288971B (zh) | 2021-11-05 |
Family
ID=71023485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010221493.7A Active CN111288971B (zh) | 2020-03-26 | 2020-03-26 | 一种视觉定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111288971B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111882611B (zh) * | 2020-07-17 | 2023-11-24 | 北京三快在线科技有限公司 | 一种地图构建方法及装置 |
CN114474035A (zh) * | 2020-11-11 | 2022-05-13 | 北京极智嘉科技股份有限公司 | 机器人位置确定方法、装置以及系统 |
CN112950713A (zh) * | 2021-02-25 | 2021-06-11 | 深圳市慧鲤科技有限公司 | 定位方法及装置、电子设备和存储介质 |
CN114322987B (zh) * | 2021-12-27 | 2024-02-23 | 北京三快在线科技有限公司 | 一种构建高精地图的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100541121C (zh) * | 2007-01-18 | 2009-09-16 | 上海交通大学 | 基于地面纹理的智能车视觉装置及其全局定位方法 |
CN101101670A (zh) * | 2007-08-22 | 2008-01-09 | 王海燕 | 视频图像中车辆目标的跟踪方法 |
DE102014108791B4 (de) * | 2014-06-24 | 2019-08-01 | Sick Ag | Optoelektronische Vorrichtung und Verfahren zur Überwachung |
DE102016213782A1 (de) * | 2016-07-27 | 2018-02-01 | Volkswagen Aktiengesellschaft | Verfahren, Vorrichtung und computerlesbares Speichermedium mit Instruktionen zur Bestimmung der lateralen Position eines Fahrzeuges relativ zu den Fahrstreifen einer Fahrbahn |
-
2020
- 2020-03-26 CN CN202010221493.7A patent/CN111288971B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111288971A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111288971B (zh) | 一种视觉定位方法及装置 | |
CN112179330A (zh) | 移动设备的位姿确定方法及装置 | |
CN112766468B (zh) | 一种轨迹预测方法、装置、存储介质及电子设备 | |
CN110262486B (zh) | 一种无人驾驶设备运动控制方法及装置 | |
CN112001456B (zh) | 一种车辆定位方法、装置、存储介质及电子设备 | |
CN112810625B (zh) | 一种轨迹修正的方法及装置 | |
CN111882611B (zh) | 一种地图构建方法及装置 | |
CN111797906B (zh) | 基于视觉和惯性里程定位的方法及装置 | |
CN111508258A (zh) | 一种定位方法及装置 | |
CN112712558A (zh) | 一种无人驾驶设备的定位方法及装置 | |
CN110660103B (zh) | 一种无人车定位方法及装置 | |
CN111126362B (zh) | 一种预测障碍物轨迹的方法及装置 | |
CN114111774B (zh) | 车辆的定位方法、系统、设备及计算机可读存储介质 | |
CN116740361B (zh) | 一种点云分割方法、装置、存储介质及电子设备 | |
CN112677993A (zh) | 一种模型训练的方法及装置 | |
CN111192303B (zh) | 一种点云数据处理方法及装置 | |
CN113674424B (zh) | 一种电子地图绘制的方法及装置 | |
CN113050613A (zh) | 自动导引车以及自动导引车控制方法 | |
CN112861831A (zh) | 一种目标物的识别方法、装置、存储介质及电子设备 | |
CN111798489B (zh) | 一种特征点跟踪方法、设备、介质及无人设备 | |
CN114299147A (zh) | 一种定位方法、装置、存储介质及电子设备 | |
CN114549579A (zh) | 一种目标物跟踪方法及装置 | |
CN116558545A (zh) | 一种传感器数据的标定方法及装置 | |
CN112712561A (zh) | 一种建图方法、装置、存储介质及电子设备 | |
CN113643321A (zh) | 一种无人驾驶设备的传感器数据采集方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |