用python将MSCOCO和Caltech行人检测数据集转化成VOC格式
代码:转换用的代码放在这里
之前用Tensorflow提供的object detection API可以很方便的进行fine-tuning实现所需的特定物体检测模型(看这里)。那么现在的主要问题就是数据集了,目前公开的数据集已经有很多了,比如综合的有MSCOCO, ImageNet;人脸的有LFW,CASIA,CelebV等;行人检测的有Caltech,KITTI等;姿势检测的VGG,还有其他等等(具体按分类可以参考下这个)。总之这个数据集资源的总结有很多,在google或者github上搜下有一大堆,这里就不具体介绍了。
1. COCO数据集
这里用到的数据集是object instance/keypoints数据集,用于之后的物体检测和姿势检测,可以在这里进行下载,也可以用git上coco项目提供的api。
一开始的做法是下载train2014和val2014图片数据集,然后根据instance/keypoints annotation (json)文件根据图片名从中匹配出所需的图片。不过后来发现annotation中的链接不一定能在下载的数据集里面找到,需要自行下载,所以最后的做法是直接从annotation文件中提取图片名跟下载链接然后下载进行匹配。coco比Imagenet好的一点是除了图片flickr链接之外还提供了coco源的链接(比如:http://mscoco.org/images/472),前者在开几个线程爬取图片的时候很可能会被封,后者就随意多了,爬取速度可以很快。
使用:
MSCOCO数据集的注释说明很清楚,转换脚本很容易写。用上面的库里的anno_json_image_urls.py从annotation文件获取图片链接,然后用download_coco_images.py下载图片以及anno_coco2voc.py生产voc格式的xml注释文件。
2. Caltech pedestrian数据集
这个数据集提供的图片文件存在seq中,注释文件是vbb(是这群dalao用matlab写的),开始还以为需要用matlab进行处理了,不过后来发现用scipy.io.loadmat函数可以读取vbb文件,用opencv的cv2.VideoCapture()可以读取seq,那么就可以直接用python来转换而非matlab。当然如果对matlab很熟的话,可以直接用官方提供的toolbox。
不过这个数据集的annotation文件的说明文档我好像没有找到,所以vbb文件的数据格式并不是很清楚,通过直接加载以后查看能够知道里面提供了一大堆字段比如id(类型:person,people, person-far这种),pos(位置,就是我们需要的),occl(是否遮挡,可能有用),lock, posv(这两个不太清楚是啥也没怎么查到,有人查到可以留言下哈)。
使用:
用上面库里的vbb2voc脚本可以将下载的seq和vbb文件转换成jpg和xml文件(不过这个数据集的下载有点麻烦,可能需要FQ)。
参考
- http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/
- http://mscoco.org
- https://github.com/mitmul/caltech-pedestrian-dataset-converter/blob/master/scripts/convert_annotations.py
- https://gist.github.com/chicham/6ed3842d0d2014987186
用python将MSCOCO和Caltech行人检测数据集转化成VOC格式的更多相关文章
- 从TP、FP、TN、FN到ROC曲线、miss rate、行人检测评估
从TP.FP.TN.FN到ROC曲线.miss rate.行人检测评估 想要在行人检测的evaluation阶段要计算miss rate,就要从True Positive Rate讲起:miss ra ...
- CVPR 2019 行人检测新思路:
CVPR 2019 行人检测新思路:高级语义特征检测取得精度新突破 原创: CV君 我爱计算机视觉 今天 点击我爱计算机视觉置顶或标星,更快获取CVML新技术 今天跟大家分享一篇昨天新出的CVPR 2 ...
- 行人检测与重识别!SOTA算法
行人检测与重识别!SOTA算法 A Simple Baseline for Multi-Object Tracking, Yifu Zhang, Chunyu Wang, Xinggang Wang, ...
- paper 87:行人检测资源(下)代码数据【转载,以后使用】
这是行人检测相关资源的第二部分:源码和数据集.考虑到实际应用的实时性要求,源码主要是C/C++的.源码和数据集的网址,经过测试都可访问,并注明了这些网址最后更新的日期,供学习和研究进行参考.(欢迎补充 ...
- 行人检测(Pedestrian Detection)资源
一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...
- 【论文解读】行人检测:What Can Help Pedestrian Detection?(CVPR'17)
前言 本篇文章出自CVPR2017,四名作者为Tsinghua University,Peking University, 外加两名来自Megvii(旷视科技)的大佬. 文章中对能够帮助行人检测的ex ...
- 目标检测之行人检测(Pedestrian Detection)---行人检测之简介0
一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...
- 【计算机视觉】行人检测(Pedestrian Detection)资源
一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...
- 基于YOLO-V2的行人检测(自训练)附pytorch安装方法
声明:本文是别人发表在github上的项目,并非个人原创,因为那个项目直接下载后出现了一些版本不兼容的问题,故写此文帮助解决.(本人争取在今年有空的时间,自己实现基于YOLO-V4的行人检测) 项目链 ...
随机推荐
- MYSQL自动备份策略的选择与实践
目前流行几种备份方式: 1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式.优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点 ...
- 火狐FireFox57不支持Tab Mix Plus插件的问题
火狐的Tab Mix Plus插件管理标签页很好用,但是在这次升级到57版本后不能用了,也没找到合适的替代品. 该插件一个很常用的功能是在新建的标签页打开网页(而不是在当前页上跳转),该功能直接修改C ...
- Vagrant (3) —— 复制/备份Vagrant Box
Vagrant (3) -- 复制/备份Vagrant Box 摘要 介绍复制/备份Vagrant Box基本方法 版本 Vagrant版本: 1.8.1 内容 复制vagrant box并压缩 关闭 ...
- ANT配合FIS执行前端打包任务
<target name="help"> <exec executable="cmd"> <arg value="/c& ...
- 大数据处理-Bitmap
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)" Bit-map空间压缩和快速排序去 ...
- 【C】——sigprocmask 阻塞进程信号
1.有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数.这种情况是通过阻塞信号实现的. 2.信号阻塞和忽略信号的区别. 阻塞的概念和忽略 ...
- MVC教程八:缓存过滤器
缓存过滤器用来输出页面缓存,其用法如下图所示: 注意: Duration:表示缓存多少秒;VaryByParam:表示缓存是否随地址参数而改变.OutputCache除了可以定义在Action方法上面 ...
- Spring Cloud Eureka 注册中心 服务消费者 服务提供者之间的关系以及高可用之间的联系
注册中心:提供服务的注册与查询(发现) 服务提供者:服务的提供方,提供服务的一方. 服务消费者:服务的消费方,使用服务的一方. 我们没有注册中心,服务提供者与服务消费者同样可以调用,通过spring中 ...
- Qt封装QTcpServer参考资料--QT4中构建多线程的服务器
首先说一下对多线程这个名词的理解过程.以前听说过很多次多线程这个词,而且往往与服务器联系起来,因此一直把多线程误解为服务器特有的功能:直到这次课程设计,仔细学习了一下多线程的机制,才知道真正的意思.简 ...
- Java如何打印异常的堆栈?
在Java编程中,如何打印异常的堆栈? 此示例显示如何使用异常类的printStack()方法打印异常的堆栈. package com.yiibai; public class PrintStackT ...