CN112419494B - 用于自动驾驶的障碍物检测、标记方法、设备及存储介质 - Google Patents
用于自动驾驶的障碍物检测、标记方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112419494B CN112419494B CN202011073283.4A CN202011073283A CN112419494B CN 112419494 B CN112419494 B CN 112419494B CN 202011073283 A CN202011073283 A CN 202011073283A CN 112419494 B CN112419494 B CN 112419494B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- obstacle
- image
- environment image
- pseudo
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- 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/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- 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
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Electromagnetism (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种用于自动驾驶的障碍物检测、标记方法、设备及存储介质,涉及自动驾驶领域。该方法包括:获取摄像机采集的环境图像,以及激光雷达采集的激光点云;通过对环境图像进行三维重建,构建环境图像对应的伪点云;对激光点云和伪点云进行点云融合,生成目标点云,目标点云的数据量不小于激光点云的数据量;将目标点云输入障碍物检测器,得到障碍物检测器输出的障碍物检测结果,障碍物检测器是基于点云编码的检测器。本申请实施例提出了一种通用的点云检测框架,使图像数据也能够应用于点云检测,有助于提高障碍物检测的准确性。
Description
技术领域
本申请实施例涉及自动驾驶领域,特别涉及一种用于自动驾驶的障碍物检测、标记方法、设备及存储介质。
背景技术
自动驾驶是一种通过计算机设备控制车辆在道路上实现自动行驶的技术,自动驾驶的实现依赖于人工智能、视觉计算、雷达以及定位组件的协同合作。
由于实际道路情况复杂,存在大量行人和车辆等障碍物,因此如何实现障碍物识别,进而规划出规避障碍物的行驶路线成为自动驾驶的关键。相关技术中,支持自动驾驶的车辆上通常设置有激光雷达(Light Detection And Ranging,LiDAR)或摄像机。其中,利用激光雷达实现障碍物检测时,激光雷达通过发射激光光束,并根据激光光束在物体表面形成的反射光束构建激光点云(Point Cloud),从而根据激光点云识别环境中的障碍物;利用摄像机实现障碍物检测时,摄像机通过采集环境图像,并通过图像识别技术识别环境图像中的障碍物。
然而,受限于激光雷达和摄像机的工作原理,利用激光雷达仅能够实现小范围的障碍物检测,而利用摄像机进行识别时障碍物距离的检测误差较大,影响障碍物检测的准确度。
发明内容
本申请实施例提供了一种用于自动驾驶的障碍物检测、标记方法、设备及存储介质,可以提高自动驾驶过程中障碍物检测的准确度。所述技术方案如下:
一方面,本申请实施例提供了一种用于自动驾驶的障碍物检测方法,所述方法包括:
获取摄像机采集的环境图像,以及激光雷达采集的激光点云;
通过对所述环境图像进行三维重建,构建所述环境图像对应的伪点云;
对所述激光点云和所述伪点云进行点云融合,生成目标点云,所述目标点云的数据量不小于所述激光点云的数据量;
将所述目标点云输入障碍物检测器,得到所述障碍物检测器输出的障碍物检测结果,所述障碍物检测器是基于点云编码的检测器。
另一方面,本申请实施例提供了一种用于自动驾驶的障碍物标记方法,所述方法包括:
根据用于自动驾驶的障碍物检测方法得到的所述障碍物检测结果,确定所述目标点云和/或所述环境图像中障碍物的障碍物位置;
根据所述障碍物位置,对所述目标点云和/或所述环境图像中的障碍物进行标记。
另一方面,本申请实施例提供了一种用于自动驾驶的障碍物检测装置,所述装置包括:
获取模块,用于获取摄像机采集的环境图像,以及激光雷达采集的激光点云;
伪点云构建模块,用于通过对所述环境图像进行三维重建,构建所述环境图像对应的伪点云;
点云融合模块,用于对所述激光点云和所述伪点云进行点云融合,生成目标点云,所述目标点云的数据量不小于所述激光点云的数据量;
检测模块,用于将所述目标点云输入障碍物检测器,得到所述障碍物检测器输出的障碍物检测结果,所述障碍物检测器是基于点云编码的检测器。
另一方面,本申请实施例提供了一种用于自动驾驶的障碍物标记装置,所述装置包括:
位置确定模块,用于根据用于自动驾驶的障碍物检测装置得到的所述障碍物检测结果,确定所述目标点云和/或所述环境图像中障碍物的障碍物位置;
标记模块,用于根据所述障碍物位置,对所述目标点云和/或所述环境图像中的障碍物进行标记。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的用于自动驾驶的障碍物检测方法,或,实现如上述方面所述的用于自动驾驶的障碍物标记方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的用于自动驾驶的障碍物检测方法,或,实现如上述方面所述的用于自动驾驶的障碍物标记方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的用于自动驾驶的障碍物检测方法,或,实现如上述方面所述的用于自动驾驶的障碍物标记方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提出了一种通用的点云检测框架,通过对摄像机采集到的环境图像进行三维重建,构建得到环境图像对应的伪点云,并将伪点云与激光雷达采集的激光点云进行点云融合,生成数据量更大的目标点云,使图像数据也能够应用于点云检测,一方面可以扩大障碍物检测的范围,另一方面可以降低障碍物距离的检测误差,因此后续利用障碍物检测器对目标点云进行障碍物检测时,有助于提高障碍物检测的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例示出的点云检测框架的示意图;
图2是本申请一个示例性实施例提供的实施环境的示意图;
图3示出了本申请一个示例性实施例提供的用于自动驾驶的障碍物检测方法的流程图;
图4是一个示例性实施例示出的点云图像以及环境图像中障碍物标记的示意图;
图5示出了本申请另一个示例性实施例提供的用于自动驾驶的障碍物检测方法的流程图;
图6是本申请另一个示例性实施例示出的点云检测框架的示意图;
图7示出了本申请另一个示例性实施例提供的用于自动驾驶的障碍物检测方法的流程图;
图8是基于双目图像估计像素点深度过程的实施示意图;
图9是本申请一个示例性实施例提供的伪点云的示意图;
图10是本申请一个示例性实施例示出的图像语义融合过程的实施示意图;
图11是本申请一个示例性实施例示出的点云检测过程的实施示意图;
图12是本申请一个示例性实施例提供的用于自动驾驶的障碍物检测装置的结构框图;
图13是本申请一个示例性实施例提供的用于自动驾驶的障碍物标记装置的结构框图;
图14示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例提供的障碍物检测方法,即人工智能技术中计算机视觉在自动驾驶领域的应用。
在自动驾驶领域,常见的障碍物检测包括点云检测和图像检测。其中,采用点云检测时,需要在自动驾驶载具上设置激光雷达,并通过激光雷达采集激光点云,从而利用基于点云编码的障碍物检测器对激光点云进行障碍物检测,识别出环境中的各类障碍物。而采用图像检测时,需要在自动驾驶载具上设置摄像机(比如单目摄像机或双目摄像机),并通过摄像机采集环境图像,从而利用图像识别技术,识别出环境图像中的障碍物。
并且,由于点云检测和图像检测所基于数据的类型不同(前者为点云数据,后者则为图像数据),因此点云检测和图像检测均使用各自独有的检测框架,两者之间无法进行有效融合。
本申请实施例提出了一种通用的点云检测框架,并基于该点云检测框架提出了一种用于自动驾驶的障碍物检测方法。如图1所示,该点云检测框架包括两路输入,分别为摄像机11采集的环境图像111(图像数据)以及激光雷达12采集的激光点云121(点云数据),且采用基于点云编码的障碍物检测器13进行障碍物检测。
为了使摄像机11采集到的环境图像111能够与激光点云121共同用于后续点云检测,点云检测框架首先对环境图像111进行三维重建,构建得到伪点云112。由于伪点云112经过重建得到,而并非真实点云数据,因此伪点云112中的点的距离存在偏差,为了降低距离偏差对后续点云检测造成的影响,点云检测框架对激光点云121和伪点云112进行点云融合,利用真实点云数据对重建点云数据进行修正,得到目标点云14。进一步的,点云检测框架将融合得到的目标点云14输入障碍物检测器13,由障碍物检测器13对目标点云14进行点云编码和障碍物检测,最终输出障碍物检测结果15。
采用本申请实施例提供的点云检测框架,实现了点云检测和图像检测的检测框架统一,使点云检测和图像检测能够进行互补,一方面扩大障碍物检测的范围(利用环境图像能够实现远距离检测的特点),另一方面可以降低障碍物距离的检测误差(利用激光点云实现精确的距离检测),进而提高了障碍物检测的准确度。
请参考图2,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括自动驾驶载具210和自动驾驶云平台220。
自动驾驶载具210是具有自动驾驶能力的载具,该载具可以是汽车、摩托车、电动车、轮船或飞行器等等,本申请实施例对此不作限定。
为了使自动驾驶载具210具备障碍物检测能力,在一些实施例中,自动驾驶载具210设置有激光雷达和摄像机中的至少一种,载具行进过程中,激光雷达和摄像机分别进行点云采集和图像采集。比如,当自动驾驶载具210为自动驾驶汽车时,自动驾驶汽车的车辆顶部设置有激光雷达和双目摄像机,车辆行驶过程中,即通过激光雷达进行激光点云采集,并通过双目摄像机采集双目图像。
在一种可能的实施方式中,障碍物检测可以由自动驾驶载具210在本地实现,即自动驾驶载具210利用自身的计算机设备,基于采集到的激光点云和环境图像进行障碍物检测,相应的,本申请实施例提供的通用点云检测框架即步数在自动驾驶载具210的计算机设备中。
比如,当自动驾驶载具210为自动驾驶汽车时,激光雷达和双目摄像机采集到的激光点云以及双目图像被传输至车机设备,由车机设备基于激光点云以及环境图像进行障碍物检测,进而规划出规避障碍物的行驶路线。
在另一种可能的实施方式中,如图2所示,自动驾驶载具210通过车联网(Internetof Vehicles)与自动驾驶云平台220相连,从而借助自动驾驶云平台220实现障碍物检测。
自动驾驶云平台220可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,自动驾驶载具210通过车联网(或者网络)将采集到的激光点云和环境图像传输至自动驾驶云平台220,由自动驾驶云平台220基于激光点云和环境图像进行障碍物检测,并通过车联网(或者网络)将障碍物检测结果回传给自动驾驶载具210,相应的,本申请实施例提供的通用点云检测框架即步数在自动驾驶云平台220中。
比如,当自动驾驶载具210为自动驾驶汽车时,车机设备通过车联网将激光点云以及双目图像传输至自动驾驶云平台220。自动驾驶云平台220基于激光点云以及双目图像进行障碍物检测,并通过车联网将障碍物检测结果回传至车机设备,由车机设备根据障碍物检测结果规划出规避障碍物的行驶路线。
当然,在其他可能的实施方式中,也可以通过自动驾驶载具210的计算机设备对点云数据和图像数据进行初步处理后,进一步由自动驾驶云平台220基于处理后的数据进行障碍物检测,本实施例对此并不进行限定。
为了方便表述,下面各个实施例以障碍物检测方法用于计算机设备,且应用于车辆自动驾驶场景为例进行说明,但并不对此构成限定。
请参考图3,其示出了本申请一个示例性实施例提供的用于自动驾驶的障碍物检测方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤301,获取摄像机采集的环境图像,以及激光雷达采集的激光点云。
可选的,当摄像机为单目摄像机时,该环境图像为单目图像,当摄像机为双目相机时,该环境图像为双目图像(包括左眼环境图像和右眼环境图像)。
可选的,激光点云为稀疏点云,且激光点云中点的点数据采用四元组(x,y,z,r)表示,其中,(x,y,z)为反射点(激光雷达发射的激光在物体表面形成反射的点)的空间坐标,r为反射点对应的反射强度。
在一种可能的实施方式中,为了提高后续点云融合的准确性,计算机设备根据环境图像以及激光点云的采集时间戳,获取同一时刻下采集的环境图像以及激光点云。
步骤302,通过对环境图像进行三维重建,构建环境图像对应的伪点云。
由于前端输入的环境图像为图像数据,而后端进行障碍物检测时需要的数据为点云数据,因此计算机设备首先需要将环境数据转化为点云数据。
在一种可能的实施方式中,计算机设备通过立体视觉(stereoscopic vision)技术对环境图像进行三维重建,构建得到真实环境的伪点云(pseudo point cloud)。需要说明的是,由于伪点云中点的点数据并非实际测量得到,而是通过重建得到,因此伪点云的准确率低于真实点云。
基于环境图像进行伪点云构建时,由于是将环境图像中各个像素点投射到三维空间,因此伪点云中点的数量庞大(稠密点云),为了降低后续点云融合以及点云检测时的计算量,在一种可能的实施方式中,计算机设备首先对环境图像中进行下采样,然后对下采样后的环境图像进行三维重建,进而构建得到伪点云,或者,计算机设备对构建得到的伪点云进行降采样(downsample)。
步骤303,对激光点云和伪点云进行点云融合,生成目标点云,目标点云的数据量不小于激光点云的数据量。
经过上述步骤,摄像机输入的图像数据被转化为点云数据,符合通用点云检测框架中障碍物检测器的输入要求。
进一步的,计算机设备对激光点云和伪点云进行点云融合。点云融合过程中,真实点云(即激光点云)可以对伪点云进行修正,而修正后的伪点云又可以增稠真实点云(即融合得到的目标点云的数据量不小于激光点云的数据量),以此提高后续点云检测的准确度。
步骤304,将目标点云输入障碍物检测器,得到障碍物检测器输出的障碍物检测结果,障碍物检测器是基于点云编码的检测器。
完成点云融合后,计算机设备将目标点云输入后端的障碍物检测器,由障碍物检测器对目标点云进行点云编码,进而通过点云障碍物检测算法对编码后的点云进行障碍物检测,输出障碍物检测结果。
可选的,障碍物检测器所采用的点云障碍物检测算法包括如下至少一种:PointPillars、Second(Sparsely embedded convolutional detection)、Point-RCNN、PIXOR、PV-RCNN。本申请实施例并不对采用的具体算法进行限定。
可选的,该障碍物检测结果中包括障碍物类型、障碍物位置和障碍物尺寸中的至少一种。进一步的,基于连续的障碍物检测结果,计算机设备还可以确定障碍物的移动速度,本实施例对此不作限定。
示意性的,当应用于车辆自动驾驶场景时,该障碍物检测结果中的障碍物类型包括行人、车辆和路障中的至少一种。
相较于单纯基于环境图像进行障碍物检测,本申请实施例中将环境图像转化为伪点云,能够降低图像中物体间相互遮挡对检测性能造成的影响,并提高障碍物距离识别的准确度;相较于单纯基于激光点云进行障碍物检测,本申请实施例中利用伪点云对激光点云进行增稠,能够提高后端点云检测的检测精度,扩大点云检测的检测范围(因为伪点云中点的范围大于激光点云中点的范围)。
综上所述,本申请实施例提出了一种通用的点云检测框架,通过对摄像机采集到的环境图像进行三维重建,构建得到环境图像对应的伪点云,并将伪点云与激光雷达采集的激光点云进行点云融合,生成数据量更大的目标点云,使图像数据也能够应用于点云检测,一方面可以扩大障碍物检测的范围,另一方面可以降低障碍物距离的检测误差,因此后续利用障碍物检测器对目标点云进行障碍物检测时,有助于提高障碍物检测的准确性。
在一种可能的实施方式中,为了使自动驾驶载具的乘坐者能够直观查看到计算机设备识别出的障碍物,本申请实施例还提供了一种用于自动驾驶的障碍物标记方法,该方法中,计算机设备得到障碍物检测器输出的障碍物检测结果后,根据障碍物检测结果确定目标点云和/或环境图像中障碍物的障碍物位置,从而根据障碍物位置,对目标点云和/或环境图像中的障碍物进行标记。
在一些实施例中,计算机设备根据障碍物检测结果进行障碍物位置回归(比如边框回归),得到目标点云和/或环境图像中障碍物的障碍物位置,进而根据障碍物位置,对目标点云和/或环境图像中的障碍物进行标记。
可选的,计算机设备根据障碍物位置,使用3D外接框(3D bounding box)对点云图像和/或环境图像中的障碍物进行标记显示。
示意性的,如图4所示,计算机设备在环境图像41中车辆的周侧显示第一外接框411,在点云图像42中车辆的周侧显示第二外接框421。
在一种可能的应用场景下,上述障碍物检测以及标记方法均由自动驾驶载具执行,也可以由自动驾驶云平台执行上述障碍物检测方法,并由自动驾驶云平台将障碍物检测结果反馈至自动驾驶载具,由自动驾驶载具根据障碍物检测结果执行上述障碍物标记方法,本实施例对此不做限定。
在一些可能的应用场景下,通用点云检测框架的两路输入中,某一路输入可能因异常而无法使用,这种情况下,计算机设备可以仅根据仅基于一路输入进行障碍物检测。在一种可能的实施方式中,在图3的基础上,如图5所示,步骤301之后可以包括步骤305,步骤302之后可以包括306。
步骤305,响应于环境图像无效,且激光点云有效,将激光点云输入障碍物检测器,得到障碍物检测器输出的障碍物检测结果。
可选的,当环境图像无效(比如夜间或图像传感器存在异常)而激光点云有效时,由于通用点云检测框架是利用点云数据进行障碍物检测,因此计算机设备仍旧可以将激光点云输入障碍物检测器(无需基于环境图像进行伪点云构建以及点云融合),从而得到障碍物检测结果。
步骤306,响应于激光点云无效,且环境图像有效,将伪点云输入障碍物检测器,得到障碍物检测器输出的障碍物检测结果。
可选的,当环境图像有效而激光点云无效(比如雨天或者激光收发器存在异常)时,计算机设备仍旧可以基于环境图像构建伪点云,并无需对激光点云和伪点云进行点云融合,直接将伪点云输入障碍物检测器,得到障碍物检测结果。
可见,采用本申请实施例提供的通用点云检测框架,即便一路输入无效或无输入时,计算机设备仍旧可以基于另一路输入进行障碍物检测,提高了障碍物检测系统的鲁棒性。
此外,本申请实施例提供的通用点云检测框架能够应用于仅设置有摄像机的自动驾驶载具(比如L2级别的自动驾驶载具),或仅设置有激光雷达的自动驾驶载具(比如L4级别的自动驾驶载具),即通用点云检测框架能够适用于不同级别(配置有不同类型传感器)的自动驾驶载具,实现不同级别自动驾驶载具中障碍物检测框架的统一化,避免开发人员为不同级别自动驾驶载具开发独立的障碍物检测框架。
相较于真实点云,基于图像构建的伪点云的深度误差较大,因此计算机设备进行点云融合时,以激光点云为参考对伪点云进行深度纠正;此外,当输入的环境图像有效时,计算机设备可以将环境图像的图像语义赋予目标点云,进一步提高后续障碍物检测的准确性。
如图6所示,计算机设备对环境图像611中的像素点进行深度估计,得到环境图像611对应的深度图612,并基于深度图612构建伪点云613。在对激光点云621和伪点云613进行点云融合时,计算机设备利用激光点云621对伪点云613中的点进行深度纠正,并融合得到目标点云622。当通用点云检测框架插入有语义融合组件时(可插拔组件),计算机设备通过语义融合组件对环境图像611进行语义分割,得到环境图像611对应的分类掩模614,并基于分类掩模614将图像语义信息注入目标点云622中,使目标点云622中的部分数据点具备语义特征。后续计算机设备通过障碍物检测器63对融合图像语义的目标点云622进行障碍物检测时,障碍物检测的准确度得到进一步提升。下面采用示意性的实施例进行说明。
请参考图7,其示出了本申请另一个示例性实施例提供的用于自动驾驶的障碍物检测方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤701,获取摄像机采集的环境图像,以及激光雷达采集的激光点云。
本步骤的实施方式可以参考上述步骤301,本实施例在此不再赘述。
步骤702,对环境图像中的像素点进行深度估计,得到环境图像对应的深度图。
由于摄像机采集到的环境图像为二维图像,而点云中的点则位于三维空间,因此基于环境图像构建伪点云时,首先需要对环境图像中的像素点进行深度估计(depthestimation),得到各个像素点对应的深度值,进而根据该深度值生成环境图像对应的深度图。
针对不同类型的环境图像,计算机设备进行深度估计所采用的方式也不同,在一种可能的实施方式中,当环境图像为双目图像时,计算机根据左眼环境图像和右眼环境图像确定各个像素点的视差,从而基于视差确定各个像素点的深度值,得到环境图像对应的深度图。
双目摄像机又被称为立体视觉相机,是一种模拟人眼成像原理的相机,其输出的环境图像包括存在左眼环境图像和右眼环境图像。在一些实施例中,计算机设备将左眼环境图像和右眼环境图像输入双目匹配网络,对左右眼环境图像中的像素点进行匹配(匹配的像素点对应空间中同一点),并计算得到左右眼环境图像中各个像素点之间的视差,从而将像素点的视差从图像坐标系转换至相机坐标系,得到空间中一点在相机坐标系下的视差。进一步的,计算机设备根据相机成像原理中的相似变换,基于视差估计环境图像上各个像素点对应的深度值,得到深度图。可选的,双目匹配网络包括PSMNet(Pyramid StereoMatching Network)或SDNet,本实施例对此不作限定。
如图8所示,其示出了双目视觉深度估计的原理示意图。空间中点81在左眼图像中对应像素点82,坐标为(XL,f),在右眼图像中对应像素点83,坐标为(XR,f),因此相机坐标系下的视差可以表示为d=XL-XR,其中,f为相机内参(焦距),进一步的,像素点的深度Z=b×f÷d,其中,b为相机光心之间的距离,又称为基线(baseline)。
在另一种可能的实施方式中,当环境图像为单目图像时,计算机设备通过单目图像深度估计算法确定环境图像中各个像素点的深度值,并生成环境图像对应的深度图。其中,单目图像深度估计算法可以包括快速深度(FastDepth)模型,本申请实施例并不对此进行限定。
步骤703,根据深度图中各个像素点的深度值,将环境图像中的像素点投影至三维坐标系,得到环境图像对应的伪点云。
在一种可能的实施方式中,计算机设备基于像素点对应的深度值,通过小孔成像原理将像素点投影至三维坐标系,得到该像素点在伪点云中对应的点。相较于真实采集的激光点云,伪点云中点的分布更加稠密。
在一个示意性的例子中,如图9所示,计算机设备基于SDNet对双目图像进行双目匹配,并生成第一伪点云91;基于PSMNet对双目图像进行双目匹配,并生成第二伪点云92。
双目深度估计受限于基线以及视差量化误差(单目深度估计同样同在类似的问题),在对图像中距离较远的物体进行深度估计时产生的偏差较大,导致构建得到的伪点云中物体会出现扭曲变形或位置偏移。而激光点云则是真实采集到的点云数据,且准确度高,因此计算机设备通过引入激光点云对伪点云中的点进行调整,以激光点云中的点作为标志点(landmark),对伪点云中的点进行位置修正(步骤704至706)。
步骤704,基于伪点云构建目标点云权重矩阵,目标点云权重矩阵用于表征基于点云中相邻点进行点重建时的重建权重。
假设伪点云中的点可以基于其周围的K个点重建得到,则可以以伪点云中的点作为顶点,以顶点与相邻点之间的连线为边,构建伪点云对应的K最邻近(K-NearestNeighbor,KNN)图,其中,点与点之间边的权重即为重建权重。进一步的,计算机设备通过数学方法调整重建权重,即可得到伪点云对应的目标点云权重矩阵。
在一种可能的实施方式中,本步骤可以包括如下步骤。
(1)根据伪点云中点之间的相邻关系,构建初始点云权重矩阵。
在一种可能的实施方式中,计算机设备根据伪点云中点对应三维坐标,确定点之间的距离,从而根据距离确定点之间的相邻关系,比如,将距离小于距离阈值或距离最小的K个点确定为相邻点。进一步的,计算机设备基于点之间的相邻关系,构建得到初始点云权重矩阵,其中,初始点云权重矩阵中点与点之间的重建权重可以通过随机初始化得到。
(2)通过初始点云权重矩阵对伪点云中的点进行点重建,得到重建伪点云。
基于初始点云权重矩阵,计算机设备对伪点云中的点进行重建,得到各个点对应的重建点,进而得到重建伪点云。
在一种可能的实施方式中,基于初始点云权重矩阵进行点重建的过程可以采用如下公式表示:
zi=∑wjNj(zi)
其中,zi为伪点云中待重建的点i,Nj(zi)为点i相邻的点j,wj为点j对点i的重建权重。
(3)通过最小化重建伪点云和伪点云中点之间的距离,对初始点云权重矩阵进行调整,得到目标点云权重矩阵。
由于初始点云权重矩阵中的重建权重随机初始化得到,因此重建伪点云与伪点云中的点之间存在偏移。计算机设备计算重建伪点云与伪点云中点之间的距离(对应点之间的距离),并通过调整初始点云权重矩阵中的重建权重,最小化点云间的距离,得到目标点云权重矩阵。其中,点之间的距离可以为三维空间中点之间的欧式距离。
在一种可能的实施方式中,通过最小化重建伪点云和伪点云中点之间的距离得到目标点云权重矩阵的方式可以采用如下公式表示:
argminW=||Z-WZ||2
其中,Z为伪点云,W为点云权重矩阵,WZ为重建伪点云,argminW为最小化点云距离时的点云权重矩阵。
步骤705,将激光点云和伪点云中的点进行合并,得到合并点云。
在对激光点云和伪点云进行合并时,为了降低合并后点云的数据量,计算机设备需要对激光点云与伪点云中的重合点进行消除。在一种可能的实施方式中,对激光点云和伪点云进行合并时可以包括如下步骤。
(1)将激光点云和伪点云投影至图像坐标系。
在一种可能的实施方式中,计算机设备根据预先设定投影方式,将激光点云和伪点云中的点投影至图像坐标系(预先标定的平面坐标系),即将三维空间中的点投影至二维空间,降低伪点云中深度估计误差造成的影响。
进一步的,计算机设备检测激光点云中点的投影与伪点云中点的投影是否在图像坐标系内重合(通过检测图像坐标系中点的坐标),若重合,则将该点确定为重合点并对重合点进行删除,降低合并后点云的数据量;若不重合,则保留激光点云和伪点云中的点。
(2)若激光点云中点的投影与伪点云中点的投影在图像坐标系中重合,则从伪点云中删除重合的点。
可选的,对于确定出的重合点,计算机设备从伪点云中删除重合点,即仅保留激光点云中重合点对应的点数据。
(3)将激光点云中的点与伪点云中的剩余点进行合并,得到合并点云。
进一步的,计算机设备将激光点云以及去除重合点后的伪点云进行合并,得到合并点云。由于合并点云中包含真实点云,因此后续可以基于真实点云对伪点云的深度进行纠正。
需要说明的是,步骤704与705之间并不存在严格的先后时序,即步骤704和705可以同步执行,或者先后执行,本实施例仅以步骤704在705之前执行为例进行说明,但并不对此构成限定。
步骤706,根据目标点云权重矩阵对合并点云中的点进行调整,得到目标点云。
对于合并得到的合并点云,计算机设备使用目标点云权重矩阵对合并点云进行点重建(即对合并点云中点的位置进行调整),得到重建合并点云,进而在重建合并点云满足条件时,得到目标点云。在一种可能的实施方式中,本步骤可以包括如下子步骤。
(1)通过目标点云权重矩阵对合并点云中的点进行点重建,得到重建合并点云。
在一种可能的实施方式中,对于合并点云中的各个点,计算机设备通过目标点云权重矩阵以及该点对应的相邻点进行点重建,得到重建合并点云。其中,基于目标点云权重矩阵进行点重建时,某一点位置的调整将沿着KNN图传播至相邻点,从而实现对整个点云中点位置的调整,相应的,由于合并点云中包含真实点云数据,因此进行位置调整的过程中,伪点云中点的位置能够得到修正。
(2)通过最小化合并点云与重建合并点云中点之间的距离,对合并点云中的点进行调整,得到目标点云。
进一步的,计算机设备通过调整合并点云中点的位置,最小化合并点云与重建合并点云的点云距离,从而将点云距离最小化时,位置调整后的合并点云确定为目标点云。
在一种可能的实施方式中,通过最小化重建合并点云和合并点云中点之间的距离得到目标点云的过程可以采用如下公式表示:
argminZ′=||Z′-WZ′||2
其中,Z′为合并点云,W为目标点云权重矩阵,WZ′为重建合并点云,argminZ′为最小化点云距离时的目标点云。
通过上述步骤,计算机设备得到融合后的目标点云,并可以将目标点云用于后端点云检测。为了进一步提高后端点云检测的准确性,当通用点云检测框架中插入有语义融合组件时,计算机设备可以进一步将环境图像中的图像语义信息添加至目标点云(步骤707至708),以此提高目标点云中点特征的特征维度,进而提高后续点云检测的准确性。
步骤707,对环境图像进行语义分割,得到环境图像中掩模区域对应的图像语义信息,图像语义信息用于指示掩模区域对应障碍物的障碍物类型。
相较于点云,环境图像能够更加直观反映出环境中物体的物体特征,因此在一种可能的实施方式中,当获取到的环境图像有效时,计算机设备通过图像语义分割算法对环境图像进行语义分割,识别出环境图像中包含障碍物的障碍物类型(即图像语义信息),并通过掩模(mask)方式标记环境图像中障碍物所处的区域。
其中,图像语义分割算法可以是基于深度学习的图像语义分割模型,比如DeepLab、CRFasRNN(Conditional Random Fields as Recurrent Neural Network)、SegNet(Segmentation Network)等等,本申请实施例对此不作限定。
在一个示意性的例子中,如图10所示,计算机设备对环境图像1001进行图像语义分割,确定掩模图像1002中行人掩模区域1003(对应的图像语义信息为行人),以及车辆掩模区域1004(对应的图像语义信息为车辆)。
步骤708,将图像语义信息融合至目标点云。
在一种可能的实施方式中,计算机设备向目标点云中添加图像语义信息可以包括如下步骤。
(1)将目标点云投影至图像坐标系。
由于掩模区域为二维平面区域,因此计算机设备首先需要将目标点云投影至环境图像所在的图像坐标系。其中,计算机设备基于预先标定的投影关系对目标点云中的点进行投影。
示意性的,如图10所示,计算机设备将目标点云1005中的点投影至图像坐标系,得到平面点云图像1006。
(2)确定目标点云中,投影位置位于图像语义信息对应掩模区域内的目标点。
进一步的,计算机设备检测目标点云中点对应的投影位置是否位于掩模区域内,若位于,则将该投影位置对应的点确定为目标点,以便后续为目标点赋予图像语义信息。
示意性的,如图10所示,计算机设备基于掩模图像1002,在平面点云图像1006中,标记出位于行人掩模区域1003和车辆掩模区域1004的点。
(3)将图像语义信息添加至目标点对应的点特征中。
针对添加图像语义信息的方式,在一种可能的实施方式中,当目标点属于激光点云时,计算机设备将目标点对应的点数据由四元组(x,y,z,r)更新为五元组(x,y,z,r,m),其中,m为图像语义信息,比如,当m为01时,表示目标点对应的物体为行人,当m为10时,表示目标点对应的物体为车辆,当m为11时,表示目标点对应的物体为路障。
可选的,对于目标点云中除目标点以外的点,计算机设备同样可以向该点的点特征中添加图像语义信息,其中,添加的图像语义信息用于表征该点对应的物体不属于障碍物。
步骤709,将目标点云输入障碍物检测器,得到障碍物检测器输出的障碍物检测结果,障碍物检测器是基于点云编码的检测器。
计算机设备将注入图像语义信息的目标点云输入障碍物检测器,由障碍物检测器对目标点云进行点编码,并进一步通过点云障碍物检测算法对编码后的点云进行障碍物检测,输出障碍物检测结果。
以PointPillars算法为例,基于目标点云进行障碍物检测的过程如图11所示。计算机设备首先将目标点云1101输入柱状特征网络1102(Pillar Feature Net)进行特征编码。其中,柱状特征网络1102首先在点云空间平面上分割出H×W个网络,得到H×W个柱状立方体,对于每个立方体,从立方体中随机采样D个点,并通过堆叠柱的方式,送至神经网络进行特征提取(特征向量维度为[1,C]),从而将点云转化为[H,W,C]的特征向量(Psuedoimage)。
进一步的,计算机设备将提取到的特征向量输入主干网络1103(Backbone)以及检测网络1104(DetectionHead)进行目标检测,最终输出障碍物检测结果1105。其中,主干网络1103为2D卷积神经网络,用于对特征向量进行卷积和反卷积处理,从而提高到高层次特征;检测网络1104则可以采用SSD(Single Shot multiBox Detector)算法,通过放置锚点框(anchors),使用锚点框中的特征进行障碍物类型识别和位置回归,最终确定出障碍物类型和位置。
本实施例中,计算机设备对激光点云和伪点云进行点云融合时,以激光点云为参考对伪点云进行深度纠正,提高合并后合并点云中点距离的准确性,有助于提高后续点云检测的准确性。
并且,计算机设备通过对环境图像进行图像语义分割,并将环境图像的图像语义赋予目标点云,使后续进行点云检测时能够融入图像语义特征,进一步提高后续障碍物检测的准确性。
图12是本申请一个示例性实施例提供的用于自动驾驶的障碍物检测装置的结构框图,如图12所示,该装置包括:
获取模块1201,用于获取摄像机采集的环境图像,以及激光雷达采集的激光点云;
伪点云构建模块1202,用于通过对所述环境图像进行三维重建,构建所述环境图像对应的伪点云;
点云融合模块1203,用于对所述激光点云和所述伪点云进行点云融合,生成目标点云,所述目标点云的数据量不小于所述激光点云的数据量;
检测模块1204,用于将所述目标点云输入障碍物检测器,得到所述障碍物检测器输出的障碍物检测结果,所述障碍物检测器是基于点云编码的检测器。
可选的,点云融合模块1203,包括:
矩阵构建单元,用于基于所述伪点云构建目标点云权重矩阵,所述目标点云权重矩阵用于表征基于点云中相邻点进行点重建时的重建权重;
合并单元,用于将所述激光点云和所述伪点云中的点进行合并,得到合并点云;
调整单元,用于根据所述目标点云权重矩阵对所述合并点云中的点进行调整,得到所述目标点云。
可选的,所述矩阵构建单元,用于:
根据所述伪点云中点之间的相邻关系,构建初始点云权重矩阵;
通过所述初始点云权重矩阵对所述伪点云中的点进行点重建,得到重建伪点云;
通过最小化所述重建伪点云和所述伪点云中点之间的距离,对所述初始点云权重矩阵进行调整,得到所述目标点云权重矩阵。
可选的,合并单元,用于:
将所述激光点云和所述伪点云投影至图像坐标系;
若所述激光点云中点的投影与所述伪点云中点的投影在所述图像坐标系中重合,则从所述伪点云中删除重合的点;
将所述激光点云中的点与所述伪点云中的剩余点进行合并,得到所述合并点云。
可选的,调整单元,用于:
通过所述目标点云权重矩阵对所述合并点云中的点进行点重建,得到重建合并点云;
通过最小化所述合并点云与所述重建合并点云中点之间的距离,对所述合并点云中的点进行调整,得到所述目标点云。
可选的,所述装置还包括:
语义分割模块,用于对所述环境图像进行语义分割,得到所述环境图像中掩模区域对应的图像语义信息,所述图像语义信息用于指示掩模区域对应障碍物的障碍物类型;
语义融合模块,用于将所述图像语义信息融合至所述目标点云。
可选的,语义融合模块,用于
将所述目标点云投影至图像坐标系;
确定所述目标点云中,投影位置位于所述图像语义信息对应掩模区域内的目标点;
将所述图像语义信息添加至所述目标点对应的点特征中。
可选的,伪点云构建模块1202,包括:
深度估计单元,用于对所述环境图像中的像素点进行深度估计,得到所述环境图像对应的深度图;
伪点云构建单元,用于根据所述深度图中各个像素点的深度值,将所述环境图像中的像素点投影至三维坐标系,得到所述环境图像对应的所述伪点云。
可选的,深度估计单元,用于:
响应于所述环境图像为双目图像,根据左眼环境图像和右眼环境图像确定各个像素点的视差;基于所述视差确定各个像素点的深度值,得到所述环境图像对应的所述深度图;
或,
响应于所述环境图像为单目图像,通过单目图像深度估计算法确定所述环境图像中各个像素点的深度值,并生成所述环境图像对应的所述深度图。
可选的,检测模块1204,还用于:
响应于所述环境图像无效,且所述激光点云有效,将所述激光点云输入所述障碍物检测器,得到所述障碍物检测器输出的所述障碍物检测结果;
或,
响应于所述激光点云无效,且所述环境图像有效,将所述伪点云输入所述障碍物检测器,得到所述障碍物检测器输出的所述障碍物检测结果。
综上所述,本申请实施例提出了一种通用的点云检测框架,通过对摄像机采集到的环境图像进行三维重建,构建得到环境图像对应的伪点云,并将伪点云与激光雷达采集的激光点云进行点云融合,生成数据量更大的目标点云,使图像数据也能够应用于点云检测,一方面可以扩大障碍物检测的范围,另一方面可以降低障碍物距离的检测误差,因此后续利用障碍物检测器对目标点云进行障碍物检测时,有助于提高障碍物检测的准确性。
采用本申请实施例提供的通用点云检测框架,即便一路输入无效或无输入时,计算机设备仍旧可以基于另一路输入进行障碍物检测,提高了障碍物检测系统的鲁棒性。
此外,本申请实施例提供的通用点云检测框架能够应用于仅设置有摄像机的自动驾驶载具(比如L2级别的自动驾驶载具),或仅设置有激光雷达的自动驾驶载具(比如L4级别的自动驾驶载具),即通用点云检测框架能够适用于不同级别(配置有不同类型传感器)的自动驾驶载具,实现不同级别自动驾驶载具中障碍物检测框架的统一化,避免开发人员为不同级别自动驾驶载具开发独立的障碍物检测框架。
同时,计算机设备对激光点云和伪点云进行点云融合时,以激光点云为参考对伪点云进行深度纠正,提高合并后合并点云中点距离的准确性,有助于提高后续点云检测的准确性。
并且,计算机设备通过对环境图像进行图像语义分割,并将环境图像的图像语义赋予目标点云,使后续进行点云检测时能够融入图像语义特征,进一步提高后续障碍物检测的准确性。
图13是本申请一个示例性实施例提供的用于自动驾驶的障碍物标记装置的结构框图,如图13所示,该装置包括:
位置确定模块1301,用于根据用于自动驾驶的障碍物检测装置得到的所述障碍物检测结果,确定所述目标点云和/或所述环境图像中障碍物的障碍物位置;
标记模块1302,用于根据所述障碍物位置,对所述目标点云和/或所述环境图像中的障碍物进行标记。
可选的,所述位置确定模块1301,还用于:
根据所述障碍物检测结果进行障碍物位置回归,得到所述目标点云和/或所述环境图像中障碍物的障碍物位置。
需要说明的是:上述实施例提供的用于自动驾驶的障碍物检测、标记装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图14,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图。具体来讲:所述计算机设备1400包括中央处理单元(Central Processing Unit,CPU)1401、包括随机存取存储器1402和只读存储器1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。所述计算机设备1400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。
所述基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中所述显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。所述基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。所述大容量存储设备1407及其相关联的计算机可读介质为计算机设备1400提供非易失性存储。也就是说,所述大容量存储设备1407可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(RAM,Random Access Memory)、只读存储器(ROM,Read Only Memory)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1401执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1401执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1400可以通过连接在所述系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一实施例所述的用于自动驾驶的障碍物检测方法,或,实现上述任一实施例所述的用于自动驾驶的障碍物标记方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的用于自动驾驶的障碍物检测方法,或,实现上述任一实施例所述的用于自动驾驶的障碍物标记方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一方法实施例所述的用于自动驾驶的障碍物检测方法,或,实现上述任一实施例所述的用于自动驾驶的障碍物标记方法。
可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(SSD,Solid StateDrives)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种用于自动驾驶的障碍物检测方法,其特征在于,所述方法包括:
获取摄像机采集的环境图像,以及激光雷达采集的激光点云;
通过对所述环境图像进行三维重建,构建所述环境图像对应的伪点云;
基于所述伪点云构建目标点云权重矩阵,所述目标点云权重矩阵用于表征基于点云中相邻点进行点重建时的重建权重;将所述激光点云和所述伪点云中的点进行合并,得到合并点云;根据所述目标点云权重矩阵对所述合并点云中的点进行调整,得到所述目标点云,所述目标点云的数据量不小于所述激光点云的数据量;
将所述目标点云输入障碍物检测器,得到所述障碍物检测器输出的障碍物检测结果,所述障碍物检测器是基于点云编码的检测器。
2.根据权利要求1所述的方法,其特征在于,所述基于所述伪点云构建目标点云权重矩阵,包括:
根据所述伪点云中点之间的相邻关系,构建初始点云权重矩阵;
通过所述初始点云权重矩阵对所述伪点云中的点进行点重建,得到重建伪点云;
通过最小化所述重建伪点云和所述伪点云中点之间的距离,对所述初始点云权重矩阵进行调整,得到所述目标点云权重矩阵。
3.根据权利要求1所述的方法,其特征在于,所述将所述激光点云和所述伪点云中的点进行合并,得到合并点云,包括:
将所述激光点云和所述伪点云投影至图像坐标系;
若所述激光点云中点的投影与所述伪点云中点的投影在所述图像坐标系中重合,则从所述伪点云中删除重合的点;
将所述激光点云中的点与所述伪点云中的剩余点进行合并,得到所述合并点云。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标点云权重矩阵对所述合并点云中的点进行调整,得到所述目标点云,包括:
通过所述目标点云权重矩阵对所述合并点云中的点进行点重建,得到重建合并点云;
通过最小化所述合并点云与所述重建合并点云中点之间的距离,对所述合并点云中的点进行调整,得到所述目标点云。
5.根据权利要求1至4任一所述的方法,其特征在于,所述获取摄像机采集的环境图像之后,所述方法还包括:
对所述环境图像进行语义分割,得到所述环境图像中掩模区域对应的图像语义信息,所述图像语义信息用于指示掩模区域对应障碍物的障碍物类型;
所述将所述目标点云输入障碍物检测器,得到所述障碍物检测器输出的障碍物检测结果之前,所述方法还包括:
将所述图像语义信息融合至所述目标点云。
6.根据权利要求5所述的方法,其特征在于,所述将所述图像语义信息融合至所述目标点云,包括
将所述目标点云投影至图像坐标系;
确定所述目标点云中,投影位置位于所述图像语义信息对应掩模区域内的目标点;
将所述图像语义信息添加至所述目标点对应的点特征中。
7.根据权利要求1至4任一所述的方法,其特征在于,通过对所述环境图像进行三维重建,构建所述环境图像对应的伪点云,包括:
对所述环境图像中的像素点进行深度估计,得到所述环境图像对应的深度图;
根据所述深度图中各个像素点的深度值,将所述环境图像中的像素点投影至三维坐标系,得到所述环境图像对应的所述伪点云。
8.根据权利要求7所述的方法,其特征在于,所述对所述环境图像中的像素点进行深度估计,得到所述环境图像对应的深度图,包括:
响应于所述环境图像为双目图像,根据左眼环境图像和右眼环境图像确定各个像素点的视差;基于所述视差确定各个像素点的深度值,得到所述环境图像对应的所述深度图;
或,
响应于所述环境图像为单目图像,通过单目图像深度估计算法确定所述环境图像中各个像素点的深度值,并生成所述环境图像对应的所述深度图。
9.根据权利要求1至4任一所述的方法,其特征在于,所述获取摄像机采集的环境图像,以及激光雷达采集的激光点云之后,所述方法还包括:
响应于所述环境图像无效,且所述激光点云有效,将所述激光点云输入所述障碍物检测器,得到所述障碍物检测器输出的所述障碍物检测结果;
或,
响应于所述激光点云无效,且所述环境图像有效,将所述伪点云输入所述障碍物检测器,得到所述障碍物检测器输出的所述障碍物检测结果。
10.一种用于自动驾驶的障碍物标记方法,其特征在于,所述方法包括:
根据权利要求1至9任一所述的方法得到的所述障碍物检测结果,确定所述目标点云和/或所述环境图像中障碍物的障碍物位置;
根据所述障碍物位置,对所述目标点云和/或所述环境图像中的障碍物进行标记。
11.根据权利要求10所述的方法,其特征在于,所述根据权利要求1至9任一所述的方法得到的所述障碍物检测结果,确定所述目标点云和/或所述环境图像中障碍物的障碍物位置,包括:
根据所述障碍物检测结果进行障碍物位置回归,得到所述目标点云和/或所述环境图像中障碍物的障碍物位置。
12.一种用于自动驾驶的障碍物检测装置,其特征在于,所述装置包括:
获取模块,用于获取摄像机采集的环境图像,以及激光雷达采集的激光点云;
伪点云构建模块,用于通过对所述环境图像进行三维重建,构建所述环境图像对应的伪点云;
点云融合模块,用于基于所述伪点云构建目标点云权重矩阵,所述目标点云权重矩阵用于表征基于点云中相邻点进行点重建时的重建权重;将所述激光点云和所述伪点云中的点进行合并,得到合并点云;根据所述目标点云权重矩阵对所述合并点云中的点进行调整,得到所述目标点云,所述目标点云的数据量不小于所述激光点云的数据量;
检测模块,用于将所述目标点云输入障碍物检测器,得到所述障碍物检测器输出的障碍物检测结果,所述障碍物检测器是基于点云编码的检测器。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一所述的用于自动驾驶的障碍物检测方法,或,实现如权利要求10至11任一所述的用于自动驾驶的障碍物标记方法。
14.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至9任一所述的用于自动驾驶的障碍物检测方法,或,实现如权利要求10至11任一所述的用于自动驾驶。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011073283.4A CN112419494B (zh) | 2020-10-09 | 2020-10-09 | 用于自动驾驶的障碍物检测、标记方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011073283.4A CN112419494B (zh) | 2020-10-09 | 2020-10-09 | 用于自动驾驶的障碍物检测、标记方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112419494A CN112419494A (zh) | 2021-02-26 |
CN112419494B true CN112419494B (zh) | 2022-02-22 |
Family
ID=74853930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011073283.4A Active CN112419494B (zh) | 2020-10-09 | 2020-10-09 | 用于自动驾驶的障碍物检测、标记方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419494B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113362444B (zh) * | 2021-05-21 | 2023-06-16 | 北京百度网讯科技有限公司 | 点云数据的生成方法、装置、电子设备及存储介质 |
CN113486887B (zh) * | 2021-06-30 | 2023-12-22 | 杭州飞步科技有限公司 | 三维场景下的目标检测方法和装置 |
CN113591777B (zh) * | 2021-08-11 | 2023-12-08 | 宁波未感半导体科技有限公司 | 激光雷达信号处理方法、电子设备及存储介质 |
CN113807184B (zh) * | 2021-08-17 | 2024-06-21 | 北京百度网讯科技有限公司 | 障碍物检测方法、装置、电子设备及自动驾驶车辆 |
CN113569812A (zh) * | 2021-08-31 | 2021-10-29 | 东软睿驰汽车技术(沈阳)有限公司 | 未知障碍物的识别方法、装置和电子设备 |
CN113920487A (zh) * | 2021-10-09 | 2022-01-11 | 广东汇天航空航天科技有限公司 | 障碍物探测处理方法、装置及系统 |
CN113673493B (zh) * | 2021-10-22 | 2022-02-01 | 浙江建木智能系统有限公司 | 一种基于工业车辆视觉的行人感知和定位的方法和系统 |
CN114140765B (zh) * | 2021-11-12 | 2022-06-24 | 北京航空航天大学 | 一种障碍物感知方法、装置及存储介质 |
CN114155415B (zh) * | 2021-12-07 | 2024-05-03 | 华东交通大学 | 一种多数据融合的车辆检测方法、系统、设备及存储介质 |
CN114445701B (zh) * | 2021-12-15 | 2023-07-04 | 深圳市速腾聚创科技有限公司 | 对站台障碍物的预警方法及装置、介质及电子设备 |
CN115083152A (zh) * | 2022-06-09 | 2022-09-20 | 北京主线科技有限公司 | 一种车辆编队感知系统、方法、装置、设备及介质 |
CN115235485A (zh) * | 2022-07-08 | 2022-10-25 | 松灵机器人(深圳)有限公司 | 作业地图构建方法、装置、割草机器人以及存储介质 |
CN115984264B (zh) * | 2023-03-16 | 2023-08-01 | 北京路凯智行科技有限公司 | 基于地图的静态障碍物过滤方法和地图过滤器 |
CN116382308B (zh) * | 2023-06-05 | 2023-09-05 | 华侨大学 | 智能化移动机械自主寻径与避障方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223389A (zh) * | 2019-06-11 | 2019-09-10 | 中国科学院自动化研究所 | 融合图像与激光数据的场景建模方法、系统、装置 |
CN110879401A (zh) * | 2019-12-06 | 2020-03-13 | 南京理工大学 | 基于相机和激光雷达的无人驾驶平台实时目标3d检测方法 |
CN111198378A (zh) * | 2019-12-27 | 2020-05-26 | 深圳市优必选科技股份有限公司 | 基于边界的自主探索方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109283538B (zh) * | 2018-07-13 | 2023-06-13 | 上海大学 | 一种基于视觉和激光传感器数据融合的海上目标大小检测方法 |
-
2020
- 2020-10-09 CN CN202011073283.4A patent/CN112419494B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223389A (zh) * | 2019-06-11 | 2019-09-10 | 中国科学院自动化研究所 | 融合图像与激光数据的场景建模方法、系统、装置 |
CN110879401A (zh) * | 2019-12-06 | 2020-03-13 | 南京理工大学 | 基于相机和激光雷达的无人驾驶平台实时目标3d检测方法 |
CN111198378A (zh) * | 2019-12-27 | 2020-05-26 | 深圳市优必选科技股份有限公司 | 基于边界的自主探索方法和装置 |
Non-Patent Citations (2)
Title |
---|
Multi-Task Multi-Sensor Fusion for 3D Object Detection;Ming Liang et al.;《2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)》;20200109;第1-9页 * |
基于异质传感器信息融合的导盲机器人同步定位与构图研究;李强;《万方数据知识服务平台》;20181219;第1-87页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112419494A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112419494B (zh) | 用于自动驾驶的障碍物检测、标记方法、设备及存储介质 | |
US10437252B1 (en) | High-precision multi-layer visual and semantic map for autonomous driving | |
US10794710B1 (en) | High-precision multi-layer visual and semantic map by autonomous units | |
EP3940641A1 (en) | Method, apparatus, and device for obtaining disparity map, control system, and storage medium | |
EP3779881A1 (en) | Method for determining depth information and related device | |
CN108764187A (zh) | 提取车道线的方法、装置、设备、存储介质以及采集实体 | |
CN112912920A (zh) | 用于2d卷积神经网络的点云数据转换方法和系统 | |
CN107886477A (zh) | 无人驾驶中立体视觉与低线束激光雷达的融合矫正方法 | |
KR102200299B1 (ko) | 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법 | |
US20220051425A1 (en) | Scale-aware monocular localization and mapping | |
CN113160327A (zh) | 一种点云补全的实现方法和系统 | |
CN111340922A (zh) | 定位与地图构建的方法和电子设备 | |
CN113240734B (zh) | 一种基于鸟瞰图的车辆跨位判断方法、装置、设备及介质 | |
US20230138487A1 (en) | An Environment Model Using Cross-Sensor Feature Point Referencing | |
CN111699410A (zh) | 点云的处理方法、设备和计算机可读存储介质 | |
CN114549738A (zh) | 无人车室内实时稠密点云重建方法、系统、设备及介质 | |
CN112184793B (zh) | 深度数据的处理方法、装置及可读存储介质 | |
JP7389729B2 (ja) | 障害物検知装置、障害物検知システム及び障害物検知方法 | |
CN112257668A (zh) | 主辅路判断方法、装置、电子设备及存储介质 | |
CN114494395A (zh) | 基于平面先验的深度图生成方法、装置、设备及存储介质 | |
CN112270701B (zh) | 基于分组距离网络的视差预测方法、系统及存储介质 | |
CN114359891B (zh) | 一种三维车辆检测方法、系统、装置及介质 | |
CN114648639B (zh) | 一种目标车辆的检测方法、系统及装置 | |
US20230105331A1 (en) | Methods and systems for semantic scene completion for sparse 3d data | |
CN117011481A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40037987 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |