PVN3D ONNX / ORT / TRT / 原生 CUDA 测试配合说明

ORB-SLAM3 class VertexAccBias : public g2o::BaseVertex<3,Eigen::Vector3d> ◄──── EdgeAccRW ──────► VertexAccBias(VAk)(上一关键帧,固定)在纯 IMU 短窗口内,零偏与重力的分解本就病态;陀螺零偏只影响旋转预积分,与视觉观测的旋转部分(相机朝向)直接对应,相对容易估计;加计零偏影响速度、位置预积分,且与重力向量在测量方程中线性组合,存在。会让边刷新用零偏一阶修正后的预积分测量(速度、位置部分);,视觉残差对零偏的雅可比明明是零,怎么会有信息传过去?刷新依赖零偏的中间项。把视觉信息传递到零偏估计,这句话怎么理解?是安全的,框架会兜底。 阅读详情

1. 文档目的

本文专门说明当前仓库里,deploy/model_wrappers.py、onnx_test/run_linemod_hybrid_ort.py、onnx_test/run_linemod_hybrid_trt.py 三者之间是怎么配合工作的。

本文讨论的是部署测试链,不讨论训练。

当前仓库的真实测试结构不是:

  • 整个 PVN3D 一次性转成一个 ONNX
  • 整个 PVN3D 一次性转成一个 TensorRT engine

而是:

  1. 用 model_wrappers.py 把完整 PVN3D 拆成三个阶段
  2. 把能稳定导出的两段导出为 ONNX
  3. 再把 ONNX 转成 TensorRT engine
  4. PointNet2 保留原生 PyTorch + CUDA Extension
  5. 用 ORT 或 TRT 脚本把整条链重新接起来做 LINEMOD 测试

这也是当前目录中以下三份代码同时存在的原因:

2. 当前测试链的核心结论

当前可行的测试主线是:

  1. rgb_backbone 走 ONNX Runtime 或 TensorRT
  2. PointNet2 继续走原生 PyTorch CUDA Extension
  3. fusion_head 走 ONNX Runtime 或 TensorRT
  4. pose solver 继续走仓库原有的 LINEMOD 求解逻辑

因此当前存在两条混合测试链:

  • ORT 版:
    rgb_backbone.onnx -> PointNet2 Native CUDA -> fusion_head.onnx
  • TRT 版:
    rgb_backbone.engine -> PointNet2 Native CUDA -> fusion_head.engine

这两条链验证的是同一套部署拆分边界,只是中间执行后端不同。

3. 为什么必须拆成三段

3.1 根因在 PointNet2

PVN3D 里最难直接导出的部分不是 CNN,也不是最终预测头,而是 PointNet2。

PointNet2 当前依赖本地编译的 CUDA 扩展与自定义算子,这类算子不属于标准 ONNX 算子集合,也不是 TensorRT 当前可以直接解析的通用层。

所以当前阶段不能指望:

  • “整网直接导 ONNX”
  • “整网直接转 TRT”

3.2 当前拆分边界

当前拆分边界固定为三段:

  1. rgb -> out_rgb, rgb_seg
  2. cld_rgb_nrm -> pcld_emb
  3. out_rgb, choose, pcld_emb -> pred_kp_of, pred_rgbd_seg, pred_ctr_of

其中:

  • 第 1 段可以导成 rgb_backbone.onnx / rgb_backbone.engine
  • 第 2 段只能继续保留原生 CUDA
  • 第 3 段可以导成 fusion_head.onnx / fusion_head.engine

这不是为了代码整洁,而是为了先把能稳定落地的部分落地。

4. 产物之间的关系

可以把当前产物链看成:

  1. checkpoint
  2. model_wrappers.py
  3. ONNX
  4. TensorRT engine
  5. ORT/TRT 混合测试

对应关系如下:

  • weights/*.pth.tar
    由 model_wrappers.py 加载
  • wrapper 拆分后导出:
    • deploy/models/onnx_ape/rgb_backbone.onnx
    • deploy/models/onnx_ape/fusion_head.onnx
  • ONNX 再构建成:
    • deploy/models/engine_ape/rgb_backbone.engine
    • deploy/models/engine_ape/fusion_head.engine
  • 最终由测试脚本把这些产物与 PointNet2 原生 CUDA 拼回完整推理链

5. model_wrappers.py 代码解析

文件:

这个文件不负责导出,也不负责最终测试。它负责定义部署边界。

5.1 load_checkpoint

职责:

  • 归一化 checkpoint 路径
  • 加载 checkpoint
  • 提取 state_dict
  • 去掉可能存在的 module. 前缀

这里还有一个容器里已经遇到过的兼容性点:

  • ycb_pvn3d_best.pth.tar 可以直接用 torch.load
  • ape_pvn3d_best.pth.tar 可能是 pickle 格式

所以当前实现是:

  1. 先尝试 torch.load
  2. 如果遇到 Invalid magic number
  3. 自动回退到 pickle.load

这一步解决的是“同样叫 .pth.tar,但底层保存格式不完全一致”的问题。

5.2 build_full_model

职责:

  • 按 num_classes、num_points 构建完整 PVN3D
  • 挂载 checkpoint
  • 移到目标设备
  • 切到 eval()

后续所有 wrapper 都建立在这一步生成的完整模型之上。

5.3 RGBBackboneWrapper

输入:

  • rgb

输出:

  • out_rgb
  • rgb_seg

对应代码逻辑很直接:

out_rgb, rgb_seg = self.cnn(rgb)
return out_rgb, rgb_seg

这一段的特点是算子标准、结构清晰,所以适合先导出。

5.4 PointNet2NativeWrapper

输入:

  • pointcloud

输出:

  • pcld_emb

代码本身也很直接:

return self.pointnet2(pointcloud)

但它背后的实现依赖 CUDA 扩展,这就是为什么它不能直接并入当前 ONNX / TRT 主线。

5.5 FusionHeadWrapper

输入:

  • out_rgb
  • choose
  • pcld_emb

输出:

  • pred_kp_of
  • pred_rgbd_seg
  • pred_ctr_of

这一段做的事情有三步:

  1. 把 out_rgb 拉平并按照 choose 抽取像素特征
  2. 和 pcld_emb 做 rgbd_feat 融合
  3. 通过三个 head 输出关键点偏移、分割和中心点偏移

这里最关键的输入不是 rgb,而是已经对齐好的:

  • out_rgb
  • choose
  • pcld_emb

这也是 ORT/TRT 测试脚本都必须显式处理 choose 的原因。

5.6 build_split_wrappers

这是整个部署测试链的工厂函数。

它一次性返回:

  • full_model
  • rgb_backbone
  • pointnet2_native
  • fusion_head
  • gather_rgb_feature

当前 ORT 和 TRT 两个测试脚本都依赖这个统一约定。

6. 当前 tar 权重的两个作用

当前混合测试链里,weights/*.pth.tar 不是只起一个作用,而是同时承担两件事。

6.1 给 PointNet2 Native CUDA 提供参数

当前 PointNet2 还没有转成 ONNX,也没有转成 TensorRT。

所以无论是 ORT 测试脚本还是 TRT 测试脚本,都必须先从 tar 权重构建完整 PVN3D,再从里面取出:

  • pointnet2_native

这部分权重的作用是:

  • 让原生 PyTorch + CUDA Extension 路径能够正常前向
  • 把 cld_rgb_nrm 转成 pcld_emb
  • 作为 ONNX / TRT 两段子图之间的桥接段

如果没有这部分权重,当前混合链就缺中间这一段,ORT 和 TRT 都接不起来。

6.2 给 full_model 提供基线,用于精度对比

当前两个测试脚本里还会用同一个 tar 权重再构建:

  • full_model

这个 full_model 不是当前部署链实际执行的一部分,而是原始完整 PyTorch 模型基线。

它的作用是把原始完整模型输出和以下结果做对比:

  • ORT 混合推理结果
  • TRT 混合推理结果

对比项主要包括:

  • pred_kp_of
  • pred_rgbd_seg
  • pred_ctr_of

这样可以检查:

  • ONNX 子图导出后是否出现明显数值漂移
  • TensorRT engine 接入后是否出现异常偏差
  • 输入裁剪、点数重采样、choose 重映射是否破坏了对齐关系

6.3 为什么当前还不能完全脱离 tar

这也是为什么当前 ORT/TRT 测试还不能算“完全脱离 PyTorch 的纯部署态”。

当前 tar 权重仍然负责:

  1. 支撑未转换的 PointNet2 Native CUDA
  2. 提供完整 PyTorch 基线做精度对照

只有当 PointNet2 也被替换为部署后端,或者不再需要 full_model 做对照时,tar 在测试链里的作用才会进一步缩小。

7. ORT 测试脚本解析

文件:

这个脚本的职责不是单独测 ONNX 文件能不能加载,而是验证:

  • 两个 ONNX 子图
  • 一段原生 CUDA
  • 一套 LINEMOD pose solver

能不能被重新拼成一条完整链路。

6.1 输入参数的意义

关键参数如下:

  • --cls
    指定 LINEMOD 目标物体,例如 ape
  • --checkpoint
    用于构建 pointnet2_native 和 full_model
  • --rgb-onnx
    指向 rgb_backbone.onnx
  • --fusion-onnx
    指向 fusion_head.onnx
  • --num-points
    必须和导出时保持一致,当前是 4096
  • --height
    当前固定为 480
  • --width
    当前固定为 624
  • --crop-left
    当前通常是 8,用于把原始 640 宽图裁到 624

6.2 为什么脚本里要先解析绝对路径

脚本内部会:

os.chdir(PVN3D_ROOT)

这样做是为了兼容仓库里仍然依赖相对路径的 LINEMOD 旧工具代码。

如果不先把以下参数解析成仓库根目录下的绝对路径:

  • --checkpoint
  • --rgb-onnx
  • --fusion-onnx
  • --output

那么用户从仓库根目录传入的相对路径,在 chdir 之后就会被带偏。

这就是之前相对路径找不到文件的原因。

6.3 预处理阶段

核心函数:

  • crop_and_resample_linemod_sample

它做了两件必须的事:

  1. 把 RGB 从 640 裁到 624
  2. 把点数从原始数量重采样到 4096

与此同时,它还必须同步处理:

  • choose
  • labels
  • kp_targ_ofst
  • ctr_targ_ofst

这里尤其重要的是 choose。

choose 记录的是点与图像像素的对应关系。一旦 RGB 被裁剪,像素索引坐标系就变了,所以 choose 必须重映射到新的 624 宽图坐标上。

这也是 crop_left 参数存在的原因。

6.4 ONNX Runtime 部分

脚本通过:

  • make_session
  • run_rgb_backbone
  • run_fusion_head

分别执行两个 ONNX 子图。

具体顺序是:

  1. rgb -> rgb_backbone.onnx -> out_rgb, rgb_seg
  2. cld_rgb_nrm -> pointnet2_native -> pcld_emb
  3. out_rgb + choose + pcld_emb -> fusion_head.onnx -> pred_*

其中 ONNX Runtime 输入输出主要走 numpy。

6.5 为什么还要构建 full_model

ORT 脚本不仅构建 pointnet2_native,还会构建 full_model。

目的不是重复推理,而是为了可选的 PyTorch 数值对比。

这个对比用于判断:

  • ONNX 导出后数值是否偏离过大
  • 裁剪与重采样是否破坏了输入对齐
  • choose 重映射是否正确

8. TRT 测试脚本解析

文件:

TRT 脚本和 ORT 脚本在整体流程上是一致的,差异只在中间两段执行后端。

7.1 输入参数的意义

关键参数和 ORT 版基本一致,只是:

  • --rgb-engine
    替换了 --rgb-onnx
  • --fusion-engine
    替换了 --fusion-onnx

其余像 --cls、--checkpoint、--num-points、--crop-left 的语义不变。

7.2 TrtEngineRunner 的职责

TRT 脚本的核心类是:

  • TrtEngineRunner

它负责:

  1. 读取 .engine
  2. 反序列化 engine
  3. 创建 execution context
  4. 根据 binding 信息准备输入输出 tensor
  5. 调 execute_async_v2

7.3 为什么脚本不依赖 pycuda

当前实现直接使用:

  • torch.cuda
  • torch.Tensor.data_ptr()

把 GPU 内存地址传给 TensorRT。

也就是说:

  • 输入 tensor 由 torch 分配
  • 输出 tensor 也由 torch 分配
  • TensorRT 只消费和写入这些指针

这样做的好处是:

  • 不额外引入 pycuda
  • 不额外引入 cupy
  • 可以直接复用当前容器里已经工作的 PyTorch CUDA 环境

7.4 TRT 脚本为什么也要构建 pointnet2_native 和 full_model

原因和 ORT 版一致:

  • pointnet2_native 负责补上当前不能转 TensorRT 的那一段
  • full_model 负责做可选的 PyTorch 数值对比

因此 TRT 脚本不是“纯 TensorRT 整网推理”,而是“TensorRT + Native CUDA”的混合推理。

9. ORT 和 TRT 两个脚本的共同约束

8.1 都依赖同一组部署边界

无论是 ORT 版还是 TRT 版,都必须接受同一组中间张量约定:

  • rgb_backbone 输出 out_rgb
  • pointnet2_native 输出 pcld_emb
  • fusion_head 输入 out_rgb, choose, pcld_emb

只要这个张量契约变了,两个测试脚本都要一起改。

8.2 都依赖同一组输入尺寸

当前已验证的输入配置是:

  • height=480
  • width=624
  • num_points=4096
  • crop_left=8

这些值不是任意选择的,而是已经和当前导出产物绑定。

8.3 都依赖同一类 checkpoint / 类别语义

对 LINEMOD 单物体流程来说:

  • num_classes 通常固定为 2

但这不表示导出产物能跨物体复用。

例如从 ape 换到 can 时,通常仍然是:

--num-classes 2

但下面这些都要换:

  • checkpoint
  • ONNX 目录
  • engine 目录
  • --cls

10. 推荐测试顺序

当前不建议一上来就只看 TRT。

推荐顺序是:

  1. 先确认 model_wrappers.py 可以正确加载 checkpoint 并完成拆分
  2. 先导出 ONNX
  3. 先跑 ORT 混合测试
  4. 再构建 TensorRT engine
  5. 再跑 TRT 混合测试

原因很直接:

  • ORT 更容易定位图结构与输入输出问题
  • TRT 更适合做最终部署验证
  • 先 ORT 后 TRT,排错成本最低

11. Graphviz 图

在这里插入图片描述

10.2 图的阅读方式

这张图包含两层信息:

  1. 构建产物关系
  2. 运行时数据流关系

构建产物关系说明:

  • checkpoint 先进入 model_wrappers.py
  • wrapper 拆分后导出 ONNX
  • ONNX 再转 TensorRT engine
  • ORT/TRT 测试脚本分别消费这些产物

运行时数据流说明:

  • rgb 进入 rgb_backbone
  • cld_rgb_nrm 进入 PointNet2Native
  • out_rgb + choose + pcld_emb 进入 fusion_head
  • pred_* 再进入 pose solver

12. 当前结论

当前三份代码的职责边界已经比较清晰:

  1. model_wrappers.py
    负责定义部署拆分边界,并提供统一的子模块构造方式
  2. run_linemod_hybrid_ort.py
    负责验证 ONNX Runtime 版混合链
  3. run_linemod_hybrid_trt.py
    负责验证 TensorRT engine 版混合链

它们共同构成了当前 PVN3D 的部署测试主线:

  • 先拆模型
  • 再导出 ONNX
  • 先用 ORT 校验子图与联调逻辑
  • 再转 TensorRT engine
  • 最后用 TRT 验证更接近部署形态的混合推理链
【两方演化博弈代码复现】:双方演化博弈的原理、概率博弈仿真、相位图、单个参数灵敏度演化 演化博弈论是研究个体在特定环境中如何通过策略选择与其他个体进行互动的学科。这一理论在生物学、经济学和社会科学等多个领域都有广泛应用。本文将深入探讨双方演化博弈的原理及其过程,并解读一段 MATLAB 代码,展示如何模拟这一过程。 阅读详情

相关推荐

【谷粒商城】分布式事务与下单

=购物车== 构建gulimall-cart,复制静态资源到nginx,修改网关 购物车分为离线购物车和登录购物车 离线购物车重启浏览器了也还有 1、购物车需求 特点:读多写少,放入数据库并不合适 登录状态:登录购物车 放入数据库 mongodb 放入redis(采用) 登录以后,将离线购物车里合并后清空离线购物车 未登录状态:离线购物车 放入localstorage浏览器的技术 cookie WebSQL 放入redis(采用) 浏览器重启后还在 2、购物车VO (1) 数据结构分析

努力充实,远方可期 1万+

3D ACIS Modeler 在测量软件里怎么用?几何查询、区域判断与测点布点

本文面向测量软件开发团队,梳理 CAD 模型导入三坐标测量软件后的几何判断工作:如何借助 3D ACIS Modeler 完成模型对象访问、测量区域判断与空间关系分析,并结合 LK Metrology CAMIO 官方案例说明内核与应用的分工,最后给出自研与引入内核的评估思路。

HuiduCADTech的博客 318

一条龙开发指南:MCP AI Agent 理论+项目实战开发你的MCP Server

MCP(Model Connection Protocol)是Anthropic于2024年推出的AI模型连接协议,旨在为AI模型提供开放、通用的标准化接口,类似于“USB-C”接口,使AI模型能够无缝连接各种数据源和工具。MCP通过标准化协议解决了AI系统集成中的碎片化问题,提升了开发效率和系统可靠性。开发者可以通过简单的配置,快速接入不同的MCP Server,实现AI模型的多样化应用。MCP支持多种协议,如Stdio、SSE等,并通过JSON-RPC格式进行数据传输。文章还以腾讯云代码助手为例,展示了

杨不易呀 3044

3D CAD参数化建模原理详解:尺寸参数、几何约束与特征关系

3DCAD参数化建模通过尺寸参数、几何约束与特征依赖关系,将设计意图融入模型,实现自动更新。其核心在于明确变量关联、合理设置约束、理顺特征逻辑。修改时,系统依规则重算几何,但需防范约束冲突、依赖失效等问题。提升可维护性需规划关键参数、优化建模结构,并验证多场景适用性。大腾智能ZCAD以自主内核与智能交互支持高效参数化设计,兼顾传统建模与同步修改需求,助力系列化开发与持续迭代。

大腾智能的博客 272

小红书x-mini签名逆向实战:Frida动态Hook与算法还原

在移动App协议分析中,请求签名机制是保障接口安全的核心技术,其本质是客户端对请求参数、时间戳、设备指纹等要素进行加密认证的过程。理解签名原理需掌握Native层加密流程、JNI调用机制及密钥动态派生逻辑。Frida作为主流动态插桩工具,能绕过符号剥离、字符串加密和控制流混淆等反分析手段,在函数执行瞬间捕获寄存器状态、内存数据与调用上下文,实现签名算法的完整还原。该技术广泛应用于合规内容监测、API自动化调用与竞品协议研究等工程场景。本文聚焦小红书x-mini签名这一典型样本,详解从JNI_OnLoad定位

weixin_31264565的博客 457

ABB机器人绝对精度实战:从焊接路径优化到TCP控制(附配置步骤)

本文深入探讨了ABB机器人绝对精度在焊接路径优化中的核心价值。通过对比重复定位精度,阐明绝对精度如何补偿机械误差,确保TCP在整个运动路径上的轨迹精度。文章提供了从示教器激活绝对精度功能的详细配置步骤,并分享了针对焊接抖动和实现0.2mm路径精度的进阶调优技巧,包括TCP标定、伺服参数优化与系统维护。

weixin_29053073的博客 350

AI 生成 3D 模型的技术实践:从文本生成到 Three.js 三维展示

无需3D建模基础,只需输入一句话,AI工具Meshy即可生成可编辑、可下载的3D模型。它支持文本转3D、图像转3D、AI纹理与动画生成,一键导出至Blender、Unity等软件,大幅降低创作门槛,让普通人也能轻松实现3D创意。

战族狼魂的博客 264

【1】Java 部分笔试题解析

解析A.abstract关键字应该放在class关键字之前。C.抽象方法不能有方法体。D缺少了class关键字。

博客 3940

AI时代,Delft3D如何打通标量输运、波浪、粒子与溢油模拟

学完不仅能独立完成模型构建、参数设置和结果分析,还能真正掌握从“建模型”到“用模型解决实际问题”的完整方法。做 Delft3D 模拟,最难的不是“会点软件”,而是理论如何落地、参数如何设置、案例如何跑通,以及模型结果如何真正用于科研和项目。既适合零基础入门,也适合已有水动力基础、想进一步提升应用能力的科研人员、研究生及水文、水环境、海洋、水利、环评等领域技术工作者。1.拉格朗日粒子模型理论2.拉格朗日粒子法的适用情况3.拉格朗日粒子法的参数4.波浪模型后处理。这门课从基础到进阶,一次打通。

weixin_56135535的博客 172

大厂面经:大疆嵌入式面试题及参考答案(4万字长文:持续更新)

目录 Linux 系统调用的过程,中间发生了什么? 表格总结 Linux 中断流程,谈谈你对中断上下文的理解 中断流程 中断上下文理解 Linuxschedule()函数的原理和调用的时机 schedule()函数原理 调用时机 页表实现机制,分页的缺点? 页表机制 分页的缺点 介绍操作系统的多级反馈调度策略,时间片轮转,在项目中如何指定优先级来调度进程完成快速响应(nice命令) 多级反馈队列调度 时间片轮转 使用nice命令 聊内存分配,进程内存分配,段页式存

大模型大数据攻城狮的专栏 4163

BAT007:批量为当前目录下的文件夹添加前缀或后缀

摘要:编写批处理程序,实现批量为当前目录下的文件夹添加前缀或后缀。

qq_31762031的博客 4052

【测评】SenseNova6.8Flash模型正式发布,支持动态 PPT 及 3D 设计

SenseNova 6.8 Flash将设计生成拓展至多种创作形态,支持Web、SVG、Three.js、Blender、PPT等形式,满足多样化的AI Native Design需求,并支持动态PPT、动态Poster与Agentic 3D设计。同时,模型可接入Figma等专业工作流,帮助用户将AI设计能力融入现有的专业设计流程。此外,模型还支持三维场景与交互内容创作,可综合处理空间布局、材质与光照、镜头控制及动画编排等因素,构建可在网页中实时渲染的三维内容,拓展从立体视觉展示到动态交互的表达方式。

Enweitech Software Works 289

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

笔试题-2023-紫光展锐-数字芯片设计【纯净题目版】

w0shishabi的博客 2923

文物3D数字化的技术选型指南:从WW/T 0115标准到落地工程,一次讲透采集、建档、管理与展示

《博物馆藏品管理办法》2026年施行,推动3D数字化保护。本文提出五层工程架构:采集、数据、平台、应用、安全,明确结构光、激光、摄影测量技术选型与WW/T 0115-2023标准对接,强调原始数据留档、自动建模与智慧管理平台建设,实现模型可追溯、可复用。通过样板验证、边扫边入库、应用驱动,确保等保二级合规,规避数据丢失、设备脱节等风险,形成可复制的数字化流水线。

Jmyd0123的博客 372

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

船舶安全培训怎么用AI生成3D预演?从甲板通道、设备热点到网页回放

船舶甲板能够漫游,不等于培训内容可信。本文梳理从培训任务、资料台账、空间白模到设备热点、步骤关联和网页交付的制作流程,说明如何用稳定设备 ID 追溯来源,通过三轮审核核对技术、课程与网页表现,并提供弱网图文回退和上线清单。AI 适合辅助场景与交互原型,不能替代专业审核、上船实训或正式安全程序。

Solange__的博客 534

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

二十分之一的压缩比:Spatial Vivid 1.0 把 3DGS 全链路参考实现按 MIT 开源了

一个高斯点携带的属性是固定的:位置 3 个 float,不透明度 1 个,三个轴的尺度 3 个,旋转四元数 4 个,剩下全是球谐系数。MIT 覆盖的是这次公布的参考工具,标准文本本身和可能存在的必要专利,授权条件不在这次公告的范围内。主论坛上宣布的事,到 11 月 2 日才由 IT之家 的报道扩散开来:Spatial Vivid 1.0(空间菁彩影像)标准的参考工具开源,包括 EGSC 编解码工具、Web 渲染器工具、封装解封装工具在内的全链路参考实现,以 MIT 协议面向全球开发者开放。

weixin_43043455的博客 224

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

DEM 数据源选型完全指南:SRTM、ASTER GDEM、ALOS AW3D30 与商业高分辨率的工程级对比

本文回答一个工程选型问题:SRTM、ASTER GDEM、ALOS AW3D30 和商业高分辨率 DEM 怎么选。核心结论:先确认数据表达的是裸地还是含地物表面,再确认垂直基准,最后才看分辨率。格网再细,表面层错了或基准没对齐,断面和汇水结果仍然不可用。

TuxinyunGIS的博客 285

三角基底律——矩阵3x6 是所有三角形的基底·3D中高就是边

「:doc max=805·engine max=805 ⇒ 定(L1/01·三角基底律)·公理 §6.140 冻结·。:本篇按 2026-11-01 作者立规(正文 ≥10000 字)直接成篇,引擎锚点组自检。,立:三视角三形(内部=直角·侧边=等腰·正面=等边·面 180/3=60°)——3D 3×3×3 立方体的三个视角投影正是三形(G1 实算:格账正三角形三边各 6 格步·棱长 3=高);,解码。

2603_96389967的博客 110

从CAD装配模型到3D装配动画:模型复用与工艺步序设计

本文阐述了从三维CAD模型生成装配动画的关键流程,涵盖模型准备、结构确认、工艺步序定义、动画表达与资料输出五大环节。指出传统方法存在重复整理、工艺脱节等问题,提出通过“3D工艺大师”等工具实现模型复用与工艺步序驱动,由工艺人员直接定义装配逻辑,自动生成动画并协同输出工艺文件,提升效率与准确性,真正实现设计数据向生产指导的无缝转化。

大腾智能的博客 588

把带贴图的 OBJ / glTF 转成 3D Tiles:我写了个 mesh-to-tiles

做倾斜摄影或单体模型上 Cesium 时,经常卡在同一件事:手上是一份带贴图的 OBJ 或 glTF,场景里要的是 3D Tiles。现成工具能转,但 LOD、图集和纹理压缩往往要再串一圈。我把这条链路收成了一个 Node 命令行工具,输入网格,输出 3D Tiles 1.1 隐式八叉树。,协议 MIT。

m0_69250830的博客 182

论文精读|DiffusionMBIR:用 2D 扩散模型解 3D 稀疏视角 CT 重建

本文提出DiffusionMBIR,解决3D稀疏视角CT重建中2D扩散模型难以保持体数据空间连贯性的问题。方法将2D扩散模型用于xy平面去噪,结合仅沿z方向的TV先验与ADMM实现全局数据一致性,通过变量共享和单步迭代提升效率。实验表明,该方法在8视角下冠状面重建达35.18 dB,显著优于逐片独立扩散重建(28.05 dB)。代码基于预训练2D扩散模型,支持分批处理与快速推理,为高效3D逆问题求解提供新范式。

weixin_45694817的博客 124

3D Forward Simulation of TMI Data:三维总磁场强度正演入门

本文面向初学者,基于SimPEG教程介绍三维磁法正演模拟。通过构建含球体的地下磁化率模型,结合地形与地磁场,预测地表17×17个测点的总磁场强度异常(TMI)。重点讲解磁化率、诱导磁化、TMI测量原理及三维积分正演机制,演示如何使用TensorMesh、active_cells和Simulation3DIntegral实现正演计算。代码可复现地形图、磁化率剖面与TMI异常图,并支持导出合成数据。实验建议调整磁化率、飞行高度、倾角等参数,理解其对异常形态的影响。强调磁异常非唯一性,需结合地质约束。适用于磁测设

m0_57685225的博客 331

影视场景怎么用AI生成3D镜头预演?从概念图、场景白模到网页审片

概念图有氛围,不代表能直接用于镜头预演。本文围绕剧本拆镜、资料与尺度假设、场景白模、机位走位、动作节拍和网页审片,介绍 AI 生成 3D 场景的预演流程。通过稳定对象与相机编号、统一镜头表、意见关联版本和三轮审核,让讨论落到具体镜头,同时明确白模与网页预演不能替代真实场地勘景及现场安全判断。

Solange__的博客 497

院校3D数字化实训平台闲置率分析:技术归因与选型核验方法

本文剖析院校3D数字化实训平台闲置的技术成因,指出问题核心在于平台与教学流程集成度不足,而非单一性能缺陷。提出“课程清单驱动需求、现场实测验证性能、合同约束运营”的三步框架,涵盖选型核验、五步实施与三项验收指标,强调数据接口连通性、师资培训与持续迭代的重要性,为平台高效落地提供可操作的技术路径。

Jmyd0123的博客 320

光模块3D检测,WT900 Pro交出微米级确定性答卷

COB则将芯片、透镜、金丝密集集成于同一基板,贴装偏移、溢胶、焊料高度不均等缺陷直接影响耦合效率、引发插损异常。这类微米级偏差在2D图像中几无特征,前端拦不住,到后端耦合、老化测试才集中暴露,固晶、键合、点胶的投入随之付诸东流——3D检测由此成为刚需。主流3D AOI虽具备SPC与产线数据对接能力,测量模板却围绕标准SMT元件库构建:贴装偏移的判定精度达不到微米级耦合容差要求,金丝弧高、溢胶厚度等特有指标更没有对应测量项——接口通了,数据却撑不起固晶、点胶的工艺修正,检测只完成拦截,未参与改善。

haoke28的博客 361

3D虚拟展厅的埋点与成本归集,投入产出表该怎么建?

2026年3D虚拟展厅投入产出评估的核心在于数据对齐,而非公式复杂度。关键路径为:先构建四层事件模型(会话、空间、展项、转化),统一用session_id与lead_id双键打通行为数据;再将CAPEX、OPEX、内容迭代、投放四类成本科目逐笔归集至统一project_code;最后通过按天调度的ETL链路,实现季度对账。分子取去重有效线索数,分母为四类成本合计。需严控首屏1.8秒、移动端30fps、面数分级预算,并分40人持续负载与2000人瞬时峰值两类压测。技术落地依赖事件级SDK、数据导出接口与私有化

Jmyd0123的博客 346
上一篇: PVN3D TensorRT Engine 转换与测试记录
下一篇: PVN3D 原生 / ONNX 混合 / TRT 混合推理速度测试
Yao.Li
博客等级 码龄10年 405粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yao.Li

爱的魔力,一被卡布奇诺~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值