发明名称 一种点云简化滤波方法
摘要 本发明提供了一种点云简化滤波方法,首先建立角度距离坐标系oxyz,而后化分柱体,每个最小柱体内的点简化为一个三维角距点。而后当前柱体的三维角距点利用上下左右柱体的三维角距点进行滤波。将角度距离坐标系oxyz中的滤波后的三维角距点转换到三维位置坐标系o’x’y’z’中的三维坐标点后,进一步通过柱体分割,简化为三维距离点。而后在三维位置坐标系o’x’y’z’中,当前柱体的三维距离点利用上下左右柱体的三维距离点进一步进行滤波。本发明的方法点云精简与滤波精度高、运算速度快、并且占用存储器空间小。
申请公布号 CN106570835A 申请公布日期 2017.04.19
申请号 CN201610945630.5 申请日期 2016.11.02
申请人 北京控制工程研究所 发明人 刘达;王立;李轶;朱飞虎;吴云;郭绍刚;刘忠汉
分类号 G06T5/00(2006.01)I;G01B11/24(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 陈鹏
主权项 一种点云简化滤波方法,其特征在于,包括步骤如下:(1)以激光扫描仪激光发射点为坐标原点o,以水平方向为x轴,竖直方向为y轴,z轴与x、y轴满足右手定则,建立角度距离坐标系oxyz;其中,x轴坐标表示激光扫描仪左右水平摆动角度α,定义向左为正;y轴坐标表示激光扫描仪上下竖直摆动角度β,定义向上为正;z轴坐标表示激光扫描仪激光发射点至目标的距离值L;激光扫描目标,在角度距离坐标系中形成点云;(2)在角度距离坐标系oxyz中,以最小x坐标值为起点、最大x坐标值为终点,在x轴上以间隔Tx划分出m个垂直于x轴的平面;以最小y坐标值为起点、最大y坐标值为终点,在y轴上以间隔Ty划分出n个垂直于y轴的平面,形成(m‑1)×(n‑1)个柱体,;其中,m、n均为大于等于2的正整数;(3)比较每个柱体内各点的z坐标,取z坐标的最大值LMAX与最小值LMIN,如果最大值LMAX与最小值LMIN的差大于设定的阈值T,则在该柱体沿x轴的边的中点处划出一个垂直于x轴的平面,在该柱体沿y轴的边的中点处划出一个垂直于y轴的平面,将该柱体均分为4份;(4)重复步骤(3)直至每个柱体内所有点的z坐标的最大值LMAX与最小值LMIN的差小于等于设定的阈值T;(5)求取步骤(3)、步骤(4)中获得的每个柱体内各点的z坐标的平均值LM;将每个柱体内各点以|L‑LM|的值为排序条件,从小到大排序,取排序序列中排在前面占该柱体内总点数k%的点作为该柱体内最终剩余点,去除其余点;k%为设定的取值百分比;(6)将步骤(5)中获得的每个柱体内最终剩余点简化为一个点,定义为三维角距点,每个三维角距点在角度距离坐标系中的x、y、z坐标分别为该三维角距点对应的柱体内最终剩余点的x、y、z坐标的平均值;(7)对步骤(6)中每个三维角距点的坐标进行滤波,公式如下:Xf=X×px1+(X<sub>上</sub>+X<sub>下</sub>+X<sub>左</sub>+X<sub>右</sub>)/N×px2;Yf=Y×py1+(Y<sub>上</sub>+Y<sub>下</sub>+Y<sub>左</sub>+Y<sub>右</sub>)/N×py2;Zf=Z×pz1+(Z<sub>上</sub>+Z<sub>下</sub>+Z<sub>左</sub>+Z<sub>右</sub>)/N×pz2;其中,X、Y、Z分别是当前三维角距点在角度距离坐标系oxyz中的x、y、z坐标值;X<sub>上</sub>、Y<sub>上</sub>、Z<sub>上</sub>分别为当前三维角距点在角度距离坐标系oxyz中沿y轴正方向的相邻柱体对应的三维角距点x、y、z坐标值的平均值;X<sub>下</sub>、Y<sub>下</sub>、Z<sub>下</sub>分别为当前三维角距点在角度距离坐标系oxyz中沿y轴负方向的相邻柱体对应的三维角距点x、y、z坐标值的平均值;X<sub>左</sub>、Y<sub>左</sub>、Z<sub>左</sub>为当前三维角距点在角度距离坐标系oxyz中沿x轴正方向的相邻柱体对应的三维角距点x、y、z坐标值的平均值;X<sub>右</sub>、Y<sub>右</sub>、Z<sub>右</sub>为当前三维角距点在角度距离坐标系oxyz中沿x轴负方向的相邻柱体对应的三维角距点x、y、z坐标值的平均值;如果当前三维角距点沿x或y轴正负方向某一方向没有相邻的柱体或者相邻柱体内没有点时,则该方向对应的X<sub>上</sub>、Y<sub>上</sub>、Z<sub>上</sub>或X<sub>下</sub>、Y<sub>下</sub>、Z<sub>下</sub>或X<sub>左</sub>、Y<sub>左</sub>、Z<sub>左</sub>或X<sub>右</sub>、Y<sub>右</sub>、Z<sub>右</sub>分别取0;N为x轴正负方向、y轴正负方向四个方向中当前三维角距点有相邻柱体且柱体内有点的方向的个数;px1、px2、py1、py2、pz1、pz2均为设定的系数,并且px1+px2=1、py1+py2=1、pz1+pz2=1;Xf、Yf、Zf分别为当前三维角距点在角度距离坐标系oxyz中滤波后的坐标;(8)以激光扫描仪激光发射点为坐标原点o’,以水平方向为x’轴,向左为正,以竖直方向为y’轴,向上为正,z’轴与x’、y’轴满足右手定则,建立三维位置坐标系o’x’y’z’,其中,x’轴坐标表示点云中各点相对坐标原点o’的距离在x’轴的分量,y’轴坐标表示点云中各点相对坐标原点o’的距离在y’轴的分量,z’轴坐标表示点云中各点相对坐标原点o’的距离在z’轴的分量;将步骤(7)中滤波后获得的每个三维角距点在角度距离坐标系oxyz中的坐标转换至三维位置坐标系o’x’y’z’中,获得每个三维角距点在三维位置坐标系o’x’y’z’中对应的坐标,将转换到三维位置坐标系o’x’y’z’中的点定义为三维坐标点;(9)在三维位置坐标系o’x’y’z’中,以三维坐标点最小x’坐标值为起点、最大x’坐标值为终点,在x’轴上以间隔Tx’划分出h个垂直于x’轴的平面;以最小y’坐标值为起点、最大y’坐标值为终点,在y’轴上以间隔Ty’划分出q个垂直于y’轴的平面,形成(h‑1)×(q‑1)个柱体;h、q均为大于等于2的正整数;(10)在三维位置坐标系o’x’y’z’中,将步骤(9)中每个柱体内所有三维坐标点简化为一个点,定义为三维距离点,三维距离点的x’、y’、z’坐标分别为该三维距离点对应的柱体内所有三维坐标点的x’、y’、z’坐标的平均值;(11)对步骤(10)中每个三维距离点在三维位置坐标系o’x’y’z’中的坐标进行滤波,公式如下:Xf’=X’×px’1+(X’<sub>上</sub>+X’<sub>下</sub>+X’<sub>左</sub>+X’<sub>右</sub>)/N’×px’2;Yf’=Y’×py’1+(Y’<sub>上</sub>+Y’<sub>下</sub>+Y’<sub>左</sub>+Y’<sub>右</sub>)/N’×py’2;Zf’=Z’×pz’1+(Z’<sub>上</sub>+Z’<sub>下</sub>+Z’<sub>左</sub>+Z’<sub>右</sub>)/N’×pz’2;其中,X’、Y’、Z’分别是当前三维距离点在三维位置坐标系o’x’y’z’中的x’、y’、z’轴坐标;X’<sub>上</sub>、Y’<sub>上</sub>、Z’<sub>上</sub>分别为当前三维距离点在三维位置坐标系o’x’y’z’中沿y’轴正方向相邻柱体对应的三维距离点的x’、y’、z’坐标值的平均值;X’<sub>下</sub>、Y’<sub>下</sub>、Z’<sub>下</sub>分别为当前三维距离点在三维位置坐标系o’x’y’z’中沿y’轴负方向相邻柱体对应的三维距离点x’、y’、z’坐标值的平均值;X’<sub>左</sub>、Y’<sub>左</sub>、Z’<sub>左</sub>为当前三维距离点在三维位置坐标系o’x’y’z’中沿x’轴正方向的相邻柱体对应的三维距离点x’、y’、z’坐标值的平均值;X’<sub>右</sub>、Y’<sub>右</sub>、Z’<sub>右</sub>为当前三维距离点在三维位置坐标系o’x’y’z’中沿x’轴负方向相邻柱体对应的三维距离点x’、y’、z’坐标值的平均值;如果当前三维距离点沿x’或y’轴正负方向某一方向没有相邻的柱体或者相邻柱体内没有点时,则该方向对应X’<sub>上</sub>、Y’<sub>上</sub>、Z’<sub>上</sub>或X’<sub>下</sub>、Y’<sub>下</sub>、Z’<sub>下</sub>或X’<sub>左</sub>、Y’<sub>左</sub>、Z’<sub>左</sub>或X’<sub>右</sub>、Y’<sub>右</sub>、Z’<sub>右</sub>分别取0;N’为x’轴正负方向、y’轴正负方向四个方向中当前三维距离点有相邻柱体且柱体内有点的方向的个数;px’1、px’2、py’1、py’2、pz’1、pz’2为系数,并且px’1+px’2=1、py’1+py’2=1、pz’1+pz’2=1;Xf’、Yf’、Zf’为当前三维距离点在三维位置坐标系o’x’y’z’中滤波后的最终坐标。
地址 100080 北京市海淀区北京2729信箱