CN114386293B - 一种虚实合成的激光雷达点云生成方法和装置 - Google Patents
一种虚实合成的激光雷达点云生成方法和装置 Download PDFInfo
- Publication number
- CN114386293B CN114386293B CN202210281920.XA CN202210281920A CN114386293B CN 114386293 B CN114386293 B CN 114386293B CN 202210281920 A CN202210281920 A CN 202210281920A CN 114386293 B CN114386293 B CN 114386293B
- Authority
- CN
- China
- Prior art keywords
- obj
- class
- model
- point
- point cloud
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种虚实合成的激光雷达点云生成方法和装置,该方法从预定义模型库中选择多个模型,按照设定的概率分布设置其形变姿态和仿射变换,并将生成的模型实例放置到真实点云场景的合理区域中,最后使用空间索引和射线投影算法重采样得到虚实合成的点云数据。该方法既保留了真实激光雷达点云的真实性,又结合了虚拟仿真场景的可配置性和灵活性,并且能够自动生成数据标注信息,缓解了真实点云数据采集效率和人工标注效率低下的问题;该方法可以快速生成大量的合成激光雷达点云,提高点云数据的生成效率,同时也为感知算法等深度学习算法提供了更多的训练数据。
Description
技术领域
本发明涉及激光雷达仿真领域,尤其涉及一种虚实合成的激光雷达点云生成方法和装置。
背景技术
激光雷达自上世纪60年代被发明以来,广泛应用于侦查、气象、交通等多个领域,尤其近些年来在自动驾驶行业应用颇多。激光雷达通过测定激光发射器与目标物体之间的传播距离,分析目标物体表面的反射能量、反射波谱的幅度、频率和相位等信息,从而呈现出目标物精确的三维结构信息。激光雷达通常输出三维点云数据来表示扫描的目标物体。
感知模块是自动驾驶算法的核心模块,该模块需要海量的标注数据集作为训练输入。但是,真实激光雷达点云数据的采集成本相当高,点云真值的人工标准效率也很低下。因此,完全通过激光雷达点云真值作为输入来训练感知算法的成本非常高,并且采集到的真值数据也难以枚举出现实中的所有交通情况。实际应用中会综合真实激光雷达点云数据和仿真虚拟点云数据作为算法输入,这两种点云数据各有优势,但都有明显的缺点。已有的方法通常只是单一地使用一种点云数据或者混合使用两种点云数据,这会导致数据量不足或者数据一致性等问题。
发明内容
为解决现有技术的不足,实现真实激光雷达点云数据和虚拟仿真数据的优势互补,本发明采用如下的技术方案:
一种虚实合成的激光雷达点云生成方法,该方法包括以下步骤:
S1,使用激光雷达采集真实场景的点云数据,将点云数据中表示动态物体的采样点数据去除,保留点云数据中表示静态物体的采样点数据,保留下的采样点数据形成场景SC;
S2,预定义Nc类物体模型,其类型记为class1,class2,...,classNc,对每个i∈{1,2...Nc},在场景SC中生成可以合理摆放类型为classi的物体模型的空间区域,该空间区域称为类型classi的合理区域,记为R[classi];
S3,从预定义模型库中选择Nm个物体模型model1,model2,.....,modelNm,并且为每个物体模型modelk确定需要进行模型实例化的数量Nok,由modelk实例化的第j个模型实例记为objk,j,objk,j的类型obj_classk,j定义为modelk所属的模型类型,其中k=1,2,...,Nm,j=1,2,…,Nok;
S4,对每个模型实例objk,j执行以下步骤:
S4.1,对模型实例objk,j,记其类型obj_classk,j,obj_classk,j∈{class1,class2,...,classNc},根据模型类型obj_classk,j找到该类型的合理区域R[obj_classk,j];
S4.2,如果objk,j为非刚体且具备多个形变姿态,则按同一概率分布PDk对多个形变姿态进行随机选择,根据选择的形变姿态对objk,j进行几何形状更新;
S4.3, 根据一个与模型类型obj_classk,j相关的概率分布AD[obj_classk,j]随机采样生成一个满足合理性条件的仿射变换TRk,j,将TRk,j施加于objk,j,并将经过仿射变换的objk,j放置入场景SC中,若无法生成满足所述合理性条件的仿射变换,则忽略objk,j;
S4.4,输出objk,j的模型类型obj_classk,j,输出objk,j的形变姿态或者施加仿射变换TRk,j后所占据的空间boundk,j数据,并选择形变姿态和施加仿射变换TRk,j后所占据的空间boundk,j数据中的一个,连同obj_classk,j,作为objk,j的标注信息;
S5,为加入了模型实例的场景SC构建空间索引spatial_index;
S6,采用射线投影算法,利用空间索引spatial_index,对加入了模型实例的场景SC进行重新采样,生成虚实合成的点云数据场景SC2。
进一步地,所述S3中的预定义物体模型库包括刚体物体模型和非刚体物体模型,刚体物体模型的几何形状由多边形网格或三维点云所表示,非刚体物体模型的几何形状由多边形网格所表示,且每个非刚体物体模型包含至少1个形变姿态,每个形变姿态由一幅骨骼姿态参数或一个多边形网格所定义。
进一步地,所述S4.3中的一个与模型类型oc相关的概率分布AD[obj_classk,j]是由两个概率分布密度函数乘积F[obj_classk,j](x,y,z)•G[obj_classk,j](theta, phi)所表示,其中F[obj_classk,j](x,y,z)为空间概率分布密度函数,(x,y,z)为三维坐标,F[obj_classk,j](x,y,z)定义域为该模型类型的合理空间R[obj_classk,j],G[obj_classk,j](phi,theta)为角度概率分布密度函数,phi为经度,0<=phi<360,theta为纬度,0<=theta<=180。
进一步地,所述S4.3中的满足合理性条件的仿射变换TRk,j必须满足以下条件:
(a)对objk,j施加仿射变换TRk,j后所占据的空间应完全位于R[obj_classk,j]内部;
(b)对objk,j施加仿射变换TRk,j后所占据的空间与任意一个已经放入场景SC中的模型实例所占据的空间不相交。
进一步地,所述S6中对场景SC进行重新采样包含以下子步骤:
S6.1,对场景SC的激光雷达所发出的激光射线进行数学建模,得到每一根激光射线rm的在场景SC坐标空间中的方程表示,m∈{1,2...Nr},Nr为激光射线总数;
S6.2, 对每个m∈{1,2,...,Nr},对激光射线rm进行如下处理:
S6.2.1,按照激光射线rm的延伸方向顺序遍历所述空间索引spatial_index,直到找到第一个非空的空间索引叶节点leaf,若未找到非空的空间索引叶节点,则忽略激光射线rm,返回S6.2继续处理下一条激光射线;
S6.2.2, 定义激光射线rm与空间索引叶节点leaf的求交结果为pAm,并赋予其初值;
S6.2.3,对非空叶节点leaf中的所有多边形进行与激光射线rm的相交计算,找到距离激光射线rm原点最近的交点,若存在有效交点,则用该有效交点更新pAm;计算激光射线rm原点到pAm的距离d,执行步骤S6.2.4, 若不存在有效交点,则设置d为一个大于场景SC包围球直径的预设值Dmax;
S6.2.4,遍历非空叶节点leaf中的所有采样点,对每个采样点进行如下处理:计算该采样点到激光射线rm的距离D,如果距离D大于预设阈值Dmax,则忽略该采样点,否则计算该采样点在激光射线rm上的投影点,如果该投影点到激光射线rm原点的距离小于d,则用该投影点更新pAm,并将d更新为该投影点到激光射线rm原点的距离;否则忽略该采样点;
S6.2.5, 如果d < Dmax,输出pAm到场景SC2中。
进一步地,所述S6.2.3中的有效交点,满足以下其中之一条件:
(a)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的光透射率小于预定阈值c1;
(b)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的漫射光反射率大于预定阈值c2;
(c)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的漫射光反射率小于预定阈值c3,镜面光反射率大于预定阈值c4,激光射线rm的反方向与该多边形朝向激光射线rm原点的法线方向的夹角小于预定阈值alpha。
进一步地,所述S3中,根据用户交互或预定程序从预定义模型库中选择Nm个物体模型,Nm为用户指定或预先定义。
进一步地,所述S4.2中的概率分布PDk由用户设定或由程序设定。
进一步地,函数F[obj_classk,j](x,y,z)和G[obj_classk,j](theta, phi)根据模型类型obj_classk,j由用户设定或由程序设定。
本发明的有益效果如下:
本发明公开的虚实合成的激光雷达点云生成方法,从预定义模型库中选择多个模型,按照设定的概率分布设置其形变姿态和仿射变换,并将生成的模型实例放置到真实点云场景的合理区域中,最后使用空间索引和射线投影算法重采样得到虚实合成的点云数据。该方法既保留了真实激光雷达点云的真实性,又结合了虚拟仿真场景的可配置性和灵活性,可以快速生成大量的合成激光雷达点云,提高点云数据的生成效率,缓解了真实点云数据采集效率低下的问题;同时也为感知算法等深度学习算法提供了更多的训练数据。
附图说明
图1为一个实施例中一种虚实合成的激光雷达点云生成方法的步骤图;
图2为一个实施例中物体模型库示意图;
图3为一个实施例中真实点云中各种模型类型的合理区域示意图;
图4为一个实施例中空间索引和点云重采样示意图;
图5为一个实施例中虚实合成的激光雷达点云结果示意图。
图6为一种虚实合成的激光雷达点云生成装置的示意图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1所示,提出了一种虚实合成的激光雷达点云生成方法,首先采集真实的激光点云,保留静态部分,然后从模型库中选择若干物体模型,实例化物体模型,在合理区域内生成其形变姿态或者仿射变换;接着,构建空间索引,存储真实点云数据和物体模型实例数据;最后使用射线投影算法,重采样空间索引中的数据,得到最终的合成点云。
该方法具体包括以下步骤:
步骤1,使用激光雷达采集真实场景的点云数据,将点云数据中表示动态物体的采样点数据去除,保留点云数据中表示静态物体的采样点数据,保留下的采样点数据形成场景SC;
本实施例使用禾赛Pandar40P型号机械式激光雷达,垂直线束为40线,水平探测距离为200米,垂直视场角为40度,提供-25度到15度的视角范围,最小垂直角分辨率为0.33度;采集真实场景为某企业一期新园区食堂附近的路口;采集时间为上午10点到下午14点,采集对象为某企业员工、园区内车辆以及交通锥等交通设施;采集点云的数据格式为PCD标准点云格式,使用二进制编码。
从采集的点云数据中去除动态物体的采样点数据,保留点云数据中表示静态物体的采样点数据,本实施例使用的具体方法如下:
(a)采集3000帧激光雷达点云数据,统计每个二维坐标(x, y)在每帧点云数据中对应的采样点的深度,构成一个深度数组depth_listxy,其中二维坐标(x, y)的横坐标x为激光雷达点云数据的横向扫描坐标,纵坐标y为激光雷达点云数据的纵向扫描坐标;
(b)取深度数组depth_listxy的中位数median_depthxy为二维坐标(x, y)对应的静态物体的采样点深度;收集所有二维坐标的计算出来的采样点,构成静态场景SC;静态场景SC记录了激光雷达采集到的静态物体信息;
步骤2,预定义Nc=7类物体模型,其类型记为class1,class2,...,classNc,对每个i∈{1,2...Nc},在场景SC中生成可以合理摆放类型为classi的物体模型的空间区域,该空间区域称为类型classi的合理区域,记为R[classi]。
本实施例定义了7类物体模型:机动车、非机动车、行人、动物、树木、石块和交通锥;如图3所示,其中的点云部分为步骤1得到的静态场景SC,半透明区域部分为在静态场景SC中手动设置的机动车、行人和交通锥的合理摆放区域;合理摆放区域为一个三维的包围盒结构,保证对应模型类型的物体放置于内部是合理的、不反常的;
步骤3,从预定义模型库中选择Nm=30个物体模型model1,model2,.....,modelNm,并且为每个物体模型modelk确定需要进行模型实例化的数量Nok,由modelk实例化的第j个模型实例记为objk,j,objk,j的类型obj_classk,j定义为modelk所属的模型类型,其中k=1,2,...,Nm,j=1,2,…,Nok。
如图2所示,本实施例的模型库中总共有7类物体模型,每类物体模型都有若干个物体模型实例,这里选择了三类物体模型:机动车、行人和交通锥;其中机动车和交通锥为刚体物体,其几何形状有多边形网格或者三维点云所表示;其中机动车有宝马330、帕萨特、马自达、吉利、领克、本田思域、公交车、混凝土搅拌车、卡玛3货车等9种类型;交通锥为道路标准交通锥,执行JT/T595-2004《锥形交通路标》交通行业标准;
行人为非刚体物体模型,其几何形状由多边形网格所表示,并且包含多个形变姿态,每个形变姿态由一幅骨骼姿态参数或一个多边形网格所定义;骨骼姿态参数为一系列骨骼姿态,每个骨骼姿态为一个树形结构,该树形结构的每个子节点都包含一个位移参数和一个旋转参数,父节点的位移和旋转会同时驱动其所有子节点的位移和旋转;骨骼姿态通过骨骼蒙皮技术驱动非刚体物体模型的顶点;行人包含4组骨骼姿态参数,包括原地idle动画、慢走动画、快走动画和跑步动画; 行人有青年男性、青年女性、老年男性、老年女性、小学生、程序员、孕妇、推婴儿车妇人8种类型;
步骤4,对每个k∈{1,2,...,Nm},对每个j∈{1,2,..., Nok},对每个模型实例objk,j执行以下步骤:
步骤4.1,对模型实例objk,j,记其类型obj_classk,j,obj_classk,j∈{class1,class2,...,classNc},根据模型类型obj_classk,j找到该类型的合理区域R[obj_classk,j];合理区域的划分如图3所示;
步骤4.2,如果objk,j为非刚体且具备多个形变姿态,则按同一概率分布PDk对多个形变姿态进行随机选择,根据选择的形变姿态对objk,j进行几何形状更新。
本实施例中概率分布PDk皆为均匀概率分布,使用GPU端的骨骼蒙皮动画技术(GPUSkinnedMesh)根据形变姿态对物体模型进行几何形状更新;采用动画状态机技术(Animation State Machine)更新形变姿态本身;
步骤4.3,根据一个与模型类型obj_classk,j相关的概率分布AD[obj_classk,j]随机采样生成一个满足合理性条件的仿射变换TRk,j,将TRk,j施加于objk,j,并将经过仿射变换的objk,j放置入场景SC中,若无法生成所述合理性条件的仿射变换,则忽略objk,j。概率分布AD[obj_classk,j]是由两个概率分布密度函数乘积F[obj_classk,j](x,y,z)•G[obj_classk,j](theta, phi)所表示,其中F[obj_classk,j](x,y,z)为空间概率分布密度函数,(x,y,z)为三维坐标,F[obj_classk,j](x,y,z)定义域为该模型类型的合理空间R[obj_classk,j],G[obj_classk,j](phi,theta)为角度概率分布密度函数,phi为经度,0<=phi<360,theta为纬度,0<=theta<=180。
本实施例中,空间概率分布密度函数F[obj_classk,j](x,y,z)和角度概率分布密度函数G[obj_classk,j](theta, phi)使用一个脚本程序生成,该脚本程序加载静态点云场景SC和物体模型对应的合理区域,用户通过脚本程序提供的笔刷设置当前物体模型在当前合理区域下的密度分布,包括空间密度分布和角度密度分布,最终生成离散化的空间概率分布密度表和角度概率分布密度表。
一个满足合理性条件的仿射变换TRk,j必须满足如下条件:
(a)对objk,j施加仿射变换TRk,j后所占据的空间应完全位于R[obj_classk,j]内部;
(b)对objk,j施加仿射变换TRk,j后所占据的空间与任意一个已经放入场景SC中的模型实例所占据的空间不相交。
本实施例中空间的相交性测试使用AABB包围盒碰撞检测算法;本实施例维护一个BVH层次包围体树,将已放入场景SC中的模型实例所占据的空间包围盒添加到该BVH层次包围体树中,上述步骤(b)中的相交测试简化为BVH层次包围体树的遍历操作,可以提高空间碰撞检测的计算效率。
步骤4.4,输出objk,j的模型类型obj_classk,j,输出objk,j的形变姿态或者施加仿射变换TRk,j后所占据的空间boundk,j数据,并选择形变姿态和施加仿射变换TRk,j后所占据的空间boundk,j数据中的一个,连同obj_classk,j,作为objk,j的标注信息。
本实施例中,标注信息包含三维包围盒boundk,j、模型类型obj_classk,j以及用户手动指定的标签信息,该标注信息可以作为后续算法训练的输入数据;
步骤5,为加入了模型实例的场景SC构建空间索引spatial_index。
本实施例中的空间索引spatial_index为一棵BVH层次包围体树,基于场景SC构建BVH层次包围体树spatial_index,将场景SC中点云和多边形数据按照空间分布存储到spatial_index的对应节点中,相邻的点云和多边形被分配到同一个或者相邻的节点中;具体的BVH层次包围体树构建方法如下:
步骤5.1,将场景SC中的所有点云和多边形放入集合ElementSet,并创建BVH节点NodeRoot指向集合ElementSet;
步骤5.2,将集合ElementSet分为两个集合ElementSetL和ElementSetR,并创建两个BVH左右子节点NodeL和NodeR分别指向集合ElementSetL和ElementSetR;设置BVH左右子节点的包围体为对应元素集合的包围体;具体的集合分割方法如下:
步骤5.2.1,计算集合ElementSet中每个元素的包围体中心点构成的包围体,找到其最长轴MaxDim;其中多边形的包围体即为其三维包围盒,点云中每个顶点的包围体为以点云顶点为中心,半径为1cm的三维立方体;
步骤5.2.2,取所有中心点在最长轴MaxDim轴向的值,使用nth_element算法将中心点对应的元素集合ElementSet分成大小相同的两个集合;
步骤5.3,递归执行步骤5.2,直到集合中的元素数量小于预设的阈值max_element_num=5,或者当前节点深度大于预设的阈值max_bvh_depth=12;
步骤6,如图4所示,采用射线投影(Raycasting)算法,利用空间索引spatial_index,对加入了模型实例的场景SC进行重新采样,生成虚实合成的点云数据场景SC2。
图4中的箭头表示激光雷达发射的激光射线,矩形框表示BVH层次包围体树的节点,p0、p1、p2、p3为某节点包含的点云顶点,q0、q1为某节点中的两个多边形与激光射线的交点,d为q0交点与激光射线原点的距离;BVH层次包围体树节点包含点云和多边形两种类型的元素数据,节点中的点云顶点会投影到激光射线上,节点中的多边形会与激光射线进行求交计算;具体的重采样过程包含以下子步骤:
步骤6.1,对场景SC的激光雷达所发出的激光射线进行数学建模,得到每一根激光射线rm的在场景SC坐标空间中的方程表示,m∈{1,2...Nr},Nr为激光射线总数。
本实施例中,激光雷达具有40个激光发射器,这些激光发射器以相同的频率10hz同步发射激光射线,每个激光发射器发出1条激光射线,其起点均为激光雷达上的同一个点,称该点为基准点;每一根激光射线都是从激光雷达的基准点发出;所有激光发射器围绕着过基准点的一根直线进行定轴旋转,称该直线为转轴,垂直于转轴的平面为基准面;同一时刻激光发射器发射的40条射线位于垂直于基准面的平面内,任选转轴一侧方向为转轴方向,这40条激光射线与转轴方向形成的夹角依次为{ -25.1377, -19.1298, -14.1709,.., 14.641 };激光雷达每个扫描周期开始时刻射出的激光射线在基准面上的垂直投影都重合于由基准点发出的一条射线,该射线称为基准线;激光雷达的水平扫描角度范围为[0,360],水平角度分辨率为0.2度,水平采样数量1800;激光雷达上的基准点、基准线、基准面和转轴位置与姿态均定义在固定于激光雷达的物体坐标系中;根据激光雷达的水平扫描角度phim和激光发射器的垂直角度thetam,算出对应的激光射线的数学方程sin(thetam)cos(phim)x+sin(thetam)sin(phim)y+cos(thetam)z=0;激光射线总数Nr=1800*40=72000;
步骤6.2, 对每个m∈{1,2,...,Nr},对激光射线rm进行如下处理:
步骤6.2.1,按照激光射线rm的延伸方向顺序遍历所述空间索引spatial_index,直到找到第一个非空的空间索引叶节点leaf,若未找到非空的空间索引叶节点,则忽略激光射线rm,返回S6.2继续处理下一条激光射线。
本实施例中,空间索引spatial_index为一个优化过的线性BVH层次包围体结构,该空间索引基于莫顿码(Morton Code),将传统的BVH树展开为排序后的一维数据结构,把原来BVH树中的节点按照空间相对位置进行规律排序;BVH树节点的包围体为三维轴对齐包围盒(Axis-Aligned Bounding Box),使用slab算法判断激光射线与AABB包围盒是否相交,具体求交方法如下:
(a)确定候选平面,依次将x/y/z三个轴向的平面方程带入激光射线rm方程,计算当前轴向的两个平面的t值,t值较小的平面与射线先相交,表明它为候选平面;
(b)确定候选平面的方程,平面方程可以定义为隐式方程n*p=d,其中n为平面法向,p为平面上的点,d为原点到平面的距离。由于轴对齐包围盒的slab平面分别平行于坐标轴,因此slab平面的法线总有两个分量是0,而另外一个分量是1,一致使用某个轴分量为1的法线;
(c)计算激光射线rm与3个候选平面的距离分别为t1、t2、t3,与3个候选平面对应的平面的距离分别为t4、t5、t6;
(d)判断交叉点是否在轴对齐包围盒AABB内部,激光射线rm与AABB包围盒碰撞的条件为max(t1, t2, t3)<=min(t4, t5, t6);
步骤6.2.2,定义激光射线rm与空间索引叶节点leaf的求交结果为pAm,并赋予其初值;pAm既可能是原始场景SC中的点云顶点,也可能是后续添加的物体模型的点云顶点或者多边形与激光射线求交的交点;
步骤6.2.3,对非空叶节点leaf中的所有多边形进行与激光射线rm的相交计算,找到距离激光射线rm原点最近的交点,若存在有效交点,则用该有效交点更新pAm;计算激光射线rm原点到pAm的距离d,执行步骤6.2.4,若不存在有效交点,则设置d为一个大于场景SC包围球直径的预设值Dmax=120米。
本实施例中,激光射线与多边形的相交计算的具体方法如下:
(a)使用耳切法(Ear-Cutting)将多边形三角化成多个三角形;
(b)依次遍历三角化后的多个三角形,使用Möller–Trumbore算法计算激光射线与当前三角形的交点;如果有交点,则该交点为激光射线与当前三角形所属的多边形的交点;否则继续进行下一个三角形的交点计算;
产生有效交点的物体表面需要是低透明度材质,例如黑色玻璃、植物、浑浊水面等;或者是漫反射材质,例如墙面、路面、粗糙塑料、布料等;亦或是高反射率材质,例如车漆、反光镜、水面等,并且射线的反方向和交点法向较为重合。有效交点必须满足以下其中之一条件:
a)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的光透射率小于预定阈值c1=20%;
b)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的漫射光反射率大于预定阈值c2=70%;
c)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的漫射光反射率小于预定阈值c3=30%,镜面光反射率大于预定阈值c4=60%,激光射线rm的反方向与该多边形朝向激光射线rm原点的法线方向的夹角小于预定阈值alpha=65度。
步骤6.2.4,遍历非空叶节点leaf中的所有采样点,对每个采样点进行如下处理:计算该采样点到激光射线rm的距离D,如果距离D大于预设阈值Dmax,则忽略该采样点,否则计算该采样点在激光射线rm上的投影点,如果该投影点到激光射线rm原点的距离小于d,则用该投影点更新pAm,并将d更新为该投影点到激光射线rm原点的距离;否则忽略该采样点;
步骤6.2.5, 如果d < Dmax,输出pAm到场景SC2中;场景SC2即为真实采集点云与虚拟物体模型点云的合成点云结果。
在一个实施例中,最终生成的虚实合成点云结果如图5所示,画面中的白色部分为真实场景点云,黑色部分为虚拟场景得到的仿真点云。可以看到,这两种点云能够有机融合到一起,遮挡和远近关系保持一致,体现了本发明的有益效果。
与前述的实施例相对应,本发明还提供了一种虚实合成的激光雷达点云生成装置的实施例,如图6所示,该装置包括一个或多个处理器,用于实现上述激光雷达点云生成方法。
本发明虚实合成的激光雷达点云生成装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的虚实合成的激光雷达点云生成方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(SmartMedia card, SMC)、SD卡、闪存卡(Flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算仉程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储己经输出或者将要输出的数据。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (8)
1.一种虚实合成的激光雷达点云生成方法,其特征在于,该方法包括以下步骤:
S1,使用激光雷达采集真实场景的点云数据,将点云数据中表示动态物体的采样点数据去除,保留点云数据中表示静态物体的采样点数据,保留下的采样点数据形成场景SC;
S2,预定义Nc类物体模型,其类型记为class1,class2,...,classNc,对每个i∈{1,2...Nc},在场景SC中生成可以合理摆放类型为classi的物体模型的空间区域,该空间区域称为类型classi的合理区域,记为R[classi];
S3,从预定义模型库中选择Nm个物体模型model1,model2,.....,modelNm,并且为每个物体模型modelk确定需要进行模型实例化的数量Nok,由modelk实例化的第j个模型实例记为objk,j,objk,j的类型obj_classk,j定义为modelk所属的模型类型,其中k=1,2,...,Nm,j=1,2,…,Nok;
S4,对每个模型实例objk,j执行以下步骤:
S4.1,对模型实例objk,j,记其类型obj_classk,j,obj_classk,j∈{class1,class2,...,classNc},根据模型类型obj_classk,j找到该类型的合理区域R[obj_classk,j];
S4.2,如果objk,j为非刚体且具备多个形变姿态,则按同一概率分布PDk对多个形变姿态进行随机选择,根据选择的形变姿态对objk,j进行几何形状更新;
S4.3, 根据一个与模型类型obj_classk,j相关的概率分布AD[obj_classk,j]随机采样生成一个满足合理性条件的仿射变换TRk,j,将TRk,j施加于objk,j,并将经过仿射变换的objk,j放置入场景SC中,若无法生成满足所述合理性条件的仿射变换,则忽略objk,j;
S4.4,输出objk,j的模型类型obj_classk,j,输出objk,j的形变姿态或者施加仿射变换TRk,j后所占据的空间boundk,j数据,并选择形变姿态和施加仿射变换TRk,j后所占据的空间boundk,j数据中的一个,连同obj_classk,j,作为objk,j的标注信息;
S5,为加入了模型实例的场景SC构建空间索引spatial_index;
S6,采用射线投影算法,利用空间索引spatial_index,对加入了模型实例的场景SC进行重新采样,生成虚实合成的点云数据场景SC2;
所述S4.3中的一个与模型类型oc相关的概率分布AD[obj_classk,j]是由两个概率分布密度函数乘积F[obj_classk,j](x,y,z)•G[obj_classk,j](theta, phi)所表示,其中F[obj_classk,j](x,y,z)为空间概率分布密度函数,(x,y,z)为三维坐标,F[obj_classk,j](x,y,z)定义域为该模型类型的合理空间R[obj_classk,j],G[obj_classk,j](theta,phi)为角度概率分布密度函数,phi为经度,0<=phi<360,theta为纬度,0<=theta<=180;
所述S4.3中的满足合理性条件的仿射变换TRk,j必须满足以下条件:
(a)对objk,j施加仿射变换TRk,j后所占据的空间应完全位于R[obj_classk,j]内部;
(b)对objk,j施加仿射变换TRk,j后所占据的空间与任意一个已经放入场景SC中的模型实例所占据的空间不相交。
2.根据权利要求1所述的虚实合成的激光雷达点云生成方法,其特征在于,所述S3中的预定义物体模型库包括刚体物体模型和非刚体物体模型,刚体物体模型的几何形状由多边形网格或三维点云所表示,非刚体物体模型的几何形状由多边形网格所表示,且每个非刚体物体模型包含至少1个形变姿态,每个形变姿态由一幅骨骼姿态参数或一个多边形网格所定义。
3.根据权利要求1所述的虚实合成的激光雷达点云生成方法,其特征在于,所述S6中对场景SC进行重新采样包含以下子步骤:
S6.1,对场景SC的激光雷达所发出的激光射线进行数学建模,得到每一根激光射线rm的在场景SC坐标空间中的方程表示,m∈{1,2...Nr},Nr为激光射线总数;
S6.2, 对每个激光射线rm,m∈{1,2,...,Nr}进行如下处理:
S6.2.1,按照激光射线rm的延伸方向顺序遍历所述空间索引spatial_index,直到找到第一个非空的空间索引叶节点leaf,若未找到非空的空间索引叶节点,则忽略激光射线rm,返回S6.2继续处理下一条激光射线;
S6.2.2, 定义激光射线rm与空间索引叶节点leaf的求交结果为pAm,并赋予其初值;
S6.2.3,对非空叶节点leaf中的所有多边形进行与激光射线rm的相交计算,找到距离激光射线rm原点最近的交点,若存在有效交点,则用该有效交点更新pAm;计算激光射线rm原点到pAm的距离d,执行步骤S6.2.4, 若不存在有效交点,则设置d为一个大于场景SC包围球直径的预设值Dmax;
S6.2.4,遍历非空叶节点leaf中的所有采样点,对每个采样点进行如下处理:计算该采样点到激光射线rm的距离D,如果距离D大于预设阈值Dmax,则忽略该采样点,否则计算该采样点在激光射线rm上的投影点,如果该投影点到激光射线rm原点的距离小于d,则用该投影点更新pAm,并将d更新为该投影点到激光射线rm原点的距离;否则忽略该采样点;
S6.2.5, 如果d < Dmax,输出pAm到场景SC2中。
4.根据权利要求3所述的虚实合成的激光雷达点云生成方法,其特征在于,所述S6.2.3中的有效交点,满足以下其中之一条件:
(a)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的光透射率小于预定阈值c1;
(b)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的漫射光反射率大于预定阈值c2;
(c)有效交点为激光射线rm与某一多边形的交点,且该多边形的材质的漫射光反射率小于预定阈值c3,镜面光反射率大于预定阈值c4,激光射线rm的反方向与该多边形朝向激光射线rm原点的法线方向的夹角小于预定阈值alpha。
5.根据权利要求1所述的虚实合成的激光雷达点云生成方法,其特征在于,所述S3中,根据用户交互或预定程序从预定义模型库中选择Nm个物体模型,Nm为用户指定或预先定义。
6.根据权利要求1所述的虚实合成的激光雷达点云生成方法,其特征在于,所述S4.2中的概率分布PDk由用户设定或由程序设定。
7.根据权利要求3所述的虚实合成的激光雷达点云生成方法,其特征在于,函数F[obj_classk,j](x,y,z)和G[obj_classk,j](theta, phi)根据模型类型obj_classk,j由用户设定或由程序设定。
8.一种虚实合成的激光雷达点云生成装置,其特征在于,包括一个或者多个处理器,用于实现权利要求1-7中任一项所述的虚实合成的激光雷达点云生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210281920.XA CN114386293B (zh) | 2022-03-22 | 2022-03-22 | 一种虚实合成的激光雷达点云生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210281920.XA CN114386293B (zh) | 2022-03-22 | 2022-03-22 | 一种虚实合成的激光雷达点云生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114386293A CN114386293A (zh) | 2022-04-22 |
CN114386293B true CN114386293B (zh) | 2022-07-08 |
Family
ID=81204803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210281920.XA Active CN114386293B (zh) | 2022-03-22 | 2022-03-22 | 一种虚实合成的激光雷达点云生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114386293B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116245754B (zh) * | 2022-12-29 | 2024-01-09 | 北京百度网讯科技有限公司 | 图像处理方法、装置、电子设备和存储介质 |
CN116467848B (zh) * | 2023-03-21 | 2023-11-03 | 之江实验室 | 一种毫米波雷达点云仿真的方法和装置 |
CN116863432B (zh) * | 2023-09-04 | 2023-12-22 | 之江实验室 | 基于深度学习的弱监督激光可行驶区域预测方法和*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273312A (zh) * | 2020-01-15 | 2020-06-12 | 吉林大学 | 一种智能车辆定位与回环检测方法 |
CN112256589A (zh) * | 2020-11-11 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 一种仿真模型的训练方法、点云数据的生成方法及装置 |
CN112652045A (zh) * | 2020-12-30 | 2021-04-13 | 哈尔滨工业大学(威海) | 一种面向自动驾驶虚实融合测试的点云融合方法及其应用 |
CN113009506A (zh) * | 2021-02-22 | 2021-06-22 | 西安交通大学 | 一种虚实结合的实时激光雷达数据生成方法、***及设备 |
CN114119850A (zh) * | 2022-01-26 | 2022-03-01 | 之江实验室 | 一种虚实激光雷达点云的融合方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109410256B (zh) * | 2018-10-29 | 2021-10-15 | 北京建筑大学 | 基于互信息的点云与影像自动高精度配准方法 |
CN112634181B (zh) * | 2019-09-24 | 2024-06-14 | 阿波罗智能技术(北京)有限公司 | 用于检测地面点云点的方法和装置 |
-
2022
- 2022-03-22 CN CN202210281920.XA patent/CN114386293B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273312A (zh) * | 2020-01-15 | 2020-06-12 | 吉林大学 | 一种智能车辆定位与回环检测方法 |
CN112256589A (zh) * | 2020-11-11 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 一种仿真模型的训练方法、点云数据的生成方法及装置 |
CN112652045A (zh) * | 2020-12-30 | 2021-04-13 | 哈尔滨工业大学(威海) | 一种面向自动驾驶虚实融合测试的点云融合方法及其应用 |
CN113009506A (zh) * | 2021-02-22 | 2021-06-22 | 西安交通大学 | 一种虚实结合的实时激光雷达数据生成方法、***及设备 |
CN114119850A (zh) * | 2022-01-26 | 2022-03-01 | 之江实验室 | 一种虚实激光雷达点云的融合方法和装置 |
Non-Patent Citations (3)
Title |
---|
Philipp Bauer et al.Registration strategy of point clouds based on region-specific projections and virtual structures for robot-based inspection systems.《Measurement》.2021, * |
林炽杰.基于ROS的机器人集群虚实协同导航***研究与实现.《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》.2022,第2022年卷(第3期), * |
钟泽宇.基于激光雷达点云的自动驾驶场景语义理解方法.《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》.2021,第2021年卷(第1期), * |
Also Published As
Publication number | Publication date |
---|---|
CN114386293A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114386293B (zh) | 一种虚实合成的激光雷达点云生成方法和装置 | |
Schauer et al. | The peopleremover—removing dynamic objects from 3-d point cloud data by traversing a voxel occupancy grid | |
CN101533529B (zh) | 基于深度图像的三维空间数据处理方法与装置 | |
Adamson et al. | Ray tracing point set surfaces | |
US6825839B2 (en) | Method and apparatus for generating atomic parts of graphic representation through skeletonization for interactive visualization applications | |
US7773088B2 (en) | Simultaneous simulation of markov chains using quasi-monte carlo techniques | |
Rottensteiner | Semi-automatic extraction of buildings based on hybrid adjustment using 3D surface models and management of building data in a TIS | |
CN112633657B (zh) | 一种施工质量管理方法、装置、设备及存储介质 | |
CN113009506B (zh) | 一种虚实结合的实时激光雷达数据生成方法、***及设备 | |
CN106846392A (zh) | 三维建模的方法和装置 | |
CN102044089A (zh) | 一种三维模型的自适应化简、渐进传输和快速绘制的方法 | |
Scheiblauer | Interactions with gigantic point clouds | |
CN106127857A (zh) | 综合数据驱动与模型驱动的机载LiDAR数据建模方法 | |
CN113066162A (zh) | 一种用于电磁计算的城市环境快速建模方法 | |
Ogayar et al. | Point in solid strategies | |
Novák et al. | Rasterized bounding volume hierarchies | |
Ma et al. | Rapid reconstruction of a three-dimensional mesh model based on oblique images in the Internet of Things | |
Wiemann et al. | Automatic Map Creation For Environment Modelling In Robotic Simulators. | |
Qin et al. | Research and application of Boolean operation for triangular mesh model of underground space engineering—Boolean operation for triangular mesh model | |
Sahebdivani et al. | Deep learning based classification of color point cloud for 3D reconstruction of interior elements of buildings | |
Tang et al. | Skeleton-guided generation of synthetic noisy point clouds from as-built BIM to improve indoor scene understanding | |
Xiong | Reconstructing and correcting 3d building models using roof topology graphs | |
Gonzálvez et al. | From point cloud to surface: Modeling structures in laser scanner point clouds | |
Byrne et al. | Applications of the VOLA format for 3D data knowledge discovery | |
Schauer Marin Rodrigues | Detecting Changes and Finding Collisions in 3D Point Clouds: Data Structures and Algorithms for Post-Processing Large Datasets |
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 |