は、本当に辛抱が必要のようです
いつまでも、終わりません(苦笑)
いつまでも、終わりません(苦笑)
流れは、下記URLをそのまま利用させていただきました
URL:
URL:
Imagenet画像のダウンロード
download
画像取得に関する3つのポイント
①ImageNetにある画像URLリストのダウンロード
②Pythonスクリプトで画像URLリストをID別に分割
③batファイルを実行してwgetでひたすら画像をダウンロード
①ImageNetにある画像URLリストのダウンロード
②Pythonスクリプトで画像URLリストをID別に分割
③batファイルを実行してwgetでひたすら画像をダウンロード
①
画像URLリストはtar.gzで固めてあるので、解凍
1GBほどのテキストファイルができあがる
画像URLリストはtar.gzで固めてあるので、解凍
1GBほどのテキストファイルができあがる
ImageNet Download Image URLs http://image-net.org/download-imageurls
②
ImageNetのIDごとのURLリストに分割
ID=画像に写っている物体のカテゴリ
IDとタグの対応表となるテキストファイルのダウンロード(URL)
ImageNetのIDごとのURLリストに分割
ID=画像に写っている物体のカテゴリ
IDとタグの対応表となるテキストファイルのダウンロード(URL)
http://image-net.org/archive/words.txt
下記のPythonスクリプトを作成してコマンドラインから実行
引数に解凍したテキストファイル名を指定(sys.argv[1]の部分)
listsフォルダにIDと同じファイル名の分割URLリストが作成される
注)予めlistsフォルダは作成しておく
引数に解凍したテキストファイル名を指定(sys.argv[1]の部分)
listsフォルダにIDと同じファイル名の分割URLリストが作成される
注)予めlistsフォルダは作成しておく
# -*- coding: utf-8 -*-
import os
import sys
import codecs
import sys
import codecs
f = codecs.open(sys.argv[1], 'r', 'utf8', 'ignore')
lines = f.readlines()
id = ''
fl = None
lines = f.readlines()
id = ''
fl = None
for line in lines:
line = line.strip()
arr = line.split('\t')
id_num = arr[0]
url = arr[1]
nid, num = id_num.split('_')
if id != nid:
id = nid
if fl:
fl.close()
fl = codecs.open('lists/' + id + '.txt', 'a', 'ignore')
fl.write(url + '\n')
fl.close()
f.close()
line = line.strip()
arr = line.split('\t')
id_num = arr[0]
url = arr[1]
nid, num = id_num.split('_')
if id != nid:
id = nid
if fl:
fl.close()
fl = codecs.open('lists/' + id + '.txt', 'a', 'ignore')
fl.write(url + '\n')
fl.close()
f.close()
③
Windows版wget取得し、使用可能にする
下記公式ページからBinariesと Dependenciesをダウンロードしてzip解凍⇒
Dependenciesのbinフォルダの中身をBinariesのbinフォルダにコピー⇒
Binariesのbinフォルダパスを環境変数PATHに追加し、パスを通す
Windows版wget取得し、使用可能にする
下記公式ページからBinariesと Dependenciesをダウンロードしてzip解凍⇒
Dependenciesのbinフォルダの中身をBinariesのbinフォルダにコピー⇒
Binariesのbinフォルダパスを環境変数PATHに追加し、パスを通す
wget公式ページ http://gnuwin32.sourceforge.net/packages/wget.htm
下記のbatファイルを作成
@echo off
cd /d %~dp0
for %%i in (lists\*.txt) do (
echo [DOWNLOAD BEGIN] %%~ni
wget -i %%i -P images\%%~ni -T 1 -t 1 -nc
move %%i done\%%~nxi
pause
for %%i in (lists\*.txt) do (
echo [DOWNLOAD BEGIN] %%~ni
wget -i %%i -P images\%%~ni -T 1 -t 1 -nc
move %%i done\%%~nxi
pause
画像ダウンロード先のimagesフォルダ+
ダウンロードが完了したURLリストを格納するdoneフォルダを作成
batファイルを実行し、ひたすらwgetで画像をダウンロード
かなりの量のため数日かかるかもしれない
ダウンロードした画像はimages/[ID]/****.jpgの形で格納される
ダウンロードが全て完了したURLリストファイルはdoneフォルダに移される
そのため、ダウンロードを中断しても後で途中から再開できるようになっている
ダウンロードが完了したURLリストを格納するdoneフォルダを作成
batファイルを実行し、ひたすらwgetで画像をダウンロード
かなりの量のため数日かかるかもしれない
ダウンロードした画像はimages/[ID]/****.jpgの形で格納される
ダウンロードが全て完了したURLリストファイルはdoneフォルダに移される
そのため、ダウンロードを中断しても後で途中から再開できるようになっている