A. 细粒度图像识别数据集Caltech-UCSD bird简介
警告:此数据集中的图像与ImageNet中的图像重叠。 使用预先使用ImageNet的网络(或任何预先使用Flickr图像的网络)时要小心,因为CUB的测试集可能与原始网络的训练集重叠。
Caltech-UCSD Birds-200-2011 (CUB-200-2011) 是 CUB-200 dataset 的一个扩充版本,每个类的图像数量大约增加两倍和新的部位注释则宏斗。 有关数据集的详细信息,请参阅下面链接的技术报告。
(1)类别书目: 200
(2)图像总数目: 11,788
(3)每张图片的标注信息: 15 Part Locations, 312 Binary Attributes, 1 Bounding Box
该数据集是细粒度图像分类最广泛使用的基准。该数据集涵盖了200种鸟类,其中包括5994张训练图像和5794张测试图像。除类别标签外孙磨,每绝拆个图像都会用1个边界框、15个零件关键点和312个属性进行进一步注释。
一些其他相关的数据集: Caltech-256 , Oxford Flower Dataset , Animals with Attributes . 更多的数据集可以浏览 Caltech Vision Dataset Archive .
[1] Caltech-UCSD Birds-200-2011
[1] The caltech-ucsd birds-200- 2011 dataset
B. 图像分类数据集怎么拍
图像分类数据集(Fashion-MNIST)
在介绍softmax回归的实现前我们先引入一个多类图像分类数据集。
它将在后面的章节中被多次使用,以方便我们观察比较算法之间在模型精度和计算效率上的区别。图像分类数据集中最常用的是手写数字识别数据集MNIST[1]。但大部分模型在MNIST上的分类精度都超过了95%。
为了更直陪伏观地观察算法之间的差异,我们将使用一个图像内容更加复杂的数据集Fashion-MNIST[2](这个数据集也比较小,只有几十M,没有GPU的电脑也能吃得消)。
本节我们将使用torchvision包,它是服务于PyTorch深度学雹乱察习框架的,主要用来构建计算机视觉模型。torchvision主要由以下几部分构成:
torchvision.datasets: 一些加载数据的函数及常用的数据集接口;
torchvision.models: 包含常用的模型结构(含预训练模型)源茄,例如AlexNet、VGG、ResNet等;
torchvision.transforms: 常用的图片变换,例如裁剪、旋转等;
torchvision.utils: 其他的一些有用的方法。
C. 回归数据集是什么意思
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
lj_FLR
关注
深度学习基础14(softmax回归数据集的选择以及读取) 原创
2022-03-28 18:31:25
2点赞
lj_FLR
码龄3年
关注
图像分类数据集
MNIST数据集是图像分类中广泛使用的数据集之一,是对手写数字的识别,大概86年提出的
但作为基准数据集过于简单。
我们将使用类似但更复杂的Fashion-MNIST数据集
读取数据集
可以通过框架中的内置函数将Fashion-MNIST数据集下载并读取到内存中。
Fashion-MNIST由10个或斗余类别的图像组成, 每个类别由衫滚销乎训练数据集(train dataset)中的6000张图像 和测试数据集(test dataset)中的1000张图像组成。
因此,训练集和测试集分别包含60000和10000张图像。 测试数据集不会用于训练,只用于评估模型性能。
D. imagenet数据集 有多少类
一:程序开始
由于要向数据集中设置resize和是否乱序等参数,所以本文使用gflags命令行解析工具;在Create.sh文件中,调用convert_imageset.bin语句为:
<pre name="code" class="cpp">GLOG_logtostderr=1$TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--shuffle \
$TRAIN_DATA_ROOT \ 图像数据集存放的根目录
$DATA/train.txt \ 图像的ID和对应的分类标签数字
$EXAMPLE/ilsvrc12_train_lmdb lmdb文件保存的路径
由于train.txt文件太大,电脑打不开,故打开val.txt一窥之;val.txt中的某个数据为:
65ILSVRC2012_val_00000002.JPEG ,65应该是对应的标签,后面的是图像的编号id。
二:数据转换流程图
三:convert_imageset.cpp函数分析(caffe-master/tools/)
1引入必要的头文件和命名空间
#include<algorithm>//输出数组的内容、对数组进行升幂排序、反转数组内容、复制数组内容等操作,
#include <fstream> // NOLINT(readability/streams)
#include <string>
#include<utility>//utility头文件定义了一个pair类型,pair类型用于存储一对数据
#include<vector>//会自动扩展容量的数组
#include "boost/scoped_ptr.hpp"//智能指针头文件
#include "gflags/gflags.h"
#include "glog/logging.h"
#include"caffe/proto/caffe.pb.h"
#include "caffe/util/db.hpp" //引入包装好的lmdb操作函数
#include "caffe/util/io.hpp" //引入opencv中的图像操作函数
#include "caffe/util/rng.hpp"
头文件和convert_cifar_data.cpp的区别:
1,引入gflags命令行解析工具;
2,引入utility头文件,里面提供了数组洗牌等操作
using namespace caffe; // NOLINT(build/namespaces)
using std::pair;
using boost::scoped_ptr;
命名空间区别:
1,引入全部caffe命名空间
2,引入pair对命名空间
2 gflags宏定义参数
//通过gflags宏定义一些程序的参数变量
DEFINE_bool(gray, false,"When thisoption is on, treat images as grayscale ones");//是否为灰度图片
DEFINE_bool(shuffle, false,"Randomlyshuffle the order of images and their labels");//定义洗牌变量,是否随机打乱数据集的顺序
DEFINE_string(backend, "lmdb","The backend {lmdb, leveldb} for storing the result");//默认转换的数据类型
DEFINE_int32(resize_width, 0, "Width images areresized to");//定义resize的尺寸,默认为0,不转换尺寸
DEFINE_int32(resize_height, 0, "Height imagesare resized to");
DEFINE_bool(check_size, false,"When this optionis on, check that all the datum have the samesize");
DEFINE_bool(encoded, false,"When this option ison, the encoded image will be save in datum");//用于转换数据格式的
DEFINE_string(encode_type, "","Optional:What type should we encode the image as ('png','jpg',...).");//要转换的数据格式
3 main()函数
没有想cifar和mnist的main函数,通过调用convert_data()函数来转换数据,而是直接在main函数内完成了所有数据转换代码。
3.1 通过gflags宏定义接收命令行中传入的参数
const boolis_color = !FLAGS_gray; //通过gflags把宏定义变量的值,赋值给常值变量
const boolcheck_size = FLAGS_check_size; //检查图像的size
const boolencoded = FLAGS_encoded;//是否编译(转换)图像格式
const stringencode_type = FLAGS_encode_type;//要编译的图像格式
3.2读取源数据
3.2.1创建读取对象变量
std::ifstream infile(argv[2]);//创建指向train.txt文件的文件读入流
std::vector<std::pair<std::string, int> > lines;//定义向量变量,向量中每个元素为一个pair对,pair对有两个成员变量,一个为string类型,一个为int类型;其中string类型用于存储文件名,int类型,感觉用于存数对应类别的id
如val.txt中前几个字符为“ILSVRC2012_val_00000001.JPEG65ILSVRC2012_val_00000002.JPEG”;感觉这个string= ILSVRC2012_val_00000001.JPEG int=65
std::stringfilename;
int label;
3.2.2 读取数据
//下面一条while语句是把train.txt文件中存放的所有文件名和标签,都存放到vextor类型变量lines中;lines中存放图片的名字和对应的标签,不存储真正的图片数据
while (infile>> filename >> label) {
nes.push_back(std::make_pair(filename, label));
//make_pair是pair模板中定义的给pair对象赋值的函数,push_back()函数是vector对象的一个成员函数,用来在末端添加新元素}
3.3判断是否进行洗牌操作
if(FLAGS_shuffle) {
// randomlyshuffle data
LOG(INFO)<< "Shuffling data";
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">//洗牌函数,使用随机生成器g对元素[first,last)容器内部元素进行随机排列</span>
shuffle(lines.begin(), lines.end());//vector.begin() - 回传一个Iterator迭代器,它指向 vector 第一个元素。}
3.4以智能指针的方式创建db::DB类型的对象 db
scoped_ptr<db::DB>db(db::GetDB(FLAGS_backend));
//智能指针的创建方式类似泛型的格式,上面通过db.cpp内定义的命名的子命名空间中db的“成员函数”GetDB函数来初始化db对象
db->Open(argv[3], db::NEW);//argv[3]的文件夹下创建并打开lmdb的操作环境
scoped_ptr<db::Transaction>txn(db->NewTransaction());//创建lmdb文件的操作句柄
3.5 源数据中提取图像数据
3.5.1 通过ReadImageToDatum函数把图像数据读取到datum中
//到源数据位置读取每张图片的数据。(../imagenet/xxx.jpeg,65,256,256,true,jpeg,&datum)
status= ReadImageToDatum(root_folder + lines[line_id].first,lines[line_id].second, resize_height,resize_width, is_color,enc, &datum); //把图像数据读取到datum中
3.5.2 ReadImageToDatum函数说明
ReadImageToDatum函数为io.cpp文件中定义的函数;io.cpp主要实现了3部分功能:
1,从text文件或者二进制文件中读写proto文件;
2,利用opencv的Mat矩阵,把图像数据读到Mat矩阵中;
3,把Mat矩阵中的值放入到datum中
E. uvos任务经典数据集有哪些
1、MNIST:一个手写数字分类数据集,包含训练集旅槐孙和测试集,每个数据样本由图像数据和标签构成。
2、IMDB:一个电影评论分类数据集,可以用来训练文本分类器拆链。
3、CIFAR-10:一个图像分类数据集,共有10个类别,每个类别包含6000张32*32像素的彩色图像。
4、KITTI:一个自动驾驶数据集,包含高清图像和3D点云数据。
5、SQuAD:一个自然语言问答数据集,用于训练自然语言处明肆理系统。
F. imagenet100多大
ImageNet100是一个由100个类别组成的大型图像数据集,每个类别包含超过500张图像,总计超圆让过50000张图像。它的橘厅局图像大小为224x224像素,每张图像的文件大伏高小约为1MB左右。
G. 【技术综述】多标签图像分类综述
图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩。然而,现有的分类任务大多是以单标签分类展开研究的。当图片中有多个标签时,又该如何进行分类呢?本篇综述将带领大家了解多标签图像分类这一方向,了解更具难度的图像分类。
作者 | 郭冰洋
编辑 | 言有三
随着科学技术的进步与发展,图像作为信息传播的重要媒介,在通信、无人驾驶、医学影像分析唯闭颂、航天、遥感等多个领域得到了广泛的研究,并在国民社会、经济生活中承担着更加重要的角色。人们对图像研究的愈发重视,也促使计算机视觉领域迎来了蓬勃发展的黄金时代。
作为计算机视觉领域的基础性任务,图像分类是目标检测、语义分割的重要支撑,其目标是将不同的图像划分到不同的类别,并实现最小的分类误差。经过近30年的研究,图像分类已经成功应用至社会生活的方方面面。如今,在我们的生活中随处可见——智能手机的相册自动分类、产品缺陷识别、无人驾驶等等。
根据分类任务的目标不同,可以将图像分类任务划分成两部分:(1)单标签图像分类;(2)多标签图像分类。
单标签图像分类是指每张图片对应一个类别标签,根据物体类别的数量,又可以将单标签图像分类划分成二分类、多类别分类。如下图所示,可以将该图的标签记为海洋,通过单标签图像分类我们可以判定该图像中是否含有海洋。
然而,现实生活中的图片中往往包含多个类别的物体,这也更加符合人的认知习惯。我们再来观察下图,可以发现图中不仅包含海洋,还包括了海豚。多标签图像分类可以告知我们图像中是否同时包含这些内容,这也能够更好地解决实际生活中的问题。
机器学习算法主要包括两个解决思路:
(1) 问题迁移,即将多标签分类问题转化为单标签分类问题,如将标签转化为向量、训练多个分类器等;
(2) 根据多标签特点,提出新的适应性算法,包括ML-KNN、Ranking SVM、Multi-label Decision Tree等。现对其中具有代表性的算法进行总结。
2.1 问题迁移
问题迁移方法的主要思想是先将多标签数据集用某种方式转换成单标签数据集,然后运用单标签分类方法进行分类。该方法有可以包括基于态茄标签转换和基于样本实例转换。
2.1.1 基于标签转换
针对每个标签,将属于这个标签的所有实例分为一类,不属于的分为另一类,将所有数据转换为多个单标签分类问题(如下图)。典型算法主要有Binary Relevance和Classifier Chain两种。
2.1.2 基于样本实例转换
这种方法是将多标签实例分解成多个单标签实例。如下图所示。实例E3对应标签y3和y4,则通过分解多标签方法法将E3分解成单独选中标签y3和y4的实例,然后对每一个标签作单独预测。
2.2 适应性方法
如上文所述,新的适应性算法是根据多标签分类的特殊性,改进现有的单标签分类算法,主要包括以下三种:
2.2.1 ML-KNN
ML-KNN由传统的KNN算法发展而来。首先通过KNN算法得到样本最接近的K个邻近样本,然后根据K个邻近样本的标签,统计属于某一标签的邻近指郑样本个数,最后利用最大后验概率原则(MAP)决定测试样本含有的标签集合。
2.2.2 Rank SVM
Rank SVM是在SVM的基础上,加入Ranking Loss损失函数和相应的边际函数作为约束条件,并扩展目标函数而提出的一种多标签学习算法。该算法的简要思路是:首先定义函数s(x)是样本x的标签集的规模大小,然后定义rk(x)=wkTx+bk,如果求得的rk(x)值在最大的s(x)个元素(r1(x),...rQ(x))之间,则认为该样本x选中该标签k,否则就没被选中。在求解过程中定义新的排序函数rk(x)-rl(x)≥1,其中k表示被样本x选中的标签,l表示没有被选中的标签,并基于这个新的排序函来大间隔分类器,同时最小化Ranking Loss,从而推导出适合多标签分类的目标函数和限制条件。
2.2.3 Multi-label Decision Tree
该算法采用决策树技术处理多标签数据,利用基于多标签熵的信息增益准则递归地构建决策树。树形结构包括非叶结点、分支、叶节点。决策树模型用于分类时,特征属性用非叶节点表示,特征属性在某个值域上的输出用非叶节点之间的分支表示,而类别则用叶节点存放。
计算思想如下:首先计算每个特征的信息增益,挑选增益最大的特征来划分样本为左右子集,递归下去,直到满足停止条件,完成决策树的构建。对新的测试样本,沿根节点遍历一条路径到叶子节点,计算叶子节点样本子集中每个标签为0和1的概率,概率超过0.5则表示含有该标签。当遍历所有路径到底不同的叶节点之后,则可判断涵盖的所有标签信息。
除了上述三类主要算法外,还包括诸多以单标签分类进行改进的算法,在此不再赘述。
深度学习的发展带动了图像分类精度的大幅提升,神经网络强大的非线性表征能力可以在大规模数据中学习到更加有效的特征。近年来,多标签图像分类也开始使用深度学习的思想展开研究。
魏云超等在程明明教授提出的BING理论基础上,提出了Hypotheses-CNN-Pooling。首先对每张图片提取含有标签信息的候选区域(如上图中的Hypotheses Extraction过程),然后将每个候选区域送入CNN进行分类训练,最后利用cross-hypothesis max-pooling融合所有候选区域的分类结果,从而得到多个标签信息完整的图片。
CNN具有强大的语义信息提取能力,而RNN则可以建立信息之间的关联。根据这一理论观点,Jiang Wang等提出了CNN-RNN联合的网络结构。首先利用CNN对输入图像进行训练,得到相应的特征,然后将图片对应的特征投影到与标签一致的空间中,在该空间利用RNN进行单词的搜索训练。该算法充分考虑了类别之间的相关性,可以有效对图像中具有一定关系的标签进行识别。
在CNN-RNN结构的基础上,后续文章又加入Regional LSTM模块。该模块可以对CNN的特征进行导向处理,从而获取特征的位置信息,并计算位置信息和标签之间的相关性。在上文的结果上进一步考虑了特征、位置和标签之间潜在的依赖关系,可以有效计算图片中多个标签同时存在的可能性,并进行图片的分类。
最近,诸多基于image-level进行弱监督分割研究的文章,充分利用了多标签分类网络的信息。其主要思想是将标签统一处理为向量形式,为每幅图片构建一个维度为1xN的矩阵标签(如[0,0,0,1,1,0]形式),并采用专门的损失函数(Hanming loss、Ranking loss等)进行训练。这一方法成功地将多标签的复杂问题,转化为单标签问题,从而可以利用传统的分类网络进行训练。
多标签图像分类的相关算法仍然层出不穷,但不论是基于机器学习还是基于深度学习的算法,都有其优势和不足,如何根据实际应用需求选用合适的算法,才是我们应当关注的重点内容。
单标签分类中通常采用准确率(Precision),召回率(Recall)、F值(F-measure)和AUC曲线对分类结果进行评价。然而,在多标签分类中一个图片与多个标签同时关联,其复杂程度远远高于单标签分类。因此,在继承单标签分类评价指标的基础上,许多关于多标签分类的评价指标也被提出。在这里只介绍多标签分类常用的指标,有关单标签分类的指标不再赘述。
4.1 平均准确率(AP)和平均准确率均值(mAP)
同单标签分类一样,当一张图片中的所有标记均预测正确时,准确率才可以置1,否则置零。每个类别下的标签分别进行计算后,取其平均值即可获得平均准确率,对所有平均准确率取均值即可获得平均准确率均值。平均准确率可以衡量模型在每个类别的好坏程度,而平均准确率均值则衡量的是在所有类别的好坏程度。
4.2 汉明距离
将预测的标签集合与实际的标签集合进行对比,按照汉明距离的相似度来衡量。汉明距离的相似度越高,即汉明损失函数越小,则模型的准确率越高。
4.3 1-错误率
1-错误率用来计算预测结果中排序第一的标签不属于实际标签集中的概率。其思想相当于单标签分类问题中的错误率评价指标。1-错误率越小,说明预测结果越接近实际标签,模型的预测结果也就越好。
4.4 覆盖率
覆盖率用来度量“排序好的标签列表”平均需要移动多少步数,才能覆盖真实的相关标签集合。对预测集合Y中的所有标签{y1,y2,… yi … yn}进行排序,并返回标签yi在排序表中的排名,排名越高,则相关性越差,反之,相关性越高。
4.5 排序损失
排序损失计算的是不相关标签比相关标签的相关性还要大的概率。
高质量的数据集是图像分类的基础,更是关键所在。随着人们对数据质量的重视程度越来越高,如今已有诸多完备的多标签图像分类数据集。
5.1 Pascal VOC
Pascal VOC数据集的主要任务是在真实场景中识别来自多个类别的目标。该数据集共有近两万张图片,共有20个类别组成。Pascal VOC官方对每张图片都进行了详细的信息标注,包括类别信息、边界框信息和语义信息,均保存在相应的xml格式文件中。通过读取xml文件中的项,我们可以获取到单张图片中包含的多个物体类别信息,从而构建多标签信息集合并进行分类训练。
5.2 COCO
COCO(Common Objects in Context)数据集由微软公司赞助搭建。该数据集包含了91个类别,三十余万张图片以及近二百五十万个标签。与Pascal VOC相类似,COCO数据的标注信息均保存在图片对应的json格式文件中。通过读取json文件中的annotation字段,可以获取其中的category_id项,从而获取图片中的类别信息。同一json文件中包含多个category_id项,可以帮助我们构建多标签信息。COCO数据集的类别虽然远远大于Pascal VOC,而且每一类包含的图像更多,这也更有利于特定场景下的特征学习。
除了上述两个个主流数据集之外,比较常用的还包括ImageNet数据集、NUS-WIDE数据集。近年来,诸多公司、科研机构也提出了诸多全新的数据集,如ML-Images等。这些标注完善的数据,为多标签图像分类的研究提供了有力的支持,同样也为图像处理领域的发展做出了巨大贡献。
(1)多标签图像分类的可能性随着图片中标签类别的增加呈指数级增长,在现有的硬件基础上会加剧训练的负担和时间成本,如何有效的降低信息维度是面临的最大挑战。
(2) 多标签分类往往没有考虑类别之间的相关性,如房子大概率不会出现老虎、海洋上不太可能出现汽车。对于人类来说,这些均是常识性的问题,但对于计算机却是非常复杂的过程,如何找到类别之间的相关性也能够更好的降低多标签图像分类的难度。
古语有云:“纸上得来终觉浅,绝知此事要躬行”,理论知识的学习必须通过实践才能进一步强化,完成了综述内容的书写,后续将基于Pytorch框架以Pascal VOC2012增强数据集进行多标签图像分类实战,敬请期待哦!
如果想加入我们,后台留言吧
技术交流请移步知识星球
更多请关注知乎专栏《有三AI学院》和公众号《有三AI》
H. 与姿态、动作相关的数据集介绍
参考:https://blog.csdn.net/qq_38522972/article/details/82953477
姿态论文整理:https://blog.csdn.net/zziahgf/article/details/78203621
经典项目:https://blog.csdn.net/ls83776736/article/details/87991515
姿态识别和动作识别任务本质不一样,动作识别可以认为是人定位和动作分类任务,姿态识别可理解为关键点的检测和为关键点赋id任务(多人姿态识别和单人姿态识别任务)
由于受到收集数据设备的限制,目前大核段部分姿态数据都是收集缓凯公共视频数据截取得到,因此2D数据集相扰氏唤对来说容易获取,与之相比,3D数据集较难获取。2D数据集有室内场景和室外场景,而3D目前只有室内场景。
地址:http://cocodataset.org/#download
样本数:>= 30W
关节点个数:18
全身,多人,keypoints on 10W people
地址:http://sam.johnson.io/research/lsp.html
样本数:2K
关节点个数:14
全身,单人
LSP dataset to 10; 000 images of people performing gymnastics, athletics and parkour.
地址:https://bensapp.github.io/flic-dataset.html
样本数:2W
关节点个数:9
全身,单人
样本数:25K
全身,单人/多人,40K people,410 human activities
16个关键点:0 - r ankle, 1 - r knee, 2 - r hip,3 - l hip,4 - l knee, 5 - l ankle, 6 - l ankle, 7 - l ankle,8 - upper neck, 9 - head top,10 - r wrist,11 - r elbow, 12 - r shoulder, 13 - l shoulder,14 - l elbow, 15 - l wrist
无mask标注
In order to analyze the challenges for fine-grained human activity recognition, we build on our recent publicly available \MPI Human Pose" dataset [2]. The dataset was collected from YouTube videos using an established two-level hierarchy of over 800 every day human activities. The activities at the first level of the hierarchy correspond to thematic categories, such as ”Home repair", “Occupation", “Music playing", etc., while the activities at the second level correspond to indivial activities, e.g. ”Painting inside the house", “Hairstylist" and ”Playing woodwind". In total the dataset contains 20 categories and 410 indivial activities covering a wider variety of activities than other datasets, while its systematic data collection aims for a fair activity coverage. Overall the dataset contains 24; 920 video snippets and each snippet is at least 41 frames long. Altogether the dataset contains over a 1M frames. Each video snippet has a key frame containing at least one person with a sufficient portion of the body visible and annotated body joints. There are 40; 522 annotated people in total. In addition, for a subset of key frames richer labels are available, including full 3D torso and head orientation and occlusion labels for joints and body parts.
为了分析细粒度人类活动识别的挑战,我们建立了我们最近公开发布的\ MPI Human Pose“数据集[2]。数据集是从YouTube视频中收集的,使用的是每天800多个已建立的两级层次结构人类活动。层次结构的第一级活动对应于主题类别,例如“家庭维修”,“职业”,“音乐播放”等,而第二级的活动对应于个人活动,例如“在屋内绘画”,“发型师”和“播放木管乐器”。总的来说,数据集包含20个类别和410个个人活动,涵盖比其他数据集更广泛的活动,而其系统数据收集旨在实现公平的活动覆盖。数据集包含24; 920个视频片段,每个片段长度至少为41帧。整个数据集包含超过1M帧。每个视频片段都有一个关键帧,其中至少包含一个人体,其中有足够的身体可见部分和带注释的身体关节。总共有40个; 522个注释人。此外,对于关键帧的子集,可以使用更丰富的标签,包括全3D躯干和头部方向以及关节和身体部位的遮挡标签。
14个关键点:0 - r ankle, 1 - r knee, 2 - r hip,3 - l hip,4 - l knee, 5 - l ankle, 8 - upper neck, 9 - head top,10 - r wrist,11 - r elbow, 12 - r shoulder, 13 - l shoulder,14 - l elbow, 15 - l wrist
不带mask标注,带有head的bbox标注
PoseTrack is a large-scale benchmark for human pose estimation and tracking in image sequences. It provides a publicly available training and validation set as well as an evaluation server for benchmarking on a held-out test set (www.posetrack.net).
PoseTrack是图像序列中人体姿态估计和跟踪的大规模基准。 它提供了一个公开的培训和验证集以及一个评估服务器,用于对保留的测试集(www.posetrack.net)进行基准测试。
In the PoseTrack benchmark each person is labeled with a head bounding box and positions of the body joints. We omit annotations of people in dense crowds and in some cases also choose to skip annotating people in upright standing poses. This is done to focus annotation efforts on the relevant people in the scene. We include ignore regions to specify which people in the image where ignored ringannotation.
在PoseTrack基准测试中, 每个人都标有头部边界框和身体关节的位置 。 我们 在密集的人群中省略了人们的注释,并且在某些情况下还选择跳过以直立姿势对人进行注释。 这样做是为了将注释工作集中在场景中的相关人员上。 我们 包括忽略区域来指定图像中哪些人在注释期间被忽略。
Each sequence included in the PoseTrack benchmark correspond to about 5 seconds of video. The number of frames in each sequence might vary as different videos were recorded with different number of frames per second. For the **training** sequences we provide annotations for 30 consecutive frames centered in the middle of the sequence. For the **validation and test ** sequences we annotate 30 consecutive frames and in addition annotate every 4-th frame of the sequence. The rationale for that is to evaluate both smoothness of the estimated body trajectories as well as ability to generate consistent tracks over longer temporal span. Note, that even though we do not label every frame in the provided sequences we still expect the unlabeled frames to be useful for achieving better performance on the labeled frames.
PoseTrack基准测试中包含的 每个序列对应于大约5秒的视频。 每个序列中的帧数可能会有所不同,因为不同的视频以每秒不同的帧数记录。 对于**训练**序列,我们 提供了以序列中间为中心的30个连续帧的注释 。 对于**验证和测试**序列,我们注释30个连续帧,并且另外注释序列的每第4个帧。 其基本原理是评估估计的身体轨迹的平滑度以及在较长的时间跨度上产生一致的轨迹的能力。 请注意,即使我们没有在提供的序列中标记每一帧,我们仍然期望未标记的帧对于在标记帧上实现更好的性能是有用的。
The PoseTrack 2018 submission file format is based on the Microsoft COCO dataset annotation format. We decided for this step to 1) maintain compatibility to a commonly used format and commonly used tools while 2) allowing for sufficient flexibility for the different challenges. These are the 2D tracking challenge, the 3D tracking challenge as well as the dense 2D tracking challenge.
PoseTrack 2018提交文件格式基于Microsoft COCO数据集注释格式 。 我们决定这一步骤1)保持与常用格式和常用工具的兼容性,同时2)为不同的挑战提供足够的灵活性。 这些是2D跟踪挑战,3D跟踪挑战以及密集的2D跟踪挑战。
Furthermore, we require submissions in a zipped version of either one big .json file or one .json file per sequence to 1) be flexible w.r.t. tools for each sequence (e.g., easy visualization for a single sequence independent of others and 2) to avoid problems with file size and processing.
此外,我们要求在每个序列的一个大的.json文件或一个.json文件的压缩版本中提交1)灵活的w.r.t. 每个序列的工具(例如,单个序列的简单可视化,独立于其他序列和2),以避免文件大小和处理的问题。
The MS COCO file format is a nested structure of dictionaries and lists. For evaluation, we only need a subsetof the standard fields, however a few additional fields are required for the evaluation protocol (e.g., a confidence value for every estimated body landmark). In the following we describe the minimal, but required set of fields for a submission. Additional fields may be present, but are ignored by the evaluation script.
MS COCO文件格式是字典和列表的嵌套结构。 为了评估,我们仅需要标准字段的子集,但是评估协议需要一些额外的字段(例如,每个估计的身体标志的置信度值)。 在下文中,我们描述了提交的最小但必需的字段集。 可能存在其他字段,但评估脚本会忽略这些字段。
At top level, each .json file stores a dictionary with three elements:
* images
* annotations
* categories
it is a list of described images in this file. The list must contain the information for all images referenced by a person description in the file. Each list element is a dictionary and must contain only two fields: `file_name` and `id` (unique int). The file name must refer to the original posetrack image as extracted from the test set, e.g., `images/test/023736_mpii_test/000000.jpg`.
它是此文件中描述的图像列表。 该列表必须包含文件中人员描述所引用的所有图像的信息。 每个列表元素都是一个字典,只能包含两个字段:`file_name`和`id`(unique int)。 文件名必须是指从测试集中提取的原始posetrack图像,例如`images / test / 023736_mpii_test / 000000.jpg`。
This is another list of dictionaries. Each item of the list describes one detected person and is itself a dictionary. It must have at least the following fields:
* `image_id` (int, an image with a corresponding id must be in `images`),
* `track_id` (int, the track this person is performing; unique per frame),`
* `keypoints` (list of floats, length three times number of estimated keypoints in order x, y, ? for every point. The third value per keypoint is only there for COCO format consistency and not used.),
* `scores` (list of float, length number of estimated keypoints; each value between 0. and 1. providing a prediction confidence for each keypoint),
这是另一个词典列表。 列表中的每个项目描述一个检测到的人并且本身是字典。 它必须至少包含以下字段:
*`image_id`(int,具有相应id的图像必须在`images`中),
*`track_id`(int,此人正在执行的追踪;每帧唯一),
`*`keypoints`(浮点数列表, 长度是每个点x,y,?的估计关键点数量的三倍 。每个关键点的第三个值仅用于COCO格式的一致性而未使用。),
*`得分`(浮点列表,估计关键点的长度数;每个值介于0和1之间,为每个关键点提供预测置信度),
Human3.6M数据集有360万个3D人体姿势和相应的图像,共有11个实验者(6男5女,论文一般选取1,5,6,7,8作为train,9,11作为test),共有17个动作场景,诸如讨论、吃饭、运动、问候等动作。该数据由4个数字摄像机,1个时间传感器,10个运动摄像机捕获。
由Max Planck Institute for Informatics制作,详情可见Monocular 3D Human Pose Estimation In The Wild Using Improved CNN Supervision论文
论文地址:https://arxiv.org/abs/1705.08421
1,单人姿态估计的重要论文
2014----Articulated Pose Estimation by a Graphical Model with ImageDependent Pairwise Relations
2014----DeepPose_Human Pose Estimation via Deep Neural Networks
2014----Joint Training of a Convolutional Network and a Graphical Model forHuman Pose Estimation
2014----Learning Human Pose Estimation Features with Convolutional Networks
2014----MoDeep_ A Deep Learning Framework Using Motion Features for HumanPose Estimation
2015----Efficient Object Localization Using Convolutional Networks
2015----Human Pose Estimation with Iterative Error
2015----Pose-based CNN Features for Action Recognition
2016----Advancing Hand Gesture Recognition with High Resolution ElectricalImpedance Tomography
2016----Chained Predictions Using Convolutional Neural Networks
2016----CPM----Convolutional Pose Machines
2016----CVPR-2016----End-to-End Learning of Deformable Mixture of Parts andDeep Convolutional Neural Networks for Human Pose Estimation
2016----Deep Learning of Local RGB-D Patches for 3D Object Detection and 6DPose Estimation
2016----PAFs----Realtime Multi-Person 2D Pose Estimation using PartAffinity Fields (openpose)
2016----Stacked hourglass----StackedHourglass Networks for Human Pose Estimation
2016----Structured Feature Learning for Pose Estimation
2017----Adversarial PoseNet_ A Structure-aware Convolutional Network forHuman pose estimation (alphapose)
2017----CVPR2017 oral----Realtime Multi-Person 2D Pose Estimation usingPart Affinity Fields
2017----Learning Feature Pyramids for Human Pose Estimation
2017----Multi-Context_Attention_for_Human_Pose_Estimation
2017----Self Adversarial Training for Human Pose Estimation
2,多人姿态估计的重要论文
2016----AssociativeEmbedding_End-to-End Learning for Joint Detection and Grouping
2016----DeepCut----Joint Subset Partition and Labeling for Multi PersonPose Estimation
2016----DeepCut----Joint Subset Partition and Labeling for Multi PersonPose Estimation_poster
2016----DeeperCut----DeeperCut A Deeper, Stronger, and Faster Multi-PersonPose Estimation Model
2017----G-RMI----Towards Accurate Multi-person Pose Estimation in the Wild
2017----RMPE_ Regional Multi-PersonPose Estimation
2018----Cascaded Pyramid Network for Multi-Person Pose Estimation
“级联金字塔网络用于多人姿态估计”
2018----DensePose: Dense Human Pose Estimation in the Wild
”密集人体:野外人体姿势估计“(精读,DensePose有待于进一步研究)
2018---3D Human Pose Estimation in the Wild by Adversarial Learning
“对抗性学习在野外的人体姿态估计”
I. 目前常用的手写字体(数字,字母,汉字)数据集有哪些
1 cifar10数据库
60000张32*32 彩色图片 共10类
50000张训练
10000张测试
下载cifar10数据库
这是binary格式的,所以我们要把它转换成leveldb格式。
2 在../caffe-windows/examples/cifar10文件夹中有一个 convert_cifar_data.cpp
将他include到MainCaller.cpp中。如下:
编译....我是一次就通过了 ,在bin文件夹里出现convert_cifar_data.exe。然后 就可以进行格式转换。binary→leveldb
可以在bin文件夹下新建一个input文件夹。将cifar10.binary文件放在input文件夹中,这样转换时就不用写路径了。
cmd进入bin文件夹
执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格伏差式数据。
当然,也可以写一个bat文件处理,方便以后再次使用。
3 下面我们要求数据图像的均值
编译../../tools/comput_image_mean.cpp
编译成功后。接下来求mean
cmd进入bin。
执行后,在bin文件夹下出现一个mean.binaryproto文件,这就是所需的均值文件。
4 训练cifar网络
在.../examples/cifar10文件夹里搜盯已经有网络的配置文件,我们只需要将cifar_train_leveldb和cifar_test_leveldb两个文件夹还有mean.binaryproto文件拷到cifar0文件夹下。
修改cifar10_quick_train.prototxt中的source: "cifar-train-leveldb" mean_file: "mean.binaryproto" 和cifar10_quick_test.prototxt中的source: "cifar-test-leveldb"
mean_file: "mean.binaryproto"就可以了,
后面再训练就类似于MNIST的训练。写一个train_quick.bat,内容如下:
[plain] view plain
..\\..\\bin\\MainCaller.exe ..\\..\\bin\\train_net.exe
SET GLOG_logtostderr=1
"../../bin/train_net.exe"世厅和 cifar10_quick_solver.prototxt
pause