Project Icon

BiRefNet

高分辨率图像分割的双边参考网络

BiRefNet是一个专注于高分辨率图像分割的创新网络。该项目在DIS、COD和HRSOD等多个高分辨率任务中取得了领先成果。BiRefNet采用双边参考机制提升分割精度,支持HuggingFace一行代码加载。项目开源了完整代码实现、预训练模型,并提供在线演示。这一工作为高分辨率图像分割研究带来了新的思路。

双边参考用于高分辨率二分图像分割

郑鹏 1,4,5,6,  高德宏 2,  范登平 1*,  刘丽 3,  Jorma Laaksonen 4,  欧阳万里 5,  Nicu Sebe 6
1 南开大学  2 西北工业大学  3 国防科技大学 
4 阿尔托大学  5 上海人工智能实验室  6 特伦托大学 
DIS-样例_1DIS-样例_2

本仓库是"双边参考用于高分辨率二分图像分割"(CAAI AIR 2024)的官方实现。

新闻 :newspaper:

  • 2024年7月30日: 感谢@not-lain在官方huggingface.js 仓库中添加BiRefNet的友善努力。
  • 2024年7月28日: 我们发布了框引导分割的Colab演示
  • 2024年7月15日: 我们在Hugging Face模型上部署了BiRefNet,用户可以轻松地用一行代码加载它。
  • 2024年6月21日: 我们发布并上传了原始论文的中文版到我的谷歌云盘
  • 2024年5月28日: 我们建立了一个模型库,其中包含不同大小和不同任务的BiRefNet经过良好训练的权重,包括通用用途、人像分割、DIS、HRSOD、COD等。
  • 2024年5月7日: 我们还发布了单图推理的Colab演示。非常感谢@rishabh063对此的支持。
  • 2024年4月9日: 感谢Features and Labels Inc.部署了一个很酷的在线BiRefNet推理API,并为我提供了强大的GPU资源用于进一步实验!
  • 2024年3月7日: 我们发布了BiRefNet代码、原始论文中所有任务的经过良好训练的权重,以及所有相关资料在我的谷歌云盘文件夹中。同时,我们还在Hugging Face Spaces上部署了我们的BiRefNet,以便更容易在线使用,并发布了推理和评估的Colab演示
  • 2024年1月7日: 我们在arXiv上发布了我们的论文。

:rocket: 通过HuggingFace用一行代码加载BiRefNet,查看更多:BiRefNet

from transformers import AutoModelForImageSegmentation
birefnet = AutoModelForImageSegmentation.from_pretrained('zhengpeng7/BiRefNet', trust_remote_code=True)

:flight_arrival: 推理伙伴:

我们很高兴能与FAL合作部署BiRefNet的推理API。您可以通过以下链接访问此服务:

我们的BiRefNet在许多类似的高分辨率任务上达到了最先进的水平: DIS: PWC PWC PWC PWC PWC

本工作时DIS论文与代码的对比图:

COD:PWC PWC PWC PWC

本工作时COD论文与代码的对比图:

HRSOD: PWC PWC PWC PWC PWC

本工作时HRSOD论文与代码的对比图:

尝试我们的在线演示进行推理:

  • 给定权重的推理和评估Open In Colab
  • 可调分辨率的带图形界面的在线推理Hugging Face Spaces
  • Colab上的单图像在线推理Open In Colab

模型库

为了更广泛地使用我们的BiRefNet,我成功地将原始的学术版本扩展为更通用的版本,以便在实际生活中更好地应用。

建议从官方页面下载数据集。但你也可以下载打包好的数据集:DIS,HRSOD,COD,Backbones

[stuff]exp-TASK_SETTINGS文件夹中可以找到所有模型的性能表现(几乎所有指标)。

原论文中的模型,用于在基准测试中进行比较:

[表格内容略]

使用自定义数据训练的模型(通用、人像),用于实际应用中的一般用途:

[表格内容略]

带框引导的分割:

模型效率:

截图来自原论文。所有测试均在单个A100 GPU上进行。

[图片]

第三方创作

考虑到计算能力较弱的边缘设备,我们提供了一个以swin_v1_tiny为骨干网络的轻量级版本,速度提高4倍以上,大小减小5倍以上。详细信息可以在这个issue及其链接中找到。

我们发现已经有一些基于BiRefNet的第三方应用。非常感谢他们对社区的贡献! 选择你喜欢的,点击即可尝试,无需编码:

  1. 应用:

  2. 更多视觉比较

使用方法

环境设置

# 使用PyTorch==2.0.1进行更快的训练编译。
conda create -n birefnet python=3.9 -y && conda activate birefnet
pip install -r requirements.txt

数据集准备

从以下链接下载我整理好的组合训练/测试集:DIS--COD--HRSOD,或者从single_ones文件夹或其官方页面下载单个官方数据集。您也可以在我的百度网盘上找到相同的数据集:DIS--COD--HRSOD

权重准备

我的谷歌云盘文件夹或其官方页面下载骨干网络权重。

运行

# 训练、测试和评估
./train_test.sh 运行名称 训练用GPU编号 测试用GPU编号
# 示例: ./train_test.sh tmp-proj 0,1,2,3,4,5,6,7 0

# 查看train.sh / test.sh以了解仅训练/测试评估的情况。
# 评估后,运行`gen_best_ep.py`从特定指标(您可以从Sm、wFm、HCE(仅DIS)中选择)中选择最佳检查点。

训练好的权重:

从[stuff]下载BiRefNet-{TASK}-{EPOCH}.pth。相应权重的(预测图/性能/训练日志)信息也可以在同一目录下的exp-BiRefNet-{TASK_SETTINGS}等文件夹中找到。

您也可以从本仓库的发布版本中下载权重。

结果可能与原始论文中的略有不同,您可以在每个exp-xx中的eval_results-BiRefNet-{TASK_SETTINGS}文件夹中查看它们,我们将在接下来的几天内更新它们。由于我使用的成本非常高(A100-80G x 8),许多人(包括我自己....)无法负担,我只在单个A100-40G上重新训练了BiRefNet,并达到了同等(甚至更好)的性能水平。这意味着您可以直接在单个具有36.5G+内存的GPU上训练模型。顺便说一下,1024x1024的推理需要5.5G的GPU内存。(我个人花了很多钱租用A100-40G来重新训练三个任务的BiRefNet...T_T。希望这能帮到您。)

但如果您有更多更强大的GPU,可以在config.py中设置GPU ID并增加批量大小以加速训练。我们已经在脚本中使所有这类事情都具有适应性,以便在单卡训练和多卡训练之间无缝切换。尽情享受吧:)

我的一些留言:

这个项目最初只为DIS构建。但经过一次又一次的更新,我使它变得越来越大,嵌入了许多功能。最终,您可以将其用于任何二值图像分割任务,如DIS/COD/SOD、医学图像分割、异常分割等。您可以轻松开启/关闭以下功能(通常在config.py中):

  • 多GPU训练:通过一个变量开启/关闭。
  • 骨干网络选择:Swin_v1、PVT_v2、ConvNets、...
  • 加权损失:BCE、IoU、SSIM、MAE、Reg、...
  • 二值分割的对抗损失(在我之前的工作MCCL中提出)。
  • 训练技巧:多尺度监督、冻结骨干网络、多尺度输入...
  • 数据整理器:将所有数据加载到内存中,平滑组合不同数据集以进行组合训练和测试。
  • ... 我真心希望您喜欢这个项目,并在更多工作中使用它来实现新的最先进水平。

定量结果

定性结果

引用

@article{zheng2024birefnet,
  title={Bilateral Reference for High-Resolution Dichotomous Image Segmentation},
  author={Zheng, Peng and Gao, Dehong and Fan, Deng-Ping and Liu, Li and Laaksonen, Jorma and Ouyang, Wanli and Sebe, Nicu},
  journal={CAAI Artificial Intelligence Research},
  year={2024}
}

联系方式

如有任何问题、讨论,甚至投诉,请随时在此处留下问题或发送电子邮件给我(zhengpeng0108@gmail.com)。如果您想进行更多公开交流,也可以加入Discord群组(https://discord.gg/d9NN5sgFrq)或QQ群(https://qm.qq.com/q/y6WPy7WOIK)。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号