<论文阅读>Canonical Surface Mapping via Geometric Cycle Consistency
Contribution
- 利用三维Template做为中介,弱化了实现稠密的,准确的多张图片对其所需的监督条件。
- 已有的图片到图片,图片到三维模型的映射关系的形成工作,不外乎依赖于人工手动标记对应点或者按照某些形变规则,将形变施加于图片A获得图片B,从而获得了A,B之间的对应关系。这些方法对于光照,角度等变量的鲁棒性较弱。
Method
- Preliminaries
作者利用两个参数将三维template平面化,
作者定义
- Geometric Cycle Consistency Loss
上面这个就是作者提出的一致性Loss,很好理解,就是像素
- Incorporating Visibility Constraints
由于相机视角的原因,任何物体都会存在一个自遮挡的问题,而这个问题在预测图片稠密映射时就会产生一定的干扰。比方说,从正面看过去,一只鸟类的喙很有可能与其尾巴处于一条线上,所以当投影至二维像平面式,尾巴上某点就会被喙给遮挡。在这种情况下,如果映射关系预测网络将图片上的喙映射在三维template的尾巴上,最后投影回像平面计算
其中
- Mask Re-projection Loss & Multi-Hypothesis Pose Prediction
作者为了彻底摆脱对基准相机参数的需求,又新增了一个网络局部最小解(local minima)
,作者利用预测多个相机参数来达到这个目的。最后,作者使用一个约束来指导相机参数
其中
最后,总的约束函数为:
网络结构如图所示,对于2D-3D的映射关系预测,作者是利用一个U-Net结构(红色标注),输出为[:,:3,:,:]
表示的是预测的三维坐标。[:,3,:,:]
表示的是预测的mask
。ResNet18
提取图片特征,接着送入FC
层预测相关相机参数。作者在相机参数的预测网络上,有很多设定还是十分有趣的,有兴趣可以找来看下。
- 大致映射
之所以论文里提到approximate
这个词呢,是因为,从代码上来看,2D pixel to 3D vertex
的映射并不一定是在template mesh上,对于网络输出的一对UV坐标(u,v),作者首先是找到离这对坐标最近的面片是哪一个,接着计算该点关于这个面片的重心坐标(barycentric coordinate),最后根据重心坐标和面片三个顶点的位置坐标,得到最终的3D坐标,同时也确保了这个坐标在template mesh上。可以想象一个四面体(A-BCD),网络预测的3D坐标可能是A点,那么作者就是找到A点在BCD上的对应点。
Experiments
咋一看结果挺好,但是不知道作者为什么没有把CMR带基准相机参数的评测结果放出来,从消融实验的结果来看,在不利用预测相机参数的情况下,CSM结果并没有比不使用预测相机参数的CMR好太多,甚至在cars
类别上的评分还低些