OpenMMLab开源库总结——笔记1

2023-10-28

摘要

很高兴能加入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

主要特性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenMMLab开源库总结——笔记1 的相关文章

  • CSS列表与表格

    目录 编辑 HTML 列表和 CSS 列表属性 不同的列表项目标记 实例 图像作为列表项标记 实例 定位列表项标记 实例 删除默认设置 实例 列表 简写属性 实例 设置列表的颜色样式 实例 更多实例 所有 CSS 列表属性 表格边框 实例
  • python PDF转docx库的安装与使用

    python PDF转docx库的安装与使用 下载 使用 三种方法 效果 下载 anaconda中直接通过anaconda prompt下载pdf2docx库 pip install pdf2docx 使用 三种方法 可以直接通过命令行使用
  • SpringMVC基础(5): SpringMVC常用注解

    目录 1 handler method 参数绑定常用注解 2 常用注解 1 PathVariable 2 RequestHeader CookieValue 3 Re Body 5 RequestBody和 RequestParam区别 6
  • 安装部署mysql、redis、minio、nginx

    离线安装部署mysql redis minio nginx jar包启动 系统环境 centos7 9 架构 X86 安装目录 server 记录安装笔记 依赖项在线安装的 下载离线依赖 yum install y nginx downlo
  • 最新升级的STM32CubeIDE属于一站式工具,本文带你体验它的强大

    目录 下载安装 配置生成代码 硬件在线调试 1 写在前面 2 STM32CubeIDE介绍 主要特点 3 STM32CubeIDE下载 4 STM32CubeMX安装 5创建工程并编译 下载安装 配置生成代码 硬件在线调试 1 写在前面 S
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过send 方法来向服务器发送数据 并通过onnes
  • 【nodejs课堂】Node.js 创建第一个应用

    在我们创建Node js第一个 hello world 应用前 先了解一下Node js应用由哪几部分组成 1 引入required模块 我们可以使用require指令来载入Node js模块 2 创建服务器 服务器可以监听客户端的请求 类

随机推荐

  • MyEclipse8 GA 下载地址 注册码 优化指南

    官方网站限制大陆IP 可以通过http ajava org 直接下载 下面是winodws linux的下载地址 其他版本请自行去http ajava org 下载 注册码7 5GA 8 0GA貌似通用 但不绝对 window版下载地址 h
  • 语义分割数据增强(Data augmentation for semantic segmentation)

    数据增强 深度学习模型的鲁棒性 robustness 和泛化性受到训练数据的多样性和数据量所影响 数据增强 data augmentation 是机器学习和深度学习中经常采用的一个方法 其目的是扩大训练样本的数量 语义分割是计算机视觉一个重
  • 期货十三篇 第七篇 平仓篇

    在期货交易中曾经流行这样一句话 会开仓的是徒弟 会平仓的是师傅 会空仓的是大师傅 在最初的期货交易过程中 我的开仓还算比较顺利 基本上都可以获得一定的盈利 但是我的平仓却十分糟糕 往往把自己的盈利单变成微利单或者亏损单而狼狈离场 我实在不能
  • 贝锐蒲公英:助力企业打造稳定高效的智能安防监控网络

    随着技术的快速发展和物联网的普及 企业面临着许多安全威胁和风险 如盗窃 入侵 信息泄露等 企业需要建立安防监控系统来保护其资产 员工和业务运营的安全 然而 企业在搭建安防监控系统的过程中 可能会面临一些难点 包括以下几个方面 1 监控设备多
  • sysdig_系统分析工具 Sysdig 详解

    Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具 Sysdig 能从运行的系统中 获取系统状态和行为 做过滤分析 功能上超同类开源工具 Sysdig 可以看做是 strace tcpdump lso
  • Java将图片转换成透明底图片

    package com stefan test import java awt Graphics2D import java awt Image import java awt image BufferedImage import java
  • android黑科技系列——手机端破解神器MT的内购VIP功能破解教程

    一 前言 在破解app的时候 我们现在几乎都是在PC端进行操作 但是之前bin神的MT管理器 可以在手机端直接破解 不过也有很大的局限性 但是对于一些简单的app破解没问题的 这个工具其实原理也很简单 就是解析apk中的dex arsc等文
  • 宝兰德BES中间件单机版安全加固相关操作

    因某公司对安全的要求 需要对bes中间件进行安全加固 安全加固的内容主要包括对控制台默认地址修改 实例默认端口修改 控制台默认密码修改 密码加密 加密后的实例启停方式等 首先说一下今天安全加固操作的前提 需要已经分离式部署安装成功bes单机
  • 什么是数据结构?什么是算法

    记得是大一大二的时候学习了数据结构 时间过的好快 现在实现了 现在感觉自己的基础好差很多都不会 欠的帐还是要还的 什么是数据结构 什么是算法 呃呃呃呃 哎 不会 多次参加了MOOC姥姥的数据结构 都没有坚持下来 希望这次可以坚持下来 引用姥
  • MySQL 查询表字段

    复制表结构 CREATE TABLE tb students copy LIKE tb students info 查询mysql所有表数据 字段信息mysql 查询表 所有字段 前2种有重复 select COLUMN NAME colu
  • LINQ之路 8: 解释查询(Interpreted Queries)

    LINQ提供了两个平行的架构 针对本地对象集合的本地查询 local queries 以及针对远程数据源的解释查询 Interpreted queries 在讨论LINQ to SQL等具体技术之前 我们有必要先对这两种架构进行了解和学习
  • Redis的五种数据类型详解

    目录 一 基础的知识 二 五种数据类型 1 String 字符串 2 List 列表 3 Set 集合 4 Hash 哈希表 5 Zset 有序集合 本篇文章更多的是通过命令来彻底掌握Redis的五种数据结构 一 基础的知识 Linux上安
  • 【Windows提权】内核提权

    文章目录 一 描述 二 缓冲区溢出 三 实验环境 四 提权 一 描述 提高自己在服务器中的权限 主要针对网站入侵过程中 当入侵某一网站时 通过各种漏洞提升WEBSHELL权限以夺得该服务器权限 提权 顾名思义就是提高自己在服务器中的权限 就
  • Vue常用的组件库大全【前端工程师必备】

    Vue常用的组件库大全 前端工程师必备 一 移动端 常用组件库 1 Vant ui 2 Cube UI 3 VUX 4 NuTUI 3 0 6 倒计时组件库 7 表格组件库 8 富文本编辑器 9 Loading加载动画组件 10 Mint
  • 【论文解读】元学习:MAML

    一 简介 元学习的目标是在各种学习任务上训练模型 这样它就可以只使用少量的训练样本来解决新任务 论文所提出的算法训练获取较优模型的参数 使其易于微调 从而实现快速自适应 该算法与任何用梯度下降训练的模型兼容 适用于各种学习问题 包括分类 回
  • semantic-ui的使用

    好久又没有写博客了 总是以忙为借口 哎 知识如果只图一时的学习之快 不加以总结输出 总是会忘记 希望自己可以好好规划一下吧 最近任务需要 学习了semantic ui这个前端框架 这里先基本记录一下如何去使用它 我在网上找到了一个seman
  • python-半省略号、三个点、点点点、...符号的用法小结

    一 符号 省略号 和Ellipsis对象 在Python中 一切皆对象 符号 在python中其实也有相应的对象 Ellipsis 如下面的代码所示 和Ellipsis的地址是相同的 打印 显示的结果是Ellipsis 打印 的类型显示el
  • 直流输入过压保护电路

    在嵌入式产品设计中 许多都为电池供电或者USB接口供电 当误操作使供电电压高于芯片工作电压时 就会导致芯片烧坏 带来严重的后果 因此在电源的输入端到芯片的供电输入端 还是很有必要加一个过压保护电路 当输入电压超过设定值 就切断电源 保护芯片
  • java登录远程服务器

    加入ssh的依赖 ch ethz ganymed ganymed ssh2 262 代码实现 因为执行SHELL脚本的时候可能是给出正常的返回值 也可能是异常的信息 这里需要一个JAVA Bean来接收这两个消息 代码如下 import j
  • OpenMMLab开源库总结——笔记1

    摘要 很高兴能加入OpenMMLab AI实战营 成为第二期4班的一名学员 OpenMMLab经过几年的发展和沉淀 其开源项目已经覆盖到计算机视觉的各个领域 OpenMMLab 为香港中文大学 商汤科技联合实验室 MMLab 开源的算法平台