CN112543877B - 定位方法和定位装置 - Google Patents
定位方法和定位装置 Download PDFInfo
- Publication number
- CN112543877B CN112543877B CN201980052579.7A CN201980052579A CN112543877B CN 112543877 B CN112543877 B CN 112543877B CN 201980052579 A CN201980052579 A CN 201980052579A CN 112543877 B CN112543877 B CN 112543877B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- target
- clustering
- points
- point
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19107—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
Abstract
本申请实施例公开了一种定位方法和装置,涉及人工智能领域,具体涉及自动驾驶领域,该定位方法包括:采用多次聚类对第一点云中的点进行聚类以得到目标点云;该目标点云为表征目标物体的特性的点云,第一点云包括该目标点云以及表征干扰物体的特性的点云;根据该目标点云,确定目标物体的位置。本申请实施例中,采用多次聚类筛选出表征目标物体的特征的点云,进而准确地定位反射点较少的障碍物的位置,实时性强。
Description
技术领域
本申请涉及人工智能领域的自动驾驶领域,尤其涉及一种定位方法和定位装置。
背景技术
自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶往往需要依靠激光雷达精确定位车辆、行人、自行车等障碍物的位置。目前对于车辆的定位方法较多,精度也较高。然而,对于行人和自行车的定位,目前采用的定位方法的识别准确率或实时性不足以实车使用。
近年兴起的深度神经网络方法在图像识别领域得到了媲美人眼检测的高识别率,但对于激光雷达等传感器得到的点云的处理方法较少,准确率也不高。另外深度学习需要使用大规模的数据进行预先训练,对计算资源要求较高,计算时间较长,不满足一般车载系统的实时性要求。故很多场景下依然使用非神经网络方法。
采用非神经网络方法定位障碍物主要采用聚类实现,直接对点云聚类或结合视觉结果对点云聚类,再根据聚类结果定位障碍物。此类方法对车辆等大目标效果较好,然而对行人、自行车这些反射点较少的物体,极易发生误检、漏检,例如聚类到背景的墙或电线杆等。因此,需要研究适于定位行人、自行车等这些反射点较少的物体的方法。
发明内容
本申请实施例提供了一种定位方法和定位装置,采用多次聚类提取出表征目标物体的特性的点云,可以准确地定位该目标物体的位置,进而避开该目标物体,实时性强。
第一方面,本申请实施例提供了一种定位方法,该方法包括:采用多次聚类对第一点云中的点进行聚类以得到目标点云;该目标点云为表征目标物体的特性的点云,该第一点云包括该目标点云以及表征干扰物体的特性的点云;根据该目标点云,确定该目标物体的位置。
本申请实施例中,采用多次聚类的方法可以准确地从第一点云中提取出表征目标物体的特性的点云,进而定位该目标物体的位置,以便于避开该目标物体。
在一个可选的实现方式中,该采用多次聚类对第一点云中的点进行聚类以得到目标点云包括:对该第一点云中的点进行聚类得到第二点云,该第二点云为对该第一点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第二点云不为该目标点云的情况下,对第三点云中的点进行至少一次聚类以得到该目标点云;该第三点云为该第一点云中除该第二点云之外的点云。
在该实现方式中,可以采用任一种聚类方法对上述第一点云进行聚类,并采用任一种方式从聚类得到的多个点云中选择出属于该目标点云的概率最高的点云。在该实现方式中,当聚类得到的点云不是目标点云时,再进行一次或多次聚类以得到目标点云,可以有效避免通过一次聚类得到的点云不是目标点云的问题。
在一个可选的实现方式中,该对第三点云中的点进行至少一次聚类以得到该目标点云包括:对该第三点云中的点进行聚类以得到第四点云,该第四点云为对该第三点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第四点云不为该目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值的情况下,对该第五点云中的点进行至少一次聚类以得到该目标点云;该第五点云为该第三点云中除该第四点云之外的点云。
当执行聚类操作的次数不小于第一阈值或第五点云中的点的个数小于第二阈值时,可以认为利用当前的点云已无法定位目标物体的位置,这样就可以停止聚类操作。该第四点云不为该目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值是本申请提供的一种可选的继续执行聚类操作的条件。应理解,可以在该第四点云不为该目标点云且该第五点云满足一定条件时,继续执行聚类操作。本申请对该第五点云进行聚类需要满足的条件不作限定。在该实现方式中,在第五点云满足聚类的最低要求时,对该第五点云进行聚类以提取出目标点云,可以减少不必要的操作。
在一个可选的实现方式中,该对第三点云中的点进行至少一次聚类以得到该目标点云之前,该方法还包括:提取该第一点云中除该第二点云之外的点以得到该第三点云。
在该实现方式中,提取第一点云中除第二点云之外的点以得到第三点云,可以缩小目标点云的搜索空间,并减少聚类操作的运算量。
在一个可选的实现方式中,该对该第一点云中的点进行聚类得到第二点云包括:根据该第一点云的分布情况,确定聚类参数;使用该聚类参数对该第一点云中的点进行聚类,得到该第二点云。
在该实现方式中,根据点云的分布情况,采用相应的聚类参数对该点云进行聚类,可以提高聚类的准确性。
在一个可选的实现方式中,该聚类参数为邻域、最小点数中的至少一项。
在一个可选的实现方式中,该采用多次聚类对第一点云中的点进行聚类以得到目标点云之前,该方法还包括:从原始点云中提取第一点云;该原始点云中的每个点在原始图像均对应一个像素点,该第一点云中各点在该原始图像对应的像素点均位于该原始图像的目标边界内,该原始点云中除该第一点云之外的点在该原始图像对应的像素点均不位于该目标边界内;该目标边界内包括该目标物体的图像。
在该实现方式中,从原始点云中提取出包括目标点云的第一点云,可以缩小该目标点云的搜索空间,并减少聚类操作的运算量。
在一个可选的实现方式中,该从原始点云中提取第一点云包括:确定该原始图像中的该目标边界;根据该目标边界,提取该原始点云中的该第一点云。
由于原始点云中的每个点在原始图像均对应一个像素点且目标边界内包括目标物体的图像,因此该原始点云中表征该目标物体的特性的点云在该原始图像对应的像素点均位于该目标边界。在该实现方式中,利用原始图像中的目标边界,可以准确地提取出目标物体对应的点云,实现简单。
在一个可选的实现方式中,该第二点云不为该目标点云的情况包括:该第二点云垂直投影得到的多个点中任意点间的欧氏距离或一范数不小于第三阈值;或者,该第二点云中最高点和最低点之间的高度差不小于第四阈值。
在该实现方式中,可以快速、准确地确定第二点云是否是目标点云。
第二方面,本申请实施例提供了一种自动驾驶方法,该方法包括:云服务器接收来自自动驾驶装置的驾驶信息,该驾驶信息包括第一点云,该第一点云包括表征目标物体的特性的目标点云以及表征干扰物体的特性的点云;采用多次聚类对该第一点云中的点进行聚类以得到该目标点云;根据该目标点云,确定该目标物体的位置;该云服务器根据该目标物体的位置,确定该自动驾驶装置所需执行的目标驾驶操作;该云服务器向该自动驾驶装置发送控制指令,该控制指令用于指示该自动驾驶装置执行该目标驾驶操作。
本申请实施例中,云服务器具备自动驾驶装置无法比拟的处理能力以及数据存储能力,云服务器可以充分利用自身的处理资源和存储资源来为一个或多个自动驾驶装置提供自动驾驶服务。另外,自动驾驶装置不需要自身来确定所需执行的驾驶操作,工作量较少。
在一个可选的实现方式中,该采用多次聚类对第一点云中的点进行聚类以得到目标点云包括:对该第一点云中的点进行聚类得到第二点云,该第二点云为对该第一点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第二点云不为该目标点云的情况下,对第三点云中的点进行至少一次聚类以得到该目标点云;该第三点云为该第一点云中除该第二点云之外的点云。
在一个可选的实现方式中,该对第三点云中的点进行至少一次聚类以得到该目标点云包括:对该第三点云中的点进行聚类以得到第四点云,该第四点云为对该第三点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第四点云不为该目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值的情况下,对该第五点云中的点进行至少一次聚类以得到该目标点云;该第五点云为该第三点云中除该第四点云之外的点云。
在一个可选的实现方式中,该对第三点云中的点进行至少一次聚类以得到该目标点云之前,该方法还包括:提取该第一点云中除该第二点云之外的点以得到该第三点云。
在该实现方式中,提取第一点云中除第二点云之外的点以得到第三点云,可以缩小目标点云的搜索空间,并减少聚类操作的运算量。
在一个可选的实现方式中,该对该第一点云中的点进行聚类得到第二点云包括:根据该第一点云的分布情况,确定聚类参数;使用该聚类参数对该第一点云中的点进行聚类,得到该第二点云。
在该实现方式中,根据点云的分布情况,采用相应的聚类参数对该点云进行聚类,可以提高聚类的准确性。
在一个可选的实现方式中,该聚类参数为邻域、最小点数中的至少一项。
在一个可选的实现方式中,该采用多次聚类对第一点云中的点进行聚类以得到目标点云之前,该方法还包括:从原始点云中提取第一点云;该原始点云中的每个点在原始图像均对应一个像素点,该第一点云中各点在该原始图像对应的像素点均位于该原始图像的目标边界内,该原始点云中除该第一点云之外的点在该原始图像对应的像素点均不位于该目标边界内;该目标边界内包括该目标物体的图像。
在该实现方式中,从原始点云中提取出包括目标点云的第一点云,可以缩小该目标点云的搜索空间,并减少聚类操作的运算量。
在一个可选的实现方式中,该从原始点云中提取第一点云包括:确定该原始图像中的该目标边界;根据该目标边界,提取该原始点云中的该第一点云。
在该实现方式中,利用原始图像中的目标边界,可以准确地提取出目标物体对应的点云,实现简单。
在一个可选的实现方式中,该第二点云不为该目标点云的情况包括:该第二点云垂直投影得到的多个点中任意点间的欧氏距离或一范数不小于第三阈值;或者,该第二点云中最高点和最低点之间的高度差不小于第四阈值。
第三方面本申请实施例提供了一种定位装置,该定位装置包括:聚类单元,用于采用多次聚类对第一点云中的点进行聚类以得到目标点云;该目标点云为表征目标物体的特性的点云,该第一点云包括该目标点云以及表征干扰物体的特性的点云;定位单元,用于根据该目标点云,确定该目标物体的位置。
在一个可选的实现方式中,该聚类单元,具体用于对该第一点云中的点进行聚类得到第二点云,该第二点云为对该第一点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第二点云不为该目标点云的情况下,对第三点云中的点进行至少一次聚类以得到该目标点云;该第三点云为该第一点云中除该第二点云之外的点云。
在一个可选的实现方式中,该聚类单元,具体用于对该第三点云中的点进行聚类以得到第四点云,该第四点云为对该第三点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第四点云不为该目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值的情况下,对该第五点云中的点进行至少一次聚类以得到该目标点云;该第五点云为该第三点云中除该第四点云之外的点云。
在一个可选的实现方式中,该装置还包括:第一提取单元,用于提取该第一点云中除该第二点云之外的点以得到该第三点云。
在一个可选的实现方式中,该聚类单元,具体用于根据该第一点云的分布情况,确定聚类参数;使用该聚类参数对该第一点云中的点进行聚类,得到该第二点云。
在一个可选的实现方式中,该聚类参数为邻域、最小点数中的至少一项。
在一个可选的实现方式中,该装置还包括:第二提取单元,用于从原始点云中提取第一点云;该原始点云中的每个点在原始图像均对应一个像素点,该第一点云中各点在该原始图像对应的像素点均位于该原始图像的目标边界内,该原始点云中除该第一点云之外的点在该原始图像对应的像素点均不位于该目标边界内;该目标边界内包括该目标物体的图像。
在一个可选的实现方式中,该第二提取单元,具体用于确定该原始图像中的该目标边界;根据该目标边界,提取该原始点云中的该第一点云。。
第四方面本申请实施例提供了一种云服务器,该云服务器包括:收发器,用于接收来自自动驾驶装置的驾驶信息,该驾驶信息包括第一点云,该第一点云包括表征目标物体的特性的目标点云以及表征干扰物体的特性的点云;处理器,用于采用多次聚类对该第一点云中的点进行聚类以得到该目标点云;该处理器,还用于根据该目标点云,确定该目标物体的位置;根据该目标物体的位置,确定该自动驾驶装置所需执行的目标驾驶操作;该收发器,还用于向该自动驾驶装置发送控制指令,该控制指令用于指示该自动驾驶装置执行该目标驾驶操作。
第五方面本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面至第二方面以及任一种可选的实现方式的方法。
第六方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,该程序指令当被处理器执行时使该信处理器执行上述第一方面至第二方面以及任一种可选的实现方式的方法。
第七方面,本申请实施例提供了一种定位装置,包括存储器和处理器;存储器用于保存程序指令,处理器用于执行该程序指令以执行上述第一方面至第二方面以及任一种可选的实现方式的方法。
附图说明
图1是本申请实施例提供的自动驾驶装置的功能框图;
图2为本申请实施例提供的一种自动驾驶系统的结构示意图;
图3为本申请实施例提供的一种定位方法流程图;
图4为本申请实施例提供的一种自动驾驶方法流程图;
图5为本申请实施例提供的另一种自动驾驶方法流程图;
图6为本申请实施例提供的一种自动驾驶场景的示意图;
图7为本申请实施例提供的一种定位装置的结构示意图;
图8为本申请实施例提供的一种自动驾驶装置的结构示意图;
图9为本申请实施例提供的另一种自动驾驶装置的结构示意图;
图10为本申请实施例提供的一种计算机程序产品的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
自动驾驶装置需要精确定位车辆、行人、自行车等障碍物的位置,以便于避开障碍物,进而实现安全行驶。目前,通常采用的定位车辆、行人、自行车等障碍物的位置的方法如下:从激光雷达采集的原始点云中提取出每个障碍物的参考点云,每个障碍物的参考点云不仅包括每个障碍物的点云还可能包括干扰物体的点云;分别对每个障碍物的参考点云进行聚类以得到每个障碍物的点云;根据每个障碍物的点云,定位每个障碍物的位置。由于从原始点云中提取出的障碍物的点云往往包括干扰物体的点云,因此需要对从该原始点云提取出的点云进行聚类以提取出每个障碍物的点云。在当前采用的聚类方法中,仅仅对从原始点云提取出的点云进行一次聚类,将聚类得到的点云作为障碍物的点云,根据障碍物的点云来定位障碍物的位置。然而,对于反射点较少的自行车、行人等障碍物来说,通过一次聚类操作难以准确地提取出这些障碍物的点云,导致不能准确定位障碍物的位置。因此,需要研究能够准确地提取出各障碍物的点云的聚类方法。本申请实施例提供的定位方法可以应用到自动驾驶场景。下面对自动驾驶场景进行简单的介绍。
自动驾驶场景:自动驾驶装置(例如自动驾驶汽车)使用激光雷达实时或接近实时的采集周围环境的点云以及使用相机采集图像;使用获得的点云和图像,定位障碍物的位置;根据障碍物的位置,执行相应的驾驶策略,以避开障碍物。
图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可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。在一些实施例中,除了感测物体以外,激光测距仪128可以是激光雷达(light detection and ranging,LiDAR)。激光雷达,是以发射激光束探测目标的位置、速度等特征量的雷达系统。激光雷达可向目标(即障碍物)或某个方向发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的有关信息,例如表示目标的表面特性的点云。点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合。本申请中的点云可以是根据激光测量原理得到的点云,包括每个点的三维坐标。
相机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。
计算机系统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可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本发明实施例不做特别的限定。
图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为本申请实施例提供的一种定位方法,该方法可包括:
301、定位装置采用多次聚类对第一点云中的点进行聚类以得到目标点云。
该目标点云为表征目标物体的特性的点云,该第一点云包括该目标点云以及表征干扰物体的特性的点云。上述定位装置可以是自动驾驶装置,也可以是服务器,还可以是其他设备,本申请不作限定。上述目标物体可以是车辆、行人以及其他障碍物。定位装置每次执行聚类操作采用的聚类方法不作限定。例如,定位装置可以采用用高斯混合模型的最大期望聚类、Agglomerative聚类、均值漂移聚类等。
302、定位装置根据目标点云,确定目标物体的位置。
可选的,定位装置根据目标点云,定位目标物体的位置的方式如下:首先根据目标点云中各点的三维坐标计算出聚类出的点云质心(即各点的三维坐标取均值),该点云质心的位置即可作为目标物体在车辆坐标系的位置,由此可计算出点云质心在各坐标轴方向上与该车辆坐标系原点(即自动驾驶装置的位置)的距离。定位装置还可以采用其他方式根据目标点云,定位行人、自行车以及其他障碍物的位置,本申请不作限定。车辆坐标系是用来描述汽车运动的特殊动坐标系;其原点与质心重合,当车辆在水平路面上处于静止状态,x轴平行于地面指向车辆前方,z轴通过汽车质心指向上方,y轴指向驾驶员的左侧。质心可以是车辆的后轴中心。
本申请实施例中,采用多次聚类的方法可以准确地从第一点云中提取出表征目标物体的特性的点云,进而定位该目标物体的位置。
下面介绍采用多次聚类对第一点云中的点进行聚类以得到目标点云的实现方式。
在一个可选的实现方式中,采用多次聚类对第一点云中的点进行聚类以得到目标点云可以是:对该第一点云中的点进行聚类得到第二点云,该第二点云为对该第一点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第二点云不为该目标点云的情况下,对第三点云中的点进行至少一次聚类以得到该目标点云;该第三点云为该第一点云中除该第二点云之外的点云。
在该实现方式中,定位装置可以采用任一种聚类方法对上述第一点云进行聚类,并采用任一种方式从聚类得到的多个点云中选择出属于该目标点云的概率最高的点云。后续会详述如何确定某个点云是否为目标点云的方式,这里先不作详述。在该实现方式中,当聚类得到的点云不是目标点云时,再进行一次或多次聚类以得到目标点云,可以有效避免通过一次聚类得到的点云不是目标点云的问题。下面介绍图3中的定位方法在自动驾驶过程中的具体应用。
图1和图2分别介绍了自动驾驶装置的结构以及自动驾驶系统的结构,下面介绍一种自动驾驶方法。图4为本申请实施例提供的一种自动驾驶方法,如图4所示,该方法可包括:
401、自动驾驶装置获取当前使用激光雷达获取的原始点云以及从历史图像序列中获取时间戳与该原始点云的时间戳最接近的原始图像。
此处用点云(即原始点云)找图像是因为图像的帧率更高。可选的,自动驾驶装置获取当前使用相机获取的原始图像以及从历史点云中获取时间戳与该原始图像的时间戳最接近的原始点云。可以理解,在动态场景中,该自动驾驶装置采集该原始图像的时间点与采集该原始点云的时间点的间隔小于时间阈值,该时间阈值可以是1ms、5ms、10ms等;在静态场景中,该自动驾驶装置采集该原始图像的时间点与采集该原始点云的时间点的间隔可以是任意时长。若一帧图像与多个点云匹配,则自动驾驶装置从多路历史点云中分别寻找时间戳与该帧图像的时间戳最接近的点云。自动驾驶装置上可安装有多个激光雷达,每一路历史点云为自动驾驶装置使用一个激光雷达得到的一系列点云。在实际应用中,自动驾驶装置可使用激光雷达实时或接近实时地获取周围环境的点云以得到历史点云,每个点云对应一个时间戳;可使用相机实时或接近实时地获取周围环境的图像以得到历史图像序列,每帧图像对应一个时间戳。可选的,自动驾驶装置对获取的原始点云做预处理以消除噪声点,以及对获取的原始图像做预处理以进一步提升该原始图像的质量。
402、自动驾驶装置对原始图像进行目标检测以确定该原始图像中的目标边界。
目标检测是找出图像中感兴趣的目标,确定它们的位置(一般用边界框标记)和大小,是机器视觉领域的核心问题之一。自动驾驶转置可采用RCNN(region with CNNfeature)系列网络对该原始图像进行目标检测,该系列网络均随机选择候选框;采用卷积神经网络提取特征,针对提取出的特征采用支持向量机(support vector machine,SVM)、softmax函数或全连接网络等方法进行分类,最后再回归出一个目标边界。CNN是卷积神经网络(convolutional neural networks)。RCNN系列网络可以包括Mask R-CNN、Faster R-CNN等。自动驾驶装置可以采用RCNN系列网络对原始图像进行目标检测以确定该原始图像中包括目标物体的图像的目标边界;也可以采用其他方法对原始图像进行目标检测以确定该原始图像中包括目标物体的图像的目标边界。可以理解,原始图像中的目标边界为该原始图像中包括目标物体的一个边界,该目标边界中不仅包括目标物体的图像还包括至少一个干扰物体的图像。举例来说,原始图像中的汽车和行人处于同一区域,自动驾驶装置确定的该汽车的图像的边界包括一部分行车的图像。该原始图像中的目标边界即为该原始图像中的一个感兴趣区域(region of interest,ROI)。对给定图像做目标检测以确定ROI(即目标边界)是本领域常用的技术手段,这里不再详述。自动驾驶装置对原始图像进行目标检测可以确定该原始图像中的多个边界,每个边界包括至少一个物体的图像,上述目标边界为该多个边界中的一个。可以理解,自动驾驶装置对原始图像进行目标检测,并确定检测到的至少一个目标的边界。上述至少一个目标可以是自动驾驶装置可识别的所有物体,也可以是预先配置的一些物体,例如车辆、行人等。假定自动驾驶装置对原始图像进行目标检测,检测到5个目标,则确定5个边界,每个边界包括一个目标的图像。举例来说,自动驾驶装置对原始图像进行目标检测,检测到一辆汽车和一个自行车,则确定该原始图像中包括该汽车的图像的边界以及该原始图像中包括该自行车的图像的边界。
403、自动驾驶装置根据原始图像中的目标边界,提取该原始点云中的第一点云。
该第一点云包括表征目标物体的表面特性的点云以及表征干扰物体的表面特性的点云。该原始点云中的每个点在原始图像均对应一个像素点,该第一点云中各点在该原始图像对应的像素点均位于该原始图像的目标边界内,该原始点云中除该第一点云之外的点在该原始图像对应的像素点均不位于该目标边界内;该目标边界内包括该目标物体的图像。
404、自动驾驶装置对第一点云中的点进行聚类得到第二点云。
该第二点云为对该第一点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云。可选的,该第二点云为对第一点云中的点进行聚类得到的多个点云中包括的点的个数最多的一个点云。自动驾驶装置可以采用任意聚类算法对第一点云中的点进行聚类。可选的,自动驾驶装置对第一点云中的点进行聚类的步骤如下:1)将第一点云中的各点垂直投影到车辆坐标系的xy平面(即不考虑z轴或将z轴分量设为0),确定聚类参数(例如最小点数和邻域),执行聚类操作,得到点数最多的一个点云。例如,采用基于密度的聚类算法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)对第一点云中的各点垂直投影到车辆坐标系的xy平面的点进行聚类,得到包括点的个数最多的第二点云。例如自动驾驶装置采用DBSCAN聚类算法对第一点云进行聚类的步骤为:
(1)、根据第一点云距自动驾驶装置的平均距离设定聚类参数,即最小点数(MinPts)和邻域(eps)。
根据多次试验的结果,可以按照表1设置初始的聚类参数。表1中的平均距离是指第一点云中的各点到自动驾驶装置的平均距离。
表1
平均距离 | 最小点数(MinPts) | 邻域(eps) |
<10m | 50 | 0.9 |
10m-25m | 20 | 1.5 |
>25m | 5 | 2.0 |
(2)、采用上述聚类参数对第一点云中的各点垂直投影到车辆坐标系的xy平面的点进行聚类得到包括点的个数最多的第二点云。
(3)、判断第二点云是否为目标点云。若是,输出该第二点云;若否,提取第一点云中除该第二点云之外的点云以得到第三点云,根据该第三点云确定聚类参数,再次聚类,如此反复,直至结束。
405、自动驾驶装置判断第二点云是否为目标点云。
若否,执行407;若是,执行406。后续会详述如何判断第二点云是否为目标点云,这里先不作详述。
406、自动驾驶装置根据第二点云,定位目标物体的位置。
可选的,采用矩阵分解的方法处理第二点云以拟合出车辆的L形长短边,依此给出车辆位置和朝向。该方法的原理是:默认每个车辆的俯视投影都是接近矩形,并且激光可以打到车辆的两个垂直边,对两个边的投影到俯视图的点拟合出L形,根据拐点和先验知识定位车辆。可选的,定位目标物体的位置的过程可以如下:首先根据第二点云中各点的坐标计算出聚类出的点云质心(即各坐标轴取均值),该点云质心的位置即可作为障碍物在车辆坐标系的位置,由此可计算出点云质心在各坐标轴方向上与车辆坐标系原点(即自动驾驶装置的位置)的距离。自动驾驶装置还可以采用其他方式根据第二点云,定位行人、自行车以及其他障碍物的位置,本申请不作限定。步骤401至步骤406描述的是如何定位目标物体的位置的过程,自行驾驶装置在实际应用中可以采用类似的方式定位检测原始图像得到的多个物体的位置,从而确定周围环境中各物体的位置。
407、自动驾驶装置判断是否达到停止循环条件。
若是,执行4010;若否,执行408。停止循环条件可以是执行聚类操作的次数大于第一阈值,也可以是第三点云中的点的个数小于第二阈值。该第三点云为原始点云中除第二点云之外的点云。聚类操作的次数为自动驾驶装置执行步骤304的次数,自动驾驶装置每次执行步骤404时对不同的点云进行聚类。第一阈值可以是3、4、5、10等。第二阈值可以是10、20、30、50等。
408、自动驾驶装置获取原始点云中除第二点云之外的点以得到第三点云。
自动驾驶装置执行步骤408之后,执行步骤404。图4采用的是多次聚类的方法,具体示例如下:1)将第一点云垂直投影到车辆坐标系的xy平面(即不考虑z轴或将z轴分量设为0),确定聚类参数,执行聚类操作,得到点数最多的第二点云;2)判断聚类得到的第二点云是否为目标点云;若是,则输出聚类得到的该第二点云,若否,则去除该第一点云中的第二点云以得到第三点云,调整聚类参数,再次执行聚类操作,如此反复,直到得到目标点云或达到循环结束条件。
409、自动驾驶装置根据目标物体的位置,执行相应的驾驶策略。
可选的,自动驾驶装置根据其周围环境中各物体的位置,执行相应的驾驶策略。
410、自动驾驶装置停止本次流程的聚类操作。
可选的,自动驾驶装置的障碍物避免系统144使用激光雷达获取的点云以及相机获取的周围环境的图像,定位目标物体的位置。自动驾驶装置的路线控制系统142根据目标物体的位置,确定自动驾驶装置100的行驶路线(即驾驶策略)。
本申请实施例中,采用多次聚类的方法可以准确地提取出反射点较少的目标物体的点云,从而有效克服一次聚类不能准确地找到属于障碍物的点云的问题。
自动驾驶装置在执行步骤401之前,可以执行如下操作:自动驾驶装置接收自动驾驶任务。自动驾驶装置可以通过外围设备108接收用户输入的自动驾驶任务。举例来说,自动驾驶装置接收用户通过车载电脑148输入的自动驾驶任务。用户可以通过车载电脑148的触摸屏输入自动驾驶任务,即输入驾驶任务的起始地点和目标地点(目的地)。又举例来说,自动驾驶装置通过麦克风150接收用户输入的语音命令,该语音命令指示自动驾驶装置处理某个自动驾驶任务。又举例来说,自动驾驶装置通过收发器接收来自用户终端(手机)发送的自动驾驶任务。自动驾驶装置还可以通过其他方式接收自动驾驶任务,本申请实施例不做限定。
前述实施例未详述如何根据原始图像中的目标边界,提取原始点云中的第一点云的方式。自动驾驶转置可以采用如下两种方式根据原始图像中的目标边界,提取原始点云中的第一点云。
方式一、自动驾驶装置将原始点云投影到图像坐标系,从该原始点云中提取第一点云;该第一点云投影至图像坐标系的点均属于目标边界包括的点。也就是说,若某个点投影至图像坐标系的点位于目标边界内,则该点属于第一点云。自动驾驶装置可以采用如下方式将原始点云投影到图像坐标系:根据标定的旋转平移矩阵,将原始点云从激光雷达坐标系转换到摄像机坐标系,再通过透视投影得到各点对应的图像坐标。透视投影是用中心投影法将形体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图。
点云投影过程为:已知原始点云从激光雷达坐标系到摄像机坐标系的旋转矩阵为R,平移向量为t,像平面到摄像机原点的距离为f,设原始点云在激光雷达坐标系的坐标为(x,y,z),对应的像素坐标为(u0,v0),则有如下等式关系:
其中,Zc为摄像机坐标Z轴单位向量,dx,dy为每个像素在摄像机坐标系下的大小,u0和v0为图像平面中心。像平面是指原始图像所处的平面。旋转矩阵R和平移向量t都是已知的,与相机的参数相关。
方式二、自动驾驶装置根据目标边界生成目标视锥,提取原始点云中处于该目标视锥内的点以得到第一点云;该目标边界为一个矩形框。
根据目标边界,从原始点云中提取第一点云的原理如下:在相机坐标系下,分别连接坐标原点和目标边界的四个顶点,形成一个视锥,落在视锥内的所有激光点即为需提取的第一点云。判断视锥内的第一点云的过程如下:1、根据坐标原点和目标边界的每一条边上的两个顶点,分别计算出视锥的四个侧面,其中,像平面到相机坐标系原点的距离已知;2、分别比较待判断点与四个侧面的位置,若在该点在四个侧面包络内部则为所需点,否则舍弃。
自动驾驶装置还可以采用其他方式根据原始图像中的目标边界,提取原始点云中的第一点云,本申请不作限定。第一点云即为待进行聚类处理的点云。
下面介绍如何判断第二点云是否为目标点云的方法,即描述步骤405的具体实现方式。
自动驾驶装置判断第二点云是否为目标点云可以是判断第二点云是否满足目标条件;若该第二点云满足该目标条件,则该第二点云为目标点云,否则,该第二点云不为目标点云。该第二点云满足该目标条件可以是:该第二点云垂直投影得到的多个点中任意点间的欧氏距离或一范数小于第三阈值,以及该第二点云中最高点和最低点之间的高度差小于第四阈值。由于对于行人和自行车等障碍物来说干扰物体一般为身后的汽车、墙壁及电线杆等物体,故判断该第二点云是否满足该目标条件可以如下:
1)对第二点云中的各点垂直投影得到的鸟瞰图上的任意两点计算欧式距离,若任意两点间的欧式距离不小于第三阈值(例如2米),则认为该第二点云不满足目标条件;
2)计算第二点云中最高点与最低点的z轴分量的差值,若该差值不小于第四阈值(例如2.5米)则认为该第二点云不满足目标条件。
为减少噪声点的影响,1)可以替换为:对第二点云中的各点垂直投影得到的鸟瞰图上的任意两点计算欧式距离,若超过M组点之间的欧式距离不小于第三阈值,则该第二点云不满足目标条件。M为大于1的整数,可以是3、4、6、10等。该M组点中任一组点为该第二点云中的点垂直投影得到的点,任一点组包括两个点。同样地,为减少噪点的影响,2)可以替换为:计算第二点云中最高的多个点与最低点的至少一个点之间的差值以得到多个高度值,若该多个高度值中超过N个不小于第四阈值,则该第二点云不满足目标条件。N为大于1的整数,可以是3、4、6、10等。为加速计算,可以将1)中两点间的欧式距离改为一范数,并对应改变阈值。自动驾驶装置还可以采用其他方式来判断第二点云是否属于干扰物体的点云,本申请不作限定。也就是说,自动驾驶装置可以采用任意方式判断通过聚类操作得到的点云是否属于干扰物体的点云。应理解,自动驾驶装置执行步骤305就是判断执行步骤304聚类得到点云是否属于干扰物体的点云。
图4的方法中自动驾驶装置需要自身定位障碍物的位置,并执行相应的驾驶策略,下面介绍一种自动驾驶装置不需要自身定位障碍物的位置的自动驾驶方法。图5为本申请实施例提供的另一种自动驾驶方法,如图5所示,该方法可包括:
501、自动驾驶装置接收自动驾驶任务。
自动驾驶装置可以通过外围设备108接收用户输入的自动驾驶任务。举例来说,自动驾驶装置接收用户通过车载电脑148输入的自动驾驶任务。用户可以通过车载电脑148的触摸屏输入自动驾驶任务,即输入驾驶任务的起始地点和目标地点(目的地)。又举例来说,自动驾驶装置通过麦克风150接收用户输入的语音命令,该语音命令指示自动驾驶装置处理某个自动驾驶任务。又举例来说,自动驾驶装置通过收发器接收来自用户终端(手机)发送的自动驾驶任务。自动驾驶装置还可以通过其他方式接收自动驾驶任务,本申请实施例不做限定。
502、自动驾驶装置通过收发器向云服务器发送驾驶信息。
该驾驶信息可以包括该自动驾驶装置的标识、自动驾驶任务以及与确定该自动驾驶装置的行驶状态或周围环境相关的传感器数据,例如点云和图像。如图6所示,自动驾驶装置和云服务器可经由网络进行交互。网络可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP以及前述的各种组合。可选的,自动驾驶装置可以实时或者按照预设间隔向云服务器发送当前的驾驶信息。
503、云服务器根据该驾驶信息定位自动驾驶装置周围环境中障碍物的位置。
可选的,云服务器执行步骤401至步骤406类似的步骤来定位自动驾驶装置周围环境中障碍物的位置。也就是说,云服务器根据自动驾驶装置获取的点云和图像数据,采用多次聚类的方法提取出各障碍物的点云(即表征每个障碍物的表面特性的点云),并根据各障碍物的点云定位各障碍物的位置。应理解,图4中自动驾驶装置执行的定位目标物体的位置的操作可由云服务器来实现。由于云服务器具备比自动驾驶装置更强的处理能力,可以更准确地定位目标物体的位置。另外,自动驾驶装置实现定位障碍物的功能需要安装相应的软件,云服务器可以控制多个自动驾驶装置,不需要每个自动驾驶装置来定位障碍物的位置,可以大大降低成本。
504、云服务器根据自动驾驶装置周围环境中障碍物的位置,确定该自动驾驶装置所需执行的目标驾驶操作。
云服务器根据自动驾驶装置周围环境中障碍物的位置、该自动驾驶装置的速度、加速度以及其他信息,确定该自动驾驶装置所需执行的目标驾驶操作。
505、云服务器向自动驾驶装置发送控制指令。
该控制指令用于指示该自动驾驶装置执行该目标驾驶操作(对应于图4中的驾驶策略)。
506、自动驾驶装置执行该目标驾驶操作。
自动驾驶装置仅需将自动驾驶任务和传感器采集的数据发送给云服务器,以及按照云服务器发送的控制指令执行相应的驾驶操作。
本申请实施例中,云服务器具备自动驾驶装置无法比拟的处理能力以及数据存储能力,云服务器可以充分利用自身的处理资源和存储资源来为每个自动驾驶装置提供自动驾驶服务。另外,自动驾驶装置不需要自身来确定所需执行的驾驶操作,工作量较少。
图6示出了自动驾驶装置和云服务器的架构示意图。云服务器可以经诸如无线通信网络的网络从其操作环境内的自动驾驶装置接收信息(诸如车辆传感器收集到数据或者其它信息)。云服务器接收的信息可以为自动驾驶装置采集的图像和点云以及驾驶任务等。
云服务器根据接收到的数据,运行其存储的自动驾驶相关的程序对自动驾驶装置进行控制。自动驾驶相关的程序可以为管理自动驾驶装置和路上障碍物交互的程序,控制自动驾驶装置路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。
在一些示例中,云服务器可以向自动驾驶装置发送对于关于环境内可能的驾驶情况所建议的解决方案(如,告知前方障碍物,并告知如何绕开它))。例如,云服务器可以辅助车辆确定当面对环境内的特定障碍时如何行进。云服务器向自动驾驶装置发送指示该自动驾驶装置应当在给定场景中如何行进的响应。例如,云服务器基于收集到的传感器数据(图像和点云),可以确认道路前方具有临时停车标志的存在,并还该车道上基于“车道封闭”标志和施工车辆的传感器数据,确定该车道由于施上而被封闭。相应地,云服务器发送用于自动驾驶装置通过障碍的建议操作模式(例如:指示车辆变道另一条道路上)。云服务器观察其操作环境内的视频流并且已确认自动驾驶装置能安全并成功地穿过障碍时,对该自动驾驶装置所使用操作步骤可以被添加到驾驶信息地图中。相应地,这一信息可以发送到该区域内可能遇到相同障碍的其它自动驾驶装置,以便辅助其它自动驾驶装置不仅识别出封闭的车道还知道如何通过。
下面结合定位装置的结构来描述如何定位目标物体的位置的过程。图7为本申请实施例提供的一种定位装置的结构示意图,如图7所示,该定位装置包括:
聚类单元701,用于采用多次聚类对第一点云中的点进行聚类以得到目标点云;该目标点云为表征目标物体的特性的点云,该第一点云包括该目标点云以及表征干扰物体的特性的点云;
定位单元702,用于根据该目标点云,确定该目标物体的位置。
聚类单元701以及定位单元702的功能均由图1中的计算机视觉系统140来实现。该定位装置可以是自动驾驶装置,也可以是服务器,还可以是其他设备。
在具体实现过程中,聚类单元701具体用于执行步骤301中所提到的方法以及可以等同替换的方法;定位单元702具体用于执行步骤406中所提到的方法以及可以等同替换的方法。
在一个可选的实现方式中,如图7所示,定位装置还包括:第一提取单元703,用于提取该第一点云中除该第二点云之外的点以得到该第三点云;
聚类单元701,具体用于对该第三点云中的点进行聚类以得到第四点云,该第四点云为对该第三点云中的点进行聚类得到的多个点云中属于该目标点云的概率最高的点云;在该第四点云不为该目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值的情况下,对该第五点云中的点进行至少一次聚类以得到该目标点云;该第五点云为该第三点云中除该第四点云之外的点云。
在该实现方式中,在第五点云满足聚类的最低要求时,对该第五点云进行聚类以提取出目标点云,可以减少不必要的操作。
在一个可选的实现方式中,如图7所示,定位装置还包括:第二提取单元704,用于从原始点云中提取第一点云;该原始点云中的每个点在原始图像均对应一个像素点,该第一点云中各点在该原始图像对应的像素点均位于该原始图像的目标边界内,该原始点云中除该第一点云之外的点在该原始图像对应的像素点均不位于该目标边界内;该目标边界内包括该目标物体的图像。第二提取单元704和第一提取单元703可以是同一个单元,也可以两个独立的单元。
在该实现方式中,利用原始图像中的目标边界,可以准确地提取出目标物体对应的点云,实现简单。
下面结合自动驾驶装置的结构来描述自动驾驶装置如何实现自动驾驶。图8为本申请实施例提供的一种自动驾驶装置的结构示意图,如图8所示,该自动驾驶装置包括:
相机801,用于获取原始图像;
激光雷达802,用于获取原始点云;
提取单元803,用于提取该原始点云中的第一点云;该原始点云中的每个点在原始图像均对应一个像素点,该第一点云中各点在该原始图像对应的像素点均位于该原始图像的目标边界内,该原始点云中除该第一点云之外的点在该原始图像对应的像素点均不位于该目标边界内;该目标边界内包括该目标物体的图像;该第一点云包括表征该目标物体的特性的目标点云以及表征干扰物体的特性的点云;
聚类单元804,用于对该第一点云中的点进行聚类得到该目标点云;
定位单元805,用于根据该目标点云,确定该目标物体的位置。
激光雷达802即为图1中的雷达126;相机801即为图1中的相机130;提取单元803、聚类单元804以及定位单元805的功能均由图1中的计算机视觉系统140来实现。也就是说,计算机视觉系统140包括提取单元803、聚类单元804以及定位单元805。
在具体实现过程中,提取单元803具体用于执行步骤403中所提到的方法以及可以等同替换的方法;聚类单元804具体用于执行步骤404中所提到的方法以及可以等同替换的方法;定位单元805具体用于执行步骤406中所提到的方法以及可以等同替换的方法。
在一个可选的实现方式中,如图9所示,自动驾驶装置还包括:
时间对齐单元901,用于从历史图像序列中获取时间戳与原始点云的时间戳最接近的原始图像;
检测单元902,用于对原始图像进行目标检测以得到目标边界;
坐标转换单元903,用于将原始点云从车辆坐标系转换至图像坐标系;
提取单元803,具体用于将原始点云中的目标点提取出来以得到第一点云,该目标点投影至图像坐标系的点位于目标边界内,或者,具体用于根据目标边界生成目标视锥,并从原始点云中处理该目标视锥内的点以得到第一点云。
时间对齐单元901、检测单元902以及坐标转换单元903的功能均由图1中的计算机视觉系统140来实现。在具体实现过程中,时间对齐单元901具体用于执行步骤401中所提到的方法以及可以等同替换的方法;检测单元902具体用于执行步骤402中所提到的方法以及可以等同替换的方法。在实际应用中,相机801实时或接近实时地将获取的图像数据提供给时间对齐单元901,激光雷达802实时或接近实时地将获取的点云提供给时间对齐单元901,时间对齐单元901根据最近得到的点云(即原始点云)的时间戳获取历史图像序列中的原始图像。提取单元803、聚类单元804、定位单元805、时间对齐单元901、检测单元902、坐标转换单元903的功能可以均由处理器113实现。
应理解以上定位装置以及自动驾驶装置中的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成在终端的某一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如中央处理器(英文:central processing unit,简称:CPU),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(英文:application-specific integrated circuit,简称:ASIC),或,一个或多个微处理器(英文:digital signal processor,简称:DSP),或,一个或者多个现场可编程门阵列(英文:field-programmable gate array,简称:FPGA)等。
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图10示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,该示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品1000是使用信号承载介质1001来提供的。该信号承载介质1001可以包括一个或多个程序指令1002,其当被一个或多个处理器运行时可以提供以上针对图8-图9描述的功能或者部分功能。因此,例如,参考图8中所示的实施例,方框801-805的一个或多个的功能的实现可以由与信号承载介质1001相关联的一个或多个指令来承担。此外,图10中的程序指令1002也描述示例指令。上述程序指令1002被处理器执行时实现:采用多次聚类对第一点云中的点进行聚类以得到目标点云;该目标点云为表征目标物体的特性的点云,该第一点云包括该目标点云以及表征干扰物体的特性的点云;根据该目标点云,确定该目标物体的位置。
在一些示例中,信号承载介质1001可以包含计算机可读介质1003,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等等。在一些实施方式中,信号承载介质1001可以包含计算机可记录介质1004,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1001可以包含通信介质1005,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1001可以由无线形式的通信介质1005(例如,遵守IEEE802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令1002可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图1描述的处理器可以被配置为,响应于通过计算机可读介质1003、计算机可记录介质1004、和/或通信介质1005中的一个或多个传达到处理器的程序指令1002,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种定位方法,其特征在于,包括:
采用多次聚类对第一点云中的点进行聚类以得到目标点云;所述目标点云为表征目标物体的特性的点云,所述第一点云包括所述目标点云以及表征干扰物体的特性的点云;
根据所述目标点云,确定所述目标物体的位置;
其中,所述采用多次聚类对第一点云中的点进行聚类以得到目标点云包括:
对所述第一点云中的点进行聚类得到第二点云,所述第二点云为对所述第一点云中的点进行聚类得到的多个点云中属于所述目标点云的概率最高的点云;
在所述第二点云不为所述目标点云的情况下,对第三点云中的点进行至少一次聚类以得到所述目标点云;所述第三点云为所述第一点云中除所述第二点云之外的点云。
2.根据权利要求1所述的方法,其特征在于,所述对第三点云中的点进行至少一次聚类以得到所述目标点云包括:
对所述第三点云中的点进行聚类以得到第四点云,所述第四点云为对所述第三点云中的点进行聚类得到的多个点云中属于所述目标点云的概率最高的点云;
在所述第四点云不为所述目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值的情况下,对所述第五点云中的点进行至少一次聚类以得到所述目标点云;所述第五点云为所述第三点云中除所述第四点云之外的点云。
3.根据权利要求1所述的方法,其特征在于,所述对第三点云中的点进行至少一次聚类以得到所述目标点云之前,所述方法还包括:
提取所述第一点云中除所述第二点云之外的点以得到所述第三点云。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述对所述第一点云中的点进行聚类得到第二点云包括:
根据所述第一点云的分布情况,确定聚类参数;
使用所述聚类参数对所述第一点云中的点进行聚类,得到所述第二点云。
5.根据权利要求4所述的方法,其特征在于,所述聚类参数为邻域、最小点数中的至少一项。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述采用多次聚类对第一点云中的点进行聚类以得到目标点云之前,所述方法还包括:
从原始点云中提取第一点云;所述原始点云中的每个点在原始图像均对应一个像素点,所述第一点云中各点在所述原始图像对应的像素点均位于所述原始图像的目标边界内,所述原始点云中除所述第一点云之外的点在所述原始图像对应的像素点均不位于所述目标边界内;所述目标边界内包括所述目标物体的图像。
7.根据权利要求6所述的方法,其特征在于,所述从原始点云中提取第一点云包括:
确定所述原始图像中的所述目标边界;
根据所述目标边界,提取所述原始点云中的所述第一点云。
8.一种定位装置,其特征在于,包括:
聚类单元,用于采用多次聚类对第一点云中的点进行聚类以得到目标点云;所述目标点云为表征目标物体的特性的点云,所述第一点云包括所述目标点云以及表征干扰物体的特性的点云;
定位单元,用于根据所述目标点云,确定所述目标物体的位置;
其中,所述聚类单元,具体用于对所述第一点云中的点进行聚类得到第二点云,所述第二点云为对所述第一点云中的点进行聚类得到的多个点云中属于所述目标点云的概率最高的点云;在所述第二点云不为所述目标点云的情况下,对第三点云中的点进行至少一次聚类以得到所述目标点云;所述第三点云为所述第一点云中除所述第二点云之外的点云。
9.根据权利要求8所述的定位装置,其特征在于,
所述聚类单元,具体用于对所述第三点云中的点进行聚类以得到第四点云,所述第四点云为对所述第三点云中的点进行聚类得到的多个点云中属于所述目标点云的概率最高的点云;在所述第四点云不为所述目标点云,且执行聚类操作的次数小于第一阈值,且第五点云中的点的个数不小于第二阈值的情况下,对所述第五点云中的点进行至少一次聚类以得到所述目标点云;所述第五点云为所述第三点云中除所述第四点云之外的点云。
10.根据权利要求8所述的定位装置,其特征在于,所述装置还包括:
第一提取单元,用于提取所述第一点云中除所述第二点云之外的点以得到所述第三点云。
11.根据权利要求8至10任一项所述的定位装置,其特征在于,
所述聚类单元,具体用于根据所述第一点云的分布情况,确定聚类参数;使用所述聚类参数对所述第一点云中的点进行聚类,得到所述第二点云。
12.根据权利要求11所述的定位装置,其特征在于,所述聚类参数为邻域、最小点数中的至少一项。
13.根据权利要求8至10任一项所述的定位装置,其特征在于,所述装置还包括:
第二提取单元,用于从原始点云中提取第一点云;所述原始点云中的每个点在原始图像均对应一个像素点,所述第一点云中各点在所述原始图像对应的像素点均位于所述原始图像的目标边界内,所述原始点云中除所述第一点云之外的点在所述原始图像对应的像素点均不位于所述目标边界内;所述目标边界内包括所述目标物体的图像。
14.根据权利要求13所述的定位装置,其特征在于,
所述第二提取单元,具体用于确定所述原始图像中的所述目标边界;根据所述目标边界,提取所述原始点云中的所述第一点云。
15.一种定位装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1-7中任一所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/081338 WO2020199173A1 (zh) | 2019-04-03 | 2019-04-03 | 定位方法和定位装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112543877A CN112543877A (zh) | 2021-03-23 |
CN112543877B true CN112543877B (zh) | 2022-01-11 |
Family
ID=72664780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980052579.7A Active CN112543877B (zh) | 2019-04-03 | 2019-04-03 | 定位方法和定位装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220019845A1 (zh) |
EP (1) | EP3933439A4 (zh) |
CN (1) | CN112543877B (zh) |
WO (1) | WO2020199173A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220010929A (ko) * | 2020-07-20 | 2022-01-27 | 현대자동차주식회사 | 이종 센서 융합 장치 및 그의 이종 센서 융합 방법 |
CN112327842B (zh) * | 2020-10-29 | 2022-06-03 | 深圳市普渡科技有限公司 | 机器人定位充电桩的方法及系统 |
CN113778078A (zh) * | 2021-03-05 | 2021-12-10 | 北京京东乾石科技有限公司 | 定位信息生成方法、装置、电子设备和计算机可读介质 |
CN113344029B (zh) * | 2021-05-10 | 2024-04-05 | 深圳瀚维智能医疗科技有限公司 | 人体点云提取方法、电子装置和可读存储介质 |
CN113253735B (zh) * | 2021-06-15 | 2021-10-08 | 同方威视技术股份有限公司 | 跟随目标的方法、装置、机器人及计算机可读存储介质 |
CN115019276B (zh) * | 2022-06-30 | 2023-10-27 | 南京慧尔视智能科技有限公司 | 一种目标检测方法、系统及相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107064955A (zh) * | 2017-04-19 | 2017-08-18 | 北京汽车集团有限公司 | 障碍物聚类方法及装置 |
CN107590836A (zh) * | 2017-09-14 | 2018-01-16 | 斯坦德机器人(深圳)有限公司 | 一种基于Kinect的充电桩动态识别与定位方法及系统 |
CN107610176A (zh) * | 2017-09-15 | 2018-01-19 | 斯坦德机器人(深圳)有限公司 | 一种基于Kinect的栈板动态识别与定位方法、系统及介质 |
CN108345007A (zh) * | 2017-01-23 | 2018-07-31 | 郑州宇通客车股份有限公司 | 一种障碍物识别方法和装置 |
CN108345823A (zh) * | 2017-01-23 | 2018-07-31 | 郑州宇通客车股份有限公司 | 一种基于卡尔曼滤波的障碍物跟踪方法和装置 |
CN108460416A (zh) * | 2018-02-28 | 2018-08-28 | 武汉理工大学 | 一种基于三维激光雷达的结构化道路可行域提取方法 |
WO2018161278A1 (zh) * | 2017-03-08 | 2018-09-13 | 深圳市速腾聚创科技有限公司 | 无人驾驶汽车系统及其控制方法、汽车 |
CN108828621A (zh) * | 2018-04-20 | 2018-11-16 | 武汉理工大学 | 基于三维激光雷达的障碍检测和路面分割算法 |
CN108983248A (zh) * | 2018-06-26 | 2018-12-11 | 长安大学 | 一种基于3d激光雷达及v2x的网联车定位方法 |
CN109100741A (zh) * | 2018-06-11 | 2018-12-28 | 长安大学 | 一种基于3d激光雷达及图像数据的目标检测方法 |
CN109270543A (zh) * | 2018-09-20 | 2019-01-25 | 同济大学 | 一种对目标车辆周围车辆位置信息检测的系统和方法 |
CN109270544A (zh) * | 2018-09-20 | 2019-01-25 | 同济大学 | 基于杆状物识别的移动机器人自定位系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476803B1 (en) * | 2000-01-06 | 2002-11-05 | Microsoft Corporation | Object modeling system and process employing noise elimination and robust surface extraction techniques |
US20150088475A1 (en) * | 2013-09-26 | 2015-03-26 | The Aerospace Corporation | Space debris visualization, characterization and volume modeling |
US9659408B2 (en) * | 2013-11-27 | 2017-05-23 | Autodesk, Inc. | Mesh reconstruction from heterogeneous sources of data |
CN106407947B (zh) * | 2016-09-29 | 2019-10-22 | 百度在线网络技术(北京)有限公司 | 用于无人驾驶车辆的目标物体识别方法和装置 |
US10422639B2 (en) * | 2016-12-30 | 2019-09-24 | DeepMap Inc. | Enrichment of point cloud data for high-definition maps for autonomous vehicles |
CN206691107U (zh) * | 2017-03-08 | 2017-12-01 | 深圳市速腾聚创科技有限公司 | 无人驾驶汽车系统及汽车 |
CN109229109B (zh) * | 2017-07-04 | 2020-03-31 | 百度在线网络技术(北京)有限公司 | 判断车辆行驶方向的方法、装置、设备和计算机存储介质 |
CN109901567B (zh) * | 2017-12-08 | 2020-06-23 | 百度在线网络技术(北京)有限公司 | 用于输出障碍物信息的方法和装置 |
WO2019113749A1 (en) * | 2017-12-11 | 2019-06-20 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for identifying and positioning objects around a vehicle |
CN109064506B (zh) * | 2018-07-04 | 2020-03-13 | 百度在线网络技术(北京)有限公司 | 高精度地图生成方法、装置及存储介质 |
US10783698B2 (en) * | 2018-07-31 | 2020-09-22 | Intel Corporation | Point cloud operations |
CN110148144B (zh) * | 2018-08-27 | 2024-02-13 | 腾讯大地通途(北京)科技有限公司 | 点云数据的分割方法和装置、存储介质、电子装置 |
CN109059902B (zh) * | 2018-09-07 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 相对位姿确定方法、装置、设备和介质 |
US10776651B2 (en) * | 2019-01-18 | 2020-09-15 | Intelligrated Headquarters, Llc | Material handling method, apparatus, and system for identification of a region-of-interest |
-
2019
- 2019-04-03 EP EP19923505.2A patent/EP3933439A4/en active Pending
- 2019-04-03 CN CN201980052579.7A patent/CN112543877B/zh active Active
- 2019-04-03 WO PCT/CN2019/081338 patent/WO2020199173A1/zh unknown
-
2021
- 2021-09-29 US US17/489,085 patent/US20220019845A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345007A (zh) * | 2017-01-23 | 2018-07-31 | 郑州宇通客车股份有限公司 | 一种障碍物识别方法和装置 |
CN108345823A (zh) * | 2017-01-23 | 2018-07-31 | 郑州宇通客车股份有限公司 | 一种基于卡尔曼滤波的障碍物跟踪方法和装置 |
WO2018161278A1 (zh) * | 2017-03-08 | 2018-09-13 | 深圳市速腾聚创科技有限公司 | 无人驾驶汽车系统及其控制方法、汽车 |
CN107064955A (zh) * | 2017-04-19 | 2017-08-18 | 北京汽车集团有限公司 | 障碍物聚类方法及装置 |
CN107590836A (zh) * | 2017-09-14 | 2018-01-16 | 斯坦德机器人(深圳)有限公司 | 一种基于Kinect的充电桩动态识别与定位方法及系统 |
CN107610176A (zh) * | 2017-09-15 | 2018-01-19 | 斯坦德机器人(深圳)有限公司 | 一种基于Kinect的栈板动态识别与定位方法、系统及介质 |
CN108460416A (zh) * | 2018-02-28 | 2018-08-28 | 武汉理工大学 | 一种基于三维激光雷达的结构化道路可行域提取方法 |
CN108828621A (zh) * | 2018-04-20 | 2018-11-16 | 武汉理工大学 | 基于三维激光雷达的障碍检测和路面分割算法 |
CN109100741A (zh) * | 2018-06-11 | 2018-12-28 | 长安大学 | 一种基于3d激光雷达及图像数据的目标检测方法 |
CN108983248A (zh) * | 2018-06-26 | 2018-12-11 | 长安大学 | 一种基于3d激光雷达及v2x的网联车定位方法 |
CN109270543A (zh) * | 2018-09-20 | 2019-01-25 | 同济大学 | 一种对目标车辆周围车辆位置信息检测的系统和方法 |
CN109270544A (zh) * | 2018-09-20 | 2019-01-25 | 同济大学 | 基于杆状物识别的移动机器人自定位系统 |
Non-Patent Citations (1)
Title |
---|
基于多次灰色聚类的服务区定位方法及其应用;杨婷等;《交通科技与经济》;20150430;第17卷(第2期);第61-65页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3933439A4 (en) | 2022-03-30 |
EP3933439A1 (en) | 2022-01-05 |
US20220019845A1 (en) | 2022-01-20 |
WO2020199173A1 (zh) | 2020-10-08 |
CN112543877A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110550029B (zh) | 障碍物避让方法及装置 | |
CN109901574B (zh) | 自动驾驶方法及装置 | |
CN112543877B (zh) | 定位方法和定位装置 | |
CN114489044A (zh) | 一种轨迹规划方法及装置 | |
WO2021103511A1 (zh) | 一种设计运行区域odd判断方法、装置及相关设备 | |
WO2021212379A1 (zh) | 车道线检测方法及装置 | |
JP2023508114A (ja) | 自動運転方法、関連装置及びコンピュータ読み取り可能記憶媒体 | |
CN110789533B (zh) | 一种数据呈现的方法及终端设备 | |
CN112512887B (zh) | 一种行驶决策选择方法以及装置 | |
CN112672942B (zh) | 一种车辆换道方法及相关设备 | |
CN112534483B (zh) | 预测车辆驶出口的方法和装置 | |
CN113792566A (zh) | 一种激光点云的处理方法及相关设备 | |
US20230048680A1 (en) | Method and apparatus for passing through barrier gate crossbar by vehicle | |
CN112810603B (zh) | 定位方法和相关产品 | |
CN114056347A (zh) | 车辆运动状态识别方法及装置 | |
CN114693540A (zh) | 一种图像处理方法、装置以及智能汽车 | |
CN113885045A (zh) | 车道线的检测方法和装置 | |
CN116261649A (zh) | 一种车辆行驶意图预测方法、装置、终端及存储介质 | |
CN115398272A (zh) | 检测车辆可通行区域的方法及装置 | |
WO2022022284A1 (zh) | 目标物的感知方法及装置 | |
WO2021110166A1 (zh) | 道路结构检测方法及装置 | |
WO2021159397A1 (zh) | 车辆可行驶区域的检测方法以及检测装置 | |
CN115508841A (zh) | 一种路沿检测的方法和装置 | |
CN114556251B (zh) | 用于确定车辆可通行空间的方法和装置 | |
WO2022061725A1 (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 |