首页> 中国专利> 基于点云数据的交互式选取物体表面坐标点的方法

基于点云数据的交互式选取物体表面坐标点的方法

摘要

本发明公开一种基于点云数据的交互式选取物体表面坐标点的方法。旨在解决当前点云数据处理缺少交互式选取物体表面坐标点的方法的技术问题,本方法主要由(1)由点云数据的渲染;(2)求解经过给定像素点的用户视线方程;(3)筛选用户视线附近的点云;(4)提取用户视线附近点云中的有效点集;(5)曲面拟合有效点集;(6)求解用户视线和拟合曲面的交点共六大步骤予以实现;借助本方法可以将鼠标的窗口动作映射为对物体表面的操作,以实现对点云数据的交互式操作。

著录项

  • 公开/公告号CN103914871A

    专利类型发明专利

  • 公开/公告日2014-07-09

    原文格式PDF

  • 申请/专利权人 河南农业大学;

    申请/专利号CN201410080418.8

  • 申请日2014-03-06

  • 分类号G06T17/00(20060101);G06T19/00(20110101);

  • 代理机构41123 河南科技通律师事务所;

  • 代理人张建东

  • 地址 450002 河南省郑州市金水区农业路63号

  • 入库时间 2024-02-19 23:58:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-10

    专利权的转移 IPC(主分类):G06T17/00 登记生效日:20170918 变更前: 变更后: 申请日:20140306

    专利申请权、专利权的转移

  • 2017-10-10

    著录事项变更 IPC(主分类):G06T17/00 变更前: 变更后: 申请日:20140306

    著录事项变更

  • 2016-06-08

    授权

    授权

  • 2014-08-06

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20140306

    实质审查的生效

  • 2014-07-09

    公开

    公开

说明书

技术领域

本发明涉及点云数据的分析处理领域,尤其涉及一种基于点云数据的交 互式选取物体表面坐标点的方法。

背景技术

随着3D激光扫描技术的成熟,快速获取大量、高精度的物体表面的坐 标点云成为现实。近年来,国内外学者在点云的去噪、简化、特征估计、特 征点(线)提取、骨架提取、曲面重构等方面作了大量研究,特别是以“点 云获取—点云预处理—点云的曲面重建重构”为方法主线的逆向工程的发展, 极大的促进了点云在虚拟现实、生物医学、逆向工程等领域的应用。目前, 点云的处理方法大都集中在逆向工程和特征提取(特征点、骨架等)方面, 缺少交互式的处理方法(例如,点云的交互式选取、修补、几何参数测量、 分割等)。

发明内容

本发明的目的在于克服现有技术的不足,适应现实需要,提供一种基于 点云数据的交互式选取物体表面坐标点的方法,旨在解决当前点云数据处理 方法大都集中在逆向工程和特征提取(特征点、骨架等)方面,缺少交互式 选取物体表面坐标点的方法的技术问题。

为了实现本发明的目的,本发明所采用的技术方案为:

设计一种基于点云数据的交互式选取物体表面坐标点的方法,首先定义 屏幕像素点到物体表面的映射点为经过该像素点的用户视线沿视线方向和物 体第一次相交的交点;所述屏幕像素点到物体表面坐标点的映射确定包括以 下步骤:

1.点云数据的渲染,用于将采集到的点云数据在计算机屏幕上的渲染,并确 定像素点的位置。

2.求解给定像素点的用户视线方程;所述用户视线方程为: f(t)=P0+v0t(1),其中t为函数参数,P0为像素点的窗口坐标在点云坐标系 中的坐标,v0为用户视线方向向量在点云坐标系中的坐标表示。

3.筛选用户视线附近的点云;该步骤包括:遍历点云中的每个点Pi(i=0, 1,2,…n);并按式:计算点云中的点Pi到用 户视线的距离di;并设定阈值r,筛选出点云中的每个点Pi到用户视线的距离 小于阈值r的点,均为用户视线附近的点,如图2-1,2-2。

4.提取用户视线附近点云中的有效点集;包括如下步骤:

(1)对用户视线附近点云中的每个点Pi,设定xi为其到用户视点的距 离在用户视线方向上的投影,如图3;

(2)构造线性表Lp,并存入用户视线附近的点云并按其对应的xi由小 到大排序;

(3)计算Lp中相邻两点xi、xi+1的变化量,并顺序存入新的线性表Lx中;

(4)设定n1,n2作为异常值判断的阈值,n1为准异常值的阈值,其表示 应继续检测下一个元素做判断,n2为异常值的阈值;

(5)建立集合Sp作为有效点集,并初始化为Lp的前三个元素;

(6)建立数组Ix,用于保存计算中的xi的增加量。初始化为Lx的前两 个元素,并设定循环变量i=4;

(7)当i>n时,停止并退出,n为Lp的长度;

(8)计算Ix的中元素的平均值Iavg和标准差Istd

(9)执行tmp=Lx[i-1]-Ix[i-2],如果tmp-Iavg>n1×Istd转到(11);

(10)将Lp[i]放入集合Sp中,将Lx[i-1]存入Ix,i=i+1,转到(7);

(11)如果tmp-Iavg>n2×Istd,则表示到达下一个表面,停止并退出;

(12)执行tmp=Lx[i]-Ix[i-2],如果tmp-Iavg>n2×Istd,停止并退 出;

(13)将Lp[i],Lp[i+1]放入集合Sp中,将Lx[i-1],Lx[i-2]存入Ix,执 行i=i+2转到(7);

(14)当算法停止时,集合Sp即为用户视线附近点云中的有效点集,如 图4。

5.由曲面拟合有效点集;首先设定平面方程为z=-Ax-By+D,其最 小二乘的误差为:E=Σ(-Axi-Byi+D-zi)2---(3),由得出A,B,D 的最小二乘解,定义向量V=(A,B,1),则平面方程可表示为矢量式,如式(4), V·P=-D(4)。

6.求出用户视线方程和拟合曲面的交点,本步骤通过联立式(1)、式(4) 求解交点视线,该点即为像素点到点云表面的映射点,如图5。

本发明的有益效果在于:

本发明方法通过建立屏幕像素点到物体表面(物体由点云表示)坐标点的映 射,实现鼠标对物体表面坐标点的选取;可以将鼠标的窗口动作映射到物体 表面(物体由点云表示)上,为构建点云的交互式处理提供了方法基础;借 助该方法可以将鼠标的窗口动作映射为对物体表面(物体由点云表示)的操 作,以实现对点云数据的交互式操作。

附图说明

图1为本方法主要流程示意图;

图2-1用户视线附近点的平面云示意图;

图2-2用户视线附近点云的三维示意图;

图3为坐标点到视点距离在视线上的投影示意图;

图4为提取有效点集算法的运行结果示意图;

图5为经过像素点的用户视线和物体表面的交点示意图;

图中:1为用户视线。

具体实施方式

下面结合附图和实施例对本发明进一步说明:

实施例:一种基于点云数据的交互式选取物体表面坐标点的方法;如图1, 图2-1,图2-2,图3,图4,图5所示;本方法主要由(1)由点云数据对物 体表面进行渲染;用于将采集到的点云数据在计算机屏幕上的渲染,,并确定 像素点的位置;(2)求解用户视线经过给定像素点的用户视线方程;(3)筛 选视线附近的点云;(4)提取用户视线附近点云中的有效点集;(5)由曲面 拟合有效点集;(6)求解视线和拟合曲面的交点共六大步骤予以实现,为实 现构建交互式选取物体表面坐标点的方法,本实施例将对以上为六个步骤详 细说明。

首先,定义屏幕像素点到物体表面的映射点为经过该像素点的用户视线 沿视线方向和物体第一次相交的交点;在实现中,需要映射的像素点由鼠标 位置给出。在本法中由于物体缺少“面”的概念由点云数据表示,所以理论 上用户视线与点云中任何点相交的概率均为0。本方法通过提取计算视线“附 近”的点云实现对视线和物体交点的求解。

第一步:点云的渲染,将采集到的点云数据在计算机屏幕上的渲染,并 设定用户视点位置。

第二步:求解用户视线经过给定像素点的用户视线方程。依据点云渲染 中的坐标变换矩阵,可通过逆变换将像素点P的窗口坐标Pw和视线的方向向 量vw变换为坐标系O中的坐标点P0和方向向量v0,则经过像素点P的视线方 程可由下式(1):

f(t)=P0+v0t   (1)

给出,其中t为方程参数。P0为像素点的窗口坐标在点云坐标系中的坐标,v0为用户视线方向向量在点云坐标系中的坐标表示。

第三步:筛选用户视线附近的点云,在本发明中,视线附近的云由阈值 r确定,即到视线的距离小于r的点,均为视为视线附近的点。该步骤通过 遍历点云中的点Pi,由式(2):

di=|P0Pi|2-(P0Pi·v0|v0|)2---(2)

计算其到视线的距离di,筛选出点云中的每个点Pi到用户视线的距离小于阈 值r的点,均为用户视线附近的点,其是按阈值进行过滤筛选视实现;如图 2-1,2-2所示。

第四步:提取视线附近点云中有效点集,用户视线附近的点云往往代表 了一个或多个的局部表面,如图2-1,2-2所示;但按照屏幕像素点到物体表 面点的定义可知,只有距离视点最近的局部表面才是有效的。该步骤通过分 析点云到视点距离在视线上的投影,提取有效的点集;对视线附近的点云, 定义xi为点Pi到视点的距离在视线方向上的投影,如图3。

提取算法:分析视线附近的点云可知,位于不同表面的点其xi会表现明 显的差异。固可通过分析相邻点坐标xi变化量的异常值来分辨不同表面的点 云,具体算法设定如下。

构造线性表Lp中,存入视线附近的点云并按每个点的xi排序。计算Lp中 相邻两点的xi变化量,并存入新的线性表Lx。设n1,n2作为异常值判断的阈值, n1为准异常值的阈值,表示应继续检测下一个元素做判断,n2为异常值的阈 值,其执行流程如下:

(1)建立集合Sp作为有效点集,初始化为Lp的前三个元素;

(2)建立数组Ix,用于保存计算中的xi的增加量。初始化为Lx的前两个 元素,并设定循环变量i=4;

(3)当i>n时,停止并退出,n为Lp的长度;

(4)计算Ix的中元素的平均值Iavg和标准差Istd

(5)执行tmp=Lx[i-1]-Ix[i-2],如果tmp-Iavg>n1×Istd转到(7);

(6)将Lp[i]放入集合Sp中,将Lx[i-1]存入Ix,i=i+1,转到(3);

(7)如果tmp-Iavg>n2×Istd,则表示到达下一个表面,停止并退出;

(8)执行tmp=Lx[i]-Ix[i-2],如果tmp-Iavg>n2×Istd,停止并退出;

(9)将Lp[i],Lp[i+1]放入集合Sp中,将Lx[i-1],Lx[i-2]存入Ix,执行 i=i+2转到(3);

(10)当算法结束时,集合Sp即为距离视点最近局部表面的点集。

算法具体实现时,n1,n2一般取4,5,针对特殊点云,n1,n2也可作调整。 实验表明,在该算法可快速的找到距视点最近表面的点云,如图4。

第五步:曲面拟合有效点集。由于阈值r通常很小并考虑曲面拟合的效 率,本方法采用平面近似替代最近的局部曲面。本方法采用最小二乘的平面 拟合近似表示曲面。设平面方程为z=-Ax-By+D,则其最小二乘的误差表 示为式(3):

E=Σ(-Axi-Byi+D-zi)2---(3).

由可得A,B,D的最小二乘解,如式(5):

Σxi2Σxiyi-ΣxiΣxiyiΣyi2-Σyi-Σxi-ΣyinABD=-Σxizi-ΣyiziΣzi---(5)

定义向量V=(A,B,1),则平面方程可表示为矢量式,如式(4):

V·P=-D   (4)。

第六步:计算视线和拟合曲面的交点。该步骤为计算用户视线和第五步 拟合的平面的交点。可通过联立式(1)、式(4)求解得到,该点即为像素点到 点云表面的映射点,如图5所示。

本发明的实施例公布的是较佳的实施例,但并不局限于此,本领域的普 通技术人员,极易根据上述实施例,领会本发明的精神,并做出不同的引申 和变化,但只要不脱离本发明的精神,都在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号