基础讲解——mmDetection的使用(1)及遇到相关问题的解决办法

本文结构

    • mmDetection工具库简单简介
    • 使用方法
      • 使用指导
      • demo使用方法
      • 训练使用方法(以Faster_RCNN模型训练、coco2017数据集为例)
        • 数据集介绍
        • 准备COCO2017数据集:
        • 训练语句
    • 来源

mmDetection工具库简单简介

商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学开源的一个基于Pytorch实现的深度学习目标检测工具箱mmdetection,支持Faster-RCNN,Mask-RCNN,Fast-RCNN等主流的目标检测框架,后续会加入Cascade-RCNN以及其他一系列目标检测框架。
MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 OpenMMLab 项目的一部分。
主分支代码目前支持 PyTorch 1.3 以上的版本。
新的 2.x 的版本,新的版本速度更快,性能更高,有更优雅的代码设计,对用户使用也更加友好。
官方文档:点这里跳转官方帮助文档!

主要特性:
模块化设计
MMDetection 将检测框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的检测模型
丰富的即插即用的算法和模型
MMDetection 支持了众多主流的和最新的检测算法,例如 Faster R-CNN,Mask R-CNN,RetinaNet 等。
速度快
基本的框和 mask 操作都实现了 GPU 版本,训练速度比其他代码库更快或者相当,包括 Detectron2, maskrcnn-benchmark 和 SimpleDet。
性能高
MMDetection 这个算法库源自于 COCO 2018 目标检测竞赛的冠军团队 MMDet 团队开发的代码,我们在之后持续进行了改进和提升。
除了 MMDetection 之外,我们还开源了计算机视觉基础库 MMCV,MMCV 是 MMDetection 的主要依赖。


使用方法

使用指导

由于该工具库是港中文大学多媒体实验室与商汤共同制作,其工具包的官方帮助文档较为详细,不仅包含中英文解释,还对各种配置文件,训练文件,测试文件和评估文件进行了系统的教学和示范举例,

demo使用方法

可以使用/root/mmdetection/demo/下的一系列demo文件进行推断。下面以faster_rcnn为例。
终端下,输入下列代码,使用预训练权重文件:

使用权重文件一般放在modelsets/mmdetection下的不同模型文件夹下。
运行下列代码执行 demo.py,预训练模型需对应路径。

# 示例,图片检测,由于源代码是show窗口在linux终端下无法完成,可在代码块中运行,推荐使用视频检测
python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth

传入任意mp4文件更改相关路径并选择所需的pth文件

python demo/video_demo.py demo/1.mp4 \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
    --out result1.mp4

训练使用方法(以Faster_RCNN模型训练、coco2017数据集为例)

数据集介绍

数据集路径:/datasets/coco2017/
COCO通过大量使用Amazon Mechanical Turk来收集数据。COCO数据集现在有3种标注类型:object instances(目标实例), object keypoints(目标上的关键点), 和image captions(看图说话),使用JSON文件存储。

准备COCO2017数据集:

 build coco2017 link:

ln -s /datasets/coco2017/train2017 /root/mmdetection/data/coco/train2017
ln -s /datasets/coco2017/test2017 /root/mmdetection/data/coco/test2017
ln -s /datasets/coco2017/val2017 /root/mmdetection/data/coco/val2017
ln -s /datasets/coco2017/annotations /root/mmdetection/data/coco/annotations

训练语句

需要在tools/train.py后添加os.environ[‘CUDA_VISIBLE_DEVICES’]=‘0,1,2,3,4,5,6,7’,否则会报错。

bash ./tools/dist_train.sh \
    configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    8 \

来源

官方代码库:github地址
官方文档:官方文档

你可能感兴趣的:(人工智能实战操作,深度学习,pytorch,神经网络)