ILSVC检测评测准备实战:ImageNet_Utils gt_det真值生成工具详解
2026/8/23 11:30:37 网站建设 项目流程

ILSVC检测评测准备实战:ImageNet_Utils gt_det真值生成工具详解

【免费下载链接】ImageNet_Utils:arrow_double_down: Utils to help download images by id, crop bounding box, label images, etc.项目地址: https://gitcode.com/gh_mirrors/im/ImageNet_Utils

ImageNet_Utils是面向图像检测评测的一站式工具包,其中的 detection_eval_tools/gt_det.py 脚本(gt_det 真值生成工具)可以帮你为 ILSVC 检测评测一键准备 ground truth(真值):自动汇总标注文件与图片、生成图片 ID 列表和元数据,省去手动整理的繁琐工作。

🎯 gt_det 是什么:ILSVC 检测评测真值准备工具

gt_det 的定位非常明确:帮助使用者为 ILSVC(ImageNet Large Scale Visual Recognition Challenge)检测结果评测准备真值数据。它会自动完成以下四件事:

输出文件内容说明
dst/annotations/从标注目录递归收集并复制的全部 XML 标注文件
dst/images/与标注一一对应的图片文件
dst/ids.txt图片 ID 列表(从 1 开始编号,方便 MATLAB 脚本使用)
dst/meta.mat类别元数据(WNID、类别名、描述)

这些产物正是 ImageNet 官方检测评测开发包(devkit)所要求的标准格式,详见 detection_eval_tools/README.md。

🚀 快速上手:安装与环境准备

一键克隆仓库

git clone https://gitcode.com/gh_mirrors/im/ImageNet_Utils

依赖环境

gt_det 依赖numpyscipy(用于生成.mat元数据文件),其余工具如 downloadutils.py 下载图片时还需要注册 ImageNet 账号。建议提前执行:

pip install numpy scipy pillow

💡 提示:运行前可参考项目根目录 README.md 了解各模块功能与使用顺序。

📦 gt_det 命令用法与参数详解

标准调用格式如下:

$ ./gt_det.py dst_dir -p ann_dir img_dir labelMap.txt structure.xml

各参数含义一目了然:

  • dst_dir:输出目录,gt_det 会把标注、图片、ids.txtmeta.mat全部写到这里;
  • -p ann_dir img_dir labelMap.txt structure.xml:四个输入路径,其中structure.xml是可选的ImageNet 结构文件(参考 detection_eval_tools/structure_released.xml);
  • 若省略-p参数,gt_det 会读取上次运行保存的.pdet配置(见 detection_eval_tools/gt_det.py#L93-L106),方便重复执行。

labelMap.txt 怎么写

labelMap.txt负责把整数标签映射到类别名称,每行一条记录,两种风格均可:

20 n03781787 15 n00007846 9 n03002096

或者直接使用可读名称:

20 tvmonitor 15 person 9 chair

gt_det 会读取该文件找出最大标签号,并据此构建meta.mat中的synsets数组(WNID / name / description 三列),核心逻辑见 detection_eval_tools/gt_det.py#L58-L74。

🔍 进阶:reorder_meta.py 元数据重排序

如果你的评测集类别顺序与meta.mat不一致,可用 detection_eval_tools/reorder_meta.py 按指定顺序重排元数据:

$ python reorder_meta.py src.mat order.txt dst.mat

order.txt中按期望顺序列出 WNID,例如:

n03781787 n00007846 n03002096

src.mat中缺少某个 WNID,可加上--padding参数用空项补齐,避免评测脚本因标签错位而失败。脚本最后还会自动校验顺序是否一致,校验失败会直接报错退出。

🧩 真值准备全流程:从标注到评测

gt_det 不是孤立的脚本,它依赖上游工具产出的标注 XML,完整工作流如下:

  1. 下载数据:用 downloadutils.py 按 WNID 下载图片与边界框标注;
  2. 标注图片:通过 labelImgGUI/ 目录下的图形界面工具框选目标并生成标注 XML(如上图所示),或在 detection_eval_tools/ 中复用已有标注;
  3. 裁剪验证:用 bbox_helper.py 按标注 XML 裁剪边界框图片,直观核对标注质量;
  4. 生成真值:运行 gt_det 一键生成评测所需的全部真值文件;
  5. (可选)格式转换:如需 Dlib 格式的检测框,可用 boxesCvtPascaltoDlib.py 将 Pascal 格式标注(参考 demo/pascalBoxes/2008_004649.xml)转换为 Dlib 格式。

❓ 常见问题

Q:运行 gt_det 提示 "Please specify paths."?未指定-p参数且找不到上次保存的.pdet配置文件。补齐四个路径参数即可。

Q:图片与标注对不上导致ids.txt为空?gt_det 通过文件名(去掉扩展名的图片 ID)匹配标注与图片,请确保ann_dirimg_dir中同名文件齐全。

Q:structure.xml 从哪里来?它是 ImageNet 的类别结构文件,仓库内附有 detection_eval_tools/structure_released.xml 可作参考,该参数可省略。

✅ 总结

gt_det 真值生成工具把 ILSVC 检测评测中最枯燥的准备工作自动化了:一个命令完成标注汇总、图片匹配、ID 列表与元数据生成四大任务,配合 detection_eval_tools/ 中的 reorder_meta.py,能覆盖绝大多数检测评测的真值准备场景。对于刚接触 ImageNet 评测的新手,建议按照本文"下载 → 标注 → 裁剪验证 → 生成真值"的流程走一遍,即可快速上手。

【免费下载链接】ImageNet_Utils:arrow_double_down: Utils to help download images by id, crop bounding box, label images, etc.项目地址: https://gitcode.com/gh_mirrors/im/ImageNet_Utils

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询