CDPN解读

article/2025/9/18 18:29:57

关于6-DoF的一些基础的知识点请看上一篇博客。

Related work

  从RGB图像中识别6-DoF的方法分为直接法和间接法。

1. 间接法

即不是直接的从RGB图像中恢复出6-DoF的信息,而是现在2维RGB图像和它的3维的模型上建立点到点的对应关系,然后通过数学的方法将旋转量(R)和平移量(T)求解出来。

2. 直接法

  即不依赖于物体的三维模型,通过神经网络去进行学习,直接从物体的RGB像素信息中学习三维的旋转量和平移量。能够快速的对物体的6-DoF进行预测,但是对物体的旋转量的估计精度效果不是很好。
  原因:旋转量的空间分布是属于一个SO3的空间量,它具有一定的周期性,也就是说对于一个物体,它的旋转的量是0-360°范围内的一个值,并且因为很多的物体存在对称性的问题,所以往往很多物体旋转一定的角度之后,所呈现的画面就是一样的,这就对用神经网络去预测旋转量产生了很大的干扰。

前言

1. 对于旋转量和平移量来说,采用什么样的策略才是最合适的?
  旋转量更多的依赖于物体呈现在画面中的外观,而对于平移量来说,更加关注的是物体的中心点相对于拍摄物体的相机的距离(近大远小)。所以说,对于旋转量和平移量采用相同的方式来进行估计不是一个很好的办法。
  在相关实验的支撑下,作者选择了用间接法来进行旋转量的估计,用直接法来进行平移量的估计。其实这也是很明显的一种方式,因为直接法估计旋转量会对精度有一定的影响,而间接法估计平移量也会使效率变得相对的低。所以综合考虑基于效率和精度的综合考虑,采用间接法来估计旋转量,直接法来估计平移量应该是一种比较合理的方法,当然,作者通过实验也证明了这一点。

2. 为什么用的是检测的方法,而不是进行实例分割?
  实例分割可以将一张图片中的相同的物体抠出来,分割的mask用于pose estimation的话,精度肯定会有所提升,但是因为现在的分割网络的模型都比较大,所以在速度上肯定会比较低,尤其是针对pose estimation的话,因为很多的应用都是实时的,所以对于速度肯定是有一定的要求的。综合考虑实时性,选择了检测的方法。除此之外就是,作者在训练的时候提出的DZI对性能效果的提升十分的显著。在论文中有对这个进行实验的对比。

正文

  啰啰嗦嗦了这么多,我估计再啰嗦就要挨打啦,所以下面我们进入正文。

一、训练
1.1. 各个网络的训练

  在训练的时候,输入的是整张的图像,然后通过动态缩放(文章的创新点之一:Dynamic Zoom In),其实我认为的就是在ground truth 的bounding box上随机的进行一定的扰动,把扰动后的bounding box扣下来,送到要训练的姿态估计网络中。这个感觉主要是在测试的时候,避免检测到物体的边界框的影响,可能还对解决物体中心点和bounding box中心点的不匹配问题有一定的作用。

在这里插入图片描述
对于旋转量估计的网络,输出是两个,一个是三通道的物体的坐标图,这三个通道分别代表物体的三维模型上的三维点的坐标值,即第一个通道代表的是x,第二个是y,第三个是z;另一个输出是执行度的图,把目标物体从bounding box中抠下来,来找出输入的图像框中的那些像素是对应着物体的像素的。通过物体执行度的图和物体的xyz的三维坐标的图就可以建立物体的像素到物体的三维坐标的对应关系。在训练的时候,提出了一个新的损失函数,
在这里插入图片描述
其中 n c = 3 , M ∗ i n_c=3,M_*^i nc=3,Mi代表ground-truth map, M ~ ∗ i \tilde{M}_*^i M~i代表预测的map,也就是说 M c o n f M_{conf} Mconf是置信度图, M c o o r j M_{coor_j} Mcoorj是第j个通道的三维坐标图。
对于平移量的估计网络,网络的输入是预测的图像,因为它的输入尺寸是固定的,所以说会在输入之前的时候,做一个缩放的操作,也就是将bounding box缩放到网络需要的大小。这个和旋转量估计网络是相同的。然后会从bounding box预测一个尺度不变的偏移量,再加上动态缩放过程中框的信息和相机的参数就可以得到全局的偏移量。

在这里插入图片描述
∆ x , ∆ y ∆x ,∆y x,y 是指扣下来的图像块中的物体的中心与图像块的中心的相对偏移量
γ \gamma γ是DZI(Dynamic Zoom In)的比例
t z t_z tz 是指扣下来的图像块中的物体的一个相对的深度值,这个深度值是指在原始图像中物体的中心点距离相机的深度信息与缩放到输入图像的大小的比例的一个比值

在这里插入图片描述
T T T通过bounding box中心点的坐标,bounding box的大小,以及缩放的比例,就可以根据平移模型输出的尺度不变的偏移量将全局的偏移量给恢复出来。 f x , f y f_x,f_y fx,fy是相机的参数。这个方法可以解决物体的中心点与bounding box的中心点不匹配的情况。

在这里插入图片描述
( O x , O y ) , ( C x , C y ) (O_x,O_y),(C_x,C_y) (Ox,Oy)(Cx,Cy)分别代表在原始图像中的物体的中心和采样块的中心。 ( h , w ) (h,w) (h,w)是采样块在原始图像中的大小。同样的 ∗ * ∗ ~ \tilde{*} ~分别代表预测值和真实值。

1.2 训练的策略

  在训练的时候,采用的是交替式训练的策略,用来解决旋转量难以学习的问题。

  1. Stage 1: Training the backbone and rotation head
  2. Stage 2: Training translation head only
  3. Stage 3: Training the backbone,rotation head,translation head

在这里插入图片描述

二、测试

在这里插入图片描述
对于测试的时候,将完整的图片输入到训练好的检测器中进行检测,然后提取bounding box送入后续的网络。得到三维的坐标图的信息和mask去计算旋转量,然后局部的偏移量加上检测器的得到的bounding box相关的参数和相机的参数,就可以得到全局的平移量。

对于旋转量的预测(间接法),有以下几种方法:

  1. 事先定义好我要找的物体的三维模型的关键点,然后去找这些事先定义好的点在图像上对应的像素位置。方法的缺陷:训练好的模型在不同种类上的泛化能力是很差的,比如说我现在训练的模型,是来预测猫的姿态的,那么在预测飞机,汽车上的话,就不适用,因为三维关键点的信息不一样。
  2. 不去找物体自身的关键点,去找物体公共的关键点,比如说我不去找物体的关键点,而是去找三维的bounding box的关键点,即8个角点。那么我只需要找这8个顶点在2维的图像上的对应的像素。也能够建立2D 到3D的对应关系。缺陷:它的关键点通常都不是落在物体的表面,那么在图像中去找对应点的时候,它的对应点往往也不是落在图像上,偏离物体一定的范围。
  3. 基于物体坐标的一种旋转估计,从二维图像出发,物体在图像上的每个像素点,去预测其在物体3维模型中的坐标。

http://chatgpt.dhexx.cn/article/S0Zf3sNH.shtml

相关文章

2023年7月江苏/北京/深圳CDGA/CDGP数据治理认证招生

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

CDSN发文章

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

CDC-ECM 和 RNDIS

HomeCategoriesTagsAboutFeed CDC-ECM 和 RNDIS Category: network Tags: network linux wifi ###1. USB-CDC USB协议中的的CDC类是USB通信设备类 (Communication Device Class) 的简称, CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中…

CDC

CDC CDC(clock domain crossing) 思维导图: 跨时钟域处理方法总结如下: 1、有关系的时钟之间传单bit数据,理论上只需要源数据保持足够长的时间(clk2的两个周期)即可; 2、无关系的时钟之间传单bit数据,必须要使用同步器; 3、不管有无关系的时钟进行单bit传输,脉冲同…

2023年3月全国DAMA-CDGA/CDGP数据治理认证招生简章

弘博创新是DAMA中国授权的数据治理人才培养基地,贴合市场需求定制教学体系,采用行业资深名师授课,理论与实践案例相结合,快速全面提升个人/企业数据治理专业知识与实践经验,通过考试还能获得数据专业领域证书。 DAMA认…

cdsn的code使用方法

今天无意间发现了csdn的code,刚好前两天因为校园网对github的限制苦恼,这下来了精神,迫不及待的尝试了一下! 网上搜了很多使用方法,在这里做个总结,感谢网上的各位贴友。 code感觉就是github的大陆版,各种功能都蛮像的,希望是一个经得起考验的版本控制器。 下面是方…

CDSN格式

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

CDSN使用教程

欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

Mysql中去重的语法_MySQL去重distinct

去重 在MySQL中需要查询表中不重复的记录时,可以使用distinct关键字过滤重复记录。 语法: select distinct [,...,] from ; 数据表如下: mysql> select * from emp; +-------+--------+------------+------+------------+------+------+--------+ | empno | ename | job …

mysql去重统计

第一种使用 DISTINCT 去重统计 SELECT COUNT(DISTINCT record_id) FROM assessment_record_date WHERE date_type 1 and DATE_FORMAT( the_date,%Y-%m) DATE_FORMAT(NOW(),%Y-%m) 结果是去重之后的总数量 第二种使用 GROUP BY 去重统计 SELECT COUNT(record_id) FROM a…

mysql查询去重后的总数

mysql 查询去重 建议以后给出列名、数据示例,这样我们写的SQL你可以粘贴运行~ SELECTDISTINCT表1.列2,表1.列1 FROM表1 WHERE表1.列2IN(SELECT列1FROM表2) 更多追问追答 谢谢你,我补充了一下,我想粘贴的多点,但是太多了…

mysql去重查询方法优化

前言 说起来开始进行面试是年前倒数第二周,上午9点,我还在去公司的公交上,突然收到蚂蚁的面试电话,其实算不上真正的面试。面试官只是和我聊了下他们在做的事情(主要是做双十一这里大促的稳定性保障,偏中间件吧),说的很详细,然后和我沟通了下是否有兴趣,我表示有兴趣…

Mysql去重查询---DISTINCT、group by

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 DISTINCT语法:关键词 distinct用于返回唯一不同的值。 表结构案例SELECT DISTINCT age FROM emp1SELECT DISTINCT age ,NAME FROM emp1SELECT DISTINCT * FROM emp1…

MYSQL去重方法汇总

表数据 备注: id: 任务id;name: 参与人name; 1:distinct 1.1 -- 根据任务ID去重 SELECT DISTINCT id FROM test;1.2 -- 任务总数 SELECT COUNT(DISTINCT id) FROM test;1.3 distinct 通常效率较低。它不适合用来展示去重后具体的值,一般与…

mysql 怎么去重2维数组,mysql去重查询

在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段&#xff…

MySQL去重查询只保留一条最新的记录

需求:MySQL去重查询只保留一条最新的记录 文章目录 易错的写法正确的写法-1正确的写法-2正确的写法-3 易错的写法 表结构与初始数据如下SQL文件: -- MySQL dump 10.13 Distrib 8.0.28, for Linux (x86_64) -- -- Host: localhost Database: test01…

MySQL去重查询

在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录, 实例: select distinct name,id from user;,这样的结果为: distinct name,id 这样的my…

mysql去重查询的三种方法

文章目录 前言一、插入测试数据二、剔除重复数据方法1.方法一:使用distinct2.方法二:使用group by3.方法三:使用开窗函数 总结 前言 数据库生成环境中经常会遇到表中有重复的数据,或者进行关联过程中产生重复数据,下面…

易基因|RNA m7G甲基化测序(m7G-MeRIP-seq)

N7-甲基鸟苷(N7-methylguanosine,m7G)是真核生物tRNA、rRNA和mRNA 5cap中最丰富的修饰之一。作为一种重要的表观遗传修饰,m7G RNA甲基化在基因表达、加工代谢、蛋白质合成、转录稳定等方面发挥着重要的作用,参与疾病发…

GeneXus学习(二)基本对象(持续更新)

GeneXus对象很多,笔者持续更新每个对象的用法 一、Transaction GeneXus中的Transaction是用于描述对象的模型。 英文描述: Describes an object or actor of reality, defining the structure of the database, business rules, and the UI for data…