美文网首页
Marrnet 解读

Marrnet 解读

作者: hi_lan | 来源:发表于2018-08-20 14:18 被阅读0次

    marrnet是MIT 2018年发表在nips上的工作,由于最近基于这篇工作的基础上做一些应用, 所以写下我个人的一些理解。

    图片来自marrnet

    输入256*256 rgb,中间输出256*256 depth, normal,silhouette,最终输出128*128*128volume.

    (a) 2.5D Sketch Estimation, 是一个autoencoder的网络;

    (b)3D Shape Estimation, 依然是一个autoencoder的网络,这都没有什么可以说;

    (c)Reprojection Consistency,这是我想主要讲的地方。我们看一下这一步3D->2D的难点在哪里.

    一般我们做reprojection, 我们需要知道相机内参, 甚至是外参(如果物体在世界坐标系的话),加上这里生成的物体是用3D binary volume表示的,一个离散化的representation,只知道每个整数坐标,这种情况下,即使知道内参也无法做reprojection.  接下来我们看一下marrnet是如何克服以上这些问题的。

    1) 3D ground truth是在相机坐标系下的,也就是说,从3D CAD渲染数据的时候,需要记录相机的view,这样就可以将数据库中朝向一致的椅子转到相机坐标系下,;

    2) Volume 是128*128*128的,但是image是256*256的,做过reprojection的同学应该知道,仅依靠离散的3D点是不可能做到reprojection, 因为没有办法将voxel和pixel一一对应起来。论文没有说这里做了什么变换可以让voxel和pixel一一对应起来,我猜他们的操作是将256*256的image reshape 成128*128的图像,这样就一一对应起来啦. 

    3)另外就是深度,从volume这里来看深度,单位是一个voxel,voxel的坐标 (x,y,z)是整数,这里怎么对应depth上的深度值呢,因为我们理解的深度是在相机坐标系下的深度,以米为单位。但是marrnet depth image的深度值是[0,256]之间的整数,除以一下2就是[0,128]内的整数。这样就将128*128*128 volume 的深度和128*128 depth上pixel的深度一一对应起来啦,巧妙吧。

    对三个操作,render数据的时候,就相当于将CAD model 离散化成256*256*256的3D volume, 并且将128*128*128 3D ground truth转到相机view下,然后就是reshape, 为了完成reporjection以计算consistency loss, 将中间输出的depth,silhouette,normal image reshape成和volume 一样大的128*128 image。

    感谢marrnet作者小能手对我的帮助,为他打call

    相关文章

      网友评论

          本文标题:Marrnet 解读

          本文链接:https://www.haomeiwen.com/subject/sokciftx.html