【技术实现步骤摘要】

【专利摘要】本专利技术提供一种,包括以下步骤:S1、分区:根据研究内容,将采集到的点云分为变形区的点云和非变形区的点云;S2、点云数据压缩:对非变形区的点云,进行点云数据压缩;压缩比为预设的设定值;S3、三维重建:将变形区中的点云,和压缩后的非变形区的点云,放在一起进行三维重建。在三维重建之前,先根据研究内容将点云分区,将非关键内容的区域先进行压缩,从而减少重建时需要处理的数据量,另外在重建时将非变形区域的数据和变形区域的数据融合在一起进行三角网重建,减少海量点云数据的三角网生成时间,最终实现提高算法效率的目的。【专利说明】

本专利技术涉及三维场景重现领域,具体涉及一种。

技术介绍

三维激光测量技术是一种快速、准确获取真实地物空间信息的技术。采用三维激光扫描仪对被测量地物进行扫描,操作简单而且精度高。由于获取的三维点云数据量庞大、散乱,无组织,如何组织庞大的点云数据,使得三维点云数据通过计算机虚拟的呈现出来,成为了空间信息处理、计算机图形学、计算机视觉等领域研究的热点。 点云按照排列方式的不同可以分为有序点云和无序点云。有序点云的点与点的拓扑结构完整,相邻点之间存在连续关系,领域操作高效。无序点云由于点与点之间缺乏拓扑关系,因此常采用八叉树,空间单元格,Kd-tree数对其进行管理。根据重建曲面和数据点云之间的关系可将曲面重建分为两大类:插值法和逼近法。前者得到的曲面重建完全通过原始数据点,而后者则是通过分片线性曲面或者其它形式的曲面类逼近原始数据点,从而是的得到的重建曲面是原始点集的一个逼近。插值法常用的算法有Delaunay三角网重构法,该方法将三维点云数据的空间坐标投影到二维平面上,然后针对二维投影平面进行缺失补充,将投影的二维平面三角网格化,再利用反向映射的思想得到三维网格重建模型,最后完成点云数据的重建。由于该算法需要构造三角网格,因此具有很好的网络拓扑结构,然而在两次投影转化计算过程中存在维数的压缩,这样很可能导致点云数据空间深度信息的改变或者丢失,这种两次转化投影的方式很难处理封闭或者点云模型表面被遮挡的情况。后来在点云重建方面也出现了基于Delaunay空间区域增长方法的改进算法,即选取一个三角面片作为种子面片,在保证拓扑结构正确和几何结构正确的前提下,对种子面片进行扩张,最后形成完整三角网格曲面,改进算法有最小内角最大等优秀特性,但对点云当数据中的三维点进行三角网格剖分的时间复杂度较大。如果点云数据达到千百万数量级,Delaunay三角网格剖分算法的点云数据重建时间过长,因而此方法并不适合大规模点云数据的重建操作。逼近法常用的算法有泊松重建、MC重建、EarChipping重建。即通过最优化的插值方法,对点云数据进行处理,进而获得到点云模型的近似曲面。

技术实现思路

本专利技术要解决的技术问题是:提供一种,解决现有的De Iaunay三角网重建算法中存在的算法效率低下的问题。本专利技术为解决上述技术问题所采取的技术方案为:一种,其特征在于:它包括以下步骤: 51、分区: 根据研究内容,将采集到的点云分为变形区的点云和非变形区的点云; 52、点云数据压缩: 对非变形区的点云,进行点云数据压缩;压缩比为预设的设定值; S3、三维重建: 将变形区中的点云,和压缩后的非变形区的点云,放在一起进行三维重建。按上述方法,所述的SI先将采集到的点云按照pcd格式进行转化,再根据研究内容进行分区。按上述方法,所述的S2采用包围盒压缩算法进行点云数据压缩,每个包围盒只保留一个数据点,所保留的数据点最靠近所在包围盒中点云的重心。按上述方法,所述的S2首先对非变形区的点云采用八叉树数据结构进行数据管理,构造点云的最小空间包围盒,再采用包围盒压缩算法进行点云数据压缩;其中最小空间包围盒的边长为预设的点距。按上述方法,所述的S3采用贪婪三角网算法进行三维重建。本专利技术的有益效果为:在三维重建之前,先根据研究内容将点云分区,将非关键内容的区域先进行压缩,从而减少重建时需要处理的数据量,另外在重建时将非变形区域的数据和变形区域的数据融合在一起进行三角网重建,减少海量点云数据的三角网生成时间,最终实现提尚算法效率的目的。【附图说明】图1为本专利技术一实施例按压缩比为0.25%压缩后的点云三维图,。图2为本专利技术一实施例按压缩比为4.5%压缩后的点云三维图。图3为pcd格式。图4为本专利技术一实施例的一个重建效果图。图5为本专利技术一实施例的又一个重建效果图。【具体实施方式】下面结合具体实例和附图对本专利技术做进一步说明。本专利技术提供一种,包括以下步骤: S1、分区:根据研究内容,将采集到的点云分为变形区的点云和非变形区的点云。优选的,所述的SI先将采集到的点云按照pcd格式进行转化,再根据研究内容进行分区。S2、点云数据压缩:对非变形区的点云,采用包围盒压缩算法进行点云数据压缩(也可以用其它的方式进行点云数据压缩),每个包围盒只保留一个数据点,所保留的数据点最靠近所在包围盒中点云的重心。首先对非变形区的点云采用八叉树数据结构进行数据管理,构造点云的最小空间包围盒,再采用包围盒压缩算法进行点云数据压缩;其中最小空间包围盒的边长为预设的点距。S3、三维重建:将变形区中的点云,和压缩后的非变形区的点云,放在一起进行三维重建。优选的,所述的S3采用贪婪三角网算法进行三维重建。基于包围盒的点云数据压缩原理:根据点云中数据点的分布特点,可将点云分为有序点云和无序点云(也称为散乱点云),对于有序点云的数据压缩,常用的采样方法有均匀采样法、倍率缩减法和栅格法,等量缩减法、最小包围盒区域法、等分密度法等。散乱点云数据压缩中,常用的方法有随机采样法、最短距离法、包围盒法、均匀格网法、三角网格法、曲率米样法等。目前,针对点云的压缩大致可以分为三类:基于概率的数据精简(随机采样法)、基于格网的数据精简法(包围盒法、均匀格网法等)和基于曲率的数据精简法(最短距离法、曲率米样法)。包围盒重心法是点云处理中较为常见的方法,其核心思想是用包围盒中点云的重心来代替点云中的点实现数据精简。其实现方法为:先采用一个最小外包长方体来约束点云,然后将长方体根据一定的数量或者大小分割成若干个小立方体包围盒,最后选取小包围盒中离点集的重心点最近的点作为特征点,即每个包围盒中最多只保留一个数据点。下面提供某一具体实例,进行试验验证。1、数据处理 由于现有的数据格式(*.ply,*.stl,*.0b j,*.x3d)格式不支持pci库,pcd格式能支持pel数据库引进的η维点类型机制处理中的某些扩展。因此,需要将采集到的数据按照pcd格式进行转化,pcd格式如图3所示。其中,vers 1n表示pcd文件版本,f i e Ids表示一个点可以有的每一个维度和字段的名字,size表示每一个维度的大小,type表示每一个维度的类型,count表示每一个维度包含的元素数目,width表示点云数据集的宽度,height表示点云数据集的高度,Viewpoint表示数据集中点云获取的视点,data表示存储的点云的数据类型。2、数据压缩 PCL提供了两种点云数据管理方式,一种是Kd-tree数据结构,一种是octree数据结构,也称八叉树。其中,kd-tree树用来对点云本文档来自技高网...

matlab点云三维重构,无序点云三维重建方法技术相关推荐

  1. matlab 随机骨料程序,基于matlab的混凝土三维圆形骨料模型随机投放方法.pdf

    一试验研究 斑楚遽1村 2Ol2年 基于matlab的混凝土三维圆形骨料模型 随机投放 方法 张海波 ,.何军拥. (1.广州航海高等专科学校,广东 广州 510330:2.广东工贸职业技术学院,广东 ...

  2. matlab 随机骨料程序,基于matlab的混凝土三维圆形骨料模型随机投放方法

    2012 年■ 试验研究 基于 matlab 的混凝土三维圆形骨料模型随机投放方法 张海波 1,何军拥 2 (1.广州航海高等专科学校,广东广州 510330: 2.广东工贸职业技术学院,广东广州 5 ...

  3. matlab读取八叉树,基于八叉树表示的三维栅格地图路径规划系统及方法技术方案...

    [技术实现步骤摘要] 基于八叉树表示的三维栅格地图路径规划系统及方法 本专利技术涉及地图路径规划技术,具体涉及基于八叉树表示的三维栅格地图路径规划系统及方法. 技术介绍 随着各项性能的提高,服务机器人 ...

  4. matlab中绘制三维散点图scatter3函数的使用方法(附matlab代码)

    一.语法 1.scatter3(X,Y,Z) 在向量 X.Y 和 Z 指定的位置显示圆圈. 2.scatter3(X,Y,Z,S) 使用 S 指定的大小绘制每个圆圈.要绘制大小相等的圆圈,请将 S 指 ...

  5. matlab三维点云去除背景,一种点云处理三维重建方法与流程

    本发明属于三维数字化.逆向工程领域,特别是涉及一种点云处理三维重建方法. 背景技术: ::三维扫描是一种高精度的三维坐标测量方法.线结构激光投射到被测表面,摄像机获取投射图像,提取光条上点的三维形貌. ...

  6. 包裹点云位姿估计_基于点云位姿平均的非合作目标三维重构

    基于点云位姿平均的非合作目标三维重构 李宜鹏 ; 解永春 [期刊名称] <空间控制技术与应用> [年 ( 卷 ), 期] 2020(046)001 [摘要] 针对在轨非合作目标 , 提出一 ...

  7. Linux/Ubuntu下Meshlab批量对散乱三维点云泊松重构的方法

    Meshlab批量处理多个散乱三维点云: 思路:首先对单点云进行处理,生成mlx的脚本文件,最后通过批量执行meshlabserver命令实现对批量点云的重构. 具体步骤: (1)打开单个散乱点云文件 ...

  8. matlab绘制三维点云和点云凸包

    matlab绘制三维点云和点云凸包 效果展示 1.在matlab命令窗口输入guide打开matlab的ui开发界面,按照下图的样式绘制界面. 2. 在GUIDE中鼠标右键点击选择素材文件夹按键,选择 ...

  9. CVPR2020:点云三维目标跟踪的点对盒网络(P2B)

    CVPR2020:点云三维目标跟踪的点对盒网络(P2B) P2B: Point-to-Box Network for 3D Object Tracking in Point Clouds 代码:htt ...

最新文章

  1. shell--变量的替换
  2. 三十一、R语言基本语法(上篇)
  3. 零基础 ABAP 学习教程系列文章的目录
  4. [vue] 在.vue文件中style是必须的吗?那script是必须的吗?为什么?
  5. 网站报错时,自动跳转到指定报错页(error.html)的办法
  6. 【Elasticsearch】elasticsearch 磁盘相关常用配置 磁盘优化
  7. c++以空格分开的输入数组_技术贴,MATLAB矩阵与数组汇总讲解!
  8. ssh连接局域网内两台主机
  9. opencv2.4.7.2画圆,画十字,画矩形
  10. 高校成绩管理数据库系统
  11. 设计模式---订阅发布模式(Subscribe/Publish)
  12. TensorFlow和PyTorch框架绘制loss和accuracy曲线
  13. windows11 数字键无法使用 修复办法 已解决
  14. linux 手机root原理,手机root原理
  15. 数据结构实验(严蔚敏版)----栈与队列
  16. 数学干货——最小二乘问题(线性空间求解以及矩阵求解)
  17. Java升级jdk_JDK8升级JDK11过程记录
  18. 通信达linux版,中标麒麟V6下wine完美运行通达信
  19. 头条与百万英雄——划水贴
  20. 我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 『平安经』

热门文章

  1. [IE编程] 多页面基于IE内核浏览器的代码示例
  2. Homebrew安装AdoptOpenJDK8的几个注意事项(有更新)
  3. 实现微信推送的小工具Server酱
  4. 地名地址楼栋号爬取工具
  5. 此计算机上未运行虚拟机管理服务器,Vmware虚拟机教程之解决服务不能启动的问题...
  6. FillMemory()、ZeroMemory(),fillchar()
  7. mysql连接提示错误_服务器经常提示mysql连接错误,有木有解决方法?
  8. 【腾讯云FinOps Crane 集训营】让我看看还有谁没用过crane这个降本利器
  9. 计算几何 快速排斥和跨立实验 判断两线段相交
  10. Egret List