SOLO: 基于位置的目标分割
本项目包含实现SOLO算法进行实例分割的代码。
SOLO: 基于位置的目标分割,
王鑫龙, 孔涛, 沈春华, 蒋宇宁, 李磊
会议: 欧洲计算机视觉会议 (ECCV), 2020
arXiv 预印本 (arXiv 1912.04488)
SOLOv2: 动态且快速的实例分割,
王鑫龙, 张汝峰, 孔涛, 李磊, 沈春华
会议: 神经信息处理系统进展 (NeurIPS), 2020
arXiv 预印本 (arXiv 2003.10152)
亮点
- 完全无框: SOLO完全无框,不受(锚框)位置和尺度的限制,自然受益于FCN的内在优势。
- 直接实例分割: 我们的方法以图像作为输入,直接输出实例掩码及其对应的类别概率,采用完全卷积、无框、无分组的范式。
- 高质量掩码预测: SOLOv2能够预测细致的掩码,特别是在目标边界处。
- 最先进的性能: 我们基于ResNet-101和可变形卷积的最佳单模型在COCO测试开发集上获得了41.7%的AP(未进行多尺度测试)。SOLOv2的轻量级版本在单个V100 GPU上以31.3 FPS的速度运行,获得了**37.1%**的AP。
更新
- 基于detectron2实现的SOLOv2已发布在adet。(2020年12月7日)
- 所有模型的训练速度加快了(约快1.7倍)。(2020年12月3日)
- SOLOv2现已发布。SOLOv2的代码和训练模型已发布。(2020年7月8日)
- 轻量级模型和基于R101的模型现已发布。(2020年3月31日)
- SOLOv1现已发布。SOLO和Decoupled SOLO的代码和训练模型已发布。(2020年3月28日)
安装
此实现基于mmdetection(v1.0.0)。请参阅INSTALL.md进行安装和数据集准备。
模型
为方便起见,我们提供了以下基于COCO训练的模型(更多模型即将发布)。 如果您需要PaddlePaddle框架下的模型,请参阅paddlepaddle/README.md。
模型 | 多尺度训练 | 测试时间 / 图像 | AP (minival) | 链接 |
---|---|---|---|---|
SOLO_R50_1x | 否 | 77ms | 32.9 | 下载 |
SOLO_R50_3x | 是 | 77ms | 35.8 | 下载 |
SOLO_R101_3x | 是 | 86ms | 37.1 | 下载 |
Decoupled_SOLO_R50_1x | 否 | 85ms | 33.9 | 下载 |
Decoupled_SOLO_R50_3x | 是 | 85ms | 36.4 | 下载 |
Decoupled_SOLO_R101_3x | 是 | 92ms | 37.9 | 下载 |
SOLOv2_R50_1x | 否 | 54ms | 34.8 | 下载 |
SOLOv2_R50_3x | 是 | 54ms | 37.5 | 下载 |
SOLOv2_R101_3x | 是 | 66ms | 39.1 | 下载 |
SOLOv2_R101_DCN_3x | 是 | 97ms | 41.4 | 下载 |
SOLOv2_X101_DCN_3x | 是 | 169ms | 42.4 | 下载 |
轻量级模型:
模型 | 多尺度训练 | 测试时间 / 图像 | AP (minival) | 链接 |
---|---|---|---|---|
Decoupled_SOLO_Light_R50_3x | 是 | 29ms | 33.0 | 下载 |
Decoupled_SOLO_Light_DCN_R50_3x | 是 | 36ms | 35.0 | 下载 |
SOLOv2_Light_448_R18_3x | 是 | 19ms | 29.6 | 下载 |
SOLOv2_Light_448_R34_3x | 是 | 20ms | 32.0 | 下载 |
SOLOv2_Light_448_R50_3x | 是 | 24ms | 33.7 | 下载 |
SOLOv2_Light_512_DCN_R50_3x | 是 | 34ms | 36.4 | 下载 |
免责声明:
- 轻量级表示轻量级的主干网络、头部和较小的输入尺寸。详情请参阅相应的配置文件。
- 这是重新实现的版本,结果与我们原始论文略有不同(在掩码AP上差异在0.3%以内)。
使用
快速演示
安装完成后,您可以下载提供的模型并使用inference_demo.py运行快速演示。
使用多GPU训练
./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM}
示例:
./tools/dist_train.sh configs/solo/solo_r50_fpn_8gpu_1x.py 8
使用单GPU训练
python tools/train.py ${CONFIG_FILE}