CN112810603B - 定位方法和相关产品 - Google Patents
定位方法和相关产品 Download PDFInfo
- Publication number
- CN112810603B CN112810603B CN201911055114.5A CN201911055114A CN112810603B CN 112810603 B CN112810603 B CN 112810603B CN 201911055114 A CN201911055114 A CN 201911055114A CN 112810603 B CN112810603 B CN 112810603B
- Authority
- CN
- China
- Prior art keywords
- pose
- positioning
- coordinates
- target vehicle
- camera
- 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 102
- 230000015654 memory Effects 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 7
- 241000282414 Homo sapiens Species 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000003973 paint Substances 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/06—Automatic manoeuvring for parking
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0225—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0259—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
- G05D1/0263—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0278—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Electromagnetism (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
- Transportation (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请实施例公开了一种定位方法和相关产品,涉及人工智能领域,具体涉及自动驾驶领域,该定位方法包括:定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标,所述M个第二坐标与所述M个参考特征点一一对应;利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标;在所述M个第三坐标与所述M个第一坐标之间的距离小于目标阈值的情况下,确定所述第N轮迭代的位姿为所述目标车辆的位姿;能够提高对车辆的位姿定位的准确度和速度。
Description
技术领域
本申请涉及人工智能领域的自动驾驶领域,尤其涉及一种定位方法和相关产品。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算系统来帮助将乘客从一个位置运输到另一位置。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
在自动驾驶场景,通常采用计算机视觉技术来对自动驾驶装置进行定位,即确定自动驾驶装置的位置和姿态。举例来说,在自动泊车场景中,自动驾驶装置需要实时知道其自身的位置和姿态,这样该自动驾驶装置才能准确地实现自动泊车。因此,需要研究能准确、快速地定位车辆位置和姿态的方案。
发明内容
本申请实施例公开了一种定位方法和定位装置,能够提高对车辆的位姿定位的准确度和速度。
第一方面,本申请实施例提供了一种定位方法,该方法可包括:定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;所述第一图像为第一摄像机拍摄的包括目标车辆的图像,所述M个目标特征点与所述目标车辆上标注的M个参考特征点一一对应,所述M个第一坐标与所述M个目标特征点一一对应,所述M为大于1的整数;所述定位装置获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标,所述M个第二坐标与所述M个参考特征点一一对应;所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标;所述第N轮迭代的位姿为所述定位装置第N次将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系所使用的位姿,所述第一摄像机的内参以及所述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,所述N为大于0的整数;所述定位装置在所述M个第三坐标与所述M个第一坐标之间的距离小于目标阈值的情况下,确定所述第N轮迭代的位姿为所述目标车辆的位姿。
本申请实施例的执行主体为定位装置,该定位装置可以是服务器,也可以是摄像机。该第一摄像机可以是单目摄像机。该目标车辆上标注有至少M个参考特征点。该M个第二坐标可以是该M个参考特征点在该目标车辆的车辆坐标系中的坐标。车辆坐标系是用来描述汽车运动的特殊动坐标系。应理解,车辆坐标系与该目标车辆的相对关系固定,即该车辆坐标轴是以该目标车辆上的多个固定位置为依据建立的坐标系。示例性的,车辆坐标系的原点与质心(后轮轴中点)重合,当车辆在水平路面上处于静止状态,X轴平行于地面指向车辆前方,Z轴通过汽车质心指向上方,Y轴指向驾驶员的左侧。该第N轮迭代的位姿可以包括该目标车辆的后轮轴中点在世界坐标系的三维坐标(x0,y0,z0)以及该目标车辆在世界坐标系中的航向角θ,即从世界坐标系OwXw轴逆时针转向车辆坐标系OvXv轴的角度。其中,z0的数值一般为车辆后轮轴中点离地的高度,为已知值。
定位装置将可采用如下公式,将该车辆坐标系中的任一坐标转换至世界坐标系:
其中,(xw,yw,zw)为该车辆坐标系中的任一坐标(xv,yv,zv)转换至世界坐标系的坐标,(x0,y0,z0)为该目标车辆的后轮轴中点在世界坐标系的三维坐标,θ为该目标车辆在世界坐标系中的航向角。应理解,定位装置根据该第N轮迭代的位姿,可将任一个第二坐标从车辆坐标系转换至世界坐标系。定位装置可以利用第一摄像机的外参将世界坐标系中的坐标转换至摄像机坐标系;利用该第一摄像机的内参将摄像机坐标系中的坐标转换至像素坐标系。也就是说,只要给出该目标车辆在世界坐标系中的位置和姿态(对应于航向角),就可以得到该目标车辆上标注的各有特征点在像素坐标系中的位置。因此,定位装置可利用该第N轮迭代的位姿将上述M个第二坐标从车辆坐标系转换至像素坐标系,得到上述M个第三坐标。摄像机成像时,三维世界的物体会通过投影的方式呈现在二维的像素平面上。当物体的尺寸以及其各个特征之间的拓扑关系确定之后,物体在三维世界中的位置及姿态,会直接影响其在二维像素平面上的成像结果(即像素坐标、尺寸、各个特征之间的相对关系)。每一种成像结果都对应物体在三维世界中的一组位置和姿态,且该对应关系是唯一的。因此可以通过成像结果得到物体在三维世界中的位置和姿态信息。上述M个第三坐标与上述M个第一坐标一一对应,上述M个第三坐标与上述M个第一坐标之间的距离可以是欧几里得距离、曼哈顿距离等。可以理解,若该第N轮迭代的位姿为该第一摄像机拍摄得到该第一图像时该目标车辆的位姿,则上述M个第三坐标与上述M个第一坐标之间的距离小于目标阈值。通过这种方式,可以准确地确定该目标车辆的车位。应理解,定位装置确定该目标车辆的位姿的过程为一个迭代求解该目标车辆的位姿的过程。定位装置在每轮迭代可以利用本轮迭代的位姿、第一摄像机的内参以及第一摄像机的外参,将该M个第二坐标从上述车辆坐标系转换至上述像素坐标系,得到M个参考坐标;在该M个参考坐标与该M个第一坐标之间的距离小于该目标阈值的情况下,确定本轮迭代的位姿为该目标车辆的位姿,并停止迭代求解位姿;在该M个参考坐标与该M个第一坐标之间的距离不小于该目标阈值的情况下进行下一轮迭代。
本申请实施例中,定位装置能够提高对车辆的位姿定位的准确度和速度。
在一个可选的实现方式中,第一摄像机为单目摄像机。
单目摄像机的成本要远远低于双目摄像机。在该实现方式中,定位装置利用单目摄像机拍摄的图像就能够定位目标车辆的位姿,成本低。
在一个可选的实现方式中,所述定位装置为服务器;所述定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标之前,所述方法还包括:所述定位装置接收来自所述目标车辆的定位请求,所述定位请求携带有所述目标车辆的目标标识;所述定位装置解析所述定位请求,得到所述目标标识;所述定位装置获取包括所述目标标识的图像以得到所述第一图像,所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之前的第一时长内拍摄的图像,或者所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之后的第二时长内拍摄的图像。
定位装置可以解析该定位请求以得到该目标车辆的目标标识;从图像数据库中获取包括该目标标识的图像以得到该第一图像。该图像数据库中可以存储有一个或多个摄像机采集的图像。可选的,定位装置可以在接收到该定位请求之后,对接收到该定位请求之前的第一时长内拍摄的图像进行图像识别以得到包括该目标标识的第一图像。可选的,定位装置可以在接收到该定位请求之后,对接收到该定位请求之后的第二时长内拍摄的图像进行图像识别以得到包括该目标标识的第一图像。可选的,该第一图像为该图像数据库中包括该目标标识且被拍摄的时间与定位装置接收到该定位请求的时间最接近的一个图像。
在该实现方式中,定位装置通过获取包括目标标识的图像,可以快速、准确地获得包括目标车辆的第一图像,以便利用该第一图像对该目标车辆进行定位。
在一个可选的实现方式中,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标:利用所述第N轮迭代的位姿将所述M个第二坐标从所述车辆坐标系转换至世界坐标系,得到M个第四坐标;利用所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第四坐标从世界坐标系转换至像素坐标系,得到所述M个第三坐标。
在该实现方式中,可以准确地将M个第二坐标从车辆坐标系转换至像素坐标系。
在一个可选的实现方式中,所述确定所述第N轮迭代的位姿为所述目标车辆的位姿之后,所述方法还包括:所述定位装置向所述目标车辆发送定位信息,所述定位信息用于指示所述第N轮迭代的位姿。
在该实现方式中,通过向目标车辆发送定位信息,可以使得该目标车辆及时获取其位姿,进而执行相应的驾驶操作。
在一个可选的实现方式中,所述定位装置为摄像机;所述定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标之前,所述方法还包括:所述定位装置接收来自服务器的定位指令,所述定位指令携带有所述目标车辆的目标标识;所述定位装置解析所述定位指令,得到所述目标标识;所述定位装置获取包括所述目标标识的图像以得到所述第一图像。
在该实现方式中,通过摄像机对目标车辆进行定位,可以充分利用摄像机的数据处理能力。
在一个可选的实现方式中,所述定位指令还携带有所述M个第二坐标;所述定位装置获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标包括:所述定位装置从所述定位指令中获取所述M个第二坐标。
在该实现方式中,解析定位指令以得到M个第二坐标,进而利用该M个第二坐标定位目标车辆的位姿,使得目标摄像机可以为各车辆提供定位服务。
在一个可选的实现方式中,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标之前,所述方法还包括:所述定位装置在所述N为1的情况下,将第一位姿作为所述第N轮迭代的位姿;所述第一位姿为所述目标车辆确定的所述目标车辆的位姿。
可选的,该第一位姿可以是该目标车辆在发送该定位请求之前的某个时长内(例如1秒、3秒等)确定的所述目标车辆的位姿。该目标车辆可以将该第一位姿承载在该定位请求中。可选的,该第一位姿可以是该目标车辆在发送该定位请求之后的某个时长内(例如1秒、3秒等)确定的所述目标车辆的位姿。该目标车辆在发送该定位请求之后,可以向定位装置发送该第一位姿。由于在短时间内该目标车辆的位姿变化通常很小,利用该第一位姿作为第一轮迭代的位姿,可以加速迭代求解过程,节省时间。
在一个可选的实现方式中,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标之前,所述方法还包括:所述定位装置在所述N为1的情况下,将第二位姿作为所述第N轮迭代的位姿;所述第二位姿为所述定位装置利用第二图像得到的所述目标车辆的位姿,所述第二图像为所述第一摄像机在拍摄所述第一图像之前拍摄的图像,或者,所述第二图像为第二摄像机在所述第一摄像机拍摄所述第一图像之前拍摄的图像,所述第二摄像机所处的位置与所述第一摄像机所处的位置不同。
在该实现方式中,将由第二图像得到的第二位姿作为第N轮迭代的位姿,可以加速迭代求解位姿的过程。
在一个可选的实现方式中,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标之前,所述方法还包括:所述定位装置在所述N大于1的情况下,根据第(N-1)轮迭代的位姿,确定所述第N轮迭代的位姿。
在该实现方式中,根据上一轮迭代的位姿来确定本轮迭代的位姿,以便于能够更快地遍历所有的位姿,进而提高迭代求解位姿的速度。
第二方面,本申请实施例提供了另一种定位方法,该方法可包括:目标车辆向定位装置发送定位请求,所述定位请求携带有所述目标车辆的特征点拓扑信息,所述特征点拓扑信息用于指示所述目标车辆上标注的M个特征点在所述目标车辆的车辆坐标系中的坐标,所述M为大于1的整数;所述目标车辆接收来自所述定位装置的定位信息,所述定位信息用于指示所述目标车辆的位姿。所述特征点拓扑信息还用于所述定位装置确定所述目标车辆的位姿。
目标车辆在某些场景(例如地下停车场)下不能通过自身准确地确定其位姿,这时该目标车辆可以通过向定位装置发送定位请求来获得其位姿。
本申请实施例中,目标车辆通过向定位装置发送定位请求来获得其自身的位姿,可以解决其自身在某些场景下不能准确地确定其位姿的问题。
在一个可选的实现方式中,所述目标车辆接收来自所述定位装置的定位信息之前,所述方法还包括:所述目标车辆确定所述目标车辆当前的第一位姿;所述目标车辆向所述定位装置发送位姿信息,所述位姿信息用于指示所述第一位姿。
在该实现方式中,目标车辆向定位装置发送其当前位姿,可以加快该定位装置迭代求解该目标车辆的位姿的过程。
第三方面,本申请实施例提供了另一种定位方法,该方法可包括:服务器接收来自目标车辆的定位请求,所述定位请求携带有所述目标车辆的目标标识;所述服务器向摄像机发送定位指令,所述定位指令携带有所述目标标识;所述服务器接收来自所述摄像机的第一定位信息,所述第一定位信息携带有所述目标车辆的位姿;所述服务器向所述目标车辆发送第二定位信息,所述第二定位信息携带有所述目标车辆的位姿。
本申请实施例中,服务器通过摄像机来为目标车辆提供定位服务,可以准确地确定该目标车辆的位姿。
在一个可选的实现方式中,所述定位指令还携带有所述目标车辆上标注的M个特征点在所述目标车辆的车辆坐标系中的坐标;所述M个特征点在所述车辆坐标系的坐标,用于所述摄像机确定所述目标车辆的位姿。
在该实现方式中,在定位指令上携带目标车辆上标注的M个特征点在该目标车辆的车辆坐标系的坐标,以便于摄像机能够确定该目标车辆的位姿。
第四方面,本申请实施例提供了一种定位装置,该定位装置包括:确定单元,用于确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;所述第一图像为第一摄像机拍摄的包括目标车辆的图像,所述M个目标特征点与所述目标车辆上标注的M个参考特征点一一对应,所述M个第一坐标与所述M个目标特征点一一对应,所述M为大于1的整数;获取单元,用于获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标,所述M个第二坐标与所述M个参考特征点一一对应;坐标转换单元,用于利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标;所述第N轮迭代的位姿为所述定位装置第N次将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系所使用的位姿,所述第一摄像机的内参以及所述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,所述N为大于0的整数;所述确定单元,还用于在所述M个第三坐标与所述M个第一坐标之间的距离小于目标阈值的情况下,确定所述第N轮迭代的位姿为所述目标车辆的位姿。
在一个可选的实现方式中,所述定位装置为服务器;所述装置还包括:接收单元,用于接收来自所述目标车辆的定位请求,所述定位请求携带有所述目标车辆的目标标识;解析单元,用于解析所述定位请求,得到所述目标标识;所述获取单元,还用于获取包括所述目标标识的图像以得到所述第一图像,所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之前的第一时长内拍摄的图像,或者所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之后的第二时长内拍摄的图像。
在一个可选的实现方式中,所述装置还包括:发送单元,用于向所述目标车辆发送定位信息,所述定位信息用于指示所述第N轮迭代的位姿。
在一个可选的实现方式中,所述装置为摄像机;所述装置还包括:接收单元,用于接收来自服务器的定位指令,所述定位指令携带有所述目标车辆的目标标识;解析单元,用于解析所述定位指令,得到所述目标标识;所述获取单元,还用于获取包括所述目标标识的图像以得到所述第一图像。
在一个可选的实现方式中,所述定位指令还携带有所述M个第二坐标;所述获取单元,具体用于从所述定位指令中获取所述M个第二坐标。
在一个可选的实现方式中,所述确定单元,还用于在所述N为1的情况下,将第一位姿作为所述第N轮迭代的位姿;所述第一位姿为所述目标车辆确定的所述目标车辆的位姿。
在一个可选的实现方式中,所述确定单元,还用于在所述N为1的情况下,将第二位姿作为所述第N轮迭代的位姿;所述第二位姿为所述定位装置利用第二图像得到的所述目标车辆的位姿,所述第二图像为所述第一摄像机在拍摄所述第一图像之前拍摄的图像,或者,所述第二图像为第二摄像机在所述第一摄像机拍摄所述第一图像之前拍摄的图像,所述第二摄像机所处的位置与所述第一摄像机所处的位置不同。
在一个可选的实现方式中,所述确定单元,还用于在所述N大于1的情况下,根据第(N-1)轮迭代的位姿,确定所述第N轮迭代的位姿。
第五方面,本申请实施例提供了一种汽车,该汽车包括:发送单元,用于向定位装置发送定位请求,所述定位请求携带有所述目标车辆的特征点拓扑信息,所述特征点拓扑信息用于指示所述目标车辆上标注的M个特征点在所述目标车辆的车辆坐标系中的坐标,所述M为大于1的整数;接收单元,用于接收来自所述定位装置的定位信息,所述定位信息用于指示所述目标车辆的位姿。
在一个可选的实现方式中,所述汽车还包括:定位单元,用于确定所述目标车辆当前的第一位姿;所述发送单元,还用于向所述定位装置发送位姿信息,所述位姿信息用于指示所述第一位姿。
第六方面,本申请实施例提供了一种服务器,该服务器包括:接收单元,用于接收来自目标车辆的定位请求,所述定位请求携带有所述目标车辆的目标标识;发送单元,用于向摄像机发送定位指令,所述定位指令携带有所述目标标识;所述接收单元,还用于接收来自所述摄像机的第一定位信息,所述第一定位信息携带有所述目标车辆的位姿;所述发送单元,还用于向所述目标车辆发送第二定位信息,所述第二定位信息携带有所述目标车辆的位姿。
在一个可选的实现方式中,所述定位指令还携带有所述目标车辆上标注的M个特征点在所述目标车辆的车辆坐标系中的坐标;所述M个特征点在所述车辆坐标系的坐标,用于所述摄像机确定所述目标车辆的位姿。
第七方面,本申请实施例提供了一种定位装置,该定位装置包括存储器和处理器,该存储器用于存储代码;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述第一方面以及可选的实现方式的方法。
第八方面,本申请实施例提供了一种汽车,该汽车包括存储器和处理器,该存储器用于存储代码;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述第二方面以及可选的实现方式的方法。
第九方面,本申请实施例提供了一种服务器,该服务器包括存储器和处理器,该存储器用于存储代码;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述第三方面以及可选的实现方式的方法。
第十方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面至第三方面以及可选的实现方式的方法。
第十一方面,本申请实施例提供了一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行如上述第一方面至第三方面以及任一种可选的实现方式的方法。
第十二方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面至第三方面以及任一种可选的实现方式的方法。
附图说明
图1是本申请实施例提供的自动驾驶装置的功能框图;
图2为本申请实施例提供的一种自动驾驶系统的结构示意图;
图3为本申请实施例提供的一种定位方法流程图;
图4为本申请实施例提供的一种车辆上标注的特征点的示意图;
图5为本申请实施例提供的一种定位方法交互流程图;
图6为本申请实施例提供的另一种定位方法交互流程图;
图7为本申请实施例提供的又一种定位方法交互流程图;
图8为本申请实施例提供的又一种定位方法交互流程图;
图9为本申请实施例提供的一种服务器的结构示意图;
图10为本申请实施例提供的一种摄像机的结构示意图;
图11为本申请实施例提供的一种汽车的结构示意图;
图12为本申请实施例提供的另一种定位装置的结构示意图;
图13为本申请实施例提供的一种汽车的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述。
本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。“和/或”用于表示在其所连接的两个对象之间选择一个或全部。例如“A和/或B”表示A、B或A+B。
在驾驶场景,通常需要对车辆进行定位,即确定车辆的位置和姿态,进而更好地驾驶车辆。本申请实施例提供的定位方法可以应用到驾驶场景,包括自动驾驶场景和人工驾驶场景。下面对驾驶场景进行简单的介绍。
驾驶场景1:自动驾驶装置向服务器发送定位请求,该服务器确定该自动驾驶装置的位姿并向该自动驾驶装置发送该位姿,该自动驾驶装置根据该位姿进行驾驶。举例来说,在自动泊车场景中,自动驾驶装置向服务器发送定位请求,该自动驾驶装置根据该服务器实时提供的位姿进行泊车。
驾驶场景2:车辆向服务器发送定位请求,该服务器确定该车辆的位姿并向该车辆发送该位姿,该车辆的显示屏实时显示其位姿,以便于驾驶员根据其位姿进行驾驶。举例来说,在泊车场景中,车辆向服务器发送定位请求,该车辆的显示屏根据该服务器发送的位姿实时显示其位姿,以便于驾驶员该显示屏显示的位姿进行泊车。
图1是本申请实施例提供的自动驾驶装置100的功能框图。在一个实施例中,将自动驾驶装置100配置为完全或部分地自动驾驶模式。例如,自动驾驶装置100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定自动驾驶装置100及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制自动驾驶装置100。在自动驾驶装置100处于自动驾驶模式中时,可以将自动驾驶装置100置为在没有和人交互的情况下操作。
自动驾驶装置100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,自动驾驶装置100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,自动驾驶装置100的每个子系统和元件可以通过有线或者无线互连。
行进系统102可包括为自动驾驶装置100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为自动驾驶装置100的其他系统提供能量。
传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感器系统104可包括感测关于自动驾驶装置100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是全球定位(globalpositioning system,GPS)系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视自动驾驶装置100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主自动驾驶装置100的安全操作的关键功能。
定位系统122可用于估计自动驾驶装置100的地理位置。IMU 124用于基于惯性加速度来感测自动驾驶装置100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。
雷达126可利用无线电信号来感测自动驾驶装置100的周边环境内的物体。
激光测距仪128可利用激光来感测自动驾驶装置100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
相机130可用于捕捉自动驾驶装置100的周边环境的多个图像。相机130可以是静态相机或视频相机。相机130可以实时或周期性的捕捉自动驾驶装置100的周边环境的多个图像。
控制系统106为控制自动驾驶装置100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。
转向系统132可操作来调整自动驾驶装置100的前进方向。例如在一个实施例中可以为方向盘系统。
油门134用于控制引擎118的操作速度并进而控制自动驾驶装置100的速度。
制动单元136用于控制自动驾驶装置100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制自动驾驶装置100的速度。
计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别自动驾驶装置100周边环境中的物体和/或特征。上述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、自动驾驶方法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。计算机视觉系统140可使用激光雷达获取的点云以及相机获取的周围环境的图像,定位障碍物的位置。
路线控制系统142用于确定自动驾驶装置100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、GPS 122和一个或多个预定地图的数据以为自动驾驶装置100确定行驶路线。
障碍物避免系统144用于识别、评估和避免或者以其他方式越过自动驾驶装置100的环境中的潜在障碍物。
当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
自动驾驶装置100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。
在一些实施例中,外围设备108提供自动驾驶装置100的用户与用户接口116交互的手段。例如,车载电脑148可向自动驾驶装置100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于自动驾驶装置100与位于车内的其它设备通信的手段。例如,麦克风150可从自动驾驶装置100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向自动驾驶装置100的用户输出音频。
无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3G蜂窝通信,或者4G蜂窝通信,例如LTE,或者5G蜂窝通信。无线通信系统146可利用WiFi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源110可向自动驾驶装置100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为自动驾驶装置100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
自动驾驶装置100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制自动驾驶装置100的个体组件或子系统的多个计算设备。
处理器113可以是任何常规的处理器,诸如商业可获得的中央处理器(centralprocessing unit,CPU)。替选地,该处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器和在相同块中的计算机系统112的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统112的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,上述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该自动驾驶装置并且与该自动驾驶装置进行无线通信。在其它方面中,此处所描述的过程中的一些操作在布置于自动驾驶装置内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行自动驾驶装置100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其他信息。这些信息可在自动驾驶装置100在自主、半自主和/或手动模式中操作期间被自动驾驶装置100和计算机系统112使用。
用户接口116,用于向自动驾驶装置100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150和扬声器152。可选的,一个或多个输入/输出设备可包括一个显示屏,用于显示自动驾驶装置100的位姿。
计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制自动驾驶装置100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对自动驾驶装置100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与自动驾驶装置100分开安装或关联。例如,数据存储装置114可以部分或完全地与自动驾驶装置100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
在道路行进的自动驾驶汽车,如上面的自动驾驶装置100,可以识别其周围环境内的物体以确定对当前速度的调整。上述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选地,自动驾驶装置100或者与自动驾驶装置100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰等等)来预测上述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。自动驾驶装置100能够基于预测的上述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定自动驾驶装置100的速度,诸如,自动驾驶装置100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改自动驾驶装置100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
上述自动驾驶装置100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本发明实施例不做特别的限定。
上述自动驾驶装置100可以通过无线通信系统146向服务器发送定位请求,也可以通过无线通信系统146接收来自服务器的定位信息(携带有自动驾驶装置100的位姿),计算机系统112可根据该定位信息控制自动驾驶装置100进行行驶。自动驾驶装置100上可以标注有多个特征点。在实际应用中,使用标注材料在车身上标注特征点时,一般选择有明显物理含义的特征点。例如,车窗角点、车牌角点、轮毂中心、车灯角点或中心、底盘或车盖上位于倒角处的点等。标注材料可以是可见油漆、需要在特殊频率光下才能看到的油漆、具有反光功能的油漆、反光贴、或者其他能够直观发现特征点的材料。可选的,存储器114存储有多个特征点在自动驾驶装置100的车辆坐标系中的坐标,上述定位请求携带有多个特征点在自动驾驶装置100的车辆坐标系中的坐标。可选的,服务器存储有该多个特征点在自动驾驶装置100的车辆坐标系中的坐标。
图1介绍了自动驾驶装置100的功能框图,下面介绍一种自动驾驶系统101。图2为本申请实施例提供的一种自动驾驶系统的结构示意图。图1和图2是从不同的角度来描述自动驾驶装置100。如图2所示,计算机系统101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中,每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(I/O)总线113耦合。I/O接口115和I/O总线耦合。I/O接口115和多种I/O设备进行通信,比如输入设备117(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)121,例如CD-ROM,多媒体接口等。收发器123(可以发送和/或接受无线电通信信号),摄像头155(可以捕捉景田和动态数字视频图像)和外部USB接口125。可选的,和I/O接口115相连接的接口可以是USB接口。
其中,处理器103可以是任何传统处理器,包括精简指令集计算(“RISC”)处理器、复杂指令集计算(“CISC”)处理器或上述的组合。可选的,处理器可以是诸如专用集成电路(“ASIC”)的专用装置。可选的,处理器103可以是神经网络处理器(Neural-networkProcessing Unit,NPU)或者是神经网络处理器和上述传统处理器的组合。可选的,处理器103挂载有一个神经网络处理器。
计算机系统101可以通过网络接口129和软件部署服务器149通信。网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络。可选的,网络127还可以是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机系统101的操作系统137和应用程序143。
操作系统包括壳(Shell)139和内核(kernel)141。壳139是介于使用者和操作系统之内核(kernel)间的一个接口。壳139是操作系统最外面的一层。壳139管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。
应用程序141包括自动驾驶相关程序,比如,管理自动驾驶装置和路上障碍物交互的程序,控制自动驾驶装置的行车路线或者速度的程序,控制自动驾驶装置100和路上其他自动驾驶装置交互的程序。应用程序141也存在于软件部署服务器(deploying server)149的系统上。在一个实施例中,在需要执行应用程序141时,计算机系统101可以从软件部署服务器149下载应用程序141。
传感器153和计算机系统101关联。传感器153用于探测计算机系统101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选的,如果计算机系统101位于自动驾驶装置上,传感器可以是摄像头(即相机),激光雷达,红外线感应器,化学检测器,麦克风等。传感器153在激活时按照预设间隔感测信息并实时或接近实时地将所感测的信息提供给计算机系统101。可选的,传感器可以包括激光雷达,该激光雷达可以实时或接近实时地将获取的点云提供给计算机系统101,即将获取到的一系列点云提供给计算机系统101,每次获取的点云对应一个时间戳。可选的,摄像头实时或接近实时地将获取的图像提供给计算机系统101,每帧图像对应一个时间戳。应理解,计算机系统101可得到来自摄像头的图像序列。
可选的,在本文上述的各种实施例中,计算机系统101可位于远离自动驾驶装置的地方,并且可与自动驾驶装置进行无线通信。收发器123可将自动驾驶任务、传感器153采集的传感器数据和其他数据发送给计算机系统101;还可以接收计算机系统101发送的控制指令。自动驾驶装置可执行收发器接收的来自计算机系统101的控制指令,并执行相应的驾驶操作。在其它方面,本文上述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
自动驾驶装置在自动驾驶过程中需要及时确定其位姿。在实际应用中,自动驾驶装置向服务器发送定位请求,由服务器或摄像机根据该摄像机采集的包括自动驾驶装置的图像以及自动驾驶装置上标注的多个特征点在车辆坐标系中的坐标,来确定自动驾驶装置的位姿。上述摄像机可以是在道路上、停车场等地点部署的摄像机,而不是自动驾驶装置上的摄像机。后续再详述服务器或摄像机根据该摄像机采集的包括自动驾驶装置的图像以及自动驾驶装置上标注的多个特征点在车辆坐标系中的坐标,确定自动驾驶装置的位姿的实现方式。
本申请实施例提供的定位方法,不仅可应用于自动驾驶装置,还可以应用于未部署自动驾驶系统的车辆,仅需该车辆能够与服务器进行交互,并显示该服务器向其发送的位姿。
下面介绍一种如何确定目标车辆的位姿的方法。
图3为本申请实施例提供的一种定位方法流程图。如图3所示,该方法可包括:
301、定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标。
该定位装置可以是服务器,也可以是摄像机。上述第一图像为第一摄像机拍摄的包括目标车辆的图像,上述M个目标特征点与上述目标车辆上标注的M个参考特征点一一对应,上述M个第一坐标与上述M个目标特征点一一对应,M为大于1的整数。该第一摄像机可以部署在道路、停车场等地点的摄像机。该第一摄像机可以是单目摄像机。该第一摄像机可以实时或周期性的将其采集的图像上传至该服务器。该目标车辆可以是自动驾驶装置,也可以是未部署自动驾驶系统的车辆。该目标车辆上标注有至少M个参考特征点,即使用标注材料标注的至少M个参考特征点。定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标可以是确定该第一图像中与该目标车辆上标注的参考特征点相对应的特征点,得到该M个目标特征点。可选的,定位装置可以通过目标车辆上的具体特征,识别第一图像中特征点的物理含义(即它是车窗/车轮/车牌…上的哪一个特征点),也可以通过第一图像中各特征点的颜色或形状来分辨不同的特征点。图4为本申请实施例提供的一种车辆上标注的特征点的示意图。图4中,黑色圆点表示第一图像中目标车辆上标注的参考特征点。定位装置可以确定该第一图像中与该目标车辆上标注的参考特征点相对应的特征点,得到该M个目标特征点。
在一个可选的实现方式中,定位装置在执行步骤301之前,可执行如下操作:接收来自上述目标车辆的定位请求,上述定位请求携带有上述目标车辆的目标标识;解析上述定位请求,得到上述目标标识;获取包括目标标识的图像以得到上述第一图像,上述目标标识包括上述目标车辆的一个或多个标识。该定位装置可存储或关联有一个图像数据库,该定位装置可以从该图像数据库中获取最近存储的包括该目标标识的图像以得到该第一图像。在实际应用中,第一摄像机可实时或周期性的将采集的图像上传至该图像数据库,每个上传至该图像数据库的图像可以对应一个时间标识,每个时间标识指示一个图像被采集的时间。可选的,上述第一图像为上述第一摄像机在上述定位装置接收到上述定位请求之前的第一时长内拍摄的图像,或者上述第一图像为上述第一摄像机在上述定位装置接收到上述定位请求之后的第二时长内拍摄的图像。该第一时长和该第二时长可以相等,也可以不相等。该第一时长可以是1秒、2秒、3秒、10秒、1分钟等。该第二时长可以是1秒、2秒、3秒、10秒、1分钟等。这样定位装置可以根据图像数据库中每个图像对应的时间标识,确定最近存储的包括该目标标识的第一图像。
302、获得M个参考特征点在目标车辆的车辆坐标系中对应的M个第二坐标。
上述M个第二坐标与上述M个参考特征点一一对应。可选的,定位装置解析来自目标车辆的定位请求,得到该M个第二坐标。可选的,定位装置存储有该M个第二坐标;在接收到目标车辆的定位请求之后,根据该目标车辆的目标标识,获取该M个第二坐标。
303、利用第N轮迭代的位姿、第一摄像机的内参以及第一摄像机的外参,将M个第二坐标从车辆坐标系转换至像素坐标系,得到M个第三坐标。
上述第N轮迭代的位姿为上述定位装置第N次将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系所使用的位姿,上述第一摄像机的内参以及上述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,上述N为大于0的整数。定位装置确定该目标车辆的位姿的过程为一个迭代求解该目标车辆的位姿的过程。定位装置在每轮迭代可以利用本轮迭代的位姿(例如第N轮迭代的位姿)、第一摄像机的内参以及第一摄像机的外参,将该M个第二坐标从上述车辆坐标系转换至上述像素坐标系,得到M个参考坐标;在该M个参考坐标与该M个第一坐标之间的距离小于该目标阈值的情况下,确定本轮迭代的位姿为该目标车辆的位姿,并停止迭代求解位姿;在该M个参考坐标与该M个第一坐标之间的距离不小于该目标阈值的情况下进行下一轮迭代。后续再详述迭代求解目标车辆的位姿的过程。
304、在M个第三坐标与M个第一坐标之间的距离小于目标阈值的情况下,确定第N轮迭代的位姿为目标车辆的位姿。
该M个第三坐标与该M个第一坐标一一对应,该M个第三坐标与该M个第一坐标之间的距离可以是欧几里得距离、曼哈顿距离等,本申请实施例不作限定。该目标阈值可以是0.01、0.1等,本申请不作限定。在一些实施例中,定位装置可采用如下公式计算M个第三坐标与M个第一坐标之间的距离:
其中,J表示M个第三坐标与M个第一坐标之间的距离,(ui *,vi *)表示该M个第一坐标中第i个第一坐标,即该第一图像中第i个目标特征点在该第一图像中的像素坐标;(ui,vi)表示该M个第三坐标中第i个第一坐标,即由第i个参考特征点从车辆坐标系转换至像素坐标系的坐标。第i个目标特征点与第i个参考特征点相对应。i为大于0且不大于M的整数。
可选的,定位装置在确定上述第N轮迭代的位姿为上述目标车辆的位姿之后,可以向上述目标车辆发送定位信息,上述定位信息用于指示上述第N轮迭代的位姿。
可以理解,若该第N轮迭代的位姿为该第一摄像机拍摄得到该第一图像时该目标车辆的位姿,则上述M个第三坐标与上述M个第一坐标之间的距离小于目标阈值。本申请实施例中,定位装置能够准确地定位目标车辆的位姿。
下面先介绍前述实施例中步骤303可选的实现方式。
定位装置可先利用上述第N轮迭代的位姿将上述M个第二坐标从上述车辆坐标系转换至世界坐标系,得到M个第四坐标;再利用上述第一摄像机的内参以及上述第一摄像机的外参,将上述M个第四坐标从世界坐标系转换至像素坐标系,得到上述M个第三坐标。定位装置利用第N轮迭代的位姿将M个第二坐标从车辆坐标系转换至世界坐标系的公式如下:
其中,(xw,yw,zw)为该车辆坐标系中的任一坐标(xv,yv,zv)转换至世界坐标系的坐标,(x0,y0,z0)为该目标车辆的后轮轴中点在世界坐标系的三维坐标,θ为该目标车辆在世界坐标系中的航向角。应理解,(x0,y0,z0)可表征目标车辆在世界坐标系中的位置,θ表征该目标车辆的姿态;定位装置根据该第N轮迭代的位姿,可将任一个第二坐标转换至世界坐标系。
定位装置利用第一摄像机的外参将世界坐标系中的坐标转换至摄像机坐标系的公式可以如下:
其中,R3×3为旋转矩阵,由第一摄像机在世界坐标系中的姿态得到,T3×1为平移向量,由第一摄像机在世界坐标系中的位置得到,01×3为1×3的零向量,(xw,yw,zw)为该车辆坐标系中的任一坐标(例如任一个第二坐标)转换至世界坐标系的坐标,(xc,yc,zc)为(xw,tw,zw)转换至摄像机坐标系的坐标。第一摄像机的外参即为该旋转矩阵和平移向量。
定位装置利用第一摄像机的内参将摄像机坐标系中的坐标转换至像素坐标系的公式可以如下:
其中,(u,v)为(xc,yc,zc)转换至摄像机像素坐标系中的坐标,(u0,v0)为像素平面中心点在像素坐标系中的坐标,f为第一摄像机的焦距,单位一般是mm;dx和dy为像元尺寸;和分别称为x轴和y轴上的归一化焦距。
综合公式(2)-(4),可得到如下公式:
因此,只要给出目标车辆在世界坐标系中的位置、姿态信息以及该目标车辆上标注的参考特征点在车辆坐标系中的坐标,就可以得到该目标车辆上标注的所有参考特征点在像素坐标系中的坐标。
本申请实施例中,定位装置可以采用迭代的方式来求解目标车辆的位姿。下面介绍如何迭代求解目标车辆的位姿的实现方式。
根据公式(5),可得到如下投影映射关系:
(u1,v1,…,un,vn)=f(xv,1,yv,1,zv,1,…,xv,n,yv,n,zv,n,xcam,ycam,zcam,x0,y0,θ)(6);
其中,n表示特征点的个数,(xv,i,yv,i,zv,i)表示第i个特征点在车辆坐标系中的坐标,(xcam,ycam,zcam)表示第一摄像机在世界坐标系中的坐标(对应于该第一摄像机的外参和内参),f表示从三维世界坐标系到二维像素坐标系的投影映射关系(即式(5)所示关系),(ui,vi)表示当目标车辆在世界坐标系中的位置和姿态分别为(x0,y0)和θ时,第i个特征点在像素坐标系中的坐标。
定位装置可采用式(1)作为目标优化函数,通过迭代优化的方式对该目标优化函数进行优化。应理解,定位装置可以选择合理的初始迭代位姿(即第一轮迭代的位姿)来加速迭代求解过程。
可选的,定位装置将第一位姿作为第一轮迭代的位姿;该第一位姿为上述目标车辆确定的上述目标车辆的位姿。举例来说,该第一位姿可以是该目标车辆在发送该定位请求之前的某个时长内(例如1秒、3秒等)确定的上述目标车辆的位姿。该目标车辆可以将该第一位姿承载在该定位请求中。又举例来说,该第一位姿可以是该目标车辆在发送该定位请求之后的某个时长内(例如1秒、3秒等)确定的上述目标车辆的位姿。该目标车辆在发送该定位请求之后,可以向定位装置发送该第一位姿。
可选的,定位装置使用预设的初始位姿作为第一轮迭代的位姿。该预设的初始位姿可以是任意位姿。应理解,定位装置在未接收到来自目标车辆的位姿且在执行步骤303之前未确定目标车辆的位姿的情况下,使用预设的初始位姿作为第一轮迭代的位姿。
可选的,定位装置将第二位姿作为上述第一轮迭代的位姿(即初始迭代位姿);上述第二位姿为上述定位装置利用第二图像得到的上述目标车辆的位姿,上述第二图像为上述第一摄像机在拍摄上述第一图像之前拍摄的图像,或者,上述第二图像为第二摄像机在上述第一摄像机拍摄上述第一图像之前拍摄的图像,上述第二摄像机所处的位置与上述第一摄像机所处的位置不同。定位装置利用第二图像得到上述目标车辆的位姿的方式与利用上述第一图像得到上述目标车辆的位姿的方式类似。
举例来说,目标车辆在根据第二图像确定的目标车辆的位姿为(x0 (k-1),y0 (k-1),θ(k-1)),定位装置可将该位姿作为当前帧图像进行位姿求解的初始迭代位姿(也称为迭代初始值),
其中,上标表示图像帧数编号,下标0表示当前帧的初始迭代位姿,k为大于1的整数。
在一些实施例中,定位装置可以采用梯度下降法根据上一次迭代的位姿确定本次迭代的位姿,公式如下:
其中,下标j表示迭代步数,β表示步长,表示目标函数J在处的梯度。除梯度下降法外,定位装置还可以选用批量梯度下降法、牛顿法、拟牛顿法、共轭梯度法、启发式搜索算法等方式,来根据上一次迭代的位姿(即上一轮迭代的位姿),确定本次迭代的位姿(即本轮迭代的位姿)。β的数值可以设置为动态值,即变步长。
在一些实施例中,定位装置如果当前帧图像为整个位姿求解流程的第一帧图像。定位装置可采用如下公式选择初始迭代位姿:
其中,Ux、Uy、Uθ分别为x0、y0、θ的可行域。在一些实施例中,定位装置可以将Ux、Uy、Uθ分别划分为d1、d2、d3个小区域,分别在每个小区域中取一个值,则x0、y0、θ一共有d=d1*d2*d3个取值方法。划分的方式可以为平均划分,也可以为非平均划分,本申请不作限定。针对这d组取值,分别计算其对应的目标优化函数,选择目标优化函数最小的那组取值作为初始迭代位姿即可。其中,d1、d2、d3均为大于0的整数。
在实际应用中,定位装置可以将由式(8)迭代得到的位姿代入至式(1),来计算M个第三坐标与上述M个第一坐标之间的距离。举例来说,本次迭代的位姿为第N轮迭代的位姿,若定位装置将该第N轮迭代的位姿代入至式(1)得到的结果小于目标阈值,则确定该第N轮迭代的位姿为该目标车辆的位姿(即目标车辆在当前帧的真实位姿),并停止迭代;若该定位装置将该第N轮迭代的位姿代入至式(1)得到的结果不小于该目标阈值,则采用式(8)计算得到下一次迭代的位姿,继续迭代求解位姿。
下面结合目标车辆和定位装置(例如服务器)的交互流程图来介绍本申请提供的定位方案。
实施例一
图5为本申请实施例提供的一种定位方法交互流程图。如图5所示,该方法可包括:
501、目标车辆到达初始位置。
该初始位置可以是部署有摄像机的停车场以及其他部署有摄像机的地点或区域,例如停车场中摄像机可以拍摄到目标车辆的某个区域;也可以是该目标车辆自身不能准确地定位其位姿的区域。举例来说,在地下停车场(对应于指示初始位置)中,车辆的信号质量往往很差,车辆自身采用GPS或者其他定位技术很难准确地定位其位姿,这时车辆可以向服务器发送定位请求,服务器可以借助摄像机拍摄的车辆的图像来定位该车辆的位姿。可以理解,目标车辆在这些初始位置可以获得服务器提供的定位服务。也就是说,该目标车辆可以在这些初始位置向服务器发送定位请求,该服务器可以实时或接近实时的向该目标车辆发送该目标车辆当前的位姿,以便该目标车辆完成自动泊车等驾驶任务。可选的,目标车辆到达初始位置之后停止行驶或将其行驶速度保持在速度阈值之下。该速度阈值可以是3米每秒、10米每秒等。由于服务器根据第一帧图像对目标车辆进行位姿计算时,需要花费较长的时间,因此服务器在得到该目标车辆的初始位置和姿态之前,该目标车辆优选的保持停止行驶的状态。
502、目标车辆向服务器发送定位请求。
可选的,该目标车辆可以向服务器发送该定位请求,并将自身的特征点拓扑信息发送给该服务器。该特征点拓扑信息可以是上述M个第二坐标,即该目标车辆上标注的特征点在车辆坐标系中的坐标。可选的,该目标车辆可以向服务器发送该定位请求,该定位请求携带有该目标车辆的目标标识,服务器可以存储有或者从某个存储设备获取到该特征点拓扑信息。
503、服务器利用初始位置的第一摄像机拍摄的第一图像对目标车辆进行定位。
该服务器可以是上述定位装置。可选的,服务器在执行步骤503之前,可对其存储或者其关联的图像数据库中的图像进行图像识别,以从该图像数据库中获取最近存储的包括目标标识的图像以得到该第一图像。该第一图像可以理解为该第一摄像机当前采集到的目标车辆的图像。该目标标识为该目标车辆的标识。在实际应用中,第一摄像机可实时或周期性的将采集的图像上传至该图像数据库,每个上传至该图像数据库的图像可以对应一个时间标识,每个时间标识指示每个图像被采集的时间。这样服务器可以根据图像数据库中每个图像对应的时间标识,确定最近存储的包括该目标标识的第一图像。步骤503的一种可选的实现方式可参阅图3,这里不再赘述。
504、服务器向目标车辆发送初始的位置和航向角。
该初始的位置和航向角对应于服务器利用第一图像对目标车辆进行定位得到的第N轮迭代的位姿。步骤504可以理解为服务器向目标车辆发送上述第N轮迭代的位姿,该第N轮迭代的位姿包括该目标车辆的位置以及航向角。
505、服务器根据上一帧图像确定的位姿以及当前帧图像对目标车辆进行定位,得到更新后的位置和航向角。
上一帧图像可以是服务器在获取到当前帧图像之前,获取的一帧图像(例如第二图像)。服务器根据上一帧图像确定的位姿以及当前帧图像(例如第一图像)对目标车辆进行定位,得到更新后的位置和航向角可以是:该服务器在利用当前帧图像对目标车辆进行定位时,将根据该上一帧图像确定的位姿作为初始迭代位姿来确定该目标车辆当前的位姿。可以理解,目标车辆在摄像机采集到上一帧图像至当前帧图像期间,位姿通常变化很小,因此在利用当前帧图像对该目标车辆进行定位时,将根据上一帧图像确定的位姿作为利用当前帧图像对该目标车辆进行定位的初始迭代位姿,可以加快确定位姿的速度。可选的,当前帧图像可以为第一摄像机采集到上一帧图像之后,采集的一帧包括目标标识的图像。
在一些实施例中,服务器可存储有一个或多个摄像机的位置信息,例如第三摄像机的位置信息。该第三摄像机可以不为上述第一摄像机。该服务器可根据第三摄像机的位置信息以及上一帧图像确定的目标车辆的位姿,确定该第三摄像机可拍摄到该目标车辆;该服务器可获得该第三摄像机最近采集的一帧包括该目标标识的图像(即上述当前帧图像)。举例来说,服务器根据上一帧图像确定的目标车辆的位姿,确定多个摄像机均可采集到该目标车辆的图像;该服务器可以获得该多个摄像机中拍摄角度最好的摄像机最近采集的一帧包括该目标标识的图像(即上述当前帧图像),进而利用该当前帧图像对该目标车辆进行定位。
506、服务器向目标车辆发送更新后的位置和航向角,返回至步骤505。
在实际应用中,服务器可多次执行步骤505和步骤506,来实现对目标车辆的实时定位。
507、目标车辆到达目标位置。
在一些实施例中,目标车辆为自动驾驶装置,该目标车辆可根据来自服务器的位姿,执行驾驶任务,例如自动泊车。在一些实施例中,目标车辆可以通过显示屏实时显示其位姿,驾驶员可以根据显示的位姿进行泊车等驾驶操作。该目标位置可以是目标车辆本次驾驶的目的地,例如某个停车位。可选的,该目标车辆到达目标位置,并停止行驶。举例来说,目标车辆自动驾驶至车库中的某个停车位,并停车。
508、目标车辆向服务器发送任务完成信号。
该任务完成信号可以用于指示服务器停止执行对目标车辆进行定位的任务。图5中的方法可应用于自动驾驶场景或者需要显示车辆位姿的驾驶场景。示例性的,在泊车场景中,目标车辆行驶至停车库入口的某个区域之后,停止行驶或降低行驶速度,并向服务器发送定位请求;该停车库可部署一个或多个摄像机;服务器根据该一个或多个摄像机采集的该目标车辆的图像、该目标车辆的特征点拓扑信息以及该一个或多个摄像机的内参和外参,确定该目标车辆的位姿;该目标车辆根据该服务器发送的位姿,进行泊车。
实施例一中的定位方案适用于目标车辆不能较准确或不能确定其自身位姿的场景。下面介绍目标车辆在某些区域可以确定其位姿时的定位方案。
实施例二
图6为本申请实施例提供的另一种定位方法交互流程图。如图6所示,该方法可包括:
601、目标车辆向服务器发送定位请求。
步骤601的实现方式可以与步骤502的实现方式相同。
602、目标车辆确定初始的位置和航向角。
示例性的,该目标车辆可采用GPS、超宽带(Ultra-Wide band,UWB)等信号定位方案确定其当前的位姿,得到该初始的位置和航向角。
603、目标车辆向服务器发送初始的位置和航向角。
604、服务器向目标车辆发送确认信息。
该确认信息用于指示服务器接收到初始的位置和航向角,并进入实时定位状态。
605、服务器根据上一帧图像确定的位姿以及当前帧图像对目标车辆进行定位,得到更新后的位置和航向角。
应理解,服务器在利用第一帧图像对目标车辆进行定位(即没有上一帧图像)时,该服务器可将来自目标车辆的初始的位置和航向角作为初始迭代位姿来确定该目标车辆当前的位姿。
606、服务器向目标车辆发送更新后的位置和航向角,返回至步骤605。
在实际应用中,服务器可多次执行步骤605和步骤606,来实现对目标车辆的实时定位。
607、目标车辆到达目标位置。
608、目标车辆向服务器发送任务完成信号。
步骤605至步骤608的实现方式可分别与步骤505至步骤508的实现方式相同。
在一些驾驶场景中,目标车辆在某些区域可以通过GPS、UWB等信号定位方案确定其当前的位姿,在另一些区域不能利用这些信号定位方案较准确地确定其位姿。图6中的定位方案适用于这些驾驶场景。示例性的,在泊车场景中,目标车辆在地下停车场的部分区域可以通过信号定位方案来确定其自身的位姿,在另外一些区域不能这些信号定位方案确定其位姿;该目标车辆可向服务器发送定位请求,并将其采用GPS、UWB等信号定位方案确定的其当前的位置和航向角(即初始的位置和航向角)发送给服务器;该地下停车库可部署一个或多个摄像机;服务器根据该一个或多个摄像机采集的该目标车辆的图像、该目标车辆的特征点拓扑信息以及该一个或多个摄像机的内参和外参,确定该目标车辆的位姿;该目标车辆根据该服务器发送的位姿,进行泊车。应理解,服务器根据第一帧图像对目标车辆进行位姿计算时,需要花费较长的时间。
本实施例中,服务器在根据第一帧图像对目标车辆进行位姿计算时,可以利用来自该目标车辆的位姿作为初始迭代位姿来进行位姿求解;可以大大减少位姿计算的时间,这样该目标车辆可以在行驶状态下向服务器发送定位请求。
在一些实施例中,可以有摄像机对目标车辆进行定位。下面介绍由摄像机对车辆进行定位的实施例。
实施例三
图7为本申请实施例提供的另一种定位方法交互流程图。如图7所示,该方法可包括:
701、目标车辆到达初始位置。
步骤701的实现方式可以与步骤501的实现方式相同。该目标车辆可以是上述目标车辆。
702、目标车辆向服务器发送定位请求。
步骤702的实现方式可以与步骤502的实现方式相同
703、服务器向目标摄像机发送定位指令。
上述定位指令携带有目标车辆的参考标识。该目标摄像机可以是位于初始位置的一个单目摄像机,该目标摄像机可具备图像识别功能以及数据处理功能。
704、目标摄像机利用拍摄的目标图像对目标车辆进行定位,得到初始的位置和航向角。
目标摄像机利用拍摄的目标图像对目标车辆进行定位,得到初始的位置和航向角可以是:目标摄像机利用拍摄的目标图像对目标车辆进行定位,得到参考位姿。该参考位姿包括该初始的位置以及航向角。
可选的,目标摄像机在执行步骤704可执行如下操作:该目标摄像机可对其采集的图像进行识别以得到包括该参考标识的目标图像。该目标摄像机可利用该目标图像对目标车辆进行定位。该目标摄像机利用该目标图像对目标车辆进行定位可参阅图3,即该目标摄像机执行图3中定位装置执行的操作。在实际应用中,目标摄像机可实时或周期性的将采集的图像并存储。在一些实施例中,服务器可以向一个或多个摄像机发送该定位指令,每个接收到该定位指令的摄像机对其当前采集到的图像进行图像识别;若某个摄像机(即目标摄像机)当前采集到的图像包括该参考标识,则利用当前采集到的图像对该目标车辆进行定位。
705、目标摄像机向服务器发送初始的位置和航向角(对应于第一定位信息)。
706、服务器向目标车辆发送初始的位置和航向角(对应于第二定位信息)。
707、目标摄像机根据上一帧图像确定的位姿以及当前帧图像对目标车辆进行定位,得到更新后的位置和航向角。
上一帧图像可以是目标摄像机在拍摄到当前帧图像之前,拍摄的一帧图像。目标摄像机根据上一帧图像确定的位姿以及当前帧图像对目标车辆进行定位,得到更新后的位置和航向角可以是:该目标摄像机在利用当前帧图像对目标车辆进行定位时,将根据该上一帧图像确定的位姿作为初始迭代位姿来确定该目标车辆当前的位姿。可以理解,目标车辆在目标摄像机采集到上一帧图像至当前帧图像期间,位姿通常变化很小,因此在利用当前帧图像对该目标车辆进行定位时,将根据上一帧图像确定的位姿作为利用当前帧图像对该目标车辆进行定位的初始迭代位姿,可以加快确定位姿的速度。
708、目标摄像机向服务器发送更新后的位置和航向角,返回至步骤707。
709、服务器向目标车辆发送更新后的位置和航向角。
在实际应用中,服务器可多次执行步骤707至步骤709,来实现对目标车辆的实时定位。
710、目标车辆到达目标位置。
在一些实施例中,目标车辆为自动驾驶装置,该目标车辆可根据来自服务器的位姿,执行驾驶任务,例如自动泊车。在一些实施例中,目标车辆可以通过显示屏显示其实时位姿,驾驶员可以根据显示的位姿进行泊车等驾驶操作。该目标位置可以是目标车辆本次驾驶的目的地,例如某个停车位。可选的,该目标车辆到达目标位置,并停止行驶。举例来说,目标车辆自动开到车库中的某个停车位,并停车。
711、目标车辆向服务器发送任务完成信号。
该任务完成信号可以用于指示服务器停止执行对目标车辆进行定位的任务。图5中的方法可应用于自动驾驶场景或者需要显示车辆位姿的驾驶场景。示例性的,在泊车场景中,目标车辆行驶至停车库入口的某个区域之后,停止行驶或降低行驶速度,并向服务器发送定位请求;该停车库可部署一个或多个摄像机;服务器向该一个或多个摄像机发送定位指令;服务器将该一个或多个摄像机对该目标车辆进行定位得到的位姿发送给该目标车辆;该目标车辆根据该服务器发送的位姿,进行泊车。
712、服务器向目标摄像机发送结束定位指令。
该结束定位指令用于指示目标摄像机停止对目标车辆进行定位。
实施例三中的定位方案适用于目标车辆不能较准确或不能确定其自身位姿的场景。下面介绍目标车辆在某些区域可以确定其位姿时的定位方案。
实施例四
图8为本申请实施例提供的又一种定位方法交互流程图。如图8所示,该方法可包括:
801、目标车辆向服务器发送定位请求。
802、目标车辆确定初始的位置和航向角。
803、目标车辆向服务器发送初始的位置和航向角。
可选的,目标车辆先确定初始的位置和航向角,再向服务器发送定位请求,该定位请求携带有该初始的位置和航向角。
804、服务器向目标车辆发送确认信息。
步骤801至步骤804的实现方式可以分别与步骤601至步骤604的实现方式类似,这里不再详述。
805、服务器向目标摄像机发送定位指令。
该定位指令可携带上述参考标识以及上述初始的位置和航向角。
806、目标摄像机根据上一帧图像确定的位姿以及当前帧图像对目标车辆进行定位,得到更新后的位置和航向角。
807、目标摄像机向服务器发送更新后的位置和航向角,返回至步骤806。
808、服务器向目标车辆发送更新后的位置和航向角。
809、目标车辆到达目标位置。
810、目标车辆向服务器发送任务完成信号。
811、服务器向目标摄像机发送结束定位指令。
该结束定位指令用于指示目标摄像机停止对目标车辆进行定位。
步骤806至步骤811的实现方式可以分别与步骤707至步骤712的实现方式类似,这里不再详述。
下面分别对定位装置、服务器以及摄像机的各部件的功能进行描述。
图9为本申请实施例提供的一种服务器的结构示意图。如图9所示,该服务器包括:
确定单元901,用于确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;上述第一图像为第一摄像机拍摄的包括目标车辆的图像,上述M个目标特征点与上述目标车辆上标注的M个参考特征点一一对应,上述M个第一坐标与上述M个目标特征点一一对应,上述M为大于1的整数;
获取单元902,用于获得上述M个参考特征点在上述目标车辆的车辆坐标系中对应的M个第二坐标,上述M个第二坐标与上述M个参考特征点一一对应;
坐标转换单元903,用于利用第N轮迭代的位姿、上述第一摄像机的内参以及上述第一摄像机的外参,将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系,得到M个第三坐标;上述第N轮迭代的位姿为上述定位装置第N次将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系所使用的位姿,上述第一摄像机的内参以及上述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,上述N为大于0的整数;
确定单元901,还用于在上述M个第三坐标与上述M个第一坐标之间的距离小于目标阈值的情况下,确定上述第N轮迭代的位姿为上述目标车辆的位姿。
在一个可选的实现方式中,上述服务器还包括:
接收单元904,用于接收来自上述目标车辆的定位请求,上述定位请求携带有上述目标车辆的目标标识;
解析单元905,用于解析上述定位请求,得到上述目标标识;
获取单元902,还用于获取包括上述目标标识的图像以得到上述第一图像,上述第一图像为上述第一摄像机在上述定位装置接收到上述定位请求之前的第一时长内拍摄的图像,或者上述第一图像为上述第一摄像机在上述定位装置接收到上述定位请求之后的第二时长内拍摄的图像。
在一个可选的实现方式中,上述服务器还包括:
发送单元906,用于向上述目标车辆发送定位信息,上述定位信息用于指示上述第N轮迭代的位姿。
在一个可选的实现方式中,确定单元901,还用于在上述N为1的情况下,将第一位姿作为上述第N轮迭代的位姿;上述第一位姿为上述目标车辆确定的上述目标车辆的位姿。
在一个可选的实现方式中,确定单元901,还用于在上述N为1的情况下,将第二位姿作为上述第N轮迭代的位姿;上述第二位姿为上述定位装置利用第二图像得到的上述目标车辆的位姿,上述第二图像为上述第一摄像机在拍摄上述第一图像之前拍摄的图像,或者,上述第二图像为第二摄像机在上述第一摄像机拍摄上述第一图像之前拍摄的图像,上述第二摄像机所处的位置与上述第一摄像机所处的位置不同。
在一个可选的实现方式中,确定单元902,还用于在上述N大于1的情况下,根据第(N-1)轮迭代的位姿,确定上述第N轮迭代的位姿。
图10为本申请实施例提供的一种摄像机的结构示意图。如图10所示,该摄像机包括:
确定单元1001,用于确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;上述第一图像为第一摄像机拍摄的包括目标车辆的图像,上述M个目标特征点与上述目标车辆上标注的M个参考特征点一一对应,上述M个第一坐标与上述M个目标特征点一一对应,上述M为大于1的整数;
获取单元1002,用于获得上述M个参考特征点在上述目标车辆的车辆坐标系中对应的M个第二坐标,上述M个第二坐标与上述M个参考特征点一一对应;
坐标转换单元1003,用于利用第N轮迭代的位姿、上述第一摄像机的内参以及上述第一摄像机的外参,将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系,得到M个第三坐标;上述第N轮迭代的位姿为上述定位装置第N次将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系所使用的位姿,上述第一摄像机的内参以及上述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,上述N为大于0的整数;
确定单元1001,还用于在上述M个第三坐标与上述M个第一坐标之间的距离小于目标阈值的情况下,确定上述第N轮迭代的位姿为上述目标车辆的位姿。
在一个可选的实现方式中,上述摄像机还包括:
接收单元1004,用于接收来自服务器的定位指令,上述定位指令携带有上述目标车辆的目标标识;
解析单元1005,用于解析上述定位指令,得到上述目标标识;
获取单元1002,还用于获取包括上述目标标识的图像以得到上述第一图像。
在一个可选的实现方式中,上述摄像机还包括:
发送单元1006,用于向上述服务器发送定位信息,上述定位信息用于指示上述第N轮迭代的位姿。
在一个可选的实现方式中,上述定位指令还携带有上述M个第二坐标;
获取单元1002,具体用于从上述定位指令中获取上述M个第二坐标。
在一个可选的实现方式中,确定单元1001,还用于在上述N为1的情况下,将第一位姿作为上述第N轮迭代的位姿;上述第一位姿为上述目标车辆确定的上述目标车辆的位姿。
在一个可选的实现方式中,确定单元1001,还用于在上述N为1的情况下,将第二位姿作为上述第N轮迭代的位姿;上述第二位姿为上述定位装置利用第二图像得到的上述目标车辆的位姿,上述第二图像为上述第一摄像机在拍摄上述第一图像之前拍摄的图像,或者,上述第二图像为第二摄像机在上述第一摄像机拍摄上述第一图像之前拍摄的图像,上述第二摄像机所处的位置与上述第一摄像机所处的位置不同。
在一个可选的实现方式中,确定单元1002,还用于在上述N大于1的情况下,根据第(N-1)轮迭代的位姿,确定上述第N轮迭代的位姿。
在一个可选的实现方式中,该摄像机为单目摄像机。
图11为本申请实施例提供的一种汽车的结构示意图。如图11所示,该汽车包括:
发送单元1101,用于向定位装置发送定位请求,上述定位请求携带有上述目标车辆的特征点拓扑信息,上述特征点拓扑信息用于指示上述目标车辆上标注的M个特征点在上述目标车辆的车辆坐标系中的坐标,上述M为大于1的整数;
接收单元1102,用于接收来自上述定位装置的定位信息,上述定位信息用于指示上述目标车辆的位姿。
在一个可选的实现方式中,上述汽车还包括:定位单元1103,用于确定上述目标车辆当前的第一位姿;上述发送单元,还用于向上述定位装置发送位姿信息,上述位姿信息用于指示上述第一位姿。
应理解以上汽车、服务器以及摄像机中的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如网络处理器或中央处理器(英文:central processing unit,简称:CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(英文:application-specific integrated circuit,简称:ASIC),或,一个或多个微处理器(英文:digital signal processor,简称:DSP),或,一个或者多个现场可编程门阵列(英文:field-programmable gate array,简称:FPGA)等。
图12为本申请实施例提供的一种定位装置的结构示意图。如图12所示,该装置包括:存储器1201、处理器1202以及收发器1203;该存储器1201用于存储代码;收发器1203用于实现目标车辆之间的数据交互;该处理器1202通过读取该存储器中存储的该代码以用于执行如下操作:确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;上述第一图像为第一摄像机拍摄的包括目标车辆的图像,上述M个目标特征点与上述目标车辆上标注的M个参考特征点一一对应,上述M个第一坐标与上述M个目标特征点一一对应,上述M为大于1的整数;上述定位装置获得上述M个参考特征点在上述目标车辆的车辆坐标系中对应的M个第二坐标,上述M个第二坐标与上述M个参考特征点一一对应;上述定位装置利用第N轮迭代的位姿、上述第一摄像机的内参以及上述第一摄像机的外参,将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系,得到M个第三坐标;上述第N轮迭代的位姿为上述定位装置第N次将上述M个第二坐标从上述车辆坐标系转换至上述像素坐标系所使用的位姿,上述第一摄像机的内参以及上述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,上述N为大于0的整数;上述定位装置在上述M个第三坐标与上述M个第一坐标之间的距离小于目标阈值的情况下,确定上述第N轮迭代的位姿为上述目标车辆的位姿。
图12中的定位装置可以是服务器,也可以是摄像机。示例性的,处理器1202,用于实现图9中确定单元901、获取单元902、解析单元905以及坐标转换单元903的功能;收发器1203,用于图9中接收单元904和发送单元906的功能。示例性的,处理器1202,用于实现图10中确定单元1001、获取单元1002、解析单元1005以及坐标转换单元1003的功能;收发器1203,用于图10中接收单元1004和发送单元1006的功能。可理解,收发器1203可用于执行上述方法实施例中定位装置的发送操作和接收操作,处理器1202用于执行上述方法实施例中定位装置除了收发操作之外的其他操作。
图13为本申请实施例提供的一种汽车的结构示意图。如图13所示,该汽车包括:存储器1301、处理器1302以及收发器1303;该存储器1301用于存储代码;收发器1303用于实现服务器之间的数据交互;该处理器1302通过读取该存储器中存储的该代码以用于执行如下操作:向定位装置发送定位请求,上述定位请求携带有上述目标车辆的特征点拓扑信息,上述特征点拓扑信息用于指示上述目标车辆上标注的M个特征点在上述目标车辆的车辆坐标系中的坐标,上述M为大于1的整数;接收来自上述定位装置的定位信息,上述定位信息用于指示上述目标车辆的位姿。上述特征点拓扑信息还用于上述定位装置确定上述目标车辆的位姿。
示例性的,处理器1302,用于实现图11中定位单元1103的功能;收发器1303,用于图11中发送单元1101和接收单元1102的功能。可理解,收发器1303可用于执行上述方法实施例中汽车的发送操作和接收操作,处理器1302用于执行上述方法实施例中汽车除了收发操作之外的其他操作。
本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述实施例所提供的定位方法。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例所提供的定位方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种定位方法,其特征在于,包括:
定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;所述第一图像为第一摄像机拍摄的包括目标车辆的图像,所述M个目标特征点与所述目标车辆上标注的M个参考特征点一一对应,所述M个第一坐标与所述M个目标特征点一一对应,所述M为大于1的整数;
所述定位装置获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标,所述M个第二坐标与所述M个参考特征点一一对应;
所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标;所述第N轮迭代的位姿为所述定位装置第N次将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系所使用的位姿,所述第一摄像机的内参以及所述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,所述N为大于0的整数;
所述定位装置在所述M个第三坐标与所述M个第一坐标之间的距离小于目标阈值的情况下,确定所述第N轮迭代的位姿为所述目标车辆的位姿。
2.根据权利要求1所述的方法,其特征在于,所述定位装置为服务器;所述定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标之前,所述方法还包括:
所述定位装置接收来自所述目标车辆的定位请求,所述定位请求携带有所述目标车辆的目标标识;
所述定位装置解析所述定位请求,得到所述目标标识;
所述定位装置获取包括所述目标标识的图像以得到所述第一图像,所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之前的第一时长内拍摄的图像,或者所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之后的第二时长内拍摄的图像。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第N轮迭代的位姿为所述目标车辆的位姿之后,所述方法还包括:
所述定位装置向所述目标车辆发送定位信息,所述定位信息用于指示所述第N轮迭代的位姿。
4.根据权利要求1所述的方法,其特征在于,所述定位装置为摄像机;所述定位装置确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标之前,所述方法还包括:
所述定位装置接收来自服务器的定位指令,所述定位指令携带有所述目标车辆的目标标识;
所述定位装置解析所述定位指令,得到所述目标标识;
所述定位装置获取包括所述目标标识的图像以得到所述第一图像。
5.根据权利要求4所述的方法,其特征在于,所述定位指令还携带有所述M个第二坐标;所述定位装置获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标包括:
所述定位装置从所述定位指令中获取所述M个第二坐标。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标之前,所述方法还包括:
所述定位装置在所述N为1的情况下,将第一位姿作为所述第N轮迭代的位姿;所述第一位姿为所述目标车辆确定的所述目标车辆的位姿。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标之前,所述方法还包括:
所述定位装置在所述N为1的情况下,将第二位姿作为所述第N轮迭代的位姿;所述第二位姿为所述定位装置利用第二图像得到的所述目标车辆的位姿,所述第二图像为所述第一摄像机在拍摄所述第一图像之前拍摄的图像,或者,所述第二图像为第二摄像机在所述第一摄像机拍摄所述第一图像之前拍摄的图像,所述第二摄像机所处的位置与所述第一摄像机所处的位置不同。
8.根据权利要求1至5任一项所述的方法,其特征在于,所述定位装置利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标之前,所述方法还包括:
所述定位装置在所述N大于1的情况下,根据第(N-1)轮迭代的位姿,确定所述第N轮迭代的位姿。
9.一种定位方法,其特征在于,包括:
目标车辆向定位装置发送定位请求,所述定位请求携带有所述目标车辆的特征点拓扑信息,所述特征点拓扑信息用于指示所述目标车辆上标注的M个特征点在所述目标车辆的车辆坐标系中的坐标,所述M为大于1的整数;
所述目标车辆接收来自所述定位装置的定位信息,所述定位信息用于指示所述目标车辆的位姿。
10.根据权利要求9所述的方法,其特征在于,所述目标车辆接收来自所述定位装置的定位信息之前,所述方法还包括:
所述目标车辆确定所述目标车辆当前的第一位姿;
所述目标车辆向所述定位装置发送位姿信息,所述位姿信息用于指示所述第一位姿。
11.一种定位装置,其特征在于,包括:
确定单元,用于确定第一图像中M个目标特征点在像素坐标系的坐标,得到M个第一坐标;所述第一图像为第一摄像机拍摄的包括目标车辆的图像,所述M个目标特征点与所述目标车辆上标注的M个参考特征点一一对应,所述M个第一坐标与所述M个目标特征点一一对应,所述M为大于1的整数;
获取单元,用于获得所述M个参考特征点在所述目标车辆的车辆坐标系中对应的M个第二坐标,所述M个第二坐标与所述M个参考特征点一一对应;
坐标转换单元,用于利用第N轮迭代的位姿、所述第一摄像机的内参以及所述第一摄像机的外参,将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系,得到M个第三坐标;所述第N轮迭代的位姿为所述定位装置第N次将所述M个第二坐标从所述车辆坐标系转换至所述像素坐标系所使用的位姿,所述第一摄像机的内参以及所述第一摄像机的外参均用于实现坐标在不同坐标系之间的转换,所述N为大于0的整数;
所述确定单元,还用于在所述M个第三坐标与所述M个第一坐标之间的距离小于目标阈值的情况下,确定所述第N轮迭代的位姿为所述目标车辆的位姿。
12.根据权利要求11所述的装置,其特征在于,所述定位装置为服务器;所述装置还包括:
接收单元,用于接收来自所述目标车辆的定位请求,所述定位请求携带有所述目标车辆的目标标识;
解析单元,用于解析所述定位请求,得到所述目标标识;
所述获取单元,还用于获取包括所述目标标识的图像以得到所述第一图像,所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之前的第一时长内拍摄的图像,或者所述第一图像为所述第一摄像机在所述定位装置接收到所述定位请求之后的第二时长内拍摄的图像。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
发送单元,用于向所述目标车辆发送定位信息,所述定位信息用于指示所述第N轮迭代的位姿。
14.根据权利要求11所述的装置,其特征在于,所述装置为摄像机;所述装置还包括:
接收单元,用于接收来自服务器的定位指令,所述定位指令携带有所述目标车辆的目标标识;
解析单元,用于解析所述定位指令,得到所述目标标识;
所述获取单元,还用于获取包括所述目标标识的图像以得到所述第一图像。
15.根据权利要求14所述的装置,其特征在于,所述定位指令还携带有所述M个第二坐标;
所述获取单元,具体用于从所述定位指令中获取所述M个第二坐标。
16.根据权利要求11至15任一项所述的装置,其特征在于,
所述确定单元,还用于在所述N为1的情况下,将第一位姿作为所述第N轮迭代的位姿;所述第一位姿为所述目标车辆确定的所述目标车辆的位姿。
17.根据权利要求11至15任一项所述的装置,其特征在于,
所述确定单元,还用于在所述N为1的情况下,将第二位姿作为所述第N轮迭代的位姿;所述第二位姿为所述定位装置利用第二图像得到的所述目标车辆的位姿,所述第二图像为所述第一摄像机在拍摄所述第一图像之前拍摄的图像,或者,所述第二图像为第二摄像机在所述第一摄像机拍摄所述第一图像之前拍摄的图像,所述第二摄像机所处的位置与所述第一摄像机所处的位置不同。
18.根据权利要求11至15任一项所述的装置,其特征在于,
所述确定单元,还用于在所述N大于1的情况下,根据第(N-1)轮迭代的位姿,确定所述第N轮迭代的位姿。
19.一种汽车,其特征在于,包括:
发送单元,用于向定位装置发送定位请求,所述定位请求携带有目标车辆的特征点拓扑信息,所述特征点拓扑信息用于指示所述目标车辆上标注的M个特征点在所述目标车辆的车辆坐标系中的坐标,所述M为大于1的整数;
接收单元,用于接收来自所述定位装置的定位信息,所述定位信息用于指示所述目标车辆的位姿。
20.根据权利要求19所述的汽车,其特征在于,所述汽车还包括:
定位单元,用于确定所述目标车辆当前的第一位姿;
所述发送单元,还用于向所述定位装置发送位姿信息,所述位姿信息用于指示所述第一位姿。
21.一种定位装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至8任一项所述的方法。
22.一种汽车,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求9至10任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911055114.5A CN112810603B (zh) | 2019-10-31 | 2019-10-31 | 定位方法和相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911055114.5A CN112810603B (zh) | 2019-10-31 | 2019-10-31 | 定位方法和相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112810603A CN112810603A (zh) | 2021-05-18 |
CN112810603B true CN112810603B (zh) | 2022-08-26 |
Family
ID=75851358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911055114.5A Active CN112810603B (zh) | 2019-10-31 | 2019-10-31 | 定位方法和相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112810603B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793297A (zh) * | 2021-08-13 | 2021-12-14 | 北京迈格威科技有限公司 | 位姿确定方法、装置、电子设备及可读存储介质 |
CN116129087A (zh) * | 2021-11-30 | 2023-05-16 | 北京百度网讯科技有限公司 | 定位方法、视觉地图的生成方法及其装置 |
US20240053154A1 (en) * | 2022-08-09 | 2024-02-15 | Aptiv Technologies Limited | Vehicle Localization Based on Pose Corrections from Remote Vehicles in Parking Garages |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104417382B (zh) * | 2013-08-30 | 2016-12-28 | 国家电网公司 | 视觉定位系统 |
CN107063189A (zh) * | 2017-01-19 | 2017-08-18 | 上海勤融信息科技有限公司 | 基于视觉的定位系统及方法 |
CN107600067B (zh) * | 2017-09-08 | 2019-09-20 | 中山大学 | 一种基于多视觉惯导融合的自主泊车系统及方法 |
CN110017841A (zh) * | 2019-05-13 | 2019-07-16 | 大有智能科技(嘉兴)有限公司 | 视觉定位方法及其导航方法 |
-
2019
- 2019-10-31 CN CN201911055114.5A patent/CN112810603B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112810603A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7255782B2 (ja) | 障害物回避方法、障害物回避装置、自動運転装置、コンピュータ可読記憶媒体及びプログラム | |
CN112639883B (zh) | 一种相对位姿标定方法及相关装置 | |
WO2021102955A1 (zh) | 车辆的路径规划方法以及车辆的路径规划装置 | |
CN110789533B (zh) | 一种数据呈现的方法及终端设备 | |
CN112512887B (zh) | 一种行驶决策选择方法以及装置 | |
CN113168708A (zh) | 车道线跟踪方法和装置 | |
CN112543877B (zh) | 定位方法和定位装置 | |
CN113498529B (zh) | 一种目标跟踪方法及其装置 | |
CN112810603B (zh) | 定位方法和相关产品 | |
US20230048680A1 (en) | Method and apparatus for passing through barrier gate crossbar by vehicle | |
WO2022089577A1 (zh) | 一种位姿确定方法及其相关设备 | |
EP4307251A1 (en) | Mapping method, vehicle, computer readable storage medium, and chip | |
CN113954858A (zh) | 一种规划车辆行驶路线的方法以及智能汽车 | |
CN114842075B (zh) | 数据标注方法、装置、存储介质及车辆 | |
CN115205311B (zh) | 图像处理方法、装置、车辆、介质及芯片 | |
CN113022573B (zh) | 道路结构检测方法及装置 | |
WO2021159397A1 (zh) | 车辆可行驶区域的检测方法以及检测装置 | |
CN115100630B (zh) | 障碍物检测方法、装置、车辆、介质及芯片 | |
CN115205848A (zh) | 目标检测方法、装置、车辆、存储介质及芯片 | |
CN114092898A (zh) | 目标物的感知方法及装置 | |
WO2022061725A1 (zh) | 交通元素的观测方法和装置 | |
CN115082886B (zh) | 目标检测的方法、装置、存储介质、芯片及车辆 | |
CN114556251B (zh) | 用于确定车辆可通行空间的方法和装置 | |
WO2022041820A1 (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |