代码:转换用的代码放在这里

之前用Tensorflow提供的object detection API可以很方便的进行fine-tuning实现所需的特定物体检测模型(看这里)。那么现在的主要问题就是数据集了,目前公开的数据集已经有很多了,比如综合的有MSCOCOImageNet人脸的有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)。

参考

  1. http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/
  2. http://mscoco.org
  3. https://github.com/mitmul/caltech-pedestrian-dataset-converter/blob/master/scripts/convert_annotations.py
  4. https://gist.github.com/chicham/6ed3842d0d2014987186

用python将MSCOCO和Caltech行人检测数据集转化成VOC格式的更多相关文章

  1. 从TP、FP、TN、FN到ROC曲线、miss rate、行人检测评估

    从TP.FP.TN.FN到ROC曲线.miss rate.行人检测评估 想要在行人检测的evaluation阶段要计算miss rate,就要从True Positive Rate讲起:miss ra ...

  2. CVPR 2019 行人检测新思路:

    CVPR 2019 行人检测新思路:高级语义特征检测取得精度新突破 原创: CV君 我爱计算机视觉 今天 点击我爱计算机视觉置顶或标星,更快获取CVML新技术 今天跟大家分享一篇昨天新出的CVPR 2 ...

  3. 行人检测与重识别!SOTA算法

    行人检测与重识别!SOTA算法 A Simple Baseline for Multi-Object Tracking, Yifu Zhang, Chunyu Wang, Xinggang Wang, ...

  4. paper 87:行人检测资源(下)代码数据【转载,以后使用】

    这是行人检测相关资源的第二部分:源码和数据集.考虑到实际应用的实时性要求,源码主要是C/C++的.源码和数据集的网址,经过测试都可访问,并注明了这些网址最后更新的日期,供学习和研究进行参考.(欢迎补充 ...

  5. 行人检测(Pedestrian Detection)资源

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  6. 【论文解读】行人检测:What Can Help Pedestrian Detection?(CVPR'17)

    前言 本篇文章出自CVPR2017,四名作者为Tsinghua University,Peking University, 外加两名来自Megvii(旷视科技)的大佬. 文章中对能够帮助行人检测的ex ...

  7. 目标检测之行人检测(Pedestrian Detection)---行人检测之简介0

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  8. 【计算机视觉】行人检测(Pedestrian Detection)资源

    一.论文 综述类的文章 [1]P.Dollar, C. Wojek,B. Schiele, et al. Pedestrian detection: an evaluation of the stat ...

  9. 基于YOLO-V2的行人检测(自训练)附pytorch安装方法

    声明:本文是别人发表在github上的项目,并非个人原创,因为那个项目直接下载后出现了一些版本不兼容的问题,故写此文帮助解决.(本人争取在今年有空的时间,自己实现基于YOLO-V4的行人检测) 项目链 ...

随机推荐

  1. 【Unity笔记】根骨骼动画/运动(Root Motion)

    根骨骼动画:当动画中角色发生位移后,动作坐标原点跟随角色移动.例如一个向前跳跃的动画,如果在场景中重复该动画,能够看到角色一路往前跳跃,位置一直在前进.适用于有位移的放技能动作等. 非根骨骼动画:当动 ...

  2. Spring WebSocket教程(一)

    学习背景 很久以前就知道WebSocket,但那时不论是浏览器还是开发技术对它的支持都还很少.但是,Spring4突然发布,让我眼前一亮,Spring4直接支持WebSocket. 对于Spring我 ...

  3. table中超过长度的列,显示省略号

    <style type="text/css"> .table-ellipsis { table-layout: fixed; width: 100%; } .table ...

  4. android开发(40) 初试 Volley - GoogleI02013上的“快速,简单的网络通讯库”

    什么是Volley Google I/O 2013上,Volley发布了.Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮.这是Volley名称的由来: a burst ...

  5. 高大上的动态CSS

    项目里要添加 custom css 功能 (dynamic stylesheet ),总结一下实现方法. 1.在JSP中动态设定文件path 预先生成一些css文件,由用户选择,在jsp被请求时,动态 ...

  6. 树莓派 NOOBS 安装系统

    Raspberry Pi Foundation发布了一个名为“New Out of Box Software”(NOOBS)的工具,可以用来方便的安装系统,让我们尝试一下这个新的安装工具. 以我的树莓 ...

  7. 使用Selenium来抓取动态加载的页面

    原文:http://my.oschina.net/flashsword/blog/147334?p=1 一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取.在我写 ...

  8. 【C#】使用DWM实现无边框窗体阴影或全透窗体

    1.无边框窗体阴影,win7(需要开启Aero效果)及以上系统 public class LdwmForm : Form { public LdwmForm() { Initialize(); } / ...

  9. 第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中

    第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中 1.爬虫文件 dispatcher.connect()信号分发器,第一个参数信 ...

  10. 第三百二十七节,web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求

    第三百二十七节,web爬虫讲解2—urllib库爬虫 利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码read()读出html源码内容decode(& ...