ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

一文读懂UniDetector:CVPR 2023通用目标检测如何做到「不重训就能认万物」?

2026/8/22 15:34:17 拓冰建站 浏览量
一文读懂UniDetector:CVPR 2023通用目标检测如何做到「不重训就能认万物」? 一文读懂UniDetectorCVPR 2023通用目标检测如何做到「不重训就能认万物」【免费下载链接】UniDetectorCode release for our CVPR 2023 paper Detecting Everything in the Open World: Towards Universal Object Detection.项目地址: https://gitcode.com/gh_mirrors/un/UniDetectorUniDetector 是 CVPR 2023 论文《Detecting Everything in the Open World: Towards Universal Object Detection》的官方开源实现它借助 CLIP 的图文对齐能力让通用目标检测器无需针对新类别重新训练就能在开放世界Open World中识别从「滑板护膝」到「手风琴」的万物目标。本文带你快速看懂它的核心原理与上手方法。一、什么是通用目标检测传统检测器如 Faster R-CNN只能识别「训练时见过」的固定类别比如 COCO 的 80 类。一旦想检测新类别就得重新标注、重新训练。UniDetector 要解决的问题是用一个模型同时学会多个数据源的标签空间并泛化到训练中从未见过的类别与场景。上图中它把 COCO、Objects365、OpenImages 等标签空间各不相同的数据源融合训练推理时就能检测「鱼、船坞、西兰花、暖气片」等开放世界目标。二、「不重训就能认万物」的 3 个核心技巧1️⃣ 用 CLIP 替代普通 ResNet 作骨干网络UniDetector 把 Faster R-CNN 的 ResNet 骨干换成了在图文数据上预训练的CLIPResNet见 clipresnet.py特征天生就「懂」语言语义这是它能识别未见类别的根本原因。2️⃣ 零样本分类用语言嵌入当「类别词典」这是最关键的一步。普通分类头输出固定 80 个分数而 UniDetector 的BBoxHeadCLIP见 bbox_head_clip.py直接取消了固定分类头改为把目标框特征与预计算的 CLIP 语言嵌入做相似度匹配——每个类别只是一句文本描述如 a photo of a bus换类别 换文本完全不用重训。项目已附带各数据集的预计算语言嵌入存放在 clip_embeddings/ 目录也可通过 scripts/dump_clip_features_manyprompt.py 自行生成。3️⃣ 两阶段「解耦训练」 概率校准第一阶段提案只训练区域提案网络CLN产出候选框第二阶段分类冻结提案用 CLIP 嵌入训练 RoI 分类CLM概率校准推理时结合「提案置信度」与「类别先验概率」修正最终分数进一步提升开放世界精度。对应配置可直接参考阶段配置文件端到端训练clip_end2end_faster_rcnn_r50_c4_1x_coco.py解耦训练·第一阶段clip_decouple_faster_rcnn_r50_c4_1x_coco_1ststage.py解耦训练·第二阶段clip_decouple_faster_rcnn_r50_c4_1x_coco_2ndstage.py开放世界推理clip_end2end_faster_rcnn_r50_c4_1x_lvis_v0.5.py带概率校准推理clip_decouple_faster_rcnn_r50_c4_1x_lvis_v0.5_2ndstage_withcalibration.py多数据集COCO Objects365、 OpenImages训练配置也在 configs/multidataset/ 下思路与单数据集一致。三、实际检测效果长什么样这是项目 demo 使用的公园街景原图同一张图片经 UniDetector 通用目标检测后的输出长椅、汽车等目标都被框出并打上类别标签想在自己的图片上体验可以直接运行 image_demo.py配合 demo.jpg 快速跑通一次推理。四、新手快速上手 4 步安装环境代码基于 mmdetection v2.18.0另需安装 CLIP 库准备数据集把 COCO、LVIS、Objects365、OpenImages 按 docs/datasets.md 的结构放到data/目录只需子集无需下载全量准备语言嵌入直接使用 clip_embeddings/ 中已发布的嵌入文件即可跑通推理参考上表的 inference 配置执行tools/dist_test.sh即可得到 LVIS v0.5 上的开放世界检测结果。训练流程bash tools/dist_train.sh 配置文件 8与标准 mmdetection 完全一致详见项目根目录 README.md。五、项目结构速览 目录作用mmdet/models/backbones/clipresnet.pyCLIP 版 ResNet 骨干mmdet/models/roi_heads/bbox_heads/bbox_head_clip.py零样本 CLIP 分类头核心创新configs/单数据集、多数据集、推理三套配置clip_embeddings/各数据集预计算 CLIP 语言嵌入scripts/dump_clip_features_manyprompt.py自定义语言嵌入生成脚本demo/图片/视频/摄像头推理演示总结UniDetector 的思路可以概括为一句话把「分类器」变成「图文相似度匹配器」。通过 CLIP 骨干 语言嵌入零样本分类 两阶段解耦训练与概率校准它让目标检测第一次真正走向开放世界的「万物识别」。如果你想研究开放世界检测这个项目值得一读。✨【免费下载链接】UniDetectorCode release for our CVPR 2023 paper Detecting Everything in the Open World: Towards Universal Object Detection.项目地址: https://gitcode.com/gh_mirrors/un/UniDetector创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考