CN111383286B - 定位方法、装置、电子设备及可读存储介质 - Google Patents
定位方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111383286B CN111383286B CN202010087251.3A CN202010087251A CN111383286B CN 111383286 B CN111383286 B CN 111383286B CN 202010087251 A CN202010087251 A CN 202010087251A CN 111383286 B CN111383286 B CN 111383286B
- Authority
- CN
- China
- Prior art keywords
- rod
- shaped
- camera
- pose
- positioning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 25
- 239000002245 particle Substances 0.000 claims description 61
- 230000011218 segmentation Effects 0.000 claims description 50
- 238000001914 filtration Methods 0.000 claims description 27
- 238000009826 distribution Methods 0.000 claims description 24
- 230000004807 localization Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012952 Resampling Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000197727 Euscorpius alpha Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供了一种定位方法、装置、电子设备及可读存储介质,所述方法包括:对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标;根据里程计数据,对相机进行粗定位,得到粗定位位姿;根据粗定位位姿和存储有各个杆状物体的位置坐标的地图,从多个杆状路标中确定至少三个与地图中的杆状物体有关联关系的目标杆状路标;根据至少三个目标杆状路标,对相机进行精定位,得到精定位位姿。本发明采用粗定位与精定位相结合的方式构建了基于轻量地图的定位方法,在降低地图占用的空间的同时,保证了定位精度。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种定位方法、装置、电子设备及可读存储介质。
背景技术
对于室外环境下的视觉定位问题,例如,对运动中的车辆进行定位,传统的定位方法提取环境的纹理特征来构建地图,或利用图像检索技术。但是,对于使用纹理特征的方法,为了确保在城市场景下的鲁棒性,研究人员必须设计复杂的路标描述子,使其不受光照、季节变化和高度动态物体的影响,以至于描述子的维度高,地图整体存储量大。对于使用图像检索技术的方法,更需要巨大的存储空间来存储图像数据库。
相关技术中,为了避免上述问题,有的研究人员通过神经网络提取环境中的语义信息,以单维度数值表示的语义标签替代传统方法复杂的描述子。该方法大大减少了单个路标的存储空间,但由于其定位算法仍然依赖于大量路标构成的点云,定位精度依赖点云的存储量,因此,地图存储量仍然很大,使得***很难实时运行,定位的实时性很难得到保证。
因此,目前的定位方法要求巨大的地图存储量,限制了大场景室外定位的应用,对硬件的计算效率的要求高,不利于大范围的使用和推广。
发明内容
鉴于上述问题,提出了本发明实施例的一种定位方法、装置、电子设备及可读存储介质,以便克服上述问题或者至少部分地解决上述问题。
为了解决上述问题,本发明的第一方面公开了一种定位方法,所述方法包括:
对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标;
根据里程计数据,对所述相机进行粗定位,得到粗定位位姿;
根据所述粗定位位姿和存储有各个杆状物体的位置坐标的地图,从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标;
根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿。
可选地,对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标,包括:
将所述原始图像输入语义分割模型,得到对应的语义分割图像,所述语义分割图像中各个区域分别携带语义标签;
对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标。
可选地,对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标,包括:
根据所述语义分割图像中各个区域分别携带语义标签是否是杆状物体,对所述语义分割图像进行二值化,得到对应的二值化图像,其中,所述语义分割图像中携带的语义标签是杆状物体的区域的像素值是第一像素值,剩余区域的像素值是第二像素值;
对所述二值化图像中的每一列,在该列包括的各个像素点中像素值为所述第一像素值的像素点的数量大于预设阈值时,将该列包括的各个像素点的像素值均调整为所述第一像素值;
对像素值调整后的二值化图像,在像素值为所述第一像素值的连续多列的宽度大于预设宽度时,将所述连续多列确定为一个杆状路标。
可选地,在从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标之前,所述方法还包括:
在所述粗定位位姿下通过相机对所述地图中的各个杆状物体进行图像采集,确定所述相机采集到的包含多个第一杆状物体的图像;
将所述相机采集到的图像中的多个第一杆状物体投影到所述原始图像中,得到所述多个第一杆状物体在所述原始图像上的像素坐标;
将所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标进行比较,建立像素坐标之间的距离小于预设距离的目标杆状物体与杆状路标之间的关联关系;
所述方法还包括:
根据所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述粗定位位姿的误差。
可选地,所述精定位位姿包括:所述相机在所述地图中的精定位位置坐标;根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿,包括:
根据所述相机的内参数、所述至少三个目标杆状路标中任三个目标杆状路标各自在所述原始图像中的像素坐标,确定所述任三个目标杆状路标中两两目标杆状路标对应的水平角;
根据所述任三个目标杆状路标中两两目标杆状路标对应的水平角和所述任三个目标杆状路标各自关联的杆状物体的位置坐标,确定所述相机在所述地图中的精定位位置坐标;
根据所述相机在所述地图中的精定位位置坐标与不同旋转角度组合而成的不同位姿,确定所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标。
可选地,所述精定位位姿还包括:所述相机的精定位旋转角度;根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿,包括:
根据所述相机在所述地图中的精定位位置坐标与不同旋转角度组合而成的不同位姿,确定所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标;
最小化所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标,与所述至少三个目标杆状路标各自在所述原始图像中的像素坐标之间的差值,得到所述相机的精定位旋转角度。
可选地,根据所述任三个目标杆状路标中两两目标杆状路标对应的水平角和所述任三个目标杆状路标各自关联的杆状物体的位置坐标,确定所述相机在所述地图中的精定位位置坐标,包括:
根据每三个目标杆状路标中两两目标杆状路标对应的水平角和每三个目标杆状路标各自关联的杆状物体的位置坐标,确定每三个目标杆状路标对应的精定位位置坐标;
对所述至少三个目标杆状路标中的每三个目标杆状路标对应的精定位位置坐标的误差进行排序,将误差最小的精定位位置坐标确定为所述相机在所述地图中的精定位位置坐标。
可选地,在得到精定位位姿之后,所述方法还包括:
确定所述精定位位姿的误差,并确定所述粗定位位姿的误差;
在所述精定位位姿的误差小于所述粗定位位姿的误差的情况下,将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿;
在所述精定位位姿的误差不小于所述粗定位位姿的误差的情况下,将所述粗定位位姿确定为所述相机在采集所述原始图像时的位姿。
可选地,确定所述粗定位位姿的误差,包括:
根据所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述粗定位位姿的误差。
可选地,确定所述精定位位姿的误差,包括:
在所述精定位位姿下通过相机对所述地图中的各个杆状物体进行图像采集,确定所述相机采集到的包含多个第二杆状物体的图像;
将所述相机采集到的图像中的多个第二杆状物体投影到所述原始图像中,得到所述多个第二杆状物体在所述原始图像上的像素坐标;
根据所述多个第二杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述精定位位姿的误差。
可选地,根据里程计数据,对所述相机进行粗定位,得到粗定位位姿,包括:
根据里程计数据,采用粒子滤波***,对所述相机进行粗定位,得到粗定位位姿,所述粒子滤波***中的各个粒子的分布是预设的;
在将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿之后,所述方法还包括:
根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整,所述调整后的各个粒子用于对所述相机进行下一次粗定位。
可选地,根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整,包括:
生成以所述精定位位姿为均值,标准差为σr的高斯分布;
对所述高斯分布进行采样,得到所述调整后的各个粒子,其中,符合以下公式:
σr=(1-w0)βr;其中,βr为所述精定位位姿的误差,w0是用于表征精定位可信度的常数因子。
本发明实施例的第二方面,公开了一种定位装置,以实现上述的定位方法,所述装置包括:
图像处理模块,用于对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标;
粗定位模块,用于根据里程计数据,对所述相机进行粗定位,得到粗定位位姿;
路标确定模块,用于根据所述粗定位位姿和存储有各个杆状物体的位置坐标的地图,从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标;
精定位模块,用于根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿。
本发明实施例的第三方面,还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明实施例所述的一个或多个的定位方法。
本发明实施例的第四方面,还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的定位方法。
本发明实施例包括以下有益效果:
在本发明实施例中,从相机采集到的原始图像中提出多个杆状路标,并根据里程计数据,得到相机的粗定位位姿,之后,根据所述粗定位位姿和存储有各个杆状物体的位置坐标的地图,从所述多个杆状路标中确定至少三个与目标杆状路标,其中,每个目标杆状路标与地图中的杆状物体具有关联关系,进而根据至少三个目标杆状路标,得到相机的精定位位姿。由于本发明先根据里程计数据得到了粗定位位姿,之后根据原始图像中的多个杆状路标和存储有各个杆状物体的位置坐标的地图,得到了相机的精定位位姿,以方便后期将粗定位位姿或精定位位姿作为相机的当前位姿。这样,采用粗定位与精定位相结合的方式构建了一种基于轻量地图的定位方法,在降低地图占用的空间的同时,保证了定位精度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提出的一种定位方法的步骤流程图;
图2是本发明将一具体的图像A输入语义分割模型后得到的语义分割图像;
图3是本发明对根据图像A得到的语义分割图像进行二值化后得到的二值化图像;
图4是本发明将图2中第一像素值的像素点的数量超过预设阈值的列中所有的像素点均调整为第一像素值所得到的图;
图5是本发明中通过对图4处理后提取出的多个杆状路标的图像;
图6是本发明中确定粗定位位姿的原理示意图;
图7是本发明中以俯视地图的角度对确定相机的精定位位姿的原理示意图;
图8是本发明实施例提出的一种定位装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,示出了本发明实施例的一种定位方法的步骤流程图,该定位方法可以应用于前端也可以应用于服务器中,参照图1所示,具体可以包括如下步骤:
步骤S11,对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标。
本实施例中,相机可以运动中的相机,相机采集到的原始图像可以是运动中的相机在当前所采集的原始图像。其中,原始图像的格式可以是但是不限于下述格式:JPG格式、RGB、JFPG等。
其中,对原始图像进行处理可以是指对原始图像进行语义分割处理,即对原始图像进行语义分割算法处理,语义分割处理可以理解为是机器自动分割并识别出图像中的内容。由于路灯、树干、交通路牌等杆状物体是城市场景中的常见物体,可以用作定位的可靠路标,因此,本实施例中,对原始图像进行语义分割处理后,可以从原始图像中识别出多个杆状路标。该杆状路标具体则可以是指原始图像中的路灯、交通路牌、树干等路标。
在本发明提出的一个具体实施方式中,在对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标时,具体可以包括以下步骤:
步骤S111,将所述原始图像输入语义分割模型,得到对应的语义分割图像,所述语义分割图像中各个区域分别携带语义标签。
本实施方式中,语义分割模型可以是预先训练好的模型,具体而言,对该模型的训练可以是以多个图像样本为输入,对深度神经网络模型进行训练后得到的。具体实施时,将原始图像输入到语义分割模型后,经语义分割模型输出后得到语义分割图像,该语义分割图像中包括多个不同的区域,每个区域都可以携带自身的语义标签。
本实施方式中,语义标签可以理解为是表征一个区域的形状的标签,由于一个图像中可以包括多个不同形状的物体,因此,不同的区域可以具有不同的语义标签。参照图2所示,示出了本发明将一具体的图像A输入语义分割模型后得到的语义分割图像。图像中包括多个具有不同颜色和形状的区域,每个区域都携带自身的语义标签。以图2中201部分所示,201部分在实际中是路灯,因是杆状的,因此,201区域的语义标签可以表征该区域为杆状物体。其中202部分在实际中是汽车,则202部分的语义标签可以表征该区域为车状物体。
步骤S112,对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标。
由于需要从所述原始图像中提取出多个杆状路标,因此,可以将语义分割图像中语义标签为杆状物体的区域进行保留,而对语义标签不为杆状物体的区域进行滤除,这样,在语义分割图像中便留存有语义标签为杆状物体的多个区域,该多个区域即为多个杆状路标。
在本发明的一个具体实施方式中,参照图3至图5所示,示出了本发明对根据图像A得到的语义分割图像进行过滤得到多个杆状路标的中间图像,结合图3至图5,对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标的过程进行描述,具体可以包括以下步骤:
步骤S112-1,根据所述语义分割图像中各个区域分别携带语义标签是否是杆状物体,对所述语义分割图像进行二值化,得到对应的二值化图像。
其中,所述语义分割图像中携带的语义标签是杆状物体的区域的像素值是第一像素值,剩余区域的像素值是第二像素值。
本实施方式中,可以在语义分割图像中,将携带的语义标签是杆状物体的区域的像素值调整为第一像素值,将携带的语义标签不是杆状物体的区域的像素值调整为与第一像素值不同的第二像素值,进而得到了二值化图像。其中,第一像素值可以为1,第二像素值可以为0。
参照图3所示,图3示出了对根据图像A得到的语义分割图像进行二值化后得到的二值化图像。结合图2和图3可知,图2中的201部分是路灯为杆状物体,202部分为汽车,得到的二值化图像中,201部分得到了保留,而202部分则未得到保留。
得到二值化图像后,便可以将语义分割图像中为杆状物体的区域进行留存,而其他区域的像素值由于与杆状物体的区域的像素值不同,则可以很明显地区分置杆状物体与非杆状物体。
步骤S112-2,对所述二值化图像中的每一列,在该列包括的各个像素点中像素值为所述第一像素值的像素点的数量大于预设阈值时,将该列包括的各个像素点的像素值均调整为所述第一像素值。
本实施方式中,可以从左至右,或,从右至左,或从两边同时扫描二值化图像的每一列,确定每一列中像素值为第一像素值的像素点的数量,由于第一像素值的区域是杆状物体,则在确定第一像素值的像素点的数量大于预设阈值时,便可以表示杆状物体的长度足够长,在实际中可能是路杆。具体实施时,可以将第一像素值的像素点的数量超过预设阈值的列中所有的像素点均调整为第一像素值。参照图4所示,示出了将图2中第一像素值的像素点的数量超过预设阈值的列中所有的像素点均调整为第一像素值所得到的图,如图4及图2所示,可知,图2中为第一像素值的7个白色列中,最终确定出6列为第一像素值的像素点的数量超过预设阈值。
步骤S112-3,对像素值调整后的二值化图像,在像素值为所述第一像素值的连续多列的宽度大于预设宽度时,将所述连续多列确定为一个杆状路标。
本实施方式中,预设宽度可以是指水平方向的宽度,在调整后的二值化图像中,在水平方向上为第一像素值的多个连续像素点所组成的宽度大于预设宽度时,则可以将连续多列确定为一个杆状路标。具体地,预设宽度可以根据实际情况进行设置。
参照图5所示,示出了通过对图4处理后提取出的多个杆状路标的图像,在该图像中,垂直于图像水平方向的7条线便为提取出的杆状路标,该7条线所标注的图像中的物体在实际中便为路灯、路杆等路标。
步骤S12,根据里程计数据,对所述相机进行粗定位,得到粗定位位姿。
本实施例中,里程计数据是指相机所运动的里程,具体可以是指相机从采集上一帧图像至采集当前的原始图像的过程中所运动的里程。具体实施时,可以结合里程计数据和相机拍摄上一帧图像时所处的位姿,计算出粗略的相机位置,从而得到相机的粗定位位姿。其中,粗定位位姿可以是指相机当前所处的位置以及相机在该位置上的姿态。
示例地,参照图6所示,图6示出了确定粗定位位姿的原理示意图。其中,里程计数据为1米,相机拍摄上一帧图像时所处的位姿如虚线箭头601所示,则结合位置601和里程计数据1米,可以计算出相机采集原始图像时的位姿为实线箭头602所示。
步骤S13,根据所述粗定位位姿和存储有各个杆状物体的位置坐标的地图,从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标。
本实施方式中,存储有各个杆状物体的位置坐标的地图可以是指存储有将物体级的路标的轻量语义地图,该轻量语义地图可以实现紧凑的地图表达,进而极大地降低了地图的存储空间占用。其中,轻量语义地图是指物体识别里面,通过训练样本数据而构建的地图。在该地图中存储有一个地域中的全部物体的特征信息,其中,全部物体的特征信息可以是该物体的语义信息,以便计算机进行识别。比如一个水杯可以分解成两个圆柱以及对应的颜色信息,这些分解后的信息就为语义信息,以便计算机可以根据语义信息识别该水杯。
实际中,由于从原始图像中提取到的多个杆状路标是实际观测到的路杆,地图中存储有各个杆状物体,则从原始图像中提取到的多个杆状路标可以是地图中的部分杆状物体。因此,可以进一步从原始图像中提取到的多个杆状路标中确定在地图中真实存在的杆状路标,以提升对相机位姿定位的准确性,避免虚假的杆状路标对定位结果造成干扰。
本实施方式中,由于已经粗略确定出相机的粗定位位姿,根据该粗定位位姿可以确定相机在地图中的位置,进而可以以相机在地图中的位置为基准,确定出位于该位置附近的多个杆状物体。进而,可以从原始图像中提取到的多个杆状路标中,确定与位于该位置附近的多个杆状物体之间具有关联关系的至少三个目标杆状路标。这样,确定出的每个目标杆状路标便可以是地图中真实存在的杆状物体。
其中,当原始图像中的杆状路标高度匹配地图中的杆状物体时,便可以称该杆状路标与杆状物体具有关联关系。
示例地,如图5所示,杆状路标分别为a、b、c、d、e、f、g,根据粗定位位姿和存储有各个杆状物体的位置坐标的地图,最终确定出a、b、c、d、g与地图中的杆状物体具有关联关系,则表示该5个路杆是地图中的真实路标,则可以将a、b、c、d、g作为目标杆状路标。
步骤S14,根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿。
本实施方式中,由于至少确定出三个目标杆状路标后,则可以根据三个目标杆状路标对相机进行精定位,进而得到相机的精定位位姿,该精定位位姿可以理解为是根据地图对粗定位位姿进行矫正的位姿,以保证相机的定位精度。
在本发明提出的一个具体实施方式中,所述精定位位姿可以包括:所述相机在所述地图中的精定位位置坐标,参照图7所示,示出了根据至少三个目标杆状路标确定精定位位姿的原理示意图。下面结合图7对根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿的过程进行详细阐述,具体可以包括以下步骤:
步骤S141,根据所述相机的内参数、所述至少三个目标杆状路标中任三个目标杆状路标各自在所述原始图像中的像素坐标,确定所述任三个目标杆状路标中两两目标杆状路标对应的水平角。
本实施方式中,由于位姿可以理解为是相机在地图中的位置以及在该位置上的姿态,则精定位位姿可以包括相机在所述地图中的精定位位置坐标。其中,精定位位置坐标可以是指相机在地图中的二维坐标。
本实施方式中,相机的内参数可以是指与相机自身特性相关的参数,比如相机的焦距、像素大小等。实际中,由于可以有至少三个目标杆状路标,则可以确定相机与每两个目标杆状路标之间的夹角,该夹角即为所述水平角。
具体地,参照图7所示,图7是以俯视地图的角度对确定相机的精定位位姿的原理示意图,L1、L2、L3为多个目标杆状路标中的其中三个目标杆状路标,T点是假定的相机位置,其中,θ12是相机与L1、L2之间的夹角,θ23是相机与L2、L3之间的夹角。以确定θ12为例,对确定所述任三个目标杆状路标中两两目标杆状路标对应的水平角进行说明。
其中,可以根据式1确定θ12的值。
式1:
在式1中,u1为L1的目标杆状路标在原始图像中的像素坐标,u2为L2的目标杆状路标在原始图像中的像素坐标,cx及fx为相机的内参数。
其中,像素坐标可以是指目标杆状路标在二值化图像中的坐标,以图5为例,图5中杆状路标a的像素坐标即为杆状路标a在该图中的水平坐标。实际中,可以在从原始图像中多个杆状路标时得到每个杆状路标的像素坐标。具体地,在像素值为所述第一像素值的连续多列的宽度大于预设宽度时,将所述连续多列确定为一个杆状路标时,则可以将该连续多列的像素坐标的均值作为该杆状路标观测的像素坐标。或者,可以将该连续多列中位于中心位置的一列的像素坐标作为该杆状路标观测的像素坐标。例如,以左端为0为例,则杆状路标a的像素坐标可以记为2。以此类推,杆状路标b的像素坐标可以记为5。通过上述式1即可得到相机与两两目标杆状路标之间的夹角。
步骤S142,根据所述任三个目标杆状路标中两两目标杆状路标对应的水平角和所述任三个目标杆状路标各自关联的杆状物体的位置坐标,确定所述相机在所述地图中的精定位位置坐标。
本实施方式中,由于每个目标杆状路标可以是地图中真实存在的一个路标(即杆状物体,以下简称实体路标),这样,可以确定每个实体路标在地图中的二维坐标。并且,在确定每两个目标杆状路标对应的水平角后,即确定了每两个实体路标之间的夹角,这样,基于确定的每个实体路标在地图中的二维坐标以及每两个实体路标之间的夹角,便可以确定每两个实体路标的所构成的圆。
如此,在二维平面上便构成了多个圆,圆与圆之间具有交点,进而可以将圆与圆之间的交点确定为相机所在的位置,进而可以得到相机在地图中的二维坐标,该二维坐标即为相机的精定位位置坐标。
参照图7所示,在二维平面上,路标L1和L2可以构成平面内的一个圆,路标L2和L3又构成一个圆,两个圆之间相交的交点为L3和T,由于L3是目标杆状路标,则可以确定T为相机的位置。
具体实施时,确定路标L1和L2构成的圆的过程如下:
参照图7所示,θ12为该圆上圆弧L1L2对应的圆周角,基于圆周角定理,圆心角α12等于圆周角θ12的两倍,即α12=2θ12,因此,可以得到路标L1和L2构成的圆的半径,基于圆的半径、圆心角以及圆上的两点(L1和L2)便可以确定一个圆,该圆的圆心如图7中的O1,其中,该圆的半径为r1,其中,|L1L2|为L1和L2在地图上的直线距离,实际中为该直线距离可以根据L1在地图中的二维坐标与L2在地图中的二维坐标计算得出,其中,L1和L2各自的二维坐标可以预先存储在地图中。
θ12是相机与L1、L2之间的夹角,同理,可以确定出L2和L3构成的圆,该圆的圆心为O2,如此,便构成了图7中所示的两个圆,两个圆交叉在点L2和T,其中,L2是目标杆状路标,则可以将T点作为相机的位置,进而可以得到T点在地图中的坐标(EC,NC),该T点在地图中的坐标(EC,NC)即为相机在所述地图中的精定位位置坐标。
在又一种具体的实施方式中,精定位位姿还可以包括所述相机的精定位旋转角度,精定位旋转角度可以是指相机在该二维坐标中的方向姿态,该精定位旋转角度可以是0度至360度的任意度数,表征相机在地图中的二维方向。则相应地,确定精定位位姿中的精定位旋转角度可以包括以下步骤:
步骤S143,根据所述相机在所述地图中的精定位位置坐标与不同旋转角度组合而成的不同位姿,确定所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标。
本实施方式中,相机在所述地图中的精定位位置坐标代表相机当前所处的位置,而在对运动物体的定位中,还要确定运动物体在位置上的姿态。即还需要确定相机在精定位位置坐标上的姿态,该姿态即是相机的当前朝向,实际中,可以用相机的旋转角来表征相机的当前朝向。
实际中,可以固定精定位位置坐标,使相机在该精定位位置坐标上以处于不同的旋转角度进行旋转,进而得到多个不同的位姿。由于位姿可以表征相机的当前朝向,则在相机位置固定的情况下,不同的朝向所观测到的地图中的杆状物体投影在原始图像中的位置不一样,也即是不同的朝向所观测到的杆状物体投影在二值化图像中的像素坐标不一样。
具体实施时,在每变换一个位姿时,便可以按照当前变换后的位姿,确定至少三个目标杆状路标各自关联的杆状物体投影到原始图像中的像素坐标,进而将该像素坐标与原始图像中目标杆状路标在原始图相中的像素坐标进行比对,以确定二者之间的差距,进而根据差距可以确定出差距最小时对应的旋转角度。
步骤S144,最小化所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标,与所述至少三个目标杆状路标各自在所述原始图像中的像素坐标之间的差值,得到所述相机的精定位旋转角度。
本实施方式中,不同的位姿下,与至少三个目标杆状路标各自关联的杆状物体投影到原始图像中的像素坐标可以不同,进而与所述至少三个目标杆状路标各自在所述原始图像中的像素坐标之间的差值可以有多个,且每个差值可以不同。
实际中,为了提高定位精度,可以最小该差值,具体而言,则是将确定最小的差值,在差值越小时,表示杆状物体投影到原始图像中的像素坐标与目标杆状路标在原始图像中的像素坐标越接近,也即相机在当前的朝向所观测到的地图中的杆状物体投影在原始图像中的位置与相机拍摄原始图像时的朝向越趋近。
因此,可以将该最小的差值所对应的旋转角度确定为相机的精定位旋转角度。这样,便实现了对相机的精定位位姿的确定。即不断地调整旋转角,调的过程中发现某一个旋转角下投影到原始图像中的杆状物体与原始图像中的目标杆状路标之间拟合最好,则将该转角作为旋转角。
具体地,可以根据如下公式确定旋转角:
其中,mk表示从第k帧原始图像(即当前原始图像)提取得到的杆状路标的数量;mi表示提取得到的第i个杆状路标在原始图像中的像素坐标,θ(i)表示第i个目标杆状路标对应地图中的杆状物体的序号;Zθ(i)表示地图中的第i个杆状物体投影到原始图像中得到的像素坐标,ψ表示旋转角。
本发明实施例,从相机采集到的原始图像中提出多个杆状路标,并根据里程计数据,得到相机的粗定位位姿,之后,根据所述粗定位位姿和存储有各个杆状物体的位置坐标的地图,从所述多个杆状路标中确定至少三个与目标杆状路标,进而根据至少三个目标杆状路标,得到相机的精定位位姿。由于本发明先根据里程计数据得到了粗定位位姿,之后根据原始图像中的多个杆状路标和存储有各个杆状物体的位置坐标的地图,得到了相机的精定位位姿,以方便后期将粗定位位姿或精定位位姿作为相机的当前位姿。这样,采用粗定位与精定位相结合的方式构建了一种轻量的基于地图的定位方法,在降低地图存储占用空间的同时,保证了定位精度。
在本发明提出的一个具体实施方式中,在从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标之前,还可以包括以下步骤:
步骤S21,在所述粗定位位姿下通过相机对所述地图中的各个杆状物体进行图像采集,确定所述相机采集到的包含多个第一杆状物体的图像。
本实施方式中,在确定出粗定位位姿后,可以在地图上固定相机的粗定位位姿,以相机的视角对地图中的各个杆状物体进行图像采集,进而确定该相机可以采集到的多个第一杆状物体,该多个第一杆状物体可以理解为是相机在粗定位位姿上可以观测到的多个第一杆状物体。
实际中,该相机可以观测到的多个第一杆状物体可以分布于粗定位位姿的预设范围内,该预设范围可以是相机可以观测到的范围。
步骤S22,将所述多个第一杆状物体投影到所述原始图像中,得到所述多个第一杆状物体在所述原始图像上的像素坐标。
本实施方式中,可以将多个第一杆状物体投影到所述原始图像中。其中,所述投影可以理解为是将杆状物体垂直投射投到所述原始图像中,也可以理解为是在原始图像上叠加了相机在粗定位位姿上观测多个第一杆状物体的图像。
示例地,假设有一张二维地图,在(x=1,y=1)的地方有一个路标,相机的粗定位位姿为(x0,y0,以及一个转角),假定在这个位姿可以看到路标在图像的哪里,连接相机当前位置跟路标位置的直线,与图像平面的交点,该交点即为地图上的路标投影到原始图像的位置。
实际中,在将多个第一杆状物体投影到所述原始图像后,可以得到多个第一杆状物体在原始图像中的像素坐标,该像素坐标可以是指第一杆状物体投影到原始图像中后,对该投影了多个第一杆状物体目标杆状路标的原始图像进行二值化处理后,得到每个第一杆状物体投影在原始图像中的坐标。
步骤S23,将所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标进行比较,建立像素坐标之间的距离小于预设距离的目标杆状物体与杆状路标之间的关联关系。
本实施方式中,可将多个第一杆状物体分别在所述原始图像上的像素坐标和所述多个杆状路标分别在所述原始图像中的像素坐标进行比较,求得每个第一杆状物体和每个杆状路标之间的距离。当距离小于预设距离时,则表示相机实际观测到的杆状路标为地图中的该第一杆状物体,即相机实际观测到的杆状路标是真实在地图中存在的第一杆状物体。进而,可以确定该杆状路标为真实的路标,进而可以将该杆状路标与该第一杆状物体进行关联,以建立二者的关联关系。
在本发明提出的一个具体实施方式中,在步骤S141中,可以通过以下步骤确定所述任三个目标杆状路标中两两目标杆状路标对应的水平角。实际中,通过原始图像提取出了至少三个目标杆状路标,实际中,每三个目标杆状路标可以确定两个圆,进而可以确定出定位出一个相机位置。
在本实施方式中,可以将至少三个目标杆状路标中每三个目标杆状路标组成为一个组合,进而得到多个组合。例如,有n个目标杆状路标,则有个组合。则可以对所述至少三个目标杆状路标中的每三个目标杆状路标,即每一个组合,执行以下步骤:
步骤S141',根据所述相机的内参数、每三个目标杆状路标各自在所述原始图像中的像素坐标,确定每三个目标杆状路标中两两目标杆状路标对应的水平角。
本实施方式中,由于基于每三个目标杆状路标都可以确定出该三个目标杆状路标中两两目标杆状路标对应的水平角,因此针对每一个组合都有二个水平角,进而可以得到多个水平角。
其中,确定每三个目标杆状路标中两两目标杆状路标对应的水平角的过程与步骤S141的过程类似,具体参照步骤S141的过程即可,在此不再赘述。
则相应地,步骤S142中,可以通过以下步骤确定所述相机在所述地图中的精定位位置坐标:
步骤S142-1,根据每三个目标杆状路标中两两目标杆状路标对应的水平角和每三个目标杆状路标各自关联的杆状物体的位置坐标,确定每三个目标杆状路标对应的精定位位置坐标。
本实施方式中,由于每三个目标杆状路标中两两目标杆状路标对应一个水平角,因此可以通过两两目标杆状路标对应的水平角确定一个相机的精定位位置坐标。这样,每一个组合都对应一个相机的精定位位置坐标,因此,可以确定出多个精定位位置坐标。
具体地,对于确定每三个目标杆状路路标对应的相机的精定位位置坐标的过程,与步骤S142的过程类似,具体参照步骤S142的过程即可,在此不再赘述。
步骤S142-2,对所述至少三个目标杆状路标中的每三个目标杆状路标对应的精定位位置坐标的误差进行排序,将误差最小的精定位位置坐标确定为所述相机在所述地图中的精定位位置坐标。
本实施方式中,由于每一个组合都对应一个相机的精定位位置坐标,则针对个组合,便有/>个精定位位置坐标。实际中,可以确定每一个精定位位置坐标的误差,并按照误差从高到低的顺序或从低到高的顺序排序,从而确定出最小的误差所对应的精定位位置,将该误差最小的精定位位置坐标确定为所述相机在所述地图中的精定位位置坐标。
其中,一个精定位位置坐标的误差可以表征该精定位位置坐标与相机的真实位置坐标之间的差距,差距越小,该精定位位置坐标的误差越小。具体地,在得到各个精定位位置坐标后,可以以一个旋转角度为固定角度,确定相机在每一个精定位坐标处及以该旋转角度为视角,在地图中所能观测到的多个杆状物体投影到原始图像中的像素坐标,之后,确定该各像素坐标与至少三个目标杆状路标在原始图像中的像素坐标的平均差值,将该平均差值作为该精定位坐标的误差。最后,可以将误差最小的精定位位置坐标确定为所述相机在所述地图中的精定位位置坐标。
实际中,在确定粗定位位姿及精定位位姿之后,便可以根据粗定位位姿和精定位位姿对相机的当前位姿进行定位。具体地,在一种实施方式中,在确定精定位位姿之后,还可以包括以下步骤:
步骤S15,确定所述精定位位姿的误差,并确定所述粗定位位姿的误差。
本实施方式中,可以根据精定位位姿的误差和粗定位位姿的误差,对精定位位姿和粗定位位姿进行选择。其中,精定位位姿的误差可以理解为是精定位位姿与相机的真实位姿之间的差距,粗定位位姿的误差可以理解为是粗定位位姿与相机的真实位姿之间的差距。差距越小,位姿越趋近真实位姿。
在一种具体的实施方式中,在确定所述粗定位位姿的误差时,具体可以包括以下步骤:
步骤S151,根据所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述粗定位位姿的误差。
相应地,由于多个第一杆状物体是在相机的粗定位位姿上采集到的图像中的,则实际中可以通过多个第一杆状物体投影到所述原始图像上的像素坐标,和该多个第一杆状物体各自关联的多个目标杆状路标各自在所述原始图像中的像素坐标之间的差值,确定该粗定位位姿的误差。
由于多个杆状路标是相机处于真实位姿上所观测到的,则多个杆状路标各自在所述原始图像中的像素坐标即为相机的真实的像素坐标,而多个第一杆状物体是基于相机的粗定位位姿观测到的,因此,粗定位位姿的误差可以表征定位的相机的位姿与相机的真实位姿之间的差距。
在具体实施时,可以确定每个第一杆状物体投影到所述原始图像上的像素坐标,与该第一杆状物体关联的目标杆状路标的像素坐标之间的差值,进而,可以得到多个差值。实际中,可以将该多个差值的均值作为误差,或者将该多个差值的最大值作为误差。例如,有5个杆状物体及5个目标杆状路标,则可以得到5个差值,则可以将该5个差值的平均值作为粗定位位姿的误差。
在一种实施方式中,可以按照以下步骤确定精定位位姿的误差:
步骤S152,在所述精定位位姿下通过相机对所述地图中的各个杆状物体进行图像采集,确定所述相机采集到的包含多个第二杆状物体的图像。
本实施方式中,可以以精定位位姿为基准,以相机为视角,对地图中的各个杆状物体进行图像采集,进而可以确定在地图中采集到的包含多个第二杆状物体的图像。
步骤S153,将所述相机采集到的图像中的多个第二杆状物体投影到所述原始图像中,得到所述多个第二杆状物体在所述原始图像上的像素坐标。
本实施方式中,确定采集到的图像中包含的多个第二杆状物体在所述原始图像上的像素坐标的过程与步骤S22类似,相关过程可以参照步骤S22执行,在此不再赘述。
步骤S154,根据所述多个第二杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述精定位位姿的误差。
本实施方式中,确定多个第二杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值的过程,与步骤S151类似,相关过程可以参照步骤S151执行,在此不再赘述。
其中,可以通过比较所述精定位位姿的误差与所述粗定位位姿的误差的大小,根据大小确定所述相机在采集所述原始图像时的位姿。具体地,在所述精定位位姿的误差小于所述粗定位位姿的误差的情况下,可以转步骤S17;在所述精定位位姿的误差不小于所述粗定位位姿的误差的情况下,可以转步骤S18。
步骤S17:将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿。
步骤S18:将所述粗定位位姿确定为所述相机在采集所述原始图像时的位姿。
具体实施时,在所述精定位位姿的误差小于所述粗定位位姿的误差时,表明精定位更为准确,因此,可以将精定位位姿确定为所述相机在采集所述原始图像时的位姿。在所述精定位位姿的误差大于所述粗定位位姿的误差的情况,此种情况说明粗定位更为准确,则可以将粗定位位姿确定为所述相机在采集所述原始图像时的位姿。
在本发明的一个具体实施方式中,在根据里程计数据,对所述相机进行粗定位,得到粗定位位姿时,具体可以是以下步骤:
步骤S12',根据里程计数据,采用粒子滤波***,对所述相机进行粗定位,得到粗定位位姿,所述粒子滤波***中的各个粒子的分布是预设的。
其中,粒子滤波***可以是指进行粒子滤波的一个软件***。粒子滤波具体是通过寻找一组在状态空间中传播的随机样本来近似的表示概率密度函数,用样本均值代替积分运算,进而获得***状态的最小方差估计的过程,这些样本被形象的称为“粒子”,故而叫粒子滤波。
本实施方式中,在确定粗定位位姿时,可以将里程计数据输入到粒子滤波***,在该粒子滤波***中可以存储有地图中的多个杆状物体,该多个杆状物体便为粒子滤波***中的粒子。其中,该多个杆状物体可以是预设到粒子滤波***中,经过粒子滤波***处理后,便可以得到相机的粗定位位姿。
相应地,在将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿之后,所述方法还可以包括以下步骤:
步骤S16,根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整,所述调整后的各个粒子用于对所述相机进行下一次粗定位。
本实施方式中,在确定好精定位位姿后,便可以以该次相机的精定位位姿为基准,以相机为视角,确定在地图中可以重新观测到的多个杆状物体,并根据该重新观测到的多个杆状物体对粒子滤波***中的各个粒子进行更新,即,将粒子滤波***中的各个粒子重新调整为该重新观测到的多个杆状物体。
在对各个粒子进行调整后,粒子滤波***中存储的便是重新调整后的各个粒子。这样,在相机采集到的下一帧图像到来时,便可以根据新的里程计读数和改调整后各个粒子,确定相机的粗定位位姿。
在本发明的一个具体实施方式中,在根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整时,具体可以包括以下步骤:
步骤S161,生成以所述精定位位姿为均值,标准差为σr的高斯分布。
其中,σr满足以下公式:
σr=(1-w0)βr;其中,βr为所述精定位位姿的误差,w0是用于表征精定位可信度的常数因子。
步骤S162,对所述高斯分布进行采样,得到所述调整后的各个粒子。
其中,对高斯分布进行采样具体可以是指按照高斯分布对地图中的各个杆状物体进行采样,进而可以得到采样出的多个杆状物体,该采样出的多个杆状物体即可以作为粒子滤波***中调整后的各个粒子。
在实际中,若是当前原始图像是第一帧图像,则在对相机进行粗定位时,即确定粗定位位姿时,所依据的采样粒子可以根据GPS初始化或由人工指定。
采用上述实施方式时,在确定精定位位姿后,调整粒子滤波***中的各个粒子的分布,可以使得精定位与粗定位所依据的粒子滤波的融合,通过调整粒子分布对整体***的精度施加影响力,从而与粒子滤波过程紧耦合在一起。这样,相机跟随运动物体不断往前走,相机不断地拍图像,图像一帧接一帧的到来,对每一帧的定位都是粗定位+精定位相结合的方式,每一帧确定的精定位后都为下一帧的粗定位进行参考。进而提高了运动中的物体的定位效率和精度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参考图8,示出了本发明实施例的一种定位装置的框架示意图,所述装置可以包括如下模块:
图像处理模块801,可以用于对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标;
粗定位模块802,可以用于根据里程计数据,对所述相机进行粗定位,得到粗定位位姿;
路标确定模块803,可以用于根据所述粗定位位姿和存储有各个杆状物体的位置坐标的地图,从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标;
精定位模块804,可以用于根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿。
可选地,所述装置还包括:
粗定位误差确定模块,用于确定所述粗定位位姿的误差;
精定位误差确定模块,用于确定所述精定位位姿的误差;
位姿确定模块,可以用于在所述精定位位姿的误差小于所述粗定位位姿的误差的情况下,将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿;以及,在所述精定位位姿的误差不小于所述粗定位位姿的误差的情况下,将所述粗定位位姿确定为所述相机在采集所述原始图像时的位姿。
相应地,所述粗定位误差确定模块,可以用于根据所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述粗定位位姿的误差。
相应地,所述精定位误差确定模块,可以包括以下单元:
第二采集单元,可以用于在所述精定位位姿下通过相机对所述地图中的各个杆状物体进行观测,确定所述相机观测到的多个第二杆状物体;
第二投影单元,可以用于将所述多个第二杆状物体投影到所述原始图像中,得到所述多个杆状物体在所述原始图像上的像素坐标;
精定位误差确定单元,可以用于根据所述多个第二杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述精定位位姿的误差。
可选地,所述图像处理模块,具体可以包括以下单元:
语义分割单元,可以用于将所述原始图像输入语义分割模型,得到对应的语义分割图像,所述语义分割图像中各个区域分别携带语义标签;
过滤单元,可以用于对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标。
可选地,所述过滤单元,具体可以包括以下单元:
图像二值化单元,可以用于根据所述语义分割图像中各个区域分别携带语义标签是否是杆状物体,对所述语义分割图像进行二值化,得到对应的二值化图像,其中,所述语义分割图像中携带的语义标签是杆状物体的区域的像素值是第一像素值,剩余区域的像素值是第二像素值;
像素值调整单元,可以用于对所述二值化图像中的每一列,在该列包括的各个像素点中像素值为所述第一像素值的像素点的数量大于预设阈值时,将该列包括的各个像素点的像素值均调整为所述第一像素值;
杆状路标确定单元,可以用于对像素值调整后的二值化图像,在像素值为所述第一像素值的连续多列的宽度大于预设宽度时,将所述连续多列确定为一个杆状路标。
可选地,所述装置还可以包括以下模块:
第一采集模块,可以用于在所述粗定位位姿下通过相机对所述地图中的各个杆状物体进行观测,确定所述相机观测到的多个第一杆状物体;
第一投影模块,可以用于将所述多个第一杆状物体投影到所述原始图像中,得到所述多个第一杆状物体在所述原始图像上的像素坐标;
数据关联模块,可以用于将所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标进行比较,建立像素坐标之间的距离小于预设距离的目标杆状物体与杆状路标之间的关联关系。
可选地,所述精定位位姿可以包括所述相机在所述地图中的精定位位置坐标;所述精定位模块,具体可以包括以下单元:
水平角确定单元,可以用于根据所述相机的内参数、所述至少三个目标杆状路标中任三个目标杆状路标各自在所述原始图像中的像素坐标,确定所述任三个目标杆状路标中两两目标杆状路标对应的水平角;
精定位位置坐标确定单元,可以用于根据所述任三个目标杆状路标中两两目标杆状路标对应的水平角和所述任三个目标杆状路标各自关联的杆状物体的位置坐标,确定所述相机在所述地图中的精定位位置坐标。
可选地,所述精定位位姿还可以包括:所述相机的精定位旋转角度,所述精定位模块,具体还可以包括以下单元:
旋转投影单元,可以用于根据所述相机在所述地图中的精定位位置坐标与不同旋转角度组合而成的不同位姿,确定所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标;
旋转角度确定单元,可以用于最小化所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标,与所述至少三个目标杆状路标各自在所述原始图像中的像素坐标之间的差值,得到所述相机的精定位旋转角度。
可选地,所述水平角确定单元,具体可以用于根据所述相机的内参数、每三个目标杆状路标各自在所述原始图像中的像素坐标,确定每三个目标杆状路标中两两目标杆状路标对应的水平角;
所精定位位置坐标确定单元,具体可以包括以下单元:
候选精定位位置坐标确定子单元,可以用于根据每三个目标杆状路标中两两目标杆状路标对应的水平角和每三个目标杆状路标各自关联的杆状物体的位置坐标,确定每三个目标杆状路标对应的精定位位置坐标;
精定位位置坐标确定子单元,可以用于对所述至少三个目标杆状路标中的每三个目标杆状路标对应的精定位位置坐标的误差进行排序,将误差最小的精定位位置坐标确定为所述相机在所述地图中的精定位位置坐标。
可选地,所述粗定位模块,具体可以用于根据里程计数据,采用粒子滤波***,对所述相机进行粗定位,得到粗定位位姿,所述粒子滤波***中的各个粒子的分布是预设的;
所述装置还可以包括以下模块:
精确重采样模块,可以用于根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整,所述调整后的各个粒子用于对所述相机进行下一次粗定位。
可选地,所述精确重采样模块,具体可以包括以下单元:
高斯分布确定单元,可以用于生成以所述精定位位姿为均值,标准差为σr的高斯分布;
采样单元,可以用于对所述高斯分布进行采样,得到所述调整后的各个粒子,其中,符合以下公式:σr=(1-w0)βr;其中,βr为所述精定位位姿的误差,w0是用于表征精定位可信度的常数因子。
对于定位装置实施例而言,由于其与定位方法实施例基本相似,所以描述的比较简单,相关之处参见定位方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明实施例所述的一个或多个的定位方法。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的定位方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种定位方法、装置、电子设备和可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种定位方法,其特征在于,所述方法包括:
对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标;
根据里程计数据,对所述相机进行粗定位,得到粗定位位姿;
根据所述粗定位位姿确定所述相机在地图中的位置,根据所述位置确定该位置附近的多个杆状物体,从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标;所述地图中存储有各个杆状物体的位置坐标;
根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿。
2.根据权利要求1所述的方法,其特征在于,对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标,包括:
将所述原始图像输入语义分割模型,得到对应的语义分割图像,所述语义分割图像中各个区域分别携带语义标签;
对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标。
3.根据权利要求2所述的方法,其特征在于,对所述语义分割图像中携带的语义标签是杆状物体的区域进行过滤,得到多个杆状路标,包括:
根据所述语义分割图像中各个区域分别携带语义标签是否是杆状物体,对所述语义分割图像进行二值化,得到对应的二值化图像,其中,所述语义分割图像中携带的语义标签是杆状物体的区域的像素值是第一像素值,剩余区域的像素值是第二像素值;
对所述二值化图像中的每一列,在该列包括的各个像素点中像素值为所述第一像素值的像素点的数量大于预设阈值时,将该列包括的各个像素点的像素值均调整为所述第一像素值;
对像素值调整后的二值化图像,在像素值为所述第一像素值的连续多列的宽度大于预设宽度时,将所述连续多列确定为一个杆状路标。
4.根据权利要求1所述的方法,其特征在于,在从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标之前,所述方法还包括:
在所述粗定位位姿下通过相机对所述地图中的各个杆状物体进行图像采集,确定所述相机采集到的包含多个第一杆状物体的图像;
将所述相机采集到的图像中的多个第一杆状物体投影到所述原始图像中,得到所述多个第一杆状物体在所述原始图像上的像素坐标;
将所述多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标进行比较,建立像素坐标之间的距离小于预设距离的目标杆状物体与杆状路标之间的关联关系。
5.根据权利要求1所述的方法,其特征在于,所述精定位位姿包括:所述相机在所述地图中的精定位位置坐标;根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿,包括:
根据所述相机的内参数、所述至少三个目标杆状路标中任三个目标杆状路标各自在所述原始图像中的像素坐标,确定所述任三个目标杆状路标中两两目标杆状路标对应的水平角;
根据所述任三个目标杆状路标中两两目标杆状路标对应的水平角和所述任三个目标杆状路标各自关联的杆状物体的位置坐标,确定所述相机在所述地图中的精定位位置坐标。
6.根据权利要求5所述的方法,其特征在于,所述精定位位姿还包括:
所述相机的精定位旋转角度;根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿,包括:根据所述相机在所述地图中的精定位位置坐标与不同旋转角度组合而成的不同位姿,确定所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标;
最小化所述至少三个目标杆状路标各自关联的杆状物体在所述不同位姿下投影到所述原始图像中的像素坐标,与所述至少三个目标杆状路标各自在所述原始图像中的像素坐标之间的差值,得到所述相机的精定位旋转角度。
7.根据权利要求5所述的方法,其特征在于,根据所述任三个目标杆状路标中两两目标杆状路标对应的水平角和所述任三个目标杆状路标各自关联的杆状物体的位置坐标,确定所述相机在所述地图中的精定位位置坐标,包括:
根据每三个目标杆状路标中两两目标杆状路标对应的水平角和每三个目标杆状路标各自关联的杆状物体的位置坐标,确定每三个目标杆状路标对应的精定位位置坐标;
对所述至少三个目标杆状路标中的每三个目标杆状路标对应的精定位位置坐标的误差进行排序,将误差最小的精定位位置坐标确定为所述相机在所述地图中的精定位位置坐标。
8.根据权利要求4-7任一所述的方法,其特征在于,在得到精定位位姿之后,所述方法还包括:
确定所述精定位位姿的误差,并确定所述粗定位位姿的误差;
在所述精定位位姿的误差小于所述粗定位位姿的误差的情况下,将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿;
在所述精定位位姿的误差不小于所述粗定位位姿的误差的情况下,将所述粗定位位姿确定为所述相机在采集所述原始图像时的位姿。
9.根据权利要求8所述的方法,其特征在于,确定所述粗定位位姿的误差,包括:
根据多个第一杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述粗定位位姿的误差。
10.根据权利要求8所述的方法,其特征在于,确定所述精定位位姿的误差,包括:
在所述精定位位姿下通过相机对所述地图中的各个杆状物体进行图像采集,确定所述相机采集到的包含多个第二杆状物体的图像;
将所述相机采集到的图像中的多个第二杆状物体投影到所述原始图像中,得到所述多个第二杆状物体在所述原始图像上的像素坐标;
根据所述多个第二杆状物体在所述原始图像上的像素坐标和所述多个杆状路标各自在所述原始图像中的像素坐标之间的差值,确定所述精定位位姿的误差。
11.根据权利要求1-7任一所述的方法,其特征在于,根据里程计数据,对所述相机进行粗定位,得到粗定位位姿,包括:
根据里程计数据,采用粒子滤波***,对所述相机进行粗定位,得到粗定位位姿,所述粒子滤波***中的各个粒子的分布是预设的;
在将所述精定位位姿确定为所述相机在采集所述原始图像时的位姿之后,所述方法还包括:
根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整,所述调整后的各个粒子用于对所述相机进行下一次粗定位。
12.根据权利要求11所述的方法,其特征在于,根据所述精定位位姿,对所述粒子滤波***中的各个粒子的分布进行调整,包括:
生成以所述精定位位姿为均值,标准差为σr的高斯分布;
对所述高斯分布进行采样,得到所述调整后的各个粒子,其中,符合以下公式:
σr=(1-w0)βr;其中,βr为所述精定位位姿的误差,w0是用于表征精定位可信度的常数因子。
13.一种定位装置,其特征在于,所述装置包括:
图像处理模块,用于对相机采集到的原始图像进行处理,从所述原始图像中提取出多个杆状路标;
粗定位模块,用于根据里程计数据,对所述相机进行粗定位,得到粗定位位姿;
路标确定模块,用于根据所述粗定位位姿确定所述相机在地图中的位置,根据所述位置确定该位置附近的多个杆状物体,从所述多个杆状路标中确定至少三个与所述地图中的杆状物体有关联关系的目标杆状路标;所述地图中存储有各个杆状物体的位置坐标;
精定位模块,用于根据所述至少三个目标杆状路标,对所述相机进行精定位,得到精定位位姿。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如权利要求1至12任一项所述的定位方法。
15.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至12任一项所述的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010087251.3A CN111383286B (zh) | 2020-02-11 | 2020-02-11 | 定位方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010087251.3A CN111383286B (zh) | 2020-02-11 | 2020-02-11 | 定位方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111383286A CN111383286A (zh) | 2020-07-07 |
CN111383286B true CN111383286B (zh) | 2023-10-27 |
Family
ID=71216992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010087251.3A Active CN111383286B (zh) | 2020-02-11 | 2020-02-11 | 定位方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111383286B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531580B (zh) * | 2020-11-23 | 2023-11-21 | 北京四维图新科技股份有限公司 | 图像处理方法及装置 |
CN114596698B (zh) * | 2020-12-03 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 道路监控设备位置判断方法、装置、存储介质及设备 |
CN113029168B (zh) * | 2021-02-26 | 2023-04-07 | 杭州海康机器人股份有限公司 | 基于地面纹理信息的地图构建方法和***及移动机器人 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018017793A1 (en) * | 2016-07-21 | 2018-01-25 | Intelligent Technologies International, Inc. | System and method for creating, updating, and using maps generated by probe vehicles |
CN108230330A (zh) * | 2018-01-30 | 2018-06-29 | 北京同方软件股份有限公司 | 一种快速的高速公路路面分割和摄像机定位的方法 |
CN109448054A (zh) * | 2018-09-17 | 2019-03-08 | 深圳大学 | 基于视觉融合的目标分步定位方法、应用、装置及*** |
CN109545072A (zh) * | 2018-11-14 | 2019-03-29 | 广州广电研究院有限公司 | 地图构建的位姿计算方法、装置、存储介质和*** |
CN109828280A (zh) * | 2018-11-29 | 2019-05-31 | 亿嘉和科技股份有限公司 | 一种基于三维激光栅格的定位方法以及机器人自主充电方法 |
CN110062871A (zh) * | 2016-12-09 | 2019-07-26 | 通腾全球信息公司 | 用于基于视频的定位及映射的方法及*** |
-
2020
- 2020-02-11 CN CN202010087251.3A patent/CN111383286B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018017793A1 (en) * | 2016-07-21 | 2018-01-25 | Intelligent Technologies International, Inc. | System and method for creating, updating, and using maps generated by probe vehicles |
CN110062871A (zh) * | 2016-12-09 | 2019-07-26 | 通腾全球信息公司 | 用于基于视频的定位及映射的方法及*** |
CN108230330A (zh) * | 2018-01-30 | 2018-06-29 | 北京同方软件股份有限公司 | 一种快速的高速公路路面分割和摄像机定位的方法 |
CN109448054A (zh) * | 2018-09-17 | 2019-03-08 | 深圳大学 | 基于视觉融合的目标分步定位方法、应用、装置及*** |
CN109545072A (zh) * | 2018-11-14 | 2019-03-29 | 广州广电研究院有限公司 | 地图构建的位姿计算方法、装置、存储介质和*** |
CN109828280A (zh) * | 2018-11-29 | 2019-05-31 | 亿嘉和科技股份有限公司 | 一种基于三维激光栅格的定位方法以及机器人自主充电方法 |
Non-Patent Citations (2)
Title |
---|
路飞 ; 田国会 ; 刘国良 ; 王宇恒 ; .智能空间下基于WIFI指纹定位与粒子滤波的服务机器人复合全局定位***设计.机器人.2016,(第02期),第52-58页. * |
钱钧 ; 杨汝清 ; 王晨 ; 周启龙 ; 杨明 ; .基于路标的智能车辆定位.上海交通大学学报.2007,(第06期),第43-47页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111383286A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107516077B (zh) | 基于激光点云和影像数据融合的交通标牌信息提取方法 | |
CN110148196B (zh) | 一种图像处理方法、装置以及相关设备 | |
Wu et al. | Rapid localization and extraction of street light poles in mobile LiDAR point clouds: A supervoxel-based approach | |
CN111383286B (zh) | 定位方法、装置、电子设备及可读存储介质 | |
CN109815993B (zh) | 基于gps轨迹的区域特征提取、数据库建立及路口识别方法 | |
CN111931627A (zh) | 一种基于多模态信息融合的车辆再识别方法及装置 | |
KR102035030B1 (ko) | 차선 정보를 이용한 자동 도화 방법 | |
CN109271861B (zh) | 多尺度融合的点云交通标识牌自动提取方法 | |
CN108846333B (zh) | 标志牌地标数据集生成及车辆定位方法 | |
CN110969592B (zh) | 图像融合方法、自动驾驶控制方法、装置和设备 | |
KR102507501B1 (ko) | 인공지능 기반 수계오염원 모니터링 시스템 및 방법 | |
CN109815859A (zh) | 一种低等级道路自动提取及变化分析方法 | |
CN111435421B (zh) | 一种面向交通目标的车辆重识别方法和装置 | |
CN113255578B (zh) | 交通标识的识别方法及装置、电子设备和存储介质 | |
Almutairy et al. | Arts: Automotive repository of traffic signs for the united states | |
Xiao et al. | Geo-spatial aerial video processing for scene understanding and object tracking | |
CN116340563A (zh) | 图形匹配的城市场景地理位置定位方法 | |
Hu | Intelligent road sign inventory (IRSI) with image recognition and attribute computation from video log | |
Liu et al. | Image-translation-based road marking extraction from mobile laser point clouds | |
Yang et al. | Road intersection identification from crowdsourced big trace data using Mask‐RCNN | |
Yao et al. | Automated detection of 3D individual trees along urban road corridors by mobile laser scanning systems | |
CN113627288B (zh) | 一种面向海量影像的智能化信息标签获取方法 | |
CN110636248B (zh) | 目标跟踪方法与装置 | |
Máttyus et al. | Aerial image sequence geolocalization with road traffic as invariant feature | |
CN116662930A (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 |