OpenMMLab MMTracking目标跟踪官方文档学习(一)

这篇具有很好参考价值的文章主要介绍了OpenMMLab MMTracking目标跟踪官方文档学习(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

MMTracking 是PyTorch的开源视频感知工具箱。它是OpenMMLab项目的一部分。
它支持 4 个视频任务:
视频对象检测 (VID)
单目标跟踪 (SOT)
多目标跟踪 (MOT)
视频实例分割 (VIS)

主要特点

第一个统一视频感知平台
我们是第一个统一多功能视频感知任务的开源工具箱,包括视频对象检测、多对象跟踪、单对象跟踪和视频实例分割。

模块化设计
我们将视频感知框架分解为不同的组件,并且可以通过组合不同的模块轻松构建定制的方法。

简单、快速、强大
简单:MMTracking 与其他 OpenMMLab 项目交互。它基于MMDetection构建,我们只需通过修改配置即可利用任何检测器。
快速:所有操作都在 GPU 上运行。训练和推理速度比其他实现更快或相当。
Strong:我们重现了最先进的模型,其中一些模型甚至优于官方实现。

入门

MMTracking的基本使用方法请参考get_started.md 。
提供了 Colab 教程。您可以在此处预览笔记本或直接在Colab上运行它。

号外号外~ MMTracking 要开始持续更新啦

同时释放了高效、强大的基准模型,部分实现超出官方版本(比如视频目标检测中的 SELSA、多目标跟踪中的 Tracktor、单目标跟踪中的 SiameseRPN++),在部分学术数据集(比如 ImageNet VID)达到 SOTA 水平。

1)、在 MMTracking V0.5.0 刚刚发布的时候,我们支持了以下算法:

视频目标检测(VID)算法:

视频目标检测只需要对视频内的每一帧进行检测,不要求对不同帧中的同一目标进行关联。
DFF (CVPR 2017)
FGFA (ICCV 2017)
SELSA (ICCV 2019)
Temporal RoI Align (AAAI 2021)

多目标跟踪(MOT)算法:

多目标检测在完成视频目标检测的基础上,更加侧重于对视频内的同一目标进行关联。
SORT (ICIP 2016)
DeepSORT (ICIP 2017)
Tracktor (ICCV 2019)

单目标跟踪(SOT)算法:

单目标跟踪更加侧重人机交互,算法需要在给定一个任意类别,任意形状目标的情况下,能够对其进行持续跟踪。
SiameseRPN++ (CVPR 2019)

MMTracking V0.7.0 发布啦!该版本主要新增了以下特性:
Codebase
重构、完善了英文用户文档、中文用户文档,用鲜明的例子告诉大家如何推理、测试、训练 VID、MOT、SOT 的模型
支持所有算法的 FP16 训练与测试
VID
支持新的视频目标检测算法 Temporal RoI Align (AAAI 2021), 同时为所有视频目标检测算法提供了使用 ResNeXt-101 为 backbone 的预训练模型,该方法以 84.1 mAP@50 的性能在 ImageNet VID 数据集上达到了 SOTA 水平
MOT
提供 Tracktor 在 MOT15、MOT16、MOT20 上的结果,在更加复杂的 MOT20 数据集的主要评估指标 MOTA 上,比官方版本高出 5.3 个点
支持在 MOT 数据集训练 ReID model
支持在 MOT 数据集进行错误(FP、FN、IDS)可视化分析
SOT
支持更多的 SOT 数据集:LaSOT、UAV123、TrackingNet,其它主流数据集也即将支持

OpenMMLab 内部项目间的充分交互

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

视频内的目标感知在大部分情况下可以认为是 2D 目标检测的下游任务,十分依赖各种 2D 目标检测算法。在此之前,如何使用或切换不同的 2D 目标检测器其实是一个很烦琐耗时的任务。

在 MMTracking 中,我们充分利用了 OpenMMLab 其他平台的成果与优势,极大的简化了代码框架。比如,我们 import 或继承了 MMDetection 中的大部分模块,极大的简化了代码框架。在这种模式下,我们可以通过 configs 直接使用 MMDetection 中的所有模型。以多目标跟踪举例,每一个多目标跟踪模型多由以下几个模块组成:

import torch.nn as nn
from mmdet.models import build_detector

class BaseMultiObjectTracker(nn.Module):

    def __init__(self,
                 detector=None,
                 reid=None,
                 tracker=None,
                 motion=None,
                 pretrains=None):
        self.detector = build_detector(detector)
        ...

Configs 示例:

model = dict(
    type='BaseMultiObjectTracker',
    detector=dict(type='FasterRCNN', **kwargs),
    reid=dict(type='BaseReID', **kwargs),
    motion=dict(type='KalmanFilter', **kwargs),
    tracker=dict(type='BaseTracker', **kwargs))

快速上手!MMTracking 食用指南 之 VID 篇(视频目标检测)(附 AAAI2021 论文解读 !)

1、运行 VID demo

该脚本可以使用视频对象检测模型来推断输入视频。

python demo/demo_vid.py \
    ${CONFIG_FILE}\
    --input ${INPUT} \
    --checkpoint ${CHECKPOINT_FILE} \
    [--output ${OUTPUT}] \
    [--device ${DEVICE}] \
    [--show]

并且INPUT和OUTPUT支持mp4视频格式和文件夹格式。
可选参数:

OUTPUT:可视化演示的输出。如果未指定,则–show有义务即时播放视频。
DEVICE:用于推理的设备。选项有cpu或cuda:0等。
–show:是否动态显示视频。

例子:

假设您已经将检查点下载到该目录checkpoints/,您的视频文件名为demo.mp4,输出路径为./outputs/

python ./demo/demo_vid.py \
    configs/vid/selsa/selsa_faster-rcnn_r50-dc5_8xb1-7e_imagenetvid.py \
    --input ./demo.mp4 \
    --checkpoint checkpoints/selsa_faster_rcnn_r101_dc5_1x_imagenetvid_20201218_172724-aa961bcc.pth \
    --output ./outputs/ \
    --show

在 MMTracking 根目录下只需执行以下命令,即可使用 SELSA + Temporal RoI Align 算法运行 VID demo

python demo/demo_vid.py configs/vid/temporal_roi_align/selsa-troialign_faster-rcnn_r101-dc5_8xb1-7e_imagenetvid.py  --input demo/demo.mp4 --checkpoint checkpoints/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid_20210822_111621-22cb96b9.pth --output vid.mp4  --show
python demo/demo_vid.py configs/vid/temporal_roi_align/selsa-troialign_faster-rcnn_x101-dc5_8xb1-7e_imagenetvid.py --input demo/demo.mp4 --checkpoint checkpoints/selsa_troialign_faster_rcnn_x101_dc5_7e_imagenetvid_20210822_164036-4471ac42.pth --output vid.mp4  --show

OpenMMLab MMTracking目标跟踪官方文档学习(一),MMTracking,目标跟踪,学习,人工智能

2、测试 VID 模型

在 MMTracking 根目录下使用以下命令即可测试 VID 模型,并且评估模型的 bbox mAP

./tools/dist_test.sh configs/vid/temporal_roi_align/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid.py 8 \
    --checkpoint checkpoints/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid_20210822_111621-22cb96b9.pth \
    --out results.pkl \
    --eval bbox

3、训练 VID 模型

在 MMTracking 根目录下使用以下命令即可训练 VID 模型,并且在最后一个 epoch 评估模型的 bbox mAP

./tools/dist_train.sh ./configs/temporal_roi_align/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid.py 8 \
    --work-dir ./work_dirs/

最新上线!MMTracking 视频实例分割篇食用指南
上新!MMTracking 单目标跟踪任务食用指南
MMTracking 多目标跟踪(MOT)任务的食用指南文章来源地址https://www.toymoban.com/news/detail-566791.html

到了这里,关于OpenMMLab MMTracking目标跟踪官方文档学习(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习目标跟踪简述

          深度学习目标跟踪是一个活跃的研究领域,它涉及使用深度学习技术来跟踪视频或实时摄像头中的对象。这个领域通常包括以下几个关键方面: 目标检测 :在开始跟踪前,首先需要在视频的初始帧中检测到目标。这通常是通过卷积神经网络(CNN)来实现的。 特征提取

    2024年02月02日
    浏览(35)
  • 【学习笔记】目标跟踪领域SOTA方法比较

    常用于行人跟踪的多目标跟踪数据集包括:MOT 15/16/17/20、PersonPath22等… 为更好比较现有SOTA算法的检测性能,本博客将针对在各数据集上表现较优的算法模型进行介绍。(表中画粗数据表明对应算法为该数据集表现最优算法) 数据集 算法模型 MOTA 年份 代码 MOT15 TraDeS 66.5 202

    2024年02月15日
    浏览(37)
  • 基于深度学习的多目标跟踪算法

    基于深度学习的多目标跟踪(MOT,Multi-Object Tracking)算法在近年来取得了显著的进步。这些算法主要利用深度学习模型对视频中的多个目标进行检测和跟踪。 在介绍一些常见的深度学习多目标跟踪算法之前,我们首先了解一下其基本概念和挑战: 目标检测 :首先识别视频帧

    2024年01月23日
    浏览(42)
  • 竞赛项目 深度学习的视频多目标跟踪实现

    🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的视频多目标跟踪实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 基于初始化帧的跟踪,在视频第一帧中选择你的目标,之后交给跟踪算法去

    2024年02月13日
    浏览(35)
  • 计算机视觉+深度学习+机器学习+opencv+目标检测跟踪(代码+视频)

    计算机视觉、深度学习和机器学习是当今最热门的技术,它们被广泛应用于各种领域,如自动驾驶、医学图像分析、安防监控等。而目标检测跟踪技术则是计算机视觉中的一个重要分支,它可以帮助我们在图像或视频中自动识别和跟踪特定的目标。 下面我们来一一介绍这些技

    2024年02月01日
    浏览(112)
  • 竞赛保研 基于深度学习的视频多目标跟踪实现

    🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的视频多目标跟踪实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 基于初始化帧的跟踪,在视频第一帧中选择你的目标,之后交给跟踪算法去

    2024年01月22日
    浏览(55)
  • 计算机设计大赛 深度学习的视频多目标跟踪实现

    🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的视频多目标跟踪实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 基于初始化帧的跟踪,在视频第一帧中选择你的目标,之后交给跟踪算法去

    2024年03月11日
    浏览(137)
  • Opencv-DNN模块之官方指导:利用DNN模块实现深度学习应用:分类、分割、检测、跟踪等

    本文根据 Deep Learning with OpenCV DNN Module: A Definitive Guide 中相关内容进行翻译整理而得,用于今后的学习和工程。   § 00 前   言 ---   机器视觉研究领域从上个世纪六十年后期就已创立。图像分类和物体检测是计算机视觉领域中的一些最古老的的问题,研究者为解决它进行

    2024年02月05日
    浏览(62)
  • RTOS官方文档学习

    一个程序可以只有任务、只有协程、二者都有,但不可以通过队列/信号量互相传递数据 任务之间可以互相独立 每个任务分配自己的堆栈,提高了RAM使用率 操作简单、按优先级抢占式执行 抢占容易导致重入(执行任务时被其他线程或进程调用了) 一般用于小型,RAM有限制的

    2024年02月11日
    浏览(42)
  • C# 微软官方学习文档

    链接:https://learn.microsoft.com/zh-cn/dotnet/csharp/ 在C#的学习过程中,我们可以参考微软官方的学习文档。它是一个免费的学习平台,提供了丰富的C#学习路径和教程(如下图),对我们入门到高级应用开发都很有帮助。 如果我们想初步了解可以看 了解如何使用C# 模块: 学习或查

    2024年04月25日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包