D-FINE-seg:统一检测、实例与语义分割的开源框架
开源框架 D-FINE-seg 将目标检测、实例分割、语义分割整合到一套代码中,支持 ONNX/TensorRT/Ope…
D-FINE-seg 是一个面向实时视觉任务的开源框架,将目标检测、实例分割和语义分割三类任务整合到同一套代码与同一份模型权重中,用户只需通过配置项 task: detect | segment | sem_seg 即可切换任务,无需维护多套独立仓库。框架在 D-FINE 检测主干之上从头实现了分割头、训练流程与多后端导出逻辑,并非简单 fork。
一体化设计与核心能力
框架提供从数据准备、训练到导出与推理的端到端工作流:训练侧支持 DDP 分布式训练、EMA、AMP 与 mosaic 增强,导出侧覆盖 ONNX、TensorRT、OpenVINO、CoreML 与 LiteRT,便于在不同硬件平台上部署。模型提供 N/S/M/L/X 五种规模,便于在精度与速度之间权衡。
在作者公布的 benchmark 中,D-FINE-seg 在 Cityscapes 数据集上的检测与实例分割 F1 均超过 YOLO26 和 RF-DETR,语义分割 mIoU 也领先,同时参数量减少约 2–3 倍;在 TACO 与 VisDrone 上同样高于 YOLO26(TensorRT FP16、端到端评测协议)。此外,框架还提供 ByteTrack 跟踪、SAM3 自动标注、Gradio 演示以及 INT8 量化等周边工具。
分割头与训练机制
实例分割头在 D-FINE 的 HybridEncoder PAN 输出上构建,将 stride 8/16/32 的特征融合到 1/4 分辨率,再通过每查询 mask embedding(3 层 MLP)与共享 mask 特征做点积,得到每实例掩码。语义分割头则复用预训练的实例分割 mask fuser,对全帧特征做卷积颈部加 1×1 分类,无需 query,也无需 NMS。
训练阶段引入 mask-aware 损失与匹配代价:实例分割采用 box-cropped BCE + Dice,语义分割采用 CE + 多类 soft Dice(支持 ignore_index),并将 mask 监督加入对比去噪训练;匹配阶段加入 Dice + sigmoid-focal mask 代价。值得注意的是,这些 mask 相关计算仅在训练时生效,推理阶段零额外开销。
多通道输入与现代训练栈
框架支持 RGB + 热成像 / 深度 / 近红外等 4 通道 .npy 堆叠输入(train.in_channels: N,N=3 或 N=4)。预训练 3 通道骨干权重通过 inflate_stem_weight 将首层卷积扩展至 N 通道,从而保留 COCO 预训练优势;当通道数 >3 时会自动绕过 stem freeze,让新增通道权重参与训练。
训练栈采用 Muon 优化器、OneCycle 调度、早停与 WandB 日志,配合数据增强(mosaic + affine)以提升收敛效率。COCO 预训练权重会在首次使用时从 Hugging Face 自动下载,分割微调可基于已训练好的 mask decoder 起步,而无需从头训练。
快速上手
环境通过 uv sync 一键创建与锁定依赖;数据格式支持默认的 YOLO 文本标注与 COCO JSON,语义分割任务则使用单通道 uint8 PNG(像素值即类别 id,255 为忽略/背景)。M3FD 等 RGB+热成像基准可通过仓库内的 ETL 脚本转换为统一布局直接训练。完整安装、训练与导出命令参见项目 README 与 Makefile。
