OpenMMLab开营笔记

news2025/1/10 17:10:40

摘要

很高兴能加入OpenMMLab AI实战营,成为第二期4班的一名学员。OpenMMLab经过几年的发展和沉淀,其开源项目已经覆盖到计算机视觉的各个领域。OpenMMLab 为香港中文大学-商汤科技联合实验室 MMLab 开源的算法平台,不到两年时间,已经包含众多 SOTA 计算机视觉算法。
在这里插入图片描述
OpenMMLab 为香港中文大学-商汤科技联合实验室 MMLab 开源的算法平台,到目前为止,已经包含众多 SOTA 计算机视觉算法。
在这里插入图片描述
今年,很多的新算法也是在OpenMMLab的算法库上实现的,比如SeaFormer。在巨人的肩膀上,我们可以很方便的实现自己的算法,也可以将主干网络迁移到下游任务。

OpenMMLab的部署框架包括:MMDeploy。
OpenMMLab的算法框架包括:MMPretrain,MMDetection,MMDetection3D,MMRotate,MMsegmentation,MMPose,MMAction2,MMOCR,MMagic,MMYolo,MMFlow,MMTracking,MMHuman3D,MMFewshot等等,共有30多种的算法库。
视觉基础库:MMCV,MMEngine。
接下来,我们一起去了解OpenMMLab的各个算法库吧!
在这里插入图片描述

MMDetection:目标检测工具箱

在这里插入图片描述
MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 OpenMMLab 项目的一部分。是目前应用最广的算法库

主分支代码目前支持 PyTorch 1.6 以上的版本。代码链接:https://gitee.com/open-mmlab/mmdetection。

主要特性

  • 模块化设计。MMDetection 将检测框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的检测模型

  • 支持多种检测任务。MMDetection 支持了各种不同的检测任务,包括目标检测,实例分割,全景分割,以及半监督目标检测。

  • 速度快。基本的框和 mask 操作都实现了 GPU 版本,训练速度比其他代码库更快或者相当,包括 Detectron2, maskrcnn-benchmark 和 SimpleDet。

  • 性能高。MMDetection 这个算法库源自于 COCO 2018 目标检测竞赛的冠军团队 MMDet 团队开发的代码,我们在之后持续进行了改进和提升。 新发布的 RTMDet 还在实时实例分割和旋转目标检测任务中取得了最先进的成果,同时也在目标检测模型中取得了最佳的的参数量和精度平衡。

除了 MMDetection 之外,我们还开源了深度学习训练库 MMEngine 和计算机视觉基础库 MMCV,它们是 MMDetection 的主要依赖。

下面的链接是我使用MMDetection实现的算法以及效果。
https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/124647370

MMOCR:全流程文字检测识别理解工具包

在这里插入图片描述
MMOCR 是基于 PyTorch 和 mmdetection 的开源工具箱,专注于文本检测,文本识别以及相应的下游任务,如关键信息提取。 它是 OpenMMLab 项目的一部分。

主分支目前支持 PyTorch 1.6 以上的版本。

代码链接:https://github.com/open-mmlab/mmocr
在这里插入图片描述

主要特性

  • 全流程。该工具箱不仅支持文本检测和文本识别,还支持其下游任务,例如关键信息提取。

  • 多种模型。该工具箱支持用于文本检测,文本识别和关键信息提取的各种最新模型。

  • 模块化设计。MMOCR 的模块化设计使用户可以定义自己的优化器,数据预处理器,模型组件如主干模块,颈部模块和头部模块,以及损失函数。有关如何构建自定义模型的信息,请参考概览。

  • 众多实用工具。该工具箱提供了一套全面的实用程序,可以帮助用户评估模型的性能。它包括可对图像,标注的真值以及预测结果进行可视化的可视化工具,以及用于在训练过程中评估模型的验证工具。它还包括数据转换器,演示了如何将用户自建的标注数据转换为 MMOCR 支持的标注文件。

MMDetection3D: 新一代通用 3D 目标检测平台

-MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱, 下一代面向3D检测的平台. 它是 OpenMMlab 项目的一部分,这个项目由香港中文大学多媒体实验室和商汤科技联合发起.
在这里插入图片描述

代码链接:https://gitee.com/open-mmlab/mmdetection3d

主要特性

  • 支持多模态/单模态的检测器。支持多模态/单模态检测器,包括 MVXNet,VoteNet,PointPillars 等。

  • 支持户内/户外的数据集。支持室内/室外的3D检测数据集,包括 ScanNet, SUNRGB-D, Waymo, nuScenes, Lyft, KITTI。对于 nuScenes 数据集, 我们也支持 nuImages 数据集。

  • 与 2D 检测器的自然整合。MMDetection 支持的300+个模型 , 40+的论文算法, 和相关模块都可以在此代码库中训练或使用。

  • 性能高。训练速度比其他代码库更快。

在这里插入图片描述

MMRotate: 旋转框检测工具箱

在这里插入图片描述
MMRotate 是一款基于 PyTorch 的旋转框检测的开源工具箱,是 OpenMMLab 项目的成员之一。

主分支代码目前支持 PyTorch 1.6 以上的版本。
代码链接:https://gitee.com/open-mmlab/mmrotate

主要特性

  • 支持多种角度表示法。MMRotate 提供了三种主流的角度表示法以满足不同论文的配置。

  • 模块化设计。MMRotate 将旋转框检测任务解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的旋转框检测算法模型。

  • 强大的基准模型与SOTA。MMRotate 提供了旋转框检测任务中最先进的算法和强大的基准模型.

在这里插入图片描述

MMSegmentation: 语义分割工具箱

在这里插入图片描述
MMSegmentation 是一个基于 PyTorch 的语义分割开源工具箱。它是 OpenMMLab 项目的一部分。

main 分支代码目前支持 PyTorch 1.6 以上的版本。
代码链接:https://gitee.com/open-mmlab/mmsegmentation

在这里插入图片描述

主要特性

  • 统一的基准平台。我们将各种各样的语义分割算法集成到了一个统一的工具箱,进行基准测试。

  • 模块化设计。MMSegmentation 将分割框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的分割模型。

  • 丰富的即插即用的算法和模型。MMSegmentation 支持了众多主流的和最新的检测算法,例如 PSPNet,DeepLabV3,PSANet,DeepLabV3+ 等.

  • 速度快。训练速度比其他语义分割代码库更快或者相当。
    在这里插入图片描述

MMPretrain:预训练开源算法框架

MMPretrain 是一个全新升级的预训练开源算法框架,旨在提供各种强大的预训练主干网络, 并支持了不同的预训练策略。MMPretrain 源自著名的开源项目 MMClassification 和 MMSelfSup,并开发了许多令人兴奋的新功能。 目前,预训练阶段对于视觉识别至关重要,凭借丰富而强大的预训练模型,我们能够改进各种下游视觉任务。
代码链接:https://github.com/open-mmlab/mmpretrain/blob/main/README_zh-CN.md
在这里插入图片描述

在这里插入图片描述

主要特性

  • 支持多样的主干网络与预训练模型
  • 支持多种训练策略(有监督学习,无监督学习,多模态学习等)
  • 提供多种训练技巧
  • 大量的训练配置文件
  • 高效率和高可扩展性
  • 功能强大的工具箱,有助于模型分析和实验
  • 支持多种开箱即用的推理任务
    • 图像分类
    • 图像描述(Image Caption)
    • 视觉问答(Visual Question Answering)
    • 视觉定位(Visual Grounding)
    • 检索(图搜图,图搜文,文搜图)

在这里插入图片描述

MMPose: 姿态估计工具箱

在这里插入图片描述
MMPose 是一款基于 PyTorch 的姿态分析的开源工具箱,是 OpenMMLab 项目的成员之一。

主分支代码目前支持 PyTorch 1.6 以上的版本。

代码链接:https://gitee.com/open-mmlab/mmpose

主要特性

  • 支持多种人体姿态分析相关任务。MMPose 支持当前学界广泛关注的主流姿态分析任务:主要包括 2D多人姿态估计、2D手部姿态估计、2D人脸关键点检测、133关键点的全身人体姿态估计、3D人体形状恢复、服饰关键点检测、动物关键点检测等。 具体请参考 功能演示。

  • 更高的精度和更快的速度。MMPose 复现了多种学界最先进的人体姿态分析模型,包括“自顶向下”和“自底向上”两大类算法。MMPose 相比于其他主流的代码库,具有更高的模型精度和训练速度。 具体请参考 基准测试(英文)。

  • 支持多样的数据集。MMPose 支持了很多主流数据集的准备和构建,如 COCO、 MPII 等。 具体请参考 数据集。

  • 模块化设计。MMPose 将统一的人体姿态分析框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的人体姿态分析模型。

  • 详尽的单元测试和文档。MMPose 提供了详尽的说明文档,API 接口说明,全面的单元测试,以供社区参考。
    在这里插入图片描述

MMAction2: 视频理解工具箱

MMAction2 是一款基于 PyTorch 的视频理解开源工具箱,是 OpenMMLab 项目的成员之一

主分支代码目前支持 PyTorch 1.5 以上的版本。
代码链接:https://gitee.com/open-mmlab/mmaction2

在这里插入图片描述

主要特性

  • 模块化设计:MMAction2 将统一的视频理解框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的视频理解模型

  • 支持多种任务和数据集:MMAction2 支持多种视频理解任务,包括动作识别,时序动作检测,时空动作检测以及基于人体姿态的动作识别,总共支持 27 种算法和 20 种数据集

  • 详尽的单元测试和文档:MMAction2 提供了详尽的说明文档,API 接口说明,全面的单元测试,以供社区参考

MMDeploy: 模型部署框架

在这里插入图片描述
MMDeploy 是 OpenMMLab 模型部署工具箱,为各算法库提供统一的部署体验。基于 MMDeploy,开发者可以轻松从训练 repo 生成指定硬件所需 SDK,省去大量适配时间。
代码链接:https://gitee.com/open-mmlab/mmdeploy

架构简析

在这里插入图片描述

特性简介

支持超多 OpenMMLab 算法库如:mmcls、mmdet、mmseg、mmedit、mmocr、mmpose、mmdet3d、mmrotate、mmaction2。
在这里插入图片描述

MMTracking: 一体化视频目标感知平台

在这里插入图片描述
MMTracking是一款基于PyTorch的视频目标感知开源工具箱,是OpenMMLab项目的一部分。

主分支代码目前支持PyTorch 1.5以上的版本。
代码链接:https://gitee.com/open-mmlab/mmtracking

主要特性

  • 首个开源一体化视频目标感知平台。MMTracking 是首个开源一体化视频目标感知工具箱,同时支持视频目标检测,多目标跟踪,单目标跟踪和视频实例分割等多种任务和算法。

  • 模块化设计。MMTracking将统一的视频目标感知框架解耦成不同的模块组件,通过组合不同模块组件,用户可以便捷地构建自定义视频目标感知模型。

  • 简洁、高效、强大。

    • 简洁:MMTracking与其他OpenMMLab平台充分交互。MMTracking充分复用MMDetection中的已有模块,我们只需要修改配置文件就可以使用任何检测器。

    • 高效:MMTracking所有操作都在GPU上运行。相比其他开源库的实现,MMTracking的训练和推理更加高效。

    • 强大:MMTracking复现了SOTA性能的模型。受益于MMDetection的持续推进,部分实现精度超出官方版本。

MMYOLO: YOLO 系列工具箱与测试基准

在这里插入图片描述
MMYOLO 是一个基于 PyTorch 和 MMDetection 的 YOLO 系列算法开源工具箱。它是 OpenMMLab 项目的一部分。
在这里插入图片描述

主分支代码目前支持 PyTorch 1.6 以上的版本。
代码链接:https://gitee.com/open-mmlab/mmyolo

主要特性

🕹️ 统一便捷的算法评测

MMYOLO 统一了各类 YOLO 算法模块的实现, 并提供了统一的评测流程,用户可以公平便捷地进行对比分析。

📚 丰富的入门和进阶文档

MMYOLO 提供了从入门到部署到进阶和算法解析等一系列文档,方便不同用户快速上手和扩展。

🧩 模块化设计

MMYOLO 将框架解耦成不同的模块组件,通过组合不同的模块和训练测试策略,用户可以便捷地构建自定义模型。

MMHuman3D: 人体参数化模型工具箱与测试基准

在这里插入图片描述
MMHuman3D 是一款基于 PyTorch 的人体参数化模型的开源工具箱,是 OpenMMLab 项目的成员之一。

主分支代码目前支持 PyTorch 1.7 以上的版本。
代码链接:https://gitee.com/open-mmlab/mmhuman3d

主要特性

  • 使用模块化的框架复现流行的算法。MMHuman3D 重新实现了流行的算法,帮助用户只需一行代码即可完成复现。模块化的框架适合快速验证:用户可以在不修改代码的情况下调试不同的超参数甚至神经网络结构。

  • 通过一个统一的数据规范 HumanData 支持多种数据集。通过一个规范工具箱,我们将所有的支持的数据集都对齐到统一的数据格式 HumanData . 我们同时也提供预处理完成的数据文件。

  • 多功能可视化工具箱。一整套可微的可视化工具支持人体参数化模型的渲染(包括部分分割,深度图以及点云)和传统 2D/3D 关键点的可视化。

MMFlow:光流估计工具箱与测试基准

在这里插入图片描述
MMHuman3D 是一款基于 PyTorch 的人体参数化模型的开源工具箱,是 OpenMMLab 项目的成员之一。

主分支代码目前支持 PyTorch 1.7 以上的版本。
代码链接:https://gitee.com/open-mmlab/mmflow

主要特性

  • 首个光流算法的统一框架。MMFlow 是第一个提供光流方法统一实现和评估框架的工具箱。

  • 模块化设计。MMFlow 将光流估计框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的光流算法模型。

  • 丰富的开箱即用的算法和数据集。MMFlow 支持了众多主流经典的光流算法,例如 FlowNet, PWC-Net, RAFT 等, 以及多种数据集的准备和构建,如 FlyingChairs, FlyingThings3D, Sintel, KITTI 等。

其他

这些库上课没有提到,先做个记录。

  • MMEngine: OpenMMLab 深度学习模型训练库
  • MMCV: OpenMMLab 计算机视觉基础库
  • MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
  • MMEval: 统一开放的跨框架算法评测库
  • MMClassification: OpenMMLab 图像分类工具箱
  • MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
  • MMRazor: OpenMMLab 模型压缩工具箱与测试基准
  • MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
  • MMEditing: OpenMMLab 图像视频编辑工具箱
  • MMGeneration: OpenMMLab 图片视频生成模型工具箱

AI实战营第二期课程安排

在这里插入图片描述

总结

OpenMMLab深度学习时代最完整的计算机视觉开源算法体系,10+ 视觉方向全面助力产、学、研打通,GitHub 累计获得 55,000+ star。欢迎更多的人加入实战营。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件操作之文件包含全解(41)

<!#include file”1.asp”--> 作者&#xff1a;沙漠里的鲸 https://www.bilibili.com/read/cv14178731/ 出处&#xff1a;bilibili 文件包含的作用就是将这个文件包含进去之后&#xff0c;会调用指定文件的代码。先将文件包含才能执行里面的一些相关代码&#xff0c;比如…

SAP-MM-标准报表路径

一、SAP MM模块系统自带的标准报表很多&#xff0c;常见报表都放在每个主题的“清单显示”和“报表”文件夹下&#xff0c;如下图所示&#xff1a; 二、另外&#xff0c;还有一些报表&#xff0c;放在另外一个地方&#xff0c;需要时&#xff0c;可以随时进行查看&#xff0c;前…

陷入困境?Taos创建超表带来的错误!

taos创建超表时报错 运行如下命令 let res await cursor.query("CREATE STABLE meters1 (ts TIMESTAMP, value FLOAT, slot INT,rack INT,nameId VARCHAR(32),adName VARCHAR(32),dbNumber INT,dataType VARCHAR(28), unit VARCHAR(28)) TAGS (location binary(64), gr…

2GT齿轮的齿形参数

文章目录 2GT齿轮的齿形参数概述笔记齿的种类方形齿半圆弧齿全圆弧齿精确圆弧齿修正圆弧齿梯形齿齿形参数用SW画一个2GT齿END 2GT齿轮的齿形参数 概述 零件上用到了2GT的同步轮和惰轮, 想在装配图上将2个齿轮皮带都画上, 看看有没有干涉. 整体修改是否合理. 在淘宝店家的主页…

Linux系统下imx6ull QT编程——开发环境及 U盘拷贝文件(十)

Linux QT编程 文章目录 Linux QT编程前言一、开发环境二、文件拷贝 前言 前面学习了一些基础&#xff0c;然后qt我也有学过&#xff0c;直接动手在开发板上进行编程吧&#xff0c;但是开发板需要安装环境&#xff0c;需要拷贝一些文件&#xff0c;我使用得是U盘。 一、开发环…

【C++进阶5-红黑树】噩梦般的存在?手提AVLTree暴揍红黑树!

今天&#xff0c;带来无数人的噩梦——红黑树的讲解。文中不足错漏之处望请斧正&#xff01; 如果还没看过AVLTree讲解的一定要去看看&#xff0c;看完才能更好理解红黑树&#xff01; 是什么 红黑树是自平衡的二叉搜索树。 红黑树的规则: 每个结点非黑即红 根结点为黑叶子…

程序设计综合实习(C语言):考勤管理系统

一、目的 1&#xff0e;调动创新能力的培养 二、实习环境 Visual Studio 2022 三、实习内容与步骤 问题描述&#xff1a; 每个员工信息包括工号、姓名、年龄、性别、部门等&#xff1b; 功能要求&#xff1a; &#xff08;1&#xff09;能够增加、删除、修改员工信息。 &…

[CTFTraining] ASIS CTF 2019 Quals Unicorn shop

​ 我们随便买一件商品&#xff0c;1~3都显示&#xff1a; ​ 只有第4个显示&#xff1a; ​ 只允许输入一个字符&#xff0c;题目叫Unicorn&#xff0c;猜测为Unicode。在Unicode - Compart搜索比千大的Unicode码&#xff1a; ​ 最后填进去买下商品得到flag。 另外&#…

CDGA 认证:第四章 数据架构(重点章节)习题集解析

1. 企业架构不包括哪项&#xff1f;&#xff08; &#xff09; A 业务架构 B 数据架构 C 系统架构 D 技术架构 【答案解析】DAMA-DMBOK2 P72 2. 关于架构设计生命周期描述错误的是&#xff1f;( ) A 可以是针对当前的 B 可以是面向未来的 C 可以是已实施完成的 D 可以是已经…

Flutter 对话框【代码实践】

Flutter 对话框【代码实践】 文章目录 Flutter 对话框【代码实践】一、普通对话框1、示例一&#xff1a;圆角、背景截图代码 一、普通对话框 1、示例一&#xff1a;圆角、背景 截图 代码 Center(child: ElevatedButton(onPressed: () {showDialog(context: context,builder:…

Spring Boot如何实现分布式系统中的服务发现和注册?

Spring Boot如何实现分布式系统中的服务发现和注册&#xff1f; 随着互联网的快速发展&#xff0c;越来越多的企业开始将自己的业务迁移到分布式系统中。在这种情况下&#xff0c;服务发现和注册变得尤为重要。对于分布式系统中的每个服务来说&#xff0c;它需要知道其他服务的…

数据可视化——使用echars图表展示

目录 1、前言 2、解决方案 2.1、echars&#xff08;前端等组件库&#xff09; 2.2、PPT等其他软件工具 2.3、使用flourish等在线数据可视化制作平台 2.4、自己用代码实现 1、前言 有一个小作业&#xff0c;需要自己收集一组数据&#xff0c;然后进行数据可视化&#xff0…

QListWidget和QListView的使用和item点击事件

QListWidget和QListView很常用&#xff0c;但是使用上功能类似&#xff0c;往往容易分不清区别&#xff0c;但是不知道如何选择。这里总结下二者之间的区别和使用&#xff0c;分享给有需要的人&#xff0c;有需要的可点击收藏。 QListView介绍 QListView是Qt中用于显示列表的一…

程序在内存中的分布

1. 具体分布细节由编译器决定 2. 分布图 3. 静态局部变量通常被存放在程序的.data段中。 一般地&#xff0c;静态局部变量定义在函数体内&#xff0c;在函数执行时&#xff0c;它会在静态存储区分配内存&#xff0c;并且只被初始化一次。因为静态局部变量是在编译阶段产生的&…

SpringCloud GateWay 学习

SpringCloud GateWay 文章目录 SpringCloud GateWay1 Gateway 介绍2 代码实现 1 Gateway 介绍 有一个前后端分离项目&#xff0c;分析如图 使用网关服务Gateway&#xff0c;重构项目架构 Gateway 是在 Spring 生态系统之上构建的 API 网关服务&#xff0c;基于 Spring &#x…

DES,RAS,HASH

是猫咪&#xff0c;我加入了一些猫咪 1.DES Data Encryption Standard&#xff0c;即数据加密标准&#xff0c;是一种使用密钥加密的块算法。设计中使用了分组密码设计的两个原则&#xff1a;混淆&#xff08;confusion&#xff09;和扩散(diffusion)。DES加密算法原理简析_51…

秋招笔试零基础怎么办?自顶向下真题学习法,这样准备就稳啦!

秋招笔试零基础怎么办&#xff1f;自顶向下真题学习法&#xff0c;这样准备就稳啦 秋招临近&#xff0c;是时候提前准备笔试了。想必各位都忙着刷穿leetcode的剑指Offer&#xff0c;或者牛客的往年真题等等 但你真的了解自己的算法知识板块哪里有纰漏吗&#xff1f; 你知道今…

【C++】初识STL

目录 &#x1f31e;专栏导读 &#x1f31b;什么是STL &#x1f31b;STL的版本 &#x1f31b;STL的六大组件 &#x1f31b;STL的重要性 &#x1f31b;STL的缺陷 &#x1f31e;专栏导读 &#x1f31f;作者简介&#xff1a;日出等日落&#xff0c;在读本科生一枚&#xff0…

nginx网站安装服务

nginx概述 一款高性能、轻量级web服务软件稳定性高系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30000~50000个并发请求 正向代理&#xff1a;通过代理服务器来访问资源&#xff0c;这种代理服务成为正向代理 反向代理&#xff1a;客户端与代理是无感知的&…

【Go LeetDay】总目录(1~83)

Leetcode Golang Day1~10 Golang每日一练(leetDay0001) 1. 两数之和 Two Sum 2. 两数相加 Add Two Numbers 3. 无重复字符的最长子串 Longest-substring-without-repeating-characters Golang每日一练(leetDay0002) 4. 寻找两个正序数组的中位数 Median of two sorted arra…