根据标签中的抓取点位置构建抓取质量图,标注的点的质量为1,否则为0,这样可以与网络预测的quality计算loss
需要将数据集格式转为程序需要的统一格式
1、训练速度由模型大小、运行设备配置、代码优化等决定,最普通的提高训练速度的方法是使用更大显存和算力的显卡,其次是优化模型大小。2、这个因为时间太久记不清了,epoch从146开始训练应该是因为加载了预训练模型的原因吧,导致网路卡顿的问题记不清了,你可以在课程交流群里@我详细说一下这个问题,这个和训练速度没关系。
预测的宽度单位为像素,通过相机标定的结果可以将像素长度从 图像坐标系 转到 相机坐标系 下的单位米。
torch版本问题,升级到1.8.0试试
是AFFGA-Net的早期版本Segmentation-based Grasp Detection Network的简写,后面的AFFGA-Net还是用的同样的框架,就没改一些类的名称了
课程提供的GGCNN代码不支持可视化热力图,可以参考官方发布的GGCNN代码,通过运行eval_ggcnn.py来获得矩形框抓取检测结果和热力图可视化:https://github.com/dougsm/ggcnn
你好,用的什么操作系统?标注代码只能用于windows系统
47-49行,深度图读取失败,检查一下图片是在ggcnn/test路径下吗
加一下课程群,把标注的数据集样本@我看一下
可以在仿真控制交流群里@我
是自己的数据集还是cornell数据集?
你好,requirement暂时没整理,完整的环境版本可以看这个帖子:https://www.guyuehome.com/bubble/detail/id/66309
epoch1还在训练刚开始,精度是0正常;另外检查一下训练集、测试集、验证集在全部数据集样本中所占的比例,一般要求的比例是0.8, 0.2, 0.1
sim_grasp.msg.sim_graspModel是自定义的ROS msg,可以先把用到这个消息的py脚本移出项目,然后删除工作空间下的build和devel,重新编译工作空间,再把刚才的py脚本放回原来的路径,再编译。这么做的目的是,先编译出msg的头文件,这样第二次编译的时候就能找到自定义消息的头文件。
pybullet里修改机械臂末端和机械手模型,运动学部分不用改。迁移的时候,修改手眼标定结果、机械臂控制和机械手控制。
分母大于等于标的抓取宽度最大值就行,视频里可能表达有误
逆运动学计算失败,没有代码我也不知道怎么解决
需要在英文输入法下操作,不要大写
https://github.com/dougsm/ggcnn
ggcnn的原始代码的eval_ggcnn.py提供了函数,可以去看一下
终端打印的就只有test_graspable、test_accuracy、train_val_graspable、train_val_accuracy和loss,你说的抓取度信息是什么
作者就这样提供的代码。代码与论文在细节处不一样是很正常的,重要的是学习方法思路。
最简单的方法是按照模型预测的抓取质量取最大的抓取框
用多个短线拼成长曲线
kinova只有力矩传感器,没有触觉。就算外加了触觉传感器,只靠触觉也无法抓取,视觉是必需的。
可以的,相机只是设备,能获得需要的数据就行
还要修改机械手的控制代码
只改名字肯定不行啊。需要改机械臂的控制代码。最好先按照你使用的机械臂的官方教程学习一下用法,再修改工程里所有与机械臂控制相关的部分。
现在可以了吗,没遇到过这种问题
grasp_data.py中的main函数是我用来测试的,不需要改。只运行train_ggcnn.py就可以了
图像信息不全,不知道你训练了多少epoch。
这个几句话说不清楚,建议从kinova的官方例程开始学习。可以单独控制每个手指的闭合程度,只闭合两个手指就行了。
改成了多少
kinova的github提供了控制机械手的方式,把控制robotiq的代码换成kinova的代码就可以了。
图像读取失败,检查一下深度图有没有成功读取
我没改过这个机械臂,推测应该要改末端的三个手指沿关节的旋转角,其他的哪有问题改哪吧
你可以用cv2.waitkey()读取到按键,把值打出来。ubuntu的按键值我没测过
1、把键盘编码改为Ubuntu下的就可以用了2、可以训练和测试。
是win10系统吗?这个代码不能在ubuntu上使用,两个系统的键盘编码不一样
机器人控制、ROS系统下的检测结果通信、坐标转换、图像订阅和预处理等等,流程和代码比较复杂,不是几句话能说清的。
把utils文件夹重命名为myutils,然后修改所有程序里的utils为myutils(在vscode里重命名文件夹的话,程序里会自动修改)
应该是我测试完忘了删了,删掉就行
没有安装python扩展,可以百度一下教程
应该是训练集太少了,我为了讲课设置了比较小的训练集,检查一下训练集、验证集和测试集的样本比例是不是如图设置的
你没下载点云文件,按照 https://www.guyuehome.com/bubble/detail/id/66447 中的说明下载pcd****.txt点云文件,放到cornell数据集中,再运行程序
代码肯定没问题,检查cornell文件夹下有没有pcd*[0-9].txt文件
视频里讲了,你再看看
把你测试的深度图用网盘发给我,我测试看看
检查一下输入网络的深度图的单位是不是米
另外的你可以自己标注一下
可以
你是用的我提供的模型还是你自己训练的模型?
1、训练时间太短,epoch_0099_acc_0.0000_.pth中的0.0000表示在测试集的精度为0%。训练到在测试集的精度超过60%才可以。2、桌面不要铺布,会有褶皱,褶皱会影响抓取检测3、相机不要斜着,要垂直正对着桌面
你发的这段代码是用来把pcd转化为tiff格式的深度图的,不是生成mat的
grasp_data.py是测试数据用的,程序改了之后没有更新。跑train_ggcnn.py试试
在测试集上60%的accuracy是可接受的,精度较低的原因:(1)ggcnn的网络复杂度较低(2)预测抓取判定为Positive的阈值较高。而且GGCNN只是作为课程的教学案例,不适合基于GGCNN的网络架构做研究。
除了设置机械臂的初始位置,还有将线性阻尼和角度阻尼设为0。因为不置零会影响逆运动学的求解
机械臂的控制部分全部要改成与Baxter机器人配套的程序,还有手眼标定结果,等等。
要根据网络的训练数据来确定,我提供的预训练模型是只用tiff格式的深度图训练的,所以必须要深度图才可以测试,默认支持的是tiff格式的深度图,如果想输入其他格式的深度图,需要自己修改深度图的读入部分程序。
截图看下
我提供的文件夹里缺少生成tiff深度图的源文件,tiff的生成过程可以参考https://www.guyuehome.com/bubble/detail/id/66447
不可以,tiff文件的生成方式参考https://www.guyuehome.com/bubble/detail/id/66447
改成全英文的绝对路径试试
把模型路径改成绝对路径试试
1、ubuntu16.04, ros-kinetic2、手动向"/grasp/grasp_detect_run"话题发布任意消息,程序订阅到消息后进入回调函数,在回调函数中完成抓取检测,并把抓取检测结果通过对应的话题发布3、如果是眼在手外的方式,需要修改update_param()函数的内容,修改比较多,建议自行学习并修改。4、Realsense需要安装SDK和realsense_ros,通过支架安装在机械臂手腕上(眼在手上);kinova安装kinova_ros。以上两个硬件的配置网上有很多资料,建议自行百度。结合过程就是分别用USB连到主机上,程序逻辑在视频最后一节里有讲到,再细的话只能开课讲了。
比如有8张图片,其中四张是遥控器(0,1,2,3),另外四张是订书机(4,5,6,7)。image-wise:训练集和测试集的物体相同,但角度不同。即0145训练,2367测试。object-wise:训练集和测试集的物体不同。即0123训练,4567测试。
有部分程序的开头部分有个sys.path.append()函数,试试把该函数的参数改成pybullet_grasp程序包的根目录。
我又看了下你发的图片,test文件夹下是没有txt文件的,那应该没什么问题了
你好,直接结束是因为test文件夹下的图片都是带着标签文件的,把test下的txt文件都删了再重新运行就可以了
你好,可以加一下古月居仿真控制交流群,在群里把项目文件发给我看一下。
1、可能是utils文件夹和python库的名字冲突了,可以试试把utils文件夹重命名为myutils,同时把代码中导入utils文件夹的代码都改为myutils。2、sys.path.append()的功能是添加python库的搜索路径,填入的参数是当前程序的根目录。3、这个程序只可以在win10中运行,视频里有说明这一点,因为python在win10和ubuntu中的键盘编码不同。当然有余力的同学可以将程序里的键盘编码全部改为ubuntu的编码,就可以用了。
设手指横截面为矩形,finger_l1为手指与物体接触的边的长度,finger_l2为另一边的长度。深度图中手指矩形区域的深度都大于抓取深度时,认为手指不与环境产生碰撞。程序中为了加速计算,没有获取手指矩形内全部的点,而是采用矩形四个边和两个对角线上的点。
额我没做手眼标定,我们的机械臂是国内一家公司配置好的
课程主要讲的抓取检测算法的内容,手眼标定可以参考一下其他老师的课或网上的资料。
标注的全部都是正样本。抓取空间内(所有像素点对应的所有抓取位姿),除正样本之外都是负样本。
转化不了抓取框,我提供的ggcnn代码是可以使用线型的标签训练的。
在我的电脑上运行程序不会有这个问题,造成这个错误的原因基本是由于数据集读取错误,可以检查一下数据集有没有正确加载进来。
这个问题没遇到过,建议换成python3试一试
1、视频中的cornell数据集是自己标注的,可以通过原有的标签转换,但是我没有这部分代码。课程的代码文件里提供了我标注好的cornell数据集的txt文件。2、最好是用已有的模型一起训练你的数据集和cornell数据集。
第一个问题:通过pip install 命令安装对应的库。cv2的库名叫做 opencv-python,其他3个就是图片里的名字。第二个问题:kinova_ros是在ubuntu下的ROS中运行的,window运行不了。
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信