本技术涉及机器人导航与定位,特别是涉及一种视觉语义地图生成方法、装置、电子设备及存储介质。
背景技术:
1、视觉定位是一种通过视觉感知和分析环境信息来确定位置的技术。它在人工智能、机器人、自动驾驶等领域中具有广泛的应用和重要性。其原理主要是利用摄像头获取环境的图像信息,然后通过图像处理和计算机视觉算法来分析图像,并提取出与位置相关的特征,例如地标、标志物、路标、环境中的纹理、颜色等特征信息,通过比对这些特征与视觉语义地图中的信息,从而确定自身的位置。
2、在相关视觉语义地图构建技术中,通常是将图像的各语义点直接进行ipm变换(inverse perspective mapping,逆透视变换)处理,将语义点由平面坐标系转至三维坐标系,从而生成视觉语义地图。而实际应用中,环境较为复杂多变,生成视觉语义地图时所需要的特征信息,例如,语义点、图像位姿等也可能会因为环境的变化而出现变化。在此情况下,直接通过语义点进行ipm变换生成的视觉语义地图,其准确度还有待提升。
技术实现思路
1、本技术实施例的目的在于提供一种视觉语义地图生成方法、装置、电子设备及存储介质,以实现提高视觉语义地图的准确度。具体技术方案如下:
2、在本技术实施例的第一方面,提供一种视觉语义地图生成方法,所述方法包括:
3、获取二维图像中预设类型对象的各像素边缘点;
4、分别选取各所述像素边缘点的西格玛点;
5、针对每一个像素边缘点,将该像素边缘点的各西格玛点转换到第一三维坐标系中,得到该像素边缘点的各三维坐标点;
6、针对每一个像素边缘点,根据该像素边缘点的各三维坐标点的坐标,计算该像素边缘点在所述第一三维坐标系中的第一均值坐标;
7、根据该像素边缘点的第一均值坐标、该像素点边缘点的各三维坐标点的坐标,计算该像素边缘点的协方差;
8、根据各所述像素边缘点的第一均值坐标及协方差,生成视觉语义地图。
9、在一种可能的实施方式中,所述分别选取各所述像素边缘点的西格玛点,包括:
10、分别确定各所述像素边缘点的不确定度椭圆;
11、根据所述不确定度椭圆,计算各所述像素边缘点的第一协方差矩阵;
12、基于所述第一协方差矩阵,选取各所述像素边缘点的西格玛点。
13、在一种可能的实施方式中,所述获取二维图像中预设类型对象的各像素边缘点,包括:
14、对二维图像进行语义分割,生成预设类型对象的掩膜图;
15、在所述掩膜图中确定出所述预设类型对象边缘的各语义点;
16、对各所述语义点进行过滤,得到各像素边缘点。
17、在一种可能的实施方式中,所述对各所述语义点进行过滤,得到各像素边缘点,包括:
18、针对各所述语义点中的第一语义点,以所述第一语义点为中心,获取预设范围内与所述第一语义点联通的各语义点得到所述第一语义点的第一语义点集合;其中,所述第一语义点为任意语义点;
19、利用所述第一语义点集合中的各语义点进行直线拟合,得到所述第一语义点的第一直线;
20、计算所述第一语义点集合中的各语义点与所述第一直接的平均距离,在所述平均距离小于预设距离阈值的情况下,将所述第一语义点作为像素边缘点,否则过滤掉所述第一语义点。
21、在一种可能的实施方式中,所述分别确定各所述像素边缘点的不确定度椭圆,包括:
22、针对各所述像素边缘点中的第一像素边缘点,以沿所述第一像素边缘点对应的第一直线的方向为长轴方向,以垂直于所述第一直线的方向为短轴方向,生成所述第一像素边缘点的不确定度椭圆;其中,所述第一像素边缘点为任意像素边缘点。
23、在一种可能的实施方式中,所述根据所述不确定度椭圆,计算各所述像素边缘点的第一协方差矩阵,包括:
24、针对每一个不确定度椭圆,按照卡方分布计算出该不确定度椭圆的高斯分布的第一协方差矩阵。
25、在一种可能的实施方式中,所述基于所述第一协方差矩阵,选取各所述像素边缘点的西格玛点,包括:
26、针对每一个像素边缘点,对该像素边缘点的第一协方差矩阵进行平方根法分解,得到该像素边缘点的下三角矩阵;
27、根据该像素边缘点的下三角矩阵及图像坐标,选取该像素边缘点的预设数量个西格玛点。
28、在一种可能的实施方式中,所述第一三维坐标系为相机三维坐标系,或所述第一三维坐标系为搭载相机的可移动设备的三维坐标系;
29、所述根据各所述像素边缘点的第一均值坐标及协方差,生成视觉语义地图,包括:
30、根据各所述像素边缘点的第一均值坐标,将各所述像素边缘点转换到第二三维坐标系中,得到各建图点的第二均值坐标;其中,所述第二三维坐标系为世界坐标系;
31、根据各所述建图点的第二均值坐标,在所述第二三维坐标系中确定建图区域;
32、按照预设网格大小,将所述建图区域划分为多个单位网格区域;
33、针对每一个单位网格区域,根据该单位网格区域内的建图点的第二均值坐标及协方差,确定该单位网格区域的地图点坐标和协方差,得到视觉语义地图,其中,针对任一建图点,该建图点的协方差为该建图点对应的像素边缘点的协方差。
34、在一种可能的实施方式中,所述针对每一个单位网格区域,根据该单位网格区域内的建图点的第二均值坐标及协方差,确定该单位网格区域的地图点坐标和协方差,得到视觉语义地图,包括:
35、针对每一个单位网格区域,若该单位网格区域中不包括建图点,则该单位网格区域中不生成地图点;
36、若该单位网格区域中仅包括一个建图点,则将所述一个建图点的第二均值坐标和协方差分别作为该单位网格区域中地图点的坐标和协方差;
37、若该单位网格区域中包括至少两个建图点,则根据所述至少两个建图点的协方差,计算该单位网格区域中地图点的协方差;并根据所述至少两个建图点的第二均值坐标、所述至少两个建图点的协方差、以及该单位网格区域中地图点的协方差,计算该单位网格区域中地图点的坐标;
38、根据各所述单位网格区域中地图点的坐标及协方差,生成视觉语义地图。
39、在一种可能的实施方式中,所述方法还包括:
40、获取待定位图像,以及获取所述待定位图像的预测位姿;
41、对所述待定位图像进行语义分割,确定所述待定位图像中预设类型对象的各待定位边缘点,得到目标像素边缘点集合;
42、根据所述预测位姿,在所述视觉语义地图中确定待匹配地图点集合;
43、对所述待匹配地图点集合和所述目标像素边缘点集合进行配准,得到配准位姿;
44、按照所述配准位姿,确定所述待定位图像对应的位姿。
45、在本技术实施例的第二方面,提供一种视觉语义地图生成装置,所述装置包括:
46、像素边缘点获取模块,用于获取二维图像中预设类型对象的各像素边缘点;
47、西格玛点获取模块,用于分别选取各所述像素边缘点的西格玛点;
48、坐标转换模块,用于针对每一个像素边缘点,将该像素边缘点的各西格玛点转换到第一三维坐标系中,得到该像素边缘点的各三维坐标点;
49、第一均值坐标计算模块,用于针对每一个像素边缘点,根据该像素边缘点的各三维坐标点的坐标,计算该像素边缘点在所述第一三维坐标系中的第一均值坐标;
50、协方差计算模块,用于根据该像素边缘点的第一均值坐标、该像素点边缘点的各三维坐标点的坐标,计算该像素边缘点的协方差;
51、地图生成模块,用于根据各所述像素边缘点的第一均值坐标及协方差,生成视觉语义地图。
52、在一种可能的实施方式中,所述西格玛点获取模块,包括:
53、不确定度椭圆计算子模块,具体用于分别确定各所述像素边缘点的不确定度椭圆;
54、第一协方差矩阵计算子模块,具体用于根据所述不确定度椭圆,计算各所述像素边缘点的第一协方差矩阵;
55、西格玛点选取子模块,具体用于基于所述第一协方差矩阵,选取各所述像素边缘点的西格玛点。
56、在一种可能的实施方式中,所述像素边缘点获取模块,包括:
57、语义分割子模块,具体用于对二维图像进行语义分割,生成预设类型对象的掩膜图;
58、语义点确定子模块,具体用于在所述掩膜图中确定出所述预设类型对象边缘的各语义点;
59、语义点过滤子模块,具体用于对各所述语义点进行过滤,得到各像素边缘点。
60、在一种可能的实施方式中,所述语义点过滤子模块,包括:
61、第一语义点集合获取单元,具体用于针对各所述语义点中的第一语义点,以所述第一语义点为中心,获取预设范围内与所述第一语义点联通的各语义点得到所述第一语义点的第一语义点集合;其中,所述第一语义点为任意语义点;
62、直线拟合单元,具体用于利用所述第一语义点集合中的各语义点进行直线拟合,得到所述第一语义点的第一直线;
63、平均距离判断单元,具体用于计算所述第一语义点集合中的各语义点与所述第一直接的平均距离,在所述平均距离小于预设距离阈值的情况下,将所述第一语义点作为像素边缘点,否则过滤掉所述第一语义点。
64、在一种可能的实施方式中,所述不确定度椭圆计算子模块,包括:
65、不确定度椭圆确定单元,具体用于针对各所述像素边缘点中的第一像素边缘点,以沿所述第一像素边缘点对应的第一直线的方向为长轴方向,以垂直于所述第一直线的方向为短轴方向,生成所述第一像素边缘点的不确定度椭圆;其中,所述第一像素边缘点为任意像素边缘点。
66、在一种可能的实施方式中,所述第一协方差矩阵计算子模块,包括:
67、卡方分布计算单元,具体用于针对每一个不确定度椭圆,按照卡方分布计算出该不确定度椭圆的高斯分布的第一协方差矩阵。
68、在一种可能的实施方式中,所述西格玛点选取子模块,包括:
69、第一协方差矩阵分解单元,具体用于针对每一个像素边缘点,对该像素边缘点的第一协方差矩阵进行平方根法分解,得到该像素边缘点的下三角矩阵;
70、西格玛点选取单元,具体用于根据该像素边缘点的下三角矩阵及图像坐标,选取该像素边缘点的预设数量个西格玛点。
71、在一种可能的实施方式中,所述第一三维坐标系为相机三维坐标系,或所述第一三维坐标系为搭载相机的可移动设备的三维坐标系;
72、所述地图生成模块,包括:
73、第二均值坐标计算子模块,具体用于根据各所述像素边缘点的第一均值坐标,将各所述像素边缘点转换到第二三维坐标系中,得到各建图点的第二均值坐标;其中,所述第二三维坐标系为世界坐标系;
74、建图区域确定子模块,具体用于根据各所述建图点的第二均值坐标,在所述第二三维坐标系中确定建图区域;
75、建图区域划分子模块,具体用于按照预设网格大小,将所述建图区域划分为多个单位网格区域;
76、建图点计算子模块,具体用于针对每一个单位网格区域,根据该单位网格区域内的建图点的第二均值坐标及协方差,确定该单位网格区域的地图点坐标和协方差,得到视觉语义地图,其中,针对任一建图点,该建图点的协方差为该建图点对应的像素边缘点的协方差。
77、在一种可能的实施方式中,所述建图点计算子模块,包括:
78、第一地图点计算单元,具体用于针对每一个单位网格区域,若该单位网格区域中不包括建图点,则该单位网格区域中不生成地图点;
79、第二地图点计算单元,具体用于若该单位网格区域中仅包括一个建图点,则将所述一个建图点的第二均值坐标和协方差分别作为该单位网格区域中地图点的坐标和协方差;
80、第三地图点计算单元,具体用于若该单位网格区域中包括至少两个建图点,则根据所述至少两个建图点的协方差,计算该单位网格区域中地图点的协方差;并根据所述至少两个建图点的第二均值坐标、所述至少两个建图点的协方差、以及该单位网格区域中地图点的协方差,计算该单位网格区域中地图点的坐标;
81、视觉语义地图生成单元,具体用于根据各所述单位网格区域中地图点的坐标及协方差,生成视觉语义地图。
82、在一种可能的实施方式中,所述装置还包括:
83、待定位图像获取模块,用于获取待定位图像,以及获取所述待定位图像的预测位姿;
84、待定位边缘点确定模块,用于对所述待定位图像进行语义分割,确定所述待定位图像中预设类型对象的各待定位边缘点,得到目标像素边缘点集合;
85、待匹配地图点确定模块,用于根据所述预测位姿,在所述视觉语义地图中确定待匹配地图点集合;
86、像素边缘点配准模块,用于对所述待匹配地图点集合和所述目标像素边缘点集合进行配准,得到配准位姿;
87、位姿确定模块,用于按照所述配准位姿,确定所述待定位图像对应的位姿。
88、本技术实施例的另一方面,还提供一种电子设备,包括:
89、存储器,用于存放计算机程序;
90、处理器,用于执行存储器上所存放的程序时,实现本技术实施例第一方面任一所述的视觉语义地图生成方法。
91、本技术实施例另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本技术实施例第一方面任一所述的视觉语义地图生成方法。
92、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的视觉语义地图生成方法。
93、本技术实施例有益效果:
94、本技术实施例提供的一种视觉语义地图生成方法、装置、电子设备及存储介质,可以利用各像素边缘点的西格玛点,将各像素边缘点从二维图像转换到第一三维坐标系中,通过计算各像素边缘点的第一均值坐标和协方差,从而生成视觉语义地图。应用本技术实施例的方法,通过选取各像素边缘点的西格玛点和计算各像素边缘点的协方差、第一均值坐标,能够将在二维图像中几何意义明确的像素边缘点的不确定度信息传递到三维坐标系中,从而更加充分的利用预设类型对象的各像素边缘点的语义分割信息,使得生成的视觉语义地图更加准确。
95、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
1.一种视觉语义地图生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述分别选取各所述像素边缘点的西格玛点,包括:
3.根据权利要求2所述的方法,其特征在于,所述获取二维图像中预设类型对象的各像素边缘点,包括:
4.根据权利要求3所述的方法,其特征在于,所述对各所述语义点进行过滤,得到各像素边缘点,包括:
5.根据权利要求4所述的方法,其特征在于,所述分别确定各所述像素边缘点的不确定度椭圆,包括:
6.根据权利要求2所述的方法,其特征在于,所述根据所述不确定度椭圆,计算各所述像素边缘点的第一协方差矩阵,包括:
7.根据权利要求2所述的方法,其特征在于,所述基于所述第一协方差矩阵,选取各所述像素边缘点的西格玛点,包括:
8.根据权利要求1所述的方法,其特征在于,所述第一三维坐标系为相机三维坐标系,或所述第一三维坐标系为搭载相机的可移动设备的三维坐标系;
9.根据权利要求8所述的方法,其特征在于,所述针对每一个单位网格区域,根据该单位网格区域内的建图点的第二均值坐标及协方差,确定该单位网格区域的地图点坐标和协方差,得到视觉语义地图,包括:
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
11.一种视觉语义地图生成装置,其特征在于,所述装置包括:
12.一种电子设备,其特征在于,包括:
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法。
