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

【计算机图形学】AO-Grasp: Articulated Object Grasp Generation

对AO-Grasp: Articulated Object Grasp Generation的简单理解

文章目录

  • 1. 做的事情
  • 2. AO-Grasp数据集
    • 2.1 抓取参数化和label标准
    • 2.2 语义和几何感知的抓取采样
  • 3. AO-Grasp抓取预测
    • 3.1 预测抓取点
    • 3.2 抓取方向预测
  • 4. 总结

1. 做的事情

引入AO-Grasp,grasp proposal generation method,生成稳定和可操纵的6DoF铰接物体抓取策略,可以完成打开/关闭橱柜的任务。给定单个铰接物体的部分点云,AO-Grasp使用最新的运动性抓取点预测模型来预测物体上的最佳抓取点,并利用最先进的刚性物体抓取方法来找到对应逐点的抓取方向。

在这里插入图片描述

2. AO-Grasp数据集

AO-Grasp数据集是一组模拟数据集,有在铰接物体上的运动抓取。由5个常用家庭家具/应用类别(箱子、洗碗机、烤箱、垃圾桶、保险柜)的61个实例上的48K个6DoF的grasp组成。

对于每个实例,在闭关状态和9个随机采样的打开状态下生成抓取动作,并为每个状态随机蔡阿姨给你20个相机视点。

2.1 抓取参数化和label标准

AO-Grasp数据集使用二指gripper。抓取被表示为 g = ( t , R ) ∈ S E ( 3 ) g=(t,R)∈SE(3) g=(t,R)SE(3) t t t是抓取位置, R R R是抓取方向。

与刚性物体抓取相反,抓取的稳定性通常通过摇动物体或施加干扰力验证,我们要求与铰接物体进行语义上有意义的交互,如打开微波炉的门。因此设计了抓取评估过程,不仅衡量抓取稳定性,还衡量可操纵性。

首先在g处生成完全打开的gripper,若没有探测到碰撞,则关闭gripper完成抓取。接着使gripper朝最佳方向运动以驱动物体部件,以执行动作,这个方向是通过物体GT的关节状态和axis获得的。在固定数量的步骤后,终止运动,若满足两个条件则抓取成功:

  1. gripper仍然与物体交互,表示grasp是稳定的;

  2. 被抓取的部件移动了一定的距离,则表示是可运动的。

2.2 语义和几何感知的抓取采样

给定物体实例,目标是采样一组打好标签的抓取。在物体表面均匀采样抓取位置对刚性物体来说是很方便的,但运动性抓取通常集中在很小的范围内(如关闭微波炉的把手),使得均匀采样不够高效。为战胜这个挑战,利用物体语义和几何的先验引导采样。

抓取可运动性与语义强相关。因此,使用部件网格的语义标签来识别可运动比肩,如门,可操纵的零件如旋钮和把手。应用语义感知的采样,更偏向采样可运动部件上的抓取点。

抓取质量同样受物体几何影响。因此偏置采样朝向高曲率变化区域和远离joint axis的点:

在这里插入图片描述

应用几何感知的采样。Following [32], we sample the gripper forward axis within a cone aligned with the surface normal, then uniformly sample the wrist rotation.

3. AO-Grasp抓取预测

在这里插入图片描述

输入是铰接物体部分点云,输出是一组6DoF的抓取姿态。

首先,AO-Grasp预测机器人应该抓取物体的哪个位置,这是通过Grasp Point Predictor进行预测的,在AO-Grasp数据集上训练。通过损失设计和训练策略选定来泛化到新的视点和新的物体下。

接着,生成抓取方向,抓取由Grasp Point Predictor预测的抓取点,AO-Grasp由Contact-GraspNet(最先进的刚性物体抓取方法)生成旋转。

最后,从逐点抓取分数和抓取方向,通过选择具有高抓取概率的点来组成抓取建议的最终集合。

3.1 预测抓取点

PointNet++提取特征,MLP预测这个点的抓取概率。使用一下两个策略来获得跨视角、跨物体实例和类别的泛化:

1. 学习视角独立的点对应关系: Actionable Grasp Point Predictor必须理解抓取概率分数是视角独立的,一个好的抓取点在视角改变的情况下应当没有影响。
在这里插入图片描述

使用Siamese网络结构来学习视角独立的逐点特征,如图2(a)所示。训练损失为:

在这里插入图片描述

2. 计算密集的“pseudo ground truth”热图: 直接用AO-Grasp数据集中的二进制抓取标签训练会导致在测试类别上较差的泛化性,因为模型会容易过拟合稀疏的数据,为缓和这种过拟合,通过给点云的每个点 p ( i ) p^{(i)} p(i)分配pseudo ground truth标签 h p g t ( i ) h^{(i)}_{pgt} hpgt(i)来增强数据:

在这里插入图片描述

总损失:

在这里插入图片描述

3.2 抓取方向预测

用了Contact GraspNet来预测的。没有做创新。

4. 总结

感觉通篇看下来,前面看起来很精彩的样子,但是关于摘取方向的预测好像有点点子烂尾,因为没什么很大的技术创新。。。

相关文章:

【计算机图形学】AO-Grasp: Articulated Object Grasp Generation

对AO-Grasp: Articulated Object Grasp Generation的简单理解 文章目录 1. 做的事情2. AO-Grasp数据集2.1 抓取参数化和label标准2.2 语义和几何感知的抓取采样 3. AO-Grasp抓取预测3.1 预测抓取点3.2 抓取方向预测 4. 总结 1. 做的事情 引入AO-Grasp,grasp propo…...

「媒体宣传」财经类媒体邀约资源有哪些?-51媒体

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 财经类媒体邀约资源包括但不限于以下几类: 商业杂志和报纸:可以邀请如《财经》、《新财富》、《经济观察报》等主流商业杂志和报纸。这些媒体通常具有较强的品牌影…...

学习资料记录

http://interview.wzcu.com/Golang/%E4%BB%A3%E7%A0%81%E8%80%83%E9%A2%98.html map底层 https://zhuanlan.zhihu.com/p/616979764 go修养 https://www.yuque.com/aceld/golang/ga6pb1#4b19dba5 https://golang.dbwu.tech/performance/map_pre_alloc/ https://juejin.cn/pos…...

数据结构进阶篇 之 【二叉树】详细概念讲解(带你认识何为二叉树及其性质)

有朋自远方来,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,鞭数十,驱之别院 一、二叉树 1、二叉树的概念 1.1 二叉树中组分构成名词概念 1.2 二叉树的结构概念 1.3 特殊的二叉树 2、二叉树的存储结构 …...

vue.js制作学习计划表案例

通俗易懂,完成“学习计划表”用于对学习计划进行管理,包括对学习计划进行添加、删除、修改等操作。 一. 初始页面效果展示 二.添加学习计划页面效果展示 三.修改学习计划完成状态的页面效果展示 四.删除学习计划 当学习计划处于“已完成”状态时&…...

nginx localtion 匹配规则

1、语法规则 语法规则:location[|~|^~*|^~]/uri/{… } 表示精确匹配,这个优先级也是最高的 ^~ 表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。 nginx 不对 url 做编码,因此请求为 /image/20%/aa,可以被规则^~ /imag…...

Git:分布式版本控制系统

目录 Git的特点和功能常见的功能和对应的命令 Git的特点和功能 Git是一个分布式版本控制系统,用于跟踪和管理项目的代码变更。它是由Linus Torvalds在2005年创建的,旨在管理Linux内核的开发。Git具有以下特点和功能: 分布式版本控制&#xf…...

[STL]priority_queue类及反向迭代器的模拟实现

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 今日主菜: priority_queue类及反向迭代器 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 向着c&…...

vue2 脚手架

安装 文档:https://cli.vuejs.org/zh/ 第一步:全局安装(仅第一次执行) npm install -g vue/cli 或 yarn global add vue/cli 备注:如果出现下载缓慢:请配置npm 淘宝镜像: npm config set regis…...

【OpenStack】OpenStack实战之开篇

目录 那么,OpenStack是什么?云又是什么?关于容器应用程序OpenStack如何适配其中?如何设置它?如何学会使用它?推荐超级课程: Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战我的整个职业生涯到目前为止一直围绕着为离线或隔离网络设计和开发应用程…...

Python实现WebSocket通信

WebSocket是一种在单个TCP连接上进行全双工通信的协议,位于 OSI 模型的应用层。 与传统的HTTP请求-响应模型不同,WebSocket的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,实现实时性和互动性…...

MATLAB 自定义生成直线点云(详细介绍) (47)

MATLAB 自定义生成直线点云 (详细介绍)(47) 一、算法介绍二、具体步骤二、算法实现1.代码2.效果一、算法介绍 通过这里的直线生成方法,可以生成模拟直线的点云数据,并通过调整起点、终点、数量和噪声水平等参数来探索不同类型的直线数据。这种方法可以用于测试、验证和开…...

UniTask 异步任务

文章目录 前言一、UniTask是什么?二、使用步骤三、常用的UniTask API和示例1.编写异步方法2.处理异常3.延迟执行4.等待多个UniTask或者一个UniTas完成5.异步加载资源示例6.手动控制UniTask的完成状态7.UniTask.Lazy延迟任务的创建8.后台线程切换Unity主线程9.不要返…...

【git分支管理策略】如何高效的管理好代码版本

目录 1.分支管理策略 2.我用的分支管理策略 3.一些常见问题 1.分支管理策略 分支管理策略就是一些经过实践后总结出来的可靠的分支管理的办法,让分支之间能科学合理、高效的进行协作,帮助我们在整个开发流程中合理的管理好代码版本。 目前有两套Git…...

css的transition详解

CSS的transition属性是一个简写属性,用于设置四个过渡效果属性,以在元素的状态改变时创建平滑的动画效果。这四个属性分别是: transition-property: 定义应用过渡效果的CSS属性名称。当指定的CSS属性改变时,过渡效果将…...

agent利用知识来做规划:《KnowAgent: Knowledge-Augmented Planning for LLM-Based Agents》笔记

文章目录 简介KnowAgent思路准备知识Action Knowledge的定义Planning Path Generation with Action KnowledgePlanning Path Refinement via Knowledgeable Self-LearningKnowAgent的实验结果 总结参考资料 简介 《KnowAgent: Knowledge-Augmented Planning for LLM-Based Age…...

01 React新建开发环境

https://create-react-app.dev/docs/getting-started npx create-react-app my-appJSX使用表达式嵌入 function App() {const count 100;function getSelfName() {return "SelfName"}return (<div>Hello World!<div>{This is Javascript message~!}&l…...

nginx--解决响应头带Set-Cookie导致的验证失败

解决响应头带Set-Cookie导致的验证失败 前言给nginx.conf 设置Secure配置完成后会发现cookie就不会发生变化了 前言 在用nginx做代理的时候&#xff0c;会发现nginx在访问不同ip请求的时候会带setCookie 导致后端就是放开cookie验证&#xff0c;在访问玩这个链接他更新了cooki…...

InstructGPT的流程介绍

1. Step1&#xff1a;SFT&#xff0c;Supervised Fine-Tuning&#xff0c;有监督微调。顾名思义&#xff0c;它是在有监督&#xff08;有标注&#xff09;数据上微调训练得到的。这里的监督数据其实就是输入Prompt&#xff0c;输出相应的回复&#xff0c;只不过这里的回复是人工…...

docker容器下部署hbase并在springboot中通过jdbc连接

我在windows的docker中部署了一个hbase服务&#xff0c;然后用springboot连接到此服务并访问数据。 详情可参考项目中的README.md。项目中提供了用于构建镜像的dockerfile&#xff0c;以及测试代码。 项目连接&#xff1a; https://gitee.com/forgot940629/hbase_phoenix_sprin…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...