利用shell脚本下载ImageNet数据集

来源:互联网 发布:沈阳seo外包公司 编辑:程序博客网 时间:2024/06/10 04:07

第一次写博客分享近期的一些工作

ImageNet介绍

ImageNet是目前世界上图像识别最大的数据库,该数据库包含了海量的图像信息,同时这些图像基本都有标签信息,这避免了自己手工标记图像,给用户节省了不少时间。

准备工作

在下载数据集前,需要在官网注册,官网的注册链接:http://www.image-net.org/signup
注册界面
注意,在注册的时候,Email最好是填学校的邮箱,就是后缀是edu.cn的邮箱,基本每个学生都会有一个邮箱的。
注册完,就可以申请权限了,官网上说注册邮箱像类似gmail,Hotmail这些邮箱基本不会给下载权限,申请完,就可以去学校邮箱点击链接获得下载权限。
登录官网:http://www.image-net.org/login登录账号,查看my profile
my profile
图中的username 以及 accesskey是后面下载数据集需要的东西。

开始下载

在官网上查找自己需要的物体图片,在ImageNet上每个类别的图片都有自己的synset,synset网址:http://www.image-net.org/archive/words.txt,在本地创建一个文件,保存自己需要的synset。
以下为本人的shell批处理代码:

#!/bin/bash #save_path="$1"class_id="$1"#读取文件内容并保存id_arr=($(cat $class_id | sed '/^#.*\|^$/d'))id_num=${#id_arr[@]}n=0for var1 in ${id_arr[*]} do    #$(wget -c ${id_arr[n]} -O ${name_arr[n]})    $(wget -c "http://www.image-net.org/downloads/bbox/bbox/${id_arr[n]}.tar.gz" -O "${id_arr[n]}.tar.gz")    $(wget -c "http://www.image-net.org/download/synset?wnid=${id_arr[n]}&username=[此处填写你的username]&accesskey=[此处填写你的accesskey]&release=latest&src=stanford" -O "${id_arr[n]}.tar")    let n+=1doneecho "download finsh"

然后运行 bash [批处理的名字] [保存synset文件的名字] 即可开始下载

注意ImageNet数据集不可应用于商业用途,同时你获得的许可只能本人使用。使用ImageNet前请认真阅读http://www.image-net.org/download-faq中的内容

阅读全文
1 0