1.一种地图构建方法,其特征在于,所述方法包括:
确定当前图像帧的特征点信息、特征线信息和结构线信息;
基于所述当前图像帧的结构线信息和参考图像帧的结构线信息,确定所述当前图像帧对应的第一姿态信息,所述参考图像帧为包括三个方向的结构线、且包括的结构线的总数量大于第一阈值的图像帧,且所述参考图像帧的图像采集时间位于所述当前图像帧的图像采集时间之前;
基于所述当前图像帧的特征点信息和特征线信息、上一个图像帧对应的地图点信息和地图线信息、以及所述第一姿态信息,确定所述当前图像帧对应的位姿,所述位姿至少包括第二姿态信息,所述当前图像帧对应的位姿指的是采集所述当前图像帧时图像采集设备的位姿;
若所述第一姿态信息与所述第二姿态信息之间的误差大于第二阈值,确定所述当前图像帧为关键图像帧,基于所述第一姿态信息和所述位姿,确定全局地图中所有关键图像帧的第三姿态信息、对应的地图点和地图线。
2.如权利要求1所述的方法,其特征在于,所述当前图像帧的结构线包括三个方向的结构线,所述基于所述当前图像帧的结构线信息和参考图像帧的结构线信息,确定所述当前图像帧对应的第一姿态信息,包括:基于所述当前图像帧的结构线信息,确定所述当前图像帧中每个方向的结构线在所述当前图像帧对应的相机坐标系下的方向向量,得到所述当前图像帧中三个方向的结构线的方向向量;
基于所述参考图像帧的结构线信息,获取所述参考图像帧中三个方向的结构线的方向向量;
获取所述参考图像帧对应的第四姿态信息;
基于所述当前图像帧中结构线的方向向量和所述参考图像帧中结构线的方向向量、以及所述第四姿态信息,确定所述当前图像帧对应的第一姿态信息。
3.如权利要求2所述的方法,其特征在于,所述基于所述当前图像帧的特征点信息和特征线信息、上一个图像帧对应的地图点信息和地图线信息、以及所述第一姿态信息,确定所述当前图像帧对应的位姿,包括:基于所述上一个图像帧的位姿,确定所述当前图像帧的初始位姿;
确定所述当前图像帧的特征点信息指示的特征点和特征线信息指示的特征线,以及确定所述上一个图像帧对应的地图点信息指示的地图点和地图线信息指示的地图线;
基于所述当前图像帧的初始位姿,确定所述上一个图像帧对应的地图点在所述当前图像帧中的第一投影点,以及所述上一个图像帧对应的地图线在所述当前图像帧中的第一投影线;
确定所述当前图像帧的特征点中与所述第一投影点匹配的观测点,以及确定所述当前图像帧的特征线中与所述第一投影线匹配的观测线;
基于所述初始位姿、所述第一投影点、所述观测点、所述第一投影线、所述观测线、以及所述第一姿态信息,确定所述当前图像帧对应的位姿。
4.如权利要求3所述的方法,其特征在于,所述基于所述初始位姿、所述第一投影点、所述观测点、所述第一投影线、所述观测线、以及所述第一姿态信息,确定所述当前图像帧对应的位姿,包括:基于所述第一投影点和所述观测点,确定所述当前图像帧对应的点的第一重投影误差;
基于所述第一投影线和所述观测线,确定所述当前图像帧对应的线的第二重投影误差;
基于所述当前图像帧中三个方向的结构线的方向向量、所述参考图像帧中三个方向的结构线的方向向量、所述第四姿态信息、以及所述第一姿态信息,确定所述当前图像帧对应的第一结构线约束值;
基于所述点的第一重投影误差、所述线的第二重投影误差和所述第一结构线约束值,对所述初始位姿进行迭代运算,得到所述当前图像帧对应的位姿。
5.如权利要求4所述的方法,其特征在于,所述若所述第一姿态信息与所述第二姿态信息之间的误差大于第二阈值,确定所述当前图像帧为关键图像帧,基于所述第一姿态信息和所述位姿,确定所述全局地图中所有关键图像帧的第三姿态信息、对应的地图点和地图线,包括:基于所述当前图像帧中除所述观测点之外的特征点和所述位姿,在所述全局地图中构建所述当前图像帧对应的地图点,以及基于所述当前图像帧中除所述观测线之外的特征线和所述位姿,在所述全局地图中构建所述当前图像帧对应的地图线;
基于所述第一姿态信息,在所述全局地图中对所有关键图像帧对应的地图点和地图线进行更新,并重新确定所述全局地图中所有关键图像帧的第三姿态信息。
6.如权利要求5所述的方法,其特征在于,所述基于所述第一姿态信息,在所述全局地图中对所有关键图像帧对应的地图点和地图线进行更新,并重新确定所述全局地图中所有关键图像帧的第三姿态信息,包括:获取所述全局地图中除所述当前图像帧之外的其他关键图像帧对应的点的第三重投影误差、线的第四重投影误差和第二结构线约束值;
基于所述第一姿态信息、所述点的第三重投影误差、所述线的第四重投影误差、所述第二结构线约束值、所述点的第一重投影误差、所述线的第二重投影误差、以及所述第一结构线约束值,对所述全局地图中所有关键图像帧的姿态信息、地图点位置和地图线位置进行迭代运算,得到更新后的所述全局地图中所有关键图像帧的第三姿态信息、地图点位置和地图线位置;
基于所述更新后的所述全局地图中所有关键图像帧的第三姿态信息、地图点位置和地图线位置,在所述全局地图中对所有关键图像帧的姿态信息、对应的地图点和地图线进行更新。
7.如权利要求3所述的方法,其特征在于,所述基于所述初始位姿、所述第一投影点、所述观测点、所述第一投影线、所述观测线、以及所述第一姿态信息,确定所述当前图像帧对应的位姿之后,还包括:获取共视图像帧对应的地图点信息和地图线信息,所述共视图像帧是指对应的地图点中与所述当前图像帧对应的地图点相同的地图点的第一数量和对应的地图线中与所述当前图像帧对应的地图线相同的地图线的第二数量之和大于第一数量阈值的图像帧;
基于所述当前图像帧的特征点信息和特征线信息、所述共视图像帧对应的地图点信息和地图线信息、以及所述第一姿态信息,对所述当前图像帧对应的位姿继续进行迭代运算,重新得到所述当前图像帧对应的位姿。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一姿态信息与所述第二姿态信息之间的误差不大于所述第二阈值,响应于所述当前图像帧为关键图像帧,在所述全局地图中构建所述当前图像帧对应的地图点和地图线,以及重新确定所述当前图像帧和共视关键图像帧的第四姿态信息、对应的地图点和地图线,所述共视关键图像帧是指对应的地图点中与所述当前图像帧对应的地图点相同的地图点的第三数量和对应的地图线中与所述当前图像帧对应的地图线相同的地图线的第四数量之和大于第二数量阈值的关键图像帧。
9.如权利要求8所述的方法,其特征在于,所述响应于所述当前图像帧为关键图像帧,包括:
基于所述当前图像帧对应的位姿,确定所述上一个图像帧对应的地图点在所述当前图像帧中的第二投影点,以及确定所述上一个图像帧对应的地图线在所述当前图像帧中的第二投影线;
基于所述第二投影点和所述观测点,确定所述当前图像帧对应的点的第五重投影误差,以及基于所述第二投影线和所述观测线,确定所述当前图像帧对应的线的第六重投影误差;
删除所述当前图像帧的观测点中第五重投影误差大于第一误差阈值的观测点,以及删除所述当前图像帧的观测线中第六重投影误差大于第二误差阈值的观测线;
确定所述当前图像帧中执行删除操作后的观测点与观测线的总数量;
若所述总数量小于第三阈值,确定所述当前图像帧为关键图像帧。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述当前图像帧为关键图像帧,且基于所述当前图像帧确定所述图像采集设备到达历史位置处,获取与所述当前图像帧对应的历史关键图像帧,所述历史关键图像帧的特征点信息与所述当前图像帧的特征点信息的相似度大于第一相似度阈值,且所述历史关键图像帧的特征线信息与所述当前图像帧的特征线信息的相似度大于第二相似度阈值;
获取所述历史关键图像帧对应的地图点信息和地图线信息,以及所述全局地图中除所述当前图像帧和所述历史关键图像帧之外的其他关键图像帧对应的点的第七重投影误差、线的第八重投影误差和第三结构线约束值;
基于所述当前图像帧的特征点信息和特征线信息、所述历史关键图像帧对应的地图点信息和地图线信息、所述当前图像帧的结构线信息、所述参考图像帧的结构线信息、所述点的第七重投影误差、所述线的第八重投影误差、以及所述第三结构线约束值,在所述全局地图中对所有关键图像帧的姿态信息、对应的地图点和地图线进行更新。
11.一种地图构建装置,其特征在于,所述装置包括:
图像采集设备,用于获取当前图像帧;
处理器,用于确定所述当前图像帧的特征点信息、特征线信息和结构线信息;基于所述当前图像帧的结构线信息和参考图像帧的结构线信息,确定所述当前图像帧对应的第一姿态信息,所述参考图像帧为包括三个方向的结构线、且包括的结构线的总数量大于第一阈值的图像帧,且所述参考图像帧的图像采集时间位于所述当前图像帧的图像采集时间之前;基于所述当前图像帧的特征点信息和特征线信息、上一个图像帧对应的地图点信息和地图线信息、以及所述第一姿态信息,确定所述当前图像帧对应的位姿,所述位姿至少包括第二姿态信息,所述当前图像帧对应的位姿指的是采集所述当前图像帧时图像采集设备的位姿;若所述第一姿态信息与所述第二姿态信息之间的误差大于第二阈值,确定所述当前图像帧为关键图像帧,基于所述第一姿态信息和所述位姿,确定全局地图中所有关键图像帧的第三姿态信息、对应的地图点和地图线。
12.一种地图构建系统,其特征在于,所述系统包括:
图像采集设备,用于采集当前图像帧;
智能移动设备,用于获取所述图像采集设备采集的当前图像帧,确定所述当前图像帧的特征点信息、特征线信息和结构线信息;基于所述当前图像帧的结构线信息和参考图像帧的结构线信息,确定所述当前图像帧对应的第一姿态信息,所述参考图像帧为包括三个方向的结构线、且包括的结构线的总数量大于第一阈值的图像帧,且所述参考图像帧的图像采集时间位于所述当前图像帧的图像采集时间之前;基于所述当前图像帧的特征点信息和特征线信息、上一个图像帧对应的地图点信息和地图线信息、以及所述第一姿态信息,确定所述当前图像帧对应的位姿,所述位姿至少包括第二姿态信息,所述当前图像帧对应的位姿指的是采集所述当前图像帧时图像采集设备的位姿;若所述第一姿态信息与所述第二姿态信息之间的误差大于第二阈值,确定所述当前图像帧为关键图像帧,基于所述第一姿态信息和所述位姿,确定所述全局地图中所有关键图像帧的第三姿态信息、对应的地图点和地图线。