尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

UniDetector快速上手:30分钟从零搭建开放世界目标检测环境,完整配置与数据集准备指南

UniDetector快速上手:30分钟从零搭建开放世界目标检测环境,完整配置与数据集准备指南 UniDetector快速上手30分钟从零搭建开放世界目标检测环境完整配置与数据集准备指南【免费下载链接】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》的官方开源实现一个开放世界目标检测模型只需在多个数据集上训练就能泛化到任意场景、检测任意类别的目标。本指南带你从环境安装、数据集准备到首次训练与推理30 分钟完整跑通。 什么是 UniDetector传统检测器只能识别训练时见过的类别固定标签空间。UniDetector 的目标是通用目标检测Universal Object Detection融合多个来源、标签空间各异的数据集进行训练借助CLIP 视觉-语言模型通过文本嵌入做零样本类别匹配泛化到开放世界——检测任意场景公园、街景、热成像、漫画中的任意类别长椅、鲑鱼、护膝、暖气片……。项目基于mmdetection v2.18.0开发见 mmdet/version.py并依赖 OpenAI 的CLIP库。⚡ 环境快速安装约10分钟前置要求Python 3.7、已配好的 PyTorch CUDA 环境。第 1 步获取代码git clone https://gitcode.com/gh_mirrors/un/UniDetector cd UniDetector第 2 步安装项目pip install -e .安装脚本 setup.py 会自动带上运行依赖matplotlib、numpy、pycocotools、six、terminaltables见 requirements/runtime.txt。第 3 步安装 CLIPCLIP 是运行代码的必要依赖按 OpenAI CLIP 官方说明安装即可需要clip、ftfy、tqdm等。✅ 安装完成后在 Python 中执行import mmdet与import clip均无报错即成功。 数据集准备核心步骤所有数据集统一放在项目根目录的data/文件夹下官方说明见 docs/datasets.md。COCO单数据集训练首选data/coco/ train2017/ val2017/ annotations/ instances_train2017.json instances_val2017.jsonLVIS v0.5开放世界评测集data/lvis_v0.5/ train2017/ val2017/ annotations/ lvis_v0.5_train.json lvis_v0.5_val.json多数据集训练可选进阶融合Objects365 v2与OpenImages可提升开放世界泛化能力。由于体量巨大官方只使用其随机子集配合两个脚本即可完成抽取# 抽取随机训练子集如 Objects365 抽 3.5% python scripts/extract_random_images.py --seed 1 --percent 3.5 \ --ann data/objects365/annotations/zhiyuan_objv2_train.json # 统计类别信息避免训练集中缺失某些类别 python scripts/get_cat_info.py --seed 1 \ --ann data/objects365/annotations/zhiyuan_objv2_train.13.5.json脚本位于 scripts/extract_random_images.py 与 scripts/get_cat_info.py。数据加载经过 MMDet 标准流水线读图 → 读标注 → 缩放 → 翻转 → 归一化 → 填充 → 打包完整实现在mmdet/datasets/pipelines/目录中 准备 CLIP 语言嵌入与预训练权重语言嵌入Category Embeddings项目已内置 COCO、LVIS、Objects365、OpenImages 的预计算嵌入放在clip_embeddings/目录如coco_clip_acname_rn50_manyprompt.npy开箱即用。也可以自行生成python scripts/dump_clip_features_manyprompt.py \ --ann path_to_annotation --clip_model RN50 --out_path path_to_embeddings该脚本使用 80 余条文本提示模板a photo of a {}. 等做平均提升嵌入质量。RegionCLIP 预训练权重训练前请获取论文发布的 RegionCLIP 权重文件regionclip_pretrained-cc_rn50_mmdet.pth官方下载渠道见项目 README 的 Preparation 章节并放在工作目录下。 开始第一次训练方式一端到端训练最简在单数据集 COCOval35k上训练 Faster R-CNN 模型配置见 configs/singledataset/clip_end2end_faster_rcnn_r50_c4_1x_coco.pybash tools/dist_train.sh configs/singledataset/clip_end2end_faster_rcnn_r50_c4_1x_coco.py 8 \ --cfg-options load_fromregionclip_pretrained-cc_rn50_mmdet.pth其中8为 GPU 数量可改为 1 单卡试跑。模型核心是自定义的CLIPResNet骨干网络mmdet/models/backbones/clipresnet.py与BBoxHeadCLIP分类头mmdet/models/roi_heads/bbox_heads/bbox_head_clip.py。方式二解耦训练CLN 区域建议 RoI 分类这是论文提出的两阶段方案# 第 1 阶段训练 CLN 区域建议模块 bash tools/dist_train.sh configs/singledataset/clip_decouple_faster_rcnn_r50_c4_1x_coco_1ststage.py 8 # 提取预计算区域建议训练集与验证集 bash tools/dist_test.sh configs/singledataset/clip_decouple_faster_rcnn_r50_c4_1x_coco_1ststage.py \ [checkpoints路径] 8 --out rp_train.pkl # 第 2 阶段训练 RoI 分类阶段 bash tools/dist_train.sh configs/singledataset/clip_decouple_faster_rcnn_r50_c4_1x_coco_2ndstage.py 8 \ --cfg-options load_fromregionclip_pretrained-cc_rn50_mmdet.pth 多数据集训练只需换用configs/multidataset/下的配置支持 COCOObjects365、COCOObjects365OpenImages步骤与上面完全一致。 开放世界推理与评测训练完成后在LVIS v0.5上评测开放世界性能配置在configs/inference/下# 端到端模型推理 bash tools/dist_test.sh configs/inference/clip_end2end_faster_rcnn_r50_c4_1x_lvis_v0.5.py \ [checkpoints路径] 8 --eval bbox # 解耦模型先提建议再做分类推理 bash tools/dist_test.sh configs/inference/clip_decouple_faster_rcnn_r50_c4_1x_lvis_v0.5_1ststage.py \ [checkpoints路径] 8 --out rp_val_ow.pkl bash tools/dist_test.sh configs/inference/clip_decouple_faster_rcnn_r50_c4_1x_lvis_v0.5_2ndstage.py \ [checkpoints路径] 8 --eval bbox想获得更可靠的置信度还可以启用概率校准clip_decouple_faster_rcnn_r50_c4_1x_lvis_v0.5_2ndstage_withcalibration.py先导出原始结果raw_lvis_results.pkl再二次推理。️ 快速体验Demo 推理脚本不想训练demo/目录提供了即用脚本直接对图片做检测单图推理demo/image_demo.py视频推理demo/video_demo.py交互教程demo/inference_demo.ipynb❓ 常见问题与资源索引问题解决思路报错找不到 CLIP确认已安装 OpenAI CLIP 并能import clip配置报load_from缺失下载 RegionCLIP 预训练权重并放到当前目录想改 GPU 数dist_train.sh的第二个参数即 GPU 数量可设为 1数据集路径不对所有数据须放在项目根目录的data/下关键目录速查训练配置configs/singledataset/、configs/multidataset/推理/评测配置configs/inference/模型源码mmdet/models/骨干网络、RoI 头、损失函数数据管道mmdet/datasets/pipelines/工具脚本tools/train.py、tools/test.py、tools/print_config.py打印完整配置排查配置问题很好用 至此你已完成 UniDetector 开放世界目标检测环境的完整搭建从 30 分钟安装配置到多数据集训练、LVIS 开放世界评测再到 Demo 可视化全部跑通【免费下载链接】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),仅供参考
返回列表