一种建图方法、装置、电子设备及存储介质转让专利
申请号 : CN202110908036.X
文献号 : CN113610702B
文献日 : 2022-05-06
发明人 : 张晋川
申请人 : 北京百度网讯科技有限公司
摘要 :
权利要求 :
1.一种建图方法,包括:
获取针对目标场景采集的雷达数据对应的位姿,以及图像对应的位姿;其中,所述雷达数据对应的位姿为雷达设备在采集所述雷达数据时的位姿,所述图像对应的位姿为摄像设备在采集所述图像时的位姿,所述雷达设备和所述摄像设备相互绑定;
基于所述图像中的关键点,以及所述图像对应的位姿,确定所述图像中的关键点所表征的所述目标场景的三维点;
基于所述雷达数据,以及所述雷达数据对应的位姿,确定所述雷达数据中的三维点所表征的所述目标场景的三维点;
以所确定的所述目标场景的各个三维点作为待构建视觉地图的位置点,构建所述目标场景的视觉地图。
2.根据权利要求1所述的方法,其中,所述获取针对目标场景采集的雷达数据对应的位姿,以及图像对应的位姿,包括:
获取目标位姿信息;其中,所述目标位姿信息为在摄像设备和雷达设备对目标场景进行数据采集时,惯性传感器所采集的位姿信息;所述摄像设备、所述雷达设备以及所述惯性传感器相互绑定;
基于所获取的目标位姿信息,确定针对所述目标场景采集的雷达数据对应的位姿,以及图像对应的位姿。
3.根据权利要求1或2所述的方法,其中,在所述基于所述雷达数据,以及所述雷达数据对应的位姿,确定所述雷达数据中的三维点所表征的所述目标场景的三维点之前,还包括:确定各个第一类三维点的重投影误差,以及确定各个第二类三维点的观测误差;其中,所述各个第一类三维点包括所述图像中关键点所表征的所述目标场景的三维点,所述各个第二类三维点包括所述雷达数据中的三维点;
基于所确定的重投影误差以及观测误差,对各个第一类三维点和各个第二类三维点进行误差调整。
4.根据权利要求3所述的方法,其中,所述确定各个第二类三维点的观测误差,包括:确定各个第二类三维点的类型;其中,所述类型为直线点或平面点;
针对类型为直线点的每一第二类三维点,在该第二类三维点对应的三维点云中,确定该第二类三维点与邻近直线点云对应直线之间的最短距离,作为该第二类三维点的观测误差;
针对类型为平面点的每一第二类三维点,在该第二类三维点对应的三维点云中,确定该第二类三维点与邻近平面点云对应平面之间的最短距离,作为该第二类三维点的观测误差;
其中,每一第二类三维点对应的三维点云为:基于所述雷达数据中与该第二类三维点相距预设距离内的三维点所构建的三维点云。
5.根据权利要求3所述的方法,其中,所述基于所确定的重投影误差以及观测误差,对各个第一类三维点和各个第二类三维点进行误差调整,包括:采用非线性优化的方式,利用所确定的重投影误差以及观测误差,对各个第一类三维点和各个第二类三维点进行误差调整。
6.根据权利要求5所述的方法,其中,所述采用非线性优化的方式,利用所确定的重投影误差以及观测误差,对各个第一类三维点和各个第二类三维点进行误差调整,包括:对各个第一类三维点、各个第二类三维点、所述雷达数据对应的位姿、所述图像对应的位姿以及所确定的重投影误差和观测误差进行非线性优化,得到误差调整后各个第一类三维点、误差调整后的各个第二类三维点以及误差调整后的所述雷达数据对应的位姿。
7.根据权利要求1或2所述的方法,其中,所述基于所述图像中的关键点,以及所述图像对应的位姿,确定所述图像中的关键点所表征的所述目标场景的三维点,包括:基于所述图像中每一关键点对应的特征,确定所述图像的各关键点中特征相匹配的多个关键点,作为表征所述目标场景中同一三维点的多个关键点;
基于每一组表征所述目标场景中同一三维点的多个关键点,以及每一关键点所属图像对应的位姿,确定该组多个关键点所表征的所述目标场景的三维点。
8.根据权利要求7所述的方法,其中,所述图像为多帧图像,所述图像对应的位姿为:每帧图像对应的位姿;
所述基于每一组表征所述目标场景中同一三维点的多个关键点,以及每一关键点所属图像对应的位姿,确定该组多个关键点所表征的所述目标场景的三维点,包括:针对每一组表征所述目标场景中同一三维点的多个关键点,基于该组每一关键点在所属图像中的位置,以及该组每一关键点所属图像对应的位姿,计算该组多个关键点所表征的三维点在所述目标场景中的位置,得到该组多个关键点所表征的所述目标场景的三维点。
9.一种建图装置,包括:
位姿获取模块,用于获取针对目标场景采集的雷达数据对应的位姿,以及图像对应的位姿;其中,所述雷达数据对应的位姿为雷达设备在采集所述雷达数据时的位姿,所述图像对应的位姿为摄像设备在采集所述图像时的位姿,所述雷达设备和所述摄像设备相互绑定;
第一确定模块,用于基于所述图像中的关键点,以及所述图像对应的位姿,确定所述图像中的关键点所表征的所述目标场景的三维点;
第二确定模块,用于基于所述雷达数据,以及所述雷达数据对应的位姿,确定所述雷达数据中的三维点所表征的所述目标场景的三维点;
地图构建模块,用于以所确定的所述目标场景的各个三维点作为待构建视觉地图的位置点,构建所述目标场景的视觉地图。
10.根据权利要求9所述的装置,其中,所述位姿获取模块,具体用于获取目标位姿信息;基于所获取的目标位姿信息,确定针对所述目标场景采集的雷达数据对应的位姿,以及图像对应的位姿;其中,所述目标位姿信息为在摄像设备和雷达设备对目标场景进行数据采集时,惯性传感器所采集的位姿信息;所述摄像设备、所述雷达设备以及所述惯性传感器相互绑定。
11.根据权利要求9或10所述的装置,其中,所述装置还包括:误差确定模块,用于在所述第二确定模块执行所述基于所述雷达数据,以及所述雷达数据对应的位姿,确定所述雷达数据中的三维点所表征的所述目标场景的三维点之前,确定各个第一类三维点的重投影误差,以及确定各个第二类三维点的观测误差;其中,所述各个第一类三维点包括所述图像中关键点所表征的所述目标场景的三维点,所述各个第二类三维点包括所述雷达数据中的三维点;
误差调整模块,用于基于所确定的重投影误差以及观测误差,对各个第一类三维点和各个第二类三维点进行误差调整。
12.根据权利要求11所述的装置,其中,所述误差确定模块,具体用于确定各个第二类三维点的类型;其中,所述类型为直线点或平面点;针对类型为直线点的每一第二类三维点,在该第二类三维点对应的三维点云中,确定该第二类三维点与邻近直线点云对应直线之间的最短距离,作为该第二类三维点的观测误差;针对类型为平面点的每一第二类三维点,在该第二类三维点对应的三维点云中,确定该第二类三维点与邻近平面点云对应平面之间的最短距离,作为该第二类三维点的观测误差;其中,每一第二类三维点对应的三维点云为:基于所述雷达数据中与该第二类三维点相距预设距离内的三维点所构建的三维点云。
13.根据权利要求11所述的装置,其中,所述误差调整模块,具体用于采用非线性优化的方式,利用所确定的重投影误差以及观测误差,对各个第一类三维点和各个第二类三维点进行误差调整。
14.根据权利要求13所述的装置,其中,所述误差调整模块,具体用于对各个第一类三维点、各个第二类三维点、所述雷达数据对应的位姿、所述图像对应的位姿以及所确定的重投影误差和观测误差进行非线性优化,得到误差调整后各个第一类三维点、误差调整后的各个第二类三维点以及误差调整后的所述雷达数据对应的位姿。
15.根据权利要求9或10所述的装置,其中,所述第一确定模块,包括:第一确定子模块,用于基于所述图像中每一关键点对应的特征,确定所述图像的关键点中特征相匹配的多个关键点,作为表征所述目标场景中同一三维点的多个关键点;
第二确定子模块,用于基于每一组表征所述目标场景中同一三维点的多个关键点,以及每一关键点所属图像对应的位姿,确定该组多个关键点所表征的所述目标场景的三维点。
16.根据权利要求15所述的装置,其中,所述图像为多帧图像,所述图像对应的位姿为:每帧图像对应的位姿;
所述第二确定子模块,具体用于针对每一组表征所述目标场景中同一三维点的多个关键点,基于该组每一关键点在所属图像中的位置,以及该组每一关键点所属图像对应的位姿,计算该组多个关键点所表征的三维点在所述目标场景中的位置,得到该组多个关键点所表征的所述目标场景的三维点。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1‑8中任一项所述的方法。
说明书 :
一种建图方法、装置、电子设备及存储介质
技术领域
背景技术
如,玻璃反光、白墙等,往往导致所建立的视觉地图中存在没有数据的局部区域。因此,相关
建图方案的鲁棒性较差。
发明内容
像设备在采集所述图像时的位姿,所述雷达设备和所述摄像设备相互绑定;
图像对应的位姿为摄像设备在采集所述图像时的位姿,所述雷达设备和所述摄像设备相互
绑定;
附图说明
具体实施方式
到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同
样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如商场、超市等室内环境,当用户需要定位时,用户可以通过手机采集周围环境图像,进而
利用预先构建的视觉地图与采集到的图像确定用户当前的位置。
包含无纹理或弱纹理的场景图像,建立视觉地图时,所建立的视觉地图中往往存在没有数
据的局部区域,并且局部纹理信息的缺失,也容易导致全局建图失败。因此,相关建图方案
的鲁棒性较差。
用真实世界的尺度,例如,导航定位时需要知道从第一定位点到第二定位点的实际距离是
多少米,而相关建图方案所构建的数据地图缺乏尺度信息。同时,在使用全景相机采集场景
图像的过程中,还需要采集人员稳定行走,采集图像的过程中不能产生大幅度晃动,使得采
集图像的过程较为困难。进而需要专业的图像采集人员,增高了建图成本。
本公开实施例提供的建图方法可以通过软件、硬件或软硬件结合的方式实现。
图像时的位姿,雷达设备和摄像设备相互绑定;
三维点,并基于雷达数据的位姿确定雷达数据中三维点所表征的目标场景中的三维点,进
一步的根据所确定的目标场景中的三维点构建目标场景的视觉地图,由于对于雷达数据而
言,即使目标场景中存在无纹理或弱纹理的区域,雷达设备也可以采集到完整的雷达数据,
从而使得基于雷达数据所建立的视觉地图中,不会存在没有数据的区域,提高了视觉地图
构建的鲁棒性。
具有现实世界的尺度信息。
场景中的三维点,这也就是意味着,只需要在摄像设备和雷达设备在采集数据的过程中记
录设备的位姿,即可利用设备所采集的数据,而无需确保设备在采集过程中的稳定性,从而
降低了数据采集的难度,进而无需要专业的数据采集人员,降低了建图成本。
备在采集图像时的位姿,雷达设备和摄像设备相互绑定;
合法律法规。
0),该点位于雷达设备正东方向1个单位距离的位置。
中的部分雷达数据,或者,还可以为仅针对目标场景中无纹理和/或弱纹理所在区域所采集
的雷达数据。
或者,还可以为仅针对目标场景有纹理区域所采集的图像,其中,有纹理区域为除无纹理
和/或弱纹理所在区域之外的区域。
从姿态1变化为姿态2,姿态1到姿态2的姿态变化量为Δθ,同步的,摄像设备也将从位置点A
移动至位置点B,从姿态3变化为姿态4,且姿态3到姿态4的姿态变化量也为Δθ。
达数据对应的位姿,这都是可以的。
都是可以的。
相互绑定;
设备移动过程中,测量设备的加速度以及角速度。从而,可以在已知起始速度(对于数据采
集而言,起始速度多为0),以及起始姿态(一般为默认姿态)的情况下,可以基于移动过程中
设备的加速度,计算设备在每一时刻相对于起始点的位置,以及基于移动过程中设备的角
速度,计算设备在每一时刻的姿态。
据时的位姿,可以从惯性传感器中读取,在摄像设备和雷达设备针对目标场景采集数据的
期间内,惯性传感器所采集的位姿信息,即目标位姿信息。其中,位姿信息为惯性传感器采
集的加速度以及角速度。
达设备与摄像设备在采集数据时的位姿。
以采用已有软件工具进行设备间位姿标定。
雷达设备之间的位姿转换关系,确定雷达传感器在每一雷达数据采样时刻的位姿,以及基
于所确定的惯性传感器位姿,基于惯性传感器与摄像设备之间的位姿转换关系,确定摄像
传感器在每一图像采样时刻的位姿。
雷达设备之间的位姿转换关系,确定雷达传感器在每一雷达数据采样时刻的位姿,进一步
的,基于所确定的雷达设备的位姿,确定摄像设备在每一图像采样时刻的位姿。
30HZ,雷达设备的采样频率为10HZ,摄像设备的采样频率为60HZ。
像设备,这也就意味着,摄像设备仅在部分采样时刻的姿态可以准确通过惯性传感器的姿
态确定。基于此,对于摄像设备而言,可以将摄像设备在每一采样时刻的位姿,使用雷达设
备在与该采样时刻最接近的雷达设备的采样时刻的位姿代替。举例而言,如表1所示:
1帧图像、第2帧图像、第3帧图像、第4帧图像、第5帧图像和第6帧图像。通过惯性传感器,确
定雷达设备在采集第1帧雷达数据时为位姿1,以及在采集第2帧雷达数据时为位姿2。对于
摄像设备而言,对于第1帧图像、第2帧图像和第3帧图像而言,采样时刻最接近的为雷达设
备采集第1帧雷达数据的时刻,故而,第1帧图像、第2帧图像和第3帧图像对应的位置为位姿
1,对于第4帧图像、第5帧图像和第6帧图像而言,采样时刻最接近的为雷达设备采集第2帧
雷达数据的时刻,故而,第4帧图像、第5帧图像和第6帧图像对应的位置为位姿2。
备相似,在此不再赘述。
样时刻的位姿,其计算方式,与惯性传感器基于目标位姿信息,计算位姿的方式一致,在此
不再赘述。
个点信息,或代表一个位置,更代表着上下文与周围邻域的组合关系。
法。
的特征应当相同或相似,因此,可以在各帧图像的关键点中,确定特征相匹配的多个关键
点,作为表征目标场景中同一三维点的多个关键点。上述相匹配的多个关键点可以为特征
差异满足预设条件的多个关键点,例如小于预设阈值。
像中的关键点之间应当满足三角关系,因此,可以结合三角化方法,确定相邻图像中表征同
一目标场景中三维点的关键点。
图像对应的位姿确,以及两关键点在图像中的位置确定,此时,上述步骤b,可以包括:
的三维点在目标场景中的位置,得到该组多个关键点所表征的目标场景的三维点。
键点之间的位置关系,进而结合三角化方法,计算该组多个关键点所表征的三维点相对摄
像设备的位置,进而基于相机设备的位姿以及与该三维点之间的相对位置,确定该组多个
关键点所表征的三维点在目标场景中的位置,从而得到该组多个关键点所表征的目标场景
的三维点。
点,而每帧雷达数据中的三维点所表征的是:目标场景的三维点在雷达设备采集该帧雷达
数据时,在雷达设备的坐标系下的位置,即相对于雷达设备的位置。因此,可以进一步的基
于雷达设备的位姿,确定雷达设备相对于目标场景的位置,进而确定每帧雷达数据中的三
维点所表征三维点在目标场景中的位置,即得到每帧雷达数据中的三维点所表征的目标场
景的三维点。
视觉地图中的信息。从而在后续使用视觉地图进行定位时,可以结合目标位置信息等更准
确的对目标进行定位。上述雷达数据的位姿可以为每帧雷达数据的位姿,上述图像的位姿
可以为每帧图像的位姿。
视觉地图中,不会存在没有数据的区域,提高了视觉地图构建的鲁棒性,还可以使得所建立
的视觉地图中具有现实世界的尺度信息,同时也降低数据采集的难度,从而降低了建图成
本。
备在采集图像时的位姿,雷达设备和摄像设备相互绑定;
三维点包括雷达数据中的三维点;
离,距离越大,重投影误差越大。其中,将该三维点投影到某一图像的投影角度为按照该图
像对应位姿所确定的,即该投影角度与摄像设备采集该图像时的拍摄角度相同。
个第二类三维点的观测误差,包括步骤A‑步骤C:
预设距离内的三维点所构建的三维点云。
三维点云。
构建的三维点云可以为:基于与该第二类三维点所属雷达数据采样间隔小于预设时长的多
帧雷达数据,所构建的。
点的观测误差;
的最短距离,作为该第二类三维点的观测误差。
点的观测误差。
云对应平面之间的最短距离,作为该第二类三维点的观测误差。
差以及观测误差,分散到各个第一类三维点和各个第二类三维点进行误差调整,从而可以
达到整体最优的效果。
点、误差调整后的各个第二类三维点以及误差调整后的雷达数据对应的位姿。
三维点、各个第二类三维点、每帧雷达数据对应的位姿、每帧图像对应的位姿以及所确定的
重投影误差和观测误差进行非线性优化的最优解,作为误差调整后各个第一类三维点、误
差调整后的各个第二类三维点以及误差调整后的每帧雷达数据对应的位姿。
位姿更加准确,从而所确定的每帧雷达数据中的三维点所表征的目标场景的三维点也更加
准确,进而提高了视觉地图的精度。
视觉地图中,不会存在没有数据的区域,提高了视觉地图构建的鲁棒性,还可以使得所建立
的视觉地图中具有现实世界的尺度信息,同时也降低数据采集的难度,从而降低了建图成
本。
三维点的准确度,进而使得构建的视觉地图更准确。
位姿为摄像设备在采集图像时的位姿,雷达设备和摄像设备相互绑定;
对应的位姿;其中,目标位姿信息为在摄像设备和雷达设备对目标场景进行数据采集时,惯
性传感器所采集的位姿信息;摄像设备、雷达设备以及惯性传感器相互绑定。
各个第一类三维点的重投影误差,以及确定各个第二类三维点的观测误差;其中,各个第一
类三维点包括图像中关键点所表征的目标场景的三维点,各个第二类三维点包括雷达数据
中的三维点;
云中,确定该第二类三维点与邻近直线点云对应直线之间的最短距离,作为该第二类三维
点的观测误差;针对类型为平面点的每一第二类三维点,在该第二类三维点对应的三维点
云中,确定该第二类三维点与邻近平面点云对应平面之间的最短距离,作为该第二类三维
点的观测误差;其中,每一第二类三维点对应的三维点云为:基于雷达数据中与该第二类三
维点相距预设距离内的三维点所构建的三维点云。
得到误差调整后各个第一类三维点、误差调整后的各个第二类三维点以及误差调整后的雷
达数据对应的位姿。
计算该组多个关键点所表征的三维点在目标场景中的位置,得到该组多个关键点所表征的
目标场景的三维点。
视觉地图中,不会存在没有数据的区域,提高了视觉地图构建的鲁棒性,还可以使得所建立
的视觉地图中具有现实世界的尺度信息,同时也降低数据采集的难度,从而降低了建图成
本。
助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种
形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算
装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限
制本文中描述的和/或者要求的本公开的实现。
行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计
算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至
总线404。
信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如
因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及
任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,
例如建图方法。例如,在一些实施例中,建图方法可被实现为计算机软件程序,其被有形地
包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可
以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到
RAM 403并由计算单元401执行时,可以执行上文描述的建图方法的一个或多个步骤。备选
地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被
配置为执行建图方法。
的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实
现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算
机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器
可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或
上述内容的任何合适组合。
器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界
面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网
(LAN)、广域网(WAN)和互联网。
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的
服务器,或者是结合了区块链的服务器。
只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。