Caltech数据使用详情

本文档详细介绍了如何处理Caltech行人数据集,包括数据下载、解压、使用特定代码提取图片及标注文件,绘制ROC曲线并进行可视化展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Caltech官网:

 http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/

 

以Caltech测试集为例(大概是4095个图片吧):

 

1.下载数据:

http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/datasets/USA/

如果只测试只用下载set06到set10,标注文件annotations.zip也需要下载

 

2.提取数据集

先把手动下载的数据集进行解压

 

3.下载代码

需要用到两套代码

一个是基础代码:在https://pdollar.github.io/toolbox/index.html上下载,最好下载最近版本

一个是caltech相关代码:http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/code/code3.2.1.zip

 

4.用代码提取图片和标注文件

提取标注文件要使用code3.2.1下的dbExtract.m. 需要设置输入目录和输出目录

比如需要提取Caltech测试文件,需要新建一个matlab脚本如下

 

p = genpath('../toolbox');
addpath(p);
dbInfo('usatest');
dbExtract('../../data/output/');

 

'../../data/output/'就是你要输出的文件夹

那么如何该输入呢?一个简单的方法就是打开dbInfo.m文件,把pth变量改为你的输入文件目录。

如果设置pth = '../data/',那么解压好的标注文件需放在../data/annotations, 解压好的seq文件需放在../data/videos/(下面就是set06到set10文件目录)

 

5.画ROC曲线

首先下载一个别人输出的算法结果文件:http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/datasets/USA/res/

以SDS-RCNN.zip为例

下载后解压,在步骤4中,我们设置pth=‘../data’,那么解压后的目录需要为../data/res/SDS-RCNN

 

为了画ROC曲线,需要调用dbEval.m,那么在dbEval.m中设置变量exps只保留Reasonable即可,变量algs只保留SDS-RCNN即可,变量dataNames只保留UsaTest即可,变量plotName设置为你要输出结果的目录

 

新建一个脚本文件,写入:

 

p = genpath('../toolbox');
addpath(p);
dbEval

 

执行完成后,会输出根据标准文件提取的mat文件和ROC曲线图,输出目录就是你设置的plotName变量。

 

6.可视化展示结果

使用dbBrowser即可

修改rPth变量为你想要看的结果,比如对于SDS-RCNN,则修改为:rPth=[pth '/res/SDS-RCNN']; 

修改thr变量,可以设置需要展示的结果的置信度,感觉thr=[0.9];  比较合适

然后直接运行dbBrowser文件即可可视化显示。

 

### 下载与使用 Caltech 行人数据集 #### 获取数据Caltech行人数据集由加州理工学院提供,可通过官方网站获取[^1]。访问地址为 http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/ 。此网站提供了训练集和测试集的`seq`格式视频序列以及对应的行人标注信息(`vbb`)。 对于希望快速开始研究而无需自行下载大量文件的研究者来说,网络上存在一些第三方分享平台提供的免费网盘链接可以用于直接下载整个数据集或其部分子集。然而,在利用这些外部资源前应确认版权许可情况,并优先考虑官方渠道以获得最新版本的数据。 #### 数据预处理 为了便于后续分析工作,通常需要将原始`.seq`文件转换成更通用的形式如图像帧序列。针对这一需求,有现成脚本可以帮助完成从特定编号集合(例如 `set00`, `set01`...)下的 `.seq` 文件提取出每一帧作为单独JPEG图片的操作[^3]。具体而言: - 对于每一个设定好的目录(比如 `set00/V000`),会生成一系列按顺序排列的 JPEG 图像文件; - 这些被抽取出来的静态画面应当按照一定规则重新命名以便管理和索引; - 同时还需要注意保存原有的时间戳或其他元数据信息,这对于保持实验结果的有效性和可重复性非常重要。 #### 转换至 VOC 格式 如果计划采用基于 Pascal VOC 的目标检测框架来进行模型训练,则可能需要用到专门工具来把原生的 `vbb` 注解转化为符合标准 XML 结构化的描述方式。在此过程中,可能会涉及到类别名称映射的任务——即将不同来源定义的人类个体标记统一调整为人形物体识别任务常用的术语,例如通过运行名为 `findPeople.py` 的 Python 脚本来实现这一点[^2]。 ```python import xml.etree.ElementTree as ET from lxml import etree, objectify def convert_vbb_to_voc(vbb_file_path, output_dir): tree = ET.parse(vbb_file_path) root = tree.getroot() E = objectify.E annotation = ( E.annotation( E.folder('caltech_pedestrian'), E.filename(root.find('filename').text), ... ) ) with open(output_dir + '/' + os.path.basename(vbb_file_path).replace('.xml', '.txt'), 'wb') as f: f.write(etree.tostring(annotation, pretty_print=True)) ``` 上述代码片段展示了如何读取一个 vbb 文件并创建相应的 voc xml 文件结构的一部分逻辑。实际应用中还需补充更多细节才能构成完整的功能模块。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值