OpenMMlab
一、OpenMMlab概述
OpenMMlab是一个开源项目,主要面对深度学习时代计算机视觉算法的研发,提供一整套算法框架和工具体系。
- 1架构:所有项目基于一致架构开发
- 15+研究方向
- 140+算法
- 1200+预训练模型
总体架构:
二、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
-