6D pose estimation 之 EfficientPose

2023-11-04

github: https://github.com/ybkscht/EfficientPose

新出的多目标6D姿态估计算法EfficientPose,看论文在多目标检测效果确实要比之前的算法要好。

按github上走基本上可以跑通作者预训练的模型。

如果你要自己制作数据集的话主要是完成如下图片中的:

1.rgb 里面存放训练的原图

2.merged_masks 里面放目标mask的label图片(每个目标的rgb值都不一样)

3.gt.yml: 保存 extrinsic matrix 的R 和T以及 bounding box, 和目标id值。 这里的索引和图片是一一对应的

4. info.yaml 保存每个图片的intrinsic matrix,正常每个图片都一样

5.train.txt 训练图片的文件名

6.test.txt 验证集的图片文件名

7.models_info.yaml obj模型文件的参数,最大直径等

6.boj_01.ply mesh文件 按毫米和按米单位不一样需要修改训练文件的translation_scale_norm参数,如果是米为1.0 如果是毫米是1000

数据集生成器可以模仿OcclusionGenerator或LineModGenerator,按照自己的数据集不同去编写数据生成过程,基本上也就改改__init__()方法就可以。最好在create_generators函数中添加自己的args.dataset_type。

如下我自己修改的custom类。然后就可以开始训练了。最好用debug.py跑下自己的数据生成器是不是对的。

if args.dataset_type == 'linemod':
        from generators.linemod import LineModGenerator
        train_generator = LineModGenerator(
            args.linemod_path,
            args.object_id,
            rotation_representation=args.rotation_representation,
            use_colorspace_augmentation=not args.no_color_augmentation,
            use_6DoF_augmentation=not args.no_6dof_augmentation,
            **common_args
        )

        validation_generator = LineModGenerator(
            args.linemod_path,
            args.object_id,
            train=False,
            shuffle_dataset=False,
            shuffle_groups=False,
            rotation_representation=args.rotation_representation,
            use_colorspace_augmentation=False,
            use_6DoF_augmentation=False,
            **common_args
        )
    elif args.dataset_type == 'occlusion':
        from generators.occlusion import OcclusionGenerator
        train_generator = OcclusionGenerator(
            args.occlusion_path,
            rotation_representation=args.rotation_representation,
            use_colorspace_augmentation=not args.no_color_augmentation,
            use_6DoF_augmentation=not args.no_6dof_augmentation,
            **common_args
        )

        validation_generator = OcclusionGenerator(
            args.occlusion_path,
            train=False,
            shuffle_dataset=False,
            shuffle_groups=False,
            rotation_representation=args.rotation_representation,
            use_colorspace_augmentation=False,
            use_6DoF_augmentation=False,
            **common_args
        )
    elif args.dataset_type == 'custom':
        from generators.custom import CustomGenerator
        train_generator = CustomGenerator(
            args.custom_path,
            rotation_representation=args.rotation_representation,
            use_colorspace_augmentation=not args.no_color_augmentation,
            use_6DoF_augmentation=not args.no_6dof_augmentation,
            **common_args
        )

        validation_generator = CustomGenerator(
            args.custom_path,
            train=False,
            shuffle_dataset=False,
            shuffle_groups=False,
            rotation_representation=args.rotation_representation,
            use_colorspace_augmentation=False,
            use_6DoF_augmentation=False,
            **common_args
        )
    else:
        raise ValueError('Invalid data type received: {}'.format(args.dataset_type))

    return train_generator, validation_generator

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

6D pose estimation 之 EfficientPose 的相关文章

  • 基于Golang和WebSocket打造自已的反向代理

    当我们在开发的时候 有时想要把自已开发的接口暴露给其他开发者或者第三方的服务 方便我们调试和排查问题 那就需要某种机制把我们本地的服务接口暴露到互联网上 本文将要介绍如何通过Golang和WebSocket来实现这一功能 为什么我们需要开发
  • 1032 挖掘机技术哪家强python3无超时

    改进后的代码成功率在90 文章目录 1 最初代码 2 改进代码 1 最初代码 usr bin env python coding utf 8 File 1032 py Time 2020 04 08 17 02 03 Author Schi
  • nginx 之 pcre 安装

    1 下载pcre wget https nchc dl sourceforge net project pcre pcre 8 43 pcre 8 43 tar gz 2 解压 3 进入解压目录 4 执行如下命令 configure ena
  • 【pytorch】pytorch使用记录(持续更新)

    1 找不到moule xxx 当训练模型在重新加载用于评估的时候出现少了一个module前缀 这个问题通常是由于训练的时候采用了数据并行操作 而评估模型的时候却没有用到 因此 只需要在训练代码中补充 net nn DataParallel
  • 深入理解Java中的字符串驻留机制

    引言 在Java编程中 字符串是最常用的数据类型之一 而Java的字符串驻留 intern 机制则是字符串处理中一个重要且经常被忽视的话题 本文将带您深入探讨Java中字符串驻留机制的原理和影响因素 什么是字符串驻留机制 字符串驻留机制是指
  • VAF Variance Accounted For(方差贡献率)

    VAF是指方差贡献率 是一种用于衡量 评估 模型预测能力的指标 即模型的预测结果与实际结果的相关程度 VAF越高 说明模型对实际数据的解释能力越好 模型预测结果越接近实际结果 计算公式 V A F 1
  • 禅道api调用(爬虫方式)

    目录 获取所有进行中的项目信息 url postman Java代码 实体类 逻辑处理 根据项目id获取指定项目下所有未关闭的任务id url postman Java代码 总结 在Java中 我们可以使用各种库和框架来创建自己的爬虫程序
  • 百度你不知道的技巧使用

    百度搜索引擎 技巧使用 例如 python 屏蔽广告 python 能够减小搜索范围 pythonfiletype pdf 搜索文件 intailpython 进行精准匹配 pythoninurl video 匹配带视频的关键词
  • 解决 ResourceWarning: unclosed <socket.socket fd=628, family=AddressFamily 警告问题 unittest ddt data 数据驱动

    文章目录 1 问题 2 办法 1 问题 ResourceWarning unclosed
  • unity常用生命周期函数以及执行顺序详解

    执行顺序 Awake gt OnEnable gt Start gt FixedUpdate gt Update gt LateUpdate gt OnGUI gt OnDisable gt OnDestroy gt OnApplicati
  • 大数据:推荐系统

    大数据 推荐系统 下面是我看 大数据 互联网大规模数据挖掘与分布式处理 一书第九章的总结 1 效用矩阵 推荐系统处理对象是用户和项 该矩阵提供某个用户对某个项的喜好程度 通常而言 大部分元素未知 推荐系统是基于已知项对未知元素进行预测 2
  • nginx+tomcat+redis实现session共享,搭建单机集群

    环境描述 以下环境是我亲测有效的搭建环境 redis 下载地址 https download csdn net download qq 37535558 12527340 tomcat8 5 20和redis的工具jar包下载地址 http
  • 升级glibc2.27

    将安装包上传至 home目录 1 解压 tar zxvf glibc 2 27 tar gz cd glibc 2 27 mkdir glibc227 cd glibc227 2 编译安装 export LD LIBRARY PATH us
  • 英文演讲Presentation有用的语句

    文章内容仅用于自己知识学习和分享 如有侵权 还请联系并删除 1 Beginning Greeting Hello Good morning afternoon evening Hello friends everyone Good even
  • Unity基础 场景概念以及场景切换

    Unity场景的概念 在Unity中 场景可以理解为一种游戏关卡 它是一个包含了游戏中各种元素的环境 如游戏物体 光照 相机 音频等等 每个场景都可以通过Unity提供的一系列方法和变量进行操作和管理 在Unity中 场景有以下特点 可以包
  • 整型数据存储以及大小端字节序存储

    文章目录 前言 整型 int short long类型 chart类型 数据在内存中的存储 原码 反码 补码 正负数在内存中的存储形式 大小端字节序存储 前言 在了解数据的存储之前 我们需要知道数据有哪几种类型 在C语言中数据分为一下几种类
  • 使用注解实现防止表单重复提交

    定义注解 ClassName SameUrlData Description TODO 自定义的注解 用于防止表单重复提交 author feizhou Date 2018年1月10日 下午4 25 02 version 1 0 0 Tar
  • 毕业设计-基于深度学习的视频目标检测

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • kernel: NFSD: client x.x.x.x testing state ID with incorrect client ID

    问题 解决办法 修改文件 etc sysconfig nfs Optional arguments passed to rpc nfsd See rpc nfsd 8 RPCNFSDARGS N 4 nfsstat s 可以看出nfsd的版

随机推荐

  • Leetcode_06 Z 字形变换

    题目描述 将一个给定字符串 s 根据给定的行数 numRows 以从上往下 从左到右进行 Z 字形排列 比如输入字符串为 PAYPALISHIRING 行数为 3 时 排列如下 P A H N A P L S I I G Y I R 之后
  • 深度学习常见网络结构和设计思路总结(期末复习)

    前言 该文的主要原因是深度学习期末开卷考试 因此整理了NN CNN RNN GAN各个网络模型原理和相关知识 并且对如何设计一个神经网络提出相关讨论 以及神经网络中损失函数 优化算法等也举例 希望能在分析设计题目中有用 最后非常感谢深度学习
  • meanio文件服务器拒绝,mean.io初探

    最近学习使用了 mean 架构的一个框架 mean io 在这里记录下学到的东西和遇到的问题 以备后用 mean io 的安装 在安装 mean io 之前必须要安装 mongodb git gulp grunt 之后在 npm 中输入 1
  • 旋转的矩阵

    旋转的矩阵 题目描述 题目描述 给定一个n m的矩阵 请以顺 逆时针交替旋转的方式打印出每个元素 Input Format 第一行n m 0
  • 以太网RGMII中的delay time,skew time,setup time理解

    RGMII的同一根信号在发送端和接收端的时序是不同的 比如下图 TXC在transmitter的波形要比在receiver的波形快 通常时钟采样点为50 电平处 这样就产生了发送和接收的偏移时间skew time 图中是以DATA作为参考
  • 网课脚本教程 【基础】(3) 使用 jq 制作简单脚本

    欢迎来到系列教程 网课脚本编写教程 目录 为什么使用jq 制作简单脚本 找到任意一个登陆界面 使用 键盘的 F12 审查元素 点击审查箭头 鼠标移动到 手机号和密码的输入框 编写自动化脚本 为什么使用jq 很多人会问 为什么不用js制作呢
  • excel 多项式拟合数据

    有如下一组数据和其对应的曲线波形 如何快速得到其数据函数表达式 x y 996 1250 1988 2250 3000 3550 4000 4900 要得到原始的函数表达式是比较难的 不过我们可以用多项目拟合方式来拟合近似的多项式 对于一些
  • ReactNative Image组件详解

    源码传送门 最近学习ReactNative感觉到挺有意思的 在学习的过程中 发现网上一些人写的文章内容过时了 这主要是ReactNative的版本升级太快 如果你现在看一篇16甚至15年写的文章 把知识点和官方文档对比下 会让你大跌眼镜 所
  • pulseaudio中,./bin/pulseaudio --system -vvvvvvvvvv的作用

    bin pulseaudio system vvvvvvvvvv这个命令用于启动 PulseAudio 其中 system 参数表示以系统级别运行 PulseAudio 这个命令会涉及 PulseAudio 的相关配置和运行过程 但是 从h
  • 阿特拉斯拧紧枪说明书_Atlas拧紧轴

    QST34 8CT T50 L150 H68435 6100 10 QST34 20CT T50 L150 H108435 6110 10 QST42 20CT T50 L134 H10 8435 6120 10 QST42 20COT T
  • C语言简介

    1 来历 C语言的原型是A语言 然后经过数次改进 简化 形成C语言 其出现原因是为了使编程更简单 更容易实现 2 动机 由A语言数次改编 为了更适应编译 3 故事 C语言的前身B语言 Ken Thompson用它写了第一个unix操作系统
  • c语言指针(深入了解指针)

    前沿 有人曾说过不会指针等于没有学习c语言 而我也是非常认同这个观点的 要想学习好c语言 指针是比不可缺少的 如果指针学不会c语言也就没办法学好 而向如此越重要的东西越比较难学 但难学并不代表学不会 这片文章将由简单到复杂让你深刻的了解指针
  • 【MATLAB】设置figure默认背景颜色:白色

    设置figure背景颜色 matlab的图形窗口默认背景为灰色 可以采用以下任一命令改变背景颜色 figure color w 或者figure color 1 1 1 或者set gcf color w 这样每次都需要额外执行命令 很麻烦
  • 解决在WebStorm中使用Vue组件的v-xxx等指令报错

    错误如下 这个报错并不会影响代码执行 强迫症不行 解决方法 点击File gt Settings gt 直接搜索 Unbound XML namespace prefix 直接把后面的勾去掉 保存即可 保存后如下 错误消失
  • Linux学习笔记(2) --- 标准目录结构

    Linux 标准目录结构 root 启动Linux时使用的一些核心文件 如操作系统内核 引导程序Grub等 home 存储普通用户的个人文件 ftp 用户所有服务 httpd samba user1 user2 bin 系统启动时需要的执行
  • [J2EE-07]XML建模

    1 回顾 1 XML的作用 配置 xml properties ini yaml 数据交互 XML webservice axis2 JSON ajax无刷新 2 配置位置和读取Properties配置文件 如何读取Properties配置
  • 导入别人的Android项目

    1 修改项目目录下的 build gradle 文件 将其中的 classpath com android tools build gradle x x x 中的x x x更改为Android Studio安装目录下的 User gradl
  • 【MOS管】

    文章目录 一 极性判断 二 N沟道和P沟道判断 三 寄生二极管 四 MOS管的作用 1 MOS管用作开关时在电路中的连接方法 2 反证法 五 MOS管的开关条件 六 相关概念 1 BJT 2 FET 七 MOS管的识别 一 从MOS管实物识
  • QT+opencv3打包发布程序

    1 以release方式调试程序 然后会在项目文件夹的x64 release下会有一个exe文件 把exe文件复制包自己想保存的文件夹 2 打开QT5 8程序的命令行 输入 cd d D xxx 这句话的意思是 打开d盘下的XXX文件夹 可
  • 6D pose estimation 之 EfficientPose

    github https github com ybkscht EfficientPose 新出的多目标6D姿态估计算法EfficientPose 看论文在多目标检测效果确实要比之前的算法要好 按github上走基本上可以跑通作者预训练的模