【论文阅读】空间圆形拟合检测新方法

目录

  • 1、空间圆拟合模型
    • 1.1、空间平面拟合
    • 1.2、空间圆拟合
  • 2、参考文献
  • 3、算法伪码
  • 4、算法结果

摘 要 根据空间圆中任意两条弦所对应的中垂面与空间圆所处的平面必然相交且交点即为圆心这一空间圆特性,利用空间向量按照最小二乘法推导出圆心计算方程,按照附有条件的间接平差求解圆心坐标,进而反算出空间圆半径。经实例验证表明该模型可靠,拟合精度高,程序实现较其他模型更为简便,在工程运用中具有良好的实用性。
关键词 空间圆; 空间向量; 最小二乘; 限制条件; 间接平差
中图分类号 P207; P258 文献标识码 A

1、空间圆拟合模型

  如图所示,从理论而言,所有的测量点都必须位于空间平面内,首先需要进行空间平面拟合; 其次,在空间圆中任意两点连线可以得到一条弦,通过这条弦的直线方程可以计算出对应的中垂面方程,以测量点 N ( N > 3 ) N(N > 3) N(N3)为例,可以得到 N − 1 N-1 N1条线性不相关的弦,从而得出 N − 1 N-1 N1个线性不相关的中垂面方程。根据空间圆的特性,拟合平面和所有空间平面相交有且只有一个交点,这个交点即为平面圆的圆心; 最后,将拟合的空间平面作为限制条件,中垂面作为观测方程,利用带有限制条件的间接平差作为基本函数模型推导出平面圆圆心的计算方程,再根据点到圆心的代数距离方程计算出平面圆半径。
在这里插入图片描述

空间圆拟合原理示意图

1.1、空间平面拟合

  由于所有观测点必在平面上,所以首先需对实测点进行平面拟合。任何空间平面方程可表示为:
a x + b y + c z − 1 = 0 (1) ax + by + cz-1 = 0 \tag{1} ax+by+cz1=0(1)
n n n个观测点的三维坐标代入式(1)可得:
A ⋅ X − l = 0 (2) A·X-l = 0 \tag{2} AXl=0(2)
式中:

A = ( x 1 x 2 ⋯ x n y 1 y 2 ⋯ y n z 1 z 2 ⋯ z n ) T , X = ( a b c ) T , l = ( 1 1 ⋯ 1 ) T A=\left( \begin{matrix} x_1 & x_2 & \cdots& x_n\\ y_1 & y_2 & \cdots& y_n \\ z_1 & z_2 & \cdots& z_n \end{matrix} \right)^T,X=\left( \begin{matrix} a & b & c\\ \end{matrix} \right)^T, l=\left( \begin{matrix} 1 & 1 & \cdots& 1\\ \end{matrix} \right)^T A= x1y1z1x2y2z2xnynzn TX=(abc)T,l=(111)T
权阵 P P P 为单位矩阵。

  根据最小二乘法则 V T P V = m i n V^TPV = min VTPV=min 可知,拟合平面的法向量的方向系数为:
X = ( A T A ) − 1 A T l (3) X = (A^TA)^{-1} A^Tl\tag{3} X=(ATA)1ATl(3)
而各个点 P i ( x i , y i , z i ) P_i(x_i,y_i,z_i) Pi(xiyizi) 的平整度为:

d i = ∣ a x i + b y i + c z i − 1 ∣ a 2 + b 2 + c 2 (4) d_i=\frac{|ax_i+by_i+cz_i-1|}{\sqrt{a^2+b^2+c^2}}\tag{4} di=a2+b2+c2 axi+byi+czi1∣(4)

1.2、空间圆拟合

  运用空间向量思想推导球面上任意两点之间的中垂面方程。
  向量 P 1 P 2 ⃗ \vec{P_1P_2} P1P2 ( x 2 − x 1 , y 2 − y 1 , z 2 − z 1 ) (x_2-x_1,y_2-y_1,z_2-z_1) (x2x1y2y1z2z1),设圆心 P 0 ( x 0 , y 9 , z 0 ) P_0(x_0,y_9,z_0) P0(x0,y9,z0),过 P 1 P_1 P1 P 2 P_2 P2的中间点 P 12 P_{12} P12与圆心 P 0 P_0 P0连线的方向向量为 P 0 P 12 ⃗ ( x 2 + x 1 2 − x 0 , y 2 + y 1 2 − y 0 , z 2 + z 1 2 − z 0 ) \vec{P_0P_{12}}(\frac{x_2+x_1}{2}-x_0,\frac{y_2+y_1}{2}-y_0,\frac{z_2+z_1}{2}-z_0) P0P12 (2x2+x1x0,2y2+y1y0,2z2+z1z0),由于2个空间向量垂直,得出:
( x 2 − x 1 , y 2 − y 1 , z 2 − z 1 ) ⋅ ( x 2 + x 1 2 − x 0 , y 2 + y 1 2 − y 0 , z 2 + z 1 2 − z 0 ) = 0 (5) (x_2-x_1,y_2-y_1,z_2-z_1)\cdot(\frac{x_2+x_1}{2}-x_0,\frac{y_2+y_1}{2}-y_0,\frac{z_2+z_1}{2}-z_0)=0\tag{5} (x2x1y2y1z2z1)(2x2+x1x0,2y2+y1y0,2z2+z1z0)=0(5)
式(5) 可以简化为下式:
Δ x 12 ⋅ x 0 + Δ y 12 ⋅ y 0 + Δ z 12 ⋅ z 0 - l 1 = 0 (6) Δx_{12}·x_0 + Δy_{12}·y_0 + Δz_{12}·z_0 - l_1=0 \tag{6} Δx12x0+Δy12y0+Δz12z0l1=0(6)
式中, Δ x 12 = x 2 − x 1 , Δ y 12 = y 2 − y 1 , Δ z 12 = z 2 − z 1 , l 1 = ( x 2 2 + y 2 2 + z 2 2 − x 1 2 − y 1 2 − z 1 2 ) 2 Δx_{12} = x_2-x_1,Δy_{12} = y_2-y_1,Δz_{12} = z_2-z_1,l_1=\frac{(x_2^2+y_2^2+z_2^2-x_1^2-y_1^2-z_1^2)}{2} Δx12=x2x1Δy12=y2y1,Δz12=z2z1,l1=2(x22+y22+z22x12y12z12)

  由空间球体中垂面方程的相关性, n n n个观测点坐标可以列出 n − 1 n-1 n1个线性无关的中垂面方程,可得误差方程:
( v 1 v 2 ⋮ v n − 1 ) = ( Δ x 12 Δ x 23 ⋯ Δ x ( n − 1 ) n Δ y 12 Δ y 23 ⋯ Δ y ( n − 1 ) n Δ z 12 Δ z 23 ⋯ Δ z ( n − 1 ) n ) ( l 1 l 2 ⋮ l n ) (7) \left( \begin{matrix} v_1 \\ v_2 \\ \vdots \\ v_{n-1} \end{matrix} \right)= \left( \begin{matrix} Δx_{12}&Δx_{23}&\cdots&Δx_{(n-1)n} \\ Δy_{12}&Δy_{23}&\cdots&Δy_{(n-1)n} \\ Δz_{12}&Δz_{23}&\cdots&Δz_{(n-1)n} \\ \end{matrix} \right) \left( \begin{matrix} l_1 \\ l_2 \\ \vdots \\ l_n\\ \end{matrix} \right) \tag{7} v1v2vn1 = Δx12Δy12Δz12Δx23Δy23Δz23Δx(n1)nΔy(n1)nΔz(n1)n l1l2ln (7)
上式简化为: V = B ⋅ X - L (8) V = B·X - L \tag{8} V=BXL(8)
  此时权阵 P P P为单位阵。认定圆心必在拟合的空间平面上,依此作为限制条件,按照附有条件的间接平差进行计算,限制条件为式(9),推导法方程,可得圆心的最小二乘解。
  限制条件: C ⋅ X − W x = 0 (9) C·X-W_x = 0 \tag{9} CXWx=0(9)
式中: C = ( a , b , c ) C = (a, b, c) C=(a,b,c) W x = 1 W_x = 1 Wx=1
  法方程为:
( B T P B C T C 0 ) ⋅ ( X K s ) − ( B T P l W x ) = 0 (10) \left( \begin{matrix} B^TPB & C^T\\ C & 0 \\ \end{matrix} \right)·\left( \begin{matrix} X \\ K_s \\ \end{matrix} \right)- \left( \begin{matrix} B^TPl \\ W_x \\ \end{matrix} \right)=0 \tag{10} (BTPBCCT0)(XKs)(BTPlWx)=0(10)

式中 K s K_s Ks为限制条件的联系数向量。
  得出最小二乘解:
( X K s ) = ( B T P B C T C 0 ) − 1 ⋅ ( B T P l W x ) = 0 (11) \left( \begin{matrix} X \\ K_s \\ \end{matrix} \right)= \left( \begin{matrix} B^TPB & C^T\\ C & 0 \\ \end{matrix} \right)^{-1}\cdot \left( \begin{matrix} B^TPl \\ W_x \\ \end{matrix} \right)=0 \tag{11} (XKs)=(BTPBCCT0)1(BTPlWx)=0(11)
  再根据解出的圆心坐标,求出各个观测点到空间圆圆心的距离:
r i = ( x i − x 0 ) 2 + ( y i - y 0 ) 2 + ( z i - z 0 ) 2 , ( i = 1 , 2 , … , n ) (12) r_i= \sqrt{(x_i -x_0)^2 + (y_i-y_0)^2 + (z_i-z_0) ^2} ,(i = 1,2,…,n)\tag{12} ri=(xix0)2+(yiy0)2+(ziz0)2 (i=12n)(12)
圆的拟合半径 r r r为这些距离的平均值, Δ r i = r i − r ( i = 1 , 2 , … , n ) Δr_i = r_i -r(i =1,2,…,n) Δri=rir(i=12n)为这些点的圆度。

2、参考文献

[1] 李英硕,杨帆,袁兆奎.空间圆形拟合检测新方法[J].测绘科学,2013,38(06):147-148.DOI:10.16251/j.cnki.1009-2307.2013.06.060.

3、算法伪码

# --------------------------------读取点云--------------------------------
pc = PointCloudReader('E://data//Circle.pcd');
# -------------------------------获取xyz坐标------------------------------
P = [];                 % XYZ坐标
n = point_num;          % 点的个数
# ----------------------最小二乘求拟合平面的法向量系数--------------------
% 法方程:AX-l=0
A = [];                 % 法方程系数
l = [];                 % 法方程常数项
X = A * [] * l;         % 求解法方程
di = |(ax+by+cz-1)/sqrt(a^2+b^2+c^2)|; % 各点的平整度
# ------------------------------空间圆拟合--------------------------------
B = [];                 % 系数矩阵B
L = [];                 % 系数矩阵L
% 限制条件:CX - Wx = 0C = (a, b, c);
% 法方程系数
N = [B'*B C';C 0];
% 法方程常数项
W = [B'*L;1];
% 求解法方程
Xo = N^-1 * W;
% 计算圆心
center = [xo yo zo];
% 计算半径
ri = sqrt((xi-xo)^2+(yi-yo)^2+(zi-zo)^2);
r = mean(ri); % 空间圆拟合半径
% 计算点的圆度
dri = ri - r; 
# ----------------------------结果可视化----------------------------------
figure
% 1、绘制原始点
h1 = plot3(P(:,1), P(:,2), P(:,3), '*');
% 2、绘制拟合空间圆
x = c1 + r * a(1) * cos(theta) + r * b(1) * sin(theta);% 圆上各点的x坐标
y = c2 + r * a(2) * cos(theta) + r * b(2) * sin(theta);% 圆上各点的y坐标
z = c3 + r * a(3) * cos(theta) + r * b(3) * sin(theta);% 圆上各点的z坐标
hold on;h2 = plot3(x, y, z, '-r');
% 3、绘制拟合圆圆心
h3 = plot3(center(1),center(2),center(3),'go');
grid on
% 4、误差分布统计
plot(di);       % 平整度
hold on
plot(dri,'.-'); % 圆度

4、算法结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/60597.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海外硕士苏明哲回国后哀叹:我美本英硕,找不到工作很难受

推荐阅读: 欢迎加入我们的架构师社群 阿里跳槽拼多多,80万年薪涨到160万,值不值得去? 一名海外留学生回国后找工作,却屡受打击,感慨自己美本英硕,却找不到工作,内心真的很难受&#…

玩转AI绘图 电脑配置怎么选?

大家好,我是网媒智星,很多小伙伴留言想了解一下AI绘图相关知识,那么,想要玩转AI绘图,电脑配置该怎么选呢? 首先我们了解一下什么叫AI绘图? AI绘图指的是利用人工智能技术实现的自动绘图&#x…

chatgpt赋能python:Python做图:一个强大而灵活的工具

Python做图:一个强大而灵活的工具 Python是一个流行的编程语言, 越来越多的人开始使用它进行数据分析和可视化。 Python做图的功能非常强大,使得它成为许多人的首选工具。在这篇文章中, 我们将讨论 Python做图及其SEO优化。 Python做图的优势 Python做…

人工智能基础部分19-强化学习的原理和简单应用,一看就懂

大家好,我是微学AI,今天给大家介绍一下人工智能基础部分19-强化学习的原理和简单应用,随着人工智能的不断发展,各种新兴技术不断涌现。作为人工智能的一个重要分支,强化学习近年来受到了广泛关注。本文将介绍强化学习的…

TT语音:游戏社交乱象难平

游戏在人们生活中占据的时间越来越多,用户对游戏内的体验也愈发的丰富,有时候和朋友三五结队打几把王者荣耀,但大部分玩家是处于一个人玩游戏的状态,而这种状态也影射了当前Z世代的孤独状态。 人在孤独后会产生强烈的社交需求&am…

Android(仿QQ登入+网易新闻)

文章目录 场景内容:效果参考 场景 提示:基于期末作业开发(自增轮播图) 自评:效果蛮丑的,功能都在,仅供参考! 内容: 一,引导页 1,设计引导页Log…

运维有趣项目:搭建个人博客安全版(Appache2.4防盗链与防泄漏,防盗链httpd.conf无Load,include版)

这次算是呕心沥血了,网上的防盗链文章简直一个模子的,全部都是采用httpd.conf修改LoadModule rewrite_module modules/mod_rewrite.so或是httpd-default.conf,可是我用阿里云自动搭建的apache环境压根就没有啊,如果有相同经历的,可以看这篇文章,希望留下评论,给个鼓励不,QAQ,域…

chatgpt赋能python:Python打包成手机可执行文件指南

Python 打包成手机可执行文件指南 作为一名有着10年Python编程经验的工程师,我认为将Python打包成手机可执行文件是一项非常有用的技能。在这篇文章中,我将介绍Python打包成手机可执行文件的重要性,以及如何使用PyInstaller工具轻松打包Pyth…

优酷“首月1元”会员引争议:取消续费却被扣24元;马斯克欲在推特建立支付系统,并包含加密货币功能;Deno 1.3发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

chatgpt赋能python:Python多个%d在SEO中的应用

Python多个%d在SEO中的应用 在当今的互联网时代,搜索引擎优化(SEO)已经成为了每个网站的重要任务之一。而在Python编程中,有一个非常常见的占位符%d,用来替代一个整数。在本文中,我们将介绍Python中多个%d…

38年来,NBA最有价值球员|数据分析

使用工具:Ipython notebook/Anacoda-Spyder 使用的库:Pandas,Matplotlib,Seaborn Python版本:Py3.6 1 数据来源 1).本次用到的数据 来源于https://www.basketball-reference.com/awards/mvp.html,其中可以选择多种形式,我选的是CSV格式,方便后面的数据分析,(文末会分享…

kaggle:谁是NBA最佳防守球员?(二)

接着前几天发的关于kaggle中NBA球员投篮数据探索性数据分析和可视化分析之后,小编本打算对这13万的投篮数据跑几个机器学习模型预测一下投篮的,可是电脑内存不给力,试了几次之后便作罢了。还打算第一次试一下kaggle上被传的神乎其技的大杀器x…

篮球中各个位置的名称及介绍…

正规篮球比赛是5对5,赛场上分布着五个篮球位置,分别是:中锋(C)、大前锋(PF)、小前锋(SF)、得分后卫(SG)、控球后卫(PG) 来…

几行代码,GPT-3变ChatGPT!吴恩达高徒、华人CEO震撼发布Lamini引擎

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信技术交流群 转载自:新智元 | 编辑:Aeneas 好困 【导读】这个全新发布的Lamini引擎,大大拉低了模型训练的门槛&#xff…

抖音小店无货源是怎么做的?开店需要我们准备什么?经验分享

大家好,我是电商糖果 无货源模式流行于14-15年,最早是在某宝、某东、多多这些平台 目前抖音小店无货源的情况: 抖音小店和其他传统电商平台不一样,抖音小店起店是很快的,基本上5-20天小店就可以稳定出单了。 现在直…

抖音小店开通后为什么不出单?新店一定要看看是不是这三个方面没做好

大家好,我是电商年年 想要做好抖音小店,找对方法很重要。很多人的抖音小店开通后迟迟不出单,其实主要有三个原因。 选品为王 做电商,产品才是第一位,其他都要往后靠。选品首先要确定类目,之前很多人都在…

关于抖音小店无货源,作为过来人,来给你推荐几个好做的类目

Hello这里是六一,一个在无货源模式下闯荡多年的电商人。 好的类目对于操作无货源来说也是一个关键点,类目选的没问题,那起点就比别人高,做起来容易得多。 上边在讲营业执照问题的时候建议新手把全类目都开通,但是在做…

抖音小店无货源怎么做?具体步骤讲解,经验分享

哈喽,大家好,我是布丁。 废话不多说,直接上干货。 抖音小店无货源是什么? 抖音小店就是在抖音上开一家小店,抖音小店是一个电商平台,无货源是一种操作模式。 无货源模式就是在网上采集其他店铺的商品&a…

抖音橱窗or抖音小店?这3点,新手开店必看!

不会吧不会吧,都2023了还有人分不清抖音橱窗和小店的区别?今天小编就带你了解一下,不再掉大坑。 1、性质不同 商品橱窗 它只是展示商品的一个窗口,是抖音的一个电商功能,主要通过短视频或者直播的形式推广商品&…

抖音小店商品卡访客七天新增1w+ 2023无货源起店方法,重点必看

2023年最新的起店玩法,不用动销就能起店,七天商品卡访客就能到1万: 我们新开的好几个店铺都是这样做起来的,其中有两个核心,一定要认真看完。 第一步:低价引流款拉流量 店铺开好以后,第一天上…