OpenMMlab-相关项目概述(计算机视觉-学习笔记)

OpenMMlab

一、OpenMMlab概述

OpenMMlab是一个开源项目,主要面对深度学习时代计算机视觉算法的研发,提供一整套算法框架和工具体系。

  • 1架构:所有项目基于一致架构开发
  • 15+研究方向
  • 140+算法
  • 1200+预训练模型

总体架构

在这里插入图片描述

网址:OpenMMlab官方项目

二、Classification——关于图像分类网络结构的演化

  • AlexNet(2012):8层
  • VGGNet(2014):11~19层
  • GoogLeNet(2014):22层使用不同尺度的卷积核
  • ResNet(2015):18~152层引入跨层连接
  • DenseNet(2017):更复杂的跨层连接
  • SENet(2018):加入注意力机制
  • Vit(2021):visual transformer。在NLP领域兴起的新结构Transfomer,有很强的进行长距离的连续的捕捉的能力和学习的能力

三、Detection——目标检测

  • 无人驾驶汽车

在这里插入图片描述

  • 基本思想1:滑窗检测(sliding windows),设定一系列形状大小不同的窗口,用这些窗口扫过整张图片,对于每一个区域用图像分类模型识别其中的物体
  • 基本思想2:区域提议(region proposal),基于局部颜色或图像特征,一次性找出所有可能含有物体的区域
    • 基于区域的方法RCNN(2013),Fast RCNN(2014),Faster RCNN(2015),Faster RCNN+FPN(2016),Faster RCNN+FPN+ROIAlign(2017)
  • 基本思想3:直接基于特征图进行预测——一阶段算法
    • YOLO(2015-至今)
    • RetinaNet(2017)

四、Segmentation——语义分割

可以理解为对每一个像素进行分类

应用领域:无人驾驶汽车、遥感、医疗影像分析

  • 分割模型的进化
    • UNet(2015)
    • DeepLab(2015)
    • PSPNet(2016):获取上下文信息
    • DeepLab v3(2017)
    • HRNet(2020):加入Attention模块

五、Action——视频理解与行为识别

  • 行为识别——what:1. 识别视频片段中出现的动作 2. 进行视频的分类

    • a. 动作分类(之前做的CNN+LSTM)
  • 时序动作检测——when + what:在长视频中定位特定动作出现的时间段,并对动作进行分类

    • a. 时间段
    • b. 动作分类
  • 时空动作检测——where + when + what:识别并且定位视频中出现的人和动作。1. 时间段 2. 识别并定位视频中的人 3. 动作类型

    • a. 时间段
    • b. 识别并且定位视频中的人
    • c. 动作类型
  • 对于视频的理解

视频 = 空间 + 时间 = 外观 + 运动

其中,运动还包括帧间运动——光流

在这里插入图片描述

  • 与图像的区别:1. 多了时间维度 2. 在内容上反映了变化和运动

  • 发展历程

    (1)从手工特征到卷积网络(2014之前)

    • Dense Trajectories(2011) & Improved DT(2013):基于传统视觉方法构建运动特征,没有使用深度学习技术。

    • DeepViedo(2014):使用卷积网络,基于图像帧进行动作预测,并考虑融合帧间信息。

    (2)从单流到双流(2014之后)

    • 双流网络 Two Stream Networks(2014) :使用两个网络,一个分支用于捕捉外观的整体情况。另外一个分支用于捕捉运动和变化,该分支是通过一个卷积网络施加在光流场上去进行的。
      • 问题:视频的数据量非常大,如果对每一帧每一个时间点都要进行双流的计算处理,对内存的占用和计算代价都非常高。
    • 时序分段网络*Temporal Segment Networks(2016)*:给定一段长视频,不会立即对视频帧进行采样。会把视频分割成多个片段,每个片段去取少数帧来提取该段落的关键信息。对每个片段分别使用双流网络进行预测再融合。

    (3)大规模视频数据集出现(2017年之后)

    ​ 视频分析是数据密集型任务。在数据的推动下,基于3D卷积网络的方法逐渐取代基于2D卷积网络的方法称为主流。另一方面,长视频数据集(如Activity Net,HACS)逐渐出现,也推动了时序检测、时空检测等技术的发展。

    (4)从2D卷积到3D卷积(2017年之后)

    • I3D(2017):将2D卷积膨胀至3D卷积,即把双流网络拓展成一个三维的双流网络。再进行迭代优化。再Kinetics-400数据集上取得超越2D方法的进度。
    • SlowFast(2019):视频的整体的外观变化是缓慢和稳定的,但人的动作是比较高速的变化。所以提出用不同频率对外观和动作进行采样。基于低速采样(Slow)和高速采样(Fast)的图像帧流进行预测。
      • 问题:3D卷积有巨大的计算开销

    (5)压缩3D网络(2018之后)

    • S3D(2018) & R2 + 1D(2018):分解卷积核。将3D卷积核拆解为空间2D卷积核和时间1D卷积核。
    • CSN(2019) & X3D(2020):减少通道之间的连接,再通道维度引入分组卷积或者分层卷积。

    (6)更大的数据(2019年之后)

    • 视频领域相较于图像领域,再数据的获取和标注方面挑战更大。
    • 但是近年互联网有海量无标注视频。是否可以用无标注视频训练更好的模型(即半监督或者弱监督的方法)?是否可以用图像捕捉外观,用视频捕捉可变化的部分?

    (7)弱监督学习(2019年之后)

    • 在机器学习中,使用标注不全或者不准的数据进行学习的问题称为弱监督学习
    • Facebook的IG-65M,港中文的OmniSource

相关课程链接

OpenMMlab计算机视觉

猜你喜欢

转载自blog.csdn.net/weixin_61674495/article/details/125926973