变更日志 v2.x¶
v2.25.0 (2022 年 5 月 31 日)¶
亮点¶
支持专用
WandbLogger
hook支持 ConvNeXt、DDOD、SOLOv2
支持 Mask2Former 用于实例分割
重命名 Mask2Former 的配置文件
向后不兼容的更改¶
重命名 Mask2Former 的配置文件 (#7571)
v2.25.0 之前 v2.25.0 之后 mask2former_xxx_coco.py
代表用于 **全景分割** 的配置文件。
mask2former_xxx_coco.py
代表用于 **实例分割** 的配置文件。mask2former_xxx_coco-panoptic.py
代表用于 **全景分割** 的配置文件。
新功能¶
支持 ConvNeXt (#7281)
支持 DDOD (#7279)
支持 SOLOv2 (#7441)
支持 Mask2Former 用于实例分割 (#7571, #8032)
错误修复¶
在不同设备上启用 YOLOX 训练 (#7912)
修复使用
interval != 1
进行评估时的日志绘图错误 (#7784)修复 HTC 的 RuntimeError (#8083)
改进¶
支持专用
WandbLogger
hook (#7459)用户可以在配置文件中设置
cfg.log_config.hooks = [ dict(type='MMDetWandbHook', init_kwargs={'project': 'MMDetection-tutorial'}, interval=10, log_checkpoint=True, log_checkpoint_metadata=True, num_eval_images=10)]
以使用
MMDetWandbHook
。示例可以在此 colab 教程 中找到添加
AvoidOOM
以避免 OOM (#7434, #8091)尝试使用
AvoidCUDAOOM
以避免 GPU 内存不足。它将在调用torch.cuda.empty_cache()
后重试。如果仍然失败,它将通过将输入类型转换为 FP16 格式来重试。如果仍然失败,它将尝试将输入从 GPU 复制到 CPU 以继续计算。尝试在代码中使用 AvoidOOM,以便在 GPU 内存不足时继续运行代码from mmdet.utils import AvoidCUDAOOM output = AvoidCUDAOOM.retry_if_cuda_oom(some_function)(input1, input2)
用户也可以尝试使用
AvoidCUDAOOM
作为装饰器,以便在 GPU 内存不足时继续运行代码from mmdet.utils import AvoidCUDAOOM @AvoidCUDAOOM.retry_if_cuda_oom def function(*args, **kwargs): ... return xxx
支持从
cfg.evaluation.gpu_collect
读取gpu_collect
(#7672)通过加速数据加载阶段来加速视频推理 (#7832)
支持将
${key}
替换为cfg.key
的值 (#7492)在
analyze_result.py
中加速结果分析。评估时间提高了 10 ~ 15 倍,现在只需要 10 ~ 15 分钟即可完成任务。(#7891)支持在
DilatedEncoder
中设置block_dilations
(#7812)支持全景分割结果分析 (#7922)
发布带有 Swin-Large 主干的 DyHead (#7733)
文档更新和添加
修复
SwinTransformer
中act_cfg
的错误默认类型 (#7794)修复教程中的文字错误 (#7959)
重写 安装指南 (#7897)
有用的钩子 (#7810)
修复文档中的标题锚点 (#8006)
用
mdformat
替换markdownlint
以避免安装 ruby (#8009)
贡献者¶
总共有 20 位开发人员为此次发布做出了贡献。
感谢 @ZwwWayne、@DarthThomas、@solyaH、@LutingWang、@chenxinfeng4、@Czm369、@Chenastron、@chhluo、@austinmw、@Shanyaliux @hellock、@Y-M-Y、@jbwang1997、@hhaAndroid、@Irvingao、@zhanggefan、@BIGWangYuDong、@Keiku、@PeterVennerstrom、@ayulockin
v2.24.0 (2022 年 4 月 26 日)¶
亮点¶
支持根据 GPU 数量和每个 GPU 的样本数自动缩放 LR
支持类感知采样器,它可以提高 OpenImages 数据集的性能
新功能¶
支持 简单复制粘贴是实例分割的一种强大数据增强方法,请参阅 示例配置文件 (#7501)
支持类感知采样器,用户可以在配置文件中设置
data=dict(train_dataloader=dict(class_aware_sampler=dict(num_sample_class=1))))
以使用
ClassAwareSampler
。示例可以在 OpenImages 数据集的配置文件 中找到。(#7436)支持根据 GPU 数量和每个 GPU 的样本数自动缩放 LR。(#7482) 在每个配置文件中,都有一个与之对应的自动缩放 LR 的配置文件,如下所示,
auto_scale_lr = dict(enable=True, base_batch_size=N)
其中
N
是配置文件中使用的批处理大小(也等于samples_per_gpu
* GPU 数量,用于训练此配置文件)。默认情况下,我们设置enable=False
,因此原始用法不会受到影响。用户可以在每个配置文件中设置enable=True
,或者在命令行后添加--auto-scale-lr
来启用此功能,并且应该检查自定义配置文件中base_batch_size
的正确性。支持在配置文件中设置数据加载器参数,并添加函数来处理配置文件兼容性。(#7668) 旧用法和新用法的比较如下所示。
v2.23.0 v2.24.0 data = dict( samples_per_gpu=64, workers_per_gpu=4, train=dict(type='xxx', ...), val=dict(type='xxx', samples_per_gpu=4, ...), test=dict(type='xxx', ...), )
# A recommended config that is clear data = dict( train=dict(type='xxx', ...), val=dict(type='xxx', ...), test=dict(type='xxx', ...), # Use different batch size during inference. train_dataloader=dict(samples_per_gpu=64, workers_per_gpu=4), val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2), test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2), ) # Old style still works but allows to set more arguments about data loaders data = dict( samples_per_gpu=64, # only works for train_dataloader workers_per_gpu=4, # only works for train_dataloader train=dict(type='xxx', ...), val=dict(type='xxx', ...), test=dict(type='xxx', ...), # Use different batch size during inference. val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2), test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2), )
支持内存分析钩子。用户可以使用它来监控训练期间的内存使用情况,如下所示 (#7560)
custom_hooks = [ dict(type='MemoryProfilerHook', interval=50) ]
支持在带有 MLU 芯片的 PyTorch 上运行 (#7578)
支持使用标签重新拆分数据批次 (#7641)
支持
DiceCost
,该方法由 K-Net 在MaskHungarianAssigner
中使用 (#7716)支持拆分 COCO 数据以用于半监督目标检测 (#7431)
支持 Pathlib 用于 Config.fromfile (#7685)
支持在 OpenImages 数据集中使用文件客户端 (#7433)
在 Mosaic 转换中添加概率参数 (#7371)
支持在
Resize
管道中指定插值模式 (#7585)
错误修复¶
避免 deform_sampling 后的无效 bbox (#7567)
修复导出混淆矩阵时参数 color_theme 不起作用的问题 (#7701)
修复 Necks 中的
end_level
,它应该是结束输入主干级别的索引 (#7502)修复了
mix_results
在MultiImageMixDataset
中可能为 None 的 bug (#7530)修复了 ResNet 插件中使用两个插件时的 bug (#7797)
改进¶
增强了 analyze_logs.py 中的
load_json_logs
用于恢复训练日志 (#7732)在 image_demo.py 中添加了参数
out_file
(#7676)允许使用
SimOTAAssigner
进行混合精度训练 (#7516)将 INF 更新为 100000.0,与官方 YOLOX 中的相同 (#7778)
添加了以下内容的文档:
如何获取新主干的通道数 (#7642)
如何解冻主干网络 (#7570)
如何训练 fast_rcnn 模型 (#7549)
可变形 DETR 中的 proposals (#7690)
get_started.md 中的从头开始安装脚本 (#7575)
发布以下内容的预训练模型:
Mask2Former (#7595, #7709)
带有 ResNet-18 的 RetinaNet 和发布模型 (#7387)
带有 EfficientNet 主干的 RetinaNet (#7646)
贡献者¶
共有 27 位开发者为本次发布做出了贡献。感谢 @jovialio、@zhangsanfeng2022、@HarryZJ、@jamiechoi1995、@nestiank、@PeterH0323、@RangeKing、@Y-M-Y、@mattcasey02、@weiji14、@Yulv-git、@xiefeifeihu、@FANG-MING、@meng976537406、@nijkah、@sudz123、@CCODING04、@SheffieldCao、@Czm369、@BIGWangYuDong、@zytx121、@jbwang1997、@chhluo、@jshilong、@RangiLyu、@hhaAndroid、@ZwwWayne
v2.23.0 (2022 年 3 月 28 日)¶
亮点¶
支持 Mask2Former: Masked-attention Mask Transformer for Universal Image Segmentation
支持 EfficientNet: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
支持通过环境变量
MMDET_DATASETS
设置数据根目录,用户不再需要修改配置文件中的相应路径。为使用 Torchvision 预训练的高精度 ResNet 主干找到了一种好的微调方案。
新功能¶
支持 Mask2Former(#6938)(#7466)(#7471)
支持 EfficientNet (#7514)
支持通过环境变量
MMDET_DATASETS
设置数据根目录,用户不再需要修改配置文件中的相应路径。 (#7386)支持为不同的排名设置不同的种子 (#7432)
更新了
dist_train.sh
,以便该脚本可以用于在没有 slurm 的机器上支持启动多节点训练 (#7415)为使用 Torchvision 预训练的高精度 ResNet 主干找到了一种好的微调方案 (#7489)
错误修复¶
修复了 VOC 单元测试中删除数据目录的错误 (#7270)
调整了
get_classes
和FileClient
的顺序 (#7276)将 yolox_head 中
get_bboxes
的输入强制转换为 float32 (#7324)修复了 LoadPanopticAnnotations 中参数位置错误的问题 (#7388)
修复了 CELoss 中 reduction=mean 的问题。 (#7449)
更新了 CrossEntropyCost 的单元测试 (#7537)
修复了全景分割评估中的内存泄漏问题 (#7538)
修复了 YOLOv3 中形状广播的错误 (#7551)
改进¶
添加了 onnx2tensorrt.md 的中文版 (#7219)
更新了 Colab 教程 (#7310)
更新了关于定位蒸馏的信息 (#7350)
添加了
finetune.md
的中文版 (#7178)更新了非正方形输入的 YOLOX 日志 (#7235)
在
coco_panoptic.py
中添加了nproc
用于计算全景质量 (#7315)允许在 LoadImageFromFile 中设置 channel_order (#7258)
将点采样相关函数从 mask_point_head 中分离出来 (#7353)
为 coco_panoptic 添加了实例评估 (#7313)
增强了 analyze_logs.py 的鲁棒性 (#7407)
同步随机种子的补充说明 (#7440)
更新了交叉熵损失的文档字符串 (#7472)
更新了 Pascal VOC 结果 (#7503)
我们创建了“如何操作”文档来记录有关“如何做 xxx”的任何问题。在本版本中,我们添加了
如何使用 Mosaic 增强 (#7507)
如何使用 mmcls 中的主干 (#7438)
如何在 COCO test-dev 集上生成和提交全景分割模型的预测结果 (#7430)
贡献者¶
共有 27 位开发者为本次发布做出了贡献。感谢 @ZwwWayne、@haofanwang、@shinya7y、@chhluo、@yangrisheng、@triple-Mu、@jbwang1997、@HikariTJU、@imflash217、@274869388、@zytx121、@matrixgame2018、@jamiechoi1995、@BIGWangYuDong、@JingweiZhang12、@Xiangxu-0103、@hhaAndroid、@jshilong、@osbm、@ceroytres、@bunge-bedstraw-herb、@Youth-Got、@daavoo、@jiangyitong、@RangiLyu、@CCODING04、@yarkable
v2.22.0 (2022 年 2 月 24 日)¶
亮点¶
支持 MaskFormer: Per-Pixel Classification is Not All You Need for Semantic Segmentation (#7212)
支持 DyHead: Dynamic Head: Unifying Object Detection Heads with Attentions (#6823)
发布了使用 ResNet Strikes Back 预训练的目标检测器中的 ResNet 的良好方案,该方案与 RetinaNet、Faster/Mask/Cascade Mask R-CNN 相比,始终带来了大约 3~4 个 mAP 的提升 (#7001)
支持 Open Images Dataset (#6331)
支持 TIMM 主干: PyTorch Image Models (#7020)
新功能¶
支持 MaskFormer (#7212)
支持 DyHead (#6823)
支持 ResNet Strikes Back (#7001)
支持 OpenImages Dataset (#6331)
支持 TIMM backbone (#7020)
支持全景分割的可视化 (#7041)
重大变更¶
为了支持全景分割的可视化,使用 get_palette
函数来确定是否使用全景调色板时,num_classes
不能为 None
。
错误修复¶
修复了当
key_score
为 None 时,无法保存最佳检查点的错误 (#7101)修复了 MixUp 变换过滤器框失败的情况 (#7080)
在 SABLHead 中添加了缺少的属性 (#7091)
修复了混淆矩阵中存在 NaN 时的错误 (#7147)
修复了下游任务中的 PALETTE AttributeError (#7230)
改进¶
加速 SimOTA 匹配 (#7098)
添加了
docs_zh-CN/tutorials/init_cfg.md
的中文翻译 (#7188)
贡献者¶
共有 20 位开发者为本次发布做出了贡献。感谢 @ZwwWayne、@hhaAndroid、@RangiLyu、@AronLin、@BIGWangYuDong、@jbwang1997、@zytx121、@chhluo、@shinya7y、@LuooChen、@dvansa、@siatwangmin、@del-zhenwu、@vikashranjan26、@haofanwang、@jamiechoi1995、@HJoonKwon、@yarkable、@zhijian-liu、@RangeKing
v2.21.0 (2022 年 2 月 8 日)¶
重大变更¶
为了标准化 OpenMMLab 项目中配置文件的 README 和元数据文件的内容,每个配置文件目录中的 README 和元数据文件已发生重大变化。该模板将在未来发布,目前,您可以参考以下内容的 README 示例:算法、数据集 和 主干。为了与标准保持一致,dcn 中的配置文件被放入了两个名为 dcn
和 dcnv2
的目录中。
新功能¶
允许在可视化期间自定义不同类别的颜色 (#6716)
支持 CPU 训练 (#7016)
添加了 COCO、LVIS 和 VOC 数据集的下载脚本 (#7015)
错误修复¶
修复了带有 Swin-S 的 RetinaNet 的权重转换问题 (#6973)
更新了
__repr__
的Compose
(#6951)修复了构建 Docker 时的 BadZipFile 错误 (#6966)
修复了非分布式多 GPU 训练/测试中的错误 (#7019)
修复了 PyTorch 1.10 中的 bbox 钳位问题 (#7074)
放宽了数据集包装器中 PALETTE 的要求 (#7085)
在 PAA 头中重新分配之前保留相同的权重 (#7032)
更新了文档中的代码演示 (#7092)
改进¶
通过允许设置多处理的变量来加速训练 (#6974, #7036)
在 readme 中添加了中文教程的链接 (#6897)
默认情况下禁用 cv2 多处理以进行加速 (#6867)
弃用对“python setup.py test”的支持 (#6998)
重新组织元数据文件和配置文件的 readme (#7051)
通过添加
SigmoidGeometricMean
来修复 TOOD 训练期间的 None grad 问题 (#7090)
贡献者¶
共有 26 位开发者为本次发布做出了贡献。感谢 @del-zhenwu、@zimoqingfeng、@srishilesh、@imyhxy、@jenhaoyang、@jliu-ac、@kimnamu、@ShengliLiu、@garvan2021、@ciusji、@DIYer22、@kimnamu、@q3394101、@zhouzaida、@gaotongxiao、@topsy404、@AntoAndGar、@jbwang1997、@nijkah、@ZwwWayne、@Czm369、@jshilong、@RangiLyu、@BIGWangYuDong、@hhaAndroid、@AronLin
v2.20.0 (2021 年 12 月 27 日)¶
新功能¶
支持 TOOD: Task-aligned One-stage Object Detection (ICCV 2021 Oral) (#6746)
支持从最新检查点自动恢复 (#6727)
错误修复¶
修复了 PAA 头的错误 bbox
loss_weight
(#6744)修复了批次合并中
gt_semantic_seg
的填充值问题 (#6837)修复了使用
classwise
时 lvis 的测试错误 (#6845)避免
get_local_path
的 BC-breaking (#6719)修复了当 BN 层不存在时,
sync_norm_hook
中的错误 (#6852)无论平台如何,都直接使用 pycocotools (#6838)
改进¶
为 SimOTA 添加了没有有效 bbox 的单元测试 (#6770)
使用 precommit 检查 readme (#6802)
支持在非分布式测试时间选择 GPU-id (#6781)
贡献者¶
共有 16 位开发者为本次发布做出了贡献。感谢 @ZwwWayne、@Czm369、@jshilong、@RangiLyu、@BIGWangYuDong、@hhaAndroid、@jamiechoi1995、@AronLin、@Keiku、@gkagkos、@fcakyon、@www516717402、@vansin、@zactodd、@kimnamu、@jenhaoyang
v2.19.1 (2021 年 12 月 14 日)¶
新功能¶
发布 YOLOX COCO 预训练模型 (#6698)
错误修复¶
修复 DenseHead 中的 DCN 初始化 (#6625)
修复 ConvFCHead 的初始化 (#6624)
修复 RCNN 中的 PseudoSampler (#6622)
修复 Swin 和 PVT 中的权重初始化 (#6663)
修复 BaseDenseHead 中的 dtype 错误 (#6767)
修复 SimOTA 无有效 bbox 的问题 (#6733)
改进¶
添加将 swin 和单阶段模型结合的示例 (#6621)
在 dataset_wrappers 中添加
get_ann_info
(#6526)支持在 YOLOX 的多尺度训练中保持图像比例 (#6732)
支持 YOLOX 增强中的
bbox_clip_border
(#6730)
文档¶
更新元文件 (#6717)
在 readme 中添加 mmhuman3d (#6699)
更新 FAQ 文档 (#6587)
添加
detect_anomalous_params
的文档 (#6697)
贡献者¶
共有 11 位开发人员贡献了此版本。感谢 @ZwwWayne,@LJoson,@Czm369,@jshilong,@ZCMax,@RangiLyu,@BIGWangYuDong,@hhaAndroid,@zhaoxin111,@GT9505,@shinya7y
v2.19.0 (2021/11/29)¶
错误修复¶
修复重复输出警告消息的问题 (#6584)
避免在分布式训练中无限等待 GPU (#6501)
修复 SSD512 配置错误 (#6574)
修复 MMDetection 模型到 ONNX 的命令 (#6558)
改进¶
重构 FP16 模型的配置 (#6592)
将准确率与更新后的官方 YOLOX 对齐 (#6443)
使用 PhotoMetricDistortion 时,加快训练速度并减少内存消耗。 (#6442)
使 OHEM 与 seesaw 损失一起工作 (#6514)
文档¶
更新 README.md (#6567)
贡献者¶
共有 11 位开发人员贡献了此版本。感谢 @FloydHsiu,@RangiLyu,@ZwwWayne,@AndreaPi,@st9007a,@hachreak,@BIGWangYuDong,@hhaAndroid,@AronLin,@chhluo,@vealocia,@HarborYuan,@st9007a,@jshilong
v2.18.1 (2021/11/15)¶
错误修复¶
修复预测 bbox 数为 0 时,aug 测试错误 (#6398)
修复 PVT 中的 SpatialReductionAttention (#6488)
修复 PVT 和 Swin-Transformer 中错误使用
trunc_normal_init
(#6432)
改进¶
将 COCO API 的打印的 AP 信息保存到记录器 (#6505)
在加载检查点时始终将位置映射到 cpu (#6405)
在用户未设置种子时设置随机种子 (#6457)
文档¶
Corruption Benchmarking 的中文版 (#6375)
修复文档中的配置路径 (#6396)
更新 GRoIE 自述文件 (#6401)
贡献者¶
共有 11 位开发人员贡献了此版本。感谢 @st9007a,@hachreak,@HarborYuan,@vealocia,@chhluo,@AndreaPi,@AronLin,@BIGWangYuDong,@hhaAndroid,@RangiLyu,@ZwwWayne
v2.18.0 (2021/10/27)¶
亮点¶
支持 QueryInst (#6050)
重构密集头部,将 onnx 导出逻辑与
get_bboxes
分离,并加快推理速度 (#5317, #6003, #6369, #6268, #6315)
错误修复¶
修复 fcn_mask_head 中的 init_weight (#6378)
修复 RPN 的 imshow_bboxes 中的类型错误 (#6386)
修复 MMDetection 教程中损坏的 colab 链接 (#6382)
确保 scale_factor 的设备和 dtype 与 bboxes 相同 (#6374)
移除采样硬编码 (#6317)
修复 RandomAffine bbox 坐标校正 (#6293)
修复 convfc 头部中最终 cls/reg 层的初始化错误 (#6279)
修复 auto_augment 中 img_shape 损坏 (#6259)
修复 two_stage 中缺少 kwargs 参数错误 (#6256)
改进¶
统一东西头部和全景头部接口 (#6308)
润色自述文件 (#6243)
添加代码拼写预提交钩子并修复一个拼写错误 (#6306)
修复拼写错误 (#6245, #6190)
修复采样器单元测试 (#6284)
修复 YOLACT 的
forward_dummy
以启用get_flops
(#6079)修复配置文档中的链接错误 (#6252)
调整顺序以美化文档 (#6195)
重构¶
重构单阶段 get_bboxes 逻辑 (#5317)
重构单阶段模型的 ONNX 导出 (#6003, #6369)
重构 dense_head 并加速 (#6268)
迁移到在密集头的训练中使用 prior_generator (#6315)
贡献者¶
共有 18 位开发人员贡献了此版本。感谢 @Boyden,@onnkeat,@st9007a,@vealocia,@yhcao6,@DapangpangX,@yellowdolphin,@cclauss,@kennymckormick,@pingguokiller,@collinzrj,@AndreaPi,@AronLin,@BIGWangYuDong,@hhaAndroid,@jshilong,@RangiLyu,@ZwwWayne
v2.17.0 (2021/09/28)¶
新功能¶
错误修复¶
修复
model_wrappers
中的函数命名错误 (#5975)修复输入为空张量时的回归损失错误 (#5976)
修复
centernet_head
中的分数不连续错误 (#6016)修复
imshow_bboxes
中缺少参数的错误 (#6034)修复
HTC
的aug_test
中的错误,当det_bboxes
的长度为 0 时 (#6088)修复一些两阶段模型训练中的空提案错误 (#5941)
修复
ONNX
动态形状导出中的dynamic_axes
参数错误 (#6104)修复
SyncRandomSizeHook
的dynamic_shape
错误 (#6144)修复配置中 Swin Transformer 配置链接错误 (#6172)
改进¶
在
Mosaic
变换中添加过滤规则 (#5897)在 get flops 中添加大小除数以避免一些潜在的错误 (#6076)
添加
docs_zh-CN/tutorials/customize_dataset.md
的中文翻译 (#5915)添加
conventions.md
的中文翻译 (#5825)添加数据管道输出的描述 (#5886)
在
PanopticFPN
的 README 文件中添加数据集信息 (#5996)添加
DropBlock
层的extra_repr
以在模型打印中获得详细信息 (#6140)修复 CI 内存不足并添加 PyTorch1.9 Python3.9 单元测试 (#5862)
修复一些模型的下载链接错误 (#6069)
改进 XML 数据集的泛化能力 (#5943)
润色断言错误消息 (#6017)
通过
albumentations
移除opencv-python-headless
依赖项 (#5868)在变换单元测试中检查 dtype (#5969)
将文档的默认主题替换为 PyTorch Sphinx 主题 (#6146)
更新元文件中的论文和代码字段 (#6043)
支持自定义分割图的填充值 (#6152)
支持调整多个分割图的大小 (#5747)
贡献者¶
共有 24 位开发人员贡献了此版本。感谢 @morkovka1337,@HarborYuan,@guillaumefrd,@guigarfr,@www516717402,@gaotongxiao,@ypwhs,@MartaYang,@shinya7y,@justiceeem,@zhaojinjian0000,@VVsssssk,@aravind-anantha,@wangbo-zhao,@czczup,@whai362,@czczup,@marijnl,@AronLin,@BIGWangYuDong,@hhaAndroid,@jshilong,@RangiLyu,@ZwwWayne
v2.16.0 (2021/08/30)¶
亮点¶
支持 全景 FPN 和 Swin Transformer
新功能¶
支持 全景 FPN 并发布模型 (#5577, #5902)
支持 Swin Transformer 主干网络 (#5748)
发布使用多尺度 3x 计划预训练的 RetinaNet 模型 (#5636)
添加脚本将未标记图像列表转换为 coco 格式 (#5643)
添加钩子以检查损失值是否有效 (#5674)
添加 YOLO 锚优化工具 (#5644)
支持导出不带后处理的 onnx 模型。 (#5851)
支持 CocoPanopticDataset 中的类别级评估 (#5896)
为连接的数据集调整 browse_dataset。 (#5935)
添加
PatchEmbed
和PatchMerging
,并使用AdaptivePadding
(#5952)
错误修复¶
修复 YOLOX 的单元测试 (#5859)
修复
imshow_det_bboxes
中的随机性损失 (#5845)使
ImageToTensor
的输出结果连续 (#5756)修复在某些情况下 RoIHead 中调用
regress_by_class
时的推理错误 (#5884)修复 CIoU 损失中的错误,其中 alpha 不应具有梯度。 (#5835)
修复 HRNet 中
multiscale_output
被定义但未使用的问题 (#5887)将 EvalHook 的优先级设置为 LOW。 (#5882)
修复测试模式下应用 bbox 重新缩放时的 YOLOX 错误 (#5899)
修复马赛克坐标错误 (#5947)
修复 RandomAffine 中 bbox 的数据类型。 (#5930)
改进¶
添加
data_pipeline
的中文版本和 (#5662)支持在发布模型时移除 EMA 的状态字典。 (#5858)
重构 HTC 和 SCNet 中的损失函数 (#5881)
使用警告代替 logger.warning (#5540)
在 VOC 的度量标准中使用传统坐标 (#5627)
添加 customize_losses 的中文版本 (#5826)
添加 model_zoo 的中文版本 (#5827)
贡献者¶
共有 19 位开发者为本次发布做出了贡献。感谢 @ypwhs, @zywvvd, @collinzrj, @OceanPang, @ddonatien, @@haotian-liu, @viibridges, @Muyun99, @guigarfr, @zhaojinjian0000, @jbwang1997,@wangbo-zhao, @xvjiarui, @RangiLyu, @jshilong, @AronLin, @BIGWangYuDong, @hhaAndroid, @ZwwWayne
v2.15.1 (11/8/2021)¶
错误修复¶
更新正确的 SSD 模型。 (#5789)
修复掩码结构中的类型转换错误 (#5820)
修复 MMCV 部署文档链接。 (#5790)
改进¶
在 TorchServe dockerfile 中使用动态 MMCV 下载链接 (#5779)
将函数
upsample_like
重命名为interpolate_as
以便于更广泛的应用 (#5788)
贡献者¶
共有 14 位开发者为本次发布做出了贡献。感谢 @HAOCHENYE, @xiaohu2015, @HsLOL, @zhiqwang, @Adamdad, @shinya7y, @Johnson-Wang, @RangiLyu, @jshilong, @mmeendez8, @AronLin, @BIGWangYuDong, @hhaAndroid, @ZwwWayne
v2.15.0 (02/8/2021)¶
新功能¶
添加函数
upsample_like
(#5732)支持输出 pdf 和 epub 格式的文档 (#5738)
支持并发布 Cascade Mask R-CNN 3x 预训练模型 (#5645)
向 CrossEntropyLoss 添加
ignore_index
(#5646)支持在 pip 安装期间添加 MIM 依赖项 (#5676)
添加 MobileNetV2 配置和 YOLOv3 模型 (#5510)
支持 COCO 全景数据集 (#5231)
支持级联模型的 ONNX 导出 (#5486)
支持带有 RetinaNet 的 DropBlock (#5544)
支持 MobileNetV2 SSD-Lite (#5526)
错误修复¶
修复 multiclass_nms 中标签的设备问题 (#5673)
修复配置文件中从预训练检查点初始化主干网络的错误 (#5603, #5550)
修复 RegNet 预训练权重的下载链接 (#5655)
修复给定空提案的双阶段运行时错误 (#5559)
修复 DETR 中的浮点运算计数错误 (#5654)
修复
NumClassCheckHook
未使用时的单元测试 (#5626)修复使用自定义数据集的描述错误 (#5546)
修复
multiclass_nms
返回全局索引的错误 (#5592)修复 RPNHead 中的
valid_mask
逻辑错误 (#5562)修复预训练配置的单元测试错误 (#5561)
修复 anchor_head.py 中的拼写错误 (#5555)
修复使用数据集包装器时的错误 (#5552)
修复 demo/MMDet_Tutorial.ipynb 中的拼写错误 (#5511)
修复
cfg.log_level
不为 None 时get_root_logger
中的崩溃问题 (#5521)修复 docker 版本 (#5502)
修复使用
IterBasedRunner
时的优化器参数错误 (#5490)
改进¶
为 MMTracking 添加单元测试 (#5620)
添加文档的中文翻译 (#5718, #5618, #5558, #5423, #5593, #5421, #5408. #5369, #5419, #5530, #5531)
更新资源限制 (#5697)
更新 InstaBoost 的文档字符串 (#5640)
支持所有损失函数中的键
reduction_override
(#5515)使用 repeatdataset 加速 CenterNet 训练 (#5509)
删除 autoassign 中不必要的代码 (#5519)
添加有关
init_cfg
的文档 (#5273)
贡献者¶
共有 18 位开发者为本次发布做出了贡献。感谢 @OceanPang, @AronLin, @hellock, @Outsider565, @RangiLyu, @ElectronicElephant, @likyoo, @BIGWangYuDong, @hhaAndroid, @noobying, @yyz561, @likyoo, @zeakey, @ZwwWayne, @ChenyangLiu, @johnson-magic, @qingswu, @BuxianChen
v2.14.0 (29/6/2021)¶
亮点¶
向密集头部添加
simple_test
以提高单阶段和双阶段检测器的一致性将
test_mixins
回滚到单图像测试,以提高效率和可读性添加使用多尺度训练(3x 计划)的 Faster R-CNN 和 Mask R-CNN 配置
新功能¶
支持来自 MoCo v2 和 SwAV 的预训练模型 (#5286)
添加使用多尺度训练(3x 计划)的 Faster R-CNN 和 Mask R-CNN 配置 (#5179, #5233)
在 MSELoss 中添加
reduction_override
(#5437)稳定支持将 DETR 导出到具有动态形状和批处理推理的 ONNX (#5168)
稳定支持将 PointRend 导出到具有动态形状和批处理推理的 ONNX (#5440)
错误修复¶
修复
multiclass_nms
中的大小不匹配错误 (#4980)修复
MultiScaleDeformableAttention
的导入路径 (#5338)修复 GCNet ResNext101 模型配置中的错误 (#5360)
修复 Grid-RCNN 没有 bbox 结果时的错误 (#5357)
修复设置 reg_class_agnostic 时 bbox_head 的
onnx_export
中的错误 (#5468)修复文档中 AutoAssign 的类型错误 (#5478)
修复以
.md
结尾的网页链接 (#5315)
改进¶
向密集头部添加
simple_test
以提高单阶段和双阶段检测器的一致性 (#5264)添加对 TTA 中掩码对角线翻转的支持 (#5403)
将
test_mixins
回滚到单图像测试,以提高效率和可读性 (#5249)使 YOLOv3 Neck 更灵活 (#5218)
重构 SSD 以使其更通用 (#5291)
重构
anchor_generator
和point_generator
(#5349)允许配置 HTC 算法的
mask_head
(#5389)删除 FPN 中已弃用的警告 (#5311)
将
model.pretrained
移动到model.backbone.init_cfg
(#5370)使部署工具更易于使用 (#5280)
阐明安装文档 (#5316)
添加 ImageNet 预训练模型文档 (#5268)
添加关于训练损失=nan 解决方案和 COCO AP 或 AR =-1 的常见问题解答 (# 5312, #5313)
将所有 http 权重链接更改为 https (#5328)
v2.13.0 (01/6/2021)¶
亮点¶
支持新方法:CenterNet,Seesaw Loss,MobileNetV2
新功能¶
支持论文 Objects as Points (#4602)
支持论文 Seesaw Loss for Long-Tailed Instance Segmentation (CVPR 2021) (#5128)
支持 MobileNetV2 主干网络和倒置残差块 (#5122)
支持 MIM (#5143)
使用 CornerNet 的具有动态形状的 ONNX 导出 (#5136)
添加
mask_soft
配置选项以允许非二进制掩码 (#4615)添加 PWC 元文件 (#5135)
错误修复¶
修复 YOLOv3 FP16 训练错误 (#5172)
修复当
det_bboxes
长度为 0 时 Cascade R-CNN TTA 测试错误 (#5221)修复 VOC 回调计算函数中
iou_thr
变量命名错误 (#5195)修复 Faster R-CNN 在 ONNX Runtime 中性能下降的问题 (#5197)
修复在迭代过程中使用 python 3.8 时 DETR 字典发生变化的错误 (#5226)
改进¶
重构两阶段检测器的 ONNX 导出 (#5205)
为了保持一致性,将 MMDetection 的 EvalHook 替换为 MMCV 的 EvalHook (#4806)
更新 ONNX 的 RoI 提取器 (#5194)
在 YOLOv3 头部使用更好的参数初始化,以提高性能 (#5181)
通过混合精度训练发布 Mask R-CNN 的新 DCN 模型 (#5201)
更新 YOLOv3 模型权重 (#5229)
添加 DetectoRS ResNet-101 模型权重 (#4960)
丢弃大小等于
min_bbox_size
的边界框 (#5011)删除 DETR 头部中的重复代码 (#5129)
删除类定义中的不必要对象 (#5180)
修复文档链接 (#5192)
v2.12.0 (2021/01/05)¶
亮点¶
支持新方法:AutoAssign,YOLOF,以及Deformable DETR
稳定支持将模型导出到 ONNX,包括批处理图像和动态形状 (#5039)
向后不兼容的更改¶
从 v2.12.0 到 v2.15.0 (可能更长) 的版本中,MMDetection 正在进行大规模重构,以便更通用和便捷地使用。在 v2.12.0 中,MMDetection 不可避免地带来了一些 BC-breakings,包括 MMCV 依赖项、模型初始化、模型注册表和 mask AP 评估。
MMCV 版本。MMDetection v2.12.0 依赖于 MMCV 1.3.3 中的最新功能,包括
BaseModule
用于统一的参数初始化、模型注册表,以及 CUDA 运算符MultiScaleDeformableAttn
用于Deformable DETR。请注意,MMCV 1.3.2 已经包含了 MMDet 使用的所有功能,但存在已知问题。因此,我们建议用户跳过 MMCV v1.3.2 并使用 v1.3.3,尽管 v1.3.2 可能在大多数情况下有效。统一模型初始化 (#4750)。为了统一 OpenMMLab 项目中的参数初始化,MMCV 支持
BaseModule
,它接受init_cfg
,以允许模块的参数以灵活和统一的方式初始化。现在,用户需要在训练脚本中显式调用model.init_weights()
来初始化模型(如此处所示,以前这是由检测器处理的)。MMDetection 中的模型已重新基准测试,以确保基于 PR #4750 的精度。**下游项目应相应更新其代码以使用 MMDetection v2.12.0**。统一模型注册表 (#5059)。为了轻松使用其他 OpenMMLab 项目中实现的骨干网络,MMDetection 迁移到继承在 MMCV (#760) 中创建的模型注册表。这样,只要骨干网络在 OpenMMLab 项目中得到支持,并且该项目也使用 MMCV 中的注册表,用户就可以通过简单地修改配置文件来在 MMDetection 中使用该骨干网络,而无需将该骨干网络的代码复制到 MMDetection 中。
Mask AP 评估 (#4898)。以前的版本在计算小、中、大实例的 mask AP 时,通过边界框来计算 mask 的面积。为了真正使用 mask 的面积,我们在 mask AP 计算过程中弹出键
bbox
。此更改不会影响整体 mask AP 评估,并且与其他项目(如 Detectron2)中类似模型的 mask AP 保持一致。
新功能¶
支持论文AutoAssign: Differentiable Label Assignment for Dense Object Detection (#4295)
支持论文You Only Look One-level Feature (#4295)
支持论文Deformable DETR: Deformable Transformers for End-to-End Object Detection (#4778)
支持在
bbox_overlaps
中使用 FP16 张量来计算 IoU,以节省内存并保持速度 (#4889)在自定义数据集中添加
__repr__
以统计实例数量 (#4756)通过更新 requirements.txt 添加 Windows 支持 (#5052)
稳定支持将模型导出到 ONNX,包括批处理图像和动态形状,包括 SSD、FSAF、FCOS、YOLOv3、RetinaNet、Faster R-CNN 和 Mask R-CNN (#5039)
改进¶
使用 MMCV
MODEL_REGISTRY
(#5059)统一参数初始化,以更灵活地使用 (#4750)
重命名变量名并在锚点头中修复文档字符串 (#4883)
支持使用 Cascade RPN 进行空 GT 训练 (#4928)
在文档中添加有关
test_robustness
使用的更多详细信息 (#4917)更改为使用
pycocotools
而不是mmpycocotools
,以便在一个环境中完全支持 Detectron2 和 MMDetection (#4939)更新 torch serve dockerfile 以支持更多版本的 docker (#4954)
添加对使用单类数据集进行训练的检查 (#4973)
重构转换器和 DETR 头部 (#4763)
更新 FPG 模型库 (#5079)
更准确的小/中/大实例的 mask AP (#4898)
错误修复¶
修复 mean_ap.py 在通过 11 个点计算 mAP 时出现的错误 (#4875)
修复当键
meta
不在旧检查点中时发生的错误 (#4936)通过更改
reduce_mean
的位置来修复在 VFNet、GFL 和 FCOS 中使用空 GT 训练时的挂起错误 (#4923, #4978, #5058)修复异步推理错误并提供相关演示 (#4941)
修复 IoU 损失维数不匹配错误 (#4982)
修复使用 PyTorch 1.8 时 torch.randperm 错误 (#5014)
修复使用 CARAFE 时
mask_head
中的空边界框错误 (#5062)修复当存在零大小 RoI 时
supplement_mask
错误 (#5065)修复在 RoI 头部中使用空 RoI 进行测试 (#5081)
v2.11.0 (2021/01/04)¶
亮点
支持 Pytorch2ONNX 进行批处理推理和动态形状
新功能
支持 Pytorch2ONNX 对 Faster-RCNN 和主流单阶段检测器进行批处理推理和动态形状 (#4796)
改进
支持在 RetinaNet 的头部进行批处理推理 (#4699)
在 Faster-RCNN 的第二阶段添加批处理维度 (#4785)
支持在边界框编码器中进行批处理推理 (#4721)
在
COCODataset
中添加对ann_ids
的检查,以确保其唯一性 (#4789)支持显示 FPN 结果 (#4716)
支持对 grid_anchor 进行动态形状 (#4684)
将 pycocotools 版本检查移动到使用它时 (#4880)
错误修复
修复 TridentNet 在进行批处理推理时出现的错误 (#4717)
修复 FASF 中 Pytorch2ONNX 的错误 (#4735)
修复使用浮点类型显示图像时的错误 (#4732)
v2.10.0 (2021/01/03)¶
新功能¶
支持 ONNX2TensorRT 用于 SSD、FSAF、FCOS、YOLOv3 和 Faster R-CNN (#4569)
支持Feature Pyramid Grids (FPG) (#4645)
支持视频演示 (#4420)
为采样器添加种子选项 (#4665)
支持自定义运行器类型 (#4570, #4669)
支持在
EvalHook
中同步 BN 缓冲区 (#4582)添加用于 GIF 演示的脚本 (#4573)
错误修复¶
修复 ConfigDict AttributeError 并添加 Colab 链接 (#4643)
避免在 GFL 头部的空 gt 训练中崩溃 (#4631)
修复 RPN 评估中的
iou_thrs
错误 (#4581)修复升级模型版本时配置文件的语法错误 (#4584)
改进¶
重构单元测试文件结构 (#4600)
重构 nms 配置 (#4636)
通过直接检查类而不是通过配置文件字符串来获取加载管道 (#4619)
为 mask 目标生成和 mask 结构添加 doctests (#4614)
在复制管道参数时使用深拷贝 (#4621)
更新文档 (#4642, #4650, #4620, #4630)
删除调用
import_modules_from_strings
的冗余代码 (#4601)清除已弃用的 FP16 API (#4571)
检查
CLASSES
是否在XMLDataset
的初始化中正确初始化 (#4555)支持在推理 API 中进行批处理推理 (#4462, #4526)
清除已弃用的警告并修复“meta”错误 (#4695)
v2.9.0 (2021/01/02)¶
亮点¶
支持新方法:SCNet,Sparse R-CNN
将
train_cfg
和test_cfg
移动到配置文件中的模型中支持根据预测质量可视化结果
新功能¶
支持SCNet (#4356)
支持Sparse R-CNN (#4219)
支持通过多个 IoU 评估 mAP (#4398)
支持连接数据集进行测试 (#4452)
支持根据预测质量可视化结果 (#4441)
向 Pytorch2ONNX 脚本添加 ONNX 简化选项 (#4468)
添加挂钩以检查头部和数据集中类数的兼容性 (#4508)
错误修复¶
修复 Cascade RPN 的 CPU 推理错误 (#4410)
修复当没有预测框时 CornerNet 的 NMS 错误 (#4409)
修复 CornerNet 推理中的 TypeError (#4411)
修复 PAA 在使用背景图像训练时的错误 (#4391)
修复当
out_file is not None
且show==False
时,窗口数据未销毁的错误 (#4442)修复 NMS
score_factor
的顺序问题,该问题会导致 YOLOv3 的性能下降 (#4473)修复 HTC TTA 在检测框数量为 0 时的错误 (#4516)
修复掩码数据结构中的大小调整错误 (#4520)
改进¶
允许在 LVIS 数据集中自定义类别 (#4382)
添加使用现有数据集构建新模型的教程 (#4396)
在文档中添加 CPU 兼容性信息 (#4405)
添加已弃用的
ImageToTensor
用于批量推理的文档 (#4408)在文档中添加更多关于自定义数据集的详细信息 (#4430)
将
imshow_det_bboxes
可视化后端从 OpenCV 切换到 Matplotlib (#4389)在
image_demo.py
中弃用ImageToTensor
(#4400)将 train_cfg/test_cfg 移入模型 (#4347, #4489)
更新 bbox 头中
reg_decoded_bbox
选项的文档字符串 (#4467)更新文档中的数据集信息 (#4525)
发布使用多尺度 3x 训练计划的预训练 R50 和 R101 PAA 检测器 (#4495)
添加速度基准测试指南 (#4537)
v2.8.0 (04/01/2021)¶
亮点¶
支持新方法:Cascade RPN,TridentNet
新功能¶
支持 Cascade RPN (#1900)
支持 TridentNet (#3313)
错误修复¶
修复 async_benchmark 中显示结果的错误 (#4367)
修复 MaskTestMixin 中的缩放因子 (#4366)
修复
multiclass_nms
中返回索引时的错误 (#4362)修复 resnext 主干中经验性注意力的错误 (#4300)
修复 FCOS-HRNet 模型中
img_norm_cfg
的错误,并更新了性能和模型 (#4250)修复 Cityscapes 数据集中 Mask R-CNN 模型的无效检查点和日志 (#4287)
修复数据集过小时分布式采样器的错误 (#4257)
修复“PAFPN has no attribute extra_convs_on_inputs” 的错误 (#4235)
改进¶
将模型 URL 从 aws 更新到 aliyun (#4349)
更新 ATSS 以支持 PyTorch 1.6+ (#4359)
更新脚本以在 pre-commit 安装中安装 ruby (#4360)
删除已弃用的
mmdet.ops
(#4325)重构匈牙利分配器,以便在 Sparse R-CNN 中更通用地使用 (#4259)
处理 DETR 中的 scipy 导入以减少包依赖项 (#4339)
更新 MMCV (1.2.3) 支持覆盖配置中的列表后,配置选项使用方式的文档 (#4326)
更新在 COCO 子集上训练的 faster rcnn 的预训练模型 (#4307)
避免 Dynamic R-CNN 中的 beta 为零或太小 (#4303)
添加 Pytorch2ONNX 的文档 (#4271)
添加已弃用的警告 FPN 参数 (#4264)
支持在使用 nms 时返回保留的 bbox 的索引 (#4251)
更新创建张量
GFLHead
时的类型和设备要求 (#4210)更新在
CrossEntropyLoss
中创建张量时的设备要求 (#4224)
v2.7.0 (30/11/2020)¶
新功能¶
错误修复¶
修复分布式训练模式下的
gpu_id
错误 (#4163)支持版本高于 0.5 的 Albumentations (#4032)
修复 faster rcnn 配置中的 num_classes 错误 (#4088)
更新 docs/2_new_data_model.md 中的代码 (#4041)
改进¶
确保 DCN 偏移与 VFNet 中的特征具有相同的类型 (#4198)
在模型的 README 文件中添加配置链接 (#4190)
添加损失约定的教程 (#3818)
添加 30 系列 GPU 安装问题的解决方案 (#4176)
更新 get_started.md 中的 docker 版本 (#4145)
添加模型统计信息并在配置 README 中润色一些标题 (#4140)
在 FreeAnchor 中将负概率钳制 (#4082)
加速扩展大图像 (#4089)
修复 Pytorch 1.7 不兼容问题 (#4103)
更新故障排除页面以解决分段错误 (#4055)
更新项目页面中的 aLRP-Loss (#4078)
清理重复的
reduce_mean
函数 (#4056)重构问答 (#4045)
v2.6.0 (1/11/2020)¶
支持新方法:VarifocalNet.
重构文档,添加更多教程。
新功能¶
支持
BboxOverlaps2D
中的 GIoU 计算,并使用bbox_overlaps
重新实现giou_loss
(#3936)支持 CPU 模式下的随机采样 (#3948)
支持 VarifocalNet (#3666, #4024)
错误修复¶
修复 Cascade R-CNN 中 SABL 验证错误 (#3913)
避免 num_pos=0 时 PAA 头部的零除 (#3938)
修复多节点测试错误的临时目录错误 (#4034, #4017)
修复测试脚本中的
--show-dir
选项 (#4025)修复 GA-RetinaNet r50 模型 URL (#3983)
更新文档中的代码并修复损坏的 URL (#3947)
改进¶
重构 pytorch2onnx API 到
mmdet.core.export
并使用generate_inputs_and_wrap_model
用于 pytorch2onnx (#3857, #3912)更新 RPN 升级脚本以支持 v2.5.0 兼容性 (#3986)
使用 mmcv
tensor2imgs
(#4010)更新测试鲁棒性 (#4000)
更新故障排除页面 (#3994)
加速 PAA 训练速度 (#3985)
支持验证中的 batch_size > 1 (#3966)
在 CPU 模式下的推理中使用 MMCV 中实现的 RoIAlign (#3930)
文档重构 (#4031)
v2.5.0 (5/10/2020)¶
亮点¶
支持新方法:YOLACT,CentripetalNet.
添加更多文档以简化和明确使用。
向后不兼容的更改¶
FP16 相关方法从 mmdet 导入到 mmcv。 (#3766, #3822) mmdet.core.fp16
中的混合精度训练实用程序已移至 mmcv.runner
,包括 force_fp32
、auto_fp16
、wrap_fp16_model
和 Fp16OptimizerHook
。如果用户尝试从 mmdet.core.fp16
导入这些方法,将发出弃用警告,并在 V2.10.0 中最终删除。
[0, N-1] 代表所有模型的前景类别,N 代表背景类别。 (#3221) 在 v2.5.0 之前,RPN 的背景标签为 0,其他头的背景标签为 N。现在所有模型的行为都一致。因此,dense_heads
中的 self.background_labels
已删除,所有头都使用 self.num_classes
来指示背景标签的类别索引。此更改不会影响 v2.x 模型库中的预训练模型,但会影响具有 RPN 头的所有模型的训练。使用 softmax 的两阶段检测器的 RPN 头将受到影响,因为类别顺序已更改。
仅在 test_mode=True
且 self.filter_empty_gt=True
时调用 get_subset_by_classes
(#3695) 数据集中的函数 get_subset_by_classes
已重构,仅在 test_mode=True
且 self.filter_empty_gt=True
时过滤掉图像。在原始实现中,get_subset_by_classes
与标志 self.filter_empty_gt
无关,并且无论 test_mode
为 True
还是 False
,都只会在初始化时设置类别时调用。这在许多情况下带来了模糊的行为和潜在的错误。在 v2.5.0 之后,如果 filter_empty_gt=False
,无论在数据集中是否指定了类别,数据集都将使用注释中的所有图像。如果 filter_empty_gt=True
且 test_mode=True
,无论是否指定了类别,数据集都将调用 ``get_subset_by_classes` 来检查图像并过滤掉不包含 GT 框的图像。因此,用户应负责测试数据集的数据过滤/清理过程。
新功能¶
单阶段检测器的测试时间增强(#3844,#3638)
支持在训练期间显示实验名称(#3764)
添加
Shear
、Rotate
、Translate
增强 (#3656, #3619, #3687)添加仅图像变换,包括
Constrast
、Equalize
、Color
和Brightness
。 (#3643)支持 YOLACT (#3456)
支持 CentripetalNet (#3390)
在 Docker 中支持 PyTorch 1.6 (#3905)
错误修复¶
修复在没有地面真值框的情况下训练 ATSS 的错误 (#3702)
修复当
num_pos
为 0 时使用 Focal Loss 的错误 (#3702)修复数据集浏览器中的标签索引映射 (#3708)
修复当没有正样本 rois 时 Mask R-CNN 训练卡死问题 (#3713)
通过在 rpn 头中使用
self.rpn_head
来修复RPNTestMixin
中的self.rpn_head.test_cfg
错误 (#3808)修复来自 mmcv.ops 的已弃用
Conv2d
(#3791)修复 RepPoints 中的设备错误 (#3836)
修复 SABL 验证错误 (#3849)
使用
https://download.openmmlab.com/mmcv/dist/index.html
安装 MMCV (#3840)修复 PyTorch 1.6.0 中 NMS 中的非零问题 (#3867)
修复 PAA 的 API 更改错误 (#3883)
修复 bbox_flip 中的拼写错误 (#3886)
修复 Dockerfile 中 ligGL.so.1 的 cv2 导入错误 (#3891)
改进¶
更改为使用
mmcv.utils.collect_env
收集环境信息,以避免重复代码 (#3779)更新文档中到 v2.0 模型的检查点文件名 (#3795)
更新教程以更改运行时设置 (#3778),修改损失 (#3777)
改进 SABL 中
simple_test_bboxes
的功能 (#3853)在将 mask 用作 img 的索引之前将其转换为 bool,以提高鲁棒性和速度 (#3870)
改进模块和数据集定制的文档 (#3821)
v2.4.0 (5/9/2020)¶
亮点
修复了许多问题/错误,并重新组织了故障排除页面
支持新方法 SABL、YOLOv3 和 PAA Assign
支持批量推理
从 v2.3.0 开始将
mmdet
包发布到 PyPI将模型库切换到 download.openmmlab.com
向后不兼容的更改
支持批量推理 (#3564, #3686, #3705): 从 v2.4.0 开始,MMDetection 可以使用单个 GPU 推理多个图像的模型。 此更改影响 MMDetection 和下游代码库中的所有测试 API。 为了帮助用户迁移代码,我们使用
replace_ImageToTensor
(#3686) 在数据集初始化期间转换遗留测试数据管道。支持带有水平/垂直/对角方向的 RandomFlip (#3608): 从 v2.4.0 开始,MMDetection 支持数据增强中的水平/垂直/对角翻转。 这影响了数据增强过程中的边界框、掩码和图像变换,以及将这些数据映射回原始格式的过程。
迁移到使用
mmlvis
和mmpycocotools
用于 COCO 和 LVIS 数据集 (#3727)。 API 与原始lvis
和pycocotools
完全兼容。 用户需要先在环境中卸载现有的 pycocotools 和 lvis 包,然后安装mmlvis
和mmpycocotools
。
错误修复
修复 onnx 的默认均值/标准差 (#3491)
修复 coco 评估并添加度量指标项 (#3497)
修复 install.md 中的拼写错误 (#3516)
修复当采样器每 gpu 为 1 时 atss 的问题 (#3528)
修复 fuse_conv_bn 的导入 (#3529)
修复 gaussian_target 的错误,更新 heatmap 的单元测试 (#3543)
修复 VOC2012 评估 (#3553)
修复 rescale 的比例因子错误 (#3566)
修复 base 检测器中的 with_xxx_attributes (#3567)
修复当数量为 0 时盒子缩放问题 (#3575)
修复当 neck 配置为列表时 rfp 检查 (#3591)
修复 benchmark.py 中 fuse conv bn 的导入 (#3606)
修复网络摄像头演示 (#3634)
修复教程中的拼写错误和项目化问题 (#3658)
修复当 FPN 的某些级别没有分配边界框时分布式训练中的错误 (#3670)
修复有效标志生成中 stride 的宽度和高度顺序 (#3685)
修复 Res2Net DCN 中的权重初始化错误 (#3714)
修复 OHEMSampler 中的错误 (#3677)
新功能
支持 Cutout 增强 (#3521)
支持通过 ConcatDataset 在多个数据集上进行评估 (#3522)
支持 PAA assign #(3547)
支持使用 pickle 结果进行评估度量 (#3607)
支持 YOLOv3 (#3083)
支持 SABL (#3603)
支持在 github-action 中发布到 Pypi (#3510)
支持自定义导入 (#3641)
改进
重构文档中的常见问题 (#3530)
将 pytorch 1.6 添加到 CI 配置中 (#3532)
将配置添加到运行器元数据中 (#3534)
为测试添加 eval-option 标志 (#3537)
将 init_eval 添加到评估钩子中 (#3550)
将 include_bkg 添加到 ClassBalancedDataset 中 (#3577)
在 inference_detector 中使用配置的加载 (#3611)
在模型库中添加 ATSS ResNet-101 模型 (#3639)
将 url 更新到 download.openmmlab.com (#3665)
支持 CocoDataset 的非掩码训练 (#3711)
v2.3.0 (5/8/2020)¶
亮点
CUDA/C++ 运算符已移至
mmcv.ops
。 为了向后兼容,mmdet.ops
被保留为mmcv.ops
的包装器。提供更详细的 colab 训练教程和更完整的文档。
支持将 RetinaNet 从 Pytorch 转换为 ONNX。
错误修复
修复 DetectoRS 的模型初始化错误 (#3187)
修复 NASFCOSHead 中的模块名称错误 (#3205)
修复 publish_model.py 中的文件名错误 (#3237)
修复当
inside_flags.any()
在密集头部中为False
时的维度错误 (#3242)修复在
MultiScaleFlipAug
中忘记传递翻转方向的错误 (#3262)修复由
stem_channels
的默认值引起的错误 (#3333)修复 CPU 推理的模型检查点加载错误 (#3318, #3316)
修复当框数小于预期的 topk 数时 ATSSAssigner 中的 topk 错误 (#3361)
修复 center_region_assigner.py 中的 gt 优先级错误 (#3208)
修复 iou_loss.py 中的 iou 计算的 NaN 问题 (#3394)
修复
iou_thrs
在 coco.py 中的评估过程中没有实际使用的错误 (#3407)修复 RepPoints 的测试时间增强 (#3435)
修复 Res2Net+DCN 中由不连续张量引起的 runtimeError (#3412)
新功能
支持 CornerNet (#3036)
支持 LVIS V1 数据集 (#)
支持训练中的自定义钩子 (#3395)
支持广义焦点损失的 fp16 训练 (#3410)
支持将 RetinaNet 从 Pytorch 转换为 ONNX (#3075)
改进
支持在 ATSS 分配器中处理忽略框 (#3082)
允许在
RandomCrop
中裁剪没有地面真值的图像 (#3153)启用
Accuracy
模块以设置阈值 (#3155)重构单元测试 (#3206)
统一 RegNets 配置中
to_float32
和norm_cfg
的训练设置 (#3210)为初学者添加 colab 训练教程 (#3213, #3273)
将 CUDA/C++ 运算符移至
mmcv.ops
,并保留mmdet.ops
作为包装器以实现向后兼容 (#3232)(#3457)更新文档中的安装脚本 (#3290) 和 dockerfile (#3320)
支持设置图像调整大小后端 (#3392)
删除版本文件中的 git 哈希值 (#3466)
检查 mmcv 版本以强制版本兼容性 (#3460)
v2.2.0 (1/7/2020)¶
亮点
错误修复
修复当图像中没有 gt 时 FreeAnchor 的问题 (#3176)
清理
register_module()
的已弃用用法 (#3092, #3161)修复 NAS FCOS 中的预训练错误 (#3145)
修复 SSD 中的
num_classes
(#3142)修复 FCOS 热身 (#3119)
修复
tools/publish_model.py
中的rstrip
修复 RandomFLip 管道中
flip_ratio
的默认值 (#3106)修复使用 ms_rcnn 的 cityscapes 评估 (#3112)
修复 RPN softmax (#3056)
修复 LVIS@v0.5 的文件名 (#2998)
通过过滤 COCO 中的帧外 gt_bboxes 修复 nan 损失 (#2999)
修复 FSAF 中的错误 (#3018)
添加 FocalLoss
num_classes
检查 (#2964)修复当没有 gts 时 PISA 损失 (#2992)
避免
iou_calculator
中的 nan (#2975)防止由浅拷贝引起的加载和转换中的潜在错误 (#2967)
新功能
添加 DetectoRS (#3064)
支持通用焦点损失 (#3097)
支持 PointRend (#2752)
支持动态 R-CNN (#3040)
添加 DeepFashion 数据集 (#2968)
实现 FCOS 训练技巧 (#2935)
使用 BaseDenseHead 作为基于锚点的头的基类 (#2963)
为 BasicBlock 添加
with_cp
(#2891)为 ResNet 添加
stem_channels
参数 (#2954)
改进
添加无锚点基础头部 (#2867)
迁移到 Github Actions (#3137)
为数据集、管道、核心模块和方法添加文档字符串 (#3130, #3125, #3120)
添加 VOC 基准测试 (#3060)
在 GRoI 中添加
concat
模式 (#3098)删除命令行参数
autorescale-lr
(#3080)使用
len(data['img_metas'])
来指示num_samples
(#3073, #3053)切换到 EpochBasedRunner (#2976)
v2.1.0 (2020 年 8 月 6 日)¶
亮点
错误修复
将 CLI 参数
--validate
更改为--no-validate
,默认情况下在训练轮次后启用验证。 (#2651)在 Dockerfile 中添加缺少的 Cython (#2713)
修复 NMS CPU 实现中的 bug (#2754)
修复显示遮罩结果时的 bug (#2763)
修复 GCC 要求 (#2806)
修复异步测试中的 bug (#2820)
修复测试 API 中的遮罩编码-解码 bug (#2824)
修复测试时增强中的 bug (#2858, #2921, #2944)
修复 apis/train 注释中的错别字 (#2877)
修复
RandomCrop
中原始图像中没有 gt 边框时返回 None 的 bug。修复RandomCrop
、MinIoURandomCrop
和Expand
模块中没有处理gt_bboxes_ignore
、gt_label_ignore
和gt_masks_ignore
的 bug。 (#2810)修复 regnet 的
base_channels
的 bug (#2917)修复基础检测器中加载预训练权重时记录器的 bug (#2936)
新功能
添加 IoU 模型 (#2666)
添加用于推理的 Colab 演示
支持类别无关 NMS (#2553)
添加仅供开发使用的基准收集脚本 (#2676)
添加基于 MMDetection 的项目链接 (#2736, #2767, #2895)
在训练中添加配置转储 (#2779)
添加 ClassBalancedDataset (#2721)
添加 Res2Net 骨干网络 (#2237)
支持 RegNetX 模型 (#2710)
使用
mmcv.FileClient
来支持不同的存储后端 (#2712)添加 ClassBalancedDataset (#2721)
代码发布:目标检测中的主样本注意力 (CVPR 2020) (#2626)
实现 NASFCOS (#2682)
在 CrossEntropyLoss 中添加类别权重 (#2797)
支持 LVIS 数据集 (#2088)
支持 GRoIE (#2584)
改进
允许锚点头部中的不同 x 和 y 步长。 (#2629)
使 FSAF 损失对没有 gt 的情况更健壮。 (#2680)
计算纯推理时间而不是 (#2657) 并更新推理速度 (#2730)
避免裁剪面积为 0 的补丁。 (#2704)
在使用已弃用的
imgs_per_gpu
时添加警告。 (#2700)添加用于配置的 Mask R-CNN 示例 (#2645)
更新模型库 (#2762, #2866, #2876, #2879, #2831)
添加
ori_filename
到 img_metas 并在测试显示目录中使用它 (#2612)使用
img_fields
来处理图像转换期间的多个图像 (#2800)在 FPN 中添加 upsample_cfg 支持 (#2787)
添加
['img']
作为默认img_fields
以实现向后兼容性 (#2809)将预训练模型从
open-mmlab://resnet50_caffe
和open-mmlab://resnet50_caffe_bgr
重命名为open-mmlab://detectron/resnet50_caffe
和open-mmlab://detectron2/resnet50_caffe
。 (#2832)在 test.py 中添加 sleep(2) 以减少挂起问题 (#2847)
在 CARAFE 中支持
c10::half
(#2890)改进文档 (#2918, #2714)
在 mmcv 中使用优化器构造函数并清理
mmdet.core.optimizer
中的原始实现 (#2947)
v2.0.0 (2020 年 6 月 5 日)¶
在此版本中,我们进行了许多重大重构和修改。
更快的速度。我们优化了常用模型的训练和推理速度,训练速度提高了 30%,推理速度提高了 25%。有关详细信息,请参阅 模型库。
更高的性能。我们更改了一些默认超参数,没有额外成本,这导致大多数模型的性能提升。有关详细信息,请参阅 兼容性。
更多文档和教程。我们添加了许多文档和教程,以帮助用户更顺利地入门。在此处阅读 此处。
支持 PyTorch 1.5。对 1.1 和 1.2 的支持已取消,我们切换到了一些新 API。
更好的配置系统。支持继承以减少配置的冗余。
更好的模块化设计。为了简化和灵活性的目标,我们简化了一些封装,同时添加了更多其他可配置模块,如 BBoxCoder、IoUCalculator、OptimizerConstructor、RoIHead。目标计算也包含在头部中,调用层次结构更简单。
重大变更 使用 MMDetection 1.x 训练的模型与 2.0 不完全兼容,请参阅 兼容性文档 以了解详细信息以及如何迁移到新版本。
改进
统一自定义操作的 CUDA 和 CPP API。 (#2277)
使用继承的新配置文件。 (#2216)
将第二阶段封装到 RoI 头部中。 (#1999)
将 GCNet/EmpericalAttention 重构为插件。 (#2345)
在基于 IoU 的边界框分配器中将低质量匹配设置为一个选项。 (#2375)
更改代码库的坐标系。 (#2380)
重构头部中的类别顺序。0 现在表示第一个正类别而不是背景。 (#2374)
添加边界框采样器和分配器注册表。 (#2419)
加快 RPN 的推理速度。 (#2420)
在所有锚点头部中添加
train_cfg
和test_cfg
作为类成员。 (#2422)将目标计算方法合并到头部中。 (#2429)
添加边界框编码器以支持不同的边界框编码和损失。 (#2480)
统一回归损失的 API。 (#2156)
重构锚点生成器。 (#2474)
使
lr
成为优化器的可选参数。 (#2509)迁移到 MMCV 中的模块和方法。 (#2502, #2511, #2569, #2572)
支持 PyTorch 1.5。 (#2524)
放弃对 Python 3.5 的支持并在代码库中使用 F 字符串。 (#2531)
错误修复
修复未保持纵横比的调整大小图像的比例因子。 (#2039)
在 NMS 中切片之前检查 max_num 是否大于 0。 (#2486)
修复没有实例时可变形 RoI Pooling。 (#2490)
修复分配标签的默认值。 (#2536)
修复 Cityscapes 的评估。 (#2578)
新功能
在 ResNet 中添加 deep_stem 和 avg_down 选项,即支持 ResNetV1d。 (#2252)
添加 L1 损失。 (#2376)
支持实例遮罩的 多边形 和 位图。 (#2353, #2540)
支持用于推理的 CPU 模式。 (#2385)
添加优化器构造函数以支持优化器的复杂配置。 (#2397, #2488)
实现 PAFPN。 (#2392)
支持某些模块的空张量输入。 (#2280)
支持自定义数据集类,而无需覆盖它。 (#2408, #2443)
支持训练 COCO 数据集的子集。 (#2340)
添加 iou_calculator 以潜在地支持更多 IoU 计算方法。 (2405)
支持按类别计算平均 AP(在上一版本中已删除)。 (#2459)
添加选项以保存测试结果图像。 (#2414)
支持 MomentumUpdaterHook。 (#2571)
添加演示以推理单个图像。 (#2605)
v1.1.0 (2020 年 2 月 24 日)¶
亮点
数据集评估使用统一的 API 重写,该 API 被评估钩子和测试脚本使用。
支持新的方法:CARAFE。
重大变更
新的 MMDDP 继承自官方 DDP,因此
__init__
API 已更改为与官方 DDP 相同。HTC 配置文件中的
mask_head
字段已修改。评估和测试脚本已更新。
在所有转换中,实例遮罩存储为形状为 (n, h, w) 的 NumPy 数组,而不是 (h, w) 数组的列表,其中 n 是实例的数量。
错误修复
修复 ignore_iof_thr > 0 且没有预测框时的 IOU 分配器。 (#2135)
修复没有忽略框时的 mAP 评估。 (#2116)
修复可变形 RoI Pooling 的空 RoI 输入。 (#2099)
修复多个工作流程的数据集设置。 (#2103)
修复 PyTorch 1.4 中与
torch.uint8
相关的警告。 (#2105)修复除 gpu:0 之外的设备上的推理演示。 (#2098)
修复 Dockerfile。 (#2097)
修复
pad_val
在 Pad 转换中未使用的 bug。 (#2093)修复没有地面真实边界框时的 Albumentation 转换。 (#2032)
改进
使用 torch 而不是 numpy 进行随机采样。 (#2094)
迁移到 MMCV v0.3 中的新 MMDDP 实现。 (#2090)
在日志中添加元信息。 (#2086)
使用 PyTorch 扩展重写 Soft NMS 并删除 Cython 作为依赖项。 (#2056)
重写数据集评估。 (#2042, #2087, #2114, #2128)
在转换中使用 NumPy 数组作为遮罩。 (#2030)
新功能
实现“CARAFE:特征的内容感知重新组装”。 (#1583)
在设置种子时,在数据加载器中添加
worker_init_fn()
。 (#2066, #2111)添加日志记录实用程序。 (#2035)
v1.0.0 (2020 年 1 月 30 日)¶
此版本主要提高了代码质量并添加了更多文档字符串。
亮点
支持新模型:ATSS。
DCN 现在可通过 API
build_conv_layer
和ConvModule
使用,与普通卷积层类似。提供了一个收集环境信息的工具,用于故障排除。
错误修复
修复了最新 numpy 和 pycocotools 的不兼容问题。 (#2024)
修复了分布式包不可用时的状况,例如在 Windows 上。 (#1985)
修复了
refine_bboxes()
的维度问题。 (#1962)修复了当
seg_prefix
是一个列表时的拼写错误。 (#1906)在 RandomCrop 中添加了分割图裁剪功能。 (#1880)
修复了
ga_shape_target_single()
的返回值。 (#1853)修复了空建议的加载形状问题。 (#1819)
修复了使用 albumentation 时的遮罩数据类型。 (#1818)
改进
增强了 AssignResult 和 SamplingResult。 (#1995)
添加了在 Registry 中覆盖现有模块的功能。 (#1982)
重新组织了需求,并将 albumentations 和 imagecorruptions 设置为可选。 (#1969)
检查
SSDHead
中的 NaN。 (#1935)将 ResNe(X)t 中的 DCN 封装到 ConvModule 和 Conv_layers 中。 (#1894)
重构了 mAP 评估,并支持多进程和日志记录。 (#1889)
在构建 Runner 之前初始化根日志记录器,以记录更多信息。 (#1865)
将
SegResizeFlipPadRescale
拆分为不同的现有转换。 (#1852)将
init_dist()
移至 MMCV。 (#1851)改进文档和文档字符串。 (#1971, #1938, #1869, #1838)
修复了遮罩可视化中相同类的颜色问题。 (#1834)
删除了 HTC 和 Cascade R-CNN 中的
keep_all_stages
选项。 (#1806)
新功能
为遮罩头添加了两个测试时间选项
crop_mask
和rle_mask_encode
。 (#2013)支持将灰度图像加载为单通道。 (#1975)
实现了“通过自适应训练样本选择弥合基于锚点和无锚点检测之间的差距”。 (#1872)
添加了 sphinx 生成的文档。 (#1859, #1864)
为 FLOPs 计算添加了 GN 支持。 (#1850)
收集环境信息,用于故障排除。 (#1812)
v1.0rc1 (2019/12/13)¶
RC1 版本主要侧重于改善用户体验和修复错误。
亮点
支持新模型:FoveaBox、RepPoints 和 FreeAnchor。
添加了一个 Dockerfile。
添加了一个 Jupyter Notebook 演示和一个网络摄像头演示。
设置了代码风格和 CI。
添加了大量文档字符串和单元测试。
修复了大量错误。
重大变更
在计算针对不同尺度(AP_s、AP_m、AP_l)的 COCO 风格 mAP 时存在一个错误,该错误由 #621 引入。 (#1679)
错误修复
修复了 Libra R-CNN 中的采样间隔错误。 (#1800)
修复了 SSD300 WIDER FACE 中的学习率问题。 (#1781)
修复了当
keep_ratio=False
时的缩放问题。 (#1730)修复了拼写错误。 (#1721, #1492, #1242, #1108, #1107)
修复了
build_dataloader
中的 shuffle 参数。 (#1693)在计算遮罩目标时裁剪了建议框。 (#1688)
修复了一些极端情况下采样器出现的“索引超出范围”错误。 (#1610, #1404)
修复了在 GPU:0 以外的设备上的 NMS 问题。 (#1603)
修复了 CPU 上的 SSD 头部和 GHM 损失问题。 (#1578)
修复了当存在太多 gt bbox 时出现的 OOM 错误。 (#1575)
修复了 HTC 中的错误关键字参数
nms_cfg
。 (#1573)在 Expand 和 MinIoUCrop 转换中处理遮罩和语义分割。 (#1550, #1361)
修复了 Non Local 操作中的尺度错误。 (#1528)
修复了当
gt_bboxes_ignore
为 None 时转换中的错误。 (#1498)修复了当
img_prefix
为 None 时的错误。 (#1497)将设备参数传递给
grid_anchors
和valid_flags
。 (#1478)修复了 test_robustness 的数据管道。 (#1476)
修复了可变形池化的参数类型。 (#1390)
修复了当只有两个类别时 coco_eval 的错误。 (#1376)
修复了当 deformable_group>1 时调制可变形卷积中的错误。 (#1359)
修复了 RandomCrop 中的遮罩裁剪。 (#1333)
修复了当不在 cuda:0 上运行时可变形卷积中的零输出问题。 (#1326)
修复了 Expand 中的类型问题。 (#1288)
修复了推理 API。 (#1255)
修复了 Expand 中的原位操作。 (#1249)
修复了从头开始的训练配置。 (#1196)
修复了 RoIExtractor 中的原位添加,该问题导致 PyTorch 1.2 出现错误。 (#1160)
修复了当输入图像没有正样本时 FCOS 的问题。 (#1136)
修复了递归导入。 (#1099)
改进
在日志中打印配置文件和 mmdet 版本。 (#1721)
在 travis CI 中编译之前检查代码。 (#1715)
为
Expand
转换添加了一个概率参数。 (#1651)更新了 docker 文件中的 PyTorch 和 CUDA 版本。 (#1615)
当在非分布式训练中指定
--validate
时发出警告。 (#1624, #1651)美化了 mAP 打印。 (#1614)
添加了预提交钩子。 (#1536)
为骨干网络添加了
in_channels
参数。 (#1475)添加了大量文档字符串和单元测试,感谢 @Erotemic。 (#1603, #1517, #1506, #1505, #1491, #1479, #1477, #1475, #1474)
在没有共享存储时添加了对多节点分布式测试的支持。 (#1399)
优化了 Dockerfile 以减小映像大小。 (#1306)
更新了 HRNet 的新结果。 (#1284, #1182)
在 FPN 中添加了一个
no_norm_on_lateral
参数。 (#1240)测试了 CI 中的编译过程。 (#1235)
将文档移至单独的文件夹。 (#1233)
添加了一个 Jupyter Notebook 演示。 (#1158)
支持不同类型的训练数据集。 (#1133)
在 CUDA 内核中使用 int64_t 代替 long。 (#1131)
支持 bbox 和遮罩头部的非方形 RoI。 (#1128)
手动添加类型提升,以使其与 PyTorch 1.2 兼容。 (#1114)
允许使用验证数据集来计算验证损失。 (#1093)
使用
.scalar_type()
代替.type()
来抑制一些警告。 (#1070)
新功能
添加了一个
--with_ap
选项来计算每个类别的 AP。 (#1549)实现了“FreeAnchor:学习为视觉目标检测匹配锚点”。 (#1391)
支持 Albumentations 用于数据管道中的增强。 (#1354)
实现了“FoveaBox:超越基于锚点的目标检测器”。 (#1339)
支持水平和垂直翻转。 (#1273, #1115)
实现了“RepPoints:点集表示用于目标检测”。 (#1265)
为 HTC 和 Cascade R-CNN 添加了测试时间增强。 (#1251)
添加了一个 COCO 结果分析工具。 (#1228)
添加了 Dockerfile。 (#1168)
添加了一个网络摄像头演示。 (#1155, #1150)
添加了 FLOPs 计数器。 (#1127)
允许 ConvModule 的任意层顺序。 (#1078)
v1.0rc0 (2019/07/27)¶
实现了大量新的方法和组件(混合精度训练、HTC、Libra R-CNN、引导锚点、经验性注意力、遮罩评分 R-CNN、Grid R-CNN(Plus)、GHM、GCNet、FCOS、HRNet、权重标准化等)。感谢所有合作者!
支持两个额外的数据集:WIDER FACE 和 Cityscapes。
重构了损失 API,使其更加灵活,可以采用不同的损失和相关的超参数。
加速了多 GPU 测试。
将所有编译和安装集成到单个脚本中。
v0.6.0 (2019/04/14)¶
与模型库相比,速度提高了 30%。
支持 PyTorch 稳定版和 nightly 版。
用 Pytorch CUDA 扩展替换了 NMS 和 SigmoidFocalLoss。
v0.6rc0 (2019/02/06)¶
迁移至 PyTorch 1.0。
v0.5.7 (2019/02/06)¶
添加了对可变形卷积网络 v2 的支持。(非常感谢作者和 @chengdazhi)
这是最后一个基于 PyTorch 0.4.1 的版本。
v0.5.6 (2019/01/17)¶
添加了对组规范化的支持。
使用 AnchorHead 统一了 RPNHead 和单阶段头部(RetinaHead、SSDHead)。
v0.5.5 (2018/12/22)¶
为 COCO 和 PASCAL VOC 添加了 SSD。
添加了 ResNeXt 骨干网络和检测模型。
重构了采样器/分配器,并添加了 OHEM。
添加了 VOC 数据集和评估脚本。
v0.5.4 (2018/11/27)¶
添加了 SingleStageDetector 和 RetinaNet。
v0.5.3 (2018/11/26)¶
添加了 Cascade R-CNN 和 Cascade Mask R-CNN。
在配置文件中添加了对 Soft-NMS 的支持。
v0.5.2 (2018/10/21)¶
添加了对自定义数据集的支持。
添加了一个脚本,用于将 PASCAL VOC 注释转换为预期格式。
v0.5.1 (2018/10/20)¶
添加了 BBoxAssigner 和 BBoxSampler,配置文件中的
train_cfg
字段进行了重构。ConvFCRoIHead
/SharedFCRoIHead
重命名为ConvFCBBoxHead
/SharedFCBBoxHead
,以保持一致性。