【免费下载链接】PATH-ViTB
如果你正在研究行人属性识别(Pedestrian Attribute Recognition),CityPersons 几乎绕不开——它是 PATH-ViTB 这类模型做行人检测与属性识别评测时采用的标准基准数据集。本文带你快速吃透 CityPersons 的来源、标注体系、官方数据划分与评测方法,并带你读懂 PATH-ViTB 仓库里两个模型检查点的命名细节。
1️⃣ CityPersons 是什么?
CityPersons 是专为**行人属性识别(PAV, Pedestrian Attribute with Verification)**任务设计的基准数据集,由 INRIA Person 行人检测数据集中裁剪而来。与原始 INRIA 数据集只提供边界框和遮挡等级不同,CityPersons 为每个行人实例都标注了:
- ✅17 个行人属性:年龄、体型、上衣颜色、下装颜色、鞋的颜色等
- ✅5 个场景标签:背景类型(如建筑、车辆、自然等)
💡 为什么需要它?做行人属性识别时,你必须知道"框里的人长什么样"。CityPersons 就是给行人框"加上了描述标签"的那份标准数据。
数据集规模一览
| 项目 | 规模 |
|---|---|
| 图像总数 | 3,753 张 |
| 行人实例总数 | 28,335 个 |
| 训练集 | 100 张图像 |
| 测试集 | 251 张图像(含 1,500 个行人) |
| 属性类别数 | 17 |
| 场景类别数 | 5 |
注意一个细节:训练集图像少但行人多,测试集固定为 1,500 个行人。这也是为什么该数据集的评测指标通常以这 1,500 个测试行人实例为分母来统计。
2️⃣ 17 个属性 + 5 个场景:标注体系详解
CityPersons 的属性标注覆盖三个层面,新手理解这三层就能看懂大部分 PAVR 论文:
属性三个层面
- 外观属性:上衣颜色(上装红/蓝/绿/黄/灰/黑/白等)、下装颜色、鞋的颜色
- 形态属性:性别、年龄(儿童/成人/老人)、体型(瘦/胖)、是否背包、是否打伞、是否拿包
- 场景属性:背景场景(5 类)
每个行人实例的标注可以理解为"一个属性向量":比如「成人 / 男性 / 上装蓝色 / 下装黑色 / 场景为车辆背景」,评测时预测向量和标注向量逐位对比。
3️⃣ 官方数据划分与使用约定
CityPersons 沿用了 INRIA Person 的训练/测试图像划分(train_3k / test_3k 的裁剪结果):
- 📁训练:100 张图像,用于训练模型
- 📁测试:251 张图像中的1,500 个行人实例,作为固定评测集
⚠️ 新手最常踩的坑:测试集不是"251 张图里全部行人",而是官方标注文件中选定的 1,500 个实例。自己随意框人再评测,分数会和论文对不上。
使用时建议遵循两个约定:
- 只在官方标注行人实例上计算指标,保证可比性
- 属性标签使用官方 17 类词表,不要私自合并或增删类别
4️⃣ 评测指标:AP 与 mAP 怎么看
PAVR 任务的标准评测流程是"先检测、再认属性",指标分两级:
- 属性级 AP:对每一个属性(如"上装蓝色"),把"预测该属性为真且行人框置信度达标"当作正样本计算 AP(Average Precision)
- mAP:对 17 个属性(或含场景标签)的 AP 取平均,是论文里最常报的主指标
理解要点:
- 检测不准 → 行人框都错了,属性 AP 自然上不去,这就是行人检测精度与属性识别表现强相关的原因
- 遮挡严重的小行人 → 是拉低 mAP 的主力,很多模型会专门针对小目标做优化
5️⃣ PATH-ViTB:两个检查点文件名里的"评测密码" 🔍
PATH-ViTB 仓库直接给出了在 CityPersons 上评测所用的行人检测模型权重。虽然仓库文件很少,但检查点的文件名本身就是配置摘要,值得逐段拆解。
仓库核心文件清单:
- README.md
- v100_32g_vitbase_size224_lr1e3_stepLRx3_bmp1_adafactor_wd01_clip05_layerdecay075_lpe_peddet_citypersons_LSA_reduct8_tbn1_heads2_gate1_peddetShareDecoder_exp3_setting_SharePosEmbed.pth(约 343 MB)
- vitlarge_size224_lr5e4_stepLRx3_bmp1_adafactor_clip05_wd01_layerdecay08_lpe_LSA_reduct8_tbn1_heads2_gate1_peddetDPR02_peddetShareDecoder_exp3_setting_SharePosEmbed.pth(约 1.16 GB)
📌 两个
.pth文件较大(约 343 MB / 1.16 GB),仓库通过 Git LFS 管理二进制权重,见 .gitattributes。
从 ViT-Base 检查点名拆解配置
以较小的那个文件为例,分段翻译一下:
| 片段 | 含义 |
|---|---|
v100_32g | 硬件环境:V100 GPU,显存 32G 预算 |
vitbase | 主干为 ViT-Base |
size224 | 输入分辨率 224×224 |
lr1e3/stepLRx3 | 初始学习率 1e-3,按步长调度降为 1/3 |
adafactor | 使用 Adafactor 优化器 |
wd01 | 权重衰减 0.1 |
clip05 | 梯度裁剪 0.5 |
layerdecay075 | 层衰减系数 0.75 |
lpe/LSA/tbn1 | 位置编码与注意力相关变体配置 |
heads2/gate1 | 注意力头数 2,门控结构 ×1 |
peddet | 包含行人检测(pedestrian detection)头 |
peddet_citypersons | 明确在 CityPersons 评测设定下训练的检测模型 |
peddetShareDecoder | 检测与属性分支共享 decoder |
SharePosEmbed | 共享位置编码 |
两个检查点的定位
- ViT-Base + CityPersons:文件名直接带
peddet_citypersons,是面向 CityPersons 标准评测的检测配置,体量小(约 343 MB),适合先跑通评测流程 - ViT-Large + DPR02:更大的主干(约 1.16 GB),带
peddetDPR02配置,通常用于追求更高精度的实验
给新手的路径建议:先用 Base 版本把"检测 → 属性预测 → 指标统计"的完整流水线跑通,理解每一步输入输出,再换 Large 版本对比 mAP 变化。
6️⃣ 上手步骤:从拿到权重到跑通评测 🚀
- 拉取仓库(含 Git LFS 权重):
git clone https://gitcode.com/OpenGVLab/PATH-ViTB cd PATH-ViTB git lfs install git lfs pull- 准备数据:下载 CityPersons 数据与官方 train/test 划分、属性标注词表
- 加载检查点:按上面的文件说明选择 Base 或 Large 权重
- 跑检测:在测试图像上输出行人框与置信度
- 预测属性:对每个行人框预测 17 类属性
- 统计指标:只在官方 1,500 个测试实例上计算属性 AP 与 mAP
7️⃣ 新手常见误区清单 🧯
| 误区 | 正确做法 |
|---|---|
| 用测试集里全部行人评测 | 只统计官方指定的 1,500 个实例 |
| 自定义属性词表 | 严格使用官方 17 类词表 |
| 只报 mAP 不报 AP | 同时给出属性级 AP,便于定位短板 |
| 忽视小目标行人 | 关注遮挡/小行人子集,这是精度瓶颈 |
| 以为权重文件能直接推理 | .pth只是权重,需要配套的模型结构与代码加载 |
写在最后
CityPersons 的价值在于"统一标尺":17 个属性、5 个场景、固定的 1,500 个测试行人实例,让不同模型(如 PATH-ViTB 提供的这两个检查点)的行人检测与属性识别结果可以横向比较。先理解标注体系和数据划分,再动手调参,你会少走很多弯路。祝评测顺利,mAP 稳步上涨!📈
【免费下载链接】PATH-ViTB
相关推荐
InsightFace 人脸检测数据集全指南:WIDER Face 训练与 FDDB / AFW / PASCAL Face / MALF 评测基准
InsightFace 人脸检测数据集全指南:WIDER Face 训练与 FDDB / AFW / PASCAL Face / MALF 评测基准 本文以 I
人工智能计算机视觉深度学习模型推理服务openpilot 怎么把车道居中和自适应巡航装进你的车
openpilot 怎么把车道居中和自适应巡航装进你的车 堵车蠕行时跟车跟到手酸,或者过弯时不敢松方向盘?openpilot 驾驶辅助把车道居中和自适应巡航搬进
自动驾驶人工智能深度学习计算机视觉BiomedVLP-CXR-BERT-specialized:突破医学影像与文本融合的终极解决方案
BiomedVLP CXR BERT specialized:突破医学影像与文本融合的终极解决方案 在医学影像诊断领域,放射科医生每天需要处理数百张X光片并撰写
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考