Lite-Mono(CVPR2023)论文解读
Lite-Mono: A Lightweight CNN and Transformer Architecture for Self-Supervised Monocular Depth Estimation 是CVPR2023收录的论文,从它的标题能很清晰了解到它所在的领域或解决的问题是:自监督的单目深度估计;它的网络结构是轻量化的卷积和Transformer的混合结构。
解决的问题
大多数的研究都是往提高任务的准确率,这必然造成所设计的网络更注重准确率,使网络的体积或计算量大幅提高,这使在边缘终端上使用的可能性越来越小。本文针对自监督的单目深度估计,探讨在控制网络参数量的同时保持或提高准确性。
主要贡献
1. 在自监督的单目深度估计方面,降低网络的参数量和运算量,同时提升了准确率。提高在边缘终端上使用的可能性。
相关研究
1)监督的深度估计
[1] Depth map prediction from a single image using a multi-scale deep netwrk. (NeurIPS2014)
[2] Deeper depth prediction with fully convolutional residual networks. (3DV2016)
[3] Deep ordinal regression network for monocular depth estimation. (CVPR2018)
2)自监督的深度估计
[4] Unsupervised cnn for single view depth estimation: Geometry to the rescue. (ECCV2016)
[5] Unsupervised monocular depth estimation with left-right consistency. (CVPR2017)
[6] Unsupervised learning of depth and ego-motion from video. (CVPR2017)
[7] Digging into self-supervised monocular depth estimation. (ICCV2019)
3)这方面的网络架构
[8] Self-supervised monocular depth estimation with internal feature fusion. (2021)
[9] R-msfm: Recurrent multi-scale feature modulation for monocular depth estimating. (ICCV2021)
[10] Transformers in self-supervised monocular depth estimation with unknown camera intrinsics. (2022)
[11] Vision transformers for dense prediction. (ICCV2021)
[12] Monoformer: Towards generalization of self-supervised monocular depth estimation with transformers. (2022)
[13] Monovit: Self-supervised monocular depth estimation with a vision transformers. (3DV2022)
[14] Mpvit: Multi-path vision transformer for dense prediction. (CVPR2022)
解决方案和关键点
1)网络结构

作者的工作主要在DepthNet上,PoseNet是一直沿用ResNet-18的方案(从 [7] 之后没有改变)。
DepthNet是4-Stage结构,每个Stage进行1/2分辨率的下采样(新的特征图是原来的1/4),这是比较常规的做法,另一种是5-Stage,考虑到是轻量化的工作,选择5-Stage的可能性更小(参数量和计算量)。在Encoder里另一个特别的做法是Stage-1与Decoder没有连接,与常见的类UNet结构有些区别,估计也是为了轻量化考虑。
Encoder一共4个创新点:
1. CDC Block;
2. LGFI Block;
3. Pooled Concatenation;
4. Cross-Stage Connction.
2)Consecutive Dilated Convolutions (CDC)

CDC主要由三部分组成:3 x 3的空洞深度可分离卷积和两层全连接。作者提到与之前的空洞卷积通常在并联使用,而这里会串联使用,简单说,每个CDC Block的Dilation值可能配置不一样,这使CDC的感受野有所区别,增加抓取特征的多样性。使用深度可分离卷积(MobileNet v1)是轻量化手段之一,但同时也会弱化网络的表现能力。为了解决这个问题,depth-wise卷积通常连接着point-wise卷积,从作用上等效普通的卷积层。作者在这里没有使用point-wise,而是在通道(channel)上使用全连接,变相达到point-wise效果并且进行channel膨胀。再由最后一层全连接投影回原通道,从结构上有点深度可分离卷积接传统MLP的味道,但参数量更少。
3)Local-Global Features Interaction (LGFI)

LGFI主要由两部分组成:自注意力模块和MLP。两部分都没有什么特别的地方,Transformer模块本身不会增加很多参数量,它的消耗主要在计算量上,所以作者在Stage-2 到 Stage-4,每个Stage只使用一个LGFI。把全局关联性作为一个补充,而不是主要。
4)Pooled Concatenation
在Stage-2 到 Stage-4的输入端增加3个原图下采样的特征,3个特征图分别是R,G,B,而下采样的方式是平均池化。由于从原图直接平均池化到目标分辨率会引起大量细节丢失,所以作者使用多次1/2平均池化的做法。相比较每个Stage的输入通道数,Pooled Concatenation所提供3个通道的影响比较有限,从消融实验中能看出来。
5)Cross-Stage Connection
在Stage-3和Stage-4的输入端,除了上一个Stage的输入之外,增加上一个Stage的“生图”。由于每个Stage的通道数是固定的,所以下一个Stage的输入通道数成倍增加,应该是从增加特征多样性上考虑。但从消融实验中能看出来,它的作用不是太大。
6)网络配置

作者提供了4种不同的网络配置,最小只有2.0M参数量,比现在一般的网络都小得多,能为不同的边缘终端选择合适的配置。
总结
在实验部分可以看到本网络结构在参数量、计算量和准确率均比之前的网络有所提高,主要还是得益于CDC和LGFI。实验部分我没有谈到,如果需要的话,可以补充上去。
Transformer模块在视觉上的使用都得到广泛的认可,它主要还是计算量方面的损耗比较大,但在小尺寸特征图上的损耗没这么突出,所以在Stage-4里可以尝试使用更多的Transformer模块。
Lite-Mono(CVPR2023)论文解读的更多相关文章
- itemKNN发展史----推荐系统的三篇重要的论文解读
itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...
- CVPR2019 | Mask Scoring R-CNN 论文解读
Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...
- AAAI2019 | 基于区域分解集成的目标检测 论文解读
Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...
- Gaussian field consensus论文解读及MATLAB实现
Gaussian field consensus论文解读及MATLAB实现 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.Introduction ...
- zz扔掉anchor!真正的CenterNet——Objects as Points论文解读
首发于深度学习那些事 已关注写文章 扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 关注他 JustDoIT 等 ...
- NIPS2018最佳论文解读:Neural Ordinary Differential Equations
NIPS2018最佳论文解读:Neural Ordinary Differential Equations 雷锋网2019-01-10 23:32 雷锋网 AI 科技评论按,不久前,NeurI ...
- [论文解读] 阿里DIEN整体代码结构
[论文解读] 阿里DIEN整体代码结构 目录 [论文解读] 阿里DIEN整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x04 模型基类 4.1 基本逻辑 ...
- 【抓取】6-DOF GraspNet 论文解读
[抓取]6-DOF GraspNet 论文解读 [注]:本文地址:[抓取]6-DOF GraspNet 论文解读 若转载请于明显处标明出处. 前言 这篇关于生成抓取姿态的论文出自英伟达.我在读完该篇论 ...
- 《Stereo R-CNN based 3D Object Detection for Autonomous Driving》论文解读
论文链接:https://arxiv.org/pdf/1902.09738v2.pdf 这两个月忙着做实验 博客都有些荒废了,写篇用于3D检测的论文解读吧,有理解错误的地方,烦请有心人指正). 博客原 ...
- 注意力论文解读(1) | Non-local Neural Network | CVPR2018 | 已复现
文章转自微信公众号:[机器学习炼丹术] 参考目录: 目录 0 概述 1 主要内容 1.1 Non local的优势 1.2 pytorch复现 1.3 代码解读 1.4 论文解读 2 总结 论文名称: ...
随机推荐
- 推荐两个AI神器:ChatGPT只需1个标题,2分钟全自动生成PPT!
今天给大家分享两个工具,帮助你全自动生成PPT,接下来以自动化测试为主题,教大家如何2分钟生成好PPT. 1.第一个工具:ChatGPT 1.打开ChatGPT页面,输入prompt,告诉它,让它帮你 ...
- Vue的生命周期的详解
Vue的生命周期 Vue的生命周期是每个使用Vue框架的前端人员都需要掌握的知识,以此作为记录. Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生 ...
- API 扫盲贴,8分钟快速搞懂 API 框架
API(应用程序编程接口)是一种传递信息和指令的工具,它通过不同的功能和协议等手段,允许不同的软件或系统之间进行通信和交互.作为程序员或开发人员,API 是你日常工作中必不可少的组成部分.在本文中,我 ...
- Spring之AOP理解及使用
文章目录 AOP是什么 AOP Spring的通知类型 1.Before通知 2. AfterReturning通知 3.AfterThrowing通知 4. After通知 5. Around通知 ...
- 【由浅入深学MySQL】- MySQL连接查询详解
本系列为:MySQL数据库详解,为千锋教育资深Java教学老师独家创作 致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解.如果感觉对大家有帮助的话,可以[点个关注]持续追更~ ...
- 在使用abaqus时可能会遇到的一些问题
我收集了一些网友及客户在使用abaqus软件时遇到的一些问题,下面来看看是如何解决的~ (1)Linux平台使用Abaqus子程序的免费方案 gcc+gfortran 本方法在centos7和cen ...
- R 包初学者指南
由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 基于 11 个最常见的用户问题介绍 R 软件包. R 包是由社区开发 (developed b ...
- STM32F429 Discovery开发板应用:实现SPI-SD Card文件写入(搭载FatFS文件系统)
MCU:STM32F429ZIT6 开发环境:STM32CubeMX+MDK5 外购了一个SPI接口的SD Card模块,想要实现SD卡存储数据的功能. 首先需要打开STM32CubeMX工具.输入开 ...
- 解决org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource **/**/dao/**Mapper.xml问题
1. 问题分析 出现此问题的原因是资源过滤的问题,编写在DAO包中的XML文件没有被打包. 2. 解决方案 在pom.xml文件中加入如下资源过滤: <!-- 静态资源导出问题 --> & ...
- [C#] FFmpeg 音视频开发总结
为什么选择FFmpeg? 延迟低,参数可控,相关函数方便查询,是选择FFmpeg作为编解码器最主要原因,如果是处理实时流,要求低延迟,最好选择是FFmpeg. 如果需要用Opencv或者C#的Emgu ...