ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

GG-CNN vs GG-CNN2:转置卷积与空洞卷积在抓取网络中的完整对比

GG-CNN vs GG-CNN2:转置卷积与空洞卷积在抓取网络中的完整对比 GG-CNN vs GG-CNN2转置卷积与空洞卷积在抓取网络中的完整对比【免费下载链接】ggcnnGenerative Grasping CNN from Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach (RSS 2018)项目地址: https://gitcode.com/gh_mirrors/gg/ggcnnGG-CNNGenerative Grasping CNN生成式抓取卷积神经网络是一个轻量级的全卷积机器人抓取网络输入一张深度图就能为图像中每个像素同时预测抓取质量和抓取位姿从而支持实时闭环抓取。本文完整对比项目中实现的 GG-CNN 与 GG-CNN2 两个版本前者用步幅卷积下采样 转置卷积上采样的经典编码器-解码器结构后者则引入空洞卷积扩大感受野并改用双线性插值上采样帮助你在训练自己的抓取网络前做出正确选择。一、先认识 GG-CNN为什么需要生成式抓取网络传统抓取方案通常分两步先检测物体位姿再基于几何模型规划抓取点。一旦物体遮挡或位姿估计失败抓取就失败。GG-CNN出自 RSS 2018 论文Closing the Loop for Robotic Grasping换了一种思路不做目标检测而是像语义分割一样做逐像素回归。网络直接输出 4 张特征图pos该位置作为抓取中心的质量分越高越好cos / sin抓取方向角用正弦-余弦编码避免角度跳变width两指张开的宽度因为网络极轻、单帧推理机器人可以在抓取过程中不断刷新预测——即使物体被抓的过程中移动了也能边抓边修正这就是所谓的闭环抓取。 项目是对 RSS 2018 原始 Keras 代码的 PyTorch 重构版支持 Cornell 和 Jacquard 两个数据集安装依赖见 requirements.txt 中的requirements.txt。二、GG-CNN 架构解析转置卷积如何把分辨率送回来GG-CNN 的完整定义在models/ggcnn.py中结构是一条典型的对称漏斗编码器3 层卷积逐级降分辨率层通道数卷积核步幅输入 300×300 时特征尺寸conv1329×93100×100conv2165×5250×50conv383×3225×25解码器3 层转置卷积逐级升分辨率层通道数卷积核步幅输出尺寸convt183×3250×50convt2165×52100×100convt3329×93301×301转置卷积ConvTranspose2d可以理解为卷积的逆操作用 5×5 的核在低分辨率特征上摊出高分辨率特征配合output_padding1精确对齐目标尺寸。最后 4 个 2×2 的 1 通道小卷积头分别输出 pos/cos/sin/width得到 295×295 的预测图再经models/common.py中的高斯平滑后处理即可提取最佳抓取框。它的特点结构最忠实于原始论文是最小的复现基线转置卷积是可学习的上采样参数多且容易引入棋盘格伪影checkerboard artifacts——不过 GG-CNN 输出的是平滑的质量图伪影影响不大步幅下采样让深层感受野较大但代价是细节分辨率损失。三、GG-CNN2 架构解析空洞卷积带来的大感受野GG-CNN2 定义在models/ggcnn2.py是项目作者提出的改进版核心变化有三处1. 空洞卷积Dilated Convolution扩大感受野骨干中部的两层 5×5 卷积分别使用膨胀率dilation2和dilation4膨胀率 2 的 5×5 卷积等效感受野约 17×17膨胀率 4 的 5×5 卷积等效感受野约 33×33也就是说不损失空间分辨率、不增加计算量就能看到更大范围——而抓取质量判断恰恰需要大范围上下文比如物体轮廓、遮挡关系。这正是空洞卷积相对普通卷积的最大优势。2. 用 MaxPool 双线性插值替代转置卷积GG-CNN2 只用两层 2×2 最大池化下采样300×300 → 75×75在空洞卷积层保持 75×75 的分辨率完成看全局然后75×75 →(UpsamplingBilinear2d ×2)→ 150×150 → 3×3 卷积 150×150 →(UpsamplingBilinear2d ×2)→ 300×300 → 3×3 卷积双线性插值上采样零参数、无棋盘格伪影后面再跟一个小卷积精修。相比 GG-CNN 的大核转置卷积参数更少、上采样行为更稳定。3. 更细的输出头4 个输出头改为1×1 卷积逐像素独立映射配合通道数[16, 16, 32, 16]的紧凑配置进一步压缩参数量。四、两者关键差异速查表对比维度GG-CNNGG-CNN2上采样方式转置卷积可学习大核 3/5/9双线性插值 3×3 卷积感受野策略步幅下采样获得空洞卷积dilation 2、4获得最大特征分辨率25×25下采样 12 倍75×75下采样 4 倍输出头2×2 卷积1×1 卷积通道配置32→16→8→8→16→3216→16→32→16定位论文原版复现最小基线项目改进版精度更高源码位置models/ggcnn.pymodels/ggcnn2.py 一句话总结GG-CNN 是缩小再看、放大回细节GG-CNN2 是保持分辨率、用空洞卷积看远。后者细节保留更好更适合逐像素回归这类对空间精度敏感的任务。五、如何训练和评估两种网络两个网络通过统一的get_network工厂函数models/__init__.py加载训练入口是train_ggcnn.py只需切换--network参数# 训练 GG-CNNCornell 数据集 python train_ggcnn.py --description run1 --network ggcnn --dataset cornell --dataset-path /path/to/cornell # 训练 GG-CNN2Jacquard 数据集 python train_ggcnn.py --description run2 --network ggcnn2 --dataset jacquard --dataset-path /path/to/jacquard训练过程使用 Adam 优化器损失是 4 个输出的 MSE 之和各自compute_loss实现模型按验证集 IoU 自动保存到output/models。评估与可视化统一由eval_ggcnn.py完成几个常用开关--iou-eval用抓取框与真值的 IoU 判定成功是最常用的指标--vis把 RGB、深度图与预测的质量图/角度图/抓取框画出来直观检查--jacquard-output导出 Jacquard 数据集仿真测试所需格式例如评估训练好的模型python eval_ggcnn.py --network output/models/xxx/epoch_20_iou_0.80 --dataset cornell --dataset-path /path/to/cornell --iou-eval如果不想从头训练项目提供在 Cornell 数据集上训练好的 GG-CNN / GG-CNN2 预训练权重可直接加载对比两种网络在同一输入上的质量图输出差异。六、怎么选给你的实操建议想复现论文、理解生成式抓取原理→ 用 GG-CNN。它结构经典编码-解码 转置卷积是学习转置卷积上采样用法的最佳样例代码在models/ggcnn.py中不足 70 行非常好读。想拿到更好的抓取成功率→ 用 GG-CNN2。空洞卷积 高分辨率特征是项目推荐的改进方案尤其适合需要精细逐像素输出的抓取场景。想继续做研究→ GG-CNN2 暴露了filter_sizes、l3_k_size、dilations等超参见models/ggcnn2.py构造函数可以方便地做消融实验比如调整空洞率观察 IoU 变化。七、总结GG-CNN 展示了转置卷积在语义分割式抓取网络中的经典用法步幅卷积下采样提特征转置卷积上采样恢复分辨率GG-CNN2 展示了空洞卷积的价值在不降分辨率的前提下把感受野扩展到 33×33 以上再用零参数的双线性插值替代转置卷积结构更稳、细节更准两套网络共享同一套训练train_ggcnn.py与评估eval_ggcnn.py流程--network ggcnn/--network ggcnn2一键切换是理解上采样方案与感受野设计对抓取精度影响的绝佳对照实验。掌握这两种设计思想后你基本可以读懂并改进大多数逐像素回归类机器人感知网络了。【免费下载链接】ggcnnGenerative Grasping CNN from Closing the Loop for Robotic Grasping: A Real-time, Generative Grasp Synthesis Approach (RSS 2018)项目地址: https://gitcode.com/gh_mirrors/gg/ggcnn创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表