用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的行人检测) 项目链 ...
随机推荐
- 【Unity笔记】根骨骼动画/运动(Root Motion)
根骨骼动画:当动画中角色发生位移后,动作坐标原点跟随角色移动.例如一个向前跳跃的动画,如果在场景中重复该动画,能够看到角色一路往前跳跃,位置一直在前进.适用于有位移的放技能动作等. 非根骨骼动画:当动 ...
- Spring WebSocket教程(一)
学习背景 很久以前就知道WebSocket,但那时不论是浏览器还是开发技术对它的支持都还很少.但是,Spring4突然发布,让我眼前一亮,Spring4直接支持WebSocket. 对于Spring我 ...
- table中超过长度的列,显示省略号
<style type="text/css"> .table-ellipsis { table-layout: fixed; width: 100%; } .table ...
- android开发(40) 初试 Volley - GoogleI02013上的“快速,简单的网络通讯库”
什么是Volley Google I/O 2013上,Volley发布了.Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮.这是Volley名称的由来: a burst ...
- 高大上的动态CSS
项目里要添加 custom css 功能 (dynamic stylesheet ),总结一下实现方法. 1.在JSP中动态设定文件path 预先生成一些css文件,由用户选择,在jsp被请求时,动态 ...
- 树莓派 NOOBS 安装系统
Raspberry Pi Foundation发布了一个名为“New Out of Box Software”(NOOBS)的工具,可以用来方便的安装系统,让我们尝试一下这个新的安装工具. 以我的树莓 ...
- 使用Selenium来抓取动态加载的页面
原文:http://my.oschina.net/flashsword/blog/147334?p=1 一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取.在我写 ...
- 【C#】使用DWM实现无边框窗体阴影或全透窗体
1.无边框窗体阴影,win7(需要开启Aero效果)及以上系统 public class LdwmForm : Form { public LdwmForm() { Initialize(); } / ...
- 第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中
第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中 1.爬虫文件 dispatcher.connect()信号分发器,第一个参数信 ...
- 第三百二十七节,web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求
第三百二十七节,web爬虫讲解2—urllib库爬虫 利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码read()读出html源码内容decode(& ...