【2019CVPR】CRAVES:通过廉价的视觉系统控制机械臂

【CVPR2019】论文完整列表一 CVPR 2019 Paper list[1-1000] CVPR2019 完整列表二 论文题目与链接 Finding Task-Relevant Features for Few-Shot Learning by Category Traversal Edge-Labeling Graph Neural Network for Few-Shot Learning G... 阅读详情

本文同步于微信公众号:3D视觉前沿,欢迎大家关注。

该文章发表于2019年CVPR,题目是:CRAVES: Controlling Robotic Arm with a Vision-based Economic System,核心点是使用40美元的廉价无传感器机械臂进行控制操作。论文为清华、北大以及约翰霍普金斯大学合作完成。

引言

本文的出发点是训练一个强化学习网络,可以对机械臂进行较为精确的控制。使用强化学习的好处是可以允许低控制精度的机械臂,也就相对廉价。当前已有谷歌的工作(2016-Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection)将机械臂每次移动时拍摄的整幅图像输入网络进行训练;这无论对于数据采集和设备性能都带来了极大挑战。该论文就思考一个弱化的版本,不使用整幅图像,只使用机械臂的空间位姿训练强化学习网络,这样数据的维度就大大降低。

当前对于刚体的6D姿态估计,方法相对成熟,基于深度学习的方法包括两类,一类是直接恢复6D位姿,一类是通过预测3d关键点的2d投影点,使用pnp方法解决。不同的是,机械臂不是一个刚体,而是一个多刚体系统,它的姿态不是6d,而是要加上对应的关节角度。因此,可以使用预测2d关键点的方式,将物体的6d姿态和关节角度同时估计出来。2d关键点的预测可以使用当前成熟的深度学习网络,训练数据可以基于unreal4引擎和机械臂的3d模型虚拟生成,训练的模型可以在真实世界数据集上进行域适应等。这样整个流程就打通了。

整体框架

在这里插入图片描述
图1:论文整体框架。目标是通过单个相机作为唯一的sensor完成任务;视觉模块检测机械臂的2D的关键点,然后计算它的3d位姿。控制模块使用估计的3d位姿来决定下一步的移动指令,并将其传送给motors。在他们的设定中,直接给定目标物体的3d位置。

数据集

在UnReal4引擎中构建虚拟场景,将OWI-535机械臂的3d模型置入其中,并在其上手动标记14个关键点和4个关节点。使用引擎的好处是和是实时获取相机的外参和3d关键点的坐标,也能够得到在2d图像上的投影坐标,可以生成完整的训练集。天空及桌面的背景使用公开集图片随机变换。
 的
图2 OWI-535机械臂的4个关节点和17个关键点的图示结果。每一个关节点对应一个唯一的名字,颜色代表了其对应的部件。其中,根节点没有使用,真正使用的是14个关键点和3个关节点。

直接使用虚拟生成的数据集,在真实图片上可能表现不好,因此,作者额外采集了两个数据集,一个是实验室采集,包含真值的2d关键点位置和3d机械臂位姿;一个从YouTube爬下来的,只包含人工标注的2d关键点。
在这里插入图片描述
图3 实验中用到的3个数据集。从上至下:合成的图像(上两行),实验室数据集和YouTube数据集。

在虚拟数据集上训练的模型可以使用真实图片进行fine-tune,过程图4。3d几何约束是关节之间的角度,能够唯一确定一个机械臂的3d姿态,也即3d点的关键点。之后将3d点投影到2d点,更新网络预测的结果。

在这里插入图片描述
图4 2d关键点更新过程。初始的估计值包括精确(green),不精确(cyan)和outliers(red)。通过引入3d-prior的约束,我们能够获得一个优化后的关键点位置,用来进行神经网络的fine-tune。

实验结果
2d关键点预测结果:

的的的的的
表1 2d关键点检测精度对比

3d位姿预测结果:在这里插入图片描述

表2 机械臂关节角度和相机外参预测结果

YouTube数据集预测结果:在这里插入图片描述

图5 在YouTube数据集上的定量结果。该数据集上的挑战包括遮挡,用户的修改,光照等。根据相机外参和估计的位子,合成了机械臂的图片。左边5列都成功了,最右一列失败了。

真实场景抓取结果

在这里插入图片描述
图6 真是世界的实验场景。目标点打印到了参考板上面,用来计算误差。背景物体随机放置。

在这里插入图片描述
表3 与人类在到达指定位置任务上的精度对比

总结
  • 提出了一种方法,通过视觉输入,来控制一个低成本的,无传感器的机械臂来完成移动任务。提出了一种半监督的算法来集成带标签的合成数据以及无标签的真实数据,共同训练位姿估计模块。使用多刚体系统的几何约束(机械臂)来进行域适应。算法仅需要机械臂的3d模型,具有潜力扩展到使用其他多刚体系统的姿态估计等。
  • 未来可以将视觉感知和控制模块以一种联合端到端的方式进行训练,例如结合目标检测和6d姿态估计,以完成更为复杂的任务。
  • 代码:https://craves.ai/
【论文笔记】基于强化学习的机械臂自主视觉感知控制方法 机器视觉;强化学习;模仿学习;系统仿真;智能控制; 阅读详情

相关推荐

大象机器人myCobot Pro600六轴机械臂与3D深度视觉:物体精确识别抓取堆叠

随着时代的进步,各种精密的机械臂,人形机器人不断的问世。我们即将迎来到处都是机器人的高科技时代。为了跟上时代的脚步,我最近入手了一台myCobotpro600机械臂,我主要是想要用它来学习机械臂相关得控制以及机器视觉的项目,给以后的实践中在本文中,我将记录使用myCobotpro600结合深度相机来实现物体得跟踪以及抓取。

m0_71627844的博客 7929

【CVPR华为】【CVPR诺亚方舟】【CVPR2019】华为诺亚方舟实验室2019年CVPR27篇:全面展现诺亚实验室在计算机视觉蓝图

最近,2019年计算机视觉和模式识别大会(CVPR 2019),在美国长滩市(Long Beach)举行。华为公司不仅是会议的铂金赞助商,其下属的诺亚方舟实验室更是在本届大会上发表(或联合发表)了27篇论文。这些,都充分展现了华为公司回馈学界和与学界共同成长的战略和决心。 华为诺亚的27篇论文,涉及计算机视觉的各个领域。从任务角度看,不仅囊括了传统的三大难题(分类、检测、分割),也在目标的种类(...

王博(Kings)的博客 6586

从零制作视觉抓取机械臂实物系列:一、让机械臂实物动起来(1)

视觉机械臂整体介绍课程介绍抓取流程框架硬件简介 课程介绍   大家好,我是拿笔小新的新。上课之前我们得明白学这门课能学到啥知识,以及学完了之后我们可以做个什么东西出来。预备知识:很简单的线性代数矩阵知识以及windows下安装软件的能力即可。 你将学会: 最基本的视觉机械臂抓取的流程 如何用串口与机械臂通讯 变换矩阵、DH参数法建立机械臂模型、几何法建立机械臂模型以及运动学逆解 3种常用自由度机械臂的使用(3、4、6DOF) opencv-python的简单使用以及简单的目标检测示例 简单的手眼标定 如何

Kkoutianwu的博客 1万+

基于Mediapipe的视觉控制机械臂(1)-Dome的制作

视觉实现需要使用Google的mediapipe这个model,碍于本作者手中没有派派或者英伟达的板子,只能使用PC去实现这个功能。五自由度舵机机械臂,这没啥好说的。通过mediapipe的关键点检测,并通过各个关键点之间的angle来确定手势,通过串口跟下位机(arduino)进行通信,从而操控舵机的转动。PyCharm或者其他编译器也可以,只要能够编译运行python代码。理论成立,开始实践!电源加电源控制电路,这个可以得到5V就可以。这样就做好了,舵机控制那可以自行设计。

qq_48824303的博客 804

刚体6D位姿估计方法综述

方法分类 (Correspondences-based method)(Template-based method)(Voting-based method) (Regression-based method) 一个简单的表格是这么创建的: 姿态估计方法 已知信息 核心思路 代表方法 适用场景 基于2D-3D对应的方法 3D模型3D点与以及投影后的带纹理图像 将3D模型投影得到RG...

dsoftware的博客 3万+

AR2-masterz机械臂

AR2-master机械臂,包括文档,BOM,机械图纸

craves.ai:基于视觉的经济系统控制机械臂

craves.ai:基于视觉的经济系统控制机械臂 项目介绍 craves.ai 是一个开源项目,旨在利用单一的 RGB 摄像头控制玩具机械臂(OWI-535)。该系统采用视觉算法对机械臂进行精确控制,实现无需依赖其他传感器的目标抓取。通过该项目的实施,可以大大降低机械臂控制的复杂性和成本,为未来家庭和工业应用提供了一种新型的解决方案。 项目技术分析 craves.ai 项目基于深度学习框架 PyT...

gitblog_00101的博客 850

机械手视觉控制算法

自己的工程,上位机matlab通过自带摄像头控制下位机机械手,详细软硬件清单。

视觉控制机械臂的动作

通过视觉控制机械臂的动作是一个涉及多个步骤的过程,包括图像采集、图像处理、目标识别、坐标转换和机械臂控制。以下是一个基本的流程和示例代码,展示如何使用ROS(Robot Operating System)来实现这一功能。

SeniorMao007的博客 1032

莫兰指数stata命令_一文读懂16个sp系列stata空间计量命令及应用

spcompress:Compress Stata-format shapefile压缩数据成stata格式的shapefile2、Looking at data/观测数据2、Looking at data/观测数据grmap:Graph choropleth maps绘制等值区域图spdistance:Calculator for distance between places计算区域之间距离3...

weixin_39719989的博客 822

SAP ATP检查全解析:从配置到BAPI_RESERVATION_CREATE1应用实例

本文全面解析SAP ATP检查功能,从基础配置到BAPI_RESERVATION_CREATE1高级应用,涵盖物料可用性检查、动态规则设置及性能优化策略。通过实战案例演示如何利用BAPI_MATERIAL_AVAILABILITY实现精准库存承诺,提升供应链效率,特别适合SAP顾问和库存管理人员参考。

dropout6artist的博客 678

大象机器人开源七轴协作机械臂myArm视觉跟踪技术!

myArm内置接口可以进行超高难度的肘关节姿态变换,在实践教学中,可以用于机器人姿态研究、机器人运动路径规划学习、机器人冗余自由度的管理和利用、正逆运动学、ROS机器人开发环境、机器人应用开发、编程语言开发和底层数据处理等多种机器人相关的学科教育。结合机器学习和先进的图像处理技术,使用ArUco标记的机械臂系统可以实现更高级的自动化功能,如精确定位、导航和复杂动作的执行。总而言之,该项目可以实践应用各个方面。:在机械臂的应用中,姿态跟踪涉及到实时监控和控制机械臂自身的各个关节和末端执行器的精确位置和方向。

m0_71627844的博客 2814

CANoe开发入门到精通读书笔记(2)——CAPL编程

CAPL函数的语法跟C语言很类似,但也包含一些C语言所不具备的功能大部分CAPL支持的数据类型都可以直接声明为函数参数, 例如,整型、浮点型、枚举、结构、定时器以及它们的引用。但有一些类型不能被直接声明,而需要加上*号(注意该符号并不是C语言中 指针的意思)。例 如 : signal * s 、 envvarInt * ev 、 sysvarFloat * sv 、 diagRequest * dr、diagResponse * dr、int matrix[][],以及。

weixin_66275497的博客 6459

机械臂如何“看懂”世界?:深度解析视觉与控制融合关键技术

解决工业自动化难题,揭秘机械臂如何通过视觉感知实现智能操作。本文以工业具身智能案例:机械臂编程与视觉融合方案为核心,解析视觉识别与运动控制协同机制,涵盖装配、分拣等应用场景,提升精度与自适应能力,值得收藏。

CompiShoal的博客 559

基于Q-learning的无人机三维路径规划(含完整C++代码)

基于Q-learning的无人机三维路径规划(含完整C++代码)

weixin_54186646的博客 1万+

如何在INCA中修改标定量的初始值,并刷回控制器

测试过程中,有些时候,标定量来不及修改,这就需要修改标定量的初始值了,又不想打开模型重新编译,因此直接在INCA中修改,然后再刷回控制器,就成了最佳选择,之前也学过,长时间不用,忘记怎么搞了,最近又用到了,这次记录一下,以后用到的时候,就不用在网上东翻西找了。截止到2023年11月24日,共找到了两种方法可以实现修改。

weixin_43406519的博客 4200

机器臂(二)--视觉控制关节点

在先前配置好的机器臂教程接着下做 先是视觉方面demo 手势识别的mediapipe 是谷歌开源项目 这个的主要功能是识别手势 然后封装成类给下面的控制模块调用 import cv2 import mediapipe as mp class HandDetector: def __init__(self, mode=False, maxHands=2, detectionCon=0.5, minTrackCon=0.5): ...

Pyangthon的博客 1553

Codex CLI 的多模型切换实战:如何在中转 API 环境下灵活选择最佳模型

本文详细介绍了在Codex CLI中实现多模型切换的实战技巧,重点解析了如何在中转API环境下灵活选择最佳AI模型。通过配置Node.js环境和智能路由策略,开发者可以根据任务类型、编程语言和成本考量,在GPT-5、Claude和DeepSeek等模型间高效切换,提升代码生成、审查和优化的效率。

weixin_29291185的博客 836

MATLAB机器人仿真 机械臂视觉控制运动仿真,根据设定的跟踪目标,通过读取摄像头跟踪运动目标

折腾完这套系统,最大的收获是明白仿真和现实的差距——摄像头延迟、机械臂传动误差、光照变化,随便哪个都能让完美仿真相形见绌。MATLAB机器人仿真 机械臂视觉控制运动仿真,根据设定的跟踪目标,通过读取摄像头跟踪运动目标,利用逆解实现机械臂跟随目标运动的路径规划仿真,实现视觉控制机械臂运动仿真。MATLAB机器人仿真 机械臂视觉控制运动仿真,根据设定的跟踪目标,通过读取摄像头跟踪运动目标,利用逆解实现机械臂跟随目标运动的路径规划仿真,实现视觉控制机械臂运动仿真。目标跟踪的核心在于坐标转换。

nLsUCWFJR的博客 110

python基础之语言发展历史

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。 目录一、前言二、发展历史1、Python是一种面向对象的解释型编程语言2、Python常被称为胶水语言3、Python由Guido开发4、Python连续多年入选编程语言TOP105、Python的发展历史三、总结 一、前言   由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、.

jiankang66的博客 3348

DAB协议解读ETSI TS 103 461

数字信号广播( Digital Audio Broadcasting 简称DAB)是继AM、FM传统模拟广播之后的第三代广播--数字信号广播,它提供了接近CD质量的声音,广播及商机无限的附加数据服务,具有抗噪声、抗干扰、抗电波传播衰落、适合高速移动接收等优点,保证固定、携带及移动时接收信号的质量。DAB的原始版本使用MP2音频编解码器。该系统的升级版本于2007年2月发布,称为DAB+,它使用基于改进的离散余弦变换(MDCT)的HE-AACv2(AAC+)音频编解码器。

qflook的博客 4477

运动估计算法的程序实现_面向高精度领域的视觉伺服算法汇总

作者:Tom HardyDate:2020-02-14来源:面向高精度领域的视觉伺服算法汇总前言视觉伺服是工业上很重要的一个领域,在自动装配、高精配准上应用非常多。针对近两年常见的算法模式,在这里进行了简单的汇总。1、Predicting Target Feature Configuration of Non-stationary Objects for Grasping with Image-B...

weixin_39924481的博客 563

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于机械臂的模仿学习

文章目录1. 关键词2. 数据集3. 框架4.大会/论坛5.相关论文 1. 关键词 模仿学习:Imitation learning 2. 数据集 图像识别领域的数据集:ImageNet 目标检测的数据集:COCO 机器问答的数据集:SQuAD 3. 框架 斯坦福的李飞飞实验室,开源了分布式强化学习训练框架SURREAL,用来加速学习过程。 团队还发现,用SURREAL框架搭配上文的RoboTurk...

罗伯特祥的博客 3658

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

关于视觉装置、ROS、机械臂之间的通信和系统协调

一、视觉检测装置与ROS实现通信 采用Movidius神经计算棒实现视觉检测装置基于ROS的实现与封装。轻松地将深度学习技术引入项目,和其他ROS节点无缝连接。 技术背景: 英特尔在2017年发布了Movidius神经计算棒,与英特尔Movidius神经计算棒一同发布的还有NCSDK和NCAppZoo,为用户在Movidius 神经计算棒之上开发各自的应用提供了良好的软件支持。 NCSDK...

weizhangyjs的博客 6619

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

视觉机械臂自主抓取全流程

视觉机械臂是智能机器人的一个重要分支,它主要包括控制芯片、驱动电路、机械臂、相机等部分。自主抓取是指,在没有人为干预的情况下,视觉机械臂系统通过摄像头获取到目标物体的位置,并且通过驱动机械臂来完成对于目标物体的抓取任务。........................

knightsinghua的博客 8万+

论文:Robotic Arm Representation Using Image-Based Feedback for Deep Reinforcement Learning

HGFHG1. 摘要2. 方案 Robotic Arm Representation Using Image-Based Feedback for Deep Reinforcement Learning 1. 摘要 This paper presents a technique that uses feedback images for implementing a robotic task us...

SpengTAN的博客 456
上一篇: 刚体6D位姿估计方法综述
下一篇: 基于深度学习的3D目标检测综述-Deep Learning-Based 3D Detection: A Review
Guoguang Du
博客等级 码龄16年 599粉丝 15原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值