法律状态公告日
法律状态信息
法律状态
2022-04-12
未缴年费专利权终止 IPC(主分类):G06F17/50 专利号:ZL2016102364726 申请日:20160415 授权公告日:20181019
专利权的终止
2018-10-19
授权
授权
2016-09-07
实质审查的生效 IPC(主分类):G06F17/50 申请日:20160415
实质审查的生效
2016-08-10
公开
公开
技术领域:
本发明属于计算机仿真领域,具体涉及基于光束和三角面片求交的激光扫描成像快速仿真方法。
背景技术:
三维激光扫描成像是林肯实验室在美国国防部资助下于20世纪70年代末率先开始研究的,主要用于军事领域目标探测、低空飞行器的障碍物规避和地形跟踪等。国内主要有国防科技大学、华中科技大学、浙江大学等单位参与激光扫描成像系统的研制,取得一定成果,但仍与世界领先水平具有较大差距。激光器、微电机系统、探测器元件等相关技术的发展,促进新一代激光扫描成像系统的研制;三维立体视觉核心算法发展不够成熟,激励着我们做更多有意义的探索。
总而言之,现有的激光三维扫描成像技术与世界领先水平的差距、相关算法的不成熟,鞭笞着我们加速系统硬件和算法的研究进程;新技术的发展为新型系统的研发提供了可能,激励着我们致力于新型激光三维扫描成像系统研发工作,抢占先机。然而,激光三维扫描成像系统研制成本高昂,周期漫长。因此,开发可靠的激光扫描成像仿真方法,提高系统设计、验证效率,降低研制成本、缩短研制周期,具有重要研究意义。
然而目前国内激光扫描成像的仿真技术发展非常缓慢,公开发表的研究成果为数不多,华中科技大学余德军、北京航空航天大学吴丽娟等有开展相关仿真研究工作,但研究对象着重于噪声模型、传输特性等分析。
本发明公开的基于光束和三角面片求交的激光扫描成像快速仿真方法,是在分析激光扫描成像基本原理的基础上,提出的一种对三维目标进行快速仿真计算的核心算法,适用于任意扫描结构的激光三维成像系统对任意目标的仿真成像。若辅以激光传输效应分析、系统噪声模型分析、环境与背景分析等,则可实现复杂场景的高真实感仿真成像。因此,本发明为激光扫描成像样机设计仿真验证提供了一种有效方法,降低错误成本;更为重要的是,本发明方法仿真生成的距离图像或点云数据,可作为目标三维成像、识别、跟踪等算法测试的数据源,缩短整套系统的研制周期。
发明内容:
针对当前激光扫描成像系统研制的迫切性以及相关仿真技术的不完善性,本发明提出基于光束和三角面片求交的激光扫描成像快速仿真方法,仿真结果表明该方法能有效实现扫描成像系统对复杂目标的仿真成像,且仿真速度快,其仿真图像可用于三维重建、目标识别等算法开发,有效缩短了整套激光扫描成像系统的研制周期。
实现本发明的技术解决方案为:基于光束和三角面片求交的激光扫描成像快速仿真方法,在遍历扫描激光光束求解其与目标三角网格模型各面片的相交情况时,引入局部搜索,局部搜索半径根据行扫描线分辨率估算确定,并根据实际搜索情况自动进行调整,以提高仿真速度,尤其对于球状性大的目标而言,使用本发明方法进行仿真,速度提高非常明显。具体步骤如下:
步骤1:使用三维绘图软件3DMax,绘制目标空间三角网格模型,以OBJ等文件格式导出,导出文件中包含三角网格模型顶点位置、面片顶点序号等信息。
步骤2:根据激光扫描结构推导激光扫描方程其中i是激光光束行编号,i=1,2..m,m是激光扫描行数;j是激光光束列编号,j=1,2..n,n是激光扫描列数。表示m×n阵列扫描光束出射方向的单位方向矢量;根据激光扫描方程,分析激光行扫描方向上的角度分辨率α,演算激光光束参数方程;根据激光光束参数方程,仿真出激光扫描光束在测量装置正前方指定距离处墙面上的扫描轨迹,将其扫描范围具象化。激光扫描成像系统在y=D墙面上的扫描轨迹仿真步骤如下:
(2-1):根据激光扫描方程,分析激光行扫描方向上的角度分辨率α,演算激光光束参数方程具体公式如下:
其中(xo,yo,zo)为激光出射点O空间三维坐标,为m×n阵列激光光束末端与激光出射点的距离图像,其尺寸为m×n,.*表示矩阵点乘运算。
(2-2):激光成像系统在目标表面留下的扫描痕迹,是扫描光束与目标表面交点的集合。激光扫描光束若与墙面相交,则其参数坐标满足y=D,由此可得该光束与激光出射点的距离大小为:
其中·/表示矩阵点除运算,将距离代入激光光束参数方程,可得激光光束与墙面交点坐标如下式所示:
上式中代入激光扫描方程即可得到y=D墙面上完整的激光扫描轨迹,具象地表达出该扫描成像系统在y=D处的扫描范围。
步骤3:在仿真环境Matlab中,导入目标模型文件,读取目标空间三角网格模型顶点坐标node_xyz和面片信息face_node,其中node_xyz为3×num_node矩阵,矩阵每列存放一个顶点的空间三维坐标,num_node为顶点总数,face_node为3×num_face矩阵,矩阵的每列存放一个三角面片的三个有序顶点的顶点索引值,num_face为三角面片总数;计算目标包围球球心位置C和半径大小r;估算激光光束在目标表面行扫描方向上的线分辨率l=r+α×dist ance(C,O),其中distance(C,O)表示目标包围球球心C和激光光束出射位置O两点间欧氏距离;将目标几何变换至成像系统视场范围内,其几何变换矩阵根据目标包围球位置、半径大小以及成像系统扫描范围确定。
步骤4:基于光束和三角面片求交法,在遍历激光扫描光束求解其与目标三角模型各面片的相交情况时,引入局部搜索技术,加速仿真成像过程,生成目标距离图像,结合激光光束方程即可获得扫描阵列点云。其具体方法步骤如下:
(4-1):遍历激光扫描光束,在遍历每一行激光光束前将“脱靶”标记state复位,即state=0。后续激光光束根据该标志是否置位决定是否进入局部搜索过程。
(4-2):对于第i行第j列激光光束,首先判断该激光光束是否与球心位置为(xc,yc,zc)、半径为r的包围球相交。若相交,则继续步骤(4-3),判断该光束是 否与目标三角模型相交;否则表明该激光光束“脱靶”,即没有照射在目标上,记录不改变state值,j++,跳转至步骤(4-1),遍历至下一激光光束。
若光束与包围球相交,则将光束参数方程代入包围球方程后所得一元二次方程有解。包围球方程为:
将第i行第j列激光光束参数方程代入包围球方程,整理所得一元二次方程为:
所以该激光光束与包围球是否相交,等价于上述一元二次方程Δ值是否大于等于0。
(4-3):判断该激光光束是否与目标三角模型相交。根据“脱靶”标志state的值决定是否引入局部搜索技术。若state=0,进入步骤(4-4),遍历目标三角网格模型所有三角面片,基于光束和三角面片求交法,求解交点位置;若state=1,跳转至步骤(4-5),遍历位于上一激光光束与目标模型交点搜索半径内的三角面片,基于光束和三角面片求交法,求解交点位置。
(4-4):遍历目标三角网格模型三角面片,基于光束和三角面片求交法,依次求解该激光光束与各三角面片所在平面的交点P=O+tDij,其中t是交点P与激光出射点O的距离,是该激光光束方向。若交点P位于相应的三角面片内部,则P为该激光光束与目标空间三角网格模型的相交位置,记录R(i,j)=t,置位state=1,j++,跳转至步骤(4-1),遍历至下一激光光束;否则,继续遍历下一个三角面片。若遍历模型所有三角面片后,交点均不位于相应的三角面片内部,则表明该激光光束“脱靶”,记录 R(i,j)=0,不改变state值,j++,跳转至步骤(4-1),遍历至下一激光光束。
(4-5):首先将搜索半径设置成激光行扫描方向上的线分辨率wr=l,搜索出与上一交点P距离小于wr的顶点,将顶点序号记录在集合PC中;若集合PC为空集合,则扩大搜索半径wr=1.5×wr再次进行顶点搜索,直至PC非空;搜索出包含PC中顶点的三角面片,将面片序号记录在集合FC中;遍历FC中三角面片,基于光束和三角面片求交法,依次求解该激光光束与各三角面片所在平面的交点P=O+tDij。若交点P位于相应的三角面片内部,则记录R(i,j)=t,置位state=1,j++,跳转至步骤(4-1),遍历至下一激光光束;否则,继续遍历下一个三角面片。若遍历FC中所有三角面片后,交点均不位于相应的三角面片内部,则记录复位state=0,j++,跳转至步骤(4-1),遍历至下一激光光束。
(4-6):激光扫描光束遍历结束,输出m×n距离图像结合激光光束方程即可获得扫描阵列点云,具体公式如下:
其中分别表示阵列点云在x,y,z轴向上的坐标。下面结合附图对本发明作进一步详细描述。
附图说明
图1:基于光束和三角面片求交的激光扫描成像快速仿真流程图。
图2:某激光扫描成像装置在y=200m处墙面上的扫描轨迹仿真图,扫描矩阵大小为16×101。
图3:Matlab中导入的3DMax绘制的飞机三角网格原始模型。
图4:几何变换至激光扫描成像视场中的飞机三角网格模型。
图5:按照本发明方法进行仿真生成的距离图像,图像大小为16×101,其中激光出射点位置为(0,0,0)。
图6:依据仿真生成的距离图像和推导的激光扫描方程,仿真计算出的飞机点云数据。
具体实施方式:
下面根据附图对本发明的具体实施方式作进一步的详细说明。
图1是基于光束和三角面片求交的激光扫描成像快速仿真的流程图。参考该流程图,本发明的具体实施过程大体上可分为以下四个步骤:
步骤1:使用三维绘图软件3DMax,绘制目标空间三角网格模型,以OBJ等文件格式导出,导出文件中包含三角网格模型顶点位置、面片顶点序号等信息。
步骤2:根据激光扫描结构推导激光扫描方程其中i是激光光束行编号,i=1,2..m,m是激光扫描行数;j是激光光束列编号,j=1,2..n,n是激光扫描列数。表示m×n阵列扫描光束出射方向的单位方向矢量;根据激光扫描方程,分析激光行扫描方向上的角度分辨率α,演算激光光束参数方程;根据激光光束参数方程,仿真出激光扫描光束在测量装置正前方指定距离处墙面上的扫描轨迹,将其扫描范围具象化。仿真某激光扫描成像装置在y=200m处墙面上的扫描轨迹如图2所示,该成像系统激光扫描矩阵参数m=16,n=101,由图2可知其在y=200m处的扫描范围近似为x∈[-50m,50m],z∈[10m,70m]。激光扫描成像系统在y=D墙面上的扫描轨迹仿真步骤如下:
(2-1):根据激光扫描方程,分析激光行扫描方向上的角度分辨率α,演算激光光束参数方程具体公式如下:
其中(xo,yo,zo)为激光出射点O空间三维坐标,为m×n阵列激光光束末端与激光出射点的距离图像,其尺寸为m×n,.*表示矩阵点乘运算;
(2-2):激光成像系统在目标表面留下的扫描痕迹,是扫描光束与目标表面交点的集合。激光扫描光束若与墙面相交,则其参数坐标满足y=D,由此可得该光束与激光出射点的距离大小为:
其中·/表示矩阵点除运算,将距离代入激光光束参数方程,可得激光光束与墙面交点坐标如下式所示:
上式中代入激光扫描方程即可得到y=D墙面上完整的激光扫描轨迹,具象地表达出该扫描成像系统在y=D处的扫描范围。
步骤3:在仿真环境Matlab中,导入目标模型文件,图3是在Matlab中导入的3DMax绘制的飞机三角网格原始模型;读取目标空间三角网格模型顶 点坐标node_xyz和面片信息face_node,其中node_xyz为3×num_node矩阵,矩阵每列存放一个顶点的空间三维坐标,num_node为顶点总数,face_node为3×num_face矩阵,矩阵的每列存放一个三角面片的三个有序顶点的顶点索引值,num_face为三角面片总数;计算目标包围球球心位置C和半径大小r;估算激光光束在目标表面行扫描方向上的线分辨率l=r+α×distance(C,O),其中distance(C,O)表示目标包围球球心C和激光光束出射位置O两点间欧氏距离;将目标几何变换至成像系统视场范围内,其几何变换矩阵根据目标包围球位置、半径大小以及成像系统扫描范围确定,图4是几何变换至激光扫描成像视场中的飞机三角网格模型,观察可知该飞机的空间位置大致处于x∈[-10m,50m],y∈[180m,195m],z∈[0m,50m],位于激光扫描成像视场范围内。
步骤4:基于光束和三角面片求交法,在遍历激光扫描光束求解其与目标三角模型各面片的相交情况时,引入局部搜索技术,加速仿真成像过程,生成目标距离图像,结合激光光束方程即可获得扫描阵列点云。图5是按照本发明方法进行仿真生成的16×101距离图像,图6是依据仿真生成的距离图像和推导的激光扫描方程,仿真计算出的飞机点云数据,其中激光出射点位置为(0,0,0)。具体方法步骤如下:
(4-1):遍历激光扫描光束,在遍历每一行激光光束前将“脱靶”标记state复位,即state=0。后续激光光束根据该标志是否置位决定是否进入局部搜索过程;
(4-2):对于第i行第j列激光光束,首先判断该激光光束是否与球心位置为(xc,yc,zc)、半径为r的包围球相交。若相交,则继续步骤(4-3),判断该光束是 否与目标三角模型相交;否则表明该激光光束“脱靶”,即没有照射在目标上,记录不改变state值,j++,跳转至步骤(4-1),遍历至下一激光光束。
若光束与包围球相交,则将光束参数方程代入包围球方程后所得一元二次方程有解。包围球方程为:
将第i行第j列激光光束参数方程代入包围球方程,整理所得一元二次方程为:
所以该激光光束与包围球是否相交,等价于上述一元二次方程Δ值是否大于等于0。
(4-3):判断该激光光束是否与目标三角模型相交。根据“脱靶”标志state的值决定是否引入局部搜索技术。若state=0,进入步骤(4-4),遍历目标三角网格模型所有三角面片,基于光束和三角面片求交法,求解交点位置;若state=1,跳转至步骤(4-5),遍历位于上一激光光束与目标模型交点搜索半径内的三角面片,基于光束和三角面片求交法,求解交点位置;
(4-4):遍历目标三角网格模型三角面片,基于光束和三角面片求交法,依次求解该激光光束与各三角面片所在平面的交点P=O+tDij,其中t是交点P与激光出射点O的距离,是该激光光束方向。若交点P位于相应的三角面片内部,则P为该激光光束与目标空间三角网格模型的相交位置,记录R(i,j)=t,置位state=1,j++,跳转至步骤(4-1),遍历至下一激光光束;否则,继续遍历下一个三角面片。若遍历模型所有三角面片后,交点均不位于相应的三角面片内部,则表明该激光光束“脱靶”,记录 R(i,j)=0,不改变state值,j++,跳转至步骤(4-1),遍历至下一激光光束;
(4-5):首先将搜索半径设置成激光行扫描方向上的线分辨率wr=l,搜索出与上一交点P距离小于wr的顶点,将顶点序号记录在集合PC中;若集合PC为空集合,则扩大搜索半径wr=1.5×wr再次进行顶点搜索,直至PC非空;搜索出包含PC中顶点的三角面片,将面片序号记录在集合FC中;遍历FC中三角面片,基于光束和三角面片求交法,依次求解该激光光束与各三角面片所在平面的交点P=O+tDij。若交点P位于相应的三角面片内部,则记录R(i,j)=t,置位state=1,j++,跳转至步骤(4-1),遍历至下一激光光束;否则,继续遍历下一个三角面片。若遍历FC中所有三角面片后,交点均不位于相应的三角面片内部,则记录复位state=0,j++,跳转至步骤(4-1),遍历至下一激光光束;
(4-6):激光扫描光束遍历结束,输出m×n距离图像结合激光光束方程即可获得扫描阵列点云,具体公式如下:
其中分别表示阵列点云在x,y,z轴向上的坐标。
机译: 快速定位系统,用于高能光束,例如在激光加工中,是基于相对于光束准直和聚焦单元可横向移动的能源
机译: 多光束激光扫描系统包括:分束器,用于将初始激光束分为第一和第二激光束;以及扫描单元,用于基于控制信号分别将光束偏转到所需方向
机译: 产生模式跳跃并求平均的光散射测量装置的激光束输出控制方法及照明系统