BiRefNet:开源高分辨率二值化图像分割框架,精准实现多场景精细分割与抠图
一、BiRefNet是什么
BiRefNet是一款由南开大学、上海人工智能实验室、芬兰阿尔托大学、意大利特伦托大学等机构联合开源的高分辨率二值化图像分割框架,以双边参考机制为核心创新,专注解决高分辨率图像下分割精度低、显存占用大、推理速度慢等难题。该框架原生支持二值化图像分割(DIS)、伪装目标分割(COD)、高分辨率显著目标分割(HRSOD)、通用前景提取、2K超高清分割、无Trimap智能抠图六大核心任务。
从定位来看,BiRefNet不是单一任务的分割模型,而是通用型高分辨率二值分割底座:最初专为DIS设计,现已扩展为覆盖DIS/COD/HRSOD/通用分割/2K分割/智能抠图的全场景框架,核心目标是在超高清图像(2K/4K)上实现像素级精细前景-背景分离,同时保持轻量化、高效率,满足学术研究与工业落地双重需求。
从技术本质上,BiRefNet采用编码器-解码器架构,核心创新是双边参考机制(Bilateral Reference),通过定位模块(LM)捕获全局语义、重建模块(RM)结合内部图像参考与外部梯度参考,精准还原边缘细节,彻底解决高分辨率下细节丢失、边缘模糊、小目标漏检等痛点。
从工程价值上,BiRefNet是开箱即用的全流程工具:提供训练、测试、推理、评估、部署全套脚本,支持单/多GPU训练、混合精度、动态分辨率、ONNX/TensorRT导出,兼容HuggingFace生态,普通开发者无需深度学习背景即可快速使用。
二、功能特色
BiRefNet的核心竞争力集中在多任务统一、高精度、高效率、低门槛、高灵活五大维度,是当前高分辨率二值分割领域最实用的开源方案之一。
1. 六大便携任务,一键切换
BiRefNet通过config.py修改任务参数即可无缝切换,无需改动模型代码,覆盖绝大多数二值分割需求:
| 任务名称 | 核心能力 | 典型应用 |
|---|---|---|
| 二值化图像分割(DIS5K) | 通用前景-背景精细分离 | 证件照、商品图、日常图背景移除 |
| 伪装目标分割(COD) | 低对比度、隐蔽物体精准分割 | 军事伪装检测、野生动物监测、工业缺陷检测 |
| 高分辨率显著目标分割(HRSOD) | 2K/4K图像显著区域提取 | 航拍图、监控图、超高清摄影主体提取 |
| 通用场景分割(General) | 日常图像快速前景提取 | 自媒体作图、电商素材处理 |
| 2K通用分割(General-2K) | 2K分辨率专用优化 | 影视后期、高清广告图处理 |
| 智能抠图(Matting) | 无Trimap发丝级抠图 | 人像抠图、商品抠图、虚拟背景合成 |
2. 精度全面领先,SOTA级表现
在DIS5K、COD10K、NC4K、HRSOD、UHRSD等权威数据集上均超越同期专用模型;
高分辨率场景下边缘精度比传统模型提升8%–12%,发丝、裂纹、透明物体均可精准分割;
梯度监督与多尺度监督双重加持,复杂背景、遮挡场景下鲁棒性极强。
3. 极致效率,消费级显卡即可跑满
推理速度:RTX 4090上1024×1024分辨率17 FPS,显存仅3.45 GB;
2K分辨率推理显存≤8 GB,16GB显存显卡可流畅训练与批量推理;
支持PyTorch SDPA注意力,显存降低20%–30%,训练速度提升10%–15%;
动态分辨率训练(256×256~2304×2304),自动适配不同硬件与图像尺寸。
4. 极简使用,零门槛上手
HuggingFace一键加载:一行代码导入预训练模型,无需手动下载权重;
提供Colab、HF Spaces在线Demo,浏览器直接体验;
训练/测试/推理均提供shell脚本,复制命令即可运行;
配置集中在config.py,任务、骨干、分辨率、损失函数一目了然。
5. 高度灵活,支持深度定制
兼容10+骨干网络:Swin V1、PVT V2、DINOv3、ResNet、VGG等;
8+损失函数自由组合:BCE、IoU、SSIM、MAE、MSE、梯度损失等;
支持DDP多GPU、accelerate分布式训练、混合精度(FP16/BF16/FP8);
支持torch.compile编译加速,PyTorch 2.5+速度再提10%–20%。
三、技术细节
BiRefNet的核心竞争力来自双边参考架构与一系列工程化优化,技术设计兼顾学术创新与落地实用性。
1. 整体架构:定位模块+重建模块
BiRefNet采用双模块协同架构,彻底解决高分辨率细节丢失问题:
定位模块(LM)
基于Transformer/CNN骨干提取多尺度特征;
快速锁定目标位置,输出粗分割图,降低后续重建压力;
融入ASPP空洞空间金字塔池化,增强上下文感知。
重建模块(RM)
这是BiRefNet的核心,采用双边参考(BiRef):内部参考(InRef):直接使用原始图像区块作为参考,保留高分辨率纹理细节,避免下采样损失;
外部参考(OutRef):以梯度图为监督信号,引导模型聚焦边缘、纹理、拐角等关键区域;
多阶段渐进式细化,逐层恢复分辨率,输出像素级精准掩码。
2. 核心创新:双边参考机制(Bilateral Reference)
传统高分辨率分割要么下采样丢细节,要么全分辨率爆显存。BiRefNet的双边参考从根源解决矛盾:
用定位模块做“全局导航”,用重建模块做“细节雕刻”;
内部参考保证纹理保真,外部参考保证边缘锐利;
梯度辅助监督强制模型学习细微变化,对发丝、玻璃、裂缝等极友好。
3. 训练与推理工程优化
动态分辨率训练:随机尺度输入,增强泛化,减少过拟合;
混合精度训练:FP16/BF16大幅降低显存,速度提升;
SDPA注意力:PyTorch原生加速,比传统实现更省显存更快;
多尺度监督:多层输出联合监督,细节与全局兼顾;
轻量化解码器:逐阶段上采样,计算量可控。
4. 模型与部署支持
提供基础版、高清版(BiRefNet_HR)、动态版(BiRefNet_dynamic);
支持ONNX、TensorRT导出,可部署到服务器、边缘设备;
提供ComfyUI插件,AIGC工作流直接集成;
提供视频分割推理脚本,支持连续帧处理。
四、应用场景
BiRefNet凭借高分辨率、高精度、高效率特性,可广泛落地于学术研究、工业视觉、内容创作、智慧城市、自动驾驶等领域:
影视与内容创作
无绿幕智能抠图,发丝、半透明物体完美分离;
短视频、直播虚拟背景替换;
动漫、漫画主体提取与背景重绘。
电商与设计
商品图一键白底、透明背景制作;
证件照、形象照快速换底;
海报、广告高清素材处理。
工业与质检
高分辨率表面缺陷检测(裂纹、划痕);
生产线小目标定位与分割;
伪装缺陷、隐蔽异常识别。
安防与航拍
无人机航拍主体提取;
监控画面行人/车辆分割;
野外隐蔽目标监测。
医疗影像
病灶二值分割、轮廓提取;
细胞、组织区域精准分割。
自动驾驶
雨雾、夜间复杂场景下行人/障碍物分割;
车载摄像头高分辨率实时感知。

五、使用方法
BiRefNet提供本地部署、HuggingFace调用、在线Demo三种使用方式,覆盖从新手到开发者全人群。
1. 环境准备
git clone https://github.com/ZhengPeng7/BiRefNet.git cd BiRefNet pip install -r requirements.txt
2. 快速推理(本地)
# 单GPU推理,输出目录e_preds,分辨率1024×1024 ./test.sh 0 e_preds 1024x1024
3. 训练模型
# 多GPU训练:指定模型BiRefNet,GPU 0,1,2,3,测试用GPU 0 ./train_test.sh BiRefNet 0,1,2,3 0
4. HuggingFace一键加载
from transformers import AutoModelForImageSegmentation model = AutoModelForImageSegmentation.from_pretrained( "zhengpeng7/BiRefNet", trust_remote_code=True )
5. 配置修改(config.py)
任务切换:
self.task = 'DIS5K' / 'COD' / 'HRSOD' / 'General' / 'General-2K' / 'Matting'分辨率设置:
self.size = (1024, 1024)动态分辨率:
self.dynamic_size = ((512, 2048), (512, 2048))骨干网络:
self.backbone = 'swin_v1' / 'pvt_v2' / 'dinov3'
6. 在线Demo
HuggingFace Spaces:https://huggingface.co/spaces/ZhengPeng7/BiRefNet_demo
Colab:仓库内提供链接,云端直接运行。
六、常见问题解答(FAQ)
BiRefNet只能用于二值分割吗?
是的,BiRefNet专注于前景-背景二分类分割,包括DIS、COD、SOD、Matting等均属于二值分割范畴,不支持多类别语义分割。
最低需要什么配置的显卡才能运行?
推理最低4GB显存即可运行512×512分辨率;1024×1024推荐≥6GB;2K分辨率推荐≥8GB;训练建议≥12GB显存。
支持Windows系统吗?
完全支持,只需正确安装PyTorch与CUDA,脚本与Linux完全一致,也可使用WSL2部署。
如何切换到抠图任务?
在config.py中将self.task设置为Matting,加载对应抠图预训练权重即可,无需修改代码。
训练自己的数据集需要准备什么?
按DIS5K格式组织:图片放images文件夹,掩码放masks文件夹,文件名一一对应,在config.py修改数据集路径。
出现显存不足(Out of Memory)怎么办?
降低输入分辨率、减小batch size、开启混合精度FP16、启用dynamic_size、使用更小的骨干网络。
推理速度慢如何优化?
使用FP16、开启torch.compile、降低分辨率、使用TensorRT加速、更换高性能GPU。
支持视频分割吗?
支持,仓库tutorials文件夹提供视频推理Notebook,可逐帧分割并合成视频。
可以导出ONNX/TensorRT吗?
可以,官方提供转换教程与脚本,支持部署到C++、服务端、边缘设备。
BiRefNet和RMBG、SAM有什么区别?
BiRefNet专注高分辨率二值分割与抠图,速度更快、显存更低、边缘更精细;SAM是通用分割,参数大、速度慢、不专门优化二值与高清。
模型权重在哪里下载?
HuggingFace Hub自动下载,也可在GitHub README获取手动下载链接。
支持多GPU训练吗?
支持,使用train_test.sh脚本指定多GPU即可,自动启用DDP分布式训练。
损失函数NaN如何解决?
降低学习率、开启梯度裁剪、调整损失函数权重、检查数据集掩码是否损坏。
可以用于商业项目吗?
可以,项目采用MIT开源协议,允许商用、修改、分发,只需保留版权声明。
如何提高抠图透明边缘质量?
使用Matting专用权重、提高输入分辨率至2K、开启SSIM损失、确保输入图像清晰无压缩。
七、相关链接
GitHub官方仓库:https://github.com/ZhengPeng7/BiRefNet
论文地址(arXiv):https://arxiv.org/pdf/2401.03407
HuggingFace模型库:https://huggingface.co/zhengpeng7/BiRefNet
HuggingFace在线Demo:https://huggingface.co/spaces/ZhengPeng7/BiRefNet_demo
八、总结
BiRefNet是一款以双边参考机制为核心、面向高分辨率场景设计的开源二值化图像分割框架,凭借统一架构支持DIS、COD、HRSOD、通用分割、2K分割与智能抠图六大任务,在精度、速度、显存占用上实现均衡优化,提供从训练、推理到部署的全流程工具链,兼容多骨干网络与分布式训练,支持HuggingFace快速调用与ONNX/TensorRT导出,既可满足学术研究需求,也能直接落地于影视抠图、电商设计、工业检测、安防航拍等真实场景,凭借MIT协议、极低使用门槛与持续更新维护,成为当前高分辨率精细分割领域最具实用价值的开源方案之一。
版权及免责申明:本文由@AI工具箱原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/birefnet.html

