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

【GeoTransformer系列】——数据部分梳理(1)

  • geotransformer.utils.data模块解读
    • 0. 写在前面
    • 1. precompute_data_stack_mode
      • 1.1. 功能
      • 1.2. 输入
      • 1.3. 输出
      • 1.4. 代码
    • 2. registration_collate_fn_stack_mode
      • 2.1 功能
      • 2.2. 输入
      • 2.3. 输出
      • 2.4. 代码
    • 3. calibrate_neighbors_stack_mode 函数
      • 3.1. 功能
      • 3.2. 输入
      • 3.3.输出
      • 3.4. 代码
    • 4. build_dataloader_stack_mode 函数
      • 4. 1. 功能
      • 4. 2. 输入
      • 4. 3. 输出
      • 4.4 代码

geotransformer.utils.data模块解读

0. 写在前面

  • 使用自己的数据进行点云数据配准的训练时, 需要运行GeoTransformer/experiments/geotransformer.kitti.stage5.gse.k3.max.oacl.stage2.sinkhorn/下面的trainval.py,它是调用同目录下的dataset.py来组织数据的。

  • 而在这个文件的开头, 就import 了geotransformer.utils.data模块中的三个函数, 因此理解这个模块是非常重要的。

  • 首先将dataset.py中的流程在这里简要梳理一下, 方便更好地理解为什么要去解读geotransformer.utils.data模块:
    在这里插入图片描述
    这个流程对应的代码(GeoTransformer/experiments/geotransformer.kitti.stage5.gse.k3.max.oacl.stage2.sinkhorn/dataset.py):

    train_dataset = OdometryKittiPairDataset(cfg.data.dataset_root,'train',point_limit=cfg.train.point_limit,use_augmentation=cfg.train.use_augmentation,augmentation_noise=cfg.train.augmentation_noise,augmentation_min_scale=cfg.train.augmentation_min_scale,augmentation_max_scale=cfg.train.augmentation_max_scale,augmentation_shift=cfg.train.augmentation_shift,augmentation_rotation=cfg.train.augmentation_rotation,)neighbor_limits = calibrate_neighbors_stack_mode(train_dataset,registration_collate_fn_stack_mode,cfg.backbone.num_stages,cfg.backbone.init_voxel_size,cfg.backbone.init_radius,)train_loader = build_dataloader_stack_mode(train_dataset,registration_collate_fn_stack_mode,cfg.backbone.num_stages,cfg.backbone.init_voxel_size,cfg.backbone.init_radius,neighbor_limits,batch_size=cfg.train.batch_size,num_workers=cfg.train.num_workers,shuffle=True,distributed=distributed,)

1. precompute_data_stack_mode

1.1. 功能

对点云数据进行多阶段的网格下采样(grid subsampling),
在每个阶段的点云中都开展一次邻域搜索(radius search),以准备训练所需的数据结构。

1.2. 输入

  • points:点云坐标。
  • lengths:每个点云中的点数。
  • num_stages:下采样的阶段数。
  • voxel_size:初始体素大小。
  • radius:邻域搜索半径。
  • neighbor_limits:各阶段允许的最大邻域点数限制。

1.3. 输出

一个字典,包含各个阶段的点云、长度、邻域信息、下采样和上采样索引。

1.4. 代码

# Stack mode utilities
def precompute_data_stack_mode(points, lengths, num_stages, voxel_size, radius, neighbor_limits):assert num_stages == len(neighbor_limits)points_list = []lengths_list = []neighbors_list = []subsampling_list = []upsampling_list &

相关文章:

  • 【源码】Spring Data JPA原理解析之事务注册原理
  • SHELL脚本学习(六) 呈现数据
  • 联想测开一面(电话面试)笔试60%
  • WPS JSA 宏脚本入门和样例
  • 【AI应用探讨】— GPT-4o模型应用场景
  • Synchronized 用过吗,其原理是什么???
  • 理解数学概念——线性(线性性)
  • Android: Null extracted folder for artifact: ResolvedArtifact(xxx 项目编译失败
  • Socket编程学习笔记之TCP与UDP
  • LabVIEW结构体内部缺陷振动检测
  • Android之保存图片到相册之前兼容不同机型需要注意的配置
  • 上岸北科大计算机专业难度有多大?北京科技大学计算机考研考情分析!
  • 【kubernetes】k8s集群安全机制 保姆级攻略
  • yg校园易购电商系统(Go+Vue)
  • DevExpress Installed
  • css布局,左右固定中间自适应实现
  • JavaScript 基本功--面试宝典
  • JavaScript设计模式之工厂模式
  • JavaScript中的对象个人分享
  • Java编程基础24——递归练习
  • Making An Indicator With Pure CSS
  • mysql 5.6 原生Online DDL解析
  • supervisor 永不挂掉的进程 安装以及使用
  • TCP拥塞控制
  • Vue小说阅读器(仿追书神器)
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 给第三方使用接口的 URL 签名实现
  • 回顾 Swift 多平台移植进度 #2
  • 看域名解析域名安全对SEO的影响
  • 跳前端坑前,先看看这个!!
  • 微服务入门【系列视频课程】
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • Java数据解析之JSON
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​​​【收录 Hello 算法】9.4 小结
  • ## 基础知识
  • #define,static,const,三种常量的区别
  • (10)ATF MMU转换表
  • (152)时序收敛--->(02)时序收敛二
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (编译到47%失败)to be deleted
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (十三)MipMap
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .gitignore文件忽略的内容不生效问题解决
  • .NET Core 2.1路线图
  • .net FrameWork简介,数组,枚举
  • .Net MVC4 上传大文件,并保存表单