2020CVPR
主要贡献:
新的网络结构:packnet
新的损失:将相机速度引入到损失函数
新的数据集:更精准
新的网络结构:packnet
新的网络结构提出的目的是为了解决传统编码(如resnet)会导致分辨率降低的问题。降低后的特征图恢复到原始大小会失去某些细节。packnet使用的pack block中有3d卷积。并且作者用一组实验证明没有pooling层的加入会提高重建的性能。
作者表达的意思是pooling的使用,会导致恢复重建变得困难。但是作者只用了一层block来做实验。会不会随着深度的加深,pooling的对分辨率的影响就会减弱?以resnet举例子,他只在第一次下采样使用了pooling,那么这个pooling层去掉,其达到的效果会不会和packnet的效果相差无几。
既然可以在CVPR被大多数专家认可,就说明作者的思路是新颖的,为编码解码结构的缺点提出了一个新的解决方案,特别是在图像重建的问题上,即pooling层的引入对分辨率的影响如何解决。作者提出的思路是不用pooling,而使用卷积来替代,不仅是2d卷积,包括3d卷积,因为3d卷积可以将channel之间的特征联系也作为考虑因素。
新的损失:将相机速度引入到损失函数
作者的思想是使用sfm(structure from motion)的思路来重构图像,这是目前自监督方法采用的策略,如下。
作者自监督的方法不但要考虑深度的估计,同时也考虑相机的姿态。自监督存在一个问题,就是缩放的问题。原文:the scene depth and the camera ego-motion can only be estimated up to an unknown and ambiguous scale factor. 大意是深度和相机姿态之间存在一个不知道的缩放因子,这个因子在测试阶段需要调整。作者为了解决这个问题引入了相机速度作为监督量。如下:
t是预测的平移量,速度v与采样时间T相乘即平移量。他们之间的差值在理想情况下为0。这样的解决方式令平移量接近真实值,那么这个缩放因子就不需要了。
效果
从下面的效果图可以看出,packnet和monodepth2的效果接近,优于其他算法。monodepth2现在可以说是深度估计领域的标杆算法,该组的monodepth1也十分优秀。
packnet的定量表现确实有一定的提高,但是没有达到惊喜的程度。
由下图可以看出,相同参数量时候,在高分辨率下,packnet表现更好。随着参数量的增加,packnet的精度比resnet上升空间更大。
总结
新的算法,新的损失,更优的性能。
作者提出的网络结构比较新颖,避免了pooling的缺点。这点表现在随着参数量的增加,packnet表现比resnet上升的快。说明网络的重构图像能力变强。
新的损失函数的引入确实解决了缩放因子的问题,但是也引入了一个新的监督量。这个监督量的引入使得自监督变得的有监督了,或者说混合监督。
算法表现优异,没的说。
如果我是评委,我也会给这篇论文录取,但是达不到very good的程度。