40.Isaac教程--3D 物体姿态优化

news2025/1/12 18:55:51

3D 物体姿态优化

在这里插入图片描述
ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html

3D 物体姿态优化在操作等应用中起着至关重要的作用,在这些应用中,检测到的物体的位置会影响机器人的整体性能。 Isaac SDK 中的 3D 对象姿势优化应用程序提供了测试和运行优化算法的框架。

本应用中使用的算法基于迭代最近点 (ICP) 算法。 它使用 Rusinkiewicz 的对称 ICP 工作,其中,对于给定的表面 P 和 Q,使用具有两个表面法线的对称函数而不是将表面视为点和平面来更稳健地确定点到平面误差。

应用概述

运行应用程序

Isaac SDK 提供示例应用程序以在 RGBD 数据上运行 3D 对象姿态优化。 每个示例应用程序在 RGB 图像上运行对象检测和对象姿态估计,同时在 RGBD 图像上生成超像素。 生成的 surflets 在 surflet 对象分配模块中被分配对象 ID。 这些子模块的输出被作为输入,经过优化以匹配模型到测量的 surflets,并生成最终的精细姿态作为输出。

姿势优化应用程序文件位于 packages/object_pose_refinement/apps 中。

  1. 要使用 RealSense 相机运行姿态优化,请使用以下命令:
bob@desktop:~/isaac/sdk$ bazel run packages/object_pose_refinement/apps:pose_refinement_camerafeed -- --config packages/object_pose_refinement/apps/pose_refinement_dolly.config.json --more
packages/object_pose_estimation/apps/pose_cnn_decoder/detection_pose_estimation_cnn_inference_dolly.config.json
  1. 要对以前收集的日志运行重放,请使用以下命令:
bob@desktop:~/isaac/sdk$ bazel run packages/object_pose_refinement/apps:pose_refinement_replay -- --config
packages/object_pose_refinement/apps/pose_refinement_dolly.config.json --more
packages/object_pose_estimation/apps/pose_cnn_decoder/detection_pose_estimation_cnn_inference_dolly.config.json
  1. 要对静态图像运行姿态优化,请使用以下命令:
bob@desktop:~/isaac/sdk$ bazel run packages/object_pose_refinement/apps:pose_refinement_imagefeed -- --config packages/object_pose_refinement/apps/pose_refinement_dolly.config.json --more
packages/object_pose_estimation/apps/pose_cnn_decoder/detection_pose_estimation_cnn_inference_dolly.config.json

提供了 dolly 对象的示例数据,允许您使用日志和图像运行最后两个应用程序。 您可以在 http://localhost:3000 的 Sight 中可视化精致的姿势。

可视化

精致姿势有两种可视化类型:

  • 一个 3D 边界框,需要指定零方向的 3D 边界框大小和从对象中心到边界框中心的转换。 在应用程序文件的 viewers/ObjectRefinementViewer 组件中配置这些参数。

  • 场景中 CAD 模型的渲染,需要对象 CAD 模型的路径和文件名。 这些分别对应于应用程序文件中 websight 组件中的 assetroot 和 assets 参数。

在 object_pose_refinement.object_pose_refinement.PoseRefinement 中还提供了用于调试的可视化。 它允许您在 Sight 中可视化优化步骤,包括以下内容:

  • Measurement surflets(generated by superpixels)

  • Model surflets (loaded via the cask file)

  • 3D pose estimate positon of surflets

  • 3D refined position of surflets

更多精彩内容:
https://www.nvidia.cn/gtc-global/?ncid=ref-dev-876561

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7. 好客租房-项目日常推进ing

7. 好客租房-项目日常推进ing 本章节不涉及大量内容,主要是为了推荐项目代码日常进度而设置, 包括添加mock接口, 添加更新房源接口, 为系统添加缓存. 7.1 为前端系统提供mock服务 往往在项目开发中, 为实现前后端并行开发,后端需要对前端所有的请求都都进行支持。…

2022年度总结——2022我在CSDN的那些事暨2023我的目标展望:Pursue freedom Realize self-worth

📋前言 关于年度征文: 活动地址:2022年度征文活动页-CSDN 📚文章目录 📋前言 🎯再见2022,2023新年快乐 🎯回顾2022——“我”与我在CSDN的那些事 🧩伊始——CSDN&…

Allegro如何做镂空丝印操作指导

Allegro如何做镂空丝印操作指导 在PCB设计丝印的时候,会需要画镂空的丝印,Allegro升级到了172版本的时候,可以画镂空的丝印,如下图 具体操作如下 选择Shape Add Rect命令Options选择需要画到的层面,比如Silkscreen TOP层

Lesson1:走进C++的殿堂

首先在此声明一下,C的学习需要C语言的基础,不先学习C语言而直接学C是不现实的。市面上任何一本C的书籍,前几章的内容一定涉及到C语言的学习。 一、什么是C 照片上的这位老人便是C语言之父——本贾尼斯特劳斯特卢普(Bjarne Stroust…

JavaScript学习

JavaScript 是一门跨平台、面向对象的脚本语言,而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的;JavaScript是脚本语言,不需要编译,由浏览器直接解析并执行…

Spring核心模块解析—BeanDifinition。

BeanDifinition前言什么是BeanDefinition?为什么要有BeanDefinition?BeanDifinition重点源码总结前言 Spring中的BeanDifinition在Bean的实例化流程中占有着非常重要的角色,如果你不了解BeanDifinition的话,面试或者学习Bean的生…

【Leetcode每日一题】69. x 的平方根/Sqrt(x)|二分查找---day3

博主简介:努力学习的预备程序媛一枚~博主主页: 是瑶瑶子啦所属专栏: LeetCode每日一题–进击大厂 目录题目描述题目分析:代码分析:题目描述 链接: 69. x 的平方根/Sqrt(x) 给你一个非负整数 x ,计算并返回 x 的 算术…

10+种编程语言做个计算器

用十种编程语言开发计算器应用 C语言C#(windows桌面软件)Swift (ios应用)pythonDart(Flutter应用,跨平台,适用安卓、ios、mac、windows、web)Java(安卓App)K…

【Linux】多线程同步与互斥

目录🌈前言🌸1、Linux线程同步🍨1.1、同步概念与竞态条件🍧1.2、条件变量🌺2、条件变量相关API🍨2.1、初始化和销毁条件变量🍧2.2、阻塞等待条件满足🎃2.3、唤醒阻塞等待的条件变量&…

python数据可视化开发:Matplotlib库参数配置基础知识

文章目录前言01.工具栏组件02.数据03.设置字体字典(1)全局字体样式(2)常用中文字体对应名称(3)查询当前系统所有字体04.图像配置实例05.图表标题06.文本组件07.坐标轴标签组件08.网格组件09.绘制折线10.图例…

传染疾病模型

1 分支过程 1.1 工作原理 第一波疫情 假设一个人携带一种新的病毒,以独立的概率p将疾病传染给遇到的每一个人假设这个人在感染期遇到了k个人 ——>这k个人是该疾病传染的第一波基于疾病是随机传染的,所以第一波中有些人会感染疾病,有些人…

一篇基于深度学习的命名实体识别技术的研究报告

一篇基于深度学习的命名实体识别技术的研究报告 本篇文章主要是自己刚接触NER领域时,研读这篇《 A Survey on Deep Learning for Named Entity Recognition 》NER综述论文时翻译的中文版,这篇综述时间是2020年,可能近两年的部分成果暂未包含…

Python数据可视化(一)图表组成元素

1.1绘制 matplotlib 图表组成元素的主要函数matplotlib 是如何组织内容的?在一个图形输出窗口中,底层是一个 Figure实例,我们通常称之为画布,包含一些可见和不可见的元素。在画布上,自然是图形,这些图形就是…

Java---微服务---RabbitMQ部署

RabbitMQ部署1.单机部署1.1.下载镜像1.2.安装MQ1.3访问管理端2.集群部署2.1.集群分类2.2.设置网络1.单机部署 我们在Centos7虚拟机中使用Docker来安装,如未安装dockr,请参考《Centos7安装Docker》 1.1.下载镜像 方式一:在线拉取 docker …

剑指Offer 第3天、第4天

剑指 Offer 05. 替换空格 class Solution { public:string replaceSpace(string s) {string res;for(auto e : s){if(e ){res%;res2;res0;}elserese;}return res;} }; 剑指 Offer 58 - II. 左旋转字符串 class Solution { public:string reverseLeftWords(string s, int n) {…

java spring IOC xml方式注入对象类型的list集合数据

我们新创建一个java项目 然后引入spring的基本依赖 在src下创建一个collectiontype 包 在 collectiontype 包下创建一个 Course类 参考代码如下 package collectiontype;//课程类 public class Course {//课程名称private String cname;public void setCname(String cname) …

Java---微服务---RabbitMQ入门与应用

RabbitMQ入门与应用1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯1.2.技术对比:2.快速入门2.1.安装RabbitMQ2.2.RabbitMQ消息模型2.3.导入Demo工程2.4.入门案例2.4.1.publisher实现2.4.2.consumer实现2.5.总结3.SpringAMQP3.1.Basic Queue 简单队列模型3…

浅析一条SQL在mysql中是如何执行的

一. Mysql内部组件结构 MySql大体分为server层和存储引擎层, server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等)…

spring boot整合redis中间件与热部署实现

热部署 每次写完程序后都需要重启服务器&#xff0c;需要大量的时间&#xff0c;spring boot提供了一款工具devtools帮助实现热部署。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId>…

1. python包管理pip工具

1. 何为pip&#xff1f; pip 是 python包管理工具&#xff0c;该工具提供了对 python包的查找、下载、安装、卸载的功能。 目前最新的 python版本已经预装了 pip。注意&#xff1a;python 2.7.9 或 python 3.4 以上版本都自带 pip 工具。之前在基础篇中我们已经安装了python3…