当前位置: 首页 > article >正文

算法-Z-order算法

1、学习背景
激光雷达点云是无序的,Transformer只能对有序的数据进行处理,为了将Transformer用在点云处理中,需要将无序的点云转换成有序的数据,另外,由于Transformer会用到局部注意力机制,所以将无序的数据转成有序的数据后,还要尽可能的保持空间邻近性。
2、Z-order算法
Z-order就是一种可以将无序数据转换为有序数据同时可以在一定程度上保持空间邻近性的方法。
2.1 算法步骤
假设我们有一个二维空间中的点(x, y),其中x = 5,y = 6。我们想要将这个点映射到Z-order曲线的一维索引上。以下是具体的步骤:
将坐标转换为二进制表示:
x = 5的二进制表示是101。
y = 6的二进制表示是110。
交错排列二进制位:
我们将x和y的二进制位交错排列,从最低位(最右边的位)开始。
交错后的二进制字符串是111001。
将交错后的二进制字符串转换为整数:

交错后的二进制字符串111001转换为十进制整数是57。
因此,点(5, 6)在Z-order曲线上的Z值是57。

这个过程可以推广到三维空间中的点(x, y, z)。例如,如果x = 5,y = 6,z = 3,那么:

将坐标转换为二进制表示:

x = 5的二进制表示是101。
y = 6的二进制表示是110。
z = 3的二进制表示是011。
交错排列二进制位:

我们将x、y和z的二进制位交错排列,从最低位开始。
交错后的二进制字符串是011110101。
将交错后的二进制字符串转换为整数:

交错后的二进制字符串011110101转换为十进制整数是485。
因此,点(5, 6, 3)在Z-order曲线上的Z值是485。

通过以上步骤就可以将高维无序点转换成一维有序点。
2.2 Z-order曲线
在这里插入图片描述
左图是一个Z-order曲线的示例,中间的图是用实际的二维无序点填充后的Z-order曲线,也就是说,Z-order曲线是基于点的实际位置以及用2.1的方法计算出的Z值,在原图中画出的曲线。比如:
图中1的坐标为(0,1),2的坐标为(1,1),3的坐标为(3,0),则1的交错后的二进制字符串为0010(对应的Z值为2),2的交错后的二进制字符串为0011(对应的Z值为3),3的交错后的二进制字符串为0101(对应的Z值为5)。根据Z值由小到大画Z-order曲线即如图所示。
之所以称之为Z-order曲线,是因为二维数据画出来的Z-order曲线形状像Z。在二维空间中,Z-order曲线呈现出类似字母"Z"的折线形状,而在三维空间中,Z-order曲线则更加复杂,但仍然保持了点的局部性。
之所以说,Z-order曲线保持了空间局部性,从Z-order曲线上就可以看出来,你看,1,2,3在空间上是邻近的,转成一维索引后,索引也是挨着的,三维空间类似,这就证明了Z-order曲线不仅可以有序还可以保持空间邻近性。


http://www.kler.cn/a/443138.html

相关文章:

  • 计算机网络 (31)运输层协议概念
  • AAAI2023《Controllable Image Captioning via Prompting》
  • es 3期 第23节-运用Pipeline实现二转聚合统计
  • 【CSS】设置滚动条样式
  • 【网络协议】开放式最短路径优先协议OSPF详解(四)
  • 测试ip端口-telnet开启与使用
  • form表单校验对象中的对象的属性 / 根据表单中某一个数据动态添加其他项是否必填
  • 软件测试丨性能测试基本概念
  • CAD学习 day3
  • MySQL系列之数据类型(String)
  • qt-C++笔记之继承自 QWidget和继承自QObject 并通过 getWidget() 显示窗口或控件时的区别和原理
  • 绿色浪潮,VELO Angel Glide坐垫奏响环保骑行乐章
  • VUE3 笔记总结
  • abc 384 D(子数组->前缀和) +E(bfs 扩展的时候 按照数值去扩展)
  • 【中工开发者】HarmonyOS APP打怪小游戏
  • QMainwindow的鼠标跟踪事件不触发问题
  • C/C++ 匿名namespace和有名namespace的区别
  • 面试小札:闪电五连鞭_5
  • tryhackme-Pre Security-Defensive Security Intro(防御安全简介)
  • Parcel 常用插件:增强功能与性能的最佳选择
  • ASRPRO学习笔记二之语音控制LED亮灭
  • 鸿蒙操作系统简介
  • git 怎么删除一个远程分支
  • 代理IP与生成式AI:携手共创未来
  • 操作系统里的算法
  • k8s存储卷和动态创建pv