三维扫描数据的自适应底面消除方法.pdf

上传人:狗** 文档编号:5883310 上传时间:2019-03-28 格式:PDF 页数:21 大小:1.57MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510844100.7

申请日:

2015.11.26

公开号:

CN105486249A

公开日:

2016.04.13

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G01B 11/24申请日:20151126|||公开

IPC分类号:

G01B11/24

主分类号:

G01B11/24

申请人:

北京市计算中心

发明人:

刘清珺; 沈涛

地址:

100094北京市海淀区永丰产业基地丰贤中路7号北科产业3号楼

优先权:

专利代理机构:

北京路浩知识产权代理有限公司11002

代理人:

李相雨

PDF下载: PDF下载
内容摘要

本发明公开了一种三维扫描数据的自适应底面消除方法,包括以下步骤:S1、将三维扫描数据通过坐标转换投影到近似投影平面上;S2、根据近似投影平面上的数据形成按矩阵形式排列的数据;将数据进行区域划分,并为每一个分区数据建立局部坐标系,将每个分区的数据在对应的局部坐标系进行转换;S3、针对每一个分区,利用差值参量,根据其局部坐标系中每个数据的坐标值计算在拓印基准面上对应的坐标值;S4、对步骤S3处理得到的拓印基准面上的数据投影到平面上,之后进行去噪。本发明的方法在不降低原始三维数据精度的前提下,对全局的三维数据在不转化为面绘制模型数据的基础上直接进行处理。在处理过程中避免了多余的人工参与对数据的干扰。

权利要求书

1.一种三维扫描数据的自适应底面消除方法,其特征在于,所述
方法包括以下步骤:
S1、将三维扫描数据通过坐标转换投影到近似投影平面上;
S2、根据所述近似投影平面上的数据形成按矩阵形式排列的数据;
将所述数据进行区域划分,并为每一个分区数据建立局部坐标系,
将每个分区的数据在对应的局部坐标系进行转换;
S3、针对每一个分区,利用差值参量,根据其局部坐标系中每个
数据的坐标值计算在拓印基准面上对应的坐标值,实现将所述步骤S2
处理得到的数据投影到拓印基准面,完成数据分割;
S4、对所述步骤S3处理得到的所述拓印基准面上的数据投影到平
面上,之后进行去噪。
2.根据权利要求1所述的方法,其特征在于,所述步骤S4还包
括以下步骤:遍历投影深度进行反低通滤波,其中所述投影深度为对
应数据点的深度信息。
3.根据权利要求1所述的方法,其特征在于,所述步骤S1中利
用如下公式将三维扫描数据通过坐标转换投影到所述近似投影平面
上:
x y z = a 1 A a 2 A a 3 A b 1 B b 2 B b 3 B c 1 C c 2 C c 3 C ( x y z - x 0 y 0 z 0 ) ]]>
式中,(x,y,z)T为所述三维扫描数据中一个元素的坐标,(x′,y′,z′)T为
所述近似投影平面上对应元素的坐标,
A B C = a 1 2 + a 2 2 + a 3 2 b 1 2 + b 2 2 + b 3 2 c 1 2 + c 2 2 + c 3 2 ]]>
其中,c=(c1,c2,c3)T
b=b-b×c×c
a = b × c = i j k b 1 b 2 b 3 c 1 c 2 c 3 = ( b 2 c 3 - b 3 c 2 , b 1 c 3 - b 3 c 1 , b 1 c 2 - b 2 c 1 ) ]]>
a、b、c为所述坐标转换的单位坐标矢量,(x0,y0,z0)为原点;
所述近似投影平面为:
c1x+c2y+c3z=0。
4.根据权利要求1所述的方法,其特征在于,所述坐标转换的单
位坐标矢量c的计算方法如下:
计算所述三维扫描数据到所述近似投影平面的距离平方和;
建立对该距离平方和进行最小二乘法拟合的公式,并利用高斯消
元法求解公式得到坐标矢量c。
5.根据权利要求1所述的方法,其特征在于,所述步骤S1之前
还包括以下步骤:
利用三维扫描仪按照预定行数和预定列数进行扫描得到所述三维
扫描数据。
6.根据权利要求5所述的方法,其特征在于,所述步骤S2中形
成按矩阵形式排列的数据包括以下步骤:
S21、在所述近似投影平面上的数据中找到最下面的扫描点、最上
面的扫描点、最左面的扫描点以及最右面的扫描点,并以四个扫描点
作为顶点形成四边形;
S22、以所述四边形的底边作为一条边,以最上面的扫描点和最右
面的扫描点作为顶点形成一个矩形;
S23、利用所述矩形对对应的所述近似投影平面上的数据进行剪
裁,去掉所述矩形之外的数据;
S24、计算所述步骤S23得到的数据的宽度和高度;其中所述宽度
为所述矩形内数据的列数,所述高度为所述矩形内数据的行数;
S25、对于所述矩形内每一个数据,根据其三维坐标确定其在所述
按矩阵形式排列的数据中的行和列,并建立其深度信息与其在所述按
矩阵形式排列的数据中位置的英映射关系。
7.根据权利要求6所述的方法,其特征在于,所述步骤S25中,
对于所述矩形内每一个数据,其在所述按矩阵形式排列的数据中的行、
列以及所述映射关系利用下面公式计算:
i = h e i g h t * y m - y min y max - y min + ϵ ]]>
j = w i d t h * x m - x min x max - x min + ϵ ]]>
D(i,j)=z'm
m=1,...,numpoint
式中,i表示行,j表示列,D(i,j)=zm为所述映射关系,m为
所述矩形内数据总个数,(xm,ym,zm)为数据在所述近似投影平面上
的位置坐标。
8.根据权利要求6所述的方法,其特征在于,所述步骤S23还包
括确定列数的子步骤,具体为:
对于所述矩形内数据中两个相邻的数据点,计算其在X方向上的
距离是否大于列距离阈值,若是则所述两个相邻的数据点为两列。
9.根据权利要求6所述的方法,其特征在于,所述步骤S25之后
还包括去除所述图像矩阵中空缺点步骤:
以所述空缺点为中心,计算其周边多个数据点的深度值,并以计
算得到的多个深度值的平均值作为所述空缺点的深度值。
10.根据权利要求6所述的方法,其特征在于,所述步骤S2中所
述局部坐标系的坐标轴为:
e x = ( ( x 2 - x 1 ) w , ( y 2 - y 1 ) w ) T ]]>
e y = ( ( x 3 - x 2 ) h , ( y 3 - y 2 ) h ) T ]]>
式中,w为所述矩形的宽,h为所述矩形的高,(x1,y1)、(x2,y2)、(x3,y3)、
(x4,y4)为所述矩形的四个顶点
所述局部坐标系的变量为:
ξ = 2 ( x 2 - x 1 ) ( x - x 0 ) w + 2 ( y 2 - y 1 ) ( y - y 0 ) w ]]>
η = 2 ( x 3 - x 2 ) ( x - x 0 ) h + 2 ( y 3 - y 2 ) ( y - y 0 ) h ]]>
其中,
w = ( x 2 - x 1 ) 2 + ( y 2 - y 1 ) 2 = ( x 3 - x 4 ) 2 + ( y 3 - y 4 ) 2 ]]>
h = ( x 3 - x 2 ) 2 + ( y 3 - y 2 ) 2 = ( x 4 - x 1 ) 2 + ( y 4 - y 1 ) 2 . ]]>
11.根据权利要求1所述的方法,其特征在于,所述步骤S3中,
利用下面公式计算局部坐标系下数据在所述拓印基准面上的坐标:



式中,(Xk,Yk,Zk){k=0:8}为所述插值参量,为三维扫描数据
在对应局部坐标系中的坐标值。
12.根据权利要求11所述的方法,其特征在于,所述插值参量的
计算包括以下步骤:
计算局部坐标系下数据到所述拓印基准面的距离平方和;
利用最小二乘法,按照所述差值参量使所述平方和最小计算得到
所述插值参量。

说明书

三维扫描数据的自适应底面消除方法

技术领域

本发明属于书法拓印领域,更具体涉及一种三维扫描数据的自适
应底面消除方法。

背景技术

三维扫描可以应用到许多领域,例如制造业、逆向工程、医学、
文化产业等。三维扫描仪器按原理不同分为不同类别,但采集的都是
点云数据。现有技术中,点云数据的处理均在三维空间中进行,处理
方法基本分为两类:

1、先利用专业软件将点云重构为曲面模型,再导入到建模正向处
理软件中进行模型编辑。

2、根据点云数据行为特征,利用逆向工程类软件重构为曲面,切
换点云数据和曲面进行编辑。

第一种处理方法被广泛应用于文化产业,第二种处理方法被广泛
应用于工业领域。由于三维扫描在工业制造逆向工程领域起步较早,
因此第二种处理方法中逆向工程类软件对点云处理通常具备较强的曲
面重构处理能力,常用的逆向软件有Imageware、GeomagicStudio、
RapidForm等。现有技术中的两种处理方法在编辑之前,需要从专业软
件中先进行数据精简,再转为面绘制模型,这就有可能丢失了对处理
结果至关重要的细节信息,以致后期的模型结果失真。

以对钟碑文的扫描为例,在进行钟碑刻扫描数据的去底面处理时,
需要根据以下几个步骤进行处理:

【步骤一】在逆向软件中打开扫描数据,将点云数据调整至底面
与操作平面呈垂直状态。

【步骤二】利用点云选择工具,选择底面点云数据进行删除操作。

【步骤三】将剩余的数据转为obj或其他通用面绘制通用格式导
出。

【步骤四】将面绘制模型导入建模软件中,对剩余没有切割彻底
的模型面片进行二次筛选删除。

上述方法在处理钟碑刻扫描数据时,运用现有的工具对钟碑刻扫
描数据去除底面的工作中,需要降低点云的数据量进行格式转化,以
满足不同的处理软件对原始数据的要求,在此过程中不但增加了大量
处理时间以及冗余的数据信息,而且丢失了对处理结果至关重要的细
节信息,以致后期的模型结果失真。

另外,现有技术中在去底面的工作中,需要操作者对精简数据后
的模型数据在主观意识下进行编辑,这要求操作者具备一定的经验和
三维软件的操作技能,导致每个人的处理结果是不一样的,不能完全
复现钟碑刻的表面文字雕饰信息。

发明内容

本发明要解决的技术问题是如何自动分离三维扫描数据中底面背
景部分的数据,从而获得拓印基准面上的数据,同时不会由于精简数
据造成信息丢失。

为了解决上述技术问题,本发明提供了一种三维扫描数据的自适
应底面消除方法,所述方法包括以下步骤:

S1、将三维扫描数据通过坐标转换投影到近似投影平面上;

S2、根据所述近似投影平面上的数据形成按矩阵形式排列的数据;

将所述数据进行区域划分,并为每一个分区数据建立局部坐标系,
将每个分区的数据在对应的局部坐标系进行转换;

S3、针对每一个分区,利用差值参量,根据其局部坐标系中每个
数据的坐标值计算在拓印基准面上对应的坐标值,实现将所述步骤S2
处理得到的数据投影到拓印基准面,完成数据分割;

S4、对所述步骤S3处理得到的所述拓印基准面上的数据投影到平
面上,之后进行去噪。

优选地,所述步骤S4还包括以下步骤:遍历投影深度参量进行反
低通滤波,其中所述投影深度为对应数据点的深度信息。

优选地,所述步骤S1中利用如下公式将三维扫描数据通过坐标转
换投影到所述近似投影平面上:

x y z = a 1 A a 2 A a 3 A b 1 B b 2 B b 3 B c 1 C c 2 C c 3 C ( x y z - x 0 y 0 z 0 ) ]]>

式中,(x,y,z)T为所述三维扫描数据中一个元素的坐标,(x′,y′,z′)T为
所述近似投影平面上对应元素的坐标,

A B C = a 1 2 + a 2 2 + a 3 2 b 1 2 + b 2 2 + b 3 2 c 1 2 + c 2 2 + c 3 2 ]]>

其中,c=(c1,c2,c3)T

b=b-b×c×c

a = b × c = i j k b 1 b 2 b 3 c 1 c 2 c 3 = ( b 2 c 3 - b 3 c 2 , b 1 c 3 - b 3 c 1 , b 1 c 2 - b 2 c 1 ) ]]>

a、b、c为所述坐标转换的单位坐标矢量,(x0,y0,z0)为原点;

所述近似投影平面为:

c1x+c2y+c3z=0。

优选地,所述坐标转换的单位坐标矢量c的计算方法如下:

计算所述三维扫描数据到所述近似投影平面的距离平方和;

建立对该距离平方和进行最小二乘法拟合的公式,并利用高斯消
元法求解公式得到坐标矢量c。

优选地,所述步骤S1之前还包括以下步骤:

利用三维扫描仪按照预定行数和预定列数进行扫描得到所述三维
扫描数据。

优选地,所述步骤S2中形成按矩阵形式排列的数据包括以下步骤:

S21、在所述近似投影平面上的数据中找到最下面的扫描点、最上
面的扫描点、最左面的扫描点以及最右面的扫描点,并以四个扫描点
作为顶点形成四边形;

S22、以所述四边形的底边作为一条边,以最上面的扫描点和最右
面的扫描点作为顶点形成一个矩形;

S23、利用所述矩形对对应的所述近似投影平面上的数据进行剪
裁,去掉所述矩形之外的数据;

S24、计算所述步骤S23得到的数据的宽度和高度;其中所述宽度
为所述矩形内数据的列数,所述高度为所述矩形内数据的行数;

S25、对于所述矩形内每一个数据,根据其三维坐标确定其在所述
按矩阵形式排列的数据中的行和列,并建立其深度信息与其在所述按
矩阵形式排列的数据中位置的英映射关系。

优选地,所述步骤S25中,对于所述矩形内每一个数据,其在所
述按矩阵形式排列的数据中的行、列以及所述映射关系利用下面公式
计算:

i = h e i g h t * y m - y min y max - y min + ϵ ]]>

j = w i d t h * x m - x min x max - x min + ϵ ]]>

D(i,j)=z'm

m=1,...,numpoint

式中,i表示行,j表示列,D(i,j)=zm为所述映射关系,m为
所述矩形内数据总个数,(xm,ym,zm)为数据在所述近似投影平面上
的位置坐标。

优选地,所述步骤S23还包括确定列数的子步骤,具体为:

对于所述矩形内数据中两个相邻的数据点,计算其在X方向上的
距离是否大于列距离阈值,若是则所述两个相邻的数据点为两列。

优选地,所述步骤S25之还包括去除所述图像矩阵中空缺点步骤:

以所述空缺点为中心,计算其周边多个数据点的深度值,并以计
算得到的多个深度值的平均值作为所述空缺点的深度值。

优选地,所述步骤S2中所述局部坐标系的坐标轴为:

e x = ( ( x 2 - x 1 ) w , ( y 2 - y 1 ) w ) T ]]>

e y = ( ( x 3 - x 2 ) h , ( y 3 - y 2 ) h ) T ]]>

式中,w为所述矩形的宽,h为所述矩形的高,(x1,y1)、(x2,y2)、(x3,y3)、
(x4,y4)为所述矩形的四个顶点

所述局部坐标系的变量为:

ξ = 2 ( x 2 - x 1 ) ( x - x 0 ) w + 2 ( y 2 - y 1 ) ( y - y 0 ) w ]]>

η = 2 ( x 3 - x 2 ) ( x - x 0 ) h + 2 ( y 3 - y 2 ) ( y - y 0 ) h ]]>

其中,

w = ( x 2 - x 1 ) 2 + ( y 2 - y 1 ) 2 = ( x 3 - x 4 ) 2 + ( y 3 - y 4 ) 2 ]]>

h = ( x 3 - x 2 ) 2 + ( y 3 - y 2 ) 2 = ( x 4 - x 1 ) 2 + ( y 4 - y 1 ) 2 . ]]>

优选地,所述步骤S3中,利用下面公式计算局部坐标系下数据在
所述拓印基准面上的坐标:




式中,(Xk,Yk,Zk){k=0:8}为所述插值参量,为三维扫描数据
在对应局部坐标系中的坐标值。

优选地,所述插值参量的计算包括以下步骤:

计算局部坐标系下数据到所述拓印基准面的距离平方和;

利用最小二乘法,按照所述差值参量使所述平方和最小计算得到
所述插值参量。

本发明提供了一种三维扫描数据的自适应底面消除方法,本发明
的方法在不降低原始三维数据精度的前提下,对全局的三维数据在不
转化为面绘制模型数据的基础上直接进行处理。并且在处理过程方面,
避免了多余的人工参与对数据的干扰,降低操作者在三维模型编辑处
理方面的准备知识。同时本发明的方法可以在短时间内去除钟碑刻底
面部分数据,得到较好的分离结果,能对任意扫描仪的通用.asc格式钟
碑刻点云直接进行处理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面
将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而
易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域
普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些
附图获得其他的附图。

图1为本发明的一个较佳实施例的三维扫描数据的自适应底面消
除方法流程图;

图2为本发明原始的三维扫描数据示意图;

图3为本发明中步骤S2处理后的效果示意图;

图4为本发明中步骤S3处理后的效果示意图;

图5为本发明中步骤S4处理后的效果示意图;

图6为本发明中步骤S3中差值分割示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步详细描述。以下实施例
用于说明本发明,但不能用来限制本发明的范围。

一种三维扫描数据的自适应底面消除方法,如图1所示,所述方
法包括以下步骤:

S1、将三维扫描数据通过坐标转换投影到近似投影平面上;

S2、根据所述近似投影平面上的数据形成按矩阵形式排列的数据;

将所述数据进行区域划分,并为每一个分区数据建立局部坐标系,
将每个分区的数据在对应的局部坐标系进行转换;

S3、针对每一个分区,利用差值参量,根据其局部坐标系中每个
数据的坐标值计算在拓印基准面上对应的坐标值,实现将所述步骤S2
处理得到的数据投影到拓印基准面,完成数据分割;

S4、对所述步骤S3处理得到的所述拓印基准面上的数据投影到平
面上,之后进行去噪。

上述方法在不降低原始三维数据精度的前提下,对全局的三维数
据在不转化为面绘制模型数据的基础上直接进行处理。并且在处理过
程方面,避免了多余的人工参与对数据的干扰,降低操作者在三维模
型编辑处理方面的准备知识。同时本发明的方法可以在短时间内去除
钟碑刻底面部分数据,得到较好的分离结果,能对任意扫描仪的通
用.asc格式钟碑刻点云文件直接进行处理。

进一步地,所述步骤S4中,利用反低通滤波进行去噪。将经过步
骤S3处理后得到的拓印基准面投影到平面上,形成平面字帖。对于平
面碑刻的情况,这种投影可以直接将拓印基准面的底面直接投影到平
面上。对于钟鼎铭文等凸版刻字,在投影时要考虑近似曲面的曲率变
化和近似曲面上浮尺寸的影响。同时,因底面不平整造成的斑点、底
面或字模损坏造成的缺陷等干扰信息,需要降噪处理。在步骤S4中通
过反低通滤波算法来消除近似曲面的曲率变化对投影的影响以及降噪
处理。图5显示了经过反低通滤波滤除底面噪点和畸变影响后的图像。

进一步地,所述步骤S1中利用如下公式将将三维扫描数据通过坐
标转换投影到所述近似投影平面上:

x y z = a 1 A a 2 A a 3 A b 1 B b 2 B b 3 B c 1 C c 2 C c 3 C ( x y z - x 0 y 0 z 0 ) ]]>

式中,(x,y,z)T为所述三维扫描数据中一个元素的坐标,(x′,y′,z′)T为
所述近似投影平面上对应元素的坐标,

A B L = a 1 2 + a 2 2 + a 3 2 b 1 2 + b 2 2 + b 3 2 c 1 2 + c 2 2 + c 3 2 ]]>

其中,c=(c1,c2,c3)T

b=b-b×c×c

a = b × c = i j k b 1 b 2 b 3 c 1 c 2 c 3 = ( b 2 c 3 - b 3 c 2 , b 1 c 3 - b 3 c 1 , b 1 c 2 - b 2 c 1 ) ]]>

a、b、c为所述坐标转换的坐标矢量,(x0,y0,z0)为原点;

所述近似投影平面为:

c1x+c2y+c3z=0。

所述坐标转换的坐标矢量c的计算方法如下:

(1)计算所述三维扫描数据到所述近似投影平面的距离平方和;

(2)建立对该距离平方和进行最小二乘法拟合的公式,并利用高
斯消元法求解公式得到坐标矢量c。

进一步地,所述步骤S1之前还包括以下步骤:

利用三维扫描仪按照预定行数和预定列数进行扫描得到所述三维
扫描数据。

进一步地,所述步骤S2中形成按矩阵形式排列的数据包括以下步
骤:

S21、在所述近似投影平面上的数据中找到最下面的扫描点、最上
面的扫描点、最左面的扫描点以及最右面的扫描点,并以四个扫描点
作为顶点形成四边形;

S22、以所述四边形的底边作为一条边,以最上面的扫描点和最右
面的扫描点作为顶点形成一个矩形;

S23、利用所述矩形对对应的所述近似投影平面上的数据进行剪
裁,去掉所述矩形之外的数据;

S24、计算所述步骤S23得到的数据的宽度和高度;其中所述宽度
为所述矩形内数据的列数,所述高度为所述矩形内数据的行数;

S25、对于所述矩形内每一个数据,根据其三维坐标确定其在所述
按矩阵形式排列的数据中的行和列,并建立其深度信息与其在所述按
矩阵形式排列的数据中位置的英映射关系。

所述步骤S25中,对于所述矩形内每一个数据,其在所述按矩阵
形式排列的数据中的行、列以及所述映射关系利用下面公式计算:

i = h e i g h t * y m - y min y max - y min + ϵ ]]>

j = w i d t h * x m - x min x max - x min + ϵ ]]>

D(i,j)=z'm

m=1,...,numpoint

式中,i表示行,j表示列,D(i,j)=zm为所述映射关系,m为
所述矩形内数据总个数,(xm,ym,zm)为数据在所述近似投影平面上
的位置坐标。

所述步骤S23还包括确定列数的子步骤,具体为:

对于所述矩形内数据中两个相邻的数据点,计算其在X方向上的
距离是否大于列距离阈值,若是则所述两个相邻的数据点为两列。

所述步骤S25之后还包括去除所述图像矩阵中空缺点步骤:

以所述空缺点为中心,计算其周边多个数据点的深度值,并以计
算得到的多个深度值的平均值作为所述空缺点的深度值。

所述步骤S2中所述局部坐标系的坐标轴为:

e x = ( ( x 2 - x 1 ) w , ( y 2 - y 1 ) w ) T ]]>

e y = ( ( x 3 - x 2 ) h , ( y 3 - y 2 ) h ) T ]]>

式中,w为所述矩形的宽,h为所述矩形的高,(x1,y1)、(x2,y2)、(x3,y3)、
(x4,y4)为所述矩形的额四个顶点

所述局部坐标系的变量为:

ξ = 2 ( x 2 - x 1 ) ( x - x 0 ) w + 2 ( y 2 - y 1 ) ( y - y 0 ) w ]]>

η = 2 ( x 3 - x 2 ) ( x - x 0 ) h + 2 ( y 3 - y 2 ) ( y - y 0 ) h ]]>

其中,

w = ( x 2 - x 1 ) 2 + ( y 2 - y 1 ) 2 = ( x 3 - x 4 ) 2 + ( y 3 - y 4 ) 2 ]]>

h = ( x 3 - x 2 ) 2 + ( y 3 - y 2 ) 2 = ( x 4 - x 1 ) 2 + ( y 4 - y 1 ) 2 . ]]>

进一步地,所述步骤S3中,利用下面公式计算局部坐标系下数据
在所述拓印基准面上的坐标:




式中,(Xk,Yk,Zk){k=0:8}为插值参量,为三维扫描数据在对
应局部坐标系中的坐标值。

所述插值参量的计算包括以下步骤:

(1)计算局部坐标系下数据到所述拓印基准面的距离平方和;

(2)利用最小二乘法,按照所述差值参量使所述平方和最小计算
得到所述插值参量。

进一步地,所述近似曲面为所述三维数据的二次函数,或者为三
维数据的二次差值函数。

下面结合具体实施例进行说明。

本实施例的方法包括以下步骤:

【步骤一】将三维扫描数据投影到近似投影平面上:三维扫描得
到的原始数据(即三维扫描数据)是一组未被表达的3D点云,如图2
所示。需要将三维数据通过相应的坐标转换投影到一个近似投影平面
上。坐标转换包括以下步骤:

设原始数据具有m个数据点,其中心点为:

x 0 = ( Σ i = 0 m - 1 x i ) / m ]]>

y 0 = ( Σ i = 0 m - 1 y i ) / m - - - ( 1 ) ]]>

z 0 = ( Σ i = 0 m - 1 z i ) / m ]]>

式中,(xi、yi、zi)为原始点云数据的坐标。

设原始坐标系中的坐标为(x,y,z)T,变换坐标系中的坐标为
(x′,y′,z′)T,转换坐标系的单位坐标矢量和原点分别为:

e x = ( e 1 x , e 2 x , e 3 x ) T ]]>

e y = ( e 1 y , e 2 y , e 3 y ) T e z = ( e 1 z , e 2 z , e 3 z ) T - - - ( 2 ) ]]>

u=(x0,y0,z0)T

则转换后的数据坐标与原始数据空间坐标的转换关系可以表示
为:

x y z = e 1 x e 2 x e 3 x e 1 y e 2 y e 2 y e 1 z e 2 z e 3 z ( x y z - x 0 y 0 z 0 ) - - - ( 3 ) ]]>

做如下定义:

e x = ( a 1 a 1 2 + a 2 2 + a 3 2 , a 2 a 1 2 + a 2 2 + a 3 2 , a 3 a 1 2 + a 2 2 + a 3 2 ) T ]]>

e y = ( b 1 b 1 2 + b 2 2 + b 3 2 , b 2 b 1 2 + b 2 2 + b 3 2 , b 3 b 1 2 + b 2 2 + b 3 2 ) T - - - ( 4 ) ]]>

e z = ( c 1 c 1 2 + c 2 2 + c 3 2 , c 2 c 1 2 + c 2 2 + c 3 2 , c 3 c 1 2 + c 2 2 + c 3 2 ) T ]]>

u=(x0,y0,z0)T

其中,ez为近似投影平面的法向量。

若设

A B L = a 1 2 + a 2 2 + a 3 2 b 1 2 + b 2 2 + b 3 2 c 1 2 + c 2 2 + c 3 2 - - - ( 5 ) ]]>

则转换方程为:

x y z = a 1 A a 2 A a 3 A b 1 B b 2 B b 3 B c 1 C c 2 C c 3 C ( x y z - x 0 y 0 z 0 ) - - - ( 6 ) ]]>

设近似投影平面方程为:

c1x+c2y+c3z=0(7)

则原始数据中的点到近似投影平面的距离平方和为:

Π = Σ i = 1 m - 1 z 2 = Σ i = 0 m - 1 ( c 1 ( x i - x 0 ) + c 2 ( y i - y 0 ) + c 3 ( z i - z 0 ) ) 2 - - - ( 8 ) ]]>

对该距离平方和进行最小二乘法拟合,公式为:

Π c 1 = Σ i = 0 m - 1 2 ( c 1 ( x i - x 0 ) + c 2 ( y i - y 0 ) + c 3 ( z i - z 0 ) ) ( x i - x 0 ) = 0 ]]>

Π c 2 = Σ i = 0 m - 1 2 ( c 1 ( x i - x 0 ) + c 2 ( y i - y 0 ) + c 3 ( z i - z 0 ) ) ( y i - y 0 ) = 0 - - - ( 9 ) ]]>

Π c 3 = Σ i = 1 m - 1 2 ( c 1 ( x i - x 0 ) + c 2 ( y i - y 0 ) + c 3 ( z i - z 0 ) ) ( z i - z 0 ) = 0 ]]>

Σ i = 0 m - 1 ( x i - x 0 ) ( x i - x 0 ) c 1 + Σ i = 0 m - 1 ( x i - x 0 ) ( y i - y 0 ) c 2 + Σ i = 0 m - 1 ( x i - x 0 ) ( z i - z 0 ) e 3 = 0 ]]>

Σ i = 0 m - 1 ( y i - y 0 ) ( x i - x 0 ) c 1 + Σ i = 0 m - 1 ( y i - y 0 ) ( y i - y 0 ) c 2 + Σ i = 0 m - 1 ( y i - y 0 ) ( z i - z 0 ) c 3 = 0 - - - ( 10 ) ]]>

Σ i = 0 m - 1 ( z i - z 0 ) ( x i - x 0 ) c 1 + Σ i = 0 m - 1 ( z i - z 0 ) ( y i - y 0 ) c 2 + Σ i = 0 m - 1 ( z i - z 0 ) ( z i - z 0 ) c 3 = 0 ]]>

Σ i = 0 m - 1 ( x i - x 0 ) ( x i - x 0 ) c 1 + Σ i = 0 m - 1 ( x i - x 0 ) ( y i - y 0 ) c 2 + Σ i = 0 m - 1 ( x i - x 0 ) ( z i - z 0 ) c 3 = 0 ]]>

Σ i = 0 m - 1 ( y i - y 0 ) ( x i - x 0 ) c 1 + Σ i = 0 m - 1 ( y i - y 0 ) ( y i - y 0 ) c 2 + Σ i = 0 m - 1 ( y i - y 0 ) ( z i - z 0 ) c 3 = 0 ]]>

Σ i = 0 m - 1 ( z i - z 0 ) ( x i - x 0 ) c 1 + Σ i = 0 m - 1 ( z i - z 0 ) ( y i - y 0 ) c 2 + Σ i = 0 m - 1 ( z i - z 0 ) ( z i - z 0 ) c 3 = 0 - - - ( 11 ) ]]>

整理化简得到求解的目标方程为:

Σ 0 m - 1 ( x i - x 0 ) 2 Σ 0 m - 1 ( x i - x 0 ) ( y i - y 0 ) Σ 0 m - 1 ( x i - x 0 ) ( z i - z 0 ) Σ 0 m - 1 ( x i - x 0 ) ( y i - y 0 ) Σ 0 m - 1 ( y i - y 0 ) 2 Σ 0 m - 1 ( y i - y 0 ) ( z i - z 0 ) Σ 0 m - 1 ( x i - x 0 ) ( z i - z 0 ) Σ 0 m - 1 ( y i - y 0 ) ( z i - z 0 ) Σ 0 m - 1 ( z i - z 0 ) 2 c 1 c 2 c 3 = 0 0 0 - - - ( 12 ) ]]>

使用高斯消元法求解该方程,并做归一化处理得到:c=(c1,c2,c3)T。
此即为近似投影平面的法向量,也是转换坐标系的z'轴方向矢量。

考虑三维扫描仪的特性是按列扫描的,y′轴方向矢量的求解只要简
单地用前N个数据计算优势方向即为y′的方向。具体做法是:

DoitoN

b = b + x i + 1 - x i | | x i + 1 - x i | | ]]>

EndDo(13)

temp=b·c

b=b-temp×c

b = b | | b | | ]]>

xi+1、xi为第i+1、i个原始数据的横坐标,利用公式
i取值从1到N依次循环累计算得到b,作为b的初始值,再利用公式
temp=b·c、b=b-temp×c、计算得到作为坐标矢量的b。本实施例
中将b进行了单一化处理。

x′轴方向矢量可以通过已经建立的两个坐标轴方向矢量叉乘获得:

a = b × c = i j k b 1 b 2 b 3 c 1 c 2 c 3 = ( b 2 c 3 - b 3 c 2 , b 1 c 3 - b 3 c 1 , b 1 c 2 - b 2 c 1 ) - - - ( 14 ) ]]>

进一步归一化:

本实施例中,对坐标矢量均进行了归一化处理。至此,转换后的
坐标系的单位坐标矢量和原点(x0、y0、z0)都已确定,原始数据的近
似投影平面也唯一确定。根据公式(6)的坐标转换关系,可以计算出
转换后的数据空间坐标。图3展示了经过坐标转换后的点云数据在近
似投影平面上的二维投影图像。

【步骤二】在近似投影平面上建立局部坐标系。扫描得到的三维
扫描数据既可以拼装成一个完整的三维立体模型,也可以进行分区域
处理,重构其局部信息。一般地说,任何钟鼎碑碣都会以不同的区域
铭刻不同的文字,在每一个区域的数据,可以假设处在同一个曲面或
平面上。这样的曲面或平面数据量很大,大部分情况要通过多次采集
才能获得区域内的全部三维信息。每次采集的数据可以称为一帧数据。
在一帧数据内,采集设备是按固定的行、列数量采集的,比如M×N个
采集点。这种规则排列的数据,要划分为有限个单元(K×L),只需均
匀分割一帧数据,使得每个单元内的数据量为(m=M/K、n=N/L)个
即可。但由【步骤一】得到的近似投影平面其内部或边界可能有空隙,
需要对点云数据进行均匀分布处理,使帧数据规则排列形成严格的二
维矩阵形式,并且矩阵元素的下标编号与其空间坐标一一对应。下面
对具体步骤进行说明:

首先需要根据原始数据构建广义矩形。如果全部数据在空间某个
角度观察时表现为一个平均意义上的近似矩形形状,就可以在这个平
面上构造一个包含全部数据点的(面积)最小矩形,这个矩形可以作
为平面坐标外框架。构建矩形的方法是:

1、在近似投影平面上的数据中,依次找到最下面的点A、最右面
的点B、最上面的点C和最左面的点D,以ABCD为顶点建立一个四
边形。

2、以AB作为矩形的一条边,以C或D作为矩形的顶点,建立一
个矩形。其顶点分别是(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)。

3、利用得到的矩形对数据进行剪裁,丢弃矩形之外的数据。

其次,确定数据帧的宽度和高度,这可以由数据点矩阵排列的行
数和列数确定。由于三维扫描仪是按列扫描得到的数据,因此只需要
判断前后两个数据点在y’方向上的距离是否大于某个阈值(即距离阈
值)。若超过该阈值,则增加统计的列数值,否则说明这两个数据点在
同一列。当所有矩形内的数据点扫描完毕,则列数就是该帧数据的宽
度,同时统计过程中数据帧具有最多数据点数那一列的点数就是数据
帧的高度。

根据计算出的数据帧的宽度和高度,建立近似投影平面上数据坐
标到二维矩阵(图像矩阵)下标的映射,设近似投影平面上数据点坐
标为(xm,ym,z'm),二维矩阵的每个元素表示为D(i,j),共有numpoint
个数据点,则坐标映射公式为:

i = h e i g h t * y m - y min y max - y min + ϵ ]]>

j = w i d t h * x m - x min x max - x min + ϵ - - - ( 15 ) ]]>

D(i,j)=z'm

m=1,...,numpoint

通过上面的额计算得到的图像矩阵中存在空隙,即有些矩阵元素
的值是没有意义的深度值,本实施例使用均值滤波算法进行修正:以
空缺点为中心,计算周边八个数据点有意义的深度值的平均值作为该
点的深度值,如果周围的数据点都是空缺点,则该点也是空缺点。经
过上述处理,得到了按严格矩阵排列的规则排列图像矩阵,并且图像
矩阵的每个矩阵元素的下标编号都与数据点在近似投影平面上的坐标
具有对应关系。

在此基础上,为减少运算量并提高局部精度,同一个区域还可以
进一步划分为若干个(准矩形)单元。如果单元(即分区)的尺寸较
小,在单元内部的底面可以近似的看作一个平面,则处在单元上的字
模曲面可以用平面函数表达。将图像矩阵划分为若干个单元表达后,
之后为每一个单元建立局部坐标:

单元内的3D数据可以按横纵两个方向进行局部编号。

{Dij(x,y,z):i=0:m-1;j=0:n-1}(16)

局部坐标影射为:

{D(ξi,ηj)(x,y,z)|-1≤ξ<1,-1≤η<1}

其中, ξ i = i - m / 2 m / 2 ; η j = i - n / 2 n / 2 - - - ( 17 ) ]]>

或: x i j = x ( ξ i , η j ) { y i j = y ( ξ i , η j ) | i = 0 : m - 1 ; j = 0 : n - 1 } z i j = z ( ξ i , η j ) - - - ( 18 ) ]]>

考虑帧数据存储格式特点,比较普遍的存储方式是一位数组格式
将图像矩阵中数据进行存储。

在M×N个数据组成的一维数组D’中,在第k×l(0<k<M;0<l<N)
个点上,截取其中m×n(0<m<M-k;0<n<N-l)阵列数据D的方式是:

{D(xi,yi,zi)=D′(xj,yj,zj),j=((k+i/m)×M+l+mod(i/m))|i=0:m×n-1}

(19)

局部坐标下的可以表示为:

{D(ξi,ηi)(x,y,z)|-1≤ξ<1,-1≤η<1}

其中, ξ i = mod ( i / m ) - m / 2 m / 2 ; η i = i / m - n / 2 n / 2 - - - ( 20 ) ]]>

或: x i = x ( ξ i , η i ) { y i = y ( ξ i , η i ) | i = 0 : m × n - 1 } z i = z ( ξ i , η i ) - - - ( 21 ) ]]>

针对图像矩阵的矩阵形式,以矩形(x1,y1)(x2,y2)(x3,y3)(x4,y4)为单元,
构建局部坐标系。为计算方便,将四个节点按照左下角、右下角、右
上角、左上角的顺序排列。

首先确定局部坐标系的原点:

u = ( x 0 , y 0 , z 0 ) T = ( x 1 + x 2 + x 3 + x 4 4 , y 1 + y 2 + y 3 + y 4 4 , 0 ) T - - - ( 22 ) ]]>

矩形的宽和高为:

w = ( x 2 - x 1 ) 2 + ( y 2 - y 1 ) 2 = ( x 3 - x 4 ) 2 + ( y 3 - y 4 ) 2 h = ( x 3 - x 2 ) 2 + ( y 3 - y 2 ) 2 = ( x 4 - x 1 ) 2 + ( y 4 - y 1 ) 2 - - - ( 23 ) ]]>

则局部坐标系坐标轴为:

e x = ( e 1 x , e 2 x ) T = ( ( x 2 - x 1 ) w , ( y 2 - y 1 ) w ) T e y = ( e 1 y , e 2 y ) T = ( ( x 3 - x 2 ) h , ( y 3 - y 2 ) h ) T - - - ( 24 ) ]]>

局部变量定义为:

ξ = ( x - x 0 , y - y 0 ) e x = 2 ( x 2 - x 1 ) ( x - x 0 ) w + 2 ( y 2 - y 1 ) ( y - y 0 ) w η = ( x - x 0 , y - y 0 ) e y = 2 ( x 3 - x 2 ) ( x - x 0 ) h + 2 ( y 3 - y 2 ) ( y - y 0 ) h - - - ( 25 ) ]]>

这样,原始的三维局部数据就变换成了在局部坐标表达下的二维
数据。利用同样的方法可将近似投影平面上的数据投影到对应的局部
坐标系中。

【步骤三】拓印基准面的构造与数据切割。从空间角度考虑,从
底面到字模之间,往往存在一个过渡层。在提取字模信息时,应该把
过渡层信息去除,所采取的办法是不以底面为切割曲面,而是采用曲
面拟合的方式拟合出钟鼎碑刻表面的近似曲面,并将拟合曲面从底面
高度处上浮一定距离(通过点到近似曲面的距离实现的)形成拓印基
准面,在拓印基准面的高度上完成数据切割(切割其实就是以距离为
分割项,只提取上浮平面的一侧),同时也完成了底面消除。

如果不考虑尺寸影响,钟鼎碑刻表面可以看作是比较平滑的曲面,
可以用三维空间的二次函数表达。为了保证算法的普适性,也可以统
一使用二次插值函数描述。

完成了数据局部化后(即步骤二),三维扫描数据在单元内部的插
值可以使用9节点等参数单元插值(以下为曲面拟合的步骤)。9个插
值节点的分布,单元节点编号及其局部坐标如6图所示。相应节点的
形函数可以表示为:










设在单元节点上的三维数据为(Xk,Yk,Zk){k=0:8},则单元内任意一
点的三维数据为:




其中(Xk,Yk,Zk){k=0:8}为插值参量,差值参量通过特定的算法求解。
在几何意义上,为单元节点上的三维数据。

在选定的单元内部,三维数据集合可以表示为:

(xij,yij,zij){i=0:m;j=0:n}(28)

使用最小二乘法求解插值参量:

三维数据集合上的数据点到插值曲面的距离平方和为:

Π = Σ i = 0 , j = 0 m , n { ( x i j - x ( ξ i , η j ) ) 2 + ( y i j - y ( ξ i , η j ) ) 2 + ( z i j - z ( ξ i , η j ) ) 2 } - - - ( 29 ) ]]>

根据最小二乘法,最优的插值参量使上述平方和最小,即:

Π X k = 0 ]]>

Π Y k = 0 k = 0 : 8 - - - ( 30 ) ]]>

Π Y k = 0 ]]>

经过适当演算,建立关于插值参量的方程:

AX=B(31)

其中:

X=(Xk,Yk,Zk)T{k=0:8}

求解方程(31),可以得到参量X的数值。利用方程(27),就得
到了字模曲面在本单元上的拓印基准面的方程表达式。

一个单元求解完成后,其相邻单元相邻节点上的数值可以采用已
经求解的数值,也可以另外求解。如果是每个单元之间单独求解,则
可能出现单元之间细微的差异,在用近似解拼接图形时,就可能出现
一定的“裂缝”。因此,在求解相邻单元时,应该采用递次求解的办法,
每一个新单元只求解未知的节点数据。就会避免裂缝现象的出现。图4
显示了经过曲面拟合和底面消除处理后的字模曲面投影图像。

【步骤四】噪点滤除与字模投影。本步骤将经过步骤三处理后得
到的拓印基准面投影为平面字帖。在本步骤中,通过反低通滤波来消
除拓印基准面的曲率变化对投影的影响以及降噪处理。图5显示了经
过反低通滤除底面噪点和畸变影响后的平面字帖图像。

本文的方法,在不降低原始数据精度的前提下,对全局的三维扫
描数据在不转化为面绘制模型数据的基础上直接进行处理,提高了处
理精度。早处理过程方面,只通过参数控制计算的精度,避免了多余
的人工参与对数据的干扰,降低操作者在三维模型编辑处理方面的准
备知识。同时本发明的方法可以在短时间内去除钟碑刻底面部分数据,
得到较好的分离结果,能对任意扫描仪的通用.asc格式钟碑刻点云文件
直接进行处理。

以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参
照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,
对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本
发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

三维扫描数据的自适应底面消除方法.pdf_第1页
第1页 / 共21页
三维扫描数据的自适应底面消除方法.pdf_第2页
第2页 / 共21页
三维扫描数据的自适应底面消除方法.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《三维扫描数据的自适应底面消除方法.pdf》由会员分享,可在线阅读,更多相关《三维扫描数据的自适应底面消除方法.pdf(21页珍藏版)》请在专利查询网上搜索。

本发明公开了一种三维扫描数据的自适应底面消除方法,包括以下步骤:S1、将三维扫描数据通过坐标转换投影到近似投影平面上;S2、根据近似投影平面上的数据形成按矩阵形式排列的数据;将数据进行区域划分,并为每一个分区数据建立局部坐标系,将每个分区的数据在对应的局部坐标系进行转换;S3、针对每一个分区,利用差值参量,根据其局部坐标系中每个数据的坐标值计算在拓印基准面上对应的坐标值;S4、对步骤S3处理得到的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 测量;测试


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1