2020年12月17日,商汤×TechBeat系列直播课—OpenMMLab第①期线上课程开播!课程主讲嘉宾是商汤科技研究副总监陈恺博士,他首先对 OpenMMLab 开源项目进行了整体介绍,包括现状、发展历程、总体架构及未来规划;随后逐个讲解了 OpenMMLab 项目的算法框架,并号召各位同学加入开源社区。
登陆将门-TechBeat社区网址,
搜索【OpenMMLab】即可观看直播回放~
以下是本期课程总结,真的不想让你错过这次课程,要好好看哦!
本系列直播课共4期,接下来的3期是OpenMMLab开源工具的教学课程,文末附有课程预告,请及时收藏喔!
更多商汤×TechBeat系列直播课
请锁定将门-TechBeat社区的B站直播间:
长按复制链接进入网页
或扫描二维码进入直播间
Part 1 项目概述
OpenMMLab 项目是基于一个统一架构、用于多个重要研究领域的开源的代码库。它涵盖了多个研究方向热点,算法覆盖也非常完善,共提供了超过一百种的先进算法。到目前为止,已开放超过一千个预训练模型供大家下载。
现 状
OpenMMLab 项目从2018年10月发布第一期,当时发布了 MMCV、MMDetection 这两个代码框架,迅速获得大量关注。2019年6月又发布了 MMAction,同时对 MMCV、MMDetection 进行重大升级;同年9月,有更多的工具包加入到 OpenMMLab 项目中,包括 MMSR、MMFashoin 和 MMSkeleton。
在今年7月的世界人工智能大会上,OpenMMLab 发布了重磅升级,涵盖多个新方向的算法库,包括语义分割框架、人体关键点检测框架、目标检测框架、新一代动作识别框架、图像和视频编程框架以及图像分类基础框架。
发展历程
OpenMMLab 的总体架构分成三个层面。首先,最底层是基于商汤资源的深度学习框架 SenseParrots 和目前最广泛使用的深度学习框架 PyTorch。在训练框架之上,开发了视觉基础库 MMCV,提供了公用算法以及一些底层算法模块和抽象训练接口。在视觉基础之上,开发了算法框架和数据集,目前已经开源了超过十五个算法库,并开放了超过四十个数据集。算法库包括有图像分类、语义分割、基于骨骼的动作分析、目标检测、图像和视频编辑、服饰分析、3D 目标检测、视频动作分析及人体关键点检测等。在未来,也会持续不断地丰富算法库使其更完全地覆盖。数据集包括 WIDER、FineGym、MovieNet、Placepedia 等等。
总体架构概览
目前 OpenMMLab 项目在社区已经形成了非常大的影响力。
社区影响力
为了给学术界提供高质量的代码框架,减少算法的复现难度,可以使用 OpenMMLab 作为一个科研平台来实现自己的一些 idea 和算法,同时缩短算法落地链条,促进产学打通。除了学术界之外,工业界也可以依托 OpenMMLab 打开一些业务的开展。目前在商汤内部还有一些其他公司都有非常多的成功案例。
接下来的发展规划将分成两个方面:技术迭代,生态建设。在技术迭代上,对算法库进一步规范化,提高算法库的标准化程度,并定义标准接口促进框架间的融合,提高开发者的开发体验,同时对基础的训练架构进行升级使其更灵活易用。在生态建设上,完善上下游的工具链,其中包括模型的推理部署、模型的转换部署、推理引擎和硬件支持,以及自动化的工具链。现在,OpenMMLab 也在积极同社区展开合作,践行全方位的合作共建,同时探索适合的运营机制。社区会有很多不同的硬件、数据集、场景和算法,这些都可以给 OpenMMLab 提供非常好的探索来源。
探索的运营机制
Part 2 算法框架介绍
1. MMDetection 目标检测框架
目标检测框架分为目标检测和实例分割。目标检测是用一个矩形框框住外边沿;实例分割除了框住外边沿之外,还需要对物体进行像素级别的分割。目标检测和实例分割都需要对物体的类别进行识别。
目前 OpenMMLab 目标检测框架框架在 GitHub 上已经超过 12800 stars,是目前最流行的目标检测框架之一,解决了 2700 个 issues,并应用于工业、科研及学术比赛。
所获成就及合作高校
特点 1:模块化设计,拥有单阶段检测器和双阶段检测器。
特点 2:算法丰富。检测器架构齐全,主干网络丰富,通用组件全面训练手段完善。
2. MMDetection3D 3D目标检测框架
这是前一个 2D 框架的拓展,在一个场景中检测出物体的 3D 框架。
四个特性:
1. 模块化设计,模型抽象化,方便替换组合各种模块;
2. 算法丰富,单模态和多模态检测算法,应用于室内和室外场景。比如室内的 ScanNetSUN RGB-D,室外的 NuScenseLyftKITTI,单模态的点云 3D 检测,单/双目 3D 检测,多模态的点云+图像等;
3. 高性能,分布式训练优化,速度远超同类框架;
4. 集成拓展 MMDetection,作为拓展组件,无缝兼容 MMDetection 中所有模型。
3. MMSegmentation 语义分割框架
语义分割对每个像素要给它一个不同类别的预测,对整个像素点都有不同的 level,可以划分成道路、车辆、植物这些不同的图层。
图像示意
三大特性:
1. 模块化设计:配置简便,容易拓展。
如图所示,首先有一个 Backbone,经过一个 Neck(可选),随后经过 Decode Head,最后得到语义分割的预测结果。除了 Decode Head 之外,在外面加一个 Auxiliary Head 来支持更丰富的任务训练。
2. 统一超参:大量消融实验,支持公平对比。
注意⚠️,这三篇论文均有公开代码。虽然论文报告的性能是算法 A 优于算法 B 优于算法 C,但是在看了所有 setting 后很难下结论哪个更好用。于是我们做了很多对比实验,最后确定了对所有算法相对比较优的一个参数,确定了一个基础 setting。
参数设置
3. 算法丰富:20+ 算法支持 200+ 预训练模型。
4. MMClassification 图像分类框架
1. 提供多样模型结构支持:提供 9 种主流模型结构;
2. 丰富的训练技巧:提供多种常见的训练技巧,如标签平滑等;
3. 大规模训练的配置:探索集群训练并行;
4. 高效率和高拓展性:接口的设计考虑下游任务,易于拓展。
5. MMAction2 视频理解框架
包含多个子任务,如行为识别、时序动作检测、时空动作检测。
任务图示
支持算法多种算法、数据集、模型库,拥有更快的训练速度和多解码方式支持。
图片
所支持的数据集
可以看到 MMAction2 训练速度最快,占有比较明显优势
6. MMPose 人体姿态估计框架
从维度分为2D/3D,从格式分为图像/视频,从表现形式分形状/关键点,从部位分全身/人脸/人手。
分类图示
最常见的两类方法:
1. 自顶向下,首先对给定的图片输入进行人体检测,然后在人体框内部进行单人姿态估计。
2. 自底向上,首先对全图进行关键点检测,然后将所有关键点进行聚类来得到不同的例子。
支持方法示意,上为自顶向下,下为自底向上
支持的算法模型
7. MMEditing 图像视频编辑框架
MMEditing 是首个多任务底层视觉算法库,支持多个 low level 的任务,包括图像修复、超分辨率、抠图、图像生成。将这些集合在一个框架内,为 low level 的研究者带来了很大便利。
任务一:图像修复
修复图像中的受损区域。支持很多算法,如 Global&Local;、Partial Conv、Deepfill v1、Deepfill v2。应用在去除水印、消除人像、视频修复。
任务二:抠图
对图片中已知区域做精细化分割。支持算法:Global&Local;、Partial Conv、Deepfill v1、Deepfill v2等算法。应用在去除水印、消除人像、视频修复。
任务三:超分辨率
从低分辨率到高分辨率图像或者视频的生成。支持七种算法,如 SRCNN、EDSR、SRResNet、SRGAN、ESRGAN、TOF、EDVR。应用于低功耗图像传感器、图像编辑。
任务四:图像生成
图像生成支持的是一个 conditional 的图像生成,目标是生成符合实验的真实图片。支持 Pix2Pix、CycleGAN 算法。应用在图像编辑、风格转换。
剧透一下,新的算法框架即将到来👏!(偷偷告诉你,在后面三期的公开课中会有讲到哦~课表附在 Q&A; 后)
1/自己修改网络需要重新编译吗?
通常来讲是不需要的,现在按官方教程是本地安装,任何代码修改都即时可见。
2/能否以 MMDection 为例简单介绍下训练自己模型的流程?
比较推荐开放流程。如果大家想基于 OpenMMLab 想开放一个自己的算法,建议将 MMDetection 和 MMSegmentation 作为一个基础依赖库,可以将注册器 import。新建几个文件,如果自己有一些数据集可以注册进来,然后在 config 文件里直接进行调用。
3/学术届有新的框架提出后,OpenMMLab 需要多久进行更新?
OpenMMLab 的开发是一个非常开放的过程,这也是发布英雄帖的目的。不仅是团队的小伙伴夜以继日地完善,也希望和学术界的研究者或工业界的开发者一起合作,维护各个项目。
4/像 Open 库的相互兼容性,除了 MMDetection 和 MMDetection3D,还有什么?
最终目的是希望实现整个项目的兼容,虽然目前还没有非常完善。MMPose 和 MMDetection 也有一定的兼容和依赖性关系。
比如,如在 MMPose 里调用 MMAction2 和 MMDetection,在 MMSegmentationtion 调用 MMClassification,都是可以做到。
Part 4 课程预告
后续的三期公开课,我们还邀请了 codebase 的核心开发同学,手把手教大家用每一个项目。课表放这里啦!
快长摁收藏,不然就找不到了/🤔
锁定将门-TechBeat社区的B站直播间:
长按复制链接进入网页
或扫描二维码进入直播间
一起学“废”叭~
点击查看往期直播预告:
商汤×TechBeat系列直播课:OpenMMLab●●
OpenMMLab火热来袭!
OpenMMLab开源工具使用教学(一)
扫码观看!
本周上新!
关于我“门”
将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。
将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。
如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:
点击右上角,把文章分享到朋友圈
扫二维码|关注我们
微信:thejiangmenbp@thejiangmen.com
点个“在看”,分享好内容