- 计算机视觉
- 深度学习
【免费下载链接】Detectron
FAIR's research platform for object detection research, implementing popular algorithms like Mask R-CNN and RetinaNet.
导读:Detectron 是 Facebook AI Research(FAIR)发布的目标检测研究平台,用 Python 编写、以 Caffe2 为深度学习后端,实现了 Mask R-CNN、RetinaNet、Faster R-CNN、RPN、Fast R-CNN、R-FCN 等主流算法。本文以仓库根目录 README.md 为核心骨架,结合 INSTALL.md、GETTING_STARTED.md、MODEL_ZOO.md、FAQ.md 与源码实现,系统讲解 Detectron 的定位、算法与骨干网络、安装与依赖、预训练模型推理、COCO 数据集训练、多 GPU 并行、Model Zoo 基线及自定义算子开发。读完本文,你将能够独立完成 Detectron 的安装、用预训练模型做单图/批量推理、按线性缩放规则配置 1/2/4/8 GPU 训练,并理解其配置文件的每一个关键参数。
注意:Detectron 已被官方弃用并停止维护,其官方推荐的替代方案是 detectron2——一个在 PyTorch 中从零重写的版本。本文所讲内容均以当前仓库实际代码与文档为准。
Detectron 是什么:研究导向的检测代码库
项目定位
Detectron 的目标是提供一个高质量、高性能、面向研究的目标检测代码库。它并非面向开箱即用的产品化部署,而是设计得足够灵活,以便快速实现和评估新的研究方法。这一研究导向决定了其目录组织、配置体系和代码风格。
支持的算法与骨干网络
README 明确列出 Detectron 实现的检测算法(对应论文可在文末 References 一节查到):
- Mask R-CNN(ICCV 2017 Marr 奖)
- RetinaNet(ICCV 2017 最佳学生论文奖,基于 Focal Loss 的密集检测器)
- Faster R-CNN
- RPN(Region Proposal Network,区域提议网络)
- Fast R-CNN
- R-FCN
支持的骨干网络架构包括:
- ResNeXt{50,101,152}
- ResNet{50,101,152}
- Feature Pyramid Networks(FPN,与 ResNet/ResNeXt 组合使用)
- VGG16
从源码结构看,这些骨干与检测头均可在 detectron/modeling/ 目录中找到对应实现,例如 ResNet.py、FPN.py、VGG16.py、mask_rcnn_heads.py、retinanet_heads.py、rpn_heads.py。额外的骨干架构可以很容易地按同样模式扩展。
与 FAIR 系列研究项目的关系
在 FAIR 内部,Detectron 支撑了大量研究项目,包括 FPN、Mask R-CNN、人体-物体交互检测(HOI)、Focal Loss 密集检测、Non-local 神经网络、Learning to Segment Every Thing、Data Distillation、DensePose 以及 Group Normalization 等。
项目结构速览
仓库根目录的核心组织如下:
- configs/:所有实验的 YAML 配置文件,按基线批次组织(如
12_2017_baselines/、04_2018_gn_baselines/)以及入门教程配置(getting_started/) - detectron/:核心 Python 包,包括
core/(配置与测试引擎)、modeling/(模型构建)、roi_data/(数据加载)、datasets/(数据集与评估)、ops/(自定义算子)、utils/(工具函数)、tests/(测试) - tools/:命令行工具,如 infer_simple.py、test_net.py、train_net.py、infer.py、reval.py、visualize_results.py
- demo/:演示图片与示例输出
- docker/:Dockerfile,用于构建官方 Docker 镜像
- projects/:研究专题目录,如 projects/GN/README.md 提供 Group Normalization 的模型与基线
- 顶层文档:INSTALL.md、GETTING_STARTED.md、MODEL_ZOO.md、FAQ.md、CONTRIBUTING.md
安装 Detectron 与依赖(含 Caffe2 与 COCO)
完整安装步骤在 INSTALL.md 中,核心要点如下。
环境要求
- NVIDIA GPU、Linux、Python2(这是当时 Caffe2 生态的要求,安装前务必确认环境匹配)
- Caffe2、若干标准 Python 包、COCO API
注意:Detectron 的自定义算子目前没有 CPU 实现,因此 GPU 系统是硬性要求;官方在 CUDA 8.0 与 cuDNN 6.0.21 上做过充分测试。
安装 Caffe2
先按 Caffe2 官网指引安装带 CUDA 支持的 Caffe2。如果已安装 Caffe2,务必更新到包含 Detectron 模块的版本(该模块随 Caffe2/PyTorch 仓库分发,包含 GroupNorm、BatchPermutation、SpatialNarrowAs 等专用算子)。
安装后用以下命令自检:
# 检查 Caffe2 是否构建成功 python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure" # 检查 Caffe2 GPU 构建是否成功;必须打印大于 0 的数字才能使用 Detectron python -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'如果caffe2Python 包找不到,通常需要把 Caffe2 的 CMake 构建目录(/path/to/caffe2/build)加入PYTHONPATH。
安装其他依赖
安装 COCO API:
# COCOAPI=/path/to/clone/cocoapi git clone https://github.com/cocodataset/cocoapi.git $COCOAPI cd $COCOAPI/PythonAPI make install # 安装到全局 site-packages # 或者:python setup.py install --user # 无权限时安装到用户目录安装 Detectron
# DETECTRON=/path/to/clone/detectron git clone https://github.com/facebookresearch/detectron $DETECTRON pip install -r $DETECTRON/requirements.txt # 安装 Python 依赖 cd $DETECTRON && make # 设置 Python 模块 # 检查测试是否通过(以 SpatialNarrowAsOp 测试为例) python $DETECTRON/detectron/tests/test_spatial_narrow_as_op.py数据集:通过符号链接接入
Detectron 通过detectron/datasets/data下的符号链接定位数据集。详见 detectron/datasets/data/README.md。以 COCO 为例:
ln -s /path/to/coco $DETECTRON/detectron/datasets/data/coco并要求本地 COCO 目录具有如下结构(coco_train2014/、coco_val2014/图片目录与annotations/instances_train2014.json等标注文件)。如果不满足,也可以逐项建符号链接:
mkdir -p $DETECTRON/detectron/datasets/data/coco ln -s /path/to/coco_train2014 $DETECTRON/detectron/datasets/data/coco/coco_train2014 ln -s /path/to/coco_val2014 $DETECTRON/detectron/datasets/data/coco/coco_val2014 ln -s /path/to/json/annotations $DETECTRON/detectron/datasets/data/coco/annotationsDetectron 使用的自定义minival与valminusminival标注可从官方链接下载(见该 README)。其中minival与 2017 年定义的val集完全等价,valminusminival与 2014train的并集与 2017train集完全等价。PASCAL VOC 与 Cityscapes 的符号链接设置方式同理(VOC 需把标注转为 COCO json 格式)。
高级主题:自定义 Caffe2 算子
Detectron 依赖一批专门的 Caffe2 算子,它们随 Caffe2 的 Detectron 模块分发。如需为研究项目编写自定义算子,参考实现位于 detectron/ops/(如 zero_even_op.cc、zero_even_op.cu),Python 侧加载示例见 detectron/tests/test_zero_even_op.py。
构建自定义算子库并验证:
cd $DETECTRON && make ops python $DETECTRON/detectron/tests/test_zero_even_op.pyDocker 方式
仓库提供了 docker/Dockerfile,可在满足要求的 Caffe2 镜像之上构建 Detectron 镜像:
cd $DETECTRON/docker docker build -t detectron:c2-cuda9-cudnn7 . # 运行镜像(以 BatchPermutationOp 测试为例) nvidia-docker run --rm -it detectron:c2-cuda9-cudnn7 python detectron/tests/test_batch_permutation_op.py安装疑难排查要点
- CMake 找不到 CUDA/cuDNN:构建 Caffe2 或自定义算子时用
-DCUDA_TOOLKIT_ROOT_DIR=/path/to/cuda/toolkit/dir和-DCUDNN_ROOT_DIR=/path/to/cudnn/root/dir显式指定。 - Protobuf 错误:Caffe2 要求 protobuf 3.2.0 或更新版本;较老版本可从 Caffe2 的 protobuf 子模块重新构建并用
-DPROTOBUF_PROTOC_EXECUTABLE、-DPROTOBUF_INCLUDE_DIR、-DPROTOBUF_LIBRARY指定。系统与 anaconda 同时装 protobuf 可能导致版本混用问题。 - Caffe2 Python 二进制问题:用
-DPYTHON_LIBRARY=$(python -c "from distutils import sysconfig; print(sysconfig.get_python_lib())")与-DPYTHON_INCLUDE_DIR=$(python -c "from distutils import sysconfig; print(sysconfig.get_python_inc())")指向 Python 库与头文件目录。 - NNPACK / OpenCV:Detectron 不要求 NNPACK,可用
-DUSE_NNPACK=OFF关闭;OpenCV 同理可用-DUSE_OPENCV=OFF。 - COCO API undefined symbol:通常是系统与 conda 的 Python/numpy 混用导致,注意统一 Python 环境。
- CMake 找不到 Caffe2:确保 Caffe2 安装过程中执行过
make install。 - 算子性能分析:Caffe2 提供 profiling 支持(默认未开启,构建时加
-DUSE_PROF=ON),可用于基准测试与调试算子。
使用预训练模型进行推理
安装完成后即可用 Model Zoo 的预训练模型做推理,教程在 GETTING_STARTED.md。
方式一:对图片目录或单张图片推理
tools/infer_simple.py可对一个目录下的所有图片(如demo/*.jpg)或单张图片执行端到端推理。以下示例使用 Model Zoo 中端到端训练的 Mask R-CNN(ResNet-101-FPN 骨干,2x 学习率计划):
python tools/infer_simple.py \ --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \ --output-dir /tmp/detectron-visualizations \ --image-ext jpg \ --wts https://dl.fbaipublicfiles.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \ demoDetectron 会根据--wts指定的 URL自动下载模型,并把检测结果的可视化(默认 PDF 格式,可用--output-ext改为 jpg/png 等)输出到--output-dir。
从 tools/infer_simple.py 的源码可以看到该工具支持的全部参数:
| 参数 | 作用 | 默认值 |
|---|---|---|
--cfg | 模型配置文件路径(yaml) | 无 |
--wts | 模型权重文件路径或 URL(/path/to/model_weights.pkl) | 无 |
--output-dir | 可视化输出目录 | /tmp/infer_simple |
--image-ext | 输入图片扩展名 | jpg |
--always-out | 即使未检测到物体也输出图片 | False |
--output-ext | 输出图片格式 | pdf |
--thresh | 可视化检测结果的置信度阈值 | 0.7 |
--kp-thresh | 可视化关键点的阈值 | 2.0 |
im_or_folder | 单张图片或图片文件夹路径(必填位置参数) | 无 |
另外从源码可以确认几个行为细节:infer_simple.py会把cfg.NUM_GPUS强制设为 1、拒绝 RPN-only 模型与需要预计算提议(precomputed proposals)的模型,并对第一张图片输出提示——因为 cudnn 等缓存与自动调优需要预热,首张图片的推理会明显慢于后续图片(对应 FAQ.md 中"单图推理偏慢"的解答)。
性能提示(针对高分辨率图片):Mask R-CNN 对高分辨率图片推理较慢,主要耗时在把预测 mask 上采样回原图分辨率(该步骤未优化)。可通过tools/infer_simple.py输出的misc_mask时间诊断——若该时间明显超过 20-90ms,则建议先把图片短边缩放到约 600-800px 再推理。demo 图片的版权信息见 demo/NOTICE。
方式二:在 COCO 数据集上评测
以下命令用 Model Zoo 的端到端 Mask R-CNN 模型、单 GPU 在coco_2014_minival(需已正确安装)上运行推理:
python tools/test_net.py \ --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \ TEST.WEIGHTS https://dl.fbaipublicfiles.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \ NUM_GPUS 1用$N块 GPU 做多卡并行推理(例如 N=8):
python tools/test_net.py \ --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \ --multi-gpu-testing \ TEST.WEIGHTS https://dl.fbaipublicfiles.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \ NUM_GPUS $N官方在 NVIDIA Tesla P100 上测得该示例推理约130-140 ms/图。注意这里通过KEY.VALUE形式直接在命令行覆盖配置项(对应train_net.py/test_net.py中merge_cfg_from_list的机制),NUM_GPUS会决定使用的 GPU 数量。
训练模型:从单卡到多卡
单 GPU 训练入门示例
GETTING_STARTED 提供了一个教学性训练示例:端到端 Faster R-CNN,ResNet-50-FPN 骨干,使用较短训练计划与较小输入尺寸,因此训练与推理都较快(代价是 COCO box AP 低于正式基线,仅供教学,不用于论文对比):
python tools/train_net.py \ --cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml \ OUTPUT_DIR /tmp/detectron-output官方给出的预期结果(以 Maxwell 架构 GPU,如 M40 为参考):
- 模型、验证集检测结果等输出保存在
/tmp/detectron-output - 训练约 4.2 小时
- 推理约 80ms/图
coco_2014_minival上的 box AP 约 22.1%(3 次运行标准差 ±0.1%)
多 GPU 训练与线性缩放规则
仓库提供了 2/4/8 GPU 的等价教学配置:configs/getting_started/tutorial_{2,4,8}gpu_e2e_faster_rcnn_R-50-FPN.yaml。2 GPU 示例:
python tools/train_net.py \ --multi-gpu-testing \ --cfg configs/getting_started/tutorial_2gpu_e2e_faster_rcnn_R-50-FPN.yaml \ OUTPUT_DIR /tmp/detectron-output--multi-gpu-testing指示训练结束后用配置中的NUM_GPUS块 GPU 并行推理。官方预期:训练约 2.3 小时(2 x M40),推理仍约 80ms/图(但 2 卡并行,总耗时减半),box AP 同样约 22.1%。
核心原理:线性缩放规则。阅读教程配置文件可以直观理解不同 GPU 数下学习计划的等价换算。以 configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml 为例,其注释给出了完整换算表:
| GPU 数 | BASE_LR | MAX_ITER | STEPS |
|---|---|---|---|
| 1 | 0.0025 | 60000 | [0, 30000, 40000] |
| 2 | 0.005 | 30000 | [0, 15000, 20000] |
| 4 | 0.01 | 15000 | [0, 7500, 10000] |
| 8 | 0.02 | 7500 | [0, 3750, 5000] |
即:GPU 数翻倍,minibatch 翻倍,基础学习率按相同倍数放大、迭代数减半、学习率下降点按比例前移。这一规则出自论文《Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour》。除教程外,仓库发布的全部正式配置都默认 8 GPU 训练;若你用少于 8 卡(或其他任何改变 minibatch 大小的方式),必须按线性缩放规则调整训练计划。
扩展说明:该教学示例使用的模型 GPU 计算量较小,Caffe2 Python 算子的开销占比高,因此 2 卡到 8 卡的扩展效率一般(8 卡约 0.9 小时,只有 1 卡的 4.5 倍);改用计算密集的大模型后扩展性会更好。
train_net.py 的命令行参数
从 tools/train_net.py 源码可以看到:
--cfg:训练(及可选测试)用的配置文件--multi-gpu-testing:用cfg.NUM_GPUS块 GPU 做推理--skip-test:跳过最终模型测试opts:任意数量的KEY.VALUE命令行覆盖项(如OUTPUT_DIR /tmp/detectron-output、NUM_GPUS 1),机制是merge_cfg_from_list合并到全局配置
训练主流程(main())依次执行:初始化 Caffe2 workspace → 加载配置(文件 + 命令行覆盖)→assert_and_infer_cfg校验并推导配置 → 打印 nvidia-smi/CUDA/cuDNN 信息 → 设置随机种子 →train_model()训练 → 测试最终模型。注意即便设置了 numpy 随机种子,训练整体仍非确定性(部分 cudnn 函数不可控)。
读懂 Detectron 配置文件
教学配置逐项解析
以 configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml 为例:
MODEL: TYPE: generalized_rcnn # 模型类型:通用两阶段检测器 CONV_BODY: FPN.add_fpn_ResNet50_conv5_body # 骨干网络构建函数 NUM_CLASSES: 81 # COCO 80 类 + 背景 FASTER_RCNN: True NUM_GPUS: 1 SOLVER: WEIGHT_DECAY: 0.0001 LR_POLICY: steps_with_decay # 分段衰减学习率策略 BASE_LR: 0.0025 GAMMA: 0.1 # 每次衰减乘 0.1 MAX_ITER: 60000 STEPS: [0, 30000, 40000] # 0 为预热起点,之后在 30k/40k 迭代衰减 FPN: FPN_ON: True MULTILEVEL_ROIS: True # 多层级 RoI 池化 MULTILEVEL_RPN: True # 多层级 RPN FAST_RCNN: ROI_BOX_HEAD: fast_rcnn_heads.add_roi_2mlp_head # 2 个 MLP 全连接层的 box 头 ROI_XFORM_METHOD: RoIAlign ROI_XFORM_RESOLUTION: 7 # RoI 池化输出分辨率 ROI_XFORM_SAMPLING_RATIO: 2 # RoIAlign 采样率 TRAIN: WEIGHTS: https://dl.fbaipublicfiles.com/detectron/ImageNetPretrained/MSRA/R-50.pkl # 预训练权重 DATASETS: ('coco_2014_train',) SCALES: (500,) # 训练尺度:短边 500px MAX_SIZE: 833 # 长边上限 BATCH_SIZE_PER_IM: 256 # 每图 RoI 采样数 RPN_PRE_NMS_TOP_N: 2000 # NMS 前每个 FPN 层保留的候选数 TEST: DATASETS: ('coco_2014_minival',) SCALE: 500 MAX_SIZE: 833 NMS: 0.5 # 检测结果 NMS 阈值 RPN_PRE_NMS_TOP_N: 1000 RPN_POST_NMS_TOP_N: 1000 OUTPUT_DIR: .所有配置项的完整定义与默认值见 detectron/core/config.py,命令行覆盖项(opts)也以该文件为准。
正式基线配置要点
正式基线(如 configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml)与教学配置的差异值得对比:
NUM_GPUS: 8,BASE_LR: 0.02,MAX_ITER: 180000,STEPS: [0, 120000, 160000](即文档所称 2x 计划,180k 迭代)- 增加
MASK_ON: True与MRCNN:段:mask 头为mask_rcnn_heads.mask_rcnn_fcn_head_v1up4convs,输出分辨率 28、RoI 输入分辨率 14、DILATION 1、CONV_INIT MSRAFill(注释标出与默认值的差异) TRAIN.SCALES: (800,)、MAX_SIZE: 1333,训练集为coco_2014_train与coco_2014_valminusminival的并集TRAIN.WEIGHTS指向 MSRA 的 R-101 预训练权重(ImageNet)
Model Zoo:12_2017_baselines 基线与可下载模型
仓库提供了大量基线结果与预训练模型,详见 MODEL_ZOO.md,官方统称为12_2017_baselines(2017 年 12 月左右训练),所有配置位于 configs/12_2017_baselines/。
统一实验设置
- 硬件:8 块 NVIDIA Tesla P100(16GB 显存,CUDA 8.0,cuDNN 6.0.21)的 Big Basin 服务器
- 训练:8 GPU 数据并行同步 SGD,minibatch 为 8 或 16 张图(见各表
im/gpu列) - 数据增强:训练仅用水平翻转;推理不使用任何测试时增强(多尺度、翻转等)
- 数据划分:全部模型在
coco_2014_train∪coco_2014_valminusminival上训练(等价于 2017 定义的coco_2017_train),在coco_2014_minival上测试(等价于coco_2017_val) - 推理时间用 "X + Y" 表示:X 为优化较好的 GPU 代码耗时,Y 为未优化的 CPU 代码耗时(后者可通过工程优化大幅压缩)
- 结果(boxes/masks/kps)均为 COCO json 格式;任意下载 URL 后追加
.md5sum可获取 md5 校验值
训练计划定义
- 1x:minibatch 16 时,初始 LR 0.02,60k 与 80k 迭代各衰减一次(乘 0.1),90k 迭代结束;对应 118,287 张训练图上的 12.17 个 epoch
- 2x:1x 的两倍时长,LR 变化点按比例平移
- s1x("stretched 1x"):把 1x 大约拉伸 1.44 倍,同时延长首个学习率阶段;minibatch 16 时在 100k 与 120k 迭代衰减,130k 迭代结束
所有计划都包含 500 迭代的线性学习率预热。minibatch 在 8 与 16 之间切换时,按线性缩放规则调整迭代数与基础学习率。
基线族系
Model Zoo 依次给出:
- RPN 提议基线:单阶段 RPN,指标为 1000 proposals/图的提议平均召回(prop. AR),推理时间仅含提议生成
- 使用预计算 RPN 提议的 Fast & Mask R-CNN 基线:每行复用同骨干的 RPN 提议,推理时间不含提议生成
- 端到端 Faster & Mask R-CNN 基线:RPN 与检测器联合训练,推理时间为从图像到检测的完整耗时(含提议生成)
- RetinaNet 基线:单阶段密集检测器
- Mask R-CNN with Bells & Whistles:ResNeXt-152-32x8d-FPN(ImageNet-5k 预训练骨干),训练用多尺度抖动 {640, 672, 704, 736, 768, 800},测试时多尺度 {400, 500, 600, 700, 900, 1000, 1100, 1200} 加水平翻转;第二行给出同一模型无测试时增强的结果(45.2/39.7 box/mask AP vs 增强版 48.1/41.5)
- 关键点检测基线:训练启用多尺度抖动、只用含有效关键点标注的人像图、指标仅针对 person 类,含 Person-Specific RPN、基于预计算提议的 Keypoint-Only Mask R-CNN、端到端 Keypoint-Only Mask R-CNN 三个子类
例如端到端 Mask R-CNN R-101-FPN 2x(model id 35861858,即 GETTING_STARTED 推理示例所用模型)在coco_2014_minival上的 box/mask AP 为 40.9/36.4,推理 0.126+0.017 s/图;每行均提供 model.pkl 与 boxes/masks/kps 结果 json 的下载链接。下载模型的许可为 CC-BY-SA 3.0。另有 ImageNet 预训练骨干模型(R-50/R-101/X-101-64x4d/X-101-32x8d/X-152-32x8d-IN5k)与训练/推理日志包可供下载。
附录
常见问题(FAQ)要点
FAQ.md 收录了以下高频问题与官方解答:
- 训练中如何计算验证 AP?Detectron 训练时不算验证统计(会拖慢训练);官方用"validation monitor"进程轮询新 checkpoint 并异步调度
tools/test_net.py推理,但该组件未开源(依赖内部集群)。 - 如何限制只用服务器上部分 GPU?不改代码,直接用
CUDA_VISIBLE_DEVICES环境变量。 - 单图推理为何比报告值慢很多?各类算法与缓存(如 cudnn)需要预热,处理几张图后才达峰值;此外高分辨率 Mask R-CNN 推理慢可归因于 mask 上采样(诊断
misc_mask,建议缩图到短边 600-800px)。 - 如何实现自定义 Caffe2 CPU/GPU 算子?参考 detectron/ops/ 下的玩具示例(zero_even_op)与 detectron/tests/test_zero_even_op.py,并阅读 Caffe2 自定义算子文档。
- 如何在自定义数据集上训练?强烈建议先把标注转为 COCO API json 格式,再把数据集加入 detectron/datasets/dataset_catalog.py 的 dataset catalog;无法转换则需要更大幅度的代码改动。
相关研究论文(References)
Detectron 支撑的算法与骨干对应的代表性论文(完整 BibTeX 与出处见 README.md 与 GETTING_STARTED.md 中的引用信息):
- Data Distillation: Towards Omni-Supervised Learning(Radosavovic 等,2017)
- Learning to Segment Every Thing(Hu 等,2017)
- Non-Local Neural Networks(Wang 等,2017)
- Mask R-CNN(He 等,ICCV 2017)
- Focal Loss for Dense Object Detection(Lin 等,ICCV 2017)
- Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour(Goyal 等,2017)
- Detecting and Recognizing Human-Object Interactions(Gkioxari 等,2017)
- Feature Pyramid Networks for Object Detection(Lin 等,CVPR 2017)
- Aggregated Residual Transformations for Deep Neural Networks / ResNeXt(Xie 等,CVPR 2017)
- R-FCN(Dai 等,NIPS 2016)
- Deep Residual Learning for Image Recognition / ResNet(He 等,CVPR 2016)
- Faster R-CNN(Ren 等,NIPS 2015)
- Fast R-CNN(Girshick,ICCV 2015)
- Group Normalization(Wu 与 He,2018,见 projects/GN/README.md)
引用 Detectron(BibTeX)
若研究中使用了 Detectron 或引用其 Model Zoo 基线结果,官方建议使用如下 BibTeX:
@misc{Detectron2018, author = {Ross Girshick and Ilija Radosavovic and Georgia Gkioxari and Piotr Doll\'{a}r and Kaiming He}, title = {Detectron}, howpublished = {\url{https://github.com/facebookresearch/detectron}}, year = {2018} }许可证与帮助渠道
Detectron 以Apache 2.0 许可证发布,附加细节见 NOTICE。遇到问题先查 INSTALL.md 的 troubleshooting 章节与 FAQ.md,再搜索官方 GitHub issues(社区共同排查问题的论坛);提交 bug 修复欢迎以 Pull Request 形式贡献(包括往 FAQ.md 补充 Q&A、改进安装与排查文档),贡献规范见 CONTRIBUTING.md。
- 计算机视觉
- 深度学习
【免费下载链接】Detectron
FAIR's research platform for object detection research, implementing popular algorithms like Mask R-CNN and RetinaNet.
相关推荐
Detectron2 平台全解析:FAIR 下一代目标检测与分割框架的安装、推理、训练与模型仓库
Detectron2 平台全解析:FAIR 下一代目标检测与分割框架的安装、推理、训练与模型仓库 Detectron2 是 Facebook AI Resear
人工智能计算机视觉深度学习机器学习TorchVision SSDLite 目标检测实战指南:SSDLite320-MobileNetV3-Large 架构解析、权重体系与训练推理全流程
TorchVision SSDLite 目标检测实战指南:SSDLite320 MobileNetV3 Large 架构解析、权重体系与训练推理全流程 SSDL
计算机视觉深度学习图像处理数据集YOLOv8 实时目标检测模型全解析:架构特性、模型变体与训练推理实战
YOLOv8 实时目标检测模型全解析:架构特性、模型变体与训练推理实战 YOLOv8 是 YOLO 实时目标检测系列的最新迭代版本,以"精度与速度的最优平衡"为
人工智能深度学习计算机视觉
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考