高精度二分图像分割(ECCV 2022)
Xuebin Qin, Hang Dai, Xiaobin Hu, Deng-Ping Fan*, Ling Shao, Luc Van Gool.
这是我们新制定的DIS任务的官方仓库:
当前,此仓库中仅包含我们DIS V2.0数据集的一些示例图像。完整的DIS V2.0数据集和模型尚未发布!(快速响应有关DIS V2.0的许多电子邮件。)
我们正在尽最大努力尽早发布!
更新!!!
(2022年8月17日) 现在已发布我们IS-Net用于通用优化模型:isnet-general-use.pth
(用于通用,这不是DIS V2.0)从 (Google Drive) 或 (百度云 提取码:6jh2),请随时尝试在您自己的数据集上使用新创建的简单inference.py
代码。
(2022年7月30日) 感谢 AK391 实现了Web Demo:集成到Huggingface Spaces 🤗中,使用Gradio。试用Web Demo 。
官方DIS小组注意事项:当前发布的DIS深度模型是学术版本,使用了DIS V1.0训练,涵盖极少量的动物、人类、汽车等。因此在这些目标上可能表现不佳。我们将发布另一个版本用于通用测试。此外,我们的DIS V2.0将涵盖更多类别,样本注释极为精细。请持续关注。
(2022年7月17日) 我们的论文、代码和数据集现已正式发布!!!详情请查看我们的项目页面:项目页面。
(2022年7月5日) 我们的DIS工作现已被ECCV 2022接受,代码和数据集将在2022年7月17日之前发布。请关注我们的更新。
1. 我们的二分类图像分割(DIS)数据集
1.1 DIS数据集V1.0:DIS5K
下载: Google Drive 或 百度云 提取码:rtgw
1.2 DIS 数据集V2.0
虽然我们的DIS5K V1.0 包含200多个类别的样本,但现实世界中许多类别,如人类、动物、汽车等,并未包括在内。因此,我们的数据集当前版本(v1.0)可能会限制训练模型的鲁棒性。为了构建全面且大规模的高精度二分类图像分割数据集,我们正在构建DIS数据集V2.0。V2.0将很快发布。请持续关注。
DIS数据集V2.0的样本。
2. 我们DIS5K数据集的应用
3D建模
图像编辑
艺术设计材料
静态图像动画
AR
3D 渲染
3. 我们的IS-Net架构
4. 人类纠正工作量(HCE)
5. 实验结果
我们的IS-Net和其他SOTA的预测图,Google Drive,百度云 提取码:ph1d。
质性对比 SOTA (最新科技)
定量对比 SOTA (最新科技)
6. 运行我们的代码
(1) 克隆这个代码库
git clone https://github.com/xuebinqin/DIS.git
(2) 配置环境: 进入 DIS/ISNet
目录并运行
conda env create -f pytorch18.yml
或者你可以查看 requirements.txt
来配置依赖。
(3) 激活 conda 环境
conda activate pytorch18
(4) 训练:
(a) 打开 train_valid_inference_main.py
, 设置你需推理的 train_datasets
和 valid_datasets
的路径,例如 valid_datasets=[dataset_vd]
(b) 设置 hypar["mode"]
为 "train"
(c) 在目录 saved_models
中创建一个新文件夹 your_model_weights
,并将其设置为 hypar["model_path"] ="../saved_models/your_model_weights"
,并确保 hypar["valid_out_dir"]
(在 668 行)设置为空,否则验证阶段的预测图将被保存到该目录,这将减慢训练速度
(d) 运行
python train_valid_inference_main.py
(5) 推理
下载预训练权重(用于公平的学术对比)isnet.pth
从 Google Drive 或 Baidu Pan 提取码:xbfk 或 优化模型权重 isnet-general-use.pth
(用于通用) 从 Google Drive 或 Baidu Pan 提取码:6jh2,并存储在 saved_models/IS-Net
目录
I. 对自己没有标注数据集的简单推理代码:
(a) 打开 \ISNet\inference.py
并配置你的输入和输出目录
(b) 运行
python inference.py
II. 对有/无标注数据集的推理
(a) 打开 train_valid_inference_main.py
,设置你需推理的 valid_datasets
路径,例如 valid_datasets=[dataset_te1, dataset_te2, dataset_te3, dataset_te4]
(b) 设置 hypar["mode"]
为 "valid"
(c) 设置预测图的输出目录,例如 hypar["valid_out_dir"] = "../DIS5K-Results-test"
(d) 运行
python train_valid_inference_main.py
(6) 使用我们的 HCE 人工校正评估指标
设置 ground truth 目录 gt_root
和预测目录 pred_root
。为了减少计算 HCE 的时间成本,可以预计算并存储 DIS5K 数据集的骨架图于 gt_ske_root
目录。如果 gt_ske_root=""
, HCE 代码将在线计算骨架,这通常会花费很长时间。然后,运行 python hce_metric_main.py
。其他指标基于 SOCToolbox 进行评估。
7. 使用条款
我们的代码和评估指标使用 Apache 许可 2.0。DIS5K 数据集的使用条款请参阅 DIS5K-Dataset-Terms-of-Use.pdf。
致谢
我们要感谢 Ibrahim Almakky 博士 在实现加载大尺寸训练样本的数据加载器缓存机制方面的帮助,以及 Jiayi Zhu 在重新组织我们的代码和数据集方面的努力。
引用
@InProceedings{qin2022,
author={Xuebin Qin and Hang Dai and Xiaobin Hu and Deng-Ping Fan and Ling Shao and Luc Van Gool},
title={Highly Accurate Dichotomous Image Segmentation},
booktitle={ECCV},
year={2022}
}
我们之前的工作: U2-Net, BASNet.
@InProceedings{Qin_2020_PR,
title = {U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection},
author = {Qin, Xuebin and Zhang, Zichen and Huang, Chenyang and Dehghan, Masood and Zaiane, Osmar and Jagersand, Martin},
journal = {Pattern Recognition},
volume = {106},
pages = {107404},
year = {2020}
}
@InProceedings{Qin_2019_CVPR,
author = {Qin, Xuebin and Zhang, Zichen and Huang, Chenyang and Gao, Chao and Dehghan, Masood and Jagersand, Martin},
title = {BASNet: Boundary-Aware Salient Object Detection},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2019}
}
@article{qin2021boundary,
title={Boundary-aware segmentation network for mobile and web applications},
author={Qin, Xuebin and Fan, Deng-Ping and Huang, Chenyang and Diagne, Cyril and Zhang, Zichen and Sant'Anna, Adri{\`a} Cabeza and Suarez, Albert and Jagersand, Martin and Shao, Ling},
journal={arXiv preprint arXiv:2101.04704},
year={2021}
}