Multi-path Learning for Object Pose Estimation Across Domains论文
论文链接:arxiv
解决什么问题
无监督的6Dpose估计,即使没有没见过的物体也能处理
本文创新点\贡献
- 作者提出了一个Multi-path的编码器结构,包含一个编码器和多个解码器,这个编码器可以学习公共特征,让所有的实例共享一个latent空间,这个编码器以view敏感的方式编码那些在训练期间没见过的对象视图,然后解码器是针对每个不同实例进行处理的
- 这种方法是无监督的,不需要标注数据,只需要用3D model来合成数据训练就行了,可以通过排除扰动的方式来弥补真实数据和合成数据之间的差异
前人方法
基于大量数据且特定实例,不灵活
本文IDEA来源
AAE [ Implicit 3d orientation learning for 6d object detection from rgb images ] 2018 ,提取实例级的物体表达特征
方法
方法概述
分成两阶段,初始化和微调:
- 初始化:假定现在有A类物体的model,用A类的model来训练MP编码器并且生成codebook,codebook存放target姿态的图像编码,MP编码器的输出可以称之为“code”,将code和codebook中的target视图作比较,取相似度的cosine分数最高的target视图为结果,该物体的初步pose就取自这个target视图。
- 微调:交替优化,因为MP编码器有位移不变性,所以优化旋转起手
原理和优点:
- MP编码器获得的是物体视图的方向的category不可知但外形依赖的描述符
- 在位置物体上的迭代微调,比DeepIM效果好
- 迭代微调还能消除离散误差,暗含一个latent code,能映射所有的SO(3)
Multi-Path Encoder-Decoder
功能:
解码器都是辅助编码器的, 为了能让编码器学的好,之后就可以舍弃解码器,只留下编码器,这个方法能学习到交叉表达、共享特征
编码器算是个基础backbone,每种类别的东西都能学一点
结构:
由一个编码器 z ∈ R 128 z\in R^{128} z∈R128,还有n个解码器 Λ j \Lambda_j Λj组成,其中 j = 1 , . . . , n j=1,...,n j=1,...,n,n是不同的物体形状数量
z就是解码器和数据增强合二为一
输入和输出:
输入也做了增强,异类batch B B B包含多种物体;输出的编码是分开的,每个解码器只接受对应物体shape的code。
loss:
L m ( B ) = ∑ j = 1 b ∑ k = 1 n I ( s j = k ) ∣ ∣ x j − Λ k ( z j ) ∣ ∣ 2 L_m(B) = \sum^b_{j=1}\sum^n_{k=1}\Iota(s_j=k)||x_j - \Lambda_k(z_j)||_2 Lm(B)=