读SMR 三维重构 您所在的位置:网站首页 三星家族女儿嫁给保安是哪一集 读SMR 三维重构

读SMR 三维重构

#读SMR 三维重构| 来源: 网络整理| 查看: 265

文章题目:Self-Supervised 3D Mesh Reconstruction from Single Images 链接:https://openaccess.thecvf.com/content/CVPR2021/papers/Hu_Self-Supervised_3D_Mesh_Reconstruction_From_Single_Images_CVPR_2021_paper.pdf 作者:Tao Hu, Liwei Wang, Xiaogang Xu, Shu Liu, Jiaya Jia 代码:

What: 输入mask后的2D图像生成 3D mesh (类似meshRCNN也是这样),不需要gt的3D监督(像pixel2mesh); 类似pixel2mesh 是在一个椭圆mesh上做变形得到最后结果的; 作者提出了一个问题: if it is possible to achieve 3D attribute-level reconstruction only with 2D annotation. 主要还是希望少用监督,达到类似结果。 Category-specific 3D mesh 所以训练中用了鸟类的类别? 还是说 鸟 只能做鸟?(答:鸟只能做鸟) 跑了 ShapeNet, BFM (这个可以做2D supervised 和 unsupervised 重构 )和 CUB。 不需要template , camera 参数预测 和 part parsing 读前疑问:

keypoints是类似很早之前vgg 的unsupervised 方法么,类似first order 中的方法? 怎么实现的?

答:直接用的椭圆初始化mesh的顶点作为keypoint。 How: 结构:

1.3D属性包含: 相机参数,形状,纹理和光照。这4个都是后面需要用网络做预测的。 2. 在2D监督层面,重构的模型 需要能 投影回 2D图像。 3. 在3D监督层面,如论文图一,提出了两个consistency的 loss,分别是 Interpolated Consistency 和 Landmark Consistency。 4. 对于 Interpolated Consistency, 差值以后的3D参数 还可以渲染,来做监督。可能后续要求一些 self-supervised loss在 interpolated mesh上(可能还是GAN的loss?答:代码里有用到GAN,但是文章里没写 )。 5. 对于 Landmark Consistency, 会做一个 landmark的 classification,看图是 引入一个额外的 UNet,区分关键点顺序,预测是哪一个关键点。(可能用的是一个语义分割网络? 直接用的就是keypoint 的 index )。 6. Encoder包含4个自网络,分别是 Camera pos预测, light预测, shape预测 和 texture预测。其中 只有 Texture是 UNet的样子其他都是正常的预测几个参数的那种降采样网络。 7. 有 V个顶点 ,每个顶点有一个 3Channel deter 构成了 S,这个S就是 xyz 坐标? 8. 纹理特征用的是 UV map,注意这个 UV map 还是 HW3, 其实就是把每个部件的位置做了移动。 9. 相机参数 包含 distance,azimuth(水平的偏角),Elevation(垂直偏角) 。 在这里插入图片描述

光照方面用的是 Spherical Harmonics 这个需要对着render确定 。目前只要知道 是一个向量。 所以 当我们知道了 C,L,S ,T 其实就可以render出一个3D模型了。(读者按:这边 vn 这种法向量 还是没有讨论到?)而这个3D模型可以再投影回2D得到 图像Ir,和mask Mr。 如果我们重新思考的话, camera 这种信息还是需要背景+前景的,光照也是需要背景信息的; 而Shape 和 Texture 只需要前景。 这边预测 azimuth的时候 回归了 两个值,用来 atan, 为了方便模型回归。相比 e的话 估计直接就用 0,1 来弄了。 shape encoder 是来预测 相对球形mesh的位移,而不是直接回归形状。 texture encoder 也不是直接预测 UV map的,而是预测 2D flow map,完了用spatial transformation移动过去的 。 2D 重构 Loss (Section 3.3.1) 最基本的 如果有渲染的参数 可以直接 监督 A和 A_{gt} ,如 Eq3 ; 没有的话,我们可以再投影回 2D 如 Eq4, 看看重构的效果; 具体来说 这个 2D的重构损失有两部分,一部分是前景L1损失(Eq5),一部分是针对mask 有损失,用的是IoU loss (Eq6)。 差值连续性 Loss (Section3.3.2) Eq 8 给我的感觉是 类似 cyclegan 和 munit, Render就是Decoder,但是有一个区别,这个 Render是没有参数的。 要求 E(R(E(X)) 和 E(x) 一样。 Eq8 只是最基本的,其实就是Eq11 不差值的版本。 这一段讨论了一下 每个参数如何差值。Fig4 比较好地展示了效果。 alpha的取值是random 采样的,按照之前mixup的经验 可以试试训练的时候用 beta分布。 坐标连续性 Loss (Section3.3.3) 这边就是一个分类网络 每个像素 预测 是第几个顶点, 如公式 12 里面有一个 vk 代表 这个顶点 是不是可以被看到,我在想 是直接用了 mask 还是根据depth( z坐标) 来判断 。 感觉上用depth 更合理 需要注意的是 网络的 输入 是 图像 不是 mesh。 PCK 指标 有不同的metric,常用的是如果关键点和检测到的点 距离小于 150mm 就算答对了。 不过我有个concern,如果点多了,是不是 PCK指标就自然更高一些。 本文会预测 642个关键点。 而原始cub数据集应该没有标注那么多。 参数分配上

2D重构给的权重为 10 , IC的权重是 1, LC的权重是 0.1

和代码里不一致。代码里 2D重构给的权重为 1 , IC的权重是 0.1, LC的权重是 0.001 相对来说 LC更小 。

可能缺陷

相比CMR 感觉鸟的脚 很难出现。其他都OK。可能还是 CUB的问题?看 Fig7的 马 啊 牛啊 还OK。

最后最后,也欢迎大家可以check我的一些其他文章,感谢~比心。

郑哲东:【新无人机数据集】从 行人重识别 到 无人机目标定位

郑哲东:TOMM | 用CNN分100,000类图像

郑哲东:IJCV | 利用Uncertainty修正Domain Adaptation中的伪标签

Pytorch有什么节省显存的小技巧?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有