【计算机图形学】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获得的。在固定数量的步骤后,终止运动,若满足两个条件则抓取成功:
-
gripper仍然与物体交互,表示grasp是稳定的;
-
被抓取的部件移动了一定的距离,则表示是可运动的。
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具有以下特点和功能: 分布式版本控制…...
[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做代理的时候,会发现nginx在访问不同ip请求的时候会带setCookie 导致后端就是放开cookie验证,在访问玩这个链接他更新了cooki…...
InstructGPT的流程介绍
1. Step1:SFT,Supervised Fine-Tuning,有监督微调。顾名思义,它是在有监督(有标注)数据上微调训练得到的。这里的监督数据其实就是输入Prompt,输出相应的回复,只不过这里的回复是人工…...
docker容器下部署hbase并在springboot中通过jdbc连接
我在windows的docker中部署了一个hbase服务,然后用springboot连接到此服务并访问数据。 详情可参考项目中的README.md。项目中提供了用于构建镜像的dockerfile,以及测试代码。 项目连接: https://gitee.com/forgot940629/hbase_phoenix_sprin…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
