ImageNet图像数据集介绍
ImageNet图像数据集始于2009年,当时李飞飞教授等在CVPR2009上发表了一篇名为《ImageNet: A Large-Scale Hierarchical Image Database》的论文,之后就是基于ImageNet数据集的7届ImageNet挑战赛(2010年开始),2017年后,ImageNet由Kaggle(Kaggle公司是由联合创始人兼首席执行官Anthony Goldbloom 2010年在墨尔本创立的,主要是为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台)继续维护。
WordNet是一个由普林斯顿大学认识科学实验室在心理学教授乔治·A·米勒的指导下建立和维护的英语字典。开发工作从1985年开始。由于它包含了语义信息,所以有别于通常意义上的字典。WordNet根据词条的意义将它们分组,每一个具有相同意义的字条组称为一个synset(同义词集合)。WordNet为每一个synset提供了简短,概要的定义,并记录不同synset之间的语义关系。WordNet中的每个有意义的概念(concept)(可能由多个单词或单词短语描述)被称为"同义词集(synonym set)"或"synset"。
ImageNet是根据WordNet层次结构组织的图像数据集。在ImageNet中,目标是为了说明每个synset提供平均1000幅图像。 每个concept图像都是质量控制和人为标注的(quality-controlled and human-annotated)。 在完成之后,希望ImageNet能够为WordNet层次结构中的大多数concept提供数千万个干净整理的图像(cleanly sorted images)。
ImageNet是一项持续的研究工作,旨在为世界各地的研究人员提供易于访问的图像数据库。目前ImageNet中总共有14197122幅图像,总共分为21841个类别(synsets),大类别包括:amphibian、animal、appliance、bird、covering、device、fabric、fish、flower、food、fruit、fungus、furniture、geological formation、invertebrate、mammal、musical instrument、plant、reptile、sport、structure、tool、tree、utensil、vegetable、vehicle、person。
ImageNet有5种下载方式,如下图所示:
(1). 所有图像可通过url下载:不需要账号登录即可免费下载,下载链接:http://www.image-net.org/download-imageurls ,在SEARCH框中输入需要下载的synset,如tree,结果如下图所示,也可按类别下载即WordNet ID,下载链接:http://www.image-net.org/synset?wnid=n02084071 ,其中好像个别url已失效。
(2). 直接下载原始图像:需要自己申请注册一个账号,然后登录,经验证普通非学校邮箱无法注册。对于希望将图像用于非商业研究或教育目的的研究人员,可以在特定条件下通过ImageNet网站提供访问权限。
(3). 下载图像sift features:不需要账号登录即可免费下载,包括原始sift descriptors、quantized codewords、spatial coordiates of each descriptor/codeword。提features前,需要缩放图像大小到最大边长不超过300像素。通过VLFeat开源软件提前sift features。并没有对所有的synsets图像提取sift。下载链接:http://www.image-net.org/api/download/imagenet.sbow.synset?wnid=n02119789 ,后面的n02119789为WordNet ID,可在http://www.image-net.org/api/text/imagenet.sbow.obtain_synset_list 中查看有哪些WordNet ID包括sift features并可点击直接下载,下载下来的是一个Matlab文件(.mat),如n02119789.sbow.mat,在每个.mat文件中,每个sift descriptor有5个字段:x, y, norm, scale, word。word字段是cluster(k-means clustering of a random subset of 10 million SIFT descriptors)中心的索引,是一个0到999之间的一个整数。
(4). 下载Object Bounding Boxes:不需要账号登录即可免费下载,bounding boxes是通过亚马逊土耳其机器人(Amazon Mechanical Turk)进行标注和验证的。目前标注过的synsets已经超过3000种,可从http://www.image-net.org/api/text/imagenet.bbox.obtain_synset_list 中查看和下载已标注的种类。对于每种synset,平均有150张带有边界框(bounding boxes)的图像。图像标注以PASCAL VOC格式保存在XML文件中,用户可以使用PASCAL Development Toolkit解析标注。注意:在边界框标注中,有两个字段(width和height)表示图像的大小。标注文件中边界框的位置和大小与此大小有关。但是,此大小可能与下载的包中的实际图像大小不同。(原因是标注文件中的大小是图像显示给标注器的显示大小)。因此,要在原始图像上找到实际像素,可能需要相应地重新缩放边界框。可以通过http://www.image-net.org/Annotation/Annotation.tar.gz 下载所有的标注文件,也可以通过http://www.image-net.org/api/download/imagenet.bbox.synset?wnid=n02119789 ,下载特定的synset,后面的n02119789为WordNet ID。
(5). 下载Object Attributes:不需要账号登录即可免费下载,object attributes是通过亚马逊土耳其机器人(Amazon Mechanical Turk)进行标注和验证的。目前标注过的synsets大约有400种,可从http://www.image-net.org/api/text/imagenet.attributes.obtain_synset_list 中查看已标注的种类,通过http://www.image-net.org/api/text/imagenet.attributes.obtain_synset_wordlist 点击下载特定的种类。对于每一个synset,包含25种属性:A. 颜色:黑色,蓝色,棕色,灰色,绿色,橙色,粉红色,红色,紫罗兰色,白色,黄色; B. 图案(pattern):斑点,条纹;C. 形状:长,圆形,矩形,方形;D. 纹理(texture):毛茸茸,光滑,粗糙,有光泽,金属色,植被(vegetation),木质,湿润。标注的属性是基于先前收集的边界框内的object,即感兴趣区域的object而不是整幅图像。可以通过http://www.image-net.org/downloads/attributes/attrann.mat 下载整个文件,这个.mat文件有一个attrann结构体,包括:A. 图像列表;B. bounding boxes列表:每幅图像一个,每个bounding boxes包含x1,x2,y1,y2字段,所有字段的值都归一化为介于0和1之间;C. 属性列表:图像数*属性数的labels矩阵,label为1表示属性存在,label为-1表示属性不存在,label为0表示不确定。也可以通过http://www.image-net.org/api/download/imagenet.attributes.synset?wnid=n01322604 ,下载特定的synset,后面的n01322604为WordNet ID。
ImageNet中的每张图片属于提供图片的个人,ImageNet不拥有图像的版权,ImageNet数据集可以免费用于学术研究和非商业用途,但不能直接使用这些数据作为产品的一部分。
ImageNet Large Scale Visual Recognition Challenge(ILSVRC),从2010年开始,每年举办的ImageNet大规模视觉识别挑战赛,到2017年后截止。比赛项目包括:图像分类(Classification)、目标定位(Object localization)、目标检测(Object detection)、视频目标检测(Object detection from video)、场景分类(Scene classification)、场景解析(Scene parsing)。ILSVRC中使用到的数据仅是ImageNet数据集中的一部分。比赛使用的所有数据集均可通过登录后下载。
"ImageNet改变了AI领域人们对数据集的认识,人们真正开始意识到它在研究中的地位,就像算法一样重要",李飞飞教授说。
GitHub: https://github.com/fengbingchun/NN_Test
相关文章:

cocos2dx 场景的切换
我们知道cocos2dx中可以由多个场景组成,那么我是如何来切换场景的呢首先我们先新建一个新的场景类,我推荐的方式是,在你工程的目录中找到一个classes的文件夹,里面有AppDelegate.cpp和AppDelegate.h还有HelloWorldScene.cpp和Hell…

IOS 后台挂起程序 当程序到后台后,继续完成定位任务
// 当应用程序掉到后台时,执行该方法 - (void)applicationDidEnterBackground:(UIApplication *)application { } 当一个 iOS 应用被送到后台,它的主线程会被暂停。你用 NSThread 的 detachNewThreadSelector:toTar get:withObject:类方法创建的线程也被挂起了。 我…

任正非:华为5G是瞎猫碰死老鼠
喜欢话糙理不糙的任正非,又飙金句。11月6日,在和彭博社记者对话时,谈到华为5G,他说:“回顾这个过程,我们也没有什么必胜的信心,有时候也是瞎猫碰上了死老鼠,刚好碰上世界是这个需求。…

网络文件系统(NFS)简介
网络文件系统(Network File System, NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。NFS和其他许多协议一样,是基于开放网络运算远…

JAVA Static方法与单例模式的理解
最近用sonar测评代码质量的时候,发现一个问题,工程中一些util类,以前写的static方法都提示最好用单例的方式进行改正。为此,我仔细想了想,发现还是很有道理的。这里谈谈我个人对static方法与单例模式的理解。所谓单例模…

程序员的自我修养--链接、装载与库笔记:目标文件里有什么
编译器编译源代码后生成的文件叫做目标文件。目标文件从结构上讲,它是已经编译后的可执行文件格式,只是还没有经过链接的过程,其中可能有些符号或有些地址还没有被调整。其实它本身就是按照可执行文件格式存储的,只是跟真正的可执…

swift 中拨电话的实现
//MARK:_一键报警设置//MARK: - 弹出视图func createView() {var alertView : UIAlertView?alertView UIAlertView(title: "110", message: "", delegate: self, cancelButtonTitle: "取消", otherButtonTitles: "呼叫")alertView?…

T5,一个探索迁移学习边界的模型
作者 | Ajit Rajasekharan译者 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】10月,Google 在《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》这篇论文中提出了一个最新的预训练模型 T5ÿ…
【Chat】实验 -- 实现 C/C++下TCP, 服务器/客户端 多人聊天室
本次实验利用TCP/IP, 语言环境为 C/C 利用套接字Socket编程,以及线程处理, 实现Server/CLient 之间多人的聊天系统的基本功能。 结果大致如: 下面贴上代码(参考参考...) Server 部分: 1 /* TCPdtd.cpp - main, TCPdayt…

TeamViewer介绍:远程控制计算机
TeamViewer是一个可以远程控制计算机的程序,它也可以进行远程文件传输。TeamViewer支持的平台比较多,如Windows, Mac, Linux, ChromeOs, Android, iOS等,最新发布版本为14.x,它有个人免费和商业付费两种。只要对方告诉你他的TeamV…

PyTorch攻势凶猛,程序员正在抛弃TensorFlow?
来源 | The Gradient译者 | 夕颜出品 | AI科技大本营(ID:rgznai100)自 2012 年深度学习重新获得重视以来,许多机器学习框架便争相成为研究人员和行业从业人员的新宠。从早期的学术成果 Caffe 和 Theano ,到背靠庞大工业支持的 PyT…

swift 错误集合 ------持续更新中
从今天开始凡是在用swift中遇到的错误都会在本博客持续更新 便于自己学习和快速开发 2017.7.20 如果你的程序写的有进入后台的方法,例如我的博客中点击home进入后台持续定位的那篇文章,发信进入后台后定位没有按得定时器规定的时间走,这…

【转载】【贪心】各种覆盖问题
1、独立区间问题 在N个区间里找出最多的互不覆盖的区间 对结束点进行排序,然后从结束点最小的区间开始进行选择即可 2、覆盖区间问题 给一个大区间,再给出N个小区间,求出最少用多少个区间可以把大区间覆盖完 先选出开始的一个,然后…

使用Python3发送邮件测试代码
SMTP(Simple Mail Trasfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,用它来控制信件的中转方式。Python3对SMTP的支持有smtplib和email两个模块,smtplib负责发送电子邮件, email负责组织邮件内…

swift 通知中心 进入后台多久会通知用户关闭此功能
//添加本地通知 func addLocalNotification() { //定义本地通知对象 let notification : UILocalNotification UILocalNotification() //设置调用时间 notification.fireDate NSDate.init(timeIntervalSinceNow: 1800.0)//通知触发的时间,10s以后 notification.…

Python之父退休,C语言之父与世长辞,各大编程语言创始人现状盘点
作者 | 年素清 编辑 | 伍杏玲 来源 | 程序人生(ID:coder_life)从世界上第一台计算机(ENIAC) 于1946年2月在美国诞生至今的七十多年里,涌现出了许多优秀的计算机编程语言。程序员们在使用它们编写程序的时候,一定很好奇…

linux修正系统错误指令fsck和badblocks
fsck [-t文件系统][-ACay]装置名称-t 指定文件系统-A 扫描需要的装置-a 自动修复检查到有问题的扇区-y 与-a类似-C 在检查过程中,显示进度********************************************************** EXT2/EXT3额外选项功能:-f 强制检查-D 针对文件系…

Ubuntu定时任务crontab命令介绍
通过Linux上的crontab命令,我们可以在规定的间隔时间执行指定的系统指令或脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。 crontab默认在Ubuntu上是已经安装的,若未安装,则可执行以下命令进行安装: sudo …

swift 进入后台或者点击home键是程序进入后台后,持续定位
进入后台的方法 import UIKit UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate,CLLocationManagerDelegate { var locationManager : CLLocationManager? var window: UIWindow? var notificationDict NSDictionary() func applicationDidEnterBa…

求助:我有一辆机器人小车,怎么让它跑起来,还会避障、目标跟踪、路径规划?...
也许,你曾见过能灵活地绕开障碍物的它在桌子边缘“疯狂试探”的它它是谁?没错,它就是是英伟达推出的一款入门级人工智能小车——Jetbot ,估计对机器人,尤其是对车械感兴趣的朋友们一定对它不陌生。组装完成后能够通过摄…

Python-常用字符串转换实例
当字符串是:\u4e2d\u56fd >>>s[\u4e2d\u56fd,\u6e05\u534e\u5927\u5b66]>>>strs[0].decode(unicode_escape) #.encode("EUC_KR")>>>print str 中国 当字符串是: >>>print unichr(19996) 东 ord()支持unicode&…

什么是静态UItableView
iOS开发UI篇—简单介绍静态单元格的使用 iOS开发UI篇—简单介绍静态单元格的使用 一、实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变。 要完成上面的…

Python3中PyMongo使用举例
MongoDB是一个基于分布式文件存储的开源数据库,由C语言编写,与平台无关,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关…

PyTorch踩过的12坑 | CSDN博文精选
作者 | hyk_1996 来源 | CSDN博客1. nn.Module.cuda() 和 Tensor.cuda() 的作用效果差异无论是对于模型还是数据,cuda()函数都能实现从CPU到GPU的内存迁移,但是他们的作用效果有所不同。对于nn.Module:model model.cuda() model.cuda() 上面两句能够达到…

解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文
2019独角兽企业重金招聘Python工程师标准>>> ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 fcitx), 即使下载了fcitx-frontend-qt5和fcitx-frontend-qt4也还是没用。 想必是qt版本的原因吧…

实战:基于技术分析的Python算法交易
译者 | Tianyu 出品 | AI科技大本营(ID:rgznai100)本文是用 Python 做交易策略回测系列文章的第四篇。上个部分介绍了以下几个方面内容:介绍了 zipline 回测框架,并展示了如何回测基本的策略导入自定义的数据并使用 zipline评估交…

深度学习中的Dropout简介及实现
在训练神经网络模型时候,如果模型相对复杂即参数较多而训练样本相对较少,这时候训练出的模型可能对训练集中的数据拟合的比较好,但在测试集上的表现较差,即出现了过拟合的情况。这种情况下可以使用Dropout来降低过拟合的可能性进而…

swift中字符串截取方法(substring)
下面介绍2种swift的字符串截取方法,实际上用到了substringFromIndex,substringToIndex,substringWithRange 1.将String转化为NSString再截取,代码如下: var s"1234567890"var ns1(s as NSString).substringFromIndex(5) var ns2(s as NSString).substrin…

设置IE兼容模式
文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。 前言 为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。在IE6中引入一个增设的兼容…

程序员的自我修养--链接、装载与库笔记:静态链接
1. 空间与地址分配 对于链接器来说,整个链接过程中,它就是将几个输入目标文件加工后合并成一个输出文件。测试代码a.c和b.c内容如下: // a.c extern int shared;int main() {int a 100;swap(&a, &shared); } // b.c int shared 1;void swap(int* a, in…