系列文章目录
第一课:【OpenMMLab】OpenMMLab概述
第二课:【OpenMMLab】人体姿态估计、关键点检测与MMPose
第三课:【openMMLab】MMPose 代码教程
第四课:【OpenMMLab】深度学习预训练与 MMPreTrain
第五课: 【OpenMMLab】MMPretrain 代码教程
第六课:【OpenMMLab】目标检测与MMDetection
目标检测
课程视频:https://www.bilibili.com/video/BV1Tm4y1q7fy
什么是目标检测
目标检测任务即:给定图片,网络预测出所关注的所有物体边界框和类别。其是一个典型的多任务学习,既包括物体边界框学习还包括类别学习。
什么是MMDetection
MMDetection Repo: https://github.com/open-mmlab/mmdetection
官方文档:https://mmdetection.readthedocs.io/en/latest
MMDetection 是被广泛使用的测工具箱,包括了目标检测、实例分割、全景分割等多个通用检测方向,并支持了 75+ 个主流和前沿模型,为用户提供超过 440+ 个预训练模型,在学术研究和工业落地中拥有广泛应用。该框架的主要特点为:
- 模块化设计
MMDetection 将检测框架解成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的检测模型 - 支持多种检测任务
MMDetection 支持了各种不同的检测任务,包括目标检测,实例分割,全景分割,以及半监督目标检测。后续会重点支持多模态通用检测方向 - 速度快
基本的框和 mask 操作都实现了 GPU 版本,训练速度比其他代码库更快或者相当。 - 性能高
MMDetection 这个算法库源自于 (OCO 2018 目标检测亮赛的冠军团队 MMDet 团队开发的代码,我们在之后持续进行了改进和提升新发布的 RTMDet 还在实时实例分割和旋转目标检测任务中取得了最先进的成果,同时也在目标检测模型中取得了最佳的的参数量和精度平衡。
近期发布了 MMDetection 3.0 正式版本。在 MMDetection V2.0 基础上,通过更细粒度的模块解,我们进一步拆解出了数据、数据变换、模型、评测、可视化器等抽象,并将这些接口进行了统一设计,统一的数据流和细粒度的模块大幅提升了任务拓展性能。基于全新训练引擎 MMEngine 和计算机视觉的基库 MMCV进行了全面适配,经过对模型各个组件的重构和优化,全面提升了 MMDetection的速度和精度,达到了现有检测框架中的最优水平。
配置环境
环境检测和安装
# 查看 nvcc 和 gcc 的版本
nvcc -V
gcc --version
# 安装 mmengine 和 mmcv
pip install -U "openmim==0.3.7"
mim install "mmengine==0.7.1"
mim install "mmcv=2.0.0"
# 安装 mmdetection
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -e .
from mmengine.utils import get_git_bash
from mmengine.utils.dl_utils import collect_env as collect_base_env
def collect_env():
env_info= collect_base_env()
env_info["MMDetection"] = f"{mmdet.__version__} + {get_git_hash()[:7]}"
return env_info
if __name__="__main__":
for name, val in collect_env().items():
print(f'{name}:{val}')
~~ 待更新